package com.google.zxing.oned.rss.expanded; import com.google.zxing.BarcodeFormat; import com.google.zxing.DecodeHintType; import com.google.zxing.FormatException; import com.google.zxing.NotFoundException; import com.google.zxing.Result; import com.google.zxing.ResultPoint; import com.google.zxing.common.BitArray; import com.google.zxing.common.detector.MathUtils; import com.google.zxing.oned.OneDReader; import com.google.zxing.oned.rss.AbstractRSSReader; import com.google.zxing.oned.rss.DataCharacter; import com.google.zxing.oned.rss.FinderPattern; import com.google.zxing.oned.rss.RSSUtils; import com.google.zxing.oned.rss.expanded.decoders.AbstractExpandedDecoder; import com.twitter.sdk.android.core.TwitterAuthConfig; import com.ubt.jimu.base.entities.Constant; import com.ubtrobot.jimu.robotapi.PeripheralType; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Map; /* loaded from: classes.dex */ public final class RSSExpandedReader extends AbstractRSSReader { private static final int[] k = {7, 5, 4, 3, 1}; private static final int[] l = {4, 20, 52, 104, 204}; private static final int[] m = {0, 348, 1388, 2948, 3988}; private static final int[][] n = {new int[]{1, 8, 4, 1}, new int[]{3, 6, 4, 1}, new int[]{3, 4, 6, 1}, new int[]{3, 2, 8, 1}, new int[]{2, 6, 5, 1}, new int[]{2, 2, 9, 1}}; private static final int[][] o = {new int[]{1, 3, 9, 27, 81, 32, 96, 77}, new int[]{20, 60, 180, 118, 143, 7, 21, 63}, new int[]{189, 145, 13, 39, 117, TwitterAuthConfig.DEFAULT_AUTH_REQUEST_CODE, 209, 205}, new int[]{193, 157, 49, 147, 19, 57, 171, 91}, new int[]{62, 186, 136, 197, 169, 85, 44, 132}, new int[]{185, 133, 188, 142, 4, 12, 36, 108}, new int[]{113, PeripheralType.SERVO, 173, 97, 80, 29, 87, 50}, new int[]{150, 28, 84, 41, 123, 158, 52, 156}, new int[]{46, 138, 203, 187, 139, 206, 196, 166}, new int[]{76, 17, 51, 153, 37, 111, 122, 155}, new int[]{43, 129, 176, 106, 107, 110, 119, 146}, new int[]{16, 48, 144, 10, 30, 90, 59, 177}, new int[]{109, 116, 137, 200, 178, 112, 125, 164}, new int[]{70, 210, 208, Constant.Publish.REQUEST_CODE_PICK_FILE, 184, 130, 179, 115}, new int[]{134, 191, 151, 31, 93, 68, 204, 190}, new int[]{148, 22, 66, 198, 172, 94, 71, 2}, new int[]{6, 18, 54, 162, 64, 192, 154, 40}, new int[]{120, 149, 25, 75, 14, 42, 126, 167}, new int[]{79, 26, 78, 23, 69, 207, 199, 175}, new int[]{103, 98, 83, 38, 114, 131, 182, 124}, new int[]{161, 61, 183, 127, 170, 88, 53, 159}, new int[]{55, 165, 73, 8, 24, 72, 5, 15}, new int[]{45, 135, 194, 160, 58, 174, 100, 89}}; private static final int[][] p = {new int[]{0, 0}, new int[]{0, 1, 1}, new int[]{0, 2, 1, 3}, new int[]{0, 4, 1, 3, 2}, new int[]{0, 4, 1, 3, 3, 5}, new int[]{0, 4, 1, 3, 4, 5, 5}, new int[]{0, 0, 1, 1, 2, 2, 3, 3}, new int[]{0, 0, 1, 1, 2, 2, 3, 4, 4}, new int[]{0, 0, 1, 1, 2, 2, 3, 4, 5, 5}, new int[]{0, 0, 1, 1, 2, 3, 3, 4, 4, 5, 5}}; private final List g = new ArrayList(11); private final List h = new ArrayList(); private final int[] i = new int[2]; private boolean j; private static boolean b(List list) { boolean z; for (int[] iArr : p) { if (list.size() <= iArr.length) { int i = 0; while (true) { if (i >= list.size()) { z = true; break; } if (list.get(i).a().c() != iArr[i]) { z = false; break; } i++; } if (z) { return true; } } } return false; } private boolean g() { ExpandedPair expandedPair = this.g.get(0); DataCharacter b = expandedPair.b(); DataCharacter c = expandedPair.c(); if (c == null) { return false; } int a = c.a(); int i = 2; for (int i2 = 1; i2 < this.g.size(); i2++) { ExpandedPair expandedPair2 = this.g.get(i2); a += expandedPair2.b().a(); i++; DataCharacter c2 = expandedPair2.c(); if (c2 != null) { a += c2.a(); i++; } } return ((i + (-4)) * 211) + (a % 211) == b.b(); } @Override // com.google.zxing.oned.OneDReader public Result a(int i, BitArray bitArray, Map map) throws NotFoundException, FormatException { this.g.clear(); this.j = false; try { return a(a(i, bitArray)); } catch (NotFoundException unused) { this.g.clear(); this.j = true; return a(a(i, bitArray)); } } @Override // com.google.zxing.oned.OneDReader, com.google.zxing.Reader public void reset() { this.g.clear(); this.h.clear(); } private void b(BitArray bitArray, List list, int i) throws NotFoundException { int[] b = b(); b[0] = 0; b[1] = 0; b[2] = 0; b[3] = 0; int h = bitArray.h(); if (i < 0) { i = list.isEmpty() ? 0 : list.get(list.size() - 1).a().b()[1]; } boolean z = list.size() % 2 != 0; if (this.j) { z = !z; } boolean z2 = false; while (i < h) { z2 = !bitArray.a(i); if (!z2) { break; } else { i++; } } int i2 = i; int i3 = 0; while (i < h) { if (bitArray.a(i) != z2) { b[i3] = b[i3] + 1; } else { if (i3 == 3) { if (z) { b(b); } if (AbstractRSSReader.a(b)) { int[] iArr = this.i; iArr[0] = i2; iArr[1] = i; return; } if (z) { b(b); } i2 += b[0] + b[1]; b[0] = b[2]; b[1] = b[3]; b[2] = 0; b[3] = 0; i3--; } else { i3++; } b[i3] = 1; z2 = !z2; } i++; } throw NotFoundException.getNotFoundInstance(); } List a(int i, BitArray bitArray) throws NotFoundException { boolean z = false; while (!z) { try { this.g.add(a(bitArray, this.g, i)); } catch (NotFoundException e) { if (this.g.isEmpty()) { throw e; } z = true; } } if (g()) { return this.g; } boolean z2 = !this.h.isEmpty(); a(i, false); if (z2) { List a = a(false); if (a != null) { return a; } List a2 = a(true); if (a2 != null) { return a2; } } throw NotFoundException.getNotFoundInstance(); } private List a(boolean z) { List list = null; if (this.h.size() > 25) { this.h.clear(); return null; } this.g.clear(); if (z) { Collections.reverse(this.h); } try { list = a(new ArrayList(), 0); } catch (NotFoundException unused) { } if (z) { Collections.reverse(this.h); } return list; } private List a(List list, int i) throws NotFoundException { while (i < this.h.size()) { ExpandedRow expandedRow = this.h.get(i); this.g.clear(); Iterator it = list.iterator(); while (it.hasNext()) { this.g.addAll(it.next().a()); } this.g.addAll(expandedRow.a()); if (b(this.g)) { if (g()) { return this.g; } ArrayList arrayList = new ArrayList(list); arrayList.add(expandedRow); try { return a(arrayList, i + 1); } catch (NotFoundException unused) { continue; } } i++; } throw NotFoundException.getNotFoundInstance(); } private static void b(int[] iArr) { int length = iArr.length; for (int i = 0; i < length / 2; i++) { int i2 = iArr[i]; int i3 = (length - i) - 1; iArr[i] = iArr[i3]; iArr[i3] = i2; } } private void a(int i, boolean z) { boolean z2 = false; int i2 = 0; boolean z3 = false; while (true) { if (i2 >= this.h.size()) { break; } ExpandedRow expandedRow = this.h.get(i2); if (expandedRow.b() > i) { z2 = expandedRow.a(this.g); break; } else { z3 = expandedRow.a(this.g); i2++; } } if (z2 || z3 || a((Iterable) this.g, (Iterable) this.h)) { return; } this.h.add(i2, new ExpandedRow(this.g, i, z)); a(this.g, this.h); } private static void a(List list, List list2) { boolean z; Iterator it = list2.iterator(); while (it.hasNext()) { ExpandedRow next = it.next(); if (next.a().size() != list.size()) { Iterator it2 = next.a().iterator(); while (true) { z = false; boolean z2 = true; if (!it2.hasNext()) { z = true; break; } ExpandedPair next2 = it2.next(); Iterator it3 = list.iterator(); while (true) { if (!it3.hasNext()) { z2 = false; break; } else if (next2.equals(it3.next())) { break; } } if (!z2) { break; } } if (z) { it.remove(); } } } } private static boolean a(Iterable iterable, Iterable iterable2) { boolean z; boolean z2; Iterator it = iterable2.iterator(); do { z = false; if (!it.hasNext()) { return false; } ExpandedRow next = it.next(); Iterator it2 = iterable.iterator(); while (true) { if (!it2.hasNext()) { z = true; break; } ExpandedPair next2 = it2.next(); Iterator it3 = next.a().iterator(); while (true) { if (!it3.hasNext()) { z2 = false; break; } if (next2.equals(it3.next())) { z2 = true; break; } } if (!z2) { break; } } } while (!z); return true; } static Result a(List list) throws NotFoundException, FormatException { String c = AbstractExpandedDecoder.a(BitArrayBuilder.a(list)).c(); ResultPoint[] a = list.get(0).a().a(); ResultPoint[] a2 = list.get(list.size() - 1).a().a(); return new Result(c, null, new ResultPoint[]{a[0], a[1], a2[0], a2[1]}, BarcodeFormat.RSS_EXPANDED); } private static int a(BitArray bitArray, int i) { if (bitArray.a(i)) { return bitArray.b(bitArray.c(i)); } return bitArray.c(bitArray.b(i)); } ExpandedPair a(BitArray bitArray, List list, int i) throws NotFoundException { FinderPattern a; DataCharacter dataCharacter; boolean z = list.size() % 2 == 0; if (this.j) { z = !z; } int i2 = -1; boolean z2 = true; do { b(bitArray, list, i2); a = a(bitArray, i, z); if (a == null) { i2 = a(bitArray, this.i[0]); } else { z2 = false; } } while (z2); DataCharacter a2 = a(bitArray, a, z, true); if (!list.isEmpty() && list.get(list.size() - 1).d()) { throw NotFoundException.getNotFoundInstance(); } try { dataCharacter = a(bitArray, a, z, false); } catch (NotFoundException unused) { dataCharacter = null; } return new ExpandedPair(a2, dataCharacter, a, true); } private FinderPattern a(BitArray bitArray, int i, boolean z) { int i2; int i3; int i4; if (z) { int i5 = this.i[0] - 1; while (i5 >= 0 && !bitArray.a(i5)) { i5--; } int i6 = i5 + 1; int[] iArr = this.i; int i7 = iArr[0] - i6; i3 = iArr[1]; i4 = i6; i2 = i7; } else { int[] iArr2 = this.i; int i8 = iArr2[0]; int c = bitArray.c(iArr2[1] + 1); i2 = c - this.i[1]; i3 = c; i4 = i8; } int[] b = b(); System.arraycopy(b, 0, b, 1, b.length - 1); b[0] = i2; try { return new FinderPattern(AbstractRSSReader.a(b, n), new int[]{i4, i3}, i4, i3, i); } catch (NotFoundException unused) { return null; } } DataCharacter a(BitArray bitArray, FinderPattern finderPattern, boolean z, boolean z2) throws NotFoundException { int[] a = a(); for (int i = 0; i < a.length; i++) { a[i] = 0; } if (z2) { OneDReader.b(bitArray, finderPattern.b()[0], a); } else { OneDReader.a(bitArray, finderPattern.b()[1], a); int i2 = 0; for (int length = a.length - 1; i2 < length; length--) { int i3 = a[i2]; a[i2] = a[length]; a[length] = i3; i2++; } } float a2 = MathUtils.a(a) / 17.0f; float f = (finderPattern.b()[1] - finderPattern.b()[0]) / 15.0f; if (Math.abs(a2 - f) / f <= 0.3f) { int[] e = e(); int[] c = c(); float[] f2 = f(); float[] d = d(); for (int i4 = 0; i4 < a.length; i4++) { float f3 = (a[i4] * 1.0f) / a2; int i5 = (int) (0.5f + f3); int i6 = 8; if (i5 <= 0) { if (f3 < 0.3f) { throw NotFoundException.getNotFoundInstance(); } i6 = 1; } else if (i5 <= 8) { i6 = i5; } else if (f3 > 8.7f) { throw NotFoundException.getNotFoundInstance(); } int i7 = i4 / 2; if ((i4 & 1) == 0) { e[i7] = i6; f2[i7] = f3 - i6; } else { c[i7] = i6; d[i7] = f3 - i6; } } a(17); int c2 = (((finderPattern.c() * 4) + (z ? 0 : 2)) + (!z2 ? 1 : 0)) - 1; int i8 = 0; int i9 = 0; for (int length2 = e.length - 1; length2 >= 0; length2--) { if (a(finderPattern, z, z2)) { i8 += e[length2] * o[c2][length2 * 2]; } i9 += e[length2]; } int i10 = 0; for (int length3 = c.length - 1; length3 >= 0; length3--) { if (a(finderPattern, z, z2)) { i10 += c[length3] * o[c2][(length3 * 2) + 1]; } } int i11 = i8 + i10; if ((i9 & 1) == 0 && i9 <= 13 && i9 >= 4) { int i12 = (13 - i9) / 2; int i13 = k[i12]; return new DataCharacter((RSSUtils.a(e, i13, true) * l[i12]) + RSSUtils.a(c, 9 - i13, false) + m[i12], i11); } throw NotFoundException.getNotFoundInstance(); } throw NotFoundException.getNotFoundInstance(); } private static boolean a(FinderPattern finderPattern, boolean z, boolean z2) { return (finderPattern.c() == 0 && z && z2) ? false : true; } /* JADX WARN: Removed duplicated region for block: B:12:0x0038 */ /* JADX WARN: Removed duplicated region for block: B:14:0x003b */ /* JADX WARN: Removed duplicated region for block: B:18:0x007b */ /* JADX WARN: Removed duplicated region for block: B:24:0x0090 */ /* JADX WARN: Removed duplicated region for block: B:26:0x009d */ /* JADX WARN: Removed duplicated region for block: B:31:0x00b2 */ /* JADX WARN: Removed duplicated region for block: B:33:? A[RETURN, SYNTHETIC] */ /* JADX WARN: Removed duplicated region for block: B:40:0x004f */ /* JADX WARN: Removed duplicated region for block: B:64:0x0033 */ /* JADX WARN: Removed duplicated region for block: B:65:0x0024 */ /* JADX WARN: Removed duplicated region for block: B:6:0x0021 */ /* JADX WARN: Removed duplicated region for block: B:9:0x0031 */ /* Code decompiled incorrectly, please refer to instructions dump. To view partially-correct code enable 'Show inconsistent code' option in preferences */ private void a(int r11) throws com.google.zxing.NotFoundException { /* r10 = this; int[] r0 = r10.e() int r0 = com.google.zxing.common.detector.MathUtils.a(r0) int[] r1 = r10.c() int r1 = com.google.zxing.common.detector.MathUtils.a(r1) r2 = 4 r3 = 13 r4 = 0 r5 = 1 if (r0 <= r3) goto L19 r6 = 1 goto L1e L19: r6 = 0 if (r0 >= r2) goto L1e r7 = 1 goto L1f L1e: r7 = 0 L1f: if (r1 <= r3) goto L24 r2 = 0 r3 = 1 goto L2a L24: if (r1 >= r2) goto L28 r2 = 1 goto L29 L28: r2 = 0 L29: r3 = 0 L2a: int r8 = r0 + r1 int r8 = r8 - r11 r11 = r0 & 1 if (r11 != r5) goto L33 r11 = 1 goto L34 L33: r11 = 0 L34: r9 = r1 & 1 if (r9 != 0) goto L39 r4 = 1 L39: if (r8 != r5) goto L4f if (r11 == 0) goto L46 if (r4 != 0) goto L41 L3f: r6 = 1 goto L79 L41: com.google.zxing.NotFoundException r11 = com.google.zxing.NotFoundException.getNotFoundInstance() throw r11 L46: if (r4 == 0) goto L4a r3 = 1 goto L79 L4a: com.google.zxing.NotFoundException r11 = com.google.zxing.NotFoundException.getNotFoundInstance() throw r11 L4f: r9 = -1 if (r8 != r9) goto L66 if (r11 == 0) goto L5d if (r4 != 0) goto L58 L56: r7 = 1 goto L79 L58: com.google.zxing.NotFoundException r11 = com.google.zxing.NotFoundException.getNotFoundInstance() throw r11 L5d: if (r4 == 0) goto L61 r2 = 1 goto L79 L61: com.google.zxing.NotFoundException r11 = com.google.zxing.NotFoundException.getNotFoundInstance() throw r11 L66: if (r8 != 0) goto Lc3 if (r11 == 0) goto L77 if (r4 == 0) goto L72 if (r0 >= r1) goto L70 r3 = 1 goto L56 L70: r2 = 1 goto L3f L72: com.google.zxing.NotFoundException r11 = com.google.zxing.NotFoundException.getNotFoundInstance() throw r11 L77: if (r4 != 0) goto Lbe L79: if (r7 == 0) goto L8e if (r6 != 0) goto L89 int[] r11 = r10.e() float[] r0 = r10.f() com.google.zxing.oned.rss.AbstractRSSReader.b(r11, r0) goto L8e L89: com.google.zxing.NotFoundException r11 = com.google.zxing.NotFoundException.getNotFoundInstance() throw r11 L8e: if (r6 == 0) goto L9b int[] r11 = r10.e() float[] r0 = r10.f() com.google.zxing.oned.rss.AbstractRSSReader.a(r11, r0) L9b: if (r2 == 0) goto Lb0 if (r3 != 0) goto Lab int[] r11 = r10.c() float[] r0 = r10.f() com.google.zxing.oned.rss.AbstractRSSReader.b(r11, r0) goto Lb0 Lab: com.google.zxing.NotFoundException r11 = com.google.zxing.NotFoundException.getNotFoundInstance() throw r11 Lb0: if (r3 == 0) goto Lbd int[] r11 = r10.c() float[] r0 = r10.d() com.google.zxing.oned.rss.AbstractRSSReader.a(r11, r0) Lbd: return Lbe: com.google.zxing.NotFoundException r11 = com.google.zxing.NotFoundException.getNotFoundInstance() throw r11 Lc3: com.google.zxing.NotFoundException r11 = com.google.zxing.NotFoundException.getNotFoundInstance() throw r11 */ throw new UnsupportedOperationException("Method not decompiled: com.google.zxing.oned.rss.expanded.RSSExpandedReader.a(int):void"); } }