diff --git a/arithmetization/src/main/java/net/consensys/linea/zktracer/module/mod/Mod.java b/arithmetization/src/main/java/net/consensys/linea/zktracer/module/mod/Mod.java index bd2c42781c..7669fa09f5 100644 --- a/arithmetization/src/main/java/net/consensys/linea/zktracer/module/mod/Mod.java +++ b/arithmetization/src/main/java/net/consensys/linea/zktracer/module/mod/Mod.java @@ -46,7 +46,7 @@ public void tracePreOpcode(final MessageFrame frame) { final Bytes32 arg1 = Bytes32.leftPad(frame.getStackItem(0)); final Bytes32 arg2 = Bytes32.leftPad(frame.getStackItem(1)); - operations.add(new ModOperation(opCodeData, arg1, arg2)); + operations.add(new ModOperation(opCodeData.mnemonic(), arg1, arg2)); } @Override diff --git a/arithmetization/src/main/java/net/consensys/linea/zktracer/module/mod/ModOperation.java b/arithmetization/src/main/java/net/consensys/linea/zktracer/module/mod/ModOperation.java index 3d017b1426..b89a4c4b0d 100644 --- a/arithmetization/src/main/java/net/consensys/linea/zktracer/module/mod/ModOperation.java +++ b/arithmetization/src/main/java/net/consensys/linea/zktracer/module/mod/ModOperation.java @@ -27,7 +27,6 @@ import net.consensys.linea.zktracer.bytestheta.BaseTheta; import net.consensys.linea.zktracer.container.ModuleOperation; import net.consensys.linea.zktracer.opcode.OpCode; -import net.consensys.linea.zktracer.opcode.OpCodeData; import net.consensys.linea.zktracer.types.UnsignedByte; import org.apache.tuweni.bytes.Bytes; import org.apache.tuweni.bytes.Bytes32; @@ -56,60 +55,43 @@ public class ModOperation extends ModuleOperation { private Boolean[] msb1 = new Boolean[8]; private Boolean[] msb2 = new Boolean[8]; - private boolean isSigned; - - private boolean isSmod; - private boolean isMod; - private boolean isSdiv; - private boolean isDiv; - - public ModOperation(OpCodeData opCodeData, Bytes32 arg1, Bytes32 arg2) { - this(opCodeData.mnemonic(), arg1, arg2); - } - public ModOperation(OpCode opCode, Bytes32 arg1, Bytes32 arg2) { - this.rawArg1 = arg1; - this.rawArg2 = arg2; + rawArg1 = arg1; + rawArg2 = arg2; this.opCode = opCode; this.oli = arg2.isZero(); } private void compute() { - this.arg1 = BaseBytes.fromBytes32(this.rawArg1); - this.arg2 = BaseBytes.fromBytes32(this.rawArg2); + arg1 = BaseBytes.fromBytes32(rawArg1); + arg2 = BaseBytes.fromBytes32(rawArg2); Arrays.fill(msb1, false); Arrays.fill(msb2, false); - isSigned = isSigned(); - isSdiv = opCode == OpCode.SDIV; - isDiv = opCode == OpCode.DIV; - isSmod = opCode == OpCode.SMOD; - isMod = opCode == OpCode.MOD; - - if (!this.oli) { - this.result = getRes(opCode, this.rawArg1, this.rawArg2); + if (!oli) { + result = getRes(opCode, rawArg1, rawArg2); - UInt256 a = absoluteValueIfSignedInst(this.rawArg1); - this.aBytes = BaseTheta.fromBytes32(a); + UInt256 a = absoluteValueIfSignedInst(rawArg1); + aBytes = BaseTheta.fromBytes32(a); - UInt256 b = absoluteValueIfSignedInst(this.rawArg2); - this.bBytes = BaseTheta.fromBytes32(b); + UInt256 b = absoluteValueIfSignedInst(rawArg2); + bBytes = BaseTheta.fromBytes32(b); UInt256 q = a.divide(b); - this.qBytes = BaseTheta.fromBytes32(q); + qBytes = BaseTheta.fromBytes32(q); UInt256 r = a.mod(b); - this.rBytes = BaseTheta.fromBytes32(r); + rBytes = BaseTheta.fromBytes32(r); - this.dBytes = BaseTheta.fromBytes32(Bytes32.ZERO); + dBytes = BaseTheta.fromBytes32(Bytes32.ZERO); this.setCmp12(); this.setDeltas(); this.setAlphaBetasH012(); - UnsignedByte msb1 = UnsignedByte.of(this.arg1.getHigh().get(0)); - UnsignedByte msb2 = UnsignedByte.of(this.arg2.getHigh().get(0)); + UnsignedByte msb1 = UnsignedByte.of(arg1.getHigh().get(0)); + UnsignedByte msb2 = UnsignedByte.of(arg2.getHigh().get(0)); this.msb1 = byteBits(msb1); this.msb2 = byteBits(msb2); @@ -127,8 +109,9 @@ private static BaseBytes getRes(OpCode op, Bytes32 arg1, Bytes32 arg2) { } private UInt256 absoluteValueIfSignedInst(Bytes32 arg) { - if (isSigned) { - return UInt256.valueOf(arg.toBigInteger().abs()); + if (this.isSigned()) { + Bytes argBytes = Bytes.of(arg.toArray()); + return UInt256.valueOf(argBytes.toBigInteger().abs()); } return UInt256.fromBytes(arg); } @@ -163,7 +146,7 @@ private void setCmp12() { private void setDeltas() { for (int k = 0; k < 4; k++) { UInt256 delta; - if (this.cmp1[k]) { + if (cmp1[k]) { delta = bVar(k).subtract(rVar(k)).subtract(UInt256.ONE); } else { delta = rVar(k).subtract(bVar(k)); @@ -180,7 +163,7 @@ private void setAlphaBetasH012() { thetaSquared = thetaSquared.shiftLeft(128); UInt256 sum = bVar(0).multiply(qVar(1)).add(bVar(1).multiply(qVar(0))); - this.hBytes = BaseTheta.fromBytes32(sum); + hBytes = BaseTheta.fromBytes32(sum); // alpha cmp2[4] = sum.compareTo(thetaSquared) >= 0; @@ -212,22 +195,22 @@ private void setAlphaBetasH012() { cmp2[6] = betaUInt64.divide(UInt64.valueOf(2)).compareTo(UInt64.ONE) == 0; // beta_1 BigInteger sumInt = sum.mod(thetaSquared).toUnsignedBigInteger(); - BigInteger aLo = this.aBytes.getLow().toUnsignedBigInteger(); + BigInteger aLo = aBytes.getLow().toUnsignedBigInteger(); if (sumInt.compareTo(aLo) != 0) { throw new RuntimeException("b[0]q[0] + theta.h[0] + rLo = [beta|xxx] and xxx != aLo"); } } boolean isSigned() { - return this.opCode == OpCode.SDIV || this.opCode == OpCode.SMOD; + return opCode == OpCode.SDIV || opCode == OpCode.SMOD; } boolean isDiv() { - return this.opCode == OpCode.DIV || this.opCode == OpCode.SDIV; + return opCode == OpCode.DIV || opCode == OpCode.SDIV; } int maxCounter() { - if (this.oli) { + if (oli) { return 1; } else { return MMEDIUM; @@ -241,71 +224,71 @@ public void trace(Trace trace, int stamp) { final int accLength = ct + 1; trace .stamp(stamp) - .oli(this.oli) - .mli(!this.oli) + .oli(oli) + .mli(!oli) .ct(ct) - .inst(this.opCode.unsignedByteValue()) - .isSdiv(isSdiv) - .isDiv(isDiv) - .isSmod(isSmod) - .isMod(isMod) - .signed(isSigned) - .arg1Hi(this.arg1.getHigh()) - .arg1Lo(this.arg1.getLow()) - .arg2Hi(this.arg2.getHigh()) - .arg2Lo(this.arg2.getLow()) - .resHi(this.result.getHigh()) - .resLo(this.result.getLow()) - .acc12(this.arg1.getBytes32().slice(8, ct + 1)) - .acc13(this.arg1.getBytes32().slice(0, ct + 1)) - .acc22(this.arg2.getBytes32().slice(8, ct + 1)) - .acc23(this.arg2.getBytes32().slice(0, ct + 1)) - .accB0(this.bBytes.get(0).slice(0, accLength)) - .accB1(this.bBytes.get(1).slice(0, accLength)) - .accB2(this.bBytes.get(2).slice(0, accLength)) - .accB3(this.bBytes.get(3).slice(0, accLength)) - .accR0(this.rBytes.get(0).slice(0, accLength)) - .accR1(this.rBytes.get(1).slice(0, accLength)) - .accR2(this.rBytes.get(2).slice(0, accLength)) - .accR3(this.rBytes.get(3).slice(0, accLength)) - .accQ0(this.qBytes.get(0).slice(0, accLength)) - .accQ1(this.qBytes.get(1).slice(0, accLength)) - .accQ2(this.qBytes.get(2).slice(0, accLength)) - .accQ3(this.qBytes.get(3).slice(0, accLength)) - .accDelta0(this.dBytes.get(0).slice(0, accLength)) - .accDelta1(this.dBytes.get(1).slice(0, accLength)) - .accDelta2(this.dBytes.get(2).slice(0, accLength)) - .accDelta3(this.dBytes.get(3).slice(0, accLength)) - .byte22(UnsignedByte.of(this.arg2.getByte(ct + 8))) - .byte23(UnsignedByte.of(this.arg2.getByte(ct))) - .byte12(UnsignedByte.of(this.arg1.getByte(ct + 8))) - .byte13(UnsignedByte.of(this.arg1.getByte(ct))) - .byteB0(UnsignedByte.of(this.bBytes.get(0).get(ct))) - .byteB1(UnsignedByte.of(this.bBytes.get(1).get(ct))) - .byteB2(UnsignedByte.of(this.bBytes.get(2).get(ct))) - .byteB3(UnsignedByte.of(this.bBytes.get(3).get(ct))) - .byteR0(UnsignedByte.of(this.rBytes.get(0).get(ct))) - .byteR1(UnsignedByte.of(this.rBytes.get(1).get(ct))) - .byteR2(UnsignedByte.of(this.rBytes.get(2).get(ct))) - .byteR3(UnsignedByte.of(this.rBytes.get(3).get(ct))) - .byteQ0(UnsignedByte.of(this.qBytes.get(0).get(ct))) - .byteQ1(UnsignedByte.of(this.qBytes.get(1).get(ct))) - .byteQ2(UnsignedByte.of(this.qBytes.get(2).get(ct))) - .byteQ3(UnsignedByte.of(this.qBytes.get(3).get(ct))) - .byteDelta0(UnsignedByte.of(this.dBytes.get(0).get(ct))) - .byteDelta1(UnsignedByte.of(this.dBytes.get(1).get(ct))) - .byteDelta2(UnsignedByte.of(this.dBytes.get(2).get(ct))) - .byteDelta3(UnsignedByte.of(this.dBytes.get(3).get(ct))) - .byteH0(UnsignedByte.of(this.hBytes.get(0).get(ct))) - .byteH1(UnsignedByte.of(this.hBytes.get(1).get(ct))) - .byteH2(UnsignedByte.of(this.hBytes.get(2).get(ct))) - .accH0(Bytes.wrap(this.hBytes.get(0)).slice(0, ct + 1)) - .accH1(Bytes.wrap(this.hBytes.get(1)).slice(0, ct + 1)) - .accH2(Bytes.wrap(this.hBytes.get(2)).slice(0, ct + 1)) - .cmp1(this.cmp1[ct]) - .cmp2(this.cmp2[ct]) - .msb1(this.msb1[ct]) - .msb2(this.msb2[ct]) + .inst(opCode.unsignedByteValue()) + .isSdiv(opCode == OpCode.SDIV) + .isDiv(opCode == OpCode.DIV) + .isSmod(opCode == OpCode.SMOD) + .isMod(opCode == OpCode.MOD) + .signed(this.isSigned()) + .arg1Hi(arg1.getHigh()) + .arg1Lo(arg1.getLow()) + .arg2Hi(arg2.getHigh()) + .arg2Lo(arg2.getLow()) + .resHi(result.getHigh()) + .resLo(result.getLow()) + .acc12(arg1.getBytes32().slice(8, ct + 1)) + .acc13(arg1.getBytes32().slice(0, ct + 1)) + .acc22(arg2.getBytes32().slice(8, ct + 1)) + .acc23(arg2.getBytes32().slice(0, ct + 1)) + .accB0(bBytes.get(0).slice(0, accLength)) + .accB1(bBytes.get(1).slice(0, accLength)) + .accB2(bBytes.get(2).slice(0, accLength)) + .accB3(bBytes.get(3).slice(0, accLength)) + .accR0(rBytes.get(0).slice(0, accLength)) + .accR1(rBytes.get(1).slice(0, accLength)) + .accR2(rBytes.get(2).slice(0, accLength)) + .accR3(rBytes.get(3).slice(0, accLength)) + .accQ0(qBytes.get(0).slice(0, accLength)) + .accQ1(qBytes.get(1).slice(0, accLength)) + .accQ2(qBytes.get(2).slice(0, accLength)) + .accQ3(qBytes.get(3).slice(0, accLength)) + .accDelta0(dBytes.get(0).slice(0, accLength)) + .accDelta1(dBytes.get(1).slice(0, accLength)) + .accDelta2(dBytes.get(2).slice(0, accLength)) + .accDelta3(dBytes.get(3).slice(0, accLength)) + .byte22(UnsignedByte.of(arg2.getByte(ct + 8))) + .byte23(UnsignedByte.of(arg2.getByte(ct))) + .byte12(UnsignedByte.of(arg1.getByte(ct + 8))) + .byte13(UnsignedByte.of(arg1.getByte(ct))) + .byteB0(UnsignedByte.of(bBytes.get(0).get(ct))) + .byteB1(UnsignedByte.of(bBytes.get(1).get(ct))) + .byteB2(UnsignedByte.of(bBytes.get(2).get(ct))) + .byteB3(UnsignedByte.of(bBytes.get(3).get(ct))) + .byteR0(UnsignedByte.of(rBytes.get(0).get(ct))) + .byteR1(UnsignedByte.of(rBytes.get(1).get(ct))) + .byteR2(UnsignedByte.of(rBytes.get(2).get(ct))) + .byteR3(UnsignedByte.of(rBytes.get(3).get(ct))) + .byteQ0(UnsignedByte.of(qBytes.get(0).get(ct))) + .byteQ1(UnsignedByte.of(qBytes.get(1).get(ct))) + .byteQ2(UnsignedByte.of(qBytes.get(2).get(ct))) + .byteQ3(UnsignedByte.of(qBytes.get(3).get(ct))) + .byteDelta0(UnsignedByte.of(dBytes.get(0).get(ct))) + .byteDelta1(UnsignedByte.of(dBytes.get(1).get(ct))) + .byteDelta2(UnsignedByte.of(dBytes.get(2).get(ct))) + .byteDelta3(UnsignedByte.of(dBytes.get(3).get(ct))) + .byteH0(UnsignedByte.of(hBytes.get(0).get(ct))) + .byteH1(UnsignedByte.of(hBytes.get(1).get(ct))) + .byteH2(UnsignedByte.of(hBytes.get(2).get(ct))) + .accH0(Bytes.wrap(hBytes.get(0)).slice(0, ct + 1)) + .accH1(Bytes.wrap(hBytes.get(1)).slice(0, ct + 1)) + .accH2(Bytes.wrap(hBytes.get(2)).slice(0, ct + 1)) + .cmp1(cmp1[ct]) + .cmp2(cmp2[ct]) + .msb1(msb1[ct]) + .msb2(msb2[ct]) .validateRow(); } } diff --git a/arithmetization/src/test/java/net/consensys/linea/zktracer/Issue1180Tests.java b/arithmetization/src/test/java/net/consensys/linea/zktracer/Issue1180Tests.java new file mode 100644 index 0000000000..c1821fa573 --- /dev/null +++ b/arithmetization/src/test/java/net/consensys/linea/zktracer/Issue1180Tests.java @@ -0,0 +1,47 @@ +/* + * Copyright Consensys Software Inc. + * + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package net.consensys.linea.zktracer; + +import static net.consensys.linea.testing.ReplayExecutionEnvironment.LINEA_MAINNET; +import static net.consensys.linea.zktracer.ReplayTests.replay; + +import net.consensys.linea.testing.BytecodeCompiler; +import net.consensys.linea.testing.BytecodeRunner; +import net.consensys.linea.zktracer.opcode.OpCode; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; + +/** This range broke the MOD module's mod.set-absolute-values constraint. */ +public class Issue1180Tests { + + @Tag("nightly") + @Tag("replay") + @Test + void split_range_2321470_2321479() { + replay(LINEA_MAINNET, "2321470-2321479.json.gz", false); + } + + @Tag("nightly") + @Tag("replay") + @Test + void failingSmodInstructionTest() { + BytecodeCompiler program = BytecodeCompiler.newProgram(); + program + .push("ffffffffffffffffffffffffffffffffffffffffffffffffffdc633cace676d7") + .push("0000000000000000000000000000000000000000000000000000000000000000") + .op(OpCode.SDIV); + BytecodeRunner.of(program.compile()).run(); + } +} diff --git a/arithmetization/src/test/java/net/consensys/linea/zktracer/LeosNewRanges.java b/arithmetization/src/test/java/net/consensys/linea/zktracer/LeosNewRanges.java new file mode 100644 index 0000000000..fc985fac8e --- /dev/null +++ b/arithmetization/src/test/java/net/consensys/linea/zktracer/LeosNewRanges.java @@ -0,0 +1,134 @@ +/* + * Copyright Consensys Software Inc. + * + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package net.consensys.linea.zktracer; + +import static net.consensys.linea.testing.ReplayExecutionEnvironment.LINEA_MAINNET; +import static net.consensys.linea.zktracer.ReplayTests.replay; + +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +@Disabled +public class LeosNewRanges { + @Test + void leos_new_ranges_2258472_2258607() { + replay(LINEA_MAINNET, "2258472-2258607.json.gz", false); + } + + @Test + void leos_new_ranges_2291967_2292180() { + replay(LINEA_MAINNET, "2291967-2292180.json.gz", false); + } + + @Test + void leos_new_ranges_2321460_2321556() { + replay(LINEA_MAINNET, "2321460-2321556.json.gz", false); + } + + @Test + void leos_new_ranges_2359782_2359913() { + replay(LINEA_MAINNET, "2359782-2359913.json.gz", false); + } + + @Test + void leos_new_ranges_2362189_2362291() { + replay(LINEA_MAINNET, "2362189-2362291.json.gz", false); + } + + @Test + void leos_new_ranges_5002125_5002158() { + replay(LINEA_MAINNET, "5002125-5002158.json.gz", false); + } + + @Test + void leos_new_ranges_5004016_5004055() { + replay(LINEA_MAINNET, "5004016-5004055.json.gz", false); + } + + @Test + void leos_new_ranges_5004767_5004806() { + replay(LINEA_MAINNET, "5004767-5004806.json.gz", false); + } + + @Test + void leos_new_ranges_5006057_5006092() { + replay(LINEA_MAINNET, "5006057-5006092.json.gz", false); + } + + @Test + void leos_new_ranges_5006988_5007039() { + replay(LINEA_MAINNET, "5006988-5007039.json.gz", false); + } + + @Test + void leos_new_ranges_5012236_5012275() { + replay(LINEA_MAINNET, "5012236-5012275.json.gz", false); + } + + @Test + void leos_new_ranges_5025817_5025859() { + replay(LINEA_MAINNET, "5025817-5025859.json.gz", false); + } + + @Test + void leos_new_ranges_5037583_5037608() { + replay(LINEA_MAINNET, "5037583-5037608.json.gz", false); + } + + @Test + void leos_new_ranges_5042942_5042990() { + replay(LINEA_MAINNET, "5042942-5042990.json.gz", false); + } + + @Test + void leos_new_ranges_5043442_5043497() { + replay(LINEA_MAINNET, "5043442-5043497.json.gz", false); + } + + @Test + void leos_new_ranges_5043997_5044049() { + replay(LINEA_MAINNET, "5043997-5044049.json.gz", false); + } + + @Test + void leos_new_ranges_5044557_5044619() { + replay(LINEA_MAINNET, "5044557-5044619.json.gz", false); + } + + @Test + void leos_new_ranges_5045161_5045232() { + replay(LINEA_MAINNET, "5045161-5045232.json.gz", false); + } + + @Test + void leos_new_ranges_5046373_5046435() { + replay(LINEA_MAINNET, "5046373-5046435.json.gz", false); + } + + @Test + void leos_new_ranges_5046997_5047058() { + replay(LINEA_MAINNET, "5046997-5047058.json.gz", false); + } + + @Test + void leos_new_ranges_5050036_5050130() { + replay(LINEA_MAINNET, "5050036-5050130.json.gz", false); + } + + @Test + void leos_new_ranges_5057558_5057616() { + replay(LINEA_MAINNET, "5057558-5057616.json.gz", false); + } +} diff --git a/arithmetization/src/test/java/net/consensys/linea/zktracer/LeosNewRangesSplitTests.java b/arithmetization/src/test/java/net/consensys/linea/zktracer/LeosNewRangesSplitTests.java new file mode 100644 index 0000000000..c6642fc364 --- /dev/null +++ b/arithmetization/src/test/java/net/consensys/linea/zktracer/LeosNewRangesSplitTests.java @@ -0,0 +1,899 @@ +/* + * Copyright Consensys Software Inc. + * + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package net.consensys.linea.zktracer; + +import static net.consensys.linea.testing.ReplayExecutionEnvironment.LINEA_MAINNET; +import static net.consensys.linea.zktracer.ReplayTests.replay; + +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +@Disabled +public class LeosNewRangesSplitTests { + @Test + void split_range_2258472_2258479() { + replay(LINEA_MAINNET, "2258472-2258479.json.gz", false); + } + + @Test + void split_range_2258480_2258489() { + replay(LINEA_MAINNET, "2258480-2258489.json.gz", false); + } + + @Test + void split_range_2258490_2258499() { + replay(LINEA_MAINNET, "2258490-2258499.json.gz", false); + } + + @Test + void split_range_2258500_2258509() { + replay(LINEA_MAINNET, "2258500-2258509.json.gz", false); + } + + @Test + void split_range_2258510_2258519() { + replay(LINEA_MAINNET, "2258510-2258519.json.gz", false); + } + + @Test + void split_range_2258520_2258529() { + replay(LINEA_MAINNET, "2258520-2258529.json.gz", false); + } + + @Test + void split_range_2258530_2258539() { + replay(LINEA_MAINNET, "2258530-2258539.json.gz", false); + } + + @Test + void split_range_2258540_2258549() { + replay(LINEA_MAINNET, "2258540-2258549.json.gz", false); + } + + @Test + void split_range_2258550_2258559() { + replay(LINEA_MAINNET, "2258550-2258559.json.gz", false); + } + + @Test + void split_range_2258560_2258569() { + replay(LINEA_MAINNET, "2258560-2258569.json.gz", false); + } + + @Test + void split_range_2258570_2258579() { + replay(LINEA_MAINNET, "2258570-2258579.json.gz", false); + } + + @Test + void split_range_2258580_2258589() { + replay(LINEA_MAINNET, "2258580-2258589.json.gz", false); + } + + @Test + void split_range_2258590_2258599() { + replay(LINEA_MAINNET, "2258590-2258599.json.gz", false); + } + + @Test + void split_range_2258600_2258607() { + replay(LINEA_MAINNET, "2258600-2258607.json.gz", false); + } + + @Test + void split_range_2291967_2291969() { + replay(LINEA_MAINNET, "2291967-2291969.json.gz", false); + } + + @Test + void split_range_2291970_2291979() { + replay(LINEA_MAINNET, "2291970-2291979.json.gz", false); + } + + @Test + void split_range_2291980_2291989() { + replay(LINEA_MAINNET, "2291980-2291989.json.gz", false); + } + + @Test + void split_range_2291990_2291999() { + replay(LINEA_MAINNET, "2291990-2291999.json.gz", false); + } + + @Test + void split_range_2292000_2292009() { + replay(LINEA_MAINNET, "2292000-2292009.json.gz", false); + } + + @Test + void split_range_2292010_2292019() { + replay(LINEA_MAINNET, "2292010-2292019.json.gz", false); + } + + @Test + void split_range_2292020_2292029() { + replay(LINEA_MAINNET, "2292020-2292029.json.gz", false); + } + + @Test + void split_range_2292030_2292039() { + replay(LINEA_MAINNET, "2292030-2292039.json.gz", false); + } + + @Test + void split_range_2292040_2292049() { + replay(LINEA_MAINNET, "2292040-2292049.json.gz", false); + } + + @Test + void split_range_2292050_2292059() { + replay(LINEA_MAINNET, "2292050-2292059.json.gz", false); + } + + @Test + void split_range_2292060_2292069() { + replay(LINEA_MAINNET, "2292060-2292069.json.gz", false); + } + + @Test + void split_range_2292070_2292079() { + replay(LINEA_MAINNET, "2292070-2292079.json.gz", false); + } + + @Test + void split_range_2292080_2292089() { + replay(LINEA_MAINNET, "2292080-2292089.json.gz", false); + } + + @Test + void split_range_2292090_2292099() { + replay(LINEA_MAINNET, "2292090-2292099.json.gz", false); + } + + @Test + void split_range_2292100_2292109() { + replay(LINEA_MAINNET, "2292100-2292109.json.gz", false); + } + + @Test + void split_range_2292110_2292119() { + replay(LINEA_MAINNET, "2292110-2292119.json.gz", false); + } + + @Test + void split_range_2292120_2292129() { + replay(LINEA_MAINNET, "2292120-2292129.json.gz", false); + } + + @Test + void split_range_2292130_2292139() { + replay(LINEA_MAINNET, "2292130-2292139.json.gz", false); + } + + @Test + void split_range_2292140_2292149() { + replay(LINEA_MAINNET, "2292140-2292149.json.gz", false); + } + + @Test + void split_range_2292150_2292159() { + replay(LINEA_MAINNET, "2292150-2292159.json.gz", false); + } + + @Test + void split_range_2292160_2292169() { + replay(LINEA_MAINNET, "2292160-2292169.json.gz", false); + } + + @Test + void split_range_2292170_2292179() { + replay(LINEA_MAINNET, "2292170-2292179.json.gz", false); + } + + @Test + void split_range_2292180_2292180() { + replay(LINEA_MAINNET, "2292180-2292180.json.gz", false); + } + + @Test + void split_range_2321460_2321469() { + replay(LINEA_MAINNET, "2321460-2321469.json.gz", false); + } + + @Test + void split_range_2321480_2321489() { + replay(LINEA_MAINNET, "2321480-2321489.json.gz", false); + } + + @Test + void split_range_2321490_2321499() { + replay(LINEA_MAINNET, "2321490-2321499.json.gz", false); + } + + @Test + void split_range_2321500_2321509() { + replay(LINEA_MAINNET, "2321500-2321509.json.gz", false); + } + + @Test + void split_range_2321510_2321519() { + replay(LINEA_MAINNET, "2321510-2321519.json.gz", false); + } + + @Test + void split_range_2321520_2321529() { + replay(LINEA_MAINNET, "2321520-2321529.json.gz", false); + } + + @Test + void split_range_2321530_2321539() { + replay(LINEA_MAINNET, "2321530-2321539.json.gz", false); + } + + @Test + void split_range_2321540_2321549() { + replay(LINEA_MAINNET, "2321540-2321549.json.gz", false); + } + + @Test + void split_range_2321550_2321556() { + replay(LINEA_MAINNET, "2321550-2321556.json.gz", false); + } + + @Test + void split_range_2359782_2359789() { + replay(LINEA_MAINNET, "2359782-2359789.json.gz", false); + } + + @Test + void split_range_2359790_2359799() { + replay(LINEA_MAINNET, "2359790-2359799.json.gz", false); + } + + @Test + void split_range_2359800_2359809() { + replay(LINEA_MAINNET, "2359800-2359809.json.gz", false); + } + + @Test + void split_range_2359810_2359819() { + replay(LINEA_MAINNET, "2359810-2359819.json.gz", false); + } + + @Test + void split_range_2359820_2359829() { + replay(LINEA_MAINNET, "2359820-2359829.json.gz", false); + } + + @Test + void split_range_2359830_2359839() { + replay(LINEA_MAINNET, "2359830-2359839.json.gz", false); + } + + @Test + void split_range_2359840_2359849() { + replay(LINEA_MAINNET, "2359840-2359849.json.gz", false); + } + + @Test + void split_range_2359850_2359859() { + replay(LINEA_MAINNET, "2359850-2359859.json.gz", false); + } + + @Test + void split_range_2359860_2359869() { + replay(LINEA_MAINNET, "2359860-2359869.json.gz", false); + } + + @Test + void split_range_2359870_2359879() { + replay(LINEA_MAINNET, "2359870-2359879.json.gz", false); + } + + @Test + void split_range_2359880_2359889() { + replay(LINEA_MAINNET, "2359880-2359889.json.gz", false); + } + + @Test + void split_range_2359890_2359899() { + replay(LINEA_MAINNET, "2359890-2359899.json.gz", false); + } + + @Test + void split_range_2359900_2359909() { + replay(LINEA_MAINNET, "2359900-2359909.json.gz", false); + } + + @Test + void split_range_2359910_2359913() { + replay(LINEA_MAINNET, "2359910-2359913.json.gz", false); + } + + @Test + void split_range_2362189_2362189() { + replay(LINEA_MAINNET, "2362189-2362189.json.gz", false); + } + + @Test + void split_range_2362190_2362199() { + replay(LINEA_MAINNET, "2362190-2362199.json.gz", false); + } + + @Test + void split_range_2362200_2362209() { + replay(LINEA_MAINNET, "2362200-2362209.json.gz", false); + } + + @Test + void split_range_2362210_2362219() { + replay(LINEA_MAINNET, "2362210-2362219.json.gz", false); + } + + @Test + void split_range_2362220_2362229() { + replay(LINEA_MAINNET, "2362220-2362229.json.gz", false); + } + + @Test + void split_range_2362230_2362239() { + replay(LINEA_MAINNET, "2362230-2362239.json.gz", false); + } + + @Test + void split_range_2362240_2362249() { + replay(LINEA_MAINNET, "2362240-2362249.json.gz", false); + } + + @Test + void split_range_2362250_2362259() { + replay(LINEA_MAINNET, "2362250-2362259.json.gz", false); + } + + @Test + void split_range_2362260_2362269() { + replay(LINEA_MAINNET, "2362260-2362269.json.gz", false); + } + + @Test + void split_range_2362270_2362279() { + replay(LINEA_MAINNET, "2362270-2362279.json.gz", false); + } + + @Test + void split_range_2362280_2362289() { + replay(LINEA_MAINNET, "2362280-2362289.json.gz", false); + } + + @Test + void split_range_2362290_2362291() { + replay(LINEA_MAINNET, "2362290-2362291.json.gz", false); + } + + @Test + void split_range_5002125_5002129() { + replay(LINEA_MAINNET, "5002125-5002129.json.gz", false); + } + + @Test + void split_range_5002130_5002139() { + replay(LINEA_MAINNET, "5002130-5002139.json.gz", false); + } + + @Test + void split_range_5002140_5002149() { + replay(LINEA_MAINNET, "5002140-5002149.json.gz", false); + } + + @Test + void split_range_5002150_5002158() { + replay(LINEA_MAINNET, "5002150-5002158.json.gz", false); + } + + @Test + void split_range_5004016_5004019() { + replay(LINEA_MAINNET, "5004016-5004019.json.gz", false); + } + + @Test + void split_range_5004020_5004029() { + replay(LINEA_MAINNET, "5004020-5004029.json.gz", false); + } + + @Test + void split_range_5004030_5004039() { + replay(LINEA_MAINNET, "5004030-5004039.json.gz", false); + } + + @Test + void split_range_5004040_5004049() { + replay(LINEA_MAINNET, "5004040-5004049.json.gz", false); + } + + @Test + void split_range_5004050_5004055() { + replay(LINEA_MAINNET, "5004050-5004055.json.gz", false); + } + + @Test + void split_range_5004767_5004769() { + replay(LINEA_MAINNET, "5004767-5004769.json.gz", false); + } + + @Test + void split_range_5004770_5004779() { + replay(LINEA_MAINNET, "5004770-5004779.json.gz", false); + } + + @Test + void split_range_5004780_5004789() { + replay(LINEA_MAINNET, "5004780-5004789.json.gz", false); + } + + @Test + void split_range_5004790_5004799() { + replay(LINEA_MAINNET, "5004790-5004799.json.gz", false); + } + + @Test + void split_range_5004800_5004806() { + replay(LINEA_MAINNET, "5004800-5004806.json.gz", false); + } + + @Test + void split_range_5006057_5006059() { + replay(LINEA_MAINNET, "5006057-5006059.json.gz", false); + } + + @Test + void split_range_5006060_5006069() { + replay(LINEA_MAINNET, "5006060-5006069.json.gz", false); + } + + @Test + void split_range_5006070_5006079() { + replay(LINEA_MAINNET, "5006070-5006079.json.gz", false); + } + + @Test + void split_range_5006080_5006089() { + replay(LINEA_MAINNET, "5006080-5006089.json.gz", false); + } + + @Test + void split_range_5006090_5006092() { + replay(LINEA_MAINNET, "5006090-5006092.json.gz", false); + } + + @Test + void split_range_5006988_5006989() { + replay(LINEA_MAINNET, "5006988-5006989.json.gz", false); + } + + @Test + void split_range_5006990_5006999() { + replay(LINEA_MAINNET, "5006990-5006999.json.gz", false); + } + + @Test + void split_range_5007000_5007009() { + replay(LINEA_MAINNET, "5007000-5007009.json.gz", false); + } + + @Test + void split_range_5007010_5007019() { + replay(LINEA_MAINNET, "5007010-5007019.json.gz", false); + } + + @Test + void split_range_5007020_5007029() { + replay(LINEA_MAINNET, "5007020-5007029.json.gz", false); + } + + @Test + void split_range_5007030_5007039() { + replay(LINEA_MAINNET, "5007030-5007039.json.gz", false); + } + + @Test + void split_range_5012236_5012239() { + replay(LINEA_MAINNET, "5012236-5012239.json.gz", false); + } + + @Test + void split_range_5012240_5012249() { + replay(LINEA_MAINNET, "5012240-5012249.json.gz", false); + } + + @Test + void split_range_5012250_5012259() { + replay(LINEA_MAINNET, "5012250-5012259.json.gz", false); + } + + @Test + void split_range_5012260_5012269() { + replay(LINEA_MAINNET, "5012260-5012269.json.gz", false); + } + + @Test + void split_range_5012270_5012275() { + replay(LINEA_MAINNET, "5012270-5012275.json.gz", false); + } + + @Test + void split_range_5025817_5025819() { + replay(LINEA_MAINNET, "5025817-5025819.json.gz", false); + } + + @Test + void split_range_5025820_5025829() { + replay(LINEA_MAINNET, "5025820-5025829.json.gz", false); + } + + @Test + void split_range_5025830_5025839() { + replay(LINEA_MAINNET, "5025830-5025839.json.gz", false); + } + + @Test + void split_range_5025840_5025849() { + replay(LINEA_MAINNET, "5025840-5025849.json.gz", false); + } + + @Test + void split_range_5025850_5025859() { + replay(LINEA_MAINNET, "5025850-5025859.json.gz", false); + } + + @Test + void split_range_5037583_5037589() { + replay(LINEA_MAINNET, "5037583-5037589.json.gz", false); + } + + @Test + void split_range_5037590_5037599() { + replay(LINEA_MAINNET, "5037590-5037599.json.gz", false); + } + + @Test + void split_range_5037600_5037608() { + replay(LINEA_MAINNET, "5037600-5037608.json.gz", false); + } + + @Test + void split_range_5042942_5042949() { + replay(LINEA_MAINNET, "5042942-5042949.json.gz", false); + } + + @Test + void split_range_5042950_5042959() { + replay(LINEA_MAINNET, "5042950-5042959.json.gz", false); + } + + @Test + void split_range_5042960_5042969() { + replay(LINEA_MAINNET, "5042960-5042969.json.gz", false); + } + + @Test + void split_range_5042970_5042979() { + replay(LINEA_MAINNET, "5042970-5042979.json.gz", false); + } + + @Test + void split_range_5042980_5042989() { + replay(LINEA_MAINNET, "5042980-5042989.json.gz", false); + } + + @Test + void split_range_5042990_5042990() { + replay(LINEA_MAINNET, "5042990-5042990.json.gz", false); + } + + @Test + void split_range_5043442_5043449() { + replay(LINEA_MAINNET, "5043442-5043449.json.gz", false); + } + + @Test + void split_range_5043450_5043459() { + replay(LINEA_MAINNET, "5043450-5043459.json.gz", false); + } + + @Test + void split_range_5043460_5043469() { + replay(LINEA_MAINNET, "5043460-5043469.json.gz", false); + } + + @Test + void split_range_5043470_5043479() { + replay(LINEA_MAINNET, "5043470-5043479.json.gz", false); + } + + @Test + void split_range_5043480_5043489() { + replay(LINEA_MAINNET, "5043480-5043489.json.gz", false); + } + + @Test + void split_range_5043490_5043497() { + replay(LINEA_MAINNET, "5043490-5043497.json.gz", false); + } + + @Test + void split_range_5043997_5043999() { + replay(LINEA_MAINNET, "5043997-5043999.json.gz", false); + } + + @Test + void split_range_5044000_5044009() { + replay(LINEA_MAINNET, "5044000-5044009.json.gz", false); + } + + @Test + void split_range_5044010_5044019() { + replay(LINEA_MAINNET, "5044010-5044019.json.gz", false); + } + + @Test + void split_range_5044020_5044029() { + replay(LINEA_MAINNET, "5044020-5044029.json.gz", false); + } + + @Test + void split_range_5044030_5044039() { + replay(LINEA_MAINNET, "5044030-5044039.json.gz", false); + } + + @Test + void split_range_5044040_5044049() { + replay(LINEA_MAINNET, "5044040-5044049.json.gz", false); + } + + @Test + void split_range_5044557_5044559() { + replay(LINEA_MAINNET, "5044557-5044559.json.gz", false); + } + + @Test + void split_range_5044560_5044569() { + replay(LINEA_MAINNET, "5044560-5044569.json.gz", false); + } + + @Test + void split_range_5044570_5044579() { + replay(LINEA_MAINNET, "5044570-5044579.json.gz", false); + } + + @Test + void split_range_5044580_5044589() { + replay(LINEA_MAINNET, "5044580-5044589.json.gz", false); + } + + @Test + void split_range_5044590_5044599() { + replay(LINEA_MAINNET, "5044590-5044599.json.gz", false); + } + + @Test + void split_range_5044600_5044609() { + replay(LINEA_MAINNET, "5044600-5044609.json.gz", false); + } + + @Test + void split_range_5044610_5044619() { + replay(LINEA_MAINNET, "5044610-5044619.json.gz", false); + } + + @Test + void split_range_5045161_5045169() { + replay(LINEA_MAINNET, "5045161-5045169.json.gz", false); + } + + @Test + void split_range_5045170_5045179() { + replay(LINEA_MAINNET, "5045170-5045179.json.gz", false); + } + + @Test + void split_range_5045180_5045189() { + replay(LINEA_MAINNET, "5045180-5045189.json.gz", false); + } + + @Test + void split_range_5045190_5045199() { + replay(LINEA_MAINNET, "5045190-5045199.json.gz", false); + } + + @Test + void split_range_5045200_5045209() { + replay(LINEA_MAINNET, "5045200-5045209.json.gz", false); + } + + @Test + void split_range_5045210_5045219() { + replay(LINEA_MAINNET, "5045210-5045219.json.gz", false); + } + + @Test + void split_range_5045220_5045229() { + replay(LINEA_MAINNET, "5045220-5045229.json.gz", false); + } + + @Test + void split_range_5045230_5045232() { + replay(LINEA_MAINNET, "5045230-5045232.json.gz", false); + } + + @Test + void split_range_5046373_5046379() { + replay(LINEA_MAINNET, "5046373-5046379.json.gz", false); + } + + @Test + void split_range_5046380_5046389() { + replay(LINEA_MAINNET, "5046380-5046389.json.gz", false); + } + + @Test + void split_range_5046390_5046399() { + replay(LINEA_MAINNET, "5046390-5046399.json.gz", false); + } + + @Test + void split_range_5046400_5046409() { + replay(LINEA_MAINNET, "5046400-5046409.json.gz", false); + } + + @Test + void split_range_5046410_5046419() { + replay(LINEA_MAINNET, "5046410-5046419.json.gz", false); + } + + @Test + void split_range_5046420_5046429() { + replay(LINEA_MAINNET, "5046420-5046429.json.gz", false); + } + + @Test + void split_range_5046430_5046435() { + replay(LINEA_MAINNET, "5046430-5046435.json.gz", false); + } + + @Test + void split_range_5046997_5046999() { + replay(LINEA_MAINNET, "5046997-5046999.json.gz", false); + } + + @Test + void split_range_5047000_5047009() { + replay(LINEA_MAINNET, "5047000-5047009.json.gz", false); + } + + @Test + void split_range_5047010_5047019() { + replay(LINEA_MAINNET, "5047010-5047019.json.gz", false); + } + + @Test + void split_range_5047020_5047029() { + replay(LINEA_MAINNET, "5047020-5047029.json.gz", false); + } + + @Test + void split_range_5047030_5047039() { + replay(LINEA_MAINNET, "5047030-5047039.json.gz", false); + } + + @Test + void split_range_5047040_5047049() { + replay(LINEA_MAINNET, "5047040-5047049.json.gz", false); + } + + @Test + void split_range_5047050_5047058() { + replay(LINEA_MAINNET, "5047050-5047058.json.gz", false); + } + + @Test + void split_range_5050036_5050039() { + replay(LINEA_MAINNET, "5050036-5050039.json.gz", false); + } + + @Test + void split_range_5050040_5050049() { + replay(LINEA_MAINNET, "5050040-5050049.json.gz", false); + } + + @Test + void split_range_5050050_5050059() { + replay(LINEA_MAINNET, "5050050-5050059.json.gz", false); + } + + @Test + void split_range_5050060_5050069() { + replay(LINEA_MAINNET, "5050060-5050069.json.gz", false); + } + + @Test + void split_range_5050070_5050079() { + replay(LINEA_MAINNET, "5050070-5050079.json.gz", false); + } + + @Test + void split_range_5050080_5050089() { + replay(LINEA_MAINNET, "5050080-5050089.json.gz", false); + } + + @Test + void split_range_5050090_5050099() { + replay(LINEA_MAINNET, "5050090-5050099.json.gz", false); + } + + @Test + void split_range_5050100_5050109() { + replay(LINEA_MAINNET, "5050100-5050109.json.gz", false); + } + + @Test + void split_range_5050110_5050119() { + replay(LINEA_MAINNET, "5050110-5050119.json.gz", false); + } + + @Test + void split_range_5050120_5050129() { + replay(LINEA_MAINNET, "5050120-5050129.json.gz", false); + } + + @Test + void split_range_5050130_5050130() { + replay(LINEA_MAINNET, "5050130-5050130.json.gz", false); + } + + @Test + void split_range_5057558_5057559() { + replay(LINEA_MAINNET, "5057558-5057559.json.gz", false); + } + + @Test + void split_range_5057560_5057569() { + replay(LINEA_MAINNET, "5057560-5057569.json.gz", false); + } + + @Test + void split_range_5057570_5057579() { + replay(LINEA_MAINNET, "5057570-5057579.json.gz", false); + } + + @Test + void split_range_5057580_5057589() { + replay(LINEA_MAINNET, "5057580-5057589.json.gz", false); + } + + @Test + void split_range_5057590_5057599() { + replay(LINEA_MAINNET, "5057590-5057599.json.gz", false); + } + + @Test + void split_range_5057600_5057609() { + replay(LINEA_MAINNET, "5057600-5057609.json.gz", false); + } + + @Test + void split_range_5057610_5057616() { + replay(LINEA_MAINNET, "5057610-5057616.json.gz", false); + } +} diff --git a/arithmetization/src/test/resources/replays/2258472-2258479.json.gz b/arithmetization/src/test/resources/replays/2258472-2258479.json.gz new file mode 100644 index 0000000000..41a3d5c02b Binary files /dev/null and b/arithmetization/src/test/resources/replays/2258472-2258479.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2258472-2258607.json.gz b/arithmetization/src/test/resources/replays/2258472-2258607.json.gz new file mode 100644 index 0000000000..09db7c3d73 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2258472-2258607.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2258480-2258489.json.gz b/arithmetization/src/test/resources/replays/2258480-2258489.json.gz new file mode 100644 index 0000000000..675804fd24 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2258480-2258489.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2258490-2258499.json.gz b/arithmetization/src/test/resources/replays/2258490-2258499.json.gz new file mode 100644 index 0000000000..b1ba7cd71f Binary files /dev/null and b/arithmetization/src/test/resources/replays/2258490-2258499.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2258500-2258509.json.gz b/arithmetization/src/test/resources/replays/2258500-2258509.json.gz new file mode 100644 index 0000000000..8666d6d095 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2258500-2258509.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2258510-2258519.json.gz b/arithmetization/src/test/resources/replays/2258510-2258519.json.gz new file mode 100644 index 0000000000..551e1799b8 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2258510-2258519.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2258520-2258529.json.gz b/arithmetization/src/test/resources/replays/2258520-2258529.json.gz new file mode 100644 index 0000000000..dddfc2adb0 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2258520-2258529.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2258530-2258539.json.gz b/arithmetization/src/test/resources/replays/2258530-2258539.json.gz new file mode 100644 index 0000000000..0c0667c879 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2258530-2258539.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2258540-2258549.json.gz b/arithmetization/src/test/resources/replays/2258540-2258549.json.gz new file mode 100644 index 0000000000..846cf59cd0 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2258540-2258549.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2258550-2258559.json.gz b/arithmetization/src/test/resources/replays/2258550-2258559.json.gz new file mode 100644 index 0000000000..d7f61b0807 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2258550-2258559.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2258560-2258569.json.gz b/arithmetization/src/test/resources/replays/2258560-2258569.json.gz new file mode 100644 index 0000000000..b9a212d344 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2258560-2258569.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2258570-2258579.json.gz b/arithmetization/src/test/resources/replays/2258570-2258579.json.gz new file mode 100644 index 0000000000..2f5cba1e25 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2258570-2258579.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2258580-2258589.json.gz b/arithmetization/src/test/resources/replays/2258580-2258589.json.gz new file mode 100644 index 0000000000..df03abd1ee Binary files /dev/null and b/arithmetization/src/test/resources/replays/2258580-2258589.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2258590-2258599.json.gz b/arithmetization/src/test/resources/replays/2258590-2258599.json.gz new file mode 100644 index 0000000000..708303bd5a Binary files /dev/null and b/arithmetization/src/test/resources/replays/2258590-2258599.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2258600-2258607.json.gz b/arithmetization/src/test/resources/replays/2258600-2258607.json.gz new file mode 100644 index 0000000000..daca970c4c Binary files /dev/null and b/arithmetization/src/test/resources/replays/2258600-2258607.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2291967-2291969.json.gz b/arithmetization/src/test/resources/replays/2291967-2291969.json.gz new file mode 100644 index 0000000000..fe4ae7b416 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2291967-2291969.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2291967-2292180.json.gz b/arithmetization/src/test/resources/replays/2291967-2292180.json.gz new file mode 100644 index 0000000000..7d036745b9 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2291967-2292180.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2291970-2291979.json.gz b/arithmetization/src/test/resources/replays/2291970-2291979.json.gz new file mode 100644 index 0000000000..948c8713d4 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2291970-2291979.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2291980-2291989.json.gz b/arithmetization/src/test/resources/replays/2291980-2291989.json.gz new file mode 100644 index 0000000000..2076226a1f Binary files /dev/null and b/arithmetization/src/test/resources/replays/2291980-2291989.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2291990-2291999.json.gz b/arithmetization/src/test/resources/replays/2291990-2291999.json.gz new file mode 100644 index 0000000000..88a12ef981 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2291990-2291999.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2292000-2292009.json.gz b/arithmetization/src/test/resources/replays/2292000-2292009.json.gz new file mode 100644 index 0000000000..533586beac Binary files /dev/null and b/arithmetization/src/test/resources/replays/2292000-2292009.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2292010-2292019.json.gz b/arithmetization/src/test/resources/replays/2292010-2292019.json.gz new file mode 100644 index 0000000000..08c39db003 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2292010-2292019.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2292020-2292029.json.gz b/arithmetization/src/test/resources/replays/2292020-2292029.json.gz new file mode 100644 index 0000000000..bdc1e50065 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2292020-2292029.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2292030-2292039.json.gz b/arithmetization/src/test/resources/replays/2292030-2292039.json.gz new file mode 100644 index 0000000000..d557ac35d2 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2292030-2292039.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2292040-2292049.json.gz b/arithmetization/src/test/resources/replays/2292040-2292049.json.gz new file mode 100644 index 0000000000..f798379969 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2292040-2292049.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2292050-2292059.json.gz b/arithmetization/src/test/resources/replays/2292050-2292059.json.gz new file mode 100644 index 0000000000..ca4e4a6e63 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2292050-2292059.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2292060-2292069.json.gz b/arithmetization/src/test/resources/replays/2292060-2292069.json.gz new file mode 100644 index 0000000000..5c9599c94b Binary files /dev/null and b/arithmetization/src/test/resources/replays/2292060-2292069.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2292070-2292079.json.gz b/arithmetization/src/test/resources/replays/2292070-2292079.json.gz new file mode 100644 index 0000000000..91694dd796 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2292070-2292079.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2292080-2292089.json.gz b/arithmetization/src/test/resources/replays/2292080-2292089.json.gz new file mode 100644 index 0000000000..4ee5c27788 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2292080-2292089.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2292090-2292099.json.gz b/arithmetization/src/test/resources/replays/2292090-2292099.json.gz new file mode 100644 index 0000000000..3a9d595777 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2292090-2292099.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2292100-2292109.json.gz b/arithmetization/src/test/resources/replays/2292100-2292109.json.gz new file mode 100644 index 0000000000..8c8ce23f72 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2292100-2292109.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2292110-2292119.json.gz b/arithmetization/src/test/resources/replays/2292110-2292119.json.gz new file mode 100644 index 0000000000..d7e1612c96 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2292110-2292119.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2292120-2292129.json.gz b/arithmetization/src/test/resources/replays/2292120-2292129.json.gz new file mode 100644 index 0000000000..5ef39e7382 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2292120-2292129.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2292130-2292139.json.gz b/arithmetization/src/test/resources/replays/2292130-2292139.json.gz new file mode 100644 index 0000000000..79d74d762a Binary files /dev/null and b/arithmetization/src/test/resources/replays/2292130-2292139.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2292140-2292149.json.gz b/arithmetization/src/test/resources/replays/2292140-2292149.json.gz new file mode 100644 index 0000000000..b43580c2eb Binary files /dev/null and b/arithmetization/src/test/resources/replays/2292140-2292149.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2292150-2292159.json.gz b/arithmetization/src/test/resources/replays/2292150-2292159.json.gz new file mode 100644 index 0000000000..8906e6aaf8 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2292150-2292159.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2292160-2292169.json.gz b/arithmetization/src/test/resources/replays/2292160-2292169.json.gz new file mode 100644 index 0000000000..8135c11ca3 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2292160-2292169.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2292170-2292179.json.gz b/arithmetization/src/test/resources/replays/2292170-2292179.json.gz new file mode 100644 index 0000000000..6c471bb1bc Binary files /dev/null and b/arithmetization/src/test/resources/replays/2292170-2292179.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2292180-2292180.json.gz b/arithmetization/src/test/resources/replays/2292180-2292180.json.gz new file mode 100644 index 0000000000..1d82727d66 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2292180-2292180.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2321460-2321469.json.gz b/arithmetization/src/test/resources/replays/2321460-2321469.json.gz new file mode 100644 index 0000000000..9dc5a339dc Binary files /dev/null and b/arithmetization/src/test/resources/replays/2321460-2321469.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2321460-2321556.json.gz b/arithmetization/src/test/resources/replays/2321460-2321556.json.gz new file mode 100644 index 0000000000..e50dd1fce0 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2321460-2321556.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2321470-2321479.json.gz b/arithmetization/src/test/resources/replays/2321470-2321479.json.gz new file mode 100644 index 0000000000..02167bd45c Binary files /dev/null and b/arithmetization/src/test/resources/replays/2321470-2321479.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2321480-2321489.json.gz b/arithmetization/src/test/resources/replays/2321480-2321489.json.gz new file mode 100644 index 0000000000..16fa1ce0a5 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2321480-2321489.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2321490-2321499.json.gz b/arithmetization/src/test/resources/replays/2321490-2321499.json.gz new file mode 100644 index 0000000000..1b50402a9c Binary files /dev/null and b/arithmetization/src/test/resources/replays/2321490-2321499.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2321500-2321509.json.gz b/arithmetization/src/test/resources/replays/2321500-2321509.json.gz new file mode 100644 index 0000000000..e886a1e99f Binary files /dev/null and b/arithmetization/src/test/resources/replays/2321500-2321509.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2321510-2321519.json.gz b/arithmetization/src/test/resources/replays/2321510-2321519.json.gz new file mode 100644 index 0000000000..7c152b96ed Binary files /dev/null and b/arithmetization/src/test/resources/replays/2321510-2321519.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2321520-2321529.json.gz b/arithmetization/src/test/resources/replays/2321520-2321529.json.gz new file mode 100644 index 0000000000..263802828d Binary files /dev/null and b/arithmetization/src/test/resources/replays/2321520-2321529.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2321530-2321539.json.gz b/arithmetization/src/test/resources/replays/2321530-2321539.json.gz new file mode 100644 index 0000000000..e93107cd69 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2321530-2321539.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2321540-2321549.json.gz b/arithmetization/src/test/resources/replays/2321540-2321549.json.gz new file mode 100644 index 0000000000..066a878e7d Binary files /dev/null and b/arithmetization/src/test/resources/replays/2321540-2321549.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2321550-2321556.json.gz b/arithmetization/src/test/resources/replays/2321550-2321556.json.gz new file mode 100644 index 0000000000..2c7a406260 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2321550-2321556.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2359782-2359789.json.gz b/arithmetization/src/test/resources/replays/2359782-2359789.json.gz new file mode 100644 index 0000000000..74e1b91c9b Binary files /dev/null and b/arithmetization/src/test/resources/replays/2359782-2359789.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2359782-2359913.json.gz b/arithmetization/src/test/resources/replays/2359782-2359913.json.gz new file mode 100644 index 0000000000..643e48c18e Binary files /dev/null and b/arithmetization/src/test/resources/replays/2359782-2359913.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2359790-2359799.json.gz b/arithmetization/src/test/resources/replays/2359790-2359799.json.gz new file mode 100644 index 0000000000..9924adbf0f Binary files /dev/null and b/arithmetization/src/test/resources/replays/2359790-2359799.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2359800-2359809.json.gz b/arithmetization/src/test/resources/replays/2359800-2359809.json.gz new file mode 100644 index 0000000000..023814d2b5 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2359800-2359809.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2359810-2359819.json.gz b/arithmetization/src/test/resources/replays/2359810-2359819.json.gz new file mode 100644 index 0000000000..fe45a461b2 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2359810-2359819.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2359820-2359829.json.gz b/arithmetization/src/test/resources/replays/2359820-2359829.json.gz new file mode 100644 index 0000000000..9adc9217b3 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2359820-2359829.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2359830-2359839.json.gz b/arithmetization/src/test/resources/replays/2359830-2359839.json.gz new file mode 100644 index 0000000000..b6cb63b561 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2359830-2359839.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2359840-2359849.json.gz b/arithmetization/src/test/resources/replays/2359840-2359849.json.gz new file mode 100644 index 0000000000..32e8bc2b57 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2359840-2359849.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2359850-2359859.json.gz b/arithmetization/src/test/resources/replays/2359850-2359859.json.gz new file mode 100644 index 0000000000..d33d56fb90 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2359850-2359859.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2359860-2359869.json.gz b/arithmetization/src/test/resources/replays/2359860-2359869.json.gz new file mode 100644 index 0000000000..a2c33c6f68 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2359860-2359869.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2359870-2359879.json.gz b/arithmetization/src/test/resources/replays/2359870-2359879.json.gz new file mode 100644 index 0000000000..f2a6f3b2ce Binary files /dev/null and b/arithmetization/src/test/resources/replays/2359870-2359879.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2359880-2359889.json.gz b/arithmetization/src/test/resources/replays/2359880-2359889.json.gz new file mode 100644 index 0000000000..82311f2e58 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2359880-2359889.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2359890-2359899.json.gz b/arithmetization/src/test/resources/replays/2359890-2359899.json.gz new file mode 100644 index 0000000000..15ba30f4ff Binary files /dev/null and b/arithmetization/src/test/resources/replays/2359890-2359899.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2359900-2359909.json.gz b/arithmetization/src/test/resources/replays/2359900-2359909.json.gz new file mode 100644 index 0000000000..99423a9531 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2359900-2359909.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2359910-2359913.json.gz b/arithmetization/src/test/resources/replays/2359910-2359913.json.gz new file mode 100644 index 0000000000..65c6c5e37d Binary files /dev/null and b/arithmetization/src/test/resources/replays/2359910-2359913.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2362189-2362189.json.gz b/arithmetization/src/test/resources/replays/2362189-2362189.json.gz new file mode 100644 index 0000000000..d9fd9b90f5 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2362189-2362189.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2362189-2362291.json.gz b/arithmetization/src/test/resources/replays/2362189-2362291.json.gz new file mode 100644 index 0000000000..56ef175de4 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2362189-2362291.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2362190-2362199.json.gz b/arithmetization/src/test/resources/replays/2362190-2362199.json.gz new file mode 100644 index 0000000000..e9ff423ca7 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2362190-2362199.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2362200-2362209.json.gz b/arithmetization/src/test/resources/replays/2362200-2362209.json.gz new file mode 100644 index 0000000000..45a3692f35 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2362200-2362209.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2362210-2362219.json.gz b/arithmetization/src/test/resources/replays/2362210-2362219.json.gz new file mode 100644 index 0000000000..c208b6c4dd Binary files /dev/null and b/arithmetization/src/test/resources/replays/2362210-2362219.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2362220-2362229.json.gz b/arithmetization/src/test/resources/replays/2362220-2362229.json.gz new file mode 100644 index 0000000000..4b85c02299 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2362220-2362229.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2362230-2362239.json.gz b/arithmetization/src/test/resources/replays/2362230-2362239.json.gz new file mode 100644 index 0000000000..4522fba04a Binary files /dev/null and b/arithmetization/src/test/resources/replays/2362230-2362239.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2362240-2362249.json.gz b/arithmetization/src/test/resources/replays/2362240-2362249.json.gz new file mode 100644 index 0000000000..0a72ebc4c9 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2362240-2362249.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2362250-2362259.json.gz b/arithmetization/src/test/resources/replays/2362250-2362259.json.gz new file mode 100644 index 0000000000..32352f3d38 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2362250-2362259.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2362260-2362269.json.gz b/arithmetization/src/test/resources/replays/2362260-2362269.json.gz new file mode 100644 index 0000000000..53087c72f4 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2362260-2362269.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2362270-2362279.json.gz b/arithmetization/src/test/resources/replays/2362270-2362279.json.gz new file mode 100644 index 0000000000..8be413131f Binary files /dev/null and b/arithmetization/src/test/resources/replays/2362270-2362279.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2362280-2362289.json.gz b/arithmetization/src/test/resources/replays/2362280-2362289.json.gz new file mode 100644 index 0000000000..5a0849ff88 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2362280-2362289.json.gz differ diff --git a/arithmetization/src/test/resources/replays/2362290-2362291.json.gz b/arithmetization/src/test/resources/replays/2362290-2362291.json.gz new file mode 100644 index 0000000000..4ee2f3b625 Binary files /dev/null and b/arithmetization/src/test/resources/replays/2362290-2362291.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5002125-5002129.json.gz b/arithmetization/src/test/resources/replays/5002125-5002129.json.gz new file mode 100644 index 0000000000..ad1f2d6590 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5002125-5002129.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5002125-5002158.json.gz b/arithmetization/src/test/resources/replays/5002125-5002158.json.gz new file mode 100644 index 0000000000..bc055949cb Binary files /dev/null and b/arithmetization/src/test/resources/replays/5002125-5002158.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5002130-5002139.json.gz b/arithmetization/src/test/resources/replays/5002130-5002139.json.gz new file mode 100644 index 0000000000..6f53883677 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5002130-5002139.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5002140-5002149.json.gz b/arithmetization/src/test/resources/replays/5002140-5002149.json.gz new file mode 100644 index 0000000000..ba16f548e4 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5002140-5002149.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5002150-5002158.json.gz b/arithmetization/src/test/resources/replays/5002150-5002158.json.gz new file mode 100644 index 0000000000..9ad2219995 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5002150-5002158.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5004016-5004019.json.gz b/arithmetization/src/test/resources/replays/5004016-5004019.json.gz new file mode 100644 index 0000000000..5990d07811 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5004016-5004019.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5004016-5004055.json.gz b/arithmetization/src/test/resources/replays/5004016-5004055.json.gz new file mode 100644 index 0000000000..a34d9b5e5a Binary files /dev/null and b/arithmetization/src/test/resources/replays/5004016-5004055.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5004020-5004029.json.gz b/arithmetization/src/test/resources/replays/5004020-5004029.json.gz new file mode 100644 index 0000000000..dadb66a042 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5004020-5004029.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5004030-5004039.json.gz b/arithmetization/src/test/resources/replays/5004030-5004039.json.gz new file mode 100644 index 0000000000..30cab48709 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5004030-5004039.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5004040-5004049.json.gz b/arithmetization/src/test/resources/replays/5004040-5004049.json.gz new file mode 100644 index 0000000000..8ced77a67a Binary files /dev/null and b/arithmetization/src/test/resources/replays/5004040-5004049.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5004050-5004055.json.gz b/arithmetization/src/test/resources/replays/5004050-5004055.json.gz new file mode 100644 index 0000000000..d5b862002e Binary files /dev/null and b/arithmetization/src/test/resources/replays/5004050-5004055.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5004767-5004769.json.gz b/arithmetization/src/test/resources/replays/5004767-5004769.json.gz new file mode 100644 index 0000000000..00998bc43d Binary files /dev/null and b/arithmetization/src/test/resources/replays/5004767-5004769.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5004767-5004806.json.gz b/arithmetization/src/test/resources/replays/5004767-5004806.json.gz new file mode 100644 index 0000000000..256e0f6b70 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5004767-5004806.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5004770-5004779.json.gz b/arithmetization/src/test/resources/replays/5004770-5004779.json.gz new file mode 100644 index 0000000000..417d262c5e Binary files /dev/null and b/arithmetization/src/test/resources/replays/5004770-5004779.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5004780-5004789.json.gz b/arithmetization/src/test/resources/replays/5004780-5004789.json.gz new file mode 100644 index 0000000000..7f2dd671fc Binary files /dev/null and b/arithmetization/src/test/resources/replays/5004780-5004789.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5004790-5004799.json.gz b/arithmetization/src/test/resources/replays/5004790-5004799.json.gz new file mode 100644 index 0000000000..cc6792f149 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5004790-5004799.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5004800-5004806.json.gz b/arithmetization/src/test/resources/replays/5004800-5004806.json.gz new file mode 100644 index 0000000000..5e739f7551 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5004800-5004806.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5006057-5006059.json.gz b/arithmetization/src/test/resources/replays/5006057-5006059.json.gz new file mode 100644 index 0000000000..5e139d9085 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5006057-5006059.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5006057-5006092.json.gz b/arithmetization/src/test/resources/replays/5006057-5006092.json.gz new file mode 100644 index 0000000000..c92015ad16 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5006057-5006092.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5006060-5006069.json.gz b/arithmetization/src/test/resources/replays/5006060-5006069.json.gz new file mode 100644 index 0000000000..c324ff4417 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5006060-5006069.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5006070-5006079.json.gz b/arithmetization/src/test/resources/replays/5006070-5006079.json.gz new file mode 100644 index 0000000000..3f1f0d5d70 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5006070-5006079.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5006080-5006089.json.gz b/arithmetization/src/test/resources/replays/5006080-5006089.json.gz new file mode 100644 index 0000000000..0ce46b0878 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5006080-5006089.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5006090-5006092.json.gz b/arithmetization/src/test/resources/replays/5006090-5006092.json.gz new file mode 100644 index 0000000000..8725838eb8 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5006090-5006092.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5006988-5006989.json.gz b/arithmetization/src/test/resources/replays/5006988-5006989.json.gz new file mode 100644 index 0000000000..8098bb35ab Binary files /dev/null and b/arithmetization/src/test/resources/replays/5006988-5006989.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5006988-5007039.json.gz b/arithmetization/src/test/resources/replays/5006988-5007039.json.gz new file mode 100644 index 0000000000..d77608b9e0 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5006988-5007039.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5006990-5006999.json.gz b/arithmetization/src/test/resources/replays/5006990-5006999.json.gz new file mode 100644 index 0000000000..e325dc100f Binary files /dev/null and b/arithmetization/src/test/resources/replays/5006990-5006999.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5007000-5007009.json.gz b/arithmetization/src/test/resources/replays/5007000-5007009.json.gz new file mode 100644 index 0000000000..90b155876b Binary files /dev/null and b/arithmetization/src/test/resources/replays/5007000-5007009.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5007010-5007019.json.gz b/arithmetization/src/test/resources/replays/5007010-5007019.json.gz new file mode 100644 index 0000000000..4e29ae7550 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5007010-5007019.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5007020-5007029.json.gz b/arithmetization/src/test/resources/replays/5007020-5007029.json.gz new file mode 100644 index 0000000000..85a5dc6b07 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5007020-5007029.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5007030-5007039.json.gz b/arithmetization/src/test/resources/replays/5007030-5007039.json.gz new file mode 100644 index 0000000000..c6ef6beb72 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5007030-5007039.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5012236-5012239.json.gz b/arithmetization/src/test/resources/replays/5012236-5012239.json.gz new file mode 100644 index 0000000000..f133c649f2 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5012236-5012239.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5012236-5012275.json.gz b/arithmetization/src/test/resources/replays/5012236-5012275.json.gz new file mode 100644 index 0000000000..4c01af3541 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5012236-5012275.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5012240-5012249.json.gz b/arithmetization/src/test/resources/replays/5012240-5012249.json.gz new file mode 100644 index 0000000000..c449e1f80d Binary files /dev/null and b/arithmetization/src/test/resources/replays/5012240-5012249.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5012250-5012259.json.gz b/arithmetization/src/test/resources/replays/5012250-5012259.json.gz new file mode 100644 index 0000000000..8aa2ffb73e Binary files /dev/null and b/arithmetization/src/test/resources/replays/5012250-5012259.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5012260-5012269.json.gz b/arithmetization/src/test/resources/replays/5012260-5012269.json.gz new file mode 100644 index 0000000000..c6d790e224 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5012260-5012269.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5012270-5012275.json.gz b/arithmetization/src/test/resources/replays/5012270-5012275.json.gz new file mode 100644 index 0000000000..901e6b441f Binary files /dev/null and b/arithmetization/src/test/resources/replays/5012270-5012275.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5025817-5025819.json.gz b/arithmetization/src/test/resources/replays/5025817-5025819.json.gz new file mode 100644 index 0000000000..27ac8e8684 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5025817-5025819.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5025817-5025859.json.gz b/arithmetization/src/test/resources/replays/5025817-5025859.json.gz new file mode 100644 index 0000000000..7f69fd70b3 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5025817-5025859.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5025820-5025829.json.gz b/arithmetization/src/test/resources/replays/5025820-5025829.json.gz new file mode 100644 index 0000000000..0e012f7844 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5025820-5025829.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5025830-5025839.json.gz b/arithmetization/src/test/resources/replays/5025830-5025839.json.gz new file mode 100644 index 0000000000..d973faa14c Binary files /dev/null and b/arithmetization/src/test/resources/replays/5025830-5025839.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5025840-5025849.json.gz b/arithmetization/src/test/resources/replays/5025840-5025849.json.gz new file mode 100644 index 0000000000..5445e6231c Binary files /dev/null and b/arithmetization/src/test/resources/replays/5025840-5025849.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5025850-5025859.json.gz b/arithmetization/src/test/resources/replays/5025850-5025859.json.gz new file mode 100644 index 0000000000..0aace81e25 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5025850-5025859.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5037583-5037589.json.gz b/arithmetization/src/test/resources/replays/5037583-5037589.json.gz new file mode 100644 index 0000000000..54ab1a73ab Binary files /dev/null and b/arithmetization/src/test/resources/replays/5037583-5037589.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5037583-5037608.json.gz b/arithmetization/src/test/resources/replays/5037583-5037608.json.gz new file mode 100644 index 0000000000..21b9c0be17 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5037583-5037608.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5037590-5037599.json.gz b/arithmetization/src/test/resources/replays/5037590-5037599.json.gz new file mode 100644 index 0000000000..700279a4e7 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5037590-5037599.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5037600-5037608.json.gz b/arithmetization/src/test/resources/replays/5037600-5037608.json.gz new file mode 100644 index 0000000000..fe0bacdd8b Binary files /dev/null and b/arithmetization/src/test/resources/replays/5037600-5037608.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5042942-5042949.json.gz b/arithmetization/src/test/resources/replays/5042942-5042949.json.gz new file mode 100644 index 0000000000..97df754253 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5042942-5042949.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5042942-5042990.json.gz b/arithmetization/src/test/resources/replays/5042942-5042990.json.gz new file mode 100644 index 0000000000..21307c7121 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5042942-5042990.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5042950-5042959.json.gz b/arithmetization/src/test/resources/replays/5042950-5042959.json.gz new file mode 100644 index 0000000000..7ccf12bbb3 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5042950-5042959.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5042960-5042969.json.gz b/arithmetization/src/test/resources/replays/5042960-5042969.json.gz new file mode 100644 index 0000000000..cce02580f1 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5042960-5042969.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5042970-5042979.json.gz b/arithmetization/src/test/resources/replays/5042970-5042979.json.gz new file mode 100644 index 0000000000..25641a0987 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5042970-5042979.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5042980-5042989.json.gz b/arithmetization/src/test/resources/replays/5042980-5042989.json.gz new file mode 100644 index 0000000000..92a6f93f3c Binary files /dev/null and b/arithmetization/src/test/resources/replays/5042980-5042989.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5042990-5042990.json.gz b/arithmetization/src/test/resources/replays/5042990-5042990.json.gz new file mode 100644 index 0000000000..f861ccd2c8 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5042990-5042990.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5043442-5043449.json.gz b/arithmetization/src/test/resources/replays/5043442-5043449.json.gz new file mode 100644 index 0000000000..571ac4f5e9 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5043442-5043449.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5043442-5043497.json.gz b/arithmetization/src/test/resources/replays/5043442-5043497.json.gz new file mode 100644 index 0000000000..92458b6314 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5043442-5043497.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5043450-5043459.json.gz b/arithmetization/src/test/resources/replays/5043450-5043459.json.gz new file mode 100644 index 0000000000..28927ae633 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5043450-5043459.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5043460-5043469.json.gz b/arithmetization/src/test/resources/replays/5043460-5043469.json.gz new file mode 100644 index 0000000000..013a5739c0 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5043460-5043469.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5043470-5043479.json.gz b/arithmetization/src/test/resources/replays/5043470-5043479.json.gz new file mode 100644 index 0000000000..bdd5bb8293 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5043470-5043479.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5043480-5043489.json.gz b/arithmetization/src/test/resources/replays/5043480-5043489.json.gz new file mode 100644 index 0000000000..ab9b2485ba Binary files /dev/null and b/arithmetization/src/test/resources/replays/5043480-5043489.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5043490-5043497.json.gz b/arithmetization/src/test/resources/replays/5043490-5043497.json.gz new file mode 100644 index 0000000000..2814e73ccd Binary files /dev/null and b/arithmetization/src/test/resources/replays/5043490-5043497.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5043997-5043999.json.gz b/arithmetization/src/test/resources/replays/5043997-5043999.json.gz new file mode 100644 index 0000000000..4289c3c372 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5043997-5043999.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5043997-5044049.json.gz b/arithmetization/src/test/resources/replays/5043997-5044049.json.gz new file mode 100644 index 0000000000..4727a67124 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5043997-5044049.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5044000-5044009.json.gz b/arithmetization/src/test/resources/replays/5044000-5044009.json.gz new file mode 100644 index 0000000000..dbd94b52f5 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5044000-5044009.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5044010-5044019.json.gz b/arithmetization/src/test/resources/replays/5044010-5044019.json.gz new file mode 100644 index 0000000000..378c3a02f6 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5044010-5044019.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5044020-5044029.json.gz b/arithmetization/src/test/resources/replays/5044020-5044029.json.gz new file mode 100644 index 0000000000..4cf3d5d41e Binary files /dev/null and b/arithmetization/src/test/resources/replays/5044020-5044029.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5044030-5044039.json.gz b/arithmetization/src/test/resources/replays/5044030-5044039.json.gz new file mode 100644 index 0000000000..2433a10aa9 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5044030-5044039.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5044040-5044049.json.gz b/arithmetization/src/test/resources/replays/5044040-5044049.json.gz new file mode 100644 index 0000000000..d76f9fbdc7 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5044040-5044049.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5044557-5044559.json.gz b/arithmetization/src/test/resources/replays/5044557-5044559.json.gz new file mode 100644 index 0000000000..01755a4d84 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5044557-5044559.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5044557-5044619.json.gz b/arithmetization/src/test/resources/replays/5044557-5044619.json.gz new file mode 100644 index 0000000000..b6c2005fc1 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5044557-5044619.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5044560-5044569.json.gz b/arithmetization/src/test/resources/replays/5044560-5044569.json.gz new file mode 100644 index 0000000000..3217831ce1 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5044560-5044569.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5044570-5044579.json.gz b/arithmetization/src/test/resources/replays/5044570-5044579.json.gz new file mode 100644 index 0000000000..4de1bc1c54 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5044570-5044579.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5044580-5044589.json.gz b/arithmetization/src/test/resources/replays/5044580-5044589.json.gz new file mode 100644 index 0000000000..94f158221d Binary files /dev/null and b/arithmetization/src/test/resources/replays/5044580-5044589.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5044590-5044599.json.gz b/arithmetization/src/test/resources/replays/5044590-5044599.json.gz new file mode 100644 index 0000000000..9b1971edab Binary files /dev/null and b/arithmetization/src/test/resources/replays/5044590-5044599.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5044600-5044609.json.gz b/arithmetization/src/test/resources/replays/5044600-5044609.json.gz new file mode 100644 index 0000000000..e8296f3e43 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5044600-5044609.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5044610-5044619.json.gz b/arithmetization/src/test/resources/replays/5044610-5044619.json.gz new file mode 100644 index 0000000000..ac9f17de3c Binary files /dev/null and b/arithmetization/src/test/resources/replays/5044610-5044619.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5045161-5045169.json.gz b/arithmetization/src/test/resources/replays/5045161-5045169.json.gz new file mode 100644 index 0000000000..73f1534fcc Binary files /dev/null and b/arithmetization/src/test/resources/replays/5045161-5045169.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5045161-5045232.json.gz b/arithmetization/src/test/resources/replays/5045161-5045232.json.gz new file mode 100644 index 0000000000..efc75e719c Binary files /dev/null and b/arithmetization/src/test/resources/replays/5045161-5045232.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5045170-5045179.json.gz b/arithmetization/src/test/resources/replays/5045170-5045179.json.gz new file mode 100644 index 0000000000..bf86fffa4a Binary files /dev/null and b/arithmetization/src/test/resources/replays/5045170-5045179.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5045180-5045189.json.gz b/arithmetization/src/test/resources/replays/5045180-5045189.json.gz new file mode 100644 index 0000000000..c93c2a6bf8 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5045180-5045189.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5045190-5045199.json.gz b/arithmetization/src/test/resources/replays/5045190-5045199.json.gz new file mode 100644 index 0000000000..36602aa31e Binary files /dev/null and b/arithmetization/src/test/resources/replays/5045190-5045199.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5045200-5045209.json.gz b/arithmetization/src/test/resources/replays/5045200-5045209.json.gz new file mode 100644 index 0000000000..6fbf449e14 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5045200-5045209.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5045210-5045219.json.gz b/arithmetization/src/test/resources/replays/5045210-5045219.json.gz new file mode 100644 index 0000000000..0fd8d70c5e Binary files /dev/null and b/arithmetization/src/test/resources/replays/5045210-5045219.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5045220-5045229.json.gz b/arithmetization/src/test/resources/replays/5045220-5045229.json.gz new file mode 100644 index 0000000000..7aedf56676 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5045220-5045229.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5045230-5045232.json.gz b/arithmetization/src/test/resources/replays/5045230-5045232.json.gz new file mode 100644 index 0000000000..b62b4c4ab9 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5045230-5045232.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5046373-5046379.json.gz b/arithmetization/src/test/resources/replays/5046373-5046379.json.gz new file mode 100644 index 0000000000..0f71a9cb2e Binary files /dev/null and b/arithmetization/src/test/resources/replays/5046373-5046379.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5046373-5046435.json.gz b/arithmetization/src/test/resources/replays/5046373-5046435.json.gz new file mode 100644 index 0000000000..36f51719a8 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5046373-5046435.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5046380-5046389.json.gz b/arithmetization/src/test/resources/replays/5046380-5046389.json.gz new file mode 100644 index 0000000000..88c56fcbc3 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5046380-5046389.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5046390-5046399.json.gz b/arithmetization/src/test/resources/replays/5046390-5046399.json.gz new file mode 100644 index 0000000000..c68de49c25 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5046390-5046399.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5046400-5046409.json.gz b/arithmetization/src/test/resources/replays/5046400-5046409.json.gz new file mode 100644 index 0000000000..506bf6aa53 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5046400-5046409.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5046410-5046419.json.gz b/arithmetization/src/test/resources/replays/5046410-5046419.json.gz new file mode 100644 index 0000000000..437aa94636 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5046410-5046419.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5046420-5046429.json.gz b/arithmetization/src/test/resources/replays/5046420-5046429.json.gz new file mode 100644 index 0000000000..4f802e9e57 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5046420-5046429.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5046430-5046435.json.gz b/arithmetization/src/test/resources/replays/5046430-5046435.json.gz new file mode 100644 index 0000000000..38a3612100 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5046430-5046435.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5046997-5046999.json.gz b/arithmetization/src/test/resources/replays/5046997-5046999.json.gz new file mode 100644 index 0000000000..d738cd3a9e Binary files /dev/null and b/arithmetization/src/test/resources/replays/5046997-5046999.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5046997-5047058.json.gz b/arithmetization/src/test/resources/replays/5046997-5047058.json.gz new file mode 100644 index 0000000000..7621bcaa96 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5046997-5047058.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5047000-5047009.json.gz b/arithmetization/src/test/resources/replays/5047000-5047009.json.gz new file mode 100644 index 0000000000..b8c1a7f738 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5047000-5047009.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5047010-5047019.json.gz b/arithmetization/src/test/resources/replays/5047010-5047019.json.gz new file mode 100644 index 0000000000..8b0fa58314 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5047010-5047019.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5047020-5047029.json.gz b/arithmetization/src/test/resources/replays/5047020-5047029.json.gz new file mode 100644 index 0000000000..4ddd53c50d Binary files /dev/null and b/arithmetization/src/test/resources/replays/5047020-5047029.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5047030-5047039.json.gz b/arithmetization/src/test/resources/replays/5047030-5047039.json.gz new file mode 100644 index 0000000000..30ff6f03bf Binary files /dev/null and b/arithmetization/src/test/resources/replays/5047030-5047039.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5047040-5047049.json.gz b/arithmetization/src/test/resources/replays/5047040-5047049.json.gz new file mode 100644 index 0000000000..e0a79548af Binary files /dev/null and b/arithmetization/src/test/resources/replays/5047040-5047049.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5047050-5047058.json.gz b/arithmetization/src/test/resources/replays/5047050-5047058.json.gz new file mode 100644 index 0000000000..f2883d0617 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5047050-5047058.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5050036-5050039.json.gz b/arithmetization/src/test/resources/replays/5050036-5050039.json.gz new file mode 100644 index 0000000000..5f5a691b18 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5050036-5050039.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5050036-5050130.json.gz b/arithmetization/src/test/resources/replays/5050036-5050130.json.gz new file mode 100644 index 0000000000..0d25b9fa35 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5050036-5050130.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5050040-5050049.json.gz b/arithmetization/src/test/resources/replays/5050040-5050049.json.gz new file mode 100644 index 0000000000..2248220ca6 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5050040-5050049.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5050050-5050059.json.gz b/arithmetization/src/test/resources/replays/5050050-5050059.json.gz new file mode 100644 index 0000000000..3019dc0b1b Binary files /dev/null and b/arithmetization/src/test/resources/replays/5050050-5050059.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5050060-5050069.json.gz b/arithmetization/src/test/resources/replays/5050060-5050069.json.gz new file mode 100644 index 0000000000..231159e6a7 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5050060-5050069.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5050070-5050079.json.gz b/arithmetization/src/test/resources/replays/5050070-5050079.json.gz new file mode 100644 index 0000000000..6223ee901a Binary files /dev/null and b/arithmetization/src/test/resources/replays/5050070-5050079.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5050080-5050089.json.gz b/arithmetization/src/test/resources/replays/5050080-5050089.json.gz new file mode 100644 index 0000000000..a5c6217e6f Binary files /dev/null and b/arithmetization/src/test/resources/replays/5050080-5050089.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5050090-5050099.json.gz b/arithmetization/src/test/resources/replays/5050090-5050099.json.gz new file mode 100644 index 0000000000..ded73526c2 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5050090-5050099.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5050100-5050109.json.gz b/arithmetization/src/test/resources/replays/5050100-5050109.json.gz new file mode 100644 index 0000000000..da9eaa1831 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5050100-5050109.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5050110-5050119.json.gz b/arithmetization/src/test/resources/replays/5050110-5050119.json.gz new file mode 100644 index 0000000000..2cef420b88 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5050110-5050119.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5050120-5050129.json.gz b/arithmetization/src/test/resources/replays/5050120-5050129.json.gz new file mode 100644 index 0000000000..92bf82d3a0 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5050120-5050129.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5050130-5050130.json.gz b/arithmetization/src/test/resources/replays/5050130-5050130.json.gz new file mode 100644 index 0000000000..2dad27f3c6 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5050130-5050130.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5057558-5057559.json.gz b/arithmetization/src/test/resources/replays/5057558-5057559.json.gz new file mode 100644 index 0000000000..978982ef4b Binary files /dev/null and b/arithmetization/src/test/resources/replays/5057558-5057559.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5057558-5057616.json.gz b/arithmetization/src/test/resources/replays/5057558-5057616.json.gz new file mode 100644 index 0000000000..514a43c86e Binary files /dev/null and b/arithmetization/src/test/resources/replays/5057558-5057616.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5057560-5057569.json.gz b/arithmetization/src/test/resources/replays/5057560-5057569.json.gz new file mode 100644 index 0000000000..d7bfb5b837 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5057560-5057569.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5057570-5057579.json.gz b/arithmetization/src/test/resources/replays/5057570-5057579.json.gz new file mode 100644 index 0000000000..5e1afe2623 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5057570-5057579.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5057580-5057589.json.gz b/arithmetization/src/test/resources/replays/5057580-5057589.json.gz new file mode 100644 index 0000000000..7f7ebccf8a Binary files /dev/null and b/arithmetization/src/test/resources/replays/5057580-5057589.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5057590-5057599.json.gz b/arithmetization/src/test/resources/replays/5057590-5057599.json.gz new file mode 100644 index 0000000000..0db2b0b624 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5057590-5057599.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5057600-5057609.json.gz b/arithmetization/src/test/resources/replays/5057600-5057609.json.gz new file mode 100644 index 0000000000..0ac17ac016 Binary files /dev/null and b/arithmetization/src/test/resources/replays/5057600-5057609.json.gz differ diff --git a/arithmetization/src/test/resources/replays/5057610-5057616.json.gz b/arithmetization/src/test/resources/replays/5057610-5057616.json.gz new file mode 100644 index 0000000000..badf33eb7b Binary files /dev/null and b/arithmetization/src/test/resources/replays/5057610-5057616.json.gz differ diff --git a/notes/ranges/split.py b/notes/ranges/split.py new file mode 100644 index 0000000000..3d9b38ef4d --- /dev/null +++ b/notes/ranges/split.py @@ -0,0 +1,59 @@ +# ChatGPT generated : ) + +import csv +import argparse + +def process_range(int1, int2): + ranges = [] + start = int1 + while start <= int2: + end = min((start // 10 + 1) * 10 - 1, int2) + ranges.append(f"{start}-{end}") + start = end + 1 + ranges.append('###############') + return ranges + +def read_csv(input_file): + data = [] + with open(input_file, mode='r', newline='') as file: + reader = csv.reader(file) + for row in reader: + data.append(row) + return data + +def write_csv(output_file, data): + with open(output_file, mode='w', newline='') as file: + writer = csv.writer(file) + for row in data: + writer.writerow(row) + +def main(input_file, output_file): + data = read_csv(input_file) + + processed_data = [] + for row in data: + if not row: # Empty row + processed_data.append(row) + elif row[0].startswith('#'): # Comment row + processed_data.append(row) + else: + try: + int1, int2 = map(int, row[0].split('-')) + if int1 < int2: + sliced_ranges = process_range(int1, int2) + for r in sliced_ranges: + processed_data.append([r]) + else: + print(f"Skipping invalid range: {row}") + except ValueError: + print(f"Skipping invalid row: {row}") + + write_csv(output_file, processed_data) + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description='Process a CSV file of ranges.') + parser.add_argument('input_file', help='The input CSV file containing ranges.') + parser.add_argument('output_file', help='The output CSV file to write the processed ranges.') + + args = parser.parse_args() + main(args.input_file, args.output_file)