class com.sun.glass.ui.monocle.KeyInput
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.glass.ui.monocle.KeyInput
  super_class: java.lang.Object
{
  private static com.sun.glass.ui.monocle.KeyInput instance;
    descriptor: Lcom/sun/glass/ui/monocle/KeyInput;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private com.sun.glass.ui.monocle.KeyState state;
    descriptor: Lcom/sun/glass/ui/monocle/KeyState;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.glass.ui.monocle.IntSet keys;
    descriptor: Lcom/sun/glass/ui/monocle/IntSet;
    flags: (0x0002) ACC_PRIVATE

  private boolean numLock;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean capsLock;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private char[] NO_CHAR;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 39
            new com.sun.glass.ui.monocle.KeyInput
            dup
            invokespecial com.sun.glass.ui.monocle.KeyInput.<init>:()V
            putstatic com.sun.glass.ui.monocle.KeyInput.instance:Lcom/sun/glass/ui/monocle/KeyInput;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.glass.ui.monocle.KeyInput this
         0: .line 38
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 41
            aload 0 /* this */
            new com.sun.glass.ui.monocle.KeyState
            dup
            invokespecial com.sun.glass.ui.monocle.KeyState.<init>:()V
            putfield com.sun.glass.ui.monocle.KeyInput.state:Lcom/sun/glass/ui/monocle/KeyState;
         2: .line 42
            aload 0 /* this */
            new com.sun.glass.ui.monocle.IntSet
            dup
            invokespecial com.sun.glass.ui.monocle.IntSet.<init>:()V
            putfield com.sun.glass.ui.monocle.KeyInput.keys:Lcom/sun/glass/ui/monocle/IntSet;
         3: .line 43
            aload 0 /* this */
            iconst_0
            putfield com.sun.glass.ui.monocle.KeyInput.numLock:Z
         4: .line 44
            aload 0 /* this */
            iconst_0
            putfield com.sun.glass.ui.monocle.KeyInput.capsLock:Z
         5: .line 45
            aload 0 /* this */
            iconst_0
            newarray 5
            putfield com.sun.glass.ui.monocle.KeyInput.NO_CHAR:[C
         6: .line 38
            return
        end local 0 // com.sun.glass.ui.monocle.KeyInput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/glass/ui/monocle/KeyInput;

  static com.sun.glass.ui.monocle.KeyInput getInstance();
    descriptor: ()Lcom/sun/glass/ui/monocle/KeyInput;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 48
            getstatic com.sun.glass.ui.monocle.KeyInput.instance:Lcom/sun/glass/ui/monocle/KeyInput;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void getState(com.sun.glass.ui.monocle.KeyState);
    descriptor: (Lcom/sun/glass/ui/monocle/KeyState;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.glass.ui.monocle.KeyInput this
        start local 1 // com.sun.glass.ui.monocle.KeyState result
         0: .line 56
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.KeyInput.state:Lcom/sun/glass/ui/monocle/KeyState;
            aload 1 /* result */
            invokevirtual com.sun.glass.ui.monocle.KeyState.copyTo:(Lcom/sun/glass/ui/monocle/KeyState;)V
         1: .line 57
            return
        end local 1 // com.sun.glass.ui.monocle.KeyState result
        end local 0 // com.sun.glass.ui.monocle.KeyInput this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/glass/ui/monocle/KeyInput;
            0    2     1  result  Lcom/sun/glass/ui/monocle/KeyState;
    MethodParameters:
        Name  Flags
      result  

  void setState(com.sun.glass.ui.monocle.KeyState);
    descriptor: (Lcom/sun/glass/ui/monocle/KeyState;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.sun.glass.ui.monocle.KeyInput this
        start local 1 // com.sun.glass.ui.monocle.KeyState newState
         0: .line 65
            getstatic com.sun.glass.ui.monocle.MonocleSettings.settings:Lcom/sun/glass/ui/monocle/MonocleSettings;
            getfield com.sun.glass.ui.monocle.MonocleSettings.traceEvents:Z
            ifeq 2
         1: .line 66
            ldc "Set %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* newState */
            aastore
            invokestatic com.sun.glass.ui.monocle.MonocleTrace.traceEvent:(Ljava/lang/String;[Ljava/lang/Object;)V
         2: .line 68
      StackMap locals:
      StackMap stack:
            aload 1 /* newState */
            iconst_1
            invokevirtual com.sun.glass.ui.monocle.KeyState.getWindow:(Z)Lcom/sun/glass/ui/monocle/MonocleWindow;
            pop
         3: .line 70
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.KeyInput.state:Lcom/sun/glass/ui/monocle/KeyState;
            invokevirtual com.sun.glass.ui.monocle.KeyState.getKeysPressed:()Lcom/sun/glass/ui/monocle/IntSet;
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.KeyInput.keys:Lcom/sun/glass/ui/monocle/IntSet;
            aload 1 /* newState */
            invokevirtual com.sun.glass.ui.monocle.KeyState.getKeysPressed:()Lcom/sun/glass/ui/monocle/IntSet;
            invokevirtual com.sun.glass.ui.monocle.IntSet.difference:(Lcom/sun/glass/ui/monocle/IntSet;Lcom/sun/glass/ui/monocle/IntSet;)V
         4: .line 71
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.KeyInput.keys:Lcom/sun/glass/ui/monocle/IntSet;
            invokevirtual com.sun.glass.ui.monocle.IntSet.isEmpty:()Z
            ifne 11
         5: .line 72
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         6: goto 10
         7: .line 73
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.KeyInput.keys:Lcom/sun/glass/ui/monocle/IntSet;
            iload 2 /* i */
            invokevirtual com.sun.glass.ui.monocle.IntSet.get:(I)I
            istore 3 /* key */
        start local 3 // int key
         8: .line 74
            aload 0 /* this */
            aload 1 /* newState */
            bipush 112
            iload 3 /* key */
            invokevirtual com.sun.glass.ui.monocle.KeyInput.dispatchKeyEvent:(Lcom/sun/glass/ui/monocle/KeyState;II)V
        end local 3 // int key
         9: .line 72
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 2 /* i */
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.KeyInput.keys:Lcom/sun/glass/ui/monocle/IntSet;
            invokevirtual com.sun.glass.ui.monocle.IntSet.size:()I
            if_icmplt 7
        end local 2 // int i
        11: .line 77
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.KeyInput.keys:Lcom/sun/glass/ui/monocle/IntSet;
            invokevirtual com.sun.glass.ui.monocle.IntSet.clear:()V
        12: .line 79
            aload 1 /* newState */
            invokevirtual com.sun.glass.ui.monocle.KeyState.getKeysPressed:()Lcom/sun/glass/ui/monocle/IntSet;
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.KeyInput.keys:Lcom/sun/glass/ui/monocle/IntSet;
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.KeyInput.state:Lcom/sun/glass/ui/monocle/KeyState;
            invokevirtual com.sun.glass.ui.monocle.KeyState.getKeysPressed:()Lcom/sun/glass/ui/monocle/IntSet;
            invokevirtual com.sun.glass.ui.monocle.IntSet.difference:(Lcom/sun/glass/ui/monocle/IntSet;Lcom/sun/glass/ui/monocle/IntSet;)V
        13: .line 80
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.KeyInput.keys:Lcom/sun/glass/ui/monocle/IntSet;
            invokevirtual com.sun.glass.ui.monocle.IntSet.isEmpty:()Z
            ifne 32
        14: .line 81
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        15: goto 31
        16: .line 82
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.KeyInput.keys:Lcom/sun/glass/ui/monocle/IntSet;
            iload 2 /* i */
            invokevirtual com.sun.glass.ui.monocle.IntSet.get:(I)I
            istore 3 /* key */
        start local 3 // int key
        17: .line 83
            iload 3 /* key */
            bipush 20
            if_icmpne 22
        18: .line 84
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.KeyInput.capsLock:Z
            ifeq 19
            iconst_0
            goto 20
      StackMap locals: com.sun.glass.ui.monocle.KeyInput com.sun.glass.ui.monocle.KeyState int int
      StackMap stack: com.sun.glass.ui.monocle.KeyInput
        19: iconst_1
      StackMap locals: com.sun.glass.ui.monocle.KeyInput com.sun.glass.ui.monocle.KeyState int int
      StackMap stack: com.sun.glass.ui.monocle.KeyInput int
        20: putfield com.sun.glass.ui.monocle.KeyInput.capsLock:Z
        21: .line 85
            goto 29
      StackMap locals:
      StackMap stack:
        22: iload 3 /* key */
            sipush 144
            if_icmpne 27
        23: .line 86
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.KeyInput.numLock:Z
            ifeq 24
            iconst_0
            goto 25
      StackMap locals:
      StackMap stack: com.sun.glass.ui.monocle.KeyInput
        24: iconst_1
      StackMap locals: com.sun.glass.ui.monocle.KeyInput com.sun.glass.ui.monocle.KeyState int int
      StackMap stack: com.sun.glass.ui.monocle.KeyInput int
        25: putfield com.sun.glass.ui.monocle.KeyInput.numLock:Z
        26: .line 87
            goto 29
      StackMap locals:
      StackMap stack:
        27: iload 3 /* key */
            bipush 67
            if_icmpne 29
            aload 1 /* newState */
            invokevirtual com.sun.glass.ui.monocle.KeyState.isControlPressed:()Z
            ifeq 29
        28: .line 88
            invokedynamic run()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;
                  com/sun/glass/ui/monocle/KeyInput.lambda$0()Ljava/lang/Void; (6)
                  ()Ljava/lang/Void;
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        29: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* newState */
            bipush 111
            iload 3 /* key */
            invokevirtual com.sun.glass.ui.monocle.KeyInput.dispatchKeyEvent:(Lcom/sun/glass/ui/monocle/KeyState;II)V
        end local 3 // int key
        30: .line 81
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 2 /* i */
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.KeyInput.keys:Lcom/sun/glass/ui/monocle/IntSet;
            invokevirtual com.sun.glass.ui.monocle.IntSet.size:()I
            if_icmplt 16
        end local 2 // int i
        32: .line 98
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.KeyInput.keys:Lcom/sun/glass/ui/monocle/IntSet;
            invokevirtual com.sun.glass.ui.monocle.IntSet.clear:()V
        33: .line 99
            aload 1 /* newState */
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.KeyInput.state:Lcom/sun/glass/ui/monocle/KeyState;
            invokevirtual com.sun.glass.ui.monocle.KeyState.copyTo:(Lcom/sun/glass/ui/monocle/KeyState;)V
        34: .line 100
            return
        end local 1 // com.sun.glass.ui.monocle.KeyState newState
        end local 0 // com.sun.glass.ui.monocle.KeyInput this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   35     0      this  Lcom/sun/glass/ui/monocle/KeyInput;
            0   35     1  newState  Lcom/sun/glass/ui/monocle/KeyState;
            6   11     2         i  I
            8    9     3       key  I
           15   32     2         i  I
           17   30     3       key  I
    MethodParameters:
          Name  Flags
      newState  

  private void dispatchKeyEvent(com.sun.glass.ui.monocle.KeyState, int, int);
    descriptor: (Lcom/sun/glass/ui/monocle/KeyState;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // com.sun.glass.ui.monocle.KeyInput this
        start local 1 // com.sun.glass.ui.monocle.KeyState ks
        start local 2 // int type
        start local 3 // int key
         0: .line 103
            aload 1 /* ks */
            iconst_0
            invokevirtual com.sun.glass.ui.monocle.KeyState.getWindow:(Z)Lcom/sun/glass/ui/monocle/MonocleWindow;
            astore 4 /* window */
        start local 4 // com.sun.glass.ui.monocle.MonocleWindow window
         1: .line 104
            aload 4 /* window */
            ifnonnull 3
         2: .line 105
            return
         3: .line 107
      StackMap locals: com.sun.glass.ui.monocle.MonocleWindow
      StackMap stack:
            aload 4 /* window */
            invokevirtual com.sun.glass.ui.monocle.MonocleWindow.getView:()Lcom/sun/glass/ui/View;
            checkcast com.sun.glass.ui.monocle.MonocleView
            astore 5 /* view */
        start local 5 // com.sun.glass.ui.monocle.MonocleView view
         4: .line 108
            aload 5 /* view */
            ifnonnull 6
         5: .line 109
            return
         6: .line 111
      StackMap locals: com.sun.glass.ui.monocle.MonocleView
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ks */
            iload 3 /* key */
            invokevirtual com.sun.glass.ui.monocle.KeyInput.getKeyChars:(Lcom/sun/glass/ui/monocle/KeyState;I)[C
            astore 6 /* chars */
        start local 6 // char[] chars
         7: .line 112
            aload 1 /* ks */
            invokevirtual com.sun.glass.ui.monocle.KeyState.getModifiers:()I
            istore 7 /* modifiers */
        start local 7 // int modifiers
         8: .line 113
            aload 5 /* view */
            iload 2 /* type */
            iload 3 /* key */
            aload 6 /* chars */
            iload 7 /* modifiers */
            invokedynamic run(Lcom/sun/glass/ui/monocle/MonocleView;II[CI)Ljava/lang/Runnable;
              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:
                  ()V
                  com/sun/glass/ui/monocle/KeyInput.lambda$1(Lcom/sun/glass/ui/monocle/MonocleView;II[CI)V (6)
                  ()V
            invokestatic com.sun.glass.ui.monocle.RunnableProcessor.runLater:(Ljava/lang/Runnable;)V
         9: .line 116
            iload 2 /* type */
            bipush 111
            if_icmpne 11
            aload 6 /* chars */
            arraylength
            ifle 11
        10: .line 117
            aload 5 /* view */
            iload 3 /* key */
            aload 6 /* chars */
            iload 7 /* modifiers */
            invokedynamic run(Lcom/sun/glass/ui/monocle/MonocleView;I[CI)Ljava/lang/Runnable;
              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:
                  ()V
                  com/sun/glass/ui/monocle/KeyInput.lambda$2(Lcom/sun/glass/ui/monocle/MonocleView;I[CI)V (6)
                  ()V
            invokestatic com.sun.glass.ui.monocle.RunnableProcessor.runLater:(Ljava/lang/Runnable;)V
        11: .line 121
      StackMap locals: char[] int
      StackMap stack:
            return
        end local 7 // int modifiers
        end local 6 // char[] chars
        end local 5 // com.sun.glass.ui.monocle.MonocleView view
        end local 4 // com.sun.glass.ui.monocle.MonocleWindow window
        end local 3 // int key
        end local 2 // int type
        end local 1 // com.sun.glass.ui.monocle.KeyState ks
        end local 0 // com.sun.glass.ui.monocle.KeyInput this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lcom/sun/glass/ui/monocle/KeyInput;
            0   12     1         ks  Lcom/sun/glass/ui/monocle/KeyState;
            0   12     2       type  I
            0   12     3        key  I
            1   12     4     window  Lcom/sun/glass/ui/monocle/MonocleWindow;
            4   12     5       view  Lcom/sun/glass/ui/monocle/MonocleView;
            7   12     6      chars  [C
            8   12     7  modifiers  I
    MethodParameters:
      Name  Flags
      ks    
      type  
      key   

  private char[] getKeyChars(com.sun.glass.ui.monocle.KeyState, int);
    descriptor: (Lcom/sun/glass/ui/monocle/KeyState;I)[C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.sun.glass.ui.monocle.KeyInput this
        start local 1 // com.sun.glass.ui.monocle.KeyState state
        start local 2 // int key
         0: .line 124
            iconst_0
            istore 3 /* c */
        start local 3 // char c
         1: .line 125
            aload 1 /* state */
            invokevirtual com.sun.glass.ui.monocle.KeyState.isShiftPressed:()Z
            istore 4 /* shifted */
        start local 4 // boolean shifted
         2: .line 128
            iload 2 /* key */
            bipush 65
            if_icmplt 9
            iload 2 /* key */
            bipush 90
            if_icmpgt 9
         3: .line 129
            iload 4 /* shifted */
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.KeyInput.capsLock:Z
            ixor
            istore 4 /* shifted */
         4: .line 130
            iload 4 /* shifted */
            ifeq 7
         5: .line 131
            iload 2 /* key */
            bipush 65
            isub
            bipush 65
            iadd
            i2c
            istore 3 /* c */
         6: .line 132
            goto 70
         7: .line 133
      StackMap locals: int int
      StackMap stack:
            iload 2 /* key */
            bipush 65
            isub
            bipush 97
            iadd
            i2c
            istore 3 /* c */
         8: .line 135
            goto 70
      StackMap locals:
      StackMap stack:
         9: iload 2 /* key */
            bipush 96
            if_icmplt 13
            iload 2 /* key */
            bipush 105
            if_icmpgt 13
        10: .line 136
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.KeyInput.numLock:Z
            ifeq 70
        11: .line 137
            iload 2 /* key */
            bipush 96
            isub
            bipush 48
            iadd
            i2c
            istore 3 /* c */
        12: .line 139
            goto 70
      StackMap locals:
      StackMap stack:
        13: iload 2 /* key */
            bipush 48
            if_icmplt 29
            iload 2 /* key */
            bipush 57
            if_icmpgt 29
        14: .line 140
            iload 4 /* shifted */
            ifeq 27
        15: .line 141
            iload 2 /* key */
            tableswitch { // 48 - 57
                   48: 16
                   49: 17
                   50: 18
                   51: 19
                   52: 20
                   53: 21
                   54: 22
                   55: 23
                   56: 24
                   57: 25
              default: 26
          }
        16: .line 142
      StackMap locals:
      StackMap stack:
            bipush 41
            istore 3 /* c */
            goto 70
        17: .line 143
      StackMap locals:
      StackMap stack:
            bipush 33
            istore 3 /* c */
            goto 70
        18: .line 144
      StackMap locals:
      StackMap stack:
            bipush 64
            istore 3 /* c */
            goto 70
        19: .line 145
      StackMap locals:
      StackMap stack:
            bipush 35
            istore 3 /* c */
            goto 70
        20: .line 146
      StackMap locals:
      StackMap stack:
            bipush 36
            istore 3 /* c */
            goto 70
        21: .line 147
      StackMap locals:
      StackMap stack:
            bipush 37
            istore 3 /* c */
            goto 70
        22: .line 148
      StackMap locals:
      StackMap stack:
            bipush 94
            istore 3 /* c */
            goto 70
        23: .line 149
      StackMap locals:
      StackMap stack:
            bipush 38
            istore 3 /* c */
            goto 70
        24: .line 150
      StackMap locals:
      StackMap stack:
            bipush 42
            istore 3 /* c */
            goto 70
        25: .line 151
      StackMap locals:
      StackMap stack:
            bipush 40
            istore 3 /* c */
        26: .line 153
      StackMap locals:
      StackMap stack:
            goto 70
        27: .line 154
      StackMap locals:
      StackMap stack:
            iload 2 /* key */
            bipush 48
            isub
            bipush 48
            iadd
            i2c
            istore 3 /* c */
        28: .line 156
            goto 70
      StackMap locals:
      StackMap stack:
        29: iload 2 /* key */
            bipush 32
            if_icmpne 32
        30: .line 157
            bipush 32
            istore 3 /* c */
        31: .line 158
            goto 70
      StackMap locals:
      StackMap stack:
        32: iload 2 /* key */
            bipush 9
            if_icmpne 35
        33: .line 159
            bipush 9
            istore 3 /* c */
        34: .line 160
            goto 70
      StackMap locals:
      StackMap stack:
        35: iload 2 /* key */
            bipush 10
            if_icmpne 38
        36: .line 161
            bipush 10
            istore 3 /* c */
        37: .line 162
            goto 70
      StackMap locals:
      StackMap stack:
        38: iload 2 /* key */
            bipush 106
            if_icmpne 41
        39: .line 163
            bipush 42
            istore 3 /* c */
        40: .line 164
            goto 70
      StackMap locals:
      StackMap stack:
        41: iload 2 /* key */
            bipush 111
            if_icmpne 44
        42: .line 165
            bipush 47
            istore 3 /* c */
        43: .line 166
            goto 70
      StackMap locals:
      StackMap stack:
        44: iload 4 /* shifted */
            ifeq 58
        45: .line 167
            iload 2 /* key */
            lookupswitch { // 11
                   44: 47
                   45: 55
                   46: 48
                   47: 49
                   59: 50
                   61: 56
                   92: 54
                  161: 52
                  162: 53
                  192: 46
                  222: 51
              default: 57
          }
        46: .line 168
      StackMap locals:
      StackMap stack:
            bipush 126
            istore 3 /* c */
            goto 70
        47: .line 169
      StackMap locals:
      StackMap stack:
            bipush 60
            istore 3 /* c */
            goto 70
        48: .line 170
      StackMap locals:
      StackMap stack:
            bipush 62
            istore 3 /* c */
            goto 70
        49: .line 171
      StackMap locals:
      StackMap stack:
            bipush 63
            istore 3 /* c */
            goto 70
        50: .line 172
      StackMap locals:
      StackMap stack:
            bipush 58
            istore 3 /* c */
            goto 70
        51: .line 173
      StackMap locals:
      StackMap stack:
            bipush 34
            istore 3 /* c */
            goto 70
        52: .line 174
      StackMap locals:
      StackMap stack:
            bipush 123
            istore 3 /* c */
            goto 70
        53: .line 175
      StackMap locals:
      StackMap stack:
            bipush 125
            istore 3 /* c */
            goto 70
        54: .line 176
      StackMap locals:
      StackMap stack:
            bipush 124
            istore 3 /* c */
            goto 70
        55: .line 177
      StackMap locals:
      StackMap stack:
            bipush 95
            istore 3 /* c */
            goto 70
        56: .line 178
      StackMap locals:
      StackMap stack:
            bipush 43
            istore 3 /* c */
        57: .line 179
      StackMap locals:
      StackMap stack:
            goto 70
        58: .line 180
      StackMap locals:
      StackMap stack:
            iload 2 /* key */
            lookupswitch { // 11
                   44: 60
                   45: 68
                   46: 61
                   47: 62
                   59: 63
                   61: 69
                   92: 67
                  161: 65
                  162: 66
                  192: 59
                  222: 64
              default: 70
          }
        59: .line 181
      StackMap locals:
      StackMap stack:
            bipush 96
            istore 3 /* c */
            goto 70
        60: .line 182
      StackMap locals:
      StackMap stack:
            bipush 44
            istore 3 /* c */
            goto 70
        61: .line 183
      StackMap locals:
      StackMap stack:
            bipush 46
            istore 3 /* c */
            goto 70
        62: .line 184
      StackMap locals:
      StackMap stack:
            bipush 47
            istore 3 /* c */
            goto 70
        63: .line 185
      StackMap locals:
      StackMap stack:
            bipush 59
            istore 3 /* c */
            goto 70
        64: .line 186
      StackMap locals:
      StackMap stack:
            bipush 39
            istore 3 /* c */
            goto 70
        65: .line 187
      StackMap locals:
      StackMap stack:
            bipush 91
            istore 3 /* c */
            goto 70
        66: .line 188
      StackMap locals:
      StackMap stack:
            bipush 93
            istore 3 /* c */
            goto 70
        67: .line 189
      StackMap locals:
      StackMap stack:
            bipush 92
            istore 3 /* c */
            goto 70
        68: .line 190
      StackMap locals:
      StackMap stack:
            bipush 45
            istore 3 /* c */
            goto 70
        69: .line 191
      StackMap locals:
      StackMap stack:
            bipush 61
            istore 3 /* c */
        70: .line 194
      StackMap locals:
      StackMap stack:
            iload 3 /* c */
            ifne 71
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.KeyInput.NO_CHAR:[C
            goto 72
      StackMap locals:
      StackMap stack:
        71: iconst_1
            newarray 5
            dup
            iconst_0
            iload 3 /* c */
            castore
      StackMap locals:
      StackMap stack: char[]
        72: areturn
        end local 4 // boolean shifted
        end local 3 // char c
        end local 2 // int key
        end local 1 // com.sun.glass.ui.monocle.KeyState state
        end local 0 // com.sun.glass.ui.monocle.KeyInput this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   73     0     this  Lcom/sun/glass/ui/monocle/KeyInput;
            0   73     1    state  Lcom/sun/glass/ui/monocle/KeyState;
            0   73     2      key  I
            1   73     3        c  C
            2   73     4  shifted  Z
    MethodParameters:
       Name  Flags
      state  
      key    

  int getKeyCodeForChar(char);
    descriptor: (C)I
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.glass.ui.monocle.KeyInput this
        start local 1 // char c
         0: .line 198
            iload 1 /* c */
            invokestatic java.lang.Character.toUpperCase:(C)C
            istore 1 /* c */
         1: .line 200
            iload 1 /* c */
            lookupswitch { // 21
                   33: 2
                   34: 19
                   35: 4
                   36: 5
                   37: 6
                   38: 8
                   40: 10
                   41: 11
                   42: 9
                   43: 14
                   58: 18
                   60: 20
                   62: 21
                   63: 22
                   64: 3
                   94: 7
                   95: 13
                  123: 15
                  124: 17
                  125: 16
                  126: 12
              default: 23
          }
         2: .line 201
      StackMap locals:
      StackMap stack:
            bipush 49
            istore 1 /* c */
            goto 23
         3: .line 202
      StackMap locals:
      StackMap stack:
            bipush 50
            istore 1 /* c */
            goto 23
         4: .line 203
      StackMap locals:
      StackMap stack:
            bipush 51
            istore 1 /* c */
            goto 23
         5: .line 204
      StackMap locals:
      StackMap stack:
            bipush 52
            istore 1 /* c */
            goto 23
         6: .line 205
      StackMap locals:
      StackMap stack:
            bipush 53
            istore 1 /* c */
            goto 23
         7: .line 206
      StackMap locals:
      StackMap stack:
            bipush 54
            istore 1 /* c */
            goto 23
         8: .line 207
      StackMap locals:
      StackMap stack:
            bipush 55
            istore 1 /* c */
            goto 23
         9: .line 208
      StackMap locals:
      StackMap stack:
            bipush 56
            istore 1 /* c */
            goto 23
        10: .line 209
      StackMap locals:
      StackMap stack:
            bipush 57
            istore 1 /* c */
            goto 23
        11: .line 210
      StackMap locals:
      StackMap stack:
            bipush 48
            istore 1 /* c */
            goto 23
        12: .line 211
      StackMap locals:
      StackMap stack:
            bipush 96
            istore 1 /* c */
            goto 23
        13: .line 212
      StackMap locals:
      StackMap stack:
            bipush 45
            istore 1 /* c */
            goto 23
        14: .line 213
      StackMap locals:
      StackMap stack:
            bipush 61
            istore 1 /* c */
            goto 23
        15: .line 214
      StackMap locals:
      StackMap stack:
            bipush 91
            istore 1 /* c */
            goto 23
        16: .line 215
      StackMap locals:
      StackMap stack:
            bipush 93
            istore 1 /* c */
            goto 23
        17: .line 216
      StackMap locals:
      StackMap stack:
            bipush 92
            istore 1 /* c */
            goto 23
        18: .line 217
      StackMap locals:
      StackMap stack:
            bipush 59
            istore 1 /* c */
            goto 23
        19: .line 218
      StackMap locals:
      StackMap stack:
            bipush 39
            istore 1 /* c */
            goto 23
        20: .line 219
      StackMap locals:
      StackMap stack:
            bipush 44
            istore 1 /* c */
            goto 23
        21: .line 220
      StackMap locals:
      StackMap stack:
            bipush 46
            istore 1 /* c */
            goto 23
        22: .line 221
      StackMap locals:
      StackMap stack:
            bipush 47
            istore 1 /* c */
        23: .line 223
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            bipush 65
            if_icmplt 25
            iload 1 /* c */
            bipush 90
            if_icmpgt 25
        24: .line 224
            iload 1 /* c */
            bipush 65
            isub
            bipush 65
            iadd
            ireturn
        25: .line 225
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            bipush 48
            if_icmplt 27
            iload 1 /* c */
            bipush 57
            if_icmpgt 27
        26: .line 226
            iload 1 /* c */
            bipush 48
            isub
            bipush 48
            iadd
            ireturn
        27: .line 228
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            lookupswitch { // 11
                   39: 35
                   44: 36
                   45: 29
                   46: 37
                   47: 38
                   59: 34
                   61: 30
                   91: 31
                   92: 33
                   93: 32
                   96: 28
              default: 39
          }
        28: .line 229
      StackMap locals:
      StackMap stack:
            sipush 192
            ireturn
        29: .line 230
      StackMap locals:
      StackMap stack:
            bipush 45
            ireturn
        30: .line 231
      StackMap locals:
      StackMap stack:
            bipush 61
            ireturn
        31: .line 232
      StackMap locals:
      StackMap stack:
            sipush 161
            ireturn
        32: .line 233
      StackMap locals:
      StackMap stack:
            sipush 162
            ireturn
        33: .line 234
      StackMap locals:
      StackMap stack:
            bipush 92
            ireturn
        34: .line 235
      StackMap locals:
      StackMap stack:
            bipush 59
            ireturn
        35: .line 236
      StackMap locals:
      StackMap stack:
            sipush 222
            ireturn
        36: .line 237
      StackMap locals:
      StackMap stack:
            bipush 44
            ireturn
        37: .line 238
      StackMap locals:
      StackMap stack:
            bipush 46
            ireturn
        38: .line 239
      StackMap locals:
      StackMap stack:
            bipush 47
            ireturn
        39: .line 240
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // char c
        end local 0 // com.sun.glass.ui.monocle.KeyInput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   40     0  this  Lcom/sun/glass/ui/monocle/KeyInput;
            0   40     1     c  C
    MethodParameters:
      Name  Flags
      c     

  private static java.lang.Void lambda$0();
    descriptor: ()Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 89
            ldc "1"
            ldc "JAVAFX_DEBUG"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 90
            iconst_0
            invokestatic java.lang.System.exit:(I)V
         2: .line 92
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$1(com.sun.glass.ui.monocle.MonocleView, int, int, char[], int);
    descriptor: (Lcom/sun/glass/ui/monocle/MonocleView;II[CI)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
         0: .line 114
            aload 0
            iload 1
            iload 2
            aload 3
            iload 4
            invokevirtual com.sun.glass.ui.monocle.MonocleView.notifyKey:(II[CI)V
         1: .line 115
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$2(com.sun.glass.ui.monocle.MonocleView, int, char[], int);
    descriptor: (Lcom/sun/glass/ui/monocle/MonocleView;I[CI)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=4, args_size=4
         0: .line 118
            aload 0
            bipush 113
            iload 1
            aload 2
            iload 3
            invokevirtual com.sun.glass.ui.monocle.MonocleView.notifyKey:(II[CI)V
         1: .line 119
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "KeyInput.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles