class com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette extends com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbUncompressed
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette
  super_class: com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbUncompressed
{
  private static final int PALETTE_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 768

  final com.sun.imageio.plugins.jpeg.JFIFMarkerSegment this$0;
    descriptor: Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.sun.imageio.plugins.jpeg.JFIFMarkerSegment, com.sun.imageio.plugins.jpeg.JPEGBuffer, int, int);
    descriptor: (Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;Lcom/sun/imageio/plugins/jpeg/JPEGBuffer;II)V
    flags: (0x0000) 
    Code:
      stack=8, locals=5, args_size=5
        start local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette this
        start local 2 // com.sun.imageio.plugins.jpeg.JPEGBuffer buffer
        start local 3 // int width
        start local 4 // int height
         0: .line 1033
            aload 0 /* this */
            aload 1
            putfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette.this$0:Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
         1: .line 1034
            aload 0 /* this */
            aload 1
            aload 2 /* buffer */
         2: .line 1035
            iload 3 /* width */
         3: .line 1036
            iload 4 /* height */
         4: .line 1037
            sipush 768
            iload 3 /* width */
            iload 4 /* height */
            imul
            iadd
         5: .line 1038
            ldc "JFIFThumbPalette"
            invokespecial com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbUncompressed.<init>:(Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;Lcom/sun/imageio/plugins/jpeg/JPEGBuffer;IIILjava/lang/String;)V
         6: .line 1039
            return
        end local 4 // int height
        end local 3 // int width
        end local 2 // com.sun.imageio.plugins.jpeg.JPEGBuffer buffer
        end local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$JFIFThumbPalette;
            0    7     2  buffer  Lcom/sun/imageio/plugins/jpeg/JPEGBuffer;
            0    7     3   width  I
            0    7     4  height  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      this$0  final
      buffer  
      width   
      height  

  void <init>(com.sun.imageio.plugins.jpeg.JFIFMarkerSegment, Node);
    descriptor: (Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;LNode;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette this
         0: .line 59
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe import org.w3c cannot be resolved\n\tThe import org.w3c cannot be resolved\n\tThe import org.w3c cannot be resolved\n\tNode cannot be resolved to a type\n\tThe method appendChild(Node) from the type IIOMetadataNode refers to the missing type Node\n\tThe method appendChild(Node) from the type IIOMetadataNode refers to the missing type Node\n\tThe method appendChild(Node) from the type IIOMetadataNode refers to the missing type Node\n\tNode cannot be resolved to a type\n\tNamedNodeMap cannot be resolved to a type\n\tNodeList cannot be resolved to a type\n\tNode cannot be resolved to a type\n\tNodeList cannot be resolved to a type\n\tNode cannot be resolved to a type\n\tNode cannot be resolved to a type\n\tNamedNodeMap cannot be resolved to a type\n\tNode cannot be resolved to a type\n\tThe method appendChild(Node) from the type IIOMetadataNode refers to the missing type Node\n\tNode cannot be resolved to a type\n\tNamedNodeMap cannot be resolved to a type\n\tNode cannot be resolved to a type\n\tNode cannot be resolved to a type\n\tNode cannot be resolved to a type\n\tNode cannot be resolved to a type\n\tThe method appendChild(Node) from the type IIOMetadataNode refers to the missing type Node\n\tNode cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$JFIFThumbPalette;
    Exceptions:
      throws javax.imageio.metadata.IIOInvalidTreeException
    MethodParameters:
        Name  Flags
      this$0  final
      node    

  void <init>(com.sun.imageio.plugins.jpeg.JFIFMarkerSegment, java.awt.image.BufferedImage);
    descriptor: (Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;Ljava/awt/image/BufferedImage;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette this
        start local 2 // java.awt.image.BufferedImage thumb
         0: .line 1045
            aload 0 /* this */
            aload 1
            putfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette.this$0:Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
         1: .line 1046
            aload 0 /* this */
            aload 1
            aload 2 /* thumb */
            invokespecial com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbUncompressed.<init>:(Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;Ljava/awt/image/BufferedImage;)V
         2: .line 1047
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette.thumbnail:Ljava/awt/image/BufferedImage;
            invokevirtual java.awt.image.BufferedImage.getColorModel:()Ljava/awt/image/ColorModel;
            checkcast java.awt.image.IndexColorModel
            astore 3 /* icm */
        start local 3 // java.awt.image.IndexColorModel icm
         3: .line 1048
            aload 3 /* icm */
            invokevirtual java.awt.image.IndexColorModel.getMapSize:()I
            sipush 256
            if_icmple 5
         4: .line 1049
            new com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$IllegalThumbException
            dup
            aload 1
            invokespecial com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$IllegalThumbException.<init>:(Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;)V
            athrow
         5: .line 1051
      StackMap locals: com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette com.sun.imageio.plugins.jpeg.JFIFMarkerSegment java.awt.image.BufferedImage java.awt.image.IndexColorModel
      StackMap stack:
            return
        end local 3 // java.awt.image.IndexColorModel icm
        end local 2 // java.awt.image.BufferedImage thumb
        end local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$JFIFThumbPalette;
            0    6     2  thumb  Ljava/awt/image/BufferedImage;
            3    6     3    icm  Ljava/awt/image/IndexColorModel;
    Exceptions:
      throws com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$IllegalThumbException
    MethodParameters:
        Name  Flags
      this$0  final
      thumb   

  int getLength();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette this
         0: .line 1054
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette.thumbWidth:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette.thumbHeight:I
            imul
            sipush 768
            iadd
            ireturn
        end local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$JFIFThumbPalette;

  java.awt.image.BufferedImage getThumbnail(javax.imageio.stream.ImageInputStream, com.sun.imageio.plugins.jpeg.JPEGImageReader);
    descriptor: (Ljavax/imageio/stream/ImageInputStream;Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;)Ljava/awt/image/BufferedImage;
    flags: (0x0000) 
    Code:
      stack=7, locals=9, args_size=3
        start local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette this
        start local 1 // javax.imageio.stream.ImageInputStream iis
        start local 2 // com.sun.imageio.plugins.jpeg.JPEGImageReader reader
         0: .line 1060
            aload 1 /* iis */
            invokeinterface javax.imageio.stream.ImageInputStream.mark:()V
         1: .line 1061
            aload 1 /* iis */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette.streamPos:J
            invokeinterface javax.imageio.stream.ImageInputStream.seek:(J)V
         2: .line 1063
            sipush 768
            newarray 8
            astore 3 /* palette */
        start local 3 // byte[] palette
         3: .line 1064
            ldc 768.0
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette.getLength:()I
            i2f
            fdiv
            fstore 4 /* palettePart */
        start local 4 // float palettePart
         4: .line 1065
            aload 0 /* this */
            aload 1 /* iis */
         5: .line 1066
            aload 3 /* palette */
         6: .line 1067
            aload 2 /* reader */
         7: .line 1068
            fload 4 /* palettePart */
         8: .line 1069
            fconst_0
         9: .line 1065
            invokevirtual com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette.readByteBuffer:(Ljavax/imageio/stream/ImageInputStream;[BLcom/sun/imageio/plugins/jpeg/JPEGImageReader;FF)V
        10: .line 1070
            new java.awt.image.DataBufferByte
            dup
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette.thumbWidth:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette.thumbHeight:I
            imul
            invokespecial java.awt.image.DataBufferByte.<init>:(I)V
            astore 5 /* buffer */
        start local 5 // java.awt.image.DataBufferByte buffer
        11: .line 1071
            aload 0 /* this */
            aload 1 /* iis */
        12: .line 1072
            aload 5 /* buffer */
            invokevirtual java.awt.image.DataBufferByte.getData:()[B
        13: .line 1073
            aload 2 /* reader */
        14: .line 1074
            fconst_1
            fload 4 /* palettePart */
            fsub
        15: .line 1075
            fload 4 /* palettePart */
        16: .line 1071
            invokevirtual com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette.readByteBuffer:(Ljavax/imageio/stream/ImageInputStream;[BLcom/sun/imageio/plugins/jpeg/JPEGImageReader;FF)V
        17: .line 1076
            aload 1 /* iis */
            invokeinterface javax.imageio.stream.ImageInputStream.read:()I
            pop
        18: .line 1077
            aload 1 /* iis */
            invokeinterface javax.imageio.stream.ImageInputStream.reset:()V
        19: .line 1079
            new java.awt.image.IndexColorModel
            dup
            bipush 8
        20: .line 1080
            sipush 256
        21: .line 1081
            aload 3 /* palette */
        22: .line 1082
            iconst_0
        23: .line 1083
            iconst_0
        24: .line 1079
            invokespecial java.awt.image.IndexColorModel.<init>:(II[BIZ)V
            astore 6 /* cm */
        start local 6 // java.awt.image.IndexColorModel cm
        25: .line 1084
            aload 6 /* cm */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette.thumbWidth:I
        26: .line 1085
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette.thumbHeight:I
        27: .line 1084
            invokevirtual java.awt.image.IndexColorModel.createCompatibleSampleModel:(II)Ljava/awt/image/SampleModel;
            astore 7 /* sm */
        start local 7 // java.awt.image.SampleModel sm
        28: .line 1087
            aload 7 /* sm */
            aload 5 /* buffer */
            aconst_null
            invokestatic java.awt.image.Raster.createWritableRaster:(Ljava/awt/image/SampleModel;Ljava/awt/image/DataBuffer;Ljava/awt/Point;)Ljava/awt/image/WritableRaster;
        29: .line 1086
            astore 8 /* raster */
        start local 8 // java.awt.image.WritableRaster raster
        30: .line 1088
            new java.awt.image.BufferedImage
            dup
            aload 6 /* cm */
        31: .line 1089
            aload 8 /* raster */
        32: .line 1090
            iconst_0
        33: .line 1091
            aconst_null
        34: .line 1088
            invokespecial java.awt.image.BufferedImage.<init>:(Ljava/awt/image/ColorModel;Ljava/awt/image/WritableRaster;ZLjava/util/Hashtable;)V
            areturn
        end local 8 // java.awt.image.WritableRaster raster
        end local 7 // java.awt.image.SampleModel sm
        end local 6 // java.awt.image.IndexColorModel cm
        end local 5 // java.awt.image.DataBufferByte buffer
        end local 4 // float palettePart
        end local 3 // byte[] palette
        end local 2 // com.sun.imageio.plugins.jpeg.JPEGImageReader reader
        end local 1 // javax.imageio.stream.ImageInputStream iis
        end local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   35     0         this  Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$JFIFThumbPalette;
            0   35     1          iis  Ljavax/imageio/stream/ImageInputStream;
            0   35     2       reader  Lcom/sun/imageio/plugins/jpeg/JPEGImageReader;
            3   35     3      palette  [B
            4   35     4  palettePart  F
           11   35     5       buffer  Ljava/awt/image/DataBufferByte;
           25   35     6           cm  Ljava/awt/image/IndexColorModel;
           28   35     7           sm  Ljava/awt/image/SampleModel;
           30   35     8       raster  Ljava/awt/image/WritableRaster;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      iis     
      reader  

  void write(javax.imageio.stream.ImageOutputStream, com.sun.imageio.plugins.jpeg.JPEGImageWriter);
    descriptor: (Ljavax/imageio/stream/ImageOutputStream;Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette this
        start local 1 // javax.imageio.stream.ImageOutputStream ios
        start local 2 // com.sun.imageio.plugins.jpeg.JPEGImageWriter writer
         0: .line 1096
            aload 0 /* this */
            aload 1 /* ios */
            aload 2 /* writer */
            invokespecial com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbUncompressed.write:(Ljavax/imageio/stream/ImageOutputStream;Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;)V
         1: .line 1098
            sipush 768
            newarray 8
            astore 3 /* palette */
        start local 3 // byte[] palette
         2: .line 1099
            aload 0 /* this */
            getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette.thumbnail:Ljava/awt/image/BufferedImage;
            invokevirtual java.awt.image.BufferedImage.getColorModel:()Ljava/awt/image/ColorModel;
            checkcast java.awt.image.IndexColorModel
            astore 4 /* icm */
        start local 4 // java.awt.image.IndexColorModel icm
         3: .line 1100
            sipush 256
            newarray 8
            astore 5 /* reds */
        start local 5 // byte[] reds
         4: .line 1101
            sipush 256
            newarray 8
            astore 6 /* greens */
        start local 6 // byte[] greens
         5: .line 1102
            sipush 256
            newarray 8
            astore 7 /* blues */
        start local 7 // byte[] blues
         6: .line 1103
            aload 4 /* icm */
            aload 5 /* reds */
            invokevirtual java.awt.image.IndexColorModel.getReds:([B)V
         7: .line 1104
            aload 4 /* icm */
            aload 6 /* greens */
            invokevirtual java.awt.image.IndexColorModel.getGreens:([B)V
         8: .line 1105
            aload 4 /* icm */
            aload 7 /* blues */
            invokevirtual java.awt.image.IndexColorModel.getBlues:([B)V
         9: .line 1106
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        10: goto 15
        11: .line 1107
      StackMap locals: com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette javax.imageio.stream.ImageOutputStream com.sun.imageio.plugins.jpeg.JPEGImageWriter byte[] java.awt.image.IndexColorModel byte[] byte[] byte[] int
      StackMap stack:
            aload 3 /* palette */
            iload 8 /* i */
            iconst_3
            imul
            aload 5 /* reds */
            iload 8 /* i */
            baload
            bastore
        12: .line 1108
            aload 3 /* palette */
            iload 8 /* i */
            iconst_3
            imul
            iconst_1
            iadd
            aload 6 /* greens */
            iload 8 /* i */
            baload
            bastore
        13: .line 1109
            aload 3 /* palette */
            iload 8 /* i */
            iconst_3
            imul
            iconst_2
            iadd
            aload 7 /* blues */
            iload 8 /* i */
            baload
            bastore
        14: .line 1106
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 8 /* i */
            sipush 256
            if_icmplt 11
        end local 8 // int i
        16: .line 1111
            aload 1 /* ios */
            aload 3 /* palette */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([B)V
        17: .line 1112
            aload 0 /* this */
            aload 1 /* ios */
            aload 2 /* writer */
            invokevirtual com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette.writePixels:(Ljavax/imageio/stream/ImageOutputStream;Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;)V
        18: .line 1113
            return
        end local 7 // byte[] blues
        end local 6 // byte[] greens
        end local 5 // byte[] reds
        end local 4 // java.awt.image.IndexColorModel icm
        end local 3 // byte[] palette
        end local 2 // com.sun.imageio.plugins.jpeg.JPEGImageWriter writer
        end local 1 // javax.imageio.stream.ImageOutputStream ios
        end local 0 // com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0     this  Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$JFIFThumbPalette;
            0   19     1      ios  Ljavax/imageio/stream/ImageOutputStream;
            0   19     2   writer  Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
            2   19     3  palette  [B
            3   19     4      icm  Ljava/awt/image/IndexColorModel;
            4   19     5     reds  [B
            5   19     6   greens  [B
            6   19     7    blues  [B
           10   16     8        i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      ios     
      writer  
}
SourceFile: "JFIFMarkerSegment.java"
NestHost: com.sun.imageio.plugins.jpeg.JFIFMarkerSegment
InnerClasses:
  private IllegalThumbException = com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$IllegalThumbException of com.sun.imageio.plugins.jpeg.JFIFMarkerSegment
  JFIFThumbPalette = com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbPalette of com.sun.imageio.plugins.jpeg.JFIFMarkerSegment
  abstract JFIFThumbUncompressed = com.sun.imageio.plugins.jpeg.JFIFMarkerSegment$JFIFThumbUncompressed of com.sun.imageio.plugins.jpeg.JFIFMarkerSegment