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 7
         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 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
         3: .line 517
            aload 1 /* cs */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         4: .line 519
            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
         5: .line 520
            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
         6: .line 521
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         7: .line 523
      StackMap locals:
      StackMap stack:
            return
        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;
            2    7     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 526
            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 527
            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 528
            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 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_colorType:I
            iload 2 /* colorType */
            if_icmpeq 8
         4: .line 530
            aload 0 /* this */
            iconst_0
         5: .line 531
            ldc "sBIT metadata has wrong color type.\nThe chunk will not be written."
         6: .line 530
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processWarningOccurred:(ILjava/lang/String;)V
         7: .line 533
            return
         8: .line 536
      StackMap locals: com.sun.imageio.plugins.png.ChunkStream int
      StackMap stack:
            iload 2 /* colorType */
            ifeq 10
         9: .line 537
            iload 2 /* colorType */
            iconst_4
            if_icmpne 12
        10: .line 538
      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 539
            goto 18
      StackMap locals:
      StackMap stack:
        12: iload 2 /* colorType */
            iconst_2
            if_icmpeq 15
        13: .line 540
            iload 2 /* colorType */
            iconst_3
            if_icmpeq 15
        14: .line 541
            iload 2 /* colorType */
            bipush 6
            if_icmpne 18
        15: .line 542
      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 543
            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 544
            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 547
      StackMap locals:
      StackMap stack:
            iload 2 /* colorType */
            iconst_4
            if_icmpeq 20
        19: .line 548
            iload 2 /* colorType */
            bipush 6
            if_icmpne 21
        20: .line 549
      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 551
      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 553
      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 556
            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 557
            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 558
            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 559
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         4: .line 561
      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 564
            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 565
            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 566
            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 569
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
         4: .line 570
            ldc "A PLTE chunk may not appear in a gray or gray alpha image.\nThe chunk will not be written"
         5: .line 569
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processWarningOccurred:(ILjava/lang/String;)V
         6: .line 572
            return
         7: .line 575
      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 577
            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 578
            iload 2 /* numEntries */
            iconst_3
            imul
            newarray 8
            astore 3 /* palette */
        start local 3 // byte[] palette
        10: .line 579
            iconst_0
            istore 4 /* index */
        start local 4 // int index
        11: .line 580
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        12: goto 17
        13: .line 581
      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 582
            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 583
            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 580
            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 586
            aload 1 /* cs */
            aload 3 /* palette */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.write:([B)V
        19: .line 587
            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 589
      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 592
            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 593
            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 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.PLTE_present:Z
            ifne 4
         3: .line 596
            new javax.imageio.IIOException
            dup
            ldc "hIST chunk without PLTE chunk!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 599
      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 600
            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 599
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeChars:([CII)V
         7: .line 601
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         8: .line 603
      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 606
            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 607
            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 608
            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 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_colorType:I
            istore 3 /* chunkType */
        start local 3 // int chunkType
         4: .line 613
            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 614
            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 615
            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 616
            iload 2 /* colorType */
            iconst_2
            if_icmpne 12
         8: .line 617
            iload 3 /* chunkType */
            ifne 12
         9: .line 618
            iload 2 /* colorType */
            istore 3 /* chunkType */
        10: .line 620
            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 619
            dup
            istore 6 /* chunkBlue */
            dup
            istore 5 /* chunkGreen */
            istore 4 /* chunkRed */
        12: .line 623
      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 624
            aload 0 /* this */
            iconst_0
        14: .line 625
            ldc "tRNS metadata has incompatible color type.\nThe chunk will not be written."
        15: .line 624
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processWarningOccurred:(ILjava/lang/String;)V
        16: .line 627
            return
        17: .line 630
      StackMap locals:
      StackMap stack:
            iload 2 /* colorType */
            iconst_3
            if_icmpne 22
        18: .line 631
            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 632
            new javax.imageio.IIOException
            dup
            ldc "tRNS chunk without PLTE chunk!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 634
      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 635
            goto 31
      StackMap locals:
      StackMap stack:
        22: iload 2 /* colorType */
            ifne 25
        23: .line 636
            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 637
            goto 31
      StackMap locals:
      StackMap stack:
        25: iload 2 /* colorType */
            iconst_2
            if_icmpne 30
        26: .line 638
            aload 1 /* cs */
            iload 4 /* chunkRed */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        27: .line 639
            aload 1 /* cs */
            iload 5 /* chunkGreen */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        28: .line 640
            aload 1 /* cs */
            iload 6 /* chunkBlue */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        29: .line 641
            goto 31
        30: .line 642
      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 644
      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 646
      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 649
            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 650
            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 651
            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 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_colorType:I
            istore 3 /* chunkType */
        start local 3 // int chunkType
         4: .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.bKGD_red:I
            istore 4 /* chunkRed */
        start local 4 // int chunkRed
         5: .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_green:I
            istore 5 /* chunkGreen */
        start local 5 // int chunkGreen
         6: .line 656
            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 659
            iload 2 /* colorType */
            iconst_2
            if_icmpne 12
         8: .line 660
            iload 3 /* chunkType */
            ifne 12
         9: .line 662
            iload 2 /* colorType */
            istore 3 /* chunkType */
        10: .line 664
            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 663
            dup
            istore 6 /* chunkBlue */
            dup
            istore 5 /* chunkGreen */
            istore 4 /* chunkRed */
        12: .line 668
      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 669
            aload 0 /* this */
            iconst_0
        14: .line 670
            ldc "bKGD metadata has incompatible color type.\nThe chunk will not be written."
        15: .line 669
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processWarningOccurred:(ILjava/lang/String;)V
        16: .line 672
            return
        17: .line 675
      StackMap locals:
      StackMap stack:
            iload 2 /* colorType */
            iconst_3
            if_icmpne 20
        18: .line 676
            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 677
            goto 27
      StackMap locals:
      StackMap stack:
        20: iload 2 /* colorType */
            ifeq 22
        21: .line 678
            iload 2 /* colorType */
            iconst_4
            if_icmpne 24
        22: .line 679
      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 680
            goto 27
        24: .line 682
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            iload 4 /* chunkRed */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        25: .line 683
            aload 1 /* cs */
            iload 5 /* chunkGreen */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        26: .line 684
            aload 1 /* cs */
            iload 6 /* chunkBlue */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        27: .line 686
      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 688
      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 691
            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 692
            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 693
            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 694
            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 695
            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 696
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         6: .line 698
      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 701
            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 27
         1: .line 702
            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 704
            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
         3: .line 705
            aload 1 /* cs */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         4: .line 707
            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
         5: .line 708
            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
         6: .line 710
            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 17
         7: .line 711
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 15
         9: .line 712
      StackMap locals: com.sun.imageio.plugins.png.ChunkStream 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
        10: .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_green:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        11: .line 714
            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
        12: .line 715
            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
        13: .line 716
            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
        14: .line 711
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            iload 2 /* numEntries */
            if_icmplt 9
        end local 3 // int i
        16: .line 718
            goto 26
        17: .line 719
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        18: goto 25
        19: .line 720
      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
        20: .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_green:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        21: .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_blue:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        22: .line 723
            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
        23: .line 724
            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
        24: .line 719
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 3 /* i */
            iload 2 /* numEntries */
            if_icmplt 19
        end local 3 // int i
        26: .line 727
      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
        27: .line 729
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   28     0        this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2   27     1          cs  Lcom/sun/imageio/plugins/png/ChunkStream;
            6   27     2  numEntries  I
            8   16     3           i  I
           18   26     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 732
            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 733
            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 734
            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 735
            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 736
            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 737
            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 738
            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 739
            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 740
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         9: .line 742
      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 745
            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 746
            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 748
            goto 10
         3: .line 749
      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 750
            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 751
            aload 3 /* cs */
            aload 4 /* keyword */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeBytes:(Ljava/lang/String;)V
         6: .line 752
            aload 3 /* cs */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         7: .line 754
            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
         8: .line 755
            aload 3 /* cs */
            aload 5 /* text */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeBytes:(Ljava/lang/String;)V
         9: .line 756
            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
        10: .line 748
      StackMap locals:
      StackMap stack:
            aload 1 /* keywordIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        11: .line 758
            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   12     0         this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            1   12     1  keywordIter  Ljava/util/Iterator<Ljava/lang/String;>;
            2   12     2     textIter  Ljava/util/Iterator<Ljava/lang/String;>;
            4   10     3           cs  Lcom/sun/imageio/plugins/png/ChunkStream;
            5   10     4      keyword  Ljava/lang/String;
            8   10     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 761
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 2 /* baos */
        start local 2 // java.io.ByteArrayOutputStream baos
         1: .line 762
            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 763
            aload 3 /* dos */
            aload 1 /* b */
            invokevirtual java.util.zip.DeflaterOutputStream.write:([B)V
         3: .line 764
            aload 3 /* dos */
            invokevirtual java.util.zip.DeflaterOutputStream.close:()V
         4: .line 765
            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=10, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 769
            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 770
            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 771
            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 772
            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 774
            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 773
            astore 5 /* translatedKeywordIter */
        start local 5 // java.util.Iterator translatedKeywordIter
         6: .line 775
            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 777
            goto 26
         8: .line 778
      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 780
            aload 7 /* cs */
            aload 1 /* keywordIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeBytes:(Ljava/lang/String;)V
        10: .line 781
            aload 7 /* cs */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        11: .line 783
            aload 2 /* flagIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 8 /* compressed */
        start local 8 // java.lang.Boolean compressed
        12: .line 784
            aload 7 /* cs */
            aload 8 /* compressed */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 13
            iconst_1
            goto 14
      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.Boolean
      StackMap stack: com.sun.imageio.plugins.png.ChunkStream
        13: 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.Boolean
      StackMap stack: com.sun.imageio.plugins.png.ChunkStream int
        14: invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        15: .line 786
            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
        16: .line 788
            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
        17: .line 789
            aload 7 /* cs */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        18: .line 792
            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
        19: .line 793
            aload 7 /* cs */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        20: .line 795
            aload 6 /* textIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* text */
        start local 9 // java.lang.String text
        21: .line 796
            aload 8 /* compressed */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 24
        22: .line 797
            aload 7 /* cs */
            aload 0 /* this */
            aload 9 /* 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
        23: .line 798
            goto 25
        24: .line 799
      StackMap locals: java.lang.String
      StackMap stack:
            aload 7 /* cs */
            aload 9 /* text */
            ldc "UTF8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.write:([B)V
        25: .line 801
      StackMap locals:
      StackMap stack:
            aload 7 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 9 // java.lang.String text
        end local 8 // java.lang.Boolean compressed
        end local 7 // com.sun.imageio.plugins.png.ChunkStream cs
        26: .line 777
      StackMap locals:
      StackMap stack:
            aload 1 /* keywordIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        27: .line 803
            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   28     0                   this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            1   28     1            keywordIter  Ljava/util/Iterator<Ljava/lang/String;>;
            2   28     2               flagIter  Ljava/util/Iterator<Ljava/lang/Boolean;>;
            3   28     3             methodIter  Ljava/util/Iterator<Ljava/lang/Integer;>;
            4   28     4           languageIter  Ljava/util/Iterator<Ljava/lang/String;>;
            6   28     5  translatedKeywordIter  Ljava/util/Iterator<Ljava/lang/String;>;
            7   28     6               textIter  Ljava/util/Iterator<Ljava/lang/String;>;
            9   26     7                     cs  Lcom/sun/imageio/plugins/png/ChunkStream;
           12   26     8             compressed  Ljava/lang/Boolean;
           21   26     9                   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 806
            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 807
            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 808
            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 810
            goto 13
         4: .line 811
      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 812
            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 813
            aload 4 /* cs */
            aload 5 /* keyword */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeBytes:(Ljava/lang/String;)V
         7: .line 814
            aload 4 /* cs */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         8: .line 816
            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
         9: .line 817
            aload 4 /* cs */
            iload 6 /* compressionMethod */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        10: .line 819
            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
        11: .line 820
            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
        12: .line 821
            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
        13: .line 810
      StackMap locals:
      StackMap stack:
            aload 1 /* keywordIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        14: .line 823
            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   15     0               this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            1   15     1        keywordIter  Ljava/util/Iterator<Ljava/lang/String;>;
            2   15     2         methodIter  Ljava/util/Iterator<Ljava/lang/Integer;>;
            3   15     3           textIter  Ljava/util/Iterator<Ljava/lang/String;>;
            5   13     4                 cs  Lcom/sun/imageio/plugins/png/ChunkStream;
            6   13     5            keyword  Ljava/lang/String;
            9   13     6  compressionMethod  I
           11   13     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 826
            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 827
            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 829
            goto 8
         3: .line 830
      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 831
            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 832
            aload 2 /* dataIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            astore 5 /* data */
        start local 5 // byte[] data
         6: .line 833
            aload 4 /* cs */
            aload 5 /* data */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.write:([B)V
         7: .line 834
            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 829
      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 836
      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 839
            aload 0 /* typeString */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 1 /* c0 */
        start local 1 // char c0
         1: .line 840
            aload 0 /* typeString */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            istore 2 /* c1 */
        start local 2 // char c1
         2: .line 841
            aload 0 /* typeString */
            iconst_2
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c2 */
        start local 3 // char c2
         3: .line 842
            aload 0 /* typeString */
            iconst_3
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c3 */
        start local 4 // char c3
         4: .line 844
            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 845
            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 852
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceXOffset:I
            istore 7 /* minX */
        start local 7 // int minX
         1: .line 853
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceYOffset:I
            istore 8 /* minY */
        start local 8 // int minY
         2: .line 854
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceWidth:I
            istore 9 /* width */
        start local 9 // int width
         3: .line 855
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceHeight:I
            istore 10 /* height */
        start local 10 // int height
         4: .line 858
            iload 3 /* xOffset */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.periodX:I
            imul
            istore 3 /* xOffset */
         5: .line 859
            iload 5 /* xSkip */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.periodX:I
            imul
            istore 5 /* xSkip */
         6: .line 860
            iload 4 /* yOffset */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.periodY:I
            imul
            istore 4 /* yOffset */
         7: .line 861
            iload 6 /* ySkip */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.periodY:I
            imul
            istore 6 /* ySkip */
         8: .line 864
            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 865
            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 866
            iload 11 /* hpixels */
            ifeq 11
            iload 12 /* vpixels */
            ifne 12
        11: .line 867
      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 871
      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 872
            iload 5 /* xSkip */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            imul
            istore 5 /* xSkip */
        14: .line 875
            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 876
            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 877
            iload 14 /* numSamples */
            newarray 10
            astore 15 /* samples */
        start local 15 // int[] samples
        17: .line 879
            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 880
            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 881
            iload 16 /* bytesPerRow */
            iload 13 /* samplesPerByte */
            iadd
            iconst_1
            isub
            iload 13 /* samplesPerByte */
            idiv
            istore 16 /* bytesPerRow */
        20: .line 882
            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 883
            iload 16 /* bytesPerRow */
            iconst_2
            imul
            istore 16 /* bytesPerRow */
        23: .line 886
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 17 /* icm_gray_alpha */
        start local 17 // java.awt.image.IndexColorModel icm_gray_alpha
        24: .line 887
            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 888
            aload 2 /* image */
            invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
            instanceof java.awt.image.IndexColorModel
            ifeq 28
        26: .line 891
            iload 16 /* bytesPerRow */
            iconst_2
            imul
            istore 16 /* bytesPerRow */
        27: .line 894
            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 897
      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 898
            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 899
            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 901
            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 902
            iload 8 /* minY */
            iload 4 /* yOffset */
            iadd
            istore 19 /* row */
        start local 19 // int row
        33: goto 124
        34: .line 903
      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 904
            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 905
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceBands:[I
            ifnull 40
        37: .line 906
            aload 21 /* ras */
            iload 7 /* minX */
            iload 19 /* row */
            iload 9 /* width */
            iconst_1
            iload 7 /* minX */
            iload 19 /* row */
        38: .line 907
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceBands:[I
        39: .line 906
            invokevirtual java.awt.image.Raster.createChild:(IIIIII[I)Ljava/awt/image/Raster;
            astore 21 /* ras */
        40: .line 910
      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 912
            aload 2 /* image */
            invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
            invokevirtual java.awt.image.ColorModel.isAlphaPremultiplied:()Z
            ifeq 52
        42: .line 913
            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 914
            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 915
            aload 22 /* wr */
            invokevirtual java.awt.image.WritableRaster.getWidth:()I
            aload 22 /* wr */
            invokevirtual java.awt.image.WritableRaster.getHeight:()I
        45: .line 916
            aload 15 /* samples */
        46: .line 914
            invokevirtual java.awt.image.WritableRaster.setPixels:(IIII[I)V
        47: .line 918
            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 919
            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 920
            aload 22 /* wr */
            invokevirtual java.awt.image.WritableRaster.getWidth:()I
            aload 22 /* wr */
            invokevirtual java.awt.image.WritableRaster.getHeight:()I
        50: .line 921
            aload 15 /* samples */
        51: .line 919
            invokevirtual java.awt.image.WritableRaster.getPixels:(IIII[I)[I
            pop
        end local 22 // java.awt.image.WritableRaster wr
        52: .line 925
      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 926
            aload 22 /* paletteOrder */
            ifnull 59
        54: .line 927
            iconst_0
            istore 23 /* i */
        start local 23 // int i
        55: goto 58
        56: .line 928
      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 927
            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 932
      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 933
            iconst_0
            istore 24 /* pos */
        start local 24 // int pos
        61: .line 934
            iconst_0
            istore 25 /* tmp */
        start local 25 // int tmp
        62: .line 936
            iload 18 /* bitDepth */
            lookupswitch { // 5
                    1: 63
                    2: 63
                    4: 63
                    8: 78
                   16: 99
              default: 109
          }
        63: .line 940
      StackMap locals: int int int
      StackMap stack:
            iload 13 /* samplesPerByte */
            iconst_1
            isub
            istore 26 /* mask */
        start local 26 // int mask
        64: .line 941
            iload 3 /* xOffset */
            istore 27 /* s */
        start local 27 // int s
        65: goto 73
        66: .line 942
      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 943
            iload 25 /* tmp */
            iload 18 /* bitDepth */
            ishl
            iload 28 /* val */
            ior
            istore 25 /* tmp */
        68: .line 945
            iload 24 /* pos */
            iinc 24 /* pos */ 1
            iload 26 /* mask */
            iand
            iload 26 /* mask */
            if_icmpne 72
        69: .line 946
            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 947
            iconst_0
            istore 25 /* tmp */
        71: .line 948
            iconst_0
            istore 24 /* pos */
        end local 28 // byte val
        72: .line 941
      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 953
            iload 24 /* pos */
            iload 26 /* mask */
            iand
            ifeq 109
        75: .line 954
            iload 25 /* tmp */
            bipush 8
            iload 18 /* bitDepth */
            idiv
            iload 24 /* pos */
            isub
            iload 18 /* bitDepth */
            imul
            ishl
            istore 25 /* tmp */
        76: .line 955
            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 957
            goto 109
        end local 26 // int mask
        78: .line 960
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            iconst_1
            if_icmpne 89
        79: .line 961
            iload 3 /* xOffset */
            istore 27 /* s */
        start local 27 // int s
        80: goto 87
        81: .line 962
      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 963
            aload 17 /* icm_gray_alpha */
            ifnull 86
        83: .line 964
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
            iload 23 /* count */
            iinc 23 /* count */ 1
        84: .line 965
            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 964
            bastore
        86: .line 961
      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 968
            goto 109
        89: .line 969
      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 970
      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 971
      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 970
            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 969
            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 975
            goto 109
        99: .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
      StackMap stack:
            iload 3 /* xOffset */
            istore 27 /* s */
        start local 27 // int s
       100: goto 108
       101: .line 979
      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 980
      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 981
            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 979
            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 978
            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 988
      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 989
            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 990
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.filteredRows:[[B
       112: .line 991
            iload 16 /* bytesPerRow */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.bpp:I
       113: .line 988
            invokevirtual com.sun.imageio.plugins.png.RowFilter.filterRow:(I[B[B[[BII)I
            istore 26 /* filterType */
        start local 26 // int filterType
       114: .line 993
            aload 1 /* os */
            iload 26 /* filterType */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
       115: .line 994
            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 997
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
            astore 27 /* swap */
        start local 27 // byte[] swap
       117: .line 998
            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 999
            aload 0 /* this */
            aload 27 /* swap */
            putfield com.sun.imageio.plugins.png.PNGImageWriter.prevRow:[B
       119: .line 1001
            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 1002
            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 1006
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.abortRequested:()Z
            ifeq 123
       122: .line 1007
            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 902
      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 1010
            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 1016
            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 1017
            iload 2 /* deflaterLevel */
         2: .line 1016
            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 1019
            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 1020
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 15
         6: .line 1021
      StackMap locals: com.sun.imageio.plugins.png.IDATOutputStream int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* ios */
            aload 1 /* image */
         7: .line 1022
            getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7XOffset:[I
            iload 4 /* i */
            iaload
         8: .line 1023
            getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7YOffset:[I
            iload 4 /* i */
            iaload
         9: .line 1024
            getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7XSubsampling:[I
            iload 4 /* i */
            iaload
        10: .line 1025
            getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7YSubsampling:[I
            iload 4 /* i */
            iaload
        11: .line 1021
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.encodePass:(Ljavax/imageio/stream/ImageOutputStream;Ljava/awt/image/RenderedImage;IIII)V
        12: .line 1026
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.abortRequested:()Z
            ifeq 14
        13: .line 1027
            goto 22
        14: .line 1020
      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 1030
            goto 22
        17: .line 1031
      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 1033
            goto 22
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: astore 5
        20: .line 1034
            aload 3 /* ios */
            invokevirtual com.sun.imageio.plugins.png.IDATOutputStream.finish:()V
        21: .line 1035
            aload 5
            athrow
        22: .line 1034
      StackMap locals:
      StackMap stack:
            aload 3 /* ios */
            invokevirtual com.sun.imageio.plugins.png.IDATOutputStream.finish:()V
        23: .line 1036
            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 1039
            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 1040
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
         2: .line 1041
            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 1046
            aload 1 /* s0 */
            ifnull 1
            aload 2 /* s1 */
            ifnonnull 2
         1: .line 1047
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 1049
      StackMap locals:
      StackMap stack:
            aload 1 /* s0 */
            arraylength
            aload 2 /* s1 */
            arraylength
            if_icmpeq 4
         3: .line 1050
            iconst_0
            ireturn
         4: .line 1052
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 9
         6: .line 1053
      StackMap locals: int
      StackMap stack:
            aload 1 /* s0 */
            iload 3 /* i */
            iaload
            aload 2 /* s1 */
            iload 3 /* i */
            iaload
            if_icmpeq 8
         7: .line 1054
            iconst_0
            ireturn
         8: .line 1052
      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 1057
            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 1064
            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 1067
            iload 2 /* bitDepth */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scalingBitDepth:I
            if_icmpne 4
         2: .line 1068
            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 1069
            return
         4: .line 1073
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sampleSize */
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sampleSize:[I
         5: .line 1074
            aload 0 /* this */
            iload 2 /* bitDepth */
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scalingBitDepth:I
         6: .line 1075
            iconst_1
            iload 2 /* bitDepth */
            ishl
            iconst_1
            isub
            istore 3 /* maxOutSample */
        start local 3 // int maxOutSample
         7: .line 1076
            iload 2 /* bitDepth */
            bipush 8
            if_icmpgt 26
         8: .line 1077
            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 1078
            iconst_0
            istore 4 /* b */
        start local 4 // int b
        10: goto 22
        11: .line 1079
      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 1080
            iload 5 /* maxInSample */
            iconst_2
            idiv
            istore 6 /* halfMaxInSample */
        start local 6 // int halfMaxInSample
        13: .line 1081
            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 1082
            iconst_0
            istore 7 /* s */
        start local 7 // int s
        15: goto 20
        16: .line 1083
      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 1084
            iload 7 /* s */
            iload 3 /* maxOutSample */
            imul
            iload 6 /* halfMaxInSample */
            iadd
            iload 5 /* maxInSample */
            idiv
            i2b
        18: .line 1083
            bastore
        19: .line 1082
            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 1078
            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 1087
            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 1088
            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 1089
            goto 45
        26: .line 1091
      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 1092
            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 1094
            iconst_0
            istore 4 /* b */
        start local 4 // int b
        29: goto 42
        30: .line 1095
      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 1096
            iload 5 /* maxInSample */
            iconst_2
            idiv
            istore 6 /* halfMaxInSample */
        start local 6 // int halfMaxInSample
        32: .line 1097
            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 1098
            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 1099
            iconst_0
            istore 7 /* s */
        start local 7 // int s
        35: goto 40
        36: .line 1100
      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 1101
            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 1102
            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 1099
            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 1094
            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 1105
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scale:[[B
        44: .line 1106
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scale0:[B
        45: .line 1108
      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 1114
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            ifnonnull 2
         1: .line 1115
            new java.lang.IllegalStateException
            dup
            ldc "output == null!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1117
      StackMap locals:
      StackMap stack:
            aload 2 /* image */
            ifnonnull 4
         3: .line 1118
            new java.lang.IllegalArgumentException
            dup
            ldc "image == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1120
      StackMap locals:
      StackMap stack:
            aload 2 /* image */
            invokevirtual javax.imageio.IIOImage.hasRaster:()Z
            ifeq 6
         5: .line 1121
            new java.lang.UnsupportedOperationException
            dup
            ldc "image has a Raster!"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1124
      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 1125
            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 1126
            aload 0 /* this */
            aload 5 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getNumBands:()I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
         9: .line 1129
            aload 0 /* this */
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getMinX:()I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceXOffset:I
        10: .line 1130
            aload 0 /* this */
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getMinY:()I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceYOffset:I
        11: .line 1131
            aload 0 /* this */
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getWidth:()I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceWidth:I
        12: .line 1132
            aload 0 /* this */
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getHeight:()I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceHeight:I
        13: .line 1133
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceBands:[I
        14: .line 1134
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGImageWriter.periodX:I
        15: .line 1135
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGImageWriter.periodY:I
        16: .line 1137
            aload 3 /* param */
            ifnull 41
        17: .line 1139
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceRegion:()Ljava/awt/Rectangle;
            astore 6 /* sourceRegion */
        start local 6 // java.awt.Rectangle sourceRegion
        18: .line 1140
            aload 6 /* sourceRegion */
            ifnull 29
        19: .line 1141
            new java.awt.Rectangle
            dup
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getMinX:()I
        20: .line 1142
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getMinY:()I
        21: .line 1143
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getWidth:()I
        22: .line 1144
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getHeight:()I
        23: .line 1141
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            astore 7 /* imageBounds */
        start local 7 // java.awt.Rectangle imageBounds
        24: .line 1146
            aload 6 /* sourceRegion */
            aload 7 /* imageBounds */
            invokevirtual java.awt.Rectangle.intersection:(Ljava/awt/Rectangle;)Ljava/awt/Rectangle;
            astore 6 /* sourceRegion */
        25: .line 1147
            aload 0 /* this */
            aload 6 /* sourceRegion */
            getfield java.awt.Rectangle.x:I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceXOffset:I
        26: .line 1148
            aload 0 /* this */
            aload 6 /* sourceRegion */
            getfield java.awt.Rectangle.y:I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceYOffset:I
        27: .line 1149
            aload 0 /* this */
            aload 6 /* sourceRegion */
            getfield java.awt.Rectangle.width:I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceWidth:I
        28: .line 1150
            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 1154
      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 1155
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSubsamplingYOffset:()I
            istore 8 /* gridY */
        start local 8 // int gridY
        31: .line 1156
            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 1157
            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 1158
            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 1159
            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 1162
            aload 0 /* this */
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceXSubsampling:()I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.periodX:I
        36: .line 1163
            aload 0 /* this */
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceYSubsampling:()I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.periodY:I
        37: .line 1165
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceBands:()[I
            astore 9 /* sBands */
        start local 9 // int[] sBands
        38: .line 1166
            aload 9 /* sBands */
            ifnull 41
        39: .line 1167
            aload 0 /* this */
            aload 9 /* sBands */
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceBands:[I
        40: .line 1168
            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 1173
      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 1174
            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 1175
            iload 6 /* destWidth */
            ifle 44
            iload 7 /* destHeight */
            ifgt 45
        44: .line 1176
      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 1180
      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 1181
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGImageWriter.pixelsDone:I
        47: .line 1184
            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 1185
            aload 8 /* imd */
            ifnull 54
        49: .line 1186
            aload 0 /* this */
            aload 0 /* this */
            aload 8 /* imd */
        50: .line 1187
            aload 4 /* im */
            invokestatic javax.imageio.ImageTypeSpecifier.createFromRenderedImage:(Ljava/awt/image/RenderedImage;)Ljavax/imageio/ImageTypeSpecifier;
        51: .line 1188
            aconst_null
        52: .line 1186
            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 1189
            goto 55
        54: .line 1190
      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 1194
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 9 /* deflaterLevel */
        start local 9 // int deflaterLevel
        56: .line 1196
            aload 3 /* param */
            ifnull 67
        57: .line 1197
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getCompressionMode:()I
            tableswitch { // 0 - 2
                    0: 58
                    1: 63
                    2: 60
              default: 63
          }
        58: .line 1199
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 9 /* deflaterLevel */
        59: .line 1200
            goto 63
        60: .line 1202
      StackMap locals:
      StackMap stack:
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getCompressionQuality:()F
            fstore 10 /* quality */
        start local 10 // float quality
        61: .line 1203
            fload 10 /* quality */
            fconst_0
            fcmpl
            iflt 63
            fload 10 /* quality */
            fconst_1
            fcmpg
            ifgt 63
        62: .line 1204
            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 1211
      StackMap locals:
      StackMap stack:
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getProgressiveMode:()I
            tableswitch { // 0 - 1
                    0: 66
                    1: 64
              default: 67
          }
        64: .line 1213
      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 1214
            goto 67
        66: .line 1216
      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 1225
      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 1228
            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 1229
            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 1231
            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 1234
            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 1236
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.clearAbortRequest:()V
        75: .line 1238
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processImageStarted:(I)V
        76: .line 1239
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.abortRequested:()Z
            ifeq 79
        77: .line 1240
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processWriteAborted:()V
        78: .line 1241
            goto 106
        79: .line 1243
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_magic:()V
        80: .line 1244
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_IHDR:()V
        81: .line 1246
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_cHRM:()V
        82: .line 1247
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_gAMA:()V
        83: .line 1248
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_iCCP:()V
        84: .line 1249
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_sBIT:()V
        85: .line 1250
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_sRGB:()V
        86: .line 1252
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_PLTE:()V
        87: .line 1254
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_hIST:()V
        88: .line 1255
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_tRNS:()V
        89: .line 1256
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_bKGD:()V
        90: .line 1258
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_pHYs:()V
        91: .line 1259
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_sPLT:()V
        92: .line 1260
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_tIME:()V
        93: .line 1261
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_tEXt:()V
        94: .line 1262
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_iTXt:()V
        95: .line 1263
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_zTXt:()V
        96: .line 1265
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.writeUnknownChunks:()V
        97: .line 1267
            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 1269
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.abortRequested:()Z
            ifeq 101
        99: .line 1270
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processWriteAborted:()V
       100: .line 1271
            goto 106
       101: .line 1273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.writeIEND:()V
       102: .line 1274
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processImageComplete:()V
       103: .line 1276
            goto 106
      StackMap locals:
      StackMap stack: java.io.IOException
       104: astore 10 /* e */
        start local 10 // java.io.IOException e
       105: .line 1277
            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 1280
      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"