public class io.netty.handler.codec.haproxy.HAProxyMessageDecoder extends io.netty.handler.codec.ByteToMessageDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.netty.handler.codec.haproxy.HAProxyMessageDecoder
  super_class: io.netty.handler.codec.ByteToMessageDecoder
{
  private static final int V1_MAX_LENGTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 108

  private static final int V2_MAX_LENGTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 65551

  private static final int V2_MIN_LENGTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 232

  private static final int V2_MAX_TLV;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 65319

  private static final int DELIMITER_LENGTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final byte[] BINARY_PREFIX;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] TEXT_PREFIX;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int BINARY_PREFIX_LENGTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final io.netty.handler.codec.ProtocolDetectionResult<io.netty.handler.codec.haproxy.HAProxyProtocolVersion> DETECTION_RESULT_V1;
    descriptor: Lio/netty/handler/codec/ProtocolDetectionResult;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lio/netty/handler/codec/ProtocolDetectionResult<Lio/netty/handler/codec/haproxy/HAProxyProtocolVersion;>;

  private static final io.netty.handler.codec.ProtocolDetectionResult<io.netty.handler.codec.haproxy.HAProxyProtocolVersion> DETECTION_RESULT_V2;
    descriptor: Lio/netty/handler/codec/ProtocolDetectionResult;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lio/netty/handler/codec/ProtocolDetectionResult<Lio/netty/handler/codec/haproxy/HAProxyProtocolVersion;>;

  private boolean discarding;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int discardedBytes;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean finished;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int version;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final int v2MaxHeaderSize;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 61
            bipush 12
            newarray 8
            dup
            iconst_0
         1: .line 62
            bipush 13
            bastore
            dup
            iconst_1
         2: .line 63
            bipush 10
            bastore
            dup
            iconst_2
         3: .line 64
            bipush 13
            bastore
            dup
            iconst_3
         4: .line 65
            bipush 10
            bastore
            dup
            iconst_5
         5: .line 67
            bipush 13
            bastore
            dup
            bipush 6
         6: .line 68
            bipush 10
            bastore
            dup
            bipush 7
         7: .line 69
            bipush 81
            bastore
            dup
            bipush 8
         8: .line 70
            bipush 85
            bastore
            dup
            bipush 9
         9: .line 71
            bipush 73
            bastore
            dup
            bipush 10
        10: .line 72
            bipush 84
            bastore
            dup
            bipush 11
        11: .line 73
            bipush 10
            bastore
        12: .line 61
            putstatic io.netty.handler.codec.haproxy.HAProxyMessageDecoder.BINARY_PREFIX:[B
        13: .line 76
            iconst_5
            newarray 8
            dup
            iconst_0
        14: .line 77
            bipush 80
            bastore
            dup
            iconst_1
        15: .line 78
            bipush 82
            bastore
            dup
            iconst_2
        16: .line 79
            bipush 79
            bastore
            dup
            iconst_3
        17: .line 80
            bipush 88
            bastore
            dup
            iconst_4
        18: .line 81
            bipush 89
            bastore
        19: .line 76
            putstatic io.netty.handler.codec.haproxy.HAProxyMessageDecoder.TEXT_PREFIX:[B
        20: .line 87
            getstatic io.netty.handler.codec.haproxy.HAProxyMessageDecoder.BINARY_PREFIX:[B
            arraylength
            putstatic io.netty.handler.codec.haproxy.HAProxyMessageDecoder.BINARY_PREFIX_LENGTH:I
        21: .line 93
            getstatic io.netty.handler.codec.haproxy.HAProxyProtocolVersion.V1:Lio/netty/handler/codec/haproxy/HAProxyProtocolVersion;
            invokestatic io.netty.handler.codec.ProtocolDetectionResult.detected:(Ljava/lang/Object;)Lio/netty/handler/codec/ProtocolDetectionResult;
        22: .line 92
            putstatic io.netty.handler.codec.haproxy.HAProxyMessageDecoder.DETECTION_RESULT_V1:Lio/netty/handler/codec/ProtocolDetectionResult;
        23: .line 99
            getstatic io.netty.handler.codec.haproxy.HAProxyProtocolVersion.V2:Lio/netty/handler/codec/haproxy/HAProxyProtocolVersion;
            invokestatic io.netty.handler.codec.ProtocolDetectionResult.detected:(Ljava/lang/Object;)Lio/netty/handler/codec/ProtocolDetectionResult;
        24: .line 98
            putstatic io.netty.handler.codec.haproxy.HAProxyMessageDecoder.DETECTION_RESULT_V2:Lio/netty/handler/codec/ProtocolDetectionResult;
        25: .line 99
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.haproxy.HAProxyMessageDecoder this
         0: .line 130
            aload 0 /* this */
            invokespecial io.netty.handler.codec.ByteToMessageDecoder.<init>:()V
         1: .line 119
            aload 0 /* this */
            iconst_m1
            putfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.version:I
         2: .line 131
            aload 0 /* this */
            ldc 65551
            putfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.v2MaxHeaderSize:I
         3: .line 132
            return
        end local 0 // io.netty.handler.codec.haproxy.HAProxyMessageDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/netty/handler/codec/haproxy/HAProxyMessageDecoder;

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.netty.handler.codec.haproxy.HAProxyMessageDecoder this
        start local 1 // int maxTlvSize
         0: .line 144
            aload 0 /* this */
            invokespecial io.netty.handler.codec.ByteToMessageDecoder.<init>:()V
         1: .line 119
            aload 0 /* this */
            iconst_m1
            putfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.version:I
         2: .line 145
            iload 1 /* maxTlvSize */
            iconst_1
            if_icmpge 5
         3: .line 146
            aload 0 /* this */
            sipush 232
            putfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.v2MaxHeaderSize:I
         4: .line 147
            goto 13
      StackMap locals: io.netty.handler.codec.haproxy.HAProxyMessageDecoder int
      StackMap stack:
         5: iload 1 /* maxTlvSize */
            ldc 65319
            if_icmple 8
         6: .line 148
            aload 0 /* this */
            ldc 65551
            putfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.v2MaxHeaderSize:I
         7: .line 149
            goto 13
         8: .line 150
      StackMap locals:
      StackMap stack:
            iload 1 /* maxTlvSize */
            sipush 232
            iadd
            istore 2 /* calcMax */
        start local 2 // int calcMax
         9: .line 151
            iload 2 /* calcMax */
            ldc 65551
            if_icmple 12
        10: .line 152
            aload 0 /* this */
            ldc 65551
            putfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.v2MaxHeaderSize:I
        11: .line 153
            goto 13
        12: .line 154
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* calcMax */
            putfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.v2MaxHeaderSize:I
        end local 2 // int calcMax
        13: .line 157
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int maxTlvSize
        end local 0 // io.netty.handler.codec.haproxy.HAProxyMessageDecoder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lio/netty/handler/codec/haproxy/HAProxyMessageDecoder;
            0   14     1  maxTlvSize  I
            9   13     2     calcMax  I
    MethodParameters:
            Name  Flags
      maxTlvSize  

  private static int findVersion(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // io.netty.buffer.ByteBuf buffer
         0: .line 164
            aload 0 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            istore 1 /* n */
        start local 1 // int n
         1: .line 166
            iload 1 /* n */
            bipush 13
            if_icmpge 3
         2: .line 167
            iconst_m1
            ireturn
         3: .line 170
      StackMap locals: int
      StackMap stack:
            aload 0 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            istore 2 /* idx */
        start local 2 // int idx
         4: .line 171
            getstatic io.netty.handler.codec.haproxy.HAProxyMessageDecoder.BINARY_PREFIX:[B
            aload 0 /* buffer */
            iload 2 /* idx */
            invokestatic io.netty.handler.codec.haproxy.HAProxyMessageDecoder.match:([BLio/netty/buffer/ByteBuf;I)Z
            ifeq 5
            aload 0 /* buffer */
            iload 2 /* idx */
            getstatic io.netty.handler.codec.haproxy.HAProxyMessageDecoder.BINARY_PREFIX_LENGTH:I
            iadd
            invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
            goto 6
      StackMap locals: int
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: ireturn
        end local 2 // int idx
        end local 1 // int n
        end local 0 // io.netty.buffer.ByteBuf buffer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0  buffer  Lio/netty/buffer/ByteBuf;
            1    7     1       n  I
            4    7     2     idx  I
    MethodParameters:
        Name  Flags
      buffer  final

  private static int findEndOfHeader(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // io.netty.buffer.ByteBuf buffer
         0: .line 179
            aload 0 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            istore 1 /* n */
        start local 1 // int n
         1: .line 182
            iload 1 /* n */
            bipush 16
            if_icmpge 3
         2: .line 183
            iconst_m1
            ireturn
         3: .line 186
      StackMap locals: int
      StackMap stack:
            aload 0 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            bipush 14
            iadd
            istore 2 /* offset */
        start local 2 // int offset
         4: .line 189
            bipush 16
            aload 0 /* buffer */
            iload 2 /* offset */
            invokevirtual io.netty.buffer.ByteBuf.getUnsignedShort:(I)I
            iadd
            istore 3 /* totalHeaderBytes */
        start local 3 // int totalHeaderBytes
         5: .line 192
            iload 1 /* n */
            iload 3 /* totalHeaderBytes */
            if_icmplt 7
         6: .line 193
            iload 3 /* totalHeaderBytes */
            ireturn
         7: .line 195
      StackMap locals: int int
      StackMap stack:
            iconst_m1
            ireturn
        end local 3 // int totalHeaderBytes
        end local 2 // int offset
        end local 1 // int n
        end local 0 // io.netty.buffer.ByteBuf buffer
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0            buffer  Lio/netty/buffer/ByteBuf;
            1    8     1                 n  I
            4    8     2            offset  I
            5    8     3  totalHeaderBytes  I
    MethodParameters:
        Name  Flags
      buffer  final

  private static int findEndOfLine(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // io.netty.buffer.ByteBuf buffer
         0: .line 204
            aload 0 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
            istore 1 /* n */
        start local 1 // int n
         1: .line 205
            aload 0 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 206
      StackMap locals: int int
      StackMap stack:
            aload 0 /* buffer */
            iload 2 /* i */
            invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
            istore 3 /* b */
        start local 3 // byte b
         4: .line 207
            iload 3 /* b */
            bipush 13
            if_icmpne 6
            iload 2 /* i */
            iload 1 /* n */
            iconst_1
            isub
            if_icmpge 6
            aload 0 /* buffer */
            iload 2 /* i */
            iconst_1
            iadd
            invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
            bipush 10
            if_icmpne 6
         5: .line 208
            iload 2 /* i */
            ireturn
        end local 3 // byte b
         6: .line 205
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            iload 1 /* n */
            if_icmplt 3
        end local 2 // int i
         8: .line 211
            iconst_m1
            ireturn
        end local 1 // int n
        end local 0 // io.netty.buffer.ByteBuf buffer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0  buffer  Lio/netty/buffer/ByteBuf;
            1    9     1       n  I
            2    8     2       i  I
            4    6     3       b  B
    MethodParameters:
        Name  Flags
      buffer  final

  public boolean isSingleDecode();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.haproxy.HAProxyMessageDecoder this
         0: .line 218
            iconst_1
            ireturn
        end local 0 // io.netty.handler.codec.haproxy.HAProxyMessageDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/handler/codec/haproxy/HAProxyMessageDecoder;

  public void channelRead(io.netty.channel.ChannelHandlerContext, java.lang.Object);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.handler.codec.haproxy.HAProxyMessageDecoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // java.lang.Object msg
         0: .line 223
            aload 0 /* this */
            aload 1 /* ctx */
            aload 2 /* msg */
            invokespecial io.netty.handler.codec.ByteToMessageDecoder.channelRead:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
         1: .line 224
            aload 0 /* this */
            getfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.finished:Z
            ifeq 3
         2: .line 225
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.pipeline:()Lio/netty/channel/ChannelPipeline;
            aload 0 /* this */
            invokeinterface io.netty.channel.ChannelPipeline.remove:(Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            pop
         3: .line 227
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object msg
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.haproxy.HAProxyMessageDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/netty/handler/codec/haproxy/HAProxyMessageDecoder;
            0    4     1   ctx  Lio/netty/channel/ChannelHandlerContext;
            0    4     2   msg  Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   
      msg   

  protected final void decode(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, java.util.List<java.lang.Object>);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // io.netty.handler.codec.haproxy.HAProxyMessageDecoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // io.netty.buffer.ByteBuf in
        start local 3 // java.util.List out
         0: .line 232
            aload 0 /* this */
            getfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.version:I
            iconst_m1
            if_icmpne 3
         1: .line 233
            aload 0 /* this */
            aload 2 /* in */
            invokestatic io.netty.handler.codec.haproxy.HAProxyMessageDecoder.findVersion:(Lio/netty/buffer/ByteBuf;)I
            dup_x1
            putfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.version:I
            iconst_m1
            if_icmpne 3
         2: .line 234
            return
         3: .line 240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.version:I
            iconst_1
            if_icmpne 6
         4: .line 241
            aload 0 /* this */
            aload 1 /* ctx */
            aload 2 /* in */
            invokevirtual io.netty.handler.codec.haproxy.HAProxyMessageDecoder.decodeLine:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
            astore 4 /* decoded */
        start local 4 // io.netty.buffer.ByteBuf decoded
         5: .line 242
            goto 7
        end local 4 // io.netty.buffer.ByteBuf decoded
         6: .line 243
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ctx */
            aload 2 /* in */
            invokevirtual io.netty.handler.codec.haproxy.HAProxyMessageDecoder.decodeStruct:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
            astore 4 /* decoded */
        start local 4 // io.netty.buffer.ByteBuf decoded
         7: .line 246
      StackMap locals: io.netty.buffer.ByteBuf
      StackMap stack:
            aload 4 /* decoded */
            ifnull 16
         8: .line 247
            aload 0 /* this */
            iconst_1
            putfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.finished:Z
         9: .line 249
            aload 0 /* this */
            getfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.version:I
            iconst_1
            if_icmpne 12
        10: .line 250
            aload 3 /* out */
            aload 4 /* decoded */
            getstatic io.netty.util.CharsetUtil.US_ASCII:Ljava/nio/charset/Charset;
            invokevirtual io.netty.buffer.ByteBuf.toString:(Ljava/nio/charset/Charset;)Ljava/lang/String;
            invokestatic io.netty.handler.codec.haproxy.HAProxyMessage.decodeHeader:(Ljava/lang/String;)Lio/netty/handler/codec/haproxy/HAProxyMessage;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 251
            goto 16
        12: .line 252
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            aload 4 /* decoded */
            invokestatic io.netty.handler.codec.haproxy.HAProxyMessage.decodeHeader:(Lio/netty/buffer/ByteBuf;)Lio/netty/handler/codec/haproxy/HAProxyMessage;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        13: .line 254
            goto 16
      StackMap locals:
      StackMap stack: io.netty.handler.codec.haproxy.HAProxyProtocolException
        14: astore 5 /* e */
        start local 5 // io.netty.handler.codec.haproxy.HAProxyProtocolException e
        15: .line 255
            aload 0 /* this */
            aload 1 /* ctx */
            aconst_null
            aload 5 /* e */
            invokevirtual io.netty.handler.codec.haproxy.HAProxyMessageDecoder.fail:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/String;Ljava/lang/Exception;)V
        end local 5 // io.netty.handler.codec.haproxy.HAProxyProtocolException e
        16: .line 258
      StackMap locals:
      StackMap stack:
            return
        end local 4 // io.netty.buffer.ByteBuf decoded
        end local 3 // java.util.List out
        end local 2 // io.netty.buffer.ByteBuf in
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.haproxy.HAProxyMessageDecoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lio/netty/handler/codec/haproxy/HAProxyMessageDecoder;
            0   17     1      ctx  Lio/netty/channel/ChannelHandlerContext;
            0   17     2       in  Lio/netty/buffer/ByteBuf;
            0   17     3      out  Ljava/util/List<Ljava/lang/Object;>;
            5    6     4  decoded  Lio/netty/buffer/ByteBuf;
            7   17     4  decoded  Lio/netty/buffer/ByteBuf;
           15   16     5        e  Lio/netty/handler/codec/haproxy/HAProxyProtocolException;
      Exception table:
        from    to  target  type
           9    13      14  Class io.netty.handler.codec.haproxy.HAProxyProtocolException
    Exceptions:
      throws java.lang.Exception
    Signature: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List<Ljava/lang/Object;>;)V
    MethodParameters:
      Name  Flags
      ctx   
      in    
      out   

  private io.netty.buffer.ByteBuf decodeStruct(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // io.netty.handler.codec.haproxy.HAProxyMessageDecoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // io.netty.buffer.ByteBuf buffer
         0: .line 270
            aload 2 /* buffer */
            invokestatic io.netty.handler.codec.haproxy.HAProxyMessageDecoder.findEndOfHeader:(Lio/netty/buffer/ByteBuf;)I
            istore 3 /* eoh */
        start local 3 // int eoh
         1: .line 271
            aload 0 /* this */
            getfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.discarding:Z
            ifne 16
         2: .line 272
            iload 3 /* eoh */
            iflt 9
         3: .line 273
            iload 3 /* eoh */
            aload 2 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            isub
            istore 4 /* length */
        start local 4 // int length
         4: .line 274
            iload 4 /* length */
            aload 0 /* this */
            getfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.v2MaxHeaderSize:I
            if_icmple 8
         5: .line 275
            aload 2 /* buffer */
            iload 3 /* eoh */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
            pop
         6: .line 276
            aload 0 /* this */
            aload 1 /* ctx */
            iload 4 /* length */
            invokevirtual io.netty.handler.codec.haproxy.HAProxyMessageDecoder.failOverLimit:(Lio/netty/channel/ChannelHandlerContext;I)V
         7: .line 277
            aconst_null
            areturn
         8: .line 279
      StackMap locals: int int
      StackMap stack:
            aload 2 /* buffer */
            iload 4 /* length */
            invokevirtual io.netty.buffer.ByteBuf.readSlice:(I)Lio/netty/buffer/ByteBuf;
            areturn
        end local 4 // int length
         9: .line 281
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            istore 4 /* length */
        start local 4 // int length
        10: .line 282
            iload 4 /* length */
            aload 0 /* this */
            getfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.v2MaxHeaderSize:I
            if_icmple 15
        11: .line 283
            aload 0 /* this */
            iload 4 /* length */
            putfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.discardedBytes:I
        12: .line 284
            aload 2 /* buffer */
            iload 4 /* length */
            invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
            pop
        13: .line 285
            aload 0 /* this */
            iconst_1
            putfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.discarding:Z
        14: .line 286
            aload 0 /* this */
            aload 1 /* ctx */
            new java.lang.StringBuilder
            dup
            ldc "over "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.discardedBytes:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.netty.handler.codec.haproxy.HAProxyMessageDecoder.failOverLimit:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/String;)V
        15: .line 288
      StackMap locals: int
      StackMap stack:
            aconst_null
            areturn
        end local 4 // int length
        16: .line 291
      StackMap locals:
      StackMap stack:
            iload 3 /* eoh */
            iflt 21
        17: .line 292
            aload 2 /* buffer */
            iload 3 /* eoh */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
            pop
        18: .line 293
            aload 0 /* this */
            iconst_0
            putfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.discardedBytes:I
        19: .line 294
            aload 0 /* this */
            iconst_0
            putfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.discarding:Z
        20: .line 295
            goto 23
        21: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            putfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.discardedBytes:I
        22: .line 297
            aload 2 /* buffer */
            aload 0 /* this */
            getfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.discardedBytes:I
            invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
            pop
        23: .line 299
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // int eoh
        end local 2 // io.netty.buffer.ByteBuf buffer
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.haproxy.HAProxyMessageDecoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   24     0    this  Lio/netty/handler/codec/haproxy/HAProxyMessageDecoder;
            0   24     1     ctx  Lio/netty/channel/ChannelHandlerContext;
            0   24     2  buffer  Lio/netty/buffer/ByteBuf;
            1   24     3     eoh  I
            4    9     4  length  I
           10   16     4  length  I
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      ctx     
      buffer  

  private io.netty.buffer.ByteBuf decodeLine(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // io.netty.handler.codec.haproxy.HAProxyMessageDecoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // io.netty.buffer.ByteBuf buffer
         0: .line 313
            aload 2 /* buffer */
            invokestatic io.netty.handler.codec.haproxy.HAProxyMessageDecoder.findEndOfLine:(Lio/netty/buffer/ByteBuf;)I
            istore 3 /* eol */
        start local 3 // int eol
         1: .line 314
            aload 0 /* this */
            getfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.discarding:Z
            ifne 18
         2: .line 315
            iload 3 /* eol */
            iflt 11
         3: .line 316
            iload 3 /* eol */
            aload 2 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            isub
            istore 4 /* length */
        start local 4 // int length
         4: .line 317
            iload 4 /* length */
            bipush 108
            if_icmple 8
         5: .line 318
            aload 2 /* buffer */
            iload 3 /* eol */
            iconst_2
            iadd
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
            pop
         6: .line 319
            aload 0 /* this */
            aload 1 /* ctx */
            iload 4 /* length */
            invokevirtual io.netty.handler.codec.haproxy.HAProxyMessageDecoder.failOverLimit:(Lio/netty/channel/ChannelHandlerContext;I)V
         7: .line 320
            aconst_null
            areturn
         8: .line 322
      StackMap locals: int int
      StackMap stack:
            aload 2 /* buffer */
            iload 4 /* length */
            invokevirtual io.netty.buffer.ByteBuf.readSlice:(I)Lio/netty/buffer/ByteBuf;
            astore 5 /* frame */
        start local 5 // io.netty.buffer.ByteBuf frame
         9: .line 323
            aload 2 /* buffer */
            iconst_2
            invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
            pop
        10: .line 324
            aload 5 /* frame */
            areturn
        end local 5 // io.netty.buffer.ByteBuf frame
        end local 4 // int length
        11: .line 326
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            istore 4 /* length */
        start local 4 // int length
        12: .line 327
            iload 4 /* length */
            bipush 108
            if_icmple 17
        13: .line 328
            aload 0 /* this */
            iload 4 /* length */
            putfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.discardedBytes:I
        14: .line 329
            aload 2 /* buffer */
            iload 4 /* length */
            invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
            pop
        15: .line 330
            aload 0 /* this */
            iconst_1
            putfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.discarding:Z
        16: .line 331
            aload 0 /* this */
            aload 1 /* ctx */
            new java.lang.StringBuilder
            dup
            ldc "over "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.discardedBytes:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.netty.handler.codec.haproxy.HAProxyMessageDecoder.failOverLimit:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/String;)V
        17: .line 333
      StackMap locals: int
      StackMap stack:
            aconst_null
            areturn
        end local 4 // int length
        18: .line 336
      StackMap locals:
      StackMap stack:
            iload 3 /* eol */
            iflt 26
        19: .line 337
            aload 2 /* buffer */
            iload 3 /* eol */
            invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
            bipush 13
            if_icmpne 20
            iconst_2
            goto 21
      StackMap locals:
      StackMap stack:
        20: iconst_1
      StackMap locals:
      StackMap stack: int
        21: istore 4 /* delimLength */
        start local 4 // int delimLength
        22: .line 338
            aload 2 /* buffer */
            iload 3 /* eol */
            iload 4 /* delimLength */
            iadd
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
            pop
        23: .line 339
            aload 0 /* this */
            iconst_0
            putfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.discardedBytes:I
        24: .line 340
            aload 0 /* this */
            iconst_0
            putfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.discarding:Z
        end local 4 // int delimLength
        25: .line 341
            goto 28
        26: .line 342
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            putfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.discardedBytes:I
        27: .line 343
            aload 2 /* buffer */
            aload 0 /* this */
            getfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.discardedBytes:I
            invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
            pop
        28: .line 345
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // int eol
        end local 2 // io.netty.buffer.ByteBuf buffer
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.haproxy.HAProxyMessageDecoder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   29     0         this  Lio/netty/handler/codec/haproxy/HAProxyMessageDecoder;
            0   29     1          ctx  Lio/netty/channel/ChannelHandlerContext;
            0   29     2       buffer  Lio/netty/buffer/ByteBuf;
            1   29     3          eol  I
            4   11     4       length  I
            9   11     5        frame  Lio/netty/buffer/ByteBuf;
           12   18     4       length  I
           22   25     4  delimLength  I
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      ctx     
      buffer  

  private void failOverLimit(io.netty.channel.ChannelHandlerContext, int);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.handler.codec.haproxy.HAProxyMessageDecoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // int length
         0: .line 350
            aload 0 /* this */
            aload 1 /* ctx */
            iload 2 /* length */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokevirtual io.netty.handler.codec.haproxy.HAProxyMessageDecoder.failOverLimit:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/String;)V
         1: .line 351
            return
        end local 2 // int length
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.haproxy.HAProxyMessageDecoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/netty/handler/codec/haproxy/HAProxyMessageDecoder;
            0    2     1     ctx  Lio/netty/channel/ChannelHandlerContext;
            0    2     2  length  I
    MethodParameters:
        Name  Flags
      ctx     final
      length  

  private void failOverLimit(io.netty.channel.ChannelHandlerContext, java.lang.String);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // io.netty.handler.codec.haproxy.HAProxyMessageDecoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // java.lang.String length
         0: .line 354
            aload 0 /* this */
            getfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.version:I
            iconst_1
            if_icmpne 1
            bipush 108
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.v2MaxHeaderSize:I
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* maxLength */
        start local 3 // int maxLength
         3: .line 355
            aload 0 /* this */
            aload 1 /* ctx */
            new java.lang.StringBuilder
            dup
            ldc "header length ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* length */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ") exceeds the allowed maximum ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* maxLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aconst_null
            invokevirtual io.netty.handler.codec.haproxy.HAProxyMessageDecoder.fail:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/String;Ljava/lang/Exception;)V
         4: .line 356
            return
        end local 3 // int maxLength
        end local 2 // java.lang.String length
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.haproxy.HAProxyMessageDecoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lio/netty/handler/codec/haproxy/HAProxyMessageDecoder;
            0    5     1        ctx  Lio/netty/channel/ChannelHandlerContext;
            0    5     2     length  Ljava/lang/String;
            3    5     3  maxLength  I
    MethodParameters:
        Name  Flags
      ctx     final
      length  

  private void fail(io.netty.channel.ChannelHandlerContext, java.lang.String, java.lang.Exception);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/String;Ljava/lang/Exception;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // io.netty.handler.codec.haproxy.HAProxyMessageDecoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // java.lang.String errMsg
        start local 3 // java.lang.Exception e
         0: .line 359
            aload 0 /* this */
            iconst_1
            putfield io.netty.handler.codec.haproxy.HAProxyMessageDecoder.finished:Z
         1: .line 360
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.close:()Lio/netty/channel/ChannelFuture;
            pop
         2: .line 362
            aload 2 /* errMsg */
            ifnull 5
            aload 3 /* e */
            ifnull 5
         3: .line 363
            new io.netty.handler.codec.haproxy.HAProxyProtocolException
            dup
            aload 2 /* errMsg */
            aload 3 /* e */
            invokespecial io.netty.handler.codec.haproxy.HAProxyProtocolException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            astore 4 /* ppex */
        start local 4 // io.netty.handler.codec.haproxy.HAProxyProtocolException ppex
         4: .line 364
            goto 12
        end local 4 // io.netty.handler.codec.haproxy.HAProxyProtocolException ppex
      StackMap locals:
      StackMap stack:
         5: aload 2 /* errMsg */
            ifnull 8
         6: .line 365
            new io.netty.handler.codec.haproxy.HAProxyProtocolException
            dup
            aload 2 /* errMsg */
            invokespecial io.netty.handler.codec.haproxy.HAProxyProtocolException.<init>:(Ljava/lang/String;)V
            astore 4 /* ppex */
        start local 4 // io.netty.handler.codec.haproxy.HAProxyProtocolException ppex
         7: .line 366
            goto 12
        end local 4 // io.netty.handler.codec.haproxy.HAProxyProtocolException ppex
      StackMap locals:
      StackMap stack:
         8: aload 3 /* e */
            ifnull 11
         9: .line 367
            new io.netty.handler.codec.haproxy.HAProxyProtocolException
            dup
            aload 3 /* e */
            invokespecial io.netty.handler.codec.haproxy.HAProxyProtocolException.<init>:(Ljava/lang/Throwable;)V
            astore 4 /* ppex */
        start local 4 // io.netty.handler.codec.haproxy.HAProxyProtocolException ppex
        10: .line 368
            goto 12
        end local 4 // io.netty.handler.codec.haproxy.HAProxyProtocolException ppex
        11: .line 369
      StackMap locals:
      StackMap stack:
            new io.netty.handler.codec.haproxy.HAProxyProtocolException
            dup
            invokespecial io.netty.handler.codec.haproxy.HAProxyProtocolException.<init>:()V
            astore 4 /* ppex */
        start local 4 // io.netty.handler.codec.haproxy.HAProxyProtocolException ppex
        12: .line 371
      StackMap locals: io.netty.handler.codec.haproxy.HAProxyProtocolException
      StackMap stack:
            aload 4 /* ppex */
            athrow
        end local 4 // io.netty.handler.codec.haproxy.HAProxyProtocolException ppex
        end local 3 // java.lang.Exception e
        end local 2 // java.lang.String errMsg
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.haproxy.HAProxyMessageDecoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lio/netty/handler/codec/haproxy/HAProxyMessageDecoder;
            0   13     1     ctx  Lio/netty/channel/ChannelHandlerContext;
            0   13     2  errMsg  Ljava/lang/String;
            0   13     3       e  Ljava/lang/Exception;
            4    5     4    ppex  Lio/netty/handler/codec/haproxy/HAProxyProtocolException;
            7    8     4    ppex  Lio/netty/handler/codec/haproxy/HAProxyProtocolException;
           10   11     4    ppex  Lio/netty/handler/codec/haproxy/HAProxyProtocolException;
           12   13     4    ppex  Lio/netty/handler/codec/haproxy/HAProxyProtocolException;
    MethodParameters:
        Name  Flags
      ctx     final
      errMsg  
      e       

  public static io.netty.handler.codec.ProtocolDetectionResult<io.netty.handler.codec.haproxy.HAProxyProtocolVersion> detectProtocol(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Lio/netty/handler/codec/ProtocolDetectionResult;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // io.netty.buffer.ByteBuf buffer
         0: .line 378
            aload 0 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            bipush 12
            if_icmpge 2
         1: .line 379
            invokestatic io.netty.handler.codec.ProtocolDetectionResult.needsMoreData:()Lio/netty/handler/codec/ProtocolDetectionResult;
            areturn
         2: .line 382
      StackMap locals:
      StackMap stack:
            aload 0 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            istore 1 /* idx */
        start local 1 // int idx
         3: .line 384
            getstatic io.netty.handler.codec.haproxy.HAProxyMessageDecoder.BINARY_PREFIX:[B
            aload 0 /* buffer */
            iload 1 /* idx */
            invokestatic io.netty.handler.codec.haproxy.HAProxyMessageDecoder.match:([BLio/netty/buffer/ByteBuf;I)Z
            ifeq 5
         4: .line 385
            getstatic io.netty.handler.codec.haproxy.HAProxyMessageDecoder.DETECTION_RESULT_V2:Lio/netty/handler/codec/ProtocolDetectionResult;
            areturn
         5: .line 387
      StackMap locals: int
      StackMap stack:
            getstatic io.netty.handler.codec.haproxy.HAProxyMessageDecoder.TEXT_PREFIX:[B
            aload 0 /* buffer */
            iload 1 /* idx */
            invokestatic io.netty.handler.codec.haproxy.HAProxyMessageDecoder.match:([BLio/netty/buffer/ByteBuf;I)Z
            ifeq 7
         6: .line 388
            getstatic io.netty.handler.codec.haproxy.HAProxyMessageDecoder.DETECTION_RESULT_V1:Lio/netty/handler/codec/ProtocolDetectionResult;
            areturn
         7: .line 390
      StackMap locals:
      StackMap stack:
            invokestatic io.netty.handler.codec.ProtocolDetectionResult.invalid:()Lio/netty/handler/codec/ProtocolDetectionResult;
            areturn
        end local 1 // int idx
        end local 0 // io.netty.buffer.ByteBuf buffer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0  buffer  Lio/netty/buffer/ByteBuf;
            3    8     1     idx  I
    Signature: (Lio/netty/buffer/ByteBuf;)Lio/netty/handler/codec/ProtocolDetectionResult<Lio/netty/handler/codec/haproxy/HAProxyProtocolVersion;>;
    MethodParameters:
        Name  Flags
      buffer  

  private static boolean match(byte[], io.netty.buffer.ByteBuf, int);
    descriptor: ([BLio/netty/buffer/ByteBuf;I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // byte[] prefix
        start local 1 // io.netty.buffer.ByteBuf buffer
        start local 2 // int idx
         0: .line 394
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 6
         2: .line 395
      StackMap locals: int
      StackMap stack:
            aload 1 /* buffer */
            iload 2 /* idx */
            iload 3 /* i */
            iadd
            invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
            istore 4 /* b */
        start local 4 // byte b
         3: .line 396
            iload 4 /* b */
            aload 0 /* prefix */
            iload 3 /* i */
            baload
            if_icmpeq 5
         4: .line 397
            iconst_0
            ireturn
        end local 4 // byte b
         5: .line 394
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 0 /* prefix */
            arraylength
            if_icmplt 2
        end local 3 // int i
         7: .line 400
            iconst_1
            ireturn
        end local 2 // int idx
        end local 1 // io.netty.buffer.ByteBuf buffer
        end local 0 // byte[] prefix
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0  prefix  [B
            0    8     1  buffer  Lio/netty/buffer/ByteBuf;
            0    8     2     idx  I
            1    7     3       i  I
            3    5     4       b  B
    MethodParameters:
        Name  Flags
      prefix  
      buffer  
      idx     
}
SourceFile: "HAProxyMessageDecoder.java"