public class sun.misc.UCEncoder extends sun.misc.CharacterEncoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.misc.UCEncoder
  super_class: sun.misc.CharacterEncoder
{
  private static final byte[] map_array;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

  private sun.misc.CRC16 crc;
    descriptor: Lsun/misc/CRC16;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 89
            bipush 64
            newarray 8
            dup
            iconst_0
         1: .line 91
            bipush 48
            bastore
            dup
            iconst_1
            bipush 49
            bastore
            dup
            iconst_2
            bipush 50
            bastore
            dup
            iconst_3
            bipush 51
            bastore
            dup
            iconst_4
            bipush 52
            bastore
            dup
            iconst_5
            bipush 53
            bastore
            dup
            bipush 6
            bipush 54
            bastore
            dup
            bipush 7
            bipush 55
            bastore
            dup
            bipush 8
         2: .line 92
            bipush 56
            bastore
            dup
            bipush 9
            bipush 57
            bastore
            dup
            bipush 10
            bipush 65
            bastore
            dup
            bipush 11
            bipush 66
            bastore
            dup
            bipush 12
            bipush 67
            bastore
            dup
            bipush 13
            bipush 68
            bastore
            dup
            bipush 14
            bipush 69
            bastore
            dup
            bipush 15
            bipush 70
            bastore
            dup
            bipush 16
         3: .line 93
            bipush 71
            bastore
            dup
            bipush 17
            bipush 72
            bastore
            dup
            bipush 18
            bipush 73
            bastore
            dup
            bipush 19
            bipush 74
            bastore
            dup
            bipush 20
            bipush 75
            bastore
            dup
            bipush 21
            bipush 76
            bastore
            dup
            bipush 22
            bipush 77
            bastore
            dup
            bipush 23
            bipush 78
            bastore
            dup
            bipush 24
         4: .line 94
            bipush 79
            bastore
            dup
            bipush 25
            bipush 80
            bastore
            dup
            bipush 26
            bipush 81
            bastore
            dup
            bipush 27
            bipush 82
            bastore
            dup
            bipush 28
            bipush 83
            bastore
            dup
            bipush 29
            bipush 84
            bastore
            dup
            bipush 30
            bipush 85
            bastore
            dup
            bipush 31
            bipush 86
            bastore
            dup
            bipush 32
         5: .line 95
            bipush 87
            bastore
            dup
            bipush 33
            bipush 88
            bastore
            dup
            bipush 34
            bipush 89
            bastore
            dup
            bipush 35
            bipush 90
            bastore
            dup
            bipush 36
            bipush 97
            bastore
            dup
            bipush 37
            bipush 98
            bastore
            dup
            bipush 38
            bipush 99
            bastore
            dup
            bipush 39
            bipush 100
            bastore
            dup
            bipush 40
         6: .line 96
            bipush 101
            bastore
            dup
            bipush 41
            bipush 102
            bastore
            dup
            bipush 42
            bipush 103
            bastore
            dup
            bipush 43
            bipush 104
            bastore
            dup
            bipush 44
            bipush 105
            bastore
            dup
            bipush 45
            bipush 106
            bastore
            dup
            bipush 46
            bipush 107
            bastore
            dup
            bipush 47
            bipush 108
            bastore
            dup
            bipush 48
         7: .line 97
            bipush 109
            bastore
            dup
            bipush 49
            bipush 110
            bastore
            dup
            bipush 50
            bipush 111
            bastore
            dup
            bipush 51
            bipush 112
            bastore
            dup
            bipush 52
            bipush 113
            bastore
            dup
            bipush 53
            bipush 114
            bastore
            dup
            bipush 54
            bipush 115
            bastore
            dup
            bipush 55
            bipush 116
            bastore
            dup
            bipush 56
         8: .line 98
            bipush 117
            bastore
            dup
            bipush 57
            bipush 118
            bastore
            dup
            bipush 58
            bipush 119
            bastore
            dup
            bipush 59
            bipush 120
            bastore
            dup
            bipush 60
            bipush 121
            bastore
            dup
            bipush 61
            bipush 122
            bastore
            dup
            bipush 62
            bipush 40
            bastore
            dup
            bipush 63
            bipush 41
            bastore
         9: .line 89
            putstatic sun.misc.UCEncoder.map_array:[B
        10: .line 99
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.misc.UCEncoder this
         0: .line 76
            aload 0 /* this */
            invokespecial sun.misc.CharacterEncoder.<init>:()V
         1: .line 102
            aload 0 /* this */
            iconst_2
            newarray 8
            putfield sun.misc.UCEncoder.tmp:[B
         2: .line 103
            aload 0 /* this */
            new sun.misc.CRC16
            dup
            invokespecial sun.misc.CRC16.<init>:()V
            putfield sun.misc.UCEncoder.crc:Lsun/misc/CRC16;
         3: .line 76
            return
        end local 0 // sun.misc.UCEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/misc/UCEncoder;

  protected int bytesPerAtom();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.misc.UCEncoder this
         0: .line 80
            iconst_2
            ireturn
        end local 0 // sun.misc.UCEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/misc/UCEncoder;

  protected int bytesPerLine();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.misc.UCEncoder this
         0: .line 85
            bipush 48
            ireturn
        end local 0 // sun.misc.UCEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/misc/UCEncoder;

  protected void encodeAtom(java.io.OutputStream, byte[], int, int);
    descriptor: (Ljava/io/OutputStream;[BII)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // sun.misc.UCEncoder this
        start local 1 // java.io.OutputStream outStream
        start local 2 // byte[] data
        start local 3 // int offset
        start local 4 // int len
         0: .line 116
            aload 2 /* data */
            iload 3 /* offset */
            baload
            istore 8 /* a */
        start local 8 // byte a
         1: .line 117
            iload 4 /* len */
            iconst_2
            if_icmpne 4
         2: .line 118
            aload 2 /* data */
            iload 3 /* offset */
            iconst_1
            iadd
            baload
            istore 9 /* b */
        start local 9 // byte b
         3: .line 119
            goto 5
        end local 9 // byte b
         4: .line 120
      StackMap locals: sun.misc.UCEncoder java.io.OutputStream byte[] int int top top top int
      StackMap stack:
            iconst_0
            istore 9 /* b */
        start local 9 // byte b
         5: .line 122
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.misc.UCEncoder.crc:Lsun/misc/CRC16;
            iload 8 /* a */
            invokevirtual sun.misc.CRC16.update:(B)V
         6: .line 123
            iload 4 /* len */
            iconst_2
            if_icmpne 8
         7: .line 124
            aload 0 /* this */
            getfield sun.misc.UCEncoder.crc:Lsun/misc/CRC16;
            iload 9 /* b */
            invokevirtual sun.misc.CRC16.update:(B)V
         8: .line 126
      StackMap locals:
      StackMap stack:
            aload 1 /* outStream */
            getstatic sun.misc.UCEncoder.map_array:[B
            iload 8 /* a */
            iconst_2
            iushr
            bipush 56
            iand
            iload 9 /* b */
            iconst_5
            iushr
            bipush 7
            iand
            iadd
            baload
            invokevirtual java.io.OutputStream.write:(I)V
         9: .line 127
            iconst_0
            istore 6 /* p1 */
        start local 6 // int p1
        10: iconst_0
            istore 7 /* p2 */
        start local 7 // int p2
        11: .line 128
            iconst_1
            istore 5 /* i */
        start local 5 // int i
        12: goto 18
        13: .line 129
      StackMap locals: sun.misc.UCEncoder java.io.OutputStream byte[] int int int int int int int
      StackMap stack:
            iload 8 /* a */
            iload 5 /* i */
            iand
            ifeq 15
        14: .line 130
            iinc 6 /* p1 */ 1
        15: .line 132
      StackMap locals:
      StackMap stack:
            iload 9 /* b */
            iload 5 /* i */
            iand
            ifeq 17
        16: .line 133
            iinc 7 /* p2 */ 1
        17: .line 128
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iconst_2
            imul
            istore 5 /* i */
      StackMap locals:
      StackMap stack:
        18: iload 5 /* i */
            sipush 256
            if_icmplt 13
        19: .line 136
            iload 6 /* p1 */
            iconst_1
            iand
            bipush 32
            imul
            istore 6 /* p1 */
        20: .line 137
            iload 7 /* p2 */
            iconst_1
            iand
            bipush 32
            imul
            istore 7 /* p2 */
        21: .line 138
            aload 1 /* outStream */
            getstatic sun.misc.UCEncoder.map_array:[B
            iload 8 /* a */
            bipush 31
            iand
            iload 6 /* p1 */
            iadd
            baload
            invokevirtual java.io.OutputStream.write:(I)V
        22: .line 139
            aload 1 /* outStream */
            getstatic sun.misc.UCEncoder.map_array:[B
            iload 9 /* b */
            bipush 31
            iand
            iload 7 /* p2 */
            iadd
            baload
            invokevirtual java.io.OutputStream.write:(I)V
        23: .line 140
            return
        end local 9 // byte b
        end local 8 // byte a
        end local 7 // int p2
        end local 6 // int p1
        end local 5 // int i
        end local 4 // int len
        end local 3 // int offset
        end local 2 // byte[] data
        end local 1 // java.io.OutputStream outStream
        end local 0 // sun.misc.UCEncoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0       this  Lsun/misc/UCEncoder;
            0   24     1  outStream  Ljava/io/OutputStream;
            0   24     2       data  [B
            0   24     3     offset  I
            0   24     4        len  I
           12   24     5          i  I
           10   24     6         p1  I
           11   24     7         p2  I
            1   24     8          a  B
            3    4     9          b  B
            5   24     9          b  B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      outStream  
      data       
      offset     
      len        

  protected void encodeLinePrefix(java.io.OutputStream, int);
    descriptor: (Ljava/io/OutputStream;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // sun.misc.UCEncoder this
        start local 1 // java.io.OutputStream outStream
        start local 2 // int length
         0: .line 149
            aload 1 /* outStream */
            bipush 42
            invokevirtual java.io.OutputStream.write:(I)V
         1: .line 150
            aload 0 /* this */
            getfield sun.misc.UCEncoder.crc:Lsun/misc/CRC16;
            iconst_0
            putfield sun.misc.CRC16.value:I
         2: .line 151
            aload 0 /* this */
            getfield sun.misc.UCEncoder.tmp:[B
            iconst_0
            iload 2 /* length */
            i2b
            bastore
         3: .line 152
            aload 0 /* this */
            getfield sun.misc.UCEncoder.tmp:[B
            iconst_1
            aload 0 /* this */
            getfield sun.misc.UCEncoder.sequence:I
            i2b
            bastore
         4: .line 153
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.misc.UCEncoder.sequence:I
            iconst_1
            iadd
            sipush 255
            iand
            putfield sun.misc.UCEncoder.sequence:I
         5: .line 154
            aload 0 /* this */
            aload 1 /* outStream */
            aload 0 /* this */
            getfield sun.misc.UCEncoder.tmp:[B
            iconst_0
            iconst_2
            invokevirtual sun.misc.UCEncoder.encodeAtom:(Ljava/io/OutputStream;[BII)V
         6: .line 155
            return
        end local 2 // int length
        end local 1 // java.io.OutputStream outStream
        end local 0 // sun.misc.UCEncoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lsun/misc/UCEncoder;
            0    7     1  outStream  Ljava/io/OutputStream;
            0    7     2     length  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      outStream  
      length     

  protected void encodeLineSuffix(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // sun.misc.UCEncoder this
        start local 1 // java.io.OutputStream outStream
         0: .line 164
            aload 0 /* this */
            getfield sun.misc.UCEncoder.tmp:[B
            iconst_0
            aload 0 /* this */
            getfield sun.misc.UCEncoder.crc:Lsun/misc/CRC16;
            getfield sun.misc.CRC16.value:I
            bipush 8
            iushr
            sipush 255
            iand
            i2b
            bastore
         1: .line 165
            aload 0 /* this */
            getfield sun.misc.UCEncoder.tmp:[B
            iconst_1
            aload 0 /* this */
            getfield sun.misc.UCEncoder.crc:Lsun/misc/CRC16;
            getfield sun.misc.CRC16.value:I
            sipush 255
            iand
            i2b
            bastore
         2: .line 166
            aload 0 /* this */
            aload 1 /* outStream */
            aload 0 /* this */
            getfield sun.misc.UCEncoder.tmp:[B
            iconst_0
            iconst_2
            invokevirtual sun.misc.UCEncoder.encodeAtom:(Ljava/io/OutputStream;[BII)V
         3: .line 167
            aload 0 /* this */
            getfield sun.misc.CharacterEncoder.pStream:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         4: .line 168
            return
        end local 1 // java.io.OutputStream outStream
        end local 0 // sun.misc.UCEncoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lsun/misc/UCEncoder;
            0    5     1  outStream  Ljava/io/OutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      outStream  

  protected void encodeBufferPrefix(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.misc.UCEncoder this
        start local 1 // java.io.OutputStream a
         0: .line 175
            aload 0 /* this */
            iconst_0
            putfield sun.misc.UCEncoder.sequence:I
         1: .line 176
            aload 0 /* this */
            aload 1 /* a */
            invokespecial sun.misc.CharacterEncoder.encodeBufferPrefix:(Ljava/io/OutputStream;)V
         2: .line 177
            return
        end local 1 // java.io.OutputStream a
        end local 0 // sun.misc.UCEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/misc/UCEncoder;
            0    3     1     a  Ljava/io/OutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      a     
}
SourceFile: "UCEncoder.java"