public class java.awt.Cursor implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.awt.Cursor
  super_class: java.lang.Object
{
  public static final int DEFAULT_CURSOR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int CROSSHAIR_CURSOR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int TEXT_CURSOR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int WAIT_CURSOR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int SW_RESIZE_CURSOR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int SE_RESIZE_CURSOR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final int NW_RESIZE_CURSOR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  public static final int NE_RESIZE_CURSOR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  public static final int N_RESIZE_CURSOR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final int S_RESIZE_CURSOR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  public static final int W_RESIZE_CURSOR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  public static final int E_RESIZE_CURSOR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 11

  public static final int HAND_CURSOR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  public static final int MOVE_CURSOR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 13

  protected static java.awt.Cursor[] predefined;
    descriptor: [Ljava/awt/Cursor;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  private static final java.awt.Cursor[] predefinedPrivate;
    descriptor: [Ljava/awt/Cursor;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final java.lang.String[][] cursorProperties;
    descriptor: [[Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

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

  public static final int CUSTOM_CURSOR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static final java.util.Hashtable<java.lang.String, java.awt.Cursor> systemCustomCursors;
    descriptor: Ljava/util/Hashtable;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Hashtable<Ljava/lang/String;Ljava/awt/Cursor;>;

  private static final java.lang.String RESOURCE_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "/sun/awt/resources/cursors/"

  private static final java.lang.String PROPERTIES_FILE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "/sun/awt/resources/cursors/cursors.properties"

  private static java.util.Properties systemCustomCursorProperties;
    descriptor: Ljava/util/Properties;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final java.lang.String CURSOR_DOT_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Cursor."

  private static final java.lang.String DOT_FILE_SUFFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: ".File"

  private static final java.lang.String DOT_HOTSPOT_SUFFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: ".HotSpot"

  private static final java.lang.String DOT_NAME_SUFFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: ".Name"

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8028237497568985504

  private static final sun.util.logging.PlatformLogger log;
    descriptor: Lsun/util/logging/PlatformLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private transient long pData;
    descriptor: J
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.lang.Object anchor;
    descriptor: Ljava/lang/Object;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  transient java.awt.Cursor$CursorDisposer disposer;
    descriptor: Ljava/awt/Cursor$CursorDisposer;
    flags: (0x0080) ACC_TRANSIENT

  protected java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 122
            bipush 14
            anewarray java.awt.Cursor
            putstatic java.awt.Cursor.predefined:[Ljava/awt/Cursor;
         1: .line 127
            bipush 14
            anewarray java.awt.Cursor
            putstatic java.awt.Cursor.predefinedPrivate:[Ljava/awt/Cursor;
         2: .line 130
            bipush 14
            anewarray java.lang.String[]
            dup
            iconst_0
         3: .line 131
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "AWT.DefaultCursor"
            aastore
            dup
            iconst_1
            ldc "Default Cursor"
            aastore
            aastore
            dup
            iconst_1
         4: .line 132
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "AWT.CrosshairCursor"
            aastore
            dup
            iconst_1
            ldc "Crosshair Cursor"
            aastore
            aastore
            dup
            iconst_2
         5: .line 133
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "AWT.TextCursor"
            aastore
            dup
            iconst_1
            ldc "Text Cursor"
            aastore
            aastore
            dup
            iconst_3
         6: .line 134
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "AWT.WaitCursor"
            aastore
            dup
            iconst_1
            ldc "Wait Cursor"
            aastore
            aastore
            dup
            iconst_4
         7: .line 135
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "AWT.SWResizeCursor"
            aastore
            dup
            iconst_1
            ldc "Southwest Resize Cursor"
            aastore
            aastore
            dup
            iconst_5
         8: .line 136
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "AWT.SEResizeCursor"
            aastore
            dup
            iconst_1
            ldc "Southeast Resize Cursor"
            aastore
            aastore
            dup
            bipush 6
         9: .line 137
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "AWT.NWResizeCursor"
            aastore
            dup
            iconst_1
            ldc "Northwest Resize Cursor"
            aastore
            aastore
            dup
            bipush 7
        10: .line 138
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "AWT.NEResizeCursor"
            aastore
            dup
            iconst_1
            ldc "Northeast Resize Cursor"
            aastore
            aastore
            dup
            bipush 8
        11: .line 139
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "AWT.NResizeCursor"
            aastore
            dup
            iconst_1
            ldc "North Resize Cursor"
            aastore
            aastore
            dup
            bipush 9
        12: .line 140
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "AWT.SResizeCursor"
            aastore
            dup
            iconst_1
            ldc "South Resize Cursor"
            aastore
            aastore
            dup
            bipush 10
        13: .line 141
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "AWT.WResizeCursor"
            aastore
            dup
            iconst_1
            ldc "West Resize Cursor"
            aastore
            aastore
            dup
            bipush 11
        14: .line 142
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "AWT.EResizeCursor"
            aastore
            dup
            iconst_1
            ldc "East Resize Cursor"
            aastore
            aastore
            dup
            bipush 12
        15: .line 143
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "AWT.HandCursor"
            aastore
            dup
            iconst_1
            ldc "Hand Cursor"
            aastore
            aastore
            dup
            bipush 13
        16: .line 144
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "AWT.MoveCursor"
            aastore
            dup
            iconst_1
            ldc "Move Cursor"
            aastore
            aastore
        17: .line 130
            putstatic java.awt.Cursor.cursorProperties:[[Ljava/lang/String;
        18: .line 165
            new java.util.Hashtable
            dup
            iconst_1
            invokespecial java.util.Hashtable.<init>:(I)V
            putstatic java.awt.Cursor.systemCustomCursors:Ljava/util/Hashtable;
        19: .line 169
            aconst_null
            putstatic java.awt.Cursor.systemCustomCursorProperties:Ljava/util/Properties;
        20: .line 181
            ldc "java.awt.Cursor"
            invokestatic sun.util.logging.PlatformLogger.getLogger:(Ljava/lang/String;)Lsun/util/logging/PlatformLogger;
            putstatic java.awt.Cursor.log:Lsun/util/logging/PlatformLogger;
        21: .line 185
            invokestatic java.awt.Toolkit.loadLibraries:()V
        22: .line 186
            invokestatic java.awt.GraphicsEnvironment.isHeadless:()Z
            ifne 24
        23: .line 187
            invokestatic java.awt.Cursor.initIDs:()V
        24: .line 191
      StackMap locals:
      StackMap stack:
            new java.awt.Cursor$1
            dup
            invokespecial java.awt.Cursor$1.<init>:()V
        25: .line 190
            invokestatic sun.awt.AWTAccessor.setCursorAccessor:(Lsun/awt/AWTAccessor$CursorAccessor;)V
        26: .line 204
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static native void initIDs();
    descriptor: ()V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  private void setPData(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.awt.Cursor this
        start local 1 // long pData
         0: .line 232
            aload 0 /* this */
            lload 1 /* pData */
            putfield java.awt.Cursor.pData:J
         1: .line 233
            invokestatic java.awt.GraphicsEnvironment.isHeadless:()Z
            ifeq 3
         2: .line 234
            return
         3: .line 236
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.Cursor.disposer:Ljava/awt/Cursor$CursorDisposer;
            ifnonnull 9
         4: .line 237
            aload 0 /* this */
            new java.awt.Cursor$CursorDisposer
            dup
            lload 1 /* pData */
            invokespecial java.awt.Cursor$CursorDisposer.<init>:(J)V
            putfield java.awt.Cursor.disposer:Ljava/awt/Cursor$CursorDisposer;
         5: .line 239
            aload 0 /* this */
            getfield java.awt.Cursor.anchor:Ljava/lang/Object;
            ifnonnull 7
         6: .line 240
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield java.awt.Cursor.anchor:Ljava/lang/Object;
         7: .line 242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.Cursor.anchor:Ljava/lang/Object;
            aload 0 /* this */
            getfield java.awt.Cursor.disposer:Ljava/awt/Cursor$CursorDisposer;
            invokestatic sun.java2d.Disposer.addRecord:(Ljava/lang/Object;Lsun/java2d/DisposerRecord;)V
         8: .line 243
            goto 10
         9: .line 244
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.Cursor.disposer:Ljava/awt/Cursor$CursorDisposer;
            lload 1 /* pData */
            putfield java.awt.Cursor$CursorDisposer.pData:J
        10: .line 246
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long pData
        end local 0 // java.awt.Cursor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Ljava/awt/Cursor;
            0   11     1  pData  J
    MethodParameters:
       Name  Flags
      pData  

  public static java.awt.Cursor getPredefinedCursor(int);
    descriptor: (I)Ljava/awt/Cursor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // int type
         0: .line 265
            iload 0 /* type */
            iflt 1
            iload 0 /* type */
            bipush 13
            if_icmple 2
         1: .line 266
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "illegal cursor type"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 268
      StackMap locals:
      StackMap stack:
            getstatic java.awt.Cursor.predefinedPrivate:[Ljava/awt/Cursor;
            iload 0 /* type */
            aaload
            astore 1 /* c */
        start local 1 // java.awt.Cursor c
         3: .line 269
            aload 1 /* c */
            ifnonnull 5
         4: .line 270
            getstatic java.awt.Cursor.predefinedPrivate:[Ljava/awt/Cursor;
            iload 0 /* type */
            new java.awt.Cursor
            dup
            iload 0 /* type */
            invokespecial java.awt.Cursor.<init>:(I)V
            dup
            astore 1 /* c */
            aastore
         5: .line 273
      StackMap locals: java.awt.Cursor
      StackMap stack:
            getstatic java.awt.Cursor.predefined:[Ljava/awt/Cursor;
            iload 0 /* type */
            aaload
            ifnonnull 7
         6: .line 274
            getstatic java.awt.Cursor.predefined:[Ljava/awt/Cursor;
            iload 0 /* type */
            aload 1 /* c */
            aastore
         7: .line 276
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            areturn
        end local 1 // java.awt.Cursor c
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  type  I
            3    8     1     c  Ljava/awt/Cursor;
    MethodParameters:
      Name  Flags
      type  

  public static java.awt.Cursor getSystemCustomCursor(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/awt/Cursor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=15, args_size=1
        start local 0 // java.lang.String name
         0: .line 291
            invokestatic java.awt.GraphicsEnvironment.checkHeadless:()V
         1: .line 292
            getstatic java.awt.Cursor.systemCustomCursors:Ljava/util/Hashtable;
            aload 0 /* name */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.awt.Cursor
            astore 1 /* cursor */
        start local 1 // java.awt.Cursor cursor
         2: .line 294
            aload 1 /* cursor */
            ifnonnull 60
         3: .line 295
            getstatic java.awt.Cursor.systemCustomCursors:Ljava/util/Hashtable;
            dup
            astore 2
            monitorenter
         4: .line 296
            getstatic java.awt.Cursor.systemCustomCursorProperties:Ljava/util/Properties;
            ifnonnull 6
         5: .line 297
            invokestatic java.awt.Cursor.loadSystemCustomCursorProperties:()V
         6: .line 295
      StackMap locals: java.awt.Cursor java.util.Hashtable
      StackMap stack:
            aload 2
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 2
            monitorexit
         9: athrow
        10: .line 300
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Cursor."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* prefix */
        start local 2 // java.lang.String prefix
        11: .line 301
            new java.lang.StringBuilder
            dup
            aload 2 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".File"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* key */
        start local 3 // java.lang.String key
        12: .line 303
            getstatic java.awt.Cursor.systemCustomCursorProperties:Ljava/util/Properties;
            aload 3 /* key */
            invokevirtual java.util.Properties.containsKey:(Ljava/lang/Object;)Z
            ifne 16
        13: .line 304
            getstatic java.awt.Cursor.log:Lsun/util/logging/PlatformLogger;
            getstatic sun.util.logging.PlatformLogger$Level.FINER:Lsun/util/logging/PlatformLogger$Level;
            invokevirtual sun.util.logging.PlatformLogger.isLoggable:(Lsun/util/logging/PlatformLogger$Level;)Z
            ifeq 15
        14: .line 305
            getstatic java.awt.Cursor.log:Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Cursor.getSystemCustomCursor("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ") returned null"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.finer:(Ljava/lang/String;)V
        15: .line 307
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aconst_null
            areturn
        16: .line 311
      StackMap locals:
      StackMap stack:
            getstatic java.awt.Cursor.systemCustomCursorProperties:Ljava/util/Properties;
            aload 3 /* key */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        17: .line 310
            astore 4 /* fileName */
        start local 4 // java.lang.String fileName
        18: .line 313
            getstatic java.awt.Cursor.systemCustomCursorProperties:Ljava/util/Properties;
        19: .line 314
            new java.lang.StringBuilder
            dup
            aload 2 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".Name"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 0 /* name */
        20: .line 313
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* localized */
        start local 5 // java.lang.String localized
        21: .line 316
            getstatic java.awt.Cursor.systemCustomCursorProperties:Ljava/util/Properties;
            new java.lang.StringBuilder
            dup
            aload 2 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".HotSpot"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* hotspot */
        start local 6 // java.lang.String hotspot
        22: .line 318
            aload 6 /* hotspot */
            ifnonnull 24
        23: .line 319
            new java.awt.AWTException
            dup
            new java.lang.StringBuilder
            dup
            ldc "no hotspot property defined for cursor: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.awt.AWTException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 321
      StackMap locals: java.lang.String java.lang.String java.lang.String
      StackMap stack:
            new java.util.StringTokenizer
            dup
            aload 6 /* hotspot */
            ldc ","
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 7 /* st */
        start local 7 // java.util.StringTokenizer st
        25: .line 323
            aload 7 /* st */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            iconst_2
            if_icmpeq 27
        26: .line 324
            new java.awt.AWTException
            dup
            new java.lang.StringBuilder
            dup
            ldc "failed to parse hotspot property for cursor: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.awt.AWTException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 328
      StackMap locals: java.util.StringTokenizer
      StackMap stack:
            new java.awt.Point
            dup
            aload 7 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
        28: .line 329
            aload 7 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
        29: .line 328
            invokespecial java.awt.Point.<init>:(II)V
            astore 8 /* hotPoint */
        start local 8 // java.awt.Point hotPoint
        30: .line 330
            goto 33
        end local 8 // java.awt.Point hotPoint
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
        31: pop
        32: .line 331
            new java.awt.AWTException
            dup
            new java.lang.StringBuilder
            dup
            ldc "failed to parse hotspot property for cursor: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.awt.AWTException.<init>:(Ljava/lang/String;)V
            athrow
        start local 8 // java.awt.Point hotPoint
        33: .line 333
      StackMap locals: java.awt.Point
      StackMap stack:
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
            astore 9 /* toolkit */
        start local 9 // java.awt.Toolkit toolkit
        34: .line 334
            new java.lang.StringBuilder
            dup
            ldc "/sun/awt/resources/cursors/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* fileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* file */
        start local 10 // java.lang.String file
        35: .line 336
            aload 10 /* file */
            invokedynamic run(Ljava/lang/String;)Ljava/security/PrivilegedAction;
              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:
                  ()Ljava/lang/Object;
                  java/awt/Cursor.lambda$0(Ljava/lang/String;)Ljava/io/InputStream; (6)
                  ()Ljava/io/InputStream;
        36: .line 335
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.io.InputStream
            astore 11 /* in */
        start local 11 // java.io.InputStream in
        37: .line 339
            aconst_null
            astore 12
            aconst_null
            astore 13
        38: .line 340
            aload 9 /* toolkit */
            aload 11 /* in */
            invokevirtual java.io.InputStream.readAllBytes:()[B
            invokevirtual java.awt.Toolkit.createImage:([B)Ljava/awt/Image;
            astore 14 /* image */
        start local 14 // java.awt.Image image
        39: .line 341
            aload 9 /* toolkit */
            aload 14 /* image */
            aload 8 /* hotPoint */
            aload 5 /* localized */
            invokevirtual java.awt.Toolkit.createCustomCursor:(Ljava/awt/Image;Ljava/awt/Point;Ljava/lang/String;)Ljava/awt/Cursor;
            astore 1 /* cursor */
        end local 14 // java.awt.Image image
        40: .line 339
            aload 11 /* in */
            ifnull 55
            aload 11 /* in */
        41: .line 342
            invokevirtual java.io.InputStream.close:()V
            goto 55
      StackMap locals: java.lang.String java.awt.Cursor java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.util.StringTokenizer java.awt.Point java.awt.Toolkit java.lang.String java.io.InputStream java.lang.Throwable java.lang.Throwable
      StackMap stack: java.lang.Throwable
        42: astore 12
        43: .line 339
            aload 11 /* in */
            ifnull 45
            aload 11 /* in */
        44: .line 342
            invokevirtual java.io.InputStream.close:()V
      StackMap locals:
      StackMap stack:
        45: aload 12
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        46: astore 13
            aload 12
            ifnonnull 47
            aload 13
            astore 12
            goto 48
      StackMap locals:
      StackMap stack:
        47: aload 12
            aload 13
            if_acmpeq 48
            aload 12
            aload 13
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        48: aload 12
            athrow
      StackMap locals: java.lang.String java.awt.Cursor java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.util.StringTokenizer java.awt.Point java.awt.Toolkit java.lang.String java.io.InputStream
      StackMap stack: java.lang.Exception
        49: astore 12 /* e */
        start local 12 // java.lang.Exception e
        50: .line 343
            new java.awt.AWTException
            dup
        51: .line 344
            new java.lang.StringBuilder
            dup
            ldc "Exception: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* e */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 12 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        52: .line 345
            ldc " occurred while creating cursor "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        53: .line 344
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        54: .line 343
            invokespecial java.awt.AWTException.<init>:(Ljava/lang/String;)V
            athrow
        end local 12 // java.lang.Exception e
        55: .line 348
      StackMap locals:
      StackMap stack:
            aload 1 /* cursor */
            ifnonnull 59
        56: .line 349
            getstatic java.awt.Cursor.log:Lsun/util/logging/PlatformLogger;
            getstatic sun.util.logging.PlatformLogger$Level.FINER:Lsun/util/logging/PlatformLogger$Level;
            invokevirtual sun.util.logging.PlatformLogger.isLoggable:(Lsun/util/logging/PlatformLogger$Level;)Z
            ifeq 60
        57: .line 350
            getstatic java.awt.Cursor.log:Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Cursor.getSystemCustomCursor("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ") returned null"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.finer:(Ljava/lang/String;)V
        58: .line 352
            goto 60
        59: .line 353
      StackMap locals:
      StackMap stack:
            getstatic java.awt.Cursor.systemCustomCursors:Ljava/util/Hashtable;
            aload 0 /* name */
            aload 1 /* cursor */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 11 // java.io.InputStream in
        end local 10 // java.lang.String file
        end local 9 // java.awt.Toolkit toolkit
        end local 8 // java.awt.Point hotPoint
        end local 7 // java.util.StringTokenizer st
        end local 6 // java.lang.String hotspot
        end local 5 // java.lang.String localized
        end local 4 // java.lang.String fileName
        end local 3 // java.lang.String key
        end local 2 // java.lang.String prefix
        60: .line 357
      StackMap locals: java.lang.String java.awt.Cursor
      StackMap stack:
            aload 1 /* cursor */
            areturn
        end local 1 // java.awt.Cursor cursor
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   61     0       name  Ljava/lang/String;
            2   61     1     cursor  Ljava/awt/Cursor;
           11   60     2     prefix  Ljava/lang/String;
           12   60     3        key  Ljava/lang/String;
           18   60     4   fileName  Ljava/lang/String;
           21   60     5  localized  Ljava/lang/String;
           22   60     6    hotspot  Ljava/lang/String;
           25   60     7         st  Ljava/util/StringTokenizer;
           30   31     8   hotPoint  Ljava/awt/Point;
           33   60     8   hotPoint  Ljava/awt/Point;
           34   60     9    toolkit  Ljava/awt/Toolkit;
           35   60    10       file  Ljava/lang/String;
           37   60    11         in  Ljava/io/InputStream;
           39   40    14      image  Ljava/awt/Image;
           50   55    12          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4     7       8  any
           8     9       8  any
          27    30      31  Class java.lang.NumberFormatException
          38    40      42  any
          38    46      46  any
          37    49      49  Class java.lang.Exception
    Exceptions:
      throws java.awt.AWTException, java.awt.HeadlessException
    MethodParameters:
      Name  Flags
      name  final

  public static java.awt.Cursor getDefaultCursor();
    descriptor: ()Ljava/awt/Cursor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 366
            iconst_0
            invokestatic java.awt.Cursor.getPredefinedCursor:(I)Ljava/awt/Cursor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.awt.Cursor this
        start local 1 // int type
         0: .line 376
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 154
            aload 0 /* this */
            iconst_0
            putfield java.awt.Cursor.type:I
         2: .line 217
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield java.awt.Cursor.anchor:Ljava/lang/Object;
         3: .line 377
            iload 1 /* type */
            iflt 4
            iload 1 /* type */
            bipush 13
            if_icmple 5
         4: .line 378
      StackMap locals: java.awt.Cursor int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "illegal cursor type"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* type */
            putfield java.awt.Cursor.type:I
         6: .line 383
            aload 0 /* this */
            getstatic java.awt.Cursor.cursorProperties:[[Ljava/lang/String;
            iload 1 /* type */
            aaload
            iconst_0
            aaload
         7: .line 384
            getstatic java.awt.Cursor.cursorProperties:[[Ljava/lang/String;
            iload 1 /* type */
            aaload
            iconst_1
            aaload
         8: .line 383
            invokestatic java.awt.Toolkit.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield java.awt.Cursor.name:Ljava/lang/String;
         9: .line 385
            return
        end local 1 // int type
        end local 0 // java.awt.Cursor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljava/awt/Cursor;
            0   10     1  type  I
    RuntimeVisibleAnnotations: 
      java.beans.ConstructorProperties(value = {"type"})
    MethodParameters:
      Name  Flags
      type  

  protected void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.awt.Cursor this
        start local 1 // java.lang.String name
         0: .line 395
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 154
            aload 0 /* this */
            iconst_0
            putfield java.awt.Cursor.type:I
         2: .line 217
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield java.awt.Cursor.anchor:Ljava/lang/Object;
         3: .line 396
            aload 0 /* this */
            iconst_m1
            putfield java.awt.Cursor.type:I
         4: .line 397
            aload 0 /* this */
            aload 1 /* name */
            putfield java.awt.Cursor.name:Ljava/lang/String;
         5: .line 398
            return
        end local 1 // java.lang.String name
        end local 0 // java.awt.Cursor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/awt/Cursor;
            0    6     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public int getType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.Cursor this
         0: .line 406
            aload 0 /* this */
            getfield java.awt.Cursor.type:I
            ireturn
        end local 0 // java.awt.Cursor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/Cursor;

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.Cursor this
         0: .line 415
            aload 0 /* this */
            getfield java.awt.Cursor.name:Ljava/lang/String;
            areturn
        end local 0 // java.awt.Cursor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/Cursor;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.awt.Cursor this
         0: .line 424
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual java.awt.Cursor.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.awt.Cursor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/Cursor;

  private static void loadSystemCustomCursorProperties();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=0
         0: .line 431
            getstatic java.awt.Cursor.systemCustomCursors:Ljava/util/Hashtable;
            dup
            astore 0
            monitorenter
         1: .line 432
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            putstatic java.awt.Cursor.systemCustomCursorProperties:Ljava/util/Properties;
         2: .line 436
            invokedynamic run()Ljava/security/PrivilegedExceptionAction;
              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:
                  ()Ljava/lang/Object;
                  java/awt/Cursor.lambda$1()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
         3: .line 435
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            pop
         4: .line 443
            goto 11
      StackMap locals: java.util.Hashtable
      StackMap stack: java.lang.Exception
         5: astore 1 /* e */
        start local 1 // java.lang.Exception e
         6: .line 444
            aconst_null
            putstatic java.awt.Cursor.systemCustomCursorProperties:Ljava/util/Properties;
         7: .line 445
            new java.awt.AWTException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Exception: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* e */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 446
            aload 1 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " occurred while loading: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 447
            ldc "/sun/awt/resources/cursors/cursors.properties"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 445
            invokespecial java.awt.AWTException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.Exception e
        11: .line 431
      StackMap locals:
      StackMap stack:
            aload 0
            monitorexit
        12: goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: aload 0
            monitorexit
        14: athrow
        15: .line 450
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            6   11     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     4       5  Class java.lang.Exception
           1    12      13  any
          13    14      13  any
    Exceptions:
      throws java.awt.AWTException

  private static native void finalizeImpl(long);
    descriptor: (J)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
       Name  Flags
      pData  

  private static java.io.InputStream lambda$0(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 337
            ldc Ljava/awt/Cursor;
            aload 0
            invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$1();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=0
         0: .line 437
            aconst_null
            astore 0
            aconst_null
            astore 1
         1: ldc Ljava/awt/Cursor;
         2: .line 438
            ldc "/sun/awt/resources/cursors/cursors.properties"
            invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
         3: .line 437
            astore 2 /* is */
        start local 2 // java.io.InputStream is
         4: .line 439
            getstatic java.awt.Cursor.systemCustomCursorProperties:Ljava/util/Properties;
            aload 2 /* is */
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
         5: .line 440
            aload 2 /* is */
            ifnull 11
            aload 2 /* is */
            invokevirtual java.io.InputStream.close:()V
            goto 11
      StackMap locals: java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: java.lang.Throwable
         6: astore 0
            aload 2 /* is */
            ifnull 7
            aload 2 /* is */
            invokevirtual java.io.InputStream.close:()V
        end local 2 // java.io.InputStream is
      StackMap locals:
      StackMap stack:
         7: aload 0
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 1
            aload 0
            ifnonnull 9
            aload 1
            astore 0
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 0
            aload 1
            if_acmpeq 10
            aload 0
            aload 1
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 0
            athrow
        11: .line 441
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            4    7     2    is  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
           4     5       6  any
           1     8       8  any
    Exceptions:
      throws java.lang.Exception
}
SourceFile: "Cursor.java"
NestMembers:
  java.awt.Cursor$1  java.awt.Cursor$CursorDisposer
InnerClasses:
  java.awt.Cursor$1
  CursorDisposer = java.awt.Cursor$CursorDisposer of java.awt.Cursor
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract CursorAccessor = sun.awt.AWTAccessor$CursorAccessor of sun.awt.AWTAccessor
  public final Level = sun.util.logging.PlatformLogger$Level of sun.util.logging.PlatformLogger