AmazonS3Client.smali

.class public Lcom/amazonaws/services/s3/AmazonS3Client;
.super Lcom/amazonaws/AmazonWebServiceClient;
.source "SourceFile"

# interfaces
.implements Lcom/amazonaws/services/s3/AmazonS3;


# static fields
.field public static p:Lcom/amazonaws/logging/Log;

.field public static final q:Ljava/util/Map;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/Map<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation
.end field


# instance fields
.field public final i:Lcom/amazonaws/services/s3/internal/S3ErrorResponseHandler;

.field public final j:Lcom/amazonaws/services/s3/internal/S3XmlResponseHandler;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Lcom/amazonaws/services/s3/internal/S3XmlResponseHandler<",
            "Ljava/lang/Void;",
            ">;"
        }
    .end annotation
.end field

.field public k:Lcom/amazonaws/services/s3/S3ClientOptions;

.field public final l:Lcom/amazonaws/auth/AWSCredentialsProvider;

.field public volatile m:Ljava/lang/String;

.field public n:I

.field public final o:Lcom/amazonaws/services/s3/internal/CompleteMultipartUploadRetryCondition;


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

    .line 1
    const-class v0, Lcom/amazonaws/services/s3/AmazonS3Client;

    invoke-static {v0}, Lcom/amazonaws/logging/LogFactory;->a(Ljava/lang/Class;)Lcom/amazonaws/logging/Log;

    move-result-object v0

    sput-object v0, Lcom/amazonaws/services/s3/AmazonS3Client;->p:Lcom/amazonaws/logging/Log;

    .line 2
    sget-object v0, Lcom/amazonaws/services/s3/metrics/S3ServiceMetric;->d:[Lcom/amazonaws/services/s3/metrics/S3ServiceMetric;

    invoke-virtual {v0}, [Lcom/amazonaws/services/s3/metrics/S3ServiceMetric;->clone()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [Lcom/amazonaws/services/s3/metrics/S3ServiceMetric;

    .line 3
    invoke-static {v0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;

    move-result-object v0

    invoke-static {v0}, Lcom/amazonaws/metrics/AwsSdkMetrics;->addAll(Ljava/util/Collection;)Z

    .line 4
    const-class v0, Lcom/amazonaws/services/s3/internal/AWSS3V4Signer;

    sget-object v1, Lcom/amazonaws/auth/SignerFactory;->a:Ljava/util/concurrent/ConcurrentHashMap;

    .line 5
    sget-object v1, Lcom/amazonaws/auth/SignerFactory;->a:Ljava/util/concurrent/ConcurrentHashMap;

    const-string v2, "AWSS3V4SignerType"

    invoke-virtual {v1, v2, v0}, Ljava/util/concurrent/ConcurrentHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 6
    new-instance v0, Lcom/amazonaws/services/s3/model/transform/BucketConfigurationXmlFactory;

    invoke-direct {v0}, Lcom/amazonaws/services/s3/model/transform/BucketConfigurationXmlFactory;-><init>()V

    .line 7
    new-instance v0, Lcom/amazonaws/services/s3/model/transform/RequestPaymentConfigurationXmlFactory;

    invoke-direct {v0}, Lcom/amazonaws/services/s3/model/transform/RequestPaymentConfigurationXmlFactory;-><init>()V

    .line 8
    new-instance v0, Lcom/amazonaws/services/s3/AmazonS3Client$1;

    invoke-direct {v0}, Lcom/amazonaws/services/s3/AmazonS3Client$1;-><init>()V

    invoke-static {v0}, Ljava/util/Collections;->synchronizedMap(Ljava/util/Map;)Ljava/util/Map;

    move-result-object v0

    sput-object v0, Lcom/amazonaws/services/s3/AmazonS3Client;->q:Ljava/util/Map;

    return-void
.end method

.method public constructor <init>()V
    .registers 3
    .annotation runtime Ljava/lang/Deprecated;
    .end annotation

    .line 1
    new-instance v0, Lcom/amazonaws/auth/DefaultAWSCredentialsProviderChain;

    invoke-direct {v0}, Lcom/amazonaws/auth/DefaultAWSCredentialsProviderChain;-><init>()V

    .line 2
    new-instance v1, Lcom/amazonaws/ClientConfiguration;

    invoke-direct {v1}, Lcom/amazonaws/ClientConfiguration;-><init>()V

    invoke-direct {p0, v0, v1}, Lcom/amazonaws/services/s3/AmazonS3Client;-><init>(Lcom/amazonaws/auth/AWSCredentialsProvider;Lcom/amazonaws/ClientConfiguration;)V

    return-void
.end method

.method public constructor <init>(Lcom/amazonaws/auth/AWSCredentials;Lcom/amazonaws/ClientConfiguration;)V
    .registers 4
    .annotation runtime Ljava/lang/Deprecated;
    .end annotation

    .line 3
    new-instance v0, Lcom/amazonaws/internal/StaticCredentialsProvider;

    invoke-direct {v0, p1}, Lcom/amazonaws/internal/StaticCredentialsProvider;-><init>(Lcom/amazonaws/auth/AWSCredentials;)V

    invoke-direct {p0, v0, p2}, Lcom/amazonaws/services/s3/AmazonS3Client;-><init>(Lcom/amazonaws/auth/AWSCredentialsProvider;Lcom/amazonaws/ClientConfiguration;)V

    return-void
.end method

.method public constructor <init>(Lcom/amazonaws/auth/AWSCredentialsProvider;Lcom/amazonaws/ClientConfiguration;)V
    .registers 5
    .annotation runtime Ljava/lang/Deprecated;
    .end annotation

    .line 4
    new-instance v0, Lcom/amazonaws/http/UrlHttpClient;

    invoke-direct {v0, p2}, Lcom/amazonaws/http/UrlHttpClient;-><init>(Lcom/amazonaws/ClientConfiguration;)V

    .line 5
    invoke-direct {p0, p2, v0}, Lcom/amazonaws/AmazonWebServiceClient;-><init>(Lcom/amazonaws/ClientConfiguration;Lcom/amazonaws/http/HttpClient;)V

    .line 6
    new-instance p2, Lcom/amazonaws/services/s3/internal/S3ErrorResponseHandler;

    invoke-direct {p2}, Lcom/amazonaws/services/s3/internal/S3ErrorResponseHandler;-><init>()V

    iput-object p2, p0, Lcom/amazonaws/services/s3/AmazonS3Client;->i:Lcom/amazonaws/services/s3/internal/S3ErrorResponseHandler;

    .line 7
    new-instance p2, Lcom/amazonaws/services/s3/internal/S3XmlResponseHandler;

    const/4 v0, 0x0

    invoke-direct {p2, v0}, Lcom/amazonaws/services/s3/internal/S3XmlResponseHandler;-><init>(Lcom/amazonaws/transform/Unmarshaller;)V

    iput-object p2, p0, Lcom/amazonaws/services/s3/AmazonS3Client;->j:Lcom/amazonaws/services/s3/internal/S3XmlResponseHandler;

    .line 8
    new-instance p2, Lcom/amazonaws/services/s3/S3ClientOptions;

    invoke-direct {p2}, Lcom/amazonaws/services/s3/S3ClientOptions;-><init>()V

    iput-object p2, p0, Lcom/amazonaws/services/s3/AmazonS3Client;->k:Lcom/amazonaws/services/s3/S3ClientOptions;

    const/16 p2, 0x400

    .line 9
    iput p2, p0, Lcom/amazonaws/services/s3/AmazonS3Client;->n:I

    .line 10
    new-instance p2, Lcom/amazonaws/services/s3/internal/CompleteMultipartUploadRetryCondition;

    invoke-direct {p2}, Lcom/amazonaws/services/s3/internal/CompleteMultipartUploadRetryCondition;-><init>()V

    iput-object p2, p0, Lcom/amazonaws/services/s3/AmazonS3Client;->o:Lcom/amazonaws/services/s3/internal/CompleteMultipartUploadRetryCondition;

    .line 11
    iput-object p1, p0, Lcom/amazonaws/services/s3/AmazonS3Client;->l:Lcom/amazonaws/auth/AWSCredentialsProvider;

    const-string p1, "s3.amazonaws.com"

    .line 12
    invoke-virtual {p0, p1}, Lcom/amazonaws/services/s3/AmazonS3Client;->B(Ljava/lang/String;)V

    const-string p1, "s3"

    .line 13
    iput-object p1, p0, Lcom/amazonaws/AmazonWebServiceClient;->g:Ljava/lang/String;

    .line 14
    new-instance p1, Lcom/amazonaws/handlers/HandlerChainFactory;

    invoke-direct {p1}, Lcom/amazonaws/handlers/HandlerChainFactory;-><init>()V

    .line 15
    iget-object p2, p0, Lcom/amazonaws/AmazonWebServiceClient;->d:Ljava/util/concurrent/CopyOnWriteArrayList;

    .line 16
    const-class v0, Lcom/amazonaws/handlers/RequestHandler;

    const-string v1, "/com/amazonaws/services/s3/request.handlers"

    invoke-virtual {p1, v1, v0}, Lcom/amazonaws/handlers/HandlerChainFactory;->a(Ljava/lang/String;Ljava/lang/Class;)Ljava/util/List;

    move-result-object v0

    .line 17
    invoke-virtual {p2, v0}, Ljava/util/concurrent/CopyOnWriteArrayList;->addAll(Ljava/util/Collection;)Z

    .line 18
    iget-object p2, p0, Lcom/amazonaws/AmazonWebServiceClient;->d:Ljava/util/concurrent/CopyOnWriteArrayList;

    .line 19
    const-class v0, Lcom/amazonaws/handlers/RequestHandler2;

    const-string v1, "/com/amazonaws/services/s3/request.handler2s"

    invoke-virtual {p1, v1, v0}, Lcom/amazonaws/handlers/HandlerChainFactory;->a(Ljava/lang/String;Ljava/lang/Class;)Ljava/util/List;

    move-result-object p1

    .line 20
    invoke-virtual {p2, p1}, Ljava/util/concurrent/CopyOnWriteArrayList;->addAll(Ljava/util/Collection;)Z

    return-void
.end method

.method public static m(Lcom/amazonaws/Request;Lcom/amazonaws/services/s3/model/AccessControlList;)V
    .registers 12
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/amazonaws/Request<",
            "+",
            "Lcom/amazonaws/AmazonWebServiceRequest;",
            ">;",
            "Lcom/amazonaws/services/s3/model/AccessControlList;",
            ")V"
        }
    .end annotation

    .line 1
    iget-object v0, p1, Lcom/amazonaws/services/s3/model/AccessControlList;->a:Ljava/util/HashSet;

    if-eqz v0, :cond_11

    iget-object v1, p1, Lcom/amazonaws/services/s3/model/AccessControlList;->b:Ljava/util/LinkedList;

    if-nez v1, :cond_9

    goto :goto_11

    .line 2
    :cond_9
    new-instance p0, Ljava/lang/IllegalStateException;

    const-string p1, "Both grant set and grant list cannot be null"

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

    throw p0

    :cond_11
    :goto_11
    if-nez v0, :cond_2b

    .line 3
    iget-object v0, p1, Lcom/amazonaws/services/s3/model/AccessControlList;->b:Ljava/util/LinkedList;

    if-nez v0, :cond_1f

    .line 4
    new-instance v0, Ljava/util/HashSet;

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

    iput-object v0, p1, Lcom/amazonaws/services/s3/model/AccessControlList;->a:Ljava/util/HashSet;

    goto :goto_2b

    .line 5
    :cond_1f
    new-instance v0, Ljava/util/HashSet;

    iget-object v1, p1, Lcom/amazonaws/services/s3/model/AccessControlList;->b:Ljava/util/LinkedList;

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

    iput-object v0, p1, Lcom/amazonaws/services/s3/model/AccessControlList;->a:Ljava/util/HashSet;

    const/4 v0, 0x0

    .line 6
    iput-object v0, p1, Lcom/amazonaws/services/s3/model/AccessControlList;->b:Ljava/util/LinkedList;

    .line 7
    :cond_2b
    :goto_2b
    iget-object p1, p1, Lcom/amazonaws/services/s3/model/AccessControlList;->a:Ljava/util/HashSet;

    .line 8
    new-instance v0, Ljava/util/HashMap;

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

    .line 9
    invoke-virtual {p1}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator;

    move-result-object p1

    :goto_36
    invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z

    move-result v1

    if-eqz v1, :cond_62

    invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Lcom/amazonaws/services/s3/model/Grant;

    .line 10
    iget-object v2, v1, Lcom/amazonaws/services/s3/model/Grant;->b:Lcom/amazonaws/services/s3/model/Permission;

    .line 11
    invoke-virtual {v0, v2}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z

    move-result v2

    if-nez v2, :cond_54

    .line 12
    iget-object v2, v1, Lcom/amazonaws/services/s3/model/Grant;->b:Lcom/amazonaws/services/s3/model/Permission;

    .line 13
    new-instance v3, Ljava/util/LinkedList;

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

    invoke-virtual {v0, v2, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 14
    :cond_54
    iget-object v2, v1, Lcom/amazonaws/services/s3/model/Grant;->b:Lcom/amazonaws/services/s3/model/Permission;

    .line 15
    invoke-virtual {v0, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Ljava/util/Collection;

    .line 16
    iget-object v1, v1, Lcom/amazonaws/services/s3/model/Grant;->a:Lcom/amazonaws/services/s3/model/Grantee;

    .line 17
    invoke-interface {v2, v1}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z

    goto :goto_36

    .line 18
    :cond_62
    invoke-static {}, Lcom/amazonaws/services/s3/model/Permission;->values()[Lcom/amazonaws/services/s3/model/Permission;

    move-result-object p1

    array-length v1, p1

    const/4 v2, 0x0

    const/4 v3, 0x0

    :goto_69
    if-ge v3, v1, :cond_c5

    aget-object v4, p1, v3

    .line 19
    invoke-virtual {v0, v4}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z

    move-result v5

    if-eqz v5, :cond_c2

    .line 20
    invoke-virtual {v0, v4}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v5

    check-cast v5, Ljava/util/Collection;

    .line 21
    new-instance v6, Ljava/lang/StringBuilder;

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

    .line 22
    invoke-interface {v5}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;

    move-result-object v5

    const/4 v7, 0x0

    :goto_83
    invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z

    move-result v8

    if-eqz v8, :cond_b4

    invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v8

    check-cast v8, Lcom/amazonaws/services/s3/model/Grantee;

    if-nez v7, :cond_93

    const/4 v7, 0x1

    goto :goto_98

    :cond_93
    const-string v9, ", "

    .line 23
    invoke-virtual {v6, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 24
    :goto_98
    invoke-interface {v8}, Lcom/amazonaws/services/s3/model/Grantee;->getTypeIdentifier()Ljava/lang/String;

    move-result-object v9

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

    const-string v9, "="

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

    const-string v9, "\""

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

    .line 25
    invoke-interface {v8}, Lcom/amazonaws/services/s3/model/Grantee;->getIdentifier()Ljava/lang/String;

    move-result-object v8

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

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

    goto :goto_83

    .line 26
    :cond_b4
    invoke-virtual {v4}, Lcom/amazonaws/services/s3/model/Permission;->getHeaderName()Ljava/lang/String;

    move-result-object v4

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

    move-result-object v5

    move-object v6, p0

    check-cast v6, Lcom/amazonaws/DefaultRequest;

    invoke-virtual {v6, v4, v5}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    :cond_c2
    add-int/lit8 v3, v3, 0x1

    goto :goto_69

    :cond_c5
    return-void
.end method

.method public static n(Lcom/amazonaws/Request;Ljava/lang/String;Ljava/lang/String;)V
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/amazonaws/Request<",
            "*>;",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ")V"
        }
    .end annotation

    if-eqz p2, :cond_7

    check-cast p0, Lcom/amazonaws/DefaultRequest;

    invoke-virtual {p0, p1, p2}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    :cond_7
    return-void
.end method

.method public static o(Lcom/amazonaws/Request;Ljava/lang/String;Ljava/util/List;)V
    .registers 6
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/amazonaws/Request<",
            "*>;",
            "Ljava/lang/String;",
            "Ljava/util/List<",
            "Ljava/lang/String;",
            ">;)V"
        }
    .end annotation

    if-eqz p2, :cond_30

    .line 1
    invoke-interface {p2}, Ljava/util/List;->isEmpty()Z

    move-result v0

    if-nez v0, :cond_30

    .line 2
    sget-object v0, Lcom/amazonaws/services/s3/internal/ServiceUtils;->a:Lcom/amazonaws/logging/Log;

    .line 3
    invoke-interface {p2}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object p2

    const/4 v0, 0x1

    const-string v1, ""

    :goto_11
    invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z

    move-result v2

    if-eqz v2, :cond_2b

    invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Ljava/lang/String;

    if-nez v0, :cond_25

    const-string v0, ", "

    .line 4
    invoke-static {v1, v0}, Landroidx/appcompat/e;->g(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    .line 5
    :cond_25
    invoke-static {v1, v2}, Landroidx/appcompat/e;->g(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    const/4 v0, 0x0

    goto :goto_11

    .line 6
    :cond_2b
    check-cast p0, Lcom/amazonaws/DefaultRequest;

    invoke-virtual {p0, p1, v1}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    :cond_30
    return-void
.end method

.method public static x(Lcom/amazonaws/Request;Lcom/amazonaws/services/s3/model/ObjectMetadata;)V
    .registers 6
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/amazonaws/Request<",
            "*>;",
            "Lcom/amazonaws/services/s3/model/ObjectMetadata;",
            ")V"
        }
    .end annotation

    .line 1
    invoke-static {p1}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;

    .line 2
    new-instance v0, Ljava/util/TreeMap;

    sget-object v1, Ljava/lang/String;->CASE_INSENSITIVE_ORDER:Ljava/util/Comparator;

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

    .line 3
    iget-object v1, p1, Lcom/amazonaws/services/s3/model/ObjectMetadata;->b:Ljava/util/TreeMap;

    invoke-virtual {v0, v1}, Ljava/util/TreeMap;->putAll(Ljava/util/Map;)V

    .line 4
    invoke-static {v0}, Ljava/util/Collections;->unmodifiableMap(Ljava/util/Map;)Ljava/util/Map;

    move-result-object v0

    const-string/jumbo v1, "x-amz-server-side-encryption-aws-kms-key-id"

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

    move-result-object v1

    if-eqz v1, :cond_34

    sget-object v1, Lcom/amazonaws/services/s3/model/ObjectMetadata;->g:Ljava/lang/String;

    const-string/jumbo v2, "x-amz-server-side-encryption"

    .line 6
    invoke-interface {v0, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v2

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

    move-result v1

    if-eqz v1, :cond_2c

    goto :goto_34

    .line 8
    :cond_2c
    new-instance p0, Ljava/lang/IllegalArgumentException;

    const-string p1, "If you specify a KMS key id for server side encryption, you must also set the SSEAlgorithm to ObjectMetadata.KMS_SERVER_SIDE_ENCRYPTION"

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

    throw p0

    .line 9
    :cond_34
    :goto_34
    invoke-interface {v0}, Ljava/util/Map;->entrySet()Ljava/util/Set;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;

    move-result-object v0

    :goto_3c
    invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z

    move-result v1

    if-eqz v1, :cond_5d

    invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Ljava/util/Map$Entry;

    .line 10
    invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Ljava/lang/String;

    invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;

    move-result-object v1

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

    move-result-object v1

    move-object v3, p0

    check-cast v3, Lcom/amazonaws/DefaultRequest;

    invoke-virtual {v3, v2, v1}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_3c

    .line 11
    :cond_5d
    invoke-virtual {p1}, Lcom/amazonaws/services/s3/model/ObjectMetadata;->k()Ljava/util/Date;

    move-result-object v0

    if-eqz v0, :cond_71

    const-string v1, "EEE, dd MMM yyyy HH:mm:ss z"

    .line 12
    invoke-static {v1, v0}, Lcom/amazonaws/util/DateUtils;->b(Ljava/lang/String;Ljava/util/Date;)Ljava/lang/String;

    move-result-object v0

    .line 13
    move-object v1, p0

    check-cast v1, Lcom/amazonaws/DefaultRequest;

    const-string v2, "Expires"

    invoke-virtual {v1, v2, v0}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    .line 14
    :cond_71
    iget-object p1, p1, Lcom/amazonaws/services/s3/model/ObjectMetadata;->a:Ljava/util/Map;

    if-eqz p1, :cond_b8

    .line 15
    invoke-interface {p1}, Ljava/util/Map;->entrySet()Ljava/util/Set;

    move-result-object p1

    invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;

    move-result-object p1

    :cond_7d
    :goto_7d
    invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_b8

    invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/util/Map$Entry;

    .line 16
    invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Ljava/lang/String;

    .line 17
    invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/String;

    if-eqz v1, :cond_9b

    .line 18
    invoke-virtual {v1}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object v1

    :cond_9b
    if-eqz v0, :cond_a1

    .line 19
    invoke-virtual {v0}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object v0

    :cond_a1
    const-string/jumbo v2, "x-amz-tagging"

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

    move-result v2

    if-nez v2, :cond_7d

    const-string/jumbo v2, "x-amz-meta-"

    .line 21
    invoke-static {v2, v1}, Landroidx/appcompat/e;->g(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    .line 22
    move-object v2, p0

    check-cast v2, Lcom/amazonaws/DefaultRequest;

    invoke-virtual {v2, v1, v0}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_7d

    :cond_b8
    return-void
.end method

.method public static y(Lcom/amazonaws/Request;Z)V
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/amazonaws/Request<",
            "*>;Z)V"
        }
    .end annotation

    if-eqz p1, :cond_c

    check-cast p0, Lcom/amazonaws/DefaultRequest;

    const-string/jumbo p1, "x-amz-request-payer"

    const-string v0, "requester"

    invoke-virtual {p0, p1, v0}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    :cond_c
    return-void
.end method

.method public static z(Lcom/amazonaws/Request;Lcom/amazonaws/services/s3/model/SSEAwsKeyManagementParams;)V
    .registers 4
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/amazonaws/Request<",
            "*>;",
            "Lcom/amazonaws/services/s3/model/SSEAwsKeyManagementParams;",
            ")V"
        }
    .end annotation

    if-eqz p1, :cond_16

    .line 1
    sget-object v0, Lcom/amazonaws/services/s3/model/SSEAlgorithm;->KMS:Lcom/amazonaws/services/s3/model/SSEAlgorithm;

    invoke-virtual {v0}, Lcom/amazonaws/services/s3/model/SSEAlgorithm;->getAlgorithm()Ljava/lang/String;

    move-result-object v0

    const-string/jumbo v1, "x-amz-server-side-encryption"

    .line 2
    invoke-static {p0, v1, v0}, Lcom/amazonaws/services/s3/AmazonS3Client;->n(Lcom/amazonaws/Request;Ljava/lang/String;Ljava/lang/String;)V

    .line 3
    iget-object p1, p1, Lcom/amazonaws/services/s3/model/SSEAwsKeyManagementParams;->a:Ljava/lang/String;

    const-string/jumbo v0, "x-amz-server-side-encryption-aws-kms-key-id"

    .line 4
    invoke-static {p0, v0, p1}, Lcom/amazonaws/services/s3/AmazonS3Client;->n(Lcom/amazonaws/Request;Ljava/lang/String;Ljava/lang/String;)V

    :cond_16
    return-void
.end method


# virtual methods
.method public final A(Lcom/amazonaws/Request;Ljava/lang/String;Ljava/lang/String;Ljava/net/URI;)V
    .registers 11
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/amazonaws/Request<",
            "*>;",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            "Ljava/net/URI;",
            ")V"
        }
    .end annotation

    if-nez p4, :cond_4

    .line 1
    iget-object p4, p0, Lcom/amazonaws/AmazonWebServiceClient;->a:Ljava/net/URI;

    .line 2
    :cond_4
    iget-object v0, p0, Lcom/amazonaws/services/s3/AmazonS3Client;->k:Lcom/amazonaws/services/s3/S3ClientOptions;

    .line 3
    iget-boolean v0, v0, Lcom/amazonaws/services/s3/S3ClientOptions;->b:Z

    const/4 v1, 0x1

    if-nez v0, :cond_3d

    .line 4
    invoke-static {p2}, Lcom/amazonaws/services/s3/internal/BucketNameUtils;->isDNSBucketName(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_3d

    .line 5
    invoke-virtual {p4}, Ljava/net/URI;->getHost()Ljava/lang/String;

    move-result-object v0

    if-nez v0, :cond_18

    goto :goto_37

    :cond_18
    const-string v2, "\\."

    .line 6
    invoke-virtual {v0, v2}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;

    move-result-object v0

    .line 7
    array-length v2, v0

    const/4 v3, 0x4

    if-eq v2, v3, :cond_23

    goto :goto_37

    .line 8
    :cond_23
    array-length v2, v0

    const/4 v3, 0x0

    :goto_25
    if-ge v3, v2, :cond_39

    aget-object v4, v0, v3

    .line 9
    :try_start_29
    invoke-static {v4}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v4
    :try_end_2d
    .catch Ljava/lang/NumberFormatException; {:try_start_29 .. :try_end_2d} :catch_37

    if-ltz v4, :cond_37

    const/16 v5, 0xff

    if-le v4, v5, :cond_34

    goto :goto_37

    :cond_34
    add-int/lit8 v3, v3, 0x1

    goto :goto_25

    :catch_37
    :cond_37
    :goto_37
    const/4 v0, 0x0

    goto :goto_3a

    :cond_39
    const/4 v0, 0x1

    :goto_3a
    if-nez v0, :cond_3d

    goto :goto_3e

    :cond_3d
    const/4 v1, 0x0

    :goto_3e
    const-string v0, "/"

    if-eqz v1, :cond_a4

    .line 10
    sget-object v1, Lcom/amazonaws/services/s3/AmazonS3Client;->p:Lcom/amazonaws/logging/Log;

    new-instance v2, Ljava/lang/StringBuilder;

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

    const-string v3, "Using virtual style addressing. Endpoint = "

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

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

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

    move-result-object v2

    invoke-interface {v1, v2}, Lcom/amazonaws/logging/Log;->f(Ljava/lang/Object;)V

    .line 11
    :try_start_58
    new-instance v1, Ljava/net/URI;

    new-instance v2, Ljava/lang/StringBuilder;

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

    invoke-virtual {p4}, Ljava/net/URI;->getScheme()Ljava/lang/String;

    move-result-object v3

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

    const-string v3, "://"

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

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

    const-string v3, "."

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

    .line 12
    invoke-virtual {p4}, Ljava/net/URI;->getAuthority()Ljava/lang/String;

    move-result-object p4

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

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

    move-result-object p4

    invoke-direct {v1, p4}, Ljava/net/URI;-><init>(Ljava/lang/String;)V
    :try_end_81
    .catch Ljava/net/URISyntaxException; {:try_start_58 .. :try_end_81} :catch_97

    .line 13
    move-object p2, p1

    check-cast p2, Lcom/amazonaws/DefaultRequest;

    .line 14
    iput-object v1, p2, Lcom/amazonaws/DefaultRequest;->e:Ljava/net/URI;

    if-eqz p3, :cond_93

    .line 15
    invoke-virtual {p3, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result p4

    if-eqz p4, :cond_93

    .line 16
    invoke-static {v0, p3}, Landroidx/appcompat/e;->g(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object p4

    goto :goto_94

    :cond_93
    move-object p4, p3

    .line 17
    :goto_94
    iput-object p4, p2, Lcom/amazonaws/DefaultRequest;->a:Ljava/lang/String;

    goto :goto_d4

    :catch_97
    move-exception p1

    .line 18
    new-instance p3, Ljava/lang/IllegalArgumentException;

    const-string p4, "Invalid bucket name: "

    .line 19
    invoke-static {p4, p2}, Landroidx/appcompat/e;->g(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object p2

    .line 20
    invoke-direct {p3, p2, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw p3

    .line 21
    :cond_a4
    sget-object v1, Lcom/amazonaws/services/s3/AmazonS3Client;->p:Lcom/amazonaws/logging/Log;

    new-instance v2, Ljava/lang/StringBuilder;

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

    const-string v3, "Using path style addressing. Endpoint = "

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

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

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

    move-result-object v2

    invoke-interface {v1, v2}, Lcom/amazonaws/logging/Log;->f(Ljava/lang/Object;)V

    .line 22
    move-object v1, p1

    check-cast v1, Lcom/amazonaws/DefaultRequest;

    .line 23
    iput-object p4, v1, Lcom/amazonaws/DefaultRequest;->e:Ljava/net/URI;

    if-eqz p2, :cond_d4

    .line 24
    invoke-static {p2, v0}, Landroidx/appcompat/p;->d(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p2

    if-eqz p3, :cond_c9

    move-object p4, p3

    goto :goto_cb

    :cond_c9
    const-string p4, ""

    .line 25
    :goto_cb
    invoke-virtual {p2, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

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

    move-result-object p2

    .line 26
    iput-object p2, v1, Lcom/amazonaws/DefaultRequest;->a:Ljava/lang/String;

    .line 27
    :cond_d4
    :goto_d4
    sget-object p2, Lcom/amazonaws/services/s3/AmazonS3Client;->p:Lcom/amazonaws/logging/Log;

    new-instance p4, Ljava/lang/StringBuilder;

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

    const-string v0, "Key: "

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

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

    const-string p3, "; Request: "

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

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

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

    move-result-object p1

    invoke-interface {p2, p1}, Lcom/amazonaws/logging/Log;->f(Ljava/lang/Object;)V

    return-void
.end method

.method public final B(Ljava/lang/String;)V
    .registers 4

    const-string v0, "s3-accelerate.amazonaws.com"

    .line 1
    invoke-virtual {p1, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z

    move-result v0

    if-nez v0, :cond_31

    .line 2
    invoke-virtual {p0, p1}, Lcom/amazonaws/AmazonWebServiceClient;->l(Ljava/lang/String;)Ljava/net/URI;

    move-result-object v0

    const/4 v1, 0x0

    .line 3
    invoke-virtual {p0, v0, v1}, Lcom/amazonaws/AmazonWebServiceClient;->i(Ljava/net/URI;Z)Lcom/amazonaws/auth/Signer;

    move-result-object v1

    .line 4
    monitor-enter p0

    .line 5
    :try_start_12
    iput-object v0, p0, Lcom/amazonaws/AmazonWebServiceClient;->a:Ljava/net/URI;

    .line 6
    iput-object v1, p0, Lcom/amazonaws/AmazonWebServiceClient;->e:Lcom/amazonaws/auth/Signer;

    .line 7
    monitor-exit p0
    :try_end_17
    .catchall {:try_start_12 .. :try_end_17} :catchall_2e

    const-string v0, "s3.amazonaws.com"

    .line 8
    invoke-virtual {p1, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z

    move-result p1

    if-nez p1, :cond_2d

    .line 9
    iget-object p1, p0, Lcom/amazonaws/AmazonWebServiceClient;->a:Ljava/net/URI;

    invoke-virtual {p1}, Ljava/net/URI;->getHost()Ljava/lang/String;

    move-result-object p1

    const-string v0, "s3"

    invoke-static {p1, v0}, Lcom/amazonaws/util/AwsHostNameUtils;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object p1

    iput-object p1, p0, Lcom/amazonaws/services/s3/AmazonS3Client;->m:Ljava/lang/String;

    :cond_2d
    return-void

    :catchall_2e
    move-exception p1

    .line 10
    :try_start_2f
    monitor-exit p0
    :try_end_30
    .catchall {:try_start_2f .. :try_end_30} :catchall_2e

    throw p1

    .line 11
    :cond_31
    new-instance p1, Ljava/lang/IllegalStateException;

    const-string v0, "To enable accelerate mode, please use AmazonS3Client.setS3ClientOptions(S3ClientOptions.builder().setAccelerateModeEnabled(true).build());"

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

    throw p1
.end method

.method public final C(Lcom/amazonaws/services/s3/model/ObjectTagging;)Ljava/lang/String;
    .registers 5

    if-eqz p1, :cond_46

    .line 1
    iget-object v0, p1, Lcom/amazonaws/services/s3/model/ObjectTagging;->a:Ljava/util/List;

    if-nez v0, :cond_7

    goto :goto_46

    .line 2
    :cond_7
    new-instance v0, Ljava/lang/StringBuilder;

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

    .line 3
    iget-object p1, p1, Lcom/amazonaws/services/s3/model/ObjectTagging;->a:Ljava/util/List;

    .line 4
    invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object p1

    .line 5
    :cond_12
    :goto_12
    invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z

    move-result v1

    if-eqz v1, :cond_41

    .line 6
    invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Lcom/amazonaws/services/s3/model/Tag;

    .line 7
    iget-object v2, v1, Lcom/amazonaws/services/s3/model/Tag;->a:Ljava/lang/String;

    .line 8
    invoke-static {v2}, Lcom/amazonaws/services/s3/internal/S3HttpUtils;->a(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v2

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

    const/16 v2, 0x3d

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

    .line 9
    iget-object v1, v1, Lcom/amazonaws/services/s3/model/Tag;->b:Ljava/lang/String;

    .line 10
    invoke-static {v1}, Lcom/amazonaws/services/s3/internal/S3HttpUtils;->a(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

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

    .line 11
    invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z

    move-result v1

    if-eqz v1, :cond_12

    const-string v1, "&"

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

    goto :goto_12

    .line 13
    :cond_41
    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    return-object p1

    :cond_46
    :goto_46
    const/4 p1, 0x0

    return-object p1
.end method

.method public final a(Lcom/amazonaws/services/s3/model/GetObjectRequest;)Lcom/amazonaws/services/s3/model/S3Object;
    .registers 12
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/amazonaws/AmazonClientException;,
            Lcom/amazonaws/AmazonServiceException;
        }
    .end annotation

    .line 1
    iget-object v0, p1, Lcom/amazonaws/services/s3/model/GetObjectRequest;->d:Lcom/amazonaws/services/s3/model/S3ObjectIdBuilder;

    .line 2
    iget-object v0, v0, Lcom/amazonaws/services/s3/model/S3ObjectIdBuilder;->a:Ljava/lang/String;

    const-string v1, "The bucket name parameter must be specified when requesting an object"

    .line 3
    invoke-static {v0, v1}, Lcom/amazonaws/util/ValidationUtils;->a(Ljava/lang/Object;Ljava/lang/String;)V

    .line 4
    iget-object v0, p1, Lcom/amazonaws/services/s3/model/GetObjectRequest;->d:Lcom/amazonaws/services/s3/model/S3ObjectIdBuilder;

    .line 5
    iget-object v0, v0, Lcom/amazonaws/services/s3/model/S3ObjectIdBuilder;->b:Ljava/lang/String;

    const-string v1, "The key parameter must be specified when requesting an object"

    .line 6
    invoke-static {v0, v1}, Lcom/amazonaws/util/ValidationUtils;->a(Ljava/lang/Object;Ljava/lang/String;)V

    .line 7
    iget-object v0, p1, Lcom/amazonaws/services/s3/model/GetObjectRequest;->d:Lcom/amazonaws/services/s3/model/S3ObjectIdBuilder;

    .line 8
    iget-object v1, v0, Lcom/amazonaws/services/s3/model/S3ObjectIdBuilder;->a:Ljava/lang/String;

    .line 9
    iget-object v0, v0, Lcom/amazonaws/services/s3/model/S3ObjectIdBuilder;->b:Ljava/lang/String;

    .line 10
    sget-object v2, Lcom/amazonaws/http/HttpMethodName;->GET:Lcom/amazonaws/http/HttpMethodName;

    .line 11
    invoke-virtual {p0, v1, v0, p1, v2}, Lcom/amazonaws/services/s3/AmazonS3Client;->p(Ljava/lang/String;Ljava/lang/String;Lcom/amazonaws/AmazonWebServiceRequest;Lcom/amazonaws/http/HttpMethodName;)Lcom/amazonaws/Request;

    move-result-object v0

    .line 12
    iget-object v1, p1, Lcom/amazonaws/services/s3/model/GetObjectRequest;->d:Lcom/amazonaws/services/s3/model/S3ObjectIdBuilder;

    .line 13
    iget-object v1, v1, Lcom/amazonaws/services/s3/model/S3ObjectIdBuilder;->c:Ljava/lang/String;

    if-eqz v1, :cond_2d

    .line 14
    move-object v2, v0

    check-cast v2, Lcom/amazonaws/DefaultRequest;

    const-string/jumbo v3, "versionId"

    invoke-virtual {v2, v3, v1}, Lcom/amazonaws/DefaultRequest;->b(Ljava/lang/String;Ljava/lang/String;)V

    .line 15
    :cond_2d
    iget-object v1, p1, Lcom/amazonaws/services/s3/model/GetObjectRequest;->e:[J

    const/4 v2, 0x0

    if-nez v1, :cond_34

    move-object v1, v2

    goto :goto_3a

    :cond_34
    invoke-virtual {v1}, [J->clone()Ljava/lang/Object;

    move-result-object v1

    check-cast v1, [J

    :goto_3a
    const-wide/16 v3, 0x0

    const/4 v5, 0x1

    if-eqz v1, :cond_77

    const-string v6, "bytes="

    .line 16
    invoke-static {v6}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v6

    const/4 v7, 0x0

    .line 17
    aget-wide v7, v1, v7

    invoke-static {v7, v8}, Ljava/lang/Long;->toString(J)Ljava/lang/String;

    move-result-object v7

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

    const-string v7, "-"

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

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

    move-result-object v6

    .line 18
    aget-wide v7, v1, v5

    cmp-long v9, v7, v3

    if-ltz v9, :cond_6f

    .line 19
    invoke-static {v6}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v6

    .line 20
    aget-wide v7, v1, v5

    invoke-static {v7, v8}, Ljava/lang/Long;->toString(J)Ljava/lang/String;

    move-result-object v1

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

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

    move-result-object v6

    .line 21
    :cond_6f
    move-object v1, v0

    check-cast v1, Lcom/amazonaws/DefaultRequest;

    const-string v7, "Range"

    invoke-virtual {v1, v7, v6}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    .line 22
    :cond_77
    iget-object v1, p1, Lcom/amazonaws/services/s3/model/GetObjectRequest;->f:Ljava/util/ArrayList;

    const-string v6, "If-Match"

    .line 23
    invoke-static {v0, v6, v1}, Lcom/amazonaws/services/s3/AmazonS3Client;->o(Lcom/amazonaws/Request;Ljava/lang/String;Ljava/util/List;)V

    .line 24
    iget-object v1, p1, Lcom/amazonaws/services/s3/model/GetObjectRequest;->g:Ljava/util/ArrayList;

    const-string v6, "If-None-Match"

    .line 25
    invoke-static {v0, v6, v1}, Lcom/amazonaws/services/s3/AmazonS3Client;->o(Lcom/amazonaws/Request;Ljava/lang/String;Ljava/util/List;)V

    .line 26
    iget-object v1, p1, Lcom/amazonaws/services/s3/model/GetObjectRequest;->h:Lcom/amazonaws/event/ProgressListener;

    .line 27
    invoke-static {v1}, Lcom/amazonaws/event/ProgressListenerCallbackExecutor;->b(Lcom/amazonaws/event/ProgressListener;)Lcom/amazonaws/event/ProgressListenerCallbackExecutor;

    move-result-object v1

    .line 28
    :try_start_8b
    new-instance v6, Lcom/amazonaws/services/s3/internal/S3ObjectResponseHandler;

    invoke-direct {v6}, Lcom/amazonaws/services/s3/internal/S3ObjectResponseHandler;-><init>()V

    .line 29
    iget-object v7, p1, Lcom/amazonaws/services/s3/model/GetObjectRequest;->d:Lcom/amazonaws/services/s3/model/S3ObjectIdBuilder;

    .line 30
    iget-object v8, v7, Lcom/amazonaws/services/s3/model/S3ObjectIdBuilder;->a:Ljava/lang/String;

    .line 31
    iget-object v7, v7, Lcom/amazonaws/services/s3/model/S3ObjectIdBuilder;->b:Ljava/lang/String;

    .line 32
    invoke-virtual {p0, v0, v6, v8, v7}, Lcom/amazonaws/services/s3/AmazonS3Client;->v(Lcom/amazonaws/Request;Lcom/amazonaws/http/HttpResponseHandler;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/amazonaws/services/s3/model/S3Object;

    .line 33
    iget-object p1, p1, Lcom/amazonaws/services/s3/model/GetObjectRequest;->d:Lcom/amazonaws/services/s3/model/S3ObjectIdBuilder;

    .line 34
    iget-object v6, p1, Lcom/amazonaws/services/s3/model/S3ObjectIdBuilder;->a:Ljava/lang/String;

    .line 35
    iput-object v6, v0, Lcom/amazonaws/services/s3/model/S3Object;->b:Ljava/lang/String;

    .line 36
    iget-object p1, p1, Lcom/amazonaws/services/s3/model/S3ObjectIdBuilder;->b:Ljava/lang/String;

    .line 37
    iput-object p1, v0, Lcom/amazonaws/services/s3/model/S3Object;->a:Ljava/lang/String;

    .line 38
    iget-object p1, v0, Lcom/amazonaws/services/s3/model/S3Object;->d:Lcom/amazonaws/services/s3/model/S3ObjectInputStream;

    .line 39
    new-instance v6, Lcom/amazonaws/util/ServiceClientHolderInputStream;

    invoke-direct {v6, p1}, Lcom/amazonaws/util/ServiceClientHolderInputStream;-><init>(Ljava/io/InputStream;)V

    if-eqz v1, :cond_c1

    .line 40
    new-instance p1, Lcom/amazonaws/event/ProgressReportingInputStream;

    invoke-direct {p1, v6, v1}, Lcom/amazonaws/event/ProgressReportingInputStream;-><init>(Ljava/io/InputStream;Lcom/amazonaws/event/ProgressListenerCallbackExecutor;)V

    .line 41
    iput-boolean v5, p1, Lcom/amazonaws/event/ProgressReportingInputStream;->d:Z

    .line 42
    iget v6, p0, Lcom/amazonaws/services/s3/AmazonS3Client;->n:I

    mul-int/lit16 v6, v6, 0x400

    .line 43
    iput v6, p1, Lcom/amazonaws/event/ProgressReportingInputStream;->a:I

    const/4 v6, 0x2

    .line 44
    invoke-virtual {p0, v1, v6}, Lcom/amazonaws/services/s3/AmazonS3Client;->u(Lcom/amazonaws/event/ProgressListenerCallbackExecutor;I)V

    move-object v6, p1

    .line 45
    :cond_c1
    new-instance p1, Lcom/amazonaws/util/LengthCheckInputStream;

    .line 46
    iget-object v7, v0, Lcom/amazonaws/services/s3/model/S3Object;->c:Lcom/amazonaws/services/s3/model/ObjectMetadata;

    .line 47
    iget-object v7, v7, Lcom/amazonaws/services/s3/model/ObjectMetadata;->b:Ljava/util/TreeMap;

    const-string v8, "Content-Length"

    invoke-interface {v7, v8}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v7

    check-cast v7, Ljava/lang/Long;

    if-nez v7, :cond_d2

    goto :goto_d6

    .line 48
    :cond_d2
    invoke-virtual {v7}, Ljava/lang/Long;->longValue()J

    move-result-wide v3

    .line 49
    :goto_d6
    invoke-direct {p1, v6, v3, v4, v5}, Lcom/amazonaws/util/LengthCheckInputStream;-><init>(Ljava/io/InputStream;JZ)V

    .line 50
    new-instance v3, Lcom/amazonaws/services/s3/model/S3ObjectInputStream;

    invoke-direct {v3, p1}, Lcom/amazonaws/services/s3/model/S3ObjectInputStream;-><init>(Ljava/io/InputStream;)V

    .line 51
    iput-object v3, v0, Lcom/amazonaws/services/s3/model/S3Object;->d:Lcom/amazonaws/services/s3/model/S3ObjectInputStream;
    :try_end_e0
    .catch Lcom/amazonaws/services/s3/model/AmazonS3Exception; {:try_start_8b .. :try_end_e0} :catch_e1

    return-object v0

    :catch_e1
    move-exception p1

    .line 52
    iget v0, p1, Lcom/amazonaws/AmazonServiceException;->d:I

    const/16 v3, 0x19c

    if-eq v0, v3, :cond_f3

    const/16 v3, 0x130

    if-ne v0, v3, :cond_ed

    goto :goto_f3

    :cond_ed
    const/16 v0, 0x8

    .line 53
    invoke-virtual {p0, v1, v0}, Lcom/amazonaws/services/s3/AmazonS3Client;->u(Lcom/amazonaws/event/ProgressListenerCallbackExecutor;I)V

    .line 54
    throw p1

    :cond_f3
    :goto_f3
    const/16 p1, 0x10

    .line 55
    invoke-virtual {p0, v1, p1}, Lcom/amazonaws/services/s3/AmazonS3Client;->u(Lcom/amazonaws/event/ProgressListenerCallbackExecutor;I)V

    return-object v2
.end method

.method public final b(Lcom/amazonaws/services/s3/model/UploadPartRequest;)Lcom/amazonaws/services/s3/model/UploadPartResult;
    .registers 13
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/amazonaws/AmazonClientException;,
            Lcom/amazonaws/AmazonServiceException;
        }
    .end annotation

    const-string v0, "The request parameter must be specified when uploading a part"

    .line 1
    invoke-static {p1, v0}, Lcom/amazonaws/util/ValidationUtils;->a(Ljava/lang/Object;Ljava/lang/String;)V

    .line 2
    iget-object v0, p1, Lcom/amazonaws/services/s3/model/UploadPartRequest;->e:Ljava/lang/String;

    .line 3
    iget-object v1, p1, Lcom/amazonaws/services/s3/model/UploadPartRequest;->f:Ljava/lang/String;

    .line 4
    iget-object v2, p1, Lcom/amazonaws/services/s3/model/UploadPartRequest;->g:Ljava/lang/String;

    .line 5
    iget v3, p1, Lcom/amazonaws/services/s3/model/UploadPartRequest;->h:I

    .line 6
    iget-wide v8, p1, Lcom/amazonaws/services/s3/model/UploadPartRequest;->i:J

    const-string v4, "The bucket name parameter must be specified when uploading a part"

    .line 7
    invoke-static {v0, v4}, Lcom/amazonaws/util/ValidationUtils;->a(Ljava/lang/Object;Ljava/lang/String;)V

    const-string v4, "The key parameter must be specified when uploading a part"

    .line 8
    invoke-static {v1, v4}, Lcom/amazonaws/util/ValidationUtils;->a(Ljava/lang/Object;Ljava/lang/String;)V

    const-string v4, "The upload ID parameter must be specified when uploading a part"

    .line 9
    invoke-static {v2, v4}, Lcom/amazonaws/util/ValidationUtils;->a(Ljava/lang/Object;Ljava/lang/String;)V

    .line 10
    invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v4

    const-string v5, "The part number parameter must be specified when uploading a part"

    invoke-static {v4, v5}, Lcom/amazonaws/util/ValidationUtils;->a(Ljava/lang/Object;Ljava/lang/String;)V

    .line 11
    invoke-static {v8, v9}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v4

    const-string v5, "The part size parameter must be specified when uploading a part"

    invoke-static {v4, v5}, Lcom/amazonaws/util/ValidationUtils;->a(Ljava/lang/Object;Ljava/lang/String;)V

    .line 12
    sget-object v4, Lcom/amazonaws/http/HttpMethodName;->PUT:Lcom/amazonaws/http/HttpMethodName;

    invoke-virtual {p0, v0, v1, p1, v4}, Lcom/amazonaws/services/s3/AmazonS3Client;->p(Ljava/lang/String;Ljava/lang/String;Lcom/amazonaws/AmazonWebServiceRequest;Lcom/amazonaws/http/HttpMethodName;)Lcom/amazonaws/Request;

    move-result-object v10

    .line 13
    move-object v4, v10

    check-cast v4, Lcom/amazonaws/DefaultRequest;

    const-string v5, "uploadId"

    invoke-virtual {v4, v5, v2}, Lcom/amazonaws/DefaultRequest;->b(Ljava/lang/String;Ljava/lang/String;)V

    .line 14
    invoke-static {v3}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;

    move-result-object v2

    const-string v3, "partNumber"

    invoke-virtual {v4, v3, v2}, Lcom/amazonaws/DefaultRequest;->b(Ljava/lang/String;Ljava/lang/String;)V

    .line 15
    invoke-static {v8, v9}, Ljava/lang/Long;->toString(J)Ljava/lang/String;

    move-result-object v2

    const-string v3, "Content-Length"

    invoke-virtual {v4, v3, v2}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    .line 16
    iget-object v2, p1, Lcom/amazonaws/services/s3/model/UploadPartRequest;->j:Ljava/io/File;

    if-eqz v2, :cond_10d

    .line 17
    :try_start_54
    new-instance v2, Lcom/amazonaws/services/s3/internal/InputSubstream;

    new-instance v5, Lcom/amazonaws/services/s3/internal/RepeatableFileInputStream;

    .line 18
    iget-object v3, p1, Lcom/amazonaws/services/s3/model/UploadPartRequest;->j:Ljava/io/File;

    .line 19
    invoke-direct {v5, v3}, Lcom/amazonaws/services/s3/internal/RepeatableFileInputStream;-><init>(Ljava/io/File;)V

    .line 20
    iget-wide v6, p1, Lcom/amazonaws/services/s3/model/UploadPartRequest;->k:J

    move-object v4, v2

    .line 21
    invoke-direct/range {v4 .. v9}, Lcom/amazonaws/services/s3/internal/InputSubstream;-><init>(Ljava/io/InputStream;JJ)V
    :try_end_63
    .catch Ljava/io/FileNotFoundException; {:try_start_54 .. :try_end_63} :catch_104

    .line 22
    iget-object v3, p0, Lcom/amazonaws/services/s3/AmazonS3Client;->k:Lcom/amazonaws/services/s3/S3ClientOptions;

    .line 23
    invoke-static {p1, v3}, Lcom/amazonaws/services/s3/internal/ServiceUtils;->c(Lcom/amazonaws/AmazonWebServiceRequest;Lcom/amazonaws/services/s3/S3ClientOptions;)Z

    move-result v3

    if-nez v3, :cond_93

    .line 24
    invoke-virtual {v2}, Lcom/amazonaws/internal/SdkFilterInputStream;->markSupported()Z

    move-result v3

    if-eqz v3, :cond_93

    .line 25
    :try_start_71
    invoke-static {v2}, Lcom/amazonaws/util/Md5Utils;->a(Ljava/io/InputStream;)[B

    move-result-object v3

    invoke-static {v3}, Lcom/amazonaws/util/Base64;->encodeAsString([B)Ljava/lang/String;

    move-result-object v3

    const-string v4, "Content-MD5"

    .line 26
    invoke-static {v10, v4, v3}, Lcom/amazonaws/services/s3/AmazonS3Client;->n(Lcom/amazonaws/Request;Ljava/lang/String;Ljava/lang/String;)V

    .line 27
    invoke-virtual {v2}, Lcom/amazonaws/services/s3/internal/InputSubstream;->reset()V
    :try_end_81
    .catch Ljava/lang/Exception; {:try_start_71 .. :try_end_81} :catch_82

    goto :goto_93

    :catch_82
    move-exception p1

    .line 28
    new-instance v0, Lcom/amazonaws/AmazonClientException;

    const-string v1, "Unable to calculate MD5 hash: "

    .line 29
    invoke-static {v1}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    .line 30
    invoke-static {p1, v1}, Landroidx/appcompat/q;->e(Ljava/lang/Exception;Ljava/lang/StringBuilder;)Ljava/lang/String;

    move-result-object v1

    .line 31
    invoke-direct {v0, v1, p1}, Lcom/amazonaws/AmazonClientException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v0

    .line 32
    :cond_93
    :goto_93
    iget-object p1, p1, Lcom/amazonaws/AmazonWebServiceRequest;->a:Lcom/amazonaws/event/ProgressListener;

    .line 33
    invoke-static {p1}, Lcom/amazonaws/event/ProgressListenerCallbackExecutor;->b(Lcom/amazonaws/event/ProgressListener;)Lcom/amazonaws/event/ProgressListenerCallbackExecutor;

    move-result-object p1

    if-eqz p1, :cond_ac

    .line 34
    new-instance v3, Lcom/amazonaws/event/ProgressReportingInputStream;

    invoke-direct {v3, v2, p1}, Lcom/amazonaws/event/ProgressReportingInputStream;-><init>(Ljava/io/InputStream;Lcom/amazonaws/event/ProgressListenerCallbackExecutor;)V

    .line 35
    iget v2, p0, Lcom/amazonaws/services/s3/AmazonS3Client;->n:I

    const/16 v4, 0x400

    mul-int/lit16 v2, v2, 0x400

    .line 36
    iput v2, v3, Lcom/amazonaws/event/ProgressReportingInputStream;->a:I

    .line 37
    invoke-virtual {p0, p1, v4}, Lcom/amazonaws/services/s3/AmazonS3Client;->u(Lcom/amazonaws/event/ProgressListenerCallbackExecutor;I)V

    move-object v2, v3

    .line 38
    :cond_ac
    :try_start_ac
    move-object v3, v10

    check-cast v3, Lcom/amazonaws/DefaultRequest;

    .line 39
    iput-object v2, v3, Lcom/amazonaws/DefaultRequest;->i:Ljava/io/InputStream;

    .line 40
    new-instance v3, Lcom/amazonaws/services/s3/internal/S3MetadataResponseHandler;

    invoke-direct {v3}, Lcom/amazonaws/services/s3/internal/S3MetadataResponseHandler;-><init>()V

    invoke-virtual {p0, v10, v3, v0, v1}, Lcom/amazonaws/services/s3/AmazonS3Client;->v(Lcom/amazonaws/Request;Lcom/amazonaws/http/HttpResponseHandler;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/amazonaws/services/s3/model/ObjectMetadata;

    const/16 v1, 0x800

    .line 41
    invoke-virtual {p0, p1, v1}, Lcom/amazonaws/services/s3/AmazonS3Client;->u(Lcom/amazonaws/event/ProgressListenerCallbackExecutor;I)V

    .line 42
    new-instance v1, Lcom/amazonaws/services/s3/model/UploadPartResult;

    invoke-direct {v1}, Lcom/amazonaws/services/s3/model/UploadPartResult;-><init>()V

    .line 43
    iget-object v3, v0, Lcom/amazonaws/services/s3/model/ObjectMetadata;->b:Ljava/util/TreeMap;

    const-string v4, "ETag"

    invoke-interface {v3, v4}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Ljava/lang/String;

    .line 44
    iput-object v3, v1, Lcom/amazonaws/services/s3/model/UploadPartResult;->a:Ljava/lang/String;

    .line 45
    invoke-virtual {v0}, Lcom/amazonaws/services/s3/model/ObjectMetadata;->m()Ljava/lang/String;

    .line 46
    iget-object v3, v0, Lcom/amazonaws/services/s3/model/ObjectMetadata;->b:Ljava/util/TreeMap;

    const-string/jumbo v4, "x-amz-server-side-encryption-customer-algorithm"

    invoke-interface {v3, v4}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Ljava/lang/String;

    .line 47
    iget-object v3, v0, Lcom/amazonaws/services/s3/model/ObjectMetadata;->b:Ljava/util/TreeMap;

    const-string/jumbo v4, "x-amz-server-side-encryption-customer-key-MD5"

    invoke-interface {v3, v4}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Ljava/lang/String;

    .line 48
    iget-object v0, v0, Lcom/amazonaws/services/s3/model/ObjectMetadata;->b:Ljava/util/TreeMap;

    const-string/jumbo v3, "x-amz-request-charged"

    invoke-interface {v0, v3}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_f3
    .catch Lcom/amazonaws/AmazonClientException; {:try_start_ac .. :try_end_f3} :catch_f9
    .catchall {:try_start_ac .. :try_end_f3} :catchall_f7

    .line 49
    :try_start_f3
    invoke-virtual {v2}, Lcom/amazonaws/internal/SdkFilterInputStream;->close()V
    :try_end_f6
    .catch Ljava/lang/Exception; {:try_start_f3 .. :try_end_f6} :catch_f6

    :catch_f6
    return-object v1

    :catchall_f7
    move-exception p1

    goto :goto_100

    :catch_f9
    move-exception v0

    const/16 v1, 0x1000

    .line 50
    :try_start_fc
    invoke-virtual {p0, p1, v1}, Lcom/amazonaws/services/s3/AmazonS3Client;->u(Lcom/amazonaws/event/ProgressListenerCallbackExecutor;I)V

    .line 51
    throw v0
    :try_end_100
    .catchall {:try_start_fc .. :try_end_100} :catchall_f7

    .line 52
    :goto_100
    :try_start_100
    invoke-virtual {v2}, Lcom/amazonaws/internal/SdkFilterInputStream;->close()V
    :try_end_103
    .catch Ljava/lang/Exception; {:try_start_100 .. :try_end_103} :catch_103

    .line 53
    :catch_103
    throw p1

    :catch_104
    move-exception p1

    .line 54
    new-instance v0, Ljava/lang/IllegalArgumentException;

    const-string v1, "The specified file doesn\'t exist"

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

    throw v0

    .line 55
    :cond_10d
    new-instance p1, Ljava/lang/IllegalArgumentException;

    const-string v0, "A File or InputStream must be specified when uploading part"

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

    throw p1
.end method

.method public final c(Lcom/amazonaws/services/s3/model/PutObjectRequest;)Lcom/amazonaws/services/s3/model/PutObjectResult;
    .registers 19
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/amazonaws/AmazonClientException;,
            Lcom/amazonaws/AmazonServiceException;
        }
    .end annotation

    move-object/from16 v1, p0

    move-object/from16 v0, p1

    const-string v2, "Unable to cleanly close input stream: "

    .line 1
    iget-object v3, v0, Lcom/amazonaws/services/s3/model/AbstractPutObjectRequest;->d:Ljava/lang/String;

    .line 2
    iget-object v4, v0, Lcom/amazonaws/services/s3/model/AbstractPutObjectRequest;->e:Ljava/lang/String;

    .line 3
    iget-object v5, v0, Lcom/amazonaws/services/s3/model/AbstractPutObjectRequest;->h:Lcom/amazonaws/services/s3/model/ObjectMetadata;

    .line 4
    iget-object v6, v0, Lcom/amazonaws/services/s3/model/AbstractPutObjectRequest;->g:Ljava/io/InputStream;

    .line 5
    iget-object v7, v0, Lcom/amazonaws/AmazonWebServiceRequest;->a:Lcom/amazonaws/event/ProgressListener;

    .line 6
    invoke-static {v7}, Lcom/amazonaws/event/ProgressListenerCallbackExecutor;->b(Lcom/amazonaws/event/ProgressListener;)Lcom/amazonaws/event/ProgressListenerCallbackExecutor;

    move-result-object v7

    if-nez v5, :cond_1b

    .line 7
    new-instance v5, Lcom/amazonaws/services/s3/model/ObjectMetadata;

    invoke-direct {v5}, Lcom/amazonaws/services/s3/model/ObjectMetadata;-><init>()V

    :cond_1b
    const-string v8, "The bucket name parameter must be specified when uploading an object"

    .line 8
    invoke-static {v3, v8}, Lcom/amazonaws/util/ValidationUtils;->a(Ljava/lang/Object;Ljava/lang/String;)V

    const-string v8, "The key parameter must be specified when uploading an object"

    .line 9
    invoke-static {v4, v8}, Lcom/amazonaws/util/ValidationUtils;->a(Ljava/lang/Object;Ljava/lang/String;)V

    .line 10
    iget-object v8, v1, Lcom/amazonaws/services/s3/AmazonS3Client;->k:Lcom/amazonaws/services/s3/S3ClientOptions;

    .line 11
    invoke-static {v0, v8}, Lcom/amazonaws/services/s3/internal/ServiceUtils;->c(Lcom/amazonaws/AmazonWebServiceRequest;Lcom/amazonaws/services/s3/S3ClientOptions;)Z

    move-result v8

    .line 12
    iget-object v9, v0, Lcom/amazonaws/services/s3/model/AbstractPutObjectRequest;->f:Ljava/io/File;

    const-string v10, "Content-Length"

    const/4 v11, 0x0

    if-eqz v9, :cond_9a

    .line 13
    invoke-virtual {v9}, Ljava/io/File;->length()J

    move-result-wide v12

    .line 14
    iget-object v6, v5, Lcom/amazonaws/services/s3/model/ObjectMetadata;->b:Ljava/util/TreeMap;

    invoke-static {v12, v13}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v12

    invoke-interface {v6, v10, v12}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 15
    invoke-virtual {v5}, Lcom/amazonaws/services/s3/model/ObjectMetadata;->i()Ljava/lang/String;

    move-result-object v6

    if-nez v6, :cond_47

    const/4 v6, 0x1

    goto :goto_48

    :cond_47
    const/4 v6, 0x0

    .line 16
    :goto_48
    invoke-virtual {v5}, Lcom/amazonaws/services/s3/model/ObjectMetadata;->j()Ljava/lang/String;

    move-result-object v12

    if-nez v12, :cond_59

    .line 17
    invoke-static {}, Lcom/amazonaws/services/s3/util/Mimetypes;->a()Lcom/amazonaws/services/s3/util/Mimetypes;

    move-result-object v12

    invoke-virtual {v12, v9}, Lcom/amazonaws/services/s3/util/Mimetypes;->b(Ljava/io/File;)Ljava/lang/String;

    move-result-object v12

    invoke-virtual {v5, v12}, Lcom/amazonaws/services/s3/model/ObjectMetadata;->n(Ljava/lang/String;)V

    :cond_59
    if-eqz v6, :cond_8b

    if-nez v8, :cond_8b

    .line 18
    :try_start_5d
    new-instance v6, Ljava/io/FileInputStream;

    invoke-direct {v6, v9}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V

    invoke-static {v6}, Lcom/amazonaws/util/Md5Utils;->a(Ljava/io/InputStream;)[B

    move-result-object v6

    .line 19
    invoke-static {v6}, Lcom/amazonaws/util/Base64;->encodeAsString([B)Ljava/lang/String;

    move-result-object v6

    const-string v8, "Content-MD5"

    if-nez v6, :cond_74

    .line 20
    iget-object v6, v5, Lcom/amazonaws/services/s3/model/ObjectMetadata;->b:Ljava/util/TreeMap;

    invoke-interface {v6, v8}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;

    goto :goto_8b

    .line 21
    :cond_74
    iget-object v12, v5, Lcom/amazonaws/services/s3/model/ObjectMetadata;->b:Ljava/util/TreeMap;

    invoke-interface {v12, v8, v6}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_79
    .catch Ljava/lang/Exception; {:try_start_5d .. :try_end_79} :catch_7a

    goto :goto_8b

    :catch_7a
    move-exception v0

    .line 22
    new-instance v2, Lcom/amazonaws/AmazonClientException;

    const-string v3, "Unable to calculate MD5 hash: "

    .line 23
    invoke-static {v3}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    .line 24
    invoke-static {v0, v3}, Landroidx/appcompat/q;->e(Ljava/lang/Exception;Ljava/lang/StringBuilder;)Ljava/lang/String;

    move-result-object v3

    .line 25
    invoke-direct {v2, v3, v0}, Lcom/amazonaws/AmazonClientException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v2

    .line 26
    :cond_8b
    :goto_8b
    :try_start_8b
    new-instance v6, Lcom/amazonaws/services/s3/internal/RepeatableFileInputStream;

    invoke-direct {v6, v9}, Lcom/amazonaws/services/s3/internal/RepeatableFileInputStream;-><init>(Ljava/io/File;)V
    :try_end_90
    .catch Ljava/io/FileNotFoundException; {:try_start_8b .. :try_end_90} :catch_91

    goto :goto_9a

    :catch_91
    move-exception v0

    .line 27
    new-instance v2, Lcom/amazonaws/AmazonClientException;

    const-string v3, "Unable to find file to upload"

    invoke-direct {v2, v3, v0}, Lcom/amazonaws/AmazonClientException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v2

    .line 28
    :cond_9a
    :goto_9a
    sget-object v8, Lcom/amazonaws/http/HttpMethodName;->PUT:Lcom/amazonaws/http/HttpMethodName;

    invoke-virtual {v1, v3, v4, v0, v8}, Lcom/amazonaws/services/s3/AmazonS3Client;->p(Ljava/lang/String;Ljava/lang/String;Lcom/amazonaws/AmazonWebServiceRequest;Lcom/amazonaws/http/HttpMethodName;)Lcom/amazonaws/Request;

    move-result-object v8

    .line 29
    iget-object v9, v0, Lcom/amazonaws/services/s3/model/AbstractPutObjectRequest;->j:Lcom/amazonaws/services/s3/model/AccessControlList;

    if-eqz v9, :cond_a8

    .line 30
    invoke-static {v8, v9}, Lcom/amazonaws/services/s3/AmazonS3Client;->m(Lcom/amazonaws/Request;Lcom/amazonaws/services/s3/model/AccessControlList;)V

    goto :goto_b9

    .line 31
    :cond_a8
    iget-object v9, v0, Lcom/amazonaws/services/s3/model/AbstractPutObjectRequest;->i:Lcom/amazonaws/services/s3/model/CannedAccessControlList;

    if-eqz v9, :cond_b9

    .line 32
    invoke-virtual {v9}, Lcom/amazonaws/services/s3/model/CannedAccessControlList;->toString()Ljava/lang/String;

    move-result-object v9

    move-object v12, v8

    check-cast v12, Lcom/amazonaws/DefaultRequest;

    const-string/jumbo v13, "x-amz-acl"

    invoke-virtual {v12, v13, v9}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    .line 33
    :cond_b9
    :goto_b9
    iget-object v9, v0, Lcom/amazonaws/services/s3/model/AbstractPutObjectRequest;->k:Ljava/lang/String;

    if-eqz v9, :cond_c6

    .line 34
    move-object v12, v8

    check-cast v12, Lcom/amazonaws/DefaultRequest;

    const-string/jumbo v13, "x-amz-storage-class"

    invoke-virtual {v12, v13, v9}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    .line 35
    :cond_c6
    iget-object v9, v0, Lcom/amazonaws/services/s3/model/AbstractPutObjectRequest;->l:Ljava/lang/String;

    if-eqz v9, :cond_e3

    .line 36
    move-object v12, v8

    check-cast v12, Lcom/amazonaws/DefaultRequest;

    const-string/jumbo v13, "x-amz-website-redirect-location"

    invoke-virtual {v12, v13, v9}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    if-nez v6, :cond_e3

    .line 37
    invoke-static {v11}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v6

    invoke-virtual {v12, v10, v6}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    .line 38
    new-instance v6, Ljava/io/ByteArrayInputStream;

    new-array v9, v11, [B

    invoke-direct {v6, v9}, Ljava/io/ByteArrayInputStream;-><init>([B)V

    .line 39
    :cond_e3
    iget-object v9, v0, Lcom/amazonaws/services/s3/model/AbstractPutObjectRequest;->n:Lcom/amazonaws/services/s3/model/ObjectTagging;

    .line 40
    invoke-virtual {v1, v9}, Lcom/amazonaws/services/s3/AmazonS3Client;->C(Lcom/amazonaws/services/s3/model/ObjectTagging;)Ljava/lang/String;

    move-result-object v9

    const-string/jumbo v12, "x-amz-tagging"

    invoke-static {v8, v12, v9}, Lcom/amazonaws/services/s3/AmazonS3Client;->n(Lcom/amazonaws/Request;Ljava/lang/String;Ljava/lang/String;)V

    .line 41
    iget-boolean v9, v0, Lcom/amazonaws/services/s3/model/PutObjectRequest;->o:Z

    .line 42
    invoke-static {v8, v9}, Lcom/amazonaws/services/s3/AmazonS3Client;->y(Lcom/amazonaws/Request;Z)V

    .line 43
    iget-object v9, v5, Lcom/amazonaws/services/s3/model/ObjectMetadata;->b:Ljava/util/TreeMap;

    invoke-interface {v9, v10}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v9

    .line 44
    check-cast v9, Ljava/lang/Long;

    const-wide/16 v12, 0x0

    if-nez v9, :cond_177

    .line 45
    invoke-virtual {v6}, Ljava/io/InputStream;->markSupported()Z

    move-result v9

    const/4 v14, -0x1

    if-nez v9, :cond_14f

    .line 46
    sget-object v9, Lcom/amazonaws/services/s3/AmazonS3Client;->p:Lcom/amazonaws/logging/Log;

    const-string v12, "No content length specified for stream data.  Stream contents will be buffered in memory and could result in out of memory errors."

    invoke-interface {v9, v12}, Lcom/amazonaws/logging/Log;->e(Ljava/lang/Object;)V

    const/high16 v9, 0x40000

    new-array v12, v9, [B

    const/4 v13, 0x0

    :goto_113
    if-lez v9, :cond_11e

    .line 47
    :try_start_115
    invoke-virtual {v6, v12, v13, v9}, Ljava/io/InputStream;->read([BII)I

    move-result v15

    if-eq v15, v14, :cond_11e

    add-int/2addr v13, v15

    sub-int/2addr v9, v15

    goto :goto_113

    .line 48
    :cond_11e
    invoke-virtual {v6}, Ljava/io/InputStream;->read()I

    move-result v9

    if-ne v9, v14, :cond_13e

    .line 49
    invoke-virtual {v6}, Ljava/io/InputStream;->close()V
    :try_end_127
    .catch Ljava/io/IOException; {:try_start_115 .. :try_end_127} :catch_146

    .line 50
    new-instance v6, Ljava/io/ByteArrayInputStream;

    invoke-direct {v6, v12, v11, v13}, Ljava/io/ByteArrayInputStream;-><init>([BII)V

    .line 51
    invoke-virtual {v6}, Ljava/io/ByteArrayInputStream;->available()I

    move-result v9

    invoke-static {v9}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v9

    move-object v11, v8

    check-cast v11, Lcom/amazonaws/DefaultRequest;

    invoke-virtual {v11, v10, v9}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    const/4 v9, 0x1

    .line 52
    iput-boolean v9, v11, Lcom/amazonaws/DefaultRequest;->b:Z

    goto :goto_18f

    .line 53
    :cond_13e
    :try_start_13e
    new-instance v0, Lcom/amazonaws/AmazonClientException;

    const-string v2, "Input stream exceeds 256k buffer."

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

    throw v0
    :try_end_146
    .catch Ljava/io/IOException; {:try_start_13e .. :try_end_146} :catch_146

    :catch_146
    move-exception v0

    .line 54
    new-instance v2, Lcom/amazonaws/AmazonClientException;

    const-string v3, "Failed to read from inputstream"

    invoke-direct {v2, v3, v0}, Lcom/amazonaws/AmazonClientException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v2

    :cond_14f
    const/16 v9, 0x2000

    new-array v9, v9, [B

    .line 55
    invoke-virtual {v6, v14}, Ljava/io/InputStream;->mark(I)V

    .line 56
    :goto_156
    :try_start_156
    invoke-virtual {v6, v9}, Ljava/io/InputStream;->read([B)I

    move-result v11

    if-eq v11, v14, :cond_160

    int-to-long v14, v11

    add-long/2addr v12, v14

    const/4 v14, -0x1

    goto :goto_156

    .line 57
    :cond_160
    invoke-virtual {v6}, Ljava/io/InputStream;->reset()V
    :try_end_163
    .catch Ljava/io/IOException; {:try_start_156 .. :try_end_163} :catch_16e

    .line 58
    invoke-static {v12, v13}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;

    move-result-object v9

    move-object v11, v8

    check-cast v11, Lcom/amazonaws/DefaultRequest;

    invoke-virtual {v11, v10, v9}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_18f

    :catch_16e
    move-exception v0

    .line 59
    new-instance v2, Lcom/amazonaws/AmazonClientException;

    const-string v3, "Could not calculate content length."

    invoke-direct {v2, v3, v0}, Lcom/amazonaws/AmazonClientException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v2

    .line 60
    :cond_177
    invoke-virtual {v9}, Ljava/lang/Long;->longValue()J

    move-result-wide v14

    cmp-long v16, v14, v12

    if-ltz v16, :cond_18f

    .line 61
    new-instance v12, Lcom/amazonaws/util/LengthCheckInputStream;

    invoke-direct {v12, v6, v14, v15, v11}, Lcom/amazonaws/util/LengthCheckInputStream;-><init>(Ljava/io/InputStream;JZ)V

    .line 62
    invoke-virtual {v9}, Ljava/lang/Long;->toString()Ljava/lang/String;

    move-result-object v6

    move-object v9, v8

    check-cast v9, Lcom/amazonaws/DefaultRequest;

    invoke-virtual {v9, v10, v6}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    move-object v6, v12

    :cond_18f
    :goto_18f
    if-eqz v7, :cond_1a1

    .line 63
    new-instance v9, Lcom/amazonaws/event/ProgressReportingInputStream;

    invoke-direct {v9, v6, v7}, Lcom/amazonaws/event/ProgressReportingInputStream;-><init>(Ljava/io/InputStream;Lcom/amazonaws/event/ProgressListenerCallbackExecutor;)V

    .line 64
    iget v6, v1, Lcom/amazonaws/services/s3/AmazonS3Client;->n:I

    mul-int/lit16 v6, v6, 0x400

    .line 65
    iput v6, v9, Lcom/amazonaws/event/ProgressReportingInputStream;->a:I

    const/4 v6, 0x2

    .line 66
    invoke-virtual {v1, v7, v6}, Lcom/amazonaws/services/s3/AmazonS3Client;->u(Lcom/amazonaws/event/ProgressListenerCallbackExecutor;I)V

    move-object v6, v9

    .line 67
    :cond_1a1
    invoke-virtual {v5}, Lcom/amazonaws/services/s3/model/ObjectMetadata;->j()Ljava/lang/String;

    move-result-object v9

    if-nez v9, :cond_1ac

    const-string v9, "application/octet-stream"

    .line 68
    invoke-virtual {v5, v9}, Lcom/amazonaws/services/s3/model/ObjectMetadata;->n(Ljava/lang/String;)V

    .line 69
    :cond_1ac
    invoke-static {v8, v5}, Lcom/amazonaws/services/s3/AmazonS3Client;->x(Lcom/amazonaws/Request;Lcom/amazonaws/services/s3/model/ObjectMetadata;)V

    .line 70
    iget-object v0, v0, Lcom/amazonaws/services/s3/model/AbstractPutObjectRequest;->m:Lcom/amazonaws/services/s3/model/SSEAwsKeyManagementParams;

    .line 71
    invoke-static {v8, v0}, Lcom/amazonaws/services/s3/AmazonS3Client;->z(Lcom/amazonaws/Request;Lcom/amazonaws/services/s3/model/SSEAwsKeyManagementParams;)V

    .line 72
    move-object v0, v8

    check-cast v0, Lcom/amazonaws/DefaultRequest;

    .line 73
    iput-object v6, v0, Lcom/amazonaws/DefaultRequest;->i:Ljava/io/InputStream;

    .line 74
    :try_start_1b9
    new-instance v0, Lcom/amazonaws/services/s3/internal/S3MetadataResponseHandler;

    invoke-direct {v0}, Lcom/amazonaws/services/s3/internal/S3MetadataResponseHandler;-><init>()V

    invoke-virtual {v1, v8, v0, v3, v4}, Lcom/amazonaws/services/s3/AmazonS3Client;->v(Lcom/amazonaws/Request;Lcom/amazonaws/http/HttpResponseHandler;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v0

    move-object v3, v0

    check-cast v3, Lcom/amazonaws/services/s3/model/ObjectMetadata;
    :try_end_1c5
    .catch Lcom/amazonaws/AmazonClientException; {:try_start_1b9 .. :try_end_1c5} :catch_22a
    .catchall {:try_start_1b9 .. :try_end_1c5} :catchall_227

    .line 75
    :try_start_1c5
    invoke-virtual {v6}, Ljava/io/InputStream;->close()V
    :try_end_1c8
    .catch Lcom/amazonaws/AbortedException; {:try_start_1c5 .. :try_end_1c8} :catch_1df
    .catch Ljava/lang/Exception; {:try_start_1c5 .. :try_end_1c8} :catch_1c9

    goto :goto_1df

    :catch_1c9
    move-exception v0

    move-object v4, v0

    .line 76
    sget-object v0, Lcom/amazonaws/services/s3/AmazonS3Client;->p:Lcom/amazonaws/logging/Log;

    .line 77
    invoke-static {v2}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    .line 78
    invoke-virtual {v4}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;

    move-result-object v5

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

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

    move-result-object v2

    invoke-interface {v0, v2, v4}, Lcom/amazonaws/logging/Log;->b(Ljava/lang/Object;Ljava/lang/Throwable;)V

    :catch_1df
    :goto_1df
    const/4 v0, 0x4

    .line 79
    invoke-virtual {v1, v7, v0}, Lcom/amazonaws/services/s3/AmazonS3Client;->u(Lcom/amazonaws/event/ProgressListenerCallbackExecutor;I)V

    .line 80
    new-instance v0, Lcom/amazonaws/services/s3/model/PutObjectResult;

    invoke-direct {v0}, Lcom/amazonaws/services/s3/model/PutObjectResult;-><init>()V

    .line 81
    iget-object v2, v3, Lcom/amazonaws/services/s3/model/ObjectMetadata;->b:Ljava/util/TreeMap;

    const-string/jumbo v4, "x-amz-version-id"

    invoke-interface {v2, v4}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Ljava/lang/String;

    .line 82
    invoke-virtual {v3}, Lcom/amazonaws/services/s3/model/ObjectMetadata;->m()Ljava/lang/String;

    .line 83
    iget-object v2, v3, Lcom/amazonaws/services/s3/model/ObjectMetadata;->b:Ljava/util/TreeMap;

    const-string/jumbo v4, "x-amz-server-side-encryption-customer-algorithm"

    invoke-interface {v2, v4}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Ljava/lang/String;

    .line 84
    iget-object v2, v3, Lcom/amazonaws/services/s3/model/ObjectMetadata;->b:Ljava/util/TreeMap;

    const-string/jumbo v4, "x-amz-server-side-encryption-customer-key-MD5"

    invoke-interface {v2, v4}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Ljava/lang/String;

    .line 85
    iget-object v2, v3, Lcom/amazonaws/services/s3/model/ObjectMetadata;->d:Ljava/util/Date;

    invoke-static {v2}, Lcom/amazonaws/util/DateUtils;->a(Ljava/util/Date;)Ljava/util/Date;

    .line 86
    iget-object v2, v3, Lcom/amazonaws/services/s3/model/ObjectMetadata;->b:Ljava/util/TreeMap;

    const-string v4, "ETag"

    invoke-interface {v2, v4}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Ljava/lang/String;

    .line 87
    iget-object v2, v3, Lcom/amazonaws/services/s3/model/ObjectMetadata;->b:Ljava/util/TreeMap;

    const-string/jumbo v4, "x-amz-request-charged"

    invoke-interface {v2, v4}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    .line 88
    invoke-virtual {v3}, Lcom/amazonaws/services/s3/model/ObjectMetadata;->i()Ljava/lang/String;

    return-object v0

    :catchall_227
    move-exception v0

    move-object v3, v0

    goto :goto_231

    :catch_22a
    move-exception v0

    const/16 v3, 0x8

    .line 89
    :try_start_22d
    invoke-virtual {v1, v7, v3}, Lcom/amazonaws/services/s3/AmazonS3Client;->u(Lcom/amazonaws/event/ProgressListenerCallbackExecutor;I)V

    .line 90
    throw v0
    :try_end_231
    .catchall {:try_start_22d .. :try_end_231} :catchall_227

    .line 91
    :goto_231
    :try_start_231
    invoke-virtual {v6}, Ljava/io/InputStream;->close()V
    :try_end_234
    .catch Lcom/amazonaws/AbortedException; {:try_start_231 .. :try_end_234} :catch_24b
    .catch Ljava/lang/Exception; {:try_start_231 .. :try_end_234} :catch_235

    goto :goto_24b

    :catch_235
    move-exception v0

    move-object v4, v0

    .line 92
    sget-object v0, Lcom/amazonaws/services/s3/AmazonS3Client;->p:Lcom/amazonaws/logging/Log;

    .line 93
    invoke-static {v2}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    .line 94
    invoke-virtual {v4}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;

    move-result-object v5

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

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

    move-result-object v2

    invoke-interface {v0, v2, v4}, Lcom/amazonaws/logging/Log;->b(Ljava/lang/Object;Ljava/lang/Throwable;)V

    .line 95
    :catch_24b
    :goto_24b
    throw v3
.end method

.method public final d(Lcom/amazonaws/services/s3/model/CompleteMultipartUploadRequest;)Lcom/amazonaws/services/s3/model/CompleteMultipartUploadResult;
    .registers 13
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/amazonaws/AmazonClientException;,
            Lcom/amazonaws/AmazonServiceException;
        }
    .end annotation

    .line 1
    iget-object v0, p1, Lcom/amazonaws/services/s3/model/CompleteMultipartUploadRequest;->d:Ljava/lang/String;

    .line 2
    iget-object v1, p1, Lcom/amazonaws/services/s3/model/CompleteMultipartUploadRequest;->e:Ljava/lang/String;

    .line 3
    iget-object v2, p1, Lcom/amazonaws/services/s3/model/CompleteMultipartUploadRequest;->f:Ljava/lang/String;

    const-string v3, "The bucket name parameter must be specified when completing a multipart upload"

    .line 4
    invoke-static {v0, v3}, Lcom/amazonaws/util/ValidationUtils;->a(Ljava/lang/Object;Ljava/lang/String;)V

    const-string v3, "The key parameter must be specified when completing a multipart upload"

    .line 5
    invoke-static {v1, v3}, Lcom/amazonaws/util/ValidationUtils;->a(Ljava/lang/Object;Ljava/lang/String;)V

    const-string v3, "The upload ID parameter must be specified when completing a multipart upload"

    .line 6
    invoke-static {v2, v3}, Lcom/amazonaws/util/ValidationUtils;->a(Ljava/lang/Object;Ljava/lang/String;)V

    .line 7
    iget-object v3, p1, Lcom/amazonaws/services/s3/model/CompleteMultipartUploadRequest;->g:Ljava/util/List;

    const-string v4, "The part ETags parameter must be specified when completing a multipart upload"

    .line 8
    invoke-static {v3, v4}, Lcom/amazonaws/util/ValidationUtils;->a(Ljava/lang/Object;Ljava/lang/String;)V

    const/4 v3, 0x0

    const/4 v4, 0x0

    .line 9
    :goto_1e
    sget-object v5, Lcom/amazonaws/http/HttpMethodName;->POST:Lcom/amazonaws/http/HttpMethodName;

    invoke-virtual {p0, v0, v1, p1, v5}, Lcom/amazonaws/services/s3/AmazonS3Client;->p(Ljava/lang/String;Ljava/lang/String;Lcom/amazonaws/AmazonWebServiceRequest;Lcom/amazonaws/http/HttpMethodName;)Lcom/amazonaws/Request;

    move-result-object v5

    .line 10
    move-object v6, v5

    check-cast v6, Lcom/amazonaws/DefaultRequest;

    const-string v7, "uploadId"

    invoke-virtual {v6, v7, v2}, Lcom/amazonaws/DefaultRequest;->b(Ljava/lang/String;Ljava/lang/String;)V

    .line 11
    iget-object v7, p1, Lcom/amazonaws/services/s3/model/CompleteMultipartUploadRequest;->g:Ljava/util/List;

    .line 12
    invoke-static {v7}, Lcom/amazonaws/services/s3/model/transform/RequestXmlFactory;->a(Ljava/util/List;)[B

    move-result-object v7

    const-string v8, "Content-Type"

    const-string v9, "application/xml"

    .line 13
    invoke-virtual {v6, v8, v9}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    .line 14
    array-length v8, v7

    invoke-static {v8}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v8

    const-string v9, "Content-Length"

    invoke-virtual {v6, v9, v8}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    .line 15
    new-instance v8, Ljava/io/ByteArrayInputStream;

    invoke-direct {v8, v7}, Ljava/io/ByteArrayInputStream;-><init>([B)V

    .line 16
    iput-object v8, v6, Lcom/amazonaws/DefaultRequest;->i:Ljava/io/InputStream;

    .line 17
    new-instance v6, Lcom/amazonaws/services/s3/internal/ResponseHeaderHandlerChain;

    new-instance v7, Lcom/amazonaws/services/s3/model/transform/Unmarshallers$CompleteMultipartUploadResultUnmarshaller;

    invoke-direct {v7}, Lcom/amazonaws/services/s3/model/transform/Unmarshallers$CompleteMultipartUploadResultUnmarshaller;-><init>()V

    const/4 v8, 0x4

    new-array v8, v8, [Lcom/amazonaws/services/s3/internal/HeaderHandler;

    new-instance v9, Lcom/amazonaws/services/s3/internal/ServerSideEncryptionHeaderHandler;

    invoke-direct {v9}, Lcom/amazonaws/services/s3/internal/ServerSideEncryptionHeaderHandler;-><init>()V

    aput-object v9, v8, v3

    new-instance v9, Lcom/amazonaws/services/s3/internal/ObjectExpirationHeaderHandler;

    invoke-direct {v9}, Lcom/amazonaws/services/s3/internal/ObjectExpirationHeaderHandler;-><init>()V

    const/4 v10, 0x1

    aput-object v9, v8, v10

    const/4 v9, 0x2

    new-instance v10, Lcom/amazonaws/services/s3/internal/S3VersionHeaderHandler;

    invoke-direct {v10}, Lcom/amazonaws/services/s3/internal/S3VersionHeaderHandler;-><init>()V

    aput-object v10, v8, v9

    const/4 v9, 0x3

    new-instance v10, Lcom/amazonaws/services/s3/internal/S3RequesterChargedHeaderHandler;

    invoke-direct {v10}, Lcom/amazonaws/services/s3/internal/S3RequesterChargedHeaderHandler;-><init>()V

    aput-object v10, v8, v9

    invoke-direct {v6, v7, v8}, Lcom/amazonaws/services/s3/internal/ResponseHeaderHandlerChain;-><init>(Lcom/amazonaws/transform/Unmarshaller;[Lcom/amazonaws/services/s3/internal/HeaderHandler;)V

    .line 18
    invoke-virtual {p0, v5, v6, v0, v1}, Lcom/amazonaws/services/s3/AmazonS3Client;->v(Lcom/amazonaws/Request;Lcom/amazonaws/http/HttpResponseHandler;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v5

    check-cast v5, Lcom/amazonaws/services/s3/model/transform/XmlResponsesSaxParser$CompleteMultipartUploadHandler;

    .line 19
    iget-object v6, v5, Lcom/amazonaws/services/s3/model/transform/XmlResponsesSaxParser$CompleteMultipartUploadHandler;->c:Lcom/amazonaws/services/s3/model/CompleteMultipartUploadResult;

    if-eqz v6, :cond_81

    return-object v6

    .line 20
    :cond_81
    iget-object v6, v5, Lcom/amazonaws/services/s3/model/transform/XmlResponsesSaxParser$CompleteMultipartUploadHandler;->d:Lcom/amazonaws/services/s3/model/AmazonS3Exception;

    add-int/lit8 v7, v4, 0x1

    .line 21
    iget-object v8, p0, Lcom/amazonaws/AmazonWebServiceClient;->b:Lcom/amazonaws/ClientConfiguration;

    .line 22
    iget-object v8, v8, Lcom/amazonaws/ClientConfiguration;->c:Lcom/amazonaws/retry/RetryPolicy;

    if-eqz v8, :cond_9c

    .line 23
    iget-object v9, v8, Lcom/amazonaws/retry/RetryPolicy;->a:Lcom/amazonaws/retry/RetryPolicy$RetryCondition;

    if-nez v9, :cond_90

    goto :goto_9c

    .line 24
    :cond_90
    sget-object v9, Lcom/amazonaws/retry/PredefinedRetryPolicies;->a:Lcom/amazonaws/retry/RetryPolicy;

    if-ne v8, v9, :cond_95

    goto :goto_9c

    .line 25
    :cond_95
    iget-object v8, p0, Lcom/amazonaws/services/s3/AmazonS3Client;->o:Lcom/amazonaws/services/s3/internal/CompleteMultipartUploadRetryCondition;

    .line 26
    invoke-virtual {v8, v6, v4}, Lcom/amazonaws/services/s3/internal/CompleteMultipartUploadRetryCondition;->a(Lcom/amazonaws/AmazonClientException;I)Z

    move-result v4

    goto :goto_9d

    :cond_9c
    :goto_9c
    const/4 v4, 0x0

    :goto_9d
    if-eqz v4, :cond_a2

    move v4, v7

    goto/16 :goto_1e

    .line 27
    :cond_a2
    iget-object p1, v5, Lcom/amazonaws/services/s3/model/transform/XmlResponsesSaxParser$CompleteMultipartUploadHandler;->d:Lcom/amazonaws/services/s3/model/AmazonS3Exception;

    .line 28
    throw p1
.end method

.method public final e(Lcom/amazonaws/services/s3/model/InitiateMultipartUploadRequest;)Lcom/amazonaws/services/s3/model/InitiateMultipartUploadResult;
    .registers 8
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/amazonaws/AmazonClientException;,
            Lcom/amazonaws/AmazonServiceException;
        }
    .end annotation

    .line 1
    iget-object v0, p1, Lcom/amazonaws/services/s3/model/InitiateMultipartUploadRequest;->d:Ljava/lang/String;

    const-string v1, "The bucket name parameter must be specified when initiating a multipart upload"

    .line 2
    invoke-static {v0, v1}, Lcom/amazonaws/util/ValidationUtils;->a(Ljava/lang/Object;Ljava/lang/String;)V

    .line 3
    iget-object v0, p1, Lcom/amazonaws/services/s3/model/InitiateMultipartUploadRequest;->e:Ljava/lang/String;

    const-string v1, "The key parameter must be specified when initiating a multipart upload"

    .line 4
    invoke-static {v0, v1}, Lcom/amazonaws/util/ValidationUtils;->a(Ljava/lang/Object;Ljava/lang/String;)V

    .line 5
    iget-object v0, p1, Lcom/amazonaws/services/s3/model/InitiateMultipartUploadRequest;->d:Ljava/lang/String;

    .line 6
    iget-object v1, p1, Lcom/amazonaws/services/s3/model/InitiateMultipartUploadRequest;->e:Ljava/lang/String;

    .line 7
    sget-object v2, Lcom/amazonaws/http/HttpMethodName;->POST:Lcom/amazonaws/http/HttpMethodName;

    .line 8
    invoke-virtual {p0, v0, v1, p1, v2}, Lcom/amazonaws/services/s3/AmazonS3Client;->p(Ljava/lang/String;Ljava/lang/String;Lcom/amazonaws/AmazonWebServiceRequest;Lcom/amazonaws/http/HttpMethodName;)Lcom/amazonaws/Request;

    move-result-object v0

    .line 9
    move-object v1, v0

    check-cast v1, Lcom/amazonaws/DefaultRequest;

    const-string/jumbo v2, "uploads"

    const/4 v3, 0x0

    invoke-virtual {v1, v2, v3}, Lcom/amazonaws/DefaultRequest;->b(Ljava/lang/String;Ljava/lang/String;)V

    .line 10
    iget-object v2, p1, Lcom/amazonaws/services/s3/model/InitiateMultipartUploadRequest;->g:Lcom/amazonaws/services/s3/model/CannedAccessControlList;

    if-eqz v2, :cond_30

    .line 11
    invoke-virtual {v2}, Lcom/amazonaws/services/s3/model/CannedAccessControlList;->toString()Ljava/lang/String;

    move-result-object v2

    const-string/jumbo v3, "x-amz-acl"

    .line 12
    invoke-virtual {v1, v3, v2}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    .line 13
    :cond_30
    iget-object v2, p1, Lcom/amazonaws/services/s3/model/InitiateMultipartUploadRequest;->f:Lcom/amazonaws/services/s3/model/ObjectMetadata;

    if-eqz v2, :cond_37

    .line 14
    invoke-static {v0, v2}, Lcom/amazonaws/services/s3/AmazonS3Client;->x(Lcom/amazonaws/Request;Lcom/amazonaws/services/s3/model/ObjectMetadata;)V

    .line 15
    :cond_37
    iget-object v2, p1, Lcom/amazonaws/services/s3/model/InitiateMultipartUploadRequest;->i:Lcom/amazonaws/services/s3/model/ObjectTagging;

    .line 16
    invoke-virtual {p0, v2}, Lcom/amazonaws/services/s3/AmazonS3Client;->C(Lcom/amazonaws/services/s3/model/ObjectTagging;)Ljava/lang/String;

    move-result-object v2

    const-string/jumbo v3, "x-amz-tagging"

    invoke-static {v0, v3, v2}, Lcom/amazonaws/services/s3/AmazonS3Client;->n(Lcom/amazonaws/Request;Ljava/lang/String;Ljava/lang/String;)V

    .line 17
    iget-object v2, p1, Lcom/amazonaws/services/s3/model/InitiateMultipartUploadRequest;->h:Lcom/amazonaws/services/s3/model/SSEAwsKeyManagementParams;

    .line 18
    invoke-static {v0, v2}, Lcom/amazonaws/services/s3/AmazonS3Client;->z(Lcom/amazonaws/Request;Lcom/amazonaws/services/s3/model/SSEAwsKeyManagementParams;)V

    const/4 v2, 0x0

    .line 19
    invoke-static {v2}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v3

    const-string v4, "Content-Length"

    invoke-virtual {v1, v4, v3}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    .line 20
    new-instance v3, Ljava/io/ByteArrayInputStream;

    new-array v4, v2, [B

    invoke-direct {v3, v4}, Ljava/io/ByteArrayInputStream;-><init>([B)V

    .line 21
    iput-object v3, v1, Lcom/amazonaws/DefaultRequest;->i:Ljava/io/InputStream;

    .line 22
    new-instance v1, Lcom/amazonaws/services/s3/internal/ResponseHeaderHandlerChain;

    new-instance v3, Lcom/amazonaws/services/s3/model/transform/Unmarshallers$InitiateMultipartUploadResultUnmarshaller;

    invoke-direct {v3}, Lcom/amazonaws/services/s3/model/transform/Unmarshallers$InitiateMultipartUploadResultUnmarshaller;-><init>()V

    const/4 v4, 0x1

    new-array v4, v4, [Lcom/amazonaws/services/s3/internal/HeaderHandler;

    new-instance v5, Lcom/amazonaws/services/s3/internal/ServerSideEncryptionHeaderHandler;

    invoke-direct {v5}, Lcom/amazonaws/services/s3/internal/ServerSideEncryptionHeaderHandler;-><init>()V

    aput-object v5, v4, v2

    invoke-direct {v1, v3, v4}, Lcom/amazonaws/services/s3/internal/ResponseHeaderHandlerChain;-><init>(Lcom/amazonaws/transform/Unmarshaller;[Lcom/amazonaws/services/s3/internal/HeaderHandler;)V

    .line 23
    iget-object v2, p1, Lcom/amazonaws/services/s3/model/InitiateMultipartUploadRequest;->d:Ljava/lang/String;

    .line 24
    iget-object p1, p1, Lcom/amazonaws/services/s3/model/InitiateMultipartUploadRequest;->e:Ljava/lang/String;

    .line 25
    invoke-virtual {p0, v0, v1, v2, p1}, Lcom/amazonaws/services/s3/AmazonS3Client;->v(Lcom/amazonaws/Request;Lcom/amazonaws/http/HttpResponseHandler;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;

    move-result-object p1

    check-cast p1, Lcom/amazonaws/services/s3/model/InitiateMultipartUploadResult;

    return-object p1
.end method

.method public final f(Lcom/amazonaws/services/s3/model/AbortMultipartUploadRequest;)V
    .registers 7
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/amazonaws/AmazonClientException;,
            Lcom/amazonaws/AmazonServiceException;
        }
    .end annotation

    .line 1
    iget-object v0, p1, Lcom/amazonaws/services/s3/model/AbortMultipartUploadRequest;->d:Ljava/lang/String;

    const-string v1, "The bucket name parameter must be specified when aborting a multipart upload"

    .line 2
    invoke-static {v0, v1}, Lcom/amazonaws/util/ValidationUtils;->a(Ljava/lang/Object;Ljava/lang/String;)V

    .line 3
    iget-object v0, p1, Lcom/amazonaws/services/s3/model/AbortMultipartUploadRequest;->e:Ljava/lang/String;

    const-string v1, "The key parameter must be specified when aborting a multipart upload"

    .line 4
    invoke-static {v0, v1}, Lcom/amazonaws/util/ValidationUtils;->a(Ljava/lang/Object;Ljava/lang/String;)V

    .line 5
    iget-object v0, p1, Lcom/amazonaws/services/s3/model/AbortMultipartUploadRequest;->f:Ljava/lang/String;

    const-string v1, "The upload ID parameter must be specified when aborting a multipart upload"

    .line 6
    invoke-static {v0, v1}, Lcom/amazonaws/util/ValidationUtils;->a(Ljava/lang/Object;Ljava/lang/String;)V

    .line 7
    iget-object v0, p1, Lcom/amazonaws/services/s3/model/AbortMultipartUploadRequest;->d:Ljava/lang/String;

    .line 8
    iget-object v1, p1, Lcom/amazonaws/services/s3/model/AbortMultipartUploadRequest;->e:Ljava/lang/String;

    .line 9
    sget-object v2, Lcom/amazonaws/http/HttpMethodName;->DELETE:Lcom/amazonaws/http/HttpMethodName;

    invoke-virtual {p0, v0, v1, p1, v2}, Lcom/amazonaws/services/s3/AmazonS3Client;->p(Ljava/lang/String;Ljava/lang/String;Lcom/amazonaws/AmazonWebServiceRequest;Lcom/amazonaws/http/HttpMethodName;)Lcom/amazonaws/Request;

    move-result-object v2

    .line 10
    iget-object p1, p1, Lcom/amazonaws/services/s3/model/AbortMultipartUploadRequest;->f:Ljava/lang/String;

    .line 11
    move-object v3, v2

    check-cast v3, Lcom/amazonaws/DefaultRequest;

    const-string v4, "uploadId"

    invoke-virtual {v3, v4, p1}, Lcom/amazonaws/DefaultRequest;->b(Ljava/lang/String;Ljava/lang/String;)V

    .line 12
    iget-object p1, p0, Lcom/amazonaws/services/s3/AmazonS3Client;->j:Lcom/amazonaws/services/s3/internal/S3XmlResponseHandler;

    invoke-virtual {p0, v2, p1, v0, v1}, Lcom/amazonaws/services/s3/AmazonS3Client;->v(Lcom/amazonaws/Request;Lcom/amazonaws/http/HttpResponseHandler;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;

    return-void
.end method

.method public final p(Ljava/lang/String;Ljava/lang/String;Lcom/amazonaws/AmazonWebServiceRequest;Lcom/amazonaws/http/HttpMethodName;)Lcom/amazonaws/Request;
    .registers 11
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<X:",
            "Lcom/amazonaws/AmazonWebServiceRequest;",
            ">(",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            "TX;",
            "Lcom/amazonaws/http/HttpMethodName;",
            ")",
            "Lcom/amazonaws/Request<",
            "TX;>;"
        }
    .end annotation

    const/4 v5, 0x0

    move-object v0, p0

    move-object v1, p1

    move-object v2, p2

    move-object v3, p3

    move-object v4, p4

    invoke-virtual/range {v0 .. v5}, Lcom/amazonaws/services/s3/AmazonS3Client;->q(Ljava/lang/String;Ljava/lang/String;Lcom/amazonaws/AmazonWebServiceRequest;Lcom/amazonaws/http/HttpMethodName;Ljava/net/URI;)Lcom/amazonaws/Request;

    move-result-object p1

    return-object p1
.end method

.method public final q(Ljava/lang/String;Ljava/lang/String;Lcom/amazonaws/AmazonWebServiceRequest;Lcom/amazonaws/http/HttpMethodName;Ljava/net/URI;)Lcom/amazonaws/Request;
    .registers 8
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<X:",
            "Lcom/amazonaws/AmazonWebServiceRequest;",
            ">(",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            "TX;",
            "Lcom/amazonaws/http/HttpMethodName;",
            "Ljava/net/URI;",
            ")",
            "Lcom/amazonaws/Request<",
            "TX;>;"
        }
    .end annotation

    .line 1
    new-instance v0, Lcom/amazonaws/DefaultRequest;

    invoke-direct {v0, p3}, Lcom/amazonaws/DefaultRequest;-><init>(Lcom/amazonaws/AmazonWebServiceRequest;)V

    .line 2
    iget-object p3, p0, Lcom/amazonaws/services/s3/AmazonS3Client;->k:Lcom/amazonaws/services/s3/S3ClientOptions;

    .line 3
    iget-boolean v1, p3, Lcom/amazonaws/services/s3/S3ClientOptions;->c:Z

    if-eqz v1, :cond_20

    .line 4
    iget-boolean p3, p3, Lcom/amazonaws/services/s3/S3ClientOptions;->d:Z

    if-eqz p3, :cond_18

    .line 5
    iget-object p3, p0, Lcom/amazonaws/AmazonWebServiceClient;->b:Lcom/amazonaws/ClientConfiguration;

    const-string p5, "s3-accelerate.dualstack.amazonaws.com"

    invoke-static {p5, p3}, Lcom/amazonaws/util/RuntimeHttpUtils;->a(Ljava/lang/String;Lcom/amazonaws/ClientConfiguration;)Ljava/net/URI;

    move-result-object p5

    goto :goto_20

    .line 6
    :cond_18
    iget-object p3, p0, Lcom/amazonaws/AmazonWebServiceClient;->b:Lcom/amazonaws/ClientConfiguration;

    const-string p5, "s3-accelerate.amazonaws.com"

    invoke-static {p5, p3}, Lcom/amazonaws/util/RuntimeHttpUtils;->a(Ljava/lang/String;Lcom/amazonaws/ClientConfiguration;)Ljava/net/URI;

    move-result-object p5

    .line 7
    :cond_20
    :goto_20
    iput-object p4, v0, Lcom/amazonaws/DefaultRequest;->h:Lcom/amazonaws/http/HttpMethodName;

    .line 8
    invoke-virtual {p0, v0, p1, p2, p5}, Lcom/amazonaws/services/s3/AmazonS3Client;->A(Lcom/amazonaws/Request;Ljava/lang/String;Ljava/lang/String;Ljava/net/URI;)V

    return-object v0
.end method

.method public final r(Lcom/amazonaws/Request;Ljava/lang/String;Ljava/lang/String;)Lcom/amazonaws/services/s3/internal/S3Signer;
    .registers 7
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/amazonaws/Request<",
            "*>;",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ")",
            "Lcom/amazonaws/services/s3/internal/S3Signer;"
        }
    .end annotation

    .annotation runtime Ljava/lang/Deprecated;
    .end annotation

    const-string v0, "/"

    .line 1
    invoke-static {v0}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, ""

    if-eqz p2, :cond_f

    .line 2
    invoke-static {p2, v0}, Landroidx/appcompat/e;->g(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object p2

    goto :goto_10

    :cond_f
    move-object p2, v2

    .line 3
    :goto_10
    invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    if-eqz p3, :cond_16

    goto :goto_17

    :cond_16
    move-object p3, v2

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

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

    move-result-object p2

    .line 4
    new-instance p3, Lcom/amazonaws/services/s3/internal/S3Signer;

    check-cast p1, Lcom/amazonaws/DefaultRequest;

    .line 5
    iget-object p1, p1, Lcom/amazonaws/DefaultRequest;->h:Lcom/amazonaws/http/HttpMethodName;

    .line 6
    invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String;

    move-result-object p1

    invoke-direct {p3, p1, p2}, Lcom/amazonaws/services/s3/internal/S3Signer;-><init>(Ljava/lang/String;Ljava/lang/String;)V

    return-object p3
.end method

.method public final s(Lcom/amazonaws/Request;Ljava/lang/String;Ljava/lang/String;)Lcom/amazonaws/auth/Signer;
    .registers 8
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/amazonaws/Request<",
            "*>;",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ")",
            "Lcom/amazonaws/auth/Signer;"
        }
    .end annotation

    .line 1
    iget-object v0, p0, Lcom/amazonaws/services/s3/AmazonS3Client;->k:Lcom/amazonaws/services/s3/S3ClientOptions;

    .line 2
    iget-boolean v0, v0, Lcom/amazonaws/services/s3/S3ClientOptions;->c:Z

    if-eqz v0, :cond_9

    .line 3
    iget-object v0, p0, Lcom/amazonaws/AmazonWebServiceClient;->a:Ljava/net/URI;

    goto :goto_e

    .line 4
    :cond_9
    move-object v0, p1

    check-cast v0, Lcom/amazonaws/DefaultRequest;

    .line 5
    iget-object v0, v0, Lcom/amazonaws/DefaultRequest;->e:Ljava/net/URI;

    :goto_e
    const/4 v1, 0x1

    .line 6
    invoke-virtual {p0, v0, v1}, Lcom/amazonaws/AmazonWebServiceClient;->i(Ljava/net/URI;Z)Lcom/amazonaws/auth/Signer;

    move-result-object v0

    .line 7
    instance-of v1, v0, Lcom/amazonaws/services/s3/internal/AWSS3V4Signer;

    if-eqz v1, :cond_50

    invoke-virtual {p0, p1}, Lcom/amazonaws/services/s3/AmazonS3Client;->w(Lcom/amazonaws/Request;)Z

    move-result v1

    if-eqz v1, :cond_50

    .line 8
    iget-object v1, p0, Lcom/amazonaws/services/s3/AmazonS3Client;->m:Ljava/lang/String;

    if-nez v1, :cond_2a

    sget-object v1, Lcom/amazonaws/services/s3/AmazonS3Client;->q:Ljava/util/Map;

    .line 9
    invoke-interface {v1, p2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Ljava/lang/String;

    goto :goto_2c

    :cond_2a
    iget-object v1, p0, Lcom/amazonaws/services/s3/AmazonS3Client;->m:Ljava/lang/String;

    :goto_2c
    if-eqz v1, :cond_50

    .line 10
    invoke-static {v1}, Lcom/amazonaws/regions/RegionUtils;->a(Ljava/lang/String;)Lcom/amazonaws/regions/Region;

    move-result-object v2

    .line 11
    iget-object v2, v2, Lcom/amazonaws/regions/Region;->c:Ljava/util/HashMap;

    const-string v3, "s3"

    invoke-virtual {v2, v3}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Ljava/lang/String;

    .line 12
    iget-object v3, p0, Lcom/amazonaws/AmazonWebServiceClient;->b:Lcom/amazonaws/ClientConfiguration;

    invoke-static {v2, v3}, Lcom/amazonaws/util/RuntimeHttpUtils;->a(Ljava/lang/String;Lcom/amazonaws/ClientConfiguration;)Ljava/net/URI;

    move-result-object v2

    .line 13
    invoke-virtual {p0, p1, p2, p3, v2}, Lcom/amazonaws/services/s3/AmazonS3Client;->A(Lcom/amazonaws/Request;Ljava/lang/String;Ljava/lang/String;Ljava/net/URI;)V

    .line 14
    check-cast v0, Lcom/amazonaws/services/s3/internal/AWSS3V4Signer;

    .line 15
    invoke-virtual {p0}, Lcom/amazonaws/AmazonWebServiceClient;->k()Ljava/lang/String;

    move-result-object p1

    .line 16
    iput-object p1, v0, Lcom/amazonaws/auth/AWS4Signer;->b:Ljava/lang/String;

    .line 17
    iput-object v1, v0, Lcom/amazonaws/auth/AWS4Signer;->c:Ljava/lang/String;

    return-object v0

    .line 18
    :cond_50
    iget-object v1, p0, Lcom/amazonaws/services/s3/AmazonS3Client;->m:Ljava/lang/String;

    if-nez v1, :cond_5d

    sget-object v1, Lcom/amazonaws/services/s3/AmazonS3Client;->q:Ljava/util/Map;

    .line 19
    invoke-interface {v1, p2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Ljava/lang/String;

    goto :goto_5f

    :cond_5d
    iget-object v1, p0, Lcom/amazonaws/services/s3/AmazonS3Client;->m:Ljava/lang/String;

    :goto_5f
    if-eqz v1, :cond_6f

    .line 20
    new-instance p1, Lcom/amazonaws/services/s3/internal/AWSS3V4Signer;

    invoke-direct {p1}, Lcom/amazonaws/services/s3/internal/AWSS3V4Signer;-><init>()V

    .line 21
    invoke-virtual {p0}, Lcom/amazonaws/AmazonWebServiceClient;->k()Ljava/lang/String;

    move-result-object p2

    .line 22
    iput-object p2, p1, Lcom/amazonaws/auth/AWS4Signer;->b:Ljava/lang/String;

    .line 23
    iput-object v1, p1, Lcom/amazonaws/auth/AWS4Signer;->c:Ljava/lang/String;

    return-object p1

    .line 24
    :cond_6f
    instance-of v1, v0, Lcom/amazonaws/services/s3/internal/S3Signer;

    if-eqz v1, :cond_78

    .line 25
    invoke-virtual {p0, p1, p2, p3}, Lcom/amazonaws/services/s3/AmazonS3Client;->r(Lcom/amazonaws/Request;Ljava/lang/String;Ljava/lang/String;)Lcom/amazonaws/services/s3/internal/S3Signer;

    move-result-object p1

    return-object p1

    :cond_78
    return-object v0
.end method

.method public final t(Ljava/lang/String;)Ljava/lang/String;
    .registers 10

    .line 1
    sget-object v0, Lcom/amazonaws/services/s3/AmazonS3Client;->q:Ljava/util/Map;

    invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/String;

    if-nez v0, :cond_93

    .line 2
    sget-object v0, Lcom/amazonaws/services/s3/AmazonS3Client;->p:Lcom/amazonaws/logging/Log;

    invoke-interface {v0}, Lcom/amazonaws/logging/Log;->isDebugEnabled()Z

    move-result v0

    if-eqz v0, :cond_2d

    .line 3
    sget-object v0, Lcom/amazonaws/services/s3/AmazonS3Client;->p:Lcom/amazonaws/logging/Log;

    new-instance v1, Ljava/lang/StringBuilder;

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

    const-string v2, "Bucket region cache doesn\'t have an entry for "

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

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

    const-string v2, ". Trying to get bucket region from Amazon S3."

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

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

    move-result-object v1

    invoke-interface {v0, v1}, Lcom/amazonaws/logging/Log;->f(Ljava/lang/Object;)V

    :cond_2d
    const/4 v4, 0x0

    const/4 v0, 0x0

    .line 4
    :try_start_2f
    new-instance v5, Lcom/amazonaws/services/s3/model/HeadBucketRequest;

    invoke-direct {v5}, Lcom/amazonaws/services/s3/model/HeadBucketRequest;-><init>()V

    sget-object v6, Lcom/amazonaws/http/HttpMethodName;->HEAD:Lcom/amazonaws/http/HttpMethodName;

    new-instance v7, Ljava/net/URI;

    const-string v1, "https://s3-us-west-1.amazonaws.com"

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

    move-object v2, p0

    move-object v3, p1

    invoke-virtual/range {v2 .. v7}, Lcom/amazonaws/services/s3/AmazonS3Client;->q(Ljava/lang/String;Ljava/lang/String;Lcom/amazonaws/AmazonWebServiceRequest;Lcom/amazonaws/http/HttpMethodName;Ljava/net/URI;)Lcom/amazonaws/Request;

    move-result-object v1

    .line 5
    new-instance v2, Lcom/amazonaws/services/s3/model/transform/HeadBucketResultHandler;

    invoke-direct {v2}, Lcom/amazonaws/services/s3/model/transform/HeadBucketResultHandler;-><init>()V

    invoke-virtual {p0, v1, v2, p1, v0}, Lcom/amazonaws/services/s3/AmazonS3Client;->v(Lcom/amazonaws/Request;Lcom/amazonaws/http/HttpResponseHandler;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Lcom/amazonaws/services/s3/model/HeadBucketResult;

    .line 6
    iget-object v0, v1, Lcom/amazonaws/services/s3/model/HeadBucketResult;->a:Ljava/lang/String;
    :try_end_50
    .catch Lcom/amazonaws/services/s3/model/AmazonS3Exception; {:try_start_2f .. :try_end_50} :catch_59
    .catch Ljava/net/URISyntaxException; {:try_start_2f .. :try_end_50} :catch_51

    goto :goto_67

    .line 7
    :catch_51
    sget-object v1, Lcom/amazonaws/services/s3/AmazonS3Client;->p:Lcom/amazonaws/logging/Log;

    const-string v2, "Error while creating URI"

    invoke-interface {v1, v2}, Lcom/amazonaws/logging/Log;->e(Ljava/lang/Object;)V

    goto :goto_67

    :catch_59
    move-exception v1

    .line 8
    iget-object v1, v1, Lcom/amazonaws/services/s3/model/AmazonS3Exception;->g:Ljava/util/Map;

    if-eqz v1, :cond_67

    const-string/jumbo v0, "x-amz-bucket-region"

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

    move-result-object v0

    check-cast v0, Ljava/lang/String;

    :cond_67
    :goto_67
    if-nez v0, :cond_8c

    .line 10
    sget-object v1, Lcom/amazonaws/services/s3/AmazonS3Client;->p:Lcom/amazonaws/logging/Log;

    invoke-interface {v1}, Lcom/amazonaws/logging/Log;->isDebugEnabled()Z

    move-result v1

    if-eqz v1, :cond_8c

    .line 11
    sget-object v1, Lcom/amazonaws/services/s3/AmazonS3Client;->p:Lcom/amazonaws/logging/Log;

    new-instance v2, Ljava/lang/StringBuilder;

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

    const-string v3, "Not able to derive region of the "

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

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

    const-string v3, " from the HEAD Bucket requests."

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

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

    move-result-object v2

    invoke-interface {v1, v2}, Lcom/amazonaws/logging/Log;->f(Ljava/lang/Object;)V

    :cond_8c
    if-eqz v0, :cond_93

    .line 12
    sget-object v1, Lcom/amazonaws/services/s3/AmazonS3Client;->q:Ljava/util/Map;

    invoke-interface {v1, p1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 13
    :cond_93
    sget-object v1, Lcom/amazonaws/services/s3/AmazonS3Client;->p:Lcom/amazonaws/logging/Log;

    invoke-interface {v1}, Lcom/amazonaws/logging/Log;->isDebugEnabled()Z

    move-result v1

    if-eqz v1, :cond_b9

    .line 14
    sget-object v1, Lcom/amazonaws/services/s3/AmazonS3Client;->p:Lcom/amazonaws/logging/Log;

    new-instance v2, Ljava/lang/StringBuilder;

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

    const-string v3, "Region for "

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

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

    const-string p1, " is "

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

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

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

    move-result-object p1

    invoke-interface {v1, p1}, Lcom/amazonaws/logging/Log;->f(Ljava/lang/Object;)V

    :cond_b9
    return-object v0
.end method

.method public final u(Lcom/amazonaws/event/ProgressListenerCallbackExecutor;I)V
    .registers 6

    if-nez p1, :cond_3

    return-void

    .line 1
    :cond_3
    new-instance v0, Lcom/amazonaws/event/ProgressEvent;

    const-wide/16 v1, 0x0

    invoke-direct {v0, v1, v2}, Lcom/amazonaws/event/ProgressEvent;-><init>(J)V

    .line 2
    iput p2, v0, Lcom/amazonaws/event/ProgressEvent;->b:I

    .line 3
    invoke-virtual {p1, v0}, Lcom/amazonaws/event/ProgressListenerCallbackExecutor;->a(Lcom/amazonaws/event/ProgressEvent;)V

    return-void
.end method

.method public final v(Lcom/amazonaws/Request;Lcom/amazonaws/http/HttpResponseHandler;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
    .registers 11
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<X:",
            "Ljava/lang/Object;",
            "Y:",
            "Lcom/amazonaws/AmazonWebServiceRequest;",
            ">(",
            "Lcom/amazonaws/Request<",
            "TY;>;",
            "Lcom/amazonaws/http/HttpResponseHandler<",
            "Lcom/amazonaws/AmazonWebServiceResponse<",
            "TX;>;>;",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ")TX;"
        }
    .end annotation

    const-string v0, "Content-Type"

    .line 1
    move-object v1, p1

    check-cast v1, Lcom/amazonaws/DefaultRequest;

    .line 2
    iget-object v2, v1, Lcom/amazonaws/DefaultRequest;->g:Lcom/amazonaws/AmazonWebServiceRequest;

    .line 3
    iget-object v2, v2, Lcom/amazonaws/AmazonWebServiceRequest;->c:Lcom/amazonaws/metrics/RequestMetricCollector;

    .line 4
    iget-object v2, p0, Lcom/amazonaws/AmazonWebServiceClient;->c:Lcom/amazonaws/http/AmazonHttpClient;

    invoke-static {v2}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;

    .line 5
    invoke-static {}, Lcom/amazonaws/metrics/AwsSdkMetrics;->getRequestMetricCollector()Lcom/amazonaws/metrics/RequestMetricCollector;

    const-string v2, "com.amazonaws.sdk.enableRuntimeProfiling"

    .line 6
    invoke-static {v2}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v2

    if-eqz v2, :cond_1b

    const/4 v2, 0x1

    goto :goto_1c

    :cond_1b
    const/4 v2, 0x0

    .line 7
    :goto_1c
    new-instance v3, Lcom/amazonaws/services/s3/internal/S3ExecutionContext;

    iget-object v4, p0, Lcom/amazonaws/AmazonWebServiceClient;->d:Ljava/util/concurrent/CopyOnWriteArrayList;

    invoke-direct {v3, v4, v2, p0}, Lcom/amazonaws/services/s3/internal/S3ExecutionContext;-><init>(Ljava/util/List;ZLcom/amazonaws/AmazonWebServiceClient;)V

    .line 8
    iget-object v2, v3, Lcom/amazonaws/http/ExecutionContext;->a:Lcom/amazonaws/util/AWSRequestMetrics;

    .line 9
    iget-object v4, v1, Lcom/amazonaws/DefaultRequest;->k:Lcom/amazonaws/util/AWSRequestMetrics;

    if-nez v4, :cond_a9

    .line 10
    iput-object v2, v1, Lcom/amazonaws/DefaultRequest;->k:Lcom/amazonaws/util/AWSRequestMetrics;

    .line 11
    sget-object v1, Lcom/amazonaws/util/AWSRequestMetrics$Field;->ClientExecuteTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;

    invoke-virtual {v2, v1}, Lcom/amazonaws/util/AWSRequestMetrics;->e(Lcom/amazonaws/metrics/MetricType;)V

    const-wide/16 v4, 0x0

    .line 12
    :try_start_32
    move-object v1, p1

    check-cast v1, Lcom/amazonaws/DefaultRequest;

    .line 13
    iput-wide v4, v1, Lcom/amazonaws/DefaultRequest;->j:J

    .line 14
    move-object v1, p1

    check-cast v1, Lcom/amazonaws/DefaultRequest;

    .line 15
    iget-object v1, v1, Lcom/amazonaws/DefaultRequest;->d:Ljava/util/HashMap;

    .line 16
    invoke-virtual {v1, v0}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z

    move-result v1

    if-nez v1, :cond_4a

    const-string v1, "application/octet-stream"

    .line 17
    move-object v4, p1

    check-cast v4, Lcom/amazonaws/DefaultRequest;

    invoke-virtual {v4, v0, v1}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    :cond_4a
    if-eqz p3, :cond_55

    .line 18
    invoke-virtual {p0, p1}, Lcom/amazonaws/services/s3/AmazonS3Client;->w(Lcom/amazonaws/Request;)Z

    move-result v0

    if-eqz v0, :cond_55

    .line 19
    invoke-virtual {p0, p3}, Lcom/amazonaws/services/s3/AmazonS3Client;->t(Ljava/lang/String;)Ljava/lang/String;

    .line 20
    :cond_55
    iget-object v0, p0, Lcom/amazonaws/services/s3/AmazonS3Client;->l:Lcom/amazonaws/auth/AWSCredentialsProvider;

    invoke-interface {v0}, Lcom/amazonaws/auth/AWSCredentialsProvider;->a()Lcom/amazonaws/auth/AWSCredentials;

    move-result-object v0

    .line 21
    invoke-virtual {p0, p1, p3, p4}, Lcom/amazonaws/services/s3/AmazonS3Client;->s(Lcom/amazonaws/Request;Ljava/lang/String;Ljava/lang/String;)Lcom/amazonaws/auth/Signer;

    move-result-object p4

    .line 22
    iput-object p4, v3, Lcom/amazonaws/services/s3/internal/S3ExecutionContext;->d:Lcom/amazonaws/auth/Signer;

    .line 23
    iput-object v0, v3, Lcom/amazonaws/http/ExecutionContext;->c:Lcom/amazonaws/auth/AWSCredentials;

    .line 24
    iget-object p4, p0, Lcom/amazonaws/AmazonWebServiceClient;->c:Lcom/amazonaws/http/AmazonHttpClient;

    iget-object v0, p0, Lcom/amazonaws/services/s3/AmazonS3Client;->i:Lcom/amazonaws/services/s3/internal/S3ErrorResponseHandler;

    invoke-virtual {p4, p1, p2, v0, v3}, Lcom/amazonaws/http/AmazonHttpClient;->b(Lcom/amazonaws/Request;Lcom/amazonaws/http/HttpResponseHandler;Lcom/amazonaws/http/HttpResponseHandler;Lcom/amazonaws/http/ExecutionContext;)Lcom/amazonaws/Response;

    move-result-object p2

    .line 25
    iget-object p2, p2, Lcom/amazonaws/Response;->a:Ljava/lang/Object;
    :try_end_6d
    .catch Lcom/amazonaws/services/s3/model/AmazonS3Exception; {:try_start_32 .. :try_end_6d} :catch_73
    .catchall {:try_start_32 .. :try_end_6d} :catchall_71

    .line 26
    invoke-virtual {p0, v2, p1}, Lcom/amazonaws/AmazonWebServiceClient;->j(Lcom/amazonaws/util/AWSRequestMetrics;Lcom/amazonaws/Request;)V

    return-object p2

    :catchall_71
    move-exception p2

    goto :goto_a5

    :catch_73
    move-exception p2

    .line 27
    :try_start_74
    iget p4, p2, Lcom/amazonaws/AmazonServiceException;->d:I

    const/16 v0, 0x12d

    if-ne p4, v0, :cond_a4

    .line 28
    iget-object p4, p2, Lcom/amazonaws/services/s3/model/AmazonS3Exception;->g:Ljava/util/Map;

    if-eqz p4, :cond_a4

    const-string/jumbo v0, "x-amz-bucket-region"

    .line 29
    invoke-interface {p4, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p4

    check-cast p4, Ljava/lang/String;

    .line 30
    sget-object v0, Lcom/amazonaws/services/s3/AmazonS3Client;->q:Ljava/util/Map;

    invoke-interface {v0, p3, p4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 31
    new-instance p3, Ljava/lang/StringBuilder;

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

    const-string v0, "The bucket is in this region: "

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

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

    const-string p4, ". Please use this region to retry the request"

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

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

    move-result-object p3

    .line 32
    iput-object p3, p2, Lcom/amazonaws/AmazonServiceException;->c:Ljava/lang/String;

    .line 33
    :cond_a4
    throw p2
    :try_end_a5
    .catchall {:try_start_74 .. :try_end_a5} :catchall_71

    .line 34
    :goto_a5
    invoke-virtual {p0, v2, p1}, Lcom/amazonaws/AmazonWebServiceClient;->j(Lcom/amazonaws/util/AWSRequestMetrics;Lcom/amazonaws/Request;)V

    .line 35
    throw p2

    .line 36
    :cond_a9
    new-instance p1, Ljava/lang/IllegalStateException;

    const-string p2, "AWSRequestMetrics has already been set on this request"

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

    throw p1
.end method

.method public final w(Lcom/amazonaws/Request;)Z
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/amazonaws/Request<",
            "*>;)Z"
        }
    .end annotation

    .line 1
    check-cast p1, Lcom/amazonaws/DefaultRequest;

    .line 2
    iget-object p1, p1, Lcom/amazonaws/DefaultRequest;->e:Ljava/net/URI;

    .line 3
    invoke-virtual {p1}, Ljava/net/URI;->getHost()Ljava/lang/String;

    move-result-object p1

    const-string v0, "s3.amazonaws.com"

    invoke-virtual {p1, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z

    move-result p1

    if-eqz p1, :cond_16

    .line 4
    iget-object p1, p0, Lcom/amazonaws/services/s3/AmazonS3Client;->m:Ljava/lang/String;

    if-nez p1, :cond_16

    const/4 p1, 0x1

    goto :goto_17

    :cond_16
    const/4 p1, 0x0

    :goto_17
    return p1
.end method