public class org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree extends org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree
  super_class: org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree
{
  private static final java.util.TimeZone UTC;
    descriptor: Ljava/util/TimeZone;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final java.util.Calendar DEFAULT_CAL;
    descriptor: Ljava/util/Calendar;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.util.Calendar JAVA_UTIL_TIME_COMPAT_CAL;
    descriptor: Ljava/util/Calendar;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final int[] FIELD_BY_LEVEL;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int YEAR_LEVEL;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int NUM_MYEARS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 586

  public static final org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree INSTANCE;
    descriptor: Lorg/apache/lucene/spatial/prefix/tree/DateRangePrefixTree;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  private final java.util.Calendar CAL_TMP;
    descriptor: Ljava/util/Calendar;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Calendar MINCAL;
    descriptor: Ljava/util/Calendar;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Calendar MAXCAL;
    descriptor: Ljava/util/Calendar;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int BC_FIRSTYEAR;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int BC_LASTYEAR;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int BC_YEARS;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int AD_FIRSTYEAR;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int AD_LASTYEAR;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int AD_YEAR_BASE;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape minLV;
    descriptor: Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape maxLV;
    descriptor: Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape gregorianChangeDateLV;
    descriptor: Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=1, args_size=0
         0: .line 40
            ldc Lorg/apache/lucene/spatial/prefix/tree/DateRangePrefixTree;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.$assertionsDisabled:Z
         3: .line 60
            ldc "UTC"
            invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
            putstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.UTC:Ljava/util/TimeZone;
         4: .line 68
            getstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.UTC:Ljava/util/TimeZone;
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokestatic java.util.Calendar.getInstance:(Ljava/util/TimeZone;Ljava/util/Locale;)Ljava/util/Calendar;
            putstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.DEFAULT_CAL:Ljava/util/Calendar;
         5: .line 69
            getstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.DEFAULT_CAL:Ljava/util/Calendar;
            invokevirtual java.util.Calendar.clear:()V
         6: .line 80
            new java.util.GregorianCalendar
            dup
            getstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.UTC:Ljava/util/TimeZone;
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;Ljava/util/Locale;)V
            astore 0 /* cal */
        start local 0 // java.util.GregorianCalendar cal
         7: .line 81
            aload 0 /* cal */
            new java.util.Date
            dup
            ldc -9223372036854775808
            invokespecial java.util.Date.<init>:(J)V
            invokevirtual java.util.GregorianCalendar.setGregorianChange:(Ljava/util/Date;)V
         8: .line 82
            aload 0 /* cal */
            iconst_2
            invokevirtual java.util.GregorianCalendar.setFirstDayOfWeek:(I)V
         9: .line 83
            aload 0 /* cal */
            iconst_4
            invokevirtual java.util.GregorianCalendar.setMinimalDaysInFirstWeek:(I)V
        10: .line 84
            aload 0 /* cal */
            invokevirtual java.util.GregorianCalendar.clear:()V
        11: .line 85
            aload 0 /* cal */
            putstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.JAVA_UTIL_TIME_COMPAT_CAL:Ljava/util/Calendar;
        end local 0 // java.util.GregorianCalendar cal
        12: .line 88
            bipush 10
            newarray 10
            dup
            iconst_0
        13: .line 89
            iconst_m1
            iastore
            dup
            iconst_1
            iconst_m1
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_1
            iastore
            dup
            iconst_4
            iconst_2
            iastore
            dup
            iconst_5
            iconst_5
            iastore
            dup
            bipush 6
        14: .line 90
            bipush 11
            iastore
            dup
            bipush 7
            bipush 12
            iastore
            dup
            bipush 8
            bipush 13
            iastore
            dup
            bipush 9
            bipush 14
            iastore
        15: .line 88
            putstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.FIELD_BY_LEVEL:[I
        16: .line 101
            new org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree
            dup
            getstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.DEFAULT_CAL:Ljava/util/Calendar;
            invokespecial org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.<init>:(Ljava/util/Calendar;)V
            putstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.INSTANCE:Lorg/apache/lucene/spatial/prefix/tree/DateRangePrefixTree;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            7   12     0   cal  Ljava/util/GregorianCalendar;

  public void <init>(java.util.Calendar);
    descriptor: (Ljava/util/Calendar;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
        start local 1 // java.util.Calendar templateCal
         0: .line 123
            aload 0 /* this */
            bipush 9
            newarray 10
            dup
            iconst_0
         1: .line 124
            sipush 586
            iastore
            dup
            iconst_1
         2: .line 125
            sipush 1000
            iastore
            dup
            iconst_2
         3: .line 126
            sipush 1000
            iastore
            dup
            iconst_3
         4: .line 127
            aload 1 /* templateCal */
            iconst_2
            invokestatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.calFieldLen:(Ljava/util/Calendar;I)I
            iastore
            dup
            iconst_4
         5: .line 128
            aload 1 /* templateCal */
            iconst_5
            invokestatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.calFieldLen:(Ljava/util/Calendar;I)I
            iastore
            dup
            iconst_5
         6: .line 129
            aload 1 /* templateCal */
            bipush 11
            invokestatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.calFieldLen:(Ljava/util/Calendar;I)I
            iastore
            dup
            bipush 6
         7: .line 130
            aload 1 /* templateCal */
            bipush 12
            invokestatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.calFieldLen:(Ljava/util/Calendar;I)I
            iastore
            dup
            bipush 7
         8: .line 131
            aload 1 /* templateCal */
            bipush 13
            invokestatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.calFieldLen:(Ljava/util/Calendar;I)I
            iastore
            dup
            bipush 8
         9: .line 132
            aload 1 /* templateCal */
            bipush 14
            invokestatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.calFieldLen:(Ljava/util/Calendar;I)I
            iastore
            invokespecial org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.<init>:([I)V
        10: .line 134
            aload 0 /* this */
            aload 1 /* templateCal */
            invokevirtual java.util.Calendar.clone:()Ljava/lang/Object;
            checkcast java.util.Calendar
            putfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.CAL_TMP:Ljava/util/Calendar;
        11: .line 135
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.CAL_TMP:Ljava/util/Calendar;
            invokevirtual java.util.Calendar.clone:()Ljava/lang/Object;
            checkcast java.util.Calendar
            putfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.MINCAL:Ljava/util/Calendar;
        12: .line 136
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.MINCAL:Ljava/util/Calendar;
            ldc -9223372036854775808
            invokevirtual java.util.Calendar.setTimeInMillis:(J)V
        13: .line 137
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.CAL_TMP:Ljava/util/Calendar;
            invokevirtual java.util.Calendar.clone:()Ljava/lang/Object;
            checkcast java.util.Calendar
            putfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.MAXCAL:Ljava/util/Calendar;
        14: .line 138
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.MAXCAL:Ljava/util/Calendar;
            ldc 9223372036854775807
            invokevirtual java.util.Calendar.setTimeInMillis:(J)V
        15: .line 140
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.MINCAL:Ljava/util/Calendar;
            iconst_1
            invokevirtual java.util.Calendar.getActualMaximum:(I)I
            putfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.BC_FIRSTYEAR:I
        16: .line 141
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.MINCAL:Ljava/util/Calendar;
            iconst_1
            invokevirtual java.util.Calendar.getActualMinimum:(I)I
            putfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.BC_LASTYEAR:I
        17: .line 142
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.BC_FIRSTYEAR:I
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.BC_LASTYEAR:I
            isub
            iconst_1
            iadd
            putfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.BC_YEARS:I
        18: .line 143
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.MAXCAL:Ljava/util/Calendar;
            iconst_1
            invokevirtual java.util.Calendar.getActualMinimum:(I)I
            putfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.AD_FIRSTYEAR:I
        19: .line 144
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.MAXCAL:Ljava/util/Calendar;
            iconst_1
            invokevirtual java.util.Calendar.getActualMaximum:(I)I
            putfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.AD_LASTYEAR:I
        20: .line 145
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.BC_YEARS:I
            iconst_1
            isub
            ldc 1000000
            idiv
            iconst_1
            iadd
            ldc 1000000
            imul
            putfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.AD_YEAR_BASE:I
        21: .line 146
            getstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.$assertionsDisabled:Z
            ifne 23
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.BC_LASTYEAR:I
            iconst_1
            if_icmpne 22
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.AD_FIRSTYEAR:I
            iconst_1
            if_icmpeq 23
      StackMap locals: org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree java.util.Calendar
      StackMap stack:
        22: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        23: .line 147
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.$assertionsDisabled:Z
            ifne 24
            sipush 586
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.AD_YEAR_BASE:I
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.AD_LASTYEAR:I
            iadd
            ldc 1000000
            idiv
            iconst_1
            iadd
            if_icmpeq 24
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        24: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.MAXCAL:Ljava/util/Calendar;
            invokevirtual java.util.Calendar.clone:()Ljava/lang/Object;
            checkcast java.util.Calendar
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.toShape:(Ljava/util/Calendar;)Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
            putfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.maxLV:Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
        25: .line 150
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.MINCAL:Ljava/util/Calendar;
            invokevirtual java.util.Calendar.clone:()Ljava/lang/Object;
            checkcast java.util.Calendar
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.toShape:(Ljava/util/Calendar;)Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
            putfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.minLV:Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
        26: .line 151
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.MAXCAL:Ljava/util/Calendar;
            instanceof java.util.GregorianCalendar
            ifeq 30
        27: .line 152
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.MAXCAL:Ljava/util/Calendar;
            checkcast java.util.GregorianCalendar
            astore 2 /* gCal */
        start local 2 // java.util.GregorianCalendar gCal
        28: .line 153
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* gCal */
            invokevirtual java.util.GregorianCalendar.getGregorianChange:()Ljava/util/Date;
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.toUnitShape:(Ljava/lang/Object;)Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
            putfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.gregorianChangeDateLV:Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
        end local 2 // java.util.GregorianCalendar gCal
        29: .line 154
            goto 31
        30: .line 155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.gregorianChangeDateLV:Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
        31: .line 157
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Calendar templateCal
        end local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   32     0         this  Lorg/apache/lucene/spatial/prefix/tree/DateRangePrefixTree;
            0   32     1  templateCal  Ljava/util/Calendar;
           28   29     2         gCal  Ljava/util/GregorianCalendar;
    MethodParameters:
             Name  Flags
      templateCal  

  private static int calFieldLen(java.util.Calendar, int);
    descriptor: (Ljava/util/Calendar;I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Calendar cal
        start local 1 // int field
         0: .line 160
            aload 0 /* cal */
            iload 1 /* field */
            invokevirtual java.util.Calendar.getMaximum:(I)I
            aload 0 /* cal */
            iload 1 /* field */
            invokevirtual java.util.Calendar.getMinimum:(I)I
            isub
            iconst_1
            iadd
            ireturn
        end local 1 // int field
        end local 0 // java.util.Calendar cal
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0    cal  Ljava/util/Calendar;
            0    1     1  field  I
    MethodParameters:
       Name  Flags
      cal    
      field  

  public int getNumSubCells(org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape);
    descriptor: (Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
        start local 1 // org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape lv
         0: .line 165
            aload 1 /* lv */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.maxLV:Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
            invokestatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.comparePrefix:(Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;)I
            istore 2 /* cmp */
        start local 2 // int cmp
         1: .line 166
            getstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.$assertionsDisabled:Z
            ifne 2
            iload 2 /* cmp */
            ifle 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 167
      StackMap locals: int
      StackMap stack:
            iload 2 /* cmp */
            ifne 4
         3: .line 168
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.maxLV:Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
            aload 1 /* lv */
            invokeinterface org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape.getLevel:()I
            iconst_1
            iadd
            invokeinterface org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape.getValAtLevel:(I)I
            iconst_1
            iadd
            ireturn
         4: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.gregorianChangeDateLV:Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
            ifnull 5
            aload 1 /* lv */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.gregorianChangeDateLV:Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
            invokestatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.comparePrefix:(Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;)I
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_m1
      StackMap locals:
      StackMap stack: int
         6: istore 2 /* cmp */
         7: .line 174
            iload 2 /* cmp */
            iflt 11
         8: .line 175
            aload 0 /* this */
            aload 1 /* lv */
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.fastSubCells:(Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;)I
            istore 3 /* result */
        start local 3 // int result
         9: .line 176
            getstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.$assertionsDisabled:Z
            ifne 10
            iload 3 /* result */
            aload 0 /* this */
            aload 1 /* lv */
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.slowSubCells:(Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;)I
            if_icmpeq 10
            new java.lang.AssertionError
            dup
            ldc "fast/slow numSubCells inconsistency"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 177
      StackMap locals: int
      StackMap stack:
            iload 3 /* result */
            ireturn
        end local 3 // int result
        11: .line 179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* lv */
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.slowSubCells:(Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;)I
            ireturn
        end local 2 // int cmp
        end local 1 // org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape lv
        end local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lorg/apache/lucene/spatial/prefix/tree/DateRangePrefixTree;
            0   12     1      lv  Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
            1   12     2     cmp  I
            9   11     3  result  I
    MethodParameters:
      Name  Flags
      lv    

  private int fastSubCells(org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape);
    descriptor: (Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
        start local 1 // org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape lv
         0: .line 184
            aload 1 /* lv */
            invokeinterface org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape.getLevel:()I
            iconst_4
            if_icmpne 11
         1: .line 185
            aload 1 /* lv */
            aload 1 /* lv */
            invokeinterface org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape.getLevel:()I
            invokeinterface org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape.getValAtLevel:(I)I
            tableswitch { // 1 - 10
                    1: 3
                    2: 10
                    3: 2
                    4: 10
                    5: 2
                    6: 10
                    7: 10
                    8: 2
                    9: 10
                   10: 2
              default: 10
          }
         2: .line 190
      StackMap locals:
      StackMap stack:
            bipush 30
            ireturn
         3: .line 193
      StackMap locals:
      StackMap stack:
            aload 1 /* lv */
            iconst_1
            invokeinterface org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape.getValAtLevel:(I)I
            ldc 1000000
            imul
            istore 2 /* yearAdj */
        start local 2 // int yearAdj
         4: .line 194
            iload 2 /* yearAdj */
            aload 1 /* lv */
            iconst_2
            invokeinterface org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape.getValAtLevel:(I)I
            sipush 1000
            imul
            iadd
            istore 2 /* yearAdj */
         5: .line 195
            iload 2 /* yearAdj */
            aload 1 /* lv */
            iconst_3
            invokeinterface org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape.getValAtLevel:(I)I
            iadd
            istore 2 /* yearAdj */
         6: .line 196
            iload 2 /* yearAdj */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.AD_YEAR_BASE:I
            isub
            istore 3 /* year */
        start local 3 // int year
         7: .line 197
            iload 3 /* year */
            iconst_4
            irem
            ifne 9
            iload 3 /* year */
            bipush 100
            irem
            ifne 8
            iload 3 /* year */
            sipush 400
            irem
            ifne 9
         8: .line 198
      StackMap locals: int int
      StackMap stack:
            bipush 29
            ireturn
         9: .line 200
      StackMap locals:
      StackMap stack:
            bipush 28
            ireturn
        end local 3 // int year
        end local 2 // int yearAdj
        10: .line 202
      StackMap locals:
      StackMap stack:
            bipush 31
            ireturn
        11: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* lv */
            invokespecial org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.getNumSubCells:(Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;)I
            ireturn
        end local 1 // org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape lv
        end local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/apache/lucene/spatial/prefix/tree/DateRangePrefixTree;
            0   12     1       lv  Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
            4   10     2  yearAdj  I
            7   10     3     year  I
    MethodParameters:
      Name  Flags
      lv    

  private int slowSubCells(org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape);
    descriptor: (Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
        start local 1 // org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape lv
         0: .line 210
            getstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.FIELD_BY_LEVEL:[I
            aload 1 /* lv */
            invokeinterface org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape.getLevel:()I
            iconst_1
            iadd
            iaload
            istore 2 /* field */
        start local 2 // int field
         1: .line 212
            iload 2 /* field */
            iconst_m1
            if_icmpeq 2
            iload 2 /* field */
            iconst_1
            if_icmpeq 2
            iload 2 /* field */
            bipush 11
            if_icmplt 3
         2: .line 213
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* lv */
            invokespecial org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree.getNumSubCells:(Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;)I
            ireturn
         3: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* lv */
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.toCalendar:(Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;)Ljava/util/Calendar;
            astore 3 /* cal */
        start local 3 // java.util.Calendar cal
         4: .line 215
            aload 3 /* cal */
            iload 2 /* field */
            invokevirtual java.util.Calendar.getActualMaximum:(I)I
            aload 3 /* cal */
            iload 2 /* field */
            invokevirtual java.util.Calendar.getActualMinimum:(I)I
            isub
            iconst_1
            iadd
            ireturn
        end local 3 // java.util.Calendar cal
        end local 2 // int field
        end local 1 // org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape lv
        end local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/apache/lucene/spatial/prefix/tree/DateRangePrefixTree;
            0    5     1     lv  Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
            1    5     2  field  I
            4    5     3    cal  Ljava/util/Calendar;
    MethodParameters:
      Name  Flags
      lv    

  public java.util.Calendar newCal();
    descriptor: ()Ljava/util/Calendar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
         0: .line 221
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.CAL_TMP:Ljava/util/Calendar;
            invokevirtual java.util.Calendar.clone:()Ljava/lang/Object;
            checkcast java.util.Calendar
            areturn
        end local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/spatial/prefix/tree/DateRangePrefixTree;

  public int getTreeLevelForCalendarField(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
        start local 1 // int calField
         0: .line 229
            iconst_3
            istore 2 /* i */
        start local 2 // int i
         1: goto 7
         2: .line 230
      StackMap locals: int
      StackMap stack:
            getstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.FIELD_BY_LEVEL:[I
            iload 2 /* i */
            iaload
            iload 1 /* calField */
            if_icmpne 4
         3: .line 231
            iload 2 /* i */
            ireturn
         4: .line 232
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.FIELD_BY_LEVEL:[I
            iload 2 /* i */
            iaload
            iload 1 /* calField */
            if_icmple 6
         5: .line 233
            iconst_m1
            iload 2 /* i */
            imul
            ireturn
         6: .line 229
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            getstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.FIELD_BY_LEVEL:[I
            arraylength
            if_icmplt 2
        end local 2 // int i
         8: .line 236
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad calendar field?: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* calField */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // int calField
        end local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/apache/lucene/spatial/prefix/tree/DateRangePrefixTree;
            0    9     1  calField  I
            1    8     2         i  I
    MethodParameters:
          Name  Flags
      calField  

  public int getCalPrecisionField(java.util.Calendar);
    descriptor: (Ljava/util/Calendar;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
        start local 1 // java.util.Calendar cal
         0: .line 243
            iconst_m1
            istore 2 /* lastField */
        start local 2 // int lastField
         1: .line 244
            iconst_3
            istore 3 /* level */
        start local 3 // int level
         2: goto 8
         3: .line 245
      StackMap locals: int int
      StackMap stack:
            getstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.FIELD_BY_LEVEL:[I
            iload 3 /* level */
            iaload
            istore 4 /* field */
        start local 4 // int field
         4: .line 246
            aload 1 /* cal */
            iload 4 /* field */
            invokevirtual java.util.Calendar.isSet:(I)Z
            ifne 6
         5: .line 247
            goto 9
         6: .line 248
      StackMap locals: int
      StackMap stack:
            iload 4 /* field */
            istore 2 /* lastField */
        end local 4 // int field
         7: .line 244
            iinc 3 /* level */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* level */
            getstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.FIELD_BY_LEVEL:[I
            arraylength
            if_icmplt 3
        end local 3 // int level
         9: .line 250
      StackMap locals:
      StackMap stack:
            iload 2 /* lastField */
            ireturn
        end local 2 // int lastField
        end local 1 // java.util.Calendar cal
        end local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/apache/lucene/spatial/prefix/tree/DateRangePrefixTree;
            0   10     1        cal  Ljava/util/Calendar;
            1   10     2  lastField  I
            2    9     3      level  I
            4    7     4      field  I
    MethodParameters:
      Name  Flags
      cal   

  public void clearFieldsAfter(java.util.Calendar, int);
    descriptor: (Ljava/util/Calendar;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
        start local 1 // java.util.Calendar cal
        start local 2 // int field
         0: .line 256
            iconst_m1
            istore 3 /* assertEra */
        start local 3 // int assertEra
         1: .line 257
            getstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.$assertionsDisabled:Z
            ifne 2
            aload 1 /* cal */
            invokevirtual java.util.Calendar.clone:()Ljava/lang/Object;
            checkcast java.util.Calendar
            iconst_0
            invokevirtual java.util.Calendar.get:(I)I
            dup
            istore 3 /* assertEra */
            ifge 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 259
      StackMap locals: int
      StackMap stack:
            iload 2 /* field */
            iconst_1
            iadd
            istore 4 /* f */
        start local 4 // int f
         3: goto 6
         4: .line 260
      StackMap locals: int
      StackMap stack:
            aload 1 /* cal */
            iload 4 /* f */
            invokevirtual java.util.Calendar.clear:(I)V
         5: .line 259
            iinc 4 /* f */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* f */
            bipush 14
            if_icmple 4
        end local 4 // int f
         7: .line 262
            getstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.$assertionsDisabled:Z
            ifne 8
            iload 2 /* field */
            iconst_1
            iadd
            ifeq 8
            aload 1 /* cal */
            invokevirtual java.util.Calendar.clone:()Ljava/lang/Object;
            checkcast java.util.Calendar
            iconst_0
            invokevirtual java.util.Calendar.get:(I)I
            iload 3 /* assertEra */
            if_icmpeq 8
            new java.lang.AssertionError
            dup
            ldc "Calendar underflow"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 263
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int assertEra
        end local 2 // int field
        end local 1 // java.util.Calendar cal
        end local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/apache/lucene/spatial/prefix/tree/DateRangePrefixTree;
            0    9     1        cal  Ljava/util/Calendar;
            0    9     2      field  I
            1    9     3  assertEra  I
            3    7     4          f  I
    MethodParameters:
       Name  Flags
      cal    
      field  

  public org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape toUnitShape(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
        start local 1 // java.lang.Object value
         0: .line 271
            aload 1 /* value */
            instanceof java.util.Calendar
            ifeq 2
         1: .line 272
            aload 0 /* this */
            aload 1 /* value */
            checkcast java.util.Calendar
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.toShape:(Ljava/util/Calendar;)Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
            areturn
         2: .line 273
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof java.util.Date
            ifeq 6
         3: .line 274
            aload 0 /* this */
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.newCal:()Ljava/util/Calendar;
            astore 2 /* cal */
        start local 2 // java.util.Calendar cal
         4: .line 275
            aload 2 /* cal */
            aload 1 /* value */
            checkcast java.util.Date
            invokevirtual java.util.Calendar.setTime:(Ljava/util/Date;)V
         5: .line 276
            aload 0 /* this */
            aload 2 /* cal */
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.toShape:(Ljava/util/Calendar;)Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
            areturn
        end local 2 // java.util.Calendar cal
         6: .line 278
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Expecting Calendar or Date but got: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.Object value
        end local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/apache/lucene/spatial/prefix/tree/DateRangePrefixTree;
            0    7     1  value  Ljava/lang/Object;
            4    6     2    cal  Ljava/util/Calendar;
    MethodParameters:
       Name  Flags
      value  

  public org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape toShape(java.util.Calendar);
    descriptor: (Ljava/util/Calendar;)Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=2
        start local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
        start local 1 // java.util.Calendar cal
         0: .line 287
            aload 0 /* this */
            aload 1 /* cal */
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.getCalPrecisionField:(Ljava/util/Calendar;)I
            istore 2 /* calPrecField */
        start local 2 // int calPrecField
         1: .line 289
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.maxLevels:I
            newarray 10
            astore 3 /* valStack */
        start local 3 // int[] valStack
         2: .line 290
            iconst_0
            istore 4 /* len */
        start local 4 // int len
         3: .line 291
            iload 2 /* calPrecField */
            iconst_1
            if_icmplt 21
         4: .line 292
            aload 1 /* cal */
            iconst_1
            invokevirtual java.util.Calendar.get:(I)I
            istore 5 /* year */
        start local 5 // int year
         5: .line 293
            aload 1 /* cal */
            iconst_0
            invokevirtual java.util.Calendar.get:(I)I
            ifne 6
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.AD_YEAR_BASE:I
            iload 5 /* year */
            iconst_1
            isub
            isub
            goto 7
      StackMap locals: org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree java.util.Calendar int int[] int int
      StackMap stack:
         6: aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.AD_YEAR_BASE:I
            iload 5 /* year */
            iadd
      StackMap locals:
      StackMap stack: int
         7: istore 6 /* yearAdj */
        start local 6 // int yearAdj
         8: .line 295
            aload 3 /* valStack */
            iload 4 /* len */
            iinc 4 /* len */ 1
            iload 6 /* yearAdj */
            ldc 1000000
            idiv
            iastore
         9: .line 296
            iload 6 /* yearAdj */
            aload 3 /* valStack */
            iload 4 /* len */
            iconst_1
            isub
            iaload
            ldc 1000000
            imul
            isub
            istore 6 /* yearAdj */
        10: .line 297
            aload 3 /* valStack */
            iload 4 /* len */
            iinc 4 /* len */ 1
            iload 6 /* yearAdj */
            sipush 1000
            idiv
            iastore
        11: .line 298
            iload 6 /* yearAdj */
            aload 3 /* valStack */
            iload 4 /* len */
            iconst_1
            isub
            iaload
            sipush 1000
            imul
            isub
            istore 6 /* yearAdj */
        12: .line 299
            aload 3 /* valStack */
            iload 4 /* len */
            iinc 4 /* len */ 1
            iload 6 /* yearAdj */
            iastore
        13: .line 300
            iconst_4
            istore 7 /* level */
        start local 7 // int level
        14: goto 20
        15: .line 301
      StackMap locals: int int
      StackMap stack:
            getstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.FIELD_BY_LEVEL:[I
            iload 7 /* level */
            iaload
            istore 8 /* field */
        start local 8 // int field
        16: .line 302
            iload 8 /* field */
            iload 2 /* calPrecField */
            if_icmple 18
        17: .line 303
            goto 21
        18: .line 304
      StackMap locals: int
      StackMap stack:
            aload 3 /* valStack */
            iload 4 /* len */
            iinc 4 /* len */ 1
            aload 1 /* cal */
            iload 8 /* field */
            invokevirtual java.util.Calendar.get:(I)I
            aload 1 /* cal */
            iload 8 /* field */
            invokevirtual java.util.Calendar.getActualMinimum:(I)I
            isub
            iastore
        end local 8 // int field
        19: .line 300
            iinc 7 /* level */ 1
      StackMap locals:
      StackMap stack:
        20: iload 7 /* level */
            getstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.FIELD_BY_LEVEL:[I
            arraylength
            if_icmplt 15
        end local 7 // int level
        end local 6 // int yearAdj
        end local 5 // int year
        21: .line 308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* valStack */
            iload 4 /* len */
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.toShape:([II)Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
            astore 10
        22: .line 310
            aload 0 /* this */
            aload 1 /* cal */
            iload 2 /* calPrecField */
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.clearFieldsAfter:(Ljava/util/Calendar;I)V
        23: .line 308
            aload 10
            areturn
        end local 4 // int len
        end local 3 // int[] valStack
        24: .line 309
      StackMap locals: org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree java.util.Calendar int
      StackMap stack: java.lang.Throwable
            astore 9
        25: .line 310
            aload 0 /* this */
            aload 1 /* cal */
            iload 2 /* calPrecField */
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.clearFieldsAfter:(Ljava/util/Calendar;I)V
        26: .line 311
            aload 9
            athrow
        end local 2 // int calPrecField
        end local 1 // java.util.Calendar cal
        end local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   27     0          this  Lorg/apache/lucene/spatial/prefix/tree/DateRangePrefixTree;
            0   27     1           cal  Ljava/util/Calendar;
            1   27     2  calPrecField  I
            2   24     3      valStack  [I
            3   24     4           len  I
            5   21     5          year  I
            8   21     6       yearAdj  I
           14   21     7         level  I
           16   19     8         field  I
      Exception table:
        from    to  target  type
           1    22      24  any
    MethodParameters:
      Name  Flags
      cal   

  public java.lang.Object toObject(org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape);
    descriptor: (Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
        start local 1 // org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape shape
         0: .line 317
            aload 0 /* this */
            aload 1 /* shape */
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.toCalendar:(Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;)Ljava/util/Calendar;
            areturn
        end local 1 // org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape shape
        end local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/lucene/spatial/prefix/tree/DateRangePrefixTree;
            0    1     1  shape  Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
    MethodParameters:
       Name  Flags
      shape  

  public java.util.Calendar toCalendar(org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape);
    descriptor: (Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;)Ljava/util/Calendar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
        start local 1 // org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape lv
         0: .line 323
            aload 1 /* lv */
            invokeinterface org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape.getLevel:()I
            ifne 2
         1: .line 324
            aload 0 /* this */
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.newCal:()Ljava/util/Calendar;
            areturn
         2: .line 325
      StackMap locals:
      StackMap stack:
            aload 1 /* lv */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.minLV:Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
            invokestatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.comparePrefix:(Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;)I
            ifgt 4
         3: .line 326
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.MINCAL:Ljava/util/Calendar;
            invokevirtual java.util.Calendar.clone:()Ljava/lang/Object;
            checkcast java.util.Calendar
            areturn
         4: .line 328
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.$assertionsDisabled:Z
            ifne 5
            aload 1 /* lv */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.maxLV:Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
            invokestatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.comparePrefix:(Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;)I
            ifle 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 329
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.newCal:()Ljava/util/Calendar;
            astore 2 /* cal */
        start local 2 // java.util.Calendar cal
         6: .line 331
            aload 1 /* lv */
            iconst_1
            invokeinterface org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape.getValAtLevel:(I)I
            ldc 1000000
            imul
            istore 3 /* yearAdj */
        start local 3 // int yearAdj
         7: .line 332
            aload 1 /* lv */
            invokeinterface org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape.getLevel:()I
            iconst_1
            if_icmple 11
         8: .line 333
            iload 3 /* yearAdj */
            aload 1 /* lv */
            iconst_2
            invokeinterface org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape.getValAtLevel:(I)I
            sipush 1000
            imul
            iadd
            istore 3 /* yearAdj */
         9: .line 334
            aload 1 /* lv */
            invokeinterface org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape.getLevel:()I
            iconst_2
            if_icmple 11
        10: .line 335
            iload 3 /* yearAdj */
            aload 1 /* lv */
            iconst_3
            invokeinterface org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape.getValAtLevel:(I)I
            iadd
            istore 3 /* yearAdj */
        11: .line 338
      StackMap locals: java.util.Calendar int
      StackMap stack:
            iload 3 /* yearAdj */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.AD_YEAR_BASE:I
            if_icmple 15
        12: .line 339
            aload 2 /* cal */
            iconst_0
            iconst_1
            invokevirtual java.util.Calendar.set:(II)V
        13: .line 340
            aload 2 /* cal */
            iconst_1
            iload 3 /* yearAdj */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.AD_YEAR_BASE:I
            isub
            invokevirtual java.util.Calendar.set:(II)V
        14: .line 341
            goto 17
        15: .line 342
      StackMap locals:
      StackMap stack:
            aload 2 /* cal */
            iconst_0
            iconst_0
            invokevirtual java.util.Calendar.set:(II)V
        16: .line 343
            aload 2 /* cal */
            iconst_1
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.AD_YEAR_BASE:I
            iload 3 /* yearAdj */
            isub
            iconst_1
            iadd
            invokevirtual java.util.Calendar.set:(II)V
        17: .line 345
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 4 /* level */
        start local 4 // int level
        18: goto 22
        19: .line 346
      StackMap locals: int
      StackMap stack:
            getstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.FIELD_BY_LEVEL:[I
            iload 4 /* level */
            iaload
            istore 5 /* field */
        start local 5 // int field
        20: .line 347
            aload 2 /* cal */
            iload 5 /* field */
            aload 1 /* lv */
            iload 4 /* level */
            invokeinterface org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape.getValAtLevel:(I)I
            aload 2 /* cal */
            iload 5 /* field */
            invokevirtual java.util.Calendar.getActualMinimum:(I)I
            iadd
            invokevirtual java.util.Calendar.set:(II)V
        end local 5 // int field
        21: .line 345
            iinc 4 /* level */ 1
      StackMap locals:
      StackMap stack:
        22: iload 4 /* level */
            aload 1 /* lv */
            invokeinterface org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape.getLevel:()I
            if_icmple 19
        end local 4 // int level
        23: .line 349
            getstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.$assertionsDisabled:Z
            ifne 24
            iload 3 /* yearAdj */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.AD_YEAR_BASE:I
            if_icmpgt 24
            aload 2 /* cal */
            invokevirtual java.util.Calendar.clone:()Ljava/lang/Object;
            checkcast java.util.Calendar
            iconst_0
            invokevirtual java.util.Calendar.get:(I)I
            ifeq 24
            new java.lang.AssertionError
            dup
            ldc "ERA / YEAR underflow"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        24: .line 350
      StackMap locals:
      StackMap stack:
            aload 2 /* cal */
            areturn
        end local 3 // int yearAdj
        end local 2 // java.util.Calendar cal
        end local 1 // org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape lv
        end local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   25     0     this  Lorg/apache/lucene/spatial/prefix/tree/DateRangePrefixTree;
            0   25     1       lv  Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
            6   25     2      cal  Ljava/util/Calendar;
            7   25     3  yearAdj  I
           18   23     4    level  I
           20   21     5    field  I
    MethodParameters:
      Name  Flags
      lv    

  protected java.lang.String toString(org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape);
    descriptor: (Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
        start local 1 // org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape lv
         0: .line 355
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* lv */
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.toCalendar:(Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;)Ljava/util/Calendar;
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.toString:(Ljava/util/Calendar;)Ljava/lang/String;
            areturn
        end local 1 // org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape lv
        end local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/spatial/prefix/tree/DateRangePrefixTree;
            0    1     1    lv  Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
    MethodParameters:
      Name  Flags
      lv    

  public java.lang.String toString(java.util.Calendar);
    descriptor: (Ljava/util/Calendar;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
        start local 1 // java.util.Calendar cal
         0: .line 364
            aload 0 /* this */
            aload 1 /* cal */
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.getCalPrecisionField:(Ljava/util/Calendar;)I
            istore 2 /* calPrecField */
        start local 2 // int calPrecField
         1: .line 365
            iload 2 /* calPrecField */
            iconst_m1
            if_icmpne 3
         2: .line 366
            ldc "*"
            areturn
         3: .line 368
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "yyyy-MM-dd'T'HH:mm:ss.SSS"
            invokevirtual java.lang.String.length:()I
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* builder */
        start local 3 // java.lang.StringBuilder builder
         4: .line 369
            aload 1 /* cal */
            iconst_1
            invokevirtual java.util.Calendar.get:(I)I
            istore 4 /* year */
        start local 4 // int year
         5: .line 370
            aload 1 /* cal */
            iconst_0
            invokevirtual java.util.Calendar.get:(I)I
            ifne 10
         6: .line 371
            iinc 4 /* year */ -1
         7: .line 372
            iload 4 /* year */
            ifle 12
         8: .line 373
            aload 3 /* builder */
            bipush 45
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 375
            goto 12
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
        10: iload 4 /* year */
            sipush 9999
            if_icmple 12
        11: .line 376
            aload 3 /* builder */
            bipush 43
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        12: .line 378
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* builder */
            iload 4 /* year */
            iconst_4
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.appendPadded:(Ljava/lang/StringBuilder;IS)V
        13: .line 379
            iload 2 /* calPrecField */
            iconst_2
            if_icmplt 16
        14: .line 380
            aload 3 /* builder */
            bipush 45
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        15: .line 381
            aload 0 /* this */
            aload 3 /* builder */
            aload 1 /* cal */
            iconst_2
            invokevirtual java.util.Calendar.get:(I)I
            iconst_1
            iadd
            iconst_2
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.appendPadded:(Ljava/lang/StringBuilder;IS)V
        16: .line 383
      StackMap locals:
      StackMap stack:
            iload 2 /* calPrecField */
            iconst_5
            if_icmplt 19
        17: .line 384
            aload 3 /* builder */
            bipush 45
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        18: .line 385
            aload 0 /* this */
            aload 3 /* builder */
            aload 1 /* cal */
            iconst_5
            invokevirtual java.util.Calendar.get:(I)I
            iconst_2
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.appendPadded:(Ljava/lang/StringBuilder;IS)V
        19: .line 387
      StackMap locals:
      StackMap stack:
            iload 2 /* calPrecField */
            bipush 11
            if_icmplt 22
        20: .line 388
            aload 3 /* builder */
            bipush 84
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        21: .line 389
            aload 0 /* this */
            aload 3 /* builder */
            aload 1 /* cal */
            bipush 11
            invokevirtual java.util.Calendar.get:(I)I
            iconst_2
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.appendPadded:(Ljava/lang/StringBuilder;IS)V
        22: .line 391
      StackMap locals:
      StackMap stack:
            iload 2 /* calPrecField */
            bipush 12
            if_icmplt 25
        23: .line 392
            aload 3 /* builder */
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        24: .line 393
            aload 0 /* this */
            aload 3 /* builder */
            aload 1 /* cal */
            bipush 12
            invokevirtual java.util.Calendar.get:(I)I
            iconst_2
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.appendPadded:(Ljava/lang/StringBuilder;IS)V
        25: .line 395
      StackMap locals:
      StackMap stack:
            iload 2 /* calPrecField */
            bipush 13
            if_icmplt 28
        26: .line 396
            aload 3 /* builder */
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        27: .line 397
            aload 0 /* this */
            aload 3 /* builder */
            aload 1 /* cal */
            bipush 13
            invokevirtual java.util.Calendar.get:(I)I
            iconst_2
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.appendPadded:(Ljava/lang/StringBuilder;IS)V
        28: .line 399
      StackMap locals:
      StackMap stack:
            iload 2 /* calPrecField */
            bipush 14
            if_icmplt 31
            aload 1 /* cal */
            bipush 14
            invokevirtual java.util.Calendar.get:(I)I
            ifle 31
        29: .line 400
            aload 3 /* builder */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        30: .line 401
            aload 0 /* this */
            aload 3 /* builder */
            aload 1 /* cal */
            bipush 14
            invokevirtual java.util.Calendar.get:(I)I
            iconst_3
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.appendPadded:(Ljava/lang/StringBuilder;IS)V
        31: .line 404
      StackMap locals:
      StackMap stack:
            aload 3 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6
        32: .line 406
            aload 0 /* this */
            aload 1 /* cal */
            iload 2 /* calPrecField */
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.clearFieldsAfter:(Ljava/util/Calendar;I)V
        33: .line 404
            aload 6
            areturn
        end local 4 // int year
        end local 3 // java.lang.StringBuilder builder
        34: .line 405
      StackMap locals: org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree java.util.Calendar int
      StackMap stack: java.lang.Throwable
            astore 5
        35: .line 406
            aload 0 /* this */
            aload 1 /* cal */
            iload 2 /* calPrecField */
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.clearFieldsAfter:(Ljava/util/Calendar;I)V
        36: .line 407
            aload 5
            athrow
        end local 2 // int calPrecField
        end local 1 // java.util.Calendar cal
        end local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   37     0          this  Lorg/apache/lucene/spatial/prefix/tree/DateRangePrefixTree;
            0   37     1           cal  Ljava/util/Calendar;
            1   37     2  calPrecField  I
            4   34     3       builder  Ljava/lang/StringBuilder;
            5   34     4          year  I
      Exception table:
        from    to  target  type
           3    32      34  any
    MethodParameters:
      Name  Flags
      cal   

  private void appendPadded(java.lang.StringBuilder, int, short);
    descriptor: (Ljava/lang/StringBuilder;IS)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
        start local 1 // java.lang.StringBuilder builder
        start local 2 // int integer
        start local 3 // short positions
         0: .line 411
            getstatic org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.$assertionsDisabled:Z
            ifne 2
            iload 2 /* integer */
            iflt 1
            iload 3 /* positions */
            iconst_1
            if_icmplt 1
            iload 3 /* positions */
            iconst_4
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 412
      StackMap locals:
      StackMap stack:
            aload 1 /* builder */
            invokevirtual java.lang.StringBuilder.length:()I
            pop
         3: .line 414
            iload 2 /* integer */
            sipush 999
            if_icmple 6
         4: .line 415
            iconst_4
            istore 4 /* intStrLen */
        start local 4 // int intStrLen
         5: .line 416
            goto 13
        end local 4 // int intStrLen
      StackMap locals:
      StackMap stack:
         6: iload 2 /* integer */
            bipush 99
            if_icmple 9
         7: .line 417
            iconst_3
            istore 4 /* intStrLen */
        start local 4 // int intStrLen
         8: .line 418
            goto 13
        end local 4 // int intStrLen
      StackMap locals:
      StackMap stack:
         9: iload 2 /* integer */
            bipush 9
            if_icmple 12
        10: .line 419
            iconst_2
            istore 4 /* intStrLen */
        start local 4 // int intStrLen
        11: .line 420
            goto 13
        end local 4 // int intStrLen
        12: .line 421
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* intStrLen */
        start local 4 // int intStrLen
        13: .line 423
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        14: goto 17
        15: .line 424
      StackMap locals: int
      StackMap stack:
            aload 1 /* builder */
            bipush 48
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        16: .line 423
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 5 /* i */
            iload 3 /* positions */
            iload 4 /* intStrLen */
            isub
            if_icmplt 15
        end local 5 // int i
        18: .line 426
            aload 1 /* builder */
            iload 2 /* integer */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        19: .line 427
            return
        end local 4 // int intStrLen
        end local 3 // short positions
        end local 2 // int integer
        end local 1 // java.lang.StringBuilder builder
        end local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0       this  Lorg/apache/lucene/spatial/prefix/tree/DateRangePrefixTree;
            0   20     1    builder  Ljava/lang/StringBuilder;
            0   20     2    integer  I
            0   20     3  positions  S
            5    6     4  intStrLen  I
            8    9     4  intStrLen  I
           11   12     4  intStrLen  I
           13   20     4  intStrLen  I
           14   18     5          i  I
    MethodParameters:
           Name  Flags
      builder    
      integer    
      positions  

  protected org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape parseUnitShape(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
        start local 1 // java.lang.String str
         0: .line 431
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* str */
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.parseCalendar:(Ljava/lang/String;)Ljava/util/Calendar;
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.toShape:(Ljava/util/Calendar;)Lorg/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree$UnitNRShape;
            areturn
        end local 1 // java.lang.String str
        end local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/spatial/prefix/tree/DateRangePrefixTree;
            0    1     1   str  Ljava/lang/String;
    Exceptions:
      throws java.text.ParseException
    MethodParameters:
      Name  Flags
      str   

  public java.util.Calendar parseCalendar(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Calendar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=2
        start local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
        start local 1 // java.lang.String str
         0: .line 443
            aload 1 /* str */
            ifnull 1
            aload 1 /* str */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 444
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "str is null or blank"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 445
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.newCal:()Ljava/util/Calendar;
            astore 2 /* cal */
        start local 2 // java.util.Calendar cal
         3: .line 446
            aload 1 /* str */
            ldc "*"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 447
            aload 2 /* cal */
            areturn
         5: .line 448
      StackMap locals: java.util.Calendar
      StackMap stack:
            iconst_0
            istore 3 /* offset */
        start local 3 // int offset
         6: .line 449
            iconst_0
            istore 4 /* parsedVal */
        start local 4 // int parsedVal
         7: .line 452
            aload 1 /* str */
            aload 1 /* str */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 90
            if_icmpne 8
            aload 1 /* str */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            goto 9
      StackMap locals: int int
      StackMap stack:
         8: aload 1 /* str */
            invokevirtual java.lang.String.length:()I
      StackMap locals:
      StackMap stack: int
         9: istore 5 /* lastOffset */
        start local 5 // int lastOffset
        10: .line 453
            aload 1 /* str */
            bipush 45
            iconst_1
            invokevirtual java.lang.String.indexOf:(II)I
            istore 6 /* hyphenIdx */
        start local 6 // int hyphenIdx
        11: .line 454
            iload 6 /* hyphenIdx */
            ifge 13
        12: .line 455
            iload 5 /* lastOffset */
            istore 6 /* hyphenIdx */
        13: .line 456
      StackMap locals: int int
      StackMap stack:
            aload 1 /* str */
            iload 3 /* offset */
            iload 6 /* hyphenIdx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 7 /* year */
        start local 7 // int year
        14: .line 457
            aload 2 /* cal */
            iconst_0
            iload 7 /* year */
            ifgt 15
            iconst_0
            goto 16
      StackMap locals: org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree java.lang.String java.util.Calendar int int int int int
      StackMap stack: java.util.Calendar int
        15: iconst_1
      StackMap locals: org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree java.lang.String java.util.Calendar int int int int int
      StackMap stack: java.util.Calendar int int
        16: invokevirtual java.util.Calendar.set:(II)V
        17: .line 458
            aload 2 /* cal */
            iconst_1
            iload 7 /* year */
            ifgt 18
            iconst_m1
            iload 7 /* year */
            imul
            iconst_1
            iadd
            goto 19
      StackMap locals: org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree java.lang.String java.util.Calendar int int int int int
      StackMap stack: java.util.Calendar int
        18: iload 7 /* year */
      StackMap locals: org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree java.lang.String java.util.Calendar int int int int int
      StackMap stack: java.util.Calendar int int
        19: invokevirtual java.util.Calendar.set:(II)V
        20: .line 459
            iload 6 /* hyphenIdx */
            iconst_1
            iadd
            istore 3 /* offset */
        21: .line 460
            iload 5 /* lastOffset */
            iload 3 /* offset */
            if_icmpge 24
        22: .line 461
            aload 2 /* cal */
        23: areturn
        24: .line 467
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* str */
            iload 3 /* offset */
            iconst_1
            bipush 12
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.parseAndCheck:(Ljava/lang/String;III)I
            istore 4 /* parsedVal */
        25: .line 468
            aload 2 /* cal */
            iconst_2
            iload 4 /* parsedVal */
            iconst_1
            isub
            invokevirtual java.util.Calendar.set:(II)V
        26: .line 469
            iinc 3 /* offset */ 3
        27: .line 470
            iload 5 /* lastOffset */
            iload 3 /* offset */
            if_icmpge 30
        28: .line 471
            aload 2 /* cal */
        29: areturn
        30: .line 473
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* str */
            iload 3 /* offset */
            iconst_1
            isub
            bipush 45
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.checkDelimeter:(Ljava/lang/String;IC)V
        31: .line 475
            aload 0 /* this */
            aload 1 /* str */
            iload 3 /* offset */
            iconst_1
            bipush 31
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.parseAndCheck:(Ljava/lang/String;III)I
            istore 4 /* parsedVal */
        32: .line 476
            aload 2 /* cal */
            iconst_5
            iload 4 /* parsedVal */
            invokevirtual java.util.Calendar.set:(II)V
        33: .line 477
            iinc 3 /* offset */ 3
        34: .line 478
            iload 5 /* lastOffset */
            iload 3 /* offset */
            if_icmpge 37
        35: .line 479
            aload 2 /* cal */
        36: areturn
        37: .line 480
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* str */
            iload 3 /* offset */
            iconst_1
            isub
            bipush 84
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.checkDelimeter:(Ljava/lang/String;IC)V
        38: .line 483
            aload 0 /* this */
            aload 1 /* str */
            iload 3 /* offset */
            iconst_0
            bipush 24
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.parseAndCheck:(Ljava/lang/String;III)I
            istore 4 /* parsedVal */
        39: .line 484
            aload 2 /* cal */
            bipush 11
            iload 4 /* parsedVal */
            invokevirtual java.util.Calendar.set:(II)V
        40: .line 485
            iinc 3 /* offset */ 3
        41: .line 486
            iload 5 /* lastOffset */
            iload 3 /* offset */
            if_icmpge 44
        42: .line 487
            aload 2 /* cal */
        43: areturn
        44: .line 488
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* str */
            iload 3 /* offset */
            iconst_1
            isub
            bipush 58
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.checkDelimeter:(Ljava/lang/String;IC)V
        45: .line 491
            aload 0 /* this */
            aload 1 /* str */
            iload 3 /* offset */
            iconst_0
            bipush 59
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.parseAndCheck:(Ljava/lang/String;III)I
            istore 4 /* parsedVal */
        46: .line 492
            aload 2 /* cal */
            bipush 12
            iload 4 /* parsedVal */
            invokevirtual java.util.Calendar.set:(II)V
        47: .line 493
            iinc 3 /* offset */ 3
        48: .line 494
            iload 5 /* lastOffset */
            iload 3 /* offset */
            if_icmpge 51
        49: .line 495
            aload 2 /* cal */
        50: areturn
        51: .line 496
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* str */
            iload 3 /* offset */
            iconst_1
            isub
            bipush 58
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.checkDelimeter:(Ljava/lang/String;IC)V
        52: .line 499
            aload 0 /* this */
            aload 1 /* str */
            iload 3 /* offset */
            iconst_0
            bipush 59
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.parseAndCheck:(Ljava/lang/String;III)I
            istore 4 /* parsedVal */
        53: .line 500
            aload 2 /* cal */
            bipush 13
            iload 4 /* parsedVal */
            invokevirtual java.util.Calendar.set:(II)V
        54: .line 501
            iinc 3 /* offset */ 3
        55: .line 502
            iload 5 /* lastOffset */
            iload 3 /* offset */
            if_icmpge 58
        56: .line 503
            aload 2 /* cal */
        57: areturn
        58: .line 504
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* str */
            iload 3 /* offset */
            iconst_1
            isub
            bipush 46
            invokevirtual org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree.checkDelimeter:(Ljava/lang/String;IC)V
        59: .line 507
            iload 5 /* lastOffset */
            iload 3 /* offset */
            isub
            istore 8 /* maxOffset */
        start local 8 // int maxOffset
        60: .line 509
            aload 1 /* str */
            iload 3 /* offset */
            iload 3 /* offset */
            iload 8 /* maxOffset */
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            i2d
            ldc 10.0
            iload 8 /* maxOffset */
            iconst_3
            isub
            i2d
            invokestatic java.lang.Math.pow:(DD)D
            ddiv
            d2i
            istore 9 /* millis */
        start local 9 // int millis
        61: .line 510
            aload 2 /* cal */
            bipush 14
            iload 9 /* millis */
            invokevirtual java.util.Calendar.set:(II)V
        62: .line 511
            aload 2 /* cal */
        63: areturn
        end local 9 // int millis
        end local 8 // int maxOffset
        end local 7 // int year
        end local 6 // int hyphenIdx
        end local 5 // int lastOffset
        64: .line 512
      StackMap locals: org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree java.lang.String java.util.Calendar int int
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
        65: .line 513
            new java.text.ParseException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Improperly formatted datetime: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* str */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iload 3 /* offset */
            invokespecial java.text.ParseException.<init>:(Ljava/lang/String;I)V
            astore 6 /* pe */
        start local 6 // java.text.ParseException pe
        66: .line 514
            aload 6 /* pe */
            aload 5 /* e */
            invokevirtual java.text.ParseException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        67: .line 515
            aload 6 /* pe */
            athrow
        end local 6 // java.text.ParseException pe
        end local 5 // java.lang.Exception e
        end local 4 // int parsedVal
        end local 3 // int offset
        end local 2 // java.util.Calendar cal
        end local 1 // java.lang.String str
        end local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   68     0        this  Lorg/apache/lucene/spatial/prefix/tree/DateRangePrefixTree;
            0   68     1         str  Ljava/lang/String;
            3   68     2         cal  Ljava/util/Calendar;
            6   68     3      offset  I
            7   68     4   parsedVal  I
           10   64     5  lastOffset  I
           11   64     6   hyphenIdx  I
           14   64     7        year  I
           60   64     8   maxOffset  I
           61   64     9      millis  I
           65   68     5           e  Ljava/lang/Exception;
           66   68     6          pe  Ljava/text/ParseException;
      Exception table:
        from    to  target  type
           7    23      64  Class java.lang.Exception
          24    29      64  Class java.lang.Exception
          30    36      64  Class java.lang.Exception
          37    43      64  Class java.lang.Exception
          44    50      64  Class java.lang.Exception
          51    57      64  Class java.lang.Exception
          58    63      64  Class java.lang.Exception
    Exceptions:
      throws java.text.ParseException
    MethodParameters:
      Name  Flags
      str   

  private void checkDelimeter(java.lang.String, int, char);
    descriptor: (Ljava/lang/String;IC)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
        start local 1 // java.lang.String str
        start local 2 // int offset
        start local 3 // char delim
         0: .line 520
            aload 1 /* str */
            iload 2 /* offset */
            invokevirtual java.lang.String.charAt:(I)C
            iload 3 /* delim */
            if_icmpeq 4
         1: .line 521
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid delimeter: '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* str */
            iload 2 /* offset */
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         2: .line 522
            ldc "', expecting '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* delim */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 521
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 524
      StackMap locals:
      StackMap stack:
            return
        end local 3 // char delim
        end local 2 // int offset
        end local 1 // java.lang.String str
        end local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/apache/lucene/spatial/prefix/tree/DateRangePrefixTree;
            0    5     1     str  Ljava/lang/String;
            0    5     2  offset  I
            0    5     3   delim  C
    MethodParameters:
        Name  Flags
      str     
      offset  
      delim   

  private int parseAndCheck(java.lang.String, int, int, int);
    descriptor: (Ljava/lang/String;III)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
        start local 1 // java.lang.String str
        start local 2 // int offset
        start local 3 // int min
        start local 4 // int max
         0: .line 527
            aload 1 /* str */
            iload 2 /* offset */
            iload 2 /* offset */
            iconst_2
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 5 /* val */
        start local 5 // int val
         1: .line 528
            iload 5 /* val */
            iload 3 /* min */
            if_icmplt 2
            iload 5 /* val */
            iload 4 /* max */
            if_icmple 5
         2: .line 529
      StackMap locals: int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid value: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* val */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 530
            ldc " expecting from "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* min */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* max */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 529
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 532
      StackMap locals:
      StackMap stack:
            iload 5 /* val */
            ireturn
        end local 5 // int val
        end local 4 // int max
        end local 3 // int min
        end local 2 // int offset
        end local 1 // java.lang.String str
        end local 0 // org.apache.lucene.spatial.prefix.tree.DateRangePrefixTree this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/apache/lucene/spatial/prefix/tree/DateRangePrefixTree;
            0    6     1     str  Ljava/lang/String;
            0    6     2  offset  I
            0    6     3     min  I
            0    6     4     max  I
            1    6     5     val  I
    MethodParameters:
        Name  Flags
      str     
      offset  
      min     
      max     
}
SourceFile: "DateRangePrefixTree.java"
InnerClasses:
  public abstract UnitNRShape = org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree$UnitNRShape of org.apache.lucene.spatial.prefix.tree.NumberRangePrefixTree