public final class java.time.LocalDate implements java.time.temporal.Temporal, java.time.temporal.TemporalAdjuster, java.time.chrono.ChronoLocalDate, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: java.time.LocalDate
  super_class: java.lang.Object
{
  public static final java.time.LocalDate MIN;
    descriptor: Ljava/time/LocalDate;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.time.LocalDate MAX;
    descriptor: Ljava/time/LocalDate;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.time.LocalDate EPOCH;
    descriptor: Ljava/time/LocalDate;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2942565459149668126

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

  static final long DAYS_0000_TO_1970;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 719528

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

  private final short month;
    descriptor: S
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final short day;
    descriptor: S
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$java$time$temporal$ChronoField;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$java$time$temporal$ChronoUnit;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 146
            ldc -999999999
            iconst_1
            iconst_1
            invokestatic java.time.LocalDate.of:(III)Ljava/time/LocalDate;
            putstatic java.time.LocalDate.MIN:Ljava/time/LocalDate;
         1: .line 151
            ldc 999999999
            bipush 12
            bipush 31
            invokestatic java.time.LocalDate.of:(III)Ljava/time/LocalDate;
            putstatic java.time.LocalDate.MAX:Ljava/time/LocalDate;
         2: .line 155
            sipush 1970
            iconst_1
            iconst_1
            invokestatic java.time.LocalDate.of:(III)Ljava/time/LocalDate;
            putstatic java.time.LocalDate.EPOCH:Ljava/time/LocalDate;
         3: .line 170
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.time.LocalDate now();
    descriptor: ()Ljava/time/LocalDate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 198
            invokestatic java.time.Clock.systemDefaultZone:()Ljava/time/Clock;
            invokestatic java.time.LocalDate.now:(Ljava/time/Clock;)Ljava/time/LocalDate;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.time.LocalDate now(java.time.ZoneId);
    descriptor: (Ljava/time/ZoneId;)Ljava/time/LocalDate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.time.ZoneId zone
         0: .line 214
            aload 0 /* zone */
            invokestatic java.time.Clock.system:(Ljava/time/ZoneId;)Ljava/time/Clock;
            invokestatic java.time.LocalDate.now:(Ljava/time/Clock;)Ljava/time/LocalDate;
            areturn
        end local 0 // java.time.ZoneId zone
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  zone  Ljava/time/ZoneId;
    MethodParameters:
      Name  Flags
      zone  

  public static java.time.LocalDate now(java.time.Clock);
    descriptor: (Ljava/time/Clock;)Ljava/time/LocalDate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.time.Clock clock
         0: .line 228
            aload 0 /* clock */
            ldc "clock"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 229
            aload 0 /* clock */
            invokevirtual java.time.Clock.instant:()Ljava/time/Instant;
            astore 1 /* now */
        start local 1 // java.time.Instant now
         2: .line 230
            aload 1 /* now */
            aload 0 /* clock */
            invokevirtual java.time.Clock.getZone:()Ljava/time/ZoneId;
            invokestatic java.time.LocalDate.ofInstant:(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/LocalDate;
            areturn
        end local 1 // java.time.Instant now
        end local 0 // java.time.Clock clock
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  clock  Ljava/time/Clock;
            2    3     1    now  Ljava/time/Instant;
    MethodParameters:
       Name  Flags
      clock  

  public static java.time.LocalDate of(int, java.time.Month, int);
    descriptor: (ILjava/time/Month;I)Ljava/time/LocalDate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // int year
        start local 1 // java.time.Month month
        start local 2 // int dayOfMonth
         0: .line 248
            getstatic java.time.temporal.ChronoField.YEAR:Ljava/time/temporal/ChronoField;
            iload 0 /* year */
            i2l
            invokevirtual java.time.temporal.ChronoField.checkValidValue:(J)J
            pop2
         1: .line 249
            aload 1 /* month */
            ldc "month"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 250
            getstatic java.time.temporal.ChronoField.DAY_OF_MONTH:Ljava/time/temporal/ChronoField;
            iload 2 /* dayOfMonth */
            i2l
            invokevirtual java.time.temporal.ChronoField.checkValidValue:(J)J
            pop2
         3: .line 251
            iload 0 /* year */
            aload 1 /* month */
            invokevirtual java.time.Month.getValue:()I
            iload 2 /* dayOfMonth */
            invokestatic java.time.LocalDate.create:(III)Ljava/time/LocalDate;
            areturn
        end local 2 // int dayOfMonth
        end local 1 // java.time.Month month
        end local 0 // int year
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        year  I
            0    4     1       month  Ljava/time/Month;
            0    4     2  dayOfMonth  I
    MethodParameters:
            Name  Flags
      year        
      month       
      dayOfMonth  

  public static java.time.LocalDate of(int, int, int);
    descriptor: (III)Ljava/time/LocalDate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // int year
        start local 1 // int month
        start local 2 // int dayOfMonth
         0: .line 268
            getstatic java.time.temporal.ChronoField.YEAR:Ljava/time/temporal/ChronoField;
            iload 0 /* year */
            i2l
            invokevirtual java.time.temporal.ChronoField.checkValidValue:(J)J
            pop2
         1: .line 269
            getstatic java.time.temporal.ChronoField.MONTH_OF_YEAR:Ljava/time/temporal/ChronoField;
            iload 1 /* month */
            i2l
            invokevirtual java.time.temporal.ChronoField.checkValidValue:(J)J
            pop2
         2: .line 270
            getstatic java.time.temporal.ChronoField.DAY_OF_MONTH:Ljava/time/temporal/ChronoField;
            iload 2 /* dayOfMonth */
            i2l
            invokevirtual java.time.temporal.ChronoField.checkValidValue:(J)J
            pop2
         3: .line 271
            iload 0 /* year */
            iload 1 /* month */
            iload 2 /* dayOfMonth */
            invokestatic java.time.LocalDate.create:(III)Ljava/time/LocalDate;
            areturn
        end local 2 // int dayOfMonth
        end local 1 // int month
        end local 0 // int year
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        year  I
            0    4     1       month  I
            0    4     2  dayOfMonth  I
    MethodParameters:
            Name  Flags
      year        
      month       
      dayOfMonth  

  public static java.time.LocalDate ofYearDay(int, int);
    descriptor: (II)Ljava/time/LocalDate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // int year
        start local 1 // int dayOfYear
         0: .line 288
            getstatic java.time.temporal.ChronoField.YEAR:Ljava/time/temporal/ChronoField;
            iload 0 /* year */
            i2l
            invokevirtual java.time.temporal.ChronoField.checkValidValue:(J)J
            pop2
         1: .line 289
            getstatic java.time.temporal.ChronoField.DAY_OF_YEAR:Ljava/time/temporal/ChronoField;
            iload 1 /* dayOfYear */
            i2l
            invokevirtual java.time.temporal.ChronoField.checkValidValue:(J)J
            pop2
         2: .line 290
            getstatic java.time.chrono.IsoChronology.INSTANCE:Ljava/time/chrono/IsoChronology;
            iload 0 /* year */
            i2l
            invokevirtual java.time.chrono.IsoChronology.isLeapYear:(J)Z
            istore 2 /* leap */
        start local 2 // boolean leap
         3: .line 291
            iload 1 /* dayOfYear */
            sipush 366
            if_icmpne 5
            iload 2 /* leap */
            ifne 5
         4: .line 292
            new java.time.DateTimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid date 'DayOfYear 366' as '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* year */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "' is not a leap year"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.time.DateTimeException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 294
      StackMap locals: int
      StackMap stack:
            iload 1 /* dayOfYear */
            iconst_1
            isub
            bipush 31
            idiv
            iconst_1
            iadd
            invokestatic java.time.Month.of:(I)Ljava/time/Month;
            astore 3 /* moy */
        start local 3 // java.time.Month moy
         6: .line 295
            aload 3 /* moy */
            iload 2 /* leap */
            invokevirtual java.time.Month.firstDayOfYear:(Z)I
            aload 3 /* moy */
            iload 2 /* leap */
            invokevirtual java.time.Month.length:(Z)I
            iadd
            iconst_1
            isub
            istore 4 /* monthEnd */
        start local 4 // int monthEnd
         7: .line 296
            iload 1 /* dayOfYear */
            iload 4 /* monthEnd */
            if_icmple 9
         8: .line 297
            aload 3 /* moy */
            lconst_1
            invokevirtual java.time.Month.plus:(J)Ljava/time/Month;
            astore 3 /* moy */
         9: .line 299
      StackMap locals: java.time.Month int
      StackMap stack:
            iload 1 /* dayOfYear */
            aload 3 /* moy */
            iload 2 /* leap */
            invokevirtual java.time.Month.firstDayOfYear:(Z)I
            isub
            iconst_1
            iadd
            istore 5 /* dom */
        start local 5 // int dom
        10: .line 300
            new java.time.LocalDate
            dup
            iload 0 /* year */
            aload 3 /* moy */
            invokevirtual java.time.Month.getValue:()I
            iload 5 /* dom */
            invokespecial java.time.LocalDate.<init>:(III)V
            areturn
        end local 5 // int dom
        end local 4 // int monthEnd
        end local 3 // java.time.Month moy
        end local 2 // boolean leap
        end local 1 // int dayOfYear
        end local 0 // int year
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       year  I
            0   11     1  dayOfYear  I
            3   11     2       leap  Z
            6   11     3        moy  Ljava/time/Month;
            7   11     4   monthEnd  I
           10   11     5        dom  I
    MethodParameters:
           Name  Flags
      year       
      dayOfYear  

  public static java.time.LocalDate ofInstant(java.time.Instant, java.time.ZoneId);
    descriptor: (Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/LocalDate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // java.time.Instant instant
        start local 1 // java.time.ZoneId zone
         0: .line 319
            aload 0 /* instant */
            ldc "instant"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 320
            aload 1 /* zone */
            ldc "zone"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 321
            aload 1 /* zone */
            invokevirtual java.time.ZoneId.getRules:()Ljava/time/zone/ZoneRules;
            astore 2 /* rules */
        start local 2 // java.time.zone.ZoneRules rules
         3: .line 322
            aload 2 /* rules */
            aload 0 /* instant */
            invokevirtual java.time.zone.ZoneRules.getOffset:(Ljava/time/Instant;)Ljava/time/ZoneOffset;
            astore 3 /* offset */
        start local 3 // java.time.ZoneOffset offset
         4: .line 323
            aload 0 /* instant */
            invokevirtual java.time.Instant.getEpochSecond:()J
            aload 3 /* offset */
            invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
            i2l
            ladd
            lstore 4 /* localSecond */
        start local 4 // long localSecond
         5: .line 324
            lload 4 /* localSecond */
            ldc 86400
            invokestatic java.lang.Math.floorDiv:(JI)J
            lstore 6 /* localEpochDay */
        start local 6 // long localEpochDay
         6: .line 325
            lload 6 /* localEpochDay */
            invokestatic java.time.LocalDate.ofEpochDay:(J)Ljava/time/LocalDate;
            areturn
        end local 6 // long localEpochDay
        end local 4 // long localSecond
        end local 3 // java.time.ZoneOffset offset
        end local 2 // java.time.zone.ZoneRules rules
        end local 1 // java.time.ZoneId zone
        end local 0 // java.time.Instant instant
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0        instant  Ljava/time/Instant;
            0    7     1           zone  Ljava/time/ZoneId;
            3    7     2          rules  Ljava/time/zone/ZoneRules;
            4    7     3         offset  Ljava/time/ZoneOffset;
            5    7     4    localSecond  J
            6    7     6  localEpochDay  J
    MethodParameters:
         Name  Flags
      instant  
      zone     

  public static java.time.LocalDate ofEpochDay(long);
    descriptor: (J)Ljava/time/LocalDate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=15, args_size=1
        start local 0 // long epochDay
         0: .line 341
            getstatic java.time.temporal.ChronoField.EPOCH_DAY:Ljava/time/temporal/ChronoField;
            lload 0 /* epochDay */
            invokevirtual java.time.temporal.ChronoField.checkValidValue:(J)J
            pop2
         1: .line 342
            lload 0 /* epochDay */
            ldc 719528
            ladd
            lstore 2 /* zeroDay */
        start local 2 // long zeroDay
         2: .line 344
            lload 2 /* zeroDay */
            ldc 60
            lsub
            lstore 2 /* zeroDay */
         3: .line 345
            lconst_0
            lstore 4 /* adjust */
        start local 4 // long adjust
         4: .line 346
            lload 2 /* zeroDay */
            lconst_0
            lcmp
            ifge 8
         5: .line 348
            lload 2 /* zeroDay */
            lconst_1
            ladd
            ldc 146097
            ldiv
            lconst_1
            lsub
            lstore 6 /* adjustCycles */
        start local 6 // long adjustCycles
         6: .line 349
            lload 6 /* adjustCycles */
            ldc 400
            lmul
            lstore 4 /* adjust */
         7: .line 350
            lload 2 /* zeroDay */
            lload 6 /* adjustCycles */
            lneg
            ldc 146097
            lmul
            ladd
            lstore 2 /* zeroDay */
        end local 6 // long adjustCycles
         8: .line 352
      StackMap locals: long long
      StackMap stack:
            ldc 400
            lload 2 /* zeroDay */
            lmul
            ldc 591
            ladd
            ldc 146097
            ldiv
            lstore 6 /* yearEst */
        start local 6 // long yearEst
         9: .line 353
            lload 2 /* zeroDay */
            ldc 365
            lload 6 /* yearEst */
            lmul
            lload 6 /* yearEst */
            ldc 4
            ldiv
            ladd
            lload 6 /* yearEst */
            ldc 100
            ldiv
            lsub
            lload 6 /* yearEst */
            ldc 400
            ldiv
            ladd
            lsub
            lstore 8 /* doyEst */
        start local 8 // long doyEst
        10: .line 354
            lload 8 /* doyEst */
            lconst_0
            lcmp
            ifge 13
        11: .line 356
            lload 6 /* yearEst */
            lconst_1
            lsub
            lstore 6 /* yearEst */
        12: .line 357
            lload 2 /* zeroDay */
            ldc 365
            lload 6 /* yearEst */
            lmul
            lload 6 /* yearEst */
            ldc 4
            ldiv
            ladd
            lload 6 /* yearEst */
            ldc 100
            ldiv
            lsub
            lload 6 /* yearEst */
            ldc 400
            ldiv
            ladd
            lsub
            lstore 8 /* doyEst */
        13: .line 359
      StackMap locals: long long
      StackMap stack:
            lload 6 /* yearEst */
            lload 4 /* adjust */
            ladd
            lstore 6 /* yearEst */
        14: .line 360
            lload 8 /* doyEst */
            l2i
            istore 10 /* marchDoy0 */
        start local 10 // int marchDoy0
        15: .line 363
            iload 10 /* marchDoy0 */
            iconst_5
            imul
            iconst_2
            iadd
            sipush 153
            idiv
            istore 11 /* marchMonth0 */
        start local 11 // int marchMonth0
        16: .line 364
            iload 11 /* marchMonth0 */
            iconst_2
            iadd
            bipush 12
            irem
            iconst_1
            iadd
            istore 12 /* month */
        start local 12 // int month
        17: .line 365
            iload 10 /* marchDoy0 */
            iload 11 /* marchMonth0 */
            sipush 306
            imul
            iconst_5
            iadd
            bipush 10
            idiv
            isub
            iconst_1
            iadd
            istore 13 /* dom */
        start local 13 // int dom
        18: .line 366
            lload 6 /* yearEst */
            iload 11 /* marchMonth0 */
            bipush 10
            idiv
            i2l
            ladd
            lstore 6 /* yearEst */
        19: .line 369
            getstatic java.time.temporal.ChronoField.YEAR:Ljava/time/temporal/ChronoField;
            lload 6 /* yearEst */
            invokevirtual java.time.temporal.ChronoField.checkValidIntValue:(J)I
            istore 14 /* year */
        start local 14 // int year
        20: .line 370
            new java.time.LocalDate
            dup
            iload 14 /* year */
            iload 12 /* month */
            iload 13 /* dom */
            invokespecial java.time.LocalDate.<init>:(III)V
            areturn
        end local 14 // int year
        end local 13 // int dom
        end local 12 // int month
        end local 11 // int marchMonth0
        end local 10 // int marchDoy0
        end local 8 // long doyEst
        end local 6 // long yearEst
        end local 4 // long adjust
        end local 2 // long zeroDay
        end local 0 // long epochDay
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0      epochDay  J
            2   21     2       zeroDay  J
            4   21     4        adjust  J
            6    8     6  adjustCycles  J
            9   21     6       yearEst  J
           10   21     8        doyEst  J
           15   21    10     marchDoy0  I
           16   21    11   marchMonth0  I
           17   21    12         month  I
           18   21    13           dom  I
           20   21    14          year  I
    MethodParameters:
          Name  Flags
      epochDay  

  public static java.time.LocalDate from(java.time.temporal.TemporalAccessor);
    descriptor: (Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalDate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.time.temporal.TemporalAccessor temporal
         0: .line 392
            aload 0 /* temporal */
            ldc "temporal"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 393
            aload 0 /* temporal */
            invokestatic java.time.temporal.TemporalQueries.localDate:()Ljava/time/temporal/TemporalQuery;
            invokeinterface java.time.temporal.TemporalAccessor.query:(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
            checkcast java.time.LocalDate
            astore 1 /* date */
        start local 1 // java.time.LocalDate date
         2: .line 394
            aload 1 /* date */
            ifnonnull 6
         3: .line 395
            new java.time.DateTimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to obtain LocalDate from TemporalAccessor: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 396
            aload 0 /* temporal */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " of type "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* temporal */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 395
            invokespecial java.time.DateTimeException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 398
      StackMap locals: java.time.LocalDate
      StackMap stack:
            aload 1 /* date */
            areturn
        end local 1 // java.time.LocalDate date
        end local 0 // java.time.temporal.TemporalAccessor temporal
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0  temporal  Ljava/time/temporal/TemporalAccessor;
            2    7     1      date  Ljava/time/LocalDate;
    MethodParameters:
          Name  Flags
      temporal  

  public static java.time.LocalDate parse(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Ljava/time/LocalDate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.CharSequence text
         0: .line 413
            aload 0 /* text */
            getstatic java.time.format.DateTimeFormatter.ISO_LOCAL_DATE:Ljava/time/format/DateTimeFormatter;
            invokestatic java.time.LocalDate.parse:(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/LocalDate;
            areturn
        end local 0 // java.lang.CharSequence text
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  text  Ljava/lang/CharSequence;
    MethodParameters:
      Name  Flags
      text  

  public static java.time.LocalDate parse(java.lang.CharSequence, java.time.format.DateTimeFormatter);
    descriptor: (Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/LocalDate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.CharSequence text
        start local 1 // java.time.format.DateTimeFormatter formatter
         0: .line 427
            aload 1 /* formatter */
            ldc "formatter"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 428
            aload 1 /* formatter */
            aload 0 /* text */
            invokedynamic queryFrom()Ljava/time/temporal/TemporalQuery;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/time/temporal/TemporalAccessor;)Ljava/lang/Object;
                  java/time/LocalDate.from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalDate; (6)
                  (Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalDate;
            invokevirtual java.time.format.DateTimeFormatter.parse:(Ljava/lang/CharSequence;Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
            checkcast java.time.LocalDate
            areturn
        end local 1 // java.time.format.DateTimeFormatter formatter
        end local 0 // java.lang.CharSequence text
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       text  Ljava/lang/CharSequence;
            0    2     1  formatter  Ljava/time/format/DateTimeFormatter;
    MethodParameters:
           Name  Flags
      text       
      formatter  

  private static java.time.LocalDate create(int, int, int);
    descriptor: (III)Ljava/time/LocalDate;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // int year
        start local 1 // int month
        start local 2 // int dayOfMonth
         0: .line 442
            iload 2 /* dayOfMonth */
            bipush 28
            if_icmple 12
         1: .line 443
            bipush 31
            istore 3 /* dom */
        start local 3 // int dom
         2: .line 444
            iload 1 /* month */
            tableswitch { // 2 - 11
                    2: 3
                    3: 8
                    4: 7
                    5: 8
                    6: 7
                    7: 8
                    8: 8
                    9: 7
                   10: 8
                   11: 7
              default: 8
          }
         3: .line 446
      StackMap locals: int
      StackMap stack:
            getstatic java.time.chrono.IsoChronology.INSTANCE:Ljava/time/chrono/IsoChronology;
            iload 0 /* year */
            i2l
            invokevirtual java.time.chrono.IsoChronology.isLeapYear:(J)Z
            ifeq 4
            bipush 29
            goto 5
      StackMap locals:
      StackMap stack:
         4: bipush 28
      StackMap locals:
      StackMap stack: int
         5: istore 3 /* dom */
         6: .line 447
            goto 8
         7: .line 452
      StackMap locals:
      StackMap stack:
            bipush 30
            istore 3 /* dom */
         8: .line 455
      StackMap locals:
      StackMap stack:
            iload 2 /* dayOfMonth */
            iload 3 /* dom */
            if_icmple 12
         9: .line 456
            iload 2 /* dayOfMonth */
            bipush 29
            if_icmpne 11
        10: .line 457
            new java.time.DateTimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid date 'February 29' as '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* year */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "' is not a leap year"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.time.DateTimeException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 459
      StackMap locals:
      StackMap stack:
            new java.time.DateTimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid date '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* month */
            invokestatic java.time.Month.of:(I)Ljava/time/Month;
            invokevirtual java.time.Month.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* dayOfMonth */
            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;
            invokespecial java.time.DateTimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // int dom
        12: .line 463
      StackMap locals:
      StackMap stack:
            new java.time.LocalDate
            dup
            iload 0 /* year */
            iload 1 /* month */
            iload 2 /* dayOfMonth */
            invokespecial java.time.LocalDate.<init>:(III)V
            areturn
        end local 2 // int dayOfMonth
        end local 1 // int month
        end local 0 // int year
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        year  I
            0   13     1       month  I
            0   13     2  dayOfMonth  I
            2   12     3         dom  I
    MethodParameters:
            Name  Flags
      year        
      month       
      dayOfMonth  

  private static java.time.LocalDate resolvePreviousValid(int, int, int);
    descriptor: (III)Ljava/time/LocalDate;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // int year
        start local 1 // int month
        start local 2 // int day
         0: .line 475
            iload 1 /* month */
            tableswitch { // 2 - 11
                    2: 1
                    3: 6
                    4: 5
                    5: 6
                    6: 5
                    7: 6
                    8: 6
                    9: 5
                   10: 6
                   11: 5
              default: 6
          }
         1: .line 477
      StackMap locals:
      StackMap stack:
            iload 2 /* day */
            getstatic java.time.chrono.IsoChronology.INSTANCE:Ljava/time/chrono/IsoChronology;
            iload 0 /* year */
            i2l
            invokevirtual java.time.chrono.IsoChronology.isLeapYear:(J)Z
            ifeq 2
            bipush 29
            goto 3
      StackMap locals:
      StackMap stack: int
         2: bipush 28
      StackMap locals: int int int
      StackMap stack: int int
         3: invokestatic java.lang.Math.min:(II)I
            istore 2 /* day */
         4: .line 478
            goto 6
         5: .line 483
      StackMap locals:
      StackMap stack:
            iload 2 /* day */
            bipush 30
            invokestatic java.lang.Math.min:(II)I
            istore 2 /* day */
         6: .line 486
      StackMap locals:
      StackMap stack:
            new java.time.LocalDate
            dup
            iload 0 /* year */
            iload 1 /* month */
            iload 2 /* day */
            invokespecial java.time.LocalDate.<init>:(III)V
            areturn
        end local 2 // int day
        end local 1 // int month
        end local 0 // int year
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   year  I
            0    7     1  month  I
            0    7     2    day  I
    MethodParameters:
       Name  Flags
      year   
      month  
      day    

  private void <init>(int, int, int);
    descriptor: (III)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // java.time.LocalDate this
        start local 1 // int year
        start local 2 // int month
        start local 3 // int dayOfMonth
         0: .line 496
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 497
            aload 0 /* this */
            iload 1 /* year */
            putfield java.time.LocalDate.year:I
         2: .line 498
            aload 0 /* this */
            iload 2 /* month */
            i2s
            putfield java.time.LocalDate.month:S
         3: .line 499
            aload 0 /* this */
            iload 3 /* dayOfMonth */
            i2s
            putfield java.time.LocalDate.day:S
         4: .line 500
            return
        end local 3 // int dayOfMonth
        end local 2 // int month
        end local 1 // int year
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Ljava/time/LocalDate;
            0    5     1        year  I
            0    5     2       month  I
            0    5     3  dayOfMonth  I
    MethodParameters:
            Name  Flags
      year        
      month       
      dayOfMonth  

  public boolean isSupported(java.time.temporal.TemporalField);
    descriptor: (Ljava/time/temporal/TemporalField;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // java.time.temporal.TemporalField field
         0: .line 540
            aload 0 /* this */
            aload 1 /* field */
            invokespecial java.time.chrono.ChronoLocalDate.isSupported:(Ljava/time/temporal/TemporalField;)Z
            ireturn
        end local 1 // java.time.temporal.TemporalField field
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljava/time/LocalDate;
            0    1     1  field  Ljava/time/temporal/TemporalField;
    MethodParameters:
       Name  Flags
      field  

  public boolean isSupported(java.time.temporal.TemporalUnit);
    descriptor: (Ljava/time/temporal/TemporalUnit;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // java.time.temporal.TemporalUnit unit
         0: .line 574
            aload 0 /* this */
            aload 1 /* unit */
            invokespecial java.time.chrono.ChronoLocalDate.isSupported:(Ljava/time/temporal/TemporalUnit;)Z
            ireturn
        end local 1 // java.time.temporal.TemporalUnit unit
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/LocalDate;
            0    1     1  unit  Ljava/time/temporal/TemporalUnit;
    MethodParameters:
      Name  Flags
      unit  

  public java.time.temporal.ValueRange range(java.time.temporal.TemporalField);
    descriptor: (Ljava/time/temporal/TemporalField;)Ljava/time/temporal/ValueRange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // java.time.temporal.TemporalField field
         0: .line 603
            aload 1 /* field */
            instanceof java.time.temporal.ChronoField
            ifeq 14
         1: .line 604
            aload 1 /* field */
            checkcast java.time.temporal.ChronoField
            astore 2 /* f */
        start local 2 // java.time.temporal.ChronoField f
         2: .line 605
            aload 2 /* f */
            invokevirtual java.time.temporal.ChronoField.isDateBased:()Z
            ifeq 13
         3: .line 606
            invokestatic java.time.LocalDate.$SWITCH_TABLE$java$time$temporal$ChronoField:()[I
            aload 2 /* f */
            invokevirtual java.time.temporal.ChronoField.ordinal:()I
            iaload
            tableswitch { // 19 - 26
                   19: 4
                   20: 5
                   21: 12
                   22: 6
                   23: 12
                   24: 12
                   25: 12
                   26: 9
              default: 12
          }
         4: .line 607
      StackMap locals: java.time.temporal.ChronoField
      StackMap stack:
            lconst_1
            aload 0 /* this */
            invokevirtual java.time.LocalDate.lengthOfMonth:()I
            i2l
            invokestatic java.time.temporal.ValueRange.of:(JJ)Ljava/time/temporal/ValueRange;
            areturn
         5: .line 608
      StackMap locals:
      StackMap stack:
            lconst_1
            aload 0 /* this */
            invokevirtual java.time.LocalDate.lengthOfYear:()I
            i2l
            invokestatic java.time.temporal.ValueRange.of:(JJ)Ljava/time/temporal/ValueRange;
            areturn
         6: .line 609
      StackMap locals:
      StackMap stack:
            lconst_1
            aload 0 /* this */
            invokevirtual java.time.LocalDate.getMonth:()Ljava/time/Month;
            getstatic java.time.Month.FEBRUARY:Ljava/time/Month;
            if_acmpne 7
            aload 0 /* this */
            invokevirtual java.time.LocalDate.isLeapYear:()Z
            ifne 7
            iconst_4
            goto 8
      StackMap locals:
      StackMap stack: long
         7: iconst_5
      StackMap locals: java.time.LocalDate java.time.temporal.TemporalField java.time.temporal.ChronoField
      StackMap stack: long int
         8: i2l
            invokestatic java.time.temporal.ValueRange.of:(JJ)Ljava/time/temporal/ValueRange;
            areturn
         9: .line 611
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.time.LocalDate.getYear:()I
            ifgt 10
            lconst_1
            ldc 1000000000
            invokestatic java.time.temporal.ValueRange.of:(JJ)Ljava/time/temporal/ValueRange;
            goto 11
      StackMap locals:
      StackMap stack:
        10: lconst_1
            ldc 999999999
            invokestatic java.time.temporal.ValueRange.of:(JJ)Ljava/time/temporal/ValueRange;
      StackMap locals:
      StackMap stack: java.time.temporal.ValueRange
        11: areturn
        12: .line 613
      StackMap locals:
      StackMap stack:
            aload 1 /* field */
            invokeinterface java.time.temporal.TemporalField.range:()Ljava/time/temporal/ValueRange;
            areturn
        13: .line 615
      StackMap locals:
      StackMap stack:
            new java.time.temporal.UnsupportedTemporalTypeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported field: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* field */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.time.temporal.UnsupportedTemporalTypeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.time.temporal.ChronoField f
        14: .line 617
      StackMap locals:
      StackMap stack:
            aload 1 /* field */
            aload 0 /* this */
            invokeinterface java.time.temporal.TemporalField.rangeRefinedBy:(Ljava/time/temporal/TemporalAccessor;)Ljava/time/temporal/ValueRange;
            areturn
        end local 1 // java.time.temporal.TemporalField field
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Ljava/time/LocalDate;
            0   15     1  field  Ljava/time/temporal/TemporalField;
            2   14     2      f  Ljava/time/temporal/ChronoField;
    MethodParameters:
       Name  Flags
      field  

  public int get(java.time.temporal.TemporalField);
    descriptor: (Ljava/time/temporal/TemporalField;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // java.time.temporal.TemporalField field
         0: .line 649
            aload 1 /* field */
            instanceof java.time.temporal.ChronoField
            ifeq 2
         1: .line 650
            aload 0 /* this */
            aload 1 /* field */
            invokevirtual java.time.LocalDate.get0:(Ljava/time/temporal/TemporalField;)I
            ireturn
         2: .line 652
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* field */
            invokespecial java.time.chrono.ChronoLocalDate.get:(Ljava/time/temporal/TemporalField;)I
            ireturn
        end local 1 // java.time.temporal.TemporalField field
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljava/time/LocalDate;
            0    3     1  field  Ljava/time/temporal/TemporalField;
    MethodParameters:
       Name  Flags
      field  

  public long getLong(java.time.temporal.TemporalField);
    descriptor: (Ljava/time/temporal/TemporalField;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // java.time.temporal.TemporalField field
         0: .line 680
            aload 1 /* field */
            instanceof java.time.temporal.ChronoField
            ifeq 6
         1: .line 681
            aload 1 /* field */
            getstatic java.time.temporal.ChronoField.EPOCH_DAY:Ljava/time/temporal/ChronoField;
            if_acmpne 3
         2: .line 682
            aload 0 /* this */
            invokevirtual java.time.LocalDate.toEpochDay:()J
            lreturn
         3: .line 684
      StackMap locals:
      StackMap stack:
            aload 1 /* field */
            getstatic java.time.temporal.ChronoField.PROLEPTIC_MONTH:Ljava/time/temporal/ChronoField;
            if_acmpne 5
         4: .line 685
            aload 0 /* this */
            invokevirtual java.time.LocalDate.getProlepticMonth:()J
            lreturn
         5: .line 687
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* field */
            invokevirtual java.time.LocalDate.get0:(Ljava/time/temporal/TemporalField;)I
            i2l
            lreturn
         6: .line 689
      StackMap locals:
      StackMap stack:
            aload 1 /* field */
            aload 0 /* this */
            invokeinterface java.time.temporal.TemporalField.getFrom:(Ljava/time/temporal/TemporalAccessor;)J
            lreturn
        end local 1 // java.time.temporal.TemporalField field
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Ljava/time/LocalDate;
            0    7     1  field  Ljava/time/temporal/TemporalField;
    MethodParameters:
       Name  Flags
      field  

  private int get0(java.time.temporal.TemporalField);
    descriptor: (Ljava/time/temporal/TemporalField;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // java.time.temporal.TemporalField field
         0: .line 693
            invokestatic java.time.LocalDate.$SWITCH_TABLE$java$time$temporal$ChronoField:()[I
            aload 1 /* field */
            checkcast java.time.temporal.ChronoField
            invokevirtual java.time.temporal.ChronoField.ordinal:()I
            iaload
            tableswitch { // 16 - 28
                   16: 1
                   17: 2
                   18: 3
                   19: 4
                   20: 5
                   21: 6
                   22: 7
                   23: 8
                   24: 9
                   25: 10
                   26: 11
                   27: 14
                   28: 15
              default: 18
          }
         1: .line 694
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.time.LocalDate.getDayOfWeek:()Ljava/time/DayOfWeek;
            invokevirtual java.time.DayOfWeek.getValue:()I
            ireturn
         2: .line 695
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.time.LocalDate.day:S
            iconst_1
            isub
            bipush 7
            irem
            iconst_1
            iadd
            ireturn
         3: .line 696
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.time.LocalDate.getDayOfYear:()I
            iconst_1
            isub
            bipush 7
            irem
            iconst_1
            iadd
            ireturn
         4: .line 697
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.time.LocalDate.day:S
            ireturn
         5: .line 698
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.time.LocalDate.getDayOfYear:()I
            ireturn
         6: .line 699
      StackMap locals:
      StackMap stack:
            new java.time.temporal.UnsupportedTemporalTypeException
            dup
            ldc "Invalid field 'EpochDay' for get() method, use getLong() instead"
            invokespecial java.time.temporal.UnsupportedTemporalTypeException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 700
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.time.LocalDate.day:S
            iconst_1
            isub
            bipush 7
            idiv
            iconst_1
            iadd
            ireturn
         8: .line 701
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.time.LocalDate.getDayOfYear:()I
            iconst_1
            isub
            bipush 7
            idiv
            iconst_1
            iadd
            ireturn
         9: .line 702
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.time.LocalDate.month:S
            ireturn
        10: .line 703
      StackMap locals:
      StackMap stack:
            new java.time.temporal.UnsupportedTemporalTypeException
            dup
            ldc "Invalid field 'ProlepticMonth' for get() method, use getLong() instead"
            invokespecial java.time.temporal.UnsupportedTemporalTypeException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 704
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.time.LocalDate.year:I
            iconst_1
            if_icmplt 12
            aload 0 /* this */
            getfield java.time.LocalDate.year:I
            goto 13
      StackMap locals:
      StackMap stack:
        12: iconst_1
            aload 0 /* this */
            getfield java.time.LocalDate.year:I
            isub
      StackMap locals:
      StackMap stack: int
        13: ireturn
        14: .line 705
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.time.LocalDate.year:I
            ireturn
        15: .line 706
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.time.LocalDate.year:I
            iconst_1
            if_icmplt 16
            iconst_1
            goto 17
      StackMap locals:
      StackMap stack:
        16: iconst_0
      StackMap locals:
      StackMap stack: int
        17: ireturn
        18: .line 708
      StackMap locals:
      StackMap stack:
            new java.time.temporal.UnsupportedTemporalTypeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported field: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* field */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.time.temporal.UnsupportedTemporalTypeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.time.temporal.TemporalField field
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0   this  Ljava/time/LocalDate;
            0   19     1  field  Ljava/time/temporal/TemporalField;
    MethodParameters:
       Name  Flags
      field  

  private long getProlepticMonth();
    descriptor: ()J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.time.LocalDate this
         0: .line 712
            aload 0 /* this */
            getfield java.time.LocalDate.year:I
            i2l
            ldc 12
            lmul
            aload 0 /* this */
            getfield java.time.LocalDate.month:S
            i2l
            ladd
            lconst_1
            lsub
            lreturn
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/LocalDate;

  public java.time.chrono.IsoChronology getChronology();
    descriptor: ()Ljava/time/chrono/IsoChronology;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.time.LocalDate this
         0: .line 728
            getstatic java.time.chrono.IsoChronology.INSTANCE:Ljava/time/chrono/IsoChronology;
            areturn
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/LocalDate;

  public java.time.chrono.IsoEra getEra();
    descriptor: ()Ljava/time/chrono/IsoEra;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.time.LocalDate this
         0: .line 748
            aload 0 /* this */
            invokevirtual java.time.LocalDate.getYear:()I
            iconst_1
            if_icmplt 1
            getstatic java.time.chrono.IsoEra.CE:Ljava/time/chrono/IsoEra;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic java.time.chrono.IsoEra.BCE:Ljava/time/chrono/IsoEra;
      StackMap locals:
      StackMap stack: java.time.chrono.IsoEra
         2: areturn
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/time/LocalDate;

  public int getYear();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.time.LocalDate this
         0: .line 762
            aload 0 /* this */
            getfield java.time.LocalDate.year:I
            ireturn
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/LocalDate;

  public int getMonthValue();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.time.LocalDate this
         0: .line 776
            aload 0 /* this */
            getfield java.time.LocalDate.month:S
            ireturn
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/LocalDate;

  public java.time.Month getMonth();
    descriptor: ()Ljava/time/Month;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.time.LocalDate this
         0: .line 791
            aload 0 /* this */
            getfield java.time.LocalDate.month:S
            invokestatic java.time.Month.of:(I)Ljava/time/Month;
            areturn
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/LocalDate;

  public int getDayOfMonth();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.time.LocalDate this
         0: .line 802
            aload 0 /* this */
            getfield java.time.LocalDate.day:S
            ireturn
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/LocalDate;

  public int getDayOfYear();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.time.LocalDate this
         0: .line 813
            aload 0 /* this */
            invokevirtual java.time.LocalDate.getMonth:()Ljava/time/Month;
            aload 0 /* this */
            invokevirtual java.time.LocalDate.isLeapYear:()Z
            invokevirtual java.time.Month.firstDayOfYear:(Z)I
            aload 0 /* this */
            getfield java.time.LocalDate.day:S
            iadd
            iconst_1
            isub
            ireturn
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/LocalDate;

  public java.time.DayOfWeek getDayOfWeek();
    descriptor: ()Ljava/time/DayOfWeek;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.time.LocalDate this
         0: .line 830
            aload 0 /* this */
            invokevirtual java.time.LocalDate.toEpochDay:()J
            ldc 3
            ladd
            bipush 7
            invokestatic java.lang.Math.floorMod:(JI)I
            istore 1 /* dow0 */
        start local 1 // int dow0
         1: .line 831
            iload 1 /* dow0 */
            iconst_1
            iadd
            invokestatic java.time.DayOfWeek.of:(I)Ljava/time/DayOfWeek;
            areturn
        end local 1 // int dow0
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/time/LocalDate;
            1    2     1  dow0  I

  public boolean isLeapYear();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.time.LocalDate this
         0: .line 855
            getstatic java.time.chrono.IsoChronology.INSTANCE:Ljava/time/chrono/IsoChronology;
            aload 0 /* this */
            getfield java.time.LocalDate.year:I
            i2l
            invokevirtual java.time.chrono.IsoChronology.isLeapYear:(J)Z
            ireturn
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/LocalDate;

  public int lengthOfMonth();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.time.LocalDate this
         0: .line 868
            aload 0 /* this */
            getfield java.time.LocalDate.month:S
            tableswitch { // 2 - 11
                    2: 1
                    3: 5
                    4: 4
                    5: 5
                    6: 4
                    7: 5
                    8: 5
                    9: 4
                   10: 5
                   11: 4
              default: 5
          }
         1: .line 870
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.time.LocalDate.isLeapYear:()Z
            ifeq 2
            bipush 29
            goto 3
      StackMap locals:
      StackMap stack:
         2: bipush 28
      StackMap locals:
      StackMap stack: int
         3: ireturn
         4: .line 875
      StackMap locals:
      StackMap stack:
            bipush 30
            ireturn
         5: .line 877
      StackMap locals:
      StackMap stack:
            bipush 31
            ireturn
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/time/LocalDate;

  public int lengthOfYear();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.time.LocalDate this
         0: .line 890
            aload 0 /* this */
            invokevirtual java.time.LocalDate.isLeapYear:()Z
            ifeq 1
            sipush 366
            goto 2
      StackMap locals:
      StackMap stack:
         1: sipush 365
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/time/LocalDate;

  public java.time.LocalDate with(java.time.temporal.TemporalAdjuster);
    descriptor: (Ljava/time/temporal/TemporalAdjuster;)Ljava/time/LocalDate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // java.time.temporal.TemporalAdjuster adjuster
         0: .line 934
            aload 1 /* adjuster */
            instanceof java.time.LocalDate
            ifeq 2
         1: .line 935
            aload 1 /* adjuster */
            checkcast java.time.LocalDate
            areturn
         2: .line 937
      StackMap locals:
      StackMap stack:
            aload 1 /* adjuster */
            aload 0 /* this */
            invokeinterface java.time.temporal.TemporalAdjuster.adjustInto:(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;
            checkcast java.time.LocalDate
            areturn
        end local 1 // java.time.temporal.TemporalAdjuster adjuster
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljava/time/LocalDate;
            0    3     1  adjuster  Ljava/time/temporal/TemporalAdjuster;
    MethodParameters:
          Name  Flags
      adjuster  

  public java.time.LocalDate with(java.time.temporal.TemporalField, long);
    descriptor: (Ljava/time/temporal/TemporalField;J)Ljava/time/LocalDate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // java.time.LocalDate this
        start local 1 // java.time.temporal.TemporalField field
        start local 2 // long newValue
         0: .line 1046
            aload 1 /* field */
            instanceof java.time.temporal.ChronoField
            ifeq 22
         1: .line 1047
            aload 1 /* field */
            checkcast java.time.temporal.ChronoField
            astore 4 /* f */
        start local 4 // java.time.temporal.ChronoField f
         2: .line 1048
            aload 4 /* f */
            lload 2 /* newValue */
            invokevirtual java.time.temporal.ChronoField.checkValidValue:(J)J
            pop2
         3: .line 1049
            invokestatic java.time.LocalDate.$SWITCH_TABLE$java$time$temporal$ChronoField:()[I
            aload 4 /* f */
            invokevirtual java.time.temporal.ChronoField.ordinal:()I
            iaload
            tableswitch { // 16 - 28
                   16: 4
                   17: 5
                   18: 6
                   19: 7
                   20: 8
                   21: 9
                   22: 10
                   23: 11
                   24: 12
                   25: 13
                   26: 14
                   27: 17
                   28: 18
              default: 21
          }
         4: .line 1050
      StackMap locals: java.time.temporal.ChronoField
      StackMap stack:
            aload 0 /* this */
            lload 2 /* newValue */
            aload 0 /* this */
            invokevirtual java.time.LocalDate.getDayOfWeek:()Ljava/time/DayOfWeek;
            invokevirtual java.time.DayOfWeek.getValue:()I
            i2l
            lsub
            invokevirtual java.time.LocalDate.plusDays:(J)Ljava/time/LocalDate;
            areturn
         5: .line 1051
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 2 /* newValue */
            aload 0 /* this */
            getstatic java.time.temporal.ChronoField.ALIGNED_DAY_OF_WEEK_IN_MONTH:Ljava/time/temporal/ChronoField;
            invokevirtual java.time.LocalDate.getLong:(Ljava/time/temporal/TemporalField;)J
            lsub
            invokevirtual java.time.LocalDate.plusDays:(J)Ljava/time/LocalDate;
            areturn
         6: .line 1052
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 2 /* newValue */
            aload 0 /* this */
            getstatic java.time.temporal.ChronoField.ALIGNED_DAY_OF_WEEK_IN_YEAR:Ljava/time/temporal/ChronoField;
            invokevirtual java.time.LocalDate.getLong:(Ljava/time/temporal/TemporalField;)J
            lsub
            invokevirtual java.time.LocalDate.plusDays:(J)Ljava/time/LocalDate;
            areturn
         7: .line 1053
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 2 /* newValue */
            l2i
            invokevirtual java.time.LocalDate.withDayOfMonth:(I)Ljava/time/LocalDate;
            areturn
         8: .line 1054
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 2 /* newValue */
            l2i
            invokevirtual java.time.LocalDate.withDayOfYear:(I)Ljava/time/LocalDate;
            areturn
         9: .line 1055
      StackMap locals:
      StackMap stack:
            lload 2 /* newValue */
            invokestatic java.time.LocalDate.ofEpochDay:(J)Ljava/time/LocalDate;
            areturn
        10: .line 1056
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 2 /* newValue */
            aload 0 /* this */
            getstatic java.time.temporal.ChronoField.ALIGNED_WEEK_OF_MONTH:Ljava/time/temporal/ChronoField;
            invokevirtual java.time.LocalDate.getLong:(Ljava/time/temporal/TemporalField;)J
            lsub
            invokevirtual java.time.LocalDate.plusWeeks:(J)Ljava/time/LocalDate;
            areturn
        11: .line 1057
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 2 /* newValue */
            aload 0 /* this */
            getstatic java.time.temporal.ChronoField.ALIGNED_WEEK_OF_YEAR:Ljava/time/temporal/ChronoField;
            invokevirtual java.time.LocalDate.getLong:(Ljava/time/temporal/TemporalField;)J
            lsub
            invokevirtual java.time.LocalDate.plusWeeks:(J)Ljava/time/LocalDate;
            areturn
        12: .line 1058
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 2 /* newValue */
            l2i
            invokevirtual java.time.LocalDate.withMonth:(I)Ljava/time/LocalDate;
            areturn
        13: .line 1059
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 2 /* newValue */
            aload 0 /* this */
            invokevirtual java.time.LocalDate.getProlepticMonth:()J
            lsub
            invokevirtual java.time.LocalDate.plusMonths:(J)Ljava/time/LocalDate;
            areturn
        14: .line 1060
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.time.LocalDate.year:I
            iconst_1
            if_icmplt 15
            lload 2 /* newValue */
            goto 16
      StackMap locals:
      StackMap stack: java.time.LocalDate
        15: lconst_1
            lload 2 /* newValue */
            lsub
      StackMap locals: java.time.LocalDate java.time.temporal.TemporalField long java.time.temporal.ChronoField
      StackMap stack: java.time.LocalDate long
        16: l2i
            invokevirtual java.time.LocalDate.withYear:(I)Ljava/time/LocalDate;
            areturn
        17: .line 1061
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 2 /* newValue */
            l2i
            invokevirtual java.time.LocalDate.withYear:(I)Ljava/time/LocalDate;
            areturn
        18: .line 1062
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic java.time.temporal.ChronoField.ERA:Ljava/time/temporal/ChronoField;
            invokevirtual java.time.LocalDate.getLong:(Ljava/time/temporal/TemporalField;)J
            lload 2 /* newValue */
            lcmp
            ifne 19
            aload 0 /* this */
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 0 /* this */
            iconst_1
            aload 0 /* this */
            getfield java.time.LocalDate.year:I
            isub
            invokevirtual java.time.LocalDate.withYear:(I)Ljava/time/LocalDate;
      StackMap locals:
      StackMap stack: java.time.LocalDate
        20: areturn
        21: .line 1064
      StackMap locals:
      StackMap stack:
            new java.time.temporal.UnsupportedTemporalTypeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported field: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* field */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.time.temporal.UnsupportedTemporalTypeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.time.temporal.ChronoField f
        22: .line 1066
      StackMap locals:
      StackMap stack:
            aload 1 /* field */
            aload 0 /* this */
            lload 2 /* newValue */
            invokeinterface java.time.temporal.TemporalField.adjustInto:(Ljava/time/temporal/Temporal;J)Ljava/time/temporal/Temporal;
            checkcast java.time.LocalDate
            areturn
        end local 2 // long newValue
        end local 1 // java.time.temporal.TemporalField field
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0      this  Ljava/time/LocalDate;
            0   23     1     field  Ljava/time/temporal/TemporalField;
            0   23     2  newValue  J
            2   22     4         f  Ljava/time/temporal/ChronoField;
    MethodParameters:
          Name  Flags
      field     
      newValue  

  public java.time.LocalDate withYear(int);
    descriptor: (I)Ljava/time/LocalDate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // int year
         0: .line 1082
            aload 0 /* this */
            getfield java.time.LocalDate.year:I
            iload 1 /* year */
            if_icmpne 2
         1: .line 1083
            aload 0 /* this */
            areturn
         2: .line 1085
      StackMap locals:
      StackMap stack:
            getstatic java.time.temporal.ChronoField.YEAR:Ljava/time/temporal/ChronoField;
            iload 1 /* year */
            i2l
            invokevirtual java.time.temporal.ChronoField.checkValidValue:(J)J
            pop2
         3: .line 1086
            iload 1 /* year */
            aload 0 /* this */
            getfield java.time.LocalDate.month:S
            aload 0 /* this */
            getfield java.time.LocalDate.day:S
            invokestatic java.time.LocalDate.resolvePreviousValid:(III)Ljava/time/LocalDate;
            areturn
        end local 1 // int year
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/time/LocalDate;
            0    4     1  year  I
    MethodParameters:
      Name  Flags
      year  

  public java.time.LocalDate withMonth(int);
    descriptor: (I)Ljava/time/LocalDate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // int month
         0: .line 1101
            aload 0 /* this */
            getfield java.time.LocalDate.month:S
            iload 1 /* month */
            if_icmpne 2
         1: .line 1102
            aload 0 /* this */
            areturn
         2: .line 1104
      StackMap locals:
      StackMap stack:
            getstatic java.time.temporal.ChronoField.MONTH_OF_YEAR:Ljava/time/temporal/ChronoField;
            iload 1 /* month */
            i2l
            invokevirtual java.time.temporal.ChronoField.checkValidValue:(J)J
            pop2
         3: .line 1105
            aload 0 /* this */
            getfield java.time.LocalDate.year:I
            iload 1 /* month */
            aload 0 /* this */
            getfield java.time.LocalDate.day:S
            invokestatic java.time.LocalDate.resolvePreviousValid:(III)Ljava/time/LocalDate;
            areturn
        end local 1 // int month
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljava/time/LocalDate;
            0    4     1  month  I
    MethodParameters:
       Name  Flags
      month  

  public java.time.LocalDate withDayOfMonth(int);
    descriptor: (I)Ljava/time/LocalDate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // int dayOfMonth
         0: .line 1121
            aload 0 /* this */
            getfield java.time.LocalDate.day:S
            iload 1 /* dayOfMonth */
            if_icmpne 2
         1: .line 1122
            aload 0 /* this */
            areturn
         2: .line 1124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.time.LocalDate.year:I
            aload 0 /* this */
            getfield java.time.LocalDate.month:S
            iload 1 /* dayOfMonth */
            invokestatic java.time.LocalDate.of:(III)Ljava/time/LocalDate;
            areturn
        end local 1 // int dayOfMonth
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljava/time/LocalDate;
            0    3     1  dayOfMonth  I
    MethodParameters:
            Name  Flags
      dayOfMonth  

  public java.time.LocalDate withDayOfYear(int);
    descriptor: (I)Ljava/time/LocalDate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // int dayOfYear
         0: .line 1140
            aload 0 /* this */
            invokevirtual java.time.LocalDate.getDayOfYear:()I
            iload 1 /* dayOfYear */
            if_icmpne 2
         1: .line 1141
            aload 0 /* this */
            areturn
         2: .line 1143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.time.LocalDate.year:I
            iload 1 /* dayOfYear */
            invokestatic java.time.LocalDate.ofYearDay:(II)Ljava/time/LocalDate;
            areturn
        end local 1 // int dayOfYear
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljava/time/LocalDate;
            0    3     1  dayOfYear  I
    MethodParameters:
           Name  Flags
      dayOfYear  

  public java.time.LocalDate plus(java.time.temporal.TemporalAmount);
    descriptor: (Ljava/time/temporal/TemporalAmount;)Ljava/time/LocalDate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // java.time.temporal.TemporalAmount amountToAdd
         0: .line 1169
            aload 1 /* amountToAdd */
            instanceof java.time.Period
            ifeq 3
         1: .line 1170
            aload 1 /* amountToAdd */
            checkcast java.time.Period
            astore 2 /* periodToAdd */
        start local 2 // java.time.Period periodToAdd
         2: .line 1171
            aload 0 /* this */
            aload 2 /* periodToAdd */
            invokevirtual java.time.Period.toTotalMonths:()J
            invokevirtual java.time.LocalDate.plusMonths:(J)Ljava/time/LocalDate;
            aload 2 /* periodToAdd */
            invokevirtual java.time.Period.getDays:()I
            i2l
            invokevirtual java.time.LocalDate.plusDays:(J)Ljava/time/LocalDate;
            areturn
        end local 2 // java.time.Period periodToAdd
         3: .line 1173
      StackMap locals:
      StackMap stack:
            aload 1 /* amountToAdd */
            ldc "amountToAdd"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         4: .line 1174
            aload 1 /* amountToAdd */
            aload 0 /* this */
            invokeinterface java.time.temporal.TemporalAmount.addTo:(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;
            checkcast java.time.LocalDate
            areturn
        end local 1 // java.time.temporal.TemporalAmount amountToAdd
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Ljava/time/LocalDate;
            0    5     1  amountToAdd  Ljava/time/temporal/TemporalAmount;
            2    3     2  periodToAdd  Ljava/time/Period;
    MethodParameters:
             Name  Flags
      amountToAdd  

  public java.time.LocalDate plus(long, java.time.temporal.TemporalUnit);
    descriptor: (JLjava/time/temporal/TemporalUnit;)Ljava/time/LocalDate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // java.time.LocalDate this
        start local 1 // long amountToAdd
        start local 3 // java.time.temporal.TemporalUnit unit
         0: .line 1260
            aload 3 /* unit */
            instanceof java.time.temporal.ChronoUnit
            ifeq 12
         1: .line 1261
            aload 3 /* unit */
            checkcast java.time.temporal.ChronoUnit
            astore 4 /* f */
        start local 4 // java.time.temporal.ChronoUnit f
         2: .line 1262
            invokestatic java.time.LocalDate.$SWITCH_TABLE$java$time$temporal$ChronoUnit:()[I
            aload 4 /* f */
            invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
            iaload
            tableswitch { // 8 - 15
                    8: 3
                    9: 4
                   10: 5
                   11: 6
                   12: 7
                   13: 8
                   14: 9
                   15: 10
              default: 11
          }
         3: .line 1263
      StackMap locals: java.time.temporal.ChronoUnit
      StackMap stack:
            aload 0 /* this */
            lload 1 /* amountToAdd */
            invokevirtual java.time.LocalDate.plusDays:(J)Ljava/time/LocalDate;
            areturn
         4: .line 1264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* amountToAdd */
            invokevirtual java.time.LocalDate.plusWeeks:(J)Ljava/time/LocalDate;
            areturn
         5: .line 1265
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* amountToAdd */
            invokevirtual java.time.LocalDate.plusMonths:(J)Ljava/time/LocalDate;
            areturn
         6: .line 1266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* amountToAdd */
            invokevirtual java.time.LocalDate.plusYears:(J)Ljava/time/LocalDate;
            areturn
         7: .line 1267
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* amountToAdd */
            bipush 10
            invokestatic java.lang.Math.multiplyExact:(JI)J
            invokevirtual java.time.LocalDate.plusYears:(J)Ljava/time/LocalDate;
            areturn
         8: .line 1268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* amountToAdd */
            bipush 100
            invokestatic java.lang.Math.multiplyExact:(JI)J
            invokevirtual java.time.LocalDate.plusYears:(J)Ljava/time/LocalDate;
            areturn
         9: .line 1269
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* amountToAdd */
            sipush 1000
            invokestatic java.lang.Math.multiplyExact:(JI)J
            invokevirtual java.time.LocalDate.plusYears:(J)Ljava/time/LocalDate;
            areturn
        10: .line 1270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic java.time.temporal.ChronoField.ERA:Ljava/time/temporal/ChronoField;
            aload 0 /* this */
            getstatic java.time.temporal.ChronoField.ERA:Ljava/time/temporal/ChronoField;
            invokevirtual java.time.LocalDate.getLong:(Ljava/time/temporal/TemporalField;)J
            lload 1 /* amountToAdd */
            invokestatic java.lang.Math.addExact:(JJ)J
            invokevirtual java.time.LocalDate.with:(Ljava/time/temporal/TemporalField;J)Ljava/time/LocalDate;
            areturn
        11: .line 1272
      StackMap locals:
      StackMap stack:
            new java.time.temporal.UnsupportedTemporalTypeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported unit: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* unit */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.time.temporal.UnsupportedTemporalTypeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.time.temporal.ChronoUnit f
        12: .line 1274
      StackMap locals:
      StackMap stack:
            aload 3 /* unit */
            aload 0 /* this */
            lload 1 /* amountToAdd */
            invokeinterface java.time.temporal.TemporalUnit.addTo:(Ljava/time/temporal/Temporal;J)Ljava/time/temporal/Temporal;
            checkcast java.time.LocalDate
            areturn
        end local 3 // java.time.temporal.TemporalUnit unit
        end local 1 // long amountToAdd
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Ljava/time/LocalDate;
            0   13     1  amountToAdd  J
            0   13     3         unit  Ljava/time/temporal/TemporalUnit;
            2   12     4            f  Ljava/time/temporal/ChronoUnit;
    MethodParameters:
             Name  Flags
      amountToAdd  
      unit         

  public java.time.LocalDate plusYears(long);
    descriptor: (J)Ljava/time/LocalDate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // long yearsToAdd
         0: .line 1299
            lload 1 /* yearsToAdd */
            lconst_0
            lcmp
            ifne 2
         1: .line 1300
            aload 0 /* this */
            areturn
         2: .line 1302
      StackMap locals:
      StackMap stack:
            getstatic java.time.temporal.ChronoField.YEAR:Ljava/time/temporal/ChronoField;
            aload 0 /* this */
            getfield java.time.LocalDate.year:I
            i2l
            lload 1 /* yearsToAdd */
            ladd
            invokevirtual java.time.temporal.ChronoField.checkValidIntValue:(J)I
            istore 3 /* newYear */
        start local 3 // int newYear
         3: .line 1303
            iload 3 /* newYear */
            aload 0 /* this */
            getfield java.time.LocalDate.month:S
            aload 0 /* this */
            getfield java.time.LocalDate.day:S
            invokestatic java.time.LocalDate.resolvePreviousValid:(III)Ljava/time/LocalDate;
            areturn
        end local 3 // int newYear
        end local 1 // long yearsToAdd
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Ljava/time/LocalDate;
            0    4     1  yearsToAdd  J
            3    4     3     newYear  I
    MethodParameters:
            Name  Flags
      yearsToAdd  

  public java.time.LocalDate plusMonths(long);
    descriptor: (J)Ljava/time/LocalDate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // long monthsToAdd
         0: .line 1327
            lload 1 /* monthsToAdd */
            lconst_0
            lcmp
            ifne 2
         1: .line 1328
            aload 0 /* this */
            areturn
         2: .line 1330
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.time.LocalDate.year:I
            i2l
            ldc 12
            lmul
            aload 0 /* this */
            getfield java.time.LocalDate.month:S
            iconst_1
            isub
            i2l
            ladd
            lstore 3 /* monthCount */
        start local 3 // long monthCount
         3: .line 1331
            lload 3 /* monthCount */
            lload 1 /* monthsToAdd */
            ladd
            lstore 5 /* calcMonths */
        start local 5 // long calcMonths
         4: .line 1332
            getstatic java.time.temporal.ChronoField.YEAR:Ljava/time/temporal/ChronoField;
            lload 5 /* calcMonths */
            bipush 12
            invokestatic java.lang.Math.floorDiv:(JI)J
            invokevirtual java.time.temporal.ChronoField.checkValidIntValue:(J)I
            istore 7 /* newYear */
        start local 7 // int newYear
         5: .line 1333
            lload 5 /* calcMonths */
            bipush 12
            invokestatic java.lang.Math.floorMod:(JI)I
            iconst_1
            iadd
            istore 8 /* newMonth */
        start local 8 // int newMonth
         6: .line 1334
            iload 7 /* newYear */
            iload 8 /* newMonth */
            aload 0 /* this */
            getfield java.time.LocalDate.day:S
            invokestatic java.time.LocalDate.resolvePreviousValid:(III)Ljava/time/LocalDate;
            areturn
        end local 8 // int newMonth
        end local 7 // int newYear
        end local 5 // long calcMonths
        end local 3 // long monthCount
        end local 1 // long monthsToAdd
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Ljava/time/LocalDate;
            0    7     1  monthsToAdd  J
            3    7     3   monthCount  J
            4    7     5   calcMonths  J
            5    7     7      newYear  I
            6    7     8     newMonth  I
    MethodParameters:
             Name  Flags
      monthsToAdd  

  public java.time.LocalDate plusWeeks(long);
    descriptor: (J)Ljava/time/LocalDate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // long weeksToAdd
         0: .line 1353
            aload 0 /* this */
            lload 1 /* weeksToAdd */
            bipush 7
            invokestatic java.lang.Math.multiplyExact:(JI)J
            invokevirtual java.time.LocalDate.plusDays:(J)Ljava/time/LocalDate;
            areturn
        end local 1 // long weeksToAdd
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljava/time/LocalDate;
            0    1     1  weeksToAdd  J
    MethodParameters:
            Name  Flags
      weeksToAdd  

  public java.time.LocalDate plusDays(long);
    descriptor: (J)Ljava/time/LocalDate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // long daysToAdd
         0: .line 1372
            lload 1 /* daysToAdd */
            lconst_0
            lcmp
            ifne 2
         1: .line 1373
            aload 0 /* this */
            areturn
         2: .line 1375
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.time.LocalDate.day:S
            i2l
            lload 1 /* daysToAdd */
            ladd
            lstore 3 /* dom */
        start local 3 // long dom
         3: .line 1376
            lload 3 /* dom */
            lconst_0
            lcmp
            ifle 14
         4: .line 1377
            lload 3 /* dom */
            ldc 28
            lcmp
            ifgt 6
         5: .line 1378
            new java.time.LocalDate
            dup
            aload 0 /* this */
            getfield java.time.LocalDate.year:I
            aload 0 /* this */
            getfield java.time.LocalDate.month:S
            lload 3 /* dom */
            l2i
            invokespecial java.time.LocalDate.<init>:(III)V
            areturn
         6: .line 1379
      StackMap locals: long
      StackMap stack:
            lload 3 /* dom */
            ldc 59
            lcmp
            ifgt 14
         7: .line 1380
            aload 0 /* this */
            invokevirtual java.time.LocalDate.lengthOfMonth:()I
            i2l
            lstore 5 /* monthLen */
        start local 5 // long monthLen
         8: .line 1381
            lload 3 /* dom */
            lload 5 /* monthLen */
            lcmp
            ifgt 10
         9: .line 1382
            new java.time.LocalDate
            dup
            aload 0 /* this */
            getfield java.time.LocalDate.year:I
            aload 0 /* this */
            getfield java.time.LocalDate.month:S
            lload 3 /* dom */
            l2i
            invokespecial java.time.LocalDate.<init>:(III)V
            areturn
        10: .line 1383
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield java.time.LocalDate.month:S
            bipush 12
            if_icmpge 12
        11: .line 1384
            new java.time.LocalDate
            dup
            aload 0 /* this */
            getfield java.time.LocalDate.year:I
            aload 0 /* this */
            getfield java.time.LocalDate.month:S
            iconst_1
            iadd
            lload 3 /* dom */
            lload 5 /* monthLen */
            lsub
            l2i
            invokespecial java.time.LocalDate.<init>:(III)V
            areturn
        12: .line 1386
      StackMap locals:
      StackMap stack:
            getstatic java.time.temporal.ChronoField.YEAR:Ljava/time/temporal/ChronoField;
            aload 0 /* this */
            getfield java.time.LocalDate.year:I
            iconst_1
            iadd
            i2l
            invokevirtual java.time.temporal.ChronoField.checkValidValue:(J)J
            pop2
        13: .line 1387
            new java.time.LocalDate
            dup
            aload 0 /* this */
            getfield java.time.LocalDate.year:I
            iconst_1
            iadd
            iconst_1
            lload 3 /* dom */
            lload 5 /* monthLen */
            lsub
            l2i
            invokespecial java.time.LocalDate.<init>:(III)V
            areturn
        end local 5 // long monthLen
        14: .line 1392
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.time.LocalDate.toEpochDay:()J
            lload 1 /* daysToAdd */
            invokestatic java.lang.Math.addExact:(JJ)J
            lstore 5 /* mjDay */
        start local 5 // long mjDay
        15: .line 1393
            lload 5 /* mjDay */
            invokestatic java.time.LocalDate.ofEpochDay:(J)Ljava/time/LocalDate;
            areturn
        end local 5 // long mjDay
        end local 3 // long dom
        end local 1 // long daysToAdd
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Ljava/time/LocalDate;
            0   16     1  daysToAdd  J
            3   16     3        dom  J
            8   14     5   monthLen  J
           15   16     5      mjDay  J
    MethodParameters:
           Name  Flags
      daysToAdd  

  public java.time.LocalDate minus(java.time.temporal.TemporalAmount);
    descriptor: (Ljava/time/temporal/TemporalAmount;)Ljava/time/LocalDate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // java.time.temporal.TemporalAmount amountToSubtract
         0: .line 1419
            aload 1 /* amountToSubtract */
            instanceof java.time.Period
            ifeq 3
         1: .line 1420
            aload 1 /* amountToSubtract */
            checkcast java.time.Period
            astore 2 /* periodToSubtract */
        start local 2 // java.time.Period periodToSubtract
         2: .line 1421
            aload 0 /* this */
            aload 2 /* periodToSubtract */
            invokevirtual java.time.Period.toTotalMonths:()J
            invokevirtual java.time.LocalDate.minusMonths:(J)Ljava/time/LocalDate;
            aload 2 /* periodToSubtract */
            invokevirtual java.time.Period.getDays:()I
            i2l
            invokevirtual java.time.LocalDate.minusDays:(J)Ljava/time/LocalDate;
            areturn
        end local 2 // java.time.Period periodToSubtract
         3: .line 1423
      StackMap locals:
      StackMap stack:
            aload 1 /* amountToSubtract */
            ldc "amountToSubtract"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         4: .line 1424
            aload 1 /* amountToSubtract */
            aload 0 /* this */
            invokeinterface java.time.temporal.TemporalAmount.subtractFrom:(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;
            checkcast java.time.LocalDate
            areturn
        end local 1 // java.time.temporal.TemporalAmount amountToSubtract
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Ljava/time/LocalDate;
            0    5     1  amountToSubtract  Ljava/time/temporal/TemporalAmount;
            2    3     2  periodToSubtract  Ljava/time/Period;
    MethodParameters:
                  Name  Flags
      amountToSubtract  

  public java.time.LocalDate minus(long, java.time.temporal.TemporalUnit);
    descriptor: (JLjava/time/temporal/TemporalUnit;)Ljava/time/LocalDate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.time.LocalDate this
        start local 1 // long amountToSubtract
        start local 3 // java.time.temporal.TemporalUnit unit
         0: .line 1448
            lload 1 /* amountToSubtract */
            ldc -9223372036854775808
            lcmp
            ifne 1
            aload 0 /* this */
            ldc 9223372036854775807
            aload 3 /* unit */
            invokevirtual java.time.LocalDate.plus:(JLjava/time/temporal/TemporalUnit;)Ljava/time/LocalDate;
            lconst_1
            aload 3 /* unit */
            invokevirtual java.time.LocalDate.plus:(JLjava/time/temporal/TemporalUnit;)Ljava/time/LocalDate;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            lload 1 /* amountToSubtract */
            lneg
            aload 3 /* unit */
            invokevirtual java.time.LocalDate.plus:(JLjava/time/temporal/TemporalUnit;)Ljava/time/LocalDate;
      StackMap locals:
      StackMap stack: java.time.LocalDate
         2: areturn
        end local 3 // java.time.temporal.TemporalUnit unit
        end local 1 // long amountToSubtract
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Ljava/time/LocalDate;
            0    3     1  amountToSubtract  J
            0    3     3              unit  Ljava/time/temporal/TemporalUnit;
    MethodParameters:
                  Name  Flags
      amountToSubtract  
      unit              

  public java.time.LocalDate minusYears(long);
    descriptor: (J)Ljava/time/LocalDate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // long yearsToSubtract
         0: .line 1473
            lload 1 /* yearsToSubtract */
            ldc -9223372036854775808
            lcmp
            ifne 1
            aload 0 /* this */
            ldc 9223372036854775807
            invokevirtual java.time.LocalDate.plusYears:(J)Ljava/time/LocalDate;
            lconst_1
            invokevirtual java.time.LocalDate.plusYears:(J)Ljava/time/LocalDate;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            lload 1 /* yearsToSubtract */
            lneg
            invokevirtual java.time.LocalDate.plusYears:(J)Ljava/time/LocalDate;
      StackMap locals:
      StackMap stack: java.time.LocalDate
         2: areturn
        end local 1 // long yearsToSubtract
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Ljava/time/LocalDate;
            0    3     1  yearsToSubtract  J
    MethodParameters:
                 Name  Flags
      yearsToSubtract  

  public java.time.LocalDate minusMonths(long);
    descriptor: (J)Ljava/time/LocalDate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // long monthsToSubtract
         0: .line 1497
            lload 1 /* monthsToSubtract */
            ldc -9223372036854775808
            lcmp
            ifne 1
            aload 0 /* this */
            ldc 9223372036854775807
            invokevirtual java.time.LocalDate.plusMonths:(J)Ljava/time/LocalDate;
            lconst_1
            invokevirtual java.time.LocalDate.plusMonths:(J)Ljava/time/LocalDate;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            lload 1 /* monthsToSubtract */
            lneg
            invokevirtual java.time.LocalDate.plusMonths:(J)Ljava/time/LocalDate;
      StackMap locals:
      StackMap stack: java.time.LocalDate
         2: areturn
        end local 1 // long monthsToSubtract
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Ljava/time/LocalDate;
            0    3     1  monthsToSubtract  J
    MethodParameters:
                  Name  Flags
      monthsToSubtract  

  public java.time.LocalDate minusWeeks(long);
    descriptor: (J)Ljava/time/LocalDate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // long weeksToSubtract
         0: .line 1516
            lload 1 /* weeksToSubtract */
            ldc -9223372036854775808
            lcmp
            ifne 1
            aload 0 /* this */
            ldc 9223372036854775807
            invokevirtual java.time.LocalDate.plusWeeks:(J)Ljava/time/LocalDate;
            lconst_1
            invokevirtual java.time.LocalDate.plusWeeks:(J)Ljava/time/LocalDate;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            lload 1 /* weeksToSubtract */
            lneg
            invokevirtual java.time.LocalDate.plusWeeks:(J)Ljava/time/LocalDate;
      StackMap locals:
      StackMap stack: java.time.LocalDate
         2: areturn
        end local 1 // long weeksToSubtract
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Ljava/time/LocalDate;
            0    3     1  weeksToSubtract  J
    MethodParameters:
                 Name  Flags
      weeksToSubtract  

  public java.time.LocalDate minusDays(long);
    descriptor: (J)Ljava/time/LocalDate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // long daysToSubtract
         0: .line 1535
            lload 1 /* daysToSubtract */
            ldc -9223372036854775808
            lcmp
            ifne 1
            aload 0 /* this */
            ldc 9223372036854775807
            invokevirtual java.time.LocalDate.plusDays:(J)Ljava/time/LocalDate;
            lconst_1
            invokevirtual java.time.LocalDate.plusDays:(J)Ljava/time/LocalDate;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            lload 1 /* daysToSubtract */
            lneg
            invokevirtual java.time.LocalDate.plusDays:(J)Ljava/time/LocalDate;
      StackMap locals:
      StackMap stack: java.time.LocalDate
         2: areturn
        end local 1 // long daysToSubtract
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Ljava/time/LocalDate;
            0    3     1  daysToSubtract  J
    MethodParameters:
                Name  Flags
      daysToSubtract  

  public <R> R query(java.time.temporal.TemporalQuery<R>);
    descriptor: (Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // java.time.temporal.TemporalQuery query
         0: .line 1560
            aload 1 /* query */
            invokestatic java.time.temporal.TemporalQueries.localDate:()Ljava/time/temporal/TemporalQuery;
            if_acmpne 2
         1: .line 1561
            aload 0 /* this */
            areturn
         2: .line 1563
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* query */
            invokespecial java.time.chrono.ChronoLocalDate.query:(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
            areturn
        end local 1 // java.time.temporal.TemporalQuery query
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljava/time/LocalDate;
            0    3     1  query  Ljava/time/temporal/TemporalQuery<TR;>;
    Signature: <R:Ljava/lang/Object;>(Ljava/time/temporal/TemporalQuery<TR;>;)TR;
    MethodParameters:
       Name  Flags
      query  

  public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
    descriptor: (Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // java.time.temporal.Temporal temporal
         0: .line 1592
            aload 0 /* this */
            aload 1 /* temporal */
            invokespecial java.time.chrono.ChronoLocalDate.adjustInto:(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;
            areturn
        end local 1 // java.time.temporal.Temporal temporal
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljava/time/LocalDate;
            0    1     1  temporal  Ljava/time/temporal/Temporal;
    MethodParameters:
          Name  Flags
      temporal  

  public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
    descriptor: (Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalUnit;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.time.LocalDate this
        start local 1 // java.time.temporal.Temporal endExclusive
        start local 2 // java.time.temporal.TemporalUnit unit
         0: .line 1644
            aload 1 /* endExclusive */
            invokestatic java.time.LocalDate.from:(Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalDate;
            astore 3 /* end */
        start local 3 // java.time.LocalDate end
         1: .line 1645
            aload 2 /* unit */
            instanceof java.time.temporal.ChronoUnit
            ifeq 12
         2: .line 1646
            invokestatic java.time.LocalDate.$SWITCH_TABLE$java$time$temporal$ChronoUnit:()[I
            aload 2 /* unit */
            checkcast java.time.temporal.ChronoUnit
            invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
            iaload
            tableswitch { // 8 - 15
                    8: 3
                    9: 4
                   10: 5
                   11: 6
                   12: 7
                   13: 8
                   14: 9
                   15: 10
              default: 11
          }
         3: .line 1647
      StackMap locals: java.time.LocalDate
      StackMap stack:
            aload 0 /* this */
            aload 3 /* end */
            invokevirtual java.time.LocalDate.daysUntil:(Ljava/time/LocalDate;)J
            lreturn
         4: .line 1648
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* end */
            invokevirtual java.time.LocalDate.daysUntil:(Ljava/time/LocalDate;)J
            ldc 7
            ldiv
            lreturn
         5: .line 1649
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* end */
            invokevirtual java.time.LocalDate.monthsUntil:(Ljava/time/LocalDate;)J
            lreturn
         6: .line 1650
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* end */
            invokevirtual java.time.LocalDate.monthsUntil:(Ljava/time/LocalDate;)J
            ldc 12
            ldiv
            lreturn
         7: .line 1651
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* end */
            invokevirtual java.time.LocalDate.monthsUntil:(Ljava/time/LocalDate;)J
            ldc 120
            ldiv
            lreturn
         8: .line 1652
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* end */
            invokevirtual java.time.LocalDate.monthsUntil:(Ljava/time/LocalDate;)J
            ldc 1200
            ldiv
            lreturn
         9: .line 1653
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* end */
            invokevirtual java.time.LocalDate.monthsUntil:(Ljava/time/LocalDate;)J
            ldc 12000
            ldiv
            lreturn
        10: .line 1654
      StackMap locals:
      StackMap stack:
            aload 3 /* end */
            getstatic java.time.temporal.ChronoField.ERA:Ljava/time/temporal/ChronoField;
            invokevirtual java.time.LocalDate.getLong:(Ljava/time/temporal/TemporalField;)J
            aload 0 /* this */
            getstatic java.time.temporal.ChronoField.ERA:Ljava/time/temporal/ChronoField;
            invokevirtual java.time.LocalDate.getLong:(Ljava/time/temporal/TemporalField;)J
            lsub
            lreturn
        11: .line 1656
      StackMap locals:
      StackMap stack:
            new java.time.temporal.UnsupportedTemporalTypeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported unit: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* unit */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.time.temporal.UnsupportedTemporalTypeException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 1658
      StackMap locals:
      StackMap stack:
            aload 2 /* unit */
            aload 0 /* this */
            aload 3 /* end */
            invokeinterface java.time.temporal.TemporalUnit.between:(Ljava/time/temporal/Temporal;Ljava/time/temporal/Temporal;)J
            lreturn
        end local 3 // java.time.LocalDate end
        end local 2 // java.time.temporal.TemporalUnit unit
        end local 1 // java.time.temporal.Temporal endExclusive
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Ljava/time/LocalDate;
            0   13     1  endExclusive  Ljava/time/temporal/Temporal;
            0   13     2          unit  Ljava/time/temporal/TemporalUnit;
            1   13     3           end  Ljava/time/LocalDate;
    MethodParameters:
              Name  Flags
      endExclusive  
      unit          

  long daysUntil(java.time.LocalDate);
    descriptor: (Ljava/time/LocalDate;)J
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // java.time.LocalDate end
         0: .line 1662
            aload 1 /* end */
            invokevirtual java.time.LocalDate.toEpochDay:()J
            aload 0 /* this */
            invokevirtual java.time.LocalDate.toEpochDay:()J
            lsub
            lreturn
        end local 1 // java.time.LocalDate end
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/LocalDate;
            0    1     1   end  Ljava/time/LocalDate;
    MethodParameters:
      Name  Flags
      end   

  private long monthsUntil(java.time.LocalDate);
    descriptor: (Ljava/time/LocalDate;)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // java.time.LocalDate end
         0: .line 1666
            aload 0 /* this */
            invokevirtual java.time.LocalDate.getProlepticMonth:()J
            ldc 32
            lmul
            aload 0 /* this */
            invokevirtual java.time.LocalDate.getDayOfMonth:()I
            i2l
            ladd
            lstore 2 /* packed1 */
        start local 2 // long packed1
         1: .line 1667
            aload 1 /* end */
            invokevirtual java.time.LocalDate.getProlepticMonth:()J
            ldc 32
            lmul
            aload 1 /* end */
            invokevirtual java.time.LocalDate.getDayOfMonth:()I
            i2l
            ladd
            lstore 4 /* packed2 */
        start local 4 // long packed2
         2: .line 1668
            lload 4 /* packed2 */
            lload 2 /* packed1 */
            lsub
            ldc 32
            ldiv
            lreturn
        end local 4 // long packed2
        end local 2 // long packed1
        end local 1 // java.time.LocalDate end
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Ljava/time/LocalDate;
            0    3     1      end  Ljava/time/LocalDate;
            1    3     2  packed1  J
            2    3     4  packed2  J
    MethodParameters:
      Name  Flags
      end   

  public java.time.Period until(java.time.chrono.ChronoLocalDate);
    descriptor: (Ljava/time/chrono/ChronoLocalDate;)Ljava/time/Period;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // java.time.chrono.ChronoLocalDate endDateExclusive
         0: .line 1705
            aload 1 /* endDateExclusive */
            invokestatic java.time.LocalDate.from:(Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalDate;
            astore 2 /* end */
        start local 2 // java.time.LocalDate end
         1: .line 1706
            aload 2 /* end */
            invokevirtual java.time.LocalDate.getProlepticMonth:()J
            aload 0 /* this */
            invokevirtual java.time.LocalDate.getProlepticMonth:()J
            lsub
            lstore 3 /* totalMonths */
        start local 3 // long totalMonths
         2: .line 1707
            aload 2 /* end */
            getfield java.time.LocalDate.day:S
            aload 0 /* this */
            getfield java.time.LocalDate.day:S
            isub
            istore 5 /* days */
        start local 5 // int days
         3: .line 1708
            lload 3 /* totalMonths */
            lconst_0
            lcmp
            ifle 8
            iload 5 /* days */
            ifge 8
         4: .line 1709
            lload 3 /* totalMonths */
            lconst_1
            lsub
            lstore 3 /* totalMonths */
         5: .line 1710
            aload 0 /* this */
            lload 3 /* totalMonths */
            invokevirtual java.time.LocalDate.plusMonths:(J)Ljava/time/LocalDate;
            astore 6 /* calcDate */
        start local 6 // java.time.LocalDate calcDate
         6: .line 1711
            aload 2 /* end */
            invokevirtual java.time.LocalDate.toEpochDay:()J
            aload 6 /* calcDate */
            invokevirtual java.time.LocalDate.toEpochDay:()J
            lsub
            l2i
            istore 5 /* days */
        end local 6 // java.time.LocalDate calcDate
         7: .line 1712
            goto 11
      StackMap locals: java.time.LocalDate long int
      StackMap stack:
         8: lload 3 /* totalMonths */
            lconst_0
            lcmp
            ifge 11
            iload 5 /* days */
            ifle 11
         9: .line 1713
            lload 3 /* totalMonths */
            lconst_1
            ladd
            lstore 3 /* totalMonths */
        10: .line 1714
            iload 5 /* days */
            aload 2 /* end */
            invokevirtual java.time.LocalDate.lengthOfMonth:()I
            isub
            istore 5 /* days */
        11: .line 1716
      StackMap locals:
      StackMap stack:
            lload 3 /* totalMonths */
            ldc 12
            ldiv
            lstore 6 /* years */
        start local 6 // long years
        12: .line 1717
            lload 3 /* totalMonths */
            ldc 12
            lrem
            l2i
            istore 8 /* months */
        start local 8 // int months
        13: .line 1718
            lload 6 /* years */
            invokestatic java.lang.Math.toIntExact:(J)I
            iload 8 /* months */
            iload 5 /* days */
            invokestatic java.time.Period.of:(III)Ljava/time/Period;
            areturn
        end local 8 // int months
        end local 6 // long years
        end local 5 // int days
        end local 3 // long totalMonths
        end local 2 // java.time.LocalDate end
        end local 1 // java.time.chrono.ChronoLocalDate endDateExclusive
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   14     0              this  Ljava/time/LocalDate;
            0   14     1  endDateExclusive  Ljava/time/chrono/ChronoLocalDate;
            1   14     2               end  Ljava/time/LocalDate;
            2   14     3       totalMonths  J
            3   14     5              days  I
            6    7     6          calcDate  Ljava/time/LocalDate;
           12   14     6             years  J
           13   14     8            months  I
    MethodParameters:
                  Name  Flags
      endDateExclusive  

  public java.util.stream.Stream<java.time.LocalDate> datesUntil(java.time.LocalDate);
    descriptor: (Ljava/time/LocalDate;)Ljava/util/stream/Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // java.time.LocalDate endExclusive
         0: .line 1733
            aload 1 /* endExclusive */
            invokevirtual java.time.LocalDate.toEpochDay:()J
            lstore 2 /* end */
        start local 2 // long end
         1: .line 1734
            aload 0 /* this */
            invokevirtual java.time.LocalDate.toEpochDay:()J
            lstore 4 /* start */
        start local 4 // long start
         2: .line 1735
            lload 2 /* end */
            lload 4 /* start */
            lcmp
            ifge 4
         3: .line 1736
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* endExclusive */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " < "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            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
         4: .line 1738
      StackMap locals: long long
      StackMap stack:
            lload 4 /* start */
            lload 2 /* end */
            invokestatic java.util.stream.LongStream.range:(JJ)Ljava/util/stream/LongStream;
            invokedynamic apply()Ljava/util/function/LongFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (J)Ljava/lang/Object;
                  java/time/LocalDate.ofEpochDay(J)Ljava/time/LocalDate; (6)
                  (J)Ljava/time/LocalDate;
            invokeinterface java.util.stream.LongStream.mapToObj:(Ljava/util/function/LongFunction;)Ljava/util/stream/Stream;
            areturn
        end local 4 // long start
        end local 2 // long end
        end local 1 // java.time.LocalDate endExclusive
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Ljava/time/LocalDate;
            0    5     1  endExclusive  Ljava/time/LocalDate;
            1    5     2           end  J
            2    5     4         start  J
    Signature: (Ljava/time/LocalDate;)Ljava/util/stream/Stream<Ljava/time/LocalDate;>;
    MethodParameters:
              Name  Flags
      endExclusive  

  public java.util.stream.Stream<java.time.LocalDate> datesUntil(java.time.LocalDate, java.time.Period);
    descriptor: (Ljava/time/LocalDate;Ljava/time/Period;)Ljava/util/stream/Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=22, args_size=3
        start local 0 // java.time.LocalDate this
        start local 1 // java.time.LocalDate endExclusive
        start local 2 // java.time.Period step
         0: .line 1760
            aload 2 /* step */
            invokevirtual java.time.Period.isZero:()Z
            ifeq 2
         1: .line 1761
            new java.lang.IllegalArgumentException
            dup
            ldc "step is zero"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1763
      StackMap locals:
      StackMap stack:
            aload 1 /* endExclusive */
            invokevirtual java.time.LocalDate.toEpochDay:()J
            lstore 3 /* end */
        start local 3 // long end
         3: .line 1764
            aload 0 /* this */
            invokevirtual java.time.LocalDate.toEpochDay:()J
            lstore 5 /* start */
        start local 5 // long start
         4: .line 1765
            lload 3 /* end */
            lload 5 /* start */
            lsub
            lstore 7 /* until */
        start local 7 // long until
         5: .line 1766
            aload 2 /* step */
            invokevirtual java.time.Period.toTotalMonths:()J
            lstore 9 /* months */
        start local 9 // long months
         6: .line 1767
            aload 2 /* step */
            invokevirtual java.time.Period.getDays:()I
            i2l
            lstore 11 /* days */
        start local 11 // long days
         7: .line 1768
            lload 9 /* months */
            lconst_0
            lcmp
            ifge 8
            lload 11 /* days */
            lconst_0
            lcmp
            ifgt 9
      StackMap locals: java.time.LocalDate java.time.LocalDate java.time.Period long long long long long
      StackMap stack:
         8: lload 9 /* months */
            lconst_0
            lcmp
            ifle 10
            lload 11 /* days */
            lconst_0
            lcmp
            ifge 10
         9: .line 1769
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "period months and days are of opposite sign"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 1771
      StackMap locals:
      StackMap stack:
            lload 7 /* until */
            lconst_0
            lcmp
            ifne 12
        11: .line 1772
            invokestatic java.util.stream.Stream.empty:()Ljava/util/stream/Stream;
            areturn
        12: .line 1774
      StackMap locals:
      StackMap stack:
            lload 9 /* months */
            lconst_0
            lcmp
            ifgt 13
            lload 11 /* days */
            lconst_0
            lcmp
            ifle 14
      StackMap locals:
      StackMap stack:
        13: iconst_1
            goto 15
      StackMap locals:
      StackMap stack:
        14: iconst_m1
      StackMap locals:
      StackMap stack: int
        15: istore 13 /* sign */
        start local 13 // int sign
        16: .line 1775
            iload 13 /* sign */
            ifge 17
            iconst_1
            goto 18
      StackMap locals: int
      StackMap stack:
        17: iconst_0
      StackMap locals:
      StackMap stack: int
        18: lload 7 /* until */
            lconst_0
            lcmp
            ifge 19
            iconst_1
            goto 20
      StackMap locals:
      StackMap stack: int
        19: iconst_0
      StackMap locals: java.time.LocalDate java.time.LocalDate java.time.Period long long long long long int
      StackMap stack: int int
        20: ixor
            ifeq 24
        21: .line 1776
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* endExclusive */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            iload 13 /* sign */
            ifge 22
            ldc " > "
            goto 23
      StackMap locals: java.time.LocalDate java.time.LocalDate java.time.Period long long long long long int
      StackMap stack: new 21 new 21 java.lang.StringBuilder
        22: ldc " < "
      StackMap locals: java.time.LocalDate java.time.LocalDate java.time.Period long long long long long int
      StackMap stack: new 21 new 21 java.lang.StringBuilder java.lang.String
        23: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            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
        24: .line 1778
      StackMap locals:
      StackMap stack:
            lload 9 /* months */
            lconst_0
            lcmp
            ifne 29
        25: .line 1779
            lload 7 /* until */
            iload 13 /* sign */
            i2l
            lsub
            lload 11 /* days */
            ldiv
            lstore 14 /* steps */
        start local 14 // long steps
        26: .line 1780
            lconst_0
            lload 14 /* steps */
            invokestatic java.util.stream.LongStream.rangeClosed:(JJ)Ljava/util/stream/LongStream;
        27: .line 1781
            lload 5 /* start */
            lload 11 /* days */
            invokedynamic apply(JJ)Ljava/util/function/LongFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (J)Ljava/lang/Object;
                  java/time/LocalDate.lambda$2(JJJ)Ljava/time/LocalDate; (6)
                  (J)Ljava/time/LocalDate;
        28: .line 1780
            invokeinterface java.util.stream.LongStream.mapToObj:(Ljava/util/function/LongFunction;)Ljava/util/stream/Stream;
            areturn
        end local 14 // long steps
        29: .line 1784
      StackMap locals:
      StackMap stack:
            lload 7 /* until */
            ldc 1600
            lmul
            lload 9 /* months */
            ldc 48699
            lmul
            lload 11 /* days */
            ldc 1600
            lmul
            ladd
            ldiv
            lconst_1
            ladd
            lstore 14 /* steps */
        start local 14 // long steps
        30: .line 1785
            lload 9 /* months */
            lload 14 /* steps */
            lmul
            lstore 16 /* addMonths */
        start local 16 // long addMonths
        31: .line 1786
            lload 11 /* days */
            lload 14 /* steps */
            lmul
            lstore 18 /* addDays */
        start local 18 // long addDays
        32: .line 1787
            lload 9 /* months */
            lconst_0
            lcmp
            ifle 33
            getstatic java.time.LocalDate.MAX:Ljava/time/LocalDate;
            invokevirtual java.time.LocalDate.getProlepticMonth:()J
            aload 0 /* this */
            invokevirtual java.time.LocalDate.getProlepticMonth:()J
            lsub
            goto 34
        33: .line 1788
      StackMap locals: long long long
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.time.LocalDate.getProlepticMonth:()J
            getstatic java.time.LocalDate.MIN:Ljava/time/LocalDate;
            invokevirtual java.time.LocalDate.getProlepticMonth:()J
            lsub
        34: .line 1787
      StackMap locals:
      StackMap stack: long
            lstore 20 /* maxAddMonths */
        start local 20 // long maxAddMonths
        35: .line 1790
            lload 16 /* addMonths */
            iload 13 /* sign */
            i2l
            lmul
            lload 20 /* maxAddMonths */
            lcmp
            ifgt 37
        36: .line 1791
            aload 0 /* this */
            lload 16 /* addMonths */
            invokevirtual java.time.LocalDate.plusMonths:(J)Ljava/time/LocalDate;
            invokevirtual java.time.LocalDate.toEpochDay:()J
            lload 18 /* addDays */
            ladd
            iload 13 /* sign */
            i2l
            lmul
            lload 3 /* end */
            iload 13 /* sign */
            i2l
            lmul
            lcmp
            iflt 43
        37: .line 1792
      StackMap locals: long
      StackMap stack:
            lload 14 /* steps */
            lconst_1
            lsub
            lstore 14 /* steps */
        38: .line 1793
            lload 16 /* addMonths */
            lload 9 /* months */
            lsub
            lstore 16 /* addMonths */
        39: .line 1794
            lload 18 /* addDays */
            lload 11 /* days */
            lsub
            lstore 18 /* addDays */
        40: .line 1795
            lload 16 /* addMonths */
            iload 13 /* sign */
            i2l
            lmul
            lload 20 /* maxAddMonths */
            lcmp
            ifgt 42
        41: .line 1796
            aload 0 /* this */
            lload 16 /* addMonths */
            invokevirtual java.time.LocalDate.plusMonths:(J)Ljava/time/LocalDate;
            invokevirtual java.time.LocalDate.toEpochDay:()J
            lload 18 /* addDays */
            ladd
            iload 13 /* sign */
            i2l
            lmul
            lload 3 /* end */
            iload 13 /* sign */
            i2l
            lmul
            lcmp
            iflt 43
        42: .line 1797
      StackMap locals:
      StackMap stack:
            lload 14 /* steps */
            lconst_1
            lsub
            lstore 14 /* steps */
        43: .line 1800
      StackMap locals:
      StackMap stack:
            lconst_0
            lload 14 /* steps */
            invokestatic java.util.stream.LongStream.rangeClosed:(JJ)Ljava/util/stream/LongStream;
        44: .line 1801
            aload 0 /* this */
            lload 9 /* months */
            lload 11 /* days */
            invokedynamic apply(Ljava/time/LocalDate;JJ)Ljava/util/function/LongFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (J)Ljava/lang/Object;
                  java/time/LocalDate.lambda$3(JJJ)Ljava/time/LocalDate; (7)
                  (J)Ljava/time/LocalDate;
        45: .line 1800
            invokeinterface java.util.stream.LongStream.mapToObj:(Ljava/util/function/LongFunction;)Ljava/util/stream/Stream;
            areturn
        end local 20 // long maxAddMonths
        end local 18 // long addDays
        end local 16 // long addMonths
        end local 14 // long steps
        end local 13 // int sign
        end local 11 // long days
        end local 9 // long months
        end local 7 // long until
        end local 5 // long start
        end local 3 // long end
        end local 2 // java.time.Period step
        end local 1 // java.time.LocalDate endExclusive
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   46     0          this  Ljava/time/LocalDate;
            0   46     1  endExclusive  Ljava/time/LocalDate;
            0   46     2          step  Ljava/time/Period;
            3   46     3           end  J
            4   46     5         start  J
            5   46     7         until  J
            6   46     9        months  J
            7   46    11          days  J
           16   46    13          sign  I
           26   29    14         steps  J
           30   46    14         steps  J
           31   46    16     addMonths  J
           32   46    18       addDays  J
           35   46    20  maxAddMonths  J
    Signature: (Ljava/time/LocalDate;Ljava/time/Period;)Ljava/util/stream/Stream<Ljava/time/LocalDate;>;
    MethodParameters:
              Name  Flags
      endExclusive  
      step          

  public java.lang.String format(java.time.format.DateTimeFormatter);
    descriptor: (Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // java.time.format.DateTimeFormatter formatter
         0: .line 1815
            aload 1 /* formatter */
            ldc "formatter"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 1816
            aload 1 /* formatter */
            aload 0 /* this */
            invokevirtual java.time.format.DateTimeFormatter.format:(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/String;
            areturn
        end local 1 // java.time.format.DateTimeFormatter formatter
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljava/time/LocalDate;
            0    2     1  formatter  Ljava/time/format/DateTimeFormatter;
    MethodParameters:
           Name  Flags
      formatter  

  public java.time.LocalDateTime atTime(java.time.LocalTime);
    descriptor: (Ljava/time/LocalTime;)Ljava/time/LocalDateTime;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // java.time.LocalTime time
         0: .line 1831
            aload 0 /* this */
            aload 1 /* time */
            invokestatic java.time.LocalDateTime.of:(Ljava/time/LocalDate;Ljava/time/LocalTime;)Ljava/time/LocalDateTime;
            areturn
        end local 1 // java.time.LocalTime time
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/LocalDate;
            0    1     1  time  Ljava/time/LocalTime;
    MethodParameters:
      Name  Flags
      time  

  public java.time.LocalDateTime atTime(int, int);
    descriptor: (II)Ljava/time/LocalDateTime;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.time.LocalDate this
        start local 1 // int hour
        start local 2 // int minute
         0: .line 1849
            aload 0 /* this */
            iload 1 /* hour */
            iload 2 /* minute */
            invokestatic java.time.LocalTime.of:(II)Ljava/time/LocalTime;
            invokevirtual java.time.LocalDate.atTime:(Ljava/time/LocalTime;)Ljava/time/LocalDateTime;
            areturn
        end local 2 // int minute
        end local 1 // int hour
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/time/LocalDate;
            0    1     1    hour  I
            0    1     2  minute  I
    MethodParameters:
        Name  Flags
      hour    
      minute  

  public java.time.LocalDateTime atTime(int, int, int);
    descriptor: (III)Ljava/time/LocalDateTime;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.time.LocalDate this
        start local 1 // int hour
        start local 2 // int minute
        start local 3 // int second
         0: .line 1868
            aload 0 /* this */
            iload 1 /* hour */
            iload 2 /* minute */
            iload 3 /* second */
            invokestatic java.time.LocalTime.of:(III)Ljava/time/LocalTime;
            invokevirtual java.time.LocalDate.atTime:(Ljava/time/LocalTime;)Ljava/time/LocalDateTime;
            areturn
        end local 3 // int second
        end local 2 // int minute
        end local 1 // int hour
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/time/LocalDate;
            0    1     1    hour  I
            0    1     2  minute  I
            0    1     3  second  I
    MethodParameters:
        Name  Flags
      hour    
      minute  
      second  

  public java.time.LocalDateTime atTime(int, int, int, int);
    descriptor: (IIII)Ljava/time/LocalDateTime;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // java.time.LocalDate this
        start local 1 // int hour
        start local 2 // int minute
        start local 3 // int second
        start local 4 // int nanoOfSecond
         0: .line 1887
            aload 0 /* this */
            iload 1 /* hour */
            iload 2 /* minute */
            iload 3 /* second */
            iload 4 /* nanoOfSecond */
            invokestatic java.time.LocalTime.of:(IIII)Ljava/time/LocalTime;
            invokevirtual java.time.LocalDate.atTime:(Ljava/time/LocalTime;)Ljava/time/LocalDateTime;
            areturn
        end local 4 // int nanoOfSecond
        end local 3 // int second
        end local 2 // int minute
        end local 1 // int hour
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljava/time/LocalDate;
            0    1     1          hour  I
            0    1     2        minute  I
            0    1     3        second  I
            0    1     4  nanoOfSecond  I
    MethodParameters:
              Name  Flags
      hour          
      minute        
      second        
      nanoOfSecond  

  public java.time.OffsetDateTime atTime(java.time.OffsetTime);
    descriptor: (Ljava/time/OffsetTime;)Ljava/time/OffsetDateTime;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.time.LocalDate this
        start local 1 // java.time.OffsetTime time
         0: .line 1900
            aload 0 /* this */
            aload 1 /* time */
            invokevirtual java.time.OffsetTime.toLocalTime:()Ljava/time/LocalTime;
            invokestatic java.time.LocalDateTime.of:(Ljava/time/LocalDate;Ljava/time/LocalTime;)Ljava/time/LocalDateTime;
            aload 1 /* time */
            invokevirtual java.time.OffsetTime.getOffset:()Ljava/time/ZoneOffset;
            invokestatic java.time.OffsetDateTime.of:(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;)Ljava/time/OffsetDateTime;
            areturn
        end local 1 // java.time.OffsetTime time
        end local 0 // java.time.LocalDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/LocalDate;
            0    1     1  time  Ljava/time/OffsetTime;
    MethodParameters:
      Name  Flags
      time  

  public java.time.LocalDateTime atStartOfDay();
    descriptor: ()Ljava/time/LocalDateTime;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.time.LocalDate this
         0: .line 1913
            aload 0 /* this */
            getstatic java.time.LocalTime.MIDNIGHT:Ljava/time/LocalTime;
            invokestatic