package okhttp3.internal.http2; import com.ijm.dataencryption.de.DataDecryptTool; import java.io.IOException; import okhttp3.internal.Util; import okio.ByteString; /* loaded from: classes2.dex */ public final class Http2 { static final byte FLAG_ACK = 1; static final byte FLAG_COMPRESSED = 32; static final byte FLAG_END_HEADERS = 4; static final byte FLAG_END_PUSH_PROMISE = 4; static final byte FLAG_END_STREAM = 1; static final byte FLAG_NONE = 0; static final byte FLAG_PADDED = 8; static final byte FLAG_PRIORITY = 32; static final int INITIAL_MAX_FRAME_SIZE = 16384; static final byte TYPE_CONTINUATION = 9; static final byte TYPE_DATA = 0; static final byte TYPE_GOAWAY = 7; static final byte TYPE_HEADERS = 1; static final byte TYPE_PING = 6; static final byte TYPE_PRIORITY = 2; static final byte TYPE_PUSH_PROMISE = 5; static final byte TYPE_RST_STREAM = 3; static final byte TYPE_SETTINGS = 4; static final byte TYPE_WINDOW_UPDATE = 8; static final ByteString CONNECTION_PREFACE = ByteString.encodeUtf8("PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n"); private static final String[] FRAME_NAMES = {"DATA", "HEADERS", "PRIORITY", "RST_STREAM", "SETTINGS", "PUSH_PROMISE", "PING", "GOAWAY", "WINDOW_UPDATE", "CONTINUATION"}; static final String[] FLAGS = new String[64]; static final String[] BINARY = new String[DataDecryptTool.DECRYPT_ALL_FILE]; static { int i = 0; int i2 = 0; while (true) { String[] strArr = BINARY; if (i2 >= strArr.length) { break; } strArr[i2] = Util.format("%8s", Integer.toBinaryString(i2)).replace(' ', '0'); i2++; } String[] strArr2 = FLAGS; strArr2[0] = ""; strArr2[1] = "END_STREAM"; int[] iArr = {1}; strArr2[8] = "PADDED"; for (int i3 : iArr) { FLAGS[i3 | 8] = FLAGS[i3] + "|PADDED"; } String[] strArr3 = FLAGS; strArr3[4] = "END_HEADERS"; strArr3[32] = "PRIORITY"; strArr3[36] = "END_HEADERS|PRIORITY"; for (int i4 : new int[]{4, 32, 36}) { for (int i5 : iArr) { int i6 = i5 | i4; FLAGS[i6] = FLAGS[i5] + '|' + FLAGS[i4]; FLAGS[i6 | 8] = FLAGS[i5] + '|' + FLAGS[i4] + "|PADDED"; } } while (true) { String[] strArr4 = FLAGS; if (i >= strArr4.length) { return; } if (strArr4[i] == null) { strArr4[i] = BINARY[i]; } i++; } } private Http2() { } static String formatFlags(byte b, byte b2) { if (b2 == 0) { return ""; } if (b != 2 && b != 3) { if (b == 4 || b == 6) { return b2 == 1 ? "ACK" : BINARY[b2]; } if (b != 7 && b != 8) { String[] strArr = FLAGS; String str = b2 < strArr.length ? strArr[b2] : BINARY[b2]; return (b != 5 || (b2 & 4) == 0) ? (b != 0 || (b2 & 32) == 0) ? str : str.replace("PRIORITY", "COMPRESSED") : str.replace("HEADERS", "PUSH_PROMISE"); } } return BINARY[b2]; } static String frameLog(boolean z, int i, int i2, byte b, byte b2) { String[] strArr = FRAME_NAMES; String format = b < strArr.length ? strArr[b] : Util.format("0x%02x", Byte.valueOf(b)); String formatFlags = formatFlags(b, b2); Object[] objArr = new Object[5]; objArr[0] = z ? "<<" : ">>"; objArr[1] = Integer.valueOf(i); objArr[2] = Integer.valueOf(i2); objArr[3] = format; objArr[4] = formatFlags; return Util.format("%s 0x%08x %5d %-13s %s", objArr); } static IllegalArgumentException illegalArgument(String str, Object... objArr) { throw new IllegalArgumentException(Util.format(str, objArr)); } static IOException ioException(String str, Object... objArr) throws IOException { throw new IOException(Util.format(str, objArr)); } }