public class sun.security.krb5.internal.rcache.AuthTime
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.krb5.internal.rcache.AuthTime
  super_class: java.lang.Object
{
  final int ctime;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final int cusec;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final java.lang.String client;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String server;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  public void <init>(java.lang.String, java.lang.String, int, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // sun.security.krb5.internal.rcache.AuthTime this
        start local 1 // java.lang.String client
        start local 2 // java.lang.String server
        start local 3 // int ctime
        start local 4 // int cusec
         0: .line 58
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 60
            aload 0 /* this */
            iload 3 /* ctime */
            putfield sun.security.krb5.internal.rcache.AuthTime.ctime:I
         2: .line 61
            aload 0 /* this */
            iload 4 /* cusec */
            putfield sun.security.krb5.internal.rcache.AuthTime.cusec:I
         3: .line 62
            aload 0 /* this */
            aload 1 /* client */
            putfield sun.security.krb5.internal.rcache.AuthTime.client:Ljava/lang/String;
         4: .line 63
            aload 0 /* this */
            aload 2 /* server */
            putfield sun.security.krb5.internal.rcache.AuthTime.server:Ljava/lang/String;
         5: .line 64
            return
        end local 4 // int cusec
        end local 3 // int ctime
        end local 2 // java.lang.String server
        end local 1 // java.lang.String client
        end local 0 // sun.security.krb5.internal.rcache.AuthTime this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lsun/security/krb5/internal/rcache/AuthTime;
            0    6     1  client  Ljava/lang/String;
            0    6     2  server  Ljava/lang/String;
            0    6     3   ctime  I
            0    6     4   cusec  I
    MethodParameters:
        Name  Flags
      client  
      server  
      ctime   
      cusec   

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // sun.security.krb5.internal.rcache.AuthTime this
         0: .line 68
            ldc "%d/%06d/----/%s"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.security.krb5.internal.rcache.AuthTime.ctime:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield sun.security.krb5.internal.rcache.AuthTime.cusec:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield sun.security.krb5.internal.rcache.AuthTime.client:Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // sun.security.krb5.internal.rcache.AuthTime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/krb5/internal/rcache/AuthTime;

  private static java.lang.String readStringWithLength(java.nio.channels.SeekableByteChannel);
    descriptor: (Ljava/nio/channels/SeekableByteChannel;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // java.nio.channels.SeekableByteChannel chan
         0: .line 81
            iconst_4
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 1 /* bb */
        start local 1 // java.nio.ByteBuffer bb
         1: .line 82
            aload 1 /* bb */
            invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         2: .line 83
            aload 0 /* chan */
            aload 1 /* bb */
            invokeinterface java.nio.channels.SeekableByteChannel.read:(Ljava/nio/ByteBuffer;)I
            pop
         3: .line 84
            aload 1 /* bb */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
            pop
         4: .line 85
            aload 1 /* bb */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            istore 2 /* len */
        start local 2 // int len
         5: .line 86
            iload 2 /* len */
            sipush 1024
            if_icmple 7
         6: .line 88
            new java.io.IOException
            dup
            ldc "Invalid string length"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 90
      StackMap locals: java.nio.ByteBuffer int
      StackMap stack:
            iload 2 /* len */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 1 /* bb */
         8: .line 91
            aload 0 /* chan */
            aload 1 /* bb */
            invokeinterface java.nio.channels.SeekableByteChannel.read:(Ljava/nio/ByteBuffer;)I
            iload 2 /* len */
            if_icmpeq 10
         9: .line 92
            new java.io.IOException
            dup
            ldc "Not enough string"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 94
      StackMap locals:
      StackMap stack:
            aload 1 /* bb */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 3 /* data */
        start local 3 // byte[] data
        11: .line 95
            aload 3 /* data */
            iload 2 /* len */
            iconst_1
            isub
            baload
            ifne 13
        12: .line 96
            new java.lang.String
            dup
            aload 3 /* data */
            iconst_0
            iload 2 /* len */
            iconst_1
            isub
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
            goto 14
        13: .line 97
      StackMap locals: byte[]
      StackMap stack:
            new java.lang.String
            dup
            aload 3 /* data */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
        14: .line 95
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 3 // byte[] data
        end local 2 // int len
        end local 1 // java.nio.ByteBuffer bb
        end local 0 // java.nio.channels.SeekableByteChannel chan
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  chan  Ljava/nio/channels/SeekableByteChannel;
            1   15     1    bb  Ljava/nio/ByteBuffer;
            5   15     2   len  I
           11   15     3  data  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      chan  

  public static sun.security.krb5.internal.rcache.AuthTime readFrom(java.nio.channels.SeekableByteChannel);
    descriptor: (Ljava/nio/channels/SeekableByteChannel;)Lsun/security/krb5/internal/rcache/AuthTime;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=9, args_size=1
        start local 0 // java.nio.channels.SeekableByteChannel chan
         0: .line 107
            aload 0 /* chan */
            invokestatic sun.security.krb5.internal.rcache.AuthTime.readStringWithLength:(Ljava/nio/channels/SeekableByteChannel;)Ljava/lang/String;
            astore 1 /* client */
        start local 1 // java.lang.String client
         1: .line 108
            aload 0 /* chan */
            invokestatic sun.security.krb5.internal.rcache.AuthTime.readStringWithLength:(Ljava/nio/channels/SeekableByteChannel;)Ljava/lang/String;
            astore 2 /* server */
        start local 2 // java.lang.String server
         2: .line 109
            bipush 8
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 3 /* bb */
        start local 3 // java.nio.ByteBuffer bb
         3: .line 110
            aload 0 /* chan */
            aload 3 /* bb */
            invokeinterface java.nio.channels.SeekableByteChannel.read:(Ljava/nio/ByteBuffer;)I
            pop
         4: .line 111
            aload 3 /* bb */
            invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         5: .line 112
            aload 3 /* bb */
            iconst_0
            invokevirtual java.nio.ByteBuffer.getInt:(I)I
            istore 4 /* cusec */
        start local 4 // int cusec
         6: .line 113
            aload 3 /* bb */
            iconst_4
            invokevirtual java.nio.ByteBuffer.getInt:(I)I
            istore 5 /* ctime */
        start local 5 // int ctime
         7: .line 114
            aload 1 /* client */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 20
         8: .line 115
            new java.util.StringTokenizer
            dup
            aload 2 /* server */
            ldc " :"
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 6 /* st */
        start local 6 // java.util.StringTokenizer st
         9: .line 116
            aload 6 /* st */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            bipush 6
            if_icmpeq 11
        10: .line 117
            new java.io.IOException
            dup
            ldc "Incorrect rcache style"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 119
      StackMap locals: java.nio.channels.SeekableByteChannel java.lang.String java.lang.String java.nio.ByteBuffer int int java.util.StringTokenizer
      StackMap stack:
            aload 6 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 7 /* hashAlg */
        start local 7 // java.lang.String hashAlg
        12: .line 120
            aload 6 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 8 /* hash */
        start local 8 // java.lang.String hash
        13: .line 121
            aload 6 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            pop
        14: .line 122
            aload 6 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 1 /* client */
        15: .line 123
            aload 6 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            pop
        16: .line 124
            aload 6 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 2 /* server */
        17: .line 125
            new sun.security.krb5.internal.rcache.AuthTimeWithHash
            dup
        18: .line 126
            aload 1 /* client */
            aload 2 /* server */
            iload 5 /* ctime */
            iload 4 /* cusec */
            aload 7 /* hashAlg */
            aload 8 /* hash */
        19: .line 125
            invokespecial sun.security.krb5.internal.rcache.AuthTimeWithHash.<init>:(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;)V
            areturn
        end local 8 // java.lang.String hash
        end local 7 // java.lang.String hashAlg
        end local 6 // java.util.StringTokenizer st
        20: .line 128
      StackMap locals:
      StackMap stack:
            new sun.security.krb5.internal.rcache.AuthTime
            dup
        21: .line 129
            aload 1 /* client */
            aload 2 /* server */
            iload 5 /* ctime */
            iload 4 /* cusec */
        22: .line 128
            invokespecial sun.security.krb5.internal.rcache.AuthTime.<init>:(Ljava/lang/String;Ljava/lang/String;II)V
            areturn
        end local 5 // int ctime
        end local 4 // int cusec
        end local 3 // java.nio.ByteBuffer bb
        end local 2 // java.lang.String server
        end local 1 // java.lang.String client
        end local 0 // java.nio.channels.SeekableByteChannel chan
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   23     0     chan  Ljava/nio/channels/SeekableByteChannel;
            1   23     1   client  Ljava/lang/String;
            2   23     2   server  Ljava/lang/String;
            3   23     3       bb  Ljava/nio/ByteBuffer;
            6   23     4    cusec  I
            7   23     5    ctime  I
            9   20     6       st  Ljava/util/StringTokenizer;
           12   20     7  hashAlg  Ljava/lang/String;
           13   20     8     hash  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      chan  

  protected byte[] encode0(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)[B
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // sun.security.krb5.internal.rcache.AuthTime this
        start local 1 // java.lang.String cstring
        start local 2 // java.lang.String sstring
         0: .line 137
            aload 1 /* cstring */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            astore 3 /* c */
        start local 3 // byte[] c
         1: .line 138
            aload 2 /* sstring */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            astore 4 /* s */
        start local 4 // byte[] s
         2: .line 139
            iconst_1
            newarray 8
            astore 5 /* zero */
        start local 5 // byte[] zero
         3: .line 140
            iconst_4
            aload 3 /* c */
            arraylength
            iadd
            iconst_1
            iadd
            iconst_4
            iadd
            aload 4 /* s */
            arraylength
            iadd
            iconst_1
            iadd
            iconst_4
            iadd
            iconst_4
            iadd
            istore 6 /* len */
        start local 6 // int len
         4: .line 141
            iload 6 /* len */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
         5: .line 142
            invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
         6: .line 141
            astore 7 /* bb */
        start local 7 // java.nio.ByteBuffer bb
         7: .line 143
            aload 7 /* bb */
            aload 3 /* c */
            arraylength
            iconst_1
            iadd
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            aload 3 /* c */
            invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
            aload 5 /* zero */
            invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
         8: .line 144
            aload 4 /* s */
            arraylength
            iconst_1
            iadd
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            aload 4 /* s */
            invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
            aload 5 /* zero */
            invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
         9: .line 145
            aload 0 /* this */
            getfield sun.security.krb5.internal.rcache.AuthTime.cusec:I
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield sun.security.krb5.internal.rcache.AuthTime.ctime:I
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            pop
        10: .line 146
            aload 7 /* bb */
            invokevirtual java.nio.ByteBuffer.array:()[B
            areturn
        end local 7 // java.nio.ByteBuffer bb
        end local 6 // int len
        end local 5 // byte[] zero
        end local 4 // byte[] s
        end local 3 // byte[] c
        end local 2 // java.lang.String sstring
        end local 1 // java.lang.String cstring
        end local 0 // sun.security.krb5.internal.rcache.AuthTime this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lsun/security/krb5/internal/rcache/AuthTime;
            0   11     1  cstring  Ljava/lang/String;
            0   11     2  sstring  Ljava/lang/String;
            1   11     3        c  [B
            2   11     4        s  [B
            3   11     5     zero  [B
            4   11     6      len  I
            7   11     7       bb  Ljava/nio/ByteBuffer;
    MethodParameters:
         Name  Flags
      cstring  
      sstring  

  public byte[] encode(boolean);
    descriptor: (Z)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.krb5.internal.rcache.AuthTime this
        start local 1 // boolean withHash
         0: .line 154
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.krb5.internal.rcache.AuthTime.client:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.krb5.internal.rcache.AuthTime.server:Ljava/lang/String;
            invokevirtual sun.security.krb5.internal.rcache.AuthTime.encode0:(Ljava/lang/String;Ljava/lang/String;)[B
            areturn
        end local 1 // boolean withHash
        end local 0 // sun.security.krb5.internal.rcache.AuthTime this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lsun/security/krb5/internal/rcache/AuthTime;
            0    1     1  withHash  Z
    MethodParameters:
          Name  Flags
      withHash  
}
SourceFile: "AuthTime.java"