class sun.nio.cs.ext.ISO2022_CN$Decoder extends java.nio.charset.CharsetDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.nio.cs.ext.ISO2022_CN$Decoder
  super_class: java.nio.charset.CharsetDecoder
{
  private boolean shiftOut;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private byte currentSODesig;
    descriptor: B
    flags: (0x0002) ACC_PRIVATE

  private static final java.nio.charset.Charset gb2312;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.nio.charset.Charset cns;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final sun.nio.cs.ext.DoubleByte$Decoder gb2312Decoder;
    descriptor: Lsun/nio/cs/ext/DoubleByte$Decoder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final sun.nio.cs.ext.EUC_TW$Decoder cnsDecoder;
    descriptor: Lsun/nio/cs/ext/EUC_TW$Decoder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 83
            ldc Lsun/nio/cs/ext/ISO2022_CN;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic sun.nio.cs.ext.ISO2022_CN$Decoder.$assertionsDisabled:Z
         3: .line 87
            new sun.nio.cs.ext.EUC_CN
            dup
            invokespecial sun.nio.cs.ext.EUC_CN.<init>:()V
            putstatic sun.nio.cs.ext.ISO2022_CN$Decoder.gb2312:Ljava/nio/charset/Charset;
         4: .line 88
            new sun.nio.cs.ext.EUC_TW
            dup
            invokespecial sun.nio.cs.ext.EUC_TW.<init>:()V
            putstatic sun.nio.cs.ext.ISO2022_CN$Decoder.cns:Ljava/nio/charset/Charset;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.nio.charset.Charset);
    descriptor: (Ljava/nio/charset/Charset;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
        start local 1 // java.nio.charset.Charset cs
         0: .line 93
            aload 0 /* this */
            aload 1 /* cs */
            fconst_1
            fconst_1
            invokespecial java.nio.charset.CharsetDecoder.<init>:(Ljava/nio/charset/Charset;FF)V
         1: .line 94
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
         2: .line 95
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
         3: .line 96
            aload 0 /* this */
            getstatic sun.nio.cs.ext.ISO2022_CN$Decoder.gb2312:Ljava/nio/charset/Charset;
            invokevirtual java.nio.charset.Charset.newDecoder:()Ljava/nio/charset/CharsetDecoder;
            checkcast sun.nio.cs.ext.DoubleByte$Decoder
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.gb2312Decoder:Lsun/nio/cs/ext/DoubleByte$Decoder;
         4: .line 97
            aload 0 /* this */
            getstatic sun.nio.cs.ext.ISO2022_CN$Decoder.cns:Ljava/nio/charset/Charset;
            invokevirtual java.nio.charset.Charset.newDecoder:()Ljava/nio/charset/CharsetDecoder;
            checkcast sun.nio.cs.ext.EUC_TW$Decoder
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.cnsDecoder:Lsun/nio/cs/ext/EUC_TW$Decoder;
         5: .line 98
            return
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/nio/cs/ext/ISO2022_CN$Decoder;
            0    6     1    cs  Ljava/nio/charset/Charset;
    MethodParameters:
      Name  Flags
      cs    

  protected void implReset();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
         0: .line 101
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
         1: .line 102
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
         2: .line 103
            return
        end local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/ext/ISO2022_CN$Decoder;

  private char cnsDecode(byte, byte, byte);
    descriptor: (BBB)C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
        start local 1 // byte byte1
        start local 2 // byte byte2
        start local 3 // byte SS
         0: .line 106
            iload 1 /* byte1 */
            bipush -128
            ior
            i2b
            istore 1 /* byte1 */
         1: .line 107
            iload 2 /* byte2 */
            bipush -128
            ior
            i2b
            istore 2 /* byte2 */
         2: .line 108
            iconst_0
            istore 4 /* p */
        start local 4 // int p
         3: .line 109
            iload 3 /* SS */
            bipush 78
            if_icmpne 5
         4: .line 110
            iconst_1
            istore 4 /* p */
            goto 8
         5: .line 111
      StackMap locals: int
      StackMap stack:
            iload 3 /* SS */
            bipush 79
            if_icmpne 7
         6: .line 112
            iconst_2
            istore 4 /* p */
            goto 8
         7: .line 114
      StackMap locals:
      StackMap stack:
            ldc 65533
            ireturn
         8: .line 115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.cnsDecoder:Lsun/nio/cs/ext/EUC_TW$Decoder;
            iload 1 /* byte1 */
            sipush 255
            iand
         9: .line 116
            iload 2 /* byte2 */
            sipush 255
            iand
        10: .line 117
            iload 4 /* p */
        11: .line 115
            invokevirtual sun.nio.cs.ext.EUC_TW$Decoder.toUnicode:(III)[C
            astore 5 /* ret */
        start local 5 // char[] ret
        12: .line 118
            aload 5 /* ret */
            ifnull 13
            aload 5 /* ret */
            arraylength
            iconst_2
            if_icmpne 14
        13: .line 119
      StackMap locals: char[]
      StackMap stack:
            ldc 65533
            ireturn
        14: .line 120
      StackMap locals:
      StackMap stack:
            aload 5 /* ret */
            iconst_0
            caload
            ireturn
        end local 5 // char[] ret
        end local 4 // int p
        end local 3 // byte SS
        end local 2 // byte byte2
        end local 1 // byte byte1
        end local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Lsun/nio/cs/ext/ISO2022_CN$Decoder;
            0   15     1  byte1  B
            0   15     2  byte2  B
            0   15     3     SS  B
            3   15     4      p  I
           12   15     5    ret  [C
    MethodParameters:
       Name  Flags
      byte1  
      byte2  
      SS     

  private char SODecode(byte, byte, byte);
    descriptor: (BBB)C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
        start local 1 // byte byte1
        start local 2 // byte byte2
        start local 3 // byte SOD
         0: .line 124
            iload 1 /* byte1 */
            bipush -128
            ior
            i2b
            istore 1 /* byte1 */
         1: .line 125
            iload 2 /* byte2 */
            bipush -128
            ior
            i2b
            istore 2 /* byte2 */
         2: .line 126
            iload 3 /* SOD */
            ifne 6
         3: .line 127
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.gb2312Decoder:Lsun/nio/cs/ext/DoubleByte$Decoder;
            iload 1 /* byte1 */
            sipush 255
            iand
         4: .line 128
            iload 2 /* byte2 */
            sipush 255
            iand
         5: .line 127
            invokevirtual sun.nio.cs.ext.DoubleByte$Decoder.decodeDouble:(II)C
            ireturn
         6: .line 130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.cnsDecoder:Lsun/nio/cs/ext/EUC_TW$Decoder;
            iload 1 /* byte1 */
            sipush 255
            iand
         7: .line 131
            iload 2 /* byte2 */
            sipush 255
            iand
         8: .line 132
            iconst_0
         9: .line 130
            invokevirtual sun.nio.cs.ext.EUC_TW$Decoder.toUnicode:(III)[C
            astore 4 /* ret */
        start local 4 // char[] ret
        10: .line 133
            aload 4 /* ret */
            ifnonnull 12
        11: .line 134
            ldc 65533
            ireturn
        12: .line 135
      StackMap locals: char[]
      StackMap stack:
            aload 4 /* ret */
            iconst_0
            caload
            ireturn
        end local 4 // char[] ret
        end local 3 // byte SOD
        end local 2 // byte byte2
        end local 1 // byte byte1
        end local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lsun/nio/cs/ext/ISO2022_CN$Decoder;
            0   13     1  byte1  B
            0   13     2  byte2  B
            0   13     3    SOD  B
           10   13     4    ret  [C
    MethodParameters:
       Name  Flags
      byte1  
      byte2  
      SOD    

  private java.nio.charset.CoderResult decodeBufferLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=3
        start local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 142
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 3 /* mark */
        start local 3 // int mark
         1: .line 143
            iconst_0
            istore 4 /* b1 */
        start local 4 // byte b1
         2: iconst_0
            istore 5 /* b2 */
        start local 5 // byte b2
         3: iconst_0
            istore 6 /* b3 */
        start local 6 // byte b3
         4: iconst_0
            istore 7 /* b4 */
        start local 7 // byte b4
         5: .line 144
            iconst_0
            istore 8 /* inputSize */
        start local 8 // int inputSize
         6: .line 145
            ldc 65533
            istore 9 /* c */
        start local 9 // char c
         7: .line 147
            goto 136
         8: .line 148
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int int int int int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 4 /* b1 */
         9: .line 149
            iconst_1
            istore 8 /* inputSize */
        10: .line 151
            goto 112
        11: .line 154
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            bipush 27
            if_icmpne 100
        12: .line 155
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        13: .line 157
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 17
        14: .line 158
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        15: .line 258
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        16: .line 158
            aload 11
            areturn
        17: .line 160
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 5 /* b2 */
        18: .line 161
            iinc 8 /* inputSize */ 1
        19: .line 163
            iload 5 /* b2 */
            bipush -128
            iand
            ifeq 23
        20: .line 164
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        21: .line 258
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        22: .line 164
            aload 11
            areturn
        23: .line 166
      StackMap locals:
      StackMap stack:
            iload 5 /* b2 */
            bipush 36
            if_icmpne 78
        24: .line 167
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 28
        25: .line 168
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        26: .line 258
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        27: .line 168
            aload 11
            areturn
        28: .line 170
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 6 /* b3 */
        29: .line 171
            iinc 8 /* inputSize */ 1
        30: .line 173
            iload 6 /* b3 */
            bipush -128
            iand
            ifeq 34
        31: .line 174
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        32: .line 258
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        33: .line 174
            aload 11
            areturn
        34: .line 175
      StackMap locals:
      StackMap stack:
            iload 6 /* b3 */
            bipush 65
            if_icmpne 37
        35: .line 176
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        36: .line 177
            goto 105
      StackMap locals:
      StackMap stack:
        37: iload 6 /* b3 */
            bipush 41
            if_icmpne 53
        38: .line 178
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 42
        39: .line 179
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        40: .line 258
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        41: .line 179
            aload 11
            areturn
        42: .line 180
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* b4 */
        43: .line 181
            iinc 8 /* inputSize */ 1
        44: .line 182
            iload 7 /* b4 */
            bipush 65
            if_icmpne 47
        45: .line 183
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        46: .line 184
            goto 105
      StackMap locals:
      StackMap stack:
        47: iload 7 /* b4 */
            bipush 71
            if_icmpne 50
        48: .line 185
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        49: .line 186
            goto 105
        50: .line 187
      StackMap locals:
      StackMap stack:
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        51: .line 258
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        52: .line 187
            aload 11
            areturn
        53: .line 189
      StackMap locals:
      StackMap stack:
            iload 6 /* b3 */
            bipush 42
            if_icmpne 64
        54: .line 190
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 58
        55: .line 191
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        56: .line 258
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        57: .line 191
            aload 11
            areturn
        58: .line 192
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* b4 */
        59: .line 193
            iinc 8 /* inputSize */ 1
        60: .line 194
            iload 7 /* b4 */
            bipush 72
            if_icmpeq 105
        61: .line 196
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        62: .line 258
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        63: .line 196
            aload 11
            areturn
        64: .line 198
      StackMap locals:
      StackMap stack:
            iload 6 /* b3 */
            bipush 43
            if_icmpne 75
        65: .line 199
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 69
        66: .line 200
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        67: .line 258
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        68: .line 200
            aload 11
            areturn
        69: .line 201
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* b4 */
        70: .line 202
            iinc 8 /* inputSize */ 1
        71: .line 203
            iload 7 /* b4 */
            bipush 73
            if_icmpeq 105
        72: .line 205
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        73: .line 258
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        74: .line 205
            aload 11
            areturn
        75: .line 208
      StackMap locals:
      StackMap stack:
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        76: .line 258
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        77: .line 208
            aload 11
            areturn
        78: .line 210
      StackMap locals:
      StackMap stack:
            iload 5 /* b2 */
            bipush 78
            if_icmpeq 79
            iload 5 /* b2 */
            bipush 79
            if_icmpne 97
        79: .line 211
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            if_icmpge 83
        80: .line 212
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        81: .line 258
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        82: .line 212
            aload 11
            areturn
        83: .line 213
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 6 /* b3 */
        84: .line 214
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* b4 */
        85: .line 215
            iinc 8 /* inputSize */ 2
        86: .line 216
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.remaining:()I
            iconst_1
            if_icmpge 90
        87: .line 217
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        88: .line 258
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        89: .line 217
            aload 11
            areturn
        90: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* b3 */
            iload 7 /* b4 */
            iload 5 /* b2 */
            invokevirtual sun.nio.cs.ext.ISO2022_CN$Decoder.cnsDecode:(BBB)C
            istore 9 /* c */
        91: .line 220
            iload 9 /* c */
            ldc 65533
            if_icmpne 95
        92: .line 221
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        93: .line 258
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        94: .line 221
            aload 11
            areturn
        95: .line 222
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            iload 9 /* c */
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
        96: .line 223
            goto 105
        97: .line 224
      StackMap locals:
      StackMap stack:
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        98: .line 258
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        99: .line 224
            aload 11
            areturn
       100: .line 226
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            bipush 14
            if_icmpne 103
       101: .line 227
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
       102: .line 228
            goto 105
      StackMap locals:
      StackMap stack:
       103: iload 4 /* b1 */
            bipush 15
            if_icmpne 105
       104: .line 229
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
       105: .line 231
      StackMap locals:
      StackMap stack:
            iload 3 /* mark */
            iload 8 /* inputSize */
            iadd
            istore 3 /* mark */
       106: .line 232
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 110
       107: .line 233
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
       108: .line 258
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       109: .line 233
            aload 11
            areturn
       110: .line 234
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 4 /* b1 */
       111: .line 235
            iconst_1
            istore 8 /* inputSize */
       112: .line 151
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            bipush 27
            if_icmpeq 11
       113: .line 152
            iload 4 /* b1 */
            bipush 14
            if_icmpeq 11
       114: .line 153
            iload 4 /* b1 */
            bipush 15
            if_icmpeq 11
       115: .line 238
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.remaining:()I
            iconst_1
            if_icmpge 119
       116: .line 239
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
       117: .line 258
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       118: .line 239
            aload 11
            areturn
       119: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
            ifne 123
       120: .line 242
            aload 2 /* dst */
            iload 4 /* b1 */
            sipush 255
            iand
            i2c
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
       121: .line 243
            iload 3 /* mark */
            iload 8 /* inputSize */
            iadd
            istore 3 /* mark */
       122: .line 244
            goto 136
       123: .line 245
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 127
       124: .line 246
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
       125: .line 258
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       126: .line 246
            aload 11
            areturn
       127: .line 247
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 5 /* b2 */
       128: .line 248
            iinc 8 /* inputSize */ 1
       129: .line 249
            aload 0 /* this */
            iload 4 /* b1 */
            iload 5 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
            invokevirtual sun.nio.cs.ext.ISO2022_CN$Decoder.SODecode:(BBB)C
            istore 9 /* c */
       130: .line 250
            iload 9 /* c */
            ldc 65533
            if_icmpne 134
       131: .line 251
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
       132: .line 258
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       133: .line 251
            aload 11
            areturn
       134: .line 252
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            iload 9 /* c */
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
       135: .line 253
            iload 3 /* mark */
            iload 8 /* inputSize */
            iadd
            istore 3 /* mark */
       136: .line 147
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 8
       137: .line 256
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
       138: .line 258
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       139: .line 256
            aload 11
            areturn
       140: .line 257
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10
       141: .line 258
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       142: .line 259
            aload 10
            athrow
        end local 9 // char c
        end local 8 // int inputSize
        end local 7 // byte b4
        end local 6 // byte b3
        end local 5 // byte b2
        end local 4 // byte b1
        end local 3 // int mark
        end local 2 // java.nio.CharBuffer dst
        end local 1 // java.nio.ByteBuffer src
        end local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0  143     0       this  Lsun/nio/cs/ext/ISO2022_CN$Decoder;
            0  143     1        src  Ljava/nio/ByteBuffer;
            0  143     2        dst  Ljava/nio/CharBuffer;
            1  143     3       mark  I
            2  143     4         b1  B
            3  143     5         b2  B
            4  143     6         b3  B
            5  143     7         b4  B
            6  143     8  inputSize  I
            7  143     9          c  C
      Exception table:
        from    to  target  type
           7    15     140  any
          17    21     140  any
          23    26     140  any
          28    32     140  any
          34    40     140  any
          42    51     140  any
          53    56     140  any
          58    62     140  any
          64    67     140  any
          69    73     140  any
          75    76     140  any
          78    81     140  any
          83    88     140  any
          90    93     140  any
          95    98     140  any
         100   108     140  any
         110   117     140  any
         119   125     140  any
         127   132     140  any
         134   138     140  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  private java.nio.charset.CoderResult decodeArrayLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=17, args_size=3
        start local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 265
            iconst_0
            istore 3 /* inputSize */
        start local 3 // int inputSize
         1: .line 266
            iconst_0
            istore 4 /* b1 */
        start local 4 // byte b1
         2: iconst_0
            istore 5 /* b2 */
        start local 5 // byte b2
         3: iconst_0
            istore 6 /* b3 */
        start local 6 // byte b3
         4: iconst_0
            istore 7 /* b4 */
        start local 7 // byte b4
         5: .line 267
            ldc 65533
            istore 8 /* c */
        start local 8 // char c
         6: .line 269
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 9 /* sa */
        start local 9 // byte[] sa
         7: .line 270
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            iadd
            istore 10 /* sp */
        start local 10 // int sp
         8: .line 271
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.limit:()I
            iadd
            istore 11 /* sl */
        start local 11 // int sl
         9: .line 272
            getstatic sun.nio.cs.ext.ISO2022_CN$Decoder.$assertionsDisabled:Z
            ifne 10
            iload 10 /* sp */
            iload 11 /* sl */
            if_icmple 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 273
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int int int int byte[] int int
      StackMap stack:
            iload 10 /* sp */
            iload 11 /* sl */
            if_icmpgt 11
            iload 10 /* sp */
            goto 12
      StackMap locals:
      StackMap stack:
        11: iload 11 /* sl */
      StackMap locals:
      StackMap stack: int
        12: istore 10 /* sp */
        13: .line 275
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.array:()[C
            astore 12 /* da */
        start local 12 // char[] da
        14: .line 276
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.position:()I
            iadd
            istore 13 /* dp */
        start local 13 // int dp
        15: .line 277
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.limit:()I
            iadd
            istore 14 /* dl */
        start local 14 // int dl
        16: .line 278
            getstatic sun.nio.cs.ext.ISO2022_CN$Decoder.$assertionsDisabled:Z
            ifne 17
            iload 13 /* dp */
            iload 14 /* dl */
            if_icmple 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 279
      StackMap locals: char[] int int
      StackMap stack:
            iload 13 /* dp */
            iload 14 /* dl */
            if_icmpgt 18
            iload 13 /* dp */
            goto 19
      StackMap locals:
      StackMap stack:
        18: iload 14 /* dl */
      StackMap locals:
      StackMap stack: int
        19: istore 13 /* dp */
        20: .line 282
            goto 165
        21: .line 283
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            baload
            istore 4 /* b1 */
        22: .line 284
            iconst_1
            istore 3 /* inputSize */
        23: .line 286
            goto 141
        24: .line 287
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            bipush 27
            if_icmpne 128
        25: .line 288
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        26: .line 290
            iload 10 /* sp */
            iconst_2
            iadd
            iload 11 /* sl */
            if_icmple 31
        27: .line 291
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
        28: .line 395
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        29: .line 396
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        30: .line 291
            aload 16
            areturn
        31: .line 293
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_1
            iadd
            baload
            istore 5 /* b2 */
        32: .line 294
            iinc 3 /* inputSize */ 1
        33: .line 296
            iload 5 /* b2 */
            bipush -128
            iand
            ifeq 38
        34: .line 297
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        35: .line 395
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        36: .line 396
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        37: .line 297
            aload 16
            areturn
        38: .line 298
      StackMap locals:
      StackMap stack:
            iload 5 /* b2 */
            bipush 36
            if_icmpne 102
        39: .line 299
            iload 10 /* sp */
            iconst_3
            iadd
            iload 11 /* sl */
            if_icmple 44
        40: .line 300
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
        41: .line 395
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        42: .line 396
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        43: .line 300
            aload 16
            areturn
        44: .line 302
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_2
            iadd
            baload
            istore 6 /* b3 */
        45: .line 303
            iinc 3 /* inputSize */ 1
        46: .line 305
            iload 6 /* b3 */
            bipush -128
            iand
            ifeq 51
        47: .line 306
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        48: .line 395
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        49: .line 396
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        50: .line 306
            aload 16
            areturn
        51: .line 307
      StackMap locals:
      StackMap stack:
            iload 6 /* b3 */
            bipush 65
            if_icmpne 54
        52: .line 313
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        53: .line 314
            goto 133
      StackMap locals:
      StackMap stack:
        54: iload 6 /* b3 */
            bipush 41
            if_icmpne 72
        55: .line 315
            iload 10 /* sp */
            iconst_4
            iadd
            iload 11 /* sl */
            if_icmple 60
        56: .line 316
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
        57: .line 395
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        58: .line 396
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        59: .line 316
            aload 16
            areturn
        60: .line 317
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_3
            iadd
            baload
            istore 7 /* b4 */
        61: .line 318
            iinc 3 /* inputSize */ 1
        62: .line 320
            iload 7 /* b4 */
            bipush 65
            if_icmpne 65
        63: .line 321
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        64: .line 322
            goto 133
      StackMap locals:
      StackMap stack:
        65: iload 7 /* b4 */
            bipush 71
            if_icmpne 68
        66: .line 323
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        67: .line 324
            goto 133
        68: .line 325
      StackMap locals:
      StackMap stack:
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        69: .line 395
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        70: .line 396
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        71: .line 325
            aload 16
            areturn
        72: .line 327
      StackMap locals:
      StackMap stack:
            iload 6 /* b3 */
            bipush 42
            if_icmpne 85
        73: .line 328
            iload 10 /* sp */
            iconst_4
            iadd
            iload 11 /* sl */
            if_icmple 78
        74: .line 329
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
        75: .line 395
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        76: .line 396
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        77: .line 329
            aload 16
            areturn
        78: .line 330
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_3
            iadd
            baload
            istore 7 /* b4 */
        79: .line 331
            iinc 3 /* inputSize */ 1
        80: .line 332
            iload 7 /* b4 */
            bipush 72
            if_icmpeq 133
        81: .line 333
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        82: .line 395
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        83: .line 396
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        84: .line 333
            aload 16
            areturn
        85: .line 335
      StackMap locals:
      StackMap stack:
            iload 6 /* b3 */
            bipush 43
            if_icmpne 98
        86: .line 336
            iload 10 /* sp */
            iconst_4
            iadd
            iload 11 /* sl */
            if_icmple 91
        87: .line 337
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
        88: .line 395
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        89: .line 396
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        90: .line 337
            aload 16
            areturn
        91: .line 338
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_3
            iadd
            baload
            istore 7 /* b4 */
        92: .line 339
            iinc 3 /* inputSize */ 1
        93: .line 340
            iload 7 /* b4 */
            bipush 73
            if_icmpeq 133
        94: .line 341
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        95: .line 395
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        96: .line 396
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        97: .line 341
            aload 16
            areturn
        98: .line 344
      StackMap locals:
      StackMap stack:
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        99: .line 395
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       100: .line 396
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
       101: .line 344
            aload 16
            areturn
       102: .line 346
      StackMap locals:
      StackMap stack:
            iload 5 /* b2 */
            bipush 78
            if_icmpeq 103
            iload 5 /* b2 */
            bipush 79
            if_icmpne 124
       103: .line 347
      StackMap locals:
      StackMap stack:
            iload 10 /* sp */
            iconst_4
            iadd
            iload 11 /* sl */
            if_icmple 108
       104: .line 348
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
       105: .line 395
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       106: .line 396
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
       107: .line 348
            aload 16
            areturn
       108: .line 350
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_2
            iadd
            baload
            istore 6 /* b3 */
       109: .line 351
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_3
            iadd
            baload
            istore 7 /* b4 */
       110: .line 352
            iload 14 /* dl */
            iload 13 /* dp */
            isub
            iconst_1
            if_icmpge 115
       111: .line 353
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
       112: .line 395
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       113: .line 396
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
       114: .line 353
            aload 16
            areturn
       115: .line 355
      StackMap locals:
      StackMap stack:
            iinc 3 /* inputSize */ 2
       116: .line 356
            aload 0 /* this */
            iload 6 /* b3 */
            iload 7 /* b4 */
            iload 5 /* b2 */
            invokevirtual sun.nio.cs.ext.ISO2022_CN$Decoder.cnsDecode:(BBB)C
            istore 8 /* c */
       117: .line 357
            iload 8 /* c */
            ldc 65533
            if_icmpne 122
       118: .line 358
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
       119: .line 395
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       120: .line 396
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
       121: .line 358
            aload 16
            areturn
       122: .line 359
      StackMap locals:
      StackMap stack:
            aload 12 /* da */
            iload 13 /* dp */
            iinc 13 /* dp */ 1
            iload 8 /* c */
            castore
       123: .line 360
            goto 133
       124: .line 361
      StackMap locals:
      StackMap stack:
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
       125: .line 395
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       126: .line 396
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
       127: .line 361
            aload 16
            areturn
       128: .line 363
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            bipush 14
            if_icmpne 131
       129: .line 364
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
       130: .line 365
            goto 133
      StackMap locals:
      StackMap stack:
       131: iload 4 /* b1 */
            bipush 15
            if_icmpne 133
       132: .line 366
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
       133: .line 368
      StackMap locals:
      StackMap stack:
            iload 10 /* sp */
            iload 3 /* inputSize */
            iadd
            istore 10 /* sp */
       134: .line 369
            iload 10 /* sp */
            iconst_1
            iadd
            iload 11 /* sl */
            if_icmple 139
       135: .line 370
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
       136: .line 395
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       137: .line 396
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
       138: .line 370
            aload 16
            areturn
       139: .line 371
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            baload
            istore 4 /* b1 */
       140: .line 372
            iconst_1
            istore 3 /* inputSize */
       141: .line 286
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            bipush 27
            if_icmpeq 24
            iload 4 /* b1 */
            bipush 14
            if_icmpeq 24
            iload 4 /* b1 */
            bipush 15
            if_icmpeq 24
       142: .line 375
            iload 14 /* dl */
            iload 13 /* dp */
            isub
            iconst_1
            if_icmpge 147
       143: .line 376
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
       144: .line 395
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       145: .line 396
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
       146: .line 376
            aload 16
            areturn
       147: .line 379
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
            ifne 150
       148: .line 380
            aload 12 /* da */
            iload 13 /* dp */
            iinc 13 /* dp */ 1
            iload 4 /* b1 */
            sipush 255
            iand
            i2c
            castore
       149: .line 381
            goto 164
       150: .line 382
      StackMap locals:
      StackMap stack:
            iload 10 /* sp */
            iconst_2
            iadd
            iload 11 /* sl */
            if_icmple 155
       151: .line 383
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
       152: .line 395
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       153: .line 396
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
       154: .line 383
            aload 16
            areturn
       155: .line 384
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_1
            iadd
            baload
            istore 5 /* b2 */
       156: .line 385
            iinc 3 /* inputSize */ 1
       157: .line 386
            aload 0 /* this */
            iload 4 /* b1 */
            iload 5 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
            invokevirtual sun.nio.cs.ext.ISO2022_CN$Decoder.SODecode:(BBB)C
            istore 8 /* c */
       158: .line 387
            iload 8 /* c */
            ldc 65533
            if_icmpne 163
       159: .line 388
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
       160: .line 395
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       161: .line 396
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
       162: .line 388
            aload 16
            areturn
       163: .line 389
      StackMap locals:
      StackMap stack:
            aload 12 /* da */
            iload 13 /* dp */
            iinc 13 /* dp */ 1
            iload 8 /* c */
            castore
       164: .line 391
      StackMap locals:
      StackMap stack:
            iload 10 /* sp */
            iload 3 /* inputSize */
            iadd
            istore 10 /* sp */
       165: .line 282
      StackMap locals:
      StackMap stack:
            iload 10 /* sp */
            iload 11 /* sl */
            if_icmplt 21
       166: .line 393
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
       167: .line 395
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       168: .line 396
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
       169: .line 393
            aload 16
            areturn
       170: .line 394
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 15
       171: .line 395
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       172: .line 396
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
       173: .line 397
            aload 15
            athrow
        end local 14 // int dl
        end local 13 // int dp
        end local 12 // char[] da
        end local 11 // int sl
        end local 10 // int sp
        end local 9 // byte[] sa
        end local 8 // char c
        end local 7 // byte b4
        end local 6 // byte b3
        end local 5 // byte b2
        end local 4 // byte b1
        end local 3 // int inputSize
        end local 2 // java.nio.CharBuffer dst
        end local 1 // java.nio.ByteBuffer src
        end local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0  174     0       this  Lsun/nio/cs/ext/ISO2022_CN$Decoder;
            0  174     1        src  Ljava/nio/ByteBuffer;
            0  174     2        dst  Ljava/nio/CharBuffer;
            1  174     3  inputSize  I
            2  174     4         b1  B
            3  174     5         b2  B
            4  174     6         b3  B
            5  174     7         b4  B
            6  174     8          c  C
            7  174     9         sa  [B
            8  174    10         sp  I
            9  174    11         sl  I
           14  174    12         da  [C
           15  174    13         dp  I
           16  174    14         dl  I
      Exception table:
        from    to  target  type
          20    28     170  any
          31    35     170  any
          38    41     170  any
          44    48     170  any
          51    57     170  any
          60    69     170  any
          72    75     170  any
          78    82     170  any
          85    88     170  any
          91    95     170  any
          98    99     170  any
         102   105     170  any
         108   112     170  any
         115   119     170  any
         122   125     170  any
         128   136     170  any
         139   144     170  any
         147   152     170  any
         155   160     170  any
         163   167     170  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  protected java.nio.charset.CoderResult decodeLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 403
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 2
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.hasArray:()Z
            ifeq 2
         1: .line 404
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.ISO2022_CN$Decoder.decodeArrayLoop:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
            areturn
         2: .line 406
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.ISO2022_CN$Decoder.decodeBufferLoop:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
            areturn
        end local 2 // java.nio.CharBuffer dst
        end local 1 // java.nio.ByteBuffer src
        end local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/ext/ISO2022_CN$Decoder;
            0    3     1   src  Ljava/nio/ByteBuffer;
            0    3     2   dst  Ljava/nio/CharBuffer;
    MethodParameters:
      Name  Flags
      src   
      dst   
}
SourceFile: "ISO2022_CN.java"
NestHost: sun.nio.cs.ext.ISO2022_CN
InnerClasses:
  public Decoder = sun.nio.cs.ext.DoubleByte$Decoder of sun.nio.cs.ext.DoubleByte
  public Decoder = sun.nio.cs.ext.EUC_TW$Decoder of sun.nio.cs.ext.EUC_TW
  Decoder = sun.nio.cs.ext.ISO2022_CN$Decoder of sun.nio.cs.ext.ISO2022_CN