final class org.joni.Search
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.joni.Search
  super_class: java.lang.Object
{
  static final org.joni.Search$Forward SLOW_FORWARD;
    descriptor: Lorg/joni/Search$Forward;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final org.joni.Search$Backward SLOW_BACKWARD;
    descriptor: Lorg/joni/Search$Backward;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final org.joni.Search$Forward SLOW_SB_FORWARD;
    descriptor: Lorg/joni/Search$Forward;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final org.joni.Search$Backward SLOW_SB_BACKWARD;
    descriptor: Lorg/joni/Search$Backward;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final org.joni.Search$Forward SLOW_IC_FORWARD;
    descriptor: Lorg/joni/Search$Forward;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final org.joni.Search$Backward SLOW_IC_BACKWARD;
    descriptor: Lorg/joni/Search$Backward;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final org.joni.Search$Forward SLOW_IC_SB_FORWARD;
    descriptor: Lorg/joni/Search$Forward;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final org.joni.Search$Backward SLOW_IC_SB_BACKWARD;
    descriptor: Lorg/joni/Search$Backward;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final org.joni.Search$Forward BM_FORWARD;
    descriptor: Lorg/joni/Search$Forward;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final org.joni.Search$Backward BM_BACKWARD;
    descriptor: Lorg/joni/Search$Backward;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final org.joni.Search$Forward BM_IC_FORWARD;
    descriptor: Lorg/joni/Search$Forward;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final org.joni.Search$Forward BM_NOT_REV_FORWARD;
    descriptor: Lorg/joni/Search$Forward;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final org.joni.Search$Forward BM_NOT_REV_IC_FORWARD;
    descriptor: Lorg/joni/Search$Forward;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final org.joni.Search$Forward MAP_FORWARD;
    descriptor: Lorg/joni/Search$Forward;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final org.joni.Search$Backward MAP_BACKWARD;
    descriptor: Lorg/joni/Search$Backward;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final org.joni.Search$Forward MAP_SB_FORWARD;
    descriptor: Lorg/joni/Search$Forward;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final org.joni.Search$Backward MAP_SB_BACKWARD;
    descriptor: Lorg/joni/Search$Backward;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 58
            new org.joni.Search$1
            dup
            invokespecial org.joni.Search$1.<init>:()V
            putstatic org.joni.Search.SLOW_FORWARD:Lorg/joni/Search$Forward;
         1: .line 93
            new org.joni.Search$2
            dup
            invokespecial org.joni.Search$2.<init>:()V
            putstatic org.joni.Search.SLOW_BACKWARD:Lorg/joni/Search$Backward;
         2: .line 122
            new org.joni.Search$3
            dup
            invokespecial org.joni.Search$3.<init>:()V
            putstatic org.joni.Search.SLOW_SB_FORWARD:Lorg/joni/Search$Forward;
         3: .line 156
            new org.joni.Search$4
            dup
            invokespecial org.joni.Search$4.<init>:()V
            putstatic org.joni.Search.SLOW_SB_BACKWARD:Lorg/joni/Search$Backward;
         4: .line 185
            new org.joni.Search$5
            dup
            invokespecial org.joni.Search$5.<init>:()V
            putstatic org.joni.Search.SLOW_IC_FORWARD:Lorg/joni/Search$Forward;
         5: .line 213
            new org.joni.Search$6
            dup
            invokespecial org.joni.Search$6.<init>:()V
            putstatic org.joni.Search.SLOW_IC_BACKWARD:Lorg/joni/Search$Backward;
         6: .line 235
            new org.joni.Search$7
            dup
            invokespecial org.joni.Search$7.<init>:()V
            putstatic org.joni.Search.SLOW_IC_SB_FORWARD:Lorg/joni/Search$Forward;
         7: .line 272
            new org.joni.Search$8
            dup
            invokespecial org.joni.Search$8.<init>:()V
            putstatic org.joni.Search.SLOW_IC_SB_BACKWARD:Lorg/joni/Search$Backward;
         8: .line 303
            new org.joni.Search$9
            dup
            invokespecial org.joni.Search$9.<init>:()V
            putstatic org.joni.Search.BM_FORWARD:Lorg/joni/Search$Forward;
         9: .line 357
            new org.joni.Search$10
            dup
            invokespecial org.joni.Search$10.<init>:()V
            putstatic org.joni.Search.BM_BACKWARD:Lorg/joni/Search$Backward;
        10: .line 410
            new org.joni.Search$11
            dup
            invokespecial org.joni.Search$11.<init>:()V
            putstatic org.joni.Search.BM_IC_FORWARD:Lorg/joni/Search$Forward;
        11: .line 457
            new org.joni.Search$12
            dup
            invokespecial org.joni.Search$12.<init>:()V
            putstatic org.joni.Search.BM_NOT_REV_FORWARD:Lorg/joni/Search$Forward;
        12: .line 513
            new org.joni.Search$13
            dup
            invokespecial org.joni.Search$13.<init>:()V
            putstatic org.joni.Search.BM_NOT_REV_IC_FORWARD:Lorg/joni/Search$Forward;
        13: .line 561
            new org.joni.Search$14
            dup
            invokespecial org.joni.Search$14.<init>:()V
            putstatic org.joni.Search.MAP_FORWARD:Lorg/joni/Search$Forward;
        14: .line 582
            new org.joni.Search$15
            dup
            invokespecial org.joni.Search$15.<init>:()V
            putstatic org.joni.Search.MAP_BACKWARD:Lorg/joni/Search$Backward;
        15: .line 599
            new org.joni.Search$16
            dup
            invokespecial org.joni.Search$16.<init>:()V
            putstatic org.joni.Search.MAP_SB_FORWARD:Lorg/joni/Search$Forward;
        16: .line 618
            new org.joni.Search$17
            dup
            invokespecial org.joni.Search$17.<init>:()V
            putstatic org.joni.Search.MAP_SB_BACKWARD:Lorg/joni/Search$Backward;
        17: .line 632
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joni.Search this
         0: .line 27
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.joni.Search this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joni/Search;

  private static boolean lowerCaseMatch(byte[], int, int, byte[], int, int, org.jcodings.Encoding, byte[], int);
    descriptor: ([BII[BIILorg/jcodings/Encoding;[BI)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=12, args_size=9
        start local 0 // byte[] t
        start local 1 // int tP
        start local 2 // int tEnd
        start local 3 // byte[] bytes
        start local 4 // int p
        start local 5 // int end
        start local 6 // org.jcodings.Encoding enc
        start local 7 // byte[] buf
        start local 8 // int caseFoldFlag
         0: .line 39
            new org.jcodings.IntHolder
            dup
            invokespecial org.jcodings.IntHolder.<init>:()V
            astore 9 /* holder */
        start local 9 // org.jcodings.IntHolder holder
         1: .line 40
            aload 9 /* holder */
            iload 4 /* p */
            putfield org.jcodings.IntHolder.value:I
         2: .line 41
            goto 13
         3: .line 42
      StackMap locals: org.jcodings.IntHolder
      StackMap stack:
            aload 6 /* enc */
            iload 8 /* caseFoldFlag */
            aload 3 /* bytes */
            aload 9 /* holder */
            iload 5 /* end */
            aload 7 /* buf */
            invokevirtual org.jcodings.Encoding.mbcCaseFold:(I[BLorg/jcodings/IntHolder;I[B)I
            istore 10 /* lowlen */
        start local 10 // int lowlen
         4: .line 43
            iload 10 /* lowlen */
            iconst_1
            if_icmpne 7
         5: .line 44
            aload 0 /* t */
            iload 1 /* tP */
            iinc 1 /* tP */ 1
            baload
            aload 7 /* buf */
            iconst_0
            baload
            if_icmpeq 13
         6: .line 45
            iconst_0
            ireturn
         7: .line 47
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 11 /* q */
        start local 11 // int q
         8: .line 48
            goto 12
         9: .line 49
      StackMap locals: int
      StackMap stack:
            aload 0 /* t */
            iload 1 /* tP */
            iinc 1 /* tP */ 1
            baload
            aload 7 /* buf */
            iload 11 /* q */
            iinc 11 /* q */ 1
            baload
            if_icmpeq 11
        10: .line 50
            iconst_0
            ireturn
        11: .line 51
      StackMap locals:
      StackMap stack:
            iinc 10 /* lowlen */ -1
        12: .line 48
      StackMap locals:
      StackMap stack:
            iload 10 /* lowlen */
            ifgt 9
        end local 11 // int q
        end local 10 // int lowlen
        13: .line 41
      StackMap locals:
      StackMap stack:
            iload 1 /* tP */
            iload 2 /* tEnd */
            if_icmplt 3
        14: .line 55
            iconst_1
            ireturn
        end local 9 // org.jcodings.IntHolder holder
        end local 8 // int caseFoldFlag
        end local 7 // byte[] buf
        end local 6 // org.jcodings.Encoding enc
        end local 5 // int end
        end local 4 // int p
        end local 3 // byte[] bytes
        end local 2 // int tEnd
        end local 1 // int tP
        end local 0 // byte[] t
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0             t  [B
            0   15     1            tP  I
            0   15     2          tEnd  I
            0   15     3         bytes  [B
            0   15     4             p  I
            0   15     5           end  I
            0   15     6           enc  Lorg/jcodings/Encoding;
            0   15     7           buf  [B
            0   15     8  caseFoldFlag  I
            1   15     9        holder  Lorg/jcodings/IntHolder;
            4   13    10        lowlen  I
            8   13    11             q  I
    MethodParameters:
              Name  Flags
      t             
      tP            
      tEnd          
      bytes         
      p             
      end           
      enc           
      buf           
      caseFoldFlag  
}
SourceFile: "Search.java"
NestMembers:
  org.joni.Search$1  org.joni.Search$10  org.joni.Search$11  org.joni.Search$12  org.joni.Search$13  org.joni.Search$14  org.joni.Search$15  org.joni.Search$16  org.joni.Search$17  org.joni.Search$2  org.joni.Search$3  org.joni.Search$4  org.joni.Search$5  org.joni.Search$6  org.joni.Search$7  org.joni.Search$8  org.joni.Search$9  org.joni.Search$Backward  org.joni.Search$Forward
InnerClasses:
  org.joni.Search$1
  org.joni.Search$10
  org.joni.Search$11
  org.joni.Search$12
  org.joni.Search$13
  org.joni.Search$14
  org.joni.Search$15
  org.joni.Search$16
  org.joni.Search$17
  org.joni.Search$2
  org.joni.Search$3
  org.joni.Search$4
  org.joni.Search$5
  org.joni.Search$6
  org.joni.Search$7
  org.joni.Search$8
  org.joni.Search$9
  abstract Backward = org.joni.Search$Backward of org.joni.Search
  abstract Forward = org.joni.Search$Forward of org.joni.Search