public final class io.netty.buffer.ByteBufUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: io.netty.buffer.ByteBufUtil
  super_class: java.lang.Object
{
  private static final io.netty.util.internal.logging.InternalLogger logger;
    descriptor: Lio/netty/util/internal/logging/InternalLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final io.netty.util.concurrent.FastThreadLocal<java.nio.CharBuffer> CHAR_BUFFERS;
    descriptor: Lio/netty/util/concurrent/FastThreadLocal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lio/netty/util/concurrent/FastThreadLocal<Ljava/nio/CharBuffer;>;

  private static final byte WRITE_UTF_UNKNOWN;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 63

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

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

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

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

  static final io.netty.buffer.ByteBufAllocator DEFAULT_ALLOCATOR;
    descriptor: Lio/netty/buffer/ByteBufAllocator;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static final io.netty.util.ByteProcessor FIND_NON_ASCII;
    descriptor: Lio/netty/util/ByteProcessor;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=0
         0: .line 55
            ldc Lio/netty/buffer/ByteBufUtil;
            invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
            putstatic io.netty.buffer.ByteBufUtil.logger:Lio/netty/util/internal/logging/InternalLogger;
         1: .line 56
            new io.netty.buffer.ByteBufUtil$1
            dup
            invokespecial io.netty.buffer.ByteBufUtil$1.<init>:()V
            putstatic io.netty.buffer.ByteBufUtil.CHAR_BUFFERS:Lio/netty/util/concurrent/FastThreadLocal;
         2: .line 67
            getstatic io.netty.util.CharsetUtil.UTF_8:Ljava/nio/charset/Charset;
            invokestatic io.netty.util.CharsetUtil.encoder:(Ljava/nio/charset/Charset;)Ljava/nio/charset/CharsetEncoder;
            invokevirtual java.nio.charset.CharsetEncoder.maxBytesPerChar:()F
            f2i
         3: .line 66
            putstatic io.netty.buffer.ByteBufUtil.MAX_BYTES_PER_CHAR_UTF8:I
         4: .line 74
            ldc "io.netty.allocator.type"
            invokestatic io.netty.util.internal.PlatformDependent.isAndroid:()Z
            ifeq 5
            ldc "unpooled"
            goto 6
      StackMap locals:
      StackMap stack: java.lang.String
         5: ldc "pooled"
         6: .line 73
      StackMap locals:
      StackMap stack: java.lang.String java.lang.String
            invokestatic io.netty.util.internal.SystemPropertyUtil.get:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* allocType */
        start local 0 // java.lang.String allocType
         7: .line 75
            aload 0 /* allocType */
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 0 /* allocType */
         8: .line 78
            ldc "unpooled"
            aload 0 /* allocType */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
         9: .line 79
            getstatic io.netty.buffer.UnpooledByteBufAllocator.DEFAULT:Lio/netty/buffer/UnpooledByteBufAllocator;
            astore 1 /* alloc */
        start local 1 // io.netty.buffer.ByteBufAllocator alloc
        10: .line 80
            getstatic io.netty.buffer.ByteBufUtil.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "-Dio.netty.allocator.type: {}"
            aload 0 /* allocType */
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        11: .line 81
            goto 18
        end local 1 // io.netty.buffer.ByteBufAllocator alloc
      StackMap locals: java.lang.String
      StackMap stack:
        12: ldc "pooled"
            aload 0 /* allocType */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        13: .line 82
            getstatic io.netty.buffer.PooledByteBufAllocator.DEFAULT:Lio/netty/buffer/PooledByteBufAllocator;
            astore 1 /* alloc */
        start local 1 // io.netty.buffer.ByteBufAllocator alloc
        14: .line 83
            getstatic io.netty.buffer.ByteBufUtil.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "-Dio.netty.allocator.type: {}"
            aload 0 /* allocType */
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        15: .line 84
            goto 18
        end local 1 // io.netty.buffer.ByteBufAllocator alloc
        16: .line 85
      StackMap locals:
      StackMap stack:
            getstatic io.netty.buffer.PooledByteBufAllocator.DEFAULT:Lio/netty/buffer/PooledByteBufAllocator;
            astore 1 /* alloc */
        start local 1 // io.netty.buffer.ByteBufAllocator alloc
        17: .line 86
            getstatic io.netty.buffer.ByteBufUtil.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "-Dio.netty.allocator.type: pooled (unknown: {})"
            aload 0 /* allocType */
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        18: .line 89
      StackMap locals: io.netty.buffer.ByteBufAllocator
      StackMap stack:
            aload 1 /* alloc */
            putstatic io.netty.buffer.ByteBufUtil.DEFAULT_ALLOCATOR:Lio/netty/buffer/ByteBufAllocator;
        19: .line 91
            ldc "io.netty.threadLocalDirectBufferSize"
            iconst_0
            invokestatic io.netty.util.internal.SystemPropertyUtil.getInt:(Ljava/lang/String;I)I
            putstatic io.netty.buffer.ByteBufUtil.THREAD_LOCAL_BUFFER_SIZE:I
        20: .line 92
            getstatic io.netty.buffer.ByteBufUtil.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "-Dio.netty.threadLocalDirectBufferSize: {}"
            getstatic io.netty.buffer.ByteBufUtil.THREAD_LOCAL_BUFFER_SIZE:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        21: .line 94
            ldc "io.netty.maxThreadLocalCharBufferSize"
            sipush 16384
            invokestatic io.netty.util.internal.SystemPropertyUtil.getInt:(Ljava/lang/String;I)I
            putstatic io.netty.buffer.ByteBufUtil.MAX_CHAR_BUFFER_SIZE:I
        22: .line 95
            getstatic io.netty.buffer.ByteBufUtil.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "-Dio.netty.maxThreadLocalCharBufferSize: {}"
            getstatic io.netty.buffer.ByteBufUtil.MAX_CHAR_BUFFER_SIZE:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 1 // io.netty.buffer.ByteBufAllocator alloc
        end local 0 // java.lang.String allocType
        23: .line 1258
            new io.netty.buffer.ByteBufUtil$2
            dup
            invokespecial io.netty.buffer.ByteBufUtil$2.<init>:()V
            putstatic io.netty.buffer.ByteBufUtil.FIND_NON_ASCII:Lio/netty/util/ByteProcessor;
        24: .line 1263
            return
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            7   23     0  allocType  Ljava/lang/String;
           10   12     1      alloc  Lio/netty/buffer/ByteBufAllocator;
           14   16     1      alloc  Lio/netty/buffer/ByteBufAllocator;
           17   23     1      alloc  Lio/netty/buffer/ByteBufAllocator;

  public static java.lang.String hexDump(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.netty.buffer.ByteBuf buffer
         0: .line 103
            aload 0 /* buffer */
            aload 0 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            aload 0 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            invokestatic io.netty.buffer.ByteBufUtil.hexDump:(Lio/netty/buffer/ByteBuf;II)Ljava/lang/String;
            areturn
        end local 0 // io.netty.buffer.ByteBuf buffer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  buffer  Lio/netty/buffer/ByteBuf;
    MethodParameters:
        Name  Flags
      buffer  

  public static java.lang.String hexDump(io.netty.buffer.ByteBuf, int, int);
    descriptor: (Lio/netty/buffer/ByteBuf;II)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.buffer.ByteBuf buffer
        start local 1 // int fromIndex
        start local 2 // int length
         0: .line 111
            aload 0 /* buffer */
            iload 1 /* fromIndex */
            iload 2 /* length */
            invokestatic io.netty.buffer.ByteBufUtil$HexUtil.hexDump:(Lio/netty/buffer/ByteBuf;II)Ljava/lang/String;
            areturn
        end local 2 // int length
        end local 1 // int fromIndex
        end local 0 // io.netty.buffer.ByteBuf buffer
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0     buffer  Lio/netty/buffer/ByteBuf;
            0    1     1  fromIndex  I
            0    1     2     length  I
    MethodParameters:
           Name  Flags
      buffer     
      fromIndex  
      length     

  public static java.lang.String hexDump(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // byte[] array
         0: .line 119
            aload 0 /* array */
            iconst_0
            aload 0 /* array */
            arraylength
            invokestatic io.netty.buffer.ByteBufUtil.hexDump:([BII)Ljava/lang/String;
            areturn
        end local 0 // byte[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  array  [B
    MethodParameters:
       Name  Flags
      array  

  public static java.lang.String hexDump(byte[], int, int);
    descriptor: ([BII)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // byte[] array
        start local 1 // int fromIndex
        start local 2 // int length
         0: .line 127
            aload 0 /* array */
            iload 1 /* fromIndex */
            iload 2 /* length */
            invokestatic io.netty.buffer.ByteBufUtil$HexUtil.hexDump:([BII)Ljava/lang/String;
            areturn
        end local 2 // int length
        end local 1 // int fromIndex
        end local 0 // byte[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0      array  [B
            0    1     1  fromIndex  I
            0    1     2     length  I
    MethodParameters:
           Name  Flags
      array      
      fromIndex  
      length     

  public static byte decodeHexByte(java.lang.CharSequence, int);
    descriptor: (Ljava/lang/CharSequence;I)B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.CharSequence s
        start local 1 // int pos
         0: .line 134
            aload 0 /* s */
            iload 1 /* pos */
            invokestatic io.netty.util.internal.StringUtil.decodeHexByte:(Ljava/lang/CharSequence;I)B
            ireturn
        end local 1 // int pos
        end local 0 // java.lang.CharSequence s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/CharSequence;
            0    1     1   pos  I
    MethodParameters:
      Name  Flags
      s     
      pos   

  public static byte[] decodeHexDump(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.CharSequence hexDump
         0: .line 141
            aload 0 /* hexDump */
            iconst_0
            aload 0 /* hexDump */
            invokeinterface java.lang.CharSequence.length:()I
            invokestatic io.netty.util.internal.StringUtil.decodeHexDump:(Ljava/lang/CharSequence;II)[B
            areturn
        end local 0 // java.lang.CharSequence hexDump
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  hexDump  Ljava/lang/CharSequence;
    MethodParameters:
         Name  Flags
      hexDump  

  public static byte[] decodeHexDump(java.lang.CharSequence, int, int);
    descriptor: (Ljava/lang/CharSequence;II)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.CharSequence hexDump
        start local 1 // int fromIndex
        start local 2 // int length
         0: .line 148
            aload 0 /* hexDump */
            iload 1 /* fromIndex */
            iload 2 /* length */
            invokestatic io.netty.util.internal.StringUtil.decodeHexDump:(Ljava/lang/CharSequence;II)[B
            areturn
        end local 2 // int length
        end local 1 // int fromIndex
        end local 0 // java.lang.CharSequence hexDump
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0    hexDump  Ljava/lang/CharSequence;
            0    1     1  fromIndex  I
            0    1     2     length  I
    MethodParameters:
           Name  Flags
      hexDump    
      fromIndex  
      length     

  public static boolean ensureWritableSuccess(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int ensureWritableResult
         0: .line 159
            iload 0 /* ensureWritableResult */
            ifeq 1
            iload 0 /* ensureWritableResult */
            iconst_2
            if_icmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // int ensureWritableResult
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0  ensureWritableResult  I
    MethodParameters:
                      Name  Flags
      ensureWritableResult  

  public static int hashCode(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // io.netty.buffer.ByteBuf buffer
         0: .line 167
            aload 0 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            istore 1 /* aLen */
        start local 1 // int aLen
         1: .line 168
            iload 1 /* aLen */
            iconst_2
            iushr
            istore 2 /* intCount */
        start local 2 // int intCount
         2: .line 169
            iload 1 /* aLen */
            iconst_3
            iand
            istore 3 /* byteCount */
        start local 3 // int byteCount
         3: .line 171
            iconst_1
            istore 4 /* hashCode */
        start local 4 // int hashCode
         4: .line 172
            aload 0 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            istore 5 /* arrayIndex */
        start local 5 // int arrayIndex
         5: .line 173
            aload 0 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.order:()Ljava/nio/ByteOrder;
            getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
            if_acmpne 13
         6: .line 174
            iload 2 /* intCount */
            istore 6 /* i */
        start local 6 // int i
         7: goto 11
         8: .line 175
      StackMap locals: io.netty.buffer.ByteBuf int int int int int int
      StackMap stack:
            bipush 31
            iload 4 /* hashCode */
            imul
            aload 0 /* buffer */
            iload 5 /* arrayIndex */
            invokevirtual io.netty.buffer.ByteBuf.getInt:(I)I
            iadd
            istore 4 /* hashCode */
         9: .line 176
            iinc 5 /* arrayIndex */ 4
        10: .line 174
            iinc 6 /* i */ -1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* i */
            ifgt 8
        end local 6 // int i
        12: .line 178
            goto 19
        13: .line 179
      StackMap locals:
      StackMap stack:
            iload 2 /* intCount */
            istore 6 /* i */
        start local 6 // int i
        14: goto 18
        15: .line 180
      StackMap locals: int
      StackMap stack:
            bipush 31
            iload 4 /* hashCode */
            imul
            aload 0 /* buffer */
            iload 5 /* arrayIndex */
            invokevirtual io.netty.buffer.ByteBuf.getInt:(I)I
            invokestatic io.netty.buffer.ByteBufUtil.swapInt:(I)I
            iadd
            istore 4 /* hashCode */
        16: .line 181
            iinc 5 /* arrayIndex */ 4
        17: .line 179
            iinc 6 /* i */ -1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* i */
            ifgt 15
        end local 6 // int i
        19: .line 185
      StackMap locals:
      StackMap stack:
            iload 3 /* byteCount */
            istore 6 /* i */
        start local 6 // int i
        20: goto 23
        21: .line 186
      StackMap locals: int
      StackMap stack:
            bipush 31
            iload 4 /* hashCode */
            imul
            aload 0 /* buffer */
            iload 5 /* arrayIndex */
            iinc 5 /* arrayIndex */ 1
            invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
            iadd
            istore 4 /* hashCode */
        22: .line 185
            iinc 6 /* i */ -1
      StackMap locals:
      StackMap stack:
        23: iload 6 /* i */
            ifgt 21
        end local 6 // int i
        24: .line 189
            iload 4 /* hashCode */
            ifne 26
        25: .line 190
            iconst_1
            istore 4 /* hashCode */
        26: .line 193
      StackMap locals:
      StackMap stack:
            iload 4 /* hashCode */
            ireturn
        end local 5 // int arrayIndex
        end local 4 // int hashCode
        end local 3 // int byteCount
        end local 2 // int intCount
        end local 1 // int aLen
        end local 0 // io.netty.buffer.ByteBuf buffer
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   27     0      buffer  Lio/netty/buffer/ByteBuf;
            1   27     1        aLen  I
            2   27     2    intCount  I
            3   27     3   byteCount  I
            4   27     4    hashCode  I
            5   27     5  arrayIndex  I
            7   12     6           i  I
           14   19     6           i  I
           20   24     6           i  I
    MethodParameters:
        Name  Flags
      buffer  

  public static int indexOf(io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // io.netty.buffer.ByteBuf needle
        start local 1 // io.netty.buffer.ByteBuf haystack
         0: .line 201
            aload 1 /* haystack */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            aload 0 /* needle */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            isub
            iconst_1
            iadd
            istore 2 /* attempts */
        start local 2 // int attempts
         1: .line 202
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 10
         3: .line 203
      StackMap locals: int int
      StackMap stack:
            aload 0 /* needle */
            aload 0 /* needle */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
         4: .line 204
            aload 1 /* haystack */
            aload 1 /* haystack */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            iload 3 /* i */
            iadd
         5: .line 205
            aload 0 /* needle */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
         6: .line 203
            invokestatic io.netty.buffer.ByteBufUtil.equals:(Lio/netty/buffer/ByteBuf;ILio/netty/buffer/ByteBuf;II)Z
         7: .line 205
            ifeq 9
         8: .line 206
            aload 1 /* haystack */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            iload 3 /* i */
            iadd
            ireturn
         9: .line 202
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            iload 2 /* attempts */
            if_icmplt 3
        end local 3 // int i
        11: .line 209
            iconst_m1
            ireturn
        end local 2 // int attempts
        end local 1 // io.netty.buffer.ByteBuf haystack
        end local 0 // io.netty.buffer.ByteBuf needle
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0    needle  Lio/netty/buffer/ByteBuf;
            0   12     1  haystack  Lio/netty/buffer/ByteBuf;
            1   12     2  attempts  I
            2   11     3         i  I
    MethodParameters:
          Name  Flags
      needle    
      haystack  

  public static boolean equals(io.netty.buffer.ByteBuf, int, io.netty.buffer.ByteBuf, int, int);
    descriptor: (Lio/netty/buffer/ByteBuf;ILio/netty/buffer/ByteBuf;II)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=5
        start local 0 // io.netty.buffer.ByteBuf a
        start local 1 // int aStartIndex
        start local 2 // io.netty.buffer.ByteBuf b
        start local 3 // int bStartIndex
        start local 4 // int length
         0: .line 221
            iload 1 /* aStartIndex */
            iflt 1
            iload 3 /* bStartIndex */
            iflt 1
            iload 4 /* length */
            ifge 2
         1: .line 222
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "All indexes and lengths must be non-negative"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
            iload 4 /* length */
            isub
            iload 1 /* aStartIndex */
            if_icmplt 3
            aload 2 /* b */
            invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
            iload 4 /* length */
            isub
            iload 3 /* bStartIndex */
            if_icmpge 4
         3: .line 225
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 228
      StackMap locals:
      StackMap stack:
            iload 4 /* length */
            iconst_3
            iushr
            istore 5 /* longCount */
        start local 5 // int longCount
         5: .line 229
            iload 4 /* length */
            bipush 7
            iand
            istore 6 /* byteCount */
        start local 6 // int byteCount
         6: .line 231
            aload 0 /* a */
            invokevirtual io.netty.buffer.ByteBuf.order:()Ljava/nio/ByteOrder;
            aload 2 /* b */
            invokevirtual io.netty.buffer.ByteBuf.order:()Ljava/nio/ByteOrder;
            if_acmpne 16
         7: .line 232
            iload 5 /* longCount */
            istore 7 /* i */
        start local 7 // int i
         8: goto 14
         9: .line 233
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* a */
            iload 1 /* aStartIndex */
            invokevirtual io.netty.buffer.ByteBuf.getLong:(I)J
            aload 2 /* b */
            iload 3 /* bStartIndex */
            invokevirtual io.netty.buffer.ByteBuf.getLong:(I)J
            lcmp
            ifeq 11
        10: .line 234
            iconst_0
            ireturn
        11: .line 236
      StackMap locals:
      StackMap stack:
            iinc 1 /* aStartIndex */ 8
        12: .line 237
            iinc 3 /* bStartIndex */ 8
        13: .line 232
            iinc 7 /* i */ -1
      StackMap locals:
      StackMap stack:
        14: iload 7 /* i */
            ifgt 9
        end local 7 // int i
        15: .line 239
            goto 24
        16: .line 240
      StackMap locals:
      StackMap stack:
            iload 5 /* longCount */
            istore 7 /* i */
        start local 7 // int i
        17: goto 23
        18: .line 241
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 1 /* aStartIndex */
            invokevirtual io.netty.buffer.ByteBuf.getLong:(I)J
            aload 2 /* b */
            iload 3 /* bStartIndex */
            invokevirtual io.netty.buffer.ByteBuf.getLong:(I)J
            invokestatic io.netty.buffer.ByteBufUtil.swapLong:(J)J
            lcmp
            ifeq 20
        19: .line 242
            iconst_0
            ireturn
        20: .line 244
      StackMap locals:
      StackMap stack:
            iinc 1 /* aStartIndex */ 8
        21: .line 245
            iinc 3 /* bStartIndex */ 8
        22: .line 240
            iinc 7 /* i */ -1
      StackMap locals:
      StackMap stack:
        23: iload 7 /* i */
            ifgt 18
        end local 7 // int i
        24: .line 249
      StackMap locals:
      StackMap stack:
            iload 6 /* byteCount */
            istore 7 /* i */
        start local 7 // int i
        25: goto 31
        26: .line 250
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 1 /* aStartIndex */
            invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
            aload 2 /* b */
            iload 3 /* bStartIndex */
            invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
            if_icmpeq 28
        27: .line 251
            iconst_0
            ireturn
        28: .line 253
      StackMap locals:
      StackMap stack:
            iinc 1 /* aStartIndex */ 1
        29: .line 254
            iinc 3 /* bStartIndex */ 1
        30: .line 249
            iinc 7 /* i */ -1
      StackMap locals:
      StackMap stack:
        31: iload 7 /* i */
            ifgt 26
        end local 7 // int i
        32: .line 257
            iconst_1
            ireturn
        end local 6 // int byteCount
        end local 5 // int longCount
        end local 4 // int length
        end local 3 // int bStartIndex
        end local 2 // io.netty.buffer.ByteBuf b
        end local 1 // int aStartIndex
        end local 0 // io.netty.buffer.ByteBuf a
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   33     0            a  Lio/netty/buffer/ByteBuf;
            0   33     1  aStartIndex  I
            0   33     2            b  Lio/netty/buffer/ByteBuf;
            0   33     3  bStartIndex  I
            0   33     4       length  I
            5   33     5    longCount  I
            6   33     6    byteCount  I
            8   15     7            i  I
           17   24     7            i  I
           25   32     7            i  I
    MethodParameters:
             Name  Flags
      a            
      aStartIndex  
      b            
      bStartIndex  
      length       

  public static boolean equals(io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.netty.buffer.ByteBuf bufferA
        start local 1 // io.netty.buffer.ByteBuf bufferB
         0: .line 266
            aload 0 /* bufferA */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            istore 2 /* aLen */
        start local 2 // int aLen
         1: .line 267
            iload 2 /* aLen */
            aload 1 /* bufferB */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            if_icmpeq 3
         2: .line 268
            iconst_0
            ireturn
         3: .line 270
      StackMap locals: int
      StackMap stack:
            aload 0 /* bufferA */
            aload 0 /* bufferA */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            aload 1 /* bufferB */
            aload 1 /* bufferB */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            iload 2 /* aLen */
            invokestatic io.netty.buffer.ByteBufUtil.equals:(Lio/netty/buffer/ByteBuf;ILio/netty/buffer/ByteBuf;II)Z
            ireturn
        end local 2 // int aLen
        end local 1 // io.netty.buffer.ByteBuf bufferB
        end local 0 // io.netty.buffer.ByteBuf bufferA
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  bufferA  Lio/netty/buffer/ByteBuf;
            0    4     1  bufferB  Lio/netty/buffer/ByteBuf;
            1    4     2     aLen  I
    MethodParameters:
         Name  Flags
      bufferA  
      bufferB  

  public static int compare(io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=13, args_size=2
        start local 0 // io.netty.buffer.ByteBuf bufferA
        start local 1 // io.netty.buffer.ByteBuf bufferB
         0: .line 278
            aload 0 /* bufferA */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            istore 2 /* aLen */
        start local 2 // int aLen
         1: .line 279
            aload 1 /* bufferB */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            istore 3 /* bLen */
        start local 3 // int bLen
         2: .line 280
            iload 2 /* aLen */
            iload 3 /* bLen */
            invokestatic java.lang.Math.min:(II)I
            istore 4 /* minLength */
        start local 4 // int minLength
         3: .line 281
            iload 4 /* minLength */
            iconst_2
            iushr
            istore 5 /* uintCount */
        start local 5 // int uintCount
         4: .line 282
            iload 4 /* minLength */
            iconst_3
            iand
            istore 6 /* byteCount */
        start local 6 // int byteCount
         5: .line 283
            aload 0 /* bufferA */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            istore 7 /* aIndex */
        start local 7 // int aIndex
         6: .line 284
            aload 1 /* bufferB */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            istore 8 /* bIndex */
        start local 8 // int bIndex
         7: .line 286
            iload 5 /* uintCount */
            ifle 24
         8: .line 287
            aload 0 /* bufferA */
            invokevirtual io.netty.buffer.ByteBuf.order:()Ljava/nio/ByteOrder;
            getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
            if_acmpne 9
            iconst_1
            goto 10
      StackMap locals: io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf int int int int int int int
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 9 /* bufferAIsBigEndian */
        start local 9 // boolean bufferAIsBigEndian
        11: .line 289
            iload 5 /* uintCount */
            iconst_2
            ishl
            istore 12 /* uintCountIncrement */
        start local 12 // int uintCountIncrement
        12: .line 291
            aload 0 /* bufferA */
            invokevirtual io.netty.buffer.ByteBuf.order:()Ljava/nio/ByteOrder;
            aload 1 /* bufferB */
            invokevirtual io.netty.buffer.ByteBuf.order:()Ljava/nio/ByteOrder;
            if_acmpne 17
        13: .line 292
            iload 9 /* bufferAIsBigEndian */
            ifeq 14
            aload 0 /* bufferA */
            aload 1 /* bufferB */
            iload 7 /* aIndex */
            iload 8 /* bIndex */
            iload 12 /* uintCountIncrement */
            invokestatic io.netty.buffer.ByteBufUtil.compareUintBigEndian:(Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;III)J
            goto 15
        14: .line 293
      StackMap locals: io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf int int int int int int int int top top int
      StackMap stack:
            aload 0 /* bufferA */
            aload 1 /* bufferB */
            iload 7 /* aIndex */
            iload 8 /* bIndex */
            iload 12 /* uintCountIncrement */
            invokestatic io.netty.buffer.ByteBufUtil.compareUintLittleEndian:(Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;III)J
        15: .line 292
      StackMap locals:
      StackMap stack: long
            lstore 10 /* res */
        start local 10 // long res
        16: .line 294
            goto 20
        end local 10 // long res
        17: .line 295
      StackMap locals:
      StackMap stack:
            iload 9 /* bufferAIsBigEndian */
            ifeq 18
            aload 0 /* bufferA */
            aload 1 /* bufferB */
            iload 7 /* aIndex */
            iload 8 /* bIndex */
            iload 12 /* uintCountIncrement */
            invokestatic io.netty.buffer.ByteBufUtil.compareUintBigEndianA:(Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;III)J
            goto 19
        18: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* bufferA */
            aload 1 /* bufferB */
            iload 7 /* aIndex */
            iload 8 /* bIndex */
            iload 12 /* uintCountIncrement */
            invokestatic io.netty.buffer.ByteBufUtil.compareUintBigEndianB:(Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;III)J
        19: .line 295
      StackMap locals:
      StackMap stack: long
            lstore 10 /* res */
        start local 10 // long res
        20: .line 298
      StackMap locals: io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf int int int int int int int int long int
      StackMap stack:
            lload 10 /* res */
            lconst_0
            lcmp
            ifeq 22
        21: .line 300
            ldc 2147483647
            ldc -2147483648
            lload 10 /* res */
            invokestatic java.lang.Math.max:(JJ)J
            invokestatic java.lang.Math.min:(JJ)J
            l2i
            ireturn
        22: .line 302
      StackMap locals:
      StackMap stack:
            iload 7 /* aIndex */
            iload 12 /* uintCountIncrement */
            iadd
            istore 7 /* aIndex */
        23: .line 303
            iload 8 /* bIndex */
            iload 12 /* uintCountIncrement */
            iadd
            istore 8 /* bIndex */
        end local 12 // int uintCountIncrement
        end local 10 // long res
        end local 9 // boolean bufferAIsBigEndian
        24: .line 306
      StackMap locals:
      StackMap stack:
            iload 7 /* aIndex */
            iload 6 /* byteCount */
            iadd
            istore 9 /* aEnd */
        start local 9 // int aEnd
        25: goto 30
        26: .line 307
      StackMap locals: int
      StackMap stack:
            aload 0 /* bufferA */
            iload 7 /* aIndex */
            invokevirtual io.netty.buffer.ByteBuf.getUnsignedByte:(I)S
            aload 1 /* bufferB */
            iload 8 /* bIndex */
            invokevirtual io.netty.buffer.ByteBuf.getUnsignedByte:(I)S
            isub
            istore 10 /* comp */
        start local 10 // int comp
        27: .line 308
            iload 10 /* comp */
            ifeq 29
        28: .line 309
            iload 10 /* comp */
            ireturn
        end local 10 // int comp
        29: .line 306
      StackMap locals:
      StackMap stack:
            iinc 7 /* aIndex */ 1
            iinc 8 /* bIndex */ 1
      StackMap locals:
      StackMap stack:
        30: iload 7 /* aIndex */
            iload 9 /* aEnd */
            if_icmplt 26
        end local 9 // int aEnd
        31: .line 313
            iload 2 /* aLen */
            iload 3 /* bLen */
            isub
            ireturn
        end local 8 // int bIndex
        end local 7 // int aIndex
        end local 6 // int byteCount
        end local 5 // int uintCount
        end local 4 // int minLength
        end local 3 // int bLen
        end local 2 // int aLen
        end local 1 // io.netty.buffer.ByteBuf bufferB
        end local 0 // io.netty.buffer.ByteBuf bufferA
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   32     0             bufferA  Lio/netty/buffer/ByteBuf;
            0   32     1             bufferB  Lio/netty/buffer/ByteBuf;
            1   32     2                aLen  I
            2   32     3                bLen  I
            3   32     4           minLength  I
            4   32     5           uintCount  I
            5   32     6           byteCount  I
            6   32     7              aIndex  I
            7   32     8              bIndex  I
           11   24     9  bufferAIsBigEndian  Z
           16   17    10                 res  J
           20   24    10                 res  J
           12   24    12  uintCountIncrement  I
           25   31     9                aEnd  I
           27   29    10                comp  I
    MethodParameters:
         Name  Flags
      bufferA  
      bufferB  

  private static long compareUintBigEndian(io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf, int, int, int);
    descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;III)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=5
        start local 0 // io.netty.buffer.ByteBuf bufferA
        start local 1 // io.netty.buffer.ByteBuf bufferB
        start local 2 // int aIndex
        start local 3 // int bIndex
        start local 4 // int uintCountIncrement
         0: .line 318
            iload 2 /* aIndex */
            iload 4 /* uintCountIncrement */
            iadd
            istore 5 /* aEnd */
        start local 5 // int aEnd
         1: goto 6
         2: .line 319
      StackMap locals: int
      StackMap stack:
            aload 0 /* bufferA */
            iload 2 /* aIndex */
            invokevirtual io.netty.buffer.ByteBuf.getUnsignedInt:(I)J
            aload 1 /* bufferB */
            iload 3 /* bIndex */
            invokevirtual io.netty.buffer.ByteBuf.getUnsignedInt:(I)J
            lsub
            lstore 6 /* comp */
        start local 6 // long comp
         3: .line 320
            lload 6 /* comp */
            lconst_0
            lcmp
            ifeq 5
         4: .line 321
            lload 6 /* comp */
            lreturn
        end local 6 // long comp
         5: .line 318
      StackMap locals:
      StackMap stack:
            iinc 2 /* aIndex */ 4
            iinc 3 /* bIndex */ 4
      StackMap locals:
      StackMap stack:
         6: iload 2 /* aIndex */
            iload 5 /* aEnd */
            if_icmplt 2
        end local 5 // int aEnd
         7: .line 324
            lconst_0
            lreturn
        end local 4 // int uintCountIncrement
        end local 3 // int bIndex
        end local 2 // int aIndex
        end local 1 // io.netty.buffer.ByteBuf bufferB
        end local 0 // io.netty.buffer.ByteBuf bufferA
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0             bufferA  Lio/netty/buffer/ByteBuf;
            0    8     1             bufferB  Lio/netty/buffer/ByteBuf;
            0    8     2              aIndex  I
            0    8     3              bIndex  I
            0    8     4  uintCountIncrement  I
            1    7     5                aEnd  I
            3    5     6                comp  J
    MethodParameters:
                    Name  Flags
      bufferA             
      bufferB             
      aIndex              
      bIndex              
      uintCountIncrement  

  private static long compareUintLittleEndian(io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf, int, int, int);
    descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;III)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=5
        start local 0 // io.netty.buffer.ByteBuf bufferA
        start local 1 // io.netty.buffer.ByteBuf bufferB
        start local 2 // int aIndex
        start local 3 // int bIndex
        start local 4 // int uintCountIncrement
         0: .line 329
            iload 2 /* aIndex */
            iload 4 /* uintCountIncrement */
            iadd
            istore 5 /* aEnd */
        start local 5 // int aEnd
         1: goto 6
         2: .line 330
      StackMap locals: int
      StackMap stack:
            aload 0 /* bufferA */
            iload 2 /* aIndex */
            invokevirtual io.netty.buffer.ByteBuf.getUnsignedIntLE:(I)J
            aload 1 /* bufferB */
            iload 3 /* bIndex */
            invokevirtual io.netty.buffer.ByteBuf.getUnsignedIntLE:(I)J
            lsub
            lstore 6 /* comp */
        start local 6 // long comp
         3: .line 331
            lload 6 /* comp */
            lconst_0
            lcmp
            ifeq 5
         4: .line 332
            lload 6 /* comp */
            lreturn
        end local 6 // long comp
         5: .line 329
      StackMap locals:
      StackMap stack:
            iinc 2 /* aIndex */ 4
            iinc 3 /* bIndex */ 4
      StackMap locals:
      StackMap stack:
         6: iload 2 /* aIndex */
            iload 5 /* aEnd */
            if_icmplt 2
        end local 5 // int aEnd
         7: .line 335
            lconst_0
            lreturn
        end local 4 // int uintCountIncrement
        end local 3 // int bIndex
        end local 2 // int aIndex
        end local 1 // io.netty.buffer.ByteBuf bufferB
        end local 0 // io.netty.buffer.ByteBuf bufferA
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0             bufferA  Lio/netty/buffer/ByteBuf;
            0    8     1             bufferB  Lio/netty/buffer/ByteBuf;
            0    8     2              aIndex  I
            0    8     3              bIndex  I
            0    8     4  uintCountIncrement  I
            1    7     5                aEnd  I
            3    5     6                comp  J
    MethodParameters:
                    Name  Flags
      bufferA             
      bufferB             
      aIndex              
      bIndex              
      uintCountIncrement  

  private static long compareUintBigEndianA(io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf, int, int, int);
    descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;III)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=5
        start local 0 // io.netty.buffer.ByteBuf bufferA
        start local 1 // io.netty.buffer.ByteBuf bufferB
        start local 2 // int aIndex
        start local 3 // int bIndex
        start local 4 // int uintCountIncrement
         0: .line 340
            iload 2 /* aIndex */
            iload 4 /* uintCountIncrement */
            iadd
            istore 5 /* aEnd */
        start local 5 // int aEnd
         1: goto 6
         2: .line 341
      StackMap locals: int
      StackMap stack:
            aload 0 /* bufferA */
            iload 2 /* aIndex */
            invokevirtual io.netty.buffer.ByteBuf.getUnsignedInt:(I)J
            aload 1 /* bufferB */
            iload 3 /* bIndex */
            invokevirtual io.netty.buffer.ByteBuf.getUnsignedIntLE:(I)J
            lsub
            lstore 6 /* comp */
        start local 6 // long comp
         3: .line 342
            lload 6 /* comp */
            lconst_0
            lcmp
            ifeq 5
         4: .line 343
            lload 6 /* comp */
            lreturn
        end local 6 // long comp
         5: .line 340
      StackMap locals:
      StackMap stack:
            iinc 2 /* aIndex */ 4
            iinc 3 /* bIndex */ 4
      StackMap locals:
      StackMap stack:
         6: iload 2 /* aIndex */
            iload 5 /* aEnd */
            if_icmplt 2
        end local 5 // int aEnd
         7: .line 346
            lconst_0
            lreturn
        end local 4 // int uintCountIncrement
        end local 3 // int bIndex
        end local 2 // int aIndex
        end local 1 // io.netty.buffer.ByteBuf bufferB
        end local 0 // io.netty.buffer.ByteBuf bufferA
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0             bufferA  Lio/netty/buffer/ByteBuf;
            0    8     1             bufferB  Lio/netty/buffer/ByteBuf;
            0    8     2              aIndex  I
            0    8     3              bIndex  I
            0    8     4  uintCountIncrement  I
            1    7     5                aEnd  I
            3    5     6                comp  J
    MethodParameters:
                    Name  Flags
      bufferA             
      bufferB             
      aIndex              
      bIndex              
      uintCountIncrement  

  private static long compareUintBigEndianB(io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf, int, int, int);
    descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;III)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=5
        start local 0 // io.netty.buffer.ByteBuf bufferA
        start local 1 // io.netty.buffer.ByteBuf bufferB
        start local 2 // int aIndex
        start local 3 // int bIndex
        start local 4 // int uintCountIncrement
         0: .line 351
            iload 2 /* aIndex */
            iload 4 /* uintCountIncrement */
            iadd
            istore 5 /* aEnd */
        start local 5 // int aEnd
         1: goto 6
         2: .line 352
      StackMap locals: int
      StackMap stack:
            aload 0 /* bufferA */
            iload 2 /* aIndex */
            invokevirtual io.netty.buffer.ByteBuf.getUnsignedIntLE:(I)J
            aload 1 /* bufferB */
            iload 3 /* bIndex */
            invokevirtual io.netty.buffer.ByteBuf.getUnsignedInt:(I)J
            lsub
            lstore 6 /* comp */
        start local 6 // long comp
         3: .line 353
            lload 6 /* comp */
            lconst_0
            lcmp
            ifeq 5
         4: .line 354
            lload 6 /* comp */
            lreturn
        end local 6 // long comp
         5: .line 351
      StackMap locals:
      StackMap stack:
            iinc 2 /* aIndex */ 4
            iinc 3 /* bIndex */ 4
      StackMap locals:
      StackMap stack:
         6: iload 2 /* aIndex */
            iload 5 /* aEnd */
            if_icmplt 2
        end local 5 // int aEnd
         7: .line 357
            lconst_0
            lreturn
        end local 4 // int uintCountIncrement
        end local 3 // int bIndex
        end local 2 // int aIndex
        end local 1 // io.netty.buffer.ByteBuf bufferB
        end local 0 // io.netty.buffer.ByteBuf bufferA
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0             bufferA  Lio/netty/buffer/ByteBuf;
            0    8     1             bufferB  Lio/netty/buffer/ByteBuf;
            0    8     2              aIndex  I
            0    8     3              bIndex  I
            0    8     4  uintCountIncrement  I
            1    7     5                aEnd  I
            3    5     6                comp  J
    MethodParameters:
                    Name  Flags
      bufferA             
      bufferB             
      aIndex              
      bIndex              
      uintCountIncrement  

  public static int indexOf(io.netty.buffer.ByteBuf, int, int, byte);
    descriptor: (Lio/netty/buffer/ByteBuf;IIB)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.netty.buffer.ByteBuf buffer
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // byte value
         0: .line 365
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            if_icmpgt 2
         1: .line 366
            aload 0 /* buffer */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iload 3 /* value */
            invokestatic io.netty.buffer.ByteBufUtil.firstIndexOf:(Lio/netty/buffer/ByteBuf;IIB)I
            ireturn
         2: .line 368
      StackMap locals:
      StackMap stack:
            aload 0 /* buffer */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iload 3 /* value */
            invokestatic io.netty.buffer.ByteBufUtil.lastIndexOf:(Lio/netty/buffer/ByteBuf;IIB)I
            ireturn
        end local 3 // byte value
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // io.netty.buffer.ByteBuf buffer
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0     buffer  Lio/netty/buffer/ByteBuf;
            0    3     1  fromIndex  I
            0    3     2    toIndex  I
            0    3     3      value  B
    MethodParameters:
           Name  Flags
      buffer     
      fromIndex  
      toIndex    
      value      

  public static short swapShort(short);
    descriptor: (S)S
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // short value
         0: .line 376
            iload 0 /* value */
            invokestatic java.lang.Short.reverseBytes:(S)S
            ireturn
        end local 0 // short value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  S
    MethodParameters:
       Name  Flags
      value  

  public static int swapMedium(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // int value
         0: .line 383
            iload 0 /* value */
            bipush 16
            ishl
            ldc 16711680
            iand
            iload 0 /* value */
            ldc 65280
            iand
            ior
            iload 0 /* value */
            bipush 16
            iushr
            sipush 255
            iand
            ior
            istore 1 /* swapped */
        start local 1 // int swapped
         1: .line 384
            iload 1 /* swapped */
            ldc 8388608
            iand
            ifeq 3
         2: .line 385
            iload 1 /* swapped */
            ldc -16777216
            ior
            istore 1 /* swapped */
         3: .line 387
      StackMap locals: int
      StackMap stack:
            iload 1 /* swapped */
            ireturn
        end local 1 // int swapped
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0    value  I
            1    4     1  swapped  I
    MethodParameters:
       Name  Flags
      value  

  public static int swapInt(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int value
         0: .line 394
            iload 0 /* value */
            invokestatic java.lang.Integer.reverseBytes:(I)I
            ireturn
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  I
    MethodParameters:
       Name  Flags
      value  

  public static long swapLong(long);
    descriptor: (J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // long value
         0: .line 401
            lload 0 /* value */
            invokestatic java.lang.Long.reverseBytes:(J)J
            lreturn
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  J
    MethodParameters:
       Name  Flags
      value  

  public static io.netty.buffer.ByteBuf writeShortBE(io.netty.buffer.ByteBuf, int);
    descriptor: (Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.buffer.ByteBuf buf
        start local 1 // int shortValue
         0: .line 409
            aload 0 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.order:()Ljava/nio/ByteOrder;
            getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
            if_acmpne 1
            aload 0 /* buf */
            iload 1 /* shortValue */
            invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* buf */
            iload 1 /* shortValue */
            invokevirtual io.netty.buffer.ByteBuf.writeShortLE:(I)Lio/netty/buffer/ByteBuf;
      StackMap locals:
      StackMap stack: io.netty.buffer.ByteBuf
         2: areturn
        end local 1 // int shortValue
        end local 0 // io.netty.buffer.ByteBuf buf
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0         buf  Lio/netty/buffer/ByteBuf;
            0    3     1  shortValue  I
    MethodParameters:
            Name  Flags
      buf         
      shortValue  

  public static io.netty.buffer.ByteBuf setShortBE(io.netty.buffer.ByteBuf, int, int);
    descriptor: (Lio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.buffer.ByteBuf buf
        start local 1 // int index
        start local 2 // int shortValue
         0: .line 417
            aload 0 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.order:()Ljava/nio/ByteOrder;
            getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
            if_acmpne 1
            aload 0 /* buf */
            iload 1 /* index */
            iload 2 /* shortValue */
            invokevirtual io.netty.buffer.ByteBuf.setShort:(II)Lio/netty/buffer/ByteBuf;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* buf */
            iload 1 /* index */
            iload 2 /* shortValue */
            invokevirtual io.netty.buffer.ByteBuf.setShortLE:(II)Lio/netty/buffer/ByteBuf;
      StackMap locals:
      StackMap stack: io.netty.buffer.ByteBuf
         2: areturn
        end local 2 // int shortValue
        end local 1 // int index
        end local 0 // io.netty.buffer.ByteBuf buf
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0         buf  Lio/netty/buffer/ByteBuf;
            0    3     1       index  I
            0    3     2  shortValue  I
    MethodParameters:
            Name  Flags
      buf         
      index       
      shortValue  

  public static io.netty.buffer.ByteBuf writeMediumBE(io.netty.buffer.ByteBuf, int);
    descriptor: (Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.buffer.ByteBuf buf
        start local 1 // int mediumValue
         0: .line 425
            aload 0 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.order:()Ljava/nio/ByteOrder;
            getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
            if_acmpne 1
            aload 0 /* buf */
            iload 1 /* mediumValue */
            invokevirtual io.netty.buffer.ByteBuf.writeMedium:(I)Lio/netty/buffer/ByteBuf;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* buf */
            iload 1 /* mediumValue */
            invokevirtual io.netty.buffer.ByteBuf.writeMediumLE:(I)Lio/netty/buffer/ByteBuf;
      StackMap locals:
      StackMap stack: io.netty.buffer.ByteBuf
         2: areturn
        end local 1 // int mediumValue
        end local 0 // io.netty.buffer.ByteBuf buf
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0          buf  Lio/netty/buffer/ByteBuf;
            0    3     1  mediumValue  I
    MethodParameters:
             Name  Flags
      buf          
      mediumValue  

  public static io.netty.buffer.ByteBuf readBytes(io.netty.buffer.ByteBufAllocator, io.netty.buffer.ByteBuf, int);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // io.netty.buffer.ByteBufAllocator alloc
        start local 1 // io.netty.buffer.ByteBuf buffer
        start local 2 // int length
         0: .line 432
            iconst_1
            istore 3 /* release */
        start local 3 // boolean release
         1: .line 433
            aload 0 /* alloc */
            iload 2 /* length */
            invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
            astore 4 /* dst */
        start local 4 // io.netty.buffer.ByteBuf dst
         2: .line 435
            aload 1 /* buffer */
            aload 4 /* dst */
            invokevirtual io.netty.buffer.ByteBuf.readBytes:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
            pop
         3: .line 436
            iconst_0
            istore 3 /* release */
         4: .line 437
            aload 4 /* dst */
            astore 6
         5: .line 439
            iload 3 /* release */
            ifeq 7
         6: .line 440
            aload 4 /* dst */
            invokevirtual io.netty.buffer.ByteBuf.release:()Z
            pop
         7: .line 437
      StackMap locals: io.netty.buffer.ByteBufAllocator io.netty.buffer.ByteBuf int int io.netty.buffer.ByteBuf top io.netty.buffer.ByteBuf
      StackMap stack:
            aload 6
            areturn
         8: .line 438
      StackMap locals: io.netty.buffer.ByteBufAllocator io.netty.buffer.ByteBuf int int io.netty.buffer.ByteBuf
      StackMap stack: java.lang.Throwable
            astore 5
         9: .line 439
            iload 3 /* release */
            ifeq 11
        10: .line 440
            aload 4 /* dst */
            invokevirtual io.netty.buffer.ByteBuf.release:()Z
            pop
        11: .line 442
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 5
            athrow
        end local 4 // io.netty.buffer.ByteBuf dst
        end local 3 // boolean release
        end local 2 // int length
        end local 1 // io.netty.buffer.ByteBuf buffer
        end local 0 // io.netty.buffer.ByteBufAllocator alloc
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0    alloc  Lio/netty/buffer/ByteBufAllocator;
            0   12     1   buffer  Lio/netty/buffer/ByteBuf;
            0   12     2   length  I
            1   12     3  release  Z
            2   12     4      dst  Lio/netty/buffer/ByteBuf;
      Exception table:
        from    to  target  type
           2     5       8  any
    MethodParameters:
        Name  Flags
      alloc   
      buffer  
      length  

  private static int firstIndexOf(io.netty.buffer.ByteBuf, int, int, byte);
    descriptor: (Lio/netty/buffer/ByteBuf;IIB)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // io.netty.buffer.ByteBuf buffer
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // byte value
         0: .line 446
            iload 1 /* fromIndex */
            iconst_0
            invokestatic java.lang.Math.max:(II)I
            istore 1 /* fromIndex */
         1: .line 447
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            if_icmpge 2
            aload 0 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.capacity:()I
            ifne 3
         2: .line 448
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
         3: .line 451
      StackMap locals:
      StackMap stack:
            aload 0 /* buffer */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iload 1 /* fromIndex */
            isub
            new io.netty.util.ByteProcessor$IndexOfProcessor
            dup
            iload 3 /* value */
            invokespecial io.netty.util.ByteProcessor$IndexOfProcessor.<init>:(B)V
            invokevirtual io.netty.buffer.ByteBuf.forEachByte:(IILio/netty/util/ByteProcessor;)I
            ireturn
        end local 3 // byte value
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // io.netty.buffer.ByteBuf buffer
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0     buffer  Lio/netty/buffer/ByteBuf;
            0    4     1  fromIndex  I
            0    4     2    toIndex  I
            0    4     3      value  B
    MethodParameters:
           Name  Flags
      buffer     
      fromIndex  
      toIndex    
      value      

  private static int lastIndexOf(io.netty.buffer.ByteBuf, int, int, byte);
    descriptor: (Lio/netty/buffer/ByteBuf;IIB)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // io.netty.buffer.ByteBuf buffer
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // byte value
         0: .line 455
            iload 1 /* fromIndex */
            aload 0 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.capacity:()I
            invokestatic java.lang.Math.min:(II)I
            istore 1 /* fromIndex */
         1: .line 456
            iload 1 /* fromIndex */
            iflt 2
            aload 0 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.capacity:()I
            ifne 3
         2: .line 457
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
         3: .line 460
      StackMap locals:
      StackMap stack:
            aload 0 /* buffer */
            iload 2 /* toIndex */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            isub
            new io.netty.util.ByteProcessor$IndexOfProcessor
            dup
            iload 3 /* value */
            invokespecial io.netty.util.ByteProcessor$IndexOfProcessor.<init>:(B)V
            invokevirtual io.netty.buffer.ByteBuf.forEachByteDesc:(IILio/netty/util/ByteProcessor;)I
            ireturn
        end local 3 // byte value
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // io.netty.buffer.ByteBuf buffer
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0     buffer  Lio/netty/buffer/ByteBuf;
            0    4     1  fromIndex  I
            0    4     2    toIndex  I
            0    4     3      value  B
    MethodParameters:
           Name  Flags
      buffer     
      fromIndex  
      toIndex    
      value      

  public static io.netty.buffer.ByteBuf writeUtf8(io.netty.buffer.ByteBufAllocator, java.lang.CharSequence);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;Ljava/lang/CharSequence;)Lio/netty/buffer/ByteBuf;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.netty.buffer.ByteBufAllocator alloc
        start local 1 // java.lang.CharSequence seq
         0: .line 473
            aload 0 /* alloc */
            aload 1 /* seq */
            invokestatic io.netty.buffer.ByteBufUtil.utf8MaxBytes:(Ljava/lang/CharSequence;)I
            invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
            astore 2 /* buf */
        start local 2 // io.netty.buffer.ByteBuf buf
         1: .line 474
            aload 2 /* buf */
            aload 1 /* seq */
            invokestatic io.netty.buffer.ByteBufUtil.writeUtf8:(Lio/netty/buffer/ByteBuf;Ljava/lang/CharSequence;)I
            pop
         2: .line 475
            aload 2 /* buf */
            areturn
        end local 2 // io.netty.buffer.ByteBuf buf
        end local 1 // java.lang.CharSequence seq
        end local 0 // io.netty.buffer.ByteBufAllocator alloc
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  alloc  Lio/netty/buffer/ByteBufAllocator;
            0    3     1    seq  Ljava/lang/CharSequence;
            1    3     2    buf  Lio/netty/buffer/ByteBuf;
    MethodParameters:
       Name  Flags
      alloc  
      seq    

  public static int writeUtf8(io.netty.buffer.ByteBuf, java.lang.CharSequence);
    descriptor: (Lio/netty/buffer/ByteBuf;Ljava/lang/CharSequence;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.buffer.ByteBuf buf
        start local 1 // java.lang.CharSequence seq
         0: .line 487
            aload 0 /* buf */
            aload 1 /* seq */
            aload 1 /* seq */
            invokestatic io.netty.buffer.ByteBufUtil.utf8MaxBytes:(Ljava/lang/CharSequence;)I
            invokestatic io.netty.buffer.ByteBufUtil.reserveAndWriteUtf8:(Lio/netty/buffer/ByteBuf;Ljava/lang/CharSequence;I)I
            ireturn
        end local 1 // java.lang.CharSequence seq
        end local 0 // io.netty.buffer.ByteBuf buf
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   buf  Lio/netty/buffer/ByteBuf;
            0    1     1   seq  Ljava/lang/CharSequence;
    MethodParameters:
      Name  Flags
      buf   
      seq   

  public static int reserveAndWriteUtf8(io.netty.buffer.ByteBuf, java.lang.CharSequence, int);
    descriptor: (Lio/netty/buffer/ByteBuf;Ljava/lang/CharSequence;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // io.netty.buffer.ByteBuf buf
        start local 1 // java.lang.CharSequence seq
        start local 2 // int reserveBytes
         0: .line 501
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            instanceof io.netty.buffer.AbstractByteBuf
            ifeq 6
         1: .line 502
            aload 0 /* buf */
            checkcast io.netty.buffer.AbstractByteBuf
            astore 3 /* byteBuf */
        start local 3 // io.netty.buffer.AbstractByteBuf byteBuf
         2: .line 503
            aload 3 /* byteBuf */
            iload 2 /* reserveBytes */
            invokevirtual io.netty.buffer.AbstractByteBuf.ensureWritable0:(I)V
         3: .line 504
            aload 3 /* byteBuf */
            aload 3 /* byteBuf */
            getfield io.netty.buffer.AbstractByteBuf.writerIndex:I
            aload 1 /* seq */
            aload 1 /* seq */
            invokeinterface java.lang.CharSequence.length:()I
            invokestatic io.netty.buffer.ByteBufUtil.writeUtf8:(Lio/netty/buffer/AbstractByteBuf;ILjava/lang/CharSequence;I)I
            istore 4 /* written */
        start local 4 // int written
         4: .line 505
            aload 3 /* byteBuf */
            dup
            getfield io.netty.buffer.AbstractByteBuf.writerIndex:I
            iload 4 /* written */
            iadd
            putfield io.netty.buffer.AbstractByteBuf.writerIndex:I
         5: .line 506
            iload 4 /* written */
            ireturn
        end local 4 // int written
        end local 3 // io.netty.buffer.AbstractByteBuf byteBuf
         6: .line 507
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            instanceof io.netty.buffer.WrappedByteBuf
            ifeq 9
         7: .line 509
            aload 0 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.unwrap:()Lio/netty/buffer/ByteBuf;
            astore 0 /* buf */
         8: .line 510
            goto 0
         9: .line 511
      StackMap locals:
      StackMap stack:
            aload 1 /* seq */
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            getstatic io.netty.util.CharsetUtil.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            astore 3 /* bytes */
        start local 3 // byte[] bytes
        10: .line 512
            aload 0 /* buf */
            aload 3 /* bytes */
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:([B)Lio/netty/buffer/ByteBuf;
            pop
        11: .line 513
            aload 3 /* bytes */
            arraylength
            ireturn
        end local 3 // byte[] bytes
        end local 2 // int reserveBytes
        end local 1 // java.lang.CharSequence seq
        end local 0 // io.netty.buffer.ByteBuf buf
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0           buf  Lio/netty/buffer/ByteBuf;
            0   12     1           seq  Ljava/lang/CharSequence;
            0   12     2  reserveBytes  I
            2    6     3       byteBuf  Lio/netty/buffer/AbstractByteBuf;
            4    6     4       written  I
           10   12     3         bytes  [B
    MethodParameters:
              Name  Flags
      buf           
      seq           
      reserveBytes  

  static int writeUtf8(io.netty.buffer.AbstractByteBuf, int, java.lang.CharSequence, int);
    descriptor: (Lio/netty/buffer/AbstractByteBuf;ILjava/lang/CharSequence;I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // io.netty.buffer.AbstractByteBuf buffer
        start local 1 // int writerIndex
        start local 2 // java.lang.CharSequence seq
        start local 3 // int len
         0: .line 520
            iload 1 /* writerIndex */
            istore 4 /* oldWriterIndex */
        start local 4 // int oldWriterIndex
         1: .line 524
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 36
         3: .line 525
      StackMap locals: int int
      StackMap stack:
            aload 2 /* seq */
            iload 5 /* i */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 6 /* c */
        start local 6 // char c
         4: .line 526
            iload 6 /* c */
            sipush 128
            if_icmpge 7
         5: .line 527
            aload 0 /* buffer */
            iload 1 /* writerIndex */
            iinc 1 /* writerIndex */ 1
            iload 6 /* c */
            i2b
            invokevirtual io.netty.buffer.AbstractByteBuf._setByte:(II)V
         6: .line 528
            goto 35
      StackMap locals: int
      StackMap stack:
         7: iload 6 /* c */
            sipush 2048
            if_icmpge 11
         8: .line 529
            aload 0 /* buffer */
            iload 1 /* writerIndex */
            iinc 1 /* writerIndex */ 1
            sipush 192
            iload 6 /* c */
            bipush 6
            ishr
            ior
            i2b
            invokevirtual io.netty.buffer.AbstractByteBuf._setByte:(II)V
         9: .line 530
            aload 0 /* buffer */
            iload 1 /* writerIndex */
            iinc 1 /* writerIndex */ 1
            sipush 128
            iload 6 /* c */
            bipush 63
            iand
            ior
            i2b
            invokevirtual io.netty.buffer.AbstractByteBuf._setByte:(II)V
        10: .line 531
            goto 35
      StackMap locals:
      StackMap stack:
        11: iload 6 /* c */
            invokestatic io.netty.util.internal.StringUtil.isSurrogate:(C)Z
            ifeq 32
        12: .line 532
            iload 6 /* c */
            invokestatic java.lang.Character.isHighSurrogate:(C)Z
            ifne 15
        13: .line 533
            aload 0 /* buffer */
            iload 1 /* writerIndex */
            iinc 1 /* writerIndex */ 1
            bipush 63
            invokevirtual io.netty.buffer.AbstractByteBuf._setByte:(II)V
        14: .line 534
            goto 35
        15: .line 541
      StackMap locals:
      StackMap stack:
            aload 2 /* seq */
            iinc 5 /* i */ 1
            iload 5 /* i */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 7 /* c2 */
        start local 7 // char c2
        16: .line 542
            goto 20
        end local 7 // char c2
      StackMap locals:
      StackMap stack: java.lang.IndexOutOfBoundsException
        17: pop
        18: .line 543
            aload 0 /* buffer */
            iload 1 /* writerIndex */
            iinc 1 /* writerIndex */ 1
            bipush 63
            invokevirtual io.netty.buffer.AbstractByteBuf._setByte:(II)V
        19: .line 544
            goto 37
        start local 7 // char c2
        20: .line 546
      StackMap locals: int
      StackMap stack:
            iload 7 /* c2 */
            invokestatic java.lang.Character.isLowSurrogate:(C)Z
            ifne 26
        21: .line 547
            aload 0 /* buffer */
            iload 1 /* writerIndex */
            iinc 1 /* writerIndex */ 1
            bipush 63
            invokevirtual io.netty.buffer.AbstractByteBuf._setByte:(II)V
        22: .line 548
            aload 0 /* buffer */
            iload 1 /* writerIndex */
            iinc 1 /* writerIndex */ 1
            iload 7 /* c2 */
            invokestatic java.lang.Character.isHighSurrogate:(C)Z
            ifeq 23
            bipush 63
            goto 24
      StackMap locals: io.netty.buffer.AbstractByteBuf int java.lang.CharSequence int int int int int
      StackMap stack: io.netty.buffer.AbstractByteBuf int
        23: iload 7 /* c2 */
      StackMap locals: io.netty.buffer.AbstractByteBuf int java.lang.CharSequence int int int int int
      StackMap stack: io.netty.buffer.AbstractByteBuf int int
        24: invokevirtual io.netty.buffer.AbstractByteBuf._setByte:(II)V
        25: .line 549
            goto 35
        26: .line 551
      StackMap locals:
      StackMap stack:
            iload 6 /* c */
            iload 7 /* c2 */
            invokestatic java.lang.Character.toCodePoint:(CC)I
            istore 8 /* codePoint */
        start local 8 // int codePoint
        27: .line 553
            aload 0 /* buffer */
            iload 1 /* writerIndex */
            iinc 1 /* writerIndex */ 1
            sipush 240
            iload 8 /* codePoint */
            bipush 18
            ishr
            ior
            i2b
            invokevirtual io.netty.buffer.AbstractByteBuf._setByte:(II)V
        28: .line 554
            aload 0 /* buffer */
            iload 1 /* writerIndex */
            iinc 1 /* writerIndex */ 1
            sipush 128
            iload 8 /* codePoint */
            bipush 12
            ishr
            bipush 63
            iand
            ior
            i2b
            invokevirtual io.netty.buffer.AbstractByteBuf._setByte:(II)V
        29: .line 555
            aload 0 /* buffer */
            iload 1 /* writerIndex */
            iinc 1 /* writerIndex */ 1
            sipush 128
            iload 8 /* codePoint */
            bipush 6
            ishr
            bipush 63
            iand
            ior
            i2b
            invokevirtual io.netty.buffer.AbstractByteBuf._setByte:(II)V
        30: .line 556
            aload 0 /* buffer */
            iload 1 /* writerIndex */
            iinc 1 /* writerIndex */ 1
            sipush 128
            iload 8 /* codePoint */
            bipush 63
            iand
            ior
            i2b
            invokevirtual io.netty.buffer.AbstractByteBuf._setByte:(II)V
        end local 8 // int codePoint
        end local 7 // char c2
        31: .line 557
            goto 35
        32: .line 558
      StackMap locals:
      StackMap stack:
            aload 0 /* buffer */
            iload 1 /* writerIndex */
            iinc 1 /* writerIndex */ 1
            sipush 224
            iload 6 /* c */
            bipush 12
            ishr
            ior
            i2b
            invokevirtual io.netty.buffer.AbstractByteBuf._setByte:(II)V
        33: .line 559
            aload 0 /* buffer */
            iload 1 /* writerIndex */
            iinc 1 /* writerIndex */ 1
            sipush 128
            iload 6 /* c */
            bipush 6
            ishr
            bipush 63
            iand
            ior
            i2b
            invokevirtual io.netty.buffer.AbstractByteBuf._setByte:(II)V
        34: .line 560
            aload 0 /* buffer */
            iload 1 /* writerIndex */
            iinc 1 /* writerIndex */ 1
            sipush 128
            iload 6 /* c */
            bipush 63
            iand
            ior
            i2b
            invokevirtual io.netty.buffer.AbstractByteBuf._setByte:(II)V
        end local 6 // char c
        35: .line 524
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 5 /* i */
            iload 3 /* len */
            if_icmplt 3
        end local 5 // int i
        37: .line 563
      StackMap locals:
      StackMap stack:
            iload 1 /* writerIndex */
            iload 4 /* oldWriterIndex */
            isub
            ireturn
        end local 4 // int oldWriterIndex
        end local 3 // int len
        end local 2 // java.lang.CharSequence seq
        end local 1 // int writerIndex
        end local 0 // io.netty.buffer.AbstractByteBuf buffer
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   38     0          buffer  Lio/netty/buffer/AbstractByteBuf;
            0   38     1     writerIndex  I
            0   38     2             seq  Ljava/lang/CharSequence;
            0   38     3             len  I
            1   38     4  oldWriterIndex  I
            2   37     5               i  I
            4   35     6               c  C
           16   17     7              c2  C
           20   31     7              c2  C
           27   31     8       codePoint  I
      Exception table:
        from    to  target  type
          15    16      17  Class java.lang.IndexOutOfBoundsException
    MethodParameters:
             Name  Flags
      buffer       
      writerIndex  
      seq          
      len          

  public static int utf8MaxBytes(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int seqLength
         0: .line 570
            iload 0 /* seqLength */
            getstatic io.netty.buffer.ByteBufUtil.MAX_BYTES_PER_CHAR_UTF8:I
            imul
            ireturn
        end local 0 // int seqLength
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  seqLength  I
    MethodParameters:
           Name  Flags
      seqLength  final

  public static int utf8MaxBytes(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.CharSequence seq
         0: .line 579
            aload 0 /* seq */
            invokeinterface java.lang.CharSequence.length:()I
            invokestatic io.netty.buffer.ByteBufUtil.utf8MaxBytes:(I)I
            ireturn
        end local 0 // java.lang.CharSequence seq
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   seq  Ljava/lang/CharSequence;
    MethodParameters:
      Name  Flags
      seq   

  public static int utf8Bytes(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.CharSequence seq
         0: .line 588
            aload 0 /* seq */
            instanceof io.netty.util.AsciiString
            ifeq 2
         1: .line 589
            aload 0 /* seq */
            invokeinterface java.lang.CharSequence.length:()I
            ireturn
         2: .line 591
      StackMap locals:
      StackMap stack:
            aload 0 /* seq */
            invokeinterface java.lang.CharSequence.length:()I
            istore 1 /* seqLength */
        start local 1 // int seqLength
         3: .line 592
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: .line 594
            goto 6
         5: .line 595
      StackMap locals: int int
      StackMap stack:
            iinc 2 /* i */ 1
         6: .line 594
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iload 1 /* seqLength */
            if_icmpge 7
            aload 0 /* seq */
            iload 2 /* i */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            sipush 128
            if_icmplt 5
         7: .line 598
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iload 1 /* seqLength */
            if_icmpge 8
            iload 2 /* i */
            aload 0 /* seq */
            iload 2 /* i */
            iload 1 /* seqLength */
            invokestatic io.netty.buffer.ByteBufUtil.utf8Bytes:(Ljava/lang/CharSequence;II)I
            iadd
            goto 9
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
      StackMap locals:
      StackMap stack: int
         9: ireturn
        end local 2 // int i
        end local 1 // int seqLength
        end local 0 // java.lang.CharSequence seq
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0        seq  Ljava/lang/CharSequence;
            3   10     1  seqLength  I
            4   10     2          i  I
    MethodParameters:
      Name  Flags
      seq   final

  private static int utf8Bytes(java.lang.CharSequence, int, int);
    descriptor: (Ljava/lang/CharSequence;II)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.lang.CharSequence seq
        start local 1 // int start
        start local 2 // int length
         0: .line 602
            iconst_0
            istore 3 /* encodedLength */
        start local 3 // int encodedLength
         1: .line 603
            iload 1 /* start */
            istore 4 /* i */
        start local 4 // int i
         2: goto 23
         3: .line 604
      StackMap locals: int int
      StackMap stack:
            aload 0 /* seq */
            iload 4 /* i */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
         4: .line 606
            iload 5 /* c */
            sipush 2048
            if_icmpge 7
         5: .line 608
            iload 3 /* encodedLength */
            bipush 127
            iload 5 /* c */
            isub
            bipush 31
            iushr
            iconst_1
            iadd
            iadd
            istore 3 /* encodedLength */
         6: .line 609
            goto 22
      StackMap locals: int
      StackMap stack:
         7: iload 5 /* c */
            invokestatic io.netty.util.internal.StringUtil.isSurrogate:(C)Z
            ifeq 21
         8: .line 610
            iload 5 /* c */
            invokestatic java.lang.Character.isHighSurrogate:(C)Z
            ifne 11
         9: .line 611
            iinc 3 /* encodedLength */ 1
        10: .line 613
            goto 22
        11: .line 619
      StackMap locals:
      StackMap stack:
            aload 0 /* seq */
            iinc 4 /* i */ 1
            iload 4 /* i */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 6 /* c2 */
        start local 6 // char c2
        12: .line 620
            goto 16
        end local 6 // char c2
      StackMap locals:
      StackMap stack: java.lang.IndexOutOfBoundsException
        13: pop
        14: .line 621
            iinc 3 /* encodedLength */ 1
        15: .line 623
            goto 24
        start local 6 // char c2
        16: .line 625
      StackMap locals: int
      StackMap stack:
            iload 6 /* c2 */
            invokestatic java.lang.Character.isLowSurrogate:(C)Z
            ifne 19
        17: .line 627
            iinc 3 /* encodedLength */ 2
        18: .line 628
            goto 22
        19: .line 631
      StackMap locals:
      StackMap stack:
            iinc 3 /* encodedLength */ 4
        end local 6 // char c2
        20: .line 632
            goto 22
        21: .line 633
      StackMap locals:
      StackMap stack:
            iinc 3 /* encodedLength */ 3
        end local 5 // char c
        22: .line 603
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 4 /* i */
            iload 2 /* length */
            if_icmplt 3
        end local 4 // int i
        24: .line 636
      StackMap locals:
      StackMap stack:
            iload 3 /* encodedLength */
            ireturn
        end local 3 // int encodedLength
        end local 2 // int length
        end local 1 // int start
        end local 0 // java.lang.CharSequence seq
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   25     0            seq  Ljava/lang/CharSequence;
            0   25     1          start  I
            0   25     2         length  I
            1   25     3  encodedLength  I
            2   24     4              i  I
            4   22     5              c  C
           12   13     6             c2  C
           16   20     6             c2  C
      Exception table:
        from    to  target  type
          11    12      13  Class java.lang.IndexOutOfBoundsException
    MethodParameters:
        Name  Flags
      seq     final
      start   final
      length  final

  public static io.netty.buffer.ByteBuf writeAscii(io.netty.buffer.ByteBufAllocator, java.lang.CharSequence);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;Ljava/lang/CharSequence;)Lio/netty/buffer/ByteBuf;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.netty.buffer.ByteBufAllocator alloc
        start local 1 // java.lang.CharSequence seq
         0: .line 649
            aload 0 /* alloc */
            aload 1 /* seq */
            invokeinterface java.lang.CharSequence.length:()I
            invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
            astore 2 /* buf */
        start local 2 // io.netty.buffer.ByteBuf buf
         1: .line 650
            aload 2 /* buf */
            aload 1 /* seq */
            invokestatic io.netty.buffer.ByteBufUtil.writeAscii:(Lio/netty/buffer/ByteBuf;Ljava/lang/CharSequence;)I
            pop
         2: .line 651
            aload 2 /* buf */
            areturn
        end local 2 // io.netty.buffer.ByteBuf buf
        end local 1 // java.lang.CharSequence seq
        end local 0 // io.netty.buffer.ByteBufAllocator alloc
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  alloc  Lio/netty/buffer/ByteBufAllocator;
            0    3     1    seq  Ljava/lang/CharSequence;
            1    3     2    buf  Lio/netty/buffer/ByteBuf;
    MethodParameters:
       Name  Flags
      alloc  
      seq    

  public static int writeAscii(io.netty.buffer.ByteBuf, java.lang.CharSequence);
    descriptor: (Lio/netty/buffer/ByteBuf;Ljava/lang/CharSequence;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // io.netty.buffer.ByteBuf buf
        start local 1 // java.lang.CharSequence seq
         0: .line 662
            aload 1 /* seq */
            invokeinterface java.lang.CharSequence.length:()I
            istore 2 /* len */
        start local 2 // int len
         1: .line 663
            aload 1 /* seq */
            instanceof io.netty.util.AsciiString
            ifeq 5
         2: .line 664
            aload 1 /* seq */
            checkcast io.netty.util.AsciiString
            astore 3 /* asciiString */
        start local 3 // io.netty.util.AsciiString asciiString
         3: .line 665
            aload 0 /* buf */
            aload 3 /* asciiString */
            invokevirtual io.netty.util.AsciiString.array:()[B
            aload 3 /* asciiString */
            invokevirtual io.netty.util.AsciiString.arrayOffset:()I
            iload 2 /* len */
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:([BII)Lio/netty/buffer/ByteBuf;
            pop
        end local 3 // io.netty.util.AsciiString asciiString
         4: .line 666
            goto 17
         5: .line 668
      StackMap locals: int
      StackMap stack:
            aload 0 /* buf */
            instanceof io.netty.buffer.AbstractByteBuf
            ifeq 11
         6: .line 669
            aload 0 /* buf */
            checkcast io.netty.buffer.AbstractByteBuf
            astore 3 /* byteBuf */
        start local 3 // io.netty.buffer.AbstractByteBuf byteBuf
         7: .line 670
            aload 3 /* byteBuf */
            iload 2 /* len */
            invokevirtual io.netty.buffer.AbstractByteBuf.ensureWritable0:(I)V
         8: .line 671
            aload 3 /* byteBuf */
            aload 3 /* byteBuf */
            getfield io.netty.buffer.AbstractByteBuf.writerIndex:I
            aload 1 /* seq */
            iload 2 /* len */
            invokestatic io.netty.buffer.ByteBufUtil.writeAscii:(Lio/netty/buffer/AbstractByteBuf;ILjava/lang/CharSequence;I)I
            istore 4 /* written */
        start local 4 // int written
         9: .line 672
            aload 3 /* byteBuf */
            dup
            getfield io.netty.buffer.AbstractByteBuf.writerIndex:I
            iload 4 /* written */
            iadd
            putfield io.netty.buffer.AbstractByteBuf.writerIndex:I
        10: .line 673
            iload 4 /* written */
            ireturn
        end local 4 // int written
        end local 3 // io.netty.buffer.AbstractByteBuf byteBuf
        11: .line 674
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            instanceof io.netty.buffer.WrappedByteBuf
            ifeq 14
        12: .line 676
            aload 0 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.unwrap:()Lio/netty/buffer/ByteBuf;
            astore 0 /* buf */
        13: .line 677
            goto 5
        14: .line 678
      StackMap locals:
      StackMap stack:
            aload 1 /* seq */
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            getstatic io.netty.util.CharsetUtil.US_ASCII:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            astore 3 /* bytes */
        start local 3 // byte[] bytes
        15: .line 679
            aload 0 /* buf */
            aload 3 /* bytes */
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:([B)Lio/netty/buffer/ByteBuf;
            pop
        16: .line 680
            aload 3 /* bytes */
            arraylength
            ireturn
        end local 3 // byte[] bytes
        17: .line 684
      StackMap locals:
      StackMap stack:
            iload 2 /* len */
            ireturn
        end local 2 // int len
        end local 1 // java.lang.CharSequence seq
        end local 0 // io.netty.buffer.ByteBuf buf
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0          buf  Lio/netty/buffer/ByteBuf;
            0   18     1          seq  Ljava/lang/CharSequence;
            1   18     2          len  I
            3    4     3  asciiString  Lio/netty/util/AsciiString;
            7   11     3      byteBuf  Lio/netty/buffer/AbstractByteBuf;
            9   11     4      written  I
           15   17     3        bytes  [B
    MethodParameters:
      Name  Flags
      buf   
      seq   

  static int writeAscii(io.netty.buffer.AbstractByteBuf, int, java.lang.CharSequence, int);
    descriptor: (Lio/netty/buffer/AbstractByteBuf;ILjava/lang/CharSequence;I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // io.netty.buffer.AbstractByteBuf buffer
        start local 1 // int writerIndex
        start local 2 // java.lang.CharSequence seq
        start local 3 // int len
         0: .line 692
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 4
         2: .line 693
      StackMap locals: int
      StackMap stack:
            aload 0 /* buffer */
            iload 1 /* writerIndex */
            iinc 1 /* writerIndex */ 1
            aload 2 /* seq */
            iload 4 /* i */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic io.netty.util.AsciiString.c2b:(C)B
            invokevirtual io.netty.buffer.AbstractByteBuf._setByte:(II)V
         3: .line 692
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 4 /* i */
            iload 3 /* len */
            if_icmplt 2
        end local 4 // int i
         5: .line 695
            iload 3 /* len */
            ireturn
        end local 3 // int len
        end local 2 // java.lang.CharSequence seq
        end local 1 // int writerIndex
        end local 0 // io.netty.buffer.AbstractByteBuf buffer
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0       buffer  Lio/netty/buffer/AbstractByteBuf;
            0    6     1  writerIndex  I
            0    6     2          seq  Ljava/lang/CharSequence;
            0    6     3          len  I
            1    5     4            i  I
    MethodParameters:
             Name  Flags
      buffer       
      writerIndex  
      seq          
      len          

  public static io.netty.buffer.ByteBuf encodeString(io.netty.buffer.ByteBufAllocator, java.nio.CharBuffer, java.nio.charset.Charset);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;Ljava/nio/CharBuffer;Ljava/nio/charset/Charset;)Lio/netty/buffer/ByteBuf;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.netty.buffer.ByteBufAllocator alloc
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.charset.Charset charset
         0: .line 703
            aload 0 /* alloc */
            iconst_0
            aload 1 /* src */
            aload 2 /* charset */
            iconst_0
            invokestatic io.netty.buffer.ByteBufUtil.encodeString0:(Lio/netty/buffer/ByteBufAllocator;ZLjava/nio/CharBuffer;Ljava/nio/charset/Charset;I)Lio/netty/buffer/ByteBuf;
            areturn
        end local 2 // java.nio.charset.Charset charset
        end local 1 // java.nio.CharBuffer src
        end local 0 // io.netty.buffer.ByteBufAllocator alloc
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0    alloc  Lio/netty/buffer/ByteBufAllocator;
            0    1     1      src  Ljava/nio/CharBuffer;
            0    1     2  charset  Ljava/nio/charset/Charset;
    MethodParameters:
         Name  Flags
      alloc    
      src      
      charset  

  public static io.netty.buffer.ByteBuf encodeString(io.netty.buffer.ByteBufAllocator, java.nio.CharBuffer, java.nio.charset.Charset, int);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;Ljava/nio/CharBuffer;Ljava/nio/charset/Charset;I)Lio/netty/buffer/ByteBuf;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.netty.buffer.ByteBufAllocator alloc
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.charset.Charset charset
        start local 3 // int extraCapacity
         0: .line 716
            aload 0 /* alloc */
            iconst_0
            aload 1 /* src */
            aload 2 /* charset */
            iload 3 /* extraCapacity */
            invokestatic io.netty.buffer.ByteBufUtil.encodeString0:(Lio/netty/buffer/ByteBufAllocator;ZLjava/nio/CharBuffer;Ljava/nio/charset/Charset;I)Lio/netty/buffer/ByteBuf;
            areturn
        end local 3 // int extraCapacity
        end local 2 // java.nio.charset.Charset charset
        end local 1 // java.nio.CharBuffer src
        end local 0 // io.netty.buffer.ByteBufAllocator alloc
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0          alloc  Lio/netty/buffer/ByteBufAllocator;
            0    1     1            src  Ljava/nio/CharBuffer;
            0    1     2        charset  Ljava/nio/charset/Charset;
            0    1     3  extraCapacity  I
    MethodParameters:
               Name  Flags
      alloc          
      src            
      charset        
      extraCapacity  

  static io.netty.buffer.ByteBuf encodeString0(io.netty.buffer.ByteBufAllocator, boolean, java.nio.CharBuffer, java.nio.charset.Charset, int);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;ZLjava/nio/CharBuffer;Ljava/nio/charset/Charset;I)Lio/netty/buffer/ByteBuf;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=14, args_size=5
        start local 0 // io.netty.buffer.ByteBufAllocator alloc
        start local 1 // boolean enforceHeap
        start local 2 // java.nio.CharBuffer src
        start local 3 // java.nio.charset.Charset charset
        start local 4 // int extraCapacity
         0: .line 721
            aload 3 /* charset */
            invokestatic io.netty.util.CharsetUtil.encoder:(Ljava/nio/charset/Charset;)Ljava/nio/charset/CharsetEncoder;
            astore 5 /* encoder */
        start local 5 // java.nio.charset.CharsetEncoder encoder
         1: .line 722
            aload 2 /* src */
            invokevirtual java.nio.CharBuffer.remaining:()I
            i2d
            aload 5 /* encoder */
            invokevirtual java.nio.charset.CharsetEncoder.maxBytesPerChar:()F
            f2d
            dmul
            d2i
            iload 4 /* extraCapacity */
            iadd
            istore 6 /* length */
        start local 6 // int length
         2: .line 723
            iconst_1
            istore 7 /* release */
        start local 7 // boolean release
         3: .line 725
            iload 1 /* enforceHeap */
            ifeq 6
         4: .line 726
            aload 0 /* alloc */
            iload 6 /* length */
            invokeinterface io.netty.buffer.ByteBufAllocator.heapBuffer:(I)Lio/netty/buffer/ByteBuf;
            astore 8 /* dst */
        start local 8 // io.netty.buffer.ByteBuf dst
         5: .line 727
            goto 7
        end local 8 // io.netty.buffer.ByteBuf dst
         6: .line 728
      StackMap locals: java.nio.charset.CharsetEncoder int int
      StackMap stack:
            aload 0 /* alloc */
            iload 6 /* length */
            invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
            astore 8 /* dst */
        start local 8 // io.netty.buffer.ByteBuf dst
         7: .line 731
      StackMap locals: io.netty.buffer.ByteBuf
      StackMap stack:
            aload 8 /* dst */
            aload 8 /* dst */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            iload 6 /* length */
            invokevirtual io.netty.buffer.ByteBuf.internalNioBuffer:(II)Ljava/nio/ByteBuffer;
            astore 9 /* dstBuf */
        start local 9 // java.nio.ByteBuffer dstBuf
         8: .line 732
            aload 9 /* dstBuf */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 10 /* pos */
        start local 10 // int pos
         9: .line 733
            aload 5 /* encoder */
            aload 2 /* src */
            aload 9 /* dstBuf */
            iconst_1
            invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
            astore 11 /* cr */
        start local 11 // java.nio.charset.CoderResult cr
        10: .line 734
            aload 11 /* cr */
            invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
            ifne 12
        11: .line 735
            aload 11 /* cr */
            invokevirtual java.nio.charset.CoderResult.throwException:()V
        12: .line 737
      StackMap locals: java.nio.ByteBuffer int java.nio.charset.CoderResult
      StackMap stack:
            aload 5 /* encoder */
            aload 9 /* dstBuf */
            invokevirtual java.nio.charset.CharsetEncoder.flush:(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
            astore 11 /* cr */
        13: .line 738
            aload 11 /* cr */
            invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
            ifne 15
        14: .line 739
            aload 11 /* cr */
            invokevirtual java.nio.charset.CoderResult.throwException:()V
        15: .line 741
      StackMap locals:
      StackMap stack:
            aload 8 /* dst */
            aload 8 /* dst */
            invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
            aload 9 /* dstBuf */
            invokevirtual java.nio.ByteBuffer.position:()I
            iadd
            iload 10 /* pos */
            isub
            invokevirtual io.netty.buffer.ByteBuf.writerIndex:(I)Lio/netty/buffer/ByteBuf;
            pop
        16: .line 742
            iconst_0
            istore 7 /* release */
        17: .line 743
            aload 8 /* dst */
            astore 13
        18: .line 747
            iload 7 /* release */
            ifeq 20
        19: .line 748
            aload 8 /* dst */
            invokevirtual io.netty.buffer.ByteBuf.release:()Z
            pop
        20: .line 743
      StackMap locals: io.netty.buffer.ByteBufAllocator int java.nio.CharBuffer java.nio.charset.Charset int java.nio.charset.CharsetEncoder int int io.netty.buffer.ByteBuf java.nio.ByteBuffer int java.nio.charset.CoderResult top io.netty.buffer.ByteBuf
      StackMap stack:
            aload 13
            areturn
        end local 11 // java.nio.charset.CoderResult cr
        end local 10 // int pos
        end local 9 // java.nio.ByteBuffer dstBuf
        21: .line 744
      StackMap locals: io.netty.buffer.ByteBufAllocator int java.nio.CharBuffer java.nio.charset.Charset int java.nio.charset.CharsetEncoder int int io.netty.buffer.ByteBuf
      StackMap stack: java.nio.charset.CharacterCodingException
            astore 9 /* x */
        start local 9 // java.nio.charset.CharacterCodingException x
        22: .line 745
            new java.lang.IllegalStateException
            dup
            aload 9 /* x */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 9 // java.nio.charset.CharacterCodingException x
        23: .line 746
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12
        24: .line 747
            iload 7 /* release */
            ifeq 26
        25: .line 748
            aload 8 /* dst */
            invokevirtual io.netty.buffer.ByteBuf.release:()Z
            pop
        26: .line 750
      StackMap locals: io.netty.buffer.ByteBufAllocator int java.nio.CharBuffer java.nio.charset.Charset int java.nio.charset.CharsetEncoder int int io.netty.buffer.ByteBuf top top top java.lang.Throwable
      StackMap stack:
            aload 12
            athrow
        end local 8 // io.netty.buffer.ByteBuf dst
        end local 7 // boolean release
        end local 6 // int length
        end local 5 // java.nio.charset.CharsetEncoder encoder
        end local 4 // int extraCapacity
        end local 3 // java.nio.charset.Charset charset
        end local 2 // java.nio.CharBuffer src
        end local 1 // boolean enforceHeap
        end local 0 // io.netty.buffer.ByteBufAllocator alloc
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   27     0          alloc  Lio/netty/buffer/ByteBufAllocator;
            0   27     1    enforceHeap  Z
            0   27     2            src  Ljava/nio/CharBuffer;
            0   27     3        charset  Ljava/nio/charset/Charset;
            0   27     4  extraCapacity  I
            1   27     5        encoder  Ljava/nio/charset/CharsetEncoder;
            2   27     6         length  I
            3   27     7        release  Z
            5    6     8            dst  Lio/netty/buffer/ByteBuf;
            7   27     8            dst  Lio/netty/buffer/ByteBuf;
            8   21     9         dstBuf  Ljava/nio/ByteBuffer;
            9   21    10            pos  I
           10   21    11             cr  Ljava/nio/charset/CoderResult;
           22   23     9              x  Ljava/nio/charset/CharacterCodingException;
      Exception table:
        from    to  target  type
           7    18      21  Class java.nio.charset.CharacterCodingException
           7    18      23  any
          21    23      23  any
    MethodParameters:
               Name  Flags
      alloc          
      enforceHeap    
      src            
      charset        
      extraCapacity  

  static java.lang.String decodeString(io.netty.buffer.ByteBuf, int, int, java.nio.charset.Charset);
    descriptor: (Lio/netty/buffer/ByteBuf;IILjava/nio/charset/Charset;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // io.netty.buffer.ByteBuf src
        start local 1 // int readerIndex
        start local 2 // int len
        start local 3 // java.nio.charset.Charset charset
         0: .line 754
            iload 2 /* len */
            ifne 2
         1: .line 755
            ldc ""
            areturn
         2: .line 757
      StackMap locals:
      StackMap stack:
            aload 3 /* charset */
            invokestatic io.netty.util.CharsetUtil.decoder:(Ljava/nio/charset/Charset;)Ljava/nio/charset/CharsetDecoder;
            astore 4 /* decoder */
        start local 4 // java.nio.charset.CharsetDecoder decoder
         3: .line 758
            iload 2 /* len */
            i2d
            aload 4 /* decoder */
            invokevirtual java.nio.charset.CharsetDecoder.maxCharsPerByte:()F
            f2d
            dmul
            d2i
            istore 5 /* maxLength */
        start local 5 // int maxLength
         4: .line 759
            getstatic io.netty.buffer.ByteBufUtil.CHAR_BUFFERS:Lio/netty/util/concurrent/FastThreadLocal;
            invokevirtual io.netty.util.concurrent.FastThreadLocal.get:()Ljava/lang/Object;
            checkcast java.nio.CharBuffer
            astore 6 /* dst */
        start local 6 // java.nio.CharBuffer dst
         5: .line 760
            aload 6 /* dst */
            invokevirtual java.nio.CharBuffer.length:()I
            iload 5 /* maxLength */
            if_icmpge 10
         6: .line 761
            iload 5 /* maxLength */
            invokestatic java.nio.CharBuffer.allocate:(I)Ljava/nio/CharBuffer;
            astore 6 /* dst */
         7: .line 762
            iload 5 /* maxLength */
            getstatic io.netty.buffer.ByteBufUtil.MAX_CHAR_BUFFER_SIZE:I
            if_icmpgt 11
         8: .line 763
            getstatic io.netty.buffer.ByteBufUtil.CHAR_BUFFERS:Lio/netty/util/concurrent/FastThreadLocal;
            aload 6 /* dst */
            invokevirtual io.netty.util.concurrent.FastThreadLocal.set:(Ljava/lang/Object;)V
         9: .line 765
            goto 11
        10: .line 766
      StackMap locals: java.nio.charset.CharsetDecoder int java.nio.CharBuffer
      StackMap stack:
            aload 6 /* dst */
            invokevirtual java.nio.CharBuffer.clear:()Ljava/nio/Buffer;
            pop
        11: .line 768
      StackMap locals:
      StackMap stack:
            aload 0 /* src */
            invokevirtual io.netty.buffer.ByteBuf.nioBufferCount:()I
            iconst_1
            if_icmpne 14
        12: .line 769
            aload 4 /* decoder */
            aload 0 /* src */
            iload 1 /* readerIndex */
            iload 2 /* len */
            invokevirtual io.netty.buffer.ByteBuf.nioBuffer:(II)Ljava/nio/ByteBuffer;
            aload 6 /* dst */
            invokestatic io.netty.buffer.ByteBufUtil.decodeString:(Ljava/nio/charset/CharsetDecoder;Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)V
        13: .line 770
            goto 22
        14: .line 773
      StackMap locals:
      StackMap stack:
            aload 0 /* src */
            invokevirtual io.netty.buffer.ByteBuf.alloc:()Lio/netty/buffer/ByteBufAllocator;
            iload 2 /* len */
            invokeinterface io.netty.buffer.ByteBufAllocator.heapBuffer:(I)Lio/netty/buffer/ByteBuf;
            astore 7 /* buffer */
        start local 7 // io.netty.buffer.ByteBuf buffer
        15: .line 775
            aload 7 /* buffer */
            aload 0 /* src */
            iload 1 /* readerIndex */
            iload 2 /* len */
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf;
            pop
        16: .line 777
            aload 4 /* decoder */
            aload 7 /* buffer */
            aload 7 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            iload 2 /* len */
            invokevirtual io.netty.buffer.ByteBuf.internalNioBuffer:(II)Ljava/nio/ByteBuffer;
            aload 6 /* dst */
            invokestatic io.netty.buffer.ByteBufUtil.decodeString:(Ljava/nio/charset/CharsetDecoder;Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)V
        17: .line 778
            goto 21
      StackMap locals: io.netty.buffer.ByteBuf int int java.nio.charset.Charset java.nio.charset.CharsetDecoder int java.nio.CharBuffer io.netty.buffer.ByteBuf
      StackMap stack: java.lang.Throwable
        18: astore 8
        19: .line 780
            aload 7 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.release:()Z
            pop
        20: .line 781
            aload 8
            athrow
        21: .line 780
      StackMap locals:
      StackMap stack:
            aload 7 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.release:()Z
            pop
        end local 7 // io.netty.buffer.ByteBuf buffer
        22: .line 783
      StackMap locals:
      StackMap stack:
            aload 6 /* dst */
            invokevirtual java.nio.CharBuffer.flip:()Ljava/nio/Buffer;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
        end local 6 // java.nio.CharBuffer dst
        end local 5 // int maxLength
        end local 4 // java.nio.charset.CharsetDecoder decoder
        end local 3 // java.nio.charset.Charset charset
        end local 2 // int len
        end local 1 // int readerIndex
        end local 0 // io.netty.buffer.ByteBuf src
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   23     0          src  Lio/netty/buffer/ByteBuf;
            0   23     1  readerIndex  I
            0   23     2          len  I
            0   23     3      charset  Ljava/nio/charset/Charset;
            3   23     4      decoder  Ljava/nio/charset/CharsetDecoder;
            4   23     5    maxLength  I
            5   23     6          dst  Ljava/nio/CharBuffer;
           15   22     7       buffer  Lio/netty/buffer/ByteBuf;
      Exception table:
        from    to  target  type
          15    18      18  any
    MethodParameters:
             Name  Flags
      src          
      readerIndex  
      len          
      charset      

  private static void decodeString(java.nio.charset.CharsetDecoder, java.nio.ByteBuffer, java.nio.CharBuffer);
    descriptor: (Ljava/nio/charset/CharsetDecoder;Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.nio.charset.CharsetDecoder decoder
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 788
            aload 0 /* decoder */
            aload 1 /* src */
            aload 2 /* dst */
            iconst_1
            invokevirtual java.nio.charset.CharsetDecoder.decode:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;Z)Ljava/nio/charset/CoderResult;
            astore 3 /* cr */
        start local 3 // java.nio.charset.CoderResult cr
         1: .line 789
            aload 3 /* cr */
            invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
            ifne 3
         2: .line 790
            aload 3 /* cr */
            invokevirtual java.nio.charset.CoderResult.throwException:()V
         3: .line 792
      StackMap locals: java.nio.charset.CoderResult
      StackMap stack:
            aload 0 /* decoder */
            aload 2 /* dst */
            invokevirtual java.nio.charset.CharsetDecoder.flush:(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
            astore 3 /* cr */
         4: .line 793
            aload 3 /* cr */
            invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
            ifne 9
         5: .line 794
            aload 3 /* cr */
            invokevirtual java.nio.charset.CoderResult.throwException:()V
        end local 3 // java.nio.charset.CoderResult cr
         6: .line 796
            goto 9
      StackMap locals: java.nio.charset.CharsetDecoder java.nio.ByteBuffer java.nio.CharBuffer
      StackMap stack: java.nio.charset.CharacterCodingException
         7: astore 3 /* x */
        start local 3 // java.nio.charset.CharacterCodingException x
         8: .line 797
            new java.lang.IllegalStateException
            dup
            aload 3 /* x */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.nio.charset.CharacterCodingException x
         9: .line 799
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.nio.CharBuffer dst
        end local 1 // java.nio.ByteBuffer src
        end local 0 // java.nio.charset.CharsetDecoder decoder
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0  decoder  Ljava/nio/charset/CharsetDecoder;
            0   10     1      src  Ljava/nio/ByteBuffer;
            0   10     2      dst  Ljava/nio/CharBuffer;
            1    6     3       cr  Ljava/nio/charset/CoderResult;
            8    9     3        x  Ljava/nio/charset/CharacterCodingException;
      Exception table:
        from    to  target  type
           0     6       7  Class java.nio.charset.CharacterCodingException
    MethodParameters:
         Name  Flags
      decoder  
      src      
      dst      

  public static io.netty.buffer.ByteBuf threadLocalDirectBuffer();
    descriptor: ()Lio/netty/buffer/ByteBuf;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 807
            getstatic io.netty.buffer.ByteBufUtil.THREAD_LOCAL_BUFFER_SIZE:I
            ifgt 2
         1: .line 808
            aconst_null
            areturn
         2: .line 811
      StackMap locals:
      StackMap stack:
            invokestatic io.netty.util.internal.PlatformDependent.hasUnsafe:()Z
            ifeq 4
         3: .line 812
            invokestatic io.netty.buffer.ByteBufUtil$ThreadLocalUnsafeDirectByteBuf.newInstance:()Lio/netty/buffer/ByteBufUtil$ThreadLocalUnsafeDirectByteBuf;
            areturn
         4: .line 814
      StackMap locals:
      StackMap stack:
            invokestatic io.netty.buffer.ByteBufUtil$ThreadLocalDirectByteBuf.newInstance:()Lio/netty/buffer/ByteBufUtil$ThreadLocalDirectByteBuf;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static byte[] getBytes(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.netty.buffer.ByteBuf buf
         0: .line 823
            aload 0 /* buf */
            aload 0 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            aload 0 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            invokestatic io.netty.buffer.ByteBufUtil.getBytes:(Lio/netty/buffer/ByteBuf;II)[B
            areturn
        end local 0 // io.netty.buffer.ByteBuf buf
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   buf  Lio/netty/buffer/ByteBuf;
    MethodParameters:
      Name  Flags
      buf   

  public static byte[] getBytes(io.netty.buffer.ByteBuf, int, int);
    descriptor: (Lio/netty/buffer/ByteBuf;II)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.buffer.ByteBuf buf
        start local 1 // int start
        start local 2 // int length
         0: .line 831
            aload 0 /* buf */
            iload 1 /* start */
            iload 2 /* length */
            iconst_1
            invokestatic io.netty.buffer.ByteBufUtil.getBytes:(Lio/netty/buffer/ByteBuf;IIZ)[B
            areturn
        end local 2 // int length
        end local 1 // int start
        end local 0 // io.netty.buffer.ByteBuf buf
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0     buf  Lio/netty/buffer/ByteBuf;
            0    1     1   start  I
            0    1     2  length  I
    MethodParameters:
        Name  Flags
      buf     
      start   
      length  

  public static byte[] getBytes(io.netty.buffer.ByteBuf, int, int, boolean);
    descriptor: (Lio/netty/buffer/ByteBuf;IIZ)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // io.netty.buffer.ByteBuf buf
        start local 1 // int start
        start local 2 // int length
        start local 3 // boolean copy
         0: .line 841
            iload 1 /* start */
            iload 2 /* length */
            aload 0 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.capacity:()I
            invokestatic io.netty.util.internal.MathUtil.isOutOfBounds:(III)Z
            ifeq 4
         1: .line 842
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "expected: 0 <= start("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* start */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") <= start + length("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         2: .line 843
            ldc ") <= "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "buf.capacity("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.capacity:()I
            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;
         3: .line 842
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 846
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.hasArray:()Z
            ifeq 9
         5: .line 847
            iload 3 /* copy */
            ifne 6
            iload 1 /* start */
            ifne 6
            iload 2 /* length */
            aload 0 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.capacity:()I
            if_icmpeq 8
         6: .line 848
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.arrayOffset:()I
            iload 1 /* start */
            iadd
            istore 4 /* baseOffset */
        start local 4 // int baseOffset
         7: .line 849
            aload 0 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.array:()[B
            iload 4 /* baseOffset */
            iload 4 /* baseOffset */
            iload 2 /* length */
            iadd
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            areturn
        end local 4 // int baseOffset
         8: .line 851
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.array:()[B
            areturn
         9: .line 855
      StackMap locals:
      StackMap stack:
            iload 2 /* length */
            newarray 8
            astore 4 /* v */
        start local 4 // byte[] v
        10: .line 856
            aload 0 /* buf */
            iload 1 /* start */
            aload 4 /* v */
            invokevirtual io.netty.buffer.ByteBuf.getBytes:(I[B)Lio/netty/buffer/ByteBuf;
            pop
        11: .line 857
            aload 4 /* v */
            areturn
        end local 4 // byte[] v
        end local 3 // boolean copy
        end local 2 // int length
        end local 1 // int start
        end local 0 // io.netty.buffer.ByteBuf buf
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0         buf  Lio/netty/buffer/ByteBuf;
            0   12     1       start  I
            0   12     2      length  I
            0   12     3        copy  Z
            7    8     4  baseOffset  I
           10   12     4           v  [B
    MethodParameters:
        Name  Flags
      buf     
      start   
      length  
      copy    

  public static void copy(io.netty.util.AsciiString, io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/util/AsciiString;Lio/netty/buffer/ByteBuf;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.netty.util.AsciiString src
        start local 1 // io.netty.buffer.ByteBuf dst
         0: .line 867
            aload 0 /* src */
            iconst_0
            aload 1 /* dst */
            aload 0 /* src */
            invokevirtual io.netty.util.AsciiString.length:()I
            invokestatic io.netty.buffer.ByteBufUtil.copy:(Lio/netty/util/AsciiString;ILio/netty/buffer/ByteBuf;I)V
         1: .line 868
            return
        end local 1 // io.netty.buffer.ByteBuf dst
        end local 0 // io.netty.util.AsciiString src
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   src  Lio/netty/util/AsciiString;
            0    2     1   dst  Lio/netty/buffer/ByteBuf;
    MethodParameters:
      Name  Flags
      src   
      dst   

  public static void copy(io.netty.util.AsciiString, int, io.netty.buffer.ByteBuf, int, int);
    descriptor: (Lio/netty/util/AsciiString;ILio/netty/buffer/ByteBuf;II)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // io.netty.util.AsciiString src
        start local 1 // int srcIdx
        start local 2 // io.netty.buffer.ByteBuf dst
        start local 3 // int dstIdx
        start local 4 // int length
         0: .line 882
            iload 1 /* srcIdx */
            iload 4 /* length */
            aload 0 /* src */
            invokevirtual io.netty.util.AsciiString.length:()I
            invokestatic io.netty.util.internal.MathUtil.isOutOfBounds:(III)Z
            ifeq 4
         1: .line 883
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "expected: 0 <= srcIdx("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* srcIdx */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") <= srcIdx + length("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 884
            iload 4 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") <= srcLen("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* src */
            invokevirtual io.netty.util.AsciiString.length:()I
            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;
         3: .line 883
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 887
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            ldc "dst"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast io.netty.buffer.ByteBuf
            iload 3 /* dstIdx */
            aload 0 /* src */
            invokevirtual io.netty.util.AsciiString.array:()[B
            iload 1 /* srcIdx */
            aload 0 /* src */
            invokevirtual io.netty.util.AsciiString.arrayOffset:()I
            iadd
            iload 4 /* length */
            invokevirtual io.netty.buffer.ByteBuf.setBytes:(I[BII)Lio/netty/buffer/ByteBuf;
            pop
         5: .line 888
            return
        end local 4 // int length
        end local 3 // int dstIdx
        end local 2 // io.netty.buffer.ByteBuf dst
        end local 1 // int srcIdx
        end local 0 // io.netty.util.AsciiString src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0     src  Lio/netty/util/AsciiString;
            0    6     1  srcIdx  I
            0    6     2     dst  Lio/netty/buffer/ByteBuf;
            0    6     3  dstIdx  I
            0    6     4  length  I
    MethodParameters:
        Name  Flags
      src     
      srcIdx  
      dst     
      dstIdx  
      length  

  public static void copy(io.netty.util.AsciiString, int, io.netty.buffer.ByteBuf, int);
    descriptor: (Lio/netty/util/AsciiString;ILio/netty/buffer/ByteBuf;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.netty.util.AsciiString src
        start local 1 // int srcIdx
        start local 2 // io.netty.buffer.ByteBuf dst
        start local 3 // int length
         0: .line 899
            iload 1 /* srcIdx */
            iload 3 /* length */
            aload 0 /* src */
            invokevirtual io.netty.util.AsciiString.length:()I
            invokestatic io.netty.util.internal.MathUtil.isOutOfBounds:(III)Z
            ifeq 4
         1: .line 900
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "expected: 0 <= srcIdx("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* srcIdx */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") <= srcIdx + length("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 901
            iload 3 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") <= srcLen("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* src */
            invokevirtual io.netty.util.AsciiString.length:()I
            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;
         3: .line 900
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 904
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            ldc "dst"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast io.netty.buffer.ByteBuf
            aload 0 /* src */
            invokevirtual io.netty.util.AsciiString.array:()[B
            iload 1 /* srcIdx */
            aload 0 /* src */
            invokevirtual io.netty.util.AsciiString.arrayOffset:()I
            iadd
            iload 3 /* length */
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:([BII)Lio/netty/buffer/ByteBuf;
            pop
         5: .line 905
            return
        end local 3 // int length
        end local 2 // io.netty.buffer.ByteBuf dst
        end local 1 // int srcIdx
        end local 0 // io.netty.util.AsciiString src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0     src  Lio/netty/util/AsciiString;
            0    6     1  srcIdx  I
            0    6     2     dst  Lio/netty/buffer/ByteBuf;
            0    6     3  length  I
    MethodParameters:
        Name  Flags
      src     
      srcIdx  
      dst     
      length  

  public static java.lang.String prettyHexDump(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.netty.buffer.ByteBuf buffer
         0: .line 911
            aload 0 /* buffer */
            aload 0 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            aload 0 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            invokestatic io.netty.buffer.ByteBufUtil.prettyHexDump:(Lio/netty/buffer/ByteBuf;II)Ljava/lang/String;
            areturn
        end local 0 // io.netty.buffer.ByteBuf buffer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  buffer  Lio/netty/buffer/ByteBuf;
    MethodParameters:
        Name  Flags
      buffer  

  public static java.lang.String prettyHexDump(io.netty.buffer.ByteBuf, int, int);
    descriptor: (Lio/netty/buffer/ByteBuf;II)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.buffer.ByteBuf buffer
        start local 1 // int offset
        start local 2 // int length
         0: .line 919
            aload 0 /* buffer */
            iload 1 /* offset */
            iload 2 /* length */
            invokestatic io.netty.buffer.ByteBufUtil$HexUtil.prettyHexDump:(Lio/netty/buffer/ByteBuf;II)Ljava/lang/String;
            areturn
        end local 2 // int length
        end local 1 // int offset
        end local 0 // io.netty.buffer.ByteBuf buffer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  buffer  Lio/netty/buffer/ByteBuf;
            0    1     1  offset  I
            0    1     2  length  I
    MethodParameters:
        Name  Flags
      buffer  
      offset  
      length  

  public static void appendPrettyHexDump(java.lang.StringBuilder, io.netty.buffer.ByteBuf);
    descriptor: (Ljava/lang/StringBuilder;Lio/netty/buffer/ByteBuf;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.StringBuilder dump
        start local 1 // io.netty.buffer.ByteBuf buf
         0: .line 927
            aload 0 /* dump */
            aload 1 /* buf */
            aload 1 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            aload 1 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            invokestatic io.netty.buffer.ByteBufUtil.appendPrettyHexDump:(Ljava/lang/StringBuilder;Lio/netty/buffer/ByteBuf;II)V
         1: .line 928
            return
        end local 1 // io.netty.buffer.ByteBuf buf
        end local 0 // java.lang.StringBuilder dump
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  dump  Ljava/lang/StringBuilder;
            0    2     1   buf  Lio/netty/buffer/ByteBuf;
    MethodParameters:
      Name  Flags
      dump  
      buf   

  public static void appendPrettyHexDump(java.lang.StringBuilder, io.netty.buffer.ByteBuf, int, int);
    descriptor: (Ljava/lang/StringBuilder;Lio/netty/buffer/ByteBuf;II)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.lang.StringBuilder dump
        start local 1 // io.netty.buffer.ByteBuf buf
        start local 2 // int offset
        start local 3 // int length
         0: .line 936
            aload 0 /* dump */
            aload 1 /* buf */
            iload 2 /* offset */
            iload 3 /* length */
            invokestatic io.netty.buffer.ByteBufUtil$HexUtil.appendPrettyHexDump:(Ljava/lang/StringBuilder;Lio/netty/buffer/ByteBuf;II)V
         1: .line 937
            return
        end local 3 // int length
        end local 2 // int offset
        end local 1 // io.netty.buffer.ByteBuf buf
        end local 0 // java.lang.StringBuilder dump
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    dump  Ljava/lang/StringBuilder;
            0    2     1     buf  Lio/netty/buffer/ByteBuf;
            0    2     2  offset  I
            0    2     3  length  I
    MethodParameters:
        Name  Flags
      dump    
      buf     
      offset  
      length  

  public static boolean isText(io.netty.buffer.ByteBuf, java.nio.charset.Charset);
    descriptor: (Lio/netty/buffer/ByteBuf;Ljava/nio/charset/Charset;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.netty.buffer.ByteBuf buf
        start local 1 // java.nio.charset.Charset charset
         0: .line 1209
            aload 0 /* buf */
            aload 0 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            aload 0 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            aload 1 /* charset */
            invokestatic io.netty.buffer.ByteBufUtil.isText:(Lio/netty/buffer/ByteBuf;IILjava/nio/charset/Charset;)Z
            ireturn
        end local 1 // java.nio.charset.Charset charset
        end local 0 // io.netty.buffer.ByteBuf buf
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0      buf  Lio/netty/buffer/ByteBuf;
            0    1     1  charset  Ljava/nio/charset/Charset;
    MethodParameters:
         Name  Flags
      buf      
      charset  

  public static boolean isText(io.netty.buffer.ByteBuf, int, int, java.nio.charset.Charset);
    descriptor: (Lio/netty/buffer/ByteBuf;IILjava/nio/charset/Charset;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // io.netty.buffer.ByteBuf buf
        start local 1 // int index
        start local 2 // int length
        start local 3 // java.nio.charset.Charset charset
         0: .line 1224
            aload 0 /* buf */
            ldc "buf"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 1225
            aload 3 /* charset */
            ldc "charset"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 1226
            aload 0 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            aload 0 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            iadd
            istore 4 /* maxIndex */
        start local 4 // int maxIndex
         3: .line 1227
            iload 1 /* index */
            iflt 4
            iload 2 /* length */
            iflt 4
            iload 1 /* index */
            iload 4 /* maxIndex */
            iload 2 /* length */
            isub
            if_icmple 5
         4: .line 1228
      StackMap locals: int
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "index: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " length: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 1230
      StackMap locals:
      StackMap stack:
            aload 3 /* charset */
            getstatic io.netty.util.CharsetUtil.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.nio.charset.Charset.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 1231
            aload 0 /* buf */
            iload 1 /* index */
            iload 2 /* length */
            invokestatic io.netty.buffer.ByteBufUtil.isUtf8:(Lio/netty/buffer/ByteBuf;II)Z
            ireturn
         7: .line 1232
      StackMap locals:
      StackMap stack:
            aload 3 /* charset */
            getstatic io.netty.util.CharsetUtil.US_ASCII:Ljava/nio/charset/Charset;
            invokevirtual java.nio.charset.Charset.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 1233
            aload 0 /* buf */
            iload 1 /* index */
            iload 2 /* length */
            invokestatic io.netty.buffer.ByteBufUtil.isAscii:(Lio/netty/buffer/ByteBuf;II)Z
            ireturn
         9: .line 1235
      StackMap locals:
      StackMap stack:
            aload 3 /* charset */
            getstatic java.nio.charset.CodingErrorAction.REPORT:Ljava/nio/charset/CodingErrorAction;
            getstatic java.nio.charset.CodingErrorAction.REPORT:Ljava/nio/charset/CodingErrorAction;
            invokestatic io.netty.util.CharsetUtil.decoder:(Ljava/nio/charset/Charset;Ljava/nio/charset/CodingErrorAction;Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;
            astore 5 /* decoder */
        start local 5 // java.nio.charset.CharsetDecoder decoder
        10: .line 1237
            aload 0 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.nioBufferCount:()I
            iconst_1
            if_icmpne 13
        11: .line 1238
            aload 5 /* decoder */
            aload 0 /* buf */
            iload 1 /* index */
            iload 2 /* length */
            invokevirtual io.netty.buffer.ByteBuf.nioBuffer:(II)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.charset.CharsetDecoder.decode:(Ljava/nio/ByteBuffer;)Ljava/nio/CharBuffer;
            pop
        12: .line 1239
            goto 21
        13: .line 1240
      StackMap locals: java.nio.charset.CharsetDecoder
      StackMap stack:
            aload 0 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.alloc:()Lio/netty/buffer/ByteBufAllocator;
            iload 2 /* length */
            invokeinterface io.netty.buffer.ByteBufAllocator.heapBuffer:(I)Lio/netty/buffer/ByteBuf;
            astore 6 /* heapBuffer */
        start local 6 // io.netty.buffer.ByteBuf heapBuffer
        14: .line 1242
            aload 6 /* heapBuffer */
            aload 0 /* buf */
            iload 1 /* index */
            iload 2 /* length */
            invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf;
            pop
        15: .line 1243
            aload 5 /* decoder */
            aload 6 /* heapBuffer */
            aload 6 /* heapBuffer */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            iload 2 /* length */
            invokevirtual io.netty.buffer.ByteBuf.internalNioBuffer:(II)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.charset.CharsetDecoder.decode:(Ljava/nio/ByteBuffer;)Ljava/nio/CharBuffer;
            pop
        16: .line 1244
            goto 20
      StackMap locals: io.netty.buffer.ByteBuf int int java.nio.charset.Charset int java.nio.charset.CharsetDecoder io.netty.buffer.ByteBuf
      StackMap stack: java.lang.Throwable
        17: astore 7
        18: .line 1245
            aload 6 /* heapBuffer */
            invokevirtual io.netty.buffer.ByteBuf.release:()Z
            pop
        19: .line 1246
            aload 7
            athrow
        20: .line 1245
      StackMap locals:
      StackMap stack:
            aload 6 /* heapBuffer */
            invokevirtual io.netty.buffer.ByteBuf.release:()Z
            pop
        end local 6 // io.netty.buffer.ByteBuf heapBuffer
        21: .line 1248
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        22: .line 1249
      StackMap locals:
      StackMap stack: java.nio.charset.CharacterCodingException
            pop
        23: .line 1250
            iconst_0
            ireturn
        end local 5 // java.nio.charset.CharsetDecoder decoder
        end local 4 // int maxIndex
        end local 3 // java.nio.charset.Charset charset
        end local 2 // int length
        end local 1 // int index
        end local 0 // io.netty.buffer.ByteBuf buf
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0         buf  Lio/netty/buffer/ByteBuf;
            0   24     1       index  I
            0   24     2      length  I
            0   24     3     charset  Ljava/nio/charset/Charset;
            3   24     4    maxIndex  I
           10   24     5     decoder  Ljava/nio/charset/CharsetDecoder;
           14   21     6  heapBuffer  Lio/netty/buffer/ByteBuf;
      Exception table:
        from    to  target  type
          14    17      17  any
          10    21      22  Class java.nio.charset.CharacterCodingException
    MethodParameters:
         Name  Flags
      buf      
      index    
      length   
      charset  

  private static boolean isAscii(io.netty.buffer.ByteBuf, int, int);
    descriptor: (Lio/netty/buffer/ByteBuf;II)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.buffer.ByteBuf buf
        start local 1 // int index
        start local 2 // int length
         0: .line 1274
            aload 0 /* buf */
            iload 1 /* index */
            iload 2 /* length */
            getstatic io.netty.buffer.ByteBufUtil.FIND_NON_ASCII:Lio/netty/util/ByteProcessor;
            invokevirtual io.netty.buffer.ByteBuf.forEachByte:(IILio/netty/util/ByteProcessor;)I
            iconst_m1
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // int length
        end local 1 // int index
        end local 0 // io.netty.buffer.ByteBuf buf
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0     buf  Lio/netty/buffer/ByteBuf;
            0    2     1   index  I
            0    2     2  length  I
    MethodParameters:
        Name  Flags
      buf     
      index   
      length  

  private static boolean isUtf8(io.netty.buffer.ByteBuf, int, int);
    descriptor: (Lio/netty/buffer/ByteBuf;II)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // io.netty.buffer.ByteBuf buf
        start local 1 // int index
        start local 2 // int length
         0: .line 1321
            iload 1 /* index */
            iload 2 /* length */
            iadd
            istore 3 /* endIndex */
        start local 3 // int endIndex
         1: .line 1322
            goto 37
         2: .line 1323
      StackMap locals: int
      StackMap stack:
            aload 0 /* buf */
            iload 1 /* index */
            iinc 1 /* index */ 1
            invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
            istore 4 /* b1 */
        start local 4 // byte b1
         3: .line 1325
            iload 4 /* b1 */
            sipush 128
            iand
            ifne 5
         4: .line 1327
            goto 37
         5: .line 1329
      StackMap locals: int
      StackMap stack:
            iload 4 /* b1 */
            sipush 224
            iand
            sipush 192
            if_icmpne 13
         6: .line 1335
            iload 1 /* index */
            iload 3 /* endIndex */
            if_icmplt 8
         7: .line 1336
            iconst_0
            ireturn
         8: .line 1338
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            iload 1 /* index */
            iinc 1 /* index */ 1
            invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
            istore 5 /* b2 */
        start local 5 // byte b2
         9: .line 1339
            iload 5 /* b2 */
            sipush 192
            iand
            sipush 128
            if_icmpeq 11
        10: .line 1340
            iconst_0
            ireturn
        11: .line 1342
      StackMap locals: int
      StackMap stack:
            iload 4 /* b1 */
            sipush 255
            iand
            sipush 194
            if_icmpge 37
        12: .line 1343
            iconst_0
            ireturn
        end local 5 // byte b2
        13: .line 1345
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            sipush 240
            iand
            sipush 224
            if_icmpne 24
        14: .line 1354
            iload 1 /* index */
            iload 3 /* endIndex */
            iconst_2
            isub
            if_icmple 16
        15: .line 1355
            iconst_0
            ireturn
        16: .line 1357
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            iload 1 /* index */
            iinc 1 /* index */ 1
            invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
            istore 5 /* b2 */
        start local 5 // byte b2
        17: .line 1358
            aload 0 /* buf */
            iload 1 /* index */
            iinc 1 /* index */ 1
            invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
            istore 6 /* b3 */
        start local 6 // byte b3
        18: .line 1359
            iload 5 /* b2 */
            sipush 192
            iand
            sipush 128
            if_icmpne 19
            iload 6 /* b3 */
            sipush 192
            iand
            sipush 128
            if_icmpeq 20
        19: .line 1360
      StackMap locals: int int
      StackMap stack:
            iconst_0
            ireturn
        20: .line 1362
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            bipush 15
            iand
            ifne 22
            iload 5 /* b2 */
            sipush 255
            iand
            sipush 160
            if_icmpge 22
        21: .line 1363
            iconst_0
            ireturn
        22: .line 1365
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            bipush 15
            iand
            bipush 13
            if_icmpne 37
            iload 5 /* b2 */
            sipush 255
            iand
            sipush 159
            if_icmple 37
        23: .line 1366
            iconst_0
            ireturn
        end local 6 // byte b3
        end local 5 // byte b2
        24: .line 1368
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            sipush 248
            iand
            sipush 240
            if_icmpne 36
        25: .line 1376
            iload 1 /* index */
            iload 3 /* endIndex */
            iconst_3
            isub
            if_icmple 27
        26: .line 1377
            iconst_0
            ireturn
        27: .line 1379
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            iload 1 /* index */
            iinc 1 /* index */ 1
            invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
            istore 5 /* b2 */
        start local 5 // byte b2
        28: .line 1380
            aload 0 /* buf */
            iload 1 /* index */
            iinc 1 /* index */ 1
            invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
            istore 6 /* b3 */
        start local 6 // byte b3
        29: .line 1381
            aload 0 /* buf */
            iload 1 /* index */
            iinc 1 /* index */ 1
            invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
            istore 7 /* b4 */
        start local 7 // byte b4
        30: .line 1382
            iload 5 /* b2 */
            sipush 192
            iand
            sipush 128
            if_icmpne 31
            iload 6 /* b3 */
            sipush 192
            iand
            sipush 128
            if_icmpne 31
            iload 7 /* b4 */
            sipush 192
            iand
            sipush 128
            if_icmpeq 32
        31: .line 1384
      StackMap locals: int int int
      StackMap stack:
            iconst_0
            ireturn
        32: .line 1386
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            sipush 255
            iand
            sipush 244
            if_icmpgt 35
        33: .line 1387
            iload 4 /* b1 */
            sipush 255
            iand
            sipush 240
            if_icmpne 34
            iload 5 /* b2 */
            sipush 255
            iand
            sipush 144
            if_icmplt 35
        34: .line 1388
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            sipush 255
            iand
            sipush 244
            if_icmpne 37
            iload 5 /* b2 */
            sipush 255
            iand
            sipush 143
            if_icmple 37
        35: .line 1389
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 7 // byte b4
        end local 6 // byte b3
        end local 5 // byte b2
        36: .line 1392
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // byte b1
        37: .line 1322
      StackMap locals:
      StackMap stack:
            iload 1 /* index */
            iload 3 /* endIndex */
            if_icmplt 2
        38: .line 1395
            iconst_1
            ireturn
        end local 3 // int endIndex
        end local 2 // int length
        end local 1 // int index
        end local 0 // io.netty.buffer.ByteBuf buf
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   39     0       buf  Lio/netty/buffer/ByteBuf;
            0   39     1     index  I
            0   39     2    length  I
            1   39     3  endIndex  I
            3   37     4        b1  B
            9   13     5        b2  B
           17   24     5        b2  B
           28   36     5        b2  B
           18   24     6        b3  B
           29   36     6        b3  B
           30   36     7        b4  B
    MethodParameters:
        Name  Flags
      buf     
      index   
      length  

  static void readBytes(io.netty.buffer.ByteBufAllocator, java.nio.ByteBuffer, int, int, java.io.OutputStream);
    descriptor: (Lio/netty/buffer/ByteBufAllocator;Ljava/nio/ByteBuffer;IILjava/io/OutputStream;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=10, args_size=5
        start local 0 // io.netty.buffer.ByteBufAllocator allocator
        start local 1 // java.nio.ByteBuffer buffer
        start local 2 // int position
        start local 3 // int length
        start local 4 // java.io.OutputStream out
         0: .line 1404
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 3
         1: .line 1405
            aload 4 /* out */
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.array:()[B
            iload 2 /* position */
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            iadd
            iload 3 /* length */
            invokevirtual java.io.OutputStream.write:([BII)V
         2: .line 1406
            goto 17
         3: .line 1407
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
            sipush 8192
            invokestatic java.lang.Math.min:(II)I
            istore 5 /* chunkLen */
        start local 5 // int chunkLen
         4: .line 1408
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            iload 2 /* position */
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
         5: .line 1410
            aload 0 /* allocator */
            invokeinterface io.netty.buffer.ByteBufAllocator.isDirectBufferPooled:()Z
            ifeq 16
         6: .line 1412
            aload 0 /* allocator */
            iload 5 /* chunkLen */
            invokeinterface io.netty.buffer.ByteBufAllocator.heapBuffer:(I)Lio/netty/buffer/ByteBuf;
            astore 6 /* tmpBuf */
        start local 6 // io.netty.buffer.ByteBuf tmpBuf
         7: .line 1414
            aload 6 /* tmpBuf */
            invokevirtual io.netty.buffer.ByteBuf.array:()[B
            astore 7 /* tmp */
        start local 7 // byte[] tmp
         8: .line 1415
            aload 6 /* tmpBuf */
            invokevirtual io.netty.buffer.ByteBuf.arrayOffset:()I
            istore 8 /* offset */
        start local 8 // int offset
         9: .line 1416
            aload 1 /* buffer */
            aload 7 /* tmp */
            iload 8 /* offset */
            iload 5 /* chunkLen */
            aload 4 /* out */
            iload 3 /* length */
            invokestatic io.netty.buffer.ByteBufUtil.getBytes:(Ljava/nio/ByteBuffer;[BIILjava/io/OutputStream;I)V
        end local 8 // int offset
        end local 7 // byte[] tmp
        10: .line 1417
            goto 14
      StackMap locals: io.netty.buffer.ByteBufAllocator java.nio.ByteBuffer int int java.io.OutputStream int io.netty.buffer.ByteBuf
      StackMap stack: java.lang.Throwable
        11: astore 9
        12: .line 1418
            aload 6 /* tmpBuf */
            invokevirtual io.netty.buffer.ByteBuf.release:()Z
            pop
        13: .line 1419
            aload 9
            athrow
        14: .line 1418
      StackMap locals:
      StackMap stack:
            aload 6 /* tmpBuf */
            invokevirtual io.netty.buffer.ByteBuf.release:()Z
            pop
        end local 6 // io.netty.buffer.ByteBuf tmpBuf
        15: .line 1420
            goto 17
        16: .line 1421
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            iload 5 /* chunkLen */
            newarray 8
            iconst_0
            iload 5 /* chunkLen */
            aload 4 /* out */
            iload 3 /* length */
            invokestatic io.netty.buffer.ByteBufUtil.getBytes:(Ljava/nio/ByteBuffer;[BIILjava/io/OutputStream;I)V
        end local 5 // int chunkLen
        17: .line 1424
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.io.OutputStream out
        end local 3 // int length
        end local 2 // int position
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // io.netty.buffer.ByteBufAllocator allocator
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0  allocator  Lio/netty/buffer/ByteBufAllocator;
            0   18     1     buffer  Ljava/nio/ByteBuffer;
            0   18     2   position  I
            0   18     3     length  I
            0   18     4        out  Ljava/io/OutputStream;
            4   17     5   chunkLen  I
            7   15     6     tmpBuf  Lio/netty/buffer/ByteBuf;
            8   10     7        tmp  [B
            9   10     8     offset  I
      Exception table:
        from    to  target  type
           7    11      11  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      allocator  
      buffer     
      position   
      length     
      out        

  private static void getBytes(java.nio.ByteBuffer, byte[], int, int, java.io.OutputStream, int);
    descriptor: (Ljava/nio/ByteBuffer;[BIILjava/io/OutputStream;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=6
        start local 0 // java.nio.ByteBuffer inBuffer
        start local 1 // byte[] in
        start local 2 // int inOffset
        start local 3 // int inLen
        start local 4 // java.io.OutputStream out
        start local 5 // int outLen
         0: .line 1429
      StackMap locals:
      StackMap stack:
            iload 3 /* inLen */
            iload 5 /* outLen */
            invokestatic java.lang.Math.min:(II)I
            istore 6 /* len */
        start local 6 // int len
         1: .line 1430
            aload 0 /* inBuffer */
            aload 1 /* in */
            iload 2 /* inOffset */
            iload 6 /* len */
            invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
         2: .line 1431
            aload 4 /* out */
            aload 1 /* in */
            iload 2 /* inOffset */
            iload 6 /* len */
            invokevirtual java.io.OutputStream.write:([BII)V
         3: .line 1432
            iload 5 /* outLen */
            iload 6 /* len */
            isub
            istore 5 /* outLen */
        end local 6 // int len
         4: .line 1433
            iload 5 /* outLen */
         5: .line 1428
            ifgt 0
         6: .line 1434
            return
        end local 5 // int outLen
        end local 4 // java.io.OutputStream out
        end local 3 // int inLen
        end local 2 // int inOffset
        end local 1 // byte[] in
        end local 0 // java.nio.ByteBuffer inBuffer
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0  inBuffer  Ljava/nio/ByteBuffer;
            0    7     1        in  [B
            0    7     2  inOffset  I
            0    7     3     inLen  I
            0    7     4       out  Ljava/io/OutputStream;
            0    7     5    outLen  I
            1    4     6       len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      inBuffer  
      in        
      inOffset  
      inLen     
      out       
      outLen    

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.ByteBufUtil this
         0: .line 1436
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.netty.buffer.ByteBufUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/ByteBufUtil;
}
SourceFile: "ByteBufUtil.java"
NestMembers:
  io.netty.buffer.ByteBufUtil$1  io.netty.buffer.ByteBufUtil$2  io.netty.buffer.ByteBufUtil$HexUtil  io.netty.buffer.ByteBufUtil$ThreadLocalDirectByteBuf  io.netty.buffer.ByteBufUtil$ThreadLocalDirectByteBuf$1  io.netty.buffer.ByteBufUtil$ThreadLocalUnsafeDirectByteBuf  io.netty.buffer.ByteBufUtil$ThreadLocalUnsafeDirectByteBuf$1
InnerClasses:
  io.netty.buffer.ByteBufUtil$1
  io.netty.buffer.ByteBufUtil$2
  private final HexUtil = io.netty.buffer.ByteBufUtil$HexUtil of io.netty.buffer.ByteBufUtil
  final ThreadLocalDirectByteBuf = io.netty.buffer.ByteBufUtil$ThreadLocalDirectByteBuf of io.netty.buffer.ByteBufUtil
  final ThreadLocalUnsafeDirectByteBuf = io.netty.buffer.ByteBufUtil$ThreadLocalUnsafeDirectByteBuf of io.netty.buffer.ByteBufUtil
  public IndexOfProcessor = io.netty.util.ByteProcessor$IndexOfProcessor of io.netty.util.ByteProcessor