SSLCertificateSocketFactory.smali

.class public Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;
.super Ljavax/net/ssl/SSLSocketFactory;


# static fields
.field private static final zzvf:[Ljavax/net/ssl/TrustManager;


# instance fields
.field private final mContext:Landroid/content/Context;
    .annotation build Lcom/google/android/gms/common/util/VisibleForTesting;
    .end annotation
.end field

.field private zzvg:Ljavax/net/ssl/SSLSocketFactory;
    .annotation build Lcom/google/android/gms/common/util/VisibleForTesting;
    .end annotation
.end field

.field private zzvh:Ljavax/net/ssl/SSLSocketFactory;
    .annotation build Lcom/google/android/gms/common/util/VisibleForTesting;
    .end annotation
.end field

.field private zzvi:[Ljavax/net/ssl/TrustManager;
    .annotation build Lcom/google/android/gms/common/util/VisibleForTesting;
    .end annotation
.end field

.field private zzvj:[Ljavax/net/ssl/KeyManager;
    .annotation build Lcom/google/android/gms/common/util/VisibleForTesting;
    .end annotation
.end field

.field private zzvk:[B
    .annotation build Lcom/google/android/gms/common/util/VisibleForTesting;
    .end annotation
.end field

.field private zzvl:[B
    .annotation build Lcom/google/android/gms/common/util/VisibleForTesting;
    .end annotation
.end field

.field private zzvm:Ljava/security/PrivateKey;
    .annotation build Lcom/google/android/gms/common/util/VisibleForTesting;
    .end annotation
.end field

.field private final zzvn:I
    .annotation build Lcom/google/android/gms/common/util/VisibleForTesting;
    .end annotation
.end field

.field private final zzvo:Z
    .annotation build Lcom/google/android/gms/common/util/VisibleForTesting;
    .end annotation
.end field

.field private final zzvp:Z
    .annotation build Lcom/google/android/gms/common/util/VisibleForTesting;
    .end annotation
.end field

.field private final zzvq:Ljava/lang/String;
    .annotation build Lcom/google/android/gms/common/util/VisibleForTesting;
    .end annotation
.end field


# direct methods
.method static constructor <clinit>()V
    .registers 3

    const/4 v0, 0x1

    new-array v0, v0, [Ljavax/net/ssl/TrustManager;

    const/4 v1, 0x0

    new-instance v2, Lcom/google/android/gms/common/net/zza;

    invoke-direct {v2}, Lcom/google/android/gms/common/net/zza;-><init>()V

    aput-object v2, v0, v1

    sput-object v0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvf:[Ljavax/net/ssl/TrustManager;

    return-void
.end method

.method private constructor <init>(Landroid/content/Context;IZZLjava/lang/String;)V
    .registers 7

    const/4 v0, 0x0

    invoke-direct {p0}, Ljavax/net/ssl/SSLSocketFactory;-><init>()V

    iput-object v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvg:Ljavax/net/ssl/SSLSocketFactory;

    iput-object v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvh:Ljavax/net/ssl/SSLSocketFactory;

    iput-object v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvi:[Ljavax/net/ssl/TrustManager;

    iput-object v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvj:[Ljavax/net/ssl/KeyManager;

    iput-object v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvk:[B

    iput-object v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvl:[B

    iput-object v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvm:Ljava/security/PrivateKey;

    invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v0

    iput-object v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->mContext:Landroid/content/Context;

    iput p2, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvn:I

    iput-boolean p3, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvo:Z

    iput-boolean p4, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvp:Z

    iput-object p5, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvq:Ljava/lang/String;

    return-void
.end method

.method public static getDefault(Landroid/content/Context;I)Ljavax/net/SocketFactory;
    .registers 8

    new-instance v0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;

    const/4 v3, 0x0

    const/4 v4, 0x1

    const/4 v5, 0x0

    move-object v1, p0

    move v2, p1

    invoke-direct/range {v0 .. v5}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;-><init>(Landroid/content/Context;IZZLjava/lang/String;)V

    return-object v0
.end method

.method public static getDefaultWithCacheDir(ILandroid/content/Context;Ljava/lang/String;)Ljavax/net/ssl/SSLSocketFactory;
    .registers 9

    const/4 v3, 0x1

    new-instance v0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;

    move-object v1, p1

    move v2, p0

    move v4, v3

    move-object v5, p2

    invoke-direct/range {v0 .. v5}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;-><init>(Landroid/content/Context;IZZLjava/lang/String;)V

    return-object v0
.end method

.method public static getDefaultWithSessionCache(ILandroid/content/Context;)Ljavax/net/ssl/SSLSocketFactory;
    .registers 8

    const/4 v3, 0x1

    new-instance v0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;

    const/4 v5, 0x0

    move-object v1, p1

    move v2, p0

    move v4, v3

    invoke-direct/range {v0 .. v5}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;-><init>(Landroid/content/Context;IZZLjava/lang/String;)V

    return-object v0
.end method

.method public static getInsecure(Landroid/content/Context;IZ)Ljavax/net/ssl/SSLSocketFactory;
    .registers 9

    new-instance v0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;

    const/4 v4, 0x0

    const/4 v5, 0x0

    move-object v1, p0

    move v2, p1

    move v3, p2

    invoke-direct/range {v0 .. v5}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;-><init>(Landroid/content/Context;IZZLjava/lang/String;)V

    return-object v0
.end method

.method public static verifyHostname(Ljava/net/Socket;Ljava/lang/String;)V
    .registers 6

    instance-of v0, p0, Ljavax/net/ssl/SSLSocket;

    if-nez v0, :cond_c

    new-instance v0, Ljava/lang/IllegalArgumentException;

    const-string v1, "Attempt to verify non-SSL socket"

    invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_c
    check-cast p0, Ljavax/net/ssl/SSLSocket;

    invoke-virtual {p0}, Ljavax/net/ssl/SSLSocket;->startHandshake()V

    invoke-virtual {p0}, Ljavax/net/ssl/SSLSocket;->getSession()Ljavax/net/ssl/SSLSession;

    move-result-object v0

    if-nez v0, :cond_1f

    new-instance v0, Ljavax/net/ssl/SSLException;

    const-string v1, "Cannot verify SSL socket without session"

    invoke-direct {v0, v1}, Ljavax/net/ssl/SSLException;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_1f
    invoke-static {}, Ljavax/net/ssl/HttpsURLConnection;->getDefaultHostnameVerifier()Ljavax/net/ssl/HostnameVerifier;

    move-result-object v1

    invoke-interface {v1, p1, v0}, Ljavax/net/ssl/HostnameVerifier;->verify(Ljava/lang/String;Ljavax/net/ssl/SSLSession;)Z

    move-result v0

    if-nez v0, :cond_45

    new-instance v1, Ljavax/net/ssl/SSLPeerUnverifiedException;

    const-string v2, "Cannot verify hostname: "

    invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/String;->length()I

    move-result v3

    if-eqz v3, :cond_3f

    invoke-virtual {v2, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    :goto_3b
    invoke-direct {v1, v0}, Ljavax/net/ssl/SSLPeerUnverifiedException;-><init>(Ljava/lang/String;)V

    throw v1

    :cond_3f
    new-instance v0, Ljava/lang/String;

    invoke-direct {v0, v2}, Ljava/lang/String;-><init>(Ljava/lang/String;)V

    goto :goto_3b

    :cond_45
    return-void
.end method

.method private static zza(Ljava/net/Socket;I)V
    .registers 7
    .annotation build Lcom/google/android/gms/common/util/VisibleForTesting;
    .end annotation

    if-eqz p0, :cond_21

    :try_start_2
    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    const-string v1, "setHandshakeTimeout"

    const/4 v2, 0x1

    new-array v2, v2, [Ljava/lang/Class;

    const/4 v3, 0x0

    sget-object v4, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;

    aput-object v4, v2, v3

    invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v0

    const/4 v1, 0x1

    new-array v1, v1, [Ljava/lang/Object;

    const/4 v2, 0x0

    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v3

    aput-object v3, v1, v2

    invoke-virtual {v0, p0, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_21
    .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_2 .. :try_end_21} :catch_22
    .catch Ljava/lang/NoSuchMethodException; {:try_start_2 .. :try_end_21} :catch_86
    .catch Ljava/lang/IllegalAccessException; {:try_start_2 .. :try_end_21} :catch_5a

    :cond_21
    return-void

    :catch_22
    move-exception v0

    move-object v1, v0

    invoke-virtual {v1}, Ljava/lang/reflect/InvocationTargetException;->getCause()Ljava/lang/Throwable;

    move-result-object v0

    instance-of v2, v0, Ljava/lang/RuntimeException;

    if-eqz v2, :cond_2f

    check-cast v0, Ljava/lang/RuntimeException;

    throw v0

    :cond_2f
    new-instance v0, Ljava/lang/RuntimeException;

    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/String;->length()I

    move-result v3

    add-int/lit8 v3, v3, 0x2e

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(I)V

    const-string v3, "Failed to invoke setSocketHandshakeTimeout on "

    invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v0, v2, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v0

    :catch_5a
    move-exception v0

    :goto_5b
    new-instance v1, Ljava/lang/IllegalArgumentException;

    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/String;->length()I

    move-result v3

    add-int/lit8 v3, v3, 0x2d

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(I)V

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, " does not implement setSocketHandshakeTimeout"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v1

    :catch_86
    move-exception v0

    goto :goto_5b
.end method

.method private static zza(Ljava/net/Socket;Ljava/security/PrivateKey;)V
    .registers 7
    .annotation build Lcom/google/android/gms/common/util/VisibleForTesting;
    .end annotation

    if-eqz p0, :cond_1d

    :try_start_2
    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    const-string v1, "setChannelIdPrivateKey"

    const/4 v2, 0x1

    new-array v2, v2, [Ljava/lang/Class;

    const/4 v3, 0x0

    const-class v4, Ljava/security/PrivateKey;

    aput-object v4, v2, v3

    invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v0

    const/4 v1, 0x1

    new-array v1, v1, [Ljava/lang/Object;

    const/4 v2, 0x0

    aput-object p1, v1, v2

    invoke-virtual {v0, p0, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_1d
    .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_2 .. :try_end_1d} :catch_1e
    .catch Ljava/lang/NoSuchMethodException; {:try_start_2 .. :try_end_1d} :catch_82
    .catch Ljava/lang/IllegalAccessException; {:try_start_2 .. :try_end_1d} :catch_56

    :cond_1d
    return-void

    :catch_1e
    move-exception v0

    move-object v1, v0

    invoke-virtual {v1}, Ljava/lang/reflect/InvocationTargetException;->getCause()Ljava/lang/Throwable;

    move-result-object v0

    instance-of v2, v0, Ljava/lang/RuntimeException;

    if-eqz v2, :cond_2b

    check-cast v0, Ljava/lang/RuntimeException;

    throw v0

    :cond_2b
    new-instance v0, Ljava/lang/RuntimeException;

    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/String;->length()I

    move-result v3

    add-int/lit8 v3, v3, 0x2b

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(I)V

    const-string v3, "Failed to invoke setChannelIdPrivateKey on "

    invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v0, v2, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v0

    :catch_56
    move-exception v0

    :goto_57
    new-instance v1, Ljava/lang/IllegalArgumentException;

    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/String;->length()I

    move-result v3

    add-int/lit8 v3, v3, 0x2a

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(I)V

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, " does not implement setChannelIdPrivateKey"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v1

    :catch_82
    move-exception v0

    goto :goto_57
.end method

.method private static zza(Ljava/net/Socket;[B)V
    .registers 7
    .annotation build Lcom/google/android/gms/common/util/VisibleForTesting;
    .end annotation

    if-eqz p0, :cond_1d

    :try_start_2
    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    const-string v1, "setNpnProtocols"

    const/4 v2, 0x1

    new-array v2, v2, [Ljava/lang/Class;

    const/4 v3, 0x0

    const-class v4, [B

    aput-object v4, v2, v3

    invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v0

    const/4 v1, 0x1

    new-array v1, v1, [Ljava/lang/Object;

    const/4 v2, 0x0

    aput-object p1, v1, v2

    invoke-virtual {v0, p0, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_1d
    .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_2 .. :try_end_1d} :catch_1e
    .catch Ljava/lang/NoSuchMethodException; {:try_start_2 .. :try_end_1d} :catch_82
    .catch Ljava/lang/IllegalAccessException; {:try_start_2 .. :try_end_1d} :catch_56

    :cond_1d
    return-void

    :catch_1e
    move-exception v0

    move-object v1, v0

    invoke-virtual {v1}, Ljava/lang/reflect/InvocationTargetException;->getCause()Ljava/lang/Throwable;

    move-result-object v0

    instance-of v2, v0, Ljava/lang/RuntimeException;

    if-eqz v2, :cond_2b

    check-cast v0, Ljava/lang/RuntimeException;

    throw v0

    :cond_2b
    new-instance v0, Ljava/lang/RuntimeException;

    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/String;->length()I

    move-result v3

    add-int/lit8 v3, v3, 0x24

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(I)V

    const-string v3, "Failed to invoke setNpnProtocols on "

    invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v0, v2, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v0

    :catch_56
    move-exception v0

    :goto_57
    new-instance v1, Ljava/lang/IllegalArgumentException;

    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/String;->length()I

    move-result v3

    add-int/lit8 v3, v3, 0x23

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(I)V

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, " does not implement setNpnProtocols"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v1

    :catch_82
    move-exception v0

    goto :goto_57
.end method

.method private static varargs zza([[B)[B
    .registers 11

    const/4 v1, 0x0

    array-length v0, p0

    if-nez v0, :cond_c

    new-instance v0, Ljava/lang/IllegalArgumentException;

    const-string v1, "items.length == 0"

    invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_c
    array-length v3, p0

    move v0, v1

    move v2, v1

    :goto_f
    if-ge v0, v3, :cond_3e

    aget-object v4, p0, v0

    array-length v5, v4

    if-eqz v5, :cond_1b

    array-length v5, v4

    const/16 v6, 0xff

    if-le v5, v6, :cond_37

    :cond_1b
    new-instance v0, Ljava/lang/IllegalArgumentException;

    array-length v1, v4

    const/16 v2, 0x2c

    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3, v2}, Ljava/lang/StringBuilder;-><init>(I)V

    const-string v2, "s.length == 0 || s.length > 255: "

    invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_37
    array-length v4, v4

    add-int/lit8 v4, v4, 0x1

    add-int/2addr v2, v4

    add-int/lit8 v0, v0, 0x1

    goto :goto_f

    :cond_3e
    new-array v5, v2, [B

    array-length v6, p0

    move v0, v1

    move v2, v1

    :goto_43
    if-ge v2, v6, :cond_60

    aget-object v7, p0, v2

    add-int/lit8 v3, v0, 0x1

    array-length v4, v7

    int-to-byte v4, v4

    aput-byte v4, v5, v0

    array-length v8, v7

    move v0, v3

    move v3, v1

    :goto_50
    if-ge v3, v8, :cond_5d

    aget-byte v9, v7, v3

    add-int/lit8 v4, v0, 0x1

    aput-byte v9, v5, v0

    add-int/lit8 v0, v3, 0x1

    move v3, v0

    move v0, v4

    goto :goto_50

    :cond_5d
    add-int/lit8 v2, v2, 0x1

    goto :goto_43

    :cond_60
    return-object v5
.end method

.method private static zzb(Ljava/net/Socket;[B)V
    .registers 7
    .annotation build Lcom/google/android/gms/common/util/VisibleForTesting;
    .end annotation

    if-eqz p0, :cond_1d

    :try_start_2
    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    const-string v1, "setAlpnProtocols"

    const/4 v2, 0x1

    new-array v2, v2, [Ljava/lang/Class;

    const/4 v3, 0x0

    const-class v4, [B

    aput-object v4, v2, v3

    invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v0

    const/4 v1, 0x1

    new-array v1, v1, [Ljava/lang/Object;

    const/4 v2, 0x0

    aput-object p1, v1, v2

    invoke-virtual {v0, p0, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_1d
    .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_2 .. :try_end_1d} :catch_1e
    .catch Ljava/lang/NoSuchMethodException; {:try_start_2 .. :try_end_1d} :catch_82
    .catch Ljava/lang/IllegalAccessException; {:try_start_2 .. :try_end_1d} :catch_56

    :cond_1d
    return-void

    :catch_1e
    move-exception v0

    move-object v1, v0

    invoke-virtual {v1}, Ljava/lang/reflect/InvocationTargetException;->getCause()Ljava/lang/Throwable;

    move-result-object v0

    instance-of v2, v0, Ljava/lang/RuntimeException;

    if-eqz v2, :cond_2b

    check-cast v0, Ljava/lang/RuntimeException;

    throw v0

    :cond_2b
    new-instance v0, Ljava/lang/RuntimeException;

    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/String;->length()I

    move-result v3

    add-int/lit8 v3, v3, 0x25

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(I)V

    const-string v3, "Failed to invoke setAlpnProtocols on "

    invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v0, v2, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v0

    :catch_56
    move-exception v0

    :goto_57
    new-instance v1, Ljava/lang/IllegalArgumentException;

    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/String;->length()I

    move-result v3

    add-int/lit8 v3, v3, 0x24

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(I)V

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, " does not implement setAlpnProtocols"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v1

    :catch_82
    move-exception v0

    goto :goto_57
.end method

.method private final declared-synchronized zzcx()Ljavax/net/ssl/SSLSocketFactory;
    .registers 6
    .annotation build Lcom/google/android/gms/common/util/VisibleForTesting;
    .end annotation

    monitor-enter p0

    :try_start_1
    iget-boolean v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvp:Z

    if-nez v0, :cond_1f

    iget-object v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvg:Ljavax/net/ssl/SSLSocketFactory;

    if-nez v0, :cond_1b

    invoke-static {}, Lcom/google/android/gms/common/net/SocketFactoryCreator;->getInstance()Lcom/google/android/gms/common/net/SocketFactoryCreator;

    move-result-object v0

    iget-object v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->mContext:Landroid/content/Context;

    iget-object v2, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvj:[Ljavax/net/ssl/KeyManager;

    sget-object v3, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvf:[Ljavax/net/ssl/TrustManager;

    iget-boolean v4, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvo:Z

    invoke-virtual {v0, v1, v2, v3, v4}, Lcom/google/android/gms/common/net/SocketFactoryCreator;->makeSocketFactory(Landroid/content/Context;[Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Z)Ljavax/net/ssl/SSLSocketFactory;

    move-result-object v0

    iput-object v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvg:Ljavax/net/ssl/SSLSocketFactory;

    :cond_1b
    iget-object v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvg:Ljavax/net/ssl/SSLSocketFactory;
    :try_end_1d
    .catchall {:try_start_1 .. :try_end_1d} :catchall_53

    :goto_1d
    monitor-exit p0

    return-object v0

    :cond_1f
    :try_start_1f
    iget-object v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvq:Ljava/lang/String;

    if-eqz v0, :cond_3c

    iget-object v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvh:Ljavax/net/ssl/SSLSocketFactory;

    if-nez v0, :cond_39

    invoke-static {}, Lcom/google/android/gms/common/net/SocketFactoryCreator;->getInstance()Lcom/google/android/gms/common/net/SocketFactoryCreator;

    move-result-object v0

    iget-object v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->mContext:Landroid/content/Context;

    iget-object v2, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvj:[Ljavax/net/ssl/KeyManager;

    iget-object v3, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvi:[Ljavax/net/ssl/TrustManager;

    iget-object v4, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvq:Ljava/lang/String;

    invoke-virtual {v0, v1, v2, v3, v4}, Lcom/google/android/gms/common/net/SocketFactoryCreator;->makeSocketFactoryWithCacheDir(Landroid/content/Context;[Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/lang/String;)Ljavax/net/ssl/SSLSocketFactory;

    move-result-object v0

    iput-object v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvh:Ljavax/net/ssl/SSLSocketFactory;

    :cond_39
    :goto_39
    iget-object v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvh:Ljavax/net/ssl/SSLSocketFactory;

    goto :goto_1d

    :cond_3c
    iget-object v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvh:Ljavax/net/ssl/SSLSocketFactory;

    if-nez v0, :cond_39

    invoke-static {}, Lcom/google/android/gms/common/net/SocketFactoryCreator;->getInstance()Lcom/google/android/gms/common/net/SocketFactoryCreator;

    move-result-object v0

    iget-object v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->mContext:Landroid/content/Context;

    iget-object v2, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvj:[Ljavax/net/ssl/KeyManager;

    iget-object v3, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvi:[Ljavax/net/ssl/TrustManager;

    iget-boolean v4, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvo:Z

    invoke-virtual {v0, v1, v2, v3, v4}, Lcom/google/android/gms/common/net/SocketFactoryCreator;->makeSocketFactory(Landroid/content/Context;[Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Z)Ljavax/net/ssl/SSLSocketFactory;

    move-result-object v0

    iput-object v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvh:Ljavax/net/ssl/SSLSocketFactory;
    :try_end_52
    .catchall {:try_start_1f .. :try_end_52} :catchall_53

    goto :goto_39

    :catchall_53
    move-exception v0

    monitor-exit p0

    throw v0
.end method


# virtual methods
.method public createSocket()Ljava/net/Socket;
    .registers 3

    invoke-direct {p0}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzcx()Ljavax/net/ssl/SSLSocketFactory;

    move-result-object v0

    invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;->createSocket()Ljava/net/Socket;

    move-result-object v0

    iget-object v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvk:[B

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zza(Ljava/net/Socket;[B)V

    iget-object v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvl:[B

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzb(Ljava/net/Socket;[B)V

    iget v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvn:I

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zza(Ljava/net/Socket;I)V

    iget-object v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvm:Ljava/security/PrivateKey;

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zza(Ljava/net/Socket;Ljava/security/PrivateKey;)V

    return-object v0
.end method

.method public createSocket(Ljava/lang/String;I)Ljava/net/Socket;
    .registers 5

    invoke-direct {p0}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzcx()Ljavax/net/ssl/SSLSocketFactory;

    move-result-object v0

    invoke-virtual {v0, p1, p2}, Ljavax/net/ssl/SSLSocketFactory;->createSocket(Ljava/lang/String;I)Ljava/net/Socket;

    move-result-object v0

    iget-object v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvk:[B

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zza(Ljava/net/Socket;[B)V

    iget-object v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvl:[B

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzb(Ljava/net/Socket;[B)V

    iget v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvn:I

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zza(Ljava/net/Socket;I)V

    iget-object v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvm:Ljava/security/PrivateKey;

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zza(Ljava/net/Socket;Ljava/security/PrivateKey;)V

    iget-boolean v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvp:Z

    if-eqz v1, :cond_23

    invoke-static {v0, p1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->verifyHostname(Ljava/net/Socket;Ljava/lang/String;)V

    :cond_23
    return-object v0
.end method

.method public createSocket(Ljava/lang/String;ILjava/net/InetAddress;I)Ljava/net/Socket;
    .registers 7

    invoke-direct {p0}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzcx()Ljavax/net/ssl/SSLSocketFactory;

    move-result-object v0

    invoke-virtual {v0, p1, p2, p3, p4}, Ljavax/net/ssl/SSLSocketFactory;->createSocket(Ljava/lang/String;ILjava/net/InetAddress;I)Ljava/net/Socket;

    move-result-object v0

    iget-object v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvk:[B

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zza(Ljava/net/Socket;[B)V

    iget-object v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvl:[B

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzb(Ljava/net/Socket;[B)V

    iget v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvn:I

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zza(Ljava/net/Socket;I)V

    iget-object v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvm:Ljava/security/PrivateKey;

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zza(Ljava/net/Socket;Ljava/security/PrivateKey;)V

    iget-boolean v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvp:Z

    if-eqz v1, :cond_23

    invoke-static {v0, p1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->verifyHostname(Ljava/net/Socket;Ljava/lang/String;)V

    :cond_23
    return-object v0
.end method

.method public createSocket(Ljava/net/InetAddress;I)Ljava/net/Socket;
    .registers 5

    invoke-direct {p0}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzcx()Ljavax/net/ssl/SSLSocketFactory;

    move-result-object v0

    invoke-virtual {v0, p1, p2}, Ljavax/net/ssl/SSLSocketFactory;->createSocket(Ljava/net/InetAddress;I)Ljava/net/Socket;

    move-result-object v0

    iget-object v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvk:[B

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zza(Ljava/net/Socket;[B)V

    iget-object v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvl:[B

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzb(Ljava/net/Socket;[B)V

    iget v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvn:I

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zza(Ljava/net/Socket;I)V

    iget-object v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvm:Ljava/security/PrivateKey;

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zza(Ljava/net/Socket;Ljava/security/PrivateKey;)V

    return-object v0
.end method

.method public createSocket(Ljava/net/InetAddress;ILjava/net/InetAddress;I)Ljava/net/Socket;
    .registers 7

    invoke-direct {p0}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzcx()Ljavax/net/ssl/SSLSocketFactory;

    move-result-object v0

    invoke-virtual {v0, p1, p2, p3, p4}, Ljavax/net/ssl/SSLSocketFactory;->createSocket(Ljava/net/InetAddress;ILjava/net/InetAddress;I)Ljava/net/Socket;

    move-result-object v0

    iget-object v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvk:[B

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zza(Ljava/net/Socket;[B)V

    iget-object v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvl:[B

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzb(Ljava/net/Socket;[B)V

    iget v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvn:I

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zza(Ljava/net/Socket;I)V

    iget-object v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvm:Ljava/security/PrivateKey;

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zza(Ljava/net/Socket;Ljava/security/PrivateKey;)V

    return-object v0
.end method

.method public createSocket(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket;
    .registers 7

    invoke-direct {p0}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzcx()Ljavax/net/ssl/SSLSocketFactory;

    move-result-object v0

    invoke-virtual {v0, p1, p2, p3, p4}, Ljavax/net/ssl/SSLSocketFactory;->createSocket(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket;

    move-result-object v0

    iget-object v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvk:[B

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zza(Ljava/net/Socket;[B)V

    iget-object v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvl:[B

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzb(Ljava/net/Socket;[B)V

    iget v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvn:I

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zza(Ljava/net/Socket;I)V

    iget-object v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvm:Ljava/security/PrivateKey;

    invoke-static {v0, v1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zza(Ljava/net/Socket;Ljava/security/PrivateKey;)V

    iget-boolean v1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvp:Z

    if-eqz v1, :cond_23

    invoke-static {v0, p2}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->verifyHostname(Ljava/net/Socket;Ljava/lang/String;)V

    :cond_23
    return-object v0
.end method

.method public getAlpnSelectedProtocol(Ljava/net/Socket;)[B
    .registers 7

    :try_start_0
    invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    const-string v1, "getAlpnSelectedProtocol"

    const/4 v2, 0x0

    new-array v2, v2, [Ljava/lang/Class;

    invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v0

    const/4 v1, 0x0

    new-array v1, v1, [Ljava/lang/Object;

    invoke-virtual {v0, p1, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [B
    :try_end_16
    .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_16} :catch_17
    .catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_16} :catch_7b
    .catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_16} :catch_4f

    return-object v0

    :catch_17
    move-exception v0

    move-object v1, v0

    invoke-virtual {v1}, Ljava/lang/reflect/InvocationTargetException;->getCause()Ljava/lang/Throwable;

    move-result-object v0

    instance-of v2, v0, Ljava/lang/RuntimeException;

    if-eqz v2, :cond_24

    check-cast v0, Ljava/lang/RuntimeException;

    throw v0

    :cond_24
    new-instance v0, Ljava/lang/RuntimeException;

    invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/String;->length()I

    move-result v3

    add-int/lit8 v3, v3, 0x2c

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(I)V

    const-string v3, "Failed to invoke getAlpnSelectedProtocol on "

    invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v0, v2, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v0

    :catch_4f
    move-exception v0

    :goto_50
    new-instance v1, Ljava/lang/IllegalArgumentException;

    invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/String;->length()I

    move-result v3

    add-int/lit8 v3, v3, 0x2b

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(I)V

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, " does not implement getAlpnSelectedProtocol"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v1

    :catch_7b
    move-exception v0

    goto :goto_50
.end method

.method public getDefaultCipherSuites()[Ljava/lang/String;
    .registers 2

    invoke-direct {p0}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzcx()Ljavax/net/ssl/SSLSocketFactory;

    move-result-object v0

    invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;->getDefaultCipherSuites()[Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public getNpnSelectedProtocol(Ljava/net/Socket;)[B
    .registers 7

    :try_start_0
    invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    const-string v1, "getNpnSelectedProtocol"

    const/4 v2, 0x0

    new-array v2, v2, [Ljava/lang/Class;

    invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v0

    const/4 v1, 0x0

    new-array v1, v1, [Ljava/lang/Object;

    invoke-virtual {v0, p1, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [B
    :try_end_16
    .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_16} :catch_17
    .catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_16} :catch_7b
    .catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_16} :catch_4f

    return-object v0

    :catch_17
    move-exception v0

    move-object v1, v0

    invoke-virtual {v1}, Ljava/lang/reflect/InvocationTargetException;->getCause()Ljava/lang/Throwable;

    move-result-object v0

    instance-of v2, v0, Ljava/lang/RuntimeException;

    if-eqz v2, :cond_24

    check-cast v0, Ljava/lang/RuntimeException;

    throw v0

    :cond_24
    new-instance v0, Ljava/lang/RuntimeException;

    invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/String;->length()I

    move-result v3

    add-int/lit8 v3, v3, 0x2b

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(I)V

    const-string v3, "Failed to invoke getNpnSelectedProtocol on "

    invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v0, v2, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v0

    :catch_4f
    move-exception v0

    :goto_50
    new-instance v1, Ljava/lang/IllegalArgumentException;

    invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/String;->length()I

    move-result v3

    add-int/lit8 v3, v3, 0x2a

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(I)V

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, " does not implement getNpnSelectedProtocol"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v1

    :catch_7b
    move-exception v0

    goto :goto_50
.end method

.method public getSupportedCipherSuites()[Ljava/lang/String;
    .registers 2

    invoke-direct {p0}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzcx()Ljavax/net/ssl/SSLSocketFactory;

    move-result-object v0

    invoke-virtual {v0}, Ljavax/net/ssl/SSLSocketFactory;->getSupportedCipherSuites()[Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public setAlpnProtocols([[B)V
    .registers 3

    invoke-static {p1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zza([[B)[B

    move-result-object v0

    iput-object v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvl:[B

    return-void
.end method

.method public setChannelIdPrivateKey(Ljava/security/PrivateKey;)V
    .registers 2

    iput-object p1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvm:Ljava/security/PrivateKey;

    return-void
.end method

.method public setHostname(Ljava/net/Socket;Ljava/lang/String;)V
    .registers 8

    :try_start_0
    invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    const-string v1, "setHostname"

    const/4 v2, 0x1

    new-array v2, v2, [Ljava/lang/Class;

    const/4 v3, 0x0

    const-class v4, Ljava/lang/String;

    aput-object v4, v2, v3

    invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v0

    const/4 v1, 0x1

    new-array v1, v1, [Ljava/lang/Object;

    const/4 v2, 0x0

    aput-object p2, v1, v2

    invoke-virtual {v0, p1, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_1b
    .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_1b} :catch_1c
    .catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_1b} :catch_80
    .catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_1b} :catch_54

    return-void

    :catch_1c
    move-exception v0

    move-object v1, v0

    invoke-virtual {v1}, Ljava/lang/reflect/InvocationTargetException;->getCause()Ljava/lang/Throwable;

    move-result-object v0

    instance-of v2, v0, Ljava/lang/RuntimeException;

    if-eqz v2, :cond_29

    check-cast v0, Ljava/lang/RuntimeException;

    throw v0

    :cond_29
    new-instance v0, Ljava/lang/RuntimeException;

    invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/String;->length()I

    move-result v3

    add-int/lit8 v3, v3, 0x20

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(I)V

    const-string v3, "Failed to invoke setHostname on "

    invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v0, v2, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v0

    :catch_54
    move-exception v0

    :goto_55
    new-instance v1, Ljava/lang/IllegalArgumentException;

    invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/String;->length()I

    move-result v3

    add-int/lit8 v3, v3, 0x1f

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(I)V

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, " does not implement setHostname"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v1

    :catch_80
    move-exception v0

    goto :goto_55
.end method

.method public setKeyManagers([Ljavax/net/ssl/KeyManager;)V
    .registers 3

    const/4 v0, 0x0

    iput-object p1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvj:[Ljavax/net/ssl/KeyManager;

    iput-object v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvh:Ljavax/net/ssl/SSLSocketFactory;

    iput-object v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvg:Ljavax/net/ssl/SSLSocketFactory;

    return-void
.end method

.method public setNpnProtocols([[B)V
    .registers 3

    invoke-static {p1}, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zza([[B)[B

    move-result-object v0

    iput-object v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvk:[B

    return-void
.end method

.method public setSoWriteTimeout(Ljava/net/Socket;I)V
    .registers 8

    :try_start_0
    invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    const-string v1, "setSoWriteTimeout"

    const/4 v2, 0x1

    new-array v2, v2, [Ljava/lang/Class;

    const/4 v3, 0x0

    sget-object v4, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;

    aput-object v4, v2, v3

    invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v0

    const/4 v1, 0x1

    new-array v1, v1, [Ljava/lang/Object;

    const/4 v2, 0x0

    invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v3

    aput-object v3, v1, v2

    invoke-virtual {v0, p1, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_1f
    .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_1f} :catch_20
    .catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_1f} :catch_8b
    .catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_1f} :catch_5f

    return-void

    :catch_20
    move-exception v0

    move-object v1, v0

    invoke-virtual {v1}, Ljava/lang/reflect/InvocationTargetException;->getCause()Ljava/lang/Throwable;

    move-result-object v0

    instance-of v2, v0, Ljava/net/SocketException;

    if-eqz v2, :cond_2d

    check-cast v0, Ljava/net/SocketException;

    throw v0

    :cond_2d
    instance-of v2, v0, Ljava/lang/RuntimeException;

    if-eqz v2, :cond_34

    check-cast v0, Ljava/lang/RuntimeException;

    throw v0

    :cond_34
    new-instance v0, Ljava/lang/RuntimeException;

    invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/String;->length()I

    move-result v3

    add-int/lit8 v3, v3, 0x26

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(I)V

    const-string v3, "Failed to invoke setSoWriteTimeout on "

    invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v0, v2, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v0

    :catch_5f
    move-exception v0

    :goto_60
    new-instance v1, Ljava/lang/IllegalArgumentException;

    invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/String;->length()I

    move-result v3

    add-int/lit8 v3, v3, 0x25

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(I)V

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, " does not implement setSoWriteTimeout"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v1

    :catch_8b
    move-exception v0

    goto :goto_60
.end method

.method public setTrustManagers([Ljavax/net/ssl/TrustManager;)V
    .registers 3

    iput-object p1, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvi:[Ljavax/net/ssl/TrustManager;

    const/4 v0, 0x0

    iput-object v0, p0, Lcom/google/android/gms/common/net/SSLCertificateSocketFactory;->zzvh:Ljavax/net/ssl/SSLSocketFactory;

    return-void
.end method

.method public setUseSessionTickets(Ljava/net/Socket;Z)V
    .registers 8

    :try_start_0
    invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    const-string v1, "setUseSessionTickets"

    const/4 v2, 0x1

    new-array v2, v2, [Ljava/lang/Class;

    const/4 v3, 0x0

    sget-object v4, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;

    aput-object v4, v2, v3

    invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v0

    const/4 v1, 0x1

    new-array v1, v1, [Ljava/lang/Object;

    const/4 v2, 0x0

    invoke-static {p2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v3

    aput-object v3, v1, v2

    invoke-virtual {v0, p1, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_1f
    .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_1f} :catch_20
    .catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_1f} :catch_84
    .catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_1f} :catch_58

    return-void

    :catch_20
    move-exception v0

    move-object v1, v0

    invoke-virtual {v1}, Ljava/lang/reflect/InvocationTargetException;->getCause()Ljava/lang/Throwable;

    move-result-object v0

    instance-of v2, v0, Ljava/lang/RuntimeException;

    if-eqz v2, :cond_2d

    check-cast v0, Ljava/lang/RuntimeException;

    throw v0

    :cond_2d
    new-instance v0, Ljava/lang/RuntimeException;

    invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/String;->length()I

    move-result v3

    add-int/lit8 v3, v3, 0x29

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(I)V

    const-string v3, "Failed to invoke setUseSessionTickets on "

    invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v0, v2, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v0

    :catch_58
    move-exception v0

    :goto_59
    new-instance v1, Ljava/lang/IllegalArgumentException;

    invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/String;->length()I

    move-result v3

    add-int/lit8 v3, v3, 0x28

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(I)V

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, " does not implement setUseSessionTickets"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v1

    :catch_84
    move-exception v0

    goto :goto_59
.end method