NetMirror.apk
Download file
package androidx.profileinstaller;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.BitSet;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
/* JADX INFO: loaded from: classes.dex */
abstract class n {
/* JADX INFO: renamed from: a, reason: collision with root package name */
static final byte[] f5423a = {112, 114, 111, 0};
/* JADX INFO: renamed from: b, reason: collision with root package name */
static final byte[] f5424b = {112, 114, 109, 0};
private static void A(InputStream inputStream) {
e.h(inputStream);
int iJ = e.j(inputStream);
if (iJ == 6 || iJ == 7) {
return;
}
while (iJ > 0) {
e.j(inputStream);
for (int iJ2 = e.j(inputStream); iJ2 > 0; iJ2--) {
e.h(inputStream);
}
iJ--;
}
}
static boolean B(OutputStream outputStream, byte[] bArr, d[] dVarArr) throws IOException {
if (Arrays.equals(bArr, p.f5435a)) {
N(outputStream, dVarArr);
return true;
}
if (Arrays.equals(bArr, p.f5436b)) {
M(outputStream, dVarArr);
return true;
}
if (Arrays.equals(bArr, p.f5438d)) {
K(outputStream, dVarArr);
return true;
}
if (Arrays.equals(bArr, p.f5437c)) {
L(outputStream, dVarArr);
return true;
}
if (!Arrays.equals(bArr, p.f5439e)) {
return false;
}
J(outputStream, dVarArr);
return true;
}
private static void C(OutputStream outputStream, d dVar) throws IOException {
int[] iArr = dVar.f5404h;
int length = iArr.length;
int i3 = 0;
int i4 = 0;
while (i3 < length) {
int i5 = iArr[i3];
e.p(outputStream, i5 - i4);
i3++;
i4 = i5;
}
}
private static q D(d[] dVarArr) throws IOException {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
try {
e.p(byteArrayOutputStream, dVarArr.length);
int i3 = 2;
for (d dVar : dVarArr) {
e.q(byteArrayOutputStream, dVar.f5399c);
e.q(byteArrayOutputStream, dVar.f5400d);
e.q(byteArrayOutputStream, dVar.f5403g);
String strJ = j(dVar.f5397a, dVar.f5398b, p.f5435a);
int iK = e.k(strJ);
e.p(byteArrayOutputStream, iK);
i3 = i3 + 14 + iK;
e.n(byteArrayOutputStream, strJ);
}
byte[] byteArray = byteArrayOutputStream.toByteArray();
if (i3 == byteArray.length) {
q qVar = new q(f.DEX_FILES, i3, byteArray, false);
byteArrayOutputStream.close();
return qVar;
}
throw e.c("Expected size " + i3 + ", does not match actual size " + byteArray.length);
} catch (Throwable th) {
try {
byteArrayOutputStream.close();
} catch (Throwable th2) {
th.addSuppressed(th2);
}
throw th;
}
}
static void E(OutputStream outputStream, byte[] bArr) throws IOException {
outputStream.write(f5423a);
outputStream.write(bArr);
}
private static void F(OutputStream outputStream, d dVar) throws IOException {
I(outputStream, dVar);
C(outputStream, dVar);
H(outputStream, dVar);
}
private static void G(OutputStream outputStream, d dVar, String str) throws IOException {
e.p(outputStream, e.k(str));
e.p(outputStream, dVar.f5401e);
e.q(outputStream, dVar.f5402f);
e.q(outputStream, dVar.f5399c);
e.q(outputStream, dVar.f5403g);
e.n(outputStream, str);
}
private static void H(OutputStream outputStream, d dVar) throws IOException {
byte[] bArr = new byte[k(dVar.f5403g)];
for (Map.Entry entry : dVar.f5405i.entrySet()) {
int iIntValue = ((Integer) entry.getKey()).intValue();
int iIntValue2 = ((Integer) entry.getValue()).intValue();
if ((iIntValue2 & 2) != 0) {
z(bArr, 2, iIntValue, dVar);
}
if ((iIntValue2 & 4) != 0) {
z(bArr, 4, iIntValue, dVar);
}
}
outputStream.write(bArr);
}
private static void I(OutputStream outputStream, d dVar) throws IOException {
int i3 = 0;
for (Map.Entry entry : dVar.f5405i.entrySet()) {
int iIntValue = ((Integer) entry.getKey()).intValue();
if ((((Integer) entry.getValue()).intValue() & 1) != 0) {
e.p(outputStream, iIntValue - i3);
e.p(outputStream, 0);
i3 = iIntValue;
}
}
}
private static void J(OutputStream outputStream, d[] dVarArr) throws IOException {
e.p(outputStream, dVarArr.length);
for (d dVar : dVarArr) {
String strJ = j(dVar.f5397a, dVar.f5398b, p.f5439e);
e.p(outputStream, e.k(strJ));
e.p(outputStream, dVar.f5405i.size());
e.p(outputStream, dVar.f5404h.length);
e.q(outputStream, dVar.f5399c);
e.n(outputStream, strJ);
Iterator it = dVar.f5405i.keySet().iterator();
while (it.hasNext()) {
e.p(outputStream, ((Integer) it.next()).intValue());
}
for (int i3 : dVar.f5404h) {
e.p(outputStream, i3);
}
}
}
private static void K(OutputStream outputStream, d[] dVarArr) throws IOException {
e.r(outputStream, dVarArr.length);
for (d dVar : dVarArr) {
int size = dVar.f5405i.size() * 4;
String strJ = j(dVar.f5397a, dVar.f5398b, p.f5438d);
e.p(outputStream, e.k(strJ));
e.p(outputStream, dVar.f5404h.length);
e.q(outputStream, size);
e.q(outputStream, dVar.f5399c);
e.n(outputStream, strJ);
Iterator it = dVar.f5405i.keySet().iterator();
while (it.hasNext()) {
e.p(outputStream, ((Integer) it.next()).intValue());
e.p(outputStream, 0);
}
for (int i3 : dVar.f5404h) {
e.p(outputStream, i3);
}
}
}
private static void L(OutputStream outputStream, d[] dVarArr) throws IOException {
byte[] bArrB = b(dVarArr, p.f5437c);
e.r(outputStream, dVarArr.length);
e.m(outputStream, bArrB);
}
private static void M(OutputStream outputStream, d[] dVarArr) throws IOException {
byte[] bArrB = b(dVarArr, p.f5436b);
e.r(outputStream, dVarArr.length);
e.m(outputStream, bArrB);
}
private static void N(OutputStream outputStream, d[] dVarArr) throws IOException {
O(outputStream, dVarArr);
}
private static void O(OutputStream outputStream, d[] dVarArr) throws IOException {
int length;
ArrayList arrayList = new ArrayList(3);
ArrayList arrayList2 = new ArrayList(3);
arrayList.add(D(dVarArr));
arrayList.add(c(dVarArr));
arrayList.add(d(dVarArr));
long length2 = ((long) p.f5435a.length) + ((long) f5423a.length) + 4 + ((long) (arrayList.size() * 16));
e.q(outputStream, arrayList.size());
for (int i3 = 0; i3 < arrayList.size(); i3++) {
q qVar = (q) arrayList.get(i3);
e.q(outputStream, qVar.f5442a.b());
e.q(outputStream, length2);
if (qVar.f5445d) {
byte[] bArr = qVar.f5444c;
long length3 = bArr.length;
byte[] bArrB = e.b(bArr);
arrayList2.add(bArrB);
e.q(outputStream, bArrB.length);
e.q(outputStream, length3);
length = bArrB.length;
} else {
arrayList2.add(qVar.f5444c);
e.q(outputStream, qVar.f5444c.length);
e.q(outputStream, 0L);
length = qVar.f5444c.length;
}
length2 += (long) length;
}
for (int i4 = 0; i4 < arrayList2.size(); i4++) {
outputStream.write((byte[]) arrayList2.get(i4));
}
}
private static int a(d dVar) {
Iterator it = dVar.f5405i.entrySet().iterator();
int iIntValue = 0;
while (it.hasNext()) {
iIntValue |= ((Integer) ((Map.Entry) it.next()).getValue()).intValue();
}
return iIntValue;
}
private static byte[] b(d[] dVarArr, byte[] bArr) throws IOException {
int i3 = 0;
int iK = 0;
for (d dVar : dVarArr) {
iK += e.k(j(dVar.f5397a, dVar.f5398b, bArr)) + 16 + (dVar.f5401e * 2) + dVar.f5402f + k(dVar.f5403g);
}
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(iK);
if (Arrays.equals(bArr, p.f5437c)) {
int length = dVarArr.length;
while (i3 < length) {
d dVar2 = dVarArr[i3];
G(byteArrayOutputStream, dVar2, j(dVar2.f5397a, dVar2.f5398b, bArr));
F(byteArrayOutputStream, dVar2);
i3++;
}
} else {
for (d dVar3 : dVarArr) {
G(byteArrayOutputStream, dVar3, j(dVar3.f5397a, dVar3.f5398b, bArr));
}
int length2 = dVarArr.length;
while (i3 < length2) {
F(byteArrayOutputStream, dVarArr[i3]);
i3++;
}
}
if (byteArrayOutputStream.size() == iK) {
return byteArrayOutputStream.toByteArray();
}
throw e.c("The bytes saved do not match expectation. actual=" + byteArrayOutputStream.size() + " expected=" + iK);
}
private static q c(d[] dVarArr) throws IOException {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
int i3 = 0;
for (int i4 = 0; i4 < dVarArr.length; i4++) {
try {
d dVar = dVarArr[i4];
e.p(byteArrayOutputStream, i4);
e.p(byteArrayOutputStream, dVar.f5401e);
i3 = i3 + 4 + (dVar.f5401e * 2);
C(byteArrayOutputStream, dVar);
} catch (Throwable th) {
try {
byteArrayOutputStream.close();
} catch (Throwable th2) {
th.addSuppressed(th2);
}
throw th;
}
}
byte[] byteArray = byteArrayOutputStream.toByteArray();
if (i3 == byteArray.length) {
q qVar = new q(f.CLASSES, i3, byteArray, true);
byteArrayOutputStream.close();
return qVar;
}
throw e.c("Expected size " + i3 + ", does not match actual size " + byteArray.length);
}
private static q d(d[] dVarArr) throws IOException {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
int i3 = 0;
for (int i4 = 0; i4 < dVarArr.length; i4++) {
try {
d dVar = dVarArr[i4];
int iA = a(dVar);
byte[] bArrE = e(dVar);
byte[] bArrF = f(dVar);
e.p(byteArrayOutputStream, i4);
int length = bArrE.length + 2 + bArrF.length;
e.q(byteArrayOutputStream, length);
e.p(byteArrayOutputStream, iA);
byteArrayOutputStream.write(bArrE);
byteArrayOutputStream.write(bArrF);
i3 = i3 + 6 + length;
} catch (Throwable th) {
try {
byteArrayOutputStream.close();
} catch (Throwable th2) {
th.addSuppressed(th2);
}
throw th;
}
}
byte[] byteArray = byteArrayOutputStream.toByteArray();
if (i3 == byteArray.length) {
q qVar = new q(f.METHODS, i3, byteArray, true);
byteArrayOutputStream.close();
return qVar;
}
throw e.c("Expected size " + i3 + ", does not match actual size " + byteArray.length);
}
private static byte[] e(d dVar) throws IOException {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
try {
H(byteArrayOutputStream, dVar);
byte[] byteArray = byteArrayOutputStream.toByteArray();
byteArrayOutputStream.close();
return byteArray;
} catch (Throwable th) {
try {
byteArrayOutputStream.close();
} catch (Throwable th2) {
th.addSuppressed(th2);
}
throw th;
}
}
private static byte[] f(d dVar) throws IOException {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
try {
I(byteArrayOutputStream, dVar);
byte[] byteArray = byteArrayOutputStream.toByteArray();
byteArrayOutputStream.close();
return byteArray;
} catch (Throwable th) {
try {
byteArrayOutputStream.close();
} catch (Throwable th2) {
th.addSuppressed(th2);
}
throw th;
}
}
private static String g(String str, String str2) {
return "!".equals(str2) ? str.replace(":", "!") : ":".equals(str2) ? str.replace("!", ":") : str;
}
private static String h(String str) {
int iIndexOf = str.indexOf("!");
if (iIndexOf < 0) {
iIndexOf = str.indexOf(":");
}
return iIndexOf > 0 ? str.substring(iIndexOf + 1) : str;
}
private static d i(d[] dVarArr, String str) {
if (dVarArr.length <= 0) {
return null;
}
String strH = h(str);
for (int i3 = 0; i3 < dVarArr.length; i3++) {
if (dVarArr[i3].f5398b.equals(strH)) {
return dVarArr[i3];
}
}
return null;
}
private static String j(String str, String str2, byte[] bArr) {
String strA = p.a(bArr);
if (str.length() <= 0) {
return g(str2, strA);
}
if (str2.equals("classes.dex")) {
return str;
}
if (str2.contains("!") || str2.contains(":")) {
return g(str2, strA);
}
if (str2.endsWith(".apk")) {
return str2;
}
return str + p.a(bArr) + str2;
}
private static int k(int i3) {
return y(i3 * 2) / 8;
}
private static int l(int i3, int i4, int i5) {
if (i3 == 1) {
throw e.c("HOT methods are not stored in the bitmap");
}
if (i3 == 2) {
return i4;
}
if (i3 == 4) {
return i4 + i5;
}
throw e.c("Unexpected flag: " + i3);
}
private static int[] m(InputStream inputStream, int i3) {
int[] iArr = new int[i3];
int iH = 0;
for (int i4 = 0; i4 < i3; i4++) {
iH += e.h(inputStream);
iArr[i4] = iH;
}
return iArr;
}
private static int n(BitSet bitSet, int i3, int i4) {
int i5 = bitSet.get(l(2, i3, i4)) ? 2 : 0;
return bitSet.get(l(4, i3, i4)) ? i5 | 4 : i5;
}
static byte[] o(InputStream inputStream, byte[] bArr) {
if (Arrays.equals(bArr, e.d(inputStream, bArr.length))) {
return e.d(inputStream, p.f5436b.length);
}
throw e.c("Invalid magic");
}
private static void p(InputStream inputStream, d dVar) {
int iAvailable = inputStream.available() - dVar.f5402f;
int iH = 0;
while (inputStream.available() > iAvailable) {
iH += e.h(inputStream);
dVar.f5405i.put(Integer.valueOf(iH), 1);
for (int iH2 = e.h(inputStream); iH2 > 0; iH2--) {
A(inputStream);
}
}
if (inputStream.available() != iAvailable) {
throw e.c("Read too much data during profile line parse");
}
}
static d[] q(InputStream inputStream, byte[] bArr, byte[] bArr2, d[] dVarArr) {
if (Arrays.equals(bArr, p.f5440f)) {
if (Arrays.equals(p.f5435a, bArr2)) {
throw e.c("Requires new Baseline Profile Metadata. Please rebuild the APK with Android Gradle Plugin 7.2 Canary 7 or higher");
}
return r(inputStream, bArr, dVarArr);
}
if (Arrays.equals(bArr, p.f5441g)) {
return t(inputStream, bArr2, dVarArr);
}
throw e.c("Unsupported meta version");
}
static d[] r(InputStream inputStream, byte[] bArr, d[] dVarArr) throws IOException {
if (!Arrays.equals(bArr, p.f5440f)) {
throw e.c("Unsupported meta version");
}
int iJ = e.j(inputStream);
byte[] bArrE = e.e(inputStream, (int) e.i(inputStream), (int) e.i(inputStream));
if (inputStream.read() > 0) {
throw e.c("Content found after the end of file");
}
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bArrE);
try {
d[] dVarArrS = s(byteArrayInputStream, iJ, dVarArr);
byteArrayInputStream.close();
return dVarArrS;
} catch (Throwable th) {
try {
byteArrayInputStream.close();
} catch (Throwable th2) {
th.addSuppressed(th2);
}
throw th;
}
}
private static d[] s(InputStream inputStream, int i3, d[] dVarArr) {
if (inputStream.available() == 0) {
return new d[0];
}
if (i3 != dVarArr.length) {
throw e.c("Mismatched number of dex files found in metadata");
}
String[] strArr = new String[i3];
int[] iArr = new int[i3];
for (int i4 = 0; i4 < i3; i4++) {
int iH = e.h(inputStream);
iArr[i4] = e.h(inputStream);
strArr[i4] = e.f(inputStream, iH);
}
for (int i5 = 0; i5 < i3; i5++) {
d dVar = dVarArr[i5];
if (!dVar.f5398b.equals(strArr[i5])) {
throw e.c("Order of dexfiles in metadata did not match baseline");
}
int i6 = iArr[i5];
dVar.f5401e = i6;
dVar.f5404h = m(inputStream, i6);
}
return dVarArr;
}
static d[] t(InputStream inputStream, byte[] bArr, d[] dVarArr) throws IOException {
int iH = e.h(inputStream);
byte[] bArrE = e.e(inputStream, (int) e.i(inputStream), (int) e.i(inputStream));
if (inputStream.read() > 0) {
throw e.c("Content found after the end of file");
}
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bArrE);
try {
d[] dVarArrU = u(byteArrayInputStream, bArr, iH, dVarArr);
byteArrayInputStream.close();
return dVarArrU;
} catch (Throwable th) {
try {
byteArrayInputStream.close();
} catch (Throwable th2) {
th.addSuppressed(th2);
}
throw th;
}
}
private static d[] u(InputStream inputStream, byte[] bArr, int i3, d[] dVarArr) {
if (inputStream.available() == 0) {
return new d[0];
}
if (i3 != dVarArr.length) {
throw e.c("Mismatched number of dex files found in metadata");
}
for (int i4 = 0; i4 < i3; i4++) {
e.h(inputStream);
String strF = e.f(inputStream, e.h(inputStream));
long jI = e.i(inputStream);
int iH = e.h(inputStream);
d dVarI = i(dVarArr, strF);
if (dVarI == null) {
throw e.c("Missing profile key: " + strF);
}
dVarI.f5400d = jI;
int[] iArrM = m(inputStream, iH);
if (Arrays.equals(bArr, p.f5439e)) {
dVarI.f5401e = iH;
dVarI.f5404h = iArrM;
}
}
return dVarArr;
}
private static void v(InputStream inputStream, d dVar) {
BitSet bitSetValueOf = BitSet.valueOf(e.d(inputStream, e.a(dVar.f5403g * 2)));
int i3 = 0;
while (true) {
int i4 = dVar.f5403g;
if (i3 >= i4) {
return;
}
int iN = n(bitSetValueOf, i3, i4);
if (iN != 0) {
Integer num = (Integer) dVar.f5405i.get(Integer.valueOf(i3));
if (num == null) {
num = 0;
}
dVar.f5405i.put(Integer.valueOf(i3), Integer.valueOf(iN | num.intValue()));
}
i3++;
}
}
static d[] w(InputStream inputStream, byte[] bArr, String str) throws IOException {
if (!Arrays.equals(bArr, p.f5436b)) {
throw e.c("Unsupported version");
}
int iJ = e.j(inputStream);
byte[] bArrE = e.e(inputStream, (int) e.i(inputStream), (int) e.i(inputStream));
if (inputStream.read() > 0) {
throw e.c("Content found after the end of file");
}
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bArrE);
try {
d[] dVarArrX = x(byteArrayInputStream, str, iJ);
byteArrayInputStream.close();
return dVarArrX;
} catch (Throwable th) {
try {
byteArrayInputStream.close();
} catch (Throwable th2) {
th.addSuppressed(th2);
}
throw th;
}
}
private static d[] x(InputStream inputStream, String str, int i3) {
if (inputStream.available() == 0) {
return new d[0];
}
d[] dVarArr = new d[i3];
for (int i4 = 0; i4 < i3; i4++) {
int iH = e.h(inputStream);
int iH2 = e.h(inputStream);
dVarArr[i4] = new d(str, e.f(inputStream, iH), e.i(inputStream), 0L, iH2, (int) e.i(inputStream), (int) e.i(inputStream), new int[iH2], new TreeMap());
}
for (int i5 = 0; i5 < i3; i5++) {
d dVar = dVarArr[i5];
p(inputStream, dVar);
dVar.f5404h = m(inputStream, dVar.f5401e);
v(inputStream, dVar);
}
return dVarArr;
}
private static int y(int i3) {
return (i3 + 7) & (-8);
}
private static void z(byte[] bArr, int i3, int i4, d dVar) {
int iL = l(i3, i4, dVar.f5403g);
int i5 = iL / 8;
bArr[i5] = (byte) ((1 << (iL % 8)) | bArr[i5]);
}
}
⚠️ This content was hidden by an advertisement filtering extension in your browser. Please disable it and reload the page to access the decompiled content.
We only display one small text ad to keep this service free. Here's what it looks like:
Read the Docs for Business: You write the docs. We do the rest.
Try it today!Ad by EthicalAds
Download file