public class com.sun.imageio.plugins.bmp.BMPImageWriter extends javax.imageio.ImageWriter implements com.sun.imageio.plugins.bmp.BMPConstants
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.imageio.plugins.bmp.BMPImageWriter
  super_class: javax.imageio.ImageWriter
{
  private javax.imageio.stream.ImageOutputStream stream;
    descriptor: Ljavax/imageio/stream/ImageOutputStream;
    flags: (0x0002) ACC_PRIVATE

  private java.io.ByteArrayOutputStream embedded_stream;
    descriptor: Ljava/io/ByteArrayOutputStream;
    flags: (0x0002) ACC_PRIVATE

  private int version;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int compressionType;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean isTopDown;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int w;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int h;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int compImageSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int[] bitMasks;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private int[] bitPos;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private byte[] bpixels;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private short[] spixels;
    descriptor: [S
    flags: (0x0002) ACC_PRIVATE

  private int[] ipixels;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  public void <init>(javax.imageio.spi.ImageWriterSpi);
    descriptor: (Ljavax/imageio/spi/ImageWriterSpi;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // javax.imageio.spi.ImageWriterSpi originator
         0: .line 95
            aload 0 /* this */
            aload 1 /* originator */
            invokespecial javax.imageio.ImageWriter.<init>:(Ljavax/imageio/spi/ImageWriterSpi;)V
         1: .line 78
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
         2: .line 79
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
         3: .line 84
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.compImageSize:I
         4: .line 96
            return
        end local 1 // javax.imageio.spi.ImageWriterSpi originator
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    5     1  originator  Ljavax/imageio/spi/ImageWriterSpi;
    MethodParameters:
            Name  Flags
      originator  

  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.bmp.BMPImageWriter this
        start local 1 // java.lang.Object output
         0: .line 99
            aload 0 /* this */
            aload 1 /* output */
            invokespecial javax.imageio.ImageWriter.setOutput:(Ljava/lang/Object;)V
         1: .line 100
            aload 1 /* output */
            ifnull 7
         2: .line 101
            aload 1 /* output */
            instanceof javax.imageio.stream.ImageOutputStream
            ifne 4
         3: .line 102
            new java.lang.IllegalArgumentException
            dup
            ldc "BMPImageWriter0"
            invokestatic com.sun.imageio.plugins.common.I18N.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* output */
            checkcast javax.imageio.stream.ImageOutputStream
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
         5: .line 104
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokeinterface javax.imageio.stream.ImageOutputStream.setByteOrder:(Ljava/nio/ByteOrder;)V
         6: .line 105
            goto 8
         7: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
         8: .line 107
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object output
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    9     1  output  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      output  

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

  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.bmp.BMPImageWriter this
        start local 1 // javax.imageio.ImageWriteParam param
         0: .line 114
            aconst_null
            areturn
        end local 1 // javax.imageio.ImageWriteParam param
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            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.bmp.BMPImageWriter this
        start local 1 // javax.imageio.ImageTypeSpecifier imageType
        start local 2 // javax.imageio.ImageWriteParam param
         0: .line 119
            new com.sun.imageio.plugins.bmp.BMPMetadata
            dup
            invokespecial com.sun.imageio.plugins.bmp.BMPMetadata.<init>:()V
            astore 3 /* meta */
        start local 3 // com.sun.imageio.plugins.bmp.BMPMetadata meta
         1: .line 120
            aload 3 /* meta */
            ldc "BMP v. 3.x"
            putfield com.sun.imageio.plugins.bmp.BMPMetadata.bmpVersion:Ljava/lang/String;
         2: .line 121
            aload 3 /* meta */
            aload 0 /* this */
            aload 1 /* imageType */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.getPreferredCompressionType:(Ljavax/imageio/ImageTypeSpecifier;)I
            putfield com.sun.imageio.plugins.bmp.BMPMetadata.compression:I
         3: .line 122
            aload 2 /* param */
            ifnull 6
         4: .line 123
            aload 2 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getCompressionMode:()I
            iconst_2
            if_icmpne 6
         5: .line 124
            aload 3 /* meta */
            aload 2 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getCompressionType:()Ljava/lang/String;
            invokestatic com.sun.imageio.plugins.bmp.BMPCompressionTypes.getType:(Ljava/lang/String;)I
            putfield com.sun.imageio.plugins.bmp.BMPMetadata.compression:I
         6: .line 126
      StackMap locals: com.sun.imageio.plugins.bmp.BMPMetadata
      StackMap stack:
            aload 3 /* meta */
            aload 1 /* imageType */
            invokevirtual javax.imageio.ImageTypeSpecifier.getColorModel:()Ljava/awt/image/ColorModel;
            invokevirtual java.awt.image.ColorModel.getPixelSize:()I
            i2s
            putfield com.sun.imageio.plugins.bmp.BMPMetadata.bitsPerPixel:S
         7: .line 127
            aload 3 /* meta */
            areturn
        end local 3 // com.sun.imageio.plugins.bmp.BMPMetadata meta
        end local 2 // javax.imageio.ImageWriteParam param
        end local 1 // javax.imageio.ImageTypeSpecifier imageType
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    8     1  imageType  Ljavax/imageio/ImageTypeSpecifier;
            0    8     2      param  Ljavax/imageio/ImageWriteParam;
            1    8     3       meta  Lcom/sun/imageio/plugins/bmp/BMPMetadata;
    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.bmp.BMPImageWriter this
        start local 1 // javax.imageio.metadata.IIOMetadata inData
        start local 2 // javax.imageio.ImageWriteParam param
         0: .line 132
            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.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            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=1, locals=4, args_size=4
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // javax.imageio.metadata.IIOMetadata metadata
        start local 2 // javax.imageio.ImageTypeSpecifier type
        start local 3 // javax.imageio.ImageWriteParam param
         0: .line 138
            aconst_null
            areturn
        end local 3 // javax.imageio.ImageWriteParam param
        end local 2 // javax.imageio.ImageTypeSpecifier type
        end local 1 // javax.imageio.metadata.IIOMetadata metadata
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    1     1  metadata  Ljavax/imageio/metadata/IIOMetadata;
            0    1     2      type  Ljavax/imageio/ImageTypeSpecifier;
            0    1     3     param  Ljavax/imageio/ImageWriteParam;
    MethodParameters:
          Name  Flags
      metadata  
      type      
      param     

  public boolean canWriteRasters();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
         0: .line 142
            iconst_1
            ireturn
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;

  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=8, locals=65, args_size=4
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter 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 149
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            ifnonnull 2
         1: .line 150
            new java.lang.IllegalStateException
            dup
            ldc "BMPImageWriter7"
            invokestatic com.sun.imageio.plugins.common.I18N.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 153
      StackMap locals:
      StackMap stack:
            aload 2 /* image */
            ifnonnull 4
         3: .line 154
            new java.lang.IllegalArgumentException
            dup
            ldc "BMPImageWriter8"
            invokestatic com.sun.imageio.plugins.common.I18N.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 157
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.clearAbortRequest:()V
         5: .line 158
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processImageStarted:(I)V
         6: .line 159
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.abortRequested:()Z
            ifeq 9
         7: .line 160
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processWriteAborted:()V
         8: .line 161
            return
         9: .line 163
      StackMap locals:
      StackMap stack:
            aload 3 /* param */
            ifnonnull 11
        10: .line 164
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.getDefaultWriteParam:()Ljavax/imageio/ImageWriteParam;
            astore 3 /* param */
        11: .line 166
      StackMap locals:
      StackMap stack:
            aload 3 /* param */
            checkcast javax.imageio.plugins.bmp.BMPImageWriteParam
            astore 4 /* bmpParam */
        start local 4 // javax.imageio.plugins.bmp.BMPImageWriteParam bmpParam
        12: .line 169
            bipush 24
            istore 5 /* bitsPerPixel */
        start local 5 // int bitsPerPixel
        13: .line 170
            iconst_0
            istore 6 /* isPalette */
        start local 6 // boolean isPalette
        14: .line 171
            iconst_0
            istore 7 /* paletteEntries */
        start local 7 // int paletteEntries
        15: .line 172
            aconst_null
            astore 8 /* icm */
        start local 8 // java.awt.image.IndexColorModel icm
        16: .line 174
            aconst_null
            astore 9 /* input */
        start local 9 // java.awt.image.RenderedImage input
        17: .line 175
            aconst_null
            astore 10 /* inputRaster */
        start local 10 // java.awt.image.Raster inputRaster
        18: .line 176
            aload 2 /* image */
            invokevirtual javax.imageio.IIOImage.hasRaster:()Z
            istore 11 /* writeRaster */
        start local 11 // boolean writeRaster
        19: .line 177
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceRegion:()Ljava/awt/Rectangle;
            astore 12 /* sourceRegion */
        start local 12 // java.awt.Rectangle sourceRegion
        20: .line 178
            aconst_null
            astore 13 /* sampleModel */
        start local 13 // java.awt.image.SampleModel sampleModel
        21: .line 179
            aconst_null
            astore 14 /* colorModel */
        start local 14 // java.awt.image.ColorModel colorModel
        22: .line 181
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.compImageSize:I
        23: .line 183
            iload 11 /* writeRaster */
            ifeq 31
        24: .line 184
            aload 2 /* image */
            invokevirtual javax.imageio.IIOImage.getRaster:()Ljava/awt/image/Raster;
            astore 10 /* inputRaster */
        25: .line 185
            aload 10 /* inputRaster */
            invokevirtual java.awt.image.Raster.getSampleModel:()Ljava/awt/image/SampleModel;
            astore 13 /* sampleModel */
        26: .line 186
            aconst_null
            aload 13 /* sampleModel */
            invokestatic com.sun.imageio.plugins.common.ImageUtil.createColorModel:(Ljava/awt/color/ColorSpace;Ljava/awt/image/SampleModel;)Ljava/awt/image/ColorModel;
            astore 14 /* colorModel */
        27: .line 187
            aload 12 /* sourceRegion */
            ifnonnull 29
        28: .line 188
            aload 10 /* inputRaster */
            invokevirtual java.awt.image.Raster.getBounds:()Ljava/awt/Rectangle;
            astore 12 /* sourceRegion */
            goto 40
        29: .line 190
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel
      StackMap stack:
            aload 12 /* sourceRegion */
            aload 10 /* inputRaster */
            invokevirtual java.awt.image.Raster.getBounds:()Ljava/awt/Rectangle;
            invokevirtual java.awt.Rectangle.intersection:(Ljava/awt/Rectangle;)Ljava/awt/Rectangle;
            astore 12 /* sourceRegion */
        30: .line 191
            goto 40
        31: .line 192
      StackMap locals:
      StackMap stack:
            aload 2 /* image */
            invokevirtual javax.imageio.IIOImage.getRenderedImage:()Ljava/awt/image/RenderedImage;
            astore 9 /* input */
        32: .line 193
            aload 9 /* input */
            invokeinterface java.awt.image.RenderedImage.getSampleModel:()Ljava/awt/image/SampleModel;
            astore 13 /* sampleModel */
        33: .line 194
            aload 9 /* input */
            invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
            astore 14 /* colorModel */
        34: .line 195
            new java.awt.Rectangle
            dup
            aload 9 /* input */
            invokeinterface java.awt.image.RenderedImage.getMinX:()I
            aload 9 /* input */
            invokeinterface java.awt.image.RenderedImage.getMinY:()I
        35: .line 196
            aload 9 /* input */
            invokeinterface java.awt.image.RenderedImage.getWidth:()I
            aload 9 /* input */
            invokeinterface java.awt.image.RenderedImage.getHeight:()I
        36: .line 195
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            astore 15 /* rect */
        start local 15 // java.awt.Rectangle rect
        37: .line 197
            aload 12 /* sourceRegion */
            ifnonnull 39
        38: .line 198
            aload 15 /* rect */
            astore 12 /* sourceRegion */
            goto 40
        39: .line 200
      StackMap locals: java.awt.Rectangle
      StackMap stack:
            aload 12 /* sourceRegion */
            aload 15 /* rect */
            invokevirtual java.awt.Rectangle.intersection:(Ljava/awt/Rectangle;)Ljava/awt/Rectangle;
            astore 12 /* sourceRegion */
        end local 15 // java.awt.Rectangle rect
        40: .line 203
      StackMap locals:
      StackMap stack:
            aload 2 /* image */
            invokevirtual javax.imageio.IIOImage.getMetadata:()Ljavax/imageio/metadata/IIOMetadata;
            astore 15 /* imageMetadata */
        start local 15 // javax.imageio.metadata.IIOMetadata imageMetadata
        41: .line 204
            aconst_null
            astore 16 /* bmpImageMetadata */
        start local 16 // com.sun.imageio.plugins.bmp.BMPMetadata bmpImageMetadata
        42: .line 205
            aload 15 /* imageMetadata */
            ifnull 46
        43: .line 206
            aload 15 /* imageMetadata */
            instanceof com.sun.imageio.plugins.bmp.BMPMetadata
            ifeq 46
        44: .line 208
            aload 15 /* imageMetadata */
            checkcast com.sun.imageio.plugins.bmp.BMPMetadata
            astore 16 /* bmpImageMetadata */
        45: .line 209
            goto 51
        46: .line 211
      StackMap locals: javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata
      StackMap stack:
            new javax.imageio.ImageTypeSpecifier
            dup
            aload 14 /* colorModel */
            aload 13 /* sampleModel */
            invokespecial javax.imageio.ImageTypeSpecifier.<init>:(Ljava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)V
        47: .line 210
            astore 17 /* imageType */
        start local 17 // javax.imageio.ImageTypeSpecifier imageType
        48: .line 213
            aload 0 /* this */
            aload 17 /* imageType */
        49: .line 214
            aload 3 /* param */
        50: .line 213
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.getDefaultImageMetadata:(Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
            checkcast com.sun.imageio.plugins.bmp.BMPMetadata
            astore 16 /* bmpImageMetadata */
        end local 17 // javax.imageio.ImageTypeSpecifier imageType
        51: .line 217
      StackMap locals:
      StackMap stack:
            aload 12 /* sourceRegion */
            invokevirtual java.awt.Rectangle.isEmpty:()Z
            ifeq 53
        52: .line 218
            new java.lang.RuntimeException
            dup
            ldc "BMPImageWrite0"
            invokestatic com.sun.imageio.plugins.common.I18N.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        53: .line 220
      StackMap locals:
      StackMap stack:
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceXSubsampling:()I
            istore 17 /* scaleX */
        start local 17 // int scaleX
        54: .line 221
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceYSubsampling:()I
            istore 18 /* scaleY */
        start local 18 // int scaleY
        55: .line 222
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSubsamplingXOffset:()I
            istore 19 /* xOffset */
        start local 19 // int xOffset
        56: .line 223
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSubsamplingYOffset:()I
            istore 20 /* yOffset */
        start local 20 // int yOffset
        57: .line 226
            aload 13 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getDataType:()I
            istore 21 /* dataType */
        start local 21 // int dataType
        58: .line 228
            aload 12 /* sourceRegion */
            iload 19 /* xOffset */
            iload 20 /* yOffset */
            invokevirtual java.awt.Rectangle.translate:(II)V
        59: .line 229
            aload 12 /* sourceRegion */
            dup
            getfield java.awt.Rectangle.width:I
            iload 19 /* xOffset */
            isub
            putfield java.awt.Rectangle.width:I
        60: .line 230
            aload 12 /* sourceRegion */
            dup
            getfield java.awt.Rectangle.height:I
            iload 20 /* yOffset */
            isub
            putfield java.awt.Rectangle.height:I
        61: .line 232
            aload 12 /* sourceRegion */
            getfield java.awt.Rectangle.x:I
            iload 17 /* scaleX */
            idiv
            istore 22 /* minX */
        start local 22 // int minX
        62: .line 233
            aload 12 /* sourceRegion */
            getfield java.awt.Rectangle.y:I
            iload 18 /* scaleY */
            idiv
            istore 23 /* minY */
        start local 23 // int minY
        63: .line 234
            aload 0 /* this */
            aload 12 /* sourceRegion */
            getfield java.awt.Rectangle.width:I
            iload 17 /* scaleX */
            iadd
            iconst_1
            isub
            iload 17 /* scaleX */
            idiv
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
        64: .line 235
            aload 0 /* this */
            aload 12 /* sourceRegion */
            getfield java.awt.Rectangle.height:I
            iload 18 /* scaleY */
            iadd
            iconst_1
            isub
            iload 18 /* scaleY */
            idiv
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
        65: .line 236
            aload 12 /* sourceRegion */
            getfield java.awt.Rectangle.x:I
            iload 17 /* scaleX */
            irem
            istore 19 /* xOffset */
        66: .line 237
            aload 12 /* sourceRegion */
            getfield java.awt.Rectangle.y:I
            iload 18 /* scaleY */
            irem
            istore 20 /* yOffset */
        67: .line 239
            new java.awt.Rectangle
            dup
            iload 22 /* minX */
            iload 23 /* minY */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            astore 24 /* destinationRegion */
        start local 24 // java.awt.Rectangle destinationRegion
        68: .line 240
            aload 24 /* destinationRegion */
            aload 12 /* sourceRegion */
            invokevirtual java.awt.Rectangle.equals:(Ljava/lang/Object;)Z
            istore 25 /* noTransform */
        start local 25 // boolean noTransform
        69: .line 243
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceBands:()[I
            astore 26 /* sourceBands */
        start local 26 // int[] sourceBands
        70: .line 244
            iconst_1
            istore 27 /* noSubband */
        start local 27 // boolean noSubband
        71: .line 245
            aload 13 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getNumBands:()I
            istore 28 /* numBands */
        start local 28 // int numBands
        72: .line 247
            aload 26 /* sourceBands */
            ifnull 78
        73: .line 248
            aload 13 /* sampleModel */
            aload 26 /* sourceBands */
            invokevirtual java.awt.image.SampleModel.createSubsetSampleModel:([I)Ljava/awt/image/SampleModel;
            astore 13 /* sampleModel */
        74: .line 249
            aconst_null
            astore 14 /* colorModel */
        75: .line 250
            iconst_0
            istore 27 /* noSubband */
        76: .line 251
            aload 13 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getNumBands:()I
            istore 28 /* numBands */
        77: .line 252
            goto 84
        78: .line 253
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int
      StackMap stack:
            iload 28 /* numBands */
            newarray 10
            astore 26 /* sourceBands */
        79: .line 254
            iconst_0
            istore 29 /* i */
        start local 29 // int i
        80: goto 83
        81: .line 255
      StackMap locals: int
      StackMap stack:
            aload 26 /* sourceBands */
            iload 29 /* i */
            iload 29 /* i */
            iastore
        82: .line 254
            iinc 29 /* i */ 1
      StackMap locals:
      StackMap stack:
        83: iload 29 /* i */
            iload 28 /* numBands */
            if_icmplt 81
        end local 29 // int i
        84: .line 258
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 29 /* bandOffsets */
        start local 29 // int[] bandOffsets
        85: .line 259
            iconst_1
            istore 30 /* bgrOrder */
        start local 30 // boolean bgrOrder
        86: .line 261
            aload 13 /* sampleModel */
            instanceof java.awt.image.ComponentSampleModel
            ifeq 99
        87: .line 262
            aload 13 /* sampleModel */
            checkcast java.awt.image.ComponentSampleModel
            invokevirtual java.awt.image.ComponentSampleModel.getBandOffsets:()[I
            astore 29 /* bandOffsets */
        88: .line 263
            aload 13 /* sampleModel */
            instanceof java.awt.image.BandedSampleModel
            ifeq 91
        89: .line 266
            iconst_0
            istore 30 /* bgrOrder */
        90: .line 267
            goto 108
        91: .line 271
      StackMap locals: int[] int
      StackMap stack:
            iconst_0
            istore 31 /* i */
        start local 31 // int i
        92: goto 97
        93: .line 272
      StackMap locals: int
      StackMap stack:
            iload 30 /* bgrOrder */
            aload 29 /* bandOffsets */
            iload 31 /* i */
            iaload
            aload 29 /* bandOffsets */
            arraylength
            iload 31 /* i */
            isub
            iconst_1
            isub
            if_icmpne 94
            iconst_1
            goto 95
      StackMap locals:
      StackMap stack: int
        94: iconst_0
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int
      StackMap stack: int int
        95: iand
            istore 30 /* bgrOrder */
        96: .line 271
            iinc 31 /* i */ 1
      StackMap locals:
      StackMap stack:
        97: iload 31 /* i */
            aload 29 /* bandOffsets */
            arraylength
            if_icmplt 93
        end local 31 // int i
        98: .line 275
            goto 108
        99: .line 276
      StackMap locals:
      StackMap stack:
            aload 13 /* sampleModel */
            instanceof java.awt.image.SinglePixelPackedSampleModel
            ifeq 108
       100: .line 281
            aload 13 /* sampleModel */
            checkcast java.awt.image.SinglePixelPackedSampleModel
            invokevirtual java.awt.image.SinglePixelPackedSampleModel.getBitOffsets:()[I
            astore 31 /* bitOffsets */
        start local 31 // int[] bitOffsets
       101: .line 282
            iconst_0
            istore 32 /* i */
        start local 32 // int i
       102: goto 107
       103: .line 283
      StackMap locals: int[] int
      StackMap stack:
            iload 30 /* bgrOrder */
            aload 31 /* bitOffsets */
            iload 32 /* i */
            iaload
            aload 31 /* bitOffsets */
            iload 32 /* i */
            iconst_1
            iadd
            iaload
            if_icmple 104
            iconst_1
            goto 105
      StackMap locals:
      StackMap stack: int
       104: iconst_0
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int
      StackMap stack: int int
       105: iand
            istore 30 /* bgrOrder */
       106: .line 282
            iinc 32 /* i */ 1
      StackMap locals:
      StackMap stack:
       107: iload 32 /* i */
            aload 31 /* bitOffsets */
            arraylength
            iconst_1
            isub
            if_icmplt 103
        end local 32 // int i
        end local 31 // int[] bitOffsets
       108: .line 288
      StackMap locals:
      StackMap stack:
            aload 29 /* bandOffsets */
            ifnonnull 115
       109: .line 291
            iload 28 /* numBands */
            newarray 10
            astore 29 /* bandOffsets */
       110: .line 292
            iconst_0
            istore 31 /* i */
        start local 31 // int i
       111: goto 114
       112: .line 293
      StackMap locals: int
      StackMap stack:
            aload 29 /* bandOffsets */
            iload 31 /* i */
            iload 31 /* i */
            iastore
       113: .line 292
            iinc 31 /* i */ 1
      StackMap locals:
      StackMap stack:
       114: iload 31 /* i */
            iload 28 /* numBands */
            if_icmplt 112
        end local 31 // int i
       115: .line 296
      StackMap locals:
      StackMap stack:
            iload 25 /* noTransform */
            iload 30 /* bgrOrder */
            iand
            istore 25 /* noTransform */
       116: .line 298
            aload 13 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getSampleSize:()[I
            astore 31 /* sampleSize */
        start local 31 // int[] sampleSize
       117: .line 303
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            iload 28 /* numBands */
            imul
            istore 32 /* destScanlineBytes */
        start local 32 // int destScanlineBytes
       118: .line 305
            aload 4 /* bmpParam */
            invokevirtual javax.imageio.plugins.bmp.BMPImageWriteParam.getCompressionMode:()I
            tableswitch { // 1 - 3
                    1: 123
                    2: 119
                    3: 121
              default: 125
          }
       119: .line 307
      StackMap locals: int[] int
      StackMap stack:
            aload 0 /* this */
            aload 4 /* bmpParam */
            invokevirtual javax.imageio.plugins.bmp.BMPImageWriteParam.getCompressionType:()Ljava/lang/String;
            invokestatic com.sun.imageio.plugins.bmp.BMPCompressionTypes.getType:(Ljava/lang/String;)I
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
       120: .line 308
            goto 126
       121: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 16 /* bmpImageMetadata */
            getfield com.sun.imageio.plugins.bmp.BMPMetadata.compression:I
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
       122: .line 311
            goto 126
       123: .line 313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 14 /* colorModel */
            aload 13 /* sampleModel */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.getPreferredCompressionType:(Ljava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)I
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
       124: .line 314
            goto 126
       125: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
       126: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            aload 14 /* colorModel */
            aload 13 /* sampleModel */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.canEncodeImage:(ILjava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)Z
            ifne 130
       127: .line 321
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Image can not be encoded with compression type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       128: .line 322
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            invokestatic com.sun.imageio.plugins.bmp.BMPCompressionTypes.getName:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       129: .line 321
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
       130: .line 325
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 33 /* r */
        start local 33 // byte[] r
       131: aconst_null
            astore 34 /* g */
        start local 34 // byte[] g
       132: aconst_null
            astore 35 /* b */
        start local 35 // byte[] b
       133: aconst_null
            astore 36 /* a */
        start local 36 // byte[] a
       134: .line 327
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_3
            if_icmpne 175
       135: .line 329
            aload 13 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getDataType:()I
            invokestatic java.awt.image.DataBuffer.getDataTypeSize:(I)I
       136: .line 328
            istore 5 /* bitsPerPixel */
       137: .line 331
            iload 5 /* bitsPerPixel */
            bipush 16
            if_icmpeq 140
            iload 5 /* bitsPerPixel */
            bipush 32
            if_icmpeq 140
       138: .line 334
            bipush 32
            istore 5 /* bitsPerPixel */
       139: .line 338
            iconst_0
            istore 25 /* noTransform */
       140: .line 341
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int byte[] byte[] byte[] byte[]
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            iload 5 /* bitsPerPixel */
            imul
            bipush 7
            iadd
            iconst_3
            ishr
            istore 32 /* destScanlineBytes */
       141: .line 343
            iconst_1
            istore 6 /* isPalette */
       142: .line 344
            iconst_3
            istore 7 /* paletteEntries */
       143: .line 345
            iload 7 /* paletteEntries */
            newarray 8
            astore 33 /* r */
       144: .line 346
            iload 7 /* paletteEntries */
            newarray 8
            astore 34 /* g */
       145: .line 347
            iload 7 /* paletteEntries */
            newarray 8
            astore 35 /* b */
       146: .line 348
            iload 7 /* paletteEntries */
            newarray 8
            astore 36 /* a */
       147: .line 350
            ldc 16711680
            istore 37 /* rmask */
        start local 37 // int rmask
       148: .line 351
            ldc 65280
            istore 38 /* gmask */
        start local 38 // int gmask
       149: .line 352
            sipush 255
            istore 39 /* bmask */
        start local 39 // int bmask
       150: .line 354
            iload 5 /* bitsPerPixel */
            bipush 16
            if_icmpne 160
       151: .line 361
            aload 14 /* colorModel */
            instanceof java.awt.image.DirectColorModel
            ifeq 157
       152: .line 362
            aload 14 /* colorModel */
            checkcast java.awt.image.DirectColorModel
            astore 40 /* dcm */
        start local 40 // java.awt.image.DirectColorModel dcm
       153: .line 363
            aload 40 /* dcm */
            invokevirtual java.awt.image.DirectColorModel.getRedMask:()I
            istore 37 /* rmask */
       154: .line 364
            aload 40 /* dcm */
            invokevirtual java.awt.image.DirectColorModel.getGreenMask:()I
            istore 38 /* gmask */
       155: .line 365
            aload 40 /* dcm */
            invokevirtual java.awt.image.DirectColorModel.getBlueMask:()I
            istore 39 /* bmask */
        end local 40 // java.awt.image.DirectColorModel dcm
       156: .line 366
            goto 160
       157: .line 369
      StackMap locals: int int int
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Image can not be encoded with compression type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       158: .line 371
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            invokestatic com.sun.imageio.plugins.bmp.BMPCompressionTypes.getName:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       159: .line 369
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
       160: .line 374
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 37 /* rmask */
            iconst_0
            aload 33 /* r */
            aload 34 /* g */
            aload 35 /* b */
            aload 36 /* a */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeMaskToPalette:(II[B[B[B[B)V
       161: .line 375
            aload 0 /* this */
            iload 38 /* gmask */
            iconst_1
            aload 33 /* r */
            aload 34 /* g */
            aload 35 /* b */
            aload 36 /* a */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeMaskToPalette:(II[B[B[B[B)V
       162: .line 376
            aload 0 /* this */
            iload 39 /* bmask */
            iconst_2
            aload 33 /* r */
            aload 34 /* g */
            aload 35 /* b */
            aload 36 /* a */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeMaskToPalette:(II[B[B[B[B)V
       163: .line 378
            iload 25 /* noTransform */
            ifne 172
       164: .line 380
            aload 0 /* this */
            iconst_3
            newarray 10
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitMasks:[I
       165: .line 381
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitMasks:[I
            iconst_0
            iload 37 /* rmask */
            iastore
       166: .line 382
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitMasks:[I
            iconst_1
            iload 38 /* gmask */
            iastore
       167: .line 383
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitMasks:[I
            iconst_2
            iload 39 /* bmask */
            iastore
       168: .line 385
            aload 0 /* this */
            iconst_3
            newarray 10
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitPos:[I
       169: .line 386
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitPos:[I
            iconst_0
            aload 0 /* this */
            iload 37 /* rmask */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.firstLowBit:(I)I
            iastore
       170: .line 387
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitPos:[I
            iconst_1
            aload 0 /* this */
            iload 38 /* gmask */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.firstLowBit:(I)I
            iastore
       171: .line 388
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitPos:[I
            iconst_2
            aload 0 /* this */
            iload 39 /* bmask */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.firstLowBit:(I)I
            iastore
       172: .line 391
      StackMap locals:
      StackMap stack:
            aload 14 /* colorModel */
            instanceof java.awt.image.IndexColorModel
            ifeq 235
       173: .line 392
            aload 14 /* colorModel */
            checkcast java.awt.image.IndexColorModel
            astore 8 /* icm */
        end local 39 // int bmask
        end local 38 // int gmask
        end local 37 // int rmask
       174: .line 394
            goto 235
       175: .line 395
      StackMap locals:
      StackMap stack:
            aload 14 /* colorModel */
            instanceof java.awt.image.IndexColorModel
            ifeq 204
       176: .line 396
            iconst_1
            istore 6 /* isPalette */
       177: .line 397
            aload 14 /* colorModel */
            checkcast java.awt.image.IndexColorModel
            astore 8 /* icm */
       178: .line 398
            aload 8 /* icm */
            invokevirtual java.awt.image.IndexColorModel.getMapSize:()I
            istore 7 /* paletteEntries */
       179: .line 400
            iload 7 /* paletteEntries */
            iconst_2
            if_icmpgt 183
       180: .line 401
            iconst_1
            istore 5 /* bitsPerPixel */
       181: .line 402
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            bipush 7
            iadd
            iconst_3
            ishr
            istore 32 /* destScanlineBytes */
       182: .line 403
            goto 194
      StackMap locals:
      StackMap stack:
       183: iload 7 /* paletteEntries */
            bipush 16
            if_icmpgt 187
       184: .line 404
            iconst_4
            istore 5 /* bitsPerPixel */
       185: .line 405
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            iconst_1
            iadd
            iconst_1
            ishr
            istore 32 /* destScanlineBytes */
       186: .line 406
            goto 194
      StackMap locals:
      StackMap stack:
       187: iload 7 /* paletteEntries */
            sipush 256
            if_icmpgt 190
       188: .line 407
            bipush 8
            istore 5 /* bitsPerPixel */
       189: .line 408
            goto 194
       190: .line 411
      StackMap locals:
      StackMap stack:
            bipush 24
            istore 5 /* bitsPerPixel */
       191: .line 412
            iconst_0
            istore 6 /* isPalette */
       192: .line 413
            iconst_0
            istore 7 /* paletteEntries */
       193: .line 414
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            iconst_3
            imul
            istore 32 /* destScanlineBytes */
       194: .line 417
      StackMap locals:
      StackMap stack:
            iload 6 /* isPalette */
            ifeq 235
       195: .line 418
            iload 7 /* paletteEntries */
            newarray 8
            astore 33 /* r */
       196: .line 419
            iload 7 /* paletteEntries */
            newarray 8
            astore 34 /* g */
       197: .line 420
            iload 7 /* paletteEntries */
            newarray 8
            astore 35 /* b */
       198: .line 421
            iload 7 /* paletteEntries */
            newarray 8
            astore 36 /* a */
       199: .line 423
            aload 8 /* icm */
            aload 36 /* a */
            invokevirtual java.awt.image.IndexColorModel.getAlphas:([B)V
       200: .line 424
            aload 8 /* icm */
            aload 33 /* r */
            invokevirtual java.awt.image.IndexColorModel.getReds:([B)V
       201: .line 425
            aload 8 /* icm */
            aload 34 /* g */
            invokevirtual java.awt.image.IndexColorModel.getGreens:([B)V
       202: .line 426
            aload 8 /* icm */
            aload 35 /* b */
            invokevirtual java.awt.image.IndexColorModel.getBlues:([B)V
       203: .line 429
            goto 235
       204: .line 431
      StackMap locals:
      StackMap stack:
            iload 28 /* numBands */
            iconst_1
            if_icmpne 222
       205: .line 433
            iconst_1
            istore 6 /* isPalette */
       206: .line 434
            sipush 256
            istore 7 /* paletteEntries */
       207: .line 435
            aload 31 /* sampleSize */
            iconst_0
            iaload
            istore 5 /* bitsPerPixel */
       208: .line 437
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            iload 5 /* bitsPerPixel */
            imul
            bipush 7
            iadd
            iconst_3
            ishr
            istore 32 /* destScanlineBytes */
       209: .line 439
            sipush 256
            newarray 8
            astore 33 /* r */
       210: .line 440
            sipush 256
            newarray 8
            astore 34 /* g */
       211: .line 441
            sipush 256
            newarray 8
            astore 35 /* b */
       212: .line 442
            sipush 256
            newarray 8
            astore 36 /* a */
       213: .line 444
            iconst_0
            istore 37 /* i */
        start local 37 // int i
       214: goto 220
       215: .line 445
      StackMap locals: int
      StackMap stack:
            aload 33 /* r */
            iload 37 /* i */
            iload 37 /* i */
            i2b
            bastore
       216: .line 446
            aload 34 /* g */
            iload 37 /* i */
            iload 37 /* i */
            i2b
            bastore
       217: .line 447
            aload 35 /* b */
            iload 37 /* i */
            iload 37 /* i */
            i2b
            bastore
       218: .line 448
            aload 36 /* a */
            iload 37 /* i */
            iconst_m1
            bastore
       219: .line 444
            iinc 37 /* i */ 1
      StackMap locals:
      StackMap stack:
       220: iload 37 /* i */
            sipush 256
            if_icmplt 215
        end local 37 // int i
       221: .line 451
            goto 235
       222: .line 452
      StackMap locals:
      StackMap stack:
            aload 13 /* sampleModel */
            instanceof java.awt.image.SinglePixelPackedSampleModel
            ifeq 235
       223: .line 453
            iload 27 /* noSubband */
            ifeq 235
       224: .line 461
            aload 13 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getSampleSize:()[I
            astore 37 /* sample_sizes */
        start local 37 // int[] sample_sizes
       225: .line 462
            iconst_0
            istore 5 /* bitsPerPixel */
       226: .line 463
            aload 37 /* sample_sizes */
            dup
            astore 41
            arraylength
            istore 40
            iconst_0
            istore 39
            goto 230
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int byte[] byte[] byte[] byte[] int[] top int int int[]
      StackMap stack:
       227: aload 41
            iload 39
            iaload
            istore 38 /* size */
        start local 38 // int size
       228: .line 464
            iload 5 /* bitsPerPixel */
            iload 38 /* size */
            iadd
            istore 5 /* bitsPerPixel */
        end local 38 // int size
       229: .line 463
            iinc 39 1
      StackMap locals:
      StackMap stack:
       230: iload 39
            iload 40
            if_icmplt 227
       231: .line 466
            aload 0 /* this */
            iload 5 /* bitsPerPixel */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.roundBpp:(I)I
            istore 5 /* bitsPerPixel */
       232: .line 467
            iload 5 /* bitsPerPixel */
            aload 13 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getDataType:()I
            invokestatic java.awt.image.DataBuffer.getDataTypeSize:(I)I
            if_icmpeq 234
       233: .line 468
            iconst_0
            istore 25 /* noTransform */
       234: .line 470
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int byte[] byte[] byte[] byte[] int[]
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            iload 5 /* bitsPerPixel */
            imul
            bipush 7
            iadd
            iconst_3
            ishr
            istore 32 /* destScanlineBytes */
        end local 37 // int[] sample_sizes
       235: .line 477
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 37 /* fileSize */
        start local 37 // int fileSize
       236: .line 478
            iconst_0
            istore 38 /* offset */
        start local 38 // int offset
       237: .line 479
            iconst_0
            istore 39 /* headerSize */
        start local 39 // int headerSize
       238: .line 480
            iconst_0
            istore 40 /* imageSize */
        start local 40 // int imageSize
       239: .line 481
            iconst_0
            istore 41 /* xPelsPerMeter */
        start local 41 // int xPelsPerMeter
       240: .line 482
            iconst_0
            istore 42 /* yPelsPerMeter */
        start local 42 // int yPelsPerMeter
       241: .line 483
            iconst_0
            istore 43 /* colorsUsed */
        start local 43 // int colorsUsed
       242: .line 484
            iload 7 /* paletteEntries */
            istore 44 /* colorsImportant */
        start local 44 // int colorsImportant
       243: .line 487
            iload 32 /* destScanlineBytes */
            iconst_4
            irem
            istore 45 /* padding */
        start local 45 // int padding
       244: .line 488
            iload 45 /* padding */
            ifeq 246
       245: .line 489
            iconst_4
            iload 45 /* padding */
            isub
            istore 45 /* padding */
       246: .line 495
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int byte[] byte[] byte[] byte[] int int int int int int int int int
      StackMap stack:
            bipush 54
            iload 7 /* paletteEntries */
            iconst_4
            imul
            iadd
            istore 38 /* offset */
       247: .line 497
            iload 32 /* destScanlineBytes */
            iload 45 /* padding */
            iadd
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
            imul
            istore 40 /* imageSize */
       248: .line 498
            iload 40 /* imageSize */
            iload 38 /* offset */
            iadd
            istore 37 /* fileSize */
       249: .line 499
            bipush 40
            istore 39 /* headerSize */
       250: .line 501
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokeinterface javax.imageio.stream.ImageOutputStream.getStreamPosition:()J
            lstore 46 /* headPos */
        start local 46 // long headPos
       251: .line 503
            aload 0 /* this */
            iload 37 /* fileSize */
            iload 38 /* offset */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeFileHeader:(II)V
       252: .line 510
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            ifeq 254
       253: .line 511
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_3
            if_icmpne 256
       254: .line 513
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            aload 4 /* bmpParam */
            invokevirtual javax.imageio.plugins.bmp.BMPImageWriteParam.isTopDown:()Z
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.isTopDown:Z
       255: .line 514
            goto 257
       256: .line 515
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.isTopDown:Z
       257: .line 518
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 39 /* headerSize */
            iload 5 /* bitsPerPixel */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeInfoHeader:(II)V
       258: .line 521
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
       259: .line 524
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 40 /* imageSize */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
       260: .line 527
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 41 /* xPelsPerMeter */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
       261: .line 530
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 42 /* yPelsPerMeter */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
       262: .line 533
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 43 /* colorsUsed */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
       263: .line 536
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 44 /* colorsImportant */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
       264: .line 539
            iload 6 /* isPalette */
            ifeq 281
       265: .line 542
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_3
            if_icmpne 273
       266: .line 544
            iconst_0
            istore 48 /* i */
        start local 48 // int i
       267: goto 271
       268: .line 545
      StackMap locals: int
      StackMap stack:
            aload 36 /* a */
            iload 48 /* i */
            baload
            sipush 255
            iand
            aload 33 /* r */
            iload 48 /* i */
            baload
            sipush 255
            iand
            sipush 256
            imul
            iadd
            aload 34 /* g */
            iload 48 /* i */
            baload
            sipush 255
            iand
            ldc 65536
            imul
            iadd
            aload 35 /* b */
            iload 48 /* i */
            baload
            sipush 255
            iand
            ldc 16777216
            imul
            iadd
            istore 49 /* mask */
        start local 49 // int mask
       269: .line 546
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 49 /* mask */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
        end local 49 // int mask
       270: .line 544
            iinc 48 /* i */ 1
      StackMap locals:
      StackMap stack:
       271: iload 48 /* i */
            iconst_3
            if_icmplt 268
        end local 48 // int i
       272: .line 548
            goto 281
       273: .line 549
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 48 /* i */
        start local 48 // int i
       274: goto 280
       275: .line 550
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 35 /* b */
            iload 48 /* i */
            baload
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       276: .line 551
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 34 /* g */
            iload 48 /* i */
            baload
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       277: .line 552
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 33 /* r */
            iload 48 /* i */
            baload
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       278: .line 553
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 36 /* a */
            iload 48 /* i */
            baload
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       279: .line 549
            iinc 48 /* i */ 1
      StackMap locals:
      StackMap stack:
       280: iload 48 /* i */
            iload 7 /* paletteEntries */
            if_icmplt 275
        end local 48 // int i
       281: .line 559
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            iload 28 /* numBands */
            imul
            istore 48 /* scanlineBytes */
        start local 48 // int scanlineBytes
       282: .line 562
            iload 48 /* scanlineBytes */
            iload 17 /* scaleX */
            imul
            newarray 10
            astore 49 /* pixels */
        start local 49 // int[] pixels
       283: .line 566
            aload 0 /* this */
            iload 32 /* destScanlineBytes */
            newarray 8
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
       284: .line 570
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_4
            if_icmpeq 286
       285: .line 571
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_5
            if_icmpne 302
       286: .line 574
      StackMap locals: int int[]
      StackMap stack:
            aload 0 /* this */
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
       287: .line 575
            aload 0 /* this */
            aload 2 /* image */
            aload 4 /* bmpParam */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeEmbedded:(Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
       288: .line 577
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
            invokevirtual java.io.ByteArrayOutputStream.flush:()V
       289: .line 578
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
            invokevirtual java.io.ByteArrayOutputStream.size:()I
            istore 40 /* imageSize */
       290: .line 580
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokeinterface javax.imageio.stream.ImageOutputStream.getStreamPosition:()J
            lstore 50 /* endPos */
        start local 50 // long endPos
       291: .line 581
            iload 38 /* offset */
            iload 40 /* imageSize */
            iadd
            istore 37 /* fileSize */
       292: .line 582
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            lload 46 /* headPos */
            invokeinterface javax.imageio.stream.ImageOutputStream.seek:(J)V
       293: .line 583
            aload 0 /* this */
            iload 37 /* fileSize */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeSize:(II)V
       294: .line 584
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            lload 46 /* headPos */
            invokeinterface javax.imageio.stream.ImageOutputStream.seek:(J)V
       295: .line 585
            aload 0 /* this */
            iload 40 /* imageSize */
            bipush 34
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeSize:(II)V
       296: .line 586
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            lload 50 /* endPos */
            invokeinterface javax.imageio.stream.ImageOutputStream.seek:(J)V
       297: .line 587
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([B)V
       298: .line 588
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
       299: .line 590
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processImageComplete:()V
       300: .line 591
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokeinterface javax.imageio.stream.ImageOutputStream.getStreamPosition:()J
            invokeinterface javax.imageio.stream.ImageOutputStream.flushBefore:(J)V
       301: .line 593
            return
        end local 50 // long endPos
       302: .line 596
      StackMap locals:
      StackMap stack:
            aload 29 /* bandOffsets */
            iconst_0
            iaload
            istore 50 /* maxBandOffset */
        start local 50 // int maxBandOffset
       303: .line 597
            iconst_1
            istore 51 /* i */
        start local 51 // int i
       304: goto 308
       305: .line 598
      StackMap locals: int int
      StackMap stack:
            aload 29 /* bandOffsets */
            iload 51 /* i */
            iaload
            iload 50 /* maxBandOffset */
            if_icmple 307
       306: .line 599
            aload 29 /* bandOffsets */
            iload 51 /* i */
            iaload
            istore 50 /* maxBandOffset */
       307: .line 597
      StackMap locals:
      StackMap stack:
            iinc 51 /* i */ 1
      StackMap locals:
      StackMap stack:
       308: iload 51 /* i */
            aload 29 /* bandOffsets */
            arraylength
            if_icmplt 305
        end local 51 // int i
       309: .line 601
            iload 50 /* maxBandOffset */
            iconst_1
            iadd
            newarray 10
            astore 51 /* pixel */
        start local 51 // int[] pixel
       310: .line 603
            iload 32 /* destScanlineBytes */
            istore 52 /* destScanlineLength */
        start local 52 // int destScanlineLength
       311: .line 605
            iload 25 /* noTransform */
            ifeq 313
            iload 27 /* noSubband */
            ifeq 313
       312: .line 606
            iload 32 /* destScanlineBytes */
            iload 21 /* dataType */
            invokestatic java.awt.image.DataBuffer.getDataTypeSize:(I)I
            iconst_3
            ishr
            idiv
            istore 52 /* destScanlineLength */
       313: .line 608
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int byte[] byte[] byte[] byte[] int int int int int int int int int long int int[] int int[] int
      StackMap stack:
            iconst_0
            istore 53 /* i */
        start local 53 // int i
       314: goto 423
       315: .line 610
      StackMap locals: int
      StackMap stack:
            iload 23 /* minY */
            iload 53 /* i */
            iadd
            istore 54 /* row */
        start local 54 // int row
       316: .line 612
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.isTopDown:Z
            ifne 318
       317: .line 613
            iload 23 /* minY */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
            iadd
            iload 53 /* i */
            isub
            iconst_1
            isub
            istore 54 /* row */
       318: .line 616
      StackMap locals: int
      StackMap stack:
            aload 10 /* inputRaster */
            astore 55 /* src */
        start local 55 // java.awt.image.Raster src
       319: .line 619
            new java.awt.Rectangle
            dup
            iload 22 /* minX */
            iload 17 /* scaleX */
            imul
            iload 19 /* xOffset */
            iadd
       320: .line 620
            iload 54 /* row */
            iload 18 /* scaleY */
            imul
            iload 20 /* yOffset */
            iadd
       321: .line 621
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            iconst_1
            isub
            iload 17 /* scaleX */
            imul
            iconst_1
            iadd
       322: .line 622
            iconst_1
       323: .line 619
            invokespecial java.awt.Rectangle.<init>:(IIII)V
       324: .line 618
            astore 56 /* srcRect */
        start local 56 // java.awt.Rectangle srcRect
       325: .line 623
            iload 11 /* writeRaster */
            ifne 327
       326: .line 624
            aload 9 /* input */
            aload 56 /* srcRect */
            invokeinterface java.awt.image.RenderedImage.getData:(Ljava/awt/Rectangle;)Ljava/awt/image/Raster;
            astore 55 /* src */
       327: .line 626
      StackMap locals: java.awt.image.Raster java.awt.Rectangle
      StackMap stack:
            iload 25 /* noTransform */
            ifeq 400
            iload 27 /* noSubband */
            ifeq 400
       328: .line 627
            aload 55 /* src */
            invokevirtual java.awt.image.Raster.getSampleModel:()Ljava/awt/image/SampleModel;
            astore 57 /* sm */
        start local 57 // java.awt.image.SampleModel sm
       329: .line 628
            iconst_0
            istore 58 /* pos */
        start local 58 // int pos
       330: .line 629
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.x:I
            aload 55 /* src */
            invokevirtual java.awt.image.Raster.getSampleModelTranslateX:()I
            isub
            istore 59 /* startX */
        start local 59 // int startX
       331: .line 630
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.y:I
            aload 55 /* src */
            invokevirtual java.awt.image.Raster.getSampleModelTranslateY:()I
            isub
            istore 60 /* startY */
        start local 60 // int startY
       332: .line 631
            aload 57 /* sm */
            instanceof java.awt.image.ComponentSampleModel
            ifeq 342
       333: .line 632
            aload 57 /* sm */
            checkcast java.awt.image.ComponentSampleModel
            astore 61 /* csm */
        start local 61 // java.awt.image.ComponentSampleModel csm
       334: .line 633
            aload 61 /* csm */
            iload 59 /* startX */
            iload 60 /* startY */
            iconst_0
            invokevirtual java.awt.image.ComponentSampleModel.getOffset:(III)I
            istore 58 /* pos */
       335: .line 634
            iconst_1
            istore 62 /* nb */
        start local 62 // int nb
       336: goto 340
       337: .line 635
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int byte[] byte[] byte[] byte[] int int int int int int int int int long int int[] int int[] int int int java.awt.image.Raster java.awt.Rectangle java.awt.image.SampleModel int int int java.awt.image.ComponentSampleModel int
      StackMap stack:
            iload 58 /* pos */
            aload 61 /* csm */
            iload 59 /* startX */
            iload 60 /* startY */
            iload 62 /* nb */
            invokevirtual java.awt.image.ComponentSampleModel.getOffset:(III)I
            if_icmple 339
       338: .line 636
            aload 61 /* csm */
            iload 59 /* startX */
            iload 60 /* startY */
            iload 62 /* nb */
            invokevirtual java.awt.image.ComponentSampleModel.getOffset:(III)I
            istore 58 /* pos */
       339: .line 634
      StackMap locals:
      StackMap stack:
            iinc 62 /* nb */ 1
      StackMap locals:
      StackMap stack:
       340: iload 62 /* nb */
            aload 61 /* csm */
            invokevirtual java.awt.image.ComponentSampleModel.getNumBands:()I
            if_icmplt 337
        end local 62 // int nb
        end local 61 // java.awt.image.ComponentSampleModel csm
       341: .line 639
            goto 351
      StackMap locals:
      StackMap stack:
       342: aload 57 /* sm */
            instanceof java.awt.image.MultiPixelPackedSampleModel
            ifeq 347
       343: .line 641
            aload 57 /* sm */
            checkcast java.awt.image.MultiPixelPackedSampleModel
       344: .line 640
            astore 61 /* mppsm */
        start local 61 // java.awt.image.MultiPixelPackedSampleModel mppsm
       345: .line 642
            aload 61 /* mppsm */
            iload 59 /* startX */
            iload 60 /* startY */
            invokevirtual java.awt.image.MultiPixelPackedSampleModel.getOffset:(II)I
            istore 58 /* pos */
        end local 61 // java.awt.image.MultiPixelPackedSampleModel mppsm
       346: .line 643
            goto 351
      StackMap locals:
      StackMap stack:
       347: aload 57 /* sm */
            instanceof java.awt.image.SinglePixelPackedSampleModel
            ifeq 351
       348: .line 645
            aload 57 /* sm */
            checkcast java.awt.image.SinglePixelPackedSampleModel
       349: .line 644
            astore 61 /* sppsm */
        start local 61 // java.awt.image.SinglePixelPackedSampleModel sppsm
       350: .line 646
            aload 61 /* sppsm */
            iload 59 /* startX */
            iload 60 /* startY */
            invokevirtual java.awt.image.SinglePixelPackedSampleModel.getOffset:(II)I
            istore 58 /* pos */
        end local 61 // java.awt.image.SinglePixelPackedSampleModel sppsm
       351: .line 649
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            ifeq 352
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_3
            if_icmpne 374
       352: .line 650
      StackMap locals:
      StackMap stack:
            iload 21 /* dataType */
            tableswitch { // 0 - 3
                    0: 353
                    1: 361
                    2: 357
                    3: 365
              default: 368
          }
       353: .line 653
      StackMap locals:
      StackMap stack:
            aload 55 /* src */
            invokevirtual java.awt.image.Raster.getDataBuffer:()Ljava/awt/image/DataBuffer;
            checkcast java.awt.image.DataBufferByte
            invokevirtual java.awt.image.DataBufferByte.getData:()[B
       354: .line 652
            astore 61 /* bdata */
        start local 61 // byte[] bdata
       355: .line 654
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 61 /* bdata */
            iload 58 /* pos */
            iload 52 /* destScanlineLength */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
       356: .line 655
            goto 368
        end local 61 // byte[] bdata
       357: .line 659
      StackMap locals:
      StackMap stack:
            aload 55 /* src */
            invokevirtual java.awt.image.Raster.getDataBuffer:()Ljava/awt/image/DataBuffer;
            checkcast java.awt.image.DataBufferShort
            invokevirtual java.awt.image.DataBufferShort.getData:()[S
       358: .line 658
            astore 62 /* sdata */
        start local 62 // short[] sdata
       359: .line 660
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 62 /* sdata */
            iload 58 /* pos */
            iload 52 /* destScanlineLength */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeShorts:([SII)V
       360: .line 661
            goto 368
        end local 62 // short[] sdata
       361: .line 665
      StackMap locals:
      StackMap stack:
            aload 55 /* src */
            invokevirtual java.awt.image.Raster.getDataBuffer:()Ljava/awt/image/DataBuffer;
            checkcast java.awt.image.DataBufferUShort
            invokevirtual java.awt.image.DataBufferUShort.getData:()[S
       362: .line 664
            astore 63 /* usdata */
        start local 63 // short[] usdata
       363: .line 666
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 63 /* usdata */
            iload 58 /* pos */
            iload 52 /* destScanlineLength */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeShorts:([SII)V
       364: .line 667
            goto 368
        end local 63 // short[] usdata
       365: .line 671
      StackMap locals:
      StackMap stack:
            aload 55 /* src */
            invokevirtual java.awt.image.Raster.getDataBuffer:()Ljava/awt/image/DataBuffer;
            checkcast java.awt.image.DataBufferInt
            invokevirtual java.awt.image.DataBufferInt.getData:()[I
       366: .line 670
            astore 64 /* idata */
        start local 64 // int[] idata
       367: .line 672
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 64 /* idata */
            iload 58 /* pos */
            iload 52 /* destScanlineLength */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInts:([III)V
        end local 64 // int[] idata
       368: .line 676
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 61 /* k */
        start local 61 // int k
       369: goto 372
       370: .line 677
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       371: .line 676
            iinc 61 /* k */ 1
      StackMap locals:
      StackMap stack:
       372: iload 61 /* k */
            iload 45 /* padding */
            if_icmplt 370
        end local 61 // int k
       373: .line 679
            goto 419
      StackMap locals:
      StackMap stack:
       374: aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_2
            if_icmpne 387
       375: .line 680
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            ifnull 376
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            arraylength
            iload 48 /* scanlineBytes */
            if_icmpge 377
       376: .line 681
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 48 /* scanlineBytes */
            newarray 8
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
       377: .line 682
      StackMap locals:
      StackMap stack:
            aload 55 /* src */
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.x:I
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.y:I
       378: .line 683
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.width:I
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.height:I
            aload 49 /* pixels */
       379: .line 682
            invokevirtual java.awt.image.Raster.getPixels:(IIII[I)[I
            pop
       380: .line 684
            iconst_0
            istore 61 /* h */
        start local 61 // int h
       381: goto 384
       382: .line 685
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 61 /* h */
            aload 49 /* pixels */
            iload 61 /* h */
            iaload
            i2b
            bastore
       383: .line 684
            iinc 61 /* h */ 1
      StackMap locals:
      StackMap stack:
       384: iload 61 /* h */
            iload 48 /* scanlineBytes */
            if_icmplt 382
        end local 61 // int h
       385: .line 687
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 48 /* scanlineBytes */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.encodeRLE4:([BI)V
       386: .line 688
            goto 419
      StackMap locals:
      StackMap stack:
       387: aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_1
            if_icmpne 419
       388: .line 693
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            ifnull 389
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            arraylength
            iload 48 /* scanlineBytes */
            if_icmpge 390
       389: .line 694
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 48 /* scanlineBytes */
            newarray 8
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
       390: .line 695
      StackMap locals:
      StackMap stack:
            aload 55 /* src */
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.x:I
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.y:I
       391: .line 696
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.width:I
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.height:I
            aload 49 /* pixels */
       392: .line 695
            invokevirtual java.awt.image.Raster.getPixels:(IIII[I)[I
            pop
       393: .line 697
            iconst_0
            istore 61 /* h */
        start local 61 // int h
       394: goto 397
       395: .line 698
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 61 /* h */
            aload 49 /* pixels */
            iload 61 /* h */
            iaload
            i2b
            bastore
       396: .line 697
            iinc 61 /* h */ 1
      StackMap locals:
      StackMap stack:
       397: iload 61 /* h */
            iload 48 /* scanlineBytes */
            if_icmplt 395
        end local 61 // int h
       398: .line 701
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 48 /* scanlineBytes */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.encodeRLE8:([BI)V
        end local 60 // int startY
        end local 59 // int startX
        end local 58 // int pos
        end local 57 // java.awt.image.SampleModel sm
       399: .line 703
            goto 419
       400: .line 704
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int byte[] byte[] byte[] byte[] int int int int int int int int int long int int[] int int[] int int int java.awt.image.Raster java.awt.Rectangle
      StackMap stack:
            aload 55 /* src */
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.x:I
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.y:I
       401: .line 705
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.width:I
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.height:I
            aload 49 /* pixels */
       402: .line 704
            invokevirtual java.awt.image.Raster.getPixels:(IIII[I)[I
            pop
       403: .line 707
            iload 17 /* scaleX */
            iconst_1
            if_icmpne 404
            iload 50 /* maxBandOffset */
            iload 28 /* numBands */
            iconst_1
            isub
            if_icmpeq 416
       404: .line 708
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 57 /* j */
        start local 57 // int j
       405: iconst_0
            istore 58 /* k */
        start local 58 // int k
       406: iconst_0
            istore 59 /* n */
        start local 59 // int n
       407: goto 415
       408: .line 711
      StackMap locals: int int int
      StackMap stack:
            aload 49 /* pixels */
            iload 58 /* k */
            aload 51 /* pixel */
            iconst_0
            aload 51 /* pixel */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       409: .line 713
            iconst_0
            istore 60 /* m */
        start local 60 // int m
       410: goto 413
       411: .line 715
      StackMap locals: int
      StackMap stack:
            aload 49 /* pixels */
            iload 59 /* n */
            iload 60 /* m */
            iadd
            aload 51 /* pixel */
            aload 26 /* sourceBands */
            iload 60 /* m */
            iaload
            iaload
            iastore
       412: .line 713
            iinc 60 /* m */ 1
      StackMap locals:
      StackMap stack:
       413: iload 60 /* m */
            iload 28 /* numBands */
            if_icmplt 411
        end local 60 // int m
       414: .line 709
            iinc 57 /* j */ 1
            iload 58 /* k */
            iload 17 /* scaleX */
            iload 28 /* numBands */
            imul
            iadd
            istore 58 /* k */
            iload 59 /* n */
            iload 28 /* numBands */
            iadd
            istore 59 /* n */
       415: .line 708
      StackMap locals:
      StackMap stack:
            iload 57 /* j */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            if_icmplt 408
        end local 59 // int n
        end local 58 // int k
        end local 57 // int j
       416: .line 719
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            iload 48 /* scanlineBytes */
            iload 5 /* bitsPerPixel */
            aload 49 /* pixels */
       417: .line 720
            iload 45 /* padding */
            iload 28 /* numBands */
            aload 8 /* icm */
       418: .line 719
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writePixels:(III[IIILjava/awt/image/IndexColorModel;)V
       419: .line 723
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 100.0
            iload 53 /* i */
            i2f
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
            i2f
            fdiv
            fmul
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processImageProgress:(F)V
       420: .line 724
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.abortRequested:()Z
            ifeq 422
       421: .line 725
            goto 424
        end local 56 // java.awt.Rectangle srcRect
        end local 55 // java.awt.image.Raster src
        end local 54 // int row
       422: .line 608
      StackMap locals:
      StackMap stack:
            iinc 53 /* i */ 1
      StackMap locals:
      StackMap stack:
       423: iload 53 /* i */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
            if_icmplt 315
        end local 53 // int i
       424: .line 729
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_2
            if_icmpeq 426
       425: .line 730
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_1
            if_icmpne 437
       426: .line 732
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       427: .line 733
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_1
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       428: .line 734
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       429: .line 736
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compImageSize:I
            istore 40 /* imageSize */
       430: .line 737
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compImageSize:I
            iload 38 /* offset */
            iadd
            istore 37 /* fileSize */
       431: .line 738
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokeinterface javax.imageio.stream.ImageOutputStream.getStreamPosition:()J
            lstore 53 /* endPos */
        start local 53 // long endPos
       432: .line 739
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            lload 46 /* headPos */
            invokeinterface javax.imageio.stream.ImageOutputStream.seek:(J)V
       433: .line 740
            aload 0 /* this */
            iload 37 /* fileSize */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeSize:(II)V
       434: .line 741
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            lload 46 /* headPos */
            invokeinterface javax.imageio.stream.ImageOutputStream.seek:(J)V
       435: .line 742
            aload 0 /* this */
            iload 40 /* imageSize */
            bipush 34
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeSize:(II)V
       436: .line 743
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            lload 53 /* endPos */
            invokeinterface javax.imageio.stream.ImageOutputStream.seek:(J)V
        end local 53 // long endPos
       437: .line 746
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.abortRequested:()Z
            ifeq 440
       438: .line 747
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processWriteAborted:()V
       439: .line 748
            goto 442
       440: .line 749
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processImageComplete:()V
       441: .line 750
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokeinterface javax.imageio.stream.ImageOutputStream.getStreamPosition:()J
            invokeinterface javax.imageio.stream.ImageOutputStream.flushBefore:(J)V
       442: .line 752
      StackMap locals:
      StackMap stack:
            return
        end local 52 // int destScanlineLength
        end local 51 // int[] pixel
        end local 50 // int maxBandOffset
        end local 49 // int[] pixels
        end local 48 // int scanlineBytes
        end local 46 // long headPos
        end local 45 // int padding
        end local 44 // int colorsImportant
        end local 43 // int colorsUsed
        end local 42 // int yPelsPerMeter
        end local 41 // int xPelsPerMeter
        end local 40 // int imageSize
        end local 39 // int headerSize
        end local 38 // int offset
        end local 37 // int fileSize
        end local 36 // byte[] a
        end local 35 // byte[] b
        end local 34 // byte[] g
        end local 33 // byte[] r
        end local 32 // int destScanlineBytes
        end local 31 // int[] sampleSize
        end local 30 // boolean bgrOrder
        end local 29 // int[] bandOffsets
        end local 28 // int numBands
        end local 27 // boolean noSubband
        end local 26 // int[] sourceBands
        end local 25 // boolean noTransform
        end local 24 // java.awt.Rectangle destinationRegion
        end local 23 // int minY
        end local 22 // int minX
        end local 21 // int dataType
        end local 20 // int yOffset
        end local 19 // int xOffset
        end local 18 // int scaleY
        end local 17 // int scaleX
        end local 16 // com.sun.imageio.plugins.bmp.BMPMetadata bmpImageMetadata
        end local 15 // javax.imageio.metadata.IIOMetadata imageMetadata
        end local 14 // java.awt.image.ColorModel colorModel
        end local 13 // java.awt.image.SampleModel sampleModel
        end local 12 // java.awt.Rectangle sourceRegion
        end local 11 // boolean writeRaster
        end local 10 // java.awt.image.Raster inputRaster
        end local 9 // java.awt.image.RenderedImage input
        end local 8 // java.awt.image.IndexColorModel icm
        end local 7 // int paletteEntries
        end local 6 // boolean isPalette
        end local 5 // int bitsPerPixel
        end local 4 // javax.imageio.plugins.bmp.BMPImageWriteParam bmpParam
        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.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0  443     0                this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0  443     1      streamMetadata  Ljavax/imageio/metadata/IIOMetadata;
            0  443     2               image  Ljavax/imageio/IIOImage;
            0  443     3               param  Ljavax/imageio/ImageWriteParam;
           12  443     4            bmpParam  Ljavax/imageio/plugins/bmp/BMPImageWriteParam;
           13  443     5        bitsPerPixel  I
           14  443     6           isPalette  Z
           15  443     7      paletteEntries  I
           16  443     8                 icm  Ljava/awt/image/IndexColorModel;
           17  443     9               input  Ljava/awt/image/RenderedImage;
           18  443    10         inputRaster  Ljava/awt/image/Raster;
           19  443    11         writeRaster  Z
           20  443    12        sourceRegion  Ljava/awt/Rectangle;
           21  443    13         sampleModel  Ljava/awt/image/SampleModel;
           22  443    14          colorModel  Ljava/awt/image/ColorModel;
           37   40    15                rect  Ljava/awt/Rectangle;
           41  443    15       imageMetadata  Ljavax/imageio/metadata/IIOMetadata;
           42  443    16    bmpImageMetadata  Lcom/sun/imageio/plugins/bmp/BMPMetadata;
           48   51    17           imageType  Ljavax/imageio/ImageTypeSpecifier;
           54  443    17              scaleX  I
           55  443    18              scaleY  I
           56  443    19             xOffset  I
           57  443    20             yOffset  I
           58  443    21            dataType  I
           62  443    22                minX  I
           63  443    23                minY  I
           68  443    24   destinationRegion  Ljava/awt/Rectangle;
           69  443    25         noTransform  Z
           70  443    26         sourceBands  [I
           71  443    27           noSubband  Z
           72  443    28            numBands  I
           80   84    29                   i  I
           85  443    29         bandOffsets  [I
           86  443    30            bgrOrder  Z
           92   98    31                   i  I
          101  108    31          bitOffsets  [I
          102  108    32                   i  I
          111  115    31                   i  I
          117  443    31          sampleSize  [I
          118  443    32   destScanlineBytes  I
          131  443    33                   r  [B
          132  443    34                   g  [B
          133  443    35                   b  [B
          134  443    36                   a  [B
          148  174    37               rmask  I
          149  174    38               gmask  I
          150  174    39               bmask  I
          153  156    40                 dcm  Ljava/awt/image/DirectColorModel;
          214  221    37                   i  I
          225  235    37        sample_sizes  [I
          228  229    38                size  I
          236  443    37            fileSize  I
          237  443    38              offset  I
          238  443    39          headerSize  I
          239  443    40           imageSize  I
          240  443    41       xPelsPerMeter  I
          241  443    42       yPelsPerMeter  I
          242  443    43          colorsUsed  I
          243  443    44     colorsImportant  I
          244  443    45             padding  I
          251  443    46             headPos  J
          267  272    48                   i  I
          269  270    49                mask  I
          274  281    48                   i  I
          282  443    48       scanlineBytes  I
          283  443    49              pixels  [I
          291  302    50              endPos  J
          303  443    50       maxBandOffset  I
          304  309    51                   i  I
          310  443    51               pixel  [I
          311  443    52  destScanlineLength  I
          314  424    53                   i  I
          316  422    54                 row  I
          319  422    55                 src  Ljava/awt/image/Raster;
          325  422    56             srcRect  Ljava/awt/Rectangle;
          329  399    57                  sm  Ljava/awt/image/SampleModel;
          330  399    58                 pos  I
          331  399    59              startX  I
          332  399    60              startY  I
          334  341    61                 csm  Ljava/awt/image/ComponentSampleModel;
          336  341    62                  nb  I
          345  346    61               mppsm  Ljava/awt/image/MultiPixelPackedSampleModel;
          350  351    61               sppsm  Ljava/awt/image/SinglePixelPackedSampleModel;
          355  357    61               bdata  [B
          359  361    62               sdata  [S
          363  365    63              usdata  [S
          367  368    64               idata  [I
          369  373    61                   k  I
          381  385    61                   h  I
          394  398    61                   h  I
          405  416    57                   j  I
          406  416    58                   k  I
          407  416    59                   n  I
          410  414    60                   m  I
          432  437    53              endPos  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      streamMetadata  
      image           
      param           

  private void writePixels(int, int, int, int[], int, int, java.awt.image.IndexColorModel);
    descriptor: (III[IIILjava/awt/image/IndexColorModel;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=16, args_size=8
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // int l
        start local 2 // int scanlineBytes
        start local 3 // int bitsPerPixel
        start local 4 // int[] pixels
        start local 5 // int padding
        start local 6 // int numBands
        start local 7 // java.awt.image.IndexColorModel icm
         0: .line 758
            iconst_0
            istore 8 /* pixel */
        start local 8 // int pixel
         1: .line 759
            iconst_0
            istore 9 /* k */
        start local 9 // int k
         2: .line 760
            iload 3 /* bitsPerPixel */
            lookupswitch { // 6
                    1: 3
                    4: 26
                    8: 46
                   16: 61
                   24: 88
                   32: 117
              default: 155
          }
         3: .line 764
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 10 /* j */
        start local 10 // int j
         4: goto 15
         5: .line 765
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 9 /* k */
            iinc 9 /* k */ 1
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            bipush 7
            ishl
         6: .line 766
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            bipush 6
            ishl
            ior
         7: .line 767
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            iconst_5
            ishl
            ior
         8: .line 768
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            iconst_4
            ishl
            ior
         9: .line 769
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            iconst_3
            ishl
            ior
        10: .line 770
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            iconst_2
            ishl
            ior
        11: .line 771
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            iconst_1
            ishl
            ior
        12: .line 772
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            ior
            i2b
        13: .line 765
            bastore
        14: .line 764
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        15: iload 10 /* j */
            iload 2 /* scanlineBytes */
            bipush 8
            idiv
            if_icmplt 5
        end local 10 // int j
        16: .line 776
            iload 2 /* scanlineBytes */
            bipush 8
            irem
            ifle 24
        17: .line 777
            iconst_0
            istore 8 /* pixel */
        18: .line 778
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        19: goto 22
        20: .line 779
      StackMap locals:
      StackMap stack:
            iload 8 /* pixel */
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            bipush 7
            iload 10 /* j */
            isub
            ishl
            ior
            istore 8 /* pixel */
        21: .line 778
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        22: iload 10 /* j */
            iload 2 /* scanlineBytes */
            bipush 8
            irem
            if_icmplt 20
        end local 10 // int j
        23: .line 781
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 9 /* k */
            iinc 9 /* k */ 1
            iload 8 /* pixel */
            i2b
            bastore
        24: .line 783
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iconst_0
            iload 2 /* scanlineBytes */
            bipush 7
            iadd
            bipush 8
            idiv
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
        25: .line 785
            goto 155
        26: .line 788
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_2
            if_icmpne 35
        27: .line 789
            iload 2 /* scanlineBytes */
            newarray 8
            astore 10 /* bipixels */
        start local 10 // byte[] bipixels
        28: .line 790
            iconst_0
            istore 11 /* h */
        start local 11 // int h
        29: goto 32
        30: .line 791
      StackMap locals: byte[] int
      StackMap stack:
            aload 10 /* bipixels */
            iload 11 /* h */
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            i2b
            bastore
        31: .line 790
            iinc 11 /* h */ 1
      StackMap locals:
      StackMap stack:
        32: iload 11 /* h */
            iload 2 /* scanlineBytes */
            if_icmplt 30
        end local 11 // int h
        33: .line 793
            aload 0 /* this */
            aload 10 /* bipixels */
            iload 2 /* scanlineBytes */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.encodeRLE4:([BI)V
        end local 10 // byte[] bipixels
        34: .line 794
            goto 155
        35: .line 795
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        36: goto 40
        37: .line 796
      StackMap locals: int
      StackMap stack:
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            iconst_4
            ishl
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            ior
            istore 8 /* pixel */
        38: .line 797
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 9 /* k */
            iinc 9 /* k */ 1
            iload 8 /* pixel */
            i2b
            bastore
        39: .line 795
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        40: iload 10 /* j */
            iload 2 /* scanlineBytes */
            iconst_2
            idiv
            if_icmplt 37
        end local 10 // int j
        41: .line 800
            iload 2 /* scanlineBytes */
            iconst_2
            irem
            iconst_1
            if_icmpne 44
        42: .line 801
            aload 4 /* pixels */
            iload 1 /* l */
            iaload
            iconst_4
            ishl
            istore 8 /* pixel */
        43: .line 802
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 9 /* k */
            iinc 9 /* k */ 1
            iload 8 /* pixel */
            i2b
            bastore
        44: .line 804
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iconst_0
            iload 2 /* scanlineBytes */
            iconst_1
            iadd
            iconst_2
            idiv
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
        45: .line 806
            goto 155
        46: .line 809
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_1
            if_icmpne 54
        47: .line 810
            iconst_0
            istore 10 /* h */
        start local 10 // int h
        48: goto 51
        49: .line 811
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 10 /* h */
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            i2b
            bastore
        50: .line 810
            iinc 10 /* h */ 1
      StackMap locals:
      StackMap stack:
        51: iload 10 /* h */
            iload 2 /* scanlineBytes */
            if_icmplt 49
        end local 10 // int h
        52: .line 813
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 2 /* scanlineBytes */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.encodeRLE8:([BI)V
        53: .line 814
            goto 155
        54: .line 815
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        55: goto 58
        56: .line 816
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 10 /* j */
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            i2b
            bastore
        57: .line 815
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        58: iload 10 /* j */
            iload 2 /* scanlineBytes */
            if_icmplt 56
        end local 10 // int j
        59: .line 818
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iconst_0
            iload 2 /* scanlineBytes */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
        60: .line 820
            goto 155
        61: .line 823
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.spixels:[S
            ifnonnull 63
        62: .line 824
            aload 0 /* this */
            iload 2 /* scanlineBytes */
            iload 6 /* numBands */
            idiv
            newarray 9
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.spixels:[S
        63: .line 834
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        64: iconst_0
            istore 11 /* m */
        start local 11 // int m
        65: goto 85
        66: .line 835
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.spixels:[S
            iload 11 /* m */
            iconst_0
            sastore
        67: .line 836
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            ifne 77
        68: .line 841
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.spixels:[S
            iload 11 /* m */
        69: .line 842
            bipush 31
            aload 4 /* pixels */
            iload 10 /* j */
            iaload
            iand
            bipush 10
            ishl
        70: .line 843
            bipush 31
            aload 4 /* pixels */
            iload 10 /* j */
            iconst_1
            iadd
            iaload
            iand
            iconst_5
            ishl
        71: .line 842
            ior
        72: .line 844
            bipush 31
            aload 4 /* pixels */
            iload 10 /* j */
            iconst_2
            iadd
            iaload
            iand
        73: .line 842
            ior
            i2s
        74: .line 841
            sastore
        75: .line 845
            iinc 10 /* j */ 3
        76: .line 846
            goto 84
        77: .line 847
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        78: goto 83
        79: .line 848
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.spixels:[S
            iload 11 /* m */
            dup2
            saload
        80: .line 849
            aload 4 /* pixels */
            iload 10 /* j */
            iaload
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitPos:[I
            iload 12 /* i */
            iaload
            ishl
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitMasks:[I
            iload 12 /* i */
            iaload
            iand
        81: .line 848
            ior
            i2s
            sastore
        82: .line 847
            iinc 12 /* i */ 1
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        83: iload 12 /* i */
            iload 6 /* numBands */
            if_icmplt 79
        end local 12 // int i
        84: .line 834
      StackMap locals:
      StackMap stack:
            iinc 11 /* m */ 1
      StackMap locals:
      StackMap stack:
        85: iload 10 /* j */
            iload 2 /* scanlineBytes */
            if_icmplt 66
        end local 11 // int m
        end local 10 // int j
        86: .line 853
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.spixels:[S
            iconst_0
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.spixels:[S
            arraylength
            invokeinterface javax.imageio.stream.ImageOutputStream.writeShorts:([SII)V
        87: .line 854
            goto 155
        88: .line 857
      StackMap locals:
      StackMap stack:
            iload 6 /* numBands */
            iconst_3
            if_icmpne 99
        89: .line 858
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        90: goto 96
        91: .line 860
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 9 /* k */
            iinc 9 /* k */ 1
            aload 4 /* pixels */
            iload 1 /* l */
            iconst_2
            iadd
            iaload
            i2b
            bastore
        92: .line 861
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 9 /* k */
            iinc 9 /* k */ 1
            aload 4 /* pixels */
            iload 1 /* l */
            iconst_1
            iadd
            iaload
            i2b
            bastore
        93: .line 862
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 9 /* k */
            iinc 9 /* k */ 1
            aload 4 /* pixels */
            iload 1 /* l */
            iaload
            i2b
            bastore
        94: .line 863
            iinc 1 /* l */ 3
        95: .line 858
            iinc 10 /* j */ 3
      StackMap locals:
      StackMap stack:
        96: iload 10 /* j */
            iload 2 /* scanlineBytes */
            if_icmplt 91
        end local 10 // int j
        97: .line 865
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iconst_0
            iload 2 /* scanlineBytes */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
        98: .line 866
            goto 155
        99: .line 868
      StackMap locals:
      StackMap stack:
            aload 7 /* icm */
            invokevirtual java.awt.image.IndexColorModel.getMapSize:()I
            istore 10 /* entries */
        start local 10 // int entries
       100: .line 870
            iload 10 /* entries */
            newarray 8
            astore 11 /* r */
        start local 11 // byte[] r
       101: .line 871
            iload 10 /* entries */
            newarray 8
            astore 12 /* g */
        start local 12 // byte[] g
       102: .line 872
            iload 10 /* entries */
            newarray 8
            astore 13 /* b */
        start local 13 // byte[] b
       103: .line 874
            aload 7 /* icm */
            aload 11 /* r */
            invokevirtual java.awt.image.IndexColorModel.getReds:([B)V
       104: .line 875
            aload 7 /* icm */
            aload 12 /* g */
            invokevirtual java.awt.image.IndexColorModel.getGreens:([B)V
       105: .line 876
            aload 7 /* icm */
            aload 13 /* b */
            invokevirtual java.awt.image.IndexColorModel.getBlues:([B)V
       106: .line 879
            iconst_0
            istore 15 /* j */
        start local 15 // int j
       107: goto 114
       108: .line 880
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter int int int int[] int int java.awt.image.IndexColorModel int int int byte[] byte[] byte[] top int
      StackMap stack:
            aload 4 /* pixels */
            iload 1 /* l */
            iaload
            istore 14 /* index */
        start local 14 // int index
       109: .line 881
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 9 /* k */
            iinc 9 /* k */ 1
            aload 13 /* b */
            iload 14 /* index */
            baload
            bastore
       110: .line 882
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 9 /* k */
            iinc 9 /* k */ 1
            aload 12 /* g */
            iload 14 /* index */
            baload
            bastore
       111: .line 883
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 9 /* k */
            iinc 9 /* k */ 1
            aload 13 /* b */
            iload 14 /* index */
            baload
            bastore
       112: .line 884
            iinc 1 /* l */ 1
       113: .line 879
            iinc 15 /* j */ 1
        end local 14 // int index
      StackMap locals:
      StackMap stack:
       114: iload 15 /* j */
            iload 2 /* scanlineBytes */
            if_icmplt 108
        end local 15 // int j
       115: .line 886
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iconst_0
            iload 2 /* scanlineBytes */
            iconst_3
            imul
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
        end local 13 // byte[] b
        end local 12 // byte[] g
        end local 11 // byte[] r
        end local 10 // int entries
       116: .line 888
            goto 155
       117: .line 891
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter int int int int[] int int java.awt.image.IndexColorModel int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
            ifnonnull 119
       118: .line 892
            aload 0 /* this */
            iload 2 /* scanlineBytes */
            iload 6 /* numBands */
            idiv
            newarray 10
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
       119: .line 893
      StackMap locals:
      StackMap stack:
            iload 6 /* numBands */
            iconst_3
            if_icmpne 144
       120: .line 903
            iconst_0
            istore 10 /* j */
        start local 10 // int j
       121: iconst_0
            istore 11 /* m */
        start local 11 // int m
       122: goto 142
       123: .line 904
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
            iload 11 /* m */
            iconst_0
            iastore
       124: .line 905
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            ifne 134
       125: .line 906
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
            iload 11 /* m */
       126: .line 907
            sipush 255
            aload 4 /* pixels */
            iload 10 /* j */
            iconst_2
            iadd
            iaload
            iand
            bipush 16
            ishl
       127: .line 908
            sipush 255
            aload 4 /* pixels */
            iload 10 /* j */
            iconst_1
            iadd
            iaload
            iand
            bipush 8
            ishl
       128: .line 907
            ior
       129: .line 909
            sipush 255
            aload 4 /* pixels */
            iload 10 /* j */
            iaload
            iand
       130: .line 907
            ior
       131: .line 906
            iastore
       132: .line 910
            iinc 10 /* j */ 3
       133: .line 911
            goto 141
       134: .line 912
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* i */
        start local 12 // int i
       135: goto 140
       136: .line 913
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
            iload 11 /* m */
            dup2
            iaload
       137: .line 914
            aload 4 /* pixels */
            iload 10 /* j */
            iaload
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitPos:[I
            iload 12 /* i */
            iaload
            ishl
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitMasks:[I
            iload 12 /* i */
            iaload
            iand
       138: .line 913
            ior
            iastore
       139: .line 912
            iinc 12 /* i */ 1
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
       140: iload 12 /* i */
            iload 6 /* numBands */
            if_icmplt 136
        end local 12 // int i
       141: .line 903
      StackMap locals:
      StackMap stack:
            iinc 11 /* m */ 1
      StackMap locals:
      StackMap stack:
       142: iload 10 /* j */
            iload 2 /* scanlineBytes */
            if_icmplt 123
        end local 11 // int m
        end local 10 // int j
       143: .line 918
            goto 154
       144: .line 926
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* j */
        start local 10 // int j
       145: goto 153
       146: .line 927
      StackMap locals: int
      StackMap stack:
            aload 7 /* icm */
            ifnull 149
       147: .line 928
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
            iload 10 /* j */
            aload 7 /* icm */
            aload 4 /* pixels */
            iload 10 /* j */
            iaload
            invokevirtual java.awt.image.IndexColorModel.getRGB:(I)I
            iastore
       148: .line 929
            goto 152
       149: .line 930
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
            iload 10 /* j */
       150: .line 931
            aload 4 /* pixels */
            iload 10 /* j */
            iaload
            bipush 16
            ishl
            aload 4 /* pixels */
            iload 10 /* j */
            iaload
            bipush 8
            ishl
            ior
            aload 4 /* pixels */
            iload 10 /* j */
            iaload
            ior
       151: .line 930
            iastore
       152: .line 926
      StackMap locals:
      StackMap stack:
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
       153: iload 10 /* j */
            iload 2 /* scanlineBytes */
            if_icmplt 146
        end local 10 // int j
       154: .line 935
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
            iconst_0
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
            arraylength
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInts:([III)V
       155: .line 940
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            ifeq 157
       156: .line 941
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_3
            if_icmpne 161
       157: .line 943
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* k */
            goto 160
       158: .line 944
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       159: .line 943
            iinc 9 /* k */ 1
      StackMap locals:
      StackMap stack:
       160: iload 9 /* k */
            iload 5 /* padding */
            if_icmplt 158
       161: .line 947
      StackMap locals:
      StackMap stack:
            return
        end local 9 // int k
        end local 8 // int pixel
        end local 7 // java.awt.image.IndexColorModel icm
        end local 6 // int numBands
        end local 5 // int padding
        end local 4 // int[] pixels
        end local 3 // int bitsPerPixel
        end local 2 // int scanlineBytes
        end local 1 // int l
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  162     0           this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0  162     1              l  I
            0  162     2  scanlineBytes  I
            0  162     3   bitsPerPixel  I
            0  162     4         pixels  [I
            0  162     5        padding  I
            0  162     6       numBands  I
            0  162     7            icm  Ljava/awt/image/IndexColorModel;
            1  162     8          pixel  I
            2  162     9              k  I
            4   16    10              j  I
           19   23    10              j  I
           28   34    10       bipixels  [B
           29   33    11              h  I
           36   41    10              j  I
           48   52    10              h  I
           55   59    10              j  I
           64   86    10              j  I
           65   86    11              m  I
           78   84    12              i  I
           90   97    10              j  I
          100  116    10        entries  I
          101  116    11              r  [B
          102  116    12              g  [B
          103  116    13              b  [B
          109  114    14          index  I
          107  115    15              j  I
          121  143    10              j  I
          122  143    11              m  I
          135  141    12              i  I
          145  154    10              j  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      l              
      scanlineBytes  
      bitsPerPixel   
      pixels         
      padding        
      numBands       
      icm            

  private void encodeRLE8(byte[], int);
    descriptor: ([BI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // byte[] bpixels
        start local 2 // int scanlineBytes
         0: .line 952
            iconst_1
            istore 3 /* runCount */
        start local 3 // int runCount
         1: iconst_m1
            istore 4 /* absVal */
        start local 4 // int absVal
         2: iconst_m1
            istore 5 /* j */
        start local 5 // int j
         3: .line 953
            iconst_0
            istore 6 /* runVal */
        start local 6 // byte runVal
         4: iconst_0
            istore 7 /* nextVal */
        start local 7 // byte nextVal
         5: .line 955
            aload 1 /* bpixels */
            iinc 5 /* j */ 1
            iload 5 /* j */
            baload
            istore 6 /* runVal */
         6: .line 956
            sipush 256
            newarray 8
            astore 8 /* absBuf */
        start local 8 // byte[] absBuf
         7: .line 958
            goto 98
         8: .line 959
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter byte[] int int int int int int byte[]
      StackMap stack:
            aload 1 /* bpixels */
            iinc 5 /* j */ 1
            iload 5 /* j */
            baload
            istore 7 /* nextVal */
         9: .line 960
            iload 7 /* nextVal */
            iload 6 /* runVal */
            if_icmpne 40
        10: .line 961
            iload 4 /* absVal */
            iconst_3
            if_icmplt 24
        11: .line 963
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        12: .line 964
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 4 /* absVal */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        13: .line 965
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        14: .line 966
            iconst_0
            istore 9 /* a */
        start local 9 // int a
        15: goto 19
        16: .line 967
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 8 /* absBuf */
            iload 9 /* a */
            baload
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        17: .line 968
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        18: .line 966
            iinc 9 /* a */ 1
      StackMap locals:
      StackMap stack:
        19: iload 9 /* a */
            iload 4 /* absVal */
            if_icmplt 16
        end local 9 // int a
        20: .line 970
            aload 0 /* this */
            iload 4 /* absVal */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.isEven:(I)Z
            ifne 32
        21: .line 972
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        22: .line 973
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        23: .line 975
            goto 32
        24: .line 976
      StackMap locals:
      StackMap stack:
            iload 4 /* absVal */
            iconst_m1
            if_icmple 32
        25: .line 981
            iconst_0
            istore 9 /* b */
        start local 9 // int b
        26: goto 31
        27: .line 982
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_1
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        28: .line 983
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 8 /* absBuf */
            iload 9 /* b */
            baload
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        29: .line 984
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        30: .line 981
            iinc 9 /* b */ 1
      StackMap locals:
      StackMap stack:
        31: iload 9 /* b */
            iload 4 /* absVal */
            if_icmplt 27
        end local 9 // int b
        32: .line 987
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 4 /* absVal */
        33: .line 988
            iinc 3 /* runCount */ 1
        34: .line 989
            iload 3 /* runCount */
            sipush 256
            if_icmpne 66
        35: .line 991
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 3 /* runCount */
            iconst_1
            isub
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        36: .line 992
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* runVal */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        37: .line 993
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        38: .line 994
            iconst_1
            istore 3 /* runCount */
        39: .line 996
            goto 66
        40: .line 998
      StackMap locals:
      StackMap stack:
            iload 3 /* runCount */
            iconst_1
            if_icmple 45
        41: .line 1000
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 3 /* runCount */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        42: .line 1001
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* runVal */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        43: .line 1002
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        44: .line 1003
            goto 64
      StackMap locals:
      StackMap stack:
        45: iload 4 /* absVal */
            ifge 49
        46: .line 1005
            aload 8 /* absBuf */
            iinc 4 /* absVal */ 1
            iload 4 /* absVal */
            iload 6 /* runVal */
            bastore
        47: .line 1006
            aload 8 /* absBuf */
            iinc 4 /* absVal */ 1
            iload 4 /* absVal */
            iload 7 /* nextVal */
            bastore
        48: .line 1007
            goto 64
      StackMap locals:
      StackMap stack:
        49: iload 4 /* absVal */
            sipush 254
            if_icmpge 52
        50: .line 1009
            aload 8 /* absBuf */
            iinc 4 /* absVal */ 1
            iload 4 /* absVal */
            iload 7 /* nextVal */
            bastore
        51: .line 1010
            goto 64
        52: .line 1011
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        53: .line 1012
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 4 /* absVal */
            iconst_1
            iadd
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        54: .line 1013
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        55: .line 1014
            iconst_0
            istore 9 /* a */
        start local 9 // int a
        56: goto 60
        57: .line 1015
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 8 /* absBuf */
            iload 9 /* a */
            baload
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        58: .line 1016
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        59: .line 1014
            iinc 9 /* a */ 1
      StackMap locals:
      StackMap stack:
        60: iload 9 /* a */
            iload 4 /* absVal */
            if_icmple 57
        end local 9 // int a
        61: .line 1019
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        62: .line 1020
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        63: .line 1021
            iconst_m1
            istore 4 /* absVal */
        64: .line 1023
      StackMap locals:
      StackMap stack:
            iload 7 /* nextVal */
            istore 6 /* runVal */
        65: .line 1024
            iconst_1
            istore 3 /* runCount */
        66: .line 1027
      StackMap locals:
      StackMap stack:
            iload 5 /* j */
            iload 2 /* scanlineBytes */
            iconst_1
            isub
            if_icmpne 98
        67: .line 1029
            iload 4 /* absVal */
            iconst_m1
            if_icmpne 73
        68: .line 1030
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 3 /* runCount */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        69: .line 1031
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* runVal */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        70: .line 1032
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        71: .line 1033
            iconst_1
            istore 3 /* runCount */
        72: .line 1034
            goto 95
        73: .line 1037
      StackMap locals:
      StackMap stack:
            iload 4 /* absVal */
            iconst_2
            if_icmplt 87
        74: .line 1038
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        75: .line 1039
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 4 /* absVal */
            iconst_1
            iadd
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        76: .line 1040
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        77: .line 1041
            iconst_0
            istore 9 /* a */
        start local 9 // int a
        78: goto 82
        79: .line 1042
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 8 /* absBuf */
            iload 9 /* a */
            baload
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        80: .line 1043
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        81: .line 1041
            iinc 9 /* a */ 1
      StackMap locals:
      StackMap stack:
        82: iload 9 /* a */
            iload 4 /* absVal */
            if_icmple 79
        end local 9 // int a
        83: .line 1045
            aload 0 /* this */
            iload 4 /* absVal */
            iconst_1
            iadd
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.isEven:(I)Z
            ifne 95
        84: .line 1047
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        85: .line 1048
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        86: .line 1051
            goto 95
        87: .line 1052
      StackMap locals:
      StackMap stack:
            iload 4 /* absVal */
            iconst_m1
            if_icmple 95
        88: .line 1053
            iconst_0
            istore 9 /* b */
        start local 9 // int b
        89: goto 94
        90: .line 1054
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_1
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        91: .line 1055
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 8 /* absBuf */
            iload 9 /* b */
            baload
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        92: .line 1056
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        93: .line 1053
            iinc 9 /* b */ 1
      StackMap locals:
      StackMap stack:
        94: iload 9 /* b */
            iload 4 /* absVal */
            if_icmple 90
        end local 9 // int b
        95: .line 1062
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        96: .line 1063
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        97: .line 1064
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        98: .line 958
      StackMap locals:
      StackMap stack:
            iload 5 /* j */
            iload 2 /* scanlineBytes */
            iconst_1
            isub
            if_icmplt 8
        99: .line 1067
            return
        end local 8 // byte[] absBuf
        end local 7 // byte nextVal
        end local 6 // byte runVal
        end local 5 // int j
        end local 4 // int absVal
        end local 3 // int runCount
        end local 2 // int scanlineBytes
        end local 1 // byte[] bpixels
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  100     0           this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0  100     1        bpixels  [B
            0  100     2  scanlineBytes  I
            1  100     3       runCount  I
            2  100     4         absVal  I
            3  100     5              j  I
            4  100     6         runVal  B
            5  100     7        nextVal  B
            7  100     8         absBuf  [B
           15   20     9              a  I
           26   32     9              b  I
           56   61     9              a  I
           78   83     9              a  I
           89   95     9              b  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      bpixels        
      scanlineBytes  

  private void encodeRLE4(byte[], int);
    descriptor: ([BI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=14, args_size=3
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // byte[] bipixels
        start local 2 // int scanlineBytes
         0: .line 1072
            iconst_2
            istore 3 /* runCount */
        start local 3 // int runCount
         1: iconst_m1
            istore 4 /* absVal */
        start local 4 // int absVal
         2: iconst_m1
            istore 5 /* j */
        start local 5 // int j
         3: iconst_0
            istore 6 /* pixel */
        start local 6 // int pixel
         4: iconst_0
            istore 7 /* q */
        start local 7 // int q
         5: .line 1073
            iconst_0
            istore 8 /* runVal1 */
        start local 8 // byte runVal1
         6: iconst_0
            istore 9 /* runVal2 */
        start local 9 // byte runVal2
         7: iconst_0
            istore 10 /* nextVal1 */
        start local 10 // byte nextVal1
         8: iconst_0
            istore 11 /* nextVal2 */
        start local 11 // byte nextVal2
         9: .line 1074
            sipush 256
            newarray 8
            astore 12 /* absBuf */
        start local 12 // byte[] absBuf
        10: .line 1077
            aload 1 /* bipixels */
            iinc 5 /* j */ 1
            iload 5 /* j */
            baload
            istore 8 /* runVal1 */
        11: .line 1078
            aload 1 /* bipixels */
            iinc 5 /* j */ 1
            iload 5 /* j */
            baload
            istore 9 /* runVal2 */
        12: .line 1080
            goto 166
        13: .line 1081
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter byte[] int int int int int int int int int int byte[]
      StackMap stack:
            aload 1 /* bipixels */
            iinc 5 /* j */ 1
            iload 5 /* j */
            baload
            istore 10 /* nextVal1 */
        14: .line 1082
            aload 1 /* bipixels */
            iinc 5 /* j */ 1
            iload 5 /* j */
            baload
            istore 11 /* nextVal2 */
        15: .line 1084
            iload 10 /* nextVal1 */
            iload 8 /* runVal1 */
            if_icmpne 75
        16: .line 1087
            iload 4 /* absVal */
            iconst_4
            if_icmplt 35
        17: .line 1088
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        18: .line 1089
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 4 /* absVal */
            iconst_1
            isub
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        19: .line 1090
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        20: .line 1093
            iconst_0
            istore 13 /* a */
        start local 13 // int a
        21: goto 26
        22: .line 1094
      StackMap locals: int
      StackMap stack:
            aload 12 /* absBuf */
            iload 13 /* a */
            baload
            iconst_4
            ishl
            aload 12 /* absBuf */
            iload 13 /* a */
            iconst_1
            iadd
            baload
            ior
            istore 6 /* pixel */
        23: .line 1095
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            i2b
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        24: .line 1096
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        25: .line 1093
            iinc 13 /* a */ 2
      StackMap locals:
      StackMap stack:
        26: iload 13 /* a */
            iload 4 /* absVal */
            iconst_2
            isub
            if_icmplt 22
        end local 13 // int a
        27: .line 1099
            aload 0 /* this */
            iload 4 /* absVal */
            iconst_1
            isub
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.isEven:(I)Z
            ifne 31
        28: .line 1100
            aload 12 /* absBuf */
            iload 4 /* absVal */
            iconst_2
            isub
            baload
            iconst_4
            ishl
            istore 7 /* q */
        29: .line 1101
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 7 /* q */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        30: .line 1102
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        31: .line 1105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* absVal */
            iconst_1
            isub
            iconst_2
            idiv
            i2d
            invokestatic java.lang.Math.ceil:(D)D
            d2i
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.isEven:(I)Z
            ifne 40
        32: .line 1106
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        33: .line 1107
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        34: .line 1109
            goto 40
      StackMap locals:
      StackMap stack:
        35: iload 4 /* absVal */
            iconst_m1
            if_icmple 40
        36: .line 1110
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_2
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        37: .line 1111
            aload 12 /* absBuf */
            iconst_0
            baload
            iconst_4
            ishl
            aload 12 /* absBuf */
            iconst_1
            baload
            ior
            istore 6 /* pixel */
        38: .line 1112
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        39: .line 1113
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        40: .line 1115
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 4 /* absVal */
        41: .line 1117
            iload 11 /* nextVal2 */
            iload 9 /* runVal2 */
            if_icmpne 59
        42: .line 1119
            iinc 3 /* runCount */ 2
        43: .line 1120
            iload 3 /* runCount */
            sipush 256
            if_icmpne 107
        44: .line 1121
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 3 /* runCount */
            iconst_1
            isub
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        45: .line 1122
            iload 8 /* runVal1 */
            iconst_4
            ishl
            iload 9 /* runVal2 */
            ior
            istore 6 /* pixel */
        46: .line 1123
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        47: .line 1124
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        48: .line 1125
            iconst_2
            istore 3 /* runCount */
        49: .line 1126
            iload 5 /* j */
            iload 2 /* scanlineBytes */
            iconst_1
            isub
            if_icmpge 53
        50: .line 1127
            iload 9 /* runVal2 */
            istore 8 /* runVal1 */
        51: .line 1128
            aload 1 /* bipixels */
            iinc 5 /* j */ 1
            iload 5 /* j */
            baload
            istore 9 /* runVal2 */
        52: .line 1129
            goto 107
        53: .line 1130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_1
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        54: .line 1131
            iload 9 /* runVal2 */
            iconst_4
            ishl
            istore 13 /* r */
        start local 13 // int r
        55: .line 1132
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 13 /* r */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        56: .line 1133
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        57: .line 1134
            iconst_m1
            istore 3 /* runCount */
        end local 13 // int r
        58: .line 1137
            goto 107
        59: .line 1141
      StackMap locals:
      StackMap stack:
            iinc 3 /* runCount */ 1
        60: .line 1142
            iload 8 /* runVal1 */
            iconst_4
            ishl
            iload 9 /* runVal2 */
            ior
            istore 6 /* pixel */
        61: .line 1143
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 3 /* runCount */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        62: .line 1144
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        63: .line 1145
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        64: .line 1146
            iconst_2
            istore 3 /* runCount */
        65: .line 1147
            iload 11 /* nextVal2 */
            istore 8 /* runVal1 */
        66: .line 1149
            iload 5 /* j */
            iload 2 /* scanlineBytes */
            iconst_1
            isub
            if_icmpge 69
        67: .line 1150
            aload 1 /* bipixels */
            iinc 5 /* j */ 1
            iload 5 /* j */
            baload
            istore 9 /* runVal2 */
        68: .line 1151
            goto 107
        69: .line 1152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_1
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        70: .line 1153
            iload 11 /* nextVal2 */
            iconst_4
            ishl
            istore 13 /* r */
        start local 13 // int r
        71: .line 1154
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 13 /* r */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        72: .line 1155
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        73: .line 1156
            iconst_m1
            istore 3 /* runCount */
        end local 13 // int r
        74: .line 1160
            goto 107
        75: .line 1162
      StackMap locals:
      StackMap stack:
            iload 3 /* runCount */
            iconst_2
            if_icmple 81
        76: .line 1163
            iload 8 /* runVal1 */
            iconst_4
            ishl
            iload 9 /* runVal2 */
            ior
            istore 6 /* pixel */
        77: .line 1164
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 3 /* runCount */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        78: .line 1165
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        79: .line 1166
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        80: .line 1167
            goto 104
      StackMap locals:
      StackMap stack:
        81: iload 4 /* absVal */
            ifge 87
        82: .line 1168
            aload 12 /* absBuf */
            iinc 4 /* absVal */ 1
            iload 4 /* absVal */
            iload 8 /* runVal1 */
            bastore
        83: .line 1169
            aload 12 /* absBuf */
            iinc 4 /* absVal */ 1
            iload 4 /* absVal */
            iload 9 /* runVal2 */
            bastore
        84: .line 1170
            aload 12 /* absBuf */
            iinc 4 /* absVal */ 1
            iload 4 /* absVal */
            iload 10 /* nextVal1 */
            bastore
        85: .line 1171
            aload 12 /* absBuf */
            iinc 4 /* absVal */ 1
            iload 4 /* absVal */
            iload 11 /* nextVal2 */
            bastore
        86: .line 1172
            goto 104
      StackMap locals:
      StackMap stack:
        87: iload 4 /* absVal */
            sipush 253
            if_icmpge 91
        88: .line 1173
            aload 12 /* absBuf */
            iinc 4 /* absVal */ 1
            iload 4 /* absVal */
            iload 10 /* nextVal1 */
            bastore
        89: .line 1174
            aload 12 /* absBuf */
            iinc 4 /* absVal */ 1
            iload 4 /* absVal */
            iload 11 /* nextVal2 */
            bastore
        90: .line 1175
            goto 104
        91: .line 1176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        92: .line 1177
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 4 /* absVal */
            iconst_1
            iadd
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        93: .line 1178
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        94: .line 1179
            iconst_0
            istore 13 /* a */
        start local 13 // int a
        95: goto 100
        96: .line 1180
      StackMap locals: int
      StackMap stack:
            aload 12 /* absBuf */
            iload 13 /* a */
            baload
            iconst_4
            ishl
            aload 12 /* absBuf */
            iload 13 /* a */
            iconst_1
            iadd
            baload
            ior
            istore 6 /* pixel */
        97: .line 1181
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            i2b
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        98: .line 1182
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        99: .line 1179
            iinc 13 /* a */ 2
      StackMap locals:
      StackMap stack:
       100: iload 13 /* a */
            iload 4 /* absVal */
            if_icmplt 96
        end local 13 // int a
       101: .line 1186
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       102: .line 1187
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       103: .line 1188
            iconst_m1
            istore 4 /* absVal */
       104: .line 1191
      StackMap locals:
      StackMap stack:
            iload 10 /* nextVal1 */
            istore 8 /* runVal1 */
       105: .line 1192
            iload 11 /* nextVal2 */
            istore 9 /* runVal2 */
       106: .line 1193
            iconst_2
            istore 3 /* runCount */
       107: .line 1196
      StackMap locals:
      StackMap stack:
            iload 5 /* j */
            iload 2 /* scanlineBytes */
            iconst_2
            isub
            if_icmplt 166
       108: .line 1197
            iload 4 /* absVal */
            iconst_m1
            if_icmpne 131
            iload 3 /* runCount */
            iconst_2
            if_icmplt 131
       109: .line 1198
            iload 5 /* j */
            iload 2 /* scanlineBytes */
            iconst_2
            isub
            if_icmpne 126
       110: .line 1199
            aload 1 /* bipixels */
            iinc 5 /* j */ 1
            iload 5 /* j */
            baload
            iload 8 /* runVal1 */
            if_icmpne 117
       111: .line 1200
            iinc 3 /* runCount */ 1
       112: .line 1201
            iload 8 /* runVal1 */
            iconst_4
            ishl
            iload 9 /* runVal2 */
            ior
            istore 6 /* pixel */
       113: .line 1202
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 3 /* runCount */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       114: .line 1203
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       115: .line 1204
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       116: .line 1205
            goto 163
       117: .line 1206
      StackMap locals:
      StackMap stack:
            iload 8 /* runVal1 */
            iconst_4
            ishl
            iload 9 /* runVal2 */
            ior
            istore 6 /* pixel */
       118: .line 1207
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 3 /* runCount */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       119: .line 1208
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       120: .line 1209
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_1
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       121: .line 1210
            aload 1 /* bipixels */
            iload 5 /* j */
            baload
            iconst_4
            ishl
            istore 6 /* pixel */
       122: .line 1211
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       123: .line 1212
            aload 1 /* bipixels */
            iload 5 /* j */
            baload
            pop
       124: .line 1213
            aload 0 /* this */
            iconst_4
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       125: .line 1215
            goto 163
       126: .line 1216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 3 /* runCount */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       127: .line 1217
            iload 8 /* runVal1 */
            iconst_4
            ishl
            iload 9 /* runVal2 */
            ior
            istore 6 /* pixel */
       128: .line 1218
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       129: .line 1219
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       130: .line 1221
            goto 163
      StackMap locals:
      StackMap stack:
       131: iload 4 /* absVal */
            iconst_m1
            if_icmple 163
       132: .line 1222
            iload 5 /* j */
            iload 2 /* scanlineBytes */
            iconst_2
            isub
            if_icmpne 134
       133: .line 1223
            aload 12 /* absBuf */
            iinc 4 /* absVal */ 1
            iload 4 /* absVal */
            aload 1 /* bipixels */
            iinc 5 /* j */ 1
            iload 5 /* j */
            baload
            bastore
       134: .line 1225
      StackMap locals:
      StackMap stack:
            iload 4 /* absVal */
            iconst_2
            if_icmplt 153
       135: .line 1226
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       136: .line 1227
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 4 /* absVal */
            iconst_1
            iadd
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       137: .line 1228
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       138: .line 1229
            iconst_0
            istore 13 /* a */
        start local 13 // int a
       139: goto 144
       140: .line 1230
      StackMap locals: int
      StackMap stack:
            aload 12 /* absBuf */
            iload 13 /* a */
            baload
            iconst_4
            ishl
            aload 12 /* absBuf */
            iload 13 /* a */
            iconst_1
            iadd
            baload
            ior
            istore 6 /* pixel */
       141: .line 1231
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            i2b
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       142: .line 1232
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       143: .line 1229
            iinc 13 /* a */ 2
      StackMap locals:
      StackMap stack:
       144: iload 13 /* a */
            iload 4 /* absVal */
            if_icmplt 140
        end local 13 // int a
       145: .line 1234
            aload 0 /* this */
            iload 4 /* absVal */
            iconst_1
            iadd
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.isEven:(I)Z
            ifne 149
       146: .line 1235
            aload 12 /* absBuf */
            iload 4 /* absVal */
            baload
            iconst_4
            ishl
            istore 7 /* q */
       147: .line 1236
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 7 /* q */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       148: .line 1237
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       149: .line 1241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* absVal */
            iconst_1
            iadd
            iconst_2
            idiv
            i2d
            invokestatic java.lang.Math.ceil:(D)D
            d2i
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.isEven:(I)Z
            ifne 163
       150: .line 1242
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       151: .line 1243
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       152: .line 1246
            goto 163
       153: .line 1247
      StackMap locals:
      StackMap stack:
            iload 4 /* absVal */
            tableswitch { // 0 - 1
                    0: 154
                    1: 159
              default: 163
          }
       154: .line 1249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_1
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       155: .line 1250
            aload 12 /* absBuf */
            iconst_0
            baload
            iconst_4
            ishl
            istore 13 /* n */
        start local 13 // int n
       156: .line 1251
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 13 /* n */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       157: .line 1252
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       158: .line 1253
            goto 163
        end local 13 // int n
       159: .line 1255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_2
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       160: .line 1256
            aload 12 /* absBuf */
            iconst_0
            baload
            iconst_4
            ishl
            aload 12 /* absBuf */
            iconst_1
            baload
            ior
            istore 6 /* pixel */
       161: .line 1257
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       162: .line 1258
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       163: .line 1264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       164: .line 1265
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       165: .line 1266
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       166: .line 1080
      StackMap locals:
      StackMap stack:
            iload 5 /* j */
            iload 2 /* scanlineBytes */
            iconst_2
            isub
            if_icmplt 13
       167: .line 1269
            return
        end local 12 // byte[] absBuf
        end local 11 // byte nextVal2
        end local 10 // byte nextVal1
        end local 9 // byte runVal2
        end local 8 // byte runVal1
        end local 7 // int q
        end local 6 // int pixel
        end local 5 // int j
        end local 4 // int absVal
        end local 3 // int runCount
        end local 2 // int scanlineBytes
        end local 1 // byte[] bipixels
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  168     0           this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0  168     1       bipixels  [B
            0  168     2  scanlineBytes  I
            1  168     3       runCount  I
            2  168     4         absVal  I
            3  168     5              j  I
            4  168     6          pixel  I
            5  168     7              q  I
            6  168     8        runVal1  B
            7  168     9        runVal2  B
            8  168    10       nextVal1  B
            9  168    11       nextVal2  B
           10  168    12         absBuf  [B
           21   27    13              a  I
           55   58    13              r  I
           71   74    13              r  I
           95  101    13              a  I
          139  145    13              a  I
          156  159    13              n  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      bipixels       
      scanlineBytes  

  private synchronized void incCompImageSize(int);
    descriptor: (I)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // int value
         0: .line 1273
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compImageSize:I
            iload 1 /* value */
            iadd
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.compImageSize:I
         1: .line 1274
            return
        end local 1 // int value
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    2     1  value  I
    MethodParameters:
       Name  Flags
      value  

  private boolean isEven(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // int number
         0: .line 1277
            iload 1 /* number */
            iconst_2
            irem
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // int number
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    3     1  number  I
    MethodParameters:
        Name  Flags
      number  

  private void writeFileHeader(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // int fileSize
        start local 2 // int offset
         0: .line 1282
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            bipush 66
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
         1: .line 1283
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            bipush 77
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
         2: .line 1286
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 1 /* fileSize */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
         3: .line 1289
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
         4: .line 1292
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 2 /* offset */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
         5: .line 1293
            return
        end local 2 // int offset
        end local 1 // int fileSize
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    6     1  fileSize  I
            0    6     2    offset  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      fileSize  
      offset    

  private void writeInfoHeader(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // int headerSize
        start local 2 // int bitsPerPixel
         0: .line 1299
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 1 /* headerSize */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
         1: .line 1302
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
         2: .line 1305
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.isTopDown:Z
            ifeq 3
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
            ineg
            goto 4
      StackMap locals:
      StackMap stack: javax.imageio.stream.ImageOutputStream
         3: aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter int int
      StackMap stack: javax.imageio.stream.ImageOutputStream int
         4: invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
         5: .line 1308
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_1
            invokeinterface javax.imageio.stream.ImageOutputStream.writeShort:(I)V
         6: .line 1311
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 2 /* bitsPerPixel */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeShort:(I)V
         7: .line 1312
            return
        end local 2 // int bitsPerPixel
        end local 1 // int headerSize
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    8     1    headerSize  I
            0    8     2  bitsPerPixel  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      headerSize    
      bitsPerPixel  

  private void writeSize(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // int dword
        start local 2 // int offset
         0: .line 1315
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 2 /* offset */
            invokeinterface javax.imageio.stream.ImageOutputStream.skipBytes:(I)I
            pop
         1: .line 1316
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 1 /* dword */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
         2: .line 1317
            return
        end local 2 // int offset
        end local 1 // int dword
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    3     1   dword  I
            0    3     2  offset  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      dword   
      offset  

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
         0: .line 1320
            aload 0 /* this */
            invokespecial javax.imageio.ImageWriter.reset:()V
         1: .line 1321
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
         2: .line 1322
            return
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;

  private void writeEmbedded(javax.imageio.IIOImage, javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // javax.imageio.IIOImage image
        start local 2 // javax.imageio.ImageWriteParam bmpParam
         0: .line 1327
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_4
            if_icmpne 1
            ldc "jpeg"
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc "png"
         2: .line 1326
      StackMap locals:
      StackMap stack: java.lang.String
            astore 3 /* format */
        start local 3 // java.lang.String format
         3: .line 1329
            aload 3 /* format */
            invokestatic javax.imageio.ImageIO.getImageWritersByFormatName:(Ljava/lang/String;)Ljava/util/Iterator;
         4: .line 1328
            astore 4 /* iterator */
        start local 4 // java.util.Iterator iterator
         5: .line 1330
            aconst_null
            astore 5 /* writer */
        start local 5 // javax.imageio.ImageWriter writer
         6: .line 1331
            aload 4 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 8
         7: .line 1332
            aload 4 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.imageio.ImageWriter
            astore 5 /* writer */
         8: .line 1333
      StackMap locals: java.lang.String java.util.Iterator javax.imageio.ImageWriter
      StackMap stack:
            aload 5 /* writer */
            ifnull 25
         9: .line 1334
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
            ifnonnull 11
        10: .line 1335
            new java.lang.RuntimeException
            dup
            ldc "No stream for writing embedded image!"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1338
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            new com.sun.imageio.plugins.bmp.BMPImageWriter$1
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokespecial com.sun.imageio.plugins.bmp.BMPImageWriter$1.<init>:(Lcom/sun/imageio/plugins/bmp/BMPImageWriter;Lcom/sun/imageio/plugins/bmp/BMPImageWriter;)V
            invokevirtual javax.imageio.ImageWriter.addIIOWriteProgressListener:(Ljavax/imageio/event/IIOWriteProgressListener;)V
        12: .line 1344
            aload 5 /* writer */
            new com.sun.imageio.plugins.bmp.BMPImageWriter$2
            dup
            aload 0 /* this */
            invokespecial com.sun.imageio.plugins.bmp.BMPImageWriter$2.<init>:(Lcom/sun/imageio/plugins/bmp/BMPImageWriter;)V
            invokevirtual javax.imageio.ImageWriter.addIIOWriteWarningListener:(Ljavax/imageio/event/IIOWriteWarningListener;)V
        13: .line 1350
            aload 5 /* writer */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
            invokestatic javax.imageio.ImageIO.createImageOutputStream:(Ljava/lang/Object;)Ljavax/imageio/stream/ImageOutputStream;
            invokevirtual javax.imageio.ImageWriter.setOutput:(Ljava/lang/Object;)V
        14: .line 1351
            aload 5 /* writer */
            invokevirtual javax.imageio.ImageWriter.getDefaultWriteParam:()Ljavax/imageio/ImageWriteParam;
            astore 6 /* param */
        start local 6 // javax.imageio.ImageWriteParam param
        15: .line 1353
            aload 6 /* param */
            aload 2 /* bmpParam */
            invokevirtual javax.imageio.ImageWriteParam.getDestinationOffset:()Ljava/awt/Point;
            invokevirtual javax.imageio.ImageWriteParam.setDestinationOffset:(Ljava/awt/Point;)V
        16: .line 1354
            aload 6 /* param */
            aload 2 /* bmpParam */
            invokevirtual javax.imageio.ImageWriteParam.getSourceBands:()[I
            invokevirtual javax.imageio.ImageWriteParam.setSourceBands:([I)V
        17: .line 1355
            aload 6 /* param */
            aload 2 /* bmpParam */
            invokevirtual javax.imageio.ImageWriteParam.getSourceRegion:()Ljava/awt/Rectangle;
            invokevirtual javax.imageio.ImageWriteParam.setSourceRegion:(Ljava/awt/Rectangle;)V
        18: .line 1356
            aload 6 /* param */
            aload 2 /* bmpParam */
            invokevirtual javax.imageio.ImageWriteParam.getSourceXSubsampling:()I
        19: .line 1357
            aload 2 /* bmpParam */
            invokevirtual javax.imageio.ImageWriteParam.getSourceYSubsampling:()I
        20: .line 1358
            aload 2 /* bmpParam */
            invokevirtual javax.imageio.ImageWriteParam.getSubsamplingXOffset:()I
        21: .line 1359
            aload 2 /* bmpParam */
            invokevirtual javax.imageio.ImageWriteParam.getSubsamplingYOffset:()I
        22: .line 1356
            invokevirtual javax.imageio.ImageWriteParam.setSourceSubsampling:(IIII)V
        23: .line 1360
            aload 5 /* writer */
            aconst_null
            aload 1 /* image */
            aload 6 /* param */
            invokevirtual javax.imageio.ImageWriter.write:(Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
        end local 6 // javax.imageio.ImageWriteParam param
        24: .line 1361
            goto 26
        25: .line 1362
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "BMPImageWrite5"
            invokestatic com.sun.imageio.plugins.common.I18N.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* format */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 1364
      StackMap locals:
      StackMap stack:
            return
        end local 5 // javax.imageio.ImageWriter writer
        end local 4 // java.util.Iterator iterator
        end local 3 // java.lang.String format
        end local 2 // javax.imageio.ImageWriteParam bmpParam
        end local 1 // javax.imageio.IIOImage image
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   27     0      this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0   27     1     image  Ljavax/imageio/IIOImage;
            0   27     2  bmpParam  Ljavax/imageio/ImageWriteParam;
            3   27     3    format  Ljava/lang/String;
            5   27     4  iterator  Ljava/util/Iterator<Ljavax/imageio/ImageWriter;>;
            6   27     5    writer  Ljavax/imageio/ImageWriter;
           15   24     6     param  Ljavax/imageio/ImageWriteParam;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      image     
      bmpParam  

  private int firstLowBit(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // int num
         0: .line 1367
            iconst_0
            istore 2 /* count */
        start local 2 // int count
         1: .line 1368
            goto 4
         2: .line 1369
      StackMap locals: int
      StackMap stack:
            iinc 2 /* count */ 1
         3: .line 1370
            iload 1 /* num */
            iconst_1
            iushr
            istore 1 /* num */
         4: .line 1368
      StackMap locals:
      StackMap stack:
            iload 1 /* num */
            iconst_1
            iand
            ifeq 2
         5: .line 1372
            iload 2 /* count */
            ireturn
        end local 2 // int count
        end local 1 // int num
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    6     1    num  I
            1    6     2  count  I
    MethodParameters:
      Name  Flags
      num   

  protected int getPreferredCompressionType(java.awt.image.ColorModel, java.awt.image.SampleModel);
    descriptor: (Ljava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // java.awt.image.ColorModel cm
        start local 2 // java.awt.image.SampleModel sm
         0: .line 1410
            new javax.imageio.ImageTypeSpecifier
            dup
            aload 1 /* cm */
            aload 2 /* sm */
            invokespecial javax.imageio.ImageTypeSpecifier.<init>:(Ljava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)V
            astore 3 /* imageType */
        start local 3 // javax.imageio.ImageTypeSpecifier imageType
         1: .line 1411
            aload 0 /* this */
            aload 3 /* imageType */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.getPreferredCompressionType:(Ljavax/imageio/ImageTypeSpecifier;)I
            ireturn
        end local 3 // javax.imageio.ImageTypeSpecifier imageType
        end local 2 // java.awt.image.SampleModel sm
        end local 1 // java.awt.image.ColorModel cm
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    2     1         cm  Ljava/awt/image/ColorModel;
            0    2     2         sm  Ljava/awt/image/SampleModel;
            1    2     3  imageType  Ljavax/imageio/ImageTypeSpecifier;
    MethodParameters:
      Name  Flags
      cm    
      sm    

  protected int getPreferredCompressionType(javax.imageio.ImageTypeSpecifier);
    descriptor: (Ljavax/imageio/ImageTypeSpecifier;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // javax.imageio.ImageTypeSpecifier imageType
         0: .line 1415
            aload 1 /* imageType */
            invokevirtual javax.imageio.ImageTypeSpecifier.getBufferedImageType:()I
            bipush 8
            if_icmpne 2
         1: .line 1416
            iconst_3
            ireturn
         2: .line 1418
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // javax.imageio.ImageTypeSpecifier imageType
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    3     1  imageType  Ljavax/imageio/ImageTypeSpecifier;
    MethodParameters:
           Name  Flags
      imageType  

  protected boolean canEncodeImage(int, java.awt.image.ColorModel, java.awt.image.SampleModel);
    descriptor: (ILjava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // int compression
        start local 2 // java.awt.image.ColorModel cm
        start local 3 // java.awt.image.SampleModel sm
         0: .line 1430
            new javax.imageio.ImageTypeSpecifier
            dup
            aload 2 /* cm */
            aload 3 /* sm */
            invokespecial javax.imageio.ImageTypeSpecifier.<init>:(Ljava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)V
            astore 4 /* imgType */
        start local 4 // javax.imageio.ImageTypeSpecifier imgType
         1: .line 1431
            aload 0 /* this */
            iload 1 /* compression */
            aload 4 /* imgType */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.canEncodeImage:(ILjavax/imageio/ImageTypeSpecifier;)Z
            ireturn
        end local 4 // javax.imageio.ImageTypeSpecifier imgType
        end local 3 // java.awt.image.SampleModel sm
        end local 2 // java.awt.image.ColorModel cm
        end local 1 // int compression
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    2     1  compression  I
            0    2     2           cm  Ljava/awt/image/ColorModel;
            0    2     3           sm  Ljava/awt/image/SampleModel;
            1    2     4      imgType  Ljavax/imageio/ImageTypeSpecifier;
    MethodParameters:
             Name  Flags
      compression  
      cm           
      sm           

  protected boolean canEncodeImage(int, javax.imageio.ImageTypeSpecifier);
    descriptor: (ILjavax/imageio/ImageTypeSpecifier;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // int compression
        start local 2 // javax.imageio.ImageTypeSpecifier imgType
         0: .line 1435
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.getOriginatingProvider:()Ljavax/imageio/spi/ImageWriterSpi;
            astore 3 /* spi */
        start local 3 // javax.imageio.spi.ImageWriterSpi spi
         1: .line 1436
            aload 3 /* spi */
            aload 2 /* imgType */
            invokevirtual javax.imageio.spi.ImageWriterSpi.canEncodeImage:(Ljavax/imageio/ImageTypeSpecifier;)Z
            ifne 3
         2: .line 1437
            iconst_0
            ireturn
         3: .line 1439
      StackMap locals: javax.imageio.spi.ImageWriterSpi
      StackMap stack:
            aload 2 /* imgType */
            invokevirtual javax.imageio.ImageTypeSpecifier.getBufferedImageType:()I
            pop
         4: .line 1440
            aload 2 /* imgType */
            invokevirtual javax.imageio.ImageTypeSpecifier.getColorModel:()Ljava/awt/image/ColorModel;
            invokevirtual java.awt.image.ColorModel.getPixelSize:()I
            istore 4 /* bpp */
        start local 4 // int bpp
         5: .line 1441
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_2
            if_icmpne 7
            iload 4 /* bpp */
            iconst_4
            if_icmpeq 7
         6: .line 1443
            iconst_0
            ireturn
         7: .line 1445
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_1
            if_icmpne 9
            iload 4 /* bpp */
            bipush 8
            if_icmpeq 9
         8: .line 1447
            iconst_0
            ireturn
         9: .line 1449
      StackMap locals:
      StackMap stack:
            iload 4 /* bpp */
            bipush 16
            if_icmpne 34
        10: .line 1476
            iconst_0
            istore 5 /* canUseRGB */
        start local 5 // boolean canUseRGB
        11: .line 1477
            iconst_0
            istore 6 /* canUseBITFIELDS */
        start local 6 // boolean canUseBITFIELDS
        12: .line 1479
            aload 2 /* imgType */
            invokevirtual javax.imageio.ImageTypeSpecifier.getSampleModel:()Ljava/awt/image/SampleModel;
            astore 7 /* sm */
        start local 7 // java.awt.image.SampleModel sm
        13: .line 1480
            aload 7 /* sm */
            instanceof java.awt.image.SinglePixelPackedSampleModel
            ifeq 30
        14: .line 1482
            aload 7 /* sm */
            checkcast java.awt.image.SinglePixelPackedSampleModel
            invokevirtual java.awt.image.SinglePixelPackedSampleModel.getSampleSize:()[I
        15: .line 1481
            astore 8 /* sizes */
        start local 8 // int[] sizes
        16: .line 1484
            iconst_1
            istore 5 /* canUseRGB */
        17: .line 1485
            iconst_1
            istore 6 /* canUseBITFIELDS */
        18: .line 1486
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        19: goto 29
        20: .line 1487
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter int javax.imageio.ImageTypeSpecifier javax.imageio.spi.ImageWriterSpi int int int java.awt.image.SampleModel int[] int
      StackMap stack:
            iload 5 /* canUseRGB */
            aload 8 /* sizes */
            iload 9 /* i */
            iaload
            iconst_5
            if_icmpne 21
            iconst_1
            goto 22
      StackMap locals:
      StackMap stack: int
        21: iconst_0
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter int javax.imageio.ImageTypeSpecifier javax.imageio.spi.ImageWriterSpi int int int java.awt.image.SampleModel int[] int
      StackMap stack: int int
        22: iand
            istore 5 /* canUseRGB */
        23: .line 1488
            iload 6 /* canUseBITFIELDS */
            aload 8 /* sizes */
            iload 9 /* i */
            iaload
            iconst_5
            if_icmpeq 26
        24: .line 1489
            iload 9 /* i */
            iconst_1
            if_icmpne 25
            aload 8 /* sizes */
            iload 9 /* i */
            iaload
            bipush 6
            if_icmpeq 26
      StackMap locals:
      StackMap stack: int
        25: iconst_0
            goto 27
      StackMap locals:
      StackMap stack: int
        26: iconst_1
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter int javax.imageio.ImageTypeSpecifier javax.imageio.spi.ImageWriterSpi int int int java.awt.image.SampleModel int[] int
      StackMap stack: int int
        27: iand
            istore 6 /* canUseBITFIELDS */
        28: .line 1486
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 9 /* i */
            aload 8 /* sizes */
            arraylength
            if_icmplt 20
        end local 9 // int i
        end local 8 // int[] sizes
        30: .line 1493
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            ifne 31
            iload 5 /* canUseRGB */
            ifne 33
        31: .line 1494
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_3
            if_icmpne 32
            iload 6 /* canUseBITFIELDS */
            ifne 33
        32: .line 1493
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        33: iconst_1
            ireturn
        end local 7 // java.awt.image.SampleModel sm
        end local 6 // boolean canUseBITFIELDS
        end local 5 // boolean canUseRGB
        34: .line 1496
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // int bpp
        end local 3 // javax.imageio.spi.ImageWriterSpi spi
        end local 2 // javax.imageio.ImageTypeSpecifier imgType
        end local 1 // int compression
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   35     0             this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0   35     1      compression  I
            0   35     2          imgType  Ljavax/imageio/ImageTypeSpecifier;
            1   35     3              spi  Ljavax/imageio/spi/ImageWriterSpi;
            5   35     4              bpp  I
           11   34     5        canUseRGB  Z
           12   34     6  canUseBITFIELDS  Z
           13   34     7               sm  Ljava/awt/image/SampleModel;
           16   30     8            sizes  [I
           19   30     9                i  I
    MethodParameters:
             Name  Flags
      compression  
      imgType      

  protected void writeMaskToPalette(int, int, byte[], byte[], byte[], byte[]);
    descriptor: (II[B[B[B[B)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=7
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // int mask
        start local 2 // int i
        start local 3 // byte[] r
        start local 4 // byte[] g
        start local 5 // byte[] b
        start local 6 // byte[] a
         0: .line 1501
            aload 5 /* b */
            iload 2 /* i */
            sipush 255
            iload 1 /* mask */
            bipush 24
            ishr
            iand
            i2b
            bastore
         1: .line 1502
            aload 4 /* g */
            iload 2 /* i */
            sipush 255
            iload 1 /* mask */
            bipush 16
            ishr
            iand
            i2b
            bastore
         2: .line 1503
            aload 3 /* r */
            iload 2 /* i */
            sipush 255
            iload 1 /* mask */
            bipush 8
            ishr
            iand
            i2b
            bastore
         3: .line 1504
            aload 6 /* a */
            iload 2 /* i */
            sipush 255
            iload 1 /* mask */
            iand
            i2b
            bastore
         4: .line 1505
            return
        end local 6 // byte[] a
        end local 5 // byte[] b
        end local 4 // byte[] g
        end local 3 // byte[] r
        end local 2 // int i
        end local 1 // int mask
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    5     1  mask  I
            0    5     2     i  I
            0    5     3     r  [B
            0    5     4     g  [B
            0    5     5     b  [B
            0    5     6     a  [B
    MethodParameters:
      Name  Flags
      mask  
      i     
      r     
      g     
      b     
      a     

  private int roundBpp(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // int x
         0: .line 1508
            iload 1 /* x */
            bipush 8
            if_icmpgt 2
         1: .line 1509
            bipush 8
            ireturn
         2: .line 1510
      StackMap locals:
      StackMap stack:
            iload 1 /* x */
            bipush 16
            if_icmpgt 4
         3: .line 1511
            bipush 16
            ireturn
         4: .line 1512
      StackMap locals:
      StackMap stack:
            iload 1 /* x */
            bipush 24
            if_icmpgt 6
         5: .line 1513
            bipush 24
            ireturn
         6: .line 1515
      StackMap locals:
      StackMap stack:
            bipush 32
            ireturn
        end local 1 // int x
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    7     1     x  I
    MethodParameters:
      Name  Flags
      x     

  static void access$0(com.sun.imageio.plugins.bmp.BMPImageWriter, float);
    descriptor: (Lcom/sun/imageio/plugins/bmp/BMPImageWriter;F)V
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            fload 1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processImageProgress:(F)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static void access$1(com.sun.imageio.plugins.bmp.BMPImageWriter, int, java.lang.String);
    descriptor: (Lcom/sun/imageio/plugins/bmp/BMPImageWriter;ILjava/lang/String;)V
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            iload 1
            aload 2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processWarningOccurred:(ILjava/lang/String;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "BMPImageWriter.java"
NestMembers:
  com.sun.imageio.plugins.bmp.BMPImageWriter$1  com.sun.imageio.plugins.bmp.BMPImageWriter$2  com.sun.imageio.plugins.bmp.BMPImageWriter$IIOWriteProgressAdapter
InnerClasses:
  com.sun.imageio.plugins.bmp.BMPImageWriter$1
  com.sun.imageio.plugins.bmp.BMPImageWriter$2
  private IIOWriteProgressAdapter = com.sun.imageio.plugins.bmp.BMPImageWriter$IIOWriteProgressAdapter of com.sun.imageio.plugins.bmp.BMPImageWriter