final class com.google.protobuf.BinaryWriter$SafeHeapWriter extends com.google.protobuf.BinaryWriter
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.google.protobuf.BinaryWriter$SafeHeapWriter
  super_class: com.google.protobuf.BinaryWriter
{
  private com.google.protobuf.AllocatedBuffer allocatedBuffer;
    descriptor: Lcom/google/protobuf/AllocatedBuffer;
    flags: (0x0002) ACC_PRIVATE

  private byte[] buffer;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

  void <init>(com.google.protobuf.BufferAllocator, int);
    descriptor: (Lcom/google/protobuf/BufferAllocator;I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // com.google.protobuf.BufferAllocator alloc
        start local 2 // int chunkSize
         0: .line 928
            aload 0 /* this */
            aload 1 /* alloc */
            iload 2 /* chunkSize */
            invokespecial com.google.protobuf.BinaryWriter.<init>:(Lcom/google/protobuf/BufferAllocator;I)V
         1: .line 929
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.nextBuffer:()V
         2: .line 930
            return
        end local 2 // int chunkSize
        end local 1 // com.google.protobuf.BufferAllocator alloc
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    3     1      alloc  Lcom/google/protobuf/BufferAllocator;
            0    3     2  chunkSize  I
    MethodParameters:
           Name  Flags
      alloc      
      chunkSize  

  void finishCurrentBuffer();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
         0: .line 934
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.allocatedBuffer:Lcom/google/protobuf/AllocatedBuffer;
            ifnull 6
         1: .line 935
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.totalDoneBytes:I
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.bytesWrittenToCurrentBuffer:()I
            iadd
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.totalDoneBytes:I
         2: .line 936
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.allocatedBuffer:Lcom/google/protobuf/AllocatedBuffer;
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.allocatedBuffer:Lcom/google/protobuf/AllocatedBuffer;
            invokevirtual com.google.protobuf.AllocatedBuffer.arrayOffset:()I
            isub
            iconst_1
            iadd
            invokevirtual com.google.protobuf.AllocatedBuffer.position:(I)Lcom/google/protobuf/AllocatedBuffer;
            pop
         3: .line 937
            aload 0 /* this */
            aconst_null
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.allocatedBuffer:Lcom/google/protobuf/AllocatedBuffer;
         4: .line 938
            aload 0 /* this */
            iconst_0
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
         5: .line 939
            aload 0 /* this */
            iconst_0
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.limitMinusOne:I
         6: .line 941
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;

  private void nextBuffer();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
         0: .line 944
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.newHeapBuffer:()Lcom/google/protobuf/AllocatedBuffer;
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.nextBuffer:(Lcom/google/protobuf/AllocatedBuffer;)V
         1: .line 945
            return
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;

  private void nextBuffer(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int capacity
         0: .line 948
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* capacity */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.newHeapBuffer:(I)Lcom/google/protobuf/AllocatedBuffer;
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.nextBuffer:(Lcom/google/protobuf/AllocatedBuffer;)V
         1: .line 949
            return
        end local 1 // int capacity
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    2     1  capacity  I
    MethodParameters:
          Name  Flags
      capacity  

  private void nextBuffer(com.google.protobuf.AllocatedBuffer);
    descriptor: (Lcom/google/protobuf/AllocatedBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // com.google.protobuf.AllocatedBuffer allocatedBuffer
         0: .line 952
            aload 1 /* allocatedBuffer */
            invokevirtual com.google.protobuf.AllocatedBuffer.hasArray:()Z
            ifne 2
         1: .line 953
            new java.lang.RuntimeException
            dup
            ldc "Allocator returned non-heap buffer"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 956
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.finishCurrentBuffer:()V
         3: .line 958
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffers:Ljava/util/ArrayDeque;
            aload 1 /* allocatedBuffer */
            invokevirtual java.util.ArrayDeque.addFirst:(Ljava/lang/Object;)V
         4: .line 960
            aload 0 /* this */
            aload 1 /* allocatedBuffer */
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.allocatedBuffer:Lcom/google/protobuf/AllocatedBuffer;
         5: .line 961
            aload 0 /* this */
            aload 1 /* allocatedBuffer */
            invokevirtual com.google.protobuf.AllocatedBuffer.array:()[B
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
         6: .line 962
            aload 1 /* allocatedBuffer */
            invokevirtual com.google.protobuf.AllocatedBuffer.arrayOffset:()I
            istore 2 /* arrayOffset */
        start local 2 // int arrayOffset
         7: .line 963
            aload 0 /* this */
            iload 2 /* arrayOffset */
            aload 1 /* allocatedBuffer */
            invokevirtual com.google.protobuf.AllocatedBuffer.limit:()I
            iadd
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.limit:I
         8: .line 964
            aload 0 /* this */
            iload 2 /* arrayOffset */
            aload 1 /* allocatedBuffer */
            invokevirtual com.google.protobuf.AllocatedBuffer.position:()I
            iadd
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.offset:I
         9: .line 965
            aload 0 /* this */
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.offset:I
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.offsetMinusOne:I
        10: .line 966
            aload 0 /* this */
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.limit:I
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.limitMinusOne:I
        11: .line 967
            aload 0 /* this */
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.limitMinusOne:I
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
        12: .line 968
            return
        end local 2 // int arrayOffset
        end local 1 // com.google.protobuf.AllocatedBuffer allocatedBuffer
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0   13     1  allocatedBuffer  Lcom/google/protobuf/AllocatedBuffer;
            7   13     2      arrayOffset  I
    MethodParameters:
                 Name  Flags
      allocatedBuffer  

  public int getTotalBytesWritten();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
         0: .line 972
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.totalDoneBytes:I
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.bytesWrittenToCurrentBuffer:()I
            iadd
            ireturn
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;

  int bytesWrittenToCurrentBuffer();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
         0: .line 976
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.limitMinusOne:I
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            isub
            ireturn
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;

  int spaceLeft();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
         0: .line 980
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.offsetMinusOne:I
            isub
            ireturn
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;

  public void writeUInt32(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int fieldNumber
        start local 2 // int value
         0: .line 985
            aload 0 /* this */
            bipush 10
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.requireSpace:(I)V
         1: .line 986
            aload 0 /* this */
            iload 2 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint32:(I)V
         2: .line 987
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_0
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeTag:(II)V
         3: .line 988
            return
        end local 2 // int value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    4     1  fieldNumber  I
            0    4     2        value  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeInt32(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int fieldNumber
        start local 2 // int value
         0: .line 992
            aload 0 /* this */
            bipush 15
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.requireSpace:(I)V
         1: .line 993
            aload 0 /* this */
            iload 2 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeInt32:(I)V
         2: .line 994
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_0
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeTag:(II)V
         3: .line 995
            return
        end local 2 // int value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    4     1  fieldNumber  I
            0    4     2        value  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeSInt32(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int fieldNumber
        start local 2 // int value
         0: .line 999
            aload 0 /* this */
            bipush 10
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.requireSpace:(I)V
         1: .line 1000
            aload 0 /* this */
            iload 2 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeSInt32:(I)V
         2: .line 1001
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_0
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeTag:(II)V
         3: .line 1002
            return
        end local 2 // int value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    4     1  fieldNumber  I
            0    4     2        value  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeFixed32(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int fieldNumber
        start local 2 // int value
         0: .line 1006
            aload 0 /* this */
            bipush 9
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.requireSpace:(I)V
         1: .line 1007
            aload 0 /* this */
            iload 2 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeFixed32:(I)V
         2: .line 1008
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_5
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeTag:(II)V
         3: .line 1009
            return
        end local 2 // int value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    4     1  fieldNumber  I
            0    4     2        value  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeUInt64(int, long);
    descriptor: (IJ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int fieldNumber
        start local 2 // long value
         0: .line 1013
            aload 0 /* this */
            bipush 15
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.requireSpace:(I)V
         1: .line 1014
            aload 0 /* this */
            lload 2 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint64:(J)V
         2: .line 1015
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_0
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeTag:(II)V
         3: .line 1016
            return
        end local 2 // long value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    4     1  fieldNumber  I
            0    4     2        value  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeSInt64(int, long);
    descriptor: (IJ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int fieldNumber
        start local 2 // long value
         0: .line 1020
            aload 0 /* this */
            bipush 15
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.requireSpace:(I)V
         1: .line 1021
            aload 0 /* this */
            lload 2 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeSInt64:(J)V
         2: .line 1022
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_0
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeTag:(II)V
         3: .line 1023
            return
        end local 2 // long value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    4     1  fieldNumber  I
            0    4     2        value  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeFixed64(int, long);
    descriptor: (IJ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int fieldNumber
        start local 2 // long value
         0: .line 1027
            aload 0 /* this */
            bipush 13
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.requireSpace:(I)V
         1: .line 1028
            aload 0 /* this */
            lload 2 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeFixed64:(J)V
         2: .line 1029
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_1
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeTag:(II)V
         3: .line 1030
            return
        end local 2 // long value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    4     1  fieldNumber  I
            0    4     2        value  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeBool(int, boolean);
    descriptor: (IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int fieldNumber
        start local 2 // boolean value
         0: .line 1034
            aload 0 /* this */
            bipush 6
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.requireSpace:(I)V
         1: .line 1035
            aload 0 /* this */
            iload 2 /* value */
            ifeq 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack: com.google.protobuf.BinaryWriter$SafeHeapWriter
         2: iconst_0
      StackMap locals: com.google.protobuf.BinaryWriter$SafeHeapWriter int int
      StackMap stack: com.google.protobuf.BinaryWriter$SafeHeapWriter int
         3: i2b
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.write:(B)V
         4: .line 1036
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_0
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeTag:(II)V
         5: .line 1037
            return
        end local 2 // boolean value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    6     1  fieldNumber  I
            0    6     2        value  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeString(int, java.lang.String);
    descriptor: (ILjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int fieldNumber
        start local 2 // java.lang.String value
         0: .line 1041
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.getTotalBytesWritten:()I
            istore 3 /* prevBytes */
        start local 3 // int prevBytes
         1: .line 1042
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeString:(Ljava/lang/String;)V
         2: .line 1043
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.getTotalBytesWritten:()I
            iload 3 /* prevBytes */
            isub
            istore 4 /* length */
        start local 4 // int length
         3: .line 1044
            aload 0 /* this */
            bipush 10
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.requireSpace:(I)V
         4: .line 1045
            aload 0 /* this */
            iload 4 /* length */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint32:(I)V
         5: .line 1046
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_2
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeTag:(II)V
         6: .line 1047
            return
        end local 4 // int length
        end local 3 // int prevBytes
        end local 2 // java.lang.String value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    7     1  fieldNumber  I
            0    7     2        value  Ljava/lang/String;
            1    7     3    prevBytes  I
            3    7     4       length  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeBytes(int, com.google.protobuf.ByteString);
    descriptor: (ILcom/google/protobuf/ByteString;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int fieldNumber
        start local 2 // com.google.protobuf.ByteString value
         0: .line 1052
            aload 2 /* value */
            aload 0 /* this */
            invokevirtual com.google.protobuf.ByteString.writeToReverse:(Lcom/google/protobuf/ByteOutput;)V
         1: .line 1053
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 3 /* e */
        start local 3 // java.io.IOException e
         3: .line 1055
            new java.lang.RuntimeException
            dup
            aload 3 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.io.IOException e
         4: .line 1058
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 10
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.requireSpace:(I)V
         5: .line 1059
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual com.google.protobuf.ByteString.size:()I
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint32:(I)V
         6: .line 1060
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_2
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeTag:(II)V
         7: .line 1061
            return
        end local 2 // com.google.protobuf.ByteString value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    8     1  fieldNumber  I
            0    8     2        value  Lcom/google/protobuf/ByteString;
            3    4     3            e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeMessage(int, java.lang.Object);
    descriptor: (ILjava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int fieldNumber
        start local 2 // java.lang.Object value
         0: .line 1065
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.getTotalBytesWritten:()I
            istore 3 /* prevBytes */
        start local 3 // int prevBytes
         1: .line 1066
            invokestatic com.google.protobuf.Protobuf.getInstance:()Lcom/google/protobuf/Protobuf;
            aload 2 /* value */
            aload 0 /* this */
            invokevirtual com.google.protobuf.Protobuf.writeTo:(Ljava/lang/Object;Lcom/google/protobuf/Writer;)V
         2: .line 1067
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.getTotalBytesWritten:()I
            iload 3 /* prevBytes */
            isub
            istore 4 /* length */
        start local 4 // int length
         3: .line 1068
            aload 0 /* this */
            bipush 10
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.requireSpace:(I)V
         4: .line 1069
            aload 0 /* this */
            iload 4 /* length */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint32:(I)V
         5: .line 1070
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_2
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeTag:(II)V
         6: .line 1071
            return
        end local 4 // int length
        end local 3 // int prevBytes
        end local 2 // java.lang.Object value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    7     1  fieldNumber  I
            0    7     2        value  Ljava/lang/Object;
            1    7     3    prevBytes  I
            3    7     4       length  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeMessage(int, java.lang.Object, com.google.protobuf.Schema);
    descriptor: (ILjava/lang/Object;Lcom/google/protobuf/Schema;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int fieldNumber
        start local 2 // java.lang.Object value
        start local 3 // com.google.protobuf.Schema schema
         0: .line 1075
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.getTotalBytesWritten:()I
            istore 4 /* prevBytes */
        start local 4 // int prevBytes
         1: .line 1076
            aload 3 /* schema */
            aload 2 /* value */
            aload 0 /* this */
            invokeinterface com.google.protobuf.Schema.writeTo:(Ljava/lang/Object;Lcom/google/protobuf/Writer;)V
         2: .line 1077
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.getTotalBytesWritten:()I
            iload 4 /* prevBytes */
            isub
            istore 5 /* length */
        start local 5 // int length
         3: .line 1078
            aload 0 /* this */
            bipush 10
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.requireSpace:(I)V
         4: .line 1079
            aload 0 /* this */
            iload 5 /* length */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint32:(I)V
         5: .line 1080
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_2
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeTag:(II)V
         6: .line 1081
            return
        end local 5 // int length
        end local 4 // int prevBytes
        end local 3 // com.google.protobuf.Schema schema
        end local 2 // java.lang.Object value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    7     1  fieldNumber  I
            0    7     2        value  Ljava/lang/Object;
            0    7     3       schema  Lcom/google/protobuf/Schema;
            1    7     4    prevBytes  I
            3    7     5       length  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        
      schema       

  public void writeGroup(int, java.lang.Object);
    descriptor: (ILjava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int fieldNumber
        start local 2 // java.lang.Object value
         0: .line 1085
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_4
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeTag:(II)V
         1: .line 1086
            invokestatic com.google.protobuf.Protobuf.getInstance:()Lcom/google/protobuf/Protobuf;
            aload 2 /* value */
            aload 0 /* this */
            invokevirtual com.google.protobuf.Protobuf.writeTo:(Ljava/lang/Object;Lcom/google/protobuf/Writer;)V
         2: .line 1087
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_3
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeTag:(II)V
         3: .line 1088
            return
        end local 2 // java.lang.Object value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    4     1  fieldNumber  I
            0    4     2        value  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        

  public void writeGroup(int, java.lang.Object, com.google.protobuf.Schema);
    descriptor: (ILjava/lang/Object;Lcom/google/protobuf/Schema;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int fieldNumber
        start local 2 // java.lang.Object value
        start local 3 // com.google.protobuf.Schema schema
         0: .line 1092
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_4
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeTag:(II)V
         1: .line 1093
            aload 3 /* schema */
            aload 2 /* value */
            aload 0 /* this */
            invokeinterface com.google.protobuf.Schema.writeTo:(Ljava/lang/Object;Lcom/google/protobuf/Writer;)V
         2: .line 1094
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_3
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeTag:(II)V
         3: .line 1095
            return
        end local 3 // com.google.protobuf.Schema schema
        end local 2 // java.lang.Object value
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    4     1  fieldNumber  I
            0    4     2        value  Ljava/lang/Object;
            0    4     3       schema  Lcom/google/protobuf/Schema;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      fieldNumber  
      value        
      schema       

  public void writeStartGroup(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int fieldNumber
         0: .line 1099
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_3
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeTag:(II)V
         1: .line 1100
            return
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    2     1  fieldNumber  I
    MethodParameters:
             Name  Flags
      fieldNumber  

  public void writeEndGroup(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int fieldNumber
         0: .line 1104
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iconst_4
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeTag:(II)V
         1: .line 1105
            return
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    2     1  fieldNumber  I
    MethodParameters:
             Name  Flags
      fieldNumber  

  void writeInt32(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int value
         0: .line 1109
            iload 1 /* value */
            iflt 3
         1: .line 1110
            aload 0 /* this */
            iload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint32:(I)V
         2: .line 1111
            goto 4
         3: .line 1112
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* value */
            i2l
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint64:(J)V
         4: .line 1114
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    5     1  value  I
    MethodParameters:
       Name  Flags
      value  

  void writeSInt32(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int value
         0: .line 1118
            aload 0 /* this */
            iload 1 /* value */
            invokestatic com.google.protobuf.CodedOutputStream.encodeZigZag32:(I)I
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint32:(I)V
         1: .line 1119
            return
        end local 1 // int value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    2     1  value  I
    MethodParameters:
       Name  Flags
      value  

  void writeSInt64(long);
    descriptor: (J)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // long value
         0: .line 1123
            aload 0 /* this */
            lload 1 /* value */
            invokestatic com.google.protobuf.CodedOutputStream.encodeZigZag64:(J)J
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint64:(J)V
         1: .line 1124
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    2     1  value  J
    MethodParameters:
       Name  Flags
      value  

  void writeBool(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // boolean value
         0: .line 1128
            aload 0 /* this */
            iload 1 /* value */
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: com.google.protobuf.BinaryWriter$SafeHeapWriter
         1: iconst_0
      StackMap locals: com.google.protobuf.BinaryWriter$SafeHeapWriter int
      StackMap stack: com.google.protobuf.BinaryWriter$SafeHeapWriter int
         2: i2b
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.write:(B)V
         3: .line 1129
            return
        end local 1 // boolean value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    4     1  value  Z
    MethodParameters:
       Name  Flags
      value  

  void writeTag(int, int);
    descriptor: (II)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int fieldNumber
        start local 2 // int wireType
         0: .line 1133
            aload 0 /* this */
            iload 1 /* fieldNumber */
            iload 2 /* wireType */
            invokestatic com.google.protobuf.WireFormat.makeTag:(II)I
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint32:(I)V
         1: .line 1134
            return
        end local 2 // int wireType
        end local 1 // int fieldNumber
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    2     1  fieldNumber  I
            0    2     2     wireType  I
    MethodParameters:
             Name  Flags
      fieldNumber  
      wireType     

  void writeVarint32(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int value
         0: .line 1138
            iload 1 /* value */
            bipush -128
            iand
            ifne 3
         1: .line 1139
            aload 0 /* this */
            iload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint32OneByte:(I)V
         2: .line 1140
            goto 13
      StackMap locals:
      StackMap stack:
         3: iload 1 /* value */
            sipush -16384
            iand
            ifne 6
         4: .line 1141
            aload 0 /* this */
            iload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint32TwoBytes:(I)V
         5: .line 1142
            goto 13
      StackMap locals:
      StackMap stack:
         6: iload 1 /* value */
            ldc -2097152
            iand
            ifne 9
         7: .line 1143
            aload 0 /* this */
            iload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint32ThreeBytes:(I)V
         8: .line 1144
            goto 13
      StackMap locals:
      StackMap stack:
         9: iload 1 /* value */
            ldc -268435456
            iand
            ifne 12
        10: .line 1145
            aload 0 /* this */
            iload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint32FourBytes:(I)V
        11: .line 1146
            goto 13
        12: .line 1147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint32FiveBytes:(I)V
        13: .line 1149
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0   14     1  value  I
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint32OneByte(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int value
         0: .line 1152
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 1 /* value */
            i2b
            bastore
         1: .line 1153
            return
        end local 1 // int value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    2     1  value  I
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint32TwoBytes(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int value
         0: .line 1156
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 1 /* value */
            bipush 7
            iushr
            i2b
            bastore
         1: .line 1157
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 1 /* value */
            bipush 127
            iand
            sipush 128
            ior
            i2b
            bastore
         2: .line 1158
            return
        end local 1 // int value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    3     1  value  I
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint32ThreeBytes(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int value
         0: .line 1161
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 1 /* value */
            bipush 14
            iushr
            i2b
            bastore
         1: .line 1162
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 1 /* value */
            bipush 7
            iushr
            bipush 127
            iand
            sipush 128
            ior
            i2b
            bastore
         2: .line 1163
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 1 /* value */
            bipush 127
            iand
            sipush 128
            ior
            i2b
            bastore
         3: .line 1164
            return
        end local 1 // int value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    4     1  value  I
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint32FourBytes(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int value
         0: .line 1167
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 1 /* value */
            bipush 21
            iushr
            i2b
            bastore
         1: .line 1168
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 1 /* value */
            bipush 14
            iushr
            bipush 127
            iand
            sipush 128
            ior
            i2b
            bastore
         2: .line 1169
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 1 /* value */
            bipush 7
            iushr
            bipush 127
            iand
            sipush 128
            ior
            i2b
            bastore
         3: .line 1170
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 1 /* value */
            bipush 127
            iand
            sipush 128
            ior
            i2b
            bastore
         4: .line 1171
            return
        end local 1 // int value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    5     1  value  I
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint32FiveBytes(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int value
         0: .line 1174
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 1 /* value */
            bipush 28
            iushr
            i2b
            bastore
         1: .line 1175
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 1 /* value */
            bipush 21
            iushr
            bipush 127
            iand
            sipush 128
            ior
            i2b
            bastore
         2: .line 1176
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 1 /* value */
            bipush 14
            iushr
            bipush 127
            iand
            sipush 128
            ior
            i2b
            bastore
         3: .line 1177
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 1 /* value */
            bipush 7
            iushr
            bipush 127
            iand
            sipush 128
            ior
            i2b
            bastore
         4: .line 1178
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 1 /* value */
            bipush 127
            iand
            sipush 128
            ior
            i2b
            bastore
         5: .line 1179
            return
        end local 1 // int value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    6     1  value  I
    MethodParameters:
       Name  Flags
      value  

  void writeVarint64(long);
    descriptor: (J)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // long value
         0: .line 1183
            lload 1 /* value */
            invokestatic com.google.protobuf.BinaryWriter.computeUInt64SizeNoTag:(J)B
            tableswitch { // 1 - 10
                    1: 1
                    2: 3
                    3: 5
                    4: 7
                    5: 9
                    6: 11
                    7: 13
                    8: 15
                    9: 17
                   10: 19
              default: 20
          }
         1: .line 1185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint64OneByte:(J)V
         2: .line 1186
            goto 20
         3: .line 1188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint64TwoBytes:(J)V
         4: .line 1189
            goto 20
         5: .line 1191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint64ThreeBytes:(J)V
         6: .line 1192
            goto 20
         7: .line 1194
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint64FourBytes:(J)V
         8: .line 1195
            goto 20
         9: .line 1197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint64FiveBytes:(J)V
        10: .line 1198
            goto 20
        11: .line 1200
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint64SixBytes:(J)V
        12: .line 1201
            goto 20
        13: .line 1203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint64SevenBytes:(J)V
        14: .line 1204
            goto 20
        15: .line 1206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint64EightBytes:(J)V
        16: .line 1207
            goto 20
        17: .line 1209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint64NineBytes:(J)V
        18: .line 1210
            goto 20
        19: .line 1212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* value */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.writeVarint64TenBytes:(J)V
        20: .line 1215
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   21     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0   21     1  value  J
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint64OneByte(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // long value
         0: .line 1218
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            l2i
            i2b
            bastore
         1: .line 1219
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    2     1  value  J
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint64TwoBytes(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // long value
         0: .line 1222
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 7
            lushr
            l2i
            i2b
            bastore
         1: .line 1223
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            l2i
            bipush 127
            iand
            sipush 128
            ior
            i2b
            bastore
         2: .line 1224
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    3     1  value  J
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint64ThreeBytes(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // long value
         0: .line 1227
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            l2i
            bipush 14
            iushr
            i2b
            bastore
         1: .line 1228
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 7
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         2: .line 1229
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         3: .line 1230
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    4     1  value  J
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint64FourBytes(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // long value
         0: .line 1233
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 21
            lushr
            l2i
            i2b
            bastore
         1: .line 1234
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 14
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         2: .line 1235
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 7
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         3: .line 1236
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         4: .line 1237
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    5     1  value  J
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint64FiveBytes(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // long value
         0: .line 1240
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 28
            lushr
            l2i
            i2b
            bastore
         1: .line 1241
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 21
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         2: .line 1242
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 14
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         3: .line 1243
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 7
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         4: .line 1244
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         5: .line 1245
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    6     1  value  J
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint64SixBytes(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // long value
         0: .line 1248
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 35
            lushr
            l2i
            i2b
            bastore
         1: .line 1249
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 28
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         2: .line 1250
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 21
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         3: .line 1251
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 14
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         4: .line 1252
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 7
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         5: .line 1253
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         6: .line 1254
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    7     1  value  J
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint64SevenBytes(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // long value
         0: .line 1257
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 42
            lushr
            l2i
            i2b
            bastore
         1: .line 1258
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 35
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         2: .line 1259
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 28
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         3: .line 1260
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 21
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         4: .line 1261
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 14
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         5: .line 1262
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 7
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         6: .line 1263
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         7: .line 1264
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    8     1  value  J
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint64EightBytes(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // long value
         0: .line 1267
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 49
            lushr
            l2i
            i2b
            bastore
         1: .line 1268
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 42
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         2: .line 1269
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 35
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         3: .line 1270
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 28
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         4: .line 1271
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 21
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         5: .line 1272
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 14
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         6: .line 1273
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 7
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         7: .line 1274
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         8: .line 1275
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    9     1  value  J
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint64NineBytes(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // long value
         0: .line 1278
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 56
            lushr
            l2i
            i2b
            bastore
         1: .line 1279
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 49
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         2: .line 1280
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 42
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         3: .line 1281
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 35
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         4: .line 1282
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 28
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         5: .line 1283
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 21
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         6: .line 1284
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 14
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         7: .line 1285
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 7
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         8: .line 1286
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         9: .line 1287
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0   10     1  value  J
    MethodParameters:
       Name  Flags
      value  

  private void writeVarint64TenBytes(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // long value
         0: .line 1290
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 63
            lushr
            l2i
            i2b
            bastore
         1: .line 1291
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 56
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         2: .line 1292
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 49
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         3: .line 1293
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 42
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         4: .line 1294
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 35
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         5: .line 1295
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 28
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         6: .line 1296
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 21
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         7: .line 1297
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 14
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         8: .line 1298
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 7
            lushr
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
         9: .line 1299
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            ldc 127
            land
            ldc 128
            lor
            l2i
            i2b
            bastore
        10: .line 1300
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0   11     1  value  J
    MethodParameters:
       Name  Flags
      value  

  void writeFixed32(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int value
         0: .line 1304
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 1 /* value */
            bipush 24
            ishr
            sipush 255
            iand
            i2b
            bastore
         1: .line 1305
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 1 /* value */
            bipush 16
            ishr
            sipush 255
            iand
            i2b
            bastore
         2: .line 1306
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 1 /* value */
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            bastore
         3: .line 1307
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 1 /* value */
            sipush 255
            iand
            i2b
            bastore
         4: .line 1308
            return
        end local 1 // int value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    5     1  value  I
    MethodParameters:
       Name  Flags
      value  

  void writeFixed64(long);
    descriptor: (J)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // long value
         0: .line 1312
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 56
            lshr
            l2i
            sipush 255
            iand
            i2b
            bastore
         1: .line 1313
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 48
            lshr
            l2i
            sipush 255
            iand
            i2b
            bastore
         2: .line 1314
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 40
            lshr
            l2i
            sipush 255
            iand
            i2b
            bastore
         3: .line 1315
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 32
            lshr
            l2i
            sipush 255
            iand
            i2b
            bastore
         4: .line 1316
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 24
            lshr
            l2i
            sipush 255
            iand
            i2b
            bastore
         5: .line 1317
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 16
            lshr
            l2i
            sipush 255
            iand
            i2b
            bastore
         6: .line 1318
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            bipush 8
            lshr
            l2i
            sipush 255
            iand
            i2b
            bastore
         7: .line 1319
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            lload 1 /* value */
            l2i
            sipush 255
            iand
            i2b
            bastore
         8: .line 1320
            return
        end local 1 // long value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    9     1  value  J
    MethodParameters:
       Name  Flags
      value  

  void writeString(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // java.lang.String in
         0: .line 1325
            aload 0 /* this */
            aload 1 /* in */
            invokevirtual java.lang.String.length:()I
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.requireSpace:(I)V
         1: .line 1328
            aload 1 /* in */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            istore 2 /* i */
        start local 2 // int i
         2: .line 1330
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 2 /* i */
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
         3: .line 1333
            goto 6
        start local 3 // char c
         4: .line 1334
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 2 /* i */
            iadd
            iload 3 /* c */
            i2b
            bastore
         5: .line 1333
            iinc 2 /* i */ -1
        end local 3 // char c
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            iflt 8
            aload 1 /* in */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 3 /* c */
        start local 3 // char c
         7: sipush 128
            if_icmplt 4
        end local 3 // char c
         8: .line 1336
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iconst_m1
            if_icmpne 11
         9: .line 1338
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
        10: .line 1339
            return
        11: .line 1341
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 2 /* i */
            iadd
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
        12: .line 1342
            goto 41
        13: .line 1343
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
        start local 3 // char c
        14: .line 1344
            iload 3 /* c */
            sipush 128
            if_icmpge 17
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.offsetMinusOne:I
            if_icmple 17
        15: .line 1345
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 3 /* c */
            i2b
            bastore
        16: .line 1346
            goto 40
      StackMap locals: int
      StackMap stack:
        17: iload 3 /* c */
            sipush 2048
            if_icmpge 21
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.offset:I
            if_icmple 21
        18: .line 1347
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            sipush 128
            bipush 63
            iload 3 /* c */
            iand
            ior
            i2b
            bastore
        19: .line 1348
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            sipush 960
            iload 3 /* c */
            bipush 6
            iushr
            ior
            i2b
            bastore
        20: .line 1349
            goto 40
      StackMap locals:
      StackMap stack:
        21: iload 3 /* c */
            ldc 55296
            if_icmplt 22
            ldc 57343
            iload 3 /* c */
            if_icmpge 27
        22: .line 1350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.offset:I
            iconst_1
            iadd
            if_icmple 27
        23: .line 1352
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            sipush 128
            bipush 63
            iload 3 /* c */
            iand
            ior
            i2b
            bastore
        24: .line 1353
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            sipush 128
            bipush 63
            iload 3 /* c */
            bipush 6
            iushr
            iand
            ior
            i2b
            bastore
        25: .line 1354
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            sipush 480
            iload 3 /* c */
            bipush 12
            iushr
            ior
            i2b
            bastore
        26: .line 1355
            goto 40
      StackMap locals:
      StackMap stack:
        27: aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.offset:I
            iconst_2
            iadd
            if_icmple 38
        28: .line 1358
            iconst_0
            istore 4 /* high */
        start local 4 // char high
        29: .line 1359
            iload 2 /* i */
            ifeq 30
            aload 1 /* in */
            iload 2 /* i */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 4 /* high */
            iload 3 /* c */
            invokestatic java.lang.Character.isSurrogatePair:(CC)Z
            ifne 31
        30: .line 1360
      StackMap locals: int
      StackMap stack:
            new com.google.protobuf.Utf8$UnpairedSurrogateException
            dup
            iload 2 /* i */
            iconst_1
            isub
            iload 2 /* i */
            invokespecial com.google.protobuf.Utf8$UnpairedSurrogateException.<init>:(II)V
            athrow
        31: .line 1362
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ -1
        32: .line 1363
            iload 4 /* high */
            iload 3 /* c */
            invokestatic java.lang.Character.toCodePoint:(CC)I
            istore 5 /* codePoint */
        start local 5 // int codePoint
        33: .line 1364
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            sipush 128
            bipush 63
            iload 5 /* codePoint */
            iand
            ior
            i2b
            bastore
        34: .line 1365
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            sipush 128
            bipush 63
            iload 5 /* codePoint */
            bipush 6
            iushr
            iand
            ior
            i2b
            bastore
        35: .line 1366
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            sipush 128
            bipush 63
            iload 5 /* codePoint */
            bipush 12
            iushr
            iand
            ior
            i2b
            bastore
        36: .line 1367
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            sipush 240
            iload 5 /* codePoint */
            bipush 18
            iushr
            ior
            i2b
            bastore
        end local 5 // int codePoint
        end local 4 // char high
        37: .line 1368
            goto 40
        38: .line 1370
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.requireSpace:(I)V
        39: .line 1371
            iinc 2 /* i */ 1
        40: .line 1342
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ -1
        end local 3 // char c
      StackMap locals:
      StackMap stack:
        41: iload 2 /* i */
            ifge 13
        42: .line 1374
            return
        end local 2 // int i
        end local 1 // java.lang.String in
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   43     0       this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0   43     1         in  Ljava/lang/String;
            2   43     2          i  I
            4    6     3          c  C
            7    8     3          c  C
           14   41     3          c  C
           29   37     4       high  C
           33   37     5  codePoint  I
    MethodParameters:
      Name  Flags
      in    

  public void write(byte);
    descriptor: (B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // byte value
         0: .line 1378
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            dup_x1
            iconst_1
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 1 /* value */
            bastore
         1: .line 1379
            return
        end local 1 // byte value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    2     1  value  B
    MethodParameters:
       Name  Flags
      value  

  public void write(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // byte[] value
        start local 2 // int offset
        start local 3 // int length
         0: .line 1383
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.spaceLeft:()I
            iload 3 /* length */
            if_icmpge 2
         1: .line 1384
            aload 0 /* this */
            iload 3 /* length */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.nextBuffer:(I)V
         2: .line 1387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 3 /* length */
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
         3: .line 1388
            aload 1 /* value */
            iload 2 /* offset */
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iconst_1
            iadd
            iload 3 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 1389
            return
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    5     1   value  [B
            0    5     2  offset  I
            0    5     3  length  I
    MethodParameters:
        Name  Flags
      value   
      offset  
      length  

  public void writeLazy(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // byte[] value
        start local 2 // int offset
        start local 3 // int length
         0: .line 1393
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.spaceLeft:()I
            iload 3 /* length */
            if_icmpge 5
         1: .line 1396
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.totalDoneBytes:I
            iload 3 /* length */
            iadd
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.totalDoneBytes:I
         2: .line 1397
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffers:Ljava/util/ArrayDeque;
            aload 1 /* value */
            iload 2 /* offset */
            iload 3 /* length */
            invokestatic com.google.protobuf.AllocatedBuffer.wrap:([BII)Lcom/google/protobuf/AllocatedBuffer;
            invokevirtual java.util.ArrayDeque.addFirst:(Ljava/lang/Object;)V
         3: .line 1401
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.nextBuffer:()V
         4: .line 1402
            return
         5: .line 1405
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 3 /* length */
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
         6: .line 1406
            aload 1 /* value */
            iload 2 /* offset */
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iconst_1
            iadd
            iload 3 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 1407
            return
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    8     1   value  [B
            0    8     2  offset  I
            0    8     3  length  I
    MethodParameters:
        Name  Flags
      value   
      offset  
      length  

  public void write(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // java.nio.ByteBuffer value
         0: .line 1411
            aload 1 /* value */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 2 /* length */
        start local 2 // int length
         1: .line 1412
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.spaceLeft:()I
            iload 2 /* length */
            if_icmpge 3
         2: .line 1413
            aload 0 /* this */
            iload 2 /* length */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.nextBuffer:(I)V
         3: .line 1416
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 2 /* length */
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
         4: .line 1417
            aload 1 /* value */
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iconst_1
            iadd
            iload 2 /* length */
            invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
         5: .line 1418
            return
        end local 2 // int length
        end local 1 // java.nio.ByteBuffer value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    6     1   value  Ljava/nio/ByteBuffer;
            1    6     2  length  I
    MethodParameters:
       Name  Flags
      value  

  public void writeLazy(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // java.nio.ByteBuffer value
         0: .line 1422
            aload 1 /* value */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 2 /* length */
        start local 2 // int length
         1: .line 1423
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.spaceLeft:()I
            iload 2 /* length */
            if_icmpge 5
         2: .line 1426
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.totalDoneBytes:I
            iload 2 /* length */
            iadd
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.totalDoneBytes:I
         3: .line 1427
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffers:Ljava/util/ArrayDeque;
            aload 1 /* value */
            invokestatic com.google.protobuf.AllocatedBuffer.wrap:(Ljava/nio/ByteBuffer;)Lcom/google/protobuf/AllocatedBuffer;
            invokevirtual java.util.ArrayDeque.addFirst:(Ljava/lang/Object;)V
         4: .line 1431
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.nextBuffer:()V
         5: .line 1434
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iload 2 /* length */
            isub
            putfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
         6: .line 1435
            aload 1 /* value */
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.buffer:[B
            aload 0 /* this */
            getfield com.google.protobuf.BinaryWriter$SafeHeapWriter.pos:I
            iconst_1
            iadd
            iload 2 /* length */
            invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
         7: .line 1436
            return
        end local 2 // int length
        end local 1 // java.nio.ByteBuffer value
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    8     1   value  Ljava/nio/ByteBuffer;
            1    8     2  length  I
    MethodParameters:
       Name  Flags
      value  

  void requireSpace(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
        start local 1 // int size
         0: .line 1440
            aload 0 /* this */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.spaceLeft:()I
            iload 1 /* size */
            if_icmpge 2
         1: .line 1441
            aload 0 /* this */
            iload 1 /* size */
            invokevirtual com.google.protobuf.BinaryWriter$SafeHeapWriter.nextBuffer:(I)V
         2: .line 1443
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int size
        end local 0 // com.google.protobuf.BinaryWriter$SafeHeapWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/google/protobuf/BinaryWriter$SafeHeapWriter;
            0    3     1  size  I
    MethodParameters:
      Name  Flags
      size  
}
SourceFile: "BinaryWriter.java"
NestHost: com.google.protobuf.BinaryWriter
InnerClasses:
  private final SafeHeapWriter = com.google.protobuf.BinaryWriter$SafeHeapWriter of com.google.protobuf.BinaryWriter
  UnpairedSurrogateException = com.google.protobuf.Utf8$UnpairedSurrogateException of com.google.protobuf.Utf8