final class com.sun.javafx.iio.bmp.BMPImageLoader extends com.sun.javafx.iio.common.ImageLoaderImpl
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.sun.javafx.iio.bmp.BMPImageLoader
  super_class: com.sun.javafx.iio.common.ImageLoaderImpl
{
  static final short BM;
    descriptor: S
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 19778

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

  final com.sun.javafx.iio.bmp.LEInputStream data;
    descriptor: Lcom/sun/javafx/iio/bmp/LEInputStream;
    flags: (0x0010) ACC_FINAL

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

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

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

  com.sun.javafx.iio.bmp.BitmapInfoHeader bih;
    descriptor: Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
    flags: (0x0000) 

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

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

  void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
        start local 1 // java.io.InputStream input
         0: .line 178
            aload 0 /* this */
            getstatic com.sun.javafx.iio.bmp.BMPDescriptor.theInstance:Lcom/sun/javafx/iio/common/ImageDescriptor;
            invokespecial com.sun.javafx.iio.common.ImageLoaderImpl.<init>:(Lcom/sun/javafx/iio/ImageFormatDescription;)V
         1: .line 179
            aload 0 /* this */
            new com.sun.javafx.iio.bmp.LEInputStream
            dup
            aload 1 /* input */
            invokespecial com.sun.javafx.iio.bmp.LEInputStream.<init>:(Ljava/io/InputStream;)V
            putfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
         2: .line 180
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
            invokevirtual com.sun.javafx.iio.bmp.LEInputStream.readShort:()S
            sipush 19778
            if_icmpeq 4
         3: .line 181
            new java.io.IOException
            dup
            ldc "Invalid BMP file signature"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 183
      StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader java.io.InputStream
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.readHeader:()V
         5: .line 184
            return
        end local 1 // java.io.InputStream input
        end local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/sun/javafx/iio/bmp/BMPImageLoader;
            0    6     1  input  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      input  

  private void readHeader();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
         0: .line 187
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
            invokevirtual com.sun.javafx.iio.bmp.LEInputStream.readInt:()I
            putfield com.sun.javafx.iio.bmp.BMPImageLoader.bfSize:I
         1: .line 188
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
            iconst_4
            invokevirtual com.sun.javafx.iio.bmp.LEInputStream.skipBytes:(I)V
         2: .line 189
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
            invokevirtual com.sun.javafx.iio.bmp.LEInputStream.readInt:()I
            putfield com.sun.javafx.iio.bmp.BMPImageLoader.bfOffBits:I
         3: .line 190
            aload 0 /* this */
            new com.sun.javafx.iio.bmp.BitmapInfoHeader
            dup
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
            invokespecial com.sun.javafx.iio.bmp.BitmapInfoHeader.<init>:(Lcom/sun/javafx/iio/bmp/LEInputStream;)V
            putfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
         4: .line 191
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bfOffBits:I
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biSize:I
            bipush 14
            iadd
            if_icmpge 6
         5: .line 192
            new java.io.IOException
            dup
            ldc "Invalid bitmap bits offset"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biSize:I
            bipush 14
            iadd
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bfOffBits:I
            if_icmpeq 13
         7: .line 196
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bfOffBits:I
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biSize:I
            isub
            bipush 14
            isub
            istore 1 /* length */
        start local 1 // int length
         8: .line 197
            iload 1 /* length */
            iconst_4
            idiv
            istore 2 /* paletteSize */
        start local 2 // int paletteSize
         9: .line 198
            aload 0 /* this */
            iload 2 /* paletteSize */
            iconst_4
            imul
            newarray 8
            putfield com.sun.javafx.iio.bmp.BMPImageLoader.bgra_palette:[B
        10: .line 199
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
            getfield com.sun.javafx.iio.bmp.LEInputStream.in:Ljava/io/InputStream;
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bgra_palette:[B
            invokevirtual java.io.InputStream.read:([B)I
            istore 3 /* read */
        start local 3 // int read
        11: .line 201
            iload 3 /* read */
            iload 1 /* length */
            if_icmpge 13
        12: .line 202
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
            iload 1 /* length */
            iload 3 /* read */
            isub
            invokevirtual com.sun.javafx.iio.bmp.LEInputStream.skipBytes:(I)V
        end local 3 // int read
        end local 2 // int paletteSize
        end local 1 // int length
        13: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biCompression:I
            iconst_3
            if_icmpne 16
        14: .line 207
            aload 0 /* this */
            invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.parseBitfields:()V
        15: .line 208
            goto 20
      StackMap locals:
      StackMap stack:
        16: aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biCompression:I
            ifne 20
        17: .line 209
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biBitCount:S
            bipush 16
            if_icmpne 20
        18: .line 211
            aload 0 /* this */
            iconst_3
            newarray 10
            dup
            iconst_0
            sipush 31744
            iastore
            dup
            iconst_1
            sipush 992
            iastore
            dup
            iconst_2
            bipush 31
            iastore
            putfield com.sun.javafx.iio.bmp.BMPImageLoader.bitMasks:[I
        19: .line 212
            aload 0 /* this */
            iconst_3
            newarray 10
            dup
            iconst_0
            bipush 10
            iastore
            dup
            iconst_1
            iconst_5
            iastore
            putfield com.sun.javafx.iio.bmp.BMPImageLoader.bitOffsets:[I
        20: .line 214
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Lcom/sun/javafx/iio/bmp/BMPImageLoader;
            8   13     1       length  I
            9   13     2  paletteSize  I
           11   13     3         read  I
    Exceptions:
      throws java.io.IOException

  private void parseBitfields();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
         0: .line 217
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bgra_palette:[B
            arraylength
            bipush 12
            if_icmpeq 2
         1: .line 218
            new java.io.IOException
            dup
            ldc "Invalid bit masks"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_3
            newarray 10
            putfield com.sun.javafx.iio.bmp.BMPImageLoader.bitMasks:[I
         3: .line 221
            aload 0 /* this */
            iconst_3
            newarray 10
            putfield com.sun.javafx.iio.bmp.BMPImageLoader.bitOffsets:[I
         4: .line 222
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         5: goto 18
         6: .line 223
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bgra_palette:[B
            iload 1 /* i */
            iconst_4
            imul
            invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.getDWord:([BI)I
            istore 2 /* mask */
        start local 2 // int mask
         7: .line 224
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bitMasks:[I
            iload 1 /* i */
            iload 2 /* mask */
            iastore
         8: .line 225
            iconst_0
            istore 3 /* offset */
        start local 3 // int offset
         9: .line 226
            iload 2 /* mask */
            ifeq 16
        10: .line 227
            goto 13
        11: .line 228
      StackMap locals: int int
      StackMap stack:
            iinc 3 /* offset */ 1
        12: .line 229
            iload 2 /* mask */
            iconst_1
            iushr
            istore 2 /* mask */
        13: .line 227
      StackMap locals:
      StackMap stack:
            iload 2 /* mask */
            iconst_1
            iand
            ifeq 11
        14: .line 231
            iload 2 /* mask */
            invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.isPow2Minus1:(I)Z
            ifne 16
        15: .line 232
            new java.io.IOException
            dup
            ldc "Bit mask is not contiguous"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bitOffsets:[I
            iload 1 /* i */
            iload 3 /* offset */
            iastore
        end local 3 // int offset
        end local 2 // int mask
        17: .line 222
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 1 /* i */
            iconst_3
            if_icmplt 6
        end local 1 // int i
        19: .line 237
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bitMasks:[I
            iconst_0
            iaload
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bitMasks:[I
            iconst_1
            iaload
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bitMasks:[I
            iconst_2
            iaload
            invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.checkDisjointMasks:(III)Z
            ifne 21
        20: .line 238
            new java.io.IOException
            dup
            ldc "Bit masks overlap"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 240
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   22     0    this  Lcom/sun/javafx/iio/bmp/BMPImageLoader;
            5   19     1       i  I
            7   17     2    mask  I
            9   17     3  offset  I
    Exceptions:
      throws java.io.IOException

  static boolean checkDisjointMasks(int, int, int);
    descriptor: (III)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // int m1
        start local 1 // int m2
        start local 2 // int m3
         0: .line 243
            iload 0 /* m1 */
            iload 1 /* m2 */
            iand
            iload 0 /* m1 */
            iload 2 /* m3 */
            iand
            ior
            iload 1 /* m2 */
            iload 2 /* m3 */
            iand
            ior
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // int m3
        end local 1 // int m2
        end local 0 // int m1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    m1  I
            0    2     1    m2  I
            0    2     2    m3  I
    MethodParameters:
      Name  Flags
      m1    
      m2    
      m3    

  static boolean isPow2Minus1(int);
    descriptor: (I)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int i
         0: .line 247
            iload 0 /* i */
            iload 0 /* i */
            iconst_1
            iadd
            iand
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     i  I
    MethodParameters:
      Name  Flags
      i     

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
         0: .line 252
            return
        end local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/javafx/iio/bmp/BMPImageLoader;

  private void readRLE(byte[], int, int, boolean);
    descriptor: ([BIIZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=18, args_size=5
        start local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
        start local 1 // byte[] image
        start local 2 // int rowLength
        start local 3 // int hght
        start local 4 // boolean isRLE4
         0: .line 257
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biSizeImage:I
            istore 5 /* imgSize */
        start local 5 // int imgSize
         1: .line 258
            iload 5 /* imgSize */
            ifne 3
         2: .line 259
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bfSize:I
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bfOffBits:I
            isub
            istore 5 /* imgSize */
         3: .line 261
      StackMap locals: int
      StackMap stack:
            iload 5 /* imgSize */
            newarray 8
            astore 6 /* imgData */
        start local 6 // byte[] imgData
         4: .line 262
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
            getfield com.sun.javafx.iio.bmp.LEInputStream.in:Ljava/io/InputStream;
            aload 6 /* imgData */
            invokestatic com.sun.javafx.iio.common.ImageTools.readFully:(Ljava/io/InputStream;[B)I
            pop
         5: .line 264
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biHeight:I
            ifle 6
            iconst_1
            goto 7
      StackMap locals: byte[]
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 7 /* isBottomUp */
        start local 7 // boolean isBottomUp
         8: .line 265
            iload 7 /* isBottomUp */
            ifeq 9
            iload 3 /* hght */
            iconst_1
            isub
            goto 10
      StackMap locals: int
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 8 /* line */
        start local 8 // int line
        11: .line 266
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        12: .line 267
            iload 8 /* line */
            iload 2 /* rowLength */
            imul
            istore 10 /* dstOffset */
        start local 10 // int dstOffset
        13: .line 268
            goto 67
        14: .line 269
      StackMap locals: int int int
      StackMap stack:
            aload 6 /* imgData */
            iload 9 /* i */
            iinc 9 /* i */ 1
            invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.getByte:([BI)I
            istore 11 /* b1 */
        start local 11 // int b1
        15: .line 270
            aload 6 /* imgData */
            iload 9 /* i */
            iinc 9 /* i */ 1
            invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.getByte:([BI)I
            istore 12 /* b2 */
        start local 12 // int b2
        16: .line 271
            iload 11 /* b1 */
            ifne 50
        17: .line 272
            iload 12 /* b2 */
            tableswitch { // 0 - 2
                    0: 18
                    1: 23
                    2: 24
              default: 30
          }
        18: .line 274
      StackMap locals: int int
      StackMap stack:
            iload 8 /* line */
            iload 7 /* isBottomUp */
            ifeq 19
            iconst_m1
            goto 20
      StackMap locals:
      StackMap stack: int
        19: iconst_1
      StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int int int int byte[] int int int int int int
      StackMap stack: int int
        20: iadd
            istore 8 /* line */
        21: .line 275
            iload 8 /* line */
            iload 2 /* rowLength */
            imul
            istore 10 /* dstOffset */
        22: .line 276
            goto 67
        23: .line 278
      StackMap locals:
      StackMap stack:
            return
        24: .line 280
      StackMap locals:
      StackMap stack:
            aload 6 /* imgData */
            iload 9 /* i */
            iinc 9 /* i */ 1
            invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.getByte:([BI)I
            istore 13 /* deltaX */
        start local 13 // int deltaX
        25: .line 281
            aload 6 /* imgData */
            iload 9 /* i */
            iinc 9 /* i */ 1
            invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.getByte:([BI)I
            istore 14 /* deltaY */
        start local 14 // int deltaY
        26: .line 282
            iload 8 /* line */
            iload 14 /* deltaY */
            iadd
            istore 8 /* line */
        27: .line 283
            iload 10 /* dstOffset */
            iload 14 /* deltaY */
            iload 2 /* rowLength */
            imul
            iadd
            istore 10 /* dstOffset */
        28: .line 284
            iload 10 /* dstOffset */
            iload 13 /* deltaX */
            iconst_3
            imul
            iadd
            istore 10 /* dstOffset */
        29: .line 285
            goto 67
        end local 14 // int deltaY
        end local 13 // int deltaX
        30: .line 287
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 15 /* indexData */
        start local 15 // int indexData
        31: .line 289
            iconst_0
            istore 17 /* p */
        start local 17 // int p
        32: goto 43
        33: .line 290
      StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int int int int byte[] int int int int int int top top int top int
      StackMap stack:
            iload 4 /* isRLE4 */
            ifeq 40
        34: .line 291
            iload 17 /* p */
            iconst_1
            iand
            ifne 38
        35: .line 292
            aload 6 /* imgData */
            iload 9 /* i */
            iinc 9 /* i */ 1
            invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.getByte:([BI)I
            istore 15 /* indexData */
        36: .line 293
            iload 15 /* indexData */
            sipush 240
            iand
            iconst_4
            ishr
            istore 16 /* index */
        start local 16 // int index
        37: .line 294
            goto 41
        end local 16 // int index
        38: .line 295
      StackMap locals:
      StackMap stack:
            iload 15 /* indexData */
            bipush 15
            iand
            istore 16 /* index */
        start local 16 // int index
        39: .line 297
            goto 41
        end local 16 // int index
        40: .line 298
      StackMap locals:
      StackMap stack:
            aload 6 /* imgData */
            iload 9 /* i */
            iinc 9 /* i */ 1
            invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.getByte:([BI)I
            istore 16 /* index */
        start local 16 // int index
        41: .line 300
      StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int int int int byte[] int int int int int int top top int int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* image */
            iload 10 /* dstOffset */
            iload 16 /* index */
            invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.setRGBFromPalette:([BII)I
            istore 10 /* dstOffset */
        42: .line 289
            iinc 17 /* p */ 1
        end local 16 // int index
      StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int int int int byte[] int int int int int int top top int top int
      StackMap stack:
        43: iload 17 /* p */
            iload 12 /* b2 */
            if_icmplt 33
        end local 17 // int p
        44: .line 302
            iload 4 /* isRLE4 */
            ifeq 48
        45: .line 303
            iload 12 /* b2 */
            iconst_3
            iand
            iconst_1
            if_icmpeq 46
            iload 12 /* b2 */
            iconst_3
            iand
            iconst_2
            if_icmpne 67
      StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int int int int byte[] int int int int int int top top int
      StackMap stack:
        46: iinc 9 /* i */ 1
        47: .line 304
            goto 67
        48: .line 305
      StackMap locals:
      StackMap stack:
            iload 12 /* b2 */
            iconst_1
            iand
            iconst_1
            if_icmpne 67
            iinc 9 /* i */ 1
        end local 15 // int indexData
        49: .line 309
            goto 67
        50: .line 310
      StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int int int int byte[] int int int int int int
      StackMap stack:
            iload 4 /* isRLE4 */
            ifeq 62
        51: .line 311
            iload 12 /* b2 */
            sipush 240
            iand
            iconst_4
            ishr
            istore 13 /* index1 */
        start local 13 // int index1
        52: .line 312
            iload 12 /* b2 */
            bipush 15
            iand
            istore 14 /* index2 */
        start local 14 // int index2
        53: .line 313
            iconst_0
            istore 15 /* p */
        start local 15 // int p
        54: goto 60
        55: .line 314
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* image */
            iload 10 /* dstOffset */
        56: .line 315
            iload 15 /* p */
            iconst_1
            iand
            ifne 57
            iload 13 /* index1 */
            goto 58
      StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int int int int byte[] int int int int int int int int int
      StackMap stack: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int
        57: iload 14 /* index2 */
        58: .line 314
      StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int int int int byte[] int int int int int int int int int
      StackMap stack: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int int
            invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.setRGBFromPalette:([BII)I
            istore 10 /* dstOffset */
        59: .line 313
            iinc 15 /* p */ 1
      StackMap locals:
      StackMap stack:
        60: iload 15 /* p */
            iload 11 /* b1 */
            if_icmplt 55
        end local 15 // int p
        end local 14 // int index2
        end local 13 // int index1
        61: .line 317
            goto 67
        62: .line 318
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* p */
        start local 13 // int p
        63: goto 66
        64: .line 319
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* image */
            iload 10 /* dstOffset */
            iload 12 /* b2 */
            invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.setRGBFromPalette:([BII)I
            istore 10 /* dstOffset */
        65: .line 318
            iinc 13 /* p */ 1
      StackMap locals:
      StackMap stack:
        66: iload 13 /* p */
            iload 11 /* b1 */
            if_icmplt 64
        end local 13 // int p
        end local 12 // int b2
        end local 11 // int b1
        67: .line 268
      StackMap locals:
      StackMap stack:
            iload 9 /* i */
            iload 5 /* imgSize */
            if_icmplt 14
        68: .line 325
            return
        end local 10 // int dstOffset
        end local 9 // int i
        end local 8 // int line
        end local 7 // boolean isBottomUp
        end local 6 // byte[] imgData
        end local 5 // int imgSize
        end local 4 // boolean isRLE4
        end local 3 // int hght
        end local 2 // int rowLength
        end local 1 // byte[] image
        end local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   69     0        this  Lcom/sun/javafx/iio/bmp/BMPImageLoader;
            0   69     1       image  [B
            0   69     2   rowLength  I
            0   69     3        hght  I
            0   69     4      isRLE4  Z
            1   69     5     imgSize  I
            4   69     6     imgData  [B
            8   69     7  isBottomUp  Z
           11   69     8        line  I
           12   69     9           i  I
           13   69    10   dstOffset  I
           15   67    11          b1  I
           16   67    12          b2  I
           25   30    13      deltaX  I
           26   30    14      deltaY  I
           31   49    15   indexData  I
           37   38    16       index  I
           39   40    16       index  I
           41   43    16       index  I
           32   44    17           p  I
           52   61    13      index1  I
           53   61    14      index2  I
           54   61    15           p  I
           63   67    13           p  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      image      
      rowLength  
      hght       
      isRLE4     

  private int setRGBFromPalette(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
        start local 1 // byte[] image
        start local 2 // int dstOffset
        start local 3 // int index
         0: .line 328
            iload 3 /* index */
            iconst_4
            imul
            istore 3 /* index */
         1: .line 329
            aload 1 /* image */
            iload 2 /* dstOffset */
            iinc 2 /* dstOffset */ 1
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bgra_palette:[B
            iload 3 /* index */
            iconst_2
            iadd
            baload
            bastore
         2: .line 330
            aload 1 /* image */
            iload 2 /* dstOffset */
            iinc 2 /* dstOffset */ 1
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bgra_palette:[B
            iload 3 /* index */
            iconst_1
            iadd
            baload
            bastore
         3: .line 331
            aload 1 /* image */
            iload 2 /* dstOffset */
            iinc 2 /* dstOffset */ 1
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bgra_palette:[B
            iload 3 /* index */
            baload
            bastore
         4: .line 332
            iload 2 /* dstOffset */
            ireturn
        end local 3 // int index
        end local 2 // int dstOffset
        end local 1 // byte[] image
        end local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lcom/sun/javafx/iio/bmp/BMPImageLoader;
            0    5     1      image  [B
            0    5     2  dstOffset  I
            0    5     3      index  I
    MethodParameters:
           Name  Flags
      image      
      dstOffset  
      index      

  private void readPackedBits(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=17, args_size=4
        start local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
        start local 1 // byte[] image
        start local 2 // int rowLength
        start local 3 // int hght
         0: .line 338
            bipush 8
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biBitCount:S
            idiv
            istore 4 /* pixPerByte */
        start local 4 // int pixPerByte
         1: .line 339
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
            iload 4 /* pixPerByte */
            iadd
            iconst_1
            isub
            iload 4 /* pixPerByte */
            idiv
            istore 5 /* bytesPerLine */
        start local 5 // int bytesPerLine
         2: .line 340
            iload 5 /* bytesPerLine */
            iconst_3
            iadd
            bipush -4
            iand
            istore 6 /* srcStride */
        start local 6 // int srcStride
         3: .line 341
            iconst_1
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biBitCount:S
            ishl
            iconst_1
            isub
            istore 7 /* bitMask */
        start local 7 // int bitMask
         4: .line 343
            iload 6 /* srcStride */
            newarray 8
            astore 8 /* lineBuf */
        start local 8 // byte[] lineBuf
         5: .line 344
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         6: goto 22
         7: .line 345
      StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int int int int int int byte[] int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
            getfield com.sun.javafx.iio.bmp.LEInputStream.in:Ljava/io/InputStream;
            aload 8 /* lineBuf */
            invokestatic com.sun.javafx.iio.common.ImageTools.readFully:(Ljava/io/InputStream;[B)I
            pop
         8: .line 346
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biHeight:I
            ifge 9
            iload 9 /* i */
            goto 10
      StackMap locals:
      StackMap stack:
         9: iload 3 /* hght */
            iload 9 /* i */
            isub
            iconst_1
            isub
      StackMap locals:
      StackMap stack: int
        10: istore 10 /* line */
        start local 10 // int line
        11: .line 347
            iload 10 /* line */
            iload 2 /* rowLength */
            imul
            istore 11 /* dstOffset */
        start local 11 // int dstOffset
        12: .line 349
            iconst_0
            istore 12 /* x */
        start local 12 // int x
        13: goto 20
        14: .line 350
      StackMap locals: int int int
      StackMap stack:
            iload 12 /* x */
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biBitCount:S
            imul
            istore 13 /* bitnum */
        start local 13 // int bitnum
        15: .line 351
            aload 8 /* lineBuf */
            iload 13 /* bitnum */
            bipush 8
            idiv
            baload
            istore 14 /* element */
        start local 14 // int element
        16: .line 352
            bipush 8
            iload 13 /* bitnum */
            bipush 7
            iand
            isub
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biBitCount:S
            isub
            istore 15 /* shift */
        start local 15 // int shift
        17: .line 353
            iload 14 /* element */
            iload 15 /* shift */
            ishr
            iload 7 /* bitMask */
            iand
            istore 16 /* index */
        start local 16 // int index
        18: .line 354
            aload 0 /* this */
            aload 1 /* image */
            iload 11 /* dstOffset */
            iload 16 /* index */
            invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.setRGBFromPalette:([BII)I
            istore 11 /* dstOffset */
        end local 16 // int index
        end local 15 // int shift
        end local 14 // int element
        end local 13 // int bitnum
        19: .line 349
            iinc 12 /* x */ 1
      StackMap locals:
      StackMap stack:
        20: iload 12 /* x */
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
            if_icmpne 14
        end local 12 // int x
        end local 11 // int dstOffset
        end local 10 // int line
        21: .line 344
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 9 /* i */
            iload 3 /* hght */
            if_icmpne 7
        end local 9 // int i
        23: .line 357
            return
        end local 8 // byte[] lineBuf
        end local 7 // int bitMask
        end local 6 // int srcStride
        end local 5 // int bytesPerLine
        end local 4 // int pixPerByte
        end local 3 // int hght
        end local 2 // int rowLength
        end local 1 // byte[] image
        end local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   24     0          this  Lcom/sun/javafx/iio/bmp/BMPImageLoader;
            0   24     1         image  [B
            0   24     2     rowLength  I
            0   24     3          hght  I
            1   24     4    pixPerByte  I
            2   24     5  bytesPerLine  I
            3   24     6     srcStride  I
            4   24     7       bitMask  I
            5   24     8       lineBuf  [B
            6   23     9             i  I
           11   21    10          line  I
           12   21    11     dstOffset  I
           13   21    12             x  I
           15   19    13        bitnum  I
           16   19    14       element  I
           17   19    15         shift  I
           18   19    16         index  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      image      
      rowLength  
      hght       

  private static int getDWord(byte[], int);
    descriptor: ([BI)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // byte[] buf
        start local 1 // int pos
         0: .line 360
            aload 0 /* buf */
            iload 1 /* pos */
            baload
            sipush 255
            iand
         1: .line 361
            aload 0 /* buf */
            iload 1 /* pos */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            bipush 8
            ishl
         2: .line 360
            ior
         3: .line 362
            aload 0 /* buf */
            iload 1 /* pos */
            iconst_2
            iadd
            baload
            sipush 255
            iand
            bipush 16
            ishl
         4: .line 360
            ior
         5: .line 363
            aload 0 /* buf */
            iload 1 /* pos */
            iconst_3
            iadd
            baload
            sipush 255
            iand
            bipush 24
            ishl
         6: .line 360
            ior
            ireturn
        end local 1 // int pos
        end local 0 // byte[] buf
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   buf  [B
            0    7     1   pos  I
    MethodParameters:
      Name  Flags
      buf   
      pos   

  private static int getWord(byte[], int);
    descriptor: ([BI)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // byte[] buf
        start local 1 // int pos
         0: .line 367
            aload 0 /* buf */
            iload 1 /* pos */
            baload
            sipush 255
            iand
         1: .line 368
            aload 0 /* buf */
            iload 1 /* pos */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            bipush 8
            ishl
         2: .line 367
            ior
            ireturn
        end local 1 // int pos
        end local 0 // byte[] buf
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   buf  [B
            0    3     1   pos  I
    MethodParameters:
      Name  Flags
      buf   
      pos   

  private static int getByte(byte[], int);
    descriptor: ([BI)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // byte[] buf
        start local 1 // int pos
         0: .line 372
            aload 0 /* buf */
            iload 1 /* pos */
            baload
            sipush 255
            iand
            ireturn
        end local 1 // int pos
        end local 0 // byte[] buf
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   buf  [B
            0    1     1   pos  I
    MethodParameters:
      Name  Flags
      buf   
      pos   

  private static byte convertFrom5To8Bit(int, int, int);
    descriptor: (III)B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // int i
        start local 1 // int mask
        start local 2 // int offset
         0: .line 381
            iload 0 /* i */
            iload 1 /* mask */
            iand
            iload 2 /* offset */
            iushr
            istore 3 /* b */
        start local 3 // int b
         1: .line 382
            iload 3 /* b */
            iconst_3
            ishl
            iload 3 /* b */
            iconst_2
            ishr
            ior
            i2b
            ireturn
        end local 3 // int b
        end local 2 // int offset
        end local 1 // int mask
        end local 0 // int i
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0       i  I
            0    2     1    mask  I
            0    2     2  offset  I
            1    2     3       b  I
    MethodParameters:
        Name  Flags
      i       
      mask    
      offset  

  private static byte convertFromXTo8Bit(int, int, int);
    descriptor: (III)B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // int i
        start local 1 // int mask
        start local 2 // int offset
         0: .line 386
            iload 0 /* i */
            iload 1 /* mask */
            iand
            iload 2 /* offset */
            iushr
            istore 3 /* b */
        start local 3 // int b
         1: .line 387
            iload 3 /* b */
            i2d
            ldc 255.0
            dmul
            iload 1 /* mask */
            iload 2 /* offset */
            iushr
            i2d
            ddiv
            d2i
            i2b
            ireturn
        end local 3 // int b
        end local 2 // int offset
        end local 1 // int mask
        end local 0 // int i
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0       i  I
            0    2     1    mask  I
            0    2     2  offset  I
            1    2     3       b  I
    MethodParameters:
        Name  Flags
      i       
      mask    
      offset  

  private void read16Bit(byte[], int, int, com.sun.javafx.iio.bmp.BMPImageLoader$BitConverter);
    descriptor: ([BIILcom/sun/javafx/iio/bmp/BMPImageLoader$BitConverter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=14, args_size=5
        start local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
        start local 1 // byte[] image
        start local 2 // int rowLength
        start local 3 // int hght
        start local 4 // com.sun.javafx.iio.bmp.BMPImageLoader$BitConverter converter
         0: .line 393
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
            iconst_2
            imul
            istore 5 /* bytesPerLine */
        start local 5 // int bytesPerLine
         1: .line 394
            iload 5 /* bytesPerLine */
            iconst_3
            iadd
            bipush -4
            iand
            istore 6 /* srcStride */
        start local 6 // int srcStride
         2: .line 395
            iload 6 /* srcStride */
            newarray 8
            astore 7 /* lineBuf */
        start local 7 // byte[] lineBuf
         3: .line 396
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         4: goto 23
         5: .line 397
      StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int int com.sun.javafx.iio.bmp.BMPImageLoader$BitConverter int int byte[] int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
            getfield com.sun.javafx.iio.bmp.LEInputStream.in:Ljava/io/InputStream;
            aload 7 /* lineBuf */
            invokestatic com.sun.javafx.iio.common.ImageTools.readFully:(Ljava/io/InputStream;[B)I
            pop
         6: .line 398
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biHeight:I
            ifge 7
            iload 8 /* i */
            goto 8
      StackMap locals:
      StackMap stack:
         7: iload 3 /* hght */
            iload 8 /* i */
            isub
            iconst_1
            isub
      StackMap locals:
      StackMap stack: int
         8: istore 9 /* line */
        start local 9 // int line
         9: .line 399
            iload 9 /* line */
            iload 2 /* rowLength */
            imul
            istore 10 /* dstOffset */
        start local 10 // int dstOffset
        10: .line 401
            iconst_0
            istore 11 /* x */
        start local 11 // int x
        11: goto 21
        12: .line 402
      StackMap locals: int int int
      StackMap stack:
            aload 7 /* lineBuf */
            iload 11 /* x */
            iconst_2
            imul
            invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.getWord:([BI)I
            istore 12 /* element */
        start local 12 // int element
        13: .line 403
            iconst_0
            istore 13 /* j */
        start local 13 // int j
        14: goto 19
        15: .line 404
      StackMap locals: int int
      StackMap stack:
            aload 1 /* image */
            iload 10 /* dstOffset */
            iinc 10 /* dstOffset */ 1
        16: .line 405
            aload 4 /* converter */
            iload 12 /* element */
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bitMasks:[I
            iload 13 /* j */
            iaload
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bitOffsets:[I
            iload 13 /* j */
            iaload
            invokeinterface com.sun.javafx.iio.bmp.BMPImageLoader$BitConverter.convert:(III)B
        17: .line 404
            bastore
        18: .line 403
            iinc 13 /* j */ 1
      StackMap locals:
      StackMap stack:
        19: iload 13 /* j */
            iconst_3
            if_icmplt 15
        end local 13 // int j
        end local 12 // int element
        20: .line 401
            iinc 11 /* x */ 1
      StackMap locals:
      StackMap stack:
        21: iload 11 /* x */
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
            if_icmpne 12
        end local 11 // int x
        end local 10 // int dstOffset
        end local 9 // int line
        22: .line 396
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 8 /* i */
            iload 3 /* hght */
            if_icmpne 5
        end local 8 // int i
        24: .line 409
            return
        end local 7 // byte[] lineBuf
        end local 6 // int srcStride
        end local 5 // int bytesPerLine
        end local 4 // com.sun.javafx.iio.bmp.BMPImageLoader$BitConverter converter
        end local 3 // int hght
        end local 2 // int rowLength
        end local 1 // byte[] image
        end local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   25     0          this  Lcom/sun/javafx/iio/bmp/BMPImageLoader;
            0   25     1         image  [B
            0   25     2     rowLength  I
            0   25     3          hght  I
            0   25     4     converter  Lcom/sun/javafx/iio/bmp/BMPImageLoader$BitConverter;
            1   25     5  bytesPerLine  I
            2   25     6     srcStride  I
            3   25     7       lineBuf  [B
            4   24     8             i  I
            9   22     9          line  I
           10   22    10     dstOffset  I
           11   22    11             x  I
           13   20    12       element  I
           14   20    13             j  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      image      
      rowLength  
      hght       
      converter  

  private void read32BitRGB(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=4
        start local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
        start local 1 // byte[] image
        start local 2 // int rowLength
        start local 3 // int hght
         0: .line 412
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
            iconst_4
            imul
            istore 4 /* bytesPerLine */
        start local 4 // int bytesPerLine
         1: .line 413
            iload 4 /* bytesPerLine */
            newarray 8
            astore 5 /* lineBuf */
        start local 5 // byte[] lineBuf
         2: .line 414
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 18
         4: .line 415
      StackMap locals: int byte[] int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
            getfield com.sun.javafx.iio.bmp.LEInputStream.in:Ljava/io/InputStream;
            aload 5 /* lineBuf */
            invokestatic com.sun.javafx.iio.common.ImageTools.readFully:(Ljava/io/InputStream;[B)I
            pop
         5: .line 416
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biHeight:I
            ifge 6
            iload 6 /* i */
            goto 7
      StackMap locals:
      StackMap stack:
         6: iload 3 /* hght */
            iload 6 /* i */
            isub
            iconst_1
            isub
      StackMap locals:
      StackMap stack: int
         7: istore 7 /* line */
        start local 7 // int line
         8: .line 417
            iload 7 /* line */
            iload 2 /* rowLength */
            imul
            istore 8 /* dstOff */
        start local 8 // int dstOff
         9: .line 419
            iconst_0
            istore 9 /* x */
        start local 9 // int x
        10: goto 16
        11: .line 420
      StackMap locals: int int int
      StackMap stack:
            iload 9 /* x */
            iconst_4
            imul
            istore 10 /* srcOff */
        start local 10 // int srcOff
        12: .line 421
            aload 1 /* image */
            iload 8 /* dstOff */
            iinc 8 /* dstOff */ 1
            aload 5 /* lineBuf */
            iload 10 /* srcOff */
            iconst_2
            iadd
            baload
            bastore
        13: .line 422
            aload 1 /* image */
            iload 8 /* dstOff */
            iinc 8 /* dstOff */ 1
            aload 5 /* lineBuf */
            iload 10 /* srcOff */
            iconst_1
            iadd
            baload
            bastore
        14: .line 423
            aload 1 /* image */
            iload 8 /* dstOff */
            iinc 8 /* dstOff */ 1
            aload 5 /* lineBuf */
            iload 10 /* srcOff */
            baload
            bastore
        end local 10 // int srcOff
        15: .line 419
            iinc 9 /* x */ 1
      StackMap locals:
      StackMap stack:
        16: iload 9 /* x */
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
            if_icmpne 11
        end local 9 // int x
        end local 8 // int dstOff
        end local 7 // int line
        17: .line 414
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* i */
            iload 3 /* hght */
            if_icmpne 4
        end local 6 // int i
        19: .line 426
            return
        end local 5 // byte[] lineBuf
        end local 4 // int bytesPerLine
        end local 3 // int hght
        end local 2 // int rowLength
        end local 1 // byte[] image
        end local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0          this  Lcom/sun/javafx/iio/bmp/BMPImageLoader;
            0   20     1         image  [B
            0   20     2     rowLength  I
            0   20     3          hght  I
            1   20     4  bytesPerLine  I
            2   20     5       lineBuf  [B
            3   19     6             i  I
            8   17     7          line  I
            9   17     8        dstOff  I
           10   17     9             x  I
           12   15    10        srcOff  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      image      
      rowLength  
      hght       

  private void read32BitBF(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=13, args_size=4
        start local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
        start local 1 // byte[] image
        start local 2 // int rowLength
        start local 3 // int hght
         0: .line 429
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
            iconst_4
            imul
            istore 4 /* bytesPerLine */
        start local 4 // int bytesPerLine
         1: .line 430
            iload 4 /* bytesPerLine */
            newarray 8
            astore 5 /* lineBuf */
        start local 5 // byte[] lineBuf
         2: .line 431
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 23
         4: .line 432
      StackMap locals: int byte[] int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
            getfield com.sun.javafx.iio.bmp.LEInputStream.in:Ljava/io/InputStream;
            aload 5 /* lineBuf */
            invokestatic com.sun.javafx.iio.common.ImageTools.readFully:(Ljava/io/InputStream;[B)I
            pop
         5: .line 433
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biHeight:I
            ifge 6
            iload 6 /* i */
            goto 7
      StackMap locals:
      StackMap stack:
         6: iload 3 /* hght */
            iload 6 /* i */
            isub
            iconst_1
            isub
      StackMap locals:
      StackMap stack: int
         7: istore 7 /* line */
        start local 7 // int line
         8: .line 434
            iload 7 /* line */
            iload 2 /* rowLength */
            imul
            istore 8 /* dstOff */
        start local 8 // int dstOff
         9: .line 436
            iconst_0
            istore 9 /* x */
        start local 9 // int x
        10: goto 21
        11: .line 437
      StackMap locals: int int int
      StackMap stack:
            iload 9 /* x */
            iconst_4
            imul
            istore 10 /* srcOff */
        start local 10 // int srcOff
        12: .line 438
            aload 5 /* lineBuf */
            iload 10 /* srcOff */
            invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.getDWord:([BI)I
            istore 11 /* element */
        start local 11 // int element
        13: .line 439
            iconst_0
            istore 12 /* j */
        start local 12 // int j
        14: goto 19
        15: .line 440
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* image */
            iload 8 /* dstOff */
            iinc 8 /* dstOff */ 1
        16: .line 441
            iload 11 /* element */
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bitMasks:[I
            iload 12 /* j */
            iaload
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bitOffsets:[I
            iload 12 /* j */
            iaload
            invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.convertFromXTo8Bit:(III)B
        17: .line 440
            bastore
        18: .line 439
            iinc 12 /* j */ 1
      StackMap locals:
      StackMap stack:
        19: iload 12 /* j */
            iconst_3
            if_icmplt 15
        end local 12 // int j
        end local 11 // int element
        end local 10 // int srcOff
        20: .line 436
            iinc 9 /* x */ 1
      StackMap locals:
      StackMap stack:
        21: iload 9 /* x */
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
            if_icmpne 11
        end local 9 // int x
        end local 8 // int dstOff
        end local 7 // int line
        22: .line 431
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 6 /* i */
            iload 3 /* hght */
            if_icmpne 4
        end local 6 // int i
        24: .line 445
            return
        end local 5 // byte[] lineBuf
        end local 4 // int bytesPerLine
        end local 3 // int hght
        end local 2 // int rowLength
        end local 1 // byte[] image
        end local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   25     0          this  Lcom/sun/javafx/iio/bmp/BMPImageLoader;
            0   25     1         image  [B
            0   25     2     rowLength  I
            0   25     3          hght  I
            1   25     4  bytesPerLine  I
            2   25     5       lineBuf  [B
            3   24     6             i  I
            8   22     7          line  I
            9   22     8        dstOff  I
           10   22     9             x  I
           12   20    10        srcOff  I
           13   20    11       element  I
           14   20    12             j  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      image      
      rowLength  
      hght       

  private void read24Bit(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
        start local 1 // byte[] image
        start local 2 // int rowLength
        start local 3 // int hght
         0: .line 448
            iload 2 /* rowLength */
            iconst_3
            iadd
            bipush -4
            iand
            istore 4 /* bmpStride */
        start local 4 // int bmpStride
         1: .line 449
            iload 4 /* bmpStride */
            iload 2 /* rowLength */
            isub
            istore 5 /* padding */
        start local 5 // int padding
         2: .line 451
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 12
         4: .line 452
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biHeight:I
            ifge 5
            iload 6 /* i */
            goto 6
      StackMap locals:
      StackMap stack:
         5: iload 3 /* hght */
            iload 6 /* i */
            isub
            iconst_1
            isub
      StackMap locals:
      StackMap stack: int
         6: istore 7 /* line */
        start local 7 // int line
         7: .line 453
            iload 7 /* line */
            iload 2 /* rowLength */
            imul
            istore 8 /* lineOffset */
        start local 8 // int lineOffset
         8: .line 454
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
            getfield com.sun.javafx.iio.bmp.LEInputStream.in:Ljava/io/InputStream;
            aload 1 /* image */
            iload 8 /* lineOffset */
            iload 2 /* rowLength */
            invokestatic com.sun.javafx.iio.common.ImageTools.readFully:(Ljava/io/InputStream;[BII)I
            pop
         9: .line 455
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
            iload 5 /* padding */
            invokevirtual com.sun.javafx.iio.bmp.LEInputStream.skipBytes:(I)V
        10: .line 456
            aload 1 /* image */
            iload 8 /* lineOffset */
            iload 2 /* rowLength */
            invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.BGRtoRGB:([BII)V
        end local 8 // int lineOffset
        end local 7 // int line
        11: .line 451
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* i */
            iload 3 /* hght */
            if_icmpne 4
        end local 6 // int i
        13: .line 458
            return
        end local 5 // int padding
        end local 4 // int bmpStride
        end local 3 // int hght
        end local 2 // int rowLength
        end local 1 // byte[] image
        end local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lcom/sun/javafx/iio/bmp/BMPImageLoader;
            0   14     1       image  [B
            0   14     2   rowLength  I
            0   14     3        hght  I
            1   14     4   bmpStride  I
            2   14     5     padding  I
            3   13     6           i  I
            7   11     7        line  I
            8   11     8  lineOffset  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      image      
      rowLength  
      hght       

  static void BGRtoRGB(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // byte[] data
        start local 1 // int pos
        start local 2 // int size
         0: .line 461
            iload 2 /* size */
            iconst_3
            idiv
            istore 3 /* sz */
        start local 3 // int sz
         1: goto 7
         2: .line 462
      StackMap locals: int
      StackMap stack:
            aload 0 /* data */
            iload 1 /* pos */
            baload
            istore 4 /* b */
        start local 4 // byte b
         3: aload 0 /* data */
            iload 1 /* pos */
            iconst_2
            iadd
            baload
            istore 5 /* r */
        start local 5 // byte r
         4: .line 463
            aload 0 /* data */
            iload 1 /* pos */
            iconst_2
            iadd
            iload 4 /* b */
            bastore
            aload 0 /* data */
            iload 1 /* pos */
            iload 5 /* r */
            bastore
         5: .line 464
            iinc 1 /* pos */ 3
        end local 5 // byte r
        end local 4 // byte b
         6: .line 461
            iinc 3 /* sz */ -1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* sz */
            ifne 2
        end local 3 // int sz
         8: .line 466
            return
        end local 2 // int size
        end local 1 // int pos
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  data  [B
            0    9     1   pos  I
            0    9     2  size  I
            1    8     3    sz  I
            3    6     4     b  B
            4    6     5     r  B
    MethodParameters:
      Name  Flags
      data  
      pos   
      size  

  public com.sun.javafx.iio.ImageFrame load(int, int, int, boolean, boolean);
    descriptor: (IIIZZ)Lcom/sun/javafx/iio/ImageFrame;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=14, locals=13, args_size=6
        start local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
        start local 1 // int imageIndex
        start local 2 // int width
        start local 3 // int height
        start local 4 // boolean preserveAspectRatio
        start local 5 // boolean smooth
         0: .line 471
            iload 1 /* imageIndex */
            ifeq 2
         1: .line 472
            aconst_null
            areturn
         2: .line 475
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biHeight:I
            invokestatic java.lang.Math.abs:(I)I
            istore 6 /* hght */
        start local 6 // int hght
         3: .line 477
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
            iload 6 /* hght */
            iload 2 /* width */
            iload 3 /* height */
            iload 4 /* preserveAspectRatio */
            invokestatic com.sun.javafx.iio.common.ImageTools.computeDimensions:(IIIIZ)[I
            astore 7 /* outWH */
        start local 7 // int[] outWH
         4: .line 478
            aload 7 /* outWH */
            iconst_0
            iaload
            istore 2 /* width */
         5: .line 479
            aload 7 /* outWH */
            iconst_1
            iaload
            istore 3 /* height */
         6: .line 482
            new com.sun.javafx.iio.ImageMetadata
            dup
            aconst_null
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
         7: .line 483
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            iload 2 /* width */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 3 /* height */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         8: .line 484
            aconst_null
            aconst_null
            aconst_null
         9: .line 482
            invokespecial com.sun.javafx.iio.ImageMetadata.<init>:(Ljava/lang/Float;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)V
            astore 8 /* imageMetadata */
        start local 8 // com.sun.javafx.iio.ImageMetadata imageMetadata
        10: .line 485
            aload 0 /* this */
            aload 8 /* imageMetadata */
            invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.updateImageMetadata:(Lcom/sun/javafx/iio/ImageMetadata;)V
        11: .line 487
            iconst_3
            istore 9 /* bpp */
        start local 9 // int bpp
        12: .line 488
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
            iload 9 /* bpp */
            imul
            istore 10 /* stride */
        start local 10 // int stride
        13: .line 490
            iload 10 /* stride */
            iload 6 /* hght */
            imul
            newarray 8
            astore 11 /* image */
        start local 11 // byte[] image
        14: .line 492
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biBitCount:S
            lookupswitch { // 6
                    1: 15
                    4: 17
                    8: 22
                   16: 27
                   24: 37
                   32: 32
              default: 39
          }
        15: .line 494
      StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader int int int int int int int[] com.sun.javafx.iio.ImageMetadata int int byte[]
      StackMap stack:
            aload 0 /* this */
            aload 11 /* image */
            iload 10 /* stride */
            iload 6 /* hght */
            invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.readPackedBits:([BII)V
        16: .line 495
            goto 40
        17: .line 497
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biCompression:I
            iconst_2
            if_icmpne 20
        18: .line 498
            aload 0 /* this */
            aload 11 /* image */
            iload 10 /* stride */
            iload 6 /* hght */
            iconst_1
            invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.readRLE:([BIIZ)V
        19: .line 499
            goto 40
        20: .line 500
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* image */
            iload 10 /* stride */
            iload 6 /* hght */
            invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.readPackedBits:([BII)V
        21: .line 502
            goto 40
        22: .line 504
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biCompression:I
            iconst_1
            if_icmpne 25
        23: .line 505
            aload 0 /* this */
            aload 11 /* image */
            iload 10 /* stride */
            iload 6 /* hght */
            iconst_0
            invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.readRLE:([BIIZ)V
        24: .line 506
            goto 40
        25: .line 507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* image */
            iload 10 /* stride */
            iload 6 /* hght */
            invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.readPackedBits:([BII)V
        26: .line 509
            goto 40
        27: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biCompression:I
            iconst_3
            if_icmpne 30
        28: .line 512
            aload 0 /* this */
            aload 11 /* image */
            iload 10 /* stride */
            iload 6 /* hght */
            invokedynamic convert()Lcom/sun/javafx/iio/bmp/BMPImageLoader$BitConverter;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (III)B
                  com/sun/javafx/iio/bmp/BMPImageLoader.convertFromXTo8Bit(III)B (6)
                  (III)B
            invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.read16Bit:([BIILcom/sun/javafx/iio/bmp/BMPImageLoader$BitConverter;)V
        29: .line 513
            goto 40
        30: .line 514
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* image */
            iload 10 /* stride */
            iload 6 /* hght */
            invokedynamic convert()Lcom/sun/javafx/iio/bmp/BMPImageLoader$BitConverter;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (III)B
                  com/sun/javafx/iio/bmp/BMPImageLoader.convertFrom5To8Bit(III)B (6)
                  (III)B
            invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.read16Bit:([BIILcom/sun/javafx/iio/bmp/BMPImageLoader$BitConverter;)V
        31: .line 516
            goto 40
        32: .line 518
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biCompression:I
            iconst_3
            if_icmpne 35
        33: .line 519
            aload 0 /* this */
            aload 11 /* image */
            iload 10 /* stride */
            iload 6 /* hght */
            invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.read32BitBF:([BII)V
        34: .line 520
            goto 40
        35: .line 521
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* image */
            iload 10 /* stride */
            iload 6 /* hght */
            invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.read32BitRGB:([BII)V
        36: .line 523
            goto 40
        37: .line 525
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* image */
            iload 10 /* stride */
            iload 6 /* hght */
            invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.read24Bit:([BII)V
        38: .line 526
            goto 40
        39: .line 528
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "Unknown BMP bit depth"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        40: .line 531
      StackMap locals:
      StackMap stack:
            aload 11 /* image */
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            astore 12 /* img */
        start local 12 // java.nio.ByteBuffer img
        41: .line 532
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
            iload 2 /* width */
            if_icmpne 42
            iload 6 /* hght */
            iload 3 /* height */
            if_icmpeq 45
        42: .line 533
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 12 /* img */
            aload 0 /* this */
            getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
            getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
            iload 6 /* hght */
            iload 9 /* bpp */
        43: .line 534
            iload 2 /* width */
            iload 3 /* height */
            iload 5 /* smooth */
        44: .line 533
            invokestatic com.sun.javafx.iio.common.ImageTools.scaleImage:(Ljava/nio/ByteBuffer;IIIIIZ)Ljava/nio/ByteBuffer;
            astore 12 /* img */
        45: .line 537
      StackMap locals:
      StackMap stack:
            new com.sun.javafx.iio.ImageFrame
            dup
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.RGB:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            aload 12 /* img */
        46: .line 538
            iload 2 /* width */
            iload 3 /* height */
            iload 2 /* width */
            iload 9 /* bpp */
            imul
            aconst_null
            aload 8 /* imageMetadata */
        47: .line 537
            invokespecial com.sun.javafx.iio.ImageFrame.<init>:(Lcom/sun/javafx/iio/ImageStorage$ImageType;Ljava/nio/ByteBuffer;III[[BLcom/sun/javafx/iio/ImageMetadata;)V
            areturn
        end local 12 // java.nio.ByteBuffer img
        end local 11 // byte[] image
        end local 10 // int stride
        end local 9 // int bpp
        end local 8 // com.sun.javafx.iio.ImageMetadata imageMetadata
        end local 7 // int[] outWH
        end local 6 // int hght
        end local 5 // boolean smooth
        end local 4 // boolean preserveAspectRatio
        end local 3 // int height
        end local 2 // int width
        end local 1 // int imageIndex
        end local 0 // com.sun.javafx.iio.bmp.BMPImageLoader this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   48     0                 this  Lcom/sun/javafx/iio/bmp/BMPImageLoader;
            0   48     1           imageIndex  I
            0   48     2                width  I
            0   48     3               height  I
            0   48     4  preserveAspectRatio  Z
            0   48     5               smooth  Z
            3   48     6                 hght  I
            4   48     7                outWH  [I
           10   48     8        imageMetadata  Lcom/sun/javafx/iio/ImageMetadata;
           12   48     9                  bpp  I
           13   48    10               stride  I
           14   48    11                image  [B
           41   48    12                  img  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                     Name  Flags
      imageIndex           
      width                
      height               
      preserveAspectRatio  
      smooth               
}
SourceFile: "BMPImageLoaderFactory.java"
NestMembers:
  com.sun.javafx.iio.bmp.BMPImageLoader$BitConverter
InnerClasses:
  public final ImageType = com.sun.javafx.iio.ImageStorage$ImageType of com.sun.javafx.iio.ImageStorage
  private abstract BitConverter = com.sun.javafx.iio.bmp.BMPImageLoader$BitConverter of com.sun.javafx.iio.bmp.BMPImageLoader
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles