1119 lines
41 KiB
Java
1119 lines
41 KiB
Java
package o;
|
|
|
|
import android.graphics.Color;
|
|
import android.graphics.ImageFormat;
|
|
import android.media.AudioTrack;
|
|
import android.os.Process;
|
|
import android.text.TextUtils;
|
|
import android.util.TypedValue;
|
|
import android.view.View;
|
|
import android.view.ViewConfiguration;
|
|
import android.widget.ExpandableListView;
|
|
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
|
|
import com.huawei.hms.framework.network.grs.GrsBaseInfo;
|
|
import java.io.FileOutputStream;
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
import java.io.PrintStream;
|
|
import java.lang.reflect.Method;
|
|
import java.net.URL;
|
|
import java.security.AccessController;
|
|
import java.util.Enumeration;
|
|
import java.util.Hashtable;
|
|
import java.util.Properties;
|
|
import org.apache.commons.logging.LogConfigurationException;
|
|
import org.jmrtd.cbeff.ISO781611;
|
|
|
|
/* renamed from: o.gkd, reason: case insensitive filesystem */
|
|
/* loaded from: classes6.dex */
|
|
public abstract class AbstractC15217gkd {
|
|
private static final byte[] $$a = {55, -23, -33, -19};
|
|
private static final int $$b = 122;
|
|
private static int $10 = 0;
|
|
private static int $11 = 1;
|
|
private static Class a;
|
|
private static final String b;
|
|
private static PrintStream c;
|
|
private static volatile AbstractC15217gkd d;
|
|
private static Hashtable e;
|
|
private static int[] f;
|
|
private static int g;
|
|
private static int h;
|
|
private static final ClassLoader i;
|
|
|
|
public static /* synthetic */ Object e(Object[] objArr, int i2, int i3, int i4) {
|
|
int i5 = (i2 * (-129)) + (i3 * ISO781611.CREATION_DATE_AND_TIME_TAG);
|
|
int i6 = ~i3;
|
|
int i7 = i5 + ((~((~i4) | i6 | i2)) * ISO781611.BIOMETRIC_SUBTYPE_TAG);
|
|
int i8 = i6 | i2;
|
|
int i9 = i7 + ((~i8) * (-260)) + (((~((~i2) | i3)) | (~(i8 | i4))) * ISO781611.BIOMETRIC_SUBTYPE_TAG);
|
|
return i9 != 1 ? i9 != 2 ? i9 != 3 ? i9 != 4 ? b(objArr) : a(objArr) : c(objArr) : e(objArr) : d(objArr);
|
|
}
|
|
|
|
/* JADX WARN: Removed duplicated region for block: B:10:0x0026 */
|
|
/* JADX WARN: Removed duplicated region for block: B:7:0x001e */
|
|
/* JADX WARN: Unsupported multi-entry loop pattern (BACK_EDGE: B:10:0x0026 -> B:4:0x0028). Please report as a decompilation issue!!! */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct add '--show-bad-code' argument
|
|
*/
|
|
private static void s(byte r5, int r6, int r7, java.lang.Object[] r8) {
|
|
/*
|
|
int r5 = r5 * 2
|
|
int r5 = r5 + 4
|
|
int r7 = r7 * 2
|
|
int r7 = 104 - r7
|
|
byte[] r0 = o.AbstractC15217gkd.$$a
|
|
int r6 = r6 * 3
|
|
int r1 = r6 + 1
|
|
byte[] r1 = new byte[r1]
|
|
r2 = 0
|
|
if (r0 != 0) goto L16
|
|
r3 = r5
|
|
r4 = r2
|
|
goto L28
|
|
L16:
|
|
r3 = r2
|
|
L17:
|
|
byte r4 = (byte) r7
|
|
r1[r3] = r4
|
|
int r4 = r3 + 1
|
|
if (r3 != r6) goto L26
|
|
java.lang.String r5 = new java.lang.String
|
|
r5.<init>(r1, r2)
|
|
r8[r2] = r5
|
|
return
|
|
L26:
|
|
r3 = r0[r5]
|
|
L28:
|
|
int r5 = r5 + 1
|
|
int r7 = r7 + r3
|
|
r3 = r4
|
|
goto L17
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: o.AbstractC15217gkd.s(byte, int, int, java.lang.Object[]):void");
|
|
}
|
|
|
|
public abstract InterfaceC15219gkf c(Class cls) throws LogConfigurationException;
|
|
|
|
public abstract void e(String str, Object obj);
|
|
|
|
private static /* synthetic */ Object d(Object[] objArr) {
|
|
String str = (String) objArr[0];
|
|
int i2 = 2 % 2;
|
|
int i3 = g + 81;
|
|
h = i3 % 128;
|
|
int i4 = i3 % 2;
|
|
d(str);
|
|
if (i4 != 0) {
|
|
int i5 = 18 / 0;
|
|
}
|
|
int i6 = g + 75;
|
|
h = i6 % 128;
|
|
int i7 = i6 % 2;
|
|
return null;
|
|
}
|
|
|
|
private static void r(int[] iArr, int i2, Object[] objArr) {
|
|
Object method;
|
|
String str;
|
|
int i3 = 2 % 2;
|
|
C4403bZM c4403bZM = new C4403bZM();
|
|
char[] cArr = new char[4];
|
|
char[] cArr2 = new char[iArr.length * 2];
|
|
int[] iArr2 = f;
|
|
String str2 = "i";
|
|
char c2 = '0';
|
|
int i4 = 729798706;
|
|
int i5 = 1;
|
|
char c3 = 0;
|
|
if (iArr2 != null) {
|
|
int length = iArr2.length;
|
|
int[] iArr3 = new int[length];
|
|
int i6 = 0;
|
|
while (i6 < length) {
|
|
try {
|
|
Object[] objArr2 = new Object[1];
|
|
objArr2[c3] = Integer.valueOf(iArr2[i6]);
|
|
Object obj = xzZ.y.get(729798706);
|
|
if (obj == null) {
|
|
obj = ((Class) xzZ.c(TextUtils.indexOf("", c2) + 16, 5 - ExpandableListView.getPackedPositionGroup(0L), (char) ((AudioTrack.getMaxVolume() > BitmapDescriptorFactory.HUE_RED ? 1 : (AudioTrack.getMaxVolume() == BitmapDescriptorFactory.HUE_RED ? 0 : -1)) + 58133))).getMethod("i", Integer.TYPE);
|
|
xzZ.y.put(729798706, obj);
|
|
}
|
|
iArr3[i6] = ((Integer) ((Method) obj).invoke(null, objArr2)).intValue();
|
|
i6++;
|
|
c2 = '0';
|
|
c3 = 0;
|
|
} catch (Throwable th) {
|
|
Throwable cause = th.getCause();
|
|
if (cause == null) {
|
|
throw th;
|
|
}
|
|
throw cause;
|
|
}
|
|
}
|
|
iArr2 = iArr3;
|
|
}
|
|
int length2 = iArr2.length;
|
|
int[] iArr4 = new int[length2];
|
|
int[] iArr5 = f;
|
|
if (iArr5 != null) {
|
|
int i7 = $10 + 83;
|
|
$11 = i7 % 128;
|
|
int i8 = i7 % 2;
|
|
int length3 = iArr5.length;
|
|
int[] iArr6 = new int[length3];
|
|
int i9 = 0;
|
|
while (i9 < length3) {
|
|
Object[] objArr3 = new Object[i5];
|
|
objArr3[0] = Integer.valueOf(iArr5[i9]);
|
|
Object obj2 = xzZ.y.get(Integer.valueOf(i4));
|
|
if (obj2 != null) {
|
|
str = str2;
|
|
} else {
|
|
obj2 = ((Class) xzZ.c((ViewConfiguration.getScrollBarSize() >> 8) + 15, 5 - Color.red(0), (char) ((ViewConfiguration.getGlobalActionKeyTimeout() > 0L ? 1 : (ViewConfiguration.getGlobalActionKeyTimeout() == 0L ? 0 : -1)) + 58133))).getMethod(str2, Integer.TYPE);
|
|
str = str2;
|
|
i4 = 729798706;
|
|
xzZ.y.put(729798706, obj2);
|
|
}
|
|
iArr6[i9] = ((Integer) ((Method) obj2).invoke(null, objArr3)).intValue();
|
|
i9++;
|
|
str2 = str;
|
|
i5 = 1;
|
|
}
|
|
iArr5 = iArr6;
|
|
}
|
|
char c4 = 0;
|
|
System.arraycopy(iArr5, 0, iArr4, 0, length2);
|
|
c4403bZM.b = 0;
|
|
while (c4403bZM.b < iArr.length) {
|
|
cArr[c4] = (char) (iArr[c4403bZM.b] >> 16);
|
|
cArr[1] = (char) iArr[c4403bZM.b];
|
|
cArr[2] = (char) (iArr[c4403bZM.b + 1] >> 16);
|
|
cArr[3] = (char) iArr[c4403bZM.b + 1];
|
|
c4403bZM.e = (cArr[0] << 16) + cArr[1];
|
|
c4403bZM.a = (cArr[2] << 16) + cArr[3];
|
|
C4403bZM.d(iArr4);
|
|
int i10 = 0;
|
|
for (int i11 = 16; i10 < i11; i11 = 16) {
|
|
int i12 = $10 + 69;
|
|
$11 = i12 % 128;
|
|
int i13 = i12 % 2;
|
|
c4403bZM.e ^= iArr4[i10];
|
|
try {
|
|
Object[] objArr4 = {c4403bZM, Integer.valueOf(C4403bZM.d(c4403bZM.e)), c4403bZM, c4403bZM};
|
|
Object obj3 = xzZ.y.get(-1196964548);
|
|
if (obj3 == null) {
|
|
Class cls = (Class) xzZ.c(TextUtils.indexOf((CharSequence) "", '0') + 119, 5 - (ViewConfiguration.getScrollDefaultDelay() >> 16), (char) View.MeasureSpec.getSize(0));
|
|
byte b2 = (byte) 0;
|
|
byte b3 = b2;
|
|
Object[] objArr5 = new Object[1];
|
|
s(b2, b3, b3, objArr5);
|
|
obj3 = cls.getMethod((String) objArr5[0], Object.class, Integer.TYPE, Object.class, Object.class);
|
|
xzZ.y.put(-1196964548, obj3);
|
|
}
|
|
int intValue = ((Integer) ((Method) obj3).invoke(null, objArr4)).intValue();
|
|
c4403bZM.e = c4403bZM.a;
|
|
c4403bZM.a = intValue;
|
|
i10++;
|
|
} catch (Throwable th2) {
|
|
Throwable cause2 = th2.getCause();
|
|
if (cause2 == null) {
|
|
throw th2;
|
|
}
|
|
throw cause2;
|
|
}
|
|
}
|
|
int i14 = c4403bZM.e;
|
|
c4403bZM.e = c4403bZM.a;
|
|
c4403bZM.a = i14;
|
|
c4403bZM.a ^= iArr4[16];
|
|
c4403bZM.e ^= iArr4[17];
|
|
int i15 = c4403bZM.e;
|
|
int i16 = c4403bZM.a;
|
|
cArr[0] = (char) (c4403bZM.e >>> 16);
|
|
cArr[1] = (char) c4403bZM.e;
|
|
cArr[2] = (char) (c4403bZM.a >>> 16);
|
|
cArr[3] = (char) c4403bZM.a;
|
|
C4403bZM.d(iArr4);
|
|
cArr2[c4403bZM.b * 2] = cArr[0];
|
|
cArr2[(c4403bZM.b * 2) + 1] = cArr[1];
|
|
cArr2[(c4403bZM.b * 2) + 2] = cArr[2];
|
|
cArr2[(c4403bZM.b * 2) + 3] = cArr[3];
|
|
Object[] objArr6 = {c4403bZM, c4403bZM};
|
|
Object obj4 = xzZ.y.get(1914371176);
|
|
if (obj4 != null) {
|
|
method = obj4;
|
|
} else {
|
|
Class cls2 = (Class) xzZ.c(TextUtils.indexOf((CharSequence) "", '0') + 99, 5 - (TypedValue.complexToFraction(0, BitmapDescriptorFactory.HUE_RED, BitmapDescriptorFactory.HUE_RED) > BitmapDescriptorFactory.HUE_RED ? 1 : (TypedValue.complexToFraction(0, BitmapDescriptorFactory.HUE_RED, BitmapDescriptorFactory.HUE_RED) == BitmapDescriptorFactory.HUE_RED ? 0 : -1)), (char) ((-1) - ImageFormat.getBitsPerPixel(0)));
|
|
byte b4 = (byte) 0;
|
|
byte b5 = b4;
|
|
Object[] objArr7 = new Object[1];
|
|
s(b4, b5, (byte) (b5 + 1), objArr7);
|
|
method = cls2.getMethod((String) objArr7[0], Object.class, Object.class);
|
|
xzZ.y.put(1914371176, method);
|
|
}
|
|
((Method) method).invoke(null, objArr6);
|
|
c4 = 0;
|
|
}
|
|
objArr[0] = new String(cArr2, 0, i2);
|
|
}
|
|
|
|
private static /* synthetic */ Object b(Object[] objArr) {
|
|
String str;
|
|
int i2 = 2 % 2;
|
|
Hashtable hashtable = null;
|
|
try {
|
|
str = a("org.apache.commons.logging.LogFactory.HashtableImpl");
|
|
} catch (SecurityException unused) {
|
|
str = null;
|
|
}
|
|
if (str == null) {
|
|
int i3 = h + 3;
|
|
g = i3 % 128;
|
|
if (i3 % 2 == 0) {
|
|
throw null;
|
|
}
|
|
str = "o.gku";
|
|
}
|
|
try {
|
|
hashtable = (Hashtable) Class.forName(str).newInstance();
|
|
} catch (Throwable th) {
|
|
b(th);
|
|
if (!"o.gku".equals(str)) {
|
|
if (e()) {
|
|
int i4 = h + 57;
|
|
g = i4 % 128;
|
|
int i5 = i4 % 2;
|
|
d("[ERROR] LogFactory: Load of custom hashtable failed");
|
|
} else {
|
|
System.err.println("[ERROR] LogFactory: Load of custom hashtable failed");
|
|
}
|
|
}
|
|
}
|
|
if (hashtable != null) {
|
|
return hashtable;
|
|
}
|
|
Hashtable hashtable2 = new Hashtable();
|
|
int i6 = g + 99;
|
|
h = i6 % 128;
|
|
int i7 = i6 % 2;
|
|
return hashtable2;
|
|
}
|
|
|
|
/* JADX WARN: Code restructure failed: missing block: B:10:0x0020, code lost:
|
|
|
|
return null;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:11:0x0021, code lost:
|
|
|
|
r4.hashCode();
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:12:0x0024, code lost:
|
|
|
|
throw null;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:13:0x0014, code lost:
|
|
|
|
if (r4 == null) goto L8;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:4:0x0011, code lost:
|
|
|
|
if (r4 == null) goto L8;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:6:0x0029, code lost:
|
|
|
|
return r4.trim();
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:8:0x0016, code lost:
|
|
|
|
r1 = r1 + 25;
|
|
o.AbstractC15217gkd.g = r1 % 128;
|
|
r4 = null;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:9:0x001e, code lost:
|
|
|
|
if ((r1 % 2) == 0) goto L11;
|
|
*/
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct add '--show-bad-code' argument
|
|
*/
|
|
private static java.lang.String g(java.lang.String r4) {
|
|
/*
|
|
r0 = 2
|
|
int r1 = r0 % r0
|
|
int r1 = o.AbstractC15217gkd.h
|
|
int r2 = r1 + 77
|
|
int r3 = r2 % 128
|
|
o.AbstractC15217gkd.g = r3
|
|
int r2 = r2 % r0
|
|
if (r2 != 0) goto L14
|
|
r2 = 4
|
|
int r2 = r2 / 0
|
|
if (r4 != 0) goto L25
|
|
goto L16
|
|
L14:
|
|
if (r4 != 0) goto L25
|
|
L16:
|
|
int r1 = r1 + 25
|
|
int r4 = r1 % 128
|
|
o.AbstractC15217gkd.g = r4
|
|
int r1 = r1 % r0
|
|
r4 = 0
|
|
if (r1 == 0) goto L21
|
|
return r4
|
|
L21:
|
|
r4.hashCode()
|
|
throw r4
|
|
L25:
|
|
java.lang.String r4 = r4.trim()
|
|
return r4
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: o.AbstractC15217gkd.g(java.lang.String):java.lang.String");
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: protected */
|
|
public static void b(Throwable th) {
|
|
int i2 = 2 % 2;
|
|
if (th instanceof ThreadDeath) {
|
|
throw ((ThreadDeath) th);
|
|
}
|
|
int i3 = g + 107;
|
|
int i4 = i3 % 128;
|
|
h = i4;
|
|
int i5 = i3 % 2;
|
|
if (th instanceof VirtualMachineError) {
|
|
throw ((VirtualMachineError) th);
|
|
}
|
|
int i6 = i4 + 119;
|
|
g = i6 % 128;
|
|
int i7 = i6 % 2;
|
|
}
|
|
|
|
/* JADX WARN: Code restructure failed: missing block: B:38:0x0117, code lost:
|
|
|
|
if (e() != false) goto L56;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:39:0x0120, code lost:
|
|
|
|
d("[LOOKUP] Looking for a resource file of name [META-INF/services/org.apache.commons.logging.LogFactory] to define the LogFactory subclass to use...");
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:41:0x0125, code lost:
|
|
|
|
r10 = b(r4, "META-INF/services/org.apache.commons.logging.LogFactory");
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:42:0x012b, code lost:
|
|
|
|
if (r10 == null) goto L70;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:45:0x017e, code lost:
|
|
|
|
if ((!e()) == true) goto L83;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:46:0x0180, code lost:
|
|
|
|
r10 = o.AbstractC15217gkd.g + 87;
|
|
o.AbstractC15217gkd.h = r10 % 128;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:47:0x018b, code lost:
|
|
|
|
if ((r10 % 2) != 0) goto L76;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:48:0x018d, code lost:
|
|
|
|
d("[LOOKUP] No resource file with name 'META-INF/services/org.apache.commons.logging.LogFactory' found.");
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:49:0x0191, code lost:
|
|
|
|
d("[LOOKUP] No resource file with name 'META-INF/services/org.apache.commons.logging.LogFactory' found.");
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:50:0x0194, code lost:
|
|
|
|
r9.hashCode();
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:51:0x0197, code lost:
|
|
|
|
throw null;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:53:0x012d, code lost:
|
|
|
|
r11 = new java.io.BufferedReader(new java.io.InputStreamReader(r10, "UTF-8"));
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:63:0x013a, code lost:
|
|
|
|
r11 = new java.io.BufferedReader(new java.io.InputStreamReader(r10));
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:64:0x0198, code lost:
|
|
|
|
r10 = move-exception;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:66:0x019d, code lost:
|
|
|
|
if (e() != false) goto L82;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:67:0x019f, code lost:
|
|
|
|
d(new java.lang.StringBuffer("[LOOKUP] A security exception occurred while trying to create an instance of the custom factory class: [").append(g(r10.getMessage())).append("]. Trying alternative implementations...").toString());
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:69:0x011e, code lost:
|
|
|
|
if (e() != false) goto L56;
|
|
*/
|
|
/* JADX WARN: Removed duplicated region for block: B:71:0x01bd */
|
|
/* JADX WARN: Removed duplicated region for block: B:92:0x022d */
|
|
/* JADX WARN: Removed duplicated region for block: B:97:0x024b */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct add '--show-bad-code' argument
|
|
*/
|
|
private static o.AbstractC15217gkd h() throws org.apache.commons.logging.LogConfigurationException {
|
|
/*
|
|
Method dump skipped, instructions count: 661
|
|
To view this dump add '--comments-level debug' option
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: o.AbstractC15217gkd.h():o.gkd");
|
|
}
|
|
|
|
public static InterfaceC15219gkf b(Class cls) throws LogConfigurationException {
|
|
int i2 = 2 % 2;
|
|
int i3 = g + 67;
|
|
h = i3 % 128;
|
|
int i4 = i3 % 2;
|
|
InterfaceC15219gkf c2 = h().c(cls);
|
|
int i5 = h + 63;
|
|
g = i5 % 128;
|
|
if (i5 % 2 != 0) {
|
|
return c2;
|
|
}
|
|
throw null;
|
|
}
|
|
|
|
public static ClassLoader e(Class cls) {
|
|
int i2 = 2 % 2;
|
|
int i3 = g + 17;
|
|
h = i3 % 128;
|
|
int i4 = i3 % 2;
|
|
try {
|
|
return cls.getClassLoader();
|
|
} catch (SecurityException e2) {
|
|
if (e()) {
|
|
d(new StringBuffer("Unable to get classloader for class '").append(cls).append("' due to security restrictions - ").append(e2.getMessage()).toString());
|
|
int i5 = g + 109;
|
|
h = i5 % 128;
|
|
int i6 = i5 % 2;
|
|
}
|
|
throw e2;
|
|
}
|
|
}
|
|
|
|
private static ClassLoader c() throws LogConfigurationException {
|
|
int i2 = 2 % 2;
|
|
ClassLoader classLoader = (ClassLoader) AccessController.doPrivileged(new C15216gkc());
|
|
int i3 = g + 63;
|
|
h = i3 % 128;
|
|
int i4 = i3 % 2;
|
|
return classLoader;
|
|
}
|
|
|
|
public static ClassLoader b() throws LogConfigurationException {
|
|
ClassLoader contextClassLoader;
|
|
int i2 = 2 % 2;
|
|
int i3 = h + 103;
|
|
g = i3 % 128;
|
|
try {
|
|
if (i3 % 2 == 0) {
|
|
contextClassLoader = Thread.currentThread().getContextClassLoader();
|
|
int i4 = 51 / 0;
|
|
} else {
|
|
contextClassLoader = Thread.currentThread().getContextClassLoader();
|
|
}
|
|
return contextClassLoader;
|
|
} catch (SecurityException unused) {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
private static AbstractC15217gkd a(ClassLoader classLoader) {
|
|
int i2 = 2 % 2;
|
|
int i3 = h + 43;
|
|
int i4 = i3 % 128;
|
|
g = i4;
|
|
int i5 = i3 % 2;
|
|
if (classLoader == null) {
|
|
int i6 = i4 + 41;
|
|
h = i6 % 128;
|
|
int i7 = i6 % 2;
|
|
AbstractC15217gkd abstractC15217gkd = d;
|
|
int i8 = g + 57;
|
|
h = i8 % 128;
|
|
int i9 = i8 % 2;
|
|
return abstractC15217gkd;
|
|
}
|
|
return (AbstractC15217gkd) e.get(classLoader);
|
|
}
|
|
|
|
private static /* synthetic */ Object c(Object[] objArr) {
|
|
ClassLoader classLoader = (ClassLoader) objArr[0];
|
|
AbstractC15217gkd abstractC15217gkd = (AbstractC15217gkd) objArr[1];
|
|
int i2 = 2 % 2;
|
|
Object obj = null;
|
|
if (abstractC15217gkd != null) {
|
|
int i3 = h + 11;
|
|
g = i3 % 128;
|
|
if (i3 % 2 == 0) {
|
|
obj.hashCode();
|
|
throw null;
|
|
}
|
|
if (classLoader == null) {
|
|
d = abstractC15217gkd;
|
|
int i4 = g + 73;
|
|
h = i4 % 128;
|
|
int i5 = i4 % 2;
|
|
return null;
|
|
}
|
|
e.put(classLoader, abstractC15217gkd);
|
|
int i6 = g + 123;
|
|
h = i6 % 128;
|
|
int i7 = i6 % 2;
|
|
}
|
|
return null;
|
|
}
|
|
|
|
private static AbstractC15217gkd b(String str, ClassLoader classLoader, ClassLoader classLoader2) throws LogConfigurationException {
|
|
int i2 = 2 % 2;
|
|
Object doPrivileged = AccessController.doPrivileged(new C15221gkh(str, classLoader));
|
|
if (!(doPrivileged instanceof LogConfigurationException)) {
|
|
if (e()) {
|
|
d(new StringBuffer("Created object ").append(e(doPrivileged)).append(" to manage classloader ").append(e(classLoader2)).toString());
|
|
}
|
|
return (AbstractC15217gkd) doPrivileged;
|
|
}
|
|
int i3 = g + 63;
|
|
h = i3 % 128;
|
|
int i4 = i3 % 2;
|
|
LogConfigurationException logConfigurationException = (LogConfigurationException) doPrivileged;
|
|
if (!e()) {
|
|
throw logConfigurationException;
|
|
}
|
|
d(new StringBuffer("An error occurred while loading the factory class:").append(logConfigurationException.getMessage()).toString());
|
|
int i5 = h + 65;
|
|
g = i5 % 128;
|
|
int i6 = i5 % 2;
|
|
throw logConfigurationException;
|
|
}
|
|
|
|
private static /* synthetic */ Class e(String str) {
|
|
int i2 = 2 % 2;
|
|
int i3 = h + 97;
|
|
g = i3 % 128;
|
|
int i4 = i3 % 2;
|
|
try {
|
|
Class<?> cls = Class.forName(str);
|
|
int i5 = h + 45;
|
|
g = i5 % 128;
|
|
if (i5 % 2 != 0) {
|
|
return cls;
|
|
}
|
|
Object obj = null;
|
|
obj.hashCode();
|
|
throw null;
|
|
} catch (ClassNotFoundException e2) {
|
|
throw new NoClassDefFoundError(e2.getMessage());
|
|
}
|
|
}
|
|
|
|
/* JADX WARN: Not initialized variable reg: 4, insn: 0x00df: MOVE (r3 I:??[OBJECT, ARRAY]) = (r4 I:??[OBJECT, ARRAY]), block:B:90:0x00df */
|
|
/* JADX WARN: Removed duplicated region for block: B:8:0x01d3 A[Catch: Exception -> 0x00e8, TryCatch #4 {Exception -> 0x00e8, blocks: (B:13:0x001d, B:6:0x01cd, B:8:0x01d3, B:9:0x01ef), top: B:4:0x001b }] */
|
|
/* JADX WARN: Removed duplicated region for block: B:93:0x0200 */
|
|
/* JADX WARN: Removed duplicated region for block: B:95:0x0207 */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct add '--show-bad-code' argument
|
|
*/
|
|
private static /* synthetic */ java.lang.Object e(java.lang.Object[] r9) {
|
|
/*
|
|
Method dump skipped, instructions count: 559
|
|
To view this dump add '--comments-level debug' option
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: o.AbstractC15217gkd.e(java.lang.Object[]):java.lang.Object");
|
|
}
|
|
|
|
private static boolean d(Class cls) {
|
|
int i2;
|
|
int i3 = 2 % 2;
|
|
int i4 = g;
|
|
int i5 = i4 + 53;
|
|
h = i5 % 128;
|
|
int i6 = i5 % 2;
|
|
boolean z = false;
|
|
if (cls != null) {
|
|
int i7 = i4 + 15;
|
|
h = i7 % 128;
|
|
int i8 = i7 % 2;
|
|
try {
|
|
ClassLoader classLoader = cls.getClassLoader();
|
|
if (classLoader == null) {
|
|
int i9 = g + 63;
|
|
h = i9 % 128;
|
|
int i10 = i9 % 2;
|
|
d("[CUSTOM LOG FACTORY] was loaded by the boot classloader");
|
|
i2 = h + 29;
|
|
g = i2 % 128;
|
|
} else {
|
|
b("[CUSTOM LOG FACTORY] ", classLoader);
|
|
z = Class.forName("o.gkd", false, classLoader).isAssignableFrom(cls);
|
|
if (z) {
|
|
d(new StringBuffer("[CUSTOM LOG FACTORY] ").append(cls.getName()).append(" implements LogFactory but was loaded by an incompatible classloader.").toString());
|
|
} else {
|
|
d(new StringBuffer("[CUSTOM LOG FACTORY] ").append(cls.getName()).append(" does not implement LogFactory.").toString());
|
|
i2 = g + 97;
|
|
h = i2 % 128;
|
|
}
|
|
}
|
|
int i11 = i2 % 2;
|
|
} catch (ClassNotFoundException unused) {
|
|
d("[CUSTOM LOG FACTORY] LogFactory class cannot be loaded by classloader which loaded the custom LogFactory implementation. Is the custom factory in the right classloader?");
|
|
} catch (LinkageError e2) {
|
|
d(new StringBuffer("[CUSTOM LOG FACTORY] LinkageError thrown whilst trying to determine whether the compatibility was caused by a classloader conflict: ").append(e2.getMessage()).toString());
|
|
} catch (SecurityException e3) {
|
|
d(new StringBuffer("[CUSTOM LOG FACTORY] SecurityException thrown whilst trying to determine whether the compatibility was caused by a classloader conflict: ").append(e3.getMessage()).toString());
|
|
}
|
|
}
|
|
return z;
|
|
}
|
|
|
|
private static InputStream b(ClassLoader classLoader, String str) {
|
|
int i2 = 2 % 2;
|
|
InputStream inputStream = (InputStream) AccessController.doPrivileged(new C15220gkg(classLoader, str));
|
|
int i3 = h + 103;
|
|
g = i3 % 128;
|
|
if (i3 % 2 != 0) {
|
|
return inputStream;
|
|
}
|
|
throw null;
|
|
}
|
|
|
|
private static Enumeration a(ClassLoader classLoader, String str) {
|
|
int i2 = 2 % 2;
|
|
Enumeration enumeration = (Enumeration) AccessController.doPrivileged(new C15222gki(classLoader, str));
|
|
int i3 = h + 121;
|
|
g = i3 % 128;
|
|
if (i3 % 2 != 0) {
|
|
return enumeration;
|
|
}
|
|
Object obj = null;
|
|
obj.hashCode();
|
|
throw null;
|
|
}
|
|
|
|
private static Properties a(URL url) {
|
|
int i2 = 2 % 2;
|
|
Properties properties = (Properties) AccessController.doPrivileged(new C15223gkj(url));
|
|
int i3 = h + 33;
|
|
g = i3 % 128;
|
|
int i4 = i3 % 2;
|
|
return properties;
|
|
}
|
|
|
|
/* JADX WARN: Code restructure failed: missing block: B:38:0x0114, code lost:
|
|
|
|
if (r1 == null) goto L51;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:39:0x013b, code lost:
|
|
|
|
d(new java.lang.StringBuffer("[LOOKUP] Properties file of name '").append(r15).append("' found at '").append(r4).append('\"').toString());
|
|
r14 = o.AbstractC15217gkd.g + 11;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:41:0x0119, code lost:
|
|
|
|
d(new java.lang.StringBuffer("[LOOKUP] No properties file of name '").append(r15).append("' found.").toString());
|
|
r14 = o.AbstractC15217gkd.g + 47;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:42:0x0117, code lost:
|
|
|
|
if (r1 == null) goto L51;
|
|
*/
|
|
/* JADX WARN: Removed duplicated region for block: B:35:0x0105 */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct add '--show-bad-code' argument
|
|
*/
|
|
private static final java.util.Properties c(java.lang.ClassLoader r14, java.lang.String r15) {
|
|
/*
|
|
Method dump skipped, instructions count: 355
|
|
To view this dump add '--comments-level debug' option
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: o.AbstractC15217gkd.c(java.lang.ClassLoader, java.lang.String):java.util.Properties");
|
|
}
|
|
|
|
private static String a(String str) throws SecurityException {
|
|
int i2 = 2 % 2;
|
|
String str2 = (String) AccessController.doPrivileged(new C15224gkk(str));
|
|
int i3 = g + 71;
|
|
h = i3 % 128;
|
|
int i4 = i3 % 2;
|
|
return str2;
|
|
}
|
|
|
|
private static PrintStream i() {
|
|
int i2 = 2 % 2;
|
|
int i3 = g + 1;
|
|
h = i3 % 128;
|
|
int i4 = i3 % 2;
|
|
try {
|
|
String a2 = a("org.apache.commons.logging.diagnostics.dest");
|
|
if (a2 != null) {
|
|
if (a2.equals("STDOUT")) {
|
|
return System.out;
|
|
}
|
|
if (a2.equals("STDERR")) {
|
|
int i5 = g + 65;
|
|
h = i5 % 128;
|
|
if (i5 % 2 == 0) {
|
|
return System.err;
|
|
}
|
|
int i6 = 7 / 0;
|
|
return System.err;
|
|
}
|
|
return new PrintStream(new FileOutputStream(a2, true));
|
|
}
|
|
int i7 = g + 25;
|
|
h = i7 % 128;
|
|
if (i7 % 2 == 0) {
|
|
return null;
|
|
}
|
|
throw null;
|
|
} catch (IOException | SecurityException unused) {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
private static final void d(String str) {
|
|
int i2 = 2 % 2;
|
|
int i3 = g + 125;
|
|
h = i3 % 128;
|
|
int i4 = i3 % 2;
|
|
PrintStream printStream = c;
|
|
if (printStream != null) {
|
|
printStream.print(b);
|
|
c.println(str);
|
|
c.flush();
|
|
int i5 = g + 31;
|
|
h = i5 % 128;
|
|
int i6 = i5 % 2;
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: protected */
|
|
public static final void c(String str) {
|
|
int i2 = 2 % 2;
|
|
int i3 = g + 109;
|
|
int i4 = i3 % 128;
|
|
h = i4;
|
|
Object obj = null;
|
|
if (i3 % 2 != 0) {
|
|
obj.hashCode();
|
|
throw null;
|
|
}
|
|
PrintStream printStream = c;
|
|
if (printStream != null) {
|
|
int i5 = i4 + 67;
|
|
g = i5 % 128;
|
|
if (i5 % 2 == 0) {
|
|
printStream.println(str);
|
|
c.flush();
|
|
throw null;
|
|
}
|
|
printStream.println(str);
|
|
c.flush();
|
|
}
|
|
int i6 = g + 63;
|
|
h = i6 % 128;
|
|
if (i6 % 2 == 0) {
|
|
return;
|
|
}
|
|
obj.hashCode();
|
|
throw null;
|
|
}
|
|
|
|
/* JADX WARN: Code restructure failed: missing block: B:20:0x0056, code lost:
|
|
|
|
d("[ENV] Security setting prevent interrogation of system classpaths.");
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:22:0x0022, code lost:
|
|
|
|
if (e() == false) goto L9;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:4:0x001b, code lost:
|
|
|
|
if (e() == false) goto L9;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:5:0x0024, code lost:
|
|
|
|
return null;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:8:0x0025, code lost:
|
|
|
|
d(new java.lang.StringBuffer("[ENV] Extension directories (java.ext.dir): ").append(java.lang.System.getProperty("java.ext.dir")).toString());
|
|
d(new java.lang.StringBuffer("[ENV] Application classpath (java.class.path): ").append(java.lang.System.getProperty("java.class.path")).toString());
|
|
*/
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct add '--show-bad-code' argument
|
|
*/
|
|
private static /* synthetic */ java.lang.Object a(java.lang.Object[] r6) {
|
|
/*
|
|
r0 = 0
|
|
r6 = r6[r0]
|
|
java.lang.Class r6 = (java.lang.Class) r6
|
|
r1 = 2
|
|
int r2 = r1 % r1
|
|
int r2 = o.AbstractC15217gkd.h
|
|
int r2 = r2 + 67
|
|
int r3 = r2 % 128
|
|
o.AbstractC15217gkd.g = r3
|
|
int r2 = r2 % r1
|
|
r3 = 0
|
|
if (r2 != 0) goto L1e
|
|
boolean r2 = e()
|
|
r4 = 16
|
|
int r4 = r4 / r0
|
|
if (r2 != 0) goto L25
|
|
goto L24
|
|
L1e:
|
|
boolean r2 = e()
|
|
if (r2 != 0) goto L25
|
|
L24:
|
|
return r3
|
|
L25:
|
|
java.lang.StringBuffer r2 = new java.lang.StringBuffer // Catch: java.lang.SecurityException -> L56
|
|
java.lang.String r4 = "[ENV] Extension directories (java.ext.dir): "
|
|
r2.<init>(r4) // Catch: java.lang.SecurityException -> L56
|
|
java.lang.String r4 = "java.ext.dir"
|
|
java.lang.String r4 = java.lang.System.getProperty(r4) // Catch: java.lang.SecurityException -> L56
|
|
java.lang.StringBuffer r2 = r2.append(r4) // Catch: java.lang.SecurityException -> L56
|
|
java.lang.String r2 = r2.toString() // Catch: java.lang.SecurityException -> L56
|
|
d(r2) // Catch: java.lang.SecurityException -> L56
|
|
java.lang.StringBuffer r2 = new java.lang.StringBuffer // Catch: java.lang.SecurityException -> L56
|
|
java.lang.String r4 = "[ENV] Application classpath (java.class.path): "
|
|
r2.<init>(r4) // Catch: java.lang.SecurityException -> L56
|
|
java.lang.String r4 = "java.class.path"
|
|
java.lang.String r4 = java.lang.System.getProperty(r4) // Catch: java.lang.SecurityException -> L56
|
|
java.lang.StringBuffer r2 = r2.append(r4) // Catch: java.lang.SecurityException -> L56
|
|
java.lang.String r2 = r2.toString() // Catch: java.lang.SecurityException -> L56
|
|
d(r2) // Catch: java.lang.SecurityException -> L56
|
|
goto L5b
|
|
L56:
|
|
java.lang.String r2 = "[ENV] Security setting prevent interrogation of system classpaths."
|
|
d(r2)
|
|
L5b:
|
|
java.lang.String r2 = r6.getName()
|
|
java.lang.ClassLoader r6 = e(r6) // Catch: java.lang.SecurityException -> Laa
|
|
java.lang.StringBuffer r4 = new java.lang.StringBuffer
|
|
java.lang.String r5 = "[ENV] Class "
|
|
r4.<init>(r5)
|
|
java.lang.StringBuffer r4 = r4.append(r2)
|
|
java.lang.String r5 = " was loaded via classloader "
|
|
java.lang.StringBuffer r4 = r4.append(r5)
|
|
java.lang.String r5 = e(r6)
|
|
java.lang.StringBuffer r4 = r4.append(r5)
|
|
java.lang.String r4 = r4.toString()
|
|
d(r4)
|
|
java.lang.StringBuffer r4 = new java.lang.StringBuffer
|
|
java.lang.String r5 = "[ENV] Ancestry of classloader which loaded "
|
|
r4.<init>(r5)
|
|
java.lang.StringBuffer r2 = r4.append(r2)
|
|
java.lang.String r4 = " is "
|
|
java.lang.StringBuffer r2 = r2.append(r4)
|
|
java.lang.String r2 = r2.toString()
|
|
b(r2, r6)
|
|
int r6 = o.AbstractC15217gkd.h
|
|
int r6 = r6 + 117
|
|
int r2 = r6 % 128
|
|
o.AbstractC15217gkd.g = r2
|
|
int r6 = r6 % r1
|
|
if (r6 != 0) goto La9
|
|
r6 = 43
|
|
int r6 = r6 / r0
|
|
La9:
|
|
return r3
|
|
Laa:
|
|
java.lang.String r6 = "[ENV] Security forbids determining the classloader for "
|
|
java.lang.String r0 = java.lang.String.valueOf(r2)
|
|
java.lang.String r6 = r6.concat(r0)
|
|
d(r6)
|
|
return r3
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: o.AbstractC15217gkd.a(java.lang.Object[]):java.lang.Object");
|
|
}
|
|
|
|
private static void b(String str, ClassLoader classLoader) {
|
|
int i2 = 2 % 2;
|
|
Object obj = null;
|
|
if (!e()) {
|
|
int i3 = h + 41;
|
|
g = i3 % 128;
|
|
if (i3 % 2 == 0) {
|
|
throw null;
|
|
}
|
|
return;
|
|
}
|
|
if (classLoader != null) {
|
|
d(new StringBuffer().append(str).append(e(classLoader)).append(" == '").append(classLoader.toString()).append("'").toString());
|
|
}
|
|
try {
|
|
ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader();
|
|
if (classLoader != null) {
|
|
StringBuffer stringBuffer = new StringBuffer(new StringBuffer().append(str).append("ClassLoader tree:").toString());
|
|
do {
|
|
stringBuffer.append(e(classLoader));
|
|
if (classLoader == systemClassLoader) {
|
|
int i4 = g + 63;
|
|
h = i4 % 128;
|
|
int i5 = i4 % 2;
|
|
stringBuffer.append(" (SYSTEM) ");
|
|
int i6 = h + 53;
|
|
g = i6 % 128;
|
|
int i7 = i6 % 2;
|
|
}
|
|
try {
|
|
classLoader = classLoader.getParent();
|
|
stringBuffer.append(" --> ");
|
|
} catch (SecurityException unused) {
|
|
stringBuffer.append(" --> SECRET");
|
|
}
|
|
} while (classLoader != null);
|
|
int i8 = h + 3;
|
|
g = i8 % 128;
|
|
if (i8 % 2 == 0) {
|
|
stringBuffer.append("BOOT");
|
|
obj.hashCode();
|
|
throw null;
|
|
}
|
|
stringBuffer.append("BOOT");
|
|
d(stringBuffer.toString());
|
|
int i9 = h + 41;
|
|
g = i9 % 128;
|
|
int i10 = i9 % 2;
|
|
}
|
|
} catch (SecurityException unused2) {
|
|
d(new StringBuffer().append(str).append("Security forbids determining the system classloader.").toString());
|
|
}
|
|
}
|
|
|
|
public static String e(Object obj) {
|
|
int i2 = 2 % 2;
|
|
int i3 = h + 45;
|
|
g = i3 % 128;
|
|
if (i3 % 2 == 0) {
|
|
throw null;
|
|
}
|
|
if (obj == null) {
|
|
Object[] objArr = new Object[1];
|
|
r(new int[]{-1073760217, 1432545439}, 4 - ((Process.getThreadPriority(0) + 20) >> 6), objArr);
|
|
return ((String) objArr[0]).intern();
|
|
}
|
|
String obj2 = new StringBuffer().append(obj.getClass().getName()).append("@").append(System.identityHashCode(obj)).toString();
|
|
int i4 = g + 41;
|
|
h = i4 % 128;
|
|
int i5 = i4 % 2;
|
|
return obj2;
|
|
}
|
|
|
|
static {
|
|
String str;
|
|
h = 0;
|
|
g = 1;
|
|
d();
|
|
Class cls = a;
|
|
if (cls == null) {
|
|
int i2 = g + 73;
|
|
h = i2 % 128;
|
|
if (i2 % 2 != 0) {
|
|
cls = e("o.gkd");
|
|
a = cls;
|
|
int i3 = 34 / 0;
|
|
} else {
|
|
cls = e("o.gkd");
|
|
a = cls;
|
|
}
|
|
int i4 = 2 % 2;
|
|
}
|
|
ClassLoader e2 = e(cls);
|
|
i = e2;
|
|
if (e2 == null) {
|
|
int i5 = g + 53;
|
|
h = i5 % 128;
|
|
str = "BOOTLOADER";
|
|
if (i5 % 2 != 0) {
|
|
int i6 = 28 / 0;
|
|
}
|
|
} else {
|
|
try {
|
|
str = e(e2);
|
|
} catch (SecurityException unused) {
|
|
str = GrsBaseInfo.CountryCodeSource.UNKNOWN;
|
|
}
|
|
}
|
|
b = new StringBuffer("[LogFactory from ").append(str).append("] ").toString();
|
|
c = i();
|
|
Class cls2 = a;
|
|
if (cls2 == null) {
|
|
int i7 = g + 3;
|
|
h = i7 % 128;
|
|
int i8 = i7 % 2;
|
|
cls2 = e("o.gkd");
|
|
a = cls2;
|
|
int i9 = 2 % 2;
|
|
}
|
|
e(new Object[]{cls2}, -2068249034, 2068249038, (int) System.currentTimeMillis());
|
|
e = (Hashtable) e(new Object[0], 1244997742, -1244997742, (int) System.currentTimeMillis());
|
|
if (!e()) {
|
|
return;
|
|
}
|
|
int i10 = h + 75;
|
|
g = i10 % 128;
|
|
int i11 = i10 % 2;
|
|
d("BOOTSTRAP COMPLETED");
|
|
if (i11 == 0) {
|
|
throw null;
|
|
}
|
|
}
|
|
|
|
static void d() {
|
|
f = new int[]{1953804452, 903024688, 846150010, -2120619979, -372972128, -1497778244, -1978894542, 392437501, -1130609865, 1371259590, 137726825, -1164545983, 482135949, -1670697434, -1897740953, 1010762312, 1275814030, 2147004661};
|
|
}
|
|
|
|
private static void a(Class cls) {
|
|
e(new Object[]{cls}, -2068249034, 2068249038, (int) System.currentTimeMillis());
|
|
}
|
|
|
|
public static boolean e() {
|
|
int i2 = 2 % 2;
|
|
int i3 = h;
|
|
int i4 = i3 + 33;
|
|
g = i4 % 128;
|
|
int i5 = i4 % 2;
|
|
if (c == null) {
|
|
return false;
|
|
}
|
|
int i6 = i3 + 31;
|
|
g = i6 % 128;
|
|
int i7 = i6 % 2;
|
|
return true;
|
|
}
|
|
|
|
private static final Hashtable a() {
|
|
return (Hashtable) e(new Object[0], 1244997742, -1244997742, (int) System.currentTimeMillis());
|
|
}
|
|
|
|
protected static Object d(String str, ClassLoader classLoader) {
|
|
return e(new Object[]{str, classLoader}, 1618274389, -1618274387, (int) System.currentTimeMillis());
|
|
}
|
|
|
|
private static void c(ClassLoader classLoader, AbstractC15217gkd abstractC15217gkd) {
|
|
e(new Object[]{classLoader, abstractC15217gkd}, -2105921969, 2105921972, (int) System.currentTimeMillis());
|
|
}
|
|
}
|