public final class okhttp3.internal.tls.BasicTrustRootIndex implements okhttp3.internal.tls.TrustRootIndex
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: okhttp3.internal.tls.BasicTrustRootIndex
  super_class: java.lang.Object
{
  private final java.util.Map<javax.security.auth.x500.X500Principal, java.util.Set<java.security.cert.X509Certificate>> subjectToCaCerts;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljavax/security/auth/x500/X500Principal;Ljava/util/Set<Ljava/security/cert/X509Certificate;>;>;

  public void <init>(java.security.cert.X509Certificate[]);
    descriptor: ([Ljava/security/cert/X509Certificate;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // okhttp3.internal.tls.BasicTrustRootIndex this
        start local 1 // java.security.cert.X509Certificate[] caCerts
         0: .line 30
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 31
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield okhttp3.internal.tls.BasicTrustRootIndex.subjectToCaCerts:Ljava/util/Map;
         2: .line 32
            aload 1 /* caCerts */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 11
      StackMap locals: okhttp3.internal.tls.BasicTrustRootIndex java.security.cert.X509Certificate[] top int int java.security.cert.X509Certificate[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* caCert */
        start local 2 // java.security.cert.X509Certificate caCert
         4: .line 33
            aload 2 /* caCert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            astore 6 /* subject */
        start local 6 // javax.security.auth.x500.X500Principal subject
         5: .line 34
            aload 0 /* this */
            getfield okhttp3.internal.tls.BasicTrustRootIndex.subjectToCaCerts:Ljava/util/Map;
            aload 6 /* subject */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 7 /* subjectCaCerts */
        start local 7 // java.util.Set subjectCaCerts
         6: .line 35
            aload 7 /* subjectCaCerts */
            ifnonnull 9
         7: .line 36
            new java.util.LinkedHashSet
            dup
            iconst_1
            invokespecial java.util.LinkedHashSet.<init>:(I)V
            astore 7 /* subjectCaCerts */
         8: .line 37
            aload 0 /* this */
            getfield okhttp3.internal.tls.BasicTrustRootIndex.subjectToCaCerts:Ljava/util/Map;
            aload 6 /* subject */
            aload 7 /* subjectCaCerts */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 39
      StackMap locals: okhttp3.internal.tls.BasicTrustRootIndex java.security.cert.X509Certificate[] java.security.cert.X509Certificate int int java.security.cert.X509Certificate[] javax.security.auth.x500.X500Principal java.util.Set
      StackMap stack:
            aload 7 /* subjectCaCerts */
            aload 2 /* caCert */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.util.Set subjectCaCerts
        end local 6 // javax.security.auth.x500.X500Principal subject
        end local 2 // java.security.cert.X509Certificate caCert
        10: .line 32
            iinc 3 1
      StackMap locals: okhttp3.internal.tls.BasicTrustRootIndex java.security.cert.X509Certificate[] top int int java.security.cert.X509Certificate[]
      StackMap stack:
        11: iload 3
            iload 4
            if_icmplt 3
        12: .line 41
            return
        end local 1 // java.security.cert.X509Certificate[] caCerts
        end local 0 // okhttp3.internal.tls.BasicTrustRootIndex this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lokhttp3/internal/tls/BasicTrustRootIndex;
            0   13     1         caCerts  [Ljava/security/cert/X509Certificate;
            4   10     2          caCert  Ljava/security/cert/X509Certificate;
            5   10     6         subject  Ljavax/security/auth/x500/X500Principal;
            6   10     7  subjectCaCerts  Ljava/util/Set<Ljava/security/cert/X509Certificate;>;
    MethodParameters:
         Name  Flags
      caCerts  

  public java.security.cert.X509Certificate findByIssuerAndSignature(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // okhttp3.internal.tls.BasicTrustRootIndex this
        start local 1 // java.security.cert.X509Certificate cert
         0: .line 44
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            astore 2 /* issuer */
        start local 2 // javax.security.auth.x500.X500Principal issuer
         1: .line 45
            aload 0 /* this */
            getfield okhttp3.internal.tls.BasicTrustRootIndex.subjectToCaCerts:Ljava/util/Map;
            aload 2 /* issuer */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 3 /* subjectCaCerts */
        start local 3 // java.util.Set subjectCaCerts
         2: .line 46
            aload 3 /* subjectCaCerts */
            ifnonnull 3
            aconst_null
            areturn
         3: .line 48
      StackMap locals: javax.security.auth.x500.X500Principal java.util.Set
      StackMap stack:
            aload 3 /* subjectCaCerts */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 10
      StackMap locals: okhttp3.internal.tls.BasicTrustRootIndex java.security.cert.X509Certificate javax.security.auth.x500.X500Principal java.util.Set top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 4 /* caCert */
        start local 4 // java.security.cert.X509Certificate caCert
         5: .line 49
            aload 4 /* caCert */
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 6 /* publicKey */
        start local 6 // java.security.PublicKey publicKey
         6: .line 51
            aload 1 /* cert */
            aload 6 /* publicKey */
            invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;)V
         7: .line 52
            aload 4 /* caCert */
         8: areturn
         9: .line 53
      StackMap locals: okhttp3.internal.tls.BasicTrustRootIndex java.security.cert.X509Certificate javax.security.auth.x500.X500Principal java.util.Set java.security.cert.X509Certificate java.util.Iterator java.security.PublicKey
      StackMap stack: java.lang.Exception
            pop
        end local 6 // java.security.PublicKey publicKey
        end local 4 // java.security.cert.X509Certificate caCert
        10: .line 48
      StackMap locals: okhttp3.internal.tls.BasicTrustRootIndex java.security.cert.X509Certificate javax.security.auth.x500.X500Principal java.util.Set top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        11: .line 57
            aconst_null
            areturn
        end local 3 // java.util.Set subjectCaCerts
        end local 2 // javax.security.auth.x500.X500Principal issuer
        end local 1 // java.security.cert.X509Certificate cert
        end local 0 // okhttp3.internal.tls.BasicTrustRootIndex this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Lokhttp3/internal/tls/BasicTrustRootIndex;
            0   12     1            cert  Ljava/security/cert/X509Certificate;
            1   12     2          issuer  Ljavax/security/auth/x500/X500Principal;
            2   12     3  subjectCaCerts  Ljava/util/Set<Ljava/security/cert/X509Certificate;>;
            5   10     4          caCert  Ljava/security/cert/X509Certificate;
            6   10     6       publicKey  Ljava/security/PublicKey;
      Exception table:
        from    to  target  type
           6     8       9  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      cert  

  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 // okhttp3.internal.tls.BasicTrustRootIndex this
        start local 1 // java.lang.Object other
         0: .line 61
            aload 1 /* other */
            aload 0 /* this */
            if_acmpne 1
            iconst_1
            ireturn
         1: .line 62
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof okhttp3.internal.tls.BasicTrustRootIndex
            ifeq 7
         2: .line 63
            aload 1 /* other */
            checkcast okhttp3.internal.tls.BasicTrustRootIndex
            getfield okhttp3.internal.tls.BasicTrustRootIndex.subjectToCaCerts:Ljava/util/Map;
         3: .line 64
            aload 0 /* this */
            getfield okhttp3.internal.tls.BasicTrustRootIndex.subjectToCaCerts:Ljava/util/Map;
         4: .line 63
            invokeinterface java.util.Map.equals:(Ljava/lang/Object;)Z
         5: .line 64
            ifeq 7
         6: .line 62
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_0
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // okhttp3.internal.tls.BasicTrustRootIndex this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lokhttp3/internal/tls/BasicTrustRootIndex;
            0    8     1  other  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      other  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // okhttp3.internal.tls.BasicTrustRootIndex this
         0: .line 68
            aload 0 /* this */
            getfield okhttp3.internal.tls.BasicTrustRootIndex.subjectToCaCerts:Ljava/util/Map;
            invokeinterface java.util.Map.hashCode:()I
            ireturn
        end local 0 // okhttp3.internal.tls.BasicTrustRootIndex this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lokhttp3/internal/tls/BasicTrustRootIndex;
}
SourceFile: "BasicTrustRootIndex.java"