public class com.apple.laf.AquaButtonUI extends javax.swing.plaf.basic.BasicButtonUI implements com.apple.laf.AquaUtilControlSize$Sizeable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.apple.laf.AquaButtonUI
  super_class: javax.swing.plaf.basic.BasicButtonUI
{
  private static final java.lang.String BUTTON_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "JButton.buttonType"

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

  private static final com.apple.laf.AquaUtils$RecyclableSingleton<com.apple.laf.AquaButtonUI> buttonUI;
    descriptor: Lcom/apple/laf/AquaUtils$RecyclableSingleton;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lcom/apple/laf/AquaUtils$RecyclableSingleton<Lcom/apple/laf/AquaButtonUI;>;

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

  private java.awt.Color defaultDisabledTextColor;
    descriptor: Ljava/awt/Color;
    flags: (0x0002) ACC_PRIVATE

  private static final com.apple.laf.AquaUtils$RecyclableSingleton<com.apple.laf.AquaButtonUI$AquaHierarchyButtonListener> fHierListener;
    descriptor: Lcom/apple/laf/AquaUtils$RecyclableSingleton;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lcom/apple/laf/AquaUtils$RecyclableSingleton<Lcom/apple/laf/AquaButtonUI$AquaHierarchyButtonListener;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 51
            new com.apple.laf.AquaUtils$RecyclableSingletonFromDefaultConstructor
            dup
            ldc Lcom/apple/laf/AquaButtonUI;
            invokespecial com.apple.laf.AquaUtils$RecyclableSingletonFromDefaultConstructor.<init>:(Ljava/lang/Class;)V
            putstatic com.apple.laf.AquaButtonUI.buttonUI:Lcom/apple/laf/AquaUtils$RecyclableSingleton;
         1: .line 465
            new com.apple.laf.AquaUtils$RecyclableSingletonFromDefaultConstructor
            dup
            ldc Lcom/apple/laf/AquaButtonUI$AquaHierarchyButtonListener;
            invokespecial com.apple.laf.AquaUtils$RecyclableSingletonFromDefaultConstructor.<init>:(Ljava/lang/Class;)V
            putstatic com.apple.laf.AquaButtonUI.fHierListener:Lcom/apple/laf/AquaUtils$RecyclableSingleton;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.apple.laf.AquaButtonUI this
         0: .line 47
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicButtonUI.<init>:()V
         1: .line 57
            aload 0 /* this */
            iconst_0
            putfield com.apple.laf.AquaButtonUI.defaults_initialized:Z
         2: .line 58
            aload 0 /* this */
            aconst_null
            putfield com.apple.laf.AquaButtonUI.defaultDisabledTextColor:Ljava/awt/Color;
         3: .line 47
            return
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/apple/laf/AquaButtonUI;

  public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Ljavax/swing/plaf/ComponentUI;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.JComponent c
         0: .line 53
            getstatic com.apple.laf.AquaButtonUI.buttonUI:Lcom/apple/laf/AquaUtils$RecyclableSingleton;
            invokevirtual com.apple.laf.AquaUtils$RecyclableSingleton.get:()Ljava/lang/Object;
            checkcast javax.swing.plaf.ComponentUI
            areturn
        end local 0 // javax.swing.JComponent c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     final

  protected void installDefaults(javax.swing.AbstractButton);
    descriptor: (Ljavax/swing/AbstractButton;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // javax.swing.AbstractButton b
         0: .line 62
            aload 0 /* this */
            invokevirtual com.apple.laf.AquaButtonUI.getPropertyPrefix:()Ljava/lang/String;
            astore 2 /* pp */
        start local 2 // java.lang.String pp
         1: .line 64
            aload 0 /* this */
            getfield com.apple.laf.AquaButtonUI.defaults_initialized:Z
            ifne 4
         2: .line 65
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 2 /* pp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "disabledText"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic javax.swing.UIManager.getColor:(Ljava/lang/Object;)Ljava/awt/Color;
            putfield com.apple.laf.AquaButtonUI.defaultDisabledTextColor:Ljava/awt/Color;
         3: .line 66
            aload 0 /* this */
            iconst_1
            putfield com.apple.laf.AquaButtonUI.defaults_initialized:Z
         4: .line 69
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            new java.lang.StringBuilder
            dup
            aload 2 /* pp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "margin"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic javax.swing.UIManager.getInsets:(Ljava/lang/Object;)Ljava/awt/Insets;
            invokevirtual com.apple.laf.AquaButtonUI.setButtonMarginIfNeeded:(Ljavax/swing/AbstractButton;Ljava/awt/Insets;)V
         5: .line 71
            aload 1 /* b */
            new java.lang.StringBuilder
            dup
            aload 2 /* pp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "background"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            aload 2 /* pp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "foreground"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            aload 2 /* pp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "font"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic javax.swing.LookAndFeel.installColorsAndFont:(Ljavax/swing/JComponent;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         6: .line 72
            aload 1 /* b */
            ldc "opaque"
            new java.lang.StringBuilder
            dup
            aload 2 /* pp */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "opaque"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic javax.swing.UIManager.getBoolean:(Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic javax.swing.LookAndFeel.installProperty:(Ljavax/swing/JComponent;Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 74
            aload 1 /* b */
            ldc "JButton.buttonType"
            invokevirtual javax.swing.AbstractButton.getClientProperty:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* borderProp */
        start local 3 // java.lang.Object borderProp
         8: .line 75
            iconst_0
            istore 4 /* hasBorder */
        start local 4 // boolean hasBorder
         9: .line 77
            aload 3 /* borderProp */
            ifnull 11
        10: .line 78
            aload 0 /* this */
            aload 1 /* b */
            aload 3 /* borderProp */
            invokevirtual com.apple.laf.AquaButtonUI.setButtonType:(Ljavax/swing/AbstractButton;Ljava/lang/Object;)Z
            istore 4 /* hasBorder */
        11: .line 80
      StackMap locals: java.lang.Object int
      StackMap stack:
            iload 4 /* hasBorder */
            ifne 12
            aload 0 /* this */
            aload 1 /* b */
            invokevirtual com.apple.laf.AquaButtonUI.setThemeBorder:(Ljavax/swing/AbstractButton;)V
        12: .line 82
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            ldc "JButton.segmentPosition"
            invokevirtual javax.swing.AbstractButton.getClientProperty:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* segmentProp */
        start local 5 // java.lang.Object segmentProp
        13: .line 83
            aload 5 /* segmentProp */
            ifnull 17
        14: .line 84
            aload 1 /* b */
            invokevirtual javax.swing.AbstractButton.getBorder:()Ljavax/swing/border/Border;
            astore 6 /* border */
        start local 6 // javax.swing.border.Border border
        15: .line 85
            aload 6 /* border */
            instanceof com.apple.laf.AquaBorder
            ifne 16
            return
        16: .line 87
      StackMap locals: java.lang.Object javax.swing.border.Border
      StackMap stack:
            aload 1 /* b */
            aload 1 /* b */
            aload 1 /* b */
            ldc "JButton.buttonType"
            invokevirtual javax.swing.AbstractButton.getClientProperty:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 5 /* segmentProp */
            invokestatic com.apple.laf.AquaButtonExtendedTypes.getBorderForPosition:(Ljavax/swing/AbstractButton;Ljava/lang/Object;Ljava/lang/Object;)Ljavax/swing/border/Border;
            invokevirtual javax.swing.AbstractButton.setBorder:(Ljavax/swing/border/Border;)V
        end local 6 // javax.swing.border.Border border
        17: .line 89
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.Object segmentProp
        end local 4 // boolean hasBorder
        end local 3 // java.lang.Object borderProp
        end local 2 // java.lang.String pp
        end local 1 // javax.swing.AbstractButton b
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Lcom/apple/laf/AquaButtonUI;
            0   18     1            b  Ljavax/swing/AbstractButton;
            1   18     2           pp  Ljava/lang/String;
            8   18     3   borderProp  Ljava/lang/Object;
            9   18     4    hasBorder  Z
           13   18     5  segmentProp  Ljava/lang/Object;
           15   17     6       border  Ljavax/swing/border/Border;
    MethodParameters:
      Name  Flags
      b     final

  public void applySizeFor(javax.swing.JComponent, apple.laf.JRSUIConstants$Size);
    descriptor: (Ljavax/swing/JComponent;Lapple/laf/JRSUIConstants$Size;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // javax.swing.JComponent c
        start local 2 // apple.laf.JRSUIConstants$Size size
         0: .line 94
            return
        end local 2 // apple.laf.JRSUIConstants$Size size
        end local 1 // javax.swing.JComponent c
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/apple/laf/AquaButtonUI;
            0    1     1     c  Ljavax/swing/JComponent;
            0    1     2  size  Lapple/laf/JRSUIConstants$Size;
    MethodParameters:
      Name  Flags
      c     final
      size  final

  protected void setThemeBorder(javax.swing.AbstractButton);
    descriptor: (Ljavax/swing/AbstractButton;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // javax.swing.AbstractButton b
         0: .line 98
            aload 1 /* b */
            invokevirtual javax.swing.AbstractButton.getUI:()Ljavax/swing/plaf/ButtonUI;
            astore 2 /* genericUI */
        start local 2 // javax.swing.plaf.ButtonUI genericUI
         1: .line 99
            aload 2 /* genericUI */
            instanceof com.apple.laf.AquaButtonUI
            ifne 2
            return
         2: .line 100
      StackMap locals: javax.swing.plaf.ButtonUI
      StackMap stack:
            aload 2 /* genericUI */
            checkcast com.apple.laf.AquaButtonUI
            astore 3 /* ui */
        start local 3 // com.apple.laf.AquaButtonUI ui
         3: .line 102
            aload 1 /* b */
            invokevirtual javax.swing.AbstractButton.getBorder:()Ljavax/swing/border/Border;
            astore 4 /* border */
        start local 4 // javax.swing.border.Border border
         4: .line 103
            aload 3 /* ui */
            aload 1 /* b */
            invokevirtual com.apple.laf.AquaButtonUI.isBorderFromProperty:(Ljavax/swing/AbstractButton;)Z
            ifne 21
            aload 4 /* border */
            ifnull 5
            aload 4 /* border */
            instanceof javax.swing.plaf.UIResource
            ifne 5
            aload 4 /* border */
            instanceof com.apple.laf.AquaButtonBorder
            ifeq 21
         5: .line 106
      StackMap locals: com.apple.laf.AquaButtonUI javax.swing.border.Border
      StackMap stack:
            iconst_1
            istore 5 /* iconFont */
        start local 5 // boolean iconFont
         6: .line 107
            aload 1 /* b */
            invokestatic com.apple.laf.AquaButtonUI.isOnToolbar:(Ljavax/swing/AbstractButton;)Z
            ifeq 12
         7: .line 108
            aload 1 /* b */
            instanceof javax.swing.JToggleButton
            ifeq 10
         8: .line 109
            invokestatic com.apple.laf.AquaButtonBorder.getToolBarButtonBorder:()Ljavax/swing/border/Border;
            astore 4 /* border */
         9: .line 110
            goto 17
        10: .line 111
      StackMap locals: int
      StackMap stack:
            invokestatic com.apple.laf.AquaButtonBorder.getBevelButtonBorder:()Lcom/apple/laf/AquaButtonBorder;
            astore 4 /* border */
        11: .line 113
            goto 17
      StackMap locals:
      StackMap stack:
        12: aload 1 /* b */
            invokevirtual javax.swing.AbstractButton.getIcon:()Ljavax/swing/Icon;
            ifnonnull 13
            aload 1 /* b */
            invokevirtual javax.swing.AbstractButton.getComponentCount:()I
            ifle 15
        13: .line 118
      StackMap locals:
      StackMap stack:
            invokestatic com.apple.laf.AquaButtonBorder.getToggleButtonBorder:()Lcom/apple/laf/AquaButtonBorder;
            astore 4 /* border */
        14: .line 119
            goto 17
        15: .line 120
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.apple.laf.AquaButtonUI.getPropertyPrefix:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "border"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic javax.swing.UIManager.getBorder:(Ljava/lang/Object;)Ljavax/swing/border/Border;
            astore 4 /* border */
        16: .line 121
            iconst_0
            istore 5 /* iconFont */
        17: .line 124
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            aload 4 /* border */
            invokevirtual javax.swing.AbstractButton.setBorder:(Ljavax/swing/border/Border;)V
        18: .line 126
            aload 1 /* b */
            invokevirtual javax.swing.AbstractButton.getFont:()Ljava/awt/Font;
            astore 6 /* currentFont */
        start local 6 // java.awt.Font currentFont
        19: .line 127
            iload 5 /* iconFont */
            ifeq 21
            aload 6 /* currentFont */
            ifnull 20
            aload 6 /* currentFont */
            instanceof javax.swing.plaf.UIResource
            ifeq 21
        20: .line 128
      StackMap locals: java.awt.Font
      StackMap stack:
            aload 1 /* b */
            ldc "IconButton.font"
            invokestatic javax.swing.UIManager.getFont:(Ljava/lang/Object;)Ljava/awt/Font;
            invokevirtual javax.swing.AbstractButton.setFont:(Ljava/awt/Font;)V
        end local 6 // java.awt.Font currentFont
        end local 5 // boolean iconFont
        21: .line 131
      StackMap locals:
      StackMap stack:
            return
        end local 4 // javax.swing.border.Border border
        end local 3 // com.apple.laf.AquaButtonUI ui
        end local 2 // javax.swing.plaf.ButtonUI genericUI
        end local 1 // javax.swing.AbstractButton b
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0         this  Lcom/apple/laf/AquaButtonUI;
            0   22     1            b  Ljavax/swing/AbstractButton;
            1   22     2    genericUI  Ljavax/swing/plaf/ButtonUI;
            3   22     3           ui  Lcom/apple/laf/AquaButtonUI;
            4   22     4       border  Ljavax/swing/border/Border;
            6   21     5     iconFont  Z
           19   21     6  currentFont  Ljava/awt/Font;
    MethodParameters:
      Name  Flags
      b     final

  protected static boolean isOnToolbar(javax.swing.AbstractButton);
    descriptor: (Ljavax/swing/AbstractButton;)Z
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // javax.swing.AbstractButton b
         0: .line 134
            aload 0 /* b */
            invokevirtual javax.swing.AbstractButton.getParent:()Ljava/awt/Container;
            astore 1 /* parent */
        start local 1 // java.awt.Component parent
         1: .line 135
            goto 4
         2: .line 136
      StackMap locals: java.awt.Component
      StackMap stack:
            aload 1 /* parent */
            instanceof javax.swing.JToolBar
            ifeq 3
            iconst_1
            ireturn
         3: .line 137
      StackMap locals:
      StackMap stack:
            aload 1 /* parent */
            invokevirtual java.awt.Component.getParent:()Ljava/awt/Container;
            astore 1 /* parent */
         4: .line 135
      StackMap locals:
      StackMap stack:
            aload 1 /* parent */
            ifnonnull 2
         5: .line 139
            iconst_0
            ireturn
        end local 1 // java.awt.Component parent
        end local 0 // javax.swing.AbstractButton b
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0       b  Ljavax/swing/AbstractButton;
            1    6     1  parent  Ljava/awt/Component;
    MethodParameters:
      Name  Flags
      b     final

  protected static void updateBorder(javax.swing.AbstractButton);
    descriptor: (Ljavax/swing/AbstractButton;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // javax.swing.AbstractButton b
         0: .line 145
            aload 0 /* b */
            ldc "JButton.buttonType"
            invokevirtual javax.swing.AbstractButton.getClientProperty:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* prop */
        start local 1 // java.lang.Object prop
         1: .line 146
            aload 1 /* prop */
            ifnull 2
            return
         2: .line 148
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* b */
            invokevirtual javax.swing.AbstractButton.getUI:()Ljavax/swing/plaf/ButtonUI;
            astore 2 /* ui */
        start local 2 // javax.swing.plaf.ButtonUI ui
         3: .line 149
            aload 2 /* ui */
            instanceof com.apple.laf.AquaButtonUI
            ifne 4
            return
         4: .line 150
      StackMap locals: javax.swing.plaf.ButtonUI
      StackMap stack:
            aload 0 /* b */
            invokevirtual javax.swing.AbstractButton.getBorder:()Ljavax/swing/border/Border;
            ifnull 5
            aload 2 /* ui */
            checkcast com.apple.laf.AquaButtonUI
            aload 0 /* b */
            invokevirtual com.apple.laf.AquaButtonUI.setThemeBorder:(Ljavax/swing/AbstractButton;)V
         5: .line 151
      StackMap locals:
      StackMap stack:
            return
        end local 2 // javax.swing.plaf.ButtonUI ui
        end local 1 // java.lang.Object prop
        end local 0 // javax.swing.AbstractButton b
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     b  Ljavax/swing/AbstractButton;
            1    6     1  prop  Ljava/lang/Object;
            3    6     2    ui  Ljavax/swing/plaf/ButtonUI;
    MethodParameters:
      Name  Flags
      b     final

  protected void setButtonMarginIfNeeded(javax.swing.AbstractButton, java.awt.Insets);
    descriptor: (Ljavax/swing/AbstractButton;Ljava/awt/Insets;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // javax.swing.AbstractButton b
        start local 2 // java.awt.Insets insets
         0: .line 154
            aload 1 /* b */
            invokevirtual javax.swing.AbstractButton.getMargin:()Ljava/awt/Insets;
            astore 3 /* margin */
        start local 3 // java.awt.Insets margin
         1: .line 155
            aload 3 /* margin */
            ifnull 2
            aload 3 /* margin */
            instanceof javax.swing.plaf.UIResource
            ifeq 3
         2: .line 156
      StackMap locals: java.awt.Insets
      StackMap stack:
            aload 1 /* b */
            aload 2 /* insets */
            invokevirtual javax.swing.AbstractButton.setMargin:(Ljava/awt/Insets;)V
         3: .line 158
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.awt.Insets margin
        end local 2 // java.awt.Insets insets
        end local 1 // javax.swing.AbstractButton b
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/apple/laf/AquaButtonUI;
            0    4     1       b  Ljavax/swing/AbstractButton;
            0    4     2  insets  Ljava/awt/Insets;
            1    4     3  margin  Ljava/awt/Insets;
    MethodParameters:
        Name  Flags
      b       final
      insets  final

  public boolean isBorderFromProperty(javax.swing.AbstractButton);
    descriptor: (Ljavax/swing/AbstractButton;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // javax.swing.AbstractButton button
         0: .line 161
            aload 1 /* button */
            ldc "JButton.buttonType"
            invokevirtual javax.swing.AbstractButton.getClientProperty:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // javax.swing.AbstractButton button
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/apple/laf/AquaButtonUI;
            0    2     1  button  Ljavax/swing/AbstractButton;
    MethodParameters:
        Name  Flags
      button  final

  protected boolean setButtonType(javax.swing.AbstractButton, java.lang.Object);
    descriptor: (Ljavax/swing/AbstractButton;Ljava/lang/Object;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // javax.swing.AbstractButton b
        start local 2 // java.lang.Object prop
         0: .line 165
            aload 2 /* prop */
            instanceof java.lang.String
            ifne 3
         1: .line 166
            aload 1 /* b */
            ldc "JButton.buttonType"
            aconst_null
            invokevirtual javax.swing.AbstractButton.putClientProperty:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 167
            iconst_0
            ireturn
         3: .line 170
      StackMap locals:
      StackMap stack:
            aload 2 /* prop */
            checkcast java.lang.String
            astore 3 /* buttonType */
        start local 3 // java.lang.String buttonType
         4: .line 171
            iconst_1
            istore 4 /* iconFont */
        start local 4 // boolean iconFont
         5: .line 173
            aload 3 /* buttonType */
            invokestatic com.apple.laf.AquaButtonExtendedTypes.getSpecifierByName:(Ljava/lang/String;)Lcom/apple/laf/AquaButtonExtendedTypes$TypeSpecifier;
            astore 5 /* specifier */
        start local 5 // com.apple.laf.AquaButtonExtendedTypes$TypeSpecifier specifier
         6: .line 174
            aload 5 /* specifier */
            ifnull 9
         7: .line 175
            aload 1 /* b */
            aload 5 /* specifier */
            invokevirtual com.apple.laf.AquaButtonExtendedTypes$TypeSpecifier.getBorder:()Ljavax/swing/border/Border;
            invokevirtual javax.swing.AbstractButton.setBorder:(Ljavax/swing/border/Border;)V
         8: .line 176
            aload 5 /* specifier */
            getfield com.apple.laf.AquaButtonExtendedTypes$TypeSpecifier.setIconFont:Z
            istore 4 /* iconFont */
         9: .line 179
      StackMap locals: java.lang.String int com.apple.laf.AquaButtonExtendedTypes$TypeSpecifier
      StackMap stack:
            aload 1 /* b */
            invokevirtual javax.swing.AbstractButton.getFont:()Ljava/awt/Font;
            astore 6 /* currentFont */
        start local 6 // java.awt.Font currentFont
        10: .line 180
            aload 6 /* currentFont */
            ifnull 11
            aload 6 /* currentFont */
            instanceof javax.swing.plaf.UIResource
            ifeq 14
        11: .line 181
      StackMap locals: java.awt.Font
      StackMap stack:
            aload 1 /* b */
            iload 4 /* iconFont */
            ifeq 12
            ldc "IconButton.font"
            goto 13
      StackMap locals:
      StackMap stack: javax.swing.AbstractButton
        12: ldc "Button.font"
      StackMap locals: com.apple.laf.AquaButtonUI javax.swing.AbstractButton java.lang.Object java.lang.String int com.apple.laf.AquaButtonExtendedTypes$TypeSpecifier java.awt.Font
      StackMap stack: javax.swing.AbstractButton java.lang.String
        13: invokestatic javax.swing.UIManager.getFont:(Ljava/lang/Object;)Ljava/awt/Font;
            invokevirtual javax.swing.AbstractButton.setFont:(Ljava/awt/Font;)V
        14: .line 184
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // java.awt.Font currentFont
        end local 5 // com.apple.laf.AquaButtonExtendedTypes$TypeSpecifier specifier
        end local 4 // boolean iconFont
        end local 3 // java.lang.String buttonType
        end local 2 // java.lang.Object prop
        end local 1 // javax.swing.AbstractButton b
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lcom/apple/laf/AquaButtonUI;
            0   15     1            b  Ljavax/swing/AbstractButton;
            0   15     2         prop  Ljava/lang/Object;
            4   15     3   buttonType  Ljava/lang/String;
            5   15     4     iconFont  Z
            6   15     5    specifier  Lcom/apple/laf/AquaButtonExtendedTypes$TypeSpecifier;
           10   15     6  currentFont  Ljava/awt/Font;
    MethodParameters:
      Name  Flags
      b     final
      prop  final

  protected void installListeners(javax.swing.AbstractButton);
    descriptor: (Ljavax/swing/AbstractButton;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // javax.swing.AbstractButton b
         0: .line 188
            aload 0 /* this */
            aload 1 /* b */
            invokevirtual com.apple.laf.AquaButtonUI.createButtonListener:(Ljavax/swing/AbstractButton;)Lcom/apple/laf/AquaButtonUI$AquaButtonListener;
            astore 2 /* listener */
        start local 2 // com.apple.laf.AquaButtonUI$AquaButtonListener listener
         1: .line 189
            aload 2 /* listener */
            ifnull 9
         2: .line 192
            aload 1 /* b */
            aload 0 /* this */
            aload 2 /* listener */
            invokevirtual javax.swing.AbstractButton.putClientProperty:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 194
            aload 1 /* b */
            aload 2 /* listener */
            invokevirtual javax.swing.AbstractButton.addMouseListener:(Ljava/awt/event/MouseListener;)V
         4: .line 195
            aload 1 /* b */
            aload 2 /* listener */
            invokevirtual javax.swing.AbstractButton.addMouseMotionListener:(Ljava/awt/event/MouseMotionListener;)V
         5: .line 196
            aload 1 /* b */
            aload 2 /* listener */
            invokevirtual javax.swing.AbstractButton.addFocusListener:(Ljava/awt/event/FocusListener;)V
         6: .line 197
            aload 1 /* b */
            aload 2 /* listener */
            invokevirtual javax.swing.AbstractButton.addPropertyChangeListener:(Ljava/beans/PropertyChangeListener;)V
         7: .line 198
            aload 1 /* b */
            aload 2 /* listener */
            invokevirtual javax.swing.AbstractButton.addChangeListener:(Ljavax/swing/event/ChangeListener;)V
         8: .line 199
            aload 1 /* b */
            aload 2 /* listener */
            invokevirtual javax.swing.AbstractButton.addAncestorListener:(Ljavax/swing/event/AncestorListener;)V
         9: .line 201
      StackMap locals: com.apple.laf.AquaButtonUI$AquaButtonListener
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            invokevirtual com.apple.laf.AquaButtonUI.installHierListener:(Ljavax/swing/AbstractButton;)V
        10: .line 202
            aload 1 /* b */
            invokestatic com.apple.laf.AquaUtilControlSize.addSizePropertyListener:(Ljavax/swing/JComponent;)V
        11: .line 203
            return
        end local 2 // com.apple.laf.AquaButtonUI$AquaButtonListener listener
        end local 1 // javax.swing.AbstractButton b
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lcom/apple/laf/AquaButtonUI;
            0   12     1         b  Ljavax/swing/AbstractButton;
            1   12     2  listener  Lcom/apple/laf/AquaButtonUI$AquaButtonListener;
    MethodParameters:
      Name  Flags
      b     final

  protected void installKeyboardActions(javax.swing.AbstractButton);
    descriptor: (Ljavax/swing/AbstractButton;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // javax.swing.AbstractButton b
         0: .line 206
            aload 1 /* b */
            aload 0 /* this */
            invokevirtual javax.swing.AbstractButton.getClientProperty:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.swing.plaf.basic.BasicButtonListener
            astore 2 /* listener */
        start local 2 // javax.swing.plaf.basic.BasicButtonListener listener
         1: .line 207
            aload 2 /* listener */
            ifnull 2
            aload 2 /* listener */
            aload 1 /* b */
            invokevirtual javax.swing.plaf.basic.BasicButtonListener.installKeyboardActions:(Ljavax/swing/JComponent;)V
         2: .line 208
      StackMap locals: javax.swing.plaf.basic.BasicButtonListener
      StackMap stack:
            return
        end local 2 // javax.swing.plaf.basic.BasicButtonListener listener
        end local 1 // javax.swing.AbstractButton b
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/apple/laf/AquaButtonUI;
            0    3     1         b  Ljavax/swing/AbstractButton;
            1    3     2  listener  Ljavax/swing/plaf/basic/BasicButtonListener;
    MethodParameters:
      Name  Flags
      b     final

  public void uninstallUI(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // javax.swing.JComponent c
         0: .line 212
            aload 0 /* this */
            aload 1 /* c */
            checkcast javax.swing.AbstractButton
            invokevirtual com.apple.laf.AquaButtonUI.uninstallKeyboardActions:(Ljavax/swing/AbstractButton;)V
         1: .line 213
            aload 0 /* this */
            aload 1 /* c */
            checkcast javax.swing.AbstractButton
            invokevirtual com.apple.laf.AquaButtonUI.uninstallListeners:(Ljavax/swing/AbstractButton;)V
         2: .line 214
            aload 0 /* this */
            aload 1 /* c */
            checkcast javax.swing.AbstractButton
            invokevirtual com.apple.laf.AquaButtonUI.uninstallDefaults:(Ljavax/swing/AbstractButton;)V
         3: .line 216
            return
        end local 1 // javax.swing.JComponent c
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/apple/laf/AquaButtonUI;
            0    4     1     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     final

  protected void uninstallKeyboardActions(javax.swing.AbstractButton);
    descriptor: (Ljavax/swing/AbstractButton;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // javax.swing.AbstractButton b
         0: .line 219
            aload 1 /* b */
            aload 0 /* this */
            invokevirtual javax.swing.AbstractButton.getClientProperty:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.swing.plaf.basic.BasicButtonListener
            astore 2 /* listener */
        start local 2 // javax.swing.plaf.basic.BasicButtonListener listener
         1: .line 220
            aload 2 /* listener */
            ifnull 2
            aload 2 /* listener */
            aload 1 /* b */
            invokevirtual javax.swing.plaf.basic.BasicButtonListener.uninstallKeyboardActions:(Ljavax/swing/JComponent;)V
         2: .line 221
      StackMap locals: javax.swing.plaf.basic.BasicButtonListener
      StackMap stack:
            return
        end local 2 // javax.swing.plaf.basic.BasicButtonListener listener
        end local 1 // javax.swing.AbstractButton b
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/apple/laf/AquaButtonUI;
            0    3     1         b  Ljavax/swing/AbstractButton;
            1    3     2  listener  Ljavax/swing/plaf/basic/BasicButtonListener;
    MethodParameters:
      Name  Flags
      b     final

  protected void uninstallListeners(javax.swing.AbstractButton);
    descriptor: (Ljavax/swing/AbstractButton;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // javax.swing.AbstractButton b
         0: .line 224
            aload 1 /* b */
            aload 0 /* this */
            invokevirtual javax.swing.AbstractButton.getClientProperty:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.apple.laf.AquaButtonUI$AquaButtonListener
            astore 2 /* listener */
        start local 2 // com.apple.laf.AquaButtonUI$AquaButtonListener listener
         1: .line 225
            aload 1 /* b */
            aload 0 /* this */
            aconst_null
            invokevirtual javax.swing.AbstractButton.putClientProperty:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 226
            aload 2 /* listener */
            ifnull 10
         3: .line 227
            aload 1 /* b */
            aload 2 /* listener */
            invokevirtual javax.swing.AbstractButton.removeMouseListener:(Ljava/awt/event/MouseListener;)V
         4: .line 228
            aload 1 /* b */
            aload 2 /* listener */
            invokevirtual javax.swing.AbstractButton.removeMouseListener:(Ljava/awt/event/MouseListener;)V
         5: .line 229
            aload 1 /* b */
            aload 2 /* listener */
            invokevirtual javax.swing.AbstractButton.removeMouseMotionListener:(Ljava/awt/event/MouseMotionListener;)V
         6: .line 230
            aload 1 /* b */
            aload 2 /* listener */
            invokevirtual javax.swing.AbstractButton.removeFocusListener:(Ljava/awt/event/FocusListener;)V
         7: .line 231
            aload 1 /* b */
            aload 2 /* listener */
            invokevirtual javax.swing.AbstractButton.removeChangeListener:(Ljavax/swing/event/ChangeListener;)V
         8: .line 232
            aload 1 /* b */
            aload 2 /* listener */
            invokevirtual javax.swing.AbstractButton.removePropertyChangeListener:(Ljava/beans/PropertyChangeListener;)V
         9: .line 233
            aload 1 /* b */
            aload 2 /* listener */
            invokevirtual javax.swing.AbstractButton.removeAncestorListener:(Ljavax/swing/event/AncestorListener;)V
        10: .line 235
      StackMap locals: com.apple.laf.AquaButtonUI$AquaButtonListener
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            invokevirtual com.apple.laf.AquaButtonUI.uninstallHierListener:(Ljavax/swing/AbstractButton;)V
        11: .line 236
            aload 1 /* b */
            invokestatic com.apple.laf.AquaUtilControlSize.addSizePropertyListener:(Ljavax/swing/JComponent;)V
        12: .line 237
            return
        end local 2 // com.apple.laf.AquaButtonUI$AquaButtonListener listener
        end local 1 // javax.swing.AbstractButton b
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lcom/apple/laf/AquaButtonUI;
            0   13     1         b  Ljavax/swing/AbstractButton;
            1   13     2  listener  Lcom/apple/laf/AquaButtonUI$AquaButtonListener;
    MethodParameters:
      Name  Flags
      b     final

  protected void uninstallDefaults(javax.swing.AbstractButton);
    descriptor: (Ljavax/swing/AbstractButton;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // javax.swing.AbstractButton b
         0: .line 240
            aload 1 /* b */
            invokestatic javax.swing.LookAndFeel.uninstallBorder:(Ljavax/swing/JComponent;)V
         1: .line 241
            aload 0 /* this */
            iconst_0
            putfield com.apple.laf.AquaButtonUI.defaults_initialized:Z
         2: .line 242
            return
        end local 1 // javax.swing.AbstractButton b
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/apple/laf/AquaButtonUI;
            0    3     1     b  Ljavax/swing/AbstractButton;
    MethodParameters:
      Name  Flags
      b     final

  protected com.apple.laf.AquaButtonUI$AquaButtonListener createButtonListener(javax.swing.AbstractButton);
    descriptor: (Ljavax/swing/AbstractButton;)Lcom/apple/laf/AquaButtonUI$AquaButtonListener;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // javax.swing.AbstractButton b
         0: .line 246
            new com.apple.laf.AquaButtonUI$AquaButtonListener
            dup
            aload 0 /* this */
            aload 1 /* b */
            invokespecial com.apple.laf.AquaButtonUI$AquaButtonListener.<init>:(Lcom/apple/laf/AquaButtonUI;Ljavax/swing/AbstractButton;)V
            areturn
        end local 1 // javax.swing.AbstractButton b
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/apple/laf/AquaButtonUI;
            0    1     1     b  Ljavax/swing/AbstractButton;
    MethodParameters:
      Name  Flags
      b     final

  public void paint(java.awt.Graphics, javax.swing.JComponent);
    descriptor: (Ljava/awt/Graphics;Ljavax/swing/JComponent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=12, args_size=3
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // java.awt.Graphics g
        start local 2 // javax.swing.JComponent c
         0: .line 251
            aload 2 /* c */
            checkcast javax.swing.AbstractButton
            astore 3 /* b */
        start local 3 // javax.swing.AbstractButton b
         1: .line 252
            aload 3 /* b */
            invokevirtual javax.swing.AbstractButton.getModel:()Ljavax/swing/ButtonModel;
            astore 4 /* model */
        start local 4 // javax.swing.ButtonModel model
         2: .line 254
            aload 2 /* c */
            invokevirtual javax.swing.JComponent.getInsets:()Ljava/awt/Insets;
            astore 5 /* i */
        start local 5 // java.awt.Insets i
         3: .line 256
            new java.awt.Rectangle
            dup
            aload 3 /* b */
            invokevirtual javax.swing.AbstractButton.getWidth:()I
            aload 3 /* b */
            invokevirtual javax.swing.AbstractButton.getHeight:()I
            invokespecial java.awt.Rectangle.<init>:(II)V
            astore 6 /* viewRect */
        start local 6 // java.awt.Rectangle viewRect
         4: .line 257
            new java.awt.Rectangle
            dup
            invokespecial java.awt.Rectangle.<init>:()V
            astore 7 /* iconRect */
        start local 7 // java.awt.Rectangle iconRect
         5: .line 258
            new java.awt.Rectangle
            dup
            invokespecial java.awt.Rectangle.<init>:()V
            astore 8 /* textRect */
        start local 8 // java.awt.Rectangle textRect
         6: .line 262
            aload 3 /* b */
            invokevirtual javax.swing.AbstractButton.isOpaque:()Z
            ifeq 9
         7: .line 263
            aload 1 /* g */
            aload 2 /* c */
            invokevirtual javax.swing.JComponent.getBackground:()Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         8: .line 264
            aload 1 /* g */
            aload 6 /* viewRect */
            getfield java.awt.Rectangle.x:I
            aload 6 /* viewRect */
            getfield java.awt.Rectangle.y:I
            aload 6 /* viewRect */
            getfield java.awt.Rectangle.width:I
            aload 6 /* viewRect */
            getfield java.awt.Rectangle.height:I
            invokevirtual java.awt.Graphics.fillRect:(IIII)V
         9: .line 267
      StackMap locals: com.apple.laf.AquaButtonUI java.awt.Graphics javax.swing.JComponent javax.swing.AbstractButton javax.swing.ButtonModel java.awt.Insets java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle
      StackMap stack:
            aconst_null
            astore 9 /* aquaBorder */
        start local 9 // com.apple.laf.AquaButtonBorder aquaBorder
        10: .line 268
            aload 2 /* c */
            checkcast javax.swing.AbstractButton
            invokevirtual javax.swing.AbstractButton.isBorderPainted:()Z
            ifeq 16
        11: .line 269
            aload 2 /* c */
            invokevirtual javax.swing.JComponent.getBorder:()Ljavax/swing/border/Border;
            astore 10 /* border */
        start local 10 // javax.swing.border.Border border
        12: .line 271
            aload 10 /* border */
            instanceof com.apple.laf.AquaButtonBorder
            ifeq 28
        13: .line 274
            aload 10 /* border */
            checkcast com.apple.laf.AquaButtonBorder
            astore 9 /* aquaBorder */
        14: .line 275
            aload 9 /* aquaBorder */
            aload 2 /* c */
            aload 1 /* g */
            aload 6 /* viewRect */
            getfield java.awt.Rectangle.x:I
            aload 6 /* viewRect */
            getfield java.awt.Rectangle.y:I
            aload 6 /* viewRect */
            getfield java.awt.Rectangle.width:I
            aload 6 /* viewRect */
            getfield java.awt.Rectangle.height:I
            invokevirtual com.apple.laf.AquaButtonBorder.paintButton:(Ljava/awt/Component;Ljava/awt/Graphics;IIII)V
        end local 10 // javax.swing.border.Border border
        15: .line 277
            goto 28
        16: .line 278
      StackMap locals: com.apple.laf.AquaButtonBorder
      StackMap stack:
            aload 3 /* b */
            invokevirtual javax.swing.AbstractButton.isOpaque:()Z
            ifeq 26
        17: .line 279
            aload 6 /* viewRect */
            aload 5 /* i */
            getfield java.awt.Insets.left:I
            iconst_2
            isub
            putfield java.awt.Rectangle.x:I
        18: .line 280
            aload 6 /* viewRect */
            aload 5 /* i */
            getfield java.awt.Insets.top:I
            iconst_2
            isub
            putfield java.awt.Rectangle.y:I
        19: .line 281
            aload 6 /* viewRect */
            aload 3 /* b */
            invokevirtual javax.swing.AbstractButton.getWidth:()I
            aload 5 /* i */
            getfield java.awt.Insets.right:I
            aload 6 /* viewRect */
            getfield java.awt.Rectangle.x:I
            iadd
            isub
            iconst_4
            iadd
            putfield java.awt.Rectangle.width:I
        20: .line 282
            aload 6 /* viewRect */
            aload 3 /* b */
            invokevirtual javax.swing.AbstractButton.getHeight:()I
            aload 5 /* i */
            getfield java.awt.Insets.bottom:I
            aload 6 /* viewRect */
            getfield java.awt.Rectangle.y:I
            iadd
            isub
            iconst_4
            iadd
            putfield java.awt.Rectangle.height:I
        21: .line 283
            aload 3 /* b */
            invokevirtual javax.swing.AbstractButton.isContentAreaFilled:()Z
            ifne 22
            aload 4 /* model */
            invokeinterface javax.swing.ButtonModel.isSelected:()Z
            ifeq 26
        22: .line 284
      StackMap locals:
      StackMap stack:
            aload 4 /* model */
            invokeinterface javax.swing.ButtonModel.isSelected:()Z
            ifeq 24
        23: .line 285
            aload 1 /* g */
            aload 2 /* c */
            invokevirtual javax.swing.JComponent.getBackground:()Ljava/awt/Color;
            invokevirtual java.awt.Color.darker:()Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
            goto 25
        24: .line 286
      StackMap locals:
      StackMap stack:
            aload 1 /* g */
            aload 2 /* c */
            invokevirtual javax.swing.JComponent.getBackground:()Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        25: .line 287
      StackMap locals:
      StackMap stack:
            aload 1 /* g */
            aload 6 /* viewRect */
            getfield java.awt.Rectangle.x:I
            aload 6 /* viewRect */
            getfield java.awt.Rectangle.y:I
            aload 6 /* viewRect */
            getfield java.awt.Rectangle.width:I
            aload 6 /* viewRect */
            getfield java.awt.Rectangle.height:I
            invokevirtual java.awt.Graphics.fillRect:(IIII)V
        26: .line 293
      StackMap locals:
      StackMap stack:
            aload 3 /* b */
            invokevirtual javax.swing.AbstractButton.isFocusPainted:()Z
            ifeq 28
            aload 3 /* b */
            invokevirtual javax.swing.AbstractButton.hasFocus:()Z
            ifeq 28
        27: .line 295
            aload 0 /* this */
            aload 1 /* g */
            aload 3 /* b */
            aload 6 /* viewRect */
            aload 8 /* textRect */
            aload 7 /* iconRect */
            invokevirtual com.apple.laf.AquaButtonUI.paintFocus:(Ljava/awt/Graphics;Ljavax/swing/AbstractButton;Ljava/awt/Rectangle;Ljava/awt/Rectangle;Ljava/awt/Rectangle;)V
        28: .line 300
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* g */
            aload 3 /* b */
            aload 9 /* aquaBorder */
            aload 5 /* i */
            aload 6 /* viewRect */
            aload 7 /* iconRect */
            aload 8 /* textRect */
            invokevirtual com.apple.laf.AquaButtonUI.layoutAndGetText:(Ljava/awt/Graphics;Ljavax/swing/AbstractButton;Lcom/apple/laf/AquaButtonBorder;Ljava/awt/Insets;Ljava/awt/Rectangle;Ljava/awt/Rectangle;Ljava/awt/Rectangle;)Ljava/lang/String;
            astore 10 /* text */
        start local 10 // java.lang.String text
        29: .line 303
            aload 3 /* b */
            invokevirtual javax.swing.AbstractButton.getIcon:()Ljavax/swing/Icon;
            ifnull 31
        30: .line 304
            aload 0 /* this */
            aload 1 /* g */
            aload 3 /* b */
            aload 7 /* iconRect */
            invokevirtual com.apple.laf.AquaButtonUI.paintIcon:(Ljava/awt/Graphics;Ljavax/swing/AbstractButton;Ljava/awt/Rectangle;)V
        31: .line 307
      StackMap locals: java.lang.String
      StackMap stack:
            aload 8 /* textRect */
            getfield java.awt.Rectangle.width:I
            ifne 33
        32: .line 308
            aload 8 /* textRect */
            bipush 50
            putfield java.awt.Rectangle.width:I
        33: .line 311
      StackMap locals:
      StackMap stack:
            aload 10 /* text */
            ifnull 39
            aload 10 /* text */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 39
        34: .line 312
            aload 2 /* c */
            ldc "html"
            invokevirtual javax.swing.JComponent.getClientProperty:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.swing.text.View
            astore 11 /* v */
        start local 11 // javax.swing.text.View v
        35: .line 313
            aload 11 /* v */
            ifnull 38
        36: .line 314
            aload 11 /* v */
            aload 1 /* g */
            aload 8 /* textRect */
            invokevirtual javax.swing.text.View.paint:(Ljava/awt/Graphics;Ljava/awt/Shape;)V
        37: .line 315
            goto 39
        38: .line 316
      StackMap locals: javax.swing.text.View
      StackMap stack:
            aload 0 /* this */
            aload 1 /* g */
            aload 3 /* b */
            aload 8 /* textRect */
            aload 10 /* text */
            invokevirtual com.apple.laf.AquaButtonUI.paintText:(Ljava/awt/Graphics;Ljavax/swing/AbstractButton;Ljava/awt/Rectangle;Ljava/lang/String;)V
        end local 11 // javax.swing.text.View v
        39: .line 319
      StackMap locals:
      StackMap stack:
            return
        end local 10 // java.lang.String text
        end local 9 // com.apple.laf.AquaButtonBorder aquaBorder
        end local 8 // java.awt.Rectangle textRect
        end local 7 // java.awt.Rectangle iconRect
        end local 6 // java.awt.Rectangle viewRect
        end local 5 // java.awt.Insets i
        end local 4 // javax.swing.ButtonModel model
        end local 3 // javax.swing.AbstractButton b
        end local 2 // javax.swing.JComponent c
        end local 1 // java.awt.Graphics g
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   40     0        this  Lcom/apple/laf/AquaButtonUI;
            0   40     1           g  Ljava/awt/Graphics;
            0   40     2           c  Ljavax/swing/JComponent;
            1   40     3           b  Ljavax/swing/AbstractButton;
            2   40     4       model  Ljavax/swing/ButtonModel;
            3   40     5           i  Ljava/awt/Insets;
            4   40     6    viewRect  Ljava/awt/Rectangle;
            5   40     7    iconRect  Ljava/awt/Rectangle;
            6   40     8    textRect  Ljava/awt/Rectangle;
           10   40     9  aquaBorder  Lcom/apple/laf/AquaButtonBorder;
           12   15    10      border  Ljavax/swing/border/Border;
           29   40    10        text  Ljava/lang/String;
           35   39    11           v  Ljavax/swing/text/View;
    MethodParameters:
      Name  Flags
      g     final
      c     final

  protected java.lang.String layoutAndGetText(java.awt.Graphics, javax.swing.AbstractButton, com.apple.laf.AquaButtonBorder, java.awt.Insets, java.awt.Rectangle, java.awt.Rectangle, java.awt.Rectangle);
    descriptor: (Ljava/awt/Graphics;Ljavax/swing/AbstractButton;Lcom/apple/laf/AquaButtonBorder;Ljava/awt/Insets;Ljava/awt/Rectangle;Ljava/awt/Rectangle;Ljava/awt/Rectangle;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=12, locals=12, args_size=8
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // java.awt.Graphics g
        start local 2 // javax.swing.AbstractButton b
        start local 3 // com.apple.laf.AquaButtonBorder aquaBorder
        start local 4 // java.awt.Insets i
        start local 5 // java.awt.Rectangle viewRect
        start local 6 // java.awt.Rectangle iconRect
        start local 7 // java.awt.Rectangle textRect
         0: .line 323
            aload 5 /* viewRect */
            aload 4 /* i */
            getfield java.awt.Insets.left:I
            putfield java.awt.Rectangle.x:I
         1: .line 324
            aload 5 /* viewRect */
            aload 4 /* i */
            getfield java.awt.Insets.top:I
            putfield java.awt.Rectangle.y:I
         2: .line 325
            aload 5 /* viewRect */
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getWidth:()I
            aload 4 /* i */
            getfield java.awt.Insets.right:I
            aload 5 /* viewRect */
            getfield java.awt.Rectangle.x:I
            iadd
            isub
            putfield java.awt.Rectangle.width:I
         3: .line 326
            aload 5 /* viewRect */
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getHeight:()I
            aload 4 /* i */
            getfield java.awt.Insets.bottom:I
            aload 5 /* viewRect */
            getfield java.awt.Rectangle.y:I
            iadd
            isub
            putfield java.awt.Rectangle.height:I
         4: .line 329
            aload 7 /* textRect */
            aload 7 /* textRect */
            aload 7 /* textRect */
            aload 7 /* textRect */
            iconst_0
            dup_x1
            putfield java.awt.Rectangle.height:I
            dup_x1
            putfield java.awt.Rectangle.width:I
            dup_x1
            putfield java.awt.Rectangle.y:I
            putfield java.awt.Rectangle.x:I
         5: .line 330
            aload 6 /* iconRect */
            aload 6 /* iconRect */
            aload 6 /* iconRect */
            aload 6 /* iconRect */
            iconst_0
            dup_x1
            putfield java.awt.Rectangle.height:I
            dup_x1
            putfield java.awt.Rectangle.width:I
            dup_x1
            putfield java.awt.Rectangle.y:I
            putfield java.awt.Rectangle.x:I
         6: .line 333
            aload 1 /* g */
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getFont:()Ljava/awt/Font;
            invokevirtual java.awt.Graphics.setFont:(Ljava/awt/Font;)V
         7: .line 334
            aload 1 /* g */
            invokevirtual java.awt.Graphics.getFontMetrics:()Ljava/awt/FontMetrics;
            astore 8 /* fm */
        start local 8 // java.awt.FontMetrics fm
         8: .line 337
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getText:()Ljava/lang/String;
            astore 9 /* originalText */
        start local 9 // java.lang.String originalText
         9: .line 338
            aload 2 /* b */
            aload 8 /* fm */
            aload 9 /* originalText */
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getIcon:()Ljavax/swing/Icon;
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getVerticalAlignment:()I
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getHorizontalAlignment:()I
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getVerticalTextPosition:()I
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getHorizontalTextPosition:()I
            aload 5 /* viewRect */
            aload 6 /* iconRect */
            aload 7 /* textRect */
            aload 9 /* originalText */
            ifnonnull 10
            iconst_0
            goto 11
      StackMap locals: com.apple.laf.AquaButtonUI java.awt.Graphics javax.swing.AbstractButton com.apple.laf.AquaButtonBorder java.awt.Insets java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.FontMetrics java.lang.String
      StackMap stack: javax.swing.AbstractButton java.awt.FontMetrics java.lang.String javax.swing.Icon int int int int java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle
        10: aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getIconTextGap:()I
      StackMap locals: com.apple.laf.AquaButtonUI java.awt.Graphics javax.swing.AbstractButton com.apple.laf.AquaButtonBorder java.awt.Insets java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle java.awt.FontMetrics java.lang.String
      StackMap stack: javax.swing.AbstractButton java.awt.FontMetrics java.lang.String javax.swing.Icon int int int int java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle int
        11: invokestatic javax.swing.SwingUtilities.layoutCompoundLabel:(Ljavax/swing/JComponent;Ljava/awt/FontMetrics;Ljava/lang/String;Ljavax/swing/Icon;IIIILjava/awt/Rectangle;Ljava/awt/Rectangle;Ljava/awt/Rectangle;I)Ljava/lang/String;
            astore 10 /* text */
        start local 10 // java.lang.String text
        12: .line 339
            aload 10 /* text */
            aload 9 /* originalText */
            if_acmpeq 13
            aload 3 /* aquaBorder */
            ifnonnull 14
      StackMap locals: java.lang.String
      StackMap stack:
        13: aload 10 /* text */
            areturn
        14: .line 342
      StackMap locals:
      StackMap stack:
            aload 3 /* aquaBorder */
            aload 2 /* b */
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getWidth:()I
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getHeight:()I
            invokevirtual com.apple.laf.AquaButtonBorder.getContentInsets:(Ljavax/swing/AbstractButton;II)Ljava/awt/Insets;
            astore 11 /* alternateContentInsets */
        start local 11 // java.awt.Insets alternateContentInsets
        15: .line 343
            aload 11 /* alternateContentInsets */
            ifnull 17
        16: .line 345
            aload 0 /* this */
            aload 1 /* g */
            aload 2 /* b */
            aconst_null
            aload 11 /* alternateContentInsets */
            aload 5 /* viewRect */
            aload 6 /* iconRect */
            aload 7 /* textRect */
            invokevirtual com.apple.laf.AquaButtonUI.layoutAndGetText:(Ljava/awt/Graphics;Ljavax/swing/AbstractButton;Lcom/apple/laf/AquaButtonBorder;Ljava/awt/Insets;Ljava/awt/Rectangle;Ljava/awt/Rectangle;Ljava/awt/Rectangle;)Ljava/lang/String;
            areturn
        17: .line 349
      StackMap locals: java.awt.Insets
      StackMap stack:
            aload 10 /* text */
            areturn
        end local 11 // java.awt.Insets alternateContentInsets
        end local 10 // java.lang.String text
        end local 9 // java.lang.String originalText
        end local 8 // java.awt.FontMetrics fm
        end local 7 // java.awt.Rectangle textRect
        end local 6 // java.awt.Rectangle iconRect
        end local 5 // java.awt.Rectangle viewRect
        end local 4 // java.awt.Insets i
        end local 3 // com.apple.laf.AquaButtonBorder aquaBorder
        end local 2 // javax.swing.AbstractButton b
        end local 1 // java.awt.Graphics g
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   18     0                    this  Lcom/apple/laf/AquaButtonUI;
            0   18     1                       g  Ljava/awt/Graphics;
            0   18     2                       b  Ljavax/swing/AbstractButton;
            0   18     3              aquaBorder  Lcom/apple/laf/AquaButtonBorder;
            0   18     4                       i  Ljava/awt/Insets;
            0   18     5                viewRect  Ljava/awt/Rectangle;
            0   18     6                iconRect  Ljava/awt/Rectangle;
            0   18     7                textRect  Ljava/awt/Rectangle;
            8   18     8                      fm  Ljava/awt/FontMetrics;
            9   18     9            originalText  Ljava/lang/String;
           12   18    10                    text  Ljava/lang/String;
           15   18    11  alternateContentInsets  Ljava/awt/Insets;
    MethodParameters:
            Name  Flags
      g           final
      b           final
      aquaBorder  final
      i           final
      viewRect    
      iconRect    
      textRect    

  protected void paintIcon(java.awt.Graphics, javax.swing.AbstractButton, java.awt.Rectangle);
    descriptor: (Ljava/awt/Graphics;Ljavax/swing/AbstractButton;Ljava/awt/Rectangle;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // java.awt.Graphics g
        start local 2 // javax.swing.AbstractButton b
        start local 3 // java.awt.Rectangle localIconRect
         0: .line 353
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getModel:()Ljavax/swing/ButtonModel;
            astore 4 /* model */
        start local 4 // javax.swing.ButtonModel model
         1: .line 354
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getIcon:()Ljavax/swing/Icon;
            astore 5 /* icon */
        start local 5 // javax.swing.Icon icon
         2: .line 355
            aconst_null
            astore 6 /* tmpIcon */
        start local 6 // javax.swing.Icon tmpIcon
         3: .line 357
            aload 5 /* icon */
            ifnonnull 4
            return
         4: .line 359
      StackMap locals: javax.swing.ButtonModel javax.swing.Icon javax.swing.Icon
      StackMap stack:
            aload 4 /* model */
            invokeinterface javax.swing.ButtonModel.isEnabled:()Z
            ifne 10
         5: .line 360
            aload 4 /* model */
            invokeinterface javax.swing.ButtonModel.isSelected:()Z
            ifeq 8
         6: .line 361
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getDisabledSelectedIcon:()Ljavax/swing/Icon;
            astore 6 /* tmpIcon */
         7: .line 362
            goto 24
         8: .line 363
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getDisabledIcon:()Ljavax/swing/Icon;
            astore 6 /* tmpIcon */
         9: .line 365
            goto 24
      StackMap locals:
      StackMap stack:
        10: aload 4 /* model */
            invokeinterface javax.swing.ButtonModel.isPressed:()Z
            ifeq 16
            aload 4 /* model */
            invokeinterface javax.swing.ButtonModel.isArmed:()Z
            ifeq 16
        11: .line 366
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getPressedIcon:()Ljavax/swing/Icon;
            astore 6 /* tmpIcon */
        12: .line 367
            aload 6 /* tmpIcon */
            ifnonnull 24
        13: .line 368
            aload 5 /* icon */
            instanceof javax.swing.ImageIcon
            ifeq 24
        14: .line 369
            new javax.swing.ImageIcon
            dup
            aload 5 /* icon */
            checkcast javax.swing.ImageIcon
            invokevirtual javax.swing.ImageIcon.getImage:()Ljava/awt/Image;
            invokestatic com.apple.laf.AquaUtils.generateSelectedDarkImage:(Ljava/awt/Image;)Ljava/awt/Image;
            invokespecial javax.swing.ImageIcon.<init>:(Ljava/awt/Image;)V
            astore 6 /* tmpIcon */
        15: .line 372
            goto 24
      StackMap locals:
      StackMap stack:
        16: aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.isRolloverEnabled:()Z
            ifeq 22
            aload 4 /* model */
            invokeinterface javax.swing.ButtonModel.isRollover:()Z
            ifeq 22
        17: .line 373
            aload 4 /* model */
            invokeinterface javax.swing.ButtonModel.isSelected:()Z
            ifeq 20
        18: .line 374
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getRolloverSelectedIcon:()Ljavax/swing/Icon;
            astore 6 /* tmpIcon */
        19: .line 375
            goto 24
        20: .line 376
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getRolloverIcon:()Ljavax/swing/Icon;
            astore 6 /* tmpIcon */
        21: .line 378
            goto 24
      StackMap locals:
      StackMap stack:
        22: aload 4 /* model */
            invokeinterface javax.swing.ButtonModel.isSelected:()Z
            ifeq 24
        23: .line 379
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getSelectedIcon:()Ljavax/swing/Icon;
            astore 6 /* tmpIcon */
        24: .line 382
      StackMap locals:
      StackMap stack:
            aload 4 /* model */
            invokeinterface javax.swing.ButtonModel.isEnabled:()Z
            ifeq 30
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.isFocusOwner:()Z
            ifeq 30
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getBorder:()Ljavax/swing/border/Border;
            instanceof com.apple.laf.AquaButtonBorder$Toolbar
            ifeq 30
        25: .line 383
            aload 6 /* tmpIcon */
            ifnonnull 26
            aload 5 /* icon */
            astore 6 /* tmpIcon */
        26: .line 384
      StackMap locals:
      StackMap stack:
            aload 6 /* tmpIcon */
            instanceof javax.swing.ImageIcon
            ifeq 30
        27: .line 385
            aload 6 /* tmpIcon */
            aload 2 /* b */
            iconst_3
            invokestatic com.apple.laf.AquaFocus.createFocusedIcon:(Ljavax/swing/Icon;Ljava/awt/Component;I)Ljavax/swing/Icon;
            astore 6 /* tmpIcon */
        28: .line 386
            aload 6 /* tmpIcon */
            aload 2 /* b */
            aload 1 /* g */
            aload 3 /* localIconRect */
            getfield java.awt.Rectangle.x:I
            iconst_3
            isub
            aload 3 /* localIconRect */
            getfield java.awt.Rectangle.y:I
            iconst_3
            isub
            invokeinterface javax.swing.Icon.paintIcon:(Ljava/awt/Component;Ljava/awt/Graphics;II)V
        29: .line 387
            return
        30: .line 391
      StackMap locals:
      StackMap stack:
            aload 6 /* tmpIcon */
            ifnull 32
        31: .line 392
            aload 6 /* tmpIcon */
            astore 5 /* icon */
        32: .line 395
      StackMap locals:
      StackMap stack:
            aload 5 /* icon */
            aload 2 /* b */
            aload 1 /* g */
            aload 3 /* localIconRect */
            getfield java.awt.Rectangle.x:I
            aload 3 /* localIconRect */
            getfield java.awt.Rectangle.y:I
            invokeinterface javax.swing.Icon.paintIcon:(Ljava/awt/Component;Ljava/awt/Graphics;II)V
        33: .line 396
            return
        end local 6 // javax.swing.Icon tmpIcon
        end local 5 // javax.swing.Icon icon
        end local 4 // javax.swing.ButtonModel model
        end local 3 // java.awt.Rectangle localIconRect
        end local 2 // javax.swing.AbstractButton b
        end local 1 // java.awt.Graphics g
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   34     0           this  Lcom/apple/laf/AquaButtonUI;
            0   34     1              g  Ljava/awt/Graphics;
            0   34     2              b  Ljavax/swing/AbstractButton;
            0   34     3  localIconRect  Ljava/awt/Rectangle;
            1   34     4          model  Ljavax/swing/ButtonModel;
            2   34     5           icon  Ljavax/swing/Icon;
            3   34     6        tmpIcon  Ljavax/swing/Icon;
    MethodParameters:
               Name  Flags
      g              final
      b              final
      localIconRect  final

  protected void paintText(java.awt.Graphics, javax.swing.JComponent, java.awt.Rectangle, java.lang.String);
    descriptor: (Ljava/awt/Graphics;Ljavax/swing/JComponent;Ljava/awt/Rectangle;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=9, args_size=5
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // java.awt.Graphics g
        start local 2 // javax.swing.JComponent c
        start local 3 // java.awt.Rectangle localTextRect
        start local 4 // java.lang.String text
         0: .line 403
            aload 1 /* g */
            instanceof java.awt.Graphics2D
            ifeq 1
            aload 1 /* g */
            checkcast java.awt.Graphics2D
            pop
         1: .line 405
      StackMap locals:
      StackMap stack:
            aload 2 /* c */
            checkcast javax.swing.AbstractButton
            astore 5 /* b */
        start local 5 // javax.swing.AbstractButton b
         2: .line 406
            aload 5 /* b */
            invokevirtual javax.swing.AbstractButton.getModel:()Ljavax/swing/ButtonModel;
            astore 6 /* model */
        start local 6 // javax.swing.ButtonModel model
         3: .line 407
            aload 1 /* g */
            invokevirtual java.awt.Graphics.getFontMetrics:()Ljava/awt/FontMetrics;
            astore 7 /* fm */
        start local 7 // java.awt.FontMetrics fm
         4: .line 408
            invokestatic com.apple.laf.AquaMnemonicHandler.isMnemonicHidden:()Z
            ifeq 5
            iconst_m1
            goto 6
      StackMap locals: javax.swing.AbstractButton javax.swing.ButtonModel java.awt.FontMetrics
      StackMap stack:
         5: aload 5 /* b */
            invokevirtual javax.swing.AbstractButton.getDisplayedMnemonicIndex:()I
      StackMap locals:
      StackMap stack: int
         6: istore 8 /* mnemonicIndex */
        start local 8 // int mnemonicIndex
         7: .line 411
            aload 6 /* model */
            invokeinterface javax.swing.ButtonModel.isEnabled:()Z
            ifeq 10
         8: .line 413
            aload 1 /* g */
            aload 5 /* b */
            invokevirtual javax.swing.AbstractButton.getForeground:()Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         9: .line 414
            goto 11
        10: .line 416
      StackMap locals: int
      StackMap stack:
            aload 1 /* g */
            aload 0 /* this */
            getfield com.apple.laf.AquaButtonUI.defaultDisabledTextColor:Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        11: .line 418
      StackMap locals:
      StackMap stack:
            aload 2 /* c */
            aload 1 /* g */
            aload 4 /* text */
            iload 8 /* mnemonicIndex */
            aload 3 /* localTextRect */
            getfield java.awt.Rectangle.x:I
            aload 3 /* localTextRect */
            getfield java.awt.Rectangle.y:I
            aload 7 /* fm */
            invokevirtual java.awt.FontMetrics.getAscent:()I
            iadd
            invokestatic sun.swing.SwingUtilities2.drawStringUnderlineCharAt:(Ljavax/swing/JComponent;Ljava/awt/Graphics;Ljava/lang/String;III)V
        12: .line 419
            return
        end local 8 // int mnemonicIndex
        end local 7 // java.awt.FontMetrics fm
        end local 6 // javax.swing.ButtonModel model
        end local 5 // javax.swing.AbstractButton b
        end local 4 // java.lang.String text
        end local 3 // java.awt.Rectangle localTextRect
        end local 2 // javax.swing.JComponent c
        end local 1 // java.awt.Graphics g
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lcom/apple/laf/AquaButtonUI;
            0   13     1              g  Ljava/awt/Graphics;
            0   13     2              c  Ljavax/swing/JComponent;
            0   13     3  localTextRect  Ljava/awt/Rectangle;
            0   13     4           text  Ljava/lang/String;
            2   13     5              b  Ljavax/swing/AbstractButton;
            3   13     6          model  Ljavax/swing/ButtonModel;
            4   13     7             fm  Ljava/awt/FontMetrics;
            7   13     8  mnemonicIndex  I
    MethodParameters:
               Name  Flags
      g              final
      c              final
      localTextRect  final
      text           final

  protected void paintText(java.awt.Graphics, javax.swing.AbstractButton, java.awt.Rectangle, java.lang.String);
    descriptor: (Ljava/awt/Graphics;Ljavax/swing/AbstractButton;Ljava/awt/Rectangle;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // java.awt.Graphics g
        start local 2 // javax.swing.AbstractButton b
        start local 3 // java.awt.Rectangle localTextRect
        start local 4 // java.lang.String text
         0: .line 422
            aload 0 /* this */
            aload 1 /* g */
            aload 2 /* b */
            aload 3 /* localTextRect */
            aload 4 /* text */
            invokevirtual com.apple.laf.AquaButtonUI.paintText:(Ljava/awt/Graphics;Ljavax/swing/JComponent;Ljava/awt/Rectangle;Ljava/lang/String;)V
         1: .line 423
            return
        end local 4 // java.lang.String text
        end local 3 // java.awt.Rectangle localTextRect
        end local 2 // javax.swing.AbstractButton b
        end local 1 // java.awt.Graphics g
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lcom/apple/laf/AquaButtonUI;
            0    2     1              g  Ljava/awt/Graphics;
            0    2     2              b  Ljavax/swing/AbstractButton;
            0    2     3  localTextRect  Ljava/awt/Rectangle;
            0    2     4           text  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      g              final
      b              final
      localTextRect  final
      text           final

  protected void paintButtonPressed(java.awt.Graphics, javax.swing.AbstractButton);
    descriptor: (Ljava/awt/Graphics;Ljavax/swing/AbstractButton;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // java.awt.Graphics g
        start local 2 // javax.swing.AbstractButton b
         0: .line 426
            aload 0 /* this */
            aload 1 /* g */
            aload 2 /* b */
            invokevirtual com.apple.laf.AquaButtonUI.paint:(Ljava/awt/Graphics;Ljavax/swing/JComponent;)V
         1: .line 427
            return
        end local 2 // javax.swing.AbstractButton b
        end local 1 // java.awt.Graphics g
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/apple/laf/AquaButtonUI;
            0    2     1     g  Ljava/awt/Graphics;
            0    2     2     b  Ljavax/swing/AbstractButton;
    MethodParameters:
      Name  Flags
      g     final
      b     final

  public java.awt.Dimension getMinimumSize(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Ljava/awt/Dimension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // javax.swing.JComponent c
         0: .line 431
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual com.apple.laf.AquaButtonUI.getPreferredSize:(Ljavax/swing/JComponent;)Ljava/awt/Dimension;
            astore 2 /* d */
        start local 2 // java.awt.Dimension d
         1: .line 432
            aload 1 /* c */
            ldc "html"
            invokevirtual javax.swing.JComponent.getClientProperty:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.swing.text.View
            astore 3 /* v */
        start local 3 // javax.swing.text.View v
         2: .line 433
            aload 3 /* v */
            ifnull 4
         3: .line 434
            aload 2 /* d */
            dup
            getfield java.awt.Dimension.width:I
            i2f
            aload 3 /* v */
            iconst_0
            invokevirtual javax.swing.text.View.getPreferredSpan:(I)F
            aload 3 /* v */
            iconst_0
            invokevirtual javax.swing.text.View.getMinimumSpan:(I)F
            fsub
            fsub
            f2i
            putfield java.awt.Dimension.width:I
         4: .line 436
      StackMap locals: java.awt.Dimension javax.swing.text.View
      StackMap stack:
            aload 2 /* d */
            areturn
        end local 3 // javax.swing.text.View v
        end local 2 // java.awt.Dimension d
        end local 1 // javax.swing.JComponent c
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/apple/laf/AquaButtonUI;
            0    5     1     c  Ljavax/swing/JComponent;
            1    5     2     d  Ljava/awt/Dimension;
            2    5     3     v  Ljavax/swing/text/View;
    MethodParameters:
      Name  Flags
      c     final

  public java.awt.Dimension getPreferredSize(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Ljava/awt/Dimension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // javax.swing.JComponent c
         0: .line 440
            aload 1 /* c */
            checkcast javax.swing.AbstractButton
            astore 2 /* b */
        start local 2 // javax.swing.AbstractButton b
         1: .line 443
            aload 2 /* b */
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getIconTextGap:()I
            invokestatic javax.swing.plaf.basic.BasicGraphicsUtils.getPreferredButtonSize:(Ljavax/swing/AbstractButton;I)Ljava/awt/Dimension;
            astore 3 /* d */
        start local 3 // java.awt.Dimension d
         2: .line 444
            aload 3 /* d */
            ifnonnull 3
            aconst_null
            areturn
         3: .line 446
      StackMap locals: javax.swing.AbstractButton java.awt.Dimension
      StackMap stack:
            aload 2 /* b */
            invokevirtual javax.swing.AbstractButton.getBorder:()Ljavax/swing/border/Border;
            astore 4 /* border */
        start local 4 // javax.swing.border.Border border
         4: .line 447
            aload 4 /* border */
            instanceof com.apple.laf.AquaButtonBorder
            ifeq 6
         5: .line 448
            aload 4 /* border */
            checkcast com.apple.laf.AquaButtonBorder
            aload 3 /* d */
            invokevirtual com.apple.laf.AquaButtonBorder.alterPreferredSize:(Ljava/awt/Dimension;)V
         6: .line 451
      StackMap locals: javax.swing.border.Border
      StackMap stack:
            aload 3 /* d */
            areturn
        end local 4 // javax.swing.border.Border border
        end local 3 // java.awt.Dimension d
        end local 2 // javax.swing.AbstractButton b
        end local 1 // javax.swing.JComponent c
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lcom/apple/laf/AquaButtonUI;
            0    7     1       c  Ljavax/swing/JComponent;
            1    7     2       b  Ljavax/swing/AbstractButton;
            2    7     3       d  Ljava/awt/Dimension;
            4    7     4  border  Ljavax/swing/border/Border;
    MethodParameters:
      Name  Flags
      c     final

  public java.awt.Dimension getMaximumSize(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Ljava/awt/Dimension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // javax.swing.JComponent c
         0: .line 455
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual com.apple.laf.AquaButtonUI.getPreferredSize:(Ljavax/swing/JComponent;)Ljava/awt/Dimension;
            astore 2 /* d */
        start local 2 // java.awt.Dimension d
         1: .line 457
            aload 1 /* c */
            ldc "html"
            invokevirtual javax.swing.JComponent.getClientProperty:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.swing.text.View
            astore 3 /* v */
        start local 3 // javax.swing.text.View v
         2: .line 458
            aload 3 /* v */
            ifnull 4
         3: .line 459
            aload 2 /* d */
            dup
            getfield java.awt.Dimension.width:I
            i2f
            aload 3 /* v */
            iconst_0
            invokevirtual javax.swing.text.View.getMaximumSpan:(I)F
            aload 3 /* v */
            iconst_0
            invokevirtual javax.swing.text.View.getPreferredSpan:(I)F
            fsub
            fadd
            f2i
            putfield java.awt.Dimension.width:I
         4: .line 462
      StackMap locals: java.awt.Dimension javax.swing.text.View
      StackMap stack:
            aload 2 /* d */
            areturn
        end local 3 // javax.swing.text.View v
        end local 2 // java.awt.Dimension d
        end local 1 // javax.swing.JComponent c
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/apple/laf/AquaButtonUI;
            0    5     1     c  Ljavax/swing/JComponent;
            1    5     2     d  Ljava/awt/Dimension;
            2    5     3     v  Ljavax/swing/text/View;
    MethodParameters:
      Name  Flags
      c     final

  static com.apple.laf.AquaButtonUI$AquaHierarchyButtonListener getAquaHierarchyButtonListener();
    descriptor: ()Lcom/apple/laf/AquaButtonUI$AquaHierarchyButtonListener;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 467
            getstatic com.apple.laf.AquaButtonUI.fHierListener:Lcom/apple/laf/AquaUtils$RecyclableSingleton;
            invokevirtual com.apple.laf.AquaUtils$RecyclableSingleton.get:()Ljava/lang/Object;
            checkcast com.apple.laf.AquaButtonUI$AquaHierarchyButtonListener
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private boolean shouldInstallHierListener(javax.swing.AbstractButton);
    descriptor: (Ljavax/swing/AbstractButton;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // javax.swing.AbstractButton b
         0: .line 474
            aload 1 /* b */
            instanceof javax.swing.JButton
            ifne 2
            aload 1 /* b */
            instanceof javax.swing.JToggleButton
            ifeq 1
            aload 1 /* b */
            instanceof com.apple.laf.AquaComboBoxButton
            ifne 1
            aload 1 /* b */
            instanceof javax.swing.JCheckBox
            ifne 1
            aload 1 /* b */
            instanceof javax.swing.JRadioButton
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
        end local 1 // javax.swing.AbstractButton b
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/apple/laf/AquaButtonUI;
            0    3     1     b  Ljavax/swing/AbstractButton;
    MethodParameters:
      Name  Flags
      b     final

  protected void installHierListener(javax.swing.AbstractButton);
    descriptor: (Ljavax/swing/AbstractButton;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // javax.swing.AbstractButton b
         0: .line 478
            aload 0 /* this */
            aload 1 /* b */
            invokevirtual com.apple.laf.AquaButtonUI.shouldInstallHierListener:(Ljavax/swing/AbstractButton;)Z
            ifeq 2
         1: .line 480
            aload 1 /* b */
            invokestatic com.apple.laf.AquaButtonUI.getAquaHierarchyButtonListener:()Lcom/apple/laf/AquaButtonUI$AquaHierarchyButtonListener;
            invokevirtual javax.swing.AbstractButton.addHierarchyListener:(Ljava/awt/event/HierarchyListener;)V
         2: .line 482
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.swing.AbstractButton b
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/apple/laf/AquaButtonUI;
            0    3     1     b  Ljavax/swing/AbstractButton;
    MethodParameters:
      Name  Flags
      b     final

  protected void uninstallHierListener(javax.swing.AbstractButton);
    descriptor: (Ljavax/swing/AbstractButton;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.apple.laf.AquaButtonUI this
        start local 1 // javax.swing.AbstractButton b
         0: .line 485
            aload 0 /* this */
            aload 1 /* b */
            invokevirtual com.apple.laf.AquaButtonUI.shouldInstallHierListener:(Ljavax/swing/AbstractButton;)Z
            ifeq 2
         1: .line 486
            aload 1 /* b */
            invokestatic com.apple.laf.AquaButtonUI.getAquaHierarchyButtonListener:()Lcom/apple/laf/AquaButtonUI$AquaHierarchyButtonListener;
            invokevirtual javax.swing.AbstractButton.removeHierarchyListener:(Ljava/awt/event/HierarchyListener;)V
         2: .line 488
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.swing.AbstractButton b
        end local 0 // com.apple.laf.AquaButtonUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/apple/laf/AquaButtonUI;
            0    3     1     b  Ljavax/swing/AbstractButton;
    MethodParameters:
      Name  Flags
      b     final

  protected javax.swing.plaf.basic.BasicButtonListener createButtonListener(javax.swing.AbstractButton);
    descriptor: (Ljavax/swing/AbstractButton;)Ljavax/swing/plaf/basic/BasicButtonListener;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual com.apple.laf.AquaButtonUI.createButtonListener:(Ljavax/swing/AbstractButton;)Lcom/apple/laf/AquaButtonUI$AquaButtonListener;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "AquaButtonUI.java"
NestMembers:
  com.apple.laf.AquaButtonUI$AquaButtonListener  com.apple.laf.AquaButtonUI$AquaHierarchyButtonListener
InnerClasses:
  public Size = apple.laf.JRSUIConstants$Size of apple.laf.JRSUIConstants
  public Toolbar = com.apple.laf.AquaButtonBorder$Toolbar of com.apple.laf.AquaButtonBorder
  abstract TypeSpecifier = com.apple.laf.AquaButtonExtendedTypes$TypeSpecifier of com.apple.laf.AquaButtonExtendedTypes
  AquaButtonListener = com.apple.laf.AquaButtonUI$AquaButtonListener of com.apple.laf.AquaButtonUI
  AquaHierarchyButtonListener = com.apple.laf.AquaButtonUI$AquaHierarchyButtonListener of com.apple.laf.AquaButtonUI
  abstract Sizeable = com.apple.laf.AquaUtilControlSize$Sizeable of com.apple.laf.AquaUtilControlSize
  abstract RecyclableSingleton = com.apple.laf.AquaUtils$RecyclableSingleton of com.apple.laf.AquaUtils
  RecyclableSingletonFromDefaultConstructor = com.apple.laf.AquaUtils$RecyclableSingletonFromDefaultConstructor of com.apple.laf.AquaUtils