public final class org.joox.selector.CSS2XPath
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.joox.selector.CSS2XPath
  super_class: java.lang.Object
{
  private static final java.util.regex.Pattern SIMPLE_SELECTOR;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$org$joox$selector$Selector$Combinator;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$org$joox$selector$AttributeSpecifier$Match;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$org$joox$selector$Specifier$Type;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 37
            ldc "[\\w\\-]+"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic org.joox.selector.CSS2XPath.SIMPLE_SELECTOR:Ljava/util/regex/Pattern;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joox.selector.CSS2XPath this
         0: .line 32
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.joox.selector.CSS2XPath this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joox/selector/CSS2XPath;

  public static final java.lang.String css2xpath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String css
         0: .line 43
            aload 0 /* css */
            iconst_1
            invokestatic org.joox.selector.CSS2XPath.css2xpath:(Ljava/lang/String;Z)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String css
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   css  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      css   

  public static final java.lang.String css2xpath(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=14, args_size=2
        start local 0 // java.lang.String css
        start local 1 // boolean isRoot
         0: .line 50
            new org.joox.selector.Scanner
            dup
            aload 0 /* css */
            invokespecial org.joox.selector.Scanner.<init>:(Ljava/lang/CharSequence;)V
            astore 2 /* scanner */
        start local 2 // org.joox.selector.Scanner scanner
         1: .line 51
            aload 2 /* scanner */
            invokevirtual org.joox.selector.Scanner.scan:()Ljava/util/List;
            astore 3 /* selectors */
        start local 3 // java.util.List selectors
         2: .line 53
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuilder sb
         3: .line 54
            ldc ""
            astore 5 /* selectorSeparator */
        start local 5 // java.lang.String selectorSeparator
         4: .line 55
            aload 3 /* selectors */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 108
      StackMap locals: java.lang.String int org.joox.selector.Scanner java.util.List java.lang.StringBuilder java.lang.String top java.util.Iterator
      StackMap stack:
         5: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.List
            astore 6 /* selector */
        start local 6 // java.util.List selector
         6: .line 56
            aload 4 /* sb */
            aload 5 /* selectorSeparator */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 60
            iload 1 /* isRoot */
            ifne 9
         8: .line 61
            aload 4 /* sb */
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 64
      StackMap locals: java.lang.String int org.joox.selector.Scanner java.util.List java.lang.StringBuilder java.lang.String java.util.List java.util.Iterator
      StackMap stack:
            aload 6 /* selector */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 106
      StackMap locals: java.lang.String int org.joox.selector.Scanner java.util.List java.lang.StringBuilder java.lang.String java.util.List java.util.Iterator top java.util.Iterator
      StackMap stack:
        10: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.joox.selector.Selector
            astore 8 /* s */
        start local 8 // org.joox.selector.Selector s
        11: .line 65
            invokestatic org.joox.selector.CSS2XPath.$SWITCH_TABLE$org$joox$selector$Selector$Combinator:()[I
            aload 8 /* s */
            invokevirtual org.joox.selector.Selector.getCombinator:()Lorg/joox/selector/Selector$Combinator;
            invokevirtual org.joox.selector.Selector$Combinator.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 14
                    2: 12
                    3: 16
                    4: 18
              default: 19
          }
        12: .line 67
      StackMap locals: java.lang.String int org.joox.selector.Scanner java.util.List java.lang.StringBuilder java.lang.String java.util.List java.util.Iterator org.joox.selector.Selector java.util.Iterator
      StackMap stack:
            aload 4 /* sb */
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 68
            goto 19
        14: .line 70
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            ldc "//"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 71
            goto 19
        16: .line 75
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            ldc "?????"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 76
            goto 19
        18: .line 80
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            ldc "?????"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 86
      StackMap locals:
      StackMap stack:
            getstatic org.joox.selector.CSS2XPath.SIMPLE_SELECTOR:Ljava/util/regex/Pattern;
            aload 8 /* s */
            invokevirtual org.joox.selector.Selector.getTagName:()Ljava/lang/String;
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 21
        20: .line 87
            aload 4 /* sb */
            ldc "*[local-name() = '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* s */
            invokevirtual org.joox.selector.Selector.getTagName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "']"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 22
        21: .line 89
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            aload 8 /* s */
            invokevirtual org.joox.selector.Selector.getTagName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        22: .line 94
      StackMap locals:
      StackMap stack:
            aload 8 /* s */
            invokevirtual org.joox.selector.Selector.hasSpecifiers:()Z
            ifeq 106
        23: .line 95
            aload 8 /* s */
            invokevirtual org.joox.selector.Selector.getSpecifiers:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 105
      StackMap locals: java.lang.String int org.joox.selector.Scanner java.util.List java.lang.StringBuilder java.lang.String java.util.List java.util.Iterator org.joox.selector.Selector java.util.Iterator top java.util.Iterator
      StackMap stack:
        24: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.joox.selector.Specifier
            astore 10 /* specifier */
        start local 10 // org.joox.selector.Specifier specifier
        25: .line 96
            invokestatic org.joox.selector.CSS2XPath.$SWITCH_TABLE$org$joox$selector$Specifier$Type:()[I
            aload 10 /* specifier */
            invokeinterface org.joox.selector.Specifier.getType:()Lorg/joox/selector/Specifier$Type;
            invokevirtual org.joox.selector.Specifier$Type.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 26
                    2: 84
                    3: 81
              default: 105
          }
        26: .line 98
      StackMap locals: java.lang.String int org.joox.selector.Scanner java.util.List java.lang.StringBuilder java.lang.String java.util.List java.util.Iterator org.joox.selector.Selector java.util.Iterator org.joox.selector.Specifier java.util.Iterator
      StackMap stack:
            aload 10 /* specifier */
            checkcast org.joox.selector.AttributeSpecifier
            astore 12 /* a */
        start local 12 // org.joox.selector.AttributeSpecifier a
        27: .line 100
            aload 4 /* sb */
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 102
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getMatch:()Lorg/joox/selector/AttributeSpecifier$Match;
            ifnonnull 32
        29: .line 103
            aload 4 /* sb */
            ldc "@"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        30: .line 104
            aload 4 /* sb */
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        31: .line 105
            goto 79
        32: .line 107
      StackMap locals: org.joox.selector.AttributeSpecifier
      StackMap stack:
            invokestatic org.joox.selector.CSS2XPath.$SWITCH_TABLE$org$joox$selector$AttributeSpecifier$Match:()[I
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getMatch:()Lorg/joox/selector/AttributeSpecifier$Match;
            invokevirtual org.joox.selector.AttributeSpecifier$Match.ordinal:()I
            iaload
            tableswitch { // 1 - 6
                    1: 33
                    2: 63
                    3: 45
                    4: 55
                    5: 61
                    6: 39
              default: 79
          }
        33: .line 109
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            ldc "@"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        34: .line 110
            aload 4 /* sb */
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        35: .line 111
            aload 4 /* sb */
            ldc "='"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        36: .line 112
            aload 4 /* sb */
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getValue:()Ljava/lang/String;
            ldc "'"
            ldc "\\'"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        37: .line 113
            aload 4 /* sb */
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        38: .line 114
            goto 79
        39: .line 118
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            ldc "contains(@"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        40: .line 119
            aload 4 /* sb */
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        41: .line 120
            aload 4 /* sb */
            ldc ", '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        42: .line 121
            aload 4 /* sb */
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getValue:()Ljava/lang/String;
            ldc "'"
            ldc "\\'"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        43: .line 122
            aload 4 /* sb */
            ldc "')"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        44: .line 123
            goto 79
        45: .line 127
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            ldc "@"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        46: .line 128
            aload 4 /* sb */
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        47: .line 129
            aload 4 /* sb */
            ldc "='"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        48: .line 130
            aload 4 /* sb */
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getValue:()Ljava/lang/String;
            ldc "'"
            ldc "\\'"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        49: .line 131
            aload 4 /* sb */
            ldc "' or starts-with(@"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        50: .line 132
            aload 4 /* sb */
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        51: .line 133
            aload 4 /* sb */
            ldc ", '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        52: .line 134
            aload 4 /* sb */
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getValue:()Ljava/lang/String;
            ldc "'"
            ldc "\\'"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        53: .line 135
            aload 4 /* sb */
            ldc "-')"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        54: .line 136
            goto 79
        55: .line 140
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            ldc "starts-with(@"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        56: .line 141
            aload 4 /* sb */
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        57: .line 142
            aload 4 /* sb */
            ldc ", '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        58: .line 143
            aload 4 /* sb */
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getValue:()Ljava/lang/String;
            ldc "'"
            ldc "\\'"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        59: .line 144
            aload 4 /* sb */
            ldc "')"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        60: .line 145
            goto 79
        61: .line 149
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getName:()Ljava/lang/String;
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getValue:()Ljava/lang/String;
            invokestatic org.joox.selector.CSS2XPath.endsWith:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
        62: .line 150
            goto 79
        63: .line 154
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            ldc "@"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        64: .line 155
            aload 4 /* sb */
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        65: .line 156
            aload 4 /* sb */
            ldc "='"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        66: .line 157
            aload 4 /* sb */
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getValue:()Ljava/lang/String;
            ldc "'"
            ldc "\\'"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        67: .line 158
            aload 4 /* sb */
            ldc "' or starts-with(@"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        68: .line 159
            aload 4 /* sb */
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        69: .line 160
            aload 4 /* sb */
            ldc ", '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        70: .line 161
            aload 4 /* sb */
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getValue:()Ljava/lang/String;
            ldc "'"
            ldc "\\'"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        71: .line 162
            aload 4 /* sb */
            ldc " ')"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        72: .line 163
            aload 4 /* sb */
            ldc " or "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        73: .line 164
            aload 4 /* sb */
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getName:()Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc " "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getValue:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.joox.selector.CSS2XPath.endsWith:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
        74: .line 165
            aload 4 /* sb */
            ldc " or contains(@"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        75: .line 166
            aload 4 /* sb */
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        76: .line 167
            aload 4 /* sb */
            ldc ", ' "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        77: .line 168
            aload 4 /* sb */
            aload 12 /* a */
            invokevirtual org.joox.selector.AttributeSpecifier.getValue:()Ljava/lang/String;
            ldc "'"
            ldc "\\'"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        78: .line 169
            aload 4 /* sb */
            ldc " ')"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        79: .line 175
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        80: .line 176
            goto 105
        end local 12 // org.joox.selector.AttributeSpecifier a
        81: .line 180
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            ldc "[not("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        82: .line 184
            aload 4 /* sb */
            ldc ")]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        83: .line 185
            goto 105
        84: .line 189
      StackMap locals:
      StackMap stack:
            aload 10 /* specifier */
            instanceof org.joox.selector.PseudoClassSpecifier
            ifeq 98
        85: .line 190
            aload 10 /* specifier */
            checkcast org.joox.selector.PseudoClassSpecifier
            astore 12 /* p */
        start local 12 // org.joox.selector.PseudoClassSpecifier p
        86: .line 191
            aload 12 /* p */
            invokevirtual org.joox.selector.PseudoClassSpecifier.getValue:()Ljava/lang/String;
            astore 13 /* value */
        start local 13 // java.lang.String value
        87: .line 193
            ldc "empty"
            aload 13 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 89
        88: .line 194
            aload 4 /* sb */
            ldc "[not(*|@*|node())]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 105
        89: .line 195
      StackMap locals: org.joox.selector.PseudoClassSpecifier java.lang.String
      StackMap stack:
            ldc "first-child"
            aload 13 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 91
        90: .line 196
            aload 4 /* sb */
            ldc "[not(preceding-sibling::*)]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 105
        91: .line 197
      StackMap locals:
      StackMap stack:
            ldc "last-child"
            aload 13 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 93
        92: .line 198
            aload 4 /* sb */
            ldc "[not(following-sibling::*)]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 105
        93: .line 199
      StackMap locals:
      StackMap stack:
            ldc "only-child"
            aload 13 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 95
        94: .line 200
            aload 4 /* sb */
            ldc "[not(preceding-sibling::*) and not(following-sibling::*)]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 105
        95: .line 201
      StackMap locals:
      StackMap stack:
            ldc "root"
            aload 13 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 105
        96: .line 202
            aload 4 /* sb */
            ldc "[not(parent::*)]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 13 // java.lang.String value
        end local 12 // org.joox.selector.PseudoClassSpecifier p
        97: .line 203
            goto 105
        98: .line 204
      StackMap locals:
      StackMap stack:
            aload 10 /* specifier */
            instanceof org.joox.selector.PseudoNthSpecifier
            ifeq 105
        99: .line 205
            aload 10 /* specifier */
            checkcast org.joox.selector.PseudoNthSpecifier
            astore 12 /* p */
        start local 12 // org.joox.selector.PseudoNthSpecifier p
       100: .line 206
            aload 12 /* p */
            invokevirtual org.joox.selector.PseudoNthSpecifier.getValue:()Ljava/lang/String;
            astore 13 /* value */
        start local 13 // java.lang.String value
       101: .line 208
            ldc "nth-child"
            aload 13 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 105
       102: .line 209
            aload 4 /* sb */
            ldc "[count(preceding-sibling::*) = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       103: .line 210
            aload 4 /* sb */
            aload 12 /* p */
            invokevirtual org.joox.selector.PseudoNthSpecifier.getArgument:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       104: .line 211
            aload 4 /* sb */
            ldc " - 1]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 13 // java.lang.String value
        end local 12 // org.joox.selector.PseudoNthSpecifier p
        end local 10 // org.joox.selector.Specifier specifier
       105: .line 95
      StackMap locals: java.lang.String int org.joox.selector.Scanner java.util.List java.lang.StringBuilder java.lang.String java.util.List java.util.Iterator org.joox.selector.Selector java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        end local 8 // org.joox.selector.Selector s
       106: .line 64
      StackMap locals: java.lang.String int org.joox.selector.Scanner java.util.List java.lang.StringBuilder java.lang.String java.util.List java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
       107: .line 223
            ldc " | "
            astore 5 /* selectorSeparator */
        end local 6 // java.util.List selector
       108: .line 55
      StackMap locals: java.lang.String int org.joox.selector.Scanner java.util.List java.lang.StringBuilder java.lang.String top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
       109: .line 226
            aload 4 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // java.lang.String selectorSeparator
        end local 4 // java.lang.StringBuilder sb
        end local 3 // java.util.List selectors
        end local 2 // org.joox.selector.Scanner scanner
        end local 1 // boolean isRoot
        end local 0 // java.lang.String css
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0  110     0                css  Ljava/lang/String;
            0  110     1             isRoot  Z
            1  110     2            scanner  Lorg/joox/selector/Scanner;
            2  110     3          selectors  Ljava/util/List<Ljava/util/List<Lorg/joox/selector/Selector;>;>;
            3  110     4                 sb  Ljava/lang/StringBuilder;
            4  110     5  selectorSeparator  Ljava/lang/String;
            6  108     6           selector  Ljava/util/List<Lorg/joox/selector/Selector;>;
           11  106     8                  s  Lorg/joox/selector/Selector;
           25  105    10          specifier  Lorg/joox/selector/Specifier;
           27   81    12                  a  Lorg/joox/selector/AttributeSpecifier;
           86   97    12                  p  Lorg/joox/selector/PseudoClassSpecifier;
           87   97    13              value  Ljava/lang/String;
          100  105    12                  p  Lorg/joox/selector/PseudoNthSpecifier;
          101  105    13              value  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      css     
      isRoot  

  private static void endsWith(java.lang.StringBuilder, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.StringBuilder sb
        start local 1 // java.lang.String attr
        start local 2 // java.lang.String value
         0: .line 234
            aload 0 /* sb */
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         1: .line 235
            aload 0 /* sb */
            aload 2 /* value */
            ldc "'"
            ldc "\\'"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 236
            aload 0 /* sb */
            ldc "' = substring(@"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 237
            aload 0 /* sb */
            aload 1 /* attr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 238
            aload 0 /* sb */
            ldc ", string-length(@"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 239
            aload 0 /* sb */
            aload 1 /* attr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 240
            aload 0 /* sb */
            ldc ") - string-length('"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 241
            aload 0 /* sb */
            aload 2 /* value */
            ldc "'"
            ldc "\\'"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 242
            aload 0 /* sb */
            ldc "') + 1)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 243
            return
        end local 2 // java.lang.String value
        end local 1 // java.lang.String attr
        end local 0 // java.lang.StringBuilder sb
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0     sb  Ljava/lang/StringBuilder;
            0   10     1   attr  Ljava/lang/String;
            0   10     2  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      sb     
      attr   
      value  

  static int[] $SWITCH_TABLE$org$joox$selector$Selector$Combinator();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 32
            getstatic org.joox.selector.CSS2XPath.$SWITCH_TABLE$org$joox$selector$Selector$Combinator:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.joox.selector.Selector$Combinator.values:()[Lorg/joox/selector/Selector$Combinator;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.joox.selector.Selector$Combinator.ADJACENT_SIBLING:Lorg/joox/selector/Selector$Combinator;
            invokevirtual org.joox.selector.Selector$Combinator.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.joox.selector.Selector$Combinator.CHILD:Lorg/joox/selector/Selector$Combinator;
            invokevirtual org.joox.selector.Selector$Combinator.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.joox.selector.Selector$Combinator.DESCENDANT:Lorg/joox/selector/Selector$Combinator;
            invokevirtual org.joox.selector.Selector$Combinator.ordinal:()I
            iconst_1
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.joox.selector.Selector$Combinator.GENERAL_SIBLING:Lorg/joox/selector/Selector$Combinator;
            invokevirtual org.joox.selector.Selector$Combinator.ordinal:()I
            iconst_4
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic org.joox.selector.CSS2XPath.$SWITCH_TABLE$org$joox$selector$Selector$Combinator:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$org$joox$selector$AttributeSpecifier$Match();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 32
            getstatic org.joox.selector.CSS2XPath.$SWITCH_TABLE$org$joox$selector$AttributeSpecifier$Match:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.joox.selector.AttributeSpecifier$Match.values:()[Lorg/joox/selector/AttributeSpecifier$Match;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.joox.selector.AttributeSpecifier$Match.CONTAINS:Lorg/joox/selector/AttributeSpecifier$Match;
            invokevirtual org.joox.selector.AttributeSpecifier$Match.ordinal:()I
            bipush 6
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.joox.selector.AttributeSpecifier$Match.EXACT:Lorg/joox/selector/AttributeSpecifier$Match;
            invokevirtual org.joox.selector.AttributeSpecifier$Match.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.joox.selector.AttributeSpecifier$Match.HYPHEN:Lorg/joox/selector/AttributeSpecifier$Match;
            invokevirtual org.joox.selector.AttributeSpecifier$Match.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.joox.selector.AttributeSpecifier$Match.LIST:Lorg/joox/selector/AttributeSpecifier$Match;
            invokevirtual org.joox.selector.AttributeSpecifier$Match.ordinal:()I
            iconst_2
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.joox.selector.AttributeSpecifier$Match.PREFIX:Lorg/joox/selector/AttributeSpecifier$Match;
            invokevirtual org.joox.selector.AttributeSpecifier$Match.ordinal:()I
            iconst_4
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic org.joox.selector.AttributeSpecifier$Match.SUFFIX:Lorg/joox/selector/AttributeSpecifier$Match;
            invokevirtual org.joox.selector.AttributeSpecifier$Match.ordinal:()I
            iconst_5
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            dup
            putstatic org.joox.selector.CSS2XPath.$SWITCH_TABLE$org$joox$selector$AttributeSpecifier$Match:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$org$joox$selector$Specifier$Type();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 32
            getstatic org.joox.selector.CSS2XPath.$SWITCH_TABLE$org$joox$selector$Specifier$Type:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.joox.selector.Specifier$Type.values:()[Lorg/joox/selector/Specifier$Type;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.joox.selector.Specifier$Type.ATTRIBUTE:Lorg/joox/selector/Specifier$Type;
            invokevirtual org.joox.selector.Specifier$Type.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.joox.selector.Specifier$Type.NEGATION:Lorg/joox/selector/Specifier$Type;
            invokevirtual org.joox.selector.Specifier$Type.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.joox.selector.Specifier$Type.PSEUDO:Lorg/joox/selector/Specifier$Type;
            invokevirtual org.joox.selector.Specifier$Type.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic org.joox.selector.CSS2XPath.$SWITCH_TABLE$org$joox$selector$Specifier$Type:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
}
SourceFile: "CSS2XPath.java"
InnerClasses:
  public final Match = org.joox.selector.AttributeSpecifier$Match of org.joox.selector.AttributeSpecifier
  public final Combinator = org.joox.selector.Selector$Combinator of org.joox.selector.Selector
  public final Type = org.joox.selector.Specifier$Type of org.joox.selector.Specifier