public final class com.sun.imageio.plugins.png.PNGImageWriter extends javax.imageio.ImageWriter
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.imageio.plugins.png.PNGImageWriter
  super_class: javax.imageio.ImageWriter
{
  private static final int DEFAULT_COMPRESSION_LEVEL;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

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

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

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

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

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

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

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

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

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

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

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

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

  byte[] prevRow;
    descriptor: [B
    flags: (0x0000) 

  byte[] currRow;
    descriptor: [B
    flags: (0x0000) 

  byte[][] filteredRows;
    descriptor: [[B
    flags: (0x0000) 

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

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

  byte[][] scale;
    descriptor: [[B
    flags: (0x0000) 

  byte[] scale0;
    descriptor: [B
    flags: (0x0000) 

  byte[][] scaleh;
    descriptor: [[B
    flags: (0x0000) 

  byte[][] scalel;
    descriptor: [[B
    flags: (0x0000) 

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

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

  public void <init>(javax.imageio.spi.ImageWriterSpi);
    descriptor: (Ljavax/imageio/spi/ImageWriterSpi;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
        start local 1 // javax.imageio.spi.ImageWriterSpi originatingProvider
         0: .line 406
            aload 0 /* this */
            aload 1 /* originatingProvider */
            invokespecial javax.imageio.ImageWriter.<init>:(Ljavax/imageio/spi/ImageWriterSpi;)V
         1: .line 362
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
         2: .line 364
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
         3: .line 367
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceXOffset:I
         4: .line 368
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceYOffset:I
         5: .line 369
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceWidth:I
         6: .line 370
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceHeight:I
         7: .line 371
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceBands:[I
         8: .line 372
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGImageWriter.periodX:I
         9: .line 373
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGImageWriter.periodY:I
        10: .line 378
            aload 0 /* this */
            new com.sun.imageio.plugins.png.RowFilter
            dup
            invokespecial com.sun.imageio.plugins.png.RowFilter.<init>:()V
            putfield com.sun.imageio.plugins.png.PNGImageWriter.rowFilter:Lcom/sun/imageio/plugins/png/RowFilter;
        11: .line 379
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.prevRow:[B
        12: .line 380
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
        13: .line 381
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.filteredRows:[[B
        14: .line 391
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sampleSize:[I
        15: .line 392
            aload 0 /* this */
            iconst_m1
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scalingBitDepth:I
        16: .line 395
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scale:[[B
        17: .line 396
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scale0:[B
        18: .line 399
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scaleh:[[B
        19: .line 400
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scalel:[[B
        20: .line 407
            return
        end local 1 // javax.imageio.spi.ImageWriterSpi originatingProvider
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   21     0                 this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            0   21     1  originatingProvider  Ljavax/imageio/spi/ImageWriterSpi;
    MethodParameters:
                     Name  Flags
      originatingProvider  

  public void setOutput(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
        start local 1 // java.lang.Object output
         0: .line 411
            aload 0 /* this */
            aload 1 /* output */
            invokespecial javax.imageio.ImageWriter.setOutput:(Ljava/lang/Object;)V
         1: .line 412
            aload 1 /* output */
            ifnull 6
         2: .line 413
            aload 1 /* output */
            instanceof javax.imageio.stream.ImageOutputStream
            ifne 4
         3: .line 414
            new java.lang.IllegalArgumentException
            dup
            ldc "output not an ImageOutputStream!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 416
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* output */
            checkcast javax.imageio.stream.ImageOutputStream
            putfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
         5: .line 417
            goto 7
         6: .line 418
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
         7: .line 420
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object output
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            0    8     1  output  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      output  

  public javax.imageio.ImageWriteParam getDefaultWriteParam();
    descriptor: ()Ljavax/imageio/ImageWriteParam;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 424
            new com.sun.imageio.plugins.png.PNGImageWriteParam
            dup
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.getLocale:()Ljava/util/Locale;
            invokespecial com.sun.imageio.plugins.png.PNGImageWriteParam.<init>:(Ljava/util/Locale;)V
            areturn
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;

  public javax.imageio.metadata.IIOMetadata getDefaultStreamMetadata(javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
        start local 1 // javax.imageio.ImageWriteParam param
         0: .line 429
            aconst_null
            areturn
        end local 1 // javax.imageio.ImageWriteParam param
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            0    1     1  param  Ljavax/imageio/ImageWriteParam;
    MethodParameters:
       Name  Flags
      param  

  public javax.imageio.metadata.IIOMetadata getDefaultImageMetadata(javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
        start local 1 // javax.imageio.ImageTypeSpecifier imageType
        start local 2 // javax.imageio.ImageWriteParam param
         0: .line 435
            new com.sun.imageio.plugins.png.PNGMetadata
            dup
            invokespecial com.sun.imageio.plugins.png.PNGMetadata.<init>:()V
            astore 3 /* m */
        start local 3 // com.sun.imageio.plugins.png.PNGMetadata m
         1: .line 436
            aload 3 /* m */
            aload 1 /* imageType */
            aload 1 /* imageType */
            invokevirtual javax.imageio.ImageTypeSpecifier.getSampleModel:()Ljava/awt/image/SampleModel;
            invokevirtual java.awt.image.SampleModel.getNumBands:()I
            invokevirtual com.sun.imageio.plugins.png.PNGMetadata.initialize:(Ljavax/imageio/ImageTypeSpecifier;I)V
         2: .line 437
            aload 3 /* m */
            areturn
        end local 3 // com.sun.imageio.plugins.png.PNGMetadata m
        end local 2 // javax.imageio.ImageWriteParam param
        end local 1 // javax.imageio.ImageTypeSpecifier imageType
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            0    3     1  imageType  Ljavax/imageio/ImageTypeSpecifier;
            0    3     2      param  Ljavax/imageio/ImageWriteParam;
            1    3     3          m  Lcom/sun/imageio/plugins/png/PNGMetadata;
    MethodParameters:
           Name  Flags
      imageType  
      param      

  public javax.imageio.metadata.IIOMetadata convertStreamMetadata(javax.imageio.metadata.IIOMetadata, javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
        start local 1 // javax.imageio.metadata.IIOMetadata inData
        start local 2 // javax.imageio.ImageWriteParam param
         0: .line 443
            aconst_null
            areturn
        end local 2 // javax.imageio.ImageWriteParam param
        end local 1 // javax.imageio.metadata.IIOMetadata inData
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            0    1     1  inData  Ljavax/imageio/metadata/IIOMetadata;
            0    1     2   param  Ljavax/imageio/ImageWriteParam;
    MethodParameters:
        Name  Flags
      inData  
      param   

  public javax.imageio.metadata.IIOMetadata convertImageMetadata(javax.imageio.metadata.IIOMetadata, javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
        start local 1 // javax.imageio.metadata.IIOMetadata inData
        start local 2 // javax.imageio.ImageTypeSpecifier imageType
        start local 3 // javax.imageio.ImageWriteParam param
         0: .line 451
            aload 1 /* inData */
            instanceof com.sun.imageio.plugins.png.PNGMetadata
            ifeq 2
         1: .line 452
            aload 1 /* inData */
            checkcast com.sun.imageio.plugins.png.PNGMetadata
            invokevirtual com.sun.imageio.plugins.png.PNGMetadata.clone:()Ljava/lang/Object;
            checkcast com.sun.imageio.plugins.png.PNGMetadata
            areturn
         2: .line 454
      StackMap locals:
      StackMap stack:
            new com.sun.imageio.plugins.png.PNGMetadata
            dup
            aload 1 /* inData */
            invokespecial com.sun.imageio.plugins.png.PNGMetadata.<init>:(Ljavax/imageio/metadata/IIOMetadata;)V
            areturn
        end local 3 // javax.imageio.ImageWriteParam param
        end local 2 // javax.imageio.ImageTypeSpecifier imageType
        end local 1 // javax.imageio.metadata.IIOMetadata inData
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            0    3     1     inData  Ljavax/imageio/metadata/IIOMetadata;
            0    3     2  imageType  Ljavax/imageio/ImageTypeSpecifier;
            0    3     3      param  Ljavax/imageio/ImageWriteParam;
    MethodParameters:
           Name  Flags
      inData     
      imageType  
      param      

  private void write_magic();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 460
            bipush 8
            newarray 8
            dup
            iconst_0
            bipush -119
            bastore
            dup
            iconst_1
            bipush 80
            bastore
            dup
            iconst_2
            bipush 78
            bastore
            dup
            iconst_3
            bipush 71
            bastore
            dup
            iconst_4
            bipush 13
            bastore
            dup
            iconst_5
            bipush 10
            bastore
            dup
            bipush 6
            bipush 26
            bastore
            dup
            bipush 7
            bipush 10
            bastore
            astore 1 /* magic */
        start local 1 // byte[] magic
         1: .line 461
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 1 /* magic */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([B)V
         2: .line 462
            return
        end local 1 // byte[] magic
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            1    3     1  magic  [B
    Exceptions:
      throws java.io.IOException

  private void write_IHDR();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 466
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1229472850
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         1: .line 467
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_width:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         2: .line 468
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_height:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         3: .line 469
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         4: .line 470
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         5: .line 471
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_compressionMethod:I
            ifeq 9
         6: .line 472
            new javax.imageio.IIOException
            dup
         7: .line 473
            ldc "Only compression method 0 is defined in PNG 1.1"
         8: .line 472
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 475
      StackMap locals: com.sun.imageio.plugins.png.ChunkStream
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_compressionMethod:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        10: .line 476
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_filterMethod:I
            ifeq 14
        11: .line 477
            new javax.imageio.IIOException
            dup
        12: .line 478
            ldc "Only filter method 0 is defined in PNG 1.1"
        13: .line 477
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 480
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_filterMethod:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        15: .line 481
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_interlaceMethod:I
            iflt 17
        16: .line 482
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_interlaceMethod:I
            iconst_1
            if_icmple 20
        17: .line 483
      StackMap locals:
      StackMap stack:
            new javax.imageio.IIOException
            dup
        18: .line 484
            ldc "Only interlace methods 0 (node) and 1 (adam7) are defined in PNG 1.1"
        19: .line 483
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 486
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_interlaceMethod:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        21: .line 487
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        22: .line 488
            return
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   23     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            1   23     1    cs  Lcom/sun/imageio/plugins/png/ChunkStream;
    Exceptions:
      throws java.io.IOException

  private void write_cHRM();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 491
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_present:Z
            ifeq 11
         1: .line 492
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1665684045
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         2: .line 493
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_whitePointX:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         3: .line 494
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_whitePointY:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         4: .line 495
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_redX:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         5: .line 496
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_redY:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         6: .line 497
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_greenX:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         7: .line 498
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_greenY:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         8: .line 499
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_blueX:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         9: .line 500
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_blueY:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
        10: .line 501
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
        11: .line 503
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2   11     1    cs  Lcom/sun/imageio/plugins/png/ChunkStream;
    Exceptions:
      throws java.io.IOException

  private void write_gAMA();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 506
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.gAMA_present:Z
            ifeq 4
         1: .line 507
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1732332865
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         2: .line 508
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.gAMA_gamma:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         3: .line 509
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         4: .line 511
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2    4     1    cs  Lcom/sun/imageio/plugins/png/ChunkStream;
    Exceptions:
      throws java.io.IOException

  private void write_iCCP();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 514
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iCCP_present:Z
            ifeq 9
         1: .line 515
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1766015824
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         2: .line 516
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iCCP_profileName:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            bipush 79
            if_icmple 4
         3: .line 517
            new javax.imageio.IIOException
            dup
            ldc "iCCP profile name is longer than 79"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 519
      StackMap locals: com.sun.imageio.plugins.png.ChunkStream
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iCCP_profileName:Ljava/lang/String;
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeBytes:(Ljava/lang/String;)V
         5: .line 520
            aload 1 /* cs */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         6: .line 522
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iCCP_compressionMethod:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         7: .line 523
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iCCP_compressedProfile:[B
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.write:([B)V
         8: .line 524
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         9: .line 526
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2    9     1    cs  Lcom/sun/imageio/plugins/png/ChunkStream;
    Exceptions:
      throws java.io.IOException

  private void write_sBIT();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 529
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_present:Z
            ifeq 22
         1: .line 530
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1933723988
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         2: .line 531
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.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
         3: .line 532
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_colorType:I
            iload 2 /* colorType */
            if_icmpeq 8
         4: .line 533
            aload 0 /* this */
            iconst_0
         5: .line 534
            ldc "sBIT metadata has wrong color type.\nThe chunk will not be written."
         6: .line 533
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processWarningOccurred:(ILjava/lang/String;)V
         7: .line 536
            return
         8: .line 539
      StackMap locals: com.sun.imageio.plugins.png.ChunkStream int
      StackMap stack:
            iload 2 /* colorType */
            ifeq 10
         9: .line 540
            iload 2 /* colorType */
            iconst_4
            if_icmpne 12
        10: .line 541
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_grayBits:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        11: .line 542
            goto 18
      StackMap locals:
      StackMap stack:
        12: iload 2 /* colorType */
            iconst_2
            if_icmpeq 15
        13: .line 543
            iload 2 /* colorType */
            iconst_3
            if_icmpeq 15
        14: .line 544
            iload 2 /* colorType */
            bipush 6
            if_icmpne 18
        15: .line 545
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_redBits:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        16: .line 546
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_greenBits:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        17: .line 547
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_blueBits:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        18: .line 550
      StackMap locals:
      StackMap stack:
            iload 2 /* colorType */
            iconst_4
            if_icmpeq 20
        19: .line 551
            iload 2 /* colorType */
            bipush 6
            if_icmpne 21
        20: .line 552
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_alphaBits:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        21: .line 554
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 2 // int colorType
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
        22: .line 556
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   23     0       this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2   22     1         cs  Lcom/sun/imageio/plugins/png/ChunkStream;
            3   22     2  colorType  I
    Exceptions:
      throws java.io.IOException

  private void write_sRGB();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 559
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sRGB_present:Z
            ifeq 4
         1: .line 560
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1934772034
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         2: .line 561
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sRGB_renderingIntent:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         3: .line 562
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         4: .line 564
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2    4     1    cs  Lcom/sun/imageio/plugins/png/ChunkStream;
    Exceptions:
      throws java.io.IOException

  private void write_PLTE();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 567
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_present:Z
            ifeq 20
         1: .line 568
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            ifeq 3
         2: .line 569
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            iconst_4
            if_icmpne 7
         3: .line 572
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
         4: .line 573
            ldc "A PLTE chunk may not appear in a gray or gray alpha image.\nThe chunk will not be written"
         5: .line 572
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processWarningOccurred:(ILjava/lang/String;)V
         6: .line 575
            return
         7: .line 578
      StackMap locals:
      StackMap stack:
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1347179589
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         8: .line 580
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_red:[B
            arraylength
            istore 2 /* numEntries */
        start local 2 // int numEntries
         9: .line 581
            iload 2 /* numEntries */
            iconst_3
            imul
            newarray 8
            astore 3 /* palette */
        start local 3 // byte[] palette
        10: .line 582
            iconst_0
            istore 4 /* index */
        start local 4 // int index
        11: .line 583
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        12: goto 17
        13: .line 584
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter com.sun.imageio.plugins.png.ChunkStream int byte[] int int
      StackMap stack:
            aload 3 /* palette */
            iload 4 /* index */
            iinc 4 /* index */ 1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_red:[B
            iload 5 /* i */
            baload
            bastore
        14: .line 585
            aload 3 /* palette */
            iload 4 /* index */
            iinc 4 /* index */ 1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_green:[B
            iload 5 /* i */
            baload
            bastore
        15: .line 586
            aload 3 /* palette */
            iload 4 /* index */
            iinc 4 /* index */ 1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_blue:[B
            iload 5 /* i */
            baload
            bastore
        16: .line 583
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 5 /* i */
            iload 2 /* numEntries */
            if_icmplt 13
        end local 5 // int i
        18: .line 589
            aload 1 /* cs */
            aload 3 /* palette */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.write:([B)V
        19: .line 590
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 4 // int index
        end local 3 // byte[] palette
        end local 2 // int numEntries
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
        20: .line 592
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            8   20     1          cs  Lcom/sun/imageio/plugins/png/ChunkStream;
            9   20     2  numEntries  I
           10   20     3     palette  [B
           11   20     4       index  I
           12   18     5           i  I
    Exceptions:
      throws java.io.IOException

  private void write_hIST();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 595
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.hIST_present:Z
            ifeq 8
         1: .line 596
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1749635924
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         2: .line 598
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_present:Z
            ifne 4
         3: .line 599
            new javax.imageio.IIOException
            dup
            ldc "hIST chunk without PLTE chunk!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 602
      StackMap locals: com.sun.imageio.plugins.png.ChunkStream
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.hIST_histogram:[C
         5: .line 603
            iconst_0
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.hIST_histogram:[C
            arraylength
         6: .line 602
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeChars:([CII)V
         7: .line 604
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         8: .line 606
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2    8     1    cs  Lcom/sun/imageio/plugins/png/ChunkStream;
    Exceptions:
      throws java.io.IOException, javax.imageio.IIOException

  private void write_tRNS();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 609
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_present:Z
            ifeq 32
         1: .line 610
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1951551059
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         2: .line 611
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.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
         3: .line 612
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_colorType:I
            istore 3 /* chunkType */
        start local 3 // int chunkType
         4: .line 616
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_red:I
            istore 4 /* chunkRed */
        start local 4 // int chunkRed
         5: .line 617
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_green:I
            istore 5 /* chunkGreen */
        start local 5 // int chunkGreen
         6: .line 618
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_blue:I
            istore 6 /* chunkBlue */
        start local 6 // int chunkBlue
         7: .line 619
            iload 2 /* colorType */
            iconst_2
            if_icmpne 12
         8: .line 620
            iload 3 /* chunkType */
            ifne 12
         9: .line 621
            iload 2 /* colorType */
            istore 3 /* chunkType */
        10: .line 623
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_gray:I
        11: .line 622
            dup
            istore 6 /* chunkBlue */
            dup
            istore 5 /* chunkGreen */
            istore 4 /* chunkRed */
        12: .line 626
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter com.sun.imageio.plugins.png.ChunkStream int int int int int
      StackMap stack:
            iload 3 /* chunkType */
            iload 2 /* colorType */
            if_icmpeq 17
        13: .line 627
            aload 0 /* this */
            iconst_0
        14: .line 628
            ldc "tRNS metadata has incompatible color type.\nThe chunk will not be written."
        15: .line 627
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processWarningOccurred:(ILjava/lang/String;)V
        16: .line 630
            return
        17: .line 633
      StackMap locals:
      StackMap stack:
            iload 2 /* colorType */
            iconst_3
            if_icmpne 22
        18: .line 634
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_present:Z
            ifne 20
        19: .line 635
            new javax.imageio.IIOException
            dup
            ldc "tRNS chunk without PLTE chunk!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 637
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_alpha:[B
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.write:([B)V
        21: .line 638
            goto 31
      StackMap locals:
      StackMap stack:
        22: iload 2 /* colorType */
            ifne 25
        23: .line 639
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_gray:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        24: .line 640
            goto 31
      StackMap locals:
      StackMap stack:
        25: iload 2 /* colorType */
            iconst_2
            if_icmpne 30
        26: .line 641
            aload 1 /* cs */
            iload 4 /* chunkRed */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        27: .line 642
            aload 1 /* cs */
            iload 5 /* chunkGreen */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        28: .line 643
            aload 1 /* cs */
            iload 6 /* chunkBlue */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        29: .line 644
            goto 31
        30: .line 645
      StackMap locals:
      StackMap stack:
            new javax.imageio.IIOException
            dup
            ldc "tRNS chunk for color type 4 or 6!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 647
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 6 // int chunkBlue
        end local 5 // int chunkGreen
        end local 4 // int chunkRed
        end local 3 // int chunkType
        end local 2 // int colorType
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
        32: .line 649
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   33     0        this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2   32     1          cs  Lcom/sun/imageio/plugins/png/ChunkStream;
            3   32     2   colorType  I
            4   32     3   chunkType  I
            5   32     4    chunkRed  I
            6   32     5  chunkGreen  I
            7   32     6   chunkBlue  I
    Exceptions:
      throws java.io.IOException, javax.imageio.IIOException

  private void write_bKGD();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 652
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_present:Z
            ifeq 28
         1: .line 653
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1649100612
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         2: .line 654
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            iconst_3
            iand
            istore 2 /* colorType */
        start local 2 // int colorType
         3: .line 655
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_colorType:I
            istore 3 /* chunkType */
        start local 3 // int chunkType
         4: .line 657
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_red:I
            istore 4 /* chunkRed */
        start local 4 // int chunkRed
         5: .line 658
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_green:I
            istore 5 /* chunkGreen */
        start local 5 // int chunkGreen
         6: .line 659
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_blue:I
            istore 6 /* chunkBlue */
        start local 6 // int chunkBlue
         7: .line 662
            iload 2 /* colorType */
            iconst_2
            if_icmpne 12
         8: .line 663
            iload 3 /* chunkType */
            ifne 12
         9: .line 665
            iload 2 /* colorType */
            istore 3 /* chunkType */
        10: .line 667
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_gray:I
        11: .line 666
            dup
            istore 6 /* chunkBlue */
            dup
            istore 5 /* chunkGreen */
            istore 4 /* chunkRed */
        12: .line 671
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter com.sun.imageio.plugins.png.ChunkStream int int int int int
      StackMap stack:
            iload 3 /* chunkType */
            iload 2 /* colorType */
            if_icmpeq 17
        13: .line 672
            aload 0 /* this */
            iconst_0
        14: .line 673
            ldc "bKGD metadata has incompatible color type.\nThe chunk will not be written."
        15: .line 672
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processWarningOccurred:(ILjava/lang/String;)V
        16: .line 675
            return
        17: .line 678
      StackMap locals:
      StackMap stack:
            iload 2 /* colorType */
            iconst_3
            if_icmpne 20
        18: .line 679
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_index:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        19: .line 680
            goto 27
      StackMap locals:
      StackMap stack:
        20: iload 2 /* colorType */
            ifeq 22
        21: .line 681
            iload 2 /* colorType */
            iconst_4
            if_icmpne 24
        22: .line 682
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_gray:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        23: .line 683
            goto 27
        24: .line 685
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            iload 4 /* chunkRed */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        25: .line 686
            aload 1 /* cs */
            iload 5 /* chunkGreen */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        26: .line 687
            aload 1 /* cs */
            iload 6 /* chunkBlue */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        27: .line 689
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 6 // int chunkBlue
        end local 5 // int chunkGreen
        end local 4 // int chunkRed
        end local 3 // int chunkType
        end local 2 // int colorType
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
        28: .line 691
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   29     0        this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2   28     1          cs  Lcom/sun/imageio/plugins/png/ChunkStream;
            3   28     2   colorType  I
            4   28     3   chunkType  I
            5   28     4    chunkRed  I
            6   28     5  chunkGreen  I
            7   28     6   chunkBlue  I
    Exceptions:
      throws java.io.IOException

  private void write_pHYs();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 694
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.pHYs_present:Z
            ifeq 6
         1: .line 695
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1883789683
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         2: .line 696
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.pHYs_pixelsPerUnitXAxis:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         3: .line 697
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.pHYs_pixelsPerUnitYAxis:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         4: .line 698
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.pHYs_unitSpecifier:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         5: .line 699
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         6: .line 701
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2    6     1    cs  Lcom/sun/imageio/plugins/png/ChunkStream;
    Exceptions:
      throws java.io.IOException

  private void write_sPLT();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 704
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_present:Z
            ifeq 29
         1: .line 705
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1934642260
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         2: .line 707
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.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
            bipush 79
            if_icmple 4
         3: .line 708
            new javax.imageio.IIOException
            dup
            ldc "sPLT palette name is longer than 79"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 710
      StackMap locals: com.sun.imageio.plugins.png.ChunkStream
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_paletteName:Ljava/lang/String;
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeBytes:(Ljava/lang/String;)V
         5: .line 711
            aload 1 /* cs */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         6: .line 713
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_sampleDepth:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         7: .line 714
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_red:[I
            arraylength
            istore 2 /* numEntries */
        start local 2 // int numEntries
         8: .line 716
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_sampleDepth:I
            bipush 8
            if_icmpne 19
         9: .line 717
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        10: goto 17
        11: .line 718
      StackMap locals: int int
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_red:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        12: .line 719
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_green:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        13: .line 720
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_blue:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        14: .line 721
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_alpha:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        15: .line 722
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_frequency:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        16: .line 717
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 3 /* i */
            iload 2 /* numEntries */
            if_icmplt 11
        end local 3 // int i
        18: .line 724
            goto 28
        19: .line 725
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        20: goto 27
        21: .line 726
      StackMap locals: int
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_red:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        22: .line 727
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_green:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        23: .line 728
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_blue:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        24: .line 729
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_alpha:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        25: .line 730
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_frequency:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        26: .line 725
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 3 /* i */
            iload 2 /* numEntries */
            if_icmplt 21
        end local 3 // int i
        28: .line 733
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 2 // int numEntries
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
        29: .line 735
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   30     0        this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2   29     1          cs  Lcom/sun/imageio/plugins/png/ChunkStream;
            8   29     2  numEntries  I
           10   18     3           i  I
           20   28     3           i  I
    Exceptions:
      throws java.io.IOException

  private void write_tIME();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 738
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tIME_present:Z
            ifeq 9
         1: .line 739
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1950960965
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         2: .line 740
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tIME_year:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
         3: .line 741
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tIME_month:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         4: .line 742
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tIME_day:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         5: .line 743
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tIME_hour:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         6: .line 744
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tIME_minute:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         7: .line 745
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tIME_second:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         8: .line 746
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         9: .line 748
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2    9     1    cs  Lcom/sun/imageio/plugins/png/ChunkStream;
    Exceptions:
      throws java.io.IOException

  private void write_tEXt();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 751
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tEXt_keyword:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 1 /* keywordIter */
        start local 1 // java.util.Iterator keywordIter
         1: .line 752
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tEXt_text:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 2 /* textIter */
        start local 2 // java.util.Iterator textIter
         2: .line 754
            goto 12
         3: .line 755
      StackMap locals: java.util.Iterator java.util.Iterator
      StackMap stack:
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1950701684
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 3 /* cs */
        start local 3 // com.sun.imageio.plugins.png.ChunkStream cs
         4: .line 756
            aload 1 /* keywordIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* keyword */
        start local 4 // java.lang.String keyword
         5: .line 757
            aload 4 /* keyword */
            invokevirtual java.lang.String.length:()I
            bipush 79
            if_icmple 7
         6: .line 758
            new javax.imageio.IIOException
            dup
            ldc "tEXt keyword is longer than 79"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 760
      StackMap locals: com.sun.imageio.plugins.png.ChunkStream java.lang.String
      StackMap stack:
            aload 3 /* cs */
            aload 4 /* keyword */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeBytes:(Ljava/lang/String;)V
         8: .line 761
            aload 3 /* cs */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         9: .line 763
            aload 2 /* textIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* text */
        start local 5 // java.lang.String text
        10: .line 764
            aload 3 /* cs */
            aload 5 /* text */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeBytes:(Ljava/lang/String;)V
        11: .line 765
            aload 3 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 5 // java.lang.String text
        end local 4 // java.lang.String keyword
        end local 3 // com.sun.imageio.plugins.png.ChunkStream cs
        12: .line 754
      StackMap locals:
      StackMap stack:
            aload 1 /* keywordIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        13: .line 767
            return
        end local 2 // java.util.Iterator textIter
        end local 1 // java.util.Iterator keywordIter
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            1   14     1  keywordIter  Ljava/util/Iterator<Ljava/lang/String;>;
            2   14     2     textIter  Ljava/util/Iterator<Ljava/lang/String;>;
            4   12     3           cs  Lcom/sun/imageio/plugins/png/ChunkStream;
            5   12     4      keyword  Ljava/lang/String;
           10   12     5         text  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  private byte[] deflate(byte[]);
    descriptor: ([B)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
        start local 1 // byte[] b
         0: .line 770
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 2 /* baos */
        start local 2 // java.io.ByteArrayOutputStream baos
         1: .line 771
            new java.util.zip.DeflaterOutputStream
            dup
            aload 2 /* baos */
            invokespecial java.util.zip.DeflaterOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 3 /* dos */
        start local 3 // java.util.zip.DeflaterOutputStream dos
         2: .line 772
            aload 3 /* dos */
            aload 1 /* b */
            invokevirtual java.util.zip.DeflaterOutputStream.write:([B)V
         3: .line 773
            aload 3 /* dos */
            invokevirtual java.util.zip.DeflaterOutputStream.close:()V
         4: .line 774
            aload 2 /* baos */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            areturn
        end local 3 // java.util.zip.DeflaterOutputStream dos
        end local 2 // java.io.ByteArrayOutputStream baos
        end local 1 // byte[] b
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            0    5     1     b  [B
            1    5     2  baos  Ljava/io/ByteArrayOutputStream;
            2    5     3   dos  Ljava/util/zip/DeflaterOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     

  private void write_iTXt();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 778
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_keyword:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 1 /* keywordIter */
        start local 1 // java.util.Iterator keywordIter
         1: .line 779
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_compressionFlag:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 2 /* flagIter */
        start local 2 // java.util.Iterator flagIter
         2: .line 780
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_compressionMethod:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 3 /* methodIter */
        start local 3 // java.util.Iterator methodIter
         3: .line 781
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_languageTag:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 4 /* languageIter */
        start local 4 // java.util.Iterator languageIter
         4: .line 783
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_translatedKeyword:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
         5: .line 782
            astore 5 /* translatedKeywordIter */
        start local 5 // java.util.Iterator translatedKeywordIter
         6: .line 784
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_text:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 6 /* textIter */
        start local 6 // java.util.Iterator textIter
         7: .line 786
            goto 29
         8: .line 787
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator
      StackMap stack:
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1767135348
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 7 /* cs */
        start local 7 // com.sun.imageio.plugins.png.ChunkStream cs
         9: .line 789
            aload 1 /* keywordIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* keyword */
        start local 8 // java.lang.String keyword
        10: .line 790
            aload 8 /* keyword */
            invokevirtual java.lang.String.length:()I
            bipush 79
            if_icmple 12
        11: .line 791
            new javax.imageio.IIOException
            dup
            ldc "iTXt keyword is longer than 79"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 793
      StackMap locals: com.sun.imageio.plugins.png.ChunkStream java.lang.String
      StackMap stack:
            aload 7 /* cs */
            aload 8 /* keyword */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeBytes:(Ljava/lang/String;)V
        13: .line 794
            aload 7 /* cs */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        14: .line 796
            aload 2 /* flagIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 9 /* compressed */
        start local 9 // java.lang.Boolean compressed
        15: .line 797
            aload 7 /* cs */
            aload 9 /* compressed */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 16
            iconst_1
            goto 17
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator com.sun.imageio.plugins.png.ChunkStream java.lang.String java.lang.Boolean
      StackMap stack: com.sun.imageio.plugins.png.ChunkStream
        16: iconst_0
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator com.sun.imageio.plugins.png.ChunkStream java.lang.String java.lang.Boolean
      StackMap stack: com.sun.imageio.plugins.png.ChunkStream int
        17: invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        18: .line 799
            aload 7 /* cs */
            aload 3 /* methodIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        19: .line 801
            aload 7 /* cs */
            aload 4 /* languageIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeBytes:(Ljava/lang/String;)V
        20: .line 802
            aload 7 /* cs */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        21: .line 805
            aload 7 /* cs */
            aload 5 /* translatedKeywordIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            ldc "UTF8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.write:([B)V
        22: .line 806
            aload 7 /* cs */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        23: .line 808
            aload 6 /* textIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 10 /* text */
        start local 10 // java.lang.String text
        24: .line 809
            aload 9 /* compressed */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 27
        25: .line 810
            aload 7 /* cs */
            aload 0 /* this */
            aload 10 /* text */
            ldc "UTF8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.deflate:([B)[B
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.write:([B)V
        26: .line 811
            goto 28
        27: .line 812
      StackMap locals: java.lang.String
      StackMap stack:
            aload 7 /* cs */
            aload 10 /* text */
            ldc "UTF8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.write:([B)V
        28: .line 814
      StackMap locals:
      StackMap stack:
            aload 7 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 10 // java.lang.String text
        end local 9 // java.lang.Boolean compressed
        end local 8 // java.lang.String keyword
        end local 7 // com.sun.imageio.plugins.png.ChunkStream cs
        29: .line 786
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator
      StackMap stack:
            aload 1 /* keywordIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        30: .line 816
            return
        end local 6 // java.util.Iterator textIter
        end local 5 // java.util.Iterator translatedKeywordIter
        end local 4 // java.util.Iterator languageIter
        end local 3 // java.util.Iterator methodIter
        end local 2 // java.util.Iterator flagIter
        end local 1 // java.util.Iterator keywordIter
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   31     0                   this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            1   31     1            keywordIter  Ljava/util/Iterator<Ljava/lang/String;>;
            2   31     2               flagIter  Ljava/util/Iterator<Ljava/lang/Boolean;>;
            3   31     3             methodIter  Ljava/util/Iterator<Ljava/lang/Integer;>;
            4   31     4           languageIter  Ljava/util/Iterator<Ljava/lang/String;>;
            6   31     5  translatedKeywordIter  Ljava/util/Iterator<Ljava/lang/String;>;
            7   31     6               textIter  Ljava/util/Iterator<Ljava/lang/String;>;
            9   29     7                     cs  Lcom/sun/imageio/plugins/png/ChunkStream;
           10   29     8                keyword  Ljava/lang/String;
           15   29     9             compressed  Ljava/lang/Boolean;
           24   29    10                   text  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  private void write_zTXt();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 819
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.zTXt_keyword:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 1 /* keywordIter */
        start local 1 // java.util.Iterator keywordIter
         1: .line 820
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.zTXt_compressionMethod:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 2 /* methodIter */
        start local 2 // java.util.Iterator methodIter
         2: .line 821
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.zTXt_text:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 3 /* textIter */
        start local 3 // java.util.Iterator textIter
         3: .line 823
            goto 15
         4: .line 824
      StackMap locals: java.util.Iterator java.util.Iterator java.util.Iterator
      StackMap stack:
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 2052348020
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 4 /* cs */
        start local 4 // com.sun.imageio.plugins.png.ChunkStream cs
         5: .line 825
            aload 1 /* keywordIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* keyword */
        start local 5 // java.lang.String keyword
         6: .line 826
            aload 5 /* keyword */
            invokevirtual java.lang.String.length:()I
            bipush 79
            if_icmple 8
         7: .line 827
            new javax.imageio.IIOException
            dup
            ldc "tEXt keyword is longer than 79"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 829
      StackMap locals: com.sun.imageio.plugins.png.ChunkStream java.lang.String
      StackMap stack:
            aload 4 /* cs */
            aload 5 /* keyword */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeBytes:(Ljava/lang/String;)V
         9: .line 830
            aload 4 /* cs */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        10: .line 832
            aload 2 /* methodIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 6 /* compressionMethod */
        start local 6 // int compressionMethod
        11: .line 833
            aload 4 /* cs */
            iload 6 /* compressionMethod */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        12: .line 835
            aload 3 /* textIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* text */
        start local 7 // java.lang.String text
        13: .line 836
            aload 4 /* cs */
            aload 0 /* this */
            aload 7 /* text */
            ldc "ISO-8859-1"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.deflate:([B)[B
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.write:([B)V
        14: .line 837
            aload 4 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 7 // java.lang.String text
        end local 6 // int compressionMethod
        end local 5 // java.lang.String keyword
        end local 4 // com.sun.imageio.plugins.png.ChunkStream cs
        15: .line 823
      StackMap locals:
      StackMap stack:
            aload 1 /* keywordIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        16: .line 839
            return
        end local 3 // java.util.Iterator textIter
        end local 2 // java.util.Iterator methodIter
        end local 1 // java.util.Iterator keywordIter
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   17     0               this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            1   17     1        keywordIter  Ljava/util/Iterator<Ljava/lang/String;>;
            2   17     2         methodIter  Ljava/util/Iterator<Ljava/lang/Integer;>;
            3   17     3           textIter  Ljava/util/Iterator<Ljava/lang/String;>;
            5   15     4                 cs  Lcom/sun/imageio/plugins/png/ChunkStream;
            6   15     5            keyword  Ljava/lang/String;
           11   15     6  compressionMethod  I
           13   15     7               text  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  private void writeUnknownChunks();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 842
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.unknownChunkType:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 1 /* typeIter */
        start local 1 // java.util.Iterator typeIter
         1: .line 843
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.unknownChunkData:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 2 /* dataIter */
        start local 2 // java.util.Iterator dataIter
         2: .line 845
            goto 8
         3: .line 846
      StackMap locals: java.util.Iterator java.util.Iterator
      StackMap stack:
            aload 1 /* typeIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* type */
        start local 3 // java.lang.String type
         4: .line 847
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            aload 3 /* type */
            invokestatic com.sun.imageio.plugins.png.PNGImageWriter.chunkType:(Ljava/lang/String;)I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 4 /* cs */
        start local 4 // com.sun.imageio.plugins.png.ChunkStream cs
         5: .line 848
            aload 2 /* dataIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            astore 5 /* data */
        start local 5 // byte[] data
         6: .line 849
            aload 4 /* cs */
            aload 5 /* data */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.write:([B)V
         7: .line 850
            aload 4 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 5 // byte[] data
        end local 4 // com.sun.imageio.plugins.png.ChunkStream cs
        end local 3 // java.lang.String type
         8: .line 845
      StackMap locals:
      StackMap stack:
            aload 1 /* typeIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 9
            aload 2 /* dataIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 852
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Iterator dataIter
        end local 1 // java.util.Iterator typeIter
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            1   10     1  typeIter  Ljava/util/Iterator<Ljava/lang/String;>;
            2   10     2  dataIter  Ljava/util/Iterator<[B>;
            4    8     3      type  Ljava/lang/String;
            5    8     4        cs  Lcom/sun/imageio/plugins/png/ChunkStream;
            6    8     5      data  [B
    Exceptions:
      throws java.io.IOException

  private static int chunkType(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // java.lang.String typeString
         0: .line 855
            aload 0 /* typeString */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 1 /* c0 */
        start local 1 // char c0
         1: .line 856
            aload 0 /* typeString */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            istore 2 /* c1 */
        start local 2 // char c1
         2: .line 857
            aload 0 /* typeString */
            iconst_2
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c2 */
        start local 3 // char c2
         3: .line 858
            aload 0 /* typeString */
            iconst_3
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c3 */
        start local 4 // char c3
         4: .line 860
            iload 1 /* c0 */
            bipush 24
            ishl
            iload 2 /* c1 */
            bipush 16
            ishl
            ior
            iload 3 /* c2 */
            bipush 8
            ishl
            ior
            iload 4 /* c3 */
            ior
            istore 5 /* type */
        start local 5 // int type
         5: .line 861
            iload 5 /* type */
            ireturn
        end local 5 // int type
        end local 4 // char c3
        end local 3 // char c2
        end local 2 // char c1
        end local 1 // char c0
        end local 0 // java.lang.String typeString
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0  typeString  Ljava/lang/String;
            1    6     1          c0  C
            2    6     2          c1  C
            3    6     3          c2  C
            4    6     4          c3  C
            5    6     5        type  I
    MethodParameters:
            Name  Flags
      typeString  

  private void encodePass(javax.imageio.stream.ImageOutputStream, java.awt.image.RenderedImage, int, int, int, int);
    descriptor: (Ljavax/imageio/stream/ImageOutputStream;Ljava/awt/image/RenderedImage;IIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=29, args_size=7
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
        start local 1 // javax.imageio.stream.ImageOutputStream os
        start local 2 // java.awt.image.RenderedImage image
        start local 3 // int xOffset
        start local 4 // int yOffset
        start local 5 // int xSkip
        start local 6 // int ySkip
         0: .line 868
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceXOffset:I
            istore 7 /* minX */
        start local 7 // int minX
         1: .line 869
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceYOffset:I
            istore 8 /* minY */
        start local 8 // int minY
         2: .line 870
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceWidth:I
            istore 9 /* width */
        start local 9 // int width
         3: .line 871
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceHeight:I
            istore 10 /* height */
        start local 10 // int height
         4: .line 874
            iload 3 /* xOffset */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.periodX:I
            imul
            istore 3 /* xOffset */
         5: .line 875
            iload 5 /* xSkip */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.periodX:I
            imul
            istore 5 /* xSkip */
         6: .line 876
            iload 4 /* yOffset */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.periodY:I
            imul
            istore 4 /* yOffset */
         7: .line 877
            iload 6 /* ySkip */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.periodY:I
            imul
            istore 6 /* ySkip */
         8: .line 880
            iload 9 /* width */
            iload 3 /* xOffset */
            isub
            iload 5 /* xSkip */
            iadd
            iconst_1
            isub
            iload 5 /* xSkip */
            idiv
            istore 11 /* hpixels */
        start local 11 // int hpixels
         9: .line 881
            iload 10 /* height */
            iload 4 /* yOffset */
            isub
            iload 6 /* ySkip */
            iadd
            iconst_1
            isub
            iload 6 /* ySkip */
            idiv
            istore 12 /* vpixels */
        start local 12 // int vpixels
        10: .line 882
            iload 11 /* hpixels */
            ifeq 11
            iload 12 /* vpixels */
            ifne 12
        11: .line 883
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter javax.imageio.stream.ImageOutputStream java.awt.image.RenderedImage int int int int int int int int int int
      StackMap stack:
            return
        12: .line 887
      StackMap locals:
      StackMap stack:
            iload 3 /* xOffset */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            imul
            istore 3 /* xOffset */
        13: .line 888
            iload 5 /* xSkip */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            imul
            istore 5 /* xSkip */
        14: .line 891
            bipush 8
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
            idiv
            istore 13 /* samplesPerByte */
        start local 13 // int samplesPerByte
        15: .line 892
            iload 9 /* width */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            imul
            istore 14 /* numSamples */
        start local 14 // int numSamples
        16: .line 893
            iload 14 /* numSamples */
            newarray 10
            astore 15 /* samples */
        start local 15 // int[] samples
        17: .line 895
            iload 11 /* hpixels */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            imul
            istore 16 /* bytesPerRow */
        start local 16 // int bytesPerRow
        18: .line 896
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
            bipush 8
            if_icmpge 21
        19: .line 897
            iload 16 /* bytesPerRow */
            iload 13 /* samplesPerByte */
            iadd
            iconst_1
            isub
            iload 13 /* samplesPerByte */
            idiv
            istore 16 /* bytesPerRow */
        20: .line 898
            goto 23
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter javax.imageio.stream.ImageOutputStream java.awt.image.RenderedImage int int int int int int int int int int int int int[] int
      StackMap stack:
        21: aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
            bipush 16
            if_icmpne 23
        22: .line 899
            iload 16 /* bytesPerRow */
            iconst_2
            imul
            istore 16 /* bytesPerRow */
        23: .line 902
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 17 /* icm_gray_alpha */
        start local 17 // java.awt.image.IndexColorModel icm_gray_alpha
        24: .line 903
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            iconst_4
            if_icmpne 28
        25: .line 904
            aload 2 /* image */
            invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
            instanceof java.awt.image.IndexColorModel
            ifeq 28
        26: .line 907
            iload 16 /* bytesPerRow */
            iconst_2
            imul
            istore 16 /* bytesPerRow */
        27: .line 910
            aload 2 /* image */
            invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
            checkcast java.awt.image.IndexColorModel
            astore 17 /* icm_gray_alpha */
        28: .line 913
      StackMap locals: java.awt.image.IndexColorModel
      StackMap stack:
            aload 0 /* this */
            iload 16 /* bytesPerRow */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.bpp:I
            iadd
            newarray 8
            putfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
        29: .line 914
            aload 0 /* this */
            iload 16 /* bytesPerRow */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.bpp:I
            iadd
            newarray 8
            putfield com.sun.imageio.plugins.png.PNGImageWriter.prevRow:[B
        30: .line 915
            aload 0 /* this */
            iconst_5
            iload 16 /* bytesPerRow */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.bpp:I
            iadd
            multianewarray [[B 2
            putfield com.sun.imageio.plugins.png.PNGImageWriter.filteredRows:[[B
        31: .line 917
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
            istore 18 /* bitDepth */
        start local 18 // int bitDepth
        32: .line 918
            iload 8 /* minY */
            iload 4 /* yOffset */
            iadd
            istore 19 /* row */
        start local 19 // int row
        33: goto 124
        34: .line 919
      StackMap locals: int int
      StackMap stack:
            new java.awt.Rectangle
            dup
            iload 7 /* minX */
            iload 19 /* row */
            iload 9 /* width */
            iconst_1
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            astore 20 /* rect */
        start local 20 // java.awt.Rectangle rect
        35: .line 920
            aload 2 /* image */
            aload 20 /* rect */
            invokeinterface java.awt.image.RenderedImage.getData:(Ljava/awt/Rectangle;)Ljava/awt/image/Raster;
            astore 21 /* ras */
        start local 21 // java.awt.image.Raster ras
        36: .line 921
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceBands:[I
            ifnull 40
        37: .line 922
            aload 21 /* ras */
            iload 7 /* minX */
            iload 19 /* row */
            iload 9 /* width */
            iconst_1
            iload 7 /* minX */
            iload 19 /* row */
        38: .line 923
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceBands:[I
        39: .line 922
            invokevirtual java.awt.image.Raster.createChild:(IIIIII[I)Ljava/awt/image/Raster;
            astore 21 /* ras */
        40: .line 926
      StackMap locals: java.awt.Rectangle java.awt.image.Raster
      StackMap stack:
            aload 21 /* ras */
            iload 7 /* minX */
            iload 19 /* row */
            iload 9 /* width */
            iconst_1
            aload 15 /* samples */
            invokevirtual java.awt.image.Raster.getPixels:(IIII[I)[I
            pop
        41: .line 928
            aload 2 /* image */
            invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
            invokevirtual java.awt.image.ColorModel.isAlphaPremultiplied:()Z
            ifeq 52
        42: .line 929
            aload 21 /* ras */
            invokevirtual java.awt.image.Raster.createCompatibleWritableRaster:()Ljava/awt/image/WritableRaster;
            astore 22 /* wr */
        start local 22 // java.awt.image.WritableRaster wr
        43: .line 930
            aload 22 /* wr */
            aload 22 /* wr */
            invokevirtual java.awt.image.WritableRaster.getMinX:()I
            aload 22 /* wr */
            invokevirtual java.awt.image.WritableRaster.getMinY:()I
        44: .line 931
            aload 22 /* wr */
            invokevirtual java.awt.image.WritableRaster.getWidth:()I
            aload 22 /* wr */
            invokevirtual java.awt.image.WritableRaster.getHeight:()I
        45: .line 932
            aload 15 /* samples */
        46: .line 930
            invokevirtual java.awt.image.WritableRaster.setPixels:(IIII[I)V
        47: .line 934
            aload 2 /* image */
            invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
            aload 22 /* wr */
            iconst_0
            invokevirtual java.awt.image.ColorModel.coerceData:(Ljava/awt/image/WritableRaster;Z)Ljava/awt/image/ColorModel;
            pop
        48: .line 935
            aload 22 /* wr */
            aload 22 /* wr */
            invokevirtual java.awt.image.WritableRaster.getMinX:()I
            aload 22 /* wr */
            invokevirtual java.awt.image.WritableRaster.getMinY:()I
        49: .line 936
            aload 22 /* wr */
            invokevirtual java.awt.image.WritableRaster.getWidth:()I
            aload 22 /* wr */
            invokevirtual java.awt.image.WritableRaster.getHeight:()I
        50: .line 937
            aload 15 /* samples */
        51: .line 935
            invokevirtual java.awt.image.WritableRaster.getPixels:(IIII[I)[I
            pop
        end local 22 // java.awt.image.WritableRaster wr
        52: .line 941
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_order:[I
            astore 22 /* paletteOrder */
        start local 22 // int[] paletteOrder
        53: .line 942
            aload 22 /* paletteOrder */
            ifnull 59
        54: .line 943
            iconst_0
            istore 23 /* i */
        start local 23 // int i
        55: goto 58
        56: .line 944
      StackMap locals: int[] int
      StackMap stack:
            aload 15 /* samples */
            iload 23 /* i */
            aload 22 /* paletteOrder */
            aload 15 /* samples */
            iload 23 /* i */
            iaload
            iaload
            iastore
        57: .line 943
            iinc 23 /* i */ 1
      StackMap locals:
      StackMap stack:
        58: iload 23 /* i */
            iload 14 /* numSamples */
            if_icmplt 56
        end local 23 // int i
        59: .line 948
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.bpp:I
            istore 23 /* count */
        start local 23 // int count
        60: .line 949
            iconst_0
            istore 24 /* pos */
        start local 24 // int pos
        61: .line 950
            iconst_0
            istore 25 /* tmp */
        start local 25 // int tmp
        62: .line 952
            iload 18 /* bitDepth */
            lookupswitch { // 5
                    1: 63
                    2: 63
                    4: 63
                    8: 78
                   16: 99
              default: 109
          }
        63: .line 956
      StackMap locals: int int int
      StackMap stack:
            iload 13 /* samplesPerByte */
            iconst_1
            isub
            istore 26 /* mask */
        start local 26 // int mask
        64: .line 957
            iload 3 /* xOffset */
            istore 27 /* s */
        start local 27 // int s
        65: goto 73
        66: .line 958
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scale0:[B
            aload 15 /* samples */
            iload 27 /* s */
            iaload
            baload
            istore 28 /* val */
        start local 28 // byte val
        67: .line 959
            iload 25 /* tmp */
            iload 18 /* bitDepth */
            ishl
            iload 28 /* val */
            ior
            istore 25 /* tmp */
        68: .line 961
            iload 24 /* pos */
            iinc 24 /* pos */ 1
            iload 26 /* mask */
            iand
            iload 26 /* mask */
            if_icmpne 72
        69: .line 962
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
            iload 23 /* count */
            iinc 23 /* count */ 1
            iload 25 /* tmp */
            i2b
            bastore
        70: .line 963
            iconst_0
            istore 25 /* tmp */
        71: .line 964
            iconst_0
            istore 24 /* pos */
        end local 28 // byte val
        72: .line 957
      StackMap locals:
      StackMap stack:
            iload 27 /* s */
            iload 5 /* xSkip */
            iadd
            istore 27 /* s */
      StackMap locals:
      StackMap stack:
        73: iload 27 /* s */
            iload 14 /* numSamples */
            if_icmplt 66
        end local 27 // int s
        74: .line 969
            iload 24 /* pos */
            iload 26 /* mask */
            iand
            ifeq 109
        75: .line 970
            iload 25 /* tmp */
            bipush 8
            iload 18 /* bitDepth */
            idiv
            iload 24 /* pos */
            isub
            iload 18 /* bitDepth */
            imul
            ishl
            istore 25 /* tmp */
        76: .line 971
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
            iload 23 /* count */
            iinc 23 /* count */ 1
            iload 25 /* tmp */
            i2b
            bastore
        77: .line 973
            goto 109
        end local 26 // int mask
        78: .line 976
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            iconst_1
            if_icmpne 89
        79: .line 977
            iload 3 /* xOffset */
            istore 27 /* s */
        start local 27 // int s
        80: goto 87
        81: .line 978
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter javax.imageio.stream.ImageOutputStream java.awt.image.RenderedImage int int int int int int int int int int int int int[] int java.awt.image.IndexColorModel int int java.awt.Rectangle java.awt.image.Raster int[] int int int top int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
            iload 23 /* count */
            iinc 23 /* count */ 1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scale0:[B
            aload 15 /* samples */
            iload 27 /* s */
            iaload
            baload
            bastore
        82: .line 979
            aload 17 /* icm_gray_alpha */
            ifnull 86
        83: .line 980
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
            iload 23 /* count */
            iinc 23 /* count */ 1
        84: .line 981
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scale0:[B
            aload 17 /* icm_gray_alpha */
            sipush 255
            aload 15 /* samples */
            iload 27 /* s */
            iaload
            iand
            invokevirtual java.awt.image.IndexColorModel.getAlpha:(I)I
            baload
        85: .line 980
            bastore
        86: .line 977
      StackMap locals:
      StackMap stack:
            iload 27 /* s */
            iload 5 /* xSkip */
            iadd
            istore 27 /* s */
      StackMap locals:
      StackMap stack:
        87: iload 27 /* s */
            iload 14 /* numSamples */
            if_icmplt 81
        end local 27 // int s
        88: .line 984
            goto 109
        89: .line 985
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter javax.imageio.stream.ImageOutputStream java.awt.image.RenderedImage int int int int int int int int int int int int int[] int java.awt.image.IndexColorModel int int java.awt.Rectangle java.awt.image.Raster int[] int int int
      StackMap stack:
            iload 3 /* xOffset */
            istore 27 /* s */
        start local 27 // int s
        90: goto 97
        91: .line 986
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter javax.imageio.stream.ImageOutputStream java.awt.image.RenderedImage int int int int int int int int int int int int int[] int java.awt.image.IndexColorModel int int java.awt.Rectangle java.awt.image.Raster int[] int int int top int
      StackMap stack:
            iconst_0
            istore 28 /* b */
        start local 28 // int b
        92: goto 95
        93: .line 987
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
            iload 23 /* count */
            iinc 23 /* count */ 1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scale:[[B
            iload 28 /* b */
            aaload
            aload 15 /* samples */
            iload 27 /* s */
            iload 28 /* b */
            iadd
            iaload
            baload
            bastore
        94: .line 986
            iinc 28 /* b */ 1
      StackMap locals:
      StackMap stack:
        95: iload 28 /* b */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            if_icmplt 93
        end local 28 // int b
        96: .line 985
            iload 27 /* s */
            iload 5 /* xSkip */
            iadd
            istore 27 /* s */
      StackMap locals:
      StackMap stack:
        97: iload 27 /* s */
            iload 14 /* numSamples */
            if_icmplt 91
        end local 27 // int s
        98: .line 991
            goto 109
        99: .line 994
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter javax.imageio.stream.ImageOutputStream java.awt.image.RenderedImage int int int int int int int int int int int int int[] int java.awt.image.IndexColorModel int int java.awt.Rectangle java.awt.image.Raster int[] int int int
      StackMap stack:
            iload 3 /* xOffset */
            istore 27 /* s */
        start local 27 // int s
       100: goto 108
       101: .line 995
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter javax.imageio.stream.ImageOutputStream java.awt.image.RenderedImage int int int int int int int int int int int int int[] int java.awt.image.IndexColorModel int int java.awt.Rectangle java.awt.image.Raster int[] int int int top int
      StackMap stack:
            iconst_0
            istore 28 /* b */
        start local 28 // int b
       102: goto 106
       103: .line 996
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
            iload 23 /* count */
            iinc 23 /* count */ 1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scaleh:[[B
            iload 28 /* b */
            aaload
            aload 15 /* samples */
            iload 27 /* s */
            iload 28 /* b */
            iadd
            iaload
            baload
            bastore
       104: .line 997
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
            iload 23 /* count */
            iinc 23 /* count */ 1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scalel:[[B
            iload 28 /* b */
            aaload
            aload 15 /* samples */
            iload 27 /* s */
            iload 28 /* b */
            iadd
            iaload
            baload
            bastore
       105: .line 995
            iinc 28 /* b */ 1
      StackMap locals:
      StackMap stack:
       106: iload 28 /* b */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            if_icmplt 103
        end local 28 // int b
       107: .line 994
            iload 27 /* s */
            iload 5 /* xSkip */
            iadd
            istore 27 /* s */
      StackMap locals:
      StackMap stack:
       108: iload 27 /* s */
            iload 14 /* numSamples */
            if_icmplt 101
        end local 27 // int s
       109: .line 1004
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter javax.imageio.stream.ImageOutputStream java.awt.image.RenderedImage int int int int int int int int int int int int int[] int java.awt.image.IndexColorModel int int java.awt.Rectangle java.awt.image.Raster int[] int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.rowFilter:Lcom/sun/imageio/plugins/png/RowFilter;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
       110: .line 1005
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.prevRow:[B
       111: .line 1006
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.filteredRows:[[B
       112: .line 1007
            iload 16 /* bytesPerRow */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.bpp:I
       113: .line 1004
            invokevirtual com.sun.imageio.plugins.png.RowFilter.filterRow:(I[B[B[[BII)I
            istore 26 /* filterType */
        start local 26 // int filterType
       114: .line 1009
            aload 1 /* os */
            iload 26 /* filterType */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
       115: .line 1010
            aload 1 /* os */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.filteredRows:[[B
            iload 26 /* filterType */
            aaload
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.bpp:I
            iload 16 /* bytesPerRow */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
       116: .line 1013
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
            astore 27 /* swap */
        start local 27 // byte[] swap
       117: .line 1014
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.prevRow:[B
            putfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
       118: .line 1015
            aload 0 /* this */
            aload 27 /* swap */
            putfield com.sun.imageio.plugins.png.PNGImageWriter.prevRow:[B
       119: .line 1017
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.png.PNGImageWriter.pixelsDone:I
            iload 11 /* hpixels */
            iadd
            putfield com.sun.imageio.plugins.png.PNGImageWriter.pixelsDone:I
       120: .line 1018
            aload 0 /* this */
            ldc 100.0
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.pixelsDone:I
            i2f
            fmul
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.totalPixels:I
            i2f
            fdiv
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processImageProgress:(F)V
       121: .line 1022
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.abortRequested:()Z
            ifeq 123
       122: .line 1023
            return
        end local 27 // byte[] swap
        end local 26 // int filterType
        end local 25 // int tmp
        end local 24 // int pos
        end local 23 // int count
        end local 22 // int[] paletteOrder
        end local 21 // java.awt.image.Raster ras
        end local 20 // java.awt.Rectangle rect
       123: .line 918
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter javax.imageio.stream.ImageOutputStream java.awt.image.RenderedImage int int int int int int int int int int int int int[] int java.awt.image.IndexColorModel int int
      StackMap stack:
            iload 19 /* row */
            iload 6 /* ySkip */
            iadd
            istore 19 /* row */
      StackMap locals:
      StackMap stack:
       124: iload 19 /* row */
            iload 8 /* minY */
            iload 10 /* height */
            iadd
            if_icmplt 34
        end local 19 // int row
       125: .line 1026
            return
        end local 18 // int bitDepth
        end local 17 // java.awt.image.IndexColorModel icm_gray_alpha
        end local 16 // int bytesPerRow
        end local 15 // int[] samples
        end local 14 // int numSamples
        end local 13 // int samplesPerByte
        end local 12 // int vpixels
        end local 11 // int hpixels
        end local 10 // int height
        end local 9 // int width
        end local 8 // int minY
        end local 7 // int minX
        end local 6 // int ySkip
        end local 5 // int xSkip
        end local 4 // int yOffset
        end local 3 // int xOffset
        end local 2 // java.awt.image.RenderedImage image
        end local 1 // javax.imageio.stream.ImageOutputStream os
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0  126     0            this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            0  126     1              os  Ljavax/imageio/stream/ImageOutputStream;
            0  126     2           image  Ljava/awt/image/RenderedImage;
            0  126     3         xOffset  I
            0  126     4         yOffset  I
            0  126     5           xSkip  I
            0  126     6           ySkip  I
            1  126     7            minX  I
            2  126     8            minY  I
            3  126     9           width  I
            4  126    10          height  I
            9  126    11         hpixels  I
           10  126    12         vpixels  I
           15  126    13  samplesPerByte  I
           16  126    14      numSamples  I
           17  126    15         samples  [I
           18  126    16     bytesPerRow  I
           24  126    17  icm_gray_alpha  Ljava/awt/image/IndexColorModel;
           32  126    18        bitDepth  I
           33  125    19             row  I
           35  123    20            rect  Ljava/awt/Rectangle;
           36  123    21             ras  Ljava/awt/image/Raster;
           43   52    22              wr  Ljava/awt/image/WritableRaster;
           53  123    22    paletteOrder  [I
           55   59    23               i  I
           60  123    23           count  I
           61  123    24             pos  I
           62  123    25             tmp  I
           64   78    26            mask  I
           65   74    27               s  I
           67   72    28             val  B
           80   88    27               s  I
           90   98    27               s  I
           92   96    28               b  I
          100  109    27               s  I
          102  107    28               b  I
          114  123    26      filterType  I
          117  123    27            swap  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      os       
      image    
      xOffset  
      yOffset  
      xSkip    
      ySkip    

  private void write_IDAT(java.awt.image.RenderedImage, int);
    descriptor: (Ljava/awt/image/RenderedImage;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=3
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
        start local 1 // java.awt.image.RenderedImage image
        start local 2 // int deflaterLevel
         0: .line 1032
            new com.sun.imageio.plugins.png.IDATOutputStream
            dup
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            ldc 32768
         1: .line 1033
            iload 2 /* deflaterLevel */
         2: .line 1032
            invokespecial com.sun.imageio.plugins.png.IDATOutputStream.<init>:(Ljavax/imageio/stream/ImageOutputStream;II)V
            astore 3 /* ios */
        start local 3 // com.sun.imageio.plugins.png.IDATOutputStream ios
         3: .line 1035
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_interlaceMethod:I
            iconst_1
            if_icmpne 17
         4: .line 1036
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 15
         6: .line 1037
      StackMap locals: com.sun.imageio.plugins.png.IDATOutputStream int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* ios */
            aload 1 /* image */
         7: .line 1038
            getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7XOffset:[I
            iload 4 /* i */
            iaload
         8: .line 1039
            getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7YOffset:[I
            iload 4 /* i */
            iaload
         9: .line 1040
            getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7XSubsampling:[I
            iload 4 /* i */
            iaload
        10: .line 1041
            getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7YSubsampling:[I
            iload 4 /* i */
            iaload
        11: .line 1037
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.encodePass:(Ljavax/imageio/stream/ImageOutputStream;Ljava/awt/image/RenderedImage;IIII)V
        12: .line 1042
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.abortRequested:()Z
            ifeq 14
        13: .line 1043
            goto 22
        14: .line 1036
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            bipush 7
            if_icmplt 6
        end local 4 // int i
        16: .line 1046
            goto 22
        17: .line 1047
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* ios */
            aload 1 /* image */
            iconst_0
            iconst_0
            iconst_1
            iconst_1
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.encodePass:(Ljavax/imageio/stream/ImageOutputStream;Ljava/awt/image/RenderedImage;IIII)V
        18: .line 1049
            goto 22
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: astore 5
        20: .line 1050
            aload 3 /* ios */
            invokevirtual com.sun.imageio.plugins.png.IDATOutputStream.finish:()V
        21: .line 1051
            aload 5
            athrow
        22: .line 1050
      StackMap locals:
      StackMap stack:
            aload 3 /* ios */
            invokevirtual com.sun.imageio.plugins.png.IDATOutputStream.finish:()V
        23: .line 1052
            return
        end local 3 // com.sun.imageio.plugins.png.IDATOutputStream ios
        end local 2 // int deflaterLevel
        end local 1 // java.awt.image.RenderedImage image
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   24     0           this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            0   24     1          image  Ljava/awt/image/RenderedImage;
            0   24     2  deflaterLevel  I
            3   24     3            ios  Lcom/sun/imageio/plugins/png/IDATOutputStream;
            5   16     4              i  I
      Exception table:
        from    to  target  type
           3    19      19  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      image          
      deflaterLevel  

  private void writeIEND();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 1055
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1229278788
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         1: .line 1056
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
         2: .line 1057
            return
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            1    3     1    cs  Lcom/sun/imageio/plugins/png/ChunkStream;
    Exceptions:
      throws java.io.IOException

  private boolean equals(int[], int[]);
    descriptor: ([I[I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
        start local 1 // int[] s0
        start local 2 // int[] s1
         0: .line 1062
            aload 1 /* s0 */
            ifnull 1
            aload 2 /* s1 */
            ifnonnull 2
         1: .line 1063
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 1065
      StackMap locals:
      StackMap stack:
            aload 1 /* s0 */
            arraylength
            aload 2 /* s1 */
            arraylength
            if_icmpeq 4
         3: .line 1066
            iconst_0
            ireturn
         4: .line 1068
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 9
         6: .line 1069
      StackMap locals: int
      StackMap stack:
            aload 1 /* s0 */
            iload 3 /* i */
            iaload
            aload 2 /* s1 */
            iload 3 /* i */
            iaload
            if_icmpeq 8
         7: .line 1070
            iconst_0
            ireturn
         8: .line 1068
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 1 /* s0 */
            arraylength
            if_icmplt 6
        end local 3 // int i
        10: .line 1073
            iconst_1
            ireturn
        end local 2 // int[] s1
        end local 1 // int[] s0
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            0   11     1    s0  [I
            0   11     2    s1  [I
            5   10     3     i  I
    MethodParameters:
      Name  Flags
      s0    
      s1    

  private void initializeScaleTables(int[]);
    descriptor: ([I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
        start local 1 // int[] sampleSize
         0: .line 1080
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
            istore 2 /* bitDepth */
        start local 2 // int bitDepth
         1: .line 1083
            iload 2 /* bitDepth */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scalingBitDepth:I
            if_icmpne 4
         2: .line 1084
            aload 0 /* this */
            aload 1 /* sampleSize */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sampleSize:[I
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.equals:([I[I)Z
            ifeq 4
         3: .line 1085
            return
         4: .line 1089
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sampleSize */
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sampleSize:[I
         5: .line 1090
            aload 0 /* this */
            iload 2 /* bitDepth */
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scalingBitDepth:I
         6: .line 1091
            iconst_1
            iload 2 /* bitDepth */
            ishl
            iconst_1
            isub
            istore 3 /* maxOutSample */
        start local 3 // int maxOutSample
         7: .line 1092
            iload 2 /* bitDepth */
            bipush 8
            if_icmpgt 26
         8: .line 1093
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            anewarray byte[]
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scale:[[B
         9: .line 1094
            iconst_0
            istore 4 /* b */
        start local 4 // int b
        10: goto 22
        11: .line 1095
      StackMap locals: int int
      StackMap stack:
            iconst_1
            aload 1 /* sampleSize */
            iload 4 /* b */
            iaload
            ishl
            iconst_1
            isub
            istore 5 /* maxInSample */
        start local 5 // int maxInSample
        12: .line 1096
            iload 5 /* maxInSample */
            iconst_2
            idiv
            istore 6 /* halfMaxInSample */
        start local 6 // int halfMaxInSample
        13: .line 1097
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scale:[[B
            iload 4 /* b */
            iload 5 /* maxInSample */
            iconst_1
            iadd
            newarray 8
            aastore
        14: .line 1098
            iconst_0
            istore 7 /* s */
        start local 7 // int s
        15: goto 20
        16: .line 1099
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scale:[[B
            iload 4 /* b */
            aaload
            iload 7 /* s */
        17: .line 1100
            iload 7 /* s */
            iload 3 /* maxOutSample */
            imul
            iload 6 /* halfMaxInSample */
            iadd
            iload 5 /* maxInSample */
            idiv
            i2b
        18: .line 1099
            bastore
        19: .line 1098
            iinc 7 /* s */ 1
      StackMap locals:
      StackMap stack:
        20: iload 7 /* s */
            iload 5 /* maxInSample */
            if_icmple 16
        end local 7 // int s
        end local 6 // int halfMaxInSample
        end local 5 // int maxInSample
        21: .line 1094
            iinc 4 /* b */ 1
      StackMap locals:
      StackMap stack:
        22: iload 4 /* b */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            if_icmplt 11
        end local 4 // int b
        23: .line 1103
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scale:[[B
            iconst_0
            aaload
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scale0:[B
        24: .line 1104
            aload 0 /* this */
            aload 0 /* this */
            aconst_null
            dup_x1
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scalel:[[B
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scaleh:[[B
        25: .line 1105
            goto 45
        26: .line 1107
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            anewarray byte[]
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scaleh:[[B
        27: .line 1108
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            anewarray byte[]
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scalel:[[B
        28: .line 1110
            iconst_0
            istore 4 /* b */
        start local 4 // int b
        29: goto 42
        30: .line 1111
      StackMap locals: int
      StackMap stack:
            iconst_1
            aload 1 /* sampleSize */
            iload 4 /* b */
            iaload
            ishl
            iconst_1
            isub
            istore 5 /* maxInSample */
        start local 5 // int maxInSample
        31: .line 1112
            iload 5 /* maxInSample */
            iconst_2
            idiv
            istore 6 /* halfMaxInSample */
        start local 6 // int halfMaxInSample
        32: .line 1113
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scaleh:[[B
            iload 4 /* b */
            iload 5 /* maxInSample */
            iconst_1
            iadd
            newarray 8
            aastore
        33: .line 1114
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scalel:[[B
            iload 4 /* b */
            iload 5 /* maxInSample */
            iconst_1
            iadd
            newarray 8
            aastore
        34: .line 1115
            iconst_0
            istore 7 /* s */
        start local 7 // int s
        35: goto 40
        36: .line 1116
      StackMap locals: int int int
      StackMap stack:
            iload 7 /* s */
            iload 3 /* maxOutSample */
            imul
            iload 6 /* halfMaxInSample */
            iadd
            iload 5 /* maxInSample */
            idiv
            istore 8 /* val */
        start local 8 // int val
        37: .line 1117
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scaleh:[[B
            iload 4 /* b */
            aaload
            iload 7 /* s */
            iload 8 /* val */
            bipush 8
            ishr
            i2b
            bastore
        38: .line 1118
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scalel:[[B
            iload 4 /* b */
            aaload
            iload 7 /* s */
            iload 8 /* val */
            sipush 255
            iand
            i2b
            bastore
        end local 8 // int val
        39: .line 1115
            iinc 7 /* s */ 1
      StackMap locals:
      StackMap stack:
        40: iload 7 /* s */
            iload 5 /* maxInSample */
            if_icmple 36
        end local 7 // int s
        end local 6 // int halfMaxInSample
        end local 5 // int maxInSample
        41: .line 1110
            iinc 4 /* b */ 1
      StackMap locals:
      StackMap stack:
        42: iload 4 /* b */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            if_icmplt 30
        end local 4 // int b
        43: .line 1121
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scale:[[B
        44: .line 1122
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scale0:[B
        45: .line 1124
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int maxOutSample
        end local 2 // int bitDepth
        end local 1 // int[] sampleSize
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   46     0             this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            0   46     1       sampleSize  [I
            1   46     2         bitDepth  I
            7   46     3     maxOutSample  I
           10   23     4                b  I
           12   21     5      maxInSample  I
           13   21     6  halfMaxInSample  I
           15   21     7                s  I
           29   43     4                b  I
           31   41     5      maxInSample  I
           32   41     6  halfMaxInSample  I
           35   41     7                s  I
           37   39     8              val  I
    MethodParameters:
            Name  Flags
      sampleSize  

  public void write(javax.imageio.metadata.IIOMetadata, javax.imageio.IIOImage, javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=11, args_size=4
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
        start local 1 // javax.imageio.metadata.IIOMetadata streamMetadata
        start local 2 // javax.imageio.IIOImage image
        start local 3 // javax.imageio.ImageWriteParam param
         0: .line 1130
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            ifnonnull 2
         1: .line 1131
            new java.lang.IllegalStateException
            dup
            ldc "output == null!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1133
      StackMap locals:
      StackMap stack:
            aload 2 /* image */
            ifnonnull 4
         3: .line 1134
            new java.lang.IllegalArgumentException
            dup
            ldc "image == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1136
      StackMap locals:
      StackMap stack:
            aload 2 /* image */
            invokevirtual javax.imageio.IIOImage.hasRaster:()Z
            ifeq 6
         5: .line 1137
            new java.lang.UnsupportedOperationException
            dup
            ldc "image has a Raster!"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1140
      StackMap locals:
      StackMap stack:
            aload 2 /* image */
            invokevirtual javax.imageio.IIOImage.getRenderedImage:()Ljava/awt/image/RenderedImage;
            astore 4 /* im */
        start local 4 // java.awt.image.RenderedImage im
         7: .line 1141
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getSampleModel:()Ljava/awt/image/SampleModel;
            astore 5 /* sampleModel */
        start local 5 // java.awt.image.SampleModel sampleModel
         8: .line 1142
            aload 0 /* this */
            aload 5 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getNumBands:()I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
         9: .line 1145
            aload 0 /* this */
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getMinX:()I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceXOffset:I
        10: .line 1146
            aload 0 /* this */
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getMinY:()I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceYOffset:I
        11: .line 1147
            aload 0 /* this */
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getWidth:()I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceWidth:I
        12: .line 1148
            aload 0 /* this */
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getHeight:()I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceHeight:I
        13: .line 1149
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceBands:[I
        14: .line 1150
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGImageWriter.periodX:I
        15: .line 1151
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGImageWriter.periodY:I
        16: .line 1153
            aload 3 /* param */
            ifnull 41
        17: .line 1155
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceRegion:()Ljava/awt/Rectangle;
            astore 6 /* sourceRegion */
        start local 6 // java.awt.Rectangle sourceRegion
        18: .line 1156
            aload 6 /* sourceRegion */
            ifnull 29
        19: .line 1157
            new java.awt.Rectangle
            dup
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getMinX:()I
        20: .line 1158
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getMinY:()I
        21: .line 1159
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getWidth:()I
        22: .line 1160
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getHeight:()I
        23: .line 1157
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            astore 7 /* imageBounds */
        start local 7 // java.awt.Rectangle imageBounds
        24: .line 1162
            aload 6 /* sourceRegion */
            aload 7 /* imageBounds */
            invokevirtual java.awt.Rectangle.intersection:(Ljava/awt/Rectangle;)Ljava/awt/Rectangle;
            astore 6 /* sourceRegion */
        25: .line 1163
            aload 0 /* this */
            aload 6 /* sourceRegion */
            getfield java.awt.Rectangle.x:I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceXOffset:I
        26: .line 1164
            aload 0 /* this */
            aload 6 /* sourceRegion */
            getfield java.awt.Rectangle.y:I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceYOffset:I
        27: .line 1165
            aload 0 /* this */
            aload 6 /* sourceRegion */
            getfield java.awt.Rectangle.width:I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceWidth:I
        28: .line 1166
            aload 0 /* this */
            aload 6 /* sourceRegion */
            getfield java.awt.Rectangle.height:I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceHeight:I
        end local 7 // java.awt.Rectangle imageBounds
        29: .line 1170
      StackMap locals: java.awt.image.RenderedImage java.awt.image.SampleModel java.awt.Rectangle
      StackMap stack:
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSubsamplingXOffset:()I
            istore 7 /* gridX */
        start local 7 // int gridX
        30: .line 1171
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSubsamplingYOffset:()I
            istore 8 /* gridY */
        start local 8 // int gridY
        31: .line 1172
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceXOffset:I
            iload 7 /* gridX */
            iadd
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceXOffset:I
        32: .line 1173
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceYOffset:I
            iload 8 /* gridY */
            iadd
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceYOffset:I
        33: .line 1174
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceWidth:I
            iload 7 /* gridX */
            isub
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceWidth:I
        34: .line 1175
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceHeight:I
            iload 8 /* gridY */
            isub
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceHeight:I
        35: .line 1178
            aload 0 /* this */
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceXSubsampling:()I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.periodX:I
        36: .line 1179
            aload 0 /* this */
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceYSubsampling:()I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.periodY:I
        37: .line 1181
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceBands:()[I
            astore 9 /* sBands */
        start local 9 // int[] sBands
        38: .line 1182
            aload 9 /* sBands */
            ifnull 41
        39: .line 1183
            aload 0 /* this */
            aload 9 /* sBands */
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceBands:[I
        40: .line 1184
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceBands:[I
            arraylength
            putfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
        end local 9 // int[] sBands
        end local 8 // int gridY
        end local 7 // int gridX
        end local 6 // java.awt.Rectangle sourceRegion
        41: .line 1189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceWidth:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.periodX:I
            iadd
            iconst_1
            isub
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.periodX:I
            idiv
            istore 6 /* destWidth */
        start local 6 // int destWidth
        42: .line 1190
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceHeight:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.periodY:I
            iadd
            iconst_1
            isub
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.periodY:I
            idiv
            istore 7 /* destHeight */
        start local 7 // int destHeight
        43: .line 1191
            iload 6 /* destWidth */
            ifle 44
            iload 7 /* destHeight */
            ifgt 45
        44: .line 1192
      StackMap locals: int int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Empty source region!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        45: .line 1196
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* destWidth */
            iload 7 /* destHeight */
            imul
            putfield com.sun.imageio.plugins.png.PNGImageWriter.totalPixels:I
        46: .line 1197
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGImageWriter.pixelsDone:I
        47: .line 1200
            aload 2 /* image */
            invokevirtual javax.imageio.IIOImage.getMetadata:()Ljavax/imageio/metadata/IIOMetadata;
            astore 8 /* imd */
        start local 8 // javax.imageio.metadata.IIOMetadata imd
        48: .line 1201
            aload 8 /* imd */
            ifnull 54
        49: .line 1202
            aload 0 /* this */
            aload 0 /* this */
            aload 8 /* imd */
        50: .line 1203
            aload 4 /* im */
            invokestatic javax.imageio.ImageTypeSpecifier.createFromRenderedImage:(Ljava/awt/image/RenderedImage;)Ljavax/imageio/ImageTypeSpecifier;
        51: .line 1204
            aconst_null
        52: .line 1202
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.convertImageMetadata:(Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
            checkcast com.sun.imageio.plugins.png.PNGMetadata
            putfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
        53: .line 1205
            goto 55
        54: .line 1206
      StackMap locals: javax.imageio.metadata.IIOMetadata
      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.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
        55: .line 1210
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 9 /* deflaterLevel */
        start local 9 // int deflaterLevel
        56: .line 1212
            aload 3 /* param */
            ifnull 67
        57: .line 1213
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getCompressionMode:()I
            tableswitch { // 0 - 2
                    0: 58
                    1: 63
                    2: 60
              default: 63
          }
        58: .line 1215
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 9 /* deflaterLevel */
        59: .line 1216
            goto 63
        60: .line 1218
      StackMap locals:
      StackMap stack:
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getCompressionQuality:()F
            fstore 10 /* quality */
        start local 10 // float quality
        61: .line 1219
            fload 10 /* quality */
            fconst_0
            fcmpl
            iflt 63
            fload 10 /* quality */
            fconst_1
            fcmpg
            ifgt 63
        62: .line 1220
            bipush 9
            ldc 9.0
            fload 10 /* quality */
            fmul
            invokestatic java.lang.Math.round:(F)I
            isub
            istore 9 /* deflaterLevel */
        end local 10 // float quality
        63: .line 1227
      StackMap locals:
      StackMap stack:
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getProgressiveMode:()I
            tableswitch { // 0 - 1
                    0: 66
                    1: 64
              default: 67
          }
        64: .line 1229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_interlaceMethod:I
        65: .line 1230
            goto 67
        66: .line 1232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_interlaceMethod:I
        67: .line 1241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            new javax.imageio.ImageTypeSpecifier
            dup
            aload 4 /* im */
            invokespecial javax.imageio.ImageTypeSpecifier.<init>:(Ljava/awt/image/RenderedImage;)V
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            invokevirtual com.sun.imageio.plugins.png.PNGMetadata.initialize:(Ljavax/imageio/ImageTypeSpecifier;I)V
        68: .line 1244
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 6 /* destWidth */
            putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_width:I
        69: .line 1245
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 7 /* destHeight */
            putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_height:I
        70: .line 1247
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
            bipush 16
            if_icmpne 71
            iconst_2
            goto 72
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam java.awt.image.RenderedImage java.awt.image.SampleModel int int javax.imageio.metadata.IIOMetadata int
      StackMap stack: com.sun.imageio.plugins.png.PNGImageWriter int
        71: iconst_1
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam java.awt.image.RenderedImage java.awt.image.SampleModel int int javax.imageio.metadata.IIOMetadata int
      StackMap stack: com.sun.imageio.plugins.png.PNGImageWriter int int
        72: imul
            putfield com.sun.imageio.plugins.png.PNGImageWriter.bpp:I
        73: .line 1250
            aload 0 /* this */
            aload 5 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getSampleSize:()[I
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.initializeScaleTables:([I)V
        74: .line 1252
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.clearAbortRequest:()V
        75: .line 1254
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processImageStarted:(I)V
        76: .line 1255
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.abortRequested:()Z
            ifeq 79
        77: .line 1256
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processWriteAborted:()V
        78: .line 1257
            goto 106
        79: .line 1259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_magic:()V
        80: .line 1260
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_IHDR:()V
        81: .line 1262
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_cHRM:()V
        82: .line 1263
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_gAMA:()V
        83: .line 1264
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_iCCP:()V
        84: .line 1265
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_sBIT:()V
        85: .line 1266
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_sRGB:()V
        86: .line 1268
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_PLTE:()V
        87: .line 1270
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_hIST:()V
        88: .line 1271
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_tRNS:()V
        89: .line 1272
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_bKGD:()V
        90: .line 1274
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_pHYs:()V
        91: .line 1275
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_sPLT:()V
        92: .line 1276
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_tIME:()V
        93: .line 1277
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_tEXt:()V
        94: .line 1278
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_iTXt:()V
        95: .line 1279
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_zTXt:()V
        96: .line 1281
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.writeUnknownChunks:()V
        97: .line 1283
            aload 0 /* this */
            aload 4 /* im */
            iload 9 /* deflaterLevel */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_IDAT:(Ljava/awt/image/RenderedImage;I)V
        98: .line 1285
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.abortRequested:()Z
            ifeq 101
        99: .line 1286
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processWriteAborted:()V
       100: .line 1287
            goto 106
       101: .line 1289
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.writeIEND:()V
       102: .line 1290
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processImageComplete:()V
       103: .line 1292
            goto 106
      StackMap locals:
      StackMap stack: java.io.IOException
       104: astore 10 /* e */
        start local 10 // java.io.IOException e
       105: .line 1293
            new javax.imageio.IIOException
            dup
            ldc "I/O error writing PNG file!"
            aload 10 /* e */
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 10 // java.io.IOException e
       106: .line 1296
      StackMap locals:
      StackMap stack:
            return
        end local 9 // int deflaterLevel
        end local 8 // javax.imageio.metadata.IIOMetadata imd
        end local 7 // int destHeight
        end local 6 // int destWidth
        end local 5 // java.awt.image.SampleModel sampleModel
        end local 4 // java.awt.image.RenderedImage im
        end local 3 // javax.imageio.ImageWriteParam param
        end local 2 // javax.imageio.IIOImage image
        end local 1 // javax.imageio.metadata.IIOMetadata streamMetadata
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0  107     0            this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            0  107     1  streamMetadata  Ljavax/imageio/metadata/IIOMetadata;
            0  107     2           image  Ljavax/imageio/IIOImage;
            0  107     3           param  Ljavax/imageio/ImageWriteParam;
            7  107     4              im  Ljava/awt/image/RenderedImage;
            8  107     5     sampleModel  Ljava/awt/image/SampleModel;
           18   41     6    sourceRegion  Ljava/awt/Rectangle;
           24   29     7     imageBounds  Ljava/awt/Rectangle;
           30   41     7           gridX  I
           31   41     8           gridY  I
           38   41     9          sBands  [I
           42  107     6       destWidth  I
           43  107     7      destHeight  I
           48  107     8             imd  Ljavax/imageio/metadata/IIOMetadata;
           56  107     9   deflaterLevel  I
           61   63    10         quality  F
          105  106    10               e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          79   103     104  Class java.io.IOException
    Exceptions:
      throws javax.imageio.IIOException
    MethodParameters:
                Name  Flags
      streamMetadata  
      image           
      param           
}
SourceFile: "PNGImageWriter.java"