public abstract class sun.awt.X11CustomCursor extends sun.awt.CustomCursor
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: sun.awt.X11CustomCursor
  super_class: sun.awt.CustomCursor
{
  public void <init>(java.awt.Image, java.awt.Point, java.lang.String);
    descriptor: (Ljava/awt/Image;Ljava/awt/Point;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // sun.awt.X11CustomCursor this
        start local 1 // java.awt.Image cursor
        start local 2 // java.awt.Point hotSpot
        start local 3 // java.lang.String name
         0: .line 43
            aload 0 /* this */
            aload 1 /* cursor */
            aload 2 /* hotSpot */
            aload 3 /* name */
            invokespecial sun.awt.CustomCursor.<init>:(Ljava/awt/Image;Ljava/awt/Point;Ljava/lang/String;)V
         1: .line 44
            return
        end local 3 // java.lang.String name
        end local 2 // java.awt.Point hotSpot
        end local 1 // java.awt.Image cursor
        end local 0 // sun.awt.X11CustomCursor this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lsun/awt/X11CustomCursor;
            0    2     1   cursor  Ljava/awt/Image;
            0    2     2  hotSpot  Ljava/awt/Point;
            0    2     3     name  Ljava/lang/String;
    Exceptions:
      throws java.lang.IndexOutOfBoundsException
    MethodParameters:
         Name  Flags
      cursor   
      hotSpot  
      name     

  protected void createNativeCursor(java.awt.Image, int[], int, int, int, int);
    descriptor: (Ljava/awt/Image;[IIIII)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=35, args_size=7
        start local 0 // sun.awt.X11CustomCursor this
        start local 1 // java.awt.Image im
        start local 2 // int[] pixels
        start local 3 // int width
        start local 4 // int height
        start local 5 // int xHotSpot
        start local 6 // int yHotSpot
         0: .line 63
            aload 2 /* pixels */
            arraylength
            newarray 10
            astore 7 /* tmp */
        start local 7 // int[] tmp
         1: .line 64
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         2: goto 8
         3: .line 65
      StackMap locals: int[] int
      StackMap stack:
            aload 2 /* pixels */
            iload 8 /* i */
            iaload
            ldc -16777216
            iand
            ifne 6
         4: .line 66
            aload 7 /* tmp */
            iload 8 /* i */
            iconst_m1
            iastore
         5: .line 67
            goto 7
         6: .line 68
      StackMap locals:
      StackMap stack:
            aload 7 /* tmp */
            iload 8 /* i */
            aload 2 /* pixels */
            iload 8 /* i */
            iaload
            ldc 16777215
            iand
            iastore
         7: .line 64
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 8 /* i */
            aload 2 /* pixels */
            arraylength
            if_icmplt 3
        end local 8 // int i
         9: .line 71
            aload 7 /* tmp */
            invokestatic java.util.Arrays.sort:([I)V
        10: .line 73
            iconst_0
            istore 8 /* fc */
        start local 8 // int fc
        11: .line 74
            ldc 16777215
            istore 9 /* bc */
        start local 9 // int bc
        12: .line 75
            aload 2 /* pixels */
            arraylength
            anewarray sun.awt.X11CustomCursor$1CCount
            astore 10 /* cols */
        start local 10 // sun.awt.X11CustomCursor$1CCount[] cols
        13: .line 77
            iconst_0
            istore 11 /* is */
        start local 11 // int is
        14: .line 78
            iconst_0
            istore 12 /* numColors */
        start local 12 // int numColors
        15: .line 79
            goto 20
        16: .line 80
      StackMap locals: sun.awt.X11CustomCursor java.awt.Image int[] int int int int int[] int int sun.awt.X11CustomCursor$1CCount[] int int
      StackMap stack:
            aload 7 /* tmp */
            iload 11 /* is */
            iaload
            iconst_m1
            if_icmpeq 19
        17: .line 81
            aload 10 /* cols */
            iload 12 /* numColors */
            iinc 12 /* numColors */ 1
            new sun.awt.X11CustomCursor$1CCount
            dup
            aload 0 /* this */
            aload 7 /* tmp */
            iload 11 /* is */
            iaload
            iconst_1
            invokespecial sun.awt.X11CustomCursor$1CCount.<init>:(Lsun/awt/X11CustomCursor;II)V
            aastore
        18: .line 82
            goto 21
        19: .line 84
      StackMap locals:
      StackMap stack:
            iinc 11 /* is */ 1
        20: .line 79
      StackMap locals:
      StackMap stack:
            iload 11 /* is */
            aload 2 /* pixels */
            arraylength
            if_icmplt 16
        21: .line 87
      StackMap locals:
      StackMap stack:
            iload 11 /* is */
            iconst_1
            iadd
            istore 13 /* i */
        start local 13 // int i
        22: goto 28
        23: .line 88
      StackMap locals: int
      StackMap stack:
            aload 7 /* tmp */
            iload 13 /* i */
            iaload
            aload 10 /* cols */
            iload 12 /* numColors */
            iconst_1
            isub
            aaload
            getfield sun.awt.X11CustomCursor$1CCount.color:I
            if_icmpeq 26
        24: .line 89
            aload 10 /* cols */
            iload 12 /* numColors */
            iinc 12 /* numColors */ 1
            new sun.awt.X11CustomCursor$1CCount
            dup
            aload 0 /* this */
            aload 7 /* tmp */
            iload 13 /* i */
            iaload
            iconst_1
            invokespecial sun.awt.X11CustomCursor$1CCount.<init>:(Lsun/awt/X11CustomCursor;II)V
            aastore
        25: .line 90
            goto 27
        26: .line 91
      StackMap locals:
      StackMap stack:
            aload 10 /* cols */
            iload 12 /* numColors */
            iconst_1
            isub
            aaload
            dup
            getfield sun.awt.X11CustomCursor$1CCount.count:I
            iconst_1
            iadd
            putfield sun.awt.X11CustomCursor$1CCount.count:I
        27: .line 87
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 13 /* i */
            aload 2 /* pixels */
            arraylength
            if_icmplt 23
        end local 13 // int i
        29: .line 94
            aload 10 /* cols */
            iconst_0
            iload 12 /* numColors */
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;II)V
        30: .line 96
            iload 12 /* numColors */
            ifle 31
            aload 10 /* cols */
            iconst_0
            aaload
            getfield sun.awt.X11CustomCursor$1CCount.color:I
            istore 8 /* fc */
        31: .line 97
      StackMap locals:
      StackMap stack:
            iload 8 /* fc */
            bipush 16
            ishr
            sipush 255
            iand
            istore 13 /* fcr */
        start local 13 // int fcr
        32: .line 98
            iload 8 /* fc */
            bipush 8
            ishr
            sipush 255
            iand
            istore 14 /* fcg */
        start local 14 // int fcg
        33: .line 99
            iload 8 /* fc */
            iconst_0
            ishr
            sipush 255
            iand
            istore 15 /* fcb */
        start local 15 // int fcb
        34: .line 101
            iconst_0
            istore 16 /* rdis */
        start local 16 // int rdis
        35: .line 102
            iconst_0
            istore 17 /* gdis */
        start local 17 // int gdis
        36: .line 103
            iconst_0
            istore 18 /* bdis */
        start local 18 // int bdis
        37: .line 104
            iconst_1
            istore 19 /* j */
        start local 19 // int j
        38: goto 46
        39: .line 105
      StackMap locals: sun.awt.X11CustomCursor java.awt.Image int[] int int int int int[] int int sun.awt.X11CustomCursor$1CCount[] int int int int int int int int int
      StackMap stack:
            aload 10 /* cols */
            iload 19 /* j */
            aaload
            getfield sun.awt.X11CustomCursor$1CCount.color:I
            bipush 16
            ishr
            sipush 255
            iand
            istore 20 /* rr */
        start local 20 // int rr
        40: .line 106
            aload 10 /* cols */
            iload 19 /* j */
            aaload
            getfield sun.awt.X11CustomCursor$1CCount.color:I
            bipush 8
            ishr
            sipush 255
            iand
            istore 21 /* gg */
        start local 21 // int gg
        41: .line 107
            aload 10 /* cols */
            iload 19 /* j */
            aaload
            getfield sun.awt.X11CustomCursor$1CCount.color:I
            iconst_0
            ishr
            sipush 255
            iand
            istore 22 /* bb */
        start local 22 // int bb
        42: .line 108
            iload 16 /* rdis */
            aload 10 /* cols */
            iload 19 /* j */
            aaload
            getfield sun.awt.X11CustomCursor$1CCount.count:I
            iload 20 /* rr */
            imul
            iadd
            istore 16 /* rdis */
        43: .line 109
            iload 17 /* gdis */
            aload 10 /* cols */
            iload 19 /* j */
            aaload
            getfield sun.awt.X11CustomCursor$1CCount.count:I
            iload 21 /* gg */
            imul
            iadd
            istore 17 /* gdis */
        44: .line 110
            iload 18 /* bdis */
            aload 10 /* cols */
            iload 19 /* j */
            aaload
            getfield sun.awt.X11CustomCursor$1CCount.count:I
            iload 22 /* bb */
            imul
            iadd
            istore 18 /* bdis */
        end local 22 // int bb
        end local 21 // int gg
        end local 20 // int rr
        45: .line 104
            iinc 19 /* j */ 1
      StackMap locals:
      StackMap stack:
        46: iload 19 /* j */
            iload 12 /* numColors */
            if_icmplt 39
        end local 19 // int j
        47: .line 112
            aload 2 /* pixels */
            arraylength
            iload 12 /* numColors */
            ifle 48
            aload 10 /* cols */
            iconst_0
            aaload
            getfield sun.awt.X11CustomCursor$1CCount.count:I
            goto 49
      StackMap locals: sun.awt.X11CustomCursor java.awt.Image int[] int int int int int[] int int sun.awt.X11CustomCursor$1CCount[] int int int int int int int int
      StackMap stack: int
        48: iconst_0
      StackMap locals: sun.awt.X11CustomCursor java.awt.Image int[] int int int int int[] int int sun.awt.X11CustomCursor$1CCount[] int int int int int int int int
      StackMap stack: int int
        49: isub
            istore 19 /* rest */
        start local 19 // int rest
        50: .line 114
            iload 19 /* rest */
            ifle 54
        51: .line 115
            iload 16 /* rdis */
            iload 19 /* rest */
            idiv
            iload 13 /* fcr */
            isub
            istore 16 /* rdis */
        52: .line 116
            iload 17 /* gdis */
            iload 19 /* rest */
            idiv
            iload 14 /* fcg */
            isub
            istore 17 /* gdis */
        53: .line 117
            iload 18 /* bdis */
            iload 19 /* rest */
            idiv
            iload 15 /* fcb */
            isub
            istore 18 /* bdis */
        54: .line 119
      StackMap locals: int
      StackMap stack:
            iload 16 /* rdis */
            iload 16 /* rdis */
            imul
            iload 17 /* gdis */
            iload 17 /* gdis */
            imul
            iadd
            iload 18 /* bdis */
            iload 18 /* bdis */
            imul
            iadd
            iconst_2
            idiv
            istore 16 /* rdis */
        55: .line 122
            iconst_1
            istore 20 /* j */
        start local 20 // int j
        56: goto 65
        57: .line 123
      StackMap locals: int
      StackMap stack:
            aload 10 /* cols */
            iload 20 /* j */
            aaload
            getfield sun.awt.X11CustomCursor$1CCount.color:I
            bipush 16
            ishr
            sipush 255
            iand
            istore 21 /* rr */
        start local 21 // int rr
        58: .line 124
            aload 10 /* cols */
            iload 20 /* j */
            aaload
            getfield sun.awt.X11CustomCursor$1CCount.color:I
            bipush 8
            ishr
            sipush 255
            iand
            istore 22 /* gg */
        start local 22 // int gg
        59: .line 125
            aload 10 /* cols */
            iload 20 /* j */
            aaload
            getfield sun.awt.X11CustomCursor$1CCount.color:I
            iconst_0
            ishr
            sipush 255
            iand
            istore 23 /* bb */
        start local 23 // int bb
        60: .line 127
            iload 21 /* rr */
            iload 13 /* fcr */
            isub
            iload 21 /* rr */
            iload 13 /* fcr */
            isub
            imul
            iload 22 /* gg */
            iload 14 /* fcg */
            isub
            iload 22 /* gg */
            iload 14 /* fcg */
            isub
            imul
            iadd
            iload 23 /* bb */
            iload 15 /* fcb */
            isub
            iload 23 /* bb */
            iload 15 /* fcb */
            isub
            imul
            iadd
        61: .line 128
            iload 16 /* rdis */
            if_icmplt 64
        62: .line 129
            aload 10 /* cols */
            iload 20 /* j */
            aaload
            getfield sun.awt.X11CustomCursor$1CCount.color:I
            istore 9 /* bc */
        63: .line 130
            goto 66
        end local 23 // int bb
        end local 22 // int gg
        end local 21 // int rr
        64: .line 122
      StackMap locals:
      StackMap stack:
            iinc 20 /* j */ 1
      StackMap locals:
      StackMap stack:
        65: iload 20 /* j */
            iload 12 /* numColors */
            if_icmplt 57
        end local 20 // int j
        66: .line 133
      StackMap locals:
      StackMap stack:
            iload 9 /* bc */
            bipush 16
            ishr
            sipush 255
            iand
            istore 20 /* bcr */
        start local 20 // int bcr
        67: .line 134
            iload 9 /* bc */
            bipush 8
            ishr
            sipush 255
            iand
            istore 21 /* bcg */
        start local 21 // int bcg
        68: .line 135
            iload 9 /* bc */
            iconst_0
            ishr
            sipush 255
            iand
            istore 22 /* bcb */
        start local 22 // int bcb
        69: .line 144
            iload 3 /* width */
            bipush 7
            iadd
            bipush 8
            idiv
            istore 23 /* wNByte */
        start local 23 // int wNByte
        70: .line 145
            iload 23 /* wNByte */
            iload 4 /* height */
            imul
            istore 24 /* tNByte */
        start local 24 // int tNByte
        71: .line 146
            iload 24 /* tNByte */
            newarray 8
            astore 25 /* xorMask */
        start local 25 // byte[] xorMask
        72: .line 147
            iload 24 /* tNByte */
            newarray 8
            astore 26 /* andMask */
        start local 26 // byte[] andMask
        73: .line 149
            iconst_0
            istore 27 /* i */
        start local 27 // int i
        74: goto 91
        75: .line 150
      StackMap locals: sun.awt.X11CustomCursor java.awt.Image int[] int int int int int[] int int sun.awt.X11CustomCursor$1CCount[] int int int int int int int int int int int int int int byte[] byte[] int
      StackMap stack:
            iconst_1
            iload 27 /* i */
            bipush 8
            irem
            ishl
            istore 28 /* omask */
        start local 28 // int omask
        76: .line 151
            iconst_0
            istore 29 /* j */
        start local 29 // int j
        77: goto 89
        78: .line 152
      StackMap locals: int int
      StackMap stack:
            iload 29 /* j */
            iload 3 /* width */
            imul
            iload 27 /* i */
            iadd
            istore 30 /* ip */
        start local 30 // int ip
        79: .line 153
            iload 29 /* j */
            iload 23 /* wNByte */
            imul
            iload 27 /* i */
            bipush 8
            idiv
            iadd
            istore 31 /* ibyte */
        start local 31 // int ibyte
        80: .line 155
            aload 2 /* pixels */
            iload 30 /* ip */
            iaload
            ldc -16777216
            iand
            ifeq 82
        81: .line 156
            aload 26 /* andMask */
            iload 31 /* ibyte */
            dup2
            baload
            iload 28 /* omask */
            ior
            i2b
            bastore
        82: .line 159
      StackMap locals: int int
      StackMap stack:
            aload 2 /* pixels */
            iload 30 /* ip */
            iaload
            bipush 16
            ishr
            sipush 255
            iand
            istore 32 /* pr */
        start local 32 // int pr
        83: .line 160
            aload 2 /* pixels */
            iload 30 /* ip */
            iaload
            bipush 8
            ishr
            sipush 255
            iand
            istore 33 /* pg */
        start local 33 // int pg
        84: .line 161
            aload 2 /* pixels */
            iload 30 /* ip */
            iaload
            iconst_0
            ishr
            sipush 255
            iand
            istore 34 /* pb */
        start local 34 // int pb
        85: .line 162
            iload 32 /* pr */
            iload 13 /* fcr */
            isub
            iload 32 /* pr */
            iload 13 /* fcr */
            isub
            imul
            iload 33 /* pg */
            iload 14 /* fcg */
            isub
            iload 33 /* pg */
            iload 14 /* fcg */
            isub
            imul
            iadd
            iload 34 /* pb */
            iload 15 /* fcb */
            isub
            iload 34 /* pb */
            iload 15 /* fcb */
            isub
            imul
            iadd
        86: .line 163
            iload 32 /* pr */
            iload 20 /* bcr */
            isub
            iload 32 /* pr */
            iload 20 /* bcr */
            isub
            imul
            iload 33 /* pg */
            iload 21 /* bcg */
            isub
            iload 33 /* pg */
            iload 21 /* bcg */
            isub
            imul
            iadd
            iload 34 /* pb */
            iload 22 /* bcb */
            isub
            iload 34 /* pb */
            iload 22 /* bcb */
            isub
            imul
            iadd
            if_icmpgt 88
        87: .line 165
            aload 25 /* xorMask */
            iload 31 /* ibyte */
            dup2
            baload
            iload 28 /* omask */
            ior
            i2b
            bastore
        end local 34 // int pb
        end local 33 // int pg
        end local 32 // int pr
        end local 31 // int ibyte
        end local 30 // int ip
        88: .line 151
      StackMap locals:
      StackMap stack:
            iinc 29 /* j */ 1
      StackMap locals:
      StackMap stack:
        89: iload 29 /* j */
            iload 4 /* height */
            if_icmplt 78
        end local 29 // int j
        end local 28 // int omask
        90: .line 149
            iinc 27 /* i */ 1
      StackMap locals:
      StackMap stack:
        91: iload 27 /* i */
            iload 3 /* width */
            if_icmplt 75
        end local 27 // int i
        92: .line 170
            aload 0 /* this */
            aload 25 /* xorMask */
            aload 26 /* andMask */
            bipush 8
            iload 23 /* wNByte */
            imul
            iload 4 /* height */
            iload 8 /* fc */
            iload 9 /* bc */
            iload 5 /* xHotSpot */
            iload 6 /* yHotSpot */
            invokevirtual sun.awt.X11CustomCursor.createCursor:([B[BIIIIII)V
        93: .line 171
            return
        end local 26 // byte[] andMask
        end local 25 // byte[] xorMask
        end local 24 // int tNByte
        end local 23 // int wNByte
        end local 22 // int bcb
        end local 21 // int bcg
        end local 20 // int bcr
        end local 19 // int rest
        end local 18 // int bdis
        end local 17 // int gdis
        end local 16 // int rdis
        end local 15 // int fcb
        end local 14 // int fcg
        end local 13 // int fcr
        end local 12 // int numColors
        end local 11 // int is
        end local 10 // sun.awt.X11CustomCursor$1CCount[] cols
        end local 9 // int bc
        end local 8 // int fc
        end local 7 // int[] tmp
        end local 6 // int yHotSpot
        end local 5 // int xHotSpot
        end local 4 // int height
        end local 3 // int width
        end local 2 // int[] pixels
        end local 1 // java.awt.Image im
        end local 0 // sun.awt.X11CustomCursor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   94     0       this  Lsun/awt/X11CustomCursor;
            0   94     1         im  Ljava/awt/Image;
            0   94     2     pixels  [I
            0   94     3      width  I
            0   94     4     height  I
            0   94     5   xHotSpot  I
            0   94     6   yHotSpot  I
            1   94     7        tmp  [I
            2    9     8          i  I
           11   94     8         fc  I
           12   94     9         bc  I
           13   94    10       cols  [Lsun/awt/X11CustomCursor$1CCount;
           14   94    11         is  I
           15   94    12  numColors  I
           22   29    13          i  I
           32   94    13        fcr  I
           33   94    14        fcg  I
           34   94    15        fcb  I
           35   94    16       rdis  I
           36   94    17       gdis  I
           37   94    18       bdis  I
           38   47    19          j  I
           40   45    20         rr  I
           41   45    21         gg  I
           42   45    22         bb  I
           50   94    19       rest  I
           56   66    20          j  I
           58   64    21         rr  I
           59   64    22         gg  I
           60   64    23         bb  I
           67   94    20        bcr  I
           68   94    21        bcg  I
           69   94    22        bcb  I
           70   94    23     wNByte  I
           71   94    24     tNByte  I
           72   94    25    xorMask  [B
           73   94    26    andMask  [B
           74   92    27          i  I
           76   90    28      omask  I
           77   90    29          j  I
           79   88    30         ip  I
           80   88    31      ibyte  I
           83   88    32         pr  I
           84   88    33         pg  I
           85   88    34         pb  I
    MethodParameters:
          Name  Flags
      im        
      pixels    
      width     
      height    
      xHotSpot  
      yHotSpot  

  protected abstract void createCursor(byte[], byte[], int, int, int, int, int, int);
    descriptor: ([B[BIIIIII)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      xorMask   
      andMask   
      width     
      height    
      fcolor    
      bcolor    
      xHotSpot  
      yHotSpot  
}
SourceFile: "X11CustomCursor.java"
NestMembers:
  sun.awt.X11CustomCursor$1CCount
InnerClasses:
  CCount = sun.awt.X11CustomCursor$1CCount