Recover Files v1.3.9版本的 MD5 值为:27a8b2c239c6cb7111d74d6bb07d21b2
以下内容为反编译后的 e.java 源代码,内容仅作参考
package w6;
import com.google.common.base.e;
import com.google.common.base.h0;
import com.google.common.base.z;
import com.google.common.hash.t;
import ie.n2;
import java.math.BigInteger;
import java.net.Inet4Address;
import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.nio.ByteBuffer;
import java.util.Arrays;
import java.util.Locale;
@w6.a
@p6.c
public final class e {
public static final int f40422a = 4;
public static final int f40423b = 8;
public static final char f40424c = '.';
public static final com.google.common.base.e f40426e = new e.m(f40424c);
public static final char f40425d = ':';
public static final com.google.common.base.e f40427f = new e.m(f40425d);
public static final Inet4Address f40428g = (Inet4Address) g("127.0.0.1");
public static final Inet4Address f40429h = (Inet4Address) g("0.0.0.0");
public static final class a {
public final Inet4Address f40430a;
public final Inet4Address f40431b;
public final int f40432c;
public final int f40433d;
public a(@de.a Inet4Address inet4Address, @de.a Inet4Address inet4Address2, int i10, int i11) {
boolean z10;
if (i10 >= 0 && i10 <= 65535) {
z10 = true;
} else {
z10 = false;
}
h0.k(z10, "port '%s' is out of range (0 <= port <= 0xffff)", i10);
h0.k(i11 >= 0 && i11 <= 65535, "flags '%s' is out of range (0 <= flags <= 0xffff)", i11);
this.f40430a = (Inet4Address) z.a(inet4Address, e.f40429h);
this.f40431b = (Inet4Address) z.a(inet4Address2, e.f40429h);
this.f40432c = i10;
this.f40433d = i11;
}
public Inet4Address a() {
return this.f40431b;
}
public int b() {
return this.f40433d;
}
public int c() {
return this.f40432c;
}
public Inet4Address d() {
return this.f40430a;
}
}
public static boolean A(Inet6Address inet6Address) {
byte[] address = inet6Address.getAddress();
if (address[0] != 32 || address[1] != 2) {
return false;
}
return true;
}
public static boolean B(Inet6Address inet6Address) {
byte b10;
if (!inet6Address.isIPv4CompatibleAddress()) {
return false;
}
byte[] address = inet6Address.getAddress();
if (address[12] == 0 && address[13] == 0 && address[14] == 0 && ((b10 = address[15]) == 0 || b10 == 1)) {
return false;
}
return true;
}
public static boolean C(String str) {
if (z(str) != null) {
return true;
}
return false;
}
public static boolean D(Inet6Address inet6Address) {
if (G(inet6Address)) {
return false;
}
byte[] address = inet6Address.getAddress();
if ((address[8] | 3) != 3 || address[9] != 0 || address[10] != 94 || address[11] != -2) {
return false;
}
return true;
}
public static boolean E(String str) {
byte[] z10 = z(str);
if (z10 == null || z10.length != 16) {
return false;
}
int i10 = 0;
while (true) {
if (i10 < 10) {
if (z10[i10] != 0) {
return false;
}
i10++;
} else {
for (int i11 = 10; i11 < 12; i11++) {
if (z10[i11] != -1) {
return false;
}
}
return true;
}
}
}
public static boolean F(InetAddress inetAddress) {
for (byte b10 : inetAddress.getAddress()) {
if (b10 != -1) {
return false;
}
}
return true;
}
public static boolean G(Inet6Address inet6Address) {
byte[] address = inet6Address.getAddress();
if (address[0] != 32 || address[1] != 1 || address[2] != 0 || address[3] != 0) {
return false;
}
return true;
}
public static boolean H(String str) {
if (i(str) != null) {
return true;
}
return false;
}
public static short I(String str, int i10, int i11) {
int i12 = i11 - i10;
if (i12 > 0 && i12 <= 4) {
int i13 = 0;
while (i10 < i11) {
i13 = (i13 << 4) | Character.digit(str.charAt(i10), 16);
i10++;
}
return (short) i13;
}
throw new NumberFormatException();
}
public static byte J(String str, int i10, int i11) {
int i12 = i11 - i10;
if (i12 > 0 && i12 <= 3) {
if (i12 > 1 && str.charAt(i10) == '0') {
throw new NumberFormatException();
}
int i13 = 0;
while (i10 < i11) {
int i14 = i13 * 10;
int digit = Character.digit(str.charAt(i10), 10);
if (digit >= 0) {
i13 = i14 + digit;
i10++;
} else {
throw new NumberFormatException();
}
}
if (i13 <= 255) {
return (byte) i13;
}
throw new NumberFormatException();
}
throw new NumberFormatException();
}
@de.a
public static byte[] K(String str) {
if (f40426e.i(str) + 1 != 4) {
return null;
}
byte[] bArr = new byte[4];
int i10 = 0;
for (int i11 = 0; i11 < 4; i11++) {
int indexOf = str.indexOf(46, i10);
if (indexOf == -1) {
indexOf = str.length();
}
try {
bArr[i11] = J(str, i10, indexOf);
i10 = indexOf + 1;
} catch (NumberFormatException unused) {
return null;
}
}
return bArr;
}
@de.a
public static byte[] L(String str) {
int i10 = f40427f.i(str);
if (i10 >= 2 && i10 <= 8) {
int i11 = 1;
int i12 = i10 + 1;
int i13 = 8 - i12;
boolean z10 = false;
for (int i14 = 0; i14 < str.length() - 1; i14++) {
if (str.charAt(i14) == ':' && str.charAt(i14 + 1) == ':') {
if (z10) {
return null;
}
i13++;
if (i14 == 0) {
i13++;
}
if (i14 == str.length() - 2) {
i13++;
}
z10 = true;
}
}
if (str.charAt(0) == ':' && str.charAt(1) != ':') {
return null;
}
if (str.charAt(str.length() - 1) == ':' && str.charAt(str.length() - 2) != ':') {
return null;
}
if (z10 && i13 <= 0) {
return null;
}
if (!z10 && i12 != 8) {
return null;
}
ByteBuffer allocate = ByteBuffer.allocate(16);
try {
if (str.charAt(0) != ':') {
i11 = 0;
}
while (i11 < str.length()) {
int indexOf = str.indexOf(58, i11);
if (indexOf == -1) {
indexOf = str.length();
}
if (str.charAt(i11) == ':') {
for (int i15 = 0; i15 < i13; i15++) {
allocate.putShort((short) 0);
}
} else {
allocate.putShort(I(str, i11, indexOf));
}
i11 = indexOf + 1;
}
return allocate.array();
} catch (NumberFormatException unused) {
}
}
return null;
}
public static String M(InetAddress inetAddress) {
inetAddress.getClass();
if (inetAddress instanceof Inet4Address) {
return inetAddress.getHostAddress();
}
h0.d(inetAddress instanceof Inet6Address);
byte[] address = inetAddress.getAddress();
int[] iArr = new int[8];
for (int i10 = 0; i10 < 8; i10++) {
int i11 = i10 * 2;
iArr[i10] = com.google.common.primitives.l.k((byte) 0, (byte) 0, address[i11], address[i11 + 1]);
}
d(iArr);
return x(iArr);
}
public static BigInteger N(InetAddress inetAddress) {
return new BigInteger(1, inetAddress.getAddress());
}
public static String O(InetAddress inetAddress) {
if (inetAddress instanceof Inet6Address) {
String M = M(inetAddress);
return com.google.android.exoplayer2.e.a(com.google.android.ads.mediationtestsuite.dataobjects.a.a(M, 2), "[", M, "]");
}
return M(inetAddress);
}
public static InetAddress b(byte[] bArr) {
try {
return InetAddress.getByAddress(bArr);
} catch (UnknownHostException e10) {
throw new AssertionError(e10);
}
}
public static int c(InetAddress inetAddress) {
return v6.h.h(q(inetAddress).getAddress()).readInt();
}
public static void d(int[] iArr) {
int i10 = -1;
int i11 = -1;
int i12 = -1;
for (int i13 = 0; i13 < iArr.length + 1; i13++) {
if (i13 < iArr.length && iArr[i13] == 0) {
if (i12 < 0) {
i12 = i13;
}
} else if (i12 >= 0) {
int i14 = i13 - i12;
if (i14 > i10) {
i11 = i12;
i10 = i14;
}
i12 = -1;
}
}
if (i10 >= 2) {
Arrays.fill(iArr, i11, i10 + i11, -1);
}
}
@de.a
public static String e(String str) {
int lastIndexOf = str.lastIndexOf(58) + 1;
String substring = str.substring(0, lastIndexOf);
byte[] K = K(str.substring(lastIndexOf));
if (K == null) {
return null;
}
String hexString = Integer.toHexString(((K[0] & 255) << 8) | (K[1] & 255));
String hexString2 = Integer.toHexString((K[3] & 255) | ((K[2] & 255) << 8));
return com.google.android.exoplayer2.extractor.d.a(com.google.android.ads.mediationtestsuite.dataobjects.a.a(hexString2, com.google.android.ads.mediationtestsuite.dataobjects.a.a(hexString, com.google.android.ads.mediationtestsuite.dataobjects.a.a(substring, 1))), substring, hexString, ":", hexString2);
}
public static InetAddress f(InetAddress inetAddress) {
boolean z10;
byte[] address = inetAddress.getAddress();
int length = address.length - 1;
while (length >= 0 && address[length] == 0) {
address[length] = -1;
length--;
}
if (length >= 0) {
z10 = true;
} else {
z10 = false;
}
h0.u(z10, "Decrementing %s would wrap.", inetAddress);
address[length] = (byte) (address[length] - 1);
return b(address);
}
@z6.a
public static InetAddress g(String str) {
byte[] z10 = z(str);
if (z10 != null) {
return b(z10);
}
throw j("'%s' is not an IP string literal.", str);
}
public static InetAddress h(String str) {
InetAddress i10 = i(str);
if (i10 != null) {
return i10;
}
throw j("Not a valid URI IP literal: '%s'", str);
}
@de.a
public static InetAddress i(String str) {
int i10;
str.getClass();
if (str.startsWith("[") && str.endsWith("]")) {
str = str.substring(1, str.length() - 1);
i10 = 16;
} else {
i10 = 4;
}
byte[] z10 = z(str);
if (z10 != null && z10.length == i10) {
return b(z10);
}
return null;
}
public static IllegalArgumentException j(String str, Object... objArr) {
return new IllegalArgumentException(String.format(Locale.ROOT, str, objArr));
}
public static InetAddress k(BigInteger bigInteger, boolean z10) {
boolean z11;
int i10;
if (bigInteger.signum() >= 0) {
z11 = true;
} else {
z11 = false;
}
h0.e(z11, "BigInteger must be greater than or equal to 0");
if (z10) {
i10 = 16;
} else {
i10 = 4;
}
byte[] byteArray = bigInteger.toByteArray();
byte[] bArr = new byte[i10];
int max = Math.max(0, byteArray.length - i10);
int length = byteArray.length - max;
int i11 = i10 - length;
for (int i12 = 0; i12 < max; i12++) {
if (byteArray[i12] != 0) {
throw j("BigInteger cannot be converted to InetAddress because it has more than %d bytes: %s", Integer.valueOf(i10), bigInteger);
}
}
System.arraycopy(byteArray, max, bArr, i11, length);
try {
return InetAddress.getByAddress(bArr);
} catch (UnknownHostException e10) {
throw new AssertionError(e10);
}
}
public static Inet4Address l(BigInteger bigInteger) {
return (Inet4Address) k(bigInteger, false);
}
public static Inet6Address m(BigInteger bigInteger) {
return (Inet6Address) k(bigInteger, true);
}
public static Inet4Address n(int i10) {
return t(com.google.common.primitives.l.C(i10));
}
public static InetAddress o(byte[] bArr) throws UnknownHostException {
byte[] bArr2 = new byte[bArr.length];
for (int i10 = 0; i10 < bArr.length; i10++) {
bArr2[i10] = bArr[(bArr.length - i10) - 1];
}
return InetAddress.getByAddress(bArr2);
}
public static Inet4Address p(Inet6Address inet6Address) {
h0.u(A(inet6Address), "Address '%s' is not a 6to4 address.", M(inet6Address));
return t(Arrays.copyOfRange(inet6Address.getAddress(), 2, 6));
}
public static Inet4Address q(InetAddress inetAddress) {
boolean z10;
long j10;
if (inetAddress instanceof Inet4Address) {
return (Inet4Address) inetAddress;
}
byte[] address = inetAddress.getAddress();
int i10 = 0;
while (true) {
if (i10 < 15) {
if (address[i10] != 0) {
z10 = false;
break;
}
i10++;
} else {
z10 = true;
break;
}
}
if (z10 && address[15] == 1) {
return f40428g;
}
if (z10 && address[15] == 0) {
return f40429h;
}
Inet6Address inet6Address = (Inet6Address) inetAddress;
if (w(inet6Address)) {
j10 = s(inet6Address).hashCode();
} else {
j10 = ByteBuffer.wrap(inet6Address.getAddress(), 0, 8).getLong();
}
int asInt = t.B().hashLong(j10).asInt() | (-536870912);
if (asInt == -1) {
asInt = -2;
}
return t(com.google.common.primitives.l.C(asInt));
}
public static Inet4Address r(Inet6Address inet6Address) {
h0.u(B(inet6Address), "Address '%s' is not IPv4-compatible.", M(inet6Address));
return t(Arrays.copyOfRange(inet6Address.getAddress(), 12, 16));
}
public static Inet4Address s(Inet6Address inet6Address) {
if (B(inet6Address)) {
return r(inet6Address);
}
if (A(inet6Address)) {
return p(inet6Address);
}
if (G(inet6Address)) {
return v(inet6Address).f40431b;
}
throw j("'%s' has no embedded IPv4 address.", M(inet6Address));
}
public static Inet4Address t(byte[] bArr) {
boolean z10;
if (bArr.length == 4) {
z10 = true;
} else {
z10 = false;
}
h0.k(z10, "Byte array has invalid length for an IPv4 address: %s != 4.", bArr.length);
return (Inet4Address) b(bArr);
}
public static Inet4Address u(Inet6Address inet6Address) {
h0.u(D(inet6Address), "Address '%s' is not an ISATAP address.", M(inet6Address));
return t(Arrays.copyOfRange(inet6Address.getAddress(), 12, 16));
}
public static a v(Inet6Address inet6Address) {
h0.u(G(inet6Address), "Address '%s' is not a Teredo address.", M(inet6Address));
byte[] address = inet6Address.getAddress();
Inet4Address t10 = t(Arrays.copyOfRange(address, 4, 8));
int readShort = v6.h.i(address, 8).readShort() & n2.f32400e;
int i10 = 65535 & (~v6.h.i(address, 10).readShort());
byte[] copyOfRange = Arrays.copyOfRange(address, 12, 16);
for (int i11 = 0; i11 < copyOfRange.length; i11++) {
copyOfRange[i11] = (byte) (~copyOfRange[i11]);
}
return new a(t10, t(copyOfRange), i10, readShort);
}
public static boolean w(Inet6Address inet6Address) {
if (!B(inet6Address) && !A(inet6Address) && !G(inet6Address)) {
return false;
}
return true;
}
public static String x(int[] iArr) {
boolean z10;
StringBuilder sb2 = new StringBuilder(39);
int i10 = 0;
boolean z11 = false;
while (i10 < iArr.length) {
if (iArr[i10] >= 0) {
z10 = true;
} else {
z10 = false;
}
if (z10) {
if (z11) {
sb2.append(f40425d);
}
sb2.append(Integer.toHexString(iArr[i10]));
} else if (i10 == 0 || z11) {
sb2.append("::");
}
i10++;
z11 = z10;
}
return sb2.toString();
}
public static InetAddress y(InetAddress inetAddress) {
boolean z10;
byte[] address = inetAddress.getAddress();
int length = address.length - 1;
while (true) {
z10 = false;
if (length < 0 || address[length] != -1) {
break;
}
address[length] = 0;
length--;
}
if (length >= 0) {
z10 = true;
}
h0.u(z10, "Incrementing %s would wrap.", inetAddress);
address[length] = (byte) (address[length] + 1);
return b(address);
}
@de.a
public static byte[] z(String str) {
int i10 = 0;
boolean z10 = false;
boolean z11 = false;
while (true) {
if (i10 < str.length()) {
char charAt = str.charAt(i10);
if (charAt == '.') {
z10 = true;
} else if (charAt == ':') {
if (z10) {
return null;
}
z11 = true;
} else {
if (charAt == '%') {
break;
}
if (Character.digit(charAt, 16) == -1) {
return null;
}
}
i10++;
} else {
i10 = -1;
break;
}
}
}
}