public class org.apache.coyote.ajp.AjpMessage
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.coyote.ajp.AjpMessage
  super_class: java.lang.Object
{
  private static final org.apache.juli.logging.Log log;
    descriptor: Lorg/apache/juli/logging/Log;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected static final org.apache.tomcat.util.res.StringManager sm;
    descriptor: Lorg/apache/tomcat/util/res/StringManager;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected final byte[] buf;
    descriptor: [B
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected int pos;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int len;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 45
            ldc Lorg/apache/coyote/ajp/AjpMessage;
            invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
            putstatic org.apache.coyote.ajp.AjpMessage.log:Lorg/apache/juli/logging/Log;
         1: .line 50
            ldc Lorg/apache/coyote/ajp/AjpMessage;
            invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
            putstatic org.apache.coyote.ajp.AjpMessage.sm:Lorg/apache/tomcat/util/res/StringManager;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.coyote.ajp.AjpMessage this
        start local 1 // int packetSize
         0: .line 56
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            aload 0 /* this */
            iload 1 /* packetSize */
            newarray 8
            putfield org.apache.coyote.ajp.AjpMessage.buf:[B
         2: .line 58
            return
        end local 1 // int packetSize
        end local 0 // org.apache.coyote.ajp.AjpMessage this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/apache/coyote/ajp/AjpMessage;
            0    3     1  packetSize  I
    MethodParameters:
            Name  Flags
      packetSize  

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.coyote.ajp.AjpMessage this
         0: .line 94
            aload 0 /* this */
            iconst_4
            putfield org.apache.coyote.ajp.AjpMessage.len:I
         1: .line 95
            aload 0 /* this */
            iconst_4
            putfield org.apache.coyote.ajp.AjpMessage.pos:I
         2: .line 96
            return
        end local 0 // org.apache.coyote.ajp.AjpMessage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/coyote/ajp/AjpMessage;

  public void end();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.apache.coyote.ajp.AjpMessage this
         0: .line 105
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            putfield org.apache.coyote.ajp.AjpMessage.len:I
         1: .line 106
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.len:I
            iconst_4
            isub
            istore 1 /* dLen */
        start local 1 // int dLen
         2: .line 108
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            iconst_0
            bipush 65
            bastore
         3: .line 109
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            iconst_1
            bipush 66
            bastore
         4: .line 110
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            iconst_2
            iload 1 /* dLen */
            bipush 8
            iushr
            sipush 255
            iand
            i2b
            bastore
         5: .line 111
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            iconst_3
            iload 1 /* dLen */
            sipush 255
            iand
            i2b
            bastore
         6: .line 112
            return
        end local 1 // int dLen
        end local 0 // org.apache.coyote.ajp.AjpMessage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/coyote/ajp/AjpMessage;
            2    7     1  dLen  I

  public byte[] getBuffer();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.coyote.ajp.AjpMessage this
         0: .line 121
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            areturn
        end local 0 // org.apache.coyote.ajp.AjpMessage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/coyote/ajp/AjpMessage;

  public int getLen();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.coyote.ajp.AjpMessage this
         0: .line 133
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.len:I
            ireturn
        end local 0 // org.apache.coyote.ajp.AjpMessage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/coyote/ajp/AjpMessage;

  public void appendInt(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.coyote.ajp.AjpMessage this
        start local 1 // int val
         0: .line 143
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            aload 0 /* this */
            dup
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.coyote.ajp.AjpMessage.pos:I
            iload 1 /* val */
            bipush 8
            iushr
            sipush 255
            iand
            i2b
            bastore
         1: .line 144
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            aload 0 /* this */
            dup
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.coyote.ajp.AjpMessage.pos:I
            iload 1 /* val */
            sipush 255
            iand
            i2b
            bastore
         2: .line 145
            return
        end local 1 // int val
        end local 0 // org.apache.coyote.ajp.AjpMessage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/coyote/ajp/AjpMessage;
            0    3     1   val  I
    MethodParameters:
      Name  Flags
      val   

  public void appendByte(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.coyote.ajp.AjpMessage this
        start local 1 // int val
         0: .line 154
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            aload 0 /* this */
            dup
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.coyote.ajp.AjpMessage.pos:I
            iload 1 /* val */
            i2b
            bastore
         1: .line 155
            return
        end local 1 // int val
        end local 0 // org.apache.coyote.ajp.AjpMessage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/coyote/ajp/AjpMessage;
            0    2     1   val  I
    MethodParameters:
      Name  Flags
      val   

  public void appendBytes(org.apache.tomcat.util.buf.MessageBytes);
    descriptor: (Lorg/apache/tomcat/util/buf/MessageBytes;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.apache.coyote.ajp.AjpMessage this
        start local 1 // org.apache.tomcat.util.buf.MessageBytes mb
         0: .line 165
            aload 1 /* mb */
            ifnonnull 7
         1: .line 166
            getstatic org.apache.coyote.ajp.AjpMessage.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.coyote.ajp.AjpMessage.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "ajpmessage.null"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
         2: .line 167
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
         3: .line 166
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         4: .line 168
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.coyote.ajp.AjpMessage.appendInt:(I)V
         5: .line 169
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.coyote.ajp.AjpMessage.appendByte:(I)V
         6: .line 170
            return
         7: .line 172
      StackMap locals:
      StackMap stack:
            aload 1 /* mb */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.getType:()I
            iconst_2
            if_icmpeq 18
         8: .line 173
            aload 1 /* mb */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.toBytes:()V
         9: .line 174
            aload 1 /* mb */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.getByteChunk:()Lorg/apache/tomcat/util/buf/ByteChunk;
            astore 2 /* bc */
        start local 2 // org.apache.tomcat.util.buf.ByteChunk bc
        10: .line 178
            aload 2 /* bc */
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.getBuffer:()[B
            astore 3 /* buffer */
        start local 3 // byte[] buffer
        11: .line 179
            aload 2 /* bc */
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.getOffset:()I
            istore 4 /* i */
        start local 4 // int i
        12: goto 17
        13: .line 185
      StackMap locals: org.apache.tomcat.util.buf.ByteChunk byte[] int
      StackMap stack:
            aload 3 /* buffer */
            iload 4 /* i */
            baload
            iconst_m1
            if_icmple 14
            aload 3 /* buffer */
            iload 4 /* i */
            baload
            bipush 31
            if_icmpgt 14
            aload 3 /* buffer */
            iload 4 /* i */
            baload
            bipush 9
            if_icmpne 15
        14: .line 186
      StackMap locals:
      StackMap stack:
            aload 3 /* buffer */
            iload 4 /* i */
            baload
            bipush 127
            if_icmpne 16
        15: .line 187
      StackMap locals:
      StackMap stack:
            aload 3 /* buffer */
            iload 4 /* i */
            bipush 32
            bastore
        16: .line 179
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 4 /* i */
            aload 2 /* bc */
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.getLength:()I
            if_icmplt 13
        end local 4 // int i
        end local 3 // byte[] buffer
        end local 2 // org.apache.tomcat.util.buf.ByteChunk bc
        18: .line 191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* mb */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.getByteChunk:()Lorg/apache/tomcat/util/buf/ByteChunk;
            invokevirtual org.apache.coyote.ajp.AjpMessage.appendByteChunk:(Lorg/apache/tomcat/util/buf/ByteChunk;)V
        19: .line 192
            return
        end local 1 // org.apache.tomcat.util.buf.MessageBytes mb
        end local 0 // org.apache.coyote.ajp.AjpMessage this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   20     0    this  Lorg/apache/coyote/ajp/AjpMessage;
            0   20     1      mb  Lorg/apache/tomcat/util/buf/MessageBytes;
           10   18     2      bc  Lorg/apache/tomcat/util/buf/ByteChunk;
           11   18     3  buffer  [B
           12   18     4       i  I
    MethodParameters:
      Name  Flags
      mb    

  public void appendByteChunk(org.apache.tomcat.util.buf.ByteChunk);
    descriptor: (Lorg/apache/tomcat/util/buf/ByteChunk;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.coyote.ajp.AjpMessage this
        start local 1 // org.apache.tomcat.util.buf.ByteChunk bc
         0: .line 202
            aload 1 /* bc */
            ifnonnull 7
         1: .line 203
            getstatic org.apache.coyote.ajp.AjpMessage.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.coyote.ajp.AjpMessage.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "ajpmessage.null"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
         2: .line 204
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
         3: .line 203
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         4: .line 205
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.coyote.ajp.AjpMessage.appendInt:(I)V
         5: .line 206
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.coyote.ajp.AjpMessage.appendByte:(I)V
         6: .line 207
            return
         7: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* bc */
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.getBytes:()[B
            aload 1 /* bc */
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.getStart:()I
            aload 1 /* bc */
            invokevirtual org.apache.tomcat.util.buf.ByteChunk.getLength:()I
            invokevirtual org.apache.coyote.ajp.AjpMessage.appendBytes:([BII)V
         8: .line 210
            return
        end local 1 // org.apache.tomcat.util.buf.ByteChunk bc
        end local 0 // org.apache.coyote.ajp.AjpMessage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/apache/coyote/ajp/AjpMessage;
            0    9     1    bc  Lorg/apache/tomcat/util/buf/ByteChunk;
    MethodParameters:
      Name  Flags
      bc    

  public void appendBytes(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.apache.coyote.ajp.AjpMessage this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int numBytes
         0: .line 225
            aload 0 /* this */
            iload 3 /* numBytes */
            invokevirtual org.apache.coyote.ajp.AjpMessage.checkOverflow:(I)Z
            ifeq 2
         1: .line 226
            return
         2: .line 228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* numBytes */
            invokevirtual org.apache.coyote.ajp.AjpMessage.appendInt:(I)V
         3: .line 229
            aload 1 /* b */
            iload 2 /* off */
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            iload 3 /* numBytes */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 230
            aload 0 /* this */
            dup
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            iload 3 /* numBytes */
            iadd
            putfield org.apache.coyote.ajp.AjpMessage.pos:I
         5: .line 231
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.coyote.ajp.AjpMessage.appendByte:(I)V
         6: .line 232
            return
        end local 3 // int numBytes
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // org.apache.coyote.ajp.AjpMessage this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/apache/coyote/ajp/AjpMessage;
            0    7     1         b  [B
            0    7     2       off  I
            0    7     3  numBytes  I
    MethodParameters:
          Name  Flags
      b         
      off       
      numBytes  

  public void appendBytes(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.coyote.ajp.AjpMessage this
        start local 1 // java.nio.ByteBuffer b
         0: .line 245
            aload 1 /* b */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 2 /* numBytes */
        start local 2 // int numBytes
         1: .line 246
            aload 0 /* this */
            iload 2 /* numBytes */
            invokevirtual org.apache.coyote.ajp.AjpMessage.checkOverflow:(I)Z
            ifeq 3
         2: .line 247
            return
         3: .line 249
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* numBytes */
            invokevirtual org.apache.coyote.ajp.AjpMessage.appendInt:(I)V
         4: .line 250
            aload 1 /* b */
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            iload 2 /* numBytes */
            invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
         5: .line 251
            aload 0 /* this */
            dup
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            iload 2 /* numBytes */
            iadd
            putfield org.apache.coyote.ajp.AjpMessage.pos:I
         6: .line 252
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.coyote.ajp.AjpMessage.appendByte:(I)V
         7: .line 253
            return
        end local 2 // int numBytes
        end local 1 // java.nio.ByteBuffer b
        end local 0 // org.apache.coyote.ajp.AjpMessage this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/apache/coyote/ajp/AjpMessage;
            0    8     1         b  Ljava/nio/ByteBuffer;
            1    8     2  numBytes  I
    MethodParameters:
      Name  Flags
      b     

  private boolean checkOverflow(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // org.apache.coyote.ajp.AjpMessage this
        start local 1 // int numBytes
         0: .line 257
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            iload 1 /* numBytes */
            iadd
            iconst_3
            iadd
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            arraylength
            if_icmple 7
         1: .line 258
            getstatic org.apache.coyote.ajp.AjpMessage.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.coyote.ajp.AjpMessage.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "ajpmessage.overflow"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            iload 1 /* numBytes */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         2: .line 259
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:()V
         3: .line 258
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         4: .line 260
            getstatic org.apache.coyote.ajp.AjpMessage.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 6
         5: .line 261
            aload 0 /* this */
            ldc "Overflow/coBytes"
            invokevirtual org.apache.coyote.ajp.AjpMessage.dump:(Ljava/lang/String;)V
         6: .line 263
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         7: .line 265
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // int numBytes
        end local 0 // org.apache.coyote.ajp.AjpMessage this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/apache/coyote/ajp/AjpMessage;
            0    8     1  numBytes  I
    MethodParameters:
          Name  Flags
      numBytes  

  public int getInt();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.apache.coyote.ajp.AjpMessage this
         0: .line 278
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            aload 0 /* this */
            dup
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.coyote.ajp.AjpMessage.pos:I
            baload
            sipush 255
            iand
            istore 1 /* b1 */
        start local 1 // int b1
         1: .line 279
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            aload 0 /* this */
            dup
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.coyote.ajp.AjpMessage.pos:I
            baload
            sipush 255
            iand
            istore 2 /* b2 */
        start local 2 // int b2
         2: .line 280
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            invokevirtual org.apache.coyote.ajp.AjpMessage.validatePos:(I)V
         3: .line 281
            iload 1 /* b1 */
            bipush 8
            ishl
            iload 2 /* b2 */
            iadd
            ireturn
        end local 2 // int b2
        end local 1 // int b1
        end local 0 // org.apache.coyote.ajp.AjpMessage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/coyote/ajp/AjpMessage;
            1    4     1    b1  I
            2    4     2    b2  I

  public int peekInt();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.apache.coyote.ajp.AjpMessage this
         0: .line 286
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            iconst_2
            iadd
            invokevirtual org.apache.coyote.ajp.AjpMessage.validatePos:(I)V
         1: .line 287
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            baload
            sipush 255
            iand
            istore 1 /* b1 */
        start local 1 // int b1
         2: .line 288
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            iconst_1
            iadd
            baload
            sipush 255
            iand
            istore 2 /* b2 */
        start local 2 // int b2
         3: .line 289
            iload 1 /* b1 */
            bipush 8
            ishl
            iload 2 /* b2 */
            iadd
            ireturn
        end local 2 // int b2
        end local 1 // int b1
        end local 0 // org.apache.coyote.ajp.AjpMessage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/coyote/ajp/AjpMessage;
            2    4     1    b1  I
            3    4     2    b2  I

  public byte getByte();
    descriptor: ()B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.apache.coyote.ajp.AjpMessage this
         0: .line 294
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            aload 0 /* this */
            dup
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.coyote.ajp.AjpMessage.pos:I
            baload
            istore 1 /* res */
        start local 1 // byte res
         1: .line 295
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            invokevirtual org.apache.coyote.ajp.AjpMessage.validatePos:(I)V
         2: .line 296
            iload 1 /* res */
            ireturn
        end local 1 // byte res
        end local 0 // org.apache.coyote.ajp.AjpMessage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/coyote/ajp/AjpMessage;
            1    3     1   res  B

  public void getBytes(org.apache.tomcat.util.buf.MessageBytes);
    descriptor: (Lorg/apache/tomcat/util/buf/MessageBytes;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.coyote.ajp.AjpMessage this
        start local 1 // org.apache.tomcat.util.buf.MessageBytes mb
         0: .line 301
            aload 0 /* this */
            aload 1 /* mb */
            iconst_1
            invokevirtual org.apache.coyote.ajp.AjpMessage.doGetBytes:(Lorg/apache/tomcat/util/buf/MessageBytes;Z)V
         1: .line 302
            return
        end local 1 // org.apache.tomcat.util.buf.MessageBytes mb
        end local 0 // org.apache.coyote.ajp.AjpMessage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/coyote/ajp/AjpMessage;
            0    2     1    mb  Lorg/apache/tomcat/util/buf/MessageBytes;
    MethodParameters:
      Name  Flags
      mb    

  public void getBodyBytes(org.apache.tomcat.util.buf.MessageBytes);
    descriptor: (Lorg/apache/tomcat/util/buf/MessageBytes;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.coyote.ajp.AjpMessage this
        start local 1 // org.apache.tomcat.util.buf.MessageBytes mb
         0: .line 305
            aload 0 /* this */
            aload 1 /* mb */
            iconst_0
            invokevirtual org.apache.coyote.ajp.AjpMessage.doGetBytes:(Lorg/apache/tomcat/util/buf/MessageBytes;Z)V
         1: .line 306
            return
        end local 1 // org.apache.tomcat.util.buf.MessageBytes mb
        end local 0 // org.apache.coyote.ajp.AjpMessage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/coyote/ajp/AjpMessage;
            0    2     1    mb  Lorg/apache/tomcat/util/buf/MessageBytes;
    MethodParameters:
      Name  Flags
      mb    

  private void doGetBytes(org.apache.tomcat.util.buf.MessageBytes, boolean);
    descriptor: (Lorg/apache/tomcat/util/buf/MessageBytes;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.apache.coyote.ajp.AjpMessage this
        start local 1 // org.apache.tomcat.util.buf.MessageBytes mb
        start local 2 // boolean terminated
         0: .line 309
            aload 0 /* this */
            invokevirtual org.apache.coyote.ajp.AjpMessage.getInt:()I
            istore 3 /* length */
        start local 3 // int length
         1: .line 310
            iload 3 /* length */
            ldc 65535
            if_icmpeq 2
            iload 3 /* length */
            iconst_m1
            if_icmpne 4
         2: .line 311
      StackMap locals: int
      StackMap stack:
            aload 1 /* mb */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.recycle:()V
         3: .line 312
            return
         4: .line 314
      StackMap locals:
      StackMap stack:
            iload 2 /* terminated */
            ifeq 7
         5: .line 315
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            iload 3 /* length */
            iadd
            iconst_1
            iadd
            invokevirtual org.apache.coyote.ajp.AjpMessage.validatePos:(I)V
         6: .line 316
            goto 8
         7: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            iload 3 /* length */
            iadd
            invokevirtual org.apache.coyote.ajp.AjpMessage.validatePos:(I)V
         8: .line 319
      StackMap locals:
      StackMap stack:
            aload 1 /* mb */
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            iload 3 /* length */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.setBytes:([BII)V
         9: .line 320
            aload 1 /* mb */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.getCharChunk:()Lorg/apache/tomcat/util/buf/CharChunk;
            invokevirtual org.apache.tomcat.util.buf.CharChunk.recycle:()V
        10: .line 321
            aload 0 /* this */
            dup
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            iload 3 /* length */
            iadd
            putfield org.apache.coyote.ajp.AjpMessage.pos:I
        11: .line 322
            iload 2 /* terminated */
            ifeq 13
        12: .line 323
            aload 0 /* this */
            dup
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            iconst_1
            iadd
            putfield org.apache.coyote.ajp.AjpMessage.pos:I
        13: .line 325
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int length
        end local 2 // boolean terminated
        end local 1 // org.apache.tomcat.util.buf.MessageBytes mb
        end local 0 // org.apache.coyote.ajp.AjpMessage this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lorg/apache/coyote/ajp/AjpMessage;
            0   14     1          mb  Lorg/apache/tomcat/util/buf/MessageBytes;
            0   14     2  terminated  Z
            1   14     3      length  I
    MethodParameters:
            Name  Flags
      mb          
      terminated  

  public int getLongInt();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // org.apache.coyote.ajp.AjpMessage this
         0: .line 337
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            aload 0 /* this */
            dup
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.coyote.ajp.AjpMessage.pos:I
            baload
            sipush 255
            iand
            istore 1 /* b1 */
        start local 1 // int b1
         1: .line 338
            iload 1 /* b1 */
            bipush 8
            ishl
            istore 1 /* b1 */
         2: .line 339
            iload 1 /* b1 */
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            aload 0 /* this */
            dup
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.coyote.ajp.AjpMessage.pos:I
            baload
            sipush 255
            iand
            ior
            istore 1 /* b1 */
         3: .line 340
            iload 1 /* b1 */
            bipush 8
            ishl
            istore 1 /* b1 */
         4: .line 341
            iload 1 /* b1 */
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            aload 0 /* this */
            dup
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.coyote.ajp.AjpMessage.pos:I
            baload
            sipush 255
            iand
            ior
            istore 1 /* b1 */
         5: .line 342
            iload 1 /* b1 */
            bipush 8
            ishl
            istore 1 /* b1 */
         6: .line 343
            iload 1 /* b1 */
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            aload 0 /* this */
            dup
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.coyote.ajp.AjpMessage.pos:I
            baload
            sipush 255
            iand
            ior
            istore 1 /* b1 */
         7: .line 344
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            invokevirtual org.apache.coyote.ajp.AjpMessage.validatePos:(I)V
         8: .line 345
            iload 1 /* b1 */
            ireturn
        end local 1 // int b1
        end local 0 // org.apache.coyote.ajp.AjpMessage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/apache/coyote/ajp/AjpMessage;
            1    9     1    b1  I

  public int processHeader(boolean);
    descriptor: (Z)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // org.apache.coyote.ajp.AjpMessage this
        start local 1 // boolean toContainer
         0: .line 350
            aload 0 /* this */
            iconst_0
            putfield org.apache.coyote.ajp.AjpMessage.pos:I
         1: .line 351
            aload 0 /* this */
            invokevirtual org.apache.coyote.ajp.AjpMessage.getInt:()I
            istore 2 /* mark */
        start local 2 // int mark
         2: .line 352
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.coyote.ajp.AjpMessage.getInt:()I
            putfield org.apache.coyote.ajp.AjpMessage.len:I
         3: .line 354
            iload 1 /* toContainer */
            ifeq 4
            iload 2 /* mark */
            sipush 4660
            if_icmpne 5
         4: .line 355
      StackMap locals: int
      StackMap stack:
            iload 1 /* toContainer */
            ifne 9
            iload 2 /* mark */
            sipush 16706
            if_icmpeq 9
         5: .line 356
      StackMap locals:
      StackMap stack:
            getstatic org.apache.coyote.ajp.AjpMessage.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.coyote.ajp.AjpMessage.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "ajpmessage.invalid"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            iload 2 /* mark */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
         6: .line 357
            getstatic org.apache.coyote.ajp.AjpMessage.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 8
         7: .line 358
            aload 0 /* this */
            ldc "In"
            invokevirtual org.apache.coyote.ajp.AjpMessage.dump:(Ljava/lang/String;)V
         8: .line 360
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
         9: .line 362
      StackMap locals:
      StackMap stack:
            getstatic org.apache.coyote.ajp.AjpMessage.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 11
        10: .line 363
            getstatic org.apache.coyote.ajp.AjpMessage.log:Lorg/apache/juli/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Received "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.len:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            iconst_0
            baload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        11: .line 365
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.len:I
            ireturn
        end local 2 // int mark
        end local 1 // boolean toContainer
        end local 0 // org.apache.coyote.ajp.AjpMessage this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lorg/apache/coyote/ajp/AjpMessage;
            0   12     1  toContainer  Z
            2   12     2         mark  I
    MethodParameters:
             Name  Flags
      toContainer  

  private void dump(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.coyote.ajp.AjpMessage this
        start local 1 // java.lang.String prefix
         0: .line 370
            getstatic org.apache.coyote.ajp.AjpMessage.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 2
         1: .line 371
            getstatic org.apache.coyote.ajp.AjpMessage.log:Lorg/apache/juli/logging/Log;
            new java.lang.StringBuilder
            dup
            aload 1 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            invokestatic org.apache.tomcat.util.buf.HexUtils.toHexString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.len:I
            iconst_4
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         2: .line 373
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            istore 2 /* max */
        start local 2 // int max
         3: .line 374
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.len:I
            iconst_4
            iadd
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.pos:I
            if_icmple 5
         4: .line 375
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.len:I
            iconst_4
            iadd
            istore 2 /* max */
         5: .line 376
      StackMap locals: int
      StackMap stack:
            iload 2 /* max */
            sipush 1000
            if_icmple 7
         6: .line 377
            sipush 1000
            istore 2 /* max */
         7: .line 378
      StackMap locals:
      StackMap stack:
            getstatic org.apache.coyote.ajp.AjpMessage.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 13
         8: .line 379
            iconst_0
            istore 3 /* j */
        start local 3 // int j
         9: goto 12
        10: .line 380
      StackMap locals: int
      StackMap stack:
            getstatic org.apache.coyote.ajp.AjpMessage.log:Lorg/apache/juli/logging/Log;
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.buf:[B
            iload 3 /* j */
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.len:I
            invokestatic org.apache.coyote.ajp.AjpMessage.hexLine:([BII)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        11: .line 379
            iinc 3 /* j */ 16
      StackMap locals:
      StackMap stack:
        12: iload 3 /* j */
            iload 2 /* max */
            if_icmplt 10
        end local 3 // int j
        13: .line 383
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int max
        end local 1 // java.lang.String prefix
        end local 0 // org.apache.coyote.ajp.AjpMessage this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lorg/apache/coyote/ajp/AjpMessage;
            0   14     1  prefix  Ljava/lang/String;
            3   14     2     max  I
            9   13     3       j  I
    MethodParameters:
        Name  Flags
      prefix  

  private void validatePos(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // org.apache.coyote.ajp.AjpMessage this
        start local 1 // int posToTest
         0: .line 387
            iload 1 /* posToTest */
            aload 0 /* this */
            getfield org.apache.coyote.ajp.AjpMessage.len:I
            iconst_4
            iadd
            if_icmple 4
         1: .line 389
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            getstatic org.apache.coyote.ajp.AjpMessage.sm:Lorg/apache/tomcat/util/res/StringManager;
         2: .line 390
            ldc "ajpMessage.invalidPos"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* posToTest */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         3: .line 389
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 392
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int posToTest
        end local 0 // org.apache.coyote.ajp.AjpMessage this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/apache/coyote/ajp/AjpMessage;
            0    5     1  posToTest  I
    MethodParameters:
           Name  Flags
      posToTest  

  protected static java.lang.String hexLine(byte[], int, int);
    descriptor: ([BII)Ljava/lang/String;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // byte[] buf
        start local 1 // int start
        start local 2 // int len
         0: .line 397
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         1: .line 398
            iload 1 /* start */
            istore 4 /* i */
        start local 4 // int i
         2: goto 8
         3: .line 399
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            iload 4 /* i */
            iload 2 /* len */
            iconst_4
            iadd
            if_icmpge 6
         4: .line 400
            aload 3 /* sb */
            new java.lang.StringBuilder
            dup
            aload 0 /* buf */
            iload 4 /* i */
            baload
            invokestatic org.apache.coyote.ajp.AjpMessage.hex:(I)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 401
            goto 7
         6: .line 402
      StackMap locals:
      StackMap stack:
            aload 3 /* sb */
            ldc "   "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 398
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 1 /* start */
            bipush 16
            iadd
            if_icmplt 3
        end local 4 // int i
         9: .line 405
            aload 3 /* sb */
            ldc " | "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 406
            iload 1 /* start */
            istore 4 /* i */
        start local 4 // int i
        11: goto 17
        12: .line 407
      StackMap locals:
      StackMap stack:
            aload 0 /* buf */
            iload 4 /* i */
            baload
            i2c
            invokestatic java.lang.Character.isISOControl:(C)Z
            ifne 15
        13: .line 408
            aload 3 /* sb */
            aload 0 /* buf */
            iload 4 /* i */
            baload
            i2c
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        14: .line 409
            goto 16
        15: .line 410
      StackMap locals:
      StackMap stack:
            aload 3 /* sb */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        16: .line 406
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 4 /* i */
            iload 1 /* start */
            bipush 16
            iadd
            if_icmpge 18
            iload 4 /* i */
            iload 2 /* len */
            iconst_4
            iadd
            if_icmplt 12
        end local 4 // int i
        18: .line 413
      StackMap locals:
      StackMap stack:
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder sb
        end local 2 // int len
        end local 1 // int start
        end local 0 // byte[] buf
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0    buf  [B
            0   19     1  start  I
            0   19     2    len  I
            1   19     3     sb  Ljava/lang/StringBuilder;
            2    9     4      i  I
           11   18     4      i  I
    MethodParameters:
       Name  Flags
      buf    
      start  
      len    

  protected static java.lang.String hex(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // int x
         0: .line 418
            iload 0 /* x */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            astore 1 /* h */
        start local 1 // java.lang.String h
         1: .line 419
            aload 1 /* h */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 3
         2: .line 420
            new java.lang.StringBuilder
            dup
            ldc "0"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* h */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* h */
         3: .line 422
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* h */
            aload 1 /* h */
            invokevirtual java.lang.String.length:()I
            iconst_2
            isub
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String h
        end local 0 // int x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     x  I
            1    4     1     h  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      x     
}
SourceFile: "AjpMessage.java"