public class java.sql.Timestamp extends java.util.Date
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.sql.Timestamp
  super_class: java.util.Date
{
  private int nanos;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

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

  public void <init>(int, int, int, int, int, int, int);
    descriptor: (IIIIIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=8
        start local 0 // java.sql.Timestamp this
        start local 1 // int year
        start local 2 // int month
        start local 3 // int date
        start local 4 // int hour
        start local 5 // int minute
        start local 6 // int second
        start local 7 // int nano
         0: .line 91
            aload 0 /* this */
            iload 1 /* year */
            iload 2 /* month */
            iload 3 /* date */
            iload 4 /* hour */
            iload 5 /* minute */
            iload 6 /* second */
            invokespecial java.util.Date.<init>:(IIIIII)V
         1: .line 92
            iload 7 /* nano */
            ldc 999999999
            if_icmpgt 2
            iload 7 /* nano */
            ifge 3
         2: .line 93
      StackMap locals: java.sql.Timestamp int int int int int int int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "nanos > 999999999 or < 0"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* nano */
            putfield java.sql.Timestamp.nanos:I
         4: .line 96
            return
        end local 7 // int nano
        end local 6 // int second
        end local 5 // int minute
        end local 4 // int hour
        end local 3 // int date
        end local 2 // int month
        end local 1 // int year
        end local 0 // java.sql.Timestamp this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljava/sql/Timestamp;
            0    5     1    year  I
            0    5     2   month  I
            0    5     3    date  I
            0    5     4    hour  I
            0    5     5  minute  I
            0    5     6  second  I
            0    5     7    nano  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      year    
      month   
      date    
      hour    
      minute  
      second  
      nano    

  public void <init>(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.sql.Timestamp this
        start local 1 // long time
         0: .line 111
            aload 0 /* this */
            lload 1 /* time */
            ldc 1000
            ldiv
            ldc 1000
            lmul
            invokespecial java.util.Date.<init>:(J)V
         1: .line 112
            aload 0 /* this */
            lload 1 /* time */
            ldc 1000
            lrem
            ldc 1000000
            lmul
            l2i
            putfield java.sql.Timestamp.nanos:I
         2: .line 113
            aload 0 /* this */
            getfield java.sql.Timestamp.nanos:I
            ifge 5
         3: .line 114
            aload 0 /* this */
            dup
            getfield java.sql.Timestamp.nanos:I
            ldc 1000000000
            iadd
            putfield java.sql.Timestamp.nanos:I
         4: .line 115
            aload 0 /* this */
            lload 1 /* time */
            ldc 1000
            ldiv
            lconst_1
            lsub
            ldc 1000
            lmul
            invokespecial java.util.Date.setTime:(J)V
         5: .line 117
      StackMap locals: java.sql.Timestamp long
      StackMap stack:
            return
        end local 1 // long time
        end local 0 // java.sql.Timestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/sql/Timestamp;
            0    6     1  time  J
    MethodParameters:
      Name  Flags
      time  

  public void setTime(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.sql.Timestamp this
        start local 1 // long time
         0: .line 129
            aload 0 /* this */
            lload 1 /* time */
            ldc 1000
            ldiv
            ldc 1000
            lmul
            invokespecial java.util.Date.setTime:(J)V
         1: .line 130
            aload 0 /* this */
            lload 1 /* time */
            ldc 1000
            lrem
            ldc 1000000
            lmul
            l2i
            putfield java.sql.Timestamp.nanos:I
         2: .line 131
            aload 0 /* this */
            getfield java.sql.Timestamp.nanos:I
            ifge 5
         3: .line 132
            aload 0 /* this */
            dup
            getfield java.sql.Timestamp.nanos:I
            ldc 1000000000
            iadd
            putfield java.sql.Timestamp.nanos:I
         4: .line 133
            aload 0 /* this */
            lload 1 /* time */
            ldc 1000
            ldiv
            lconst_1
            lsub
            ldc 1000
            lmul
            invokespecial java.util.Date.setTime:(J)V
         5: .line 135
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long time
        end local 0 // java.sql.Timestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/sql/Timestamp;
            0    6     1  time  J
    MethodParameters:
      Name  Flags
      time  

  public long getTime();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.sql.Timestamp this
         0: .line 146
            aload 0 /* this */
            invokespecial java.util.Date.getTime:()J
            lstore 1 /* time */
        start local 1 // long time
         1: .line 147
            lload 1 /* time */
            aload 0 /* this */
            getfield java.sql.Timestamp.nanos:I
            ldc 1000000
            idiv
            i2l
            ladd
            lreturn
        end local 1 // long time
        end local 0 // java.sql.Timestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/sql/Timestamp;
            1    2     1  time  J

  public static java.sql.Timestamp valueOf(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/sql/Timestamp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=23, args_size=1
        start local 0 // java.lang.String s
         0: .line 177
            iconst_0
            istore 4 /* year */
        start local 4 // int year
         1: .line 178
            iconst_0
            istore 5 /* month */
        start local 5 // int month
         2: .line 179
            iconst_0
            istore 6 /* day */
        start local 6 // int day
         3: .line 183
            iconst_0
            istore 10 /* a_nanos */
        start local 10 // int a_nanos
         4: .line 187
            iconst_0
            istore 14 /* firstColon */
        start local 14 // int firstColon
         5: .line 188
            iconst_0
            istore 15 /* secondColon */
        start local 15 // int secondColon
         6: .line 189
            iconst_0
            istore 16 /* period */
        start local 16 // int period
         7: .line 190
            ldc "Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]"
            astore 17 /* formatError */
        start local 17 // java.lang.String formatError
         8: .line 191
            ldc "000000000"
            astore 18 /* zeros */
        start local 18 // java.lang.String zeros
         9: .line 195
            aload 0 /* s */
            ifnonnull 10
            new java.lang.IllegalArgumentException
            dup
            ldc "null string"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 198
      StackMap locals: java.lang.String top top top int int int top top top int top top top int int int java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* s */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 0 /* s */
        11: .line 199
            aload 0 /* s */
            bipush 32
            invokevirtual java.lang.String.indexOf:(I)I
            istore 13 /* dividingSpace */
        start local 13 // int dividingSpace
        12: .line 200
            iload 13 /* dividingSpace */
            ifle 16
        13: .line 201
            aload 0 /* s */
            iconst_0
            iload 13 /* dividingSpace */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* date_s */
        start local 1 // java.lang.String date_s
        14: .line 202
            aload 0 /* s */
            iload 13 /* dividingSpace */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 2 /* time_s */
        start local 2 // java.lang.String time_s
        15: .line 203
            goto 17
        end local 2 // java.lang.String time_s
        end local 1 // java.lang.String date_s
        16: .line 204
      StackMap locals: java.lang.String top top top int int int top top top int top top int int int int java.lang.String java.lang.String
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            aload 17 /* formatError */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        start local 1 // java.lang.String date_s
        start local 2 // java.lang.String time_s
        17: .line 208
      StackMap locals: java.lang.String java.lang.String java.lang.String top int int int top top top int top top int int int int java.lang.String java.lang.String
      StackMap stack:
            aload 1 /* date_s */
            bipush 45
            invokevirtual java.lang.String.indexOf:(I)I
            istore 11 /* firstDash */
        start local 11 // int firstDash
        18: .line 209
            aload 1 /* date_s */
            bipush 45
            iload 11 /* firstDash */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            istore 12 /* secondDash */
        start local 12 // int secondDash
        19: .line 212
            aload 2 /* time_s */
            ifnonnull 21
        20: .line 213
            new java.lang.IllegalArgumentException
            dup
            aload 17 /* formatError */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 214
      StackMap locals: java.lang.String java.lang.String java.lang.String top int int int top top top int int int int int int int java.lang.String java.lang.String
      StackMap stack:
            aload 2 /* time_s */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 14 /* firstColon */
        22: .line 215
            aload 2 /* time_s */
            bipush 58
            iload 14 /* firstColon */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            istore 15 /* secondColon */
        23: .line 216
            aload 2 /* time_s */
            bipush 46
            iload 15 /* secondColon */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            istore 16 /* period */
        24: .line 219
            iconst_0
            istore 19 /* parsedDate */
        start local 19 // boolean parsedDate
        25: .line 220
            iload 11 /* firstDash */
            ifle 37
            iload 12 /* secondDash */
            ifle 37
            iload 12 /* secondDash */
            aload 1 /* date_s */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmpge 37
        26: .line 221
            aload 1 /* date_s */
            iconst_0
            iload 11 /* firstDash */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 20 /* yyyy */
        start local 20 // java.lang.String yyyy
        27: .line 222
            aload 1 /* date_s */
            iload 11 /* firstDash */
            iconst_1
            iadd
            iload 12 /* secondDash */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 21 /* mm */
        start local 21 // java.lang.String mm
        28: .line 223
            aload 1 /* date_s */
            iload 12 /* secondDash */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 22 /* dd */
        start local 22 // java.lang.String dd
        29: .line 224
            aload 20 /* yyyy */
            invokevirtual java.lang.String.length:()I
            iconst_4
            if_icmpne 37
        30: .line 225
            aload 21 /* mm */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmplt 37
            aload 21 /* mm */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmpgt 37
        31: .line 226
            aload 22 /* dd */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmplt 37
            aload 22 /* dd */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmpgt 37
        32: .line 227
            aload 20 /* yyyy */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 4 /* year */
        33: .line 228
            aload 21 /* mm */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 5 /* month */
        34: .line 229
            aload 22 /* dd */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 6 /* day */
        35: .line 231
            iload 5 /* month */
            iconst_1
            if_icmplt 37
            iload 5 /* month */
            bipush 12
            if_icmpgt 37
            iload 6 /* day */
            iconst_1
            if_icmplt 37
            iload 6 /* day */
            bipush 31
            if_icmpgt 37
        36: .line 232
            iconst_1
            istore 19 /* parsedDate */
        end local 22 // java.lang.String dd
        end local 21 // java.lang.String mm
        end local 20 // java.lang.String yyyy
        37: .line 236
      StackMap locals: int
      StackMap stack:
            iload 19 /* parsedDate */
            ifne 39
        38: .line 237
            new java.lang.IllegalArgumentException
            dup
            aload 17 /* formatError */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        39: .line 241
      StackMap locals:
      StackMap stack:
            iload 14 /* firstColon */
            ifle 40
            iconst_1
            goto 41
      StackMap locals:
      StackMap stack:
        40: iconst_0
      StackMap locals:
      StackMap stack: int
        41: iload 15 /* secondColon */
            ifle 42
            iconst_1
            goto 43
      StackMap locals:
      StackMap stack: int
        42: iconst_0
      StackMap locals: java.lang.String java.lang.String java.lang.String top int int int top top top int int int int int int int java.lang.String java.lang.String int
      StackMap stack: int int
        43: iand
        44: .line 242
            iload 15 /* secondColon */
            aload 2 /* time_s */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmpge 45
            iconst_1
            goto 46
      StackMap locals:
      StackMap stack: int
        45: iconst_0
      StackMap locals: java.lang.String java.lang.String java.lang.String top int int int top top top int int int int int int int java.lang.String java.lang.String int
      StackMap stack: int int
        46: iand
            ifeq 69
        47: .line 243
            aload 2 /* time_s */
            iconst_0
            iload 14 /* firstColon */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 7 /* hour */
        start local 7 // int hour
        48: .line 245
            aload 2 /* time_s */
            iload 14 /* firstColon */
            iconst_1
            iadd
            iload 15 /* secondColon */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
        49: .line 244
            istore 8 /* minute */
        start local 8 // int minute
        50: .line 246
            iload 16 /* period */
            ifle 51
            iconst_1
            goto 52
      StackMap locals: java.lang.String java.lang.String java.lang.String top int int int int int top int int int int int int int java.lang.String java.lang.String int
      StackMap stack:
        51: iconst_0
      StackMap locals:
      StackMap stack: int
        52: iload 16 /* period */
            aload 2 /* time_s */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmpge 53
            iconst_1
            goto 54
      StackMap locals:
      StackMap stack: int
        53: iconst_0
      StackMap locals: java.lang.String java.lang.String java.lang.String top int int int int int top int int int int int int int java.lang.String java.lang.String int
      StackMap stack: int int
        54: iand
            ifeq 65
        55: .line 248
            aload 2 /* time_s */
            iload 15 /* secondColon */
            iconst_1
            iadd
            iload 16 /* period */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
        56: .line 247
            istore 9 /* second */
        start local 9 // int second
        57: .line 249
            aload 2 /* time_s */
            iload 16 /* period */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* nanos_s */
        start local 3 // java.lang.String nanos_s
        58: .line 250
            aload 3 /* nanos_s */
            invokevirtual java.lang.String.length:()I
            bipush 9
            if_icmple 60
        59: .line 251
            new java.lang.IllegalArgumentException
            dup
            aload 17 /* formatError */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        60: .line 252
      StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.String int int int int int int int int int int int int int java.lang.String java.lang.String int
      StackMap stack:
            aload 3 /* nanos_s */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isDigit:(C)Z
            ifne 62
        61: .line 253
            new java.lang.IllegalArgumentException
            dup
            aload 17 /* formatError */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        62: .line 254
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 3 /* nanos_s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 18 /* zeros */
            iconst_0
            bipush 9
            aload 3 /* nanos_s */
            invokevirtual java.lang.String.length:()I
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* nanos_s */
        63: .line 255
            aload 3 /* nanos_s */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 10 /* a_nanos */
        64: .line 256
            goto 70
        end local 9 // int second
        end local 3 // java.lang.String nanos_s
      StackMap locals: java.lang.String java.lang.String java.lang.String top int int int int int top int int int int int int int java.lang.String java.lang.String int
      StackMap stack:
        65: iload 16 /* period */
            ifle 67
        66: .line 257
            new java.lang.IllegalArgumentException
            dup
            aload 17 /* formatError */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        67: .line 259
      StackMap locals:
      StackMap stack:
            aload 2 /* time_s */
            iload 15 /* secondColon */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 9 /* second */
        start local 9 // int second
        68: .line 261
            goto 70
        end local 9 // int second
        end local 8 // int minute
        end local 7 // int hour
        69: .line 262
      StackMap locals: java.lang.String java.lang.String java.lang.String top int int int top top top int int int int int int int java.lang.String java.lang.String int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            aload 17 /* formatError */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        start local 7 // int hour
        start local 8 // int minute
        start local 9 // int second
        70: .line 265
      StackMap locals: java.lang.String java.lang.String java.lang.String top int int int int int int int int int int int int int java.lang.String java.lang.String int
      StackMap stack:
            new java.sql.Timestamp
            dup
            iload 4 /* year */
            sipush 1900
            isub
            iload 5 /* month */
            iconst_1
            isub
            iload 6 /* day */
            iload 7 /* hour */
            iload 8 /* minute */
            iload 9 /* second */
            iload 10 /* a_nanos */
            invokespecial java.sql.Timestamp.<init>:(IIIIIII)V
            areturn
        end local 19 // boolean parsedDate
        end local 18 // java.lang.String zeros
        end local 17 // java.lang.String formatError
        end local 16 // int period
        end local 15 // int secondColon
        end local 14 // int firstColon
        end local 13 // int dividingSpace
        end local 12 // int secondDash
        end local 11 // int firstDash
        end local 10 // int a_nanos
        end local 9 // int second
        end local 8 // int minute
        end local 7 // int hour
        end local 6 // int day
        end local 5 // int month
        end local 4 // int year
        end local 2 // java.lang.String time_s
        end local 1 // java.lang.String date_s
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   71     0              s  Ljava/lang/String;
           14   16     1         date_s  Ljava/lang/String;
           17   71     1         date_s  Ljava/lang/String;
           15   16     2         time_s  Ljava/lang/String;
           17   71     2         time_s  Ljava/lang/String;
           58   65     3        nanos_s  Ljava/lang/String;
            1   71     4           year  I
            2   71     5          month  I
            3   71     6            day  I
           48   69     7           hour  I
           70   71     7           hour  I
           50   69     8         minute  I
           70   71     8         minute  I
           57   65     9         second  I
           68   69     9         second  I
           70   71     9         second  I
            4   71    10        a_nanos  I
           18   71    11      firstDash  I
           19   71    12     secondDash  I
           12   71    13  dividingSpace  I
            5   71    14     firstColon  I
            6   71    15    secondColon  I
            7   71    16         period  I
            8   71    17    formatError  Ljava/lang/String;
            9   71    18          zeros  Ljava/lang/String;
           25   71    19     parsedDate  Z
           27   37    20           yyyy  Ljava/lang/String;
           28   37    21             mm  Ljava/lang/String;
           29   37    22             dd  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=19, args_size=1
        start local 0 // java.sql.Timestamp this
         0: .line 279
            aload 0 /* this */
            invokespecial java.util.Date.getYear:()I
            sipush 1900
            iadd
            istore 1 /* year */
        start local 1 // int year
         1: .line 280
            aload 0 /* this */
            invokespecial java.util.Date.getMonth:()I
            iconst_1
            iadd
            istore 2 /* month */
        start local 2 // int month
         2: .line 281
            aload 0 /* this */
            invokespecial java.util.Date.getDate:()I
            istore 3 /* day */
        start local 3 // int day
         3: .line 282
            aload 0 /* this */
            invokespecial java.util.Date.getHours:()I
            istore 4 /* hour */
        start local 4 // int hour
         4: .line 283
            aload 0 /* this */
            invokespecial java.util.Date.getMinutes:()I
            istore 5 /* minute */
        start local 5 // int minute
         5: .line 284
            aload 0 /* this */
            invokespecial java.util.Date.getSeconds:()I
            istore 6 /* second */
        start local 6 // int second
         6: .line 292
            ldc "000000000"
            astore 14 /* zeros */
        start local 14 // java.lang.String zeros
         7: .line 293
            ldc "0000"
            astore 15 /* yearZeros */
        start local 15 // java.lang.String yearZeros
         8: .line 296
            iload 1 /* year */
            sipush 1000
            if_icmpge 14
         9: .line 298
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            iload 1 /* year */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* yearString */
        start local 7 // java.lang.String yearString
        10: .line 299
            new java.lang.StringBuilder
            dup
            aload 15 /* yearZeros */
            iconst_0
            iconst_4
            aload 7 /* yearString */
            invokevirtual java.lang.String.length:()I
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 300
            aload 7 /* yearString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 299
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* yearString */
        13: .line 301
            goto 15
        end local 7 // java.lang.String yearString
        14: .line 302
      StackMap locals: java.sql.Timestamp int int int int int int top top top top top top top java.lang.String java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            iload 1 /* year */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* yearString */
        start local 7 // java.lang.String yearString
        15: .line 304
      StackMap locals: java.sql.Timestamp int int int int int int java.lang.String top top top top top top java.lang.String java.lang.String
      StackMap stack:
            iload 2 /* month */
            bipush 10
            if_icmpge 18
        16: .line 305
            new java.lang.StringBuilder
            dup
            ldc "0"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* month */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* monthString */
        start local 8 // java.lang.String monthString
        17: .line 306
            goto 19
        end local 8 // java.lang.String monthString
        18: .line 307
      StackMap locals:
      StackMap stack:
            iload 2 /* month */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            astore 8 /* monthString */
        start local 8 // java.lang.String monthString
        19: .line 309
      StackMap locals: java.sql.Timestamp int int int int int int java.lang.String java.lang.String top top top top top java.lang.String java.lang.String
      StackMap stack:
            iload 3 /* day */
            bipush 10
            if_icmpge 22
        20: .line 310
            new java.lang.StringBuilder
            dup
            ldc "0"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* day */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* dayString */
        start local 9 // java.lang.String dayString
        21: .line 311
            goto 23
        end local 9 // java.lang.String dayString
        22: .line 312
      StackMap locals:
      StackMap stack:
            iload 3 /* day */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            astore 9 /* dayString */
        start local 9 // java.lang.String dayString
        23: .line 314
      StackMap locals: java.sql.Timestamp int int int int int int java.lang.String java.lang.String java.lang.String top top top top java.lang.String java.lang.String
      StackMap stack:
            iload 4 /* hour */
            bipush 10
            if_icmpge 26
        24: .line 315
            new java.lang.StringBuilder
            dup
            ldc "0"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* hour */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* hourString */
        start local 10 // java.lang.String hourString
        25: .line 316
            goto 27
        end local 10 // java.lang.String hourString
        26: .line 317
      StackMap locals:
      StackMap stack:
            iload 4 /* hour */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            astore 10 /* hourString */
        start local 10 // java.lang.String hourString
        27: .line 319
      StackMap locals: java.sql.Timestamp int int int int int int java.lang.String java.lang.String java.lang.String java.lang.String top top top java.lang.String java.lang.String
      StackMap stack:
            iload 5 /* minute */
            bipush 10
            if_icmpge 30
        28: .line 320
            new java.lang.StringBuilder
            dup
            ldc "0"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* minute */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 11 /* minuteString */
        start local 11 // java.lang.String minuteString
        29: .line 321
            goto 31
        end local 11 // java.lang.String minuteString
        30: .line 322
      StackMap locals:
      StackMap stack:
            iload 5 /* minute */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            astore 11 /* minuteString */
        start local 11 // java.lang.String minuteString
        31: .line 324
      StackMap locals: java.sql.Timestamp int int int int int int java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String top top java.lang.String java.lang.String
      StackMap stack:
            iload 6 /* second */
            bipush 10
            if_icmpge 34
        32: .line 325
            new java.lang.StringBuilder
            dup
            ldc "0"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* second */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 12 /* secondString */
        start local 12 // java.lang.String secondString
        33: .line 326
            goto 35
        end local 12 // java.lang.String secondString
        34: .line 327
      StackMap locals:
      StackMap stack:
            iload 6 /* second */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            astore 12 /* secondString */
        start local 12 // java.lang.String secondString
        35: .line 329
      StackMap locals: java.sql.Timestamp int int int int int int java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String top java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield java.sql.Timestamp.nanos:I
            ifne 38
        36: .line 330
            ldc "0"
            astore 13 /* nanosString */
        start local 13 // java.lang.String nanosString
        37: .line 331
            goto 49
        end local 13 // java.lang.String nanosString
        38: .line 332
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.sql.Timestamp.nanos:I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            astore 13 /* nanosString */
        start local 13 // java.lang.String nanosString
        39: .line 335
            new java.lang.StringBuilder
            dup
            aload 14 /* zeros */
            iconst_0
            bipush 9
            aload 13 /* nanosString */
            invokevirtual java.lang.String.length:()I
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        40: .line 336
            aload 13 /* nanosString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        41: .line 335
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 13 /* nanosString */
        42: .line 339
            aload 13 /* nanosString */
            invokevirtual java.lang.String.length:()I
            newarray 5
            astore 17 /* nanosChar */
        start local 17 // char[] nanosChar
        43: .line 340
            aload 13 /* nanosString */
            iconst_0
            aload 13 /* nanosString */
            invokevirtual java.lang.String.length:()I
            aload 17 /* nanosChar */
            iconst_0
            invokevirtual java.lang.String.getChars:(II[CI)V
        44: .line 341
            bipush 8
            istore 18 /* truncIndex */
        start local 18 // int truncIndex
        45: .line 342
            goto 47
        46: .line 343
      StackMap locals: java.sql.Timestamp int int int int int int java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String top char[] int
      StackMap stack:
            iinc 18 /* truncIndex */ -1
        47: .line 342
      StackMap locals:
      StackMap stack:
            aload 17 /* nanosChar */
            iload 18 /* truncIndex */
            caload
            bipush 48
            if_icmpeq 46
        48: .line 346
            new java.lang.String
            dup
            aload 17 /* nanosChar */
            iconst_0
            iload 18 /* truncIndex */
            iconst_1
            iadd
            invokespecial java.lang.String.<init>:([CII)V
            astore 13 /* nanosString */
        end local 18 // int truncIndex
        end local 17 // char[] nanosChar
        49: .line 350
      StackMap locals: java.sql.Timestamp int int int int int int java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack:
            new java.lang.StringBuffer
            dup
            bipush 20
            aload 13 /* nanosString */
            invokevirtual java.lang.String.length:()I
            iadd
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 16 /* timestampBuf */
        start local 16 // java.lang.StringBuffer timestampBuf
        50: .line 351
            aload 16 /* timestampBuf */
            aload 7 /* yearString */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        51: .line 352
            aload 16 /* timestampBuf */
            ldc "-"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        52: .line 353
            aload 16 /* timestampBuf */
            aload 8 /* monthString */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        53: .line 354
            aload 16 /* timestampBuf */
            ldc "-"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        54: .line 355
            aload 16 /* timestampBuf */
            aload 9 /* dayString */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        55: .line 356
            aload 16 /* timestampBuf */
            ldc " "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        56: .line 357
            aload 16 /* timestampBuf */
            aload 10 /* hourString */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        57: .line 358
            aload 16 /* timestampBuf */
            ldc ":"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        58: .line 359
            aload 16 /* timestampBuf */
            aload 11 /* minuteString */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        59: .line 360
            aload 16 /* timestampBuf */
            ldc ":"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        60: .line 361
            aload 16 /* timestampBuf */
            aload 12 /* secondString */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        61: .line 362
            aload 16 /* timestampBuf */
            ldc "."
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        62: .line 363
            aload 16 /* timestampBuf */
            aload 13 /* nanosString */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        63: .line 365
            aload 16 /* timestampBuf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 16 // java.lang.StringBuffer timestampBuf
        end local 15 // java.lang.String yearZeros
        end local 14 // java.lang.String zeros
        end local 13 // java.lang.String nanosString
        end local 12 // java.lang.String secondString
        end local 11 // java.lang.String minuteString
        end local 10 // java.lang.String hourString
        end local 9 // java.lang.String dayString
        end local 8 // java.lang.String monthString
        end local 7 // java.lang.String yearString
        end local 6 // int second
        end local 5 // int minute
        end local 4 // int hour
        end local 3 // int day
        end local 2 // int month
        end local 1 // int year
        end local 0 // java.sql.Timestamp this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   64     0          this  Ljava/sql/Timestamp;
            1   64     1          year  I
            2   64     2         month  I
            3   64     3           day  I
            4   64     4          hour  I
            5   64     5        minute  I
            6   64     6        second  I
           10   14     7    yearString  Ljava/lang/String;
           15   64     7    yearString  Ljava/lang/String;
           17   18     8   monthString  Ljava/lang/String;
           19   64     8   monthString  Ljava/lang/String;
           21   22     9     dayString  Ljava/lang/String;
           23   64     9     dayString  Ljava/lang/String;
           25   26    10    hourString  Ljava/lang/String;
           27   64    10    hourString  Ljava/lang/String;
           29   30    11  minuteString  Ljava/lang/String;
           31   64    11  minuteString  Ljava/lang/String;
           33   34    12  secondString  Ljava/lang/String;
           35   64    12  secondString  Ljava/lang/String;
           37   38    13   nanosString  Ljava/lang/String;
           39   64    13   nanosString  Ljava/lang/String;
            7   64    14         zeros  Ljava/lang/String;
            8   64    15     yearZeros  Ljava/lang/String;
           50   64    16  timestampBuf  Ljava/lang/StringBuffer;
           43   49    17     nanosChar  [C
           45   49    18    truncIndex  I

  public int getNanos();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.sql.Timestamp this
         0: .line 375
            aload 0 /* this */
            getfield java.sql.Timestamp.nanos:I
            ireturn
        end local 0 // java.sql.Timestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/sql/Timestamp;

  public void setNanos(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.sql.Timestamp this
        start local 1 // int n
         0: .line 388
            iload 1 /* n */
            ldc 999999999
            if_icmpgt 1
            iload 1 /* n */
            ifge 2
         1: .line 389
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "nanos > 999999999 or < 0"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 391
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* n */
            putfield java.sql.Timestamp.nanos:I
         3: .line 392
            return
        end local 1 // int n
        end local 0 // java.sql.Timestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/sql/Timestamp;
            0    4     1     n  I
    MethodParameters:
      Name  Flags
      n     

  public boolean equals(java.sql.Timestamp);
    descriptor: (Ljava/sql/Timestamp;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.sql.Timestamp this
        start local 1 // java.sql.Timestamp ts
         0: .line 404
            aload 0 /* this */
            aload 1 /* ts */
            invokespecial java.util.Date.equals:(Ljava/lang/Object;)Z
            ifeq 4
         1: .line 405
            aload 0 /* this */
            getfield java.sql.Timestamp.nanos:I
            aload 1 /* ts */
            getfield java.sql.Timestamp.nanos:I
            if_icmpne 3
         2: .line 406
            iconst_1
            ireturn
         3: .line 408
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 411
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.sql.Timestamp ts
        end local 0 // java.sql.Timestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/sql/Timestamp;
            0    5     1    ts  Ljava/sql/Timestamp;
    MethodParameters:
      Name  Flags
      ts    

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.sql.Timestamp this
        start local 1 // java.lang.Object ts
         0: .line 434
            aload 1 /* ts */
            instanceof java.sql.Timestamp
            ifeq 2
         1: .line 435
            aload 0 /* this */
            aload 1 /* ts */
            checkcast java.sql.Timestamp
            invokevirtual java.sql.Timestamp.equals:(Ljava/sql/Timestamp;)Z
            ireturn
         2: .line 437
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object ts
        end local 0 // java.sql.Timestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/sql/Timestamp;
            0    3     1    ts  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      ts    

  public boolean before(java.sql.Timestamp);
    descriptor: (Ljava/sql/Timestamp;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.sql.Timestamp this
        start local 1 // java.sql.Timestamp ts
         0: .line 450
            aload 0 /* this */
            aload 1 /* ts */
            invokevirtual java.sql.Timestamp.compareTo:(Ljava/sql/Timestamp;)I
            ifge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.sql.Timestamp ts
        end local 0 // java.sql.Timestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/sql/Timestamp;
            0    2     1    ts  Ljava/sql/Timestamp;
    MethodParameters:
      Name  Flags
      ts    

  public boolean after(java.sql.Timestamp);
    descriptor: (Ljava/sql/Timestamp;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.sql.Timestamp this
        start local 1 // java.sql.Timestamp ts
         0: .line 462
            aload 0 /* this */
            aload 1 /* ts */
            invokevirtual java.sql.Timestamp.compareTo:(Ljava/sql/Timestamp;)I
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.sql.Timestamp ts
        end local 0 // java.sql.Timestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/sql/Timestamp;
            0    2     1    ts  Ljava/sql/Timestamp;
    MethodParameters:
      Name  Flags
      ts    

  public int compareTo(java.sql.Timestamp);
    descriptor: (Ljava/sql/Timestamp;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // java.sql.Timestamp this
        start local 1 // java.sql.Timestamp ts
         0: .line 479
            aload 0 /* this */
            invokevirtual java.sql.Timestamp.getTime:()J
            lstore 2 /* thisTime */
        start local 2 // long thisTime
         1: .line 480
            aload 1 /* ts */
            invokevirtual java.sql.Timestamp.getTime:()J
            lstore 4 /* anotherTime */
        start local 4 // long anotherTime
         2: .line 481
            lload 2 /* thisTime */
            lload 4 /* anotherTime */
            lcmp
            ifge 3
            iconst_m1
            goto 5
      StackMap locals: long long
      StackMap stack:
         3: lload 2 /* thisTime */
            lload 4 /* anotherTime */
            lcmp
            ifne 4
            iconst_0
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: istore 6 /* i */
        start local 6 // int i
         6: .line 482
            iload 6 /* i */
            ifne 11
         7: .line 483
            aload 0 /* this */
            getfield java.sql.Timestamp.nanos:I
            aload 1 /* ts */
            getfield java.sql.Timestamp.nanos:I
            if_icmple 9
         8: .line 484
            iconst_1
            ireturn
         9: .line 485
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.sql.Timestamp.nanos:I
            aload 1 /* ts */
            getfield java.sql.Timestamp.nanos:I
            if_icmpge 11
        10: .line 486
            iconst_m1
            ireturn
        11: .line 489
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            ireturn
        end local 6 // int i
        end local 4 // long anotherTime
        end local 2 // long thisTime
        end local 1 // java.sql.Timestamp ts
        end local 0 // java.sql.Timestamp this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Ljava/sql/Timestamp;
            0   12     1           ts  Ljava/sql/Timestamp;
            1   12     2     thisTime  J
            2   12     4  anotherTime  J
            6   12     6            i  I
    MethodParameters:
      Name  Flags
      ts    

  public int compareTo(java.util.Date);
    descriptor: (Ljava/util/Date;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.sql.Timestamp this
        start local 1 // java.util.Date o
         0: .line 507
            aload 1 /* o */
            instanceof java.sql.Timestamp
            ifeq 2
         1: .line 511
            aload 0 /* this */
            aload 1 /* o */
            checkcast java.sql.Timestamp
            invokevirtual java.sql.Timestamp.compareTo:(Ljava/sql/Timestamp;)I
            ireturn
         2: .line 515
      StackMap locals:
      StackMap stack:
            new java.sql.Timestamp
            dup
            aload 1 /* o */
            invokevirtual java.util.Date.getTime:()J
            invokespecial java.sql.Timestamp.<init>:(J)V
            astore 2 /* ts */
        start local 2 // java.sql.Timestamp ts
         3: .line 516
            aload 0 /* this */
            aload 2 /* ts */
            invokevirtual java.sql.Timestamp.compareTo:(Ljava/sql/Timestamp;)I
            ireturn
        end local 2 // java.sql.Timestamp ts
        end local 1 // java.util.Date o
        end local 0 // java.sql.Timestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/sql/Timestamp;
            0    4     1     o  Ljava/util/Date;
            3    4     2    ts  Ljava/sql/Timestamp;
    MethodParameters:
      Name  Flags
      o     

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.sql.Timestamp this
         0: .line 529
            aload 0 /* this */
            invokespecial java.util.Date.hashCode:()I
            ireturn
        end local 0 // java.sql.Timestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/sql/Timestamp;

  public static java.sql.Timestamp valueOf(java.time.LocalDateTime);
    descriptor: (Ljava/time/LocalDateTime;)Ljava/sql/Timestamp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=1, args_size=1
        start local 0 // java.time.LocalDateTime dateTime
         0: .line 551
            new java.sql.Timestamp
            dup
            aload 0 /* dateTime */
            invokevirtual java.time.LocalDateTime.getYear:()I
            sipush 1900
            isub
         1: .line 552
            aload 0 /* dateTime */
            invokevirtual java.time.LocalDateTime.getMonthValue:()I
            iconst_1
            isub
         2: .line 553
            aload 0 /* dateTime */
            invokevirtual java.time.LocalDateTime.getDayOfMonth:()I
         3: .line 554
            aload 0 /* dateTime */
            invokevirtual java.time.LocalDateTime.getHour:()I
         4: .line 555
            aload 0 /* dateTime */
            invokevirtual java.time.LocalDateTime.getMinute:()I
         5: .line 556
            aload 0 /* dateTime */
            invokevirtual java.time.LocalDateTime.getSecond:()I
         6: .line 557
            aload 0 /* dateTime */
            invokevirtual java.time.LocalDateTime.getNano:()I
         7: .line 551
            invokespecial java.sql.Timestamp.<init>:(IIIIIII)V
            areturn
        end local 0 // java.time.LocalDateTime dateTime
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0  dateTime  Ljava/time/LocalDateTime;
    MethodParameters:
          Name  Flags
      dateTime  

  public java.time.LocalDateTime toLocalDateTime();
    descriptor: ()Ljava/time/LocalDateTime;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // java.sql.Timestamp this
         0: .line 572
            aload 0 /* this */
            invokevirtual java.sql.Timestamp.getYear:()I
            sipush 1900
            iadd
         1: .line 573
            aload 0 /* this */
            invokevirtual java.sql.Timestamp.getMonth:()I
            iconst_1
            iadd
         2: .line 574
            aload 0 /* this */
            invokevirtual java.sql.Timestamp.getDate:()I
         3: .line 575
            aload 0 /* this */
            invokevirtual java.sql.Timestamp.getHours:()I
         4: .line 576
            aload 0 /* this */
            invokevirtual java.sql.Timestamp.getMinutes:()I
         5: .line 577
            aload 0 /* this */
            invokevirtual java.sql.Timestamp.getSeconds:()I
         6: .line 578
            aload 0 /* this */
            invokevirtual java.sql.Timestamp.getNanos:()I
         7: .line 572
            invokestatic java.time.LocalDateTime.of:(IIIIIII)Ljava/time/LocalDateTime;
            areturn
        end local 0 // java.sql.Timestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/sql/Timestamp;

  public static java.sql.Timestamp from(java.time.Instant);
    descriptor: (Ljava/time/Instant;)Ljava/sql/Timestamp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // java.time.Instant instant
         0: .line 598
            new java.sql.Timestamp
            dup
            aload 0 /* instant */
            invokevirtual java.time.Instant.getEpochSecond:()J
            ldc 1000
            lmul
            invokespecial java.sql.Timestamp.<init>:(J)V
            astore 1 /* stamp */
        start local 1 // java.sql.Timestamp stamp
         1: .line 599
            aload 1 /* stamp */
            aload 0 /* instant */
            invokevirtual java.time.Instant.getNano:()I
            putfield java.sql.Timestamp.nanos:I
         2: .line 600
            aload 1 /* stamp */
         3: areturn
        end local 1 // java.sql.Timestamp stamp
         4: .line 601
      StackMap locals:
      StackMap stack: java.lang.ArithmeticException
            astore 1 /* ex */
        start local 1 // java.lang.ArithmeticException ex
         5: .line 602
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* ex */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.ArithmeticException ex
        end local 0 // java.time.Instant instant
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0  instant  Ljava/time/Instant;
            1    4     1    stamp  Ljava/sql/Timestamp;
            5    6     1       ex  Ljava/lang/ArithmeticException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.ArithmeticException
    MethodParameters:
         Name  Flags
      instant  

  public java.time.Instant toInstant();
    descriptor: ()Ljava/time/Instant;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.sql.Timestamp this
         0: .line 617
            aload 0 /* this */
            invokespecial java.util.Date.getTime:()J
            ldc 1000
            ldiv
            aload 0 /* this */
            getfield java.sql.Timestamp.nanos:I
            i2l
            invokestatic java.time.Instant.ofEpochSecond:(JJ)Ljava/time/Instant;
            areturn
        end local 0 // java.sql.Timestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/sql/Timestamp;
}
SourceFile: "Timestamp.java"