public final class okhttp3.internal.http2.Http2
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: okhttp3.internal.http2.Http2
  super_class: java.lang.Object
{
  static final okio.ByteString CONNECTION_PREFACE;
    descriptor: Lokio/ByteString;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final int INITIAL_MAX_FRAME_SIZE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 16384

  static final byte TYPE_DATA;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final byte TYPE_HEADERS;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final byte TYPE_PRIORITY;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final byte TYPE_RST_STREAM;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  static final byte TYPE_SETTINGS;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final byte TYPE_PUSH_PROMISE;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  static final byte TYPE_PING;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  static final byte TYPE_GOAWAY;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  static final byte TYPE_WINDOW_UPDATE;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  static final byte TYPE_CONTINUATION;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  static final byte FLAG_NONE;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final byte FLAG_ACK;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final byte FLAG_END_STREAM;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final byte FLAG_END_HEADERS;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final byte FLAG_END_PUSH_PROMISE;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final byte FLAG_PADDED;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  static final byte FLAG_PRIORITY;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  static final byte FLAG_COMPRESSED;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  private static final java.lang.String[] FRAME_NAMES;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final java.lang.String[] FLAGS;
    descriptor: [Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.String[] BINARY;
    descriptor: [Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=10, args_size=0
         0: .line 25
            ldc "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n"
            invokestatic okio.ByteString.encodeUtf8:(Ljava/lang/String;)Lokio/ByteString;
         1: .line 24
            putstatic okhttp3.internal.http2.Http2.CONNECTION_PREFACE:Lokio/ByteString;
         2: .line 51
            bipush 10
            anewarray java.lang.String
            dup
            iconst_0
         3: .line 52
            ldc "DATA"
            aastore
            dup
            iconst_1
         4: .line 53
            ldc "HEADERS"
            aastore
            dup
            iconst_2
         5: .line 54
            ldc "PRIORITY"
            aastore
            dup
            iconst_3
         6: .line 55
            ldc "RST_STREAM"
            aastore
            dup
            iconst_4
         7: .line 56
            ldc "SETTINGS"
            aastore
            dup
            iconst_5
         8: .line 57
            ldc "PUSH_PROMISE"
            aastore
            dup
            bipush 6
         9: .line 58
            ldc "PING"
            aastore
            dup
            bipush 7
        10: .line 59
            ldc "GOAWAY"
            aastore
            dup
            bipush 8
        11: .line 60
            ldc "WINDOW_UPDATE"
            aastore
            dup
            bipush 9
        12: .line 61
            ldc "CONTINUATION"
            aastore
        13: .line 51
            putstatic okhttp3.internal.http2.Http2.FRAME_NAMES:[Ljava/lang/String;
        14: .line 68
            bipush 64
            anewarray java.lang.String
            putstatic okhttp3.internal.http2.Http2.FLAGS:[Ljava/lang/String;
        15: .line 69
            sipush 256
            anewarray java.lang.String
            putstatic okhttp3.internal.http2.Http2.BINARY:[Ljava/lang/String;
        16: .line 71
            iconst_0
            istore 0 /* i */
        start local 0 // int i
        17: goto 20
        18: .line 72
      StackMap locals: int
      StackMap stack:
            getstatic okhttp3.internal.http2.Http2.BINARY:[Ljava/lang/String;
            iload 0 /* i */
            ldc "%8s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 0 /* i */
            invokestatic java.lang.Integer.toBinaryString:(I)Ljava/lang/String;
            aastore
            invokestatic okhttp3.internal.Util.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            bipush 32
            bipush 48
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            aastore
        19: .line 71
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 0 /* i */
            getstatic okhttp3.internal.http2.Http2.BINARY:[Ljava/lang/String;
            arraylength
            if_icmplt 18
        end local 0 // int i
        21: .line 75
            getstatic okhttp3.internal.http2.Http2.FLAGS:[Ljava/lang/String;
            iconst_0
            ldc ""
            aastore
        22: .line 76
            getstatic okhttp3.internal.http2.Http2.FLAGS:[Ljava/lang/String;
            iconst_1
            ldc "END_STREAM"
            aastore
        23: .line 78
            iconst_1
            newarray 10
            dup
            iconst_0
            iconst_1
            iastore
            astore 0 /* prefixFlags */
        start local 0 // int[] prefixFlags
        24: .line 80
            getstatic okhttp3.internal.http2.Http2.FLAGS:[Ljava/lang/String;
            bipush 8
            ldc "PADDED"
            aastore
        25: .line 81
            aload 0 /* prefixFlags */
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 29
      StackMap locals: int[] top int int int[]
      StackMap stack:
        26: aload 4
            iload 2
            iaload
            istore 1 /* prefixFlag */
        start local 1 // int prefixFlag
        27: .line 82
            getstatic okhttp3.internal.http2.Http2.FLAGS:[Ljava/lang/String;
            iload 1 /* prefixFlag */
            bipush 8
            ior
            new java.lang.StringBuilder
            dup
            getstatic okhttp3.internal.http2.Http2.FLAGS:[Ljava/lang/String;
            iload 1 /* prefixFlag */
            aaload
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "|PADDED"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        end local 1 // int prefixFlag
        28: .line 81
            iinc 2 1
      StackMap locals:
      StackMap stack:
        29: iload 2
            iload 3
            if_icmplt 26
        30: .line 85
            getstatic okhttp3.internal.http2.Http2.FLAGS:[Ljava/lang/String;
            iconst_4
            ldc "END_HEADERS"
            aastore
        31: .line 86
            getstatic okhttp3.internal.http2.Http2.FLAGS:[Ljava/lang/String;
            bipush 32
            ldc "PRIORITY"
            aastore
        32: .line 87
            getstatic okhttp3.internal.http2.Http2.FLAGS:[Ljava/lang/String;
            bipush 36
            ldc "END_HEADERS|PRIORITY"
            aastore
        33: .line 88
            iconst_3
            newarray 10
            dup
            iconst_0
        34: .line 89
            iconst_4
            iastore
            dup
            iconst_1
            bipush 32
            iastore
            dup
            iconst_2
            bipush 36
            iastore
        35: .line 88
            astore 1 /* frameFlags */
        start local 1 // int[] frameFlags
        36: .line 92
            aload 1 /* frameFlags */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 47
      StackMap locals: int[] int[] top int int int[]
      StackMap stack:
        37: aload 5
            iload 3
            iaload
            istore 2 /* frameFlag */
        start local 2 // int frameFlag
        38: .line 93
            aload 0 /* prefixFlags */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 45
      StackMap locals: int[] int[] int int int int[] top int int int[]
      StackMap stack:
        39: aload 9
            iload 7
            iaload
            istore 6 /* prefixFlag */
        start local 6 // int prefixFlag
        40: .line 94
            getstatic okhttp3.internal.http2.Http2.FLAGS:[Ljava/lang/String;
            iload 6 /* prefixFlag */
            iload 2 /* frameFlag */
            ior
            new java.lang.StringBuilder
            dup
            getstatic okhttp3.internal.http2.Http2.FLAGS:[Ljava/lang/String;
            iload 6 /* prefixFlag */
            aaload
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 124
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            getstatic okhttp3.internal.http2.Http2.FLAGS:[Ljava/lang/String;
            iload 2 /* frameFlag */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        41: .line 95
            getstatic okhttp3.internal.http2.Http2.FLAGS:[Ljava/lang/String;
            iload 6 /* prefixFlag */
            iload 2 /* frameFlag */
            ior
            bipush 8
            ior
        42: .line 96
            new java.lang.StringBuilder
            dup
            getstatic okhttp3.internal.http2.Http2.FLAGS:[Ljava/lang/String;
            iload 6 /* prefixFlag */
            aaload
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 124
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            getstatic okhttp3.internal.http2.Http2.FLAGS:[Ljava/lang/String;
            iload 2 /* frameFlag */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "|PADDED"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        43: .line 95
            aastore
        end local 6 // int prefixFlag
        44: .line 93
            iinc 7 1
      StackMap locals:
      StackMap stack:
        45: iload 7
            iload 8
            if_icmplt 39
        end local 2 // int frameFlag
        46: .line 92
            iinc 3 1
      StackMap locals: int[] int[] top int int int[]
      StackMap stack:
        47: iload 3
            iload 4
            if_icmplt 37
        48: .line 100
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        49: goto 52
        50: .line 101
      StackMap locals: int[] int[] int
      StackMap stack:
            getstatic okhttp3.internal.http2.Http2.FLAGS:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            ifnonnull 51
            getstatic okhttp3.internal.http2.Http2.FLAGS:[Ljava/lang/String;
            iload 2 /* i */
            getstatic okhttp3.internal.http2.Http2.BINARY:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            aastore
        51: .line 100
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        52: iload 2 /* i */
            getstatic okhttp3.internal.http2.Http2.FLAGS:[Ljava/lang/String;
            arraylength
            if_icmplt 50
        end local 2 // int i
        end local 1 // int[] frameFlags
        end local 0 // int[] prefixFlags
        53: .line 103
            return
      LocalVariableTable:
        Start  End  Slot         Name  Signature
           17   21     0            i  I
           24   53     0  prefixFlags  [I
           27   28     1   prefixFlag  I
           36   53     1   frameFlags  [I
           38   46     2    frameFlag  I
           40   44     6   prefixFlag  I
           49   53     2            i  I

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // okhttp3.internal.http2.Http2 this
         0: .line 105
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 106
            return
        end local 0 // okhttp3.internal.http2.Http2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lokhttp3/internal/http2/Http2;

  static java.lang.IllegalArgumentException illegalArgument(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;
    flags: (0x0088) ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String message
        start local 1 // java.lang.Object[] args
         0: .line 109
            new java.lang.IllegalArgumentException
            dup
            aload 0 /* message */
            aload 1 /* args */
            invokestatic okhttp3.internal.Util.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.Object[] args
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  message  Ljava/lang/String;
            0    1     1     args  [Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      message  
      args     

  static java.io.IOException ioException(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;
    flags: (0x0088) ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String message
        start local 1 // java.lang.Object[] args
         0: .line 113
            new java.io.IOException
            dup
            aload 0 /* message */
            aload 1 /* args */
            invokestatic okhttp3.internal.Util.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.Object[] args
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  message  Ljava/lang/String;
            0    1     1     args  [Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      message  
      args     

  static java.lang.String frameLog(boolean, int, int, byte, byte);
    descriptor: (ZIIBB)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // boolean inbound
        start local 1 // int streamId
        start local 2 // int length
        start local 3 // byte type
        start local 4 // byte flags
         0: .line 135
            iload 3 /* type */
            getstatic okhttp3.internal.http2.Http2.FRAME_NAMES:[Ljava/lang/String;
            arraylength
            if_icmpge 1
            getstatic okhttp3.internal.http2.Http2.FRAME_NAMES:[Ljava/lang/String;
            iload 3 /* type */
            aaload
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc "0x%02x"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 3 /* type */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic okhttp3.internal.Util.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 5 /* formattedType */
        start local 5 // java.lang.String formattedType
         3: .line 136
            iload 3 /* type */
            iload 4 /* flags */
            invokestatic okhttp3.internal.http2.Http2.formatFlags:(BB)Ljava/lang/String;
            astore 6 /* formattedFlags */
        start local 6 // java.lang.String formattedFlags
         4: .line 137
            ldc "%s 0x%08x %5d %-13s %s"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            iload 0 /* inbound */
            ifeq 5
            ldc "<<"
            goto 6
      StackMap locals: int int int int int java.lang.String java.lang.String
      StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int
         5: ldc ">>"
      StackMap locals: int int int int int java.lang.String java.lang.String
      StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
         6: aastore
            dup
            iconst_1
            iload 1 /* streamId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 2 /* length */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
         7: .line 138
            aload 5 /* formattedType */
            aastore
            dup
            iconst_4
            aload 6 /* formattedFlags */
            aastore
         8: .line 137
            invokestatic okhttp3.internal.Util.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 6 // java.lang.String formattedFlags
        end local 5 // java.lang.String formattedType
        end local 4 // byte flags
        end local 3 // byte type
        end local 2 // int length
        end local 1 // int streamId
        end local 0 // boolean inbound
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0         inbound  Z
            0    9     1        streamId  I
            0    9     2          length  I
            0    9     3            type  B
            0    9     4           flags  B
            3    9     5   formattedType  Ljava/lang/String;
            4    9     6  formattedFlags  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      inbound   
      streamId  
      length    
      type      
      flags     

  static java.lang.String formatFlags(byte, byte);
    descriptor: (BB)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // byte type
        start local 1 // byte flags
         0: .line 147
            iload 1 /* flags */
            ifne 1
            ldc ""
            areturn
         1: .line 148
      StackMap locals:
      StackMap stack:
            iload 0 /* type */
            tableswitch { // 2 - 8
                    2: 5
                    3: 5
                    4: 2
                    5: 6
                    6: 2
                    7: 5
                    8: 5
              default: 6
          }
         2: .line 151
      StackMap locals:
      StackMap stack:
            iload 1 /* flags */
            iconst_1
            if_icmpne 3
            ldc "ACK"
            goto 4
      StackMap locals:
      StackMap stack:
         3: getstatic okhttp3.internal.http2.Http2.BINARY:[Ljava/lang/String;
            iload 1 /* flags */
            aaload
      StackMap locals:
      StackMap stack: java.lang.String
         4: areturn
         5: .line 156
      StackMap locals:
      StackMap stack:
            getstatic okhttp3.internal.http2.Http2.BINARY:[Ljava/lang/String;
            iload 1 /* flags */
            aaload
            areturn
         6: .line 158
      StackMap locals:
      StackMap stack:
            iload 1 /* flags */
            getstatic okhttp3.internal.http2.Http2.FLAGS:[Ljava/lang/String;
            arraylength
            if_icmpge 7
            getstatic okhttp3.internal.http2.Http2.FLAGS:[Ljava/lang/String;
            iload 1 /* flags */
            aaload
            goto 8
      StackMap locals:
      StackMap stack:
         7: getstatic okhttp3.internal.http2.Http2.BINARY:[Ljava/lang/String;
            iload 1 /* flags */
            aaload
      StackMap locals:
      StackMap stack: java.lang.String
         8: astore 2 /* result */
        start local 2 // java.lang.String result
         9: .line 160
            iload 0 /* type */
            iconst_5
            if_icmpne 11
            iload 1 /* flags */
            iconst_4
            iand
            ifeq 11
        10: .line 161
            aload 2 /* result */
            ldc "HEADERS"
            ldc "PUSH_PROMISE"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            areturn
        11: .line 162
      StackMap locals: java.lang.String
      StackMap stack:
            iload 0 /* type */
            ifne 13
            iload 1 /* flags */
            bipush 32
            iand
            ifeq 13
        12: .line 163
            aload 2 /* result */
            ldc "PRIORITY"
            ldc "COMPRESSED"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            areturn
        13: .line 165
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // java.lang.String result
        end local 1 // byte flags
        end local 0 // byte type
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    type  B
            0   14     1   flags  B
            9   14     2  result  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      type   
      flags  
}
SourceFile: "Http2.java"