public class com.sun.imageio.plugins.png.PNGImageReader extends javax.imageio.ImageReader
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.imageio.plugins.png.PNGImageReader
  super_class: javax.imageio.ImageReader
{
  static final int IHDR_TYPE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1229472850

  static final int PLTE_TYPE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1347179589

  static final int IDAT_TYPE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1229209940

  static final int IEND_TYPE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1229278788

  static final int bKGD_TYPE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1649100612

  static final int cHRM_TYPE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1665684045

  static final int gAMA_TYPE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1732332865

  static final int hIST_TYPE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1749635924

  static final int iCCP_TYPE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1766015824

  static final int iTXt_TYPE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1767135348

  static final int pHYs_TYPE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1883789683

  static final int sBIT_TYPE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1933723988

  static final int sPLT_TYPE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1934642260

  static final int sRGB_TYPE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1934772034

  static final int tEXt_TYPE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1950701684

  static final int tIME_TYPE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1950960965

  static final int tRNS_TYPE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1951551059

  static final int zTXt_TYPE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2052348020

  static final int PNG_COLOR_GRAY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final int PNG_COLOR_RGB;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final int PNG_COLOR_PALETTE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  static final int PNG_COLOR_GRAY_ALPHA;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final int PNG_COLOR_RGB_ALPHA;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  static final int[] inputBandsForColorType;
    descriptor: [I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final int PNG_FILTER_NONE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final int PNG_FILTER_SUB;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int PNG_FILTER_UP;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final int PNG_FILTER_AVERAGE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  static final int PNG_FILTER_PAETH;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final int[] adam7XOffset;
    descriptor: [I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final int[] adam7YOffset;
    descriptor: [I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final int[] adam7XSubsampling;
    descriptor: [I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final int[] adam7YSubsampling;
    descriptor: [I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static final boolean debug;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  javax.imageio.stream.ImageInputStream stream;
    descriptor: Ljavax/imageio/stream/ImageInputStream;
    flags: (0x0000) 

  boolean gotHeader;
    descriptor: Z
    flags: (0x0000) 

  boolean gotMetadata;
    descriptor: Z
    flags: (0x0000) 

  javax.imageio.ImageReadParam lastParam;
    descriptor: Ljavax/imageio/ImageReadParam;
    flags: (0x0000) 

  long imageStartPosition;
    descriptor: J
    flags: (0x0000) 

  java.awt.Rectangle sourceRegion;
    descriptor: Ljava/awt/Rectangle;
    flags: (0x0000) 

  int sourceXSubsampling;
    descriptor: I
    flags: (0x0000) 

  int sourceYSubsampling;
    descriptor: I
    flags: (0x0000) 

  int sourceMinProgressivePass;
    descriptor: I
    flags: (0x0000) 

  int sourceMaxProgressivePass;
    descriptor: I
    flags: (0x0000) 

  int[] sourceBands;
    descriptor: [I
    flags: (0x0000) 

  int[] destinationBands;
    descriptor: [I
    flags: (0x0000) 

  java.awt.Point destinationOffset;
    descriptor: Ljava/awt/Point;
    flags: (0x0000) 

  com.sun.imageio.plugins.png.PNGMetadata metadata;
    descriptor: Lcom/sun/imageio/plugins/png/PNGMetadata;
    flags: (0x0000) 

  java.io.DataInputStream pixelStream;
    descriptor: Ljava/io/DataInputStream;
    flags: (0x0000) 

  java.awt.image.BufferedImage theImage;
    descriptor: Ljava/awt/image/BufferedImage;
    flags: (0x0000) 

  int pixelsDone;
    descriptor: I
    flags: (0x0000) 

  int totalPixels;
    descriptor: I
    flags: (0x0000) 

  private static final int[][] bandOffsets;
    descriptor: [[I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 146
            bipush 7
            newarray 10
            dup
            iconst_0
         1: .line 147
            iconst_1
            iastore
            dup
            iconst_1
         2: .line 148
            iconst_m1
            iastore
            dup
            iconst_2
         3: .line 149
            iconst_3
            iastore
            dup
            iconst_3
         4: .line 150
            iconst_1
            iastore
            dup
            iconst_4
         5: .line 151
            iconst_2
            iastore
            dup
            iconst_5
         6: .line 152
            iconst_m1
            iastore
            dup
            bipush 6
         7: .line 153
            iconst_4
            iastore
         8: .line 146
            putstatic com.sun.imageio.plugins.png.PNGImageReader.inputBandsForColorType:[I
         9: .line 162
            bipush 7
            newarray 10
            dup
            iconst_1
            iconst_4
            iastore
            dup
            iconst_3
            iconst_2
            iastore
            dup
            iconst_5
            iconst_1
            iastore
            putstatic com.sun.imageio.plugins.png.PNGImageReader.adam7XOffset:[I
        10: .line 163
            bipush 7
            newarray 10
            dup
            iconst_2
            iconst_4
            iastore
            dup
            iconst_4
            iconst_2
            iastore
            dup
            bipush 6
            iconst_1
            iastore
            putstatic com.sun.imageio.plugins.png.PNGImageReader.adam7YOffset:[I
        11: .line 164
            bipush 8
            newarray 10
            dup
            iconst_0
            bipush 8
            iastore
            dup
            iconst_1
            bipush 8
            iastore
            dup
            iconst_2
            iconst_4
            iastore
            dup
            iconst_3
            iconst_4
            iastore
            dup
            iconst_4
            iconst_2
            iastore
            dup
            iconst_5
            iconst_2
            iastore
            dup
            bipush 6
            iconst_1
            iastore
            dup
            bipush 7
            iconst_1
            iastore
            putstatic com.sun.imageio.plugins.png.PNGImageReader.adam7XSubsampling:[I
        12: .line 165
            bipush 8
            newarray 10
            dup
            iconst_0
            bipush 8
            iastore
            dup
            iconst_1
            bipush 8
            iastore
            dup
            iconst_2
            bipush 8
            iastore
            dup
            iconst_3
            iconst_4
            iastore
            dup
            iconst_4
            iconst_4
            iastore
            dup
            iconst_5
            iconst_2
            iastore
            dup
            bipush 6
            iconst_2
            iastore
            dup
            bipush 7
            iconst_1
            iastore
            putstatic com.sun.imageio.plugins.png.PNGImageReader.adam7YSubsampling:[I
        13: .line 1004
            iconst_5
            anewarray int[]
            dup
            iconst_1
        14: .line 1006
            iconst_1
            newarray 10
            aastore
            dup
            iconst_2
        15: .line 1007
            iconst_2
            newarray 10
            dup
            iconst_1
            iconst_1
            iastore
            aastore
            dup
            iconst_3
        16: .line 1008
            iconst_3
            newarray 10
            dup
            iconst_1
            iconst_1
            iastore
            dup
            iconst_2
            iconst_2
            iastore
            aastore
            dup
            iconst_4
        17: .line 1009
            iconst_4
            newarray 10
            dup
            iconst_1
            iconst_1
            iastore
            dup
            iconst_2
            iconst_2
            iastore
            dup
            iconst_3
            iconst_3
            iastore
            aastore
        18: .line 1004
            putstatic com.sun.imageio.plugins.png.PNGImageReader.bandOffsets:[[I
        19: .line 1010
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(javax.imageio.spi.ImageReaderSpi);
    descriptor: (Ljavax/imageio/spi/ImageReaderSpi;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // javax.imageio.spi.ImageReaderSpi originatingProvider
         0: .line 200
            aload 0 /* this */
            aload 1 /* originatingProvider */
            invokespecial javax.imageio.ImageReader.<init>:(Ljavax/imageio/spi/ImageReaderSpi;)V
         1: .line 169
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
         2: .line 171
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGImageReader.gotHeader:Z
         3: .line 172
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGImageReader.gotMetadata:Z
         4: .line 174
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageReader.lastParam:Ljavax/imageio/ImageReadParam;
         5: .line 176
            aload 0 /* this */
            ldc -1
            putfield com.sun.imageio.plugins.png.PNGImageReader.imageStartPosition:J
         6: .line 178
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageReader.sourceRegion:Ljava/awt/Rectangle;
         7: .line 179
            aload 0 /* this */
            iconst_m1
            putfield com.sun.imageio.plugins.png.PNGImageReader.sourceXSubsampling:I
         8: .line 180
            aload 0 /* this */
            iconst_m1
            putfield com.sun.imageio.plugins.png.PNGImageReader.sourceYSubsampling:I
         9: .line 181
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGImageReader.sourceMinProgressivePass:I
        10: .line 182
            aload 0 /* this */
            bipush 6
            putfield com.sun.imageio.plugins.png.PNGImageReader.sourceMaxProgressivePass:I
        11: .line 183
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageReader.sourceBands:[I
        12: .line 184
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageReader.destinationBands:[I
        13: .line 185
            aload 0 /* this */
            new java.awt.Point
            dup
            iconst_0
            iconst_0
            invokespecial java.awt.Point.<init>:(II)V
            putfield com.sun.imageio.plugins.png.PNGImageReader.destinationOffset:Ljava/awt/Point;
        14: .line 187
            aload 0 /* this */
            new com.sun.imageio.plugins.png.PNGMetadata
            dup
            invokespecial com.sun.imageio.plugins.png.PNGMetadata.<init>:()V
            putfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
        15: .line 189
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageReader.pixelStream:Ljava/io/DataInputStream;
        16: .line 191
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
        17: .line 194
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGImageReader.pixelsDone:I
        18: .line 201
            return
        end local 1 // javax.imageio.spi.ImageReaderSpi originatingProvider
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   19     0                 this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0   19     1  originatingProvider  Ljavax/imageio/spi/ImageReaderSpi;
    MethodParameters:
                     Name  Flags
      originatingProvider  

  public void setInput(java.lang.Object, boolean, boolean);
    descriptor: (Ljava/lang/Object;ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // java.lang.Object input
        start local 2 // boolean seekForwardOnly
        start local 3 // boolean ignoreMetadata
         0: .line 207
            aload 0 /* this */
            aload 1 /* input */
            iload 2 /* seekForwardOnly */
            iload 3 /* ignoreMetadata */
            invokespecial javax.imageio.ImageReader.setInput:(Ljava/lang/Object;ZZ)V
         1: .line 208
            aload 0 /* this */
            aload 1 /* input */
            checkcast javax.imageio.stream.ImageInputStream
            putfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
         2: .line 211
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.resetStreamSettings:()V
         3: .line 212
            return
        end local 3 // boolean ignoreMetadata
        end local 2 // boolean seekForwardOnly
        end local 1 // java.lang.Object input
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0    4     1            input  Ljava/lang/Object;
            0    4     2  seekForwardOnly  Z
            0    4     3   ignoreMetadata  Z
    MethodParameters:
                 Name  Flags
      input            
      seekForwardOnly  
      ignoreMetadata   

  private java.lang.String readNullTerminatedString(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // java.lang.String charset
        start local 2 // int maxLen
         0: .line 215
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 3 /* baos */
        start local 3 // java.io.ByteArrayOutputStream baos
         1: .line 216
            iconst_0
            istore 4 /* b */
        start local 4 // int b
         2: .line 217
            iconst_0
            istore 5 /* count */
        start local 5 // int count
         3: .line 218
            goto 6
         4: .line 219
      StackMap locals: java.io.ByteArrayOutputStream int int
      StackMap stack:
            iload 4 /* b */
            iconst_m1
            if_icmpne 5
            new java.io.EOFException
            dup
            invokespecial java.io.EOFException.<init>:()V
            athrow
         5: .line 220
      StackMap locals:
      StackMap stack:
            aload 3 /* baos */
            iload 4 /* b */
            invokevirtual java.io.ByteArrayOutputStream.write:(I)V
         6: .line 218
      StackMap locals:
      StackMap stack:
            iload 2 /* maxLen */
            iload 5 /* count */
            iinc 5 /* count */ 1
            if_icmple 7
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.read:()I
            dup
            istore 4 /* b */
            ifne 4
         7: .line 222
      StackMap locals:
      StackMap stack:
            iload 4 /* b */
            ifeq 9
         8: .line 223
            new javax.imageio.IIOException
            dup
            ldc "Found non null terminated string"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 225
      StackMap locals:
      StackMap stack:
            new java.lang.String
            dup
            aload 3 /* baos */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            aload 1 /* charset */
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
            areturn
        end local 5 // int count
        end local 4 // int b
        end local 3 // java.io.ByteArrayOutputStream baos
        end local 2 // int maxLen
        end local 1 // java.lang.String charset
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0   10     1  charset  Ljava/lang/String;
            0   10     2   maxLen  I
            1   10     3     baos  Ljava/io/ByteArrayOutputStream;
            2   10     4        b  I
            3   10     5    count  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      charset  
      maxLen   

  private void readHeader();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
         0: .line 229
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.gotHeader:Z
            ifeq 2
         1: .line 230
            return
         2: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            ifnonnull 4
         3: .line 233
            new java.lang.IllegalStateException
            dup
            ldc "Input source not set!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 237
      StackMap locals:
      StackMap stack:
            bipush 8
            newarray 8
            astore 1 /* signature */
        start local 1 // byte[] signature
         5: .line 238
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 1 /* signature */
            invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
         6: .line 240
            aload 1 /* signature */
            iconst_0
            baload
            bipush -119
            if_icmpne 14
         7: .line 241
            aload 1 /* signature */
            iconst_1
            baload
            bipush 80
            if_icmpne 14
         8: .line 242
            aload 1 /* signature */
            iconst_2
            baload
            bipush 78
            if_icmpne 14
         9: .line 243
            aload 1 /* signature */
            iconst_3
            baload
            bipush 71
            if_icmpne 14
        10: .line 244
            aload 1 /* signature */
            iconst_4
            baload
            bipush 13
            if_icmpne 14
        11: .line 245
            aload 1 /* signature */
            iconst_5
            baload
            bipush 10
            if_icmpne 14
        12: .line 246
            aload 1 /* signature */
            bipush 6
            baload
            bipush 26
            if_icmpne 14
        13: .line 247
            aload 1 /* signature */
            bipush 7
            baload
            bipush 10
            if_icmpeq 15
        14: .line 248
      StackMap locals: byte[]
      StackMap stack:
            new javax.imageio.IIOException
            dup
            ldc "Bad PNG signature!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
            istore 2 /* IHDR_length */
        start local 2 // int IHDR_length
        16: .line 252
            iload 2 /* IHDR_length */
            bipush 13
            if_icmpeq 18
        17: .line 253
            new javax.imageio.IIOException
            dup
            ldc "Bad length for IHDR chunk!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 255
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
            istore 3 /* IHDR_type */
        start local 3 // int IHDR_type
        19: .line 256
            iload 3 /* IHDR_type */
            ldc 1229472850
            if_icmpeq 21
        20: .line 257
            new javax.imageio.IIOException
            dup
            ldc "Bad type for IHDR chunk!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 260
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            new com.sun.imageio.plugins.png.PNGMetadata
            dup
            invokespecial com.sun.imageio.plugins.png.PNGMetadata.<init>:()V
            putfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
        22: .line 262
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
            istore 4 /* width */
        start local 4 // int width
        23: .line 263
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
            istore 5 /* height */
        start local 5 // int height
        24: .line 266
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 1 /* signature */
            iconst_0
            iconst_5
            invokeinterface javax.imageio.stream.ImageInputStream.readFully:([BII)V
        25: .line 267
            aload 1 /* signature */
            iconst_0
            baload
            sipush 255
            iand
            istore 6 /* bitDepth */
        start local 6 // int bitDepth
        26: .line 268
            aload 1 /* signature */
            iconst_1
            baload
            sipush 255
            iand
            istore 7 /* colorType */
        start local 7 // int colorType
        27: .line 269
            aload 1 /* signature */
            iconst_2
            baload
            sipush 255
            iand
            istore 8 /* compressionMethod */
        start local 8 // int compressionMethod
        28: .line 270
            aload 1 /* signature */
            iconst_3
            baload
            sipush 255
            iand
            istore 9 /* filterMethod */
        start local 9 // int filterMethod
        29: .line 271
            aload 1 /* signature */
            iconst_4
            baload
            sipush 255
            iand
            istore 10 /* interlaceMethod */
        start local 10 // int interlaceMethod
        30: .line 274
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            iconst_4
            invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
            pop
        31: .line 276
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
            invokeinterface javax.imageio.stream.ImageInputStream.flushBefore:(J)V
        32: .line 278
            iload 4 /* width */
            ifgt 34
        33: .line 279
            new javax.imageio.IIOException
            dup
            ldc "Image width <= 0!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        34: .line 281
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader byte[] int int int int int int int int int
      StackMap stack:
            iload 5 /* height */
            ifgt 36
        35: .line 282
            new javax.imageio.IIOException
            dup
            ldc "Image height <= 0!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        36: .line 284
      StackMap locals:
      StackMap stack:
            iload 6 /* bitDepth */
            iconst_1
            if_icmpeq 39
            iload 6 /* bitDepth */
            iconst_2
            if_icmpeq 39
            iload 6 /* bitDepth */
            iconst_4
            if_icmpeq 39
        37: .line 285
            iload 6 /* bitDepth */
            bipush 8
            if_icmpeq 39
            iload 6 /* bitDepth */
            bipush 16
            if_icmpeq 39
        38: .line 286
            new javax.imageio.IIOException
            dup
            ldc "Bit depth must be 1, 2, 4, 8, or 16!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        39: .line 288
      StackMap locals:
      StackMap stack:
            iload 7 /* colorType */
            ifeq 42
            iload 7 /* colorType */
            iconst_2
            if_icmpeq 42
            iload 7 /* colorType */
            iconst_3
            if_icmpeq 42
        40: .line 289
            iload 7 /* colorType */
            iconst_4
            if_icmpeq 42
            iload 7 /* colorType */
            bipush 6
            if_icmpeq 42
        41: .line 290
            new javax.imageio.IIOException
            dup
            ldc "Color type must be 0, 2, 3, 4, or 6!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        42: .line 292
      StackMap locals:
      StackMap stack:
            iload 7 /* colorType */
            iconst_3
            if_icmpne 44
            iload 6 /* bitDepth */
            bipush 16
            if_icmpne 44
        43: .line 293
            new javax.imageio.IIOException
            dup
            ldc "Bad color type/bit depth combination!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        44: .line 295
      StackMap locals:
      StackMap stack:
            iload 7 /* colorType */
            iconst_2
            if_icmpeq 47
        45: .line 296
            iload 7 /* colorType */
            bipush 6
            if_icmpeq 47
        46: .line 297
            iload 7 /* colorType */
            iconst_4
            if_icmpne 49
        47: .line 298
      StackMap locals:
      StackMap stack:
            iload 6 /* bitDepth */
            bipush 8
            if_icmpeq 49
            iload 6 /* bitDepth */
            bipush 16
            if_icmpeq 49
        48: .line 299
            new javax.imageio.IIOException
            dup
            ldc "Bad color type/bit depth combination!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        49: .line 301
      StackMap locals:
      StackMap stack:
            iload 8 /* compressionMethod */
            ifeq 51
        50: .line 302
            new javax.imageio.IIOException
            dup
            ldc "Unknown compression method (not 0)!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        51: .line 304
      StackMap locals:
      StackMap stack:
            iload 9 /* filterMethod */
            ifeq 53
        52: .line 305
            new javax.imageio.IIOException
            dup
            ldc "Unknown filter method (not 0)!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        53: .line 307
      StackMap locals:
      StackMap stack:
            iload 10 /* interlaceMethod */
            ifeq 55
            iload 10 /* interlaceMethod */
            iconst_1
            if_icmpeq 55
        54: .line 308
            new javax.imageio.IIOException
            dup
            ldc "Unknown interlace method (not 0 or 1)!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        55: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_present:Z
        56: .line 312
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 4 /* width */
            putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_width:I
        57: .line 313
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 5 /* height */
            putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_height:I
        58: .line 314
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 6 /* bitDepth */
            putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
        59: .line 315
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 7 /* colorType */
            putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
        60: .line 316
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 8 /* compressionMethod */
            putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_compressionMethod:I
        61: .line 317
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 9 /* filterMethod */
            putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_filterMethod:I
        62: .line 318
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 10 /* interlaceMethod */
            putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_interlaceMethod:I
        63: .line 319
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGImageReader.gotHeader:Z
        end local 10 // int interlaceMethod
        end local 9 // int filterMethod
        end local 8 // int compressionMethod
        end local 7 // int colorType
        end local 6 // int bitDepth
        end local 5 // int height
        end local 4 // int width
        end local 3 // int IHDR_type
        end local 2 // int IHDR_length
        end local 1 // byte[] signature
        64: .line 320
            goto 67
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader
      StackMap stack: java.io.IOException
        65: astore 1 /* e */
        start local 1 // java.io.IOException e
        66: .line 321
            new javax.imageio.IIOException
            dup
            ldc "I/O error reading PNG header!"
            aload 1 /* e */
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException e
        67: .line 323
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   68     0               this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            5   64     1          signature  [B
           16   64     2        IHDR_length  I
           19   64     3          IHDR_type  I
           23   64     4              width  I
           24   64     5             height  I
           26   64     6           bitDepth  I
           27   64     7          colorType  I
           28   64     8  compressionMethod  I
           29   64     9       filterMethod  I
           30   64    10    interlaceMethod  I
           66   67     1                  e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           4    64      65  Class java.io.IOException
    Exceptions:
      throws javax.imageio.IIOException

  private void parse_PLTE_chunk(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // int chunkLength
         0: .line 326
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_present:Z
            ifeq 5
         1: .line 327
            aload 0 /* this */
         2: .line 328
            ldc "A PNG image may not contain more than one PLTE chunk.\nThe chunk wil be ignored."
         3: .line 327
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processWarningOccurred:(Ljava/lang/String;)V
         4: .line 330
            return
         5: .line 331
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            ifeq 7
         6: .line 332
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            iconst_4
            if_icmpne 11
         7: .line 333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         8: .line 334
            ldc "A PNG gray or gray alpha image cannot have a PLTE chunk.\nThe chunk wil be ignored."
         9: .line 333
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processWarningOccurred:(Ljava/lang/String;)V
        10: .line 336
            return
        11: .line 339
      StackMap locals:
      StackMap stack:
            iload 1 /* chunkLength */
            newarray 8
            astore 2 /* palette */
        start local 2 // byte[] palette
        12: .line 340
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 2 /* palette */
            invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
        13: .line 342
            iload 1 /* chunkLength */
            iconst_3
            idiv
            istore 3 /* numEntries */
        start local 3 // int numEntries
        14: .line 343
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            iconst_3
            if_icmpne 22
        15: .line 344
            iconst_1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
            ishl
            istore 4 /* maxEntries */
        start local 4 // int maxEntries
        16: .line 345
            iload 3 /* numEntries */
            iload 4 /* maxEntries */
            if_icmple 21
        17: .line 346
            aload 0 /* this */
        18: .line 347
            ldc "PLTE chunk contains too many entries for bit depth, ignoring extras."
        19: .line 346
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processWarningOccurred:(Ljava/lang/String;)V
        20: .line 348
            iload 4 /* maxEntries */
            istore 3 /* numEntries */
        21: .line 350
      StackMap locals: byte[] int int
      StackMap stack:
            iload 3 /* numEntries */
            iload 4 /* maxEntries */
            invokestatic java.lang.Math.min:(II)I
            istore 3 /* numEntries */
        end local 4 // int maxEntries
        22: .line 355
      StackMap locals:
      StackMap stack:
            iload 3 /* numEntries */
            bipush 16
            if_icmple 25
        23: .line 356
            sipush 256
            istore 4 /* paletteEntries */
        start local 4 // int paletteEntries
        24: .line 357
            goto 32
        end local 4 // int paletteEntries
      StackMap locals:
      StackMap stack:
        25: iload 3 /* numEntries */
            iconst_4
            if_icmple 28
        26: .line 358
            bipush 16
            istore 4 /* paletteEntries */
        start local 4 // int paletteEntries
        27: .line 359
            goto 32
        end local 4 // int paletteEntries
      StackMap locals:
      StackMap stack:
        28: iload 3 /* numEntries */
            iconst_2
            if_icmple 31
        29: .line 360
            iconst_4
            istore 4 /* paletteEntries */
        start local 4 // int paletteEntries
        30: .line 361
            goto 32
        end local 4 // int paletteEntries
        31: .line 362
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 4 /* paletteEntries */
        start local 4 // int paletteEntries
        32: .line 365
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_present:Z
        33: .line 366
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 4 /* paletteEntries */
            newarray 8
            putfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_red:[B
        34: .line 367
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 4 /* paletteEntries */
            newarray 8
            putfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_green:[B
        35: .line 368
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 4 /* paletteEntries */
            newarray 8
            putfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_blue:[B
        36: .line 370
            iconst_0
            istore 5 /* index */
        start local 5 // int index
        37: .line 371
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        38: goto 43
        39: .line 372
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_red:[B
            iload 6 /* i */
            aload 2 /* palette */
            iload 5 /* index */
            iinc 5 /* index */ 1
            baload
            bastore
        40: .line 373
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_green:[B
            iload 6 /* i */
            aload 2 /* palette */
            iload 5 /* index */
            iinc 5 /* index */ 1
            baload
            bastore
        41: .line 374
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_blue:[B
            iload 6 /* i */
            aload 2 /* palette */
            iload 5 /* index */
            iinc 5 /* index */ 1
            baload
            bastore
        42: .line 371
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        43: iload 6 /* i */
            iload 3 /* numEntries */
            if_icmplt 39
        end local 6 // int i
        44: .line 376
            return
        end local 5 // int index
        end local 4 // int paletteEntries
        end local 3 // int numEntries
        end local 2 // byte[] palette
        end local 1 // int chunkLength
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   45     0            this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0   45     1     chunkLength  I
           12   45     2         palette  [B
           14   45     3      numEntries  I
           16   22     4      maxEntries  I
           24   25     4  paletteEntries  I
           27   28     4  paletteEntries  I
           30   31     4  paletteEntries  I
           32   45     4  paletteEntries  I
           37   45     5           index  I
           38   44     6               i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      chunkLength  

  private void parse_bKGD_chunk();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
         0: .line 379
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            iconst_3
            if_icmpne 4
         1: .line 380
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_3
            putfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_colorType:I
         2: .line 381
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_index:I
         3: .line 382
            goto 13
      StackMap locals:
      StackMap stack:
         4: aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            ifeq 6
         5: .line 383
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            iconst_4
            if_icmpne 9
         6: .line 384
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_colorType:I
         7: .line 385
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_gray:I
         8: .line 386
            goto 13
         9: .line 387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_2
            putfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_colorType:I
        10: .line 388
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_red:I
        11: .line 389
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_green:I
        12: .line 390
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_blue:I
        13: .line 393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_present:Z
        14: .line 394
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lcom/sun/imageio/plugins/png/PNGImageReader;
    Exceptions:
      throws java.io.IOException

  private void parse_cHRM_chunk();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
         0: .line 397
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_whitePointX:I
         1: .line 398
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_whitePointY:I
         2: .line 399
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_redX:I
         3: .line 400
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_redY:I
         4: .line 401
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_greenX:I
         5: .line 402
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_greenY:I
         6: .line 403
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_blueX:I
         7: .line 404
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_blueY:I
         8: .line 406
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_present:Z
         9: .line 407
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/sun/imageio/plugins/png/PNGImageReader;
    Exceptions:
      throws java.io.IOException

  private void parse_gAMA_chunk();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
         0: .line 410
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
            istore 1 /* gamma */
        start local 1 // int gamma
         1: .line 411
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 1 /* gamma */
            putfield com.sun.imageio.plugins.png.PNGMetadata.gAMA_gamma:I
         2: .line 413
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGMetadata.gAMA_present:Z
         3: .line 414
            return
        end local 1 // int gamma
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            1    4     1  gamma  I
    Exceptions:
      throws java.io.IOException

  private void parse_hIST_chunk(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // int chunkLength
         0: .line 419
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_present:Z
            ifne 2
         1: .line 420
            new javax.imageio.IIOException
            dup
            ldc "hIST chunk without prior PLTE chunk!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 428
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 1 /* chunkLength */
            iconst_2
            idiv
            newarray 5
            putfield com.sun.imageio.plugins.png.PNGMetadata.hIST_histogram:[C
         3: .line 429
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.hIST_histogram:[C
         4: .line 430
            iconst_0
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.hIST_histogram:[C
            arraylength
         5: .line 429
            invokeinterface javax.imageio.stream.ImageInputStream.readFully:([CII)V
         6: .line 432
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGMetadata.hIST_present:Z
         7: .line 433
            return
        end local 1 // int chunkLength
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0    8     1  chunkLength  I
    Exceptions:
      throws java.io.IOException, javax.imageio.IIOException
    MethodParameters:
             Name  Flags
      chunkLength  

  private void parse_iCCP_chunk(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // int chunkLength
         0: .line 436
            aload 0 /* this */
            ldc "ISO-8859-1"
            bipush 80
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readNullTerminatedString:(Ljava/lang/String;I)Ljava/lang/String;
            astore 2 /* keyword */
        start local 2 // java.lang.String keyword
         1: .line 437
            iload 1 /* chunkLength */
            aload 2 /* keyword */
            invokevirtual java.lang.String.length:()I
            isub
            iconst_2
            isub
            istore 3 /* compressedProfileLength */
        start local 3 // int compressedProfileLength
         2: .line 438
            iload 3 /* compressedProfileLength */
            ifgt 4
         3: .line 439
            new javax.imageio.IIOException
            dup
            ldc "iCCP chunk length is not proper"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 441
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 2 /* keyword */
            putfield com.sun.imageio.plugins.png.PNGMetadata.iCCP_profileName:Ljava/lang/String;
         5: .line 443
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.iCCP_compressionMethod:I
         6: .line 446
            iload 3 /* compressedProfileLength */
            newarray 8
         7: .line 445
            astore 4 /* compressedProfile */
        start local 4 // byte[] compressedProfile
         8: .line 447
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 4 /* compressedProfile */
            invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
         9: .line 448
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 4 /* compressedProfile */
            putfield com.sun.imageio.plugins.png.PNGMetadata.iCCP_compressedProfile:[B
        10: .line 450
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGMetadata.iCCP_present:Z
        11: .line 451
            return
        end local 4 // byte[] compressedProfile
        end local 3 // int compressedProfileLength
        end local 2 // java.lang.String keyword
        end local 1 // int chunkLength
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   12     0                     this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0   12     1              chunkLength  I
            1   12     2                  keyword  Ljava/lang/String;
            2   12     3  compressedProfileLength  I
            8   12     4        compressedProfile  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      chunkLength  

  private void parse_iTXt_chunk(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=16, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // int chunkLength
         0: .line 454
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
            lstore 2 /* chunkStart */
        start local 2 // long chunkStart
         1: .line 456
            aload 0 /* this */
            ldc "ISO-8859-1"
            bipush 80
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readNullTerminatedString:(Ljava/lang/String;I)Ljava/lang/String;
            astore 4 /* keyword */
        start local 4 // java.lang.String keyword
         2: .line 457
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_keyword:Ljava/util/ArrayList;
            aload 4 /* keyword */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         3: .line 459
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            istore 5 /* compressionFlag */
        start local 5 // int compressionFlag
         4: .line 460
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_compressionFlag:Ljava/util/ArrayList;
            iload 5 /* compressionFlag */
            iconst_1
            if_icmpne 5
            iconst_1
            goto 6
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int long java.lang.String int
      StackMap stack: java.util.ArrayList
         5: iconst_0
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int long java.lang.String int
      StackMap stack: java.util.ArrayList int
         6: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         7: .line 462
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            istore 6 /* compressionMethod */
        start local 6 // int compressionMethod
         8: .line 463
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_compressionMethod:Ljava/util/ArrayList;
            iload 6 /* compressionMethod */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         9: .line 465
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
            lstore 7 /* pos */
        start local 7 // long pos
        10: .line 466
            lload 2 /* chunkStart */
            iload 1 /* chunkLength */
            i2l
            ladd
            lload 7 /* pos */
            lsub
            l2i
            istore 9 /* remainingLen */
        start local 9 // int remainingLen
        11: .line 467
            aload 0 /* this */
            ldc "UTF8"
            iload 9 /* remainingLen */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readNullTerminatedString:(Ljava/lang/String;I)Ljava/lang/String;
            astore 10 /* languageTag */
        start local 10 // java.lang.String languageTag
        12: .line 468
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_languageTag:Ljava/util/ArrayList;
            aload 10 /* languageTag */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        13: .line 470
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
            lstore 7 /* pos */
        14: .line 471
            lload 2 /* chunkStart */
            iload 1 /* chunkLength */
            i2l
            ladd
            lload 7 /* pos */
            lsub
            l2i
            istore 9 /* remainingLen */
        15: .line 472
            iload 9 /* remainingLen */
            ifge 17
        16: .line 473
            new javax.imageio.IIOException
            dup
            ldc "iTXt chunk length is not proper"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 476
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int long java.lang.String int int long int java.lang.String
      StackMap stack:
            aload 0 /* this */
            ldc "UTF8"
            iload 9 /* remainingLen */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readNullTerminatedString:(Ljava/lang/String;I)Ljava/lang/String;
        18: .line 475
            astore 11 /* translatedKeyword */
        start local 11 // java.lang.String translatedKeyword
        19: .line 477
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_translatedKeyword:Ljava/util/ArrayList;
            aload 11 /* translatedKeyword */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        20: .line 480
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
            lstore 7 /* pos */
        21: .line 481
            lload 2 /* chunkStart */
            iload 1 /* chunkLength */
            i2l
            ladd
            lload 7 /* pos */
            lsub
            l2i
            istore 13 /* textLength */
        start local 13 // int textLength
        22: .line 482
            iload 13 /* textLength */
            ifge 24
        23: .line 483
            new javax.imageio.IIOException
            dup
            ldc "iTXt chunk length is not proper"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 485
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int long java.lang.String int int long int java.lang.String java.lang.String top int
      StackMap stack:
            iload 13 /* textLength */
            newarray 8
            astore 14 /* b */
        start local 14 // byte[] b
        25: .line 486
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 14 /* b */
            invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
        26: .line 488
            iload 5 /* compressionFlag */
            iconst_1
            if_icmpne 29
        27: .line 489
            new java.lang.String
            dup
            aload 14 /* b */
            invokestatic com.sun.imageio.plugins.png.PNGImageReader.inflate:([B)[B
            ldc "UTF8"
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
            astore 12 /* text */
        start local 12 // java.lang.String text
        28: .line 490
            goto 30
        end local 12 // java.lang.String text
        29: .line 491
      StackMap locals: byte[]
      StackMap stack:
            new java.lang.String
            dup
            aload 14 /* b */
            ldc "UTF8"
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
            astore 12 /* text */
        start local 12 // java.lang.String text
        30: .line 493
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int long java.lang.String int int long int java.lang.String java.lang.String java.lang.String int byte[]
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_text:Ljava/util/ArrayList;
            aload 12 /* text */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        31: .line 496
            aload 4 /* keyword */
            ldc "Creation Time"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 36
        32: .line 498
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_text:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            istore 15 /* index */
        start local 15 // int index
        33: .line 499
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
        34: .line 500
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_text:Ljava/util/ArrayList;
            iload 15 /* index */
            invokevirtual java.util.ArrayList.listIterator:(I)Ljava/util/ListIterator;
        35: .line 499
            invokevirtual com.sun.imageio.plugins.png.PNGMetadata.decodeImageCreationTimeFromTextChunk:(Ljava/util/ListIterator;)V
        end local 15 // int index
        36: .line 502
      StackMap locals:
      StackMap stack:
            return
        end local 14 // byte[] b
        end local 13 // int textLength
        end local 12 // java.lang.String text
        end local 11 // java.lang.String translatedKeyword
        end local 10 // java.lang.String languageTag
        end local 9 // int remainingLen
        end local 7 // long pos
        end local 6 // int compressionMethod
        end local 5 // int compressionFlag
        end local 4 // java.lang.String keyword
        end local 2 // long chunkStart
        end local 1 // int chunkLength
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   37     0               this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0   37     1        chunkLength  I
            1   37     2         chunkStart  J
            2   37     4            keyword  Ljava/lang/String;
            4   37     5    compressionFlag  I
            8   37     6  compressionMethod  I
           10   37     7                pos  J
           11   37     9       remainingLen  I
           12   37    10        languageTag  Ljava/lang/String;
           19   37    11  translatedKeyword  Ljava/lang/String;
           28   29    12               text  Ljava/lang/String;
           30   37    12               text  Ljava/lang/String;
           22   37    13         textLength  I
           25   37    14                  b  [B
           33   36    15              index  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      chunkLength  

  private void parse_pHYs_chunk();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
         0: .line 505
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.pHYs_pixelsPerUnitXAxis:I
         1: .line 506
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.pHYs_pixelsPerUnitYAxis:I
         2: .line 507
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.pHYs_unitSpecifier:I
         3: .line 509
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGMetadata.pHYs_present:Z
         4: .line 510
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/imageio/plugins/png/PNGImageReader;
    Exceptions:
      throws java.io.IOException

  private void parse_sBIT_chunk();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
         0: .line 513
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            istore 1 /* colorType */
        start local 1 // int colorType
         1: .line 514
            iload 1 /* colorType */
            ifeq 3
         2: .line 515
            iload 1 /* colorType */
            iconst_4
            if_icmpne 5
         3: .line 516
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_grayBits:I
         4: .line 517
            goto 11
      StackMap locals:
      StackMap stack:
         5: iload 1 /* colorType */
            iconst_2
            if_icmpeq 8
         6: .line 518
            iload 1 /* colorType */
            iconst_3
            if_icmpeq 8
         7: .line 519
            iload 1 /* colorType */
            bipush 6
            if_icmpne 11
         8: .line 520
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_redBits:I
         9: .line 521
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_greenBits:I
        10: .line 522
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_blueBits:I
        11: .line 525
      StackMap locals:
      StackMap stack:
            iload 1 /* colorType */
            iconst_4
            if_icmpeq 13
        12: .line 526
            iload 1 /* colorType */
            bipush 6
            if_icmpne 14
        13: .line 527
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_alphaBits:I
        14: .line 530
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 1 /* colorType */
            putfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_colorType:I
        15: .line 531
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_present:Z
        16: .line 532
            return
        end local 1 // int colorType
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            1   17     1  colorType  I
    Exceptions:
      throws java.io.IOException

  private void parse_sPLT_chunk(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // int chunkLength
         0: .line 536
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            ldc "ISO-8859-1"
            bipush 80
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readNullTerminatedString:(Ljava/lang/String;I)Ljava/lang/String;
            putfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_paletteName:Ljava/lang/String;
         1: .line 537
            iload 1 /* chunkLength */
         2: .line 538
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_paletteName:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
         3: .line 537
            isub
            istore 2 /* remainingChunkLength */
        start local 2 // int remainingChunkLength
         4: .line 539
            iload 2 /* remainingChunkLength */
            ifgt 6
         5: .line 540
            new javax.imageio.IIOException
            dup
            ldc "sPLT chunk length is not proper"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 543
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            istore 3 /* sampleDepth */
        start local 3 // int sampleDepth
         7: .line 544
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 3 /* sampleDepth */
            putfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_sampleDepth:I
         8: .line 546
            iload 2 /* remainingChunkLength */
            iconst_4
            iload 3 /* sampleDepth */
            bipush 8
            idiv
            imul
            iconst_2
            iadd
            idiv
            istore 4 /* numEntries */
        start local 4 // int numEntries
         9: .line 547
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 4 /* numEntries */
            newarray 10
            putfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_red:[I
        10: .line 548
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 4 /* numEntries */
            newarray 10
            putfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_green:[I
        11: .line 549
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 4 /* numEntries */
            newarray 10
            putfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_blue:[I
        12: .line 550
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 4 /* numEntries */
            newarray 10
            putfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_alpha:[I
        13: .line 551
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 4 /* numEntries */
            newarray 10
            putfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_frequency:[I
        14: .line 553
            iload 3 /* sampleDepth */
            bipush 8
            if_icmpne 25
        15: .line 554
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        16: goto 23
        17: .line 555
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_red:[I
            iload 5 /* i */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            iastore
        18: .line 556
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_green:[I
            iload 5 /* i */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            iastore
        19: .line 557
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_blue:[I
            iload 5 /* i */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            iastore
        20: .line 558
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_alpha:[I
            iload 5 /* i */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            iastore
        21: .line 559
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_frequency:[I
            iload 5 /* i */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
            iastore
        22: .line 554
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 5 /* i */
            iload 4 /* numEntries */
            if_icmplt 17
        end local 5 // int i
        24: .line 561
            goto 37
      StackMap locals:
      StackMap stack:
        25: iload 3 /* sampleDepth */
            bipush 16
            if_icmpne 36
        26: .line 562
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        27: goto 34
        28: .line 563
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_red:[I
            iload 5 /* i */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
            iastore
        29: .line 564
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_green:[I
            iload 5 /* i */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
            iastore
        30: .line 565
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_blue:[I
            iload 5 /* i */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
            iastore
        31: .line 566
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_alpha:[I
            iload 5 /* i */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
            iastore
        32: .line 567
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_frequency:[I
            iload 5 /* i */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
            iastore
        33: .line 562
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 5 /* i */
            iload 4 /* numEntries */
            if_icmplt 28
        end local 5 // int i
        35: .line 569
            goto 37
        36: .line 570
      StackMap locals:
      StackMap stack:
            new javax.imageio.IIOException
            dup
            ldc "sPLT sample depth not 8 or 16!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        37: .line 573
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_present:Z
        38: .line 574
            return
        end local 4 // int numEntries
        end local 3 // int sampleDepth
        end local 2 // int remainingChunkLength
        end local 1 // int chunkLength
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   39     0                  this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0   39     1           chunkLength  I
            4   39     2  remainingChunkLength  I
            7   39     3           sampleDepth  I
            9   39     4            numEntries  I
           16   24     5                     i  I
           27   35     5                     i  I
    Exceptions:
      throws java.io.IOException, javax.imageio.IIOException
    MethodParameters:
             Name  Flags
      chunkLength  

  private void parse_sRGB_chunk();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
         0: .line 577
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.sRGB_renderingIntent:I
         1: .line 579
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGMetadata.sRGB_present:Z
         2: .line 580
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/imageio/plugins/png/PNGImageReader;
    Exceptions:
      throws java.io.IOException

  private void parse_tEXt_chunk(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // int chunkLength
         0: .line 583
            aload 0 /* this */
            ldc "ISO-8859-1"
            bipush 80
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readNullTerminatedString:(Ljava/lang/String;I)Ljava/lang/String;
            astore 2 /* keyword */
        start local 2 // java.lang.String keyword
         1: .line 584
            iload 1 /* chunkLength */
            aload 2 /* keyword */
            invokevirtual java.lang.String.length:()I
            isub
            iconst_1
            isub
            istore 3 /* textLength */
        start local 3 // int textLength
         2: .line 585
            iload 3 /* textLength */
            ifge 4
         3: .line 586
            new javax.imageio.IIOException
            dup
            ldc "tEXt chunk length is not proper"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 588
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tEXt_keyword:Ljava/util/ArrayList;
            aload 2 /* keyword */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         5: .line 590
            iload 3 /* textLength */
            newarray 8
            astore 4 /* b */
        start local 4 // byte[] b
         6: .line 591
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 4 /* b */
            invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
         7: .line 592
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tEXt_text:Ljava/util/ArrayList;
            new java.lang.String
            dup
            aload 4 /* b */
            ldc "ISO-8859-1"
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         8: .line 595
            aload 2 /* keyword */
            ldc "Creation Time"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
         9: .line 597
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tEXt_text:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            istore 5 /* index */
        start local 5 // int index
        10: .line 598
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
        11: .line 599
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tEXt_text:Ljava/util/ArrayList;
            iload 5 /* index */
            invokevirtual java.util.ArrayList.listIterator:(I)Ljava/util/ListIterator;
        12: .line 598
            invokevirtual com.sun.imageio.plugins.png.PNGMetadata.decodeImageCreationTimeFromTextChunk:(Ljava/util/ListIterator;)V
        end local 5 // int index
        13: .line 601
      StackMap locals: byte[]
      StackMap stack:
            return
        end local 4 // byte[] b
        end local 3 // int textLength
        end local 2 // java.lang.String keyword
        end local 1 // int chunkLength
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0   14     1  chunkLength  I
            1   14     2      keyword  Ljava/lang/String;
            2   14     3   textLength  I
            6   14     4            b  [B
           10   13     5        index  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      chunkLength  

  private void parse_tIME_chunk();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
         0: .line 604
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.tIME_year:I
         1: .line 605
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.tIME_month:I
         2: .line 606
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.tIME_day:I
         3: .line 607
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.tIME_hour:I
         4: .line 608
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.tIME_minute:I
         5: .line 609
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.tIME_second:I
         6: .line 611
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGMetadata.tIME_present:Z
         7: .line 612
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/imageio/plugins/png/PNGImageReader;
    Exceptions:
      throws java.io.IOException

  private void parse_tRNS_chunk(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // int chunkLength
         0: .line 615
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            istore 2 /* colorType */
        start local 2 // int colorType
         1: .line 616
            iload 2 /* colorType */
            iconst_3
            if_icmpne 19
         2: .line 617
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_present:Z
            ifne 7
         3: .line 618
            aload 0 /* this */
         4: .line 619
            ldc "tRNS chunk without prior PLTE chunk, ignoring it."
         5: .line 618
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processWarningOccurred:(Ljava/lang/String;)V
         6: .line 620
            return
         7: .line 624
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_red:[B
            arraylength
            istore 3 /* maxEntries */
        start local 3 // int maxEntries
         8: .line 625
            iload 1 /* chunkLength */
            istore 4 /* numEntries */
        start local 4 // int numEntries
         9: .line 626
            iload 4 /* numEntries */
            iload 3 /* maxEntries */
            if_icmple 14
            iload 3 /* maxEntries */
            ifle 14
        10: .line 627
            aload 0 /* this */
        11: .line 628
            ldc "tRNS chunk has more entries than prior PLTE chunk, ignoring extras."
        12: .line 627
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processWarningOccurred:(Ljava/lang/String;)V
        13: .line 629
            iload 3 /* maxEntries */
            istore 4 /* numEntries */
        14: .line 631
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 4 /* numEntries */
            newarray 8
            putfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_alpha:[B
        15: .line 632
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_3
            putfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_colorType:I
        16: .line 633
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_alpha:[B
            iconst_0
            iload 4 /* numEntries */
            invokeinterface javax.imageio.stream.ImageInputStream.read:([BII)I
            pop
        17: .line 634
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            iload 1 /* chunkLength */
            iload 4 /* numEntries */
            isub
            invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
            pop
        end local 4 // int numEntries
        end local 3 // int maxEntries
        18: .line 635
            goto 45
      StackMap locals:
      StackMap stack:
        19: iload 2 /* colorType */
            ifne 29
        20: .line 636
            iload 1 /* chunkLength */
            iconst_2
            if_icmpeq 26
        21: .line 637
            aload 0 /* this */
        22: .line 638
            ldc "tRNS chunk for gray image must have length 2, ignoring chunk."
        23: .line 637
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processWarningOccurred:(Ljava/lang/String;)V
        24: .line 639
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            iload 1 /* chunkLength */
            invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
            pop
        25: .line 640
            return
        26: .line 642
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_gray:I
        27: .line 643
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_colorType:I
        28: .line 644
            goto 45
      StackMap locals:
      StackMap stack:
        29: iload 2 /* colorType */
            iconst_2
            if_icmpne 41
        30: .line 645
            iload 1 /* chunkLength */
            bipush 6
            if_icmpeq 36
        31: .line 646
            aload 0 /* this */
        32: .line 647
            ldc "tRNS chunk for RGB image must have length 6, ignoring chunk."
        33: .line 646
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processWarningOccurred:(Ljava/lang/String;)V
        34: .line 648
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            iload 1 /* chunkLength */
            invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
            pop
        35: .line 649
            return
        36: .line 651
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_red:I
        37: .line 652
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_green:I
        38: .line 653
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
            putfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_blue:I
        39: .line 654
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_2
            putfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_colorType:I
        40: .line 655
            goto 45
        41: .line 656
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        42: .line 657
            ldc "Gray+Alpha and RGBS images may not have a tRNS chunk, ignoring it."
        43: .line 656
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processWarningOccurred:(Ljava/lang/String;)V
        44: .line 658
            return
        45: .line 661
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_present:Z
        46: .line 662
            return
        end local 2 // int colorType
        end local 1 // int chunkLength
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   47     0         this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0   47     1  chunkLength  I
            1   47     2    colorType  I
            8   18     3   maxEntries  I
            9   18     4   numEntries  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      chunkLength  

  private static byte[] inflate(byte[]);
    descriptor: ([B)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // byte[] b
         0: .line 665
            new java.io.ByteArrayInputStream
            dup
            aload 0 /* b */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 1 /* bais */
        start local 1 // java.io.InputStream bais
         1: .line 666
            new java.util.zip.InflaterInputStream
            dup
            aload 1 /* bais */
            invokespecial java.util.zip.InflaterInputStream.<init>:(Ljava/io/InputStream;)V
            astore 2 /* iis */
        start local 2 // java.io.InputStream iis
         2: .line 667
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 3 /* baos */
        start local 3 // java.io.ByteArrayOutputStream baos
         3: .line 671
            goto 5
        start local 4 // int c
         4: .line 672
      StackMap locals: byte[] java.io.InputStream java.io.InputStream java.io.ByteArrayOutputStream int
      StackMap stack:
            aload 3 /* baos */
            iload 4 /* c */
            invokevirtual java.io.ByteArrayOutputStream.write:(I)V
        end local 4 // int c
         5: .line 671
      StackMap locals:
      StackMap stack:
            aload 2 /* iis */
            invokevirtual java.io.InputStream.read:()I
            dup
            istore 4 /* c */
        start local 4 // int c
         6: iconst_m1
            if_icmpne 4
         7: .line 674
            goto 11
        end local 4 // int c
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 5
         9: .line 675
            aload 2 /* iis */
            invokevirtual java.io.InputStream.close:()V
        10: .line 676
            aload 5
            athrow
        start local 4 // int c
        11: .line 675
      StackMap locals: int
      StackMap stack:
            aload 2 /* iis */
            invokevirtual java.io.InputStream.close:()V
        12: .line 677
            aload 3 /* baos */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            areturn
        end local 4 // int c
        end local 3 // java.io.ByteArrayOutputStream baos
        end local 2 // java.io.InputStream iis
        end local 1 // java.io.InputStream bais
        end local 0 // byte[] b
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0     b  [B
            1   13     1  bais  Ljava/io/InputStream;
            2   13     2   iis  Ljava/io/InputStream;
            3   13     3  baos  Ljava/io/ByteArrayOutputStream;
            4    5     4     c  I
            6    8     4     c  I
           11   13     4     c  I
      Exception table:
        from    to  target  type
           3     8       8  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     

  private void parse_zTXt_chunk(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // int chunkLength
         0: .line 681
            aload 0 /* this */
            ldc "ISO-8859-1"
            bipush 80
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readNullTerminatedString:(Ljava/lang/String;I)Ljava/lang/String;
            astore 2 /* keyword */
        start local 2 // java.lang.String keyword
         1: .line 682
            iload 1 /* chunkLength */
            aload 2 /* keyword */
            invokevirtual java.lang.String.length:()I
            isub
            iconst_2
            isub
            istore 3 /* textLength */
        start local 3 // int textLength
         2: .line 683
            iload 3 /* textLength */
            ifge 4
         3: .line 684
            new javax.imageio.IIOException
            dup
            ldc "zTXt chunk length is not proper"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 686
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.zTXt_keyword:Ljava/util/ArrayList;
            aload 2 /* keyword */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         5: .line 688
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            istore 4 /* method */
        start local 4 // int method
         6: .line 689
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.zTXt_compressionMethod:Ljava/util/ArrayList;
            iload 4 /* method */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         7: .line 691
            iload 3 /* textLength */
            newarray 8
            astore 5 /* b */
        start local 5 // byte[] b
         8: .line 692
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 5 /* b */
            invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
         9: .line 693
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.zTXt_text:Ljava/util/ArrayList;
            new java.lang.String
            dup
            aload 5 /* b */
            invokestatic com.sun.imageio.plugins.png.PNGImageReader.inflate:([B)[B
            ldc "ISO-8859-1"
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        10: .line 696
            aload 2 /* keyword */
            ldc "Creation Time"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        11: .line 698
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.zTXt_text:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            istore 6 /* index */
        start local 6 // int index
        12: .line 699
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
        13: .line 700
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.zTXt_text:Ljava/util/ArrayList;
            iload 6 /* index */
            invokevirtual java.util.ArrayList.listIterator:(I)Ljava/util/ListIterator;
        14: .line 699
            invokevirtual com.sun.imageio.plugins.png.PNGMetadata.decodeImageCreationTimeFromTextChunk:(Ljava/util/ListIterator;)V
        end local 6 // int index
        15: .line 702
      StackMap locals: int byte[]
      StackMap stack:
            return
        end local 5 // byte[] b
        end local 4 // int method
        end local 3 // int textLength
        end local 2 // java.lang.String keyword
        end local 1 // int chunkLength
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0   16     1  chunkLength  I
            1   16     2      keyword  Ljava/lang/String;
            2   16     3   textLength  I
            6   16     4       method  I
            8   16     5            b  [B
           12   15     6        index  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      chunkLength  

  private void readMetadata();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
         0: .line 705
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.gotMetadata:Z
            ifeq 2
         1: .line 706
            return
         2: .line 709
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readHeader:()V
         3: .line 719
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            istore 1 /* colorType */
        start local 1 // int colorType
         4: .line 720
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.ignoreMetadata:Z
            ifeq 23
            iload 1 /* colorType */
            iconst_3
            if_icmpeq 23
         5: .line 723
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
            istore 2 /* chunkLength */
        start local 2 // int chunkLength
         6: .line 726
            iload 2 /* chunkLength */
            iflt 7
            iload 2 /* chunkLength */
            iconst_4
            iadd
            ifge 8
         7: .line 727
      StackMap locals: int
      StackMap stack:
            new javax.imageio.IIOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid chunk length "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* chunkLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 730
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
            istore 3 /* chunkType */
        start local 3 // int chunkType
         9: .line 732
            iload 3 /* chunkType */
            ldc 1229209940
            if_icmpne 13
        10: .line 734
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            bipush -8
            invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
            pop
        11: .line 735
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
            putfield com.sun.imageio.plugins.png.PNGImageReader.imageStartPosition:J
        12: .line 741
            goto 21
        13: .line 742
      StackMap locals: int
      StackMap stack:
            iload 3 /* chunkType */
            ldc 1951551059
            if_icmpne 17
        14: .line 743
            aload 0 /* this */
            iload 2 /* chunkLength */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_tRNS_chunk:(I)V
        15: .line 745
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            iconst_4
            invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
            pop
        16: .line 746
            goto 5
        17: .line 748
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            iload 2 /* chunkLength */
            iconst_4
            iadd
            invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
            pop
        end local 3 // int chunkType
        end local 2 // int chunkLength
        18: .line 722
            goto 5
        19: .line 751
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
        20: .line 752
            new javax.imageio.IIOException
            dup
            ldc "Error skipping PNG metadata"
            aload 2 /* e */
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException e
        21: .line 755
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGImageReader.gotMetadata:Z
        22: .line 756
            return
        23: .line 761
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
            istore 2 /* chunkLength */
        start local 2 // int chunkLength
        24: .line 762
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
            istore 3 /* chunkType */
        start local 3 // int chunkType
        25: .line 764
            iconst_m1
            istore 4 /* chunkCRC */
        start local 4 // int chunkCRC
        26: .line 767
            iload 2 /* chunkLength */
            ifge 28
        27: .line 768
            new javax.imageio.IIOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid chunk length "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* chunkLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 780
      StackMap locals: int int int
      StackMap stack:
            iload 3 /* chunkType */
            ldc 1229278788
            if_icmpeq 36
        29: .line 781
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.mark:()V
        30: .line 782
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
            iload 2 /* chunkLength */
            i2l
            ladd
            invokeinterface javax.imageio.stream.ImageInputStream.seek:(J)V
        31: .line 783
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
            istore 4 /* chunkCRC */
        32: .line 784
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.reset:()V
        33: .line 786
            goto 36
      StackMap locals:
      StackMap stack: java.io.IOException
        34: pop
        35: .line 787
            new javax.imageio.IIOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid chunk length "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* chunkLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        36: .line 790
      StackMap locals:
      StackMap stack:
            iload 3 /* chunkType */
            lookupswitch { // 17
           1229209940: 37
           1229278788: 44
           1347179589: 47
           1649100612: 49
           1665684045: 51
           1732332865: 53
           1749635924: 55
           1766015824: 57
           1767135348: 59
           1883789683: 64
           1933723988: 66
           1934642260: 68
           1934772034: 70
           1950701684: 72
           1950960965: 74
           1951551059: 76
           2052348020: 78
              default: 83
          }
        37: .line 793
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.imageStartPosition:J
            ldc -1
            lcmp
            ifne 42
        38: .line 799
            iload 1 /* colorType */
            iconst_3
            if_icmpne 41
        39: .line 800
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_present:Z
            ifne 41
        40: .line 802
            new javax.imageio.IIOException
            dup
            ldc "Required PLTE chunk missing"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        41: .line 811
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
            ldc 8
            lsub
            putfield com.sun.imageio.plugins.png.PNGImageReader.imageStartPosition:J
        42: .line 814
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            iload 2 /* chunkLength */
            invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
            pop
        43: .line 815
            goto 97
        44: .line 821
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.imageStartPosition:J
            invokeinterface javax.imageio.stream.ImageInputStream.seek:(J)V
        45: .line 829
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
            invokeinterface javax.imageio.stream.ImageInputStream.flushBefore:(J)V
        46: .line 830
            goto 103
        47: .line 832
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* chunkLength */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_PLTE_chunk:(I)V
        48: .line 833
            goto 97
        49: .line 835
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_bKGD_chunk:()V
        50: .line 836
            goto 97
        51: .line 838
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_cHRM_chunk:()V
        52: .line 839
            goto 97
        53: .line 841
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_gAMA_chunk:()V
        54: .line 842
            goto 97
        55: .line 844
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* chunkLength */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_hIST_chunk:(I)V
        56: .line 845
            goto 97
        57: .line 847
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* chunkLength */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_iCCP_chunk:(I)V
        58: .line 848
            goto 97
        59: .line 850
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.ignoreMetadata:Z
            ifeq 62
        60: .line 851
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            iload 2 /* chunkLength */
            invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
            pop
        61: .line 852
            goto 97
        62: .line 853
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* chunkLength */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_iTXt_chunk:(I)V
        63: .line 855
            goto 97
        64: .line 857
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_pHYs_chunk:()V
        65: .line 858
            goto 97
        66: .line 860
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_sBIT_chunk:()V
        67: .line 861
            goto 97
        68: .line 863
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* chunkLength */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_sPLT_chunk:(I)V
        69: .line 864
            goto 97
        70: .line 866
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_sRGB_chunk:()V
        71: .line 867
            goto 97
        72: .line 869
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* chunkLength */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_tEXt_chunk:(I)V
        73: .line 870
            goto 97
        74: .line 872
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_tIME_chunk:()V
        75: .line 873
            goto 97
        76: .line 875
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* chunkLength */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_tRNS_chunk:(I)V
        77: .line 876
            goto 97
        78: .line 878
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.ignoreMetadata:Z
            ifeq 81
        79: .line 879
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            iload 2 /* chunkLength */
            invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
            pop
        80: .line 880
            goto 97
        81: .line 881
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* chunkLength */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.parse_zTXt_chunk:(I)V
        82: .line 883
            goto 97
        83: .line 886
      StackMap locals:
      StackMap stack:
            iload 2 /* chunkLength */
            newarray 8
            astore 5 /* b */
        start local 5 // byte[] b
        84: .line 887
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 5 /* b */
            invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
        85: .line 889
            new java.lang.StringBuilder
            dup
            iconst_4
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 6 /* chunkName */
        start local 6 // java.lang.StringBuilder chunkName
        86: .line 890
            aload 6 /* chunkName */
            iload 3 /* chunkType */
            bipush 24
            iushr
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        87: .line 891
            aload 6 /* chunkName */
            iload 3 /* chunkType */
            bipush 16
            ishr
            sipush 255
            iand
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        88: .line 892
            aload 6 /* chunkName */
            iload 3 /* chunkType */
            bipush 8
            ishr
            sipush 255
            iand
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        89: .line 893
            aload 6 /* chunkName */
            iload 3 /* chunkType */
            sipush 255
            iand
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        90: .line 895
            iload 3 /* chunkType */
            bipush 28
            iushr
            istore 7 /* ancillaryBit */
        start local 7 // int ancillaryBit
        91: .line 896
            iload 7 /* ancillaryBit */
            ifne 95
        92: .line 897
            aload 0 /* this */
        93: .line 898
            ldc "Encountered unknown chunk with critical bit set!"
        94: .line 897
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processWarningOccurred:(Ljava/lang/String;)V
        95: .line 901
      StackMap locals: byte[] java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.unknownChunkType:Ljava/util/ArrayList;
            aload 6 /* chunkName */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        96: .line 902
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.unknownChunkData:Ljava/util/ArrayList;
            aload 5 /* b */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // int ancillaryBit
        end local 6 // java.lang.StringBuilder chunkName
        end local 5 // byte[] b
        97: .line 907
      StackMap locals:
      StackMap stack:
            iload 4 /* chunkCRC */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readInt:()I
            if_icmpeq 23
        98: .line 908
            new javax.imageio.IIOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to read a chunk of type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        99: .line 909
            iload 3 /* chunkType */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       100: .line 908
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // int chunkCRC
        end local 3 // int chunkType
        end local 2 // int chunkLength
       101: .line 912
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
       102: .line 913
            new javax.imageio.IIOException
            dup
            ldc "Error reading PNG metadata"
            aload 2 /* e */
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException e
       103: .line 916
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGImageReader.gotMetadata:Z
       104: .line 917
            return
        end local 1 // int colorType
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0  105     0          this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            4  105     1     colorType  I
            6   18     2   chunkLength  I
            9   18     3     chunkType  I
           20   21     2             e  Ljava/io/IOException;
           24  101     2   chunkLength  I
           25  101     3     chunkType  I
           26  101     4      chunkCRC  I
           84   97     5             b  [B
           86   97     6     chunkName  Ljava/lang/StringBuilder;
           91   97     7  ancillaryBit  I
          102  103     2             e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           5    19      19  Class java.io.IOException
          28    33      34  Class java.io.IOException
          23   101     101  Class java.io.IOException
    Exceptions:
      throws javax.imageio.IIOException

  private static void decodeSubFilter(byte[], int, int, int);
    descriptor: ([BIII)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // byte[] curr
        start local 1 // int coff
        start local 2 // int count
        start local 3 // int bpp
         0: .line 923
            iload 3 /* bpp */
            istore 4 /* i */
        start local 4 // int i
         1: goto 6
         2: .line 926
      StackMap locals: int
      StackMap stack:
            aload 0 /* curr */
            iload 4 /* i */
            iload 1 /* coff */
            iadd
            baload
            sipush 255
            iand
            istore 5 /* val */
        start local 5 // int val
         3: .line 927
            iload 5 /* val */
            aload 0 /* curr */
            iload 4 /* i */
            iload 1 /* coff */
            iadd
            iload 3 /* bpp */
            isub
            baload
            sipush 255
            iand
            iadd
            istore 5 /* val */
         4: .line 929
            aload 0 /* curr */
            iload 4 /* i */
            iload 1 /* coff */
            iadd
            iload 5 /* val */
            i2b
            bastore
        end local 5 // int val
         5: .line 923
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            iload 2 /* count */
            if_icmplt 2
        end local 4 // int i
         7: .line 931
            return
        end local 3 // int bpp
        end local 2 // int count
        end local 1 // int coff
        end local 0 // byte[] curr
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   curr  [B
            0    8     1   coff  I
            0    8     2  count  I
            0    8     3    bpp  I
            1    7     4      i  I
            3    5     5    val  I
    MethodParameters:
       Name  Flags
      curr   
      coff   
      count  
      bpp    

  private static void decodeUpFilter(byte[], int, byte[], int, int);
    descriptor: ([BI[BII)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=5
        start local 0 // byte[] curr
        start local 1 // int coff
        start local 2 // byte[] prev
        start local 3 // int poff
        start local 4 // int count
         0: .line 936
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         1: goto 6
         2: .line 937
      StackMap locals: int
      StackMap stack:
            aload 0 /* curr */
            iload 5 /* i */
            iload 1 /* coff */
            iadd
            baload
            sipush 255
            iand
            istore 6 /* raw */
        start local 6 // int raw
         3: .line 938
            aload 2 /* prev */
            iload 5 /* i */
            iload 3 /* poff */
            iadd
            baload
            sipush 255
            iand
            istore 7 /* prior */
        start local 7 // int prior
         4: .line 940
            aload 0 /* curr */
            iload 5 /* i */
            iload 1 /* coff */
            iadd
            iload 6 /* raw */
            iload 7 /* prior */
            iadd
            i2b
            bastore
        end local 7 // int prior
        end local 6 // int raw
         5: .line 936
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 5 /* i */
            iload 4 /* count */
            if_icmplt 2
        end local 5 // int i
         7: .line 942
            return
        end local 4 // int count
        end local 3 // int poff
        end local 2 // byte[] prev
        end local 1 // int coff
        end local 0 // byte[] curr
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   curr  [B
            0    8     1   coff  I
            0    8     2   prev  [B
            0    8     3   poff  I
            0    8     4  count  I
            1    7     5      i  I
            3    5     6    raw  I
            4    5     7  prior  I
    MethodParameters:
       Name  Flags
      curr   
      coff   
      prev   
      poff   
      count  

  private static void decodeAverageFilter(byte[], int, byte[], int, int, int);
    descriptor: ([BI[BIII)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=6
        start local 0 // byte[] curr
        start local 1 // int coff
        start local 2 // byte[] prev
        start local 3 // int poff
        start local 4 // int count
        start local 5 // int bpp
         0: .line 949
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         1: goto 6
         2: .line 950
      StackMap locals: byte[] int byte[] int int int top top top int
      StackMap stack:
            aload 0 /* curr */
            iload 9 /* i */
            iload 1 /* coff */
            iadd
            baload
            sipush 255
            iand
            istore 6 /* raw */
        start local 6 // int raw
         3: .line 951
            aload 2 /* prev */
            iload 9 /* i */
            iload 3 /* poff */
            iadd
            baload
            sipush 255
            iand
            istore 8 /* priorRow */
        start local 8 // int priorRow
         4: .line 953
            aload 0 /* curr */
            iload 9 /* i */
            iload 1 /* coff */
            iadd
            iload 6 /* raw */
            iload 8 /* priorRow */
            iconst_2
            idiv
            iadd
            i2b
            bastore
         5: .line 949
            iinc 9 /* i */ 1
        end local 8 // int priorRow
        end local 6 // int raw
      StackMap locals:
      StackMap stack:
         6: iload 9 /* i */
            iload 5 /* bpp */
            if_icmplt 2
        end local 9 // int i
         7: .line 956
            iload 5 /* bpp */
            istore 9 /* i */
        start local 9 // int i
         8: goto 14
         9: .line 957
      StackMap locals:
      StackMap stack:
            aload 0 /* curr */
            iload 9 /* i */
            iload 1 /* coff */
            iadd
            baload
            sipush 255
            iand
            istore 6 /* raw */
        start local 6 // int raw
        10: .line 958
            aload 0 /* curr */
            iload 9 /* i */
            iload 1 /* coff */
            iadd
            iload 5 /* bpp */
            isub
            baload
            sipush 255
            iand
            istore 7 /* priorPixel */
        start local 7 // int priorPixel
        11: .line 959
            aload 2 /* prev */
            iload 9 /* i */
            iload 3 /* poff */
            iadd
            baload
            sipush 255
            iand
            istore 8 /* priorRow */
        start local 8 // int priorRow
        12: .line 961
            aload 0 /* curr */
            iload 9 /* i */
            iload 1 /* coff */
            iadd
            iload 6 /* raw */
            iload 7 /* priorPixel */
            iload 8 /* priorRow */
            iadd
            iconst_2
            idiv
            iadd
            i2b
            bastore
        13: .line 956
            iinc 9 /* i */ 1
        end local 8 // int priorRow
        end local 7 // int priorPixel
        end local 6 // int raw
      StackMap locals:
      StackMap stack:
        14: iload 9 /* i */
            iload 4 /* count */
            if_icmplt 9
        end local 9 // int i
        15: .line 963
            return
        end local 5 // int bpp
        end local 4 // int count
        end local 3 // int poff
        end local 2 // byte[] prev
        end local 1 // int coff
        end local 0 // byte[] curr
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        curr  [B
            0   16     1        coff  I
            0   16     2        prev  [B
            0   16     3        poff  I
            0   16     4       count  I
            0   16     5         bpp  I
            3    6     6         raw  I
           10   14     6         raw  I
           11   14     7  priorPixel  I
            4    6     8    priorRow  I
           12   14     8    priorRow  I
            1    7     9           i  I
            8   15     9           i  I
    MethodParameters:
       Name  Flags
      curr   
      coff   
      prev   
      poff   
      count  
      bpp    

  private static int paethPredictor(int, int, int);
    descriptor: (III)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // int a
        start local 1 // int b
        start local 2 // int c
         0: .line 966
            iload 0 /* a */
            iload 1 /* b */
            iadd
            iload 2 /* c */
            isub
            istore 3 /* p */
        start local 3 // int p
         1: .line 967
            iload 3 /* p */
            iload 0 /* a */
            isub
            invokestatic java.lang.Math.abs:(I)I
            istore 4 /* pa */
        start local 4 // int pa
         2: .line 968
            iload 3 /* p */
            iload 1 /* b */
            isub
            invokestatic java.lang.Math.abs:(I)I
            istore 5 /* pb */
        start local 5 // int pb
         3: .line 969
            iload 3 /* p */
            iload 2 /* c */
            isub
            invokestatic java.lang.Math.abs:(I)I
            istore 6 /* pc */
        start local 6 // int pc
         4: .line 971
            iload 4 /* pa */
            iload 5 /* pb */
            if_icmpgt 6
            iload 4 /* pa */
            iload 6 /* pc */
            if_icmpgt 6
         5: .line 972
            iload 0 /* a */
            ireturn
         6: .line 973
      StackMap locals: int int int int int int int
      StackMap stack:
            iload 5 /* pb */
            iload 6 /* pc */
            if_icmpgt 8
         7: .line 974
            iload 1 /* b */
            ireturn
         8: .line 976
      StackMap locals:
      StackMap stack:
            iload 2 /* c */
            ireturn
        end local 6 // int pc
        end local 5 // int pb
        end local 4 // int pa
        end local 3 // int p
        end local 2 // int c
        end local 1 // int b
        end local 0 // int a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0     a  I
            0    9     1     b  I
            0    9     2     c  I
            1    9     3     p  I
            2    9     4    pa  I
            3    9     5    pb  I
            4    9     6    pc  I
    MethodParameters:
      Name  Flags
      a     
      b     
      c     

  private static void decodePaethFilter(byte[], int, byte[], int, int, int);
    descriptor: ([BI[BIII)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=11, args_size=6
        start local 0 // byte[] curr
        start local 1 // int coff
        start local 2 // byte[] prev
        start local 3 // int poff
        start local 4 // int count
        start local 5 // int bpp
         0: .line 985
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         1: goto 6
         2: .line 986
      StackMap locals: byte[] int byte[] int int int top top top top int
      StackMap stack:
            aload 0 /* curr */
            iload 10 /* i */
            iload 1 /* coff */
            iadd
            baload
            sipush 255
            iand
            istore 6 /* raw */
        start local 6 // int raw
         3: .line 987
            aload 2 /* prev */
            iload 10 /* i */
            iload 3 /* poff */
            iadd
            baload
            sipush 255
            iand
            istore 8 /* priorRow */
        start local 8 // int priorRow
         4: .line 989
            aload 0 /* curr */
            iload 10 /* i */
            iload 1 /* coff */
            iadd
            iload 6 /* raw */
            iload 8 /* priorRow */
            iadd
            i2b
            bastore
         5: .line 985
            iinc 10 /* i */ 1
        end local 8 // int priorRow
        end local 6 // int raw
      StackMap locals:
      StackMap stack:
         6: iload 10 /* i */
            iload 5 /* bpp */
            if_icmplt 2
        end local 10 // int i
         7: .line 992
            iload 5 /* bpp */
            istore 10 /* i */
        start local 10 // int i
         8: goto 18
         9: .line 993
      StackMap locals:
      StackMap stack:
            aload 0 /* curr */
            iload 10 /* i */
            iload 1 /* coff */
            iadd
            baload
            sipush 255
            iand
            istore 6 /* raw */
        start local 6 // int raw
        10: .line 994
            aload 0 /* curr */
            iload 10 /* i */
            iload 1 /* coff */
            iadd
            iload 5 /* bpp */
            isub
            baload
            sipush 255
            iand
            istore 7 /* priorPixel */
        start local 7 // int priorPixel
        11: .line 995
            aload 2 /* prev */
            iload 10 /* i */
            iload 3 /* poff */
            iadd
            baload
            sipush 255
            iand
            istore 8 /* priorRow */
        start local 8 // int priorRow
        12: .line 996
            aload 2 /* prev */
            iload 10 /* i */
            iload 3 /* poff */
            iadd
            iload 5 /* bpp */
            isub
            baload
            sipush 255
            iand
            istore 9 /* priorRowPixel */
        start local 9 // int priorRowPixel
        13: .line 998
            aload 0 /* curr */
            iload 10 /* i */
            iload 1 /* coff */
            iadd
            iload 6 /* raw */
            iload 7 /* priorPixel */
        14: .line 999
            iload 8 /* priorRow */
        15: .line 1000
            iload 9 /* priorRowPixel */
        16: .line 998
            invokestatic com.sun.imageio.plugins.png.PNGImageReader.paethPredictor:(III)I
            iadd
            i2b
            bastore
        17: .line 992
            iinc 10 /* i */ 1
        end local 9 // int priorRowPixel
        end local 8 // int priorRow
        end local 7 // int priorPixel
        end local 6 // int raw
      StackMap locals:
      StackMap stack:
        18: iload 10 /* i */
            iload 4 /* count */
            if_icmplt 9
        end local 10 // int i
        19: .line 1002
            return
        end local 5 // int bpp
        end local 4 // int count
        end local 3 // int poff
        end local 2 // byte[] prev
        end local 1 // int coff
        end local 0 // byte[] curr
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           curr  [B
            0   20     1           coff  I
            0   20     2           prev  [B
            0   20     3           poff  I
            0   20     4          count  I
            0   20     5            bpp  I
            3    6     6            raw  I
           10   18     6            raw  I
           11   18     7     priorPixel  I
            4    6     8       priorRow  I
           12   18     8       priorRow  I
           13   18     9  priorRowPixel  I
            1    7    10              i  I
            8   19    10              i  I
    MethodParameters:
       Name  Flags
      curr   
      coff   
      prev   
      poff   
      count  
      bpp    

  private java.awt.image.WritableRaster createRaster(int, int, int, int, int);
    descriptor: (IIIII)Ljava/awt/image/WritableRaster;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=6
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // int width
        start local 2 // int height
        start local 3 // int bands
        start local 4 // int scanlineStride
        start local 5 // int bitDepth
         0: .line 1017
            aconst_null
            astore 7 /* ras */
        start local 7 // java.awt.image.WritableRaster ras
         1: .line 1018
            new java.awt.Point
            dup
            iconst_0
            iconst_0
            invokespecial java.awt.Point.<init>:(II)V
            astore 8 /* origin */
        start local 8 // java.awt.Point origin
         2: .line 1019
            iload 5 /* bitDepth */
            bipush 8
            if_icmpge 10
            iload 3 /* bands */
            iconst_1
            if_icmpne 10
         3: .line 1020
            new java.awt.image.DataBufferByte
            dup
            iload 2 /* height */
            iload 4 /* scanlineStride */
            imul
            invokespecial java.awt.image.DataBufferByte.<init>:(I)V
            astore 6 /* dataBuffer */
        start local 6 // java.awt.image.DataBuffer dataBuffer
         4: .line 1021
            aload 6 /* dataBuffer */
         5: .line 1022
            iload 1 /* width */
            iload 2 /* height */
         6: .line 1023
            iload 5 /* bitDepth */
         7: .line 1024
            aload 8 /* origin */
         8: .line 1021
            invokestatic java.awt.image.Raster.createPackedRaster:(Ljava/awt/image/DataBuffer;IIILjava/awt/Point;)Ljava/awt/image/WritableRaster;
            astore 7 /* ras */
         9: .line 1025
            goto 28
        end local 6 // java.awt.image.DataBuffer dataBuffer
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int int int int int top java.awt.image.WritableRaster java.awt.Point
      StackMap stack:
        10: iload 5 /* bitDepth */
            bipush 8
            if_icmpgt 20
        11: .line 1026
            new java.awt.image.DataBufferByte
            dup
            iload 2 /* height */
            iload 4 /* scanlineStride */
            imul
            invokespecial java.awt.image.DataBufferByte.<init>:(I)V
            astore 6 /* dataBuffer */
        start local 6 // java.awt.image.DataBuffer dataBuffer
        12: .line 1027
            aload 6 /* dataBuffer */
        13: .line 1028
            iload 1 /* width */
            iload 2 /* height */
        14: .line 1029
            iload 4 /* scanlineStride */
        15: .line 1030
            iload 3 /* bands */
        16: .line 1031
            getstatic com.sun.imageio.plugins.png.PNGImageReader.bandOffsets:[[I
            iload 3 /* bands */
            aaload
        17: .line 1032
            aload 8 /* origin */
        18: .line 1027
            invokestatic java.awt.image.Raster.createInterleavedRaster:(Ljava/awt/image/DataBuffer;IIII[ILjava/awt/Point;)Ljava/awt/image/WritableRaster;
            astore 7 /* ras */
        19: .line 1033
            goto 28
        end local 6 // java.awt.image.DataBuffer dataBuffer
        20: .line 1034
      StackMap locals:
      StackMap stack:
            new java.awt.image.DataBufferUShort
            dup
            iload 2 /* height */
            iload 4 /* scanlineStride */
            imul
            invokespecial java.awt.image.DataBufferUShort.<init>:(I)V
            astore 6 /* dataBuffer */
        start local 6 // java.awt.image.DataBuffer dataBuffer
        21: .line 1035
            aload 6 /* dataBuffer */
        22: .line 1036
            iload 1 /* width */
            iload 2 /* height */
        23: .line 1037
            iload 4 /* scanlineStride */
        24: .line 1038
            iload 3 /* bands */
        25: .line 1039
            getstatic com.sun.imageio.plugins.png.PNGImageReader.bandOffsets:[[I
            iload 3 /* bands */
            aaload
        26: .line 1040
            aload 8 /* origin */
        27: .line 1035
            invokestatic java.awt.image.Raster.createInterleavedRaster:(Ljava/awt/image/DataBuffer;IIII[ILjava/awt/Point;)Ljava/awt/image/WritableRaster;
            astore 7 /* ras */
        28: .line 1043
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int int int int int java.awt.image.DataBuffer java.awt.image.WritableRaster java.awt.Point
      StackMap stack:
            aload 7 /* ras */
            areturn
        end local 8 // java.awt.Point origin
        end local 7 // java.awt.image.WritableRaster ras
        end local 6 // java.awt.image.DataBuffer dataBuffer
        end local 5 // int bitDepth
        end local 4 // int scanlineStride
        end local 3 // int bands
        end local 2 // int height
        end local 1 // int width
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   29     0            this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0   29     1           width  I
            0   29     2          height  I
            0   29     3           bands  I
            0   29     4  scanlineStride  I
            0   29     5        bitDepth  I
            4   10     6      dataBuffer  Ljava/awt/image/DataBuffer;
           12   20     6      dataBuffer  Ljava/awt/image/DataBuffer;
           21   29     6      dataBuffer  Ljava/awt/image/DataBuffer;
            1   29     7             ras  Ljava/awt/image/WritableRaster;
            2   29     8          origin  Ljava/awt/Point;
    MethodParameters:
                Name  Flags
      width           
      height          
      bands           
      scanlineStride  
      bitDepth        

  private void skipPass(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // int passWidth
        start local 2 // int passHeight
         0: .line 1048
            iload 1 /* passWidth */
            ifeq 1
            iload 2 /* passHeight */
            ifne 2
         1: .line 1049
      StackMap locals:
      StackMap stack:
            return
         2: .line 1052
      StackMap locals:
      StackMap stack:
            getstatic com.sun.imageio.plugins.png.PNGImageReader.inputBandsForColorType:[I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            iaload
            istore 3 /* inputBands */
        start local 3 // int inputBands
         3: .line 1054
            iload 3 /* inputBands */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
            imul
            iload 1 /* passWidth */
            invokestatic java.lang.Math.multiplyExact:(II)I
         4: .line 1053
            istore 4 /* bitsPerRow */
        start local 4 // int bitsPerRow
         5: .line 1055
            iload 4 /* bitsPerRow */
            bipush 7
            iadd
            bipush 8
            idiv
            istore 5 /* bytesPerRow */
        start local 5 // int bytesPerRow
         6: .line 1058
            iconst_0
            istore 6 /* srcY */
        start local 6 // int srcY
         7: goto 10
         8: .line 1060
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.pixelStream:Ljava/io/DataInputStream;
            iconst_1
            iload 5 /* bytesPerRow */
            iadd
            invokevirtual java.io.DataInputStream.skipBytes:(I)I
            pop
         9: .line 1058
            iinc 6 /* srcY */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* srcY */
            iload 2 /* passHeight */
            if_icmplt 8
        end local 6 // int srcY
        11: .line 1062
            return
        end local 5 // int bytesPerRow
        end local 4 // int bitsPerRow
        end local 3 // int inputBands
        end local 2 // int passHeight
        end local 1 // int passWidth
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0   12     1    passWidth  I
            0   12     2   passHeight  I
            3   12     3   inputBands  I
            5   12     4   bitsPerRow  I
            6   12     5  bytesPerRow  I
            7   11     6         srcY  I
    Exceptions:
      throws java.io.IOException, javax.imageio.IIOException
    MethodParameters:
            Name  Flags
      passWidth   
      passHeight  

  private void updateImageProgress(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // int newPixels
         0: .line 1065
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.png.PNGImageReader.pixelsDone:I
            iload 1 /* newPixels */
            iadd
            putfield com.sun.imageio.plugins.png.PNGImageReader.pixelsDone:I
         1: .line 1066
            aload 0 /* this */
            ldc 100.0
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.pixelsDone:I
            i2f
            fmul
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.totalPixels:I
            i2f
            fdiv
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processImageProgress:(F)V
         2: .line 1067
            return
        end local 1 // int newPixels
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0    3     1  newPixels  I
    MethodParameters:
           Name  Flags
      newPixels  

  private void decodePass(int, int, int, int, int, int, int);
    descriptor: (IIIIIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=14, locals=50, args_size=8
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // int passNum
        start local 2 // int xStart
        start local 3 // int yStart
        start local 4 // int xStep
        start local 5 // int yStep
        start local 6 // int passWidth
        start local 7 // int passHeight
         0: .line 1074
            iload 6 /* passWidth */
            ifeq 1
            iload 7 /* passHeight */
            ifne 2
         1: .line 1075
      StackMap locals:
      StackMap stack:
            return
         2: .line 1078
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
            iconst_0
            iconst_0
            invokevirtual java.awt.image.BufferedImage.getWritableTile:(II)Ljava/awt/image/WritableRaster;
            astore 8 /* imRas */
        start local 8 // java.awt.image.WritableRaster imRas
         3: .line 1079
            aload 8 /* imRas */
            invokevirtual java.awt.image.WritableRaster.getMinX:()I
            istore 9 /* dstMinX */
        start local 9 // int dstMinX
         4: .line 1080
            iload 9 /* dstMinX */
            aload 8 /* imRas */
            invokevirtual java.awt.image.WritableRaster.getWidth:()I
            iadd
            iconst_1
            isub
            istore 10 /* dstMaxX */
        start local 10 // int dstMaxX
         5: .line 1081
            aload 8 /* imRas */
            invokevirtual java.awt.image.WritableRaster.getMinY:()I
            istore 11 /* dstMinY */
        start local 11 // int dstMinY
         6: .line 1082
            iload 11 /* dstMinY */
            aload 8 /* imRas */
            invokevirtual java.awt.image.WritableRaster.getHeight:()I
            iadd
            iconst_1
            isub
            istore 12 /* dstMaxY */
        start local 12 // int dstMaxY
         7: .line 1086
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.sourceRegion:Ljava/awt/Rectangle;
         8: .line 1087
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.destinationOffset:Ljava/awt/Point;
         9: .line 1088
            iload 9 /* dstMinX */
            iload 11 /* dstMinY */
        10: .line 1089
            iload 10 /* dstMaxX */
            iload 12 /* dstMaxY */
        11: .line 1090
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.sourceXSubsampling:I
        12: .line 1091
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.sourceYSubsampling:I
        13: .line 1092
            iload 2 /* xStart */
            iload 3 /* yStart */
        14: .line 1093
            iload 6 /* passWidth */
            iload 7 /* passHeight */
        15: .line 1094
            iload 4 /* xStep */
            iload 5 /* yStep */
        16: .line 1086
            invokestatic com.sun.imageio.plugins.common.ReaderUtil.computeUpdatedPixels:(Ljava/awt/Rectangle;Ljava/awt/Point;IIIIIIIIIIII)[I
        17: .line 1085
            astore 13 /* vals */
        start local 13 // int[] vals
        18: .line 1095
            aload 13 /* vals */
            iconst_0
            iaload
            istore 14 /* updateMinX */
        start local 14 // int updateMinX
        19: .line 1096
            aload 13 /* vals */
            iconst_1
            iaload
            istore 15 /* updateMinY */
        start local 15 // int updateMinY
        20: .line 1097
            aload 13 /* vals */
            iconst_2
            iaload
            istore 16 /* updateWidth */
        start local 16 // int updateWidth
        21: .line 1098
            aload 13 /* vals */
            iconst_4
            iaload
            istore 17 /* updateXStep */
        start local 17 // int updateXStep
        22: .line 1099
            aload 13 /* vals */
            iconst_5
            iaload
            istore 18 /* updateYStep */
        start local 18 // int updateYStep
        23: .line 1101
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
            istore 19 /* bitDepth */
        start local 19 // int bitDepth
        24: .line 1102
            getstatic com.sun.imageio.plugins.png.PNGImageReader.inputBandsForColorType:[I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            iaload
            istore 20 /* inputBands */
        start local 20 // int inputBands
        25: .line 1103
            iload 19 /* bitDepth */
            bipush 16
            if_icmpne 26
            iconst_2
            goto 27
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int int int int int int int java.awt.image.WritableRaster int int int int int[] int int int int int int int
      StackMap stack:
        26: iconst_1
      StackMap locals:
      StackMap stack: int
        27: istore 21 /* bytesPerPixel */
        start local 21 // int bytesPerPixel
        28: .line 1104
            iload 21 /* bytesPerPixel */
            iload 20 /* inputBands */
            imul
            istore 21 /* bytesPerPixel */
        29: .line 1106
            iload 20 /* inputBands */
            iload 19 /* bitDepth */
            imul
            iload 6 /* passWidth */
            invokestatic java.lang.Math.multiplyExact:(II)I
            istore 22 /* bitsPerRow */
        start local 22 // int bitsPerRow
        30: .line 1107
            iload 22 /* bitsPerRow */
            bipush 7
            iadd
            bipush 8
            idiv
            istore 23 /* bytesPerRow */
        start local 23 // int bytesPerRow
        31: .line 1108
            iload 19 /* bitDepth */
            bipush 16
            if_icmpne 32
            iload 23 /* bytesPerRow */
            iconst_2
            idiv
            goto 33
      StackMap locals: int int int
      StackMap stack:
        32: iload 23 /* bytesPerRow */
      StackMap locals:
      StackMap stack: int
        33: istore 24 /* eltsPerRow */
        start local 24 // int eltsPerRow
        34: .line 1111
            iload 16 /* updateWidth */
            ifne 44
        35: .line 1112
            iconst_0
            istore 25 /* srcY */
        start local 25 // int srcY
        36: goto 42
        37: .line 1114
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 6 /* passWidth */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.updateImageProgress:(I)V
        38: .line 1119
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.abortRequested:()Z
            ifeq 40
        39: .line 1120
            return
        40: .line 1123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.pixelStream:Ljava/io/DataInputStream;
            iconst_1
            iload 23 /* bytesPerRow */
            iadd
            invokevirtual java.io.DataInputStream.skipBytes:(I)I
            pop
        41: .line 1112
            iinc 25 /* srcY */ 1
      StackMap locals:
      StackMap stack:
        42: iload 25 /* srcY */
            iload 7 /* passHeight */
            if_icmplt 37
        end local 25 // int srcY
        43: .line 1125
            return
        44: .line 1133
      StackMap locals:
      StackMap stack:
            iload 14 /* updateMinX */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.destinationOffset:Ljava/awt/Point;
            getfield java.awt.Point.x:I
            isub
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.sourceXSubsampling:I
            imul
        45: .line 1134
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.sourceRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.x:I
        46: .line 1133
            iadd
        47: .line 1132
            istore 25 /* sourceX */
        start local 25 // int sourceX
        48: .line 1135
            iload 25 /* sourceX */
            iload 2 /* xStart */
            isub
            iload 4 /* xStep */
            idiv
            istore 26 /* srcX */
        start local 26 // int srcX
        49: .line 1138
            iload 17 /* updateXStep */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.sourceXSubsampling:I
            imul
            iload 4 /* xStep */
            idiv
            istore 27 /* srcXStep */
        start local 27 // int srcXStep
        50: .line 1140
            aconst_null
            astore 28 /* byteData */
        start local 28 // byte[] byteData
        51: .line 1141
            aconst_null
            astore 29 /* shortData */
        start local 29 // short[] shortData
        52: .line 1142
            iload 23 /* bytesPerRow */
            newarray 8
            astore 30 /* curr */
        start local 30 // byte[] curr
        53: .line 1143
            iload 23 /* bytesPerRow */
            newarray 8
            astore 31 /* prior */
        start local 31 // byte[] prior
        54: .line 1146
            aload 0 /* this */
            iload 6 /* passWidth */
            iconst_1
            iload 20 /* inputBands */
        55: .line 1147
            iload 24 /* eltsPerRow */
        56: .line 1148
            iload 19 /* bitDepth */
        57: .line 1146
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.createRaster:(IIIII)Ljava/awt/image/WritableRaster;
            astore 32 /* passRow */
        start local 32 // java.awt.image.WritableRaster passRow
        58: .line 1151
            aload 32 /* passRow */
            iconst_0
            iconst_0
            aconst_null
            invokevirtual java.awt.image.WritableRaster.getPixel:(II[I)[I
            astore 33 /* ps */
        start local 33 // int[] ps
        59: .line 1153
            aload 32 /* passRow */
            invokevirtual java.awt.image.WritableRaster.getDataBuffer:()Ljava/awt/image/DataBuffer;
            astore 34 /* dataBuffer */
        start local 34 // java.awt.image.DataBuffer dataBuffer
        60: .line 1154
            aload 34 /* dataBuffer */
            invokevirtual java.awt.image.DataBuffer.getDataType:()I
            istore 35 /* type */
        start local 35 // int type
        61: .line 1155
            iload 35 /* type */
            ifne 64
        62: .line 1156
            aload 34 /* dataBuffer */
            checkcast java.awt.image.DataBufferByte
            invokevirtual java.awt.image.DataBufferByte.getData:()[B
            astore 28 /* byteData */
        63: .line 1157
            goto 65
        64: .line 1158
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int int int int int int int java.awt.image.WritableRaster int int int int int[] int int int int int int int int int int int int int int byte[] short[] byte[] byte[] java.awt.image.WritableRaster int[] java.awt.image.DataBuffer int
      StackMap stack:
            aload 34 /* dataBuffer */
            checkcast java.awt.image.DataBufferUShort
            invokevirtual java.awt.image.DataBufferUShort.getData:()[S
            astore 29 /* shortData */
        65: .line 1161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
        66: .line 1162
            iload 1 /* passNum */
        67: .line 1163
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.sourceMinProgressivePass:I
        68: .line 1164
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.sourceMaxProgressivePass:I
        69: .line 1165
            iload 14 /* updateMinX */
            iload 15 /* updateMinY */
        70: .line 1166
            iload 17 /* updateXStep */
            iload 18 /* updateYStep */
        71: .line 1167
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.destinationBands:[I
        72: .line 1161
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processPassStarted:(Ljava/awt/image/BufferedImage;IIIIIII[I)V
        73: .line 1170
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.sourceBands:[I
            ifnull 79
        74: .line 1171
            aload 32 /* passRow */
            iconst_0
            iconst_0
        75: .line 1172
            aload 32 /* passRow */
            invokevirtual java.awt.image.WritableRaster.getWidth:()I
            iconst_1
        76: .line 1173
            iconst_0
            iconst_0
        77: .line 1174
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.sourceBands:[I
        78: .line 1171
            invokevirtual java.awt.image.WritableRaster.createWritableChild:(IIIIII[I)Ljava/awt/image/WritableRaster;
            astore 32 /* passRow */
        79: .line 1176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.destinationBands:[I
            ifnull 86
        80: .line 1177
            aload 8 /* imRas */
            iconst_0
            iconst_0
        81: .line 1178
            aload 8 /* imRas */
            invokevirtual java.awt.image.WritableRaster.getWidth:()I
        82: .line 1179
            aload 8 /* imRas */
            invokevirtual java.awt.image.WritableRaster.getHeight:()I
        83: .line 1180
            iconst_0
            iconst_0
        84: .line 1181
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.destinationBands:[I
        85: .line 1177
            invokevirtual java.awt.image.WritableRaster.createWritableChild:(IIIIII[I)Ljava/awt/image/WritableRaster;
            astore 8 /* imRas */
        86: .line 1186
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 36 /* adjustBitDepths */
        start local 36 // boolean adjustBitDepths
        87: .line 1187
            aload 8 /* imRas */
            invokevirtual java.awt.image.WritableRaster.getSampleModel:()Ljava/awt/image/SampleModel;
            invokevirtual java.awt.image.SampleModel.getSampleSize:()[I
            astore 37 /* outputSampleSize */
        start local 37 // int[] outputSampleSize
        88: .line 1188
            iconst_0
            istore 38 /* b */
        start local 38 // int b
        89: goto 94
        90: .line 1189
      StackMap locals: int int[] int
      StackMap stack:
            aload 37 /* outputSampleSize */
            iload 38 /* b */
            iaload
            iload 19 /* bitDepth */
            if_icmpeq 93
        91: .line 1190
            iconst_1
            istore 36 /* adjustBitDepths */
        92: .line 1191
            goto 95
        93: .line 1188
      StackMap locals:
      StackMap stack:
            iinc 38 /* b */ 1
      StackMap locals:
      StackMap stack:
        94: iload 38 /* b */
            iload 20 /* inputBands */
            if_icmplt 90
        end local 38 // int b
        95: .line 1197
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 38 /* scale */
        start local 38 // int[][] scale
        96: .line 1198
            iload 36 /* adjustBitDepths */
            ifeq 113
        97: .line 1199
            iconst_1
            iload 19 /* bitDepth */
            ishl
            iconst_1
            isub
            istore 39 /* maxInSample */
        start local 39 // int maxInSample
        98: .line 1200
            iload 39 /* maxInSample */
            iconst_2
            idiv
            istore 40 /* halfMaxInSample */
        start local 40 // int halfMaxInSample
        99: .line 1201
            iload 20 /* inputBands */
            anewarray int[]
            astore 38 /* scale */
       100: .line 1202
            iconst_0
            istore 41 /* b */
        start local 41 // int b
       101: goto 112
       102: .line 1203
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int int int int int int int java.awt.image.WritableRaster int int int int int[] int int int int int int int int int int int int int int byte[] short[] byte[] byte[] java.awt.image.WritableRaster int[] java.awt.image.DataBuffer int int int[] int[][] int int int
      StackMap stack:
            iconst_1
            aload 37 /* outputSampleSize */
            iload 41 /* b */
            iaload
            ishl
            iconst_1
            isub
            istore 42 /* maxOutSample */
        start local 42 // int maxOutSample
       103: .line 1204
            aload 38 /* scale */
            iload 41 /* b */
            iload 39 /* maxInSample */
            iconst_1
            iadd
            newarray 10
            aastore
       104: .line 1205
            iconst_0
            istore 43 /* s */
        start local 43 // int s
       105: goto 110
       106: .line 1206
      StackMap locals: int int
      StackMap stack:
            aload 38 /* scale */
            iload 41 /* b */
            aaload
            iload 43 /* s */
       107: .line 1207
            iload 43 /* s */
            iload 42 /* maxOutSample */
            imul
            iload 40 /* halfMaxInSample */
            iadd
            iload 39 /* maxInSample */
            idiv
       108: .line 1206
            iastore
       109: .line 1205
            iinc 43 /* s */ 1
      StackMap locals:
      StackMap stack:
       110: iload 43 /* s */
            iload 39 /* maxInSample */
            if_icmple 106
        end local 43 // int s
        end local 42 // int maxOutSample
       111: .line 1202
            iinc 41 /* b */ 1
      StackMap locals:
      StackMap stack:
       112: iload 41 /* b */
            iload 20 /* inputBands */
            if_icmplt 102
        end local 41 // int b
        end local 40 // int halfMaxInSample
        end local 39 // int maxInSample
       113: .line 1214
      StackMap locals:
      StackMap stack:
            iload 27 /* srcXStep */
            iconst_1
            if_icmpne 118
       114: .line 1215
            iload 17 /* updateXStep */
            iconst_1
            if_icmpne 118
       115: .line 1216
            iload 36 /* adjustBitDepths */
            ifne 118
       116: .line 1217
            aload 8 /* imRas */
            instanceof sun.awt.image.ByteInterleavedRaster
            ifeq 118
       117: .line 1214
            iconst_1
            goto 119
      StackMap locals:
      StackMap stack:
       118: iconst_0
      StackMap locals:
      StackMap stack: int
       119: istore 39 /* useSetRect */
        start local 39 // boolean useSetRect
       120: .line 1219
            iload 39 /* useSetRect */
            ifeq 126
       121: .line 1220
            aload 32 /* passRow */
            iload 26 /* srcX */
            iconst_0
       122: .line 1221
            iload 16 /* updateWidth */
            iconst_1
       123: .line 1222
            iconst_0
            iconst_0
       124: .line 1223
            aconst_null
       125: .line 1220
            invokevirtual java.awt.image.WritableRaster.createWritableChild:(IIIIII[I)Ljava/awt/image/WritableRaster;
            astore 32 /* passRow */
       126: .line 1227
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 40 /* srcY */
        start local 40 // int srcY
       127: goto 235
       128: .line 1229
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 6 /* passWidth */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.updateImageProgress:(I)V
       129: .line 1234
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.abortRequested:()Z
            ifeq 131
       130: .line 1235
            return
       131: .line 1238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.pixelStream:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.read:()I
            istore 41 /* filter */
        start local 41 // int filter
       132: .line 1241
            aload 31 /* prior */
            astore 42 /* tmp */
        start local 42 // byte[] tmp
       133: .line 1242
            aload 30 /* curr */
            astore 31 /* prior */
       134: .line 1243
            aload 42 /* tmp */
            astore 30 /* curr */
       135: .line 1245
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.pixelStream:Ljava/io/DataInputStream;
            aload 30 /* curr */
            iconst_0
            iload 23 /* bytesPerRow */
            invokevirtual java.io.DataInputStream.readFully:([BII)V
        end local 42 // byte[] tmp
       136: .line 1246
            goto 139
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int int int int int int int java.awt.image.WritableRaster int int int int int[] int int int int int int int int int int int int int int byte[] short[] byte[] byte[] java.awt.image.WritableRaster int[] java.awt.image.DataBuffer int int int[] int[][] int int int
      StackMap stack: java.util.zip.ZipException
       137: astore 42 /* ze */
        start local 42 // java.util.zip.ZipException ze
       138: .line 1248
            aload 42 /* ze */
            athrow
        end local 42 // java.util.zip.ZipException ze
       139: .line 1251
      StackMap locals:
      StackMap stack:
            iload 41 /* filter */
            tableswitch { // 0 - 4
                    0: 140
                    1: 141
                    2: 143
                    3: 145
                    4: 149
              default: 153
          }
       140: .line 1253
      StackMap locals:
      StackMap stack:
            goto 156
       141: .line 1255
      StackMap locals:
      StackMap stack:
            aload 30 /* curr */
            iconst_0
            iload 23 /* bytesPerRow */
            iload 21 /* bytesPerPixel */
            invokestatic com.sun.imageio.plugins.png.PNGImageReader.decodeSubFilter:([BIII)V
       142: .line 1256
            goto 156
       143: .line 1258
      StackMap locals:
      StackMap stack:
            aload 30 /* curr */
            iconst_0
            aload 31 /* prior */
            iconst_0
            iload 23 /* bytesPerRow */
            invokestatic com.sun.imageio.plugins.png.PNGImageReader.decodeUpFilter:([BI[BII)V
       144: .line 1259
            goto 156
       145: .line 1261
      StackMap locals:
      StackMap stack:
            aload 30 /* curr */
            iconst_0
            aload 31 /* prior */
            iconst_0
            iload 23 /* bytesPerRow */
       146: .line 1262
            iload 21 /* bytesPerPixel */
       147: .line 1261
            invokestatic com.sun.imageio.plugins.png.PNGImageReader.decodeAverageFilter:([BI[BIII)V
       148: .line 1263
            goto 156
       149: .line 1265
      StackMap locals:
      StackMap stack:
            aload 30 /* curr */
            iconst_0
            aload 31 /* prior */
            iconst_0
            iload 23 /* bytesPerRow */
       150: .line 1266
            iload 21 /* bytesPerPixel */
       151: .line 1265
            invokestatic com.sun.imageio.plugins.png.PNGImageReader.decodePaethFilter:([BI[BIII)V
       152: .line 1267
            goto 156
       153: .line 1269
      StackMap locals:
      StackMap stack:
            new javax.imageio.IIOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown row filter type (= "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       154: .line 1270
            iload 41 /* filter */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")!"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       155: .line 1269
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
       156: .line 1274
      StackMap locals:
      StackMap stack:
            iload 19 /* bitDepth */
            bipush 16
            if_icmpge 159
       157: .line 1275
            aload 30 /* curr */
            iconst_0
            aload 28 /* byteData */
            iconst_0
            iload 23 /* bytesPerRow */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       158: .line 1276
            goto 168
       159: .line 1277
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 42 /* idx */
        start local 42 // int idx
       160: .line 1278
            iconst_0
            istore 43 /* j */
        start local 43 // int j
       161: goto 167
       162: .line 1279
      StackMap locals: int int
      StackMap stack:
            aload 29 /* shortData */
            iload 43 /* j */
       163: .line 1280
            aload 30 /* curr */
            iload 42 /* idx */
            baload
            bipush 8
            ishl
            aload 30 /* curr */
            iload 42 /* idx */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            ior
            i2s
       164: .line 1279
            sastore
       165: .line 1281
            iinc 42 /* idx */ 2
       166: .line 1278
            iinc 43 /* j */ 1
      StackMap locals:
      StackMap stack:
       167: iload 43 /* j */
            iload 24 /* eltsPerRow */
            if_icmplt 162
        end local 43 // int j
        end local 42 // int idx
       168: .line 1286
      StackMap locals:
      StackMap stack:
            iload 40 /* srcY */
            iload 5 /* yStep */
            imul
            iload 3 /* yStart */
            iadd
            istore 42 /* sourceY */
        start local 42 // int sourceY
       169: .line 1287
            iload 42 /* sourceY */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.sourceRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.y:I
            if_icmplt 234
       170: .line 1288
            iload 42 /* sourceY */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.sourceRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.y:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.sourceRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.height:I
            iadd
            if_icmpge 234
       171: .line 1289
            iload 42 /* sourceY */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.sourceRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.y:I
            isub
       172: .line 1290
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.sourceYSubsampling:I
       173: .line 1289
            irem
            ifne 234
       174: .line 1292
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.destinationOffset:Ljava/awt/Point;
            getfield java.awt.Point.y:I
       175: .line 1293
            iload 42 /* sourceY */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.sourceRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.y:I
            isub
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.sourceYSubsampling:I
            idiv
       176: .line 1292
            iadd
            istore 43 /* dstY */
        start local 43 // int dstY
       177: .line 1294
            iload 43 /* dstY */
            iload 11 /* dstMinY */
            if_icmpge 179
       178: .line 1295
            goto 234
       179: .line 1297
      StackMap locals: int int
      StackMap stack:
            iload 43 /* dstY */
            iload 12 /* dstMaxY */
            if_icmple 181
       180: .line 1298
            goto 236
       181: .line 1308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
            invokevirtual java.awt.image.BufferedImage.getSampleModel:()Ljava/awt/image/SampleModel;
            invokevirtual java.awt.image.SampleModel.getNumBands:()I
            iload 20 /* inputBands */
            iconst_1
            iadd
            if_icmpne 184
       182: .line 1309
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            invokevirtual com.sun.imageio.plugins.png.PNGMetadata.hasTransparentColor:()Z
            ifeq 184
       183: .line 1307
            iconst_1
            goto 185
      StackMap locals:
      StackMap stack:
       184: iconst_0
      StackMap locals:
      StackMap stack: int
       185: istore 44 /* tRNSTransparentPixelPresent */
        start local 44 // boolean tRNSTransparentPixelPresent
       186: .line 1310
            iload 39 /* useSetRect */
            ifeq 190
       187: .line 1311
            iload 44 /* tRNSTransparentPixelPresent */
            ifne 190
       188: .line 1312
            aload 8 /* imRas */
            iload 14 /* updateMinX */
            iload 43 /* dstY */
            aload 32 /* passRow */
            invokevirtual java.awt.image.WritableRaster.setRect:(IILjava/awt/image/Raster;)V
       189: .line 1313
            goto 228
       190: .line 1314
      StackMap locals: int
      StackMap stack:
            iload 26 /* srcX */
            istore 45 /* newSrcX */
        start local 45 // int newSrcX
       191: .line 1320
            iload 20 /* inputBands */
            iconst_1
            iadd
            newarray 10
            astore 46 /* temp */
        start local 46 // int[] temp
       192: .line 1321
            iload 19 /* bitDepth */
            bipush 16
            if_icmpge 193
            sipush 255
            goto 194
      StackMap locals: int int[]
      StackMap stack:
       193: ldc 65535
      StackMap locals:
      StackMap stack: int
       194: istore 47 /* opaque */
        start local 47 // int opaque
       195: .line 1322
            iload 14 /* updateMinX */
            istore 48 /* dstX */
        start local 48 // int dstX
       196: .line 1323
            goto 226
       197: .line 1326
      StackMap locals: int int
      StackMap stack:
            aload 32 /* passRow */
            iload 45 /* newSrcX */
            iconst_0
            aload 33 /* ps */
            invokevirtual java.awt.image.WritableRaster.getPixel:(II[I)[I
            pop
       198: .line 1327
            iload 36 /* adjustBitDepths */
            ifeq 204
       199: .line 1328
            iconst_0
            istore 49 /* b */
        start local 49 // int b
       200: goto 203
       201: .line 1329
      StackMap locals: int
      StackMap stack:
            aload 33 /* ps */
            iload 49 /* b */
            aload 38 /* scale */
            iload 49 /* b */
            aaload
            aload 33 /* ps */
            iload 49 /* b */
            iaload
            iaload
            iastore
       202: .line 1328
            iinc 49 /* b */ 1
      StackMap locals:
      StackMap stack:
       203: iload 49 /* b */
            iload 20 /* inputBands */
            if_icmplt 201
        end local 49 // int b
       204: .line 1332
      StackMap locals:
      StackMap stack:
            iload 44 /* tRNSTransparentPixelPresent */
            ifeq 223
       205: .line 1333
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_colorType:I
            iconst_2
            if_icmpne 216
       206: .line 1334
            aload 46 /* temp */
            iconst_0
            aload 33 /* ps */
            iconst_0
            iaload
            iastore
       207: .line 1335
            aload 46 /* temp */
            iconst_1
            aload 33 /* ps */
            iconst_1
            iaload
            iastore
       208: .line 1336
            aload 46 /* temp */
            iconst_2
            aload 33 /* ps */
            iconst_2
            iaload
            iastore
       209: .line 1337
            aload 33 /* ps */
            iconst_0
            iaload
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_red:I
            if_icmpne 214
       210: .line 1338
            aload 33 /* ps */
            iconst_1
            iaload
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_green:I
            if_icmpne 214
       211: .line 1339
            aload 33 /* ps */
            iconst_2
            iaload
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_blue:I
            if_icmpne 214
       212: .line 1340
            aload 46 /* temp */
            iconst_3
            iconst_0
            iastore
       213: .line 1341
            goto 221
       214: .line 1342
      StackMap locals:
      StackMap stack:
            aload 46 /* temp */
            iconst_3
            iload 47 /* opaque */
            iastore
       215: .line 1344
            goto 221
       216: .line 1346
      StackMap locals:
      StackMap stack:
            aload 46 /* temp */
            iconst_0
            aload 33 /* ps */
            iconst_0
            iaload
            iastore
       217: .line 1347
            aload 33 /* ps */
            iconst_0
            iaload
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_gray:I
            if_icmpne 220
       218: .line 1348
            aload 46 /* temp */
            iconst_1
            iconst_0
            iastore
       219: .line 1349
            goto 221
       220: .line 1350
      StackMap locals:
      StackMap stack:
            aload 46 /* temp */
            iconst_1
            iload 47 /* opaque */
            iastore
       221: .line 1353
      StackMap locals:
      StackMap stack:
            aload 8 /* imRas */
            iload 48 /* dstX */
            iload 43 /* dstY */
            aload 46 /* temp */
            invokevirtual java.awt.image.WritableRaster.setPixel:(II[I)V
       222: .line 1354
            goto 224
       223: .line 1355
      StackMap locals:
      StackMap stack:
            aload 8 /* imRas */
            iload 48 /* dstX */
            iload 43 /* dstY */
            aload 33 /* ps */
            invokevirtual java.awt.image.WritableRaster.setPixel:(II[I)V
       224: .line 1357
      StackMap locals:
      StackMap stack:
            iload 45 /* newSrcX */
            iload 27 /* srcXStep */
            iadd
            istore 45 /* newSrcX */
       225: .line 1324
            iload 48 /* dstX */
            iload 17 /* updateXStep */
            iadd
            istore 48 /* dstX */
       226: .line 1323
      StackMap locals:
      StackMap stack:
            iload 48 /* dstX */
            iload 14 /* updateMinX */
            iload 16 /* updateWidth */
            iadd
       227: .line 1322
            if_icmplt 197
        end local 48 // int dstX
        end local 47 // int opaque
        end local 46 // int[] temp
        end local 45 // int newSrcX
       228: .line 1361
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int int int int int int int java.awt.image.WritableRaster int int int int int[] int int int int int int int int int int int int int int byte[] short[] byte[] byte[] java.awt.image.WritableRaster int[] java.awt.image.DataBuffer int int int[] int[][] int int int int int int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
       229: .line 1362
            iload 14 /* updateMinX */
            iload 43 /* dstY */
       230: .line 1363
            iload 16 /* updateWidth */
            iconst_1
       231: .line 1364
            iload 17 /* updateXStep */
            iload 18 /* updateYStep */
       232: .line 1365
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.destinationBands:[I
       233: .line 1361
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processImageUpdate:(Ljava/awt/image/BufferedImage;IIIIII[I)V
        end local 44 // boolean tRNSTransparentPixelPresent
        end local 43 // int dstY
        end local 42 // int sourceY
        end local 41 // int filter
       234: .line 1227
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int int int int int int int java.awt.image.WritableRaster int int int int int[] int int int int int int int int int int int int int int byte[] short[] byte[] byte[] java.awt.image.WritableRaster int[] java.awt.image.DataBuffer int int int[] int[][] int int
      StackMap stack:
            iinc 40 /* srcY */ 1
      StackMap locals:
      StackMap stack:
       235: iload 40 /* srcY */
            iload 7 /* passHeight */
            if_icmplt 128
        end local 40 // int srcY
       236: .line 1369
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processPassComplete:(Ljava/awt/image/BufferedImage;)V
       237: .line 1370
            return
        end local 39 // boolean useSetRect
        end local 38 // int[][] scale
        end local 37 // int[] outputSampleSize
        end local 36 // boolean adjustBitDepths
        end local 35 // int type
        end local 34 // java.awt.image.DataBuffer dataBuffer
        end local 33 // int[] ps
        end local 32 // java.awt.image.WritableRaster passRow
        end local 31 // byte[] prior
        end local 30 // byte[] curr
        end local 29 // short[] shortData
        end local 28 // byte[] byteData
        end local 27 // int srcXStep
        end local 26 // int srcX
        end local 25 // int sourceX
        end local 24 // int eltsPerRow
        end local 23 // int bytesPerRow
        end local 22 // int bitsPerRow
        end local 21 // int bytesPerPixel
        end local 20 // int inputBands
        end local 19 // int bitDepth
        end local 18 // int updateYStep
        end local 17 // int updateXStep
        end local 16 // int updateWidth
        end local 15 // int updateMinY
        end local 14 // int updateMinX
        end local 13 // int[] vals
        end local 12 // int dstMaxY
        end local 11 // int dstMinY
        end local 10 // int dstMaxX
        end local 9 // int dstMinX
        end local 8 // java.awt.image.WritableRaster imRas
        end local 7 // int passHeight
        end local 6 // int passWidth
        end local 5 // int yStep
        end local 4 // int xStep
        end local 3 // int yStart
        end local 2 // int xStart
        end local 1 // int passNum
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0  238     0                         this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0  238     1                      passNum  I
            0  238     2                       xStart  I
            0  238     3                       yStart  I
            0  238     4                        xStep  I
            0  238     5                        yStep  I
            0  238     6                    passWidth  I
            0  238     7                   passHeight  I
            3  238     8                        imRas  Ljava/awt/image/WritableRaster;
            4  238     9                      dstMinX  I
            5  238    10                      dstMaxX  I
            6  238    11                      dstMinY  I
            7  238    12                      dstMaxY  I
           18  238    13                         vals  [I
           19  238    14                   updateMinX  I
           20  238    15                   updateMinY  I
           21  238    16                  updateWidth  I
           22  238    17                  updateXStep  I
           23  238    18                  updateYStep  I
           24  238    19                     bitDepth  I
           25  238    20                   inputBands  I
           28  238    21                bytesPerPixel  I
           30  238    22                   bitsPerRow  I
           31  238    23                  bytesPerRow  I
           34  238    24                   eltsPerRow  I
           36   43    25                         srcY  I
           48  238    25                      sourceX  I
           49  238    26                         srcX  I
           50  238    27                     srcXStep  I
           51  238    28                     byteData  [B
           52  238    29                    shortData  [S
           53  238    30                         curr  [B
           54  238    31                        prior  [B
           58  238    32                      passRow  Ljava/awt/image/WritableRaster;
           59  238    33                           ps  [I
           60  238    34                   dataBuffer  Ljava/awt/image/DataBuffer;
           61  238    35                         type  I
           87  238    36              adjustBitDepths  Z
           88  238    37             outputSampleSize  [I
           89   95    38                            b  I
           96  238    38                        scale  [[I
           98  113    39                  maxInSample  I
           99  113    40              halfMaxInSample  I
          101  113    41                            b  I
          103  111    42                 maxOutSample  I
          105  111    43                            s  I
          120  238    39                   useSetRect  Z
          127  236    40                         srcY  I
          132  234    41                       filter  I
          133  136    42                          tmp  [B
          138  139    42                           ze  Ljava/util/zip/ZipException;
          160  168    42                          idx  I
          161  168    43                            j  I
          169  234    42                      sourceY  I
          177  234    43                         dstY  I
          186  234    44  tRNSTransparentPixelPresent  Z
          191  228    45                      newSrcX  I
          192  228    46                         temp  [I
          195  228    47                       opaque  I
          196  228    48                         dstX  I
          200  204    49                            b  I
      Exception table:
        from    to  target  type
         132   136     137  Class java.util.zip.ZipException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      passNum     
      xStart      
      yStart      
      xStep       
      yStep       
      passWidth   
      passHeight  

  private void decodeImage();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=10, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
         0: .line 1374
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_width:I
            istore 1 /* width */
        start local 1 // int width
         1: .line 1375
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_height:I
            istore 2 /* height */
        start local 2 // int height
         2: .line 1377
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGImageReader.pixelsDone:I
         3: .line 1378
            aload 0 /* this */
            iload 1 /* width */
            iload 2 /* height */
            imul
            putfield com.sun.imageio.plugins.png.PNGImageReader.totalPixels:I
         4: .line 1380
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_interlaceMethod:I
            ifne 7
         5: .line 1381
            aload 0 /* this */
            iconst_0
            iconst_0
            iconst_0
            iconst_1
            iconst_1
            iload 1 /* width */
            iload 2 /* height */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.decodePass:(IIIIIII)V
         6: .line 1382
            goto 32
         7: .line 1383
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 31
         9: .line 1384
      StackMap locals: int
      StackMap stack:
            getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7XOffset:[I
            iload 3 /* i */
            iaload
            istore 4 /* XOffset */
        start local 4 // int XOffset
        10: .line 1385
            getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7YOffset:[I
            iload 3 /* i */
            iaload
            istore 5 /* YOffset */
        start local 5 // int YOffset
        11: .line 1386
            getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7XSubsampling:[I
            iload 3 /* i */
            iaload
            istore 6 /* XSubsampling */
        start local 6 // int XSubsampling
        12: .line 1387
            getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7YSubsampling:[I
            iload 3 /* i */
            iaload
            istore 7 /* YSubsampling */
        start local 7 // int YSubsampling
        13: .line 1388
            getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7XSubsampling:[I
            iload 3 /* i */
            iconst_1
            iadd
            iaload
            iconst_1
            isub
            istore 8 /* xbump */
        start local 8 // int xbump
        14: .line 1389
            getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7YSubsampling:[I
            iload 3 /* i */
            iconst_1
            iadd
            iaload
            iconst_1
            isub
            istore 9 /* ybump */
        start local 9 // int ybump
        15: .line 1391
            iload 3 /* i */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.sourceMinProgressivePass:I
            if_icmplt 25
        16: .line 1392
            aload 0 /* this */
            iload 3 /* i */
        17: .line 1393
            iload 4 /* XOffset */
        18: .line 1394
            iload 5 /* YOffset */
        19: .line 1395
            iload 6 /* XSubsampling */
        20: .line 1396
            iload 7 /* YSubsampling */
        21: .line 1397
            iload 1 /* width */
            iload 8 /* xbump */
            iadd
            iload 6 /* XSubsampling */
            idiv
        22: .line 1398
            iload 2 /* height */
            iload 9 /* ybump */
            iadd
            iload 7 /* YSubsampling */
            idiv
        23: .line 1392
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.decodePass:(IIIIIII)V
        24: .line 1399
            goto 28
        25: .line 1400
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int int int int int int int int int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* width */
            iload 8 /* xbump */
            iadd
            iload 6 /* XSubsampling */
            idiv
        26: .line 1401
            iload 2 /* height */
            iload 9 /* ybump */
            iadd
            iload 7 /* YSubsampling */
            idiv
        27: .line 1400
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.skipPass:(II)V
        28: .line 1408
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.abortRequested:()Z
            ifeq 30
        29: .line 1409
            return
        end local 9 // int ybump
        end local 8 // int xbump
        end local 7 // int YSubsampling
        end local 6 // int XSubsampling
        end local 5 // int YOffset
        end local 4 // int XOffset
        30: .line 1383
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int int int
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 3 /* i */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.sourceMaxProgressivePass:I
            if_icmple 9
        end local 3 // int i
        32: .line 1413
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int height
        end local 1 // int width
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   33     0          this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            1   33     1         width  I
            2   33     2        height  I
            8   32     3             i  I
           10   30     4       XOffset  I
           11   30     5       YOffset  I
           12   30     6  XSubsampling  I
           13   30     7  YSubsampling  I
           14   30     8         xbump  I
           15   30     9         ybump  I
    Exceptions:
      throws java.io.IOException, javax.imageio.IIOException

  private void readImage(javax.imageio.ImageReadParam);
    descriptor: (Ljavax/imageio/ImageReadParam;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=10, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // javax.imageio.ImageReadParam param
         0: .line 1416
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readMetadata:()V
         1: .line 1418
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_width:I
            istore 2 /* width */
        start local 2 // int width
         2: .line 1419
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_height:I
            istore 3 /* height */
        start local 3 // int height
         3: .line 1422
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGImageReader.sourceXSubsampling:I
         4: .line 1423
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGImageReader.sourceYSubsampling:I
         5: .line 1424
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGImageReader.sourceMinProgressivePass:I
         6: .line 1425
            aload 0 /* this */
            bipush 6
            putfield com.sun.imageio.plugins.png.PNGImageReader.sourceMaxProgressivePass:I
         7: .line 1426
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageReader.sourceBands:[I
         8: .line 1427
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageReader.destinationBands:[I
         9: .line 1428
            aload 0 /* this */
            new java.awt.Point
            dup
            iconst_0
            iconst_0
            invokespecial java.awt.Point.<init>:(II)V
            putfield com.sun.imageio.plugins.png.PNGImageReader.destinationOffset:Ljava/awt/Point;
        10: .line 1431
            aload 1 /* param */
            ifnull 22
        11: .line 1432
            aload 0 /* this */
            aload 1 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSourceXSubsampling:()I
            putfield com.sun.imageio.plugins.png.PNGImageReader.sourceXSubsampling:I
        12: .line 1433
            aload 0 /* this */
            aload 1 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSourceYSubsampling:()I
            putfield com.sun.imageio.plugins.png.PNGImageReader.sourceYSubsampling:I
        13: .line 1435
            aload 0 /* this */
        14: .line 1436
            aload 1 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSourceMinProgressivePass:()I
            iconst_0
            invokestatic java.lang.Math.max:(II)I
        15: .line 1435
            putfield com.sun.imageio.plugins.png.PNGImageReader.sourceMinProgressivePass:I
        16: .line 1437
            aload 0 /* this */
        17: .line 1438
            aload 1 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSourceMaxProgressivePass:()I
            bipush 6
            invokestatic java.lang.Math.min:(II)I
        18: .line 1437
            putfield com.sun.imageio.plugins.png.PNGImageReader.sourceMaxProgressivePass:I
        19: .line 1440
            aload 0 /* this */
            aload 1 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSourceBands:()[I
            putfield com.sun.imageio.plugins.png.PNGImageReader.sourceBands:[I
        20: .line 1441
            aload 0 /* this */
            aload 1 /* param */
            invokevirtual javax.imageio.ImageReadParam.getDestinationBands:()[I
            putfield com.sun.imageio.plugins.png.PNGImageReader.destinationBands:[I
        21: .line 1442
            aload 0 /* this */
            aload 1 /* param */
            invokevirtual javax.imageio.ImageReadParam.getDestinationOffset:()Ljava/awt/Point;
            putfield com.sun.imageio.plugins.png.PNGImageReader.destinationOffset:Ljava/awt/Point;
        22: .line 1444
      StackMap locals: int int
      StackMap stack:
            aconst_null
            astore 4 /* inf */
        start local 4 // java.util.zip.Inflater inf
        23: .line 1446
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.imageStartPosition:J
            invokeinterface javax.imageio.stream.ImageInputStream.seek:(J)V
        24: .line 1448
            new com.sun.imageio.plugins.png.PNGImageDataEnumeration
            dup
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokespecial com.sun.imageio.plugins.png.PNGImageDataEnumeration.<init>:(Ljavax/imageio/stream/ImageInputStream;)V
            astore 5 /* e */
        start local 5 // java.util.Enumeration e
        25: .line 1449
            new java.io.SequenceInputStream
            dup
            aload 5 /* e */
            invokespecial java.io.SequenceInputStream.<init>:(Ljava/util/Enumeration;)V
            astore 6 /* is */
        start local 6 // java.io.InputStream is
        26: .line 1462
            new java.util.zip.Inflater
            dup
            invokespecial java.util.zip.Inflater.<init>:()V
            astore 4 /* inf */
        27: .line 1463
            new java.util.zip.InflaterInputStream
            dup
            aload 6 /* is */
            aload 4 /* inf */
            invokespecial java.util.zip.InflaterInputStream.<init>:(Ljava/io/InputStream;Ljava/util/zip/Inflater;)V
            astore 6 /* is */
        28: .line 1464
            new java.io.BufferedInputStream
            dup
            aload 6 /* is */
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            astore 6 /* is */
        29: .line 1465
            aload 0 /* this */
            new java.io.DataInputStream
            dup
            aload 6 /* is */
            invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
            putfield com.sun.imageio.plugins.png.PNGImageReader.pixelStream:Ljava/io/DataInputStream;
        30: .line 1481
            aload 0 /* this */
            aload 1 /* param */
        31: .line 1482
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.getImageTypes:(I)Ljava/util/Iterator;
        32: .line 1483
            iload 2 /* width */
        33: .line 1484
            iload 3 /* height */
        34: .line 1481
            invokestatic com.sun.imageio.plugins.png.PNGImageReader.getDestination:(Ljavax/imageio/ImageReadParam;Ljava/util/Iterator;II)Ljava/awt/image/BufferedImage;
            putfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
        35: .line 1486
            new java.awt.Rectangle
            dup
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            astore 7 /* destRegion */
        start local 7 // java.awt.Rectangle destRegion
        36: .line 1487
            aload 0 /* this */
            new java.awt.Rectangle
            dup
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            putfield com.sun.imageio.plugins.png.PNGImageReader.sourceRegion:Ljava/awt/Rectangle;
        37: .line 1488
            aload 1 /* param */
            iload 2 /* width */
            iload 3 /* height */
        38: .line 1489
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
        39: .line 1490
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.sourceRegion:Ljava/awt/Rectangle;
            aload 7 /* destRegion */
        40: .line 1488
            invokestatic com.sun.imageio.plugins.png.PNGImageReader.computeRegions:(Ljavax/imageio/ImageReadParam;IILjava/awt/image/BufferedImage;Ljava/awt/Rectangle;Ljava/awt/Rectangle;)V
        41: .line 1491
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.destinationOffset:Ljava/awt/Point;
            aload 7 /* destRegion */
            invokevirtual java.awt.Rectangle.getLocation:()Ljava/awt/Point;
            invokevirtual java.awt.Point.setLocation:(Ljava/awt/Point;)V
        42: .line 1496
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            istore 8 /* colorType */
        start local 8 // int colorType
        43: .line 1497
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
            invokevirtual java.awt.image.BufferedImage.getSampleModel:()Ljava/awt/image/SampleModel;
            invokevirtual java.awt.image.SampleModel.getNumBands:()I
        44: .line 1498
            getstatic com.sun.imageio.plugins.png.PNGImageReader.inputBandsForColorType:[I
            iload 8 /* colorType */
            iaload
            iconst_1
            iadd
        45: .line 1497
            if_icmpne 52
        46: .line 1499
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            invokevirtual com.sun.imageio.plugins.png.PNGMetadata.hasTransparentColor:()Z
            ifeq 52
        47: .line 1500
            aload 1 /* param */
        48: .line 1501
            getstatic com.sun.imageio.plugins.png.PNGImageReader.inputBandsForColorType:[I
            iload 8 /* colorType */
            iaload
            iconst_1
            iadd
        49: .line 1502
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
            invokevirtual java.awt.image.BufferedImage.getSampleModel:()Ljava/awt/image/SampleModel;
            invokevirtual java.awt.image.SampleModel.getNumBands:()I
        50: .line 1500
            invokestatic com.sun.imageio.plugins.png.PNGImageReader.checkReadParamBandSettings:(Ljavax/imageio/ImageReadParam;II)V
        51: .line 1503
            goto 56
        52: .line 1504
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader javax.imageio.ImageReadParam int int java.util.zip.Inflater java.util.Enumeration java.io.InputStream java.awt.Rectangle int
      StackMap stack:
            aload 1 /* param */
        53: .line 1505
            getstatic com.sun.imageio.plugins.png.PNGImageReader.inputBandsForColorType:[I
            iload 8 /* colorType */
            iaload
        54: .line 1506
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
            invokevirtual java.awt.image.BufferedImage.getSampleModel:()Ljava/awt/image/SampleModel;
            invokevirtual java.awt.image.SampleModel.getNumBands:()I
        55: .line 1504
            invokestatic com.sun.imageio.plugins.png.PNGImageReader.checkReadParamBandSettings:(Ljavax/imageio/ImageReadParam;II)V
        56: .line 1509
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.clearAbortRequest:()V
        57: .line 1510
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processImageStarted:(I)V
        58: .line 1511
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.abortRequested:()Z
            ifeq 61
        59: .line 1512
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processReadAborted:()V
        60: .line 1513
            goto 73
        61: .line 1514
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.decodeImage:()V
        62: .line 1515
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.abortRequested:()Z
            ifeq 65
        63: .line 1516
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processReadAborted:()V
        64: .line 1517
            goto 73
        65: .line 1518
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.processImageComplete:()V
        end local 8 // int colorType
        end local 7 // java.awt.Rectangle destRegion
        end local 6 // java.io.InputStream is
        end local 5 // java.util.Enumeration e
        66: .line 1522
            goto 73
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader javax.imageio.ImageReadParam int int java.util.zip.Inflater
      StackMap stack: java.io.IOException
        67: astore 5 /* e */
        start local 5 // java.io.IOException e
        68: .line 1523
            new javax.imageio.IIOException
            dup
            ldc "Error reading PNG image data"
            aload 5 /* e */
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.io.IOException e
        69: .line 1524
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        70: .line 1525
            aload 4 /* inf */
            ifnull 72
        71: .line 1526
            aload 4 /* inf */
            invokevirtual java.util.zip.Inflater.end:()V
        72: .line 1528
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader javax.imageio.ImageReadParam int int java.util.zip.Inflater top top top top java.lang.Throwable
      StackMap stack:
            aload 9
            athrow
        73: .line 1525
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader javax.imageio.ImageReadParam int int java.util.zip.Inflater
      StackMap stack:
            aload 4 /* inf */
            ifnull 75
        74: .line 1526
            aload 4 /* inf */
            invokevirtual java.util.zip.Inflater.end:()V
        75: .line 1529
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.util.zip.Inflater inf
        end local 3 // int height
        end local 2 // int width
        end local 1 // javax.imageio.ImageReadParam param
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   76     0        this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0   76     1       param  Ljavax/imageio/ImageReadParam;
            2   76     2       width  I
            3   76     3      height  I
           23   76     4         inf  Ljava/util/zip/Inflater;
           25   66     5           e  Ljava/util/Enumeration<Ljava/io/InputStream;>;
           26   66     6          is  Ljava/io/InputStream;
           36   66     7  destRegion  Ljava/awt/Rectangle;
           43   66     8   colorType  I
           68   69     5           e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          23    66      67  Class java.io.IOException
          23    69      69  any
    Exceptions:
      throws javax.imageio.IIOException
    MethodParameters:
       Name  Flags
      param  

  public int getNumImages(boolean);
    descriptor: (Z)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // boolean allowSearch
         0: .line 1533
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            ifnonnull 2
         1: .line 1534
            new java.lang.IllegalStateException
            dup
            ldc "No input source set!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1536
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.seekForwardOnly:Z
            ifeq 6
            iload 1 /* allowSearch */
            ifeq 6
         3: .line 1537
            new java.lang.IllegalStateException
            dup
         4: .line 1538
            ldc "seekForwardOnly and allowSearch can't both be true!"
         5: .line 1537
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1540
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // boolean allowSearch
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0    7     1  allowSearch  Z
    Exceptions:
      throws javax.imageio.IIOException
    MethodParameters:
             Name  Flags
      allowSearch  

  public int getWidth(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // int imageIndex
         0: .line 1545
            iload 1 /* imageIndex */
            ifeq 2
         1: .line 1546
            new java.lang.IndexOutOfBoundsException
            dup
            ldc "imageIndex != 0!"
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1549
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readHeader:()V
         3: .line 1551
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_width:I
            ireturn
        end local 1 // int imageIndex
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0    4     1  imageIndex  I
    Exceptions:
      throws javax.imageio.IIOException
    MethodParameters:
            Name  Flags
      imageIndex  

  public int getHeight(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // int imageIndex
         0: .line 1556
            iload 1 /* imageIndex */
            ifeq 2
         1: .line 1557
            new java.lang.IndexOutOfBoundsException
            dup
            ldc "imageIndex != 0!"
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1560
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readHeader:()V
         3: .line 1562
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_height:I
            ireturn
        end local 1 // int imageIndex
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0    4     1  imageIndex  I
    Exceptions:
      throws javax.imageio.IIOException
    MethodParameters:
            Name  Flags
      imageIndex  

  public java.util.Iterator<javax.imageio.ImageTypeSpecifier> getImageTypes(int);
    descriptor: (I)Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=14, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // int imageIndex
         0: .line 1569
            iload 1 /* imageIndex */
            ifeq 2
         1: .line 1570
            new java.lang.IndexOutOfBoundsException
            dup
            ldc "imageIndex != 0!"
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1573
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readHeader:()V
         3: .line 1576
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
         4: .line 1575
            astore 2 /* l */
        start local 2 // java.util.ArrayList l
         5: .line 1582
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
            istore 6 /* bitDepth */
        start local 6 // int bitDepth
         6: .line 1583
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            istore 7 /* colorType */
        start local 7 // int colorType
         7: .line 1586
            iload 6 /* bitDepth */
            bipush 8
            if_icmpgt 10
         8: .line 1587
            iconst_0
            istore 8 /* dataType */
        start local 8 // int dataType
         9: .line 1588
            goto 11
        end local 8 // int dataType
        10: .line 1589
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int java.util.ArrayList top top top int int
      StackMap stack:
            iconst_1
            istore 8 /* dataType */
        start local 8 // int dataType
        11: .line 1592
      StackMap locals: int
      StackMap stack:
            iload 7 /* colorType */
            tableswitch { // 0 - 6
                    0: 12
                    1: 133
                    2: 29
                    3: 68
                    4: 102
                    5: 133
                    6: 113
              default: 133
          }
        12: .line 1600
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readMetadata:()V
        13: .line 1602
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            invokevirtual com.sun.imageio.plugins.png.PNGMetadata.hasTransparentColor:()Z
            ifeq 24
        14: .line 1603
            sipush 1003
            invokestatic java.awt.color.ColorSpace.getInstance:(I)Ljava/awt/color/ColorSpace;
            astore 4 /* gray */
        start local 4 // java.awt.color.ColorSpace gray
        15: .line 1604
            iconst_2
            newarray 10
            astore 5 /* bandOffsets */
        start local 5 // int[] bandOffsets
        16: .line 1605
            aload 5 /* bandOffsets */
            iconst_0
            iconst_0
            iastore
        17: .line 1606
            aload 5 /* bandOffsets */
            iconst_1
            iconst_1
            iastore
        18: .line 1607
            aload 2 /* l */
            aload 4 /* gray */
        19: .line 1608
            aload 5 /* bandOffsets */
        20: .line 1609
            iload 8 /* dataType */
        21: .line 1610
            iconst_1
        22: .line 1611
            iconst_0
        23: .line 1607
            invokestatic javax.imageio.ImageTypeSpecifier.createInterleaved:(Ljava/awt/color/ColorSpace;[IIZZ)Ljavax/imageio/ImageTypeSpecifier;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // int[] bandOffsets
        end local 4 // java.awt.color.ColorSpace gray
        24: .line 1614
      StackMap locals:
      StackMap stack:
            aload 2 /* l */
            iload 6 /* bitDepth */
        25: .line 1615
            iload 8 /* dataType */
        26: .line 1616
            iconst_0
        27: .line 1614
            invokestatic javax.imageio.ImageTypeSpecifier.createGrayscale:(IIZ)Ljavax/imageio/ImageTypeSpecifier;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        28: .line 1617
            goto 133
        29: .line 1620
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readMetadata:()V
        30: .line 1622
            iload 6 /* bitDepth */
            bipush 8
            if_icmpne 44
        31: .line 1623
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            invokevirtual com.sun.imageio.plugins.png.PNGMetadata.hasTransparentColor:()Z
            ifeq 35
        32: .line 1624
            aload 2 /* l */
        33: .line 1625
            bipush 6
        34: .line 1624
            invokestatic javax.imageio.ImageTypeSpecifier.createFromBufferedImageType:(I)Ljavax/imageio/ImageTypeSpecifier;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        35: .line 1629
      StackMap locals:
      StackMap stack:
            aload 2 /* l */
        36: .line 1630
            iconst_5
        37: .line 1629
            invokestatic javax.imageio.ImageTypeSpecifier.createFromBufferedImageType:(I)Ljavax/imageio/ImageTypeSpecifier;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        38: .line 1632
            aload 2 /* l */
        39: .line 1633
            iconst_1
        40: .line 1632
            invokestatic javax.imageio.ImageTypeSpecifier.createFromBufferedImageType:(I)Ljavax/imageio/ImageTypeSpecifier;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        41: .line 1635
            aload 2 /* l */
        42: .line 1636
            iconst_4
        43: .line 1635
            invokestatic javax.imageio.ImageTypeSpecifier.createFromBufferedImageType:(I)Ljavax/imageio/ImageTypeSpecifier;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        44: .line 1640
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            invokevirtual com.sun.imageio.plugins.png.PNGMetadata.hasTransparentColor:()Z
            ifeq 56
        45: .line 1641
            sipush 1000
            invokestatic java.awt.color.ColorSpace.getInstance:(I)Ljava/awt/color/ColorSpace;
            astore 3 /* rgb */
        start local 3 // java.awt.color.ColorSpace rgb
        46: .line 1642
            iconst_4
            newarray 10
            astore 5 /* bandOffsets */
        start local 5 // int[] bandOffsets
        47: .line 1643
            aload 5 /* bandOffsets */
            iconst_0
            iconst_0
            iastore
        48: .line 1644
            aload 5 /* bandOffsets */
            iconst_1
            iconst_1
            iastore
        49: .line 1645
            aload 5 /* bandOffsets */
            iconst_2
            iconst_2
            iastore
        50: .line 1646
            aload 5 /* bandOffsets */
            iconst_3
            iconst_3
            iastore
        51: .line 1648
            aload 2 /* l */
        52: .line 1649
            aload 3 /* rgb */
            aload 5 /* bandOffsets */
        53: .line 1650
            iload 8 /* dataType */
            iconst_1
            iconst_0
        54: .line 1649
            invokestatic javax.imageio.ImageTypeSpecifier.createInterleaved:(Ljava/awt/color/ColorSpace;[IIZZ)Ljavax/imageio/ImageTypeSpecifier;
        55: .line 1648
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // int[] bandOffsets
        end local 3 // java.awt.color.ColorSpace rgb
        56: .line 1653
      StackMap locals:
      StackMap stack:
            sipush 1000
            invokestatic java.awt.color.ColorSpace.getInstance:(I)Ljava/awt/color/ColorSpace;
            astore 3 /* rgb */
        start local 3 // java.awt.color.ColorSpace rgb
        57: .line 1654
            iconst_3
            newarray 10
            astore 5 /* bandOffsets */
        start local 5 // int[] bandOffsets
        58: .line 1655
            aload 5 /* bandOffsets */
            iconst_0
            iconst_0
            iastore
        59: .line 1656
            aload 5 /* bandOffsets */
            iconst_1
            iconst_1
            iastore
        60: .line 1657
            aload 5 /* bandOffsets */
            iconst_2
            iconst_2
            iastore
        61: .line 1658
            aload 2 /* l */
            aload 3 /* rgb */
        62: .line 1659
            aload 5 /* bandOffsets */
        63: .line 1660
            iload 8 /* dataType */
        64: .line 1661
            iconst_0
        65: .line 1662
            iconst_0
        66: .line 1658
            invokestatic javax.imageio.ImageTypeSpecifier.createInterleaved:(Ljava/awt/color/ColorSpace;[IIZZ)Ljavax/imageio/ImageTypeSpecifier;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        67: .line 1663
            goto 133
        end local 5 // int[] bandOffsets
        end local 3 // java.awt.color.ColorSpace rgb
        68: .line 1666
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readMetadata:()V
        69: .line 1692
            iconst_1
            iload 6 /* bitDepth */
            ishl
            istore 9 /* plength */
        start local 9 // int plength
        70: .line 1694
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_red:[B
            astore 10 /* red */
        start local 10 // byte[] red
        71: .line 1695
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_green:[B
            astore 11 /* green */
        start local 11 // byte[] green
        72: .line 1696
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_blue:[B
            astore 12 /* blue */
        start local 12 // byte[] blue
        73: .line 1698
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_red:[B
            arraylength
            iload 9 /* plength */
            if_icmpge 86
        74: .line 1699
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_red:[B
            iload 9 /* plength */
            invokestatic java.util.Arrays.copyOf:([BI)[B
            astore 10 /* red */
        75: .line 1700
            aload 10 /* red */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_red:[B
            arraylength
            iload 9 /* plength */
        76: .line 1701
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_red:[B
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_red:[B
            arraylength
            iconst_1
            isub
            baload
        77: .line 1700
            invokestatic java.util.Arrays.fill:([BIIB)V
        78: .line 1703
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_green:[B
            iload 9 /* plength */
            invokestatic java.util.Arrays.copyOf:([BI)[B
            astore 11 /* green */
        79: .line 1704
            aload 11 /* green */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_green:[B
            arraylength
            iload 9 /* plength */
        80: .line 1705
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_green:[B
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_green:[B
            arraylength
            iconst_1
            isub
            baload
        81: .line 1704
            invokestatic java.util.Arrays.fill:([BIIB)V
        82: .line 1707
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_blue:[B
            iload 9 /* plength */
            invokestatic java.util.Arrays.copyOf:([BI)[B
            astore 12 /* blue */
        83: .line 1708
            aload 12 /* blue */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_blue:[B
            arraylength
            iload 9 /* plength */
        84: .line 1709
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_blue:[B
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_blue:[B
            arraylength
            iconst_1
            isub
            baload
        85: .line 1708
            invokestatic java.util.Arrays.fill:([BIIB)V
        86: .line 1716
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int java.util.ArrayList top top top int int int int byte[] byte[] byte[]
      StackMap stack:
            aconst_null
            astore 13 /* alpha */
        start local 13 // byte[] alpha
        87: .line 1717
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_present:Z
            ifeq 96
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_alpha:[B
            ifnull 96
        88: .line 1718
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_alpha:[B
            arraylength
            aload 10 /* red */
            arraylength
            if_icmpne 91
        89: .line 1719
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_alpha:[B
            astore 13 /* alpha */
        90: .line 1720
            goto 96
        91: .line 1721
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_alpha:[B
            aload 10 /* red */
            arraylength
            invokestatic java.util.Arrays.copyOf:([BI)[B
            astore 13 /* alpha */
        92: .line 1722
            aload 13 /* alpha */
        93: .line 1723
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_alpha:[B
            arraylength
        94: .line 1724
            aload 10 /* red */
            arraylength
            iconst_m1
        95: .line 1722
            invokestatic java.util.Arrays.fill:([BIIB)V
        96: .line 1728
      StackMap locals:
      StackMap stack:
            aload 2 /* l */
            aload 10 /* red */
            aload 11 /* green */
        97: .line 1729
            aload 12 /* blue */
            aload 13 /* alpha */
        98: .line 1730
            iload 6 /* bitDepth */
        99: .line 1731
            iconst_0
       100: .line 1728
            invokestatic javax.imageio.ImageTypeSpecifier.createIndexed:([B[B[B[BII)Ljavax/imageio/ImageTypeSpecifier;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
       101: .line 1732
            goto 133
        end local 13 // byte[] alpha
        end local 12 // byte[] blue
        end local 11 // byte[] green
        end local 10 // byte[] red
        end local 9 // int plength
       102: .line 1736
      StackMap locals: com.sun.imageio.plugins.png.PNGImageReader int java.util.ArrayList top top top int int int
      StackMap stack:
            sipush 1003
            invokestatic java.awt.color.ColorSpace.getInstance:(I)Ljava/awt/color/ColorSpace;
            astore 4 /* gray */
        start local 4 // java.awt.color.ColorSpace gray
       103: .line 1737
            iconst_2
            newarray 10
            astore 5 /* bandOffsets */
        start local 5 // int[] bandOffsets
       104: .line 1738
            aload 5 /* bandOffsets */
            iconst_0
            iconst_0
            iastore
       105: .line 1739
            aload 5 /* bandOffsets */
            iconst_1
            iconst_1
            iastore
       106: .line 1740
            aload 2 /* l */
            aload 4 /* gray */
       107: .line 1741
            aload 5 /* bandOffsets */
       108: .line 1742
            iload 8 /* dataType */
       109: .line 1743
            iconst_1
       110: .line 1744
            iconst_0
       111: .line 1740
            invokestatic javax.imageio.ImageTypeSpecifier.createInterleaved:(Ljava/awt/color/ColorSpace;[IIZZ)Ljavax/imageio/ImageTypeSpecifier;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
       112: .line 1745
            goto 133
        end local 5 // int[] bandOffsets
        end local 4 // java.awt.color.ColorSpace gray
       113: .line 1748
      StackMap locals:
      StackMap stack:
            iload 6 /* bitDepth */
            bipush 8
            if_icmpne 120
       114: .line 1751
            aload 2 /* l */
       115: .line 1752
            bipush 6
       116: .line 1751
            invokestatic javax.imageio.ImageTypeSpecifier.createFromBufferedImageType:(I)Ljavax/imageio/ImageTypeSpecifier;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
       117: .line 1754
            aload 2 /* l */
       118: .line 1755
            iconst_2
       119: .line 1754
            invokestatic javax.imageio.ImageTypeSpecifier.createFromBufferedImageType:(I)Ljavax/imageio/ImageTypeSpecifier;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
       120: .line 1759
      StackMap locals:
      StackMap stack:
            sipush 1000
            invokestatic java.awt.color.ColorSpace.getInstance:(I)Ljava/awt/color/ColorSpace;
            astore 3 /* rgb */
        start local 3 // java.awt.color.ColorSpace rgb
       121: .line 1760
            iconst_4
            newarray 10
            astore 5 /* bandOffsets */
        start local 5 // int[] bandOffsets
       122: .line 1761
            aload 5 /* bandOffsets */
            iconst_0
            iconst_0
            iastore
       123: .line 1762
            aload 5 /* bandOffsets */
            iconst_1
            iconst_1
            iastore
       124: .line 1763
            aload 5 /* bandOffsets */
            iconst_2
            iconst_2
            iastore
       125: .line 1764
            aload 5 /* bandOffsets */
            iconst_3
            iconst_3
            iastore
       126: .line 1766
            aload 2 /* l */
            aload 3 /* rgb */
       127: .line 1767
            aload 5 /* bandOffsets */
       128: .line 1768
            iload 8 /* dataType */
       129: .line 1769
            iconst_1
       130: .line 1770
            iconst_0
       131: .line 1766
            invokestatic javax.imageio.ImageTypeSpecifier.createInterleaved:(Ljava/awt/color/ColorSpace;[IIZZ)Ljavax/imageio/ImageTypeSpecifier;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
       132: .line 1771
            goto 133
        end local 5 // int[] bandOffsets
        end local 3 // java.awt.color.ColorSpace rgb
       133: .line 1777
      StackMap locals:
      StackMap stack:
            aload 2 /* l */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            areturn
        end local 8 // int dataType
        end local 7 // int colorType
        end local 6 // int bitDepth
        end local 2 // java.util.ArrayList l
        end local 1 // int imageIndex
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0  134     0         this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0  134     1   imageIndex  I
            5  134     2            l  Ljava/util/ArrayList<Ljavax/imageio/ImageTypeSpecifier;>;
           46   56     3          rgb  Ljava/awt/color/ColorSpace;
           57   68     3          rgb  Ljava/awt/color/ColorSpace;
          121  133     3          rgb  Ljava/awt/color/ColorSpace;
           15   24     4         gray  Ljava/awt/color/ColorSpace;
          103  113     4         gray  Ljava/awt/color/ColorSpace;
           16   24     5  bandOffsets  [I
           47   56     5  bandOffsets  [I
           58   68     5  bandOffsets  [I
          104  113     5  bandOffsets  [I
          122  133     5  bandOffsets  [I
            6  134     6     bitDepth  I
            7  134     7    colorType  I
            9   10     8     dataType  I
           11  134     8     dataType  I
           70  102     9      plength  I
           71  102    10          red  [B
           72  102    11        green  [B
           73  102    12         blue  [B
           87  102    13        alpha  [B
    Exceptions:
      throws javax.imageio.IIOException
    Signature: (I)Ljava/util/Iterator<Ljavax/imageio/ImageTypeSpecifier;>;
    MethodParameters:
            Name  Flags
      imageIndex  

  public javax.imageio.ImageTypeSpecifier getRawImageType(int);
    descriptor: (I)Ljavax/imageio/ImageTypeSpecifier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // int imageIndex
         0: .line 1804
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.getImageTypes:(I)Ljava/util/Iterator;
            astore 2 /* types */
        start local 2 // java.util.Iterator types
         1: .line 1805
            aconst_null
            astore 3 /* raw */
        start local 3 // javax.imageio.ImageTypeSpecifier raw
         2: .line 1807
      StackMap locals: java.util.Iterator javax.imageio.ImageTypeSpecifier
      StackMap stack:
            aload 2 /* types */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.imageio.ImageTypeSpecifier
            astore 3 /* raw */
         3: .line 1808
            aload 2 /* types */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         4: .line 1809
            aload 3 /* raw */
            areturn
        end local 3 // javax.imageio.ImageTypeSpecifier raw
        end local 2 // java.util.Iterator types
        end local 1 // int imageIndex
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0    5     1  imageIndex  I
            1    5     2       types  Ljava/util/Iterator<Ljavax/imageio/ImageTypeSpecifier;>;
            2    5     3         raw  Ljavax/imageio/ImageTypeSpecifier;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      imageIndex  

  public javax.imageio.ImageReadParam getDefaultReadParam();
    descriptor: ()Ljavax/imageio/ImageReadParam;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
         0: .line 1814
            new javax.imageio.ImageReadParam
            dup
            invokespecial javax.imageio.ImageReadParam.<init>:()V
            areturn
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/imageio/plugins/png/PNGImageReader;

  public javax.imageio.metadata.IIOMetadata getStreamMetadata();
    descriptor: ()Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
         0: .line 1820
            aconst_null
            areturn
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/imageio/plugins/png/PNGImageReader;
    Exceptions:
      throws javax.imageio.IIOException

  public javax.imageio.metadata.IIOMetadata getImageMetadata(int);
    descriptor: (I)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // int imageIndex
         0: .line 1825
            iload 1 /* imageIndex */
            ifeq 2
         1: .line 1826
            new java.lang.IndexOutOfBoundsException
            dup
            ldc "imageIndex != 0!"
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1828
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readMetadata:()V
         3: .line 1829
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            areturn
        end local 1 // int imageIndex
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0    4     1  imageIndex  I
    Exceptions:
      throws javax.imageio.IIOException
    MethodParameters:
            Name  Flags
      imageIndex  

  public java.awt.image.BufferedImage read(int, javax.imageio.ImageReadParam);
    descriptor: (ILjavax/imageio/ImageReadParam;)Ljava/awt/image/BufferedImage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
        start local 1 // int imageIndex
        start local 2 // javax.imageio.ImageReadParam param
         0: .line 1835
            iload 1 /* imageIndex */
            ifeq 2
         1: .line 1836
            new java.lang.IndexOutOfBoundsException
            dup
            ldc "imageIndex != 0!"
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1840
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* param */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.readImage:(Ljavax/imageio/ImageReadParam;)V
         3: .line 1841
            goto 8
         4: .line 1843
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
         5: .line 1845
            aload 3 /* e */
            athrow
        end local 3 // java.lang.Exception e
         6: .line 1846
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         7: .line 1847
            new javax.imageio.IIOException
            dup
            ldc "Caught exception during read: "
            aload 3 /* e */
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Throwable e
         8: .line 1849
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageReader.theImage:Ljava/awt/image/BufferedImage;
            areturn
        end local 2 // javax.imageio.ImageReadParam param
        end local 1 // int imageIndex
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lcom/sun/imageio/plugins/png/PNGImageReader;
            0    9     1  imageIndex  I
            0    9     2       param  Ljavax/imageio/ImageReadParam;
            5    6     3           e  Ljava/lang/Exception;
            7    8     3           e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3       4  Class java.io.IOException
           2     3       4  Class java.lang.IllegalStateException
           2     3       4  Class java.lang.IllegalArgumentException
           2     3       6  Class java.lang.Throwable
    Exceptions:
      throws javax.imageio.IIOException
    MethodParameters:
            Name  Flags
      imageIndex  
      param       

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
         0: .line 1854
            aload 0 /* this */
            invokespecial javax.imageio.ImageReader.reset:()V
         1: .line 1855
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageReader.resetStreamSettings:()V
         2: .line 1856
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/imageio/plugins/png/PNGImageReader;

  private void resetStreamSettings();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageReader this
         0: .line 1859
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGImageReader.gotHeader:Z
         1: .line 1860
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGImageReader.gotMetadata:Z
         2: .line 1861
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageReader.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
         3: .line 1862
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageReader.pixelStream:Ljava/io/DataInputStream;
         4: .line 1863
            aload 0 /* this */
            ldc -1
            putfield com.sun.imageio.plugins.png.PNGImageReader.imageStartPosition:J
         5: .line 1864
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/imageio/plugins/png/PNGImageReader;
}
SourceFile: "PNGImageReader.java"