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.DoubleByte$Decoder gb2312Decoder;
    descriptor: Lsun/nio/cs/DoubleByte$Decoder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final sun.nio.cs.EUC_TW$Decoder cnsDecoder;
    descriptor: Lsun/nio/cs/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 85
            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 89
            new sun.nio.cs.EUC_CN
            dup
            invokespecial sun.nio.cs.EUC_CN.<init>:()V
            putstatic sun.nio.cs.ext.ISO2022_CN$Decoder.gb2312:Ljava/nio/charset/Charset;
         4: .line 90
            new sun.nio.cs.EUC_TW
            dup
            invokespecial sun.nio.cs.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 95
            aload 0 /* this */
            aload 1 /* cs */
            fconst_1
            fconst_1
            invokespecial java.nio.charset.CharsetDecoder.<init>:(Ljava/nio/charset/Charset;FF)V
         1: .line 96
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
         2: .line 97
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
         3: .line 98
            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.DoubleByte$Decoder
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.gb2312Decoder:Lsun/nio/cs/DoubleByte$Decoder;
         4: .line 99
            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.EUC_TW$Decoder
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.cnsDecoder:Lsun/nio/cs/EUC_TW$Decoder;
         5: .line 100
            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 103
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
         1: .line 104
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
         2: .line 105
            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 108
            iload 1 /* byte1 */
            bipush -128
            ior
            i2b
            istore 1 /* byte1 */
         1: .line 109
            iload 2 /* byte2 */
            bipush -128
            ior
            i2b
            istore 2 /* byte2 */
         2: .line 110
            iconst_0
            istore 4 /* p */
        start local 4 // int p
         3: .line 111
            iload 3 /* SS */
            bipush 78
            if_icmpne 5
         4: .line 112
            iconst_1
            istore 4 /* p */
            goto 8
         5: .line 113
      StackMap locals: int
      StackMap stack:
            iload 3 /* SS */
            bipush 79
            if_icmpne 7
         6: .line 114
            iconst_2
            istore 4 /* p */
            goto 8
         7: .line 116
      StackMap locals:
      StackMap stack:
            ldc 65533
            ireturn
         8: .line 117
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.cnsDecoder:Lsun/nio/cs/EUC_TW$Decoder;
            iload 1 /* byte1 */
            sipush 255
            iand
         9: .line 118
            iload 2 /* byte2 */
            sipush 255
            iand
        10: .line 119
            iload 4 /* p */
        11: .line 117
            invokevirtual sun.nio.cs.EUC_TW$Decoder.toUnicode:(III)[C
            astore 5 /* ret */
        start local 5 // char[] ret
        12: .line 120
            aload 5 /* ret */
            ifnull 13
            aload 5 /* ret */
            arraylength
            iconst_2
            if_icmpne 14
        13: .line 121
      StackMap locals: char[]
      StackMap stack:
            ldc 65533
            ireturn
        14: .line 122
      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 126
            iload 1 /* byte1 */
            bipush -128
            ior
            i2b
            istore 1 /* byte1 */
         1: .line 127
            iload 2 /* byte2 */
            bipush -128
            ior
            i2b
            istore 2 /* byte2 */
         2: .line 128
            iload 3 /* SOD */
            ifne 6
         3: .line 129
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.gb2312Decoder:Lsun/nio/cs/DoubleByte$Decoder;
            iload 1 /* byte1 */
            sipush 255
            iand
         4: .line 130
            iload 2 /* byte2 */
            sipush 255
            iand
         5: .line 129
            invokevirtual sun.nio.cs.DoubleByte$Decoder.decodeDouble:(II)C
            ireturn
         6: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.cnsDecoder:Lsun/nio/cs/EUC_TW$Decoder;
            iload 1 /* byte1 */
            sipush 255
            iand
         7: .line 133
            iload 2 /* byte2 */
            sipush 255
            iand
         8: .line 134
            iconst_0
         9: .line 132
            invokevirtual sun.nio.cs.EUC_TW$Decoder.toUnicode:(III)[C
            astore 4 /* ret */
        start local 4 // char[] ret
        10: .line 135
            aload 4 /* ret */
            ifnonnull 12
        11: .line 136
            ldc 65533
            ireturn
        12: .line 137
      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 144
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 3 /* mark */
        start local 3 // int mark
         1: .line 145
            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 146
            iconst_0
            istore 8 /* inputSize */
        start local 8 // int inputSize
         6: .line 147
            ldc 65533
            istore 9 /* c */
        start local 9 // char c
         7: .line 149
            goto 136
         8: .line 150
      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 151
            iconst_1
            istore 8 /* inputSize */
        10: .line 153
            goto 112
        11: .line 156
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            bipush 27
            if_icmpne 100
        12: .line 157
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        13: .line 159
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 17
        14: .line 160
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        15: .line 260
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        16: .line 160
            aload 11
            areturn
        17: .line 162
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 5 /* b2 */
        18: .line 163
            iinc 8 /* inputSize */ 1
        19: .line 165
            iload 5 /* b2 */
            bipush -128
            iand
            ifeq 23
        20: .line 166
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        21: .line 260
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        22: .line 166
            aload 11
            areturn
        23: .line 168
      StackMap locals:
      StackMap stack:
            iload 5 /* b2 */
            bipush 36
            if_icmpne 78
        24: .line 169
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 28
        25: .line 170
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        26: .line 260
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        27: .line 170
            aload 11
            areturn
        28: .line 172
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 6 /* b3 */
        29: .line 173
            iinc 8 /* inputSize */ 1
        30: .line 175
            iload 6 /* b3 */
            bipush -128
            iand
            ifeq 34
        31: .line 176
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        32: .line 260
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        33: .line 176
            aload 11
            areturn
        34: .line 177
      StackMap locals:
      StackMap stack:
            iload 6 /* b3 */
            bipush 65
            if_icmpne 37
        35: .line 178
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        36: .line 179
            goto 105
      StackMap locals:
      StackMap stack:
        37: iload 6 /* b3 */
            bipush 41
            if_icmpne 53
        38: .line 180
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 42
        39: .line 181
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        40: .line 260
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        41: .line 181
            aload 11
            areturn
        42: .line 182
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* b4 */
        43: .line 183
            iinc 8 /* inputSize */ 1
        44: .line 184
            iload 7 /* b4 */
            bipush 65
            if_icmpne 47
        45: .line 185
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        46: .line 186
            goto 105
      StackMap locals:
      StackMap stack:
        47: iload 7 /* b4 */
            bipush 71
            if_icmpne 50
        48: .line 187
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        49: .line 188
            goto 105
        50: .line 189
      StackMap locals:
      StackMap stack:
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        51: .line 260
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        52: .line 189
            aload 11
            areturn
        53: .line 191
      StackMap locals:
      StackMap stack:
            iload 6 /* b3 */
            bipush 42
            if_icmpne 64
        54: .line 192
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 58
        55: .line 193
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        56: .line 260
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        57: .line 193
            aload 11
            areturn
        58: .line 194
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* b4 */
        59: .line 195
            iinc 8 /* inputSize */ 1
        60: .line 196
            iload 7 /* b4 */
            bipush 72
            if_icmpeq 105
        61: .line 198
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        62: .line 260
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        63: .line 198
            aload 11
            areturn
        64: .line 200
      StackMap locals:
      StackMap stack:
            iload 6 /* b3 */
            bipush 43
            if_icmpne 75
        65: .line 201
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 69
        66: .line 202
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        67: .line 260
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        68: .line 202
            aload 11
            areturn
        69: .line 203
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* b4 */
        70: .line 204
            iinc 8 /* inputSize */ 1
        71: .line 205
            iload 7 /* b4 */
            bipush 73
            if_icmpeq 105
        72: .line 207
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        73: .line 260
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        74: .line 207
            aload 11
            areturn
        75: .line 210
      StackMap locals:
      StackMap stack:
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        76: .line 260
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        77: .line 210
            aload 11
            areturn
        78: .line 212
      StackMap locals:
      StackMap stack:
            iload 5 /* b2 */
            bipush 78
            if_icmpeq 79
            iload 5 /* b2 */
            bipush 79
            if_icmpne 97
        79: .line 213
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            if_icmpge 83
        80: .line 214
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        81: .line 260
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        82: .line 214
            aload 11
            areturn
        83: .line 215
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 6 /* b3 */
        84: .line 216
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* b4 */
        85: .line 217
            iinc 8 /* inputSize */ 2
        86: .line 218
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.remaining:()I
            iconst_1
            if_icmpge 90
        87: .line 219
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        88: .line 260
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        89: .line 219
            aload 11
            areturn
        90: .line 221
      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 222
            iload 9 /* c */
            ldc 65533
            if_icmpne 95
        92: .line 223
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        93: .line 260
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        94: .line 223
            aload 11
            areturn
        95: .line 224
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            iload 9 /* c */
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
        96: .line 225
            goto 105
        97: .line 226
      StackMap locals:
      StackMap stack:
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        98: .line 260
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        99: .line 226
            aload 11
            areturn
       100: .line 228
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            bipush 14
            if_icmpne 103
       101: .line 229
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
       102: .line 230
            goto 105
      StackMap locals:
      StackMap stack:
       103: iload 4 /* b1 */
            bipush 15
            if_icmpne 105
       104: .line 231
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
       105: .line 233
      StackMap locals:
      StackMap stack:
            iload 3 /* mark */
            iload 8 /* inputSize */
            iadd
            istore 3 /* mark */
       106: .line 234
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 110
       107: .line 235
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
       108: .line 260
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       109: .line 235
            aload 11
            areturn
       110: .line 236
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 4 /* b1 */
       111: .line 237
            iconst_1
            istore 8 /* inputSize */
       112: .line 153
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            bipush 27
            if_icmpeq 11
       113: .line 154
            iload 4 /* b1 */
            bipush 14
            if_icmpeq 11
       114: .line 155
            iload 4 /* b1 */
            bipush 15
            if_icmpeq 11
       115: .line 240
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.remaining:()I
            iconst_1
            if_icmpge 119
       116: .line 241
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
       117: .line 260
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       118: .line 241
            aload 11
            areturn
       119: .line 243
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
            ifne 123
       120: .line 244
            aload 2 /* dst */
            iload 4 /* b1 */
            sipush 255
            iand
            i2c
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
       121: .line 245
            iload 3 /* mark */
            iload 8 /* inputSize */
            iadd
            istore 3 /* mark */
       122: .line 246
            goto 136
       123: .line 247
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 127
       124: .line 248
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
       125: .line 260
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       126: .line 248
            aload 11
            areturn
       127: .line 249
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 5 /* b2 */
       128: .line 250
            iinc 8 /* inputSize */ 1
       129: .line 251
            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 252
            iload 9 /* c */
            ldc 65533
            if_icmpne 134
       131: .line 253
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
       132: .line 260
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       133: .line 253
            aload 11
            areturn
       134: .line 254
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            iload 9 /* c */
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
       135: .line 255
            iload 3 /* mark */
            iload 8 /* inputSize */
            iadd
            istore 3 /* mark */
       136: .line 149
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 8
       137: .line 258
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
       138: .line 260
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       139: .line 258
            aload 11
            areturn
       140: .line 259
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10
       141: .line 260
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       142: .line 261
            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 267
            iconst_0
            istore 3 /* inputSize */
        start local 3 // int inputSize
         1: .line 268
            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 269
            ldc 65533
            istore 8 /* c */
        start local 8 // char c
         6: .line 271
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 9 /* sa */
        start local 9 // byte[] sa
         7: .line 272
            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 273
            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 274
            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 275
      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 277
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.array:()[C
            astore 12 /* da */
        start local 12 // char[] da
        14: .line 278
            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 279
            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 280
            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 281
      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 284
            goto 165
        21: .line 285
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            baload
            istore 4 /* b1 */
        22: .line 286
            iconst_1
            istore 3 /* inputSize */
        23: .line 288
            goto 141
        24: .line 289
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            bipush 27
            if_icmpne 128
        25: .line 290
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        26: .line 292
            iload 10 /* sp */
            iconst_2
            iadd
            iload 11 /* sl */
            if_icmple 31
        27: .line 293
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
        28: .line 397
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        29: .line 398
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        30: .line 293
            aload 16
            areturn
        31: .line 295
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_1
            iadd
            baload
            istore 5 /* b2 */
        32: .line 296
            iinc 3 /* inputSize */ 1
        33: .line 298
            iload 5 /* b2 */
            bipush -128
            iand
            ifeq 38
        34: .line 299
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        35: .line 397
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        36: .line 398
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        37: .line 299
            aload 16
            areturn
        38: .line 300
      StackMap locals:
      StackMap stack:
            iload 5 /* b2 */
            bipush 36
            if_icmpne 102
        39: .line 301
            iload 10 /* sp */
            iconst_3
            iadd
            iload 11 /* sl */
            if_icmple 44
        40: .line 302
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
        41: .line 397
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        42: .line 398
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        43: .line 302
            aload 16
            areturn
        44: .line 304
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_2
            iadd
            baload
            istore 6 /* b3 */
        45: .line 305
            iinc 3 /* inputSize */ 1
        46: .line 307
            iload 6 /* b3 */
            bipush -128
            iand
            ifeq 51
        47: .line 308
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        48: .line 397
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        49: .line 398
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        50: .line 308
            aload 16
            areturn
        51: .line 309
      StackMap locals:
      StackMap stack:
            iload 6 /* b3 */
            bipush 65
            if_icmpne 54
        52: .line 315
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        53: .line 316
            goto 133
      StackMap locals:
      StackMap stack:
        54: iload 6 /* b3 */
            bipush 41
            if_icmpne 72
        55: .line 317
            iload 10 /* sp */
            iconst_4
            iadd
            iload 11 /* sl */
            if_icmple 60
        56: .line 318
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
        57: .line 397
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        58: .line 398
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        59: .line 318
            aload 16
            areturn
        60: .line 319
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_3
            iadd
            baload
            istore 7 /* b4 */
        61: .line 320
            iinc 3 /* inputSize */ 1
        62: .line 322
            iload 7 /* b4 */
            bipush 65
            if_icmpne 65
        63: .line 323
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        64: .line 324
            goto 133
      StackMap locals:
      StackMap stack:
        65: iload 7 /* b4 */
            bipush 71
            if_icmpne 68
        66: .line 325
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        67: .line 326
            goto 133
        68: .line 327
      StackMap locals:
      StackMap stack:
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        69: .line 397
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        70: .line 398
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        71: .line 327
            aload 16
            areturn
        72: .line 329
      StackMap locals:
      StackMap stack:
            iload 6 /* b3 */
            bipush 42
            if_icmpne 85
        73: .line 330
            iload 10 /* sp */
            iconst_4
            iadd
            iload 11 /* sl */
            if_icmple 78
        74: .line 331
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
        75: .line 397
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        76: .line 398
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        77: .line 331
            aload 16
            areturn
        78: .line 332
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_3
            iadd
            baload
            istore 7 /* b4 */
        79: .line 333
            iinc 3 /* inputSize */ 1
        80: .line 334
            iload 7 /* b4 */
            bipush 72
            if_icmpeq 133
        81: .line 335
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        82: .line 397
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        83: .line 398
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        84: .line 335
            aload 16
            areturn
        85: .line 337
      StackMap locals:
      StackMap stack:
            iload 6 /* b3 */
            bipush 43
            if_icmpne 98
        86: .line 338
            iload 10 /* sp */
            iconst_4
            iadd
            iload 11 /* sl */
            if_icmple 91
        87: .line 339
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
        88: .line 397
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        89: .line 398
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        90: .line 339
            aload 16
            areturn
        91: .line 340
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_3
            iadd
            baload
            istore 7 /* b4 */
        92: .line 341
            iinc 3 /* inputSize */ 1
        93: .line 342
            iload 7 /* b4 */
            bipush 73
            if_icmpeq 133
        94: .line 343
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        95: .line 397
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        96: .line 398
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        97: .line 343
            aload 16
            areturn
        98: .line 346
      StackMap locals:
      StackMap stack:
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        99: .line 397
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       100: .line 398
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
       101: .line 346
            aload 16
            areturn
       102: .line 348
      StackMap locals:
      StackMap stack:
            iload 5 /* b2 */
            bipush 78
            if_icmpeq 103
            iload 5 /* b2 */
            bipush 79
            if_icmpne 124
       103: .line 349
      StackMap locals:
      StackMap stack:
            iload 10 /* sp */
            iconst_4
            iadd
            iload 11 /* sl */
            if_icmple 108
       104: .line 350
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
       105: .line 397
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       106: .line 398
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
       107: .line 350
            aload 16
            areturn
       108: .line 352
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_2
            iadd
            baload
            istore 6 /* b3 */
       109: .line 353
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_3
            iadd
            baload
            istore 7 /* b4 */
       110: .line 354
            iload 14 /* dl */
            iload 13 /* dp */
            isub
            iconst_1
            if_icmpge 115
       111: .line 355
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
       112: .line 397
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       113: .line 398
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
       114: .line 355
            aload 16
            areturn
       115: .line 357
      StackMap locals:
      StackMap stack:
            iinc 3 /* inputSize */ 2
       116: .line 358
            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 359
            iload 8 /* c */
            ldc 65533
            if_icmpne 122
       118: .line 360
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
       119: .line 397
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       120: .line 398
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
       121: .line 360
            aload 16
            areturn
       122: .line 361
      StackMap locals:
      StackMap stack:
            aload 12 /* da */
            iload 13 /* dp */
            iinc 13 /* dp */ 1
            iload 8 /* c */
            castore
       123: .line 362
            goto 133
       124: .line 363
      StackMap locals:
      StackMap stack:
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
       125: .line 397
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       126: .line 398
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
       127: .line 363
            aload 16
            areturn
       128: .line 365
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            bipush 14
            if_icmpne 131
       129: .line 366
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
       130: .line 367
            goto 133
      StackMap locals:
      StackMap stack:
       131: iload 4 /* b1 */
            bipush 15
            if_icmpne 133
       132: .line 368
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
       133: .line 370
      StackMap locals:
      StackMap stack:
            iload 10 /* sp */
            iload 3 /* inputSize */
            iadd
            istore 10 /* sp */
       134: .line 371
            iload 10 /* sp */
            iconst_1
            iadd
            iload 11 /* sl */
            if_icmple 139
       135: .line 372
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
       136: .line 397
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       137: .line 398
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
       138: .line 372
            aload 16
            areturn
       139: .line 373
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            baload
            istore 4 /* b1 */
       140: .line 374
            iconst_1
            istore 3 /* inputSize */
       141: .line 288
      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 377
            iload 14 /* dl */
            iload 13 /* dp */
            isub
            iconst_1
            if_icmpge 147
       143: .line 378
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
       144: .line 397
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       145: .line 398
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
       146: .line 378
            aload 16
            areturn
       147: .line 381
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
            ifne 150
       148: .line 382
            aload 12 /* da */
            iload 13 /* dp */
            iinc 13 /* dp */ 1
            iload 4 /* b1 */
            sipush 255
            iand
            i2c
            castore
       149: .line 383
            goto 164
       150: .line 384
      StackMap locals:
      StackMap stack:
            iload 10 /* sp */
            iconst_2
            iadd
            iload 11 /* sl */
            if_icmple 155
       151: .line 385
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
       152: .line 397
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       153: .line 398
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
       154: .line 385
            aload 16
            areturn
       155: .line 386
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_1
            iadd
            baload
            istore 5 /* b2 */
       156: .line 387
            iinc 3 /* inputSize */ 1
       157: .line 388
            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 389
            iload 8 /* c */
            ldc 65533
            if_icmpne 163
       159: .line 390
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
       160: .line 397
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       161: .line 398
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
       162: .line 390
            aload 16
            areturn
       163: .line 391
      StackMap locals:
      StackMap stack:
            aload 12 /* da */
            iload 13 /* dp */
            iinc 13 /* dp */ 1
            iload 8 /* c */
            castore
       164: .line 393
      StackMap locals:
      StackMap stack:
            iload 10 /* sp */
            iload 3 /* inputSize */
            iadd
            istore 10 /* sp */
       165: .line 284
      StackMap locals:
      StackMap stack:
            iload 10 /* sp */
            iload 11 /* sl */
            if_icmplt 21
       166: .line 395
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
       167: .line 397
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       168: .line 398
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
       169: .line 395
            aload 16
            areturn
       170: .line 396
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 15
       171: .line 397
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       172: .line 398
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
       173: .line 399
            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 405
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 2
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.hasArray:()Z
            ifeq 2
         1: .line 406
            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 408
      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.DoubleByte$Decoder of sun.nio.cs.DoubleByte
  public Decoder = sun.nio.cs.EUC_TW$Decoder of sun.nio.cs.EUC_TW
  Decoder = sun.nio.cs.ext.ISO2022_CN$Decoder of sun.nio.cs.ext.ISO2022_CN