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 systemCustomCursorDirPrefix;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

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

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

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

  private static final java.lang.String DotNameSuffix;
    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 123
            bipush 14
            anewarray java.awt.Cursor
            putstatic java.awt.Cursor.predefined:[Ljava/awt/Cursor;
         1: .line 128
            bipush 14
            anewarray java.awt.Cursor
            putstatic java.awt.Cursor.predefinedPrivate:[Ljava/awt/Cursor;
         2: .line 131
            bipush 14
            anewarray java.lang.String[]
            dup
            iconst_0
         3: .line 132
            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 133
            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 134
            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 135
            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 136
            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 137
            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 138
            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 139
            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 140
            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 141
            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 142
            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 143
            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 144
            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 145
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "AWT.MoveCursor"
            aastore
            dup
            iconst_1
            ldc "Move Cursor"
            aastore
            aastore
        17: .line 131
            putstatic java.awt.Cursor.cursorProperties:[[Ljava/lang/String;
        18: .line 166
            new java.util.Hashtable
            dup
            iconst_1
            invokespecial java.util.Hashtable.<init>:(I)V
            putstatic java.awt.Cursor.systemCustomCursors:Ljava/util/Hashtable;
        19: .line 167
            invokestatic java.awt.Cursor.initCursorDir:()Ljava/lang/String;
            putstatic java.awt.Cursor.systemCustomCursorDirPrefix:Ljava/lang/String;
        20: .line 177
            new java.lang.StringBuilder
            dup
            getstatic java.awt.Cursor.systemCustomCursorDirPrefix:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "cursors.properties"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putstatic java.awt.Cursor.systemCustomCursorPropertiesFile:Ljava/lang/String;
        21: .line 179
            aconst_null
            putstatic java.awt.Cursor.systemCustomCursorProperties:Ljava/util/Properties;
        22: .line 191
            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;
        23: .line 195
            invokestatic java.awt.Toolkit.loadLibraries:()V
        24: .line 196
            invokestatic java.awt.GraphicsEnvironment.isHeadless:()Z
            ifne 26
        25: .line 197
            invokestatic java.awt.Cursor.initIDs:()V
        26: .line 201
      StackMap locals:
      StackMap stack:
            new java.awt.Cursor$1
            dup
            invokespecial java.awt.Cursor$1.<init>:()V
        27: .line 200
            invokestatic sun.awt.AWTAccessor.setCursorAccessor:(Lsun/awt/AWTAccessor$CursorAccessor;)V
        28: .line 214
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.String initCursorDir();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 171
            new sun.security.action.GetPropertyAction
            dup
            ldc "java.home"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
         1: .line 170
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 0 /* jhome */
        start local 0 // java.lang.String jhome
         2: .line 172
            new java.lang.StringBuilder
            dup
            aload 0 /* jhome */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 173
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "lib"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "images"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 174
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "cursors"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 172
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.String jhome
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            2    6     0  jhome  Ljava/lang/String;

  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 242
            aload 0 /* this */
            lload 1 /* pData */
            putfield java.awt.Cursor.pData:J
         1: .line 243
            invokestatic java.awt.GraphicsEnvironment.isHeadless:()Z
            ifeq 3
         2: .line 244
            return
         3: .line 246
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.Cursor.disposer:Ljava/awt/Cursor$CursorDisposer;
            ifnonnull 9
         4: .line 247
            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 249
            aload 0 /* this */
            getfield java.awt.Cursor.anchor:Ljava/lang/Object;
            ifnonnull 7
         6: .line 250
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield java.awt.Cursor.anchor:Ljava/lang/Object;
         7: .line 252
      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 253
            goto 10
         9: .line 254
      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 256
      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 275
            iload 0 /* type */
            iflt 1
            iload 0 /* type */
            bipush 13
            if_icmple 2
         1: .line 276
      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 278
      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 279
            aload 1 /* c */
            ifnonnull 5
         4: .line 280
            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 283
      StackMap locals: java.awt.Cursor
      StackMap stack:
            getstatic java.awt.Cursor.predefined:[Ljava/awt/Cursor;
            iload 0 /* type */
            aaload
            ifnonnull 7
         6: .line 284
            getstatic java.awt.Cursor.predefined:[Ljava/awt/Cursor;
            iload 0 /* type */
            aload 1 /* c */
            aastore
         7: .line 286
      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=6, locals=13, args_size=1
        start local 0 // java.lang.String name
         0: .line 300
            invokestatic java.awt.GraphicsEnvironment.checkHeadless:()V
         1: .line 301
            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 303
            aload 1 /* cursor */
            ifnonnull 50
         3: .line 304
            getstatic java.awt.Cursor.systemCustomCursors:Ljava/util/Hashtable;
            dup
            astore 2
            monitorenter
         4: .line 305
            getstatic java.awt.Cursor.systemCustomCursorProperties:Ljava/util/Properties;
            ifnonnull 6
         5: .line 306
            invokestatic java.awt.Cursor.loadSystemCustomCursorProperties:()V
         6: .line 304
      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 309
      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 310
            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 312
            getstatic java.awt.Cursor.systemCustomCursorProperties:Ljava/util/Properties;
            aload 3 /* key */
            invokevirtual java.util.Properties.containsKey:(Ljava/lang/Object;)Z
            ifne 16
        13: .line 313
            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 314
            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 316
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aconst_null
            areturn
        16: .line 320
      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 319
            astore 4 /* fileName */
        start local 4 // java.lang.String fileName
        18: .line 322
            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 ".Name"
            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 5 /* localized */
        start local 5 // java.lang.String localized
        19: .line 324
            aload 5 /* localized */
            ifnonnull 20
            aload 0 /* name */
            astore 5 /* localized */
        20: .line 326
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            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
        21: .line 328
            aload 6 /* hotspot */
            ifnonnull 23
        22: .line 329
            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
        23: .line 331
      StackMap locals: 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
        24: .line 333
            aload 7 /* st */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            iconst_2
            if_icmpeq 26
        25: .line 334
            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
        26: .line 336
      StackMap locals: java.util.StringTokenizer
      StackMap stack:
            iconst_0
            istore 8 /* x */
        start local 8 // int x
        27: .line 337
            iconst_0
            istore 9 /* y */
        start local 9 // int y
        28: .line 340
            aload 7 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 8 /* x */
        29: .line 341
            aload 7 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 9 /* y */
        30: .line 342
            goto 33
      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 int int
      StackMap stack: java.lang.NumberFormatException
        31: pop
        32: .line 343
            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
        33: .line 347
      StackMap locals:
      StackMap stack:
            iload 8 /* x */
            istore 10 /* fx */
        start local 10 // int fx
        34: .line 348
            iload 9 /* y */
            istore 11 /* fy */
        start local 11 // int fy
        35: .line 349
            aload 5 /* localized */
            astore 12 /* flocalized */
        start local 12 // java.lang.String flocalized
        36: .line 352
            new java.awt.Cursor$2
            dup
            aload 4 /* fileName */
            iload 10 /* fx */
            iload 11 /* fy */
            aload 12 /* flocalized */
            invokespecial java.awt.Cursor$2.<init>:(Ljava/lang/String;IILjava/lang/String;)V
        37: .line 351
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast java.awt.Cursor
            astore 1 /* cursor */
        end local 12 // java.lang.String flocalized
        end local 11 // int fy
        end local 10 // int fx
        38: .line 361
            goto 45
      StackMap locals:
      StackMap stack: java.lang.Exception
        39: astore 10 /* e */
        start local 10 // java.lang.Exception e
        40: .line 362
            new java.awt.AWTException
            dup
        41: .line 363
            new java.lang.StringBuilder
            dup
            ldc "Exception: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* 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 10 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        42: .line 364
            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;
        43: .line 363
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        44: .line 362
            invokespecial java.awt.AWTException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // java.lang.Exception e
        45: .line 367
      StackMap locals:
      StackMap stack:
            aload 1 /* cursor */
            ifnonnull 49
        46: .line 368
            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 50
        47: .line 369
            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
        48: .line 371
            goto 50
        49: .line 372
      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 9 // int y
        end local 8 // int x
        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
        50: .line 376
      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   51     0        name  Ljava/lang/String;
            2   51     1      cursor  Ljava/awt/Cursor;
           11   50     2      prefix  Ljava/lang/String;
           12   50     3         key  Ljava/lang/String;
           18   50     4    fileName  Ljava/lang/String;
           19   50     5   localized  Ljava/lang/String;
           21   50     6     hotspot  Ljava/lang/String;
           24   50     7          st  Ljava/util/StringTokenizer;
           27   50     8           x  I
           28   50     9           y  I
           34   38    10          fx  I
           35   38    11          fy  I
           36   38    12  flocalized  Ljava/lang/String;
           40   45    10           e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4     7       8  any
           8     9       8  any
          28    30      31  Class java.lang.NumberFormatException
          33    38      39  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 383
            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 393
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 155
            aload 0 /* this */
            iconst_0
            putfield java.awt.Cursor.type:I
         2: .line 227
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield java.awt.Cursor.anchor:Ljava/lang/Object;
         3: .line 394
            iload 1 /* type */
            iflt 4
            iload 1 /* type */
            bipush 13
            if_icmple 5
         4: .line 395
      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 397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* type */
            putfield java.awt.Cursor.type:I
         6: .line 400
            aload 0 /* this */
            getstatic java.awt.Cursor.cursorProperties:[[Ljava/lang/String;
            iload 1 /* type */
            aaload
            iconst_0
            aaload
         7: .line 401
            getstatic java.awt.Cursor.cursorProperties:[[Ljava/lang/String;
            iload 1 /* type */
            aaload
            iconst_1
            aaload
         8: .line 400
            invokestatic java.awt.Toolkit.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield java.awt.Cursor.name:Ljava/lang/String;
         9: .line 402
            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 412
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 155
            aload 0 /* this */
            iconst_0
            putfield java.awt.Cursor.type:I
         2: .line 227
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield java.awt.Cursor.anchor:Ljava/lang/Object;
         3: .line 413
            aload 0 /* this */
            iconst_m1
            putfield java.awt.Cursor.type:I
         4: .line 414
            aload 0 /* this */
            aload 1 /* name */
            putfield java.awt.Cursor.name:Ljava/lang/String;
         5: .line 415
            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 421
            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 430
            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 439
            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 446
            getstatic java.awt.Cursor.systemCustomCursors:Ljava/util/Hashtable;
            dup
            astore 0
            monitorenter
         1: .line 447
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            putstatic java.awt.Cursor.systemCustomCursorProperties:Ljava/util/Properties;
         2: .line 451
            new java.awt.Cursor$3
            dup
            invokespecial java.awt.Cursor$3.<init>:()V
         3: .line 450
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            pop
         4: .line 465
            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 466
            aconst_null
            putstatic java.awt.Cursor.systemCustomCursorProperties:Ljava/util/Properties;
         7: .line 467
            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 468
            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 469
            getstatic java.awt.Cursor.systemCustomCursorPropertiesFile:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 467
            invokespecial java.awt.AWTException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.Exception e
        11: .line 446
      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 472
      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  
}
SourceFile: "Cursor.java"
NestMembers:
  java.awt.Cursor$1  java.awt.Cursor$2  java.awt.Cursor$3  java.awt.Cursor$CursorDisposer
InnerClasses:
  java.awt.Cursor$1
  java.awt.Cursor$2
  java.awt.Cursor$3
  CursorDisposer = java.awt.Cursor$CursorDisposer of java.awt.Cursor
  public abstract CursorAccessor = sun.awt.AWTAccessor$CursorAccessor of sun.awt.AWTAccessor
  public final Level = sun.util.logging.PlatformLogger$Level of sun.util.logging.PlatformLogger