package io.netty.util;

import com.seewo.sdk.model.SDKKeyboardCode;
import io.netty.util.internal.StringUtil;
import io.netty.util.internal.logging.InternalLogger;
import io.netty.util.internal.logging.InternalLoggerFactory;
import java.net.Inet4Address;
import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.ArrayList;
import java.util.StringTokenizer;
import org.snmp4j.agent.mo.snmp.DisplayString;

/* JADX INFO: loaded from: classes.dex */
public final class NetUtil {
    private static final int IPV4_BYTE_COUNT = 4;
    private static final int IPV4_MAX_CHAR_BETWEEN_SEPARATOR = 3;
    private static final int IPV4_SEPARATORS = 3;
    private static final int IPV6_BYTE_COUNT = 16;
    private static final int IPV6_MAX_CHAR_BETWEEN_SEPARATOR = 4;
    private static final int IPV6_MAX_CHAR_COUNT = 39;
    private static final int IPV6_MAX_SEPARATORS = 8;
    private static final int IPV6_MIN_SEPARATORS = 2;
    private static final int IPV6_WORD_COUNT = 8;
    public static final InetAddress LOCALHOST;
    public static final Inet4Address LOCALHOST4;
    public static final Inet6Address LOCALHOST6;
    public static final NetworkInterface LOOPBACK_IF;
    public static final int SOMAXCONN;
    private static final boolean IPV4_PREFERRED = Boolean.getBoolean("java.net.preferIPv4Stack");
    private static final InternalLogger logger = InternalLoggerFactory.getInstance((Class<?>) NetUtil.class);

    /* JADX WARN: Code restructure failed: missing block: B:41:0x00ba, code lost:
    
        r9 = r7.nextElement();
        r4 = r6;
     */
    /* JADX WARN: Type inference fix 'apply assigned field type' failed
    java.lang.UnsupportedOperationException: ArgType.getObject(), call class: class jadx.core.dex.instructions.args.ArgType$UnknownArg
    	at jadx.core.dex.instructions.args.ArgType.getObject(ArgType.java:593)
    	at jadx.core.dex.attributes.nodes.ClassTypeVarsAttr.getTypeVarsMapFor(ClassTypeVarsAttr.java:35)
    	at jadx.core.dex.nodes.utils.TypeUtils.replaceClassGenerics(TypeUtils.java:177)
    	at jadx.core.dex.visitors.typeinference.FixTypesVisitor.insertExplicitUseCast(FixTypesVisitor.java:397)
    	at jadx.core.dex.visitors.typeinference.FixTypesVisitor.tryFieldTypeWithNewCasts(FixTypesVisitor.java:359)
    	at jadx.core.dex.visitors.typeinference.FixTypesVisitor.applyFieldType(FixTypesVisitor.java:309)
    	at jadx.core.dex.visitors.typeinference.FixTypesVisitor.visit(FixTypesVisitor.java:94)
     */
    static {
        /*
            Method dump skipped, instruction units count: 326
            To view this dump add '--comments-level debug' option
        */
        throw new UnsupportedOperationException("Method not decompiled: io.netty.util.NetUtil.<clinit>():void");
    }

    private NetUtil() {
    }

    public static String bytesToIpAddress(byte[] bArr, int i2, int i3) throws Throwable {
        if (i3 == 4) {
            StringBuilder sb = new StringBuilder(15);
            int i4 = i2 + 1;
            sb.append((bArr[i2] >> SDKKeyboardCode.FUNCTION_KEY_BOARD_U) & DisplayString.MAX_SIZE);
            sb.append('.');
            int i5 = i4 + 1;
            sb.append((bArr[i4] >> 16) & DisplayString.MAX_SIZE);
            sb.append('.');
            sb.append((bArr[i5] >> 8) & DisplayString.MAX_SIZE);
            sb.append('.');
            sb.append(bArr[i5 + 1] & 255);
            return sb.toString();
        }
        if (i3 != 16) {
            throw new IllegalArgumentException("length: " + i3 + " (expected: 4 or 16)");
        }
        StringBuilder sb2 = new StringBuilder(39);
        int i6 = i2 + 14;
        while (i2 < i6) {
            StringUtil.toHexString(sb2, bArr, i2, 2);
            sb2.append(':');
            i2 += 2;
        }
        StringUtil.toHexString(sb2, bArr, i2, 2);
        return sb2.toString();
    }

    private static void convertToBytes(String str, byte[] bArr, int i2) {
        int length = str.length();
        int i3 = 0;
        bArr[i2] = 0;
        int i4 = i2 + 1;
        bArr[i4] = 0;
        if (length > 3) {
            bArr[i2] = (byte) ((getIntValue(str.charAt(0)) << 4) | bArr[i2]);
            i3 = 1;
        }
        if (length > 2) {
            bArr[i2] = (byte) (getIntValue(str.charAt(i3)) | bArr[i2]);
            i3++;
        }
        if (length > 1) {
            bArr[i4] = (byte) ((getIntValue(str.charAt(i3)) << 4) | bArr[i4]);
            i3++;
        }
        bArr[i4] = (byte) ((getIntValue(str.charAt(i3)) & 15) | bArr[i4]);
    }

    public static byte[] createByteArrayFromIpAddressString(String str) {
        int i2 = 0;
        if (isValidIpV4Address(str)) {
            StringTokenizer stringTokenizer = new StringTokenizer(str, ".");
            byte[] bArr = new byte[4];
            while (i2 < 4) {
                bArr[i2] = (byte) Integer.parseInt(stringTokenizer.nextToken());
                i2++;
            }
            return bArr;
        }
        if (!isValidIpV6Address(str)) {
            return null;
        }
        if (str.charAt(0) == '[') {
            str = str.substring(1, str.length() - 1);
        }
        int iIndexOf = str.indexOf(37);
        if (iIndexOf >= 0) {
            str = str.substring(0, iIndexOf);
        }
        StringTokenizer stringTokenizer2 = new StringTokenizer(str, ":.", true);
        ArrayList arrayList = new ArrayList();
        ArrayList arrayList2 = new ArrayList();
        String str2 = "";
        String str3 = "";
        int size = -1;
        while (stringTokenizer2.hasMoreTokens()) {
            String strNextToken = stringTokenizer2.nextToken();
            if (":".equals(strNextToken)) {
                if (":".equals(str3)) {
                    size = arrayList.size();
                } else if (!str3.isEmpty()) {
                    arrayList.add(str3);
                }
            } else if (".".equals(strNextToken)) {
                arrayList2.add(str3);
            }
            String str4 = str3;
            str3 = strNextToken;
            str2 = str4;
        }
        if (":".equals(str2)) {
            if (":".equals(str3)) {
                size = arrayList.size();
            } else {
                arrayList.add(str3);
            }
        } else if (".".equals(str2)) {
            arrayList2.add(str3);
        }
        int i3 = arrayList2.isEmpty() ? 8 : 6;
        if (size != -1) {
            int size2 = i3 - arrayList.size();
            for (int i4 = 0; i4 < size2; i4++) {
                arrayList.add(size, "0");
            }
        }
        byte[] bArr2 = new byte[16];
        for (int i5 = 0; i5 < arrayList.size(); i5++) {
            convertToBytes((String) arrayList.get(i5), bArr2, i5 << 1);
        }
        while (i2 < arrayList2.size()) {
            bArr2[i2 + 12] = (byte) (Integer.parseInt((String) arrayList2.get(i2)) & DisplayString.MAX_SIZE);
            i2++;
        }
        return bArr2;
    }

    public static Inet6Address getByName(CharSequence charSequence) {
        return getByName(charSequence, true);
    }

    /*  JADX ERROR: UnsupportedOperationException in pass: RegionMakerVisitor
        java.lang.UnsupportedOperationException
        	at java.base/java.util.Collections$UnmodifiableCollection.add(Collections.java:1093)
        	at jadx.core.dex.visitors.regions.maker.SwitchRegionMaker$1.leaveRegion(SwitchRegionMaker.java:390)
        	at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverseInternal(DepthRegionTraversal.java:70)
        	at jadx.core.dex.visitors.regions.DepthRegionTraversal.lambda$traverseInternal$0(DepthRegionTraversal.java:68)
        	at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
        	at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverseInternal(DepthRegionTraversal.java:68)
        	at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverse(DepthRegionTraversal.java:23)
        	at jadx.core.dex.visitors.regions.maker.SwitchRegionMaker.insertBreaksForCase(SwitchRegionMaker.java:370)
        	at jadx.core.dex.visitors.regions.maker.SwitchRegionMaker.insertBreaks(SwitchRegionMaker.java:85)
        	at jadx.core.dex.visitors.regions.PostProcessRegions.leaveRegion(PostProcessRegions.java:33)
        	at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverseInternal(DepthRegionTraversal.java:70)
        	at jadx.core.dex.visitors.regions.DepthRegionTraversal.lambda$traverseInternal$0(DepthRegionTraversal.java:68)
        	at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
        	at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverseInternal(DepthRegionTraversal.java:68)
        	at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverse(DepthRegionTraversal.java:19)
        	at jadx.core.dex.visitors.regions.PostProcessRegions.process(PostProcessRegions.java:23)
        	at jadx.core.dex.visitors.regions.RegionMakerVisitor.visit(RegionMakerVisitor.java:31)
        */
    private static int getIntValue(char r1) {
        /*
            r0 = 0
            switch(r1) {
                case 48: goto L20;
                case 49: goto L1e;
                case 50: goto L1c;
                case 51: goto L1a;
                case 52: goto L18;
                case 53: goto L16;
                case 54: goto L14;
                case 55: goto L12;
                case 56: goto Lf;
                case 57: goto Lc;
                default: goto L4;
            }
        L4:
            char r1 = java.lang.Character.toLowerCase(r1)
            switch(r1) {
                case 97: goto L30;
                case 98: goto L2d;
                case 99: goto L2a;
                case 100: goto L27;
                case 101: goto L24;
                case 102: goto L21;
                default: goto Lb;
            }
        Lb:
            return r0
        Lc:
            r1 = 9
            return r1
        Lf:
            r1 = 8
            return r1
        L12:
            r1 = 7
            return r1
        L14:
            r1 = 6
            return r1
        L16:
            r1 = 5
            return r1
        L18:
            r1 = 4
            return r1
        L1a:
            r1 = 3
            return r1
        L1c:
            r1 = 2
            return r1
        L1e:
            r1 = 1
            return r1
        L20:
            return r0
        L21:
            r1 = 15
            return r1
        L24:
            r1 = 14
            return r1
        L27:
            r1 = 13
            return r1
        L2a:
            r1 = 12
            return r1
        L2d:
            r1 = 11
            return r1
        L30:
            r1 = 10
            return r1
        */
        throw new UnsupportedOperationException("Method not decompiled: io.netty.util.NetUtil.getIntValue(char):int");
    }

    private static boolean inRangeEndExclusive(int i2, int i3, int i4) {
        return i2 >= i3 && i2 < i4;
    }

    public static String intToIpAddress(int i2) {
        StringBuilder sb = new StringBuilder(15);
        sb.append((i2 >> 24) & DisplayString.MAX_SIZE);
        sb.append('.');
        sb.append((i2 >> 16) & DisplayString.MAX_SIZE);
        sb.append('.');
        sb.append((i2 >> 8) & DisplayString.MAX_SIZE);
        sb.append('.');
        sb.append(i2 & DisplayString.MAX_SIZE);
        return sb.toString();
    }

    public static boolean isIpV4StackPreferred() {
        return IPV4_PREFERRED;
    }

    private static boolean isValidHexChar(char c2) {
        return (c2 >= '0' && c2 <= '9') || (c2 >= 'A' && c2 <= 'F') || (c2 >= 'a' && c2 <= 'f');
    }

    private static boolean isValidIp4Word(String str) {
        if (str.length() < 1 || str.length() > 3) {
            return false;
        }
        for (int i2 = 0; i2 < str.length(); i2++) {
            char cCharAt = str.charAt(i2);
            if (cCharAt < '0' || cCharAt > '9') {
                return false;
            }
        }
        return Integer.parseInt(str) <= 255;
    }

    public static boolean isValidIpV4Address(String str) {
        int length = str.length();
        if (length > 15) {
            return false;
        }
        StringBuilder sb = new StringBuilder();
        int i2 = 0;
        for (int i3 = 0; i3 < length; i3++) {
            char cCharAt = str.charAt(i3);
            if (cCharAt == '.') {
                i2++;
                if (i2 > 3 || sb.length() == 0 || Integer.parseInt(sb.toString()) > 255) {
                    return false;
                }
                sb.delete(0, sb.length());
            } else {
                if (!Character.isDigit(cCharAt) || sb.length() > 2) {
                    return false;
                }
                sb.append(cCharAt);
            }
        }
        return sb.length() != 0 && Integer.parseInt(sb.toString()) <= 255 && i2 == 3;
    }

    public static boolean isValidIpV6Address(String str) {
        int i2;
        int length = str.length();
        StringBuilder sb = new StringBuilder();
        int length2 = str.length();
        if (length2 < 2) {
            return false;
        }
        if (str.charAt(0) != '[') {
            i2 = 0;
        } else {
            if (str.charAt(length2 - 1) != ']') {
                return false;
            }
            length2--;
            i2 = 1;
        }
        int iIndexOf = str.indexOf(37, i2);
        if (iIndexOf >= 0) {
            length2 = iIndexOf;
        }
        int i3 = i2;
        int i4 = 0;
        char c2 = 0;
        int i5 = 0;
        boolean z = false;
        while (i3 < length2) {
            char cCharAt = str.charAt(i3);
            if (cCharAt == '.') {
                i4++;
                if (i4 > 3 || !isValidIp4Word(sb.toString())) {
                    return false;
                }
                if (i5 != 6 && !z) {
                    return false;
                }
                if (i5 == 7 && str.charAt(i2) != ':' && str.charAt(i2 + 1) != ':') {
                    return false;
                }
                sb.delete(0, sb.length());
            } else if (cCharAt != ':') {
                if (sb.length() > 3 || !isValidHexChar(cCharAt)) {
                    return false;
                }
                sb.append(cCharAt);
            } else {
                if ((i3 == i2 && (str.length() <= i3 || str.charAt(i3 + 1) != ':')) || (i5 = i5 + 1) > 7 || i4 > 0) {
                    return false;
                }
                if (c2 == ':') {
                    if (z) {
                        return false;
                    }
                    z = true;
                }
                sb.delete(0, sb.length());
            }
            i3++;
            c2 = cCharAt;
        }
        if (i4 > 0) {
            return i4 == 3 && isValidIp4Word(sb.toString()) && i5 < 7;
        }
        if (i5 == 7 || z) {
            return (sb.length() == 0 && str.charAt((length + (-1)) - i2) == ':' && str.charAt((length - 2) - i2) != ':') ? false : true;
        }
        return false;
    }

    private static boolean isValidNumericChar(char c2) {
        return c2 >= '0' && c2 <= '9';
    }

    public static String toAddressString(InetAddress inetAddress) {
        return toAddressString(inetAddress, false);
    }

    /* JADX WARN: Removed duplicated region for block: B:123:0x0186  */
    /*
        Code decompiled incorrectly, please refer to instructions dump.
        To view partially-correct add '--show-bad-code' argument
    */
    public static java.net.Inet6Address getByName(java.lang.CharSequence r18, boolean r19) {
        /*
            Method dump skipped, instruction units count: 705
            To view this dump add '--comments-level debug' option
        */
        throw new UnsupportedOperationException("Method not decompiled: io.netty.util.NetUtil.getByName(java.lang.CharSequence, boolean):java.net.Inet6Address");
    }

    public static String toAddressString(InetAddress inetAddress, boolean z) {
        int i2;
        int i3;
        if (inetAddress instanceof Inet4Address) {
            return inetAddress.getHostAddress();
        }
        if (!(inetAddress instanceof Inet6Address)) {
            throw new IllegalArgumentException("Unhandled type: " + inetAddress.getClass());
        }
        byte[] address = inetAddress.getAddress();
        int[] iArr = new int[8];
        boolean z2 = false;
        int i4 = 0;
        while (true) {
            i2 = 1;
            if (i4 >= 8) {
                break;
            }
            int i5 = i4 << 1;
            iArr[i4] = (address[i5 + 1] & 255) | ((address[i5] & 255) << 8);
            i4++;
        }
        int i6 = -1;
        int i7 = 0;
        int i8 = -1;
        int i9 = 0;
        int i10 = -1;
        while (i7 < 8) {
            if (iArr[i7] == 0) {
                if (i8 < 0) {
                    i8 = i7;
                }
            } else if (i8 >= 0) {
                int i11 = i7 - i8;
                if (i11 > i9) {
                    i9 = i11;
                } else {
                    i8 = i10;
                }
                i10 = i8;
                i8 = -1;
            }
            i7++;
        }
        if (i8 < 0 || (i3 = i7 - i8) <= i9) {
            i8 = i10;
        } else {
            i9 = i3;
        }
        if (i9 == 1) {
            i9 = 0;
        } else {
            i6 = i8;
        }
        int i12 = i9 + i6;
        StringBuilder sb = new StringBuilder(39);
        if (i12 < 0) {
            sb.append(Integer.toHexString(iArr[0]));
            while (i2 < 8) {
                sb.append(':');
                sb.append(Integer.toHexString(iArr[i2]));
                i2++;
            }
        } else {
            if (inRangeEndExclusive(0, i6, i12)) {
                sb.append("::");
                if (z && i12 == 5 && iArr[5] == 65535) {
                    z2 = true;
                }
            } else {
                sb.append(Integer.toHexString(iArr[0]));
            }
            while (i2 < 8) {
                if (!inRangeEndExclusive(i2, i6, i12)) {
                    if (!inRangeEndExclusive(i2 - 1, i6, i12)) {
                        if (!z2 || i2 == 6) {
                            sb.append(':');
                        } else {
                            sb.append('.');
                        }
                    }
                    if (!z2 || i2 <= 5) {
                        sb.append(Integer.toHexString(iArr[i2]));
                    } else {
                        sb.append(iArr[i2] >> 8);
                        sb.append('.');
                        sb.append(iArr[i2] & DisplayString.MAX_SIZE);
                    }
                } else if (!inRangeEndExclusive(i2 - 1, i6, i12)) {
                    sb.append("::");
                }
                i2++;
            }
        }
        return sb.toString();
    }
}
