e.smali

.class public final Lf/b/d/e;
.super Ljava/lang/Object;
.source ""


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lf/b/d/e$g;
    }
.end annotation


# static fields
.field private static final j:Lf/b/d/v/a;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Lf/b/d/v/a<",
            "*>;"
        }
    .end annotation
.end field


# instance fields
.field private final a:Ljava/lang/ThreadLocal;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/lang/ThreadLocal<",
            "Ljava/util/Map<",
            "Lf/b/d/v/a<",
            "*>;",
            "Lf/b/d/e$g<",
            "*>;>;>;"
        }
    .end annotation
.end field

.field private final b:Ljava/util/Map;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/Map<",
            "Lf/b/d/v/a<",
            "*>;",
            "Lf/b/d/r<",
            "*>;>;"
        }
    .end annotation
.end field

.field private final c:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List<",
            "Lf/b/d/s;",
            ">;"
        }
    .end annotation
.end field

.field private final d:Lf/b/d/u/c;

.field private final e:Z

.field private final f:Z

.field private final g:Z

.field private final h:Z

.field private final i:Lf/b/d/u/k/d;


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

    new-instance v0, Lf/b/d/e$a;

    invoke-direct {v0}, Lf/b/d/e$a;-><init>()V

    sput-object v0, Lf/b/d/e;->j:Lf/b/d/v/a;

    return-void
.end method

.method public constructor <init>()V
    .registers 14

    sget-object v1, Lf/b/d/u/d;->k:Lf/b/d/u/d;

    sget-object v2, Lf/b/d/c;->e:Lf/b/d/c;

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

    move-result-object v3

    sget-object v11, Lf/b/d/q;->e:Lf/b/d/q;

    invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;

    move-result-object v12

    const/4 v4, 0x0

    const/4 v5, 0x0

    const/4 v6, 0x0

    const/4 v7, 0x1

    const/4 v8, 0x0

    const/4 v9, 0x0

    const/4 v10, 0x0

    move-object v0, p0

    invoke-direct/range {v0 .. v12}, Lf/b/d/e;-><init>(Lf/b/d/u/d;Lf/b/d/d;Ljava/util/Map;ZZZZZZZLf/b/d/q;Ljava/util/List;)V

    return-void
.end method

.method constructor <init>(Lf/b/d/u/d;Lf/b/d/d;Ljava/util/Map;ZZZZZZZLf/b/d/q;Ljava/util/List;)V
    .registers 13
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lf/b/d/u/d;",
            "Lf/b/d/d;",
            "Ljava/util/Map<",
            "Ljava/lang/reflect/Type;",
            "Lf/b/d/f<",
            "*>;>;ZZZZZZZ",
            "Lf/b/d/q;",
            "Ljava/util/List<",
            "Lf/b/d/s;",
            ">;)V"
        }
    .end annotation

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

    new-instance p9, Ljava/lang/ThreadLocal;

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

    iput-object p9, p0, Lf/b/d/e;->a:Ljava/lang/ThreadLocal;

    new-instance p9, Ljava/util/concurrent/ConcurrentHashMap;

    invoke-direct {p9}, Ljava/util/concurrent/ConcurrentHashMap;-><init>()V

    iput-object p9, p0, Lf/b/d/e;->b:Ljava/util/Map;

    new-instance p9, Lf/b/d/u/c;

    invoke-direct {p9, p3}, Lf/b/d/u/c;-><init>(Ljava/util/Map;)V

    iput-object p9, p0, Lf/b/d/e;->d:Lf/b/d/u/c;

    iput-boolean p4, p0, Lf/b/d/e;->e:Z

    iput-boolean p6, p0, Lf/b/d/e;->g:Z

    iput-boolean p7, p0, Lf/b/d/e;->f:Z

    iput-boolean p8, p0, Lf/b/d/e;->h:Z

    new-instance p3, Ljava/util/ArrayList;

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

    sget-object p4, Lf/b/d/u/k/m;->Y:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/g;->b:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    invoke-interface {p3, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    invoke-interface {p3, p12}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z

    sget-object p4, Lf/b/d/u/k/m;->D:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/m;->m:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/m;->g:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/m;->i:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/m;->k:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    invoke-static {p11}, Lf/b/d/e;->i(Lf/b/d/q;)Lf/b/d/r;

    move-result-object p4

    sget-object p6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;

    const-class p7, Ljava/lang/Long;

    invoke-static {p6, p7, p4}, Lf/b/d/u/k/m;->b(Ljava/lang/Class;Ljava/lang/Class;Lf/b/d/r;)Lf/b/d/s;

    move-result-object p6

    invoke-interface {p3, p6}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p6, Ljava/lang/Double;->TYPE:Ljava/lang/Class;

    const-class p7, Ljava/lang/Double;

    invoke-direct {p0, p10}, Lf/b/d/e;->d(Z)Lf/b/d/r;

    move-result-object p8

    invoke-static {p6, p7, p8}, Lf/b/d/u/k/m;->b(Ljava/lang/Class;Ljava/lang/Class;Lf/b/d/r;)Lf/b/d/s;

    move-result-object p6

    invoke-interface {p3, p6}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p6, Ljava/lang/Float;->TYPE:Ljava/lang/Class;

    const-class p7, Ljava/lang/Float;

    invoke-direct {p0, p10}, Lf/b/d/e;->e(Z)Lf/b/d/r;

    move-result-object p8

    invoke-static {p6, p7, p8}, Lf/b/d/u/k/m;->b(Ljava/lang/Class;Ljava/lang/Class;Lf/b/d/r;)Lf/b/d/s;

    move-result-object p6

    invoke-interface {p3, p6}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p6, Lf/b/d/u/k/m;->x:Lf/b/d/s;

    invoke-interface {p3, p6}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p6, Lf/b/d/u/k/m;->o:Lf/b/d/s;

    invoke-interface {p3, p6}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p6, Lf/b/d/u/k/m;->q:Lf/b/d/s;

    invoke-interface {p3, p6}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    const-class p6, Ljava/util/concurrent/atomic/AtomicLong;

    invoke-static {p4}, Lf/b/d/e;->a(Lf/b/d/r;)Lf/b/d/r;

    move-result-object p7

    invoke-static {p6, p7}, Lf/b/d/u/k/m;->a(Ljava/lang/Class;Lf/b/d/r;)Lf/b/d/s;

    move-result-object p6

    invoke-interface {p3, p6}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    const-class p6, Ljava/util/concurrent/atomic/AtomicLongArray;

    invoke-static {p4}, Lf/b/d/e;->b(Lf/b/d/r;)Lf/b/d/r;

    move-result-object p4

    invoke-static {p6, p4}, Lf/b/d/u/k/m;->a(Ljava/lang/Class;Lf/b/d/r;)Lf/b/d/s;

    move-result-object p4

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/m;->s:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/m;->z:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/m;->F:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/m;->H:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    const-class p4, Ljava/math/BigDecimal;

    sget-object p6, Lf/b/d/u/k/m;->B:Lf/b/d/r;

    invoke-static {p4, p6}, Lf/b/d/u/k/m;->a(Ljava/lang/Class;Lf/b/d/r;)Lf/b/d/s;

    move-result-object p4

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    const-class p4, Ljava/math/BigInteger;

    sget-object p6, Lf/b/d/u/k/m;->C:Lf/b/d/r;

    invoke-static {p4, p6}, Lf/b/d/u/k/m;->a(Ljava/lang/Class;Lf/b/d/r;)Lf/b/d/s;

    move-result-object p4

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/m;->J:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/m;->L:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/m;->P:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/m;->R:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/m;->W:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/m;->N:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/m;->d:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/c;->b:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/m;->U:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/j;->b:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/i;->b:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/m;->S:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/a;->b:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p4, Lf/b/d/u/k/m;->b:Lf/b/d/s;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    new-instance p4, Lf/b/d/u/k/b;

    invoke-direct {p4, p9}, Lf/b/d/u/k/b;-><init>(Lf/b/d/u/c;)V

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    new-instance p4, Lf/b/d/u/k/f;

    invoke-direct {p4, p9, p5}, Lf/b/d/u/k/f;-><init>(Lf/b/d/u/c;Z)V

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    new-instance p4, Lf/b/d/u/k/d;

    invoke-direct {p4, p9}, Lf/b/d/u/k/d;-><init>(Lf/b/d/u/c;)V

    iput-object p4, p0, Lf/b/d/e;->i:Lf/b/d/u/k/d;

    invoke-interface {p3, p4}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    sget-object p5, Lf/b/d/u/k/m;->Z:Lf/b/d/s;

    invoke-interface {p3, p5}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    new-instance p5, Lf/b/d/u/k/h;

    invoke-direct {p5, p9, p2, p1, p4}, Lf/b/d/u/k/h;-><init>(Lf/b/d/u/c;Lf/b/d/d;Lf/b/d/u/d;Lf/b/d/u/k/d;)V

    invoke-interface {p3, p5}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    invoke-static {p3}, Ljava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List;

    move-result-object p1

    iput-object p1, p0, Lf/b/d/e;->c:Ljava/util/List;

    return-void
.end method

.method private static a(Lf/b/d/r;)Lf/b/d/r;
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lf/b/d/r<",
            "Ljava/lang/Number;",
            ">;)",
            "Lf/b/d/r<",
            "Ljava/util/concurrent/atomic/AtomicLong;",
            ">;"
        }
    .end annotation

    new-instance v0, Lf/b/d/e$e;

    invoke-direct {v0, p0}, Lf/b/d/e$e;-><init>(Lf/b/d/r;)V

    invoke-virtual {v0}, Lf/b/d/r;->a()Lf/b/d/r;

    move-result-object p0

    return-object p0
.end method

.method private static b(Lf/b/d/r;)Lf/b/d/r;
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lf/b/d/r<",
            "Ljava/lang/Number;",
            ">;)",
            "Lf/b/d/r<",
            "Ljava/util/concurrent/atomic/AtomicLongArray;",
            ">;"
        }
    .end annotation

    new-instance v0, Lf/b/d/e$f;

    invoke-direct {v0, p0}, Lf/b/d/e$f;-><init>(Lf/b/d/r;)V

    invoke-virtual {v0}, Lf/b/d/r;->a()Lf/b/d/r;

    move-result-object p0

    return-object p0
.end method

.method static c(D)V
    .registers 4

    invoke-static {p0, p1}, Ljava/lang/Double;->isNaN(D)Z

    move-result v0

    if-nez v0, :cond_d

    invoke-static {p0, p1}, Ljava/lang/Double;->isInfinite(D)Z

    move-result v0

    if-nez v0, :cond_d

    return-void

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

    new-instance v1, Ljava/lang/StringBuilder;

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

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

    const-string p0, " is not a valid double value as per JSON specification. To override this"

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

    const-string p0, " behavior, use GsonBuilder.serializeSpecialFloatingPointValues() method."

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

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

    move-result-object p0

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

    throw v0
.end method

.method private d(Z)Lf/b/d/r;
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(Z)",
            "Lf/b/d/r<",
            "Ljava/lang/Number;",
            ">;"
        }
    .end annotation

    if-eqz p1, :cond_5

    sget-object p1, Lf/b/d/u/k/m;->v:Lf/b/d/r;

    return-object p1

    :cond_5
    new-instance p1, Lf/b/d/e$b;

    invoke-direct {p1, p0}, Lf/b/d/e$b;-><init>(Lf/b/d/e;)V

    return-object p1
.end method

.method private e(Z)Lf/b/d/r;
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(Z)",
            "Lf/b/d/r<",
            "Ljava/lang/Number;",
            ">;"
        }
    .end annotation

    if-eqz p1, :cond_5

    sget-object p1, Lf/b/d/u/k/m;->u:Lf/b/d/r;

    return-object p1

    :cond_5
    new-instance p1, Lf/b/d/e$c;

    invoke-direct {p1, p0}, Lf/b/d/e$c;-><init>(Lf/b/d/e;)V

    return-object p1
.end method

.method private static i(Lf/b/d/q;)Lf/b/d/r;
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lf/b/d/q;",
            ")",
            "Lf/b/d/r<",
            "Ljava/lang/Number;",
            ">;"
        }
    .end annotation

    sget-object v0, Lf/b/d/q;->e:Lf/b/d/q;

    if-ne p0, v0, :cond_7

    sget-object p0, Lf/b/d/u/k/m;->t:Lf/b/d/r;

    return-object p0

    :cond_7
    new-instance p0, Lf/b/d/e$d;

    invoke-direct {p0}, Lf/b/d/e$d;-><init>()V

    return-object p0
.end method


# virtual methods
.method public f(Lf/b/d/v/a;)Lf/b/d/r;
    .registers 7
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">(",
            "Lf/b/d/v/a<",
            "TT;>;)",
            "Lf/b/d/r<",
            "TT;>;"
        }
    .end annotation

    iget-object v0, p0, Lf/b/d/e;->b:Ljava/util/Map;

    if-nez p1, :cond_7

    sget-object v1, Lf/b/d/e;->j:Lf/b/d/v/a;

    goto :goto_8

    :cond_7
    move-object v1, p1

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

    move-result-object v0

    check-cast v0, Lf/b/d/r;

    if-eqz v0, :cond_11

    return-object v0

    :cond_11
    iget-object v0, p0, Lf/b/d/e;->a:Ljava/lang/ThreadLocal;

    invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/util/Map;

    const/4 v1, 0x0

    if-nez v0, :cond_27

    new-instance v0, Ljava/util/HashMap;

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

    iget-object v1, p0, Lf/b/d/e;->a:Ljava/lang/ThreadLocal;

    invoke-virtual {v1, v0}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V

    const/4 v1, 0x1

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

    move-result-object v2

    check-cast v2, Lf/b/d/e$g;

    if-eqz v2, :cond_30

    return-object v2

    :cond_30
    :try_start_30
    new-instance v2, Lf/b/d/e$g;

    invoke-direct {v2}, Lf/b/d/e$g;-><init>()V

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

    iget-object v3, p0, Lf/b/d/e;->c:Ljava/util/List;

    invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v3

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

    move-result v4

    if-eqz v4, :cond_63

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

    move-result-object v4

    check-cast v4, Lf/b/d/s;

    invoke-interface {v4, p0, p1}, Lf/b/d/s;->a(Lf/b/d/e;Lf/b/d/v/a;)Lf/b/d/r;

    move-result-object v4

    if-eqz v4, :cond_3e

    invoke-virtual {v2, v4}, Lf/b/d/e$g;->d(Lf/b/d/r;)V

    iget-object v2, p0, Lf/b/d/e;->b:Ljava/util/Map;

    invoke-interface {v2, p1, v4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_58
    .catchall {:try_start_30 .. :try_end_58} :catchall_7a

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

    if-eqz v1, :cond_62

    iget-object p1, p0, Lf/b/d/e;->a:Ljava/lang/ThreadLocal;

    invoke-virtual {p1}, Ljava/lang/ThreadLocal;->remove()V

    :cond_62
    return-object v4

    :cond_63
    :try_start_63
    new-instance v2, Ljava/lang/IllegalArgumentException;

    new-instance v3, Ljava/lang/StringBuilder;

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

    const-string v4, "GSON cannot handle "

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

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

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

    move-result-object v3

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

    throw v2
    :try_end_7a
    .catchall {:try_start_63 .. :try_end_7a} :catchall_7a

    :catchall_7a
    move-exception v2

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

    if-eqz v1, :cond_85

    iget-object p1, p0, Lf/b/d/e;->a:Ljava/lang/ThreadLocal;

    invoke-virtual {p1}, Ljava/lang/ThreadLocal;->remove()V

    :cond_85
    goto :goto_87

    :goto_86
    throw v2

    :goto_87
    goto :goto_86
.end method

.method public g(Ljava/lang/Class;)Lf/b/d/r;
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">(",
            "Ljava/lang/Class<",
            "TT;>;)",
            "Lf/b/d/r<",
            "TT;>;"
        }
    .end annotation

    invoke-static {p1}, Lf/b/d/v/a;->a(Ljava/lang/Class;)Lf/b/d/v/a;

    move-result-object p1

    invoke-virtual {p0, p1}, Lf/b/d/e;->f(Lf/b/d/v/a;)Lf/b/d/r;

    move-result-object p1

    return-object p1
.end method

.method public h(Lf/b/d/s;Lf/b/d/v/a;)Lf/b/d/r;
    .registers 6
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">(",
            "Lf/b/d/s;",
            "Lf/b/d/v/a<",
            "TT;>;)",
            "Lf/b/d/r<",
            "TT;>;"
        }
    .end annotation

    iget-object v0, p0, Lf/b/d/e;->c:Ljava/util/List;

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

    move-result v0

    if-nez v0, :cond_a

    iget-object p1, p0, Lf/b/d/e;->i:Lf/b/d/u/k/d;

    :cond_a
    const/4 v0, 0x0

    iget-object v1, p0, Lf/b/d/e;->c:Ljava/util/List;

    invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v1

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

    move-result v2

    if-eqz v2, :cond_2a

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

    move-result-object v2

    check-cast v2, Lf/b/d/s;

    if-nez v0, :cond_23

    if-ne v2, p1, :cond_11

    const/4 v0, 0x1

    goto :goto_11

    :cond_23
    invoke-interface {v2, p0, p2}, Lf/b/d/s;->a(Lf/b/d/e;Lf/b/d/v/a;)Lf/b/d/r;

    move-result-object v2

    if-eqz v2, :cond_11

    return-object v2

    :cond_2a
    new-instance p1, Ljava/lang/IllegalArgumentException;

    new-instance v0, Ljava/lang/StringBuilder;

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

    const-string v1, "GSON cannot serialize "

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

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

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

    move-result-object p2

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

    goto :goto_42

    :goto_41
    throw p1

    :goto_42
    goto :goto_41
.end method

.method public j(Ljava/io/Writer;)Lf/b/d/w/a;
    .registers 3

    iget-boolean v0, p0, Lf/b/d/e;->g:Z

    if-eqz v0, :cond_9

    const-string v0, ")]}\'\n"

    invoke-virtual {p1, v0}, Ljava/io/Writer;->write(Ljava/lang/String;)V

    :cond_9
    new-instance v0, Lf/b/d/w/a;

    invoke-direct {v0, p1}, Lf/b/d/w/a;-><init>(Ljava/io/Writer;)V

    iget-boolean p1, p0, Lf/b/d/e;->h:Z

    if-eqz p1, :cond_17

    const-string p1, "  "

    invoke-virtual {v0, p1}, Lf/b/d/w/a;->v0(Ljava/lang/String;)V

    :cond_17
    iget-boolean p1, p0, Lf/b/d/e;->e:Z

    invoke-virtual {v0, p1}, Lf/b/d/w/a;->x0(Z)V

    return-object v0
.end method

.method public k(Lf/b/d/i;)Ljava/lang/String;
    .registers 3

    new-instance v0, Ljava/io/StringWriter;

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

    invoke-virtual {p0, p1, v0}, Lf/b/d/e;->o(Lf/b/d/i;Ljava/lang/Appendable;)V

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

    move-result-object p1

    return-object p1
.end method

.method public l(Ljava/lang/Object;)Ljava/lang/String;
    .registers 3

    if-nez p1, :cond_9

    sget-object p1, Lf/b/d/k;->a:Lf/b/d/k;

    invoke-virtual {p0, p1}, Lf/b/d/e;->k(Lf/b/d/i;)Ljava/lang/String;

    move-result-object p1

    return-object p1

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

    move-result-object v0

    invoke-virtual {p0, p1, v0}, Lf/b/d/e;->m(Ljava/lang/Object;Ljava/lang/reflect/Type;)Ljava/lang/String;

    move-result-object p1

    return-object p1
.end method

.method public m(Ljava/lang/Object;Ljava/lang/reflect/Type;)Ljava/lang/String;
    .registers 4

    new-instance v0, Ljava/io/StringWriter;

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

    invoke-virtual {p0, p1, p2, v0}, Lf/b/d/e;->q(Ljava/lang/Object;Ljava/lang/reflect/Type;Ljava/lang/Appendable;)V

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

    move-result-object p1

    return-object p1
.end method

.method public n(Lf/b/d/i;Lf/b/d/w/a;)V
    .registers 7

    invoke-virtual {p2}, Lf/b/d/w/a;->a0()Z

    move-result v0

    const/4 v1, 0x1

    invoke-virtual {p2, v1}, Lf/b/d/w/a;->w0(Z)V

    invoke-virtual {p2}, Lf/b/d/w/a;->X()Z

    move-result v1

    iget-boolean v2, p0, Lf/b/d/e;->f:Z

    invoke-virtual {p2, v2}, Lf/b/d/w/a;->u0(Z)V

    invoke-virtual {p2}, Lf/b/d/w/a;->R()Z

    move-result v2

    iget-boolean v3, p0, Lf/b/d/e;->e:Z

    invoke-virtual {p2, v3}, Lf/b/d/w/a;->x0(Z)V

    :try_start_1a
    invoke-static {p1, p2}, Lf/b/d/u/i;->a(Lf/b/d/i;Lf/b/d/w/a;)V
    :try_end_1d
    .catch Ljava/io/IOException; {:try_start_1a .. :try_end_1d} :catch_29
    .catchall {:try_start_1a .. :try_end_1d} :catchall_27

    invoke-virtual {p2, v0}, Lf/b/d/w/a;->w0(Z)V

    invoke-virtual {p2, v1}, Lf/b/d/w/a;->u0(Z)V

    invoke-virtual {p2, v2}, Lf/b/d/w/a;->x0(Z)V

    return-void

    :catchall_27
    move-exception p1

    goto :goto_30

    :catch_29
    move-exception p1

    :try_start_2a
    new-instance v3, Lf/b/d/j;

    invoke-direct {v3, p1}, Lf/b/d/j;-><init>(Ljava/lang/Throwable;)V

    throw v3
    :try_end_30
    .catchall {:try_start_2a .. :try_end_30} :catchall_27

    :goto_30
    invoke-virtual {p2, v0}, Lf/b/d/w/a;->w0(Z)V

    invoke-virtual {p2, v1}, Lf/b/d/w/a;->u0(Z)V

    invoke-virtual {p2, v2}, Lf/b/d/w/a;->x0(Z)V

    throw p1
.end method

.method public o(Lf/b/d/i;Ljava/lang/Appendable;)V
    .registers 3

    :try_start_0
    invoke-static {p2}, Lf/b/d/u/i;->b(Ljava/lang/Appendable;)Ljava/io/Writer;

    move-result-object p2

    invoke-virtual {p0, p2}, Lf/b/d/e;->j(Ljava/io/Writer;)Lf/b/d/w/a;

    move-result-object p2

    invoke-virtual {p0, p1, p2}, Lf/b/d/e;->n(Lf/b/d/i;Lf/b/d/w/a;)V
    :try_end_b
    .catch Ljava/io/IOException; {:try_start_0 .. :try_end_b} :catch_c

    return-void

    :catch_c
    move-exception p1

    new-instance p2, Lf/b/d/j;

    invoke-direct {p2, p1}, Lf/b/d/j;-><init>(Ljava/lang/Throwable;)V

    throw p2
.end method

.method public p(Ljava/lang/Object;Ljava/lang/reflect/Type;Lf/b/d/w/a;)V
    .registers 8

    invoke-static {p2}, Lf/b/d/v/a;->b(Ljava/lang/reflect/Type;)Lf/b/d/v/a;

    move-result-object p2

    invoke-virtual {p0, p2}, Lf/b/d/e;->f(Lf/b/d/v/a;)Lf/b/d/r;

    move-result-object p2

    invoke-virtual {p3}, Lf/b/d/w/a;->a0()Z

    move-result v0

    const/4 v1, 0x1

    invoke-virtual {p3, v1}, Lf/b/d/w/a;->w0(Z)V

    invoke-virtual {p3}, Lf/b/d/w/a;->X()Z

    move-result v1

    iget-boolean v2, p0, Lf/b/d/e;->f:Z

    invoke-virtual {p3, v2}, Lf/b/d/w/a;->u0(Z)V

    invoke-virtual {p3}, Lf/b/d/w/a;->R()Z

    move-result v2

    iget-boolean v3, p0, Lf/b/d/e;->e:Z

    invoke-virtual {p3, v3}, Lf/b/d/w/a;->x0(Z)V

    :try_start_22
    invoke-virtual {p2, p3, p1}, Lf/b/d/r;->c(Lf/b/d/w/a;Ljava/lang/Object;)V
    :try_end_25
    .catch Ljava/io/IOException; {:try_start_22 .. :try_end_25} :catch_31
    .catchall {:try_start_22 .. :try_end_25} :catchall_2f

    invoke-virtual {p3, v0}, Lf/b/d/w/a;->w0(Z)V

    invoke-virtual {p3, v1}, Lf/b/d/w/a;->u0(Z)V

    invoke-virtual {p3, v2}, Lf/b/d/w/a;->x0(Z)V

    return-void

    :catchall_2f
    move-exception p1

    goto :goto_38

    :catch_31
    move-exception p1

    :try_start_32
    new-instance p2, Lf/b/d/j;

    invoke-direct {p2, p1}, Lf/b/d/j;-><init>(Ljava/lang/Throwable;)V

    throw p2
    :try_end_38
    .catchall {:try_start_32 .. :try_end_38} :catchall_2f

    :goto_38
    invoke-virtual {p3, v0}, Lf/b/d/w/a;->w0(Z)V

    invoke-virtual {p3, v1}, Lf/b/d/w/a;->u0(Z)V

    invoke-virtual {p3, v2}, Lf/b/d/w/a;->x0(Z)V

    throw p1
.end method

.method public q(Ljava/lang/Object;Ljava/lang/reflect/Type;Ljava/lang/Appendable;)V
    .registers 4

    :try_start_0
    invoke-static {p3}, Lf/b/d/u/i;->b(Ljava/lang/Appendable;)Ljava/io/Writer;

    move-result-object p3

    invoke-virtual {p0, p3}, Lf/b/d/e;->j(Ljava/io/Writer;)Lf/b/d/w/a;

    move-result-object p3

    invoke-virtual {p0, p1, p2, p3}, Lf/b/d/e;->p(Ljava/lang/Object;Ljava/lang/reflect/Type;Lf/b/d/w/a;)V
    :try_end_b
    .catch Ljava/io/IOException; {:try_start_0 .. :try_end_b} :catch_c

    return-void

    :catch_c
    move-exception p1

    new-instance p2, Lf/b/d/j;

    invoke-direct {p2, p1}, Lf/b/d/j;-><init>(Ljava/lang/Throwable;)V

    throw p2
.end method

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

    new-instance v0, Ljava/lang/StringBuilder;

    const-string v1, "{serializeNulls:"

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

    iget-boolean v1, p0, Lf/b/d/e;->e:Z

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

    const-string v1, "factories:"

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

    iget-object v1, p0, Lf/b/d/e;->c:Ljava/util/List;

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

    const-string v1, ",instanceCreators:"

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

    iget-object v1, p0, Lf/b/d/e;->d:Lf/b/d/u/c;

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

    const-string v1, "}"

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

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

    move-result-object v0

    return-object v0
.end method