discord-jadx/app/src/main/java/c/i/e/n/l/c.java

167 lines
6.6 KiB
Java

package c.i.e.n.l;
import com.google.zxing.common.reedsolomon.ReedSolomonException;
import java.util.Objects;
/* compiled from: ReedSolomonDecoder */
public final class c {
public final a a;
public c(a aVar) {
this.a = aVar;
}
public void a(int[] iArr, int i) throws ReedSolomonException {
int[] iArr2;
b bVar;
b bVar2;
int i2 = i;
b bVar3 = new b(this.a, iArr);
int[] iArr3 = new int[i2];
boolean z2 = true;
for (int i3 = 0; i3 < i2; i3++) {
a aVar = this.a;
int b = bVar3.b(aVar.i[aVar.o + i3]);
iArr3[(i2 - 1) - i3] = b;
if (b != 0) {
z2 = false;
}
}
if (!z2) {
b bVar4 = new b(this.a, iArr3);
b a = this.a.a(i2, 1);
if (a.d() >= bVar4.d()) {
a = bVar4;
bVar4 = a;
}
a aVar2 = this.a;
b bVar5 = aVar2.k;
b bVar6 = bVar4;
b bVar7 = a;
b bVar8 = aVar2.l;
b bVar9 = bVar5;
while (bVar7.d() >= i2 / 2) {
if (!bVar7.e()) {
b bVar10 = this.a.k;
int b2 = this.a.b(bVar7.c(bVar7.d()));
while (bVar6.d() >= bVar7.d() && !bVar6.e()) {
int d = bVar6.d() - bVar7.d();
int c2 = this.a.c(bVar6.c(bVar6.d()), b2);
bVar10 = bVar10.a(this.a.a(d, c2));
if (d >= 0) {
if (c2 == 0) {
bVar2 = bVar7.a.k;
} else {
int length = bVar7.b.length;
int[] iArr4 = new int[(d + length)];
for (int i4 = 0; i4 < length; i4++) {
iArr4[i4] = bVar7.a.c(bVar7.b[i4], c2);
}
bVar2 = new b(bVar7.a, iArr4);
}
bVar6 = bVar6.a(bVar2);
} else {
throw new IllegalArgumentException();
}
}
if (bVar10.a.equals(bVar8.a)) {
if (bVar10.e() || bVar8.e()) {
bVar = bVar10.a.k;
} else {
int[] iArr5 = bVar10.b;
int length2 = iArr5.length;
int[] iArr6 = bVar8.b;
int length3 = iArr6.length;
int[] iArr7 = new int[((length2 + length3) - 1)];
for (int i5 = 0; i5 < length2; i5++) {
int i6 = iArr5[i5];
int i7 = 0;
while (i7 < length3) {
int i8 = i5 + i7;
iArr7[i8] = iArr7[i8] ^ bVar10.a.c(i6, iArr6[i7]);
i7++;
iArr5 = iArr5;
}
}
bVar = new b(bVar10.a, iArr7);
}
b a2 = bVar.a(bVar9);
if (bVar6.d() < bVar7.d()) {
bVar9 = bVar8;
bVar8 = a2;
i2 = i;
bVar6 = bVar7;
bVar7 = bVar6;
} else {
throw new IllegalStateException("Division algorithm failed to reduce polynomial?");
}
} else {
throw new IllegalArgumentException("GenericGFPolys do not have same GenericGF field");
}
} else {
throw new ReedSolomonException("r_{i-1} was zero");
}
}
int c3 = bVar8.c(0);
if (c3 != 0) {
int b3 = this.a.b(c3);
b[] bVarArr = {bVar8.f(b3), bVar7.f(b3)};
b bVar11 = bVarArr[0];
b bVar12 = bVarArr[1];
int d2 = bVar11.d();
if (d2 == 1) {
iArr2 = new int[]{bVar11.c(1)};
} else {
int[] iArr8 = new int[d2];
int i9 = 0;
for (int i10 = 1; i10 < this.a.m && i9 < d2; i10++) {
if (bVar11.b(i10) == 0) {
iArr8[i9] = this.a.b(i10);
i9++;
}
}
if (i9 == d2) {
iArr2 = iArr8;
} else {
throw new ReedSolomonException("Error locator degree does not match number of roots");
}
}
int length4 = iArr2.length;
int[] iArr9 = new int[length4];
for (int i11 = 0; i11 < length4; i11++) {
int b4 = this.a.b(iArr2[i11]);
int i12 = 1;
for (int i13 = 0; i13 < length4; i13++) {
if (i11 != i13) {
int c4 = this.a.c(iArr2[i13], b4);
i12 = this.a.c(i12, (c4 & 1) == 0 ? c4 | 1 : c4 & -2);
}
}
iArr9[i11] = this.a.c(bVar12.b(b4), this.a.b(i12));
a aVar3 = this.a;
if (aVar3.o != 0) {
iArr9[i11] = aVar3.c(iArr9[i11], b4);
}
}
for (int i14 = 0; i14 < iArr2.length; i14++) {
int length5 = iArr.length - 1;
a aVar4 = this.a;
int i15 = iArr2[i14];
Objects.requireNonNull(aVar4);
if (i15 != 0) {
int i16 = length5 - aVar4.j[i15];
if (i16 >= 0) {
iArr[i16] = iArr[i16] ^ iArr9[i14];
} else {
throw new ReedSolomonException("Bad error location");
}
} else {
throw new IllegalArgumentException();
}
}
return;
}
throw new ReedSolomonException("sigmaTilde(0) was zero");
}
}
}