c.smali

.class public final Lokhttp3/internal/connection/c;
.super Lokhttp3/internal/http2/j;
.source "RealConnection.java"

# interfaces
.implements Lokhttp3/m;


# instance fields
.field public bBc:Ljava/net/Socket;

.field public final bBe:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List",
            "<",
            "Ljava/lang/ref/Reference",
            "<",
            "Lokhttp3/internal/connection/g;",
            ">;>;"
        }
    .end annotation
.end field

.field public bBf:Z

.field public bBg:J

.field private bWJ:Lokhttp3/Protocol;

.field public bWK:Lokhttp3/y;

.field private final bWt:Lokhttp3/n;

.field public final bXj:Lokhttp3/as;

.field bXk:Lokhttp3/internal/http2/h;

.field public bXl:I

.field private bXm:I

.field byt:Lokio/f;

.field byu:Lokio/e;

.field public socket:Ljava/net/Socket;


# direct methods
.method public constructor <init>(Lokhttp3/n;Lokhttp3/as;)V
    .registers 5

    .prologue
    .line 117
    invoke-direct {p0}, Lokhttp3/internal/http2/j;-><init>()V

    .line 109
    const/4 v0, 0x1

    iput v0, p0, Lokhttp3/internal/connection/c;->bXm:I

    .line 112
    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    iput-object v0, p0, Lokhttp3/internal/connection/c;->bBe:Ljava/util/List;

    .line 115
    const-wide v0, 0x7fffffffffffffffL

    iput-wide v0, p0, Lokhttp3/internal/connection/c;->bBg:J

    .line 118
    iput-object p1, p0, Lokhttp3/internal/connection/c;->bWt:Lokhttp3/n;

    .line 119
    iput-object p2, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 120
    return-void
.end method

.method private a(Lokhttp3/internal/connection/b;)V
    .registers 12

    .prologue
    const/4 v3, 0x1

    const/4 v4, 0x0

    const/4 v2, 0x0

    .line 285
    iget-object v0, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 20058
    iget-object v6, v0, Lokhttp3/as;->bWU:Lokhttp3/a;

    .line 20141
    iget-object v0, v6, Lokhttp3/a;->bvR:Ljavax/net/ssl/SSLSocketFactory;

    .line 291
    :try_start_9
    iget-object v1, p0, Lokhttp3/internal/connection/c;->bBc:Ljava/net/Socket;

    .line 21093
    iget-object v5, v6, Lokhttp3/a;->bUW:Lokhttp3/HttpUrl;

    .line 21486
    iget-object v5, v5, Lokhttp3/HttpUrl;->zu:Ljava/lang/String;

    .line 22093
    iget-object v7, v6, Lokhttp3/a;->bUW:Lokhttp3/HttpUrl;

    .line 22502
    iget v7, v7, Lokhttp3/HttpUrl;->port:I

    .line 292
    const/4 v8, 0x1

    .line 291
    invoke-virtual {v0, v1, v5, v7, v8}, Ljavax/net/ssl/SSLSocketFactory;->createSocket(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket;

    move-result-object v0

    check-cast v0, Ljavax/net/ssl/SSLSocket;
    :try_end_1a
    .catch Ljava/lang/AssertionError; {:try_start_9 .. :try_end_1a} :catch_18c
    .catchall {:try_start_9 .. :try_end_1a} :catchall_189

    .line 23057
    :try_start_1a
    iget v1, p1, Lokhttp3/internal/connection/b;->bxz:I

    iget-object v5, p1, Lokhttp3/internal/connection/b;->bvP:Ljava/util/List;

    invoke-interface {v5}, Ljava/util/List;->size()I

    move-result v7

    move v5, v1

    :goto_23
    if-ge v5, v7, :cond_190

    .line 23058
    iget-object v1, p1, Lokhttp3/internal/connection/b;->bvP:Ljava/util/List;

    invoke-interface {v1, v5}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Lokhttp3/o;

    .line 23059
    invoke-virtual {v1, v0}, Lokhttp3/o;->a(Ljavax/net/ssl/SSLSocket;)Z

    move-result v8

    if-eqz v8, :cond_8e

    .line 23061
    add-int/lit8 v5, v5, 0x1

    iput v5, p1, Lokhttp3/internal/connection/b;->bxz:I

    move-object v5, v1

    .line 23066
    :goto_38
    if-nez v5, :cond_92

    .line 23070
    new-instance v1, Ljava/net/UnknownServiceException;

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "Unable to find acceptable protocols. isFallback="

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

    iget-boolean v3, p1, Lokhttp3/internal/connection/b;->bxB:Z

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

    move-result-object v2

    const-string v3, ", modes="

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

    move-result-object v2

    iget-object v3, p1, Lokhttp3/internal/connection/b;->bvP:Ljava/util/List;

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

    move-result-object v2

    const-string v3, ", supported protocols="

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

    move-result-object v2

    .line 23073
    invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;->getEnabledProtocols()[Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Ljava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    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}, Ljava/net/UnknownServiceException;-><init>(Ljava/lang/String;)V

    throw v1
    :try_end_6f
    .catch Ljava/lang/AssertionError; {:try_start_1a .. :try_end_6f} :catch_6f
    .catchall {:try_start_1a .. :try_end_6f} :catchall_da

    .line 335
    :catch_6f
    move-exception v1

    move-object v9, v1

    move-object v1, v0

    move-object v0, v9

    .line 336
    :goto_73
    :try_start_73
    invoke-static {v0}, Lokhttp3/internal/c;->a(Ljava/lang/AssertionError;)Z

    move-result v2

    if-eqz v2, :cond_188

    new-instance v2, Ljava/io/IOException;

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

    throw v2
    :try_end_7f
    .catchall {:try_start_73 .. :try_end_7f} :catchall_7f

    .line 339
    :catchall_7f
    move-exception v0

    move-object v2, v1

    :goto_81
    if-eqz v2, :cond_8a

    .line 340
    invoke-static {}, Lokhttp3/internal/d/j;->Sc()Lokhttp3/internal/d/j;

    move-result-object v1

    invoke-virtual {v1, v2}, Lokhttp3/internal/d/j;->d(Ljavax/net/ssl/SSLSocket;)V

    .line 343
    :cond_8a
    invoke-static {v2}, Lokhttp3/internal/c;->closeQuietly(Ljava/net/Socket;)V

    throw v0

    .line 23057
    :cond_8e
    add-int/lit8 v1, v5, 0x1

    move v5, v1

    goto :goto_23

    .line 23076
    :cond_92
    :try_start_92
    invoke-virtual {p1, v0}, Lokhttp3/internal/connection/b;->c(Ljavax/net/ssl/SSLSocket;)Z

    move-result v1

    iput-boolean v1, p1, Lokhttp3/internal/connection/b;->bxA:Z

    .line 23078
    sget-object v1, Lokhttp3/internal/a;->bWW:Lokhttp3/internal/a;

    iget-boolean v7, p1, Lokhttp3/internal/connection/b;->bxB:Z

    invoke-virtual {v1, v5, v0, v7}, Lokhttp3/internal/a;->a(Lokhttp3/o;Ljavax/net/ssl/SSLSocket;Z)V

    .line 23115
    iget-boolean v1, v5, Lokhttp3/o;->bwB:Z

    .line 296
    if-eqz v1, :cond_b0

    .line 297
    invoke-static {}, Lokhttp3/internal/d/j;->Sc()Lokhttp3/internal/d/j;

    move-result-object v1

    .line 24093
    iget-object v7, v6, Lokhttp3/a;->bUW:Lokhttp3/HttpUrl;

    .line 24486
    iget-object v7, v7, Lokhttp3/HttpUrl;->zu:Ljava/lang/String;

    .line 25116
    iget-object v8, v6, Lokhttp3/a;->bvO:Ljava/util/List;

    .line 297
    invoke-virtual {v1, v0, v7, v8}, Lokhttp3/internal/d/j;->a(Ljavax/net/ssl/SSLSocket;Ljava/lang/String;Ljava/util/List;)V

    .line 302
    :cond_b0
    invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;->startHandshake()V

    .line 304
    invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;->getSession()Ljavax/net/ssl/SSLSession;

    move-result-object v7

    .line 25350
    const-string v1, "NONE"

    invoke-interface {v7}, Ljavax/net/ssl/SSLSession;->getProtocol()Ljava/lang/String;

    move-result-object v8

    invoke-virtual {v1, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-nez v1, :cond_de

    const-string v1, "SSL_NULL_WITH_NULL_NULL"

    .line 25351
    invoke-interface {v7}, Ljavax/net/ssl/SSLSession;->getCipherSuite()Ljava/lang/String;

    move-result-object v8

    .line 25350
    invoke-virtual {v1, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-nez v1, :cond_de

    move v1, v3

    .line 305
    :goto_d0
    if-nez v1, :cond_e0

    .line 306
    new-instance v1, Ljava/io/IOException;

    const-string v2, "a valid ssl session was not established"

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

    throw v1

    .line 339
    :catchall_da
    move-exception v1

    move-object v2, v0

    move-object v0, v1

    goto :goto_81

    :cond_de
    move v1, v4

    .line 25350
    goto :goto_d0

    .line 308
    :cond_e0
    invoke-static {v7}, Lokhttp3/y;->d(Ljavax/net/ssl/SSLSession;)Lokhttp3/y;

    move-result-object v1

    .line 26146
    iget-object v3, v6, Lokhttp3/a;->hostnameVerifier:Ljavax/net/ssl/HostnameVerifier;

    .line 27093
    iget-object v4, v6, Lokhttp3/a;->bUW:Lokhttp3/HttpUrl;

    .line 27486
    iget-object v4, v4, Lokhttp3/HttpUrl;->zu:Ljava/lang/String;

    .line 311
    invoke-interface {v3, v4, v7}, Ljavax/net/ssl/HostnameVerifier;->verify(Ljava/lang/String;Ljavax/net/ssl/SSLSession;)Z

    move-result v3

    if-nez v3, :cond_140

    .line 28099
    iget-object v1, v1, Lokhttp3/y;->bwH:Ljava/util/List;

    .line 312
    const/4 v2, 0x0

    invoke-interface {v1, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Ljava/security/cert/X509Certificate;

    .line 313
    new-instance v2, Ljavax/net/ssl/SSLPeerUnverifiedException;

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "Hostname "

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

    .line 29093
    iget-object v4, v6, Lokhttp3/a;->bUW:Lokhttp3/HttpUrl;

    .line 29486
    iget-object v4, v4, Lokhttp3/HttpUrl;->zu:Ljava/lang/String;

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

    move-result-object v3

    const-string v4, " not verified:\n    certificate: "

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

    move-result-object v3

    .line 314
    invoke-static {v1}, Lokhttp3/i;->a(Ljava/security/cert/Certificate;)Ljava/lang/String;

    move-result-object v4

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

    move-result-object v3

    const-string v4, "\n    DN: "

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

    move-result-object v3

    .line 315
    invoke-virtual {v1}, Ljava/security/cert/X509Certificate;->getSubjectDN()Ljava/security/Principal;

    move-result-object v4

    invoke-interface {v4}, Ljava/security/Principal;->getName()Ljava/lang/String;

    move-result-object v4

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

    move-result-object v3

    const-string v4, "\n    subjectAltNames: "

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

    move-result-object v3

    .line 316
    invoke-static {v1}, Lokhttp3/internal/f/d;->b(Ljava/security/cert/X509Certificate;)Ljava/util/List;

    move-result-object v1

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

    move-result-object v1

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

    move-result-object v1

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

    throw v2

    .line 30151
    :cond_140
    iget-object v3, v6, Lokhttp3/a;->bUZ:Lokhttp3/i;

    .line 31093
    iget-object v4, v6, Lokhttp3/a;->bUW:Lokhttp3/HttpUrl;

    .line 31486
    iget-object v4, v4, Lokhttp3/HttpUrl;->zu:Ljava/lang/String;

    .line 32099
    iget-object v6, v1, Lokhttp3/y;->bwH:Ljava/util/List;

    .line 320
    invoke-virtual {v3, v4, v6}, Lokhttp3/i;->f(Ljava/lang/String;Ljava/util/List;)V

    .line 32115
    iget-boolean v3, v5, Lokhttp3/o;->bwB:Z

    .line 324
    if-eqz v3, :cond_157

    .line 325
    invoke-static {}, Lokhttp3/internal/d/j;->Sc()Lokhttp3/internal/d/j;

    move-result-object v2

    invoke-virtual {v2, v0}, Lokhttp3/internal/d/j;->e(Ljavax/net/ssl/SSLSocket;)Ljava/lang/String;

    move-result-object v2

    .line 327
    :cond_157
    iput-object v0, p0, Lokhttp3/internal/connection/c;->socket:Ljava/net/Socket;

    .line 328
    iget-object v3, p0, Lokhttp3/internal/connection/c;->socket:Ljava/net/Socket;

    invoke-static {v3}, Lokio/m;->b(Ljava/net/Socket;)Lokio/s;

    move-result-object v3

    invoke-static {v3}, Lokio/m;->b(Lokio/s;)Lokio/f;

    move-result-object v3

    iput-object v3, p0, Lokhttp3/internal/connection/c;->byt:Lokio/f;

    .line 329
    iget-object v3, p0, Lokhttp3/internal/connection/c;->socket:Ljava/net/Socket;

    invoke-static {v3}, Lokio/m;->a(Ljava/net/Socket;)Lokio/r;

    move-result-object v3

    invoke-static {v3}, Lokio/m;->c(Lokio/r;)Lokio/e;

    move-result-object v3

    iput-object v3, p0, Lokhttp3/internal/connection/c;->byu:Lokio/e;

    .line 330
    iput-object v1, p0, Lokhttp3/internal/connection/c;->bWK:Lokhttp3/y;

    .line 331
    if-eqz v2, :cond_185

    .line 332
    invoke-static {v2}, Lokhttp3/Protocol;->get(Ljava/lang/String;)Lokhttp3/Protocol;

    move-result-object v1

    .line 333
    :goto_179
    iput-object v1, p0, Lokhttp3/internal/connection/c;->bWJ:Lokhttp3/Protocol;
    :try_end_17b
    .catch Ljava/lang/AssertionError; {:try_start_92 .. :try_end_17b} :catch_6f
    .catchall {:try_start_92 .. :try_end_17b} :catchall_da

    .line 339
    if-eqz v0, :cond_184

    .line 340
    invoke-static {}, Lokhttp3/internal/d/j;->Sc()Lokhttp3/internal/d/j;

    move-result-object v1

    invoke-virtual {v1, v0}, Lokhttp3/internal/d/j;->d(Ljavax/net/ssl/SSLSocket;)V

    .line 342
    :cond_184
    return-void

    .line 333
    :cond_185
    :try_start_185
    sget-object v1, Lokhttp3/Protocol;->HTTP_1_1:Lokhttp3/Protocol;
    :try_end_187
    .catch Ljava/lang/AssertionError; {:try_start_185 .. :try_end_187} :catch_6f
    .catchall {:try_start_185 .. :try_end_187} :catchall_da

    goto :goto_179

    .line 337
    :cond_188
    :try_start_188
    throw v0
    :try_end_189
    .catchall {:try_start_188 .. :try_end_189} :catchall_7f

    .line 339
    :catchall_189
    move-exception v0

    goto/16 :goto_81

    .line 335
    :catch_18c
    move-exception v0

    move-object v1, v2

    goto/16 :goto_73

    :cond_190
    move-object v5, v2

    goto/16 :goto_38
.end method

.method private aM(II)V
    .registers 7

    .prologue
    .line 230
    iget-object v0, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 16068
    iget-object v1, v0, Lokhttp3/as;->bvQ:Ljava/net/Proxy;

    .line 231
    iget-object v0, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 17058
    iget-object v0, v0, Lokhttp3/as;->bWU:Lokhttp3/a;

    .line 233
    invoke-virtual {v1}, Ljava/net/Proxy;->type()Ljava/net/Proxy$Type;

    move-result-object v2

    sget-object v3, Ljava/net/Proxy$Type;->DIRECT:Ljava/net/Proxy$Type;

    if-eq v2, v3, :cond_18

    invoke-virtual {v1}, Ljava/net/Proxy;->type()Ljava/net/Proxy$Type;

    move-result-object v2

    sget-object v3, Ljava/net/Proxy$Type;->HTTP:Ljava/net/Proxy$Type;

    if-ne v2, v3, :cond_4e

    .line 17103
    :cond_18
    iget-object v0, v0, Lokhttp3/a;->socketFactory:Ljavax/net/SocketFactory;

    .line 234
    invoke-virtual {v0}, Ljavax/net/SocketFactory;->createSocket()Ljava/net/Socket;

    move-result-object v0

    .line 235
    :goto_1e
    iput-object v0, p0, Lokhttp3/internal/connection/c;->bBc:Ljava/net/Socket;

    .line 237
    invoke-static {}, Lokhttp3/u;->QL()V

    .line 238
    iget-object v0, p0, Lokhttp3/internal/connection/c;->bBc:Ljava/net/Socket;

    invoke-virtual {v0, p2}, Ljava/net/Socket;->setSoTimeout(I)V

    .line 240
    :try_start_28
    invoke-static {}, Lokhttp3/internal/d/j;->Sc()Lokhttp3/internal/d/j;

    move-result-object v0

    iget-object v1, p0, Lokhttp3/internal/connection/c;->bBc:Ljava/net/Socket;

    iget-object v2, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 18072
    iget-object v2, v2, Lokhttp3/as;->bxx:Ljava/net/InetSocketAddress;

    .line 240
    invoke-virtual {v0, v1, v2, p1}, Lokhttp3/internal/d/j;->a(Ljava/net/Socket;Ljava/net/InetSocketAddress;I)V
    :try_end_35
    .catch Ljava/net/ConnectException; {:try_start_28 .. :try_end_35} :catch_54

    .line 252
    :try_start_35
    iget-object v0, p0, Lokhttp3/internal/connection/c;->bBc:Ljava/net/Socket;

    invoke-static {v0}, Lokio/m;->b(Ljava/net/Socket;)Lokio/s;

    move-result-object v0

    invoke-static {v0}, Lokio/m;->b(Lokio/s;)Lokio/f;

    move-result-object v0

    iput-object v0, p0, Lokhttp3/internal/connection/c;->byt:Lokio/f;

    .line 253
    iget-object v0, p0, Lokhttp3/internal/connection/c;->bBc:Ljava/net/Socket;

    invoke-static {v0}, Lokio/m;->a(Ljava/net/Socket;)Lokio/r;

    move-result-object v0

    invoke-static {v0}, Lokio/m;->c(Lokio/r;)Lokio/e;

    move-result-object v0

    iput-object v0, p0, Lokhttp3/internal/connection/c;->byu:Lokio/e;
    :try_end_4d
    .catch Ljava/lang/NullPointerException; {:try_start_35 .. :try_end_4d} :catch_71

    .line 259
    :cond_4d
    return-void

    .line 235
    :cond_4e
    new-instance v0, Ljava/net/Socket;

    invoke-direct {v0, v1}, Ljava/net/Socket;-><init>(Ljava/net/Proxy;)V

    goto :goto_1e

    .line 241
    :catch_54
    move-exception v0

    .line 242
    new-instance v1, Ljava/net/ConnectException;

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "Failed to connect to "

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

    iget-object v3, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 19072
    iget-object v3, v3, Lokhttp3/as;->bxx:Ljava/net/InetSocketAddress;

    .line 242
    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)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}, Ljava/net/ConnectException;-><init>(Ljava/lang/String;)V

    .line 243
    invoke-virtual {v1, v0}, Ljava/net/ConnectException;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;

    .line 244
    throw v1

    .line 254
    :catch_71
    move-exception v0

    .line 255
    const-string v1, "throw with null exception"

    invoke-virtual {v0}, Ljava/lang/NullPointerException;->getMessage()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_4d

    .line 256
    new-instance v1, Ljava/io/IOException;

    invoke-direct {v1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/Throwable;)V

    throw v1
.end method


# virtual methods
.method public final QC()Lokhttp3/Protocol;
    .registers 2

    .prologue
    .line 572
    iget-object v0, p0, Lokhttp3/internal/connection/c;->bWJ:Lokhttp3/Protocol;

    return-object v0
.end method

.method public final RF()Z
    .registers 2

    .prologue
    .line 568
    iget-object v0, p0, Lokhttp3/internal/connection/c;->bXk:Lokhttp3/internal/http2/h;

    if-eqz v0, :cond_6

    const/4 v0, 0x1

    :goto_5
    return v0

    :cond_6
    const/4 v0, 0x0

    goto :goto_5
.end method

.method public final a(Lokhttp3/internal/http2/h;)V
    .registers 4

    .prologue
    .line 554
    iget-object v1, p0, Lokhttp3/internal/connection/c;->bWt:Lokhttp3/n;

    monitor-enter v1

    .line 555
    :try_start_3
    invoke-virtual {p1}, Lokhttp3/internal/http2/h;->Hn()I

    move-result v0

    iput v0, p0, Lokhttp3/internal/connection/c;->bXm:I

    .line 556
    monitor-exit v1

    return-void

    :catchall_b
    move-exception v0

    monitor-exit v1
    :try_end_d
    .catchall {:try_start_3 .. :try_end_d} :catchall_b

    throw v0
.end method

.method public final a(Lokhttp3/internal/http2/p;)V
    .registers 3

    .prologue
    .line 549
    sget-object v0, Lokhttp3/internal/http2/ErrorCode;->REFUSED_STREAM:Lokhttp3/internal/http2/ErrorCode;

    invoke-virtual {p1, v0}, Lokhttp3/internal/http2/p;->b(Lokhttp3/internal/http2/ErrorCode;)V

    .line 550
    return-void
.end method

.method public final a(Lokhttp3/a;Lokhttp3/as;)Z
    .registers 8

    .prologue
    const/4 v1, 0x1

    const/4 v0, 0x0

    .line 428
    iget-object v2, p0, Lokhttp3/internal/connection/c;->bBe:Ljava/util/List;

    invoke-interface {v2}, Ljava/util/List;->size()I

    move-result v2

    iget v3, p0, Lokhttp3/internal/connection/c;->bXm:I

    if-ge v2, v3, :cond_10

    iget-boolean v2, p0, Lokhttp3/internal/connection/c;->bBf:Z

    if-eqz v2, :cond_11

    .line 465
    :cond_10
    :goto_10
    return v0

    .line 431
    :cond_11
    sget-object v2, Lokhttp3/internal/a;->bWW:Lokhttp3/internal/a;

    iget-object v3, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 33058
    iget-object v3, v3, Lokhttp3/as;->bWU:Lokhttp3/a;

    .line 431
    invoke-virtual {v2, v3, p1}, Lokhttp3/internal/a;->a(Lokhttp3/a;Lokhttp3/a;)Z

    move-result v2

    if-eqz v2, :cond_10

    .line 33093
    iget-object v2, p1, Lokhttp3/a;->bUW:Lokhttp3/HttpUrl;

    .line 33486
    iget-object v2, v2, Lokhttp3/HttpUrl;->zu:Ljava/lang/String;

    .line 33503
    iget-object v3, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 34058
    iget-object v3, v3, Lokhttp3/as;->bWU:Lokhttp3/a;

    .line 34093
    iget-object v3, v3, Lokhttp3/a;->bUW:Lokhttp3/HttpUrl;

    .line 34486
    iget-object v3, v3, Lokhttp3/HttpUrl;->zu:Ljava/lang/String;

    .line 434
    invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_31

    move v0, v1

    .line 435
    goto :goto_10

    .line 444
    :cond_31
    iget-object v2, p0, Lokhttp3/internal/connection/c;->bXk:Lokhttp3/internal/http2/h;

    if-eqz v2, :cond_10

    .line 449
    if-eqz p2, :cond_10

    .line 35068
    iget-object v2, p2, Lokhttp3/as;->bvQ:Ljava/net/Proxy;

    .line 450
    invoke-virtual {v2}, Ljava/net/Proxy;->type()Ljava/net/Proxy$Type;

    move-result-object v2

    sget-object v3, Ljava/net/Proxy$Type;->DIRECT:Ljava/net/Proxy$Type;

    if-ne v2, v3, :cond_10

    .line 451
    iget-object v2, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 36068
    iget-object v2, v2, Lokhttp3/as;->bvQ:Ljava/net/Proxy;

    .line 451
    invoke-virtual {v2}, Ljava/net/Proxy;->type()Ljava/net/Proxy$Type;

    move-result-object v2

    sget-object v3, Ljava/net/Proxy$Type;->DIRECT:Ljava/net/Proxy$Type;

    if-ne v2, v3, :cond_10

    .line 452
    iget-object v2, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 36072
    iget-object v2, v2, Lokhttp3/as;->bxx:Ljava/net/InetSocketAddress;

    .line 37072
    iget-object v3, p2, Lokhttp3/as;->bxx:Ljava/net/InetSocketAddress;

    .line 452
    invoke-virtual {v2, v3}, Ljava/net/InetSocketAddress;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_10

    .line 38058
    iget-object v2, p2, Lokhttp3/as;->bWU:Lokhttp3/a;

    .line 38146
    iget-object v2, v2, Lokhttp3/a;->hostnameVerifier:Ljavax/net/ssl/HostnameVerifier;

    .line 455
    sget-object v3, Lokhttp3/internal/f/d;->bYT:Lokhttp3/internal/f/d;

    if-ne v2, v3, :cond_10

    .line 39093
    iget-object v2, p1, Lokhttp3/a;->bUW:Lokhttp3/HttpUrl;

    .line 456
    invoke-virtual {p0, v2}, Lokhttp3/internal/connection/c;->d(Lokhttp3/HttpUrl;)Z

    move-result v2

    if-eqz v2, :cond_10

    .line 39151
    :try_start_69
    iget-object v2, p1, Lokhttp3/a;->bUZ:Lokhttp3/i;

    .line 40093
    iget-object v3, p1, Lokhttp3/a;->bUW:Lokhttp3/HttpUrl;

    .line 40486
    iget-object v3, v3, Lokhttp3/HttpUrl;->zu:Ljava/lang/String;

    .line 40560
    iget-object v4, p0, Lokhttp3/internal/connection/c;->bWK:Lokhttp3/y;

    .line 41099
    iget-object v4, v4, Lokhttp3/y;->bwH:Ljava/util/List;

    .line 460
    invoke-virtual {v2, v3, v4}, Lokhttp3/i;->f(Ljava/lang/String;Ljava/util/List;)V
    :try_end_76
    .catch Ljavax/net/ssl/SSLPeerUnverifiedException; {:try_start_69 .. :try_end_76} :catch_78

    move v0, v1

    .line 465
    goto :goto_10

    .line 462
    :catch_78
    move-exception v1

    goto :goto_10
.end method

.method public final b(IIIIZ)V
    .registers 15

    .prologue
    .line 133
    iget-object v0, p0, Lokhttp3/internal/connection/c;->bWJ:Lokhttp3/Protocol;

    if-eqz v0, :cond_c

    new-instance v0, Ljava/lang/IllegalStateException;

    const-string v1, "already connected"

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

    throw v0

    .line 135
    :cond_c
    const/4 v0, 0x0

    .line 136
    iget-object v1, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 1058
    iget-object v1, v1, Lokhttp3/as;->bWU:Lokhttp3/a;

    .line 1120
    iget-object v1, v1, Lokhttp3/a;->bvP:Ljava/util/List;

    .line 137
    new-instance v3, Lokhttp3/internal/connection/b;

    invoke-direct {v3, v1}, Lokhttp3/internal/connection/b;-><init>(Ljava/util/List;)V

    .line 139
    iget-object v2, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 2058
    iget-object v2, v2, Lokhttp3/as;->bWU:Lokhttp3/a;

    .line 2141
    iget-object v2, v2, Lokhttp3/a;->bvR:Ljavax/net/ssl/SSLSocketFactory;

    .line 139
    if-nez v2, :cond_274

    .line 140
    sget-object v2, Lokhttp3/o;->bVD:Lokhttp3/o;

    invoke-interface {v1, v2}, Ljava/util/List;->contains(Ljava/lang/Object;)Z

    move-result v1

    if-nez v1, :cond_35

    .line 141
    new-instance v0, Lokhttp3/internal/connection/RouteException;

    new-instance v1, Ljava/net/UnknownServiceException;

    const-string v2, "CLEARTEXT communication not enabled for client"

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

    invoke-direct {v0, v1}, Lokhttp3/internal/connection/RouteException;-><init>(Ljava/io/IOException;)V

    throw v0

    .line 144
    :cond_35
    iget-object v1, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 3058
    iget-object v1, v1, Lokhttp3/as;->bWU:Lokhttp3/a;

    .line 3093
    iget-object v1, v1, Lokhttp3/a;->bUW:Lokhttp3/HttpUrl;

    .line 3486
    iget-object v1, v1, Lokhttp3/HttpUrl;->zu:Ljava/lang/String;

    .line 145
    invoke-static {}, Lokhttp3/internal/d/j;->Sc()Lokhttp3/internal/d/j;

    move-result-object v2

    invoke-virtual {v2, v1}, Lokhttp3/internal/d/j;->isCleartextTrafficPermitted(Ljava/lang/String;)Z

    move-result v2

    if-nez v2, :cond_274

    .line 146
    new-instance v0, Lokhttp3/internal/connection/RouteException;

    new-instance v2, Ljava/net/UnknownServiceException;

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "CLEARTEXT communication to "

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

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

    move-result-object v1

    const-string v3, " not permitted by network security policy"

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

    move-result-object v1

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

    move-result-object v1

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

    invoke-direct {v0, v2}, Lokhttp3/internal/connection/RouteException;-><init>(Ljava/io/IOException;)V

    throw v0

    :cond_67
    move-object v2, v1

    .line 153
    :goto_68
    :try_start_68
    iget-object v0, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    invoke-virtual {v0}, Lokhttp3/as;->RC()Z

    move-result v0

    if-eqz v0, :cond_1d5

    .line 4414
    new-instance v0, Lokhttp3/am;

    invoke-direct {v0}, Lokhttp3/am;-><init>()V

    iget-object v1, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 5058
    iget-object v1, v1, Lokhttp3/as;->bWU:Lokhttp3/a;

    .line 5093
    iget-object v1, v1, Lokhttp3/a;->bUW:Lokhttp3/HttpUrl;

    .line 4415
    invoke-virtual {v0, v1}, Lokhttp3/am;->c(Lokhttp3/HttpUrl;)Lokhttp3/am;

    move-result-object v0

    const-string v1, "Host"

    iget-object v4, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 6058
    iget-object v4, v4, Lokhttp3/as;->bWU:Lokhttp3/a;

    .line 6093
    iget-object v4, v4, Lokhttp3/a;->bUW:Lokhttp3/HttpUrl;

    .line 4416
    const/4 v5, 0x1

    invoke-static {v4, v5}, Lokhttp3/internal/c;->a(Lokhttp3/HttpUrl;Z)Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v0, v1, v4}, Lokhttp3/am;->bf(Ljava/lang/String;Ljava/lang/String;)Lokhttp3/am;

    move-result-object v0

    const-string v1, "Proxy-Connection"

    const-string v4, "Keep-Alive"

    .line 4417
    invoke-virtual {v0, v1, v4}, Lokhttp3/am;->bf(Ljava/lang/String;Ljava/lang/String;)Lokhttp3/am;

    move-result-object v0

    const-string v1, "User-Agent"

    .line 7020
    const-string v4, "okhttp/3.10.0"

    .line 4418
    invoke-virtual {v0, v1, v4}, Lokhttp3/am;->bf(Ljava/lang/String;Ljava/lang/String;)Lokhttp3/am;

    move-result-object v0

    .line 4419
    invoke-virtual {v0}, Lokhttp3/am;->build()Lokhttp3/al;

    move-result-object v0

    .line 7046
    iget-object v1, v0, Lokhttp3/al;->bUW:Lokhttp3/HttpUrl;

    .line 4212
    invoke-direct {p0, p1, p2}, Lokhttp3/internal/connection/c;->aM(II)V

    .line 7361
    new-instance v4, Ljava/lang/StringBuilder;

    const-string v5, "CONNECT "

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

    const/4 v5, 0x1

    invoke-static {v1, v5}, Lokhttp3/internal/c;->a(Lokhttp3/HttpUrl;Z)Ljava/lang/String;

    move-result-object v1

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

    move-result-object v1

    const-string v4, " HTTP/1.1"

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

    move-result-object v1

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

    move-result-object v1

    .line 7363
    new-instance v4, Lokhttp3/internal/c/a;

    const/4 v5, 0x0

    const/4 v6, 0x0

    iget-object v7, p0, Lokhttp3/internal/connection/c;->byt:Lokio/f;

    iget-object v8, p0, Lokhttp3/internal/connection/c;->byu:Lokio/e;

    invoke-direct {v4, v5, v6, v7, v8}, Lokhttp3/internal/c/a;-><init>(Lokhttp3/ah;Lokhttp3/internal/connection/g;Lokio/f;Lokio/e;)V

    .line 7364
    iget-object v5, p0, Lokhttp3/internal/connection/c;->byt:Lokio/f;

    invoke-interface {v5}, Lokio/f;->timeout()Lokio/t;

    move-result-object v5

    int-to-long v6, p2

    sget-object v8, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;

    invoke-virtual {v5, v6, v7, v8}, Lokio/t;->e(JLjava/util/concurrent/TimeUnit;)Lokio/t;

    .line 7365
    iget-object v5, p0, Lokhttp3/internal/connection/c;->byu:Lokio/e;

    invoke-interface {v5}, Lokio/e;->timeout()Lokio/t;

    move-result-object v5

    int-to-long v6, p3

    sget-object v8, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;

    invoke-virtual {v5, v6, v7, v8}, Lokio/t;->e(JLjava/util/concurrent/TimeUnit;)Lokio/t;

    .line 8054
    iget-object v5, v0, Lokhttp3/al;->headers:Lokhttp3/z;

    .line 7366
    invoke-virtual {v4, v5, v1}, Lokhttp3/internal/c/a;->a(Lokhttp3/z;Ljava/lang/String;)V

    .line 7367
    invoke-virtual {v4}, Lokhttp3/internal/c/a;->HP()V

    .line 7368
    const/4 v1, 0x0

    invoke-virtual {v4, v1}, Lokhttp3/internal/c/a;->bm(Z)Lokhttp3/ap;

    move-result-object v1

    .line 8332
    iput-object v0, v1, Lokhttp3/ap;->bWI:Lokhttp3/al;

    .line 7370
    invoke-virtual {v1}, Lokhttp3/ap;->RB()Lokhttp3/ao;

    move-result-object v5

    .line 7373
    invoke-static {v5}, Lokhttp3/internal/b/f;->f(Lokhttp3/ao;)J

    move-result-wide v0

    .line 7374
    const-wide/16 v6, -0x1

    cmp-long v6, v0, v6

    if-nez v6, :cond_105

    .line 7375
    const-wide/16 v0, 0x0

    .line 7377
    :cond_105
    invoke-virtual {v4, v0, v1}, Lokhttp3/internal/c/a;->J(J)Lokio/s;

    move-result-object v0

    .line 7378
    const v1, 0x7fffffff

    sget-object v4, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;

    invoke-static {v0, v1, v4}, Lokhttp3/internal/c;->a(Lokio/s;ILjava/util/concurrent/TimeUnit;)Z

    .line 7379
    invoke-interface {v0}, Lokio/s;->close()V

    .line 9098
    iget v0, v5, Lokhttp3/ao;->code:I

    .line 7381
    sparse-switch v0, :sswitch_data_278

    .line 7402
    new-instance v0, Ljava/io/IOException;

    new-instance v1, Ljava/lang/StringBuilder;

    const-string v4, "Unexpected response code for CONNECT: "

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

    .line 11098
    iget v4, v5, Lokhttp3/ao;->code:I

    .line 7403
    invoke-virtual {v1, v4}, 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/io/IOException;-><init>(Ljava/lang/String;)V

    throw v0
    :try_end_130
    .catch Ljava/io/IOException; {:try_start_68 .. :try_end_130} :catch_130

    .line 165
    :catch_130
    move-exception v0

    .line 166
    iget-object v1, p0, Lokhttp3/internal/connection/c;->socket:Ljava/net/Socket;

    invoke-static {v1}, Lokhttp3/internal/c;->closeQuietly(Ljava/net/Socket;)V

    .line 167
    iget-object v1, p0, Lokhttp3/internal/connection/c;->bBc:Ljava/net/Socket;

    invoke-static {v1}, Lokhttp3/internal/c;->closeQuietly(Ljava/net/Socket;)V

    .line 168
    const/4 v1, 0x0

    iput-object v1, p0, Lokhttp3/internal/connection/c;->socket:Ljava/net/Socket;

    .line 169
    const/4 v1, 0x0

    iput-object v1, p0, Lokhttp3/internal/connection/c;->bBc:Ljava/net/Socket;

    .line 170
    const/4 v1, 0x0

    iput-object v1, p0, Lokhttp3/internal/connection/c;->byt:Lokio/f;

    .line 171
    const/4 v1, 0x0

    iput-object v1, p0, Lokhttp3/internal/connection/c;->byu:Lokio/e;

    .line 172
    const/4 v1, 0x0

    iput-object v1, p0, Lokhttp3/internal/connection/c;->bWK:Lokhttp3/y;

    .line 173
    const/4 v1, 0x0

    iput-object v1, p0, Lokhttp3/internal/connection/c;->bWJ:Lokhttp3/Protocol;

    .line 174
    const/4 v1, 0x0

    iput-object v1, p0, Lokhttp3/internal/connection/c;->bXk:Lokhttp3/internal/http2/h;

    .line 176
    invoke-static {}, Lokhttp3/u;->QP()V

    .line 178
    if-nez v2, :cond_257

    .line 179
    new-instance v1, Lokhttp3/internal/connection/RouteException;

    invoke-direct {v1, v0}, Lokhttp3/internal/connection/RouteException;-><init>(Ljava/io/IOException;)V

    .line 184
    :goto_15a
    if-eqz p5, :cond_186

    .line 15092
    const/4 v2, 0x1

    iput-boolean v2, v3, Lokhttp3/internal/connection/b;->bxB:Z

    .line 15094
    iget-boolean v2, v3, Lokhttp3/internal/connection/b;->bxA:Z

    if-eqz v2, :cond_25d

    .line 15099
    instance-of v2, v0, Ljava/net/ProtocolException;

    if-nez v2, :cond_25d

    .line 15106
    instance-of v2, v0, Ljava/io/InterruptedIOException;

    if-nez v2, :cond_25d

    .line 15112
    instance-of v2, v0, Ljavax/net/ssl/SSLHandshakeException;

    if-eqz v2, :cond_177

    .line 15115
    invoke-virtual {v0}, Ljava/io/IOException;->getCause()Ljava/lang/Throwable;

    move-result-object v2

    instance-of v2, v2, Ljava/security/cert/CertificateException;

    if-nez v2, :cond_25d

    .line 15119
    :cond_177
    instance-of v2, v0, Ljavax/net/ssl/SSLPeerUnverifiedException;

    if-nez v2, :cond_25d

    .line 15126
    instance-of v2, v0, Ljavax/net/ssl/SSLHandshakeException;

    if-nez v2, :cond_183

    instance-of v0, v0, Ljavax/net/ssl/SSLProtocolException;

    if-eqz v0, :cond_25d

    :cond_183
    const/4 v0, 0x1

    .line 184
    :goto_184
    if-nez v0, :cond_67

    .line 185
    :cond_186
    throw v1

    .line 7387
    :sswitch_187
    :try_start_187
    iget-object v0, p0, Lokhttp3/internal/connection/c;->byt:Lokio/f;

    invoke-interface {v0}, Lokio/f;->Sg()Lokio/d;

    move-result-object v0

    invoke-virtual {v0}, Lokio/d;->Si()Z

    move-result v0

    if-eqz v0, :cond_19f

    iget-object v0, p0, Lokhttp3/internal/connection/c;->byu:Lokio/e;

    invoke-interface {v0}, Lokio/e;->Sg()Lokio/d;

    move-result-object v0

    invoke-virtual {v0}, Lokio/d;->Si()Z

    move-result v0

    if-nez v0, :cond_1b8

    .line 7388
    :cond_19f
    new-instance v0, Ljava/io/IOException;

    const-string v1, "TLS tunnel buffered too many bytes!"

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

    throw v0

    .line 7393
    :sswitch_1a7
    iget-object v0, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 10058
    iget-object v0, v0, Lokhttp3/as;->bWU:Lokhttp3/a;

    .line 10108
    iget-object v0, v0, Lokhttp3/a;->bUY:Lokhttp3/b;

    .line 7393
    invoke-interface {v0}, Lokhttp3/b;->Qy()Lokhttp3/al;

    .line 7394
    new-instance v0, Ljava/io/IOException;

    const-string v1, "Failed to authenticate with proxy"

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

    throw v0

    .line 155
    :cond_1b8
    iget-object v0, p0, Lokhttp3/internal/connection/c;->bBc:Ljava/net/Socket;
    :try_end_1ba
    .catch Ljava/io/IOException; {:try_start_187 .. :try_end_1ba} :catch_130

    if-nez v0, :cond_1d8

    .line 190
    :goto_1bc
    iget-object v0, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    invoke-virtual {v0}, Lokhttp3/as;->RC()Z

    move-result v0

    if-eqz v0, :cond_260

    iget-object v0, p0, Lokhttp3/internal/connection/c;->bBc:Ljava/net/Socket;

    if-nez v0, :cond_260

    .line 191
    new-instance v0, Ljava/net/ProtocolException;

    const-string v1, "Too many tunnel connections attempted: 21"

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

    .line 193
    new-instance v1, Lokhttp3/internal/connection/RouteException;

    invoke-direct {v1, v0}, Lokhttp3/internal/connection/RouteException;-><init>(Ljava/io/IOException;)V

    throw v1

    .line 160
    :cond_1d5
    :try_start_1d5
    invoke-direct {p0, p1, p2}, Lokhttp3/internal/connection/c;->aM(II)V

    .line 11263
    :cond_1d8
    iget-object v0, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 12058
    iget-object v0, v0, Lokhttp3/as;->bWU:Lokhttp3/a;

    .line 12141
    iget-object v0, v0, Lokhttp3/a;->bvR:Ljavax/net/ssl/SSLSocketFactory;

    .line 11263
    if-nez v0, :cond_1ec

    .line 11264
    sget-object v0, Lokhttp3/Protocol;->HTTP_1_1:Lokhttp3/Protocol;

    iput-object v0, p0, Lokhttp3/internal/connection/c;->bWJ:Lokhttp3/Protocol;

    .line 11265
    iget-object v0, p0, Lokhttp3/internal/connection/c;->bBc:Ljava/net/Socket;

    iput-object v0, p0, Lokhttp3/internal/connection/c;->socket:Ljava/net/Socket;

    .line 163
    :cond_1e8
    :goto_1e8
    invoke-static {}, Lokhttp3/u;->QO()V

    goto :goto_1bc

    .line 11269
    :cond_1ec
    invoke-static {}, Lokhttp3/u;->QM()V

    .line 11270
    invoke-direct {p0, v3}, Lokhttp3/internal/connection/c;->a(Lokhttp3/internal/connection/b;)V

    .line 11271
    invoke-static {}, Lokhttp3/u;->QN()V

    .line 11273
    iget-object v0, p0, Lokhttp3/internal/connection/c;->bWJ:Lokhttp3/Protocol;

    sget-object v1, Lokhttp3/Protocol;->HTTP_2:Lokhttp3/Protocol;

    if-ne v0, v1, :cond_1e8

    .line 11274
    iget-object v0, p0, Lokhttp3/internal/connection/c;->socket:Ljava/net/Socket;

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Ljava/net/Socket;->setSoTimeout(I)V

    .line 11275
    new-instance v0, Lokhttp3/internal/http2/i;

    invoke-direct {v0}, Lokhttp3/internal/http2/i;-><init>()V

    iget-object v1, p0, Lokhttp3/internal/connection/c;->socket:Ljava/net/Socket;

    iget-object v4, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 13058
    iget-object v4, v4, Lokhttp3/as;->bWU:Lokhttp3/a;

    .line 13093
    iget-object v4, v4, Lokhttp3/a;->bUW:Lokhttp3/HttpUrl;

    .line 13486
    iget-object v4, v4, Lokhttp3/HttpUrl;->zu:Ljava/lang/String;

    .line 11276
    iget-object v5, p0, Lokhttp3/internal/connection/c;->byt:Lokio/f;

    iget-object v6, p0, Lokhttp3/internal/connection/c;->byu:Lokio/e;

    .line 13564
    iput-object v1, v0, Lokhttp3/internal/http2/i;->socket:Ljava/net/Socket;

    .line 13565
    iput-object v4, v0, Lokhttp3/internal/http2/i;->hostname:Ljava/lang/String;

    .line 13566
    iput-object v5, v0, Lokhttp3/internal/http2/i;->byt:Lokio/f;

    .line 13567
    iput-object v6, v0, Lokhttp3/internal/http2/i;->byu:Lokio/e;

    .line 13572
    iput-object p0, v0, Lokhttp3/internal/http2/i;->bXP:Lokhttp3/internal/http2/j;

    .line 13582
    const/4 v1, 0x0

    iput v1, v0, Lokhttp3/internal/http2/i;->bXZ:I

    .line 13587
    new-instance v1, Lokhttp3/internal/http2/h;

    invoke-direct {v1, v0}, Lokhttp3/internal/http2/h;-><init>(Lokhttp3/internal/http2/i;)V

    .line 11279
    iput-object v1, p0, Lokhttp3/internal/connection/c;->bXk:Lokhttp3/internal/http2/h;

    .line 11280
    iget-object v0, p0, Lokhttp3/internal/connection/c;->bXk:Lokhttp3/internal/http2/h;

    .line 14512
    iget-object v1, v0, Lokhttp3/internal/http2/h;->bXV:Lokhttp3/internal/http2/t;

    invoke-virtual {v1}, Lokhttp3/internal/http2/t;->Hl()V

    .line 14513
    iget-object v1, v0, Lokhttp3/internal/http2/h;->bXV:Lokhttp3/internal/http2/t;

    iget-object v4, v0, Lokhttp3/internal/http2/h;->bXT:Lokhttp3/internal/http2/x;

    invoke-virtual {v1, v4}, Lokhttp3/internal/http2/t;->c(Lokhttp3/internal/http2/x;)V

    .line 14514
    iget-object v1, v0, Lokhttp3/internal/http2/h;->bXT:Lokhttp3/internal/http2/x;

    invoke-virtual {v1}, Lokhttp3/internal/http2/x;->RW()I

    move-result v1

    .line 14515
    const v4, 0xffff

    if-eq v1, v4, :cond_24c

    .line 14516
    iget-object v4, v0, Lokhttp3/internal/http2/h;->bXV:Lokhttp3/internal/http2/t;

    const/4 v5, 0x0

    const v6, 0xffff

    sub-int/2addr v1, v6

    int-to-long v6, v1

    invoke-virtual {v4, v5, v6, v7}, Lokhttp3/internal/http2/t;->f(IJ)V

    .line 14519
    :cond_24c
    new-instance v1, Ljava/lang/Thread;

    iget-object v0, v0, Lokhttp3/internal/http2/h;->bXW:Lokhttp3/internal/http2/l;

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

    invoke-virtual {v1}, Ljava/lang/Thread;->start()V
    :try_end_256
    .catch Ljava/io/IOException; {:try_start_1d5 .. :try_end_256} :catch_130

    goto :goto_1e8

    .line 181
    :cond_257
    invoke-virtual {v2, v0}, Lokhttp3/internal/connection/RouteException;->addConnectException(Ljava/io/IOException;)V

    move-object v1, v2

    goto/16 :goto_15a

    .line 15126
    :cond_25d
    const/4 v0, 0x0

    goto/16 :goto_184

    .line 196
    :cond_260
    iget-object v0, p0, Lokhttp3/internal/connection/c;->bXk:Lokhttp3/internal/http2/h;

    if-eqz v0, :cond_270

    .line 197
    iget-object v1, p0, Lokhttp3/internal/connection/c;->bWt:Lokhttp3/n;

    monitor-enter v1

    .line 198
    :try_start_267
    iget-object v0, p0, Lokhttp3/internal/connection/c;->bXk:Lokhttp3/internal/http2/h;

    invoke-virtual {v0}, Lokhttp3/internal/http2/h;->Hn()I

    move-result v0

    iput v0, p0, Lokhttp3/internal/connection/c;->bXm:I

    .line 199
    monitor-exit v1

    .line 201
    :cond_270
    return-void

    .line 199
    :catchall_271
    move-exception v0

    monitor-exit v1
    :try_end_273
    .catchall {:try_start_267 .. :try_end_273} :catchall_271

    throw v0

    :cond_274
    move-object v2, v0

    goto/16 :goto_68

    .line 7381
    nop

    :sswitch_data_278
    .sparse-switch
        0xc8 -> :sswitch_187
        0x197 -> :sswitch_1a7
    .end sparse-switch
.end method

.method public final bc(Z)Z
    .registers 7

    .prologue
    const/4 v0, 0x1

    const/4 v1, 0x0

    .line 517
    iget-object v2, p0, Lokhttp3/internal/connection/c;->socket:Ljava/net/Socket;

    invoke-virtual {v2}, Ljava/net/Socket;->isClosed()Z

    move-result v2

    if-nez v2, :cond_1a

    iget-object v2, p0, Lokhttp3/internal/connection/c;->socket:Ljava/net/Socket;

    invoke-virtual {v2}, Ljava/net/Socket;->isInputShutdown()Z

    move-result v2

    if-nez v2, :cond_1a

    iget-object v2, p0, Lokhttp3/internal/connection/c;->socket:Ljava/net/Socket;

    invoke-virtual {v2}, Ljava/net/Socket;->isOutputShutdown()Z

    move-result v2

    if-eqz v2, :cond_1c

    :cond_1a
    move v0, v1

    .line 544
    :cond_1b
    :goto_1b
    return v0

    .line 521
    :cond_1c
    iget-object v2, p0, Lokhttp3/internal/connection/c;->bXk:Lokhttp3/internal/http2/h;

    if-eqz v2, :cond_2a

    .line 522
    iget-object v2, p0, Lokhttp3/internal/connection/c;->bXk:Lokhttp3/internal/http2/h;

    invoke-virtual {v2}, Lokhttp3/internal/http2/h;->isShutdown()Z

    move-result v2

    if-eqz v2, :cond_1b

    move v0, v1

    goto :goto_1b

    .line 525
    :cond_2a
    if-eqz p1, :cond_1b

    .line 527
    :try_start_2c
    iget-object v2, p0, Lokhttp3/internal/connection/c;->socket:Ljava/net/Socket;

    invoke-virtual {v2}, Ljava/net/Socket;->getSoTimeout()I
    :try_end_31
    .catch Ljava/net/SocketTimeoutException; {:try_start_2c .. :try_end_31} :catch_4d
    .catch Ljava/io/IOException; {:try_start_2c .. :try_end_31} :catch_56

    move-result v3

    .line 529
    :try_start_32
    iget-object v2, p0, Lokhttp3/internal/connection/c;->socket:Ljava/net/Socket;

    const/4 v4, 0x1

    invoke-virtual {v2, v4}, Ljava/net/Socket;->setSoTimeout(I)V

    .line 530
    iget-object v2, p0, Lokhttp3/internal/connection/c;->byt:Lokio/f;

    invoke-interface {v2}, Lokio/f;->Si()Z
    :try_end_3d
    .catchall {:try_start_32 .. :try_end_3d} :catchall_4f

    move-result v2

    if-eqz v2, :cond_47

    .line 535
    :try_start_40
    iget-object v2, p0, Lokhttp3/internal/connection/c;->socket:Ljava/net/Socket;

    invoke-virtual {v2, v3}, Ljava/net/Socket;->setSoTimeout(I)V

    move v0, v1

    .line 531
    goto :goto_1b

    .line 535
    :cond_47
    iget-object v2, p0, Lokhttp3/internal/connection/c;->socket:Ljava/net/Socket;

    invoke-virtual {v2, v3}, Ljava/net/Socket;->setSoTimeout(I)V

    goto :goto_1b

    .line 541
    :catch_4d
    move-exception v1

    goto :goto_1b

    .line 535
    :catchall_4f
    move-exception v2

    iget-object v4, p0, Lokhttp3/internal/connection/c;->socket:Ljava/net/Socket;

    invoke-virtual {v4, v3}, Ljava/net/Socket;->setSoTimeout(I)V

    throw v2
    :try_end_56
    .catch Ljava/net/SocketTimeoutException; {:try_start_40 .. :try_end_56} :catch_4d
    .catch Ljava/io/IOException; {:try_start_40 .. :try_end_56} :catch_56

    .line 540
    :catch_56
    move-exception v0

    move v0, v1

    goto :goto_1b
.end method

.method public final d(Lokhttp3/HttpUrl;)Z
    .registers 6

    .prologue
    const/4 v2, 0x1

    const/4 v1, 0x0

    .line 469
    .line 41502
    iget v0, p1, Lokhttp3/HttpUrl;->port:I

    .line 469
    iget-object v3, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 42058
    iget-object v3, v3, Lokhttp3/as;->bWU:Lokhttp3/a;

    .line 42093
    iget-object v3, v3, Lokhttp3/a;->bUW:Lokhttp3/HttpUrl;

    .line 42502
    iget v3, v3, Lokhttp3/HttpUrl;->port:I

    .line 469
    if-eq v0, v3, :cond_10

    move v0, v1

    .line 479
    :goto_f
    return v0

    .line 43486
    :cond_10
    iget-object v0, p1, Lokhttp3/HttpUrl;->zu:Ljava/lang/String;

    .line 473
    iget-object v3, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 44058
    iget-object v3, v3, Lokhttp3/as;->bWU:Lokhttp3/a;

    .line 44093
    iget-object v3, v3, Lokhttp3/a;->bUW:Lokhttp3/HttpUrl;

    .line 44486
    iget-object v3, v3, Lokhttp3/HttpUrl;->zu:Ljava/lang/String;

    .line 473
    invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_3c

    .line 475
    iget-object v0, p0, Lokhttp3/internal/connection/c;->bWK:Lokhttp3/y;

    if-eqz v0, :cond_3a

    sget-object v0, Lokhttp3/internal/f/d;->bYT:Lokhttp3/internal/f/d;

    .line 45486
    iget-object v3, p1, Lokhttp3/HttpUrl;->zu:Ljava/lang/String;

    .line 476
    iget-object v0, p0, Lokhttp3/internal/connection/c;->bWK:Lokhttp3/y;

    .line 46099
    iget-object v0, v0, Lokhttp3/y;->bwH:Ljava/util/List;

    .line 476
    invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/security/cert/X509Certificate;

    .line 475
    invoke-static {v3, v0}, Lokhttp3/internal/f/d;->a(Ljava/lang/String;Ljava/security/cert/X509Certificate;)Z

    move-result v0

    if-eqz v0, :cond_3a

    move v0, v2

    goto :goto_f

    :cond_3a
    move v0, v1

    goto :goto_f

    :cond_3c
    move v0, v2

    .line 479
    goto :goto_f
.end method

.method public final toString()Ljava/lang/String;
    .registers 3

    .prologue
    .line 576
    new-instance v0, Ljava/lang/StringBuilder;

    const-string v1, "Connection{"

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

    iget-object v1, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 47058
    iget-object v1, v1, Lokhttp3/as;->bWU:Lokhttp3/a;

    .line 47093
    iget-object v1, v1, Lokhttp3/a;->bUW:Lokhttp3/HttpUrl;

    .line 47486
    iget-object v1, v1, Lokhttp3/HttpUrl;->zu:Ljava/lang/String;

    .line 577
    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ":"

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

    move-result-object v0

    iget-object v1, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 48058
    iget-object v1, v1, Lokhttp3/as;->bWU:Lokhttp3/a;

    .line 48093
    iget-object v1, v1, Lokhttp3/a;->bUW:Lokhttp3/HttpUrl;

    .line 48502
    iget v1, v1, Lokhttp3/HttpUrl;->port:I

    .line 577
    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ", proxy="

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

    move-result-object v0

    iget-object v1, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 49068
    iget-object v1, v1, Lokhttp3/as;->bvQ:Ljava/net/Proxy;

    .line 579
    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, " hostAddress="

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

    move-result-object v0

    iget-object v1, p0, Lokhttp3/internal/connection/c;->bXj:Lokhttp3/as;

    .line 49072
    iget-object v1, v1, Lokhttp3/as;->bxx:Ljava/net/InetSocketAddress;

    .line 581
    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, " cipherSuite="

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

    move-result-object v1

    iget-object v0, p0, Lokhttp3/internal/connection/c;->bWK:Lokhttp3/y;

    if-eqz v0, :cond_6a

    .line 583
    iget-object v0, p0, Lokhttp3/internal/connection/c;->bWK:Lokhttp3/y;

    .line 49094
    iget-object v0, v0, Lokhttp3/y;->bWa:Lokhttp3/l;

    .line 583
    :goto_4f
    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, " protocol="

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

    move-result-object v0

    iget-object v1, p0, Lokhttp3/internal/connection/c;->bWJ:Lokhttp3/Protocol;

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

    move-result-object v0

    const/16 v1, 0x7d

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

    move-result-object v0

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

    move-result-object v0

    .line 576
    return-object v0

    .line 583
    :cond_6a
    const-string v0, "none"

    goto :goto_4f
.end method