o.smali
.class public final Lcom/alibaba/fastjson/parser/deserializer/o;
.super Lcom/alibaba/fastjson/parser/deserializer/e;
.source "SourceFile"
# interfaces
.implements Lcom/alibaba/fastjson/serializer/o0;
.implements Lcom/alibaba/fastjson/serializer/r;
# static fields
.field public static final a:Lcom/alibaba/fastjson/parser/deserializer/o;
.field public static final b:Ljava/time/format/DateTimeFormatter;
.field public static final c:Ljava/time/format/DateTimeFormatter;
.field public static final d:Ljava/time/format/DateTimeFormatter;
.field public static final e:Ljava/time/format/DateTimeFormatter;
.field public static final f:Ljava/time/format/DateTimeFormatter;
.field public static final g:Ljava/time/format/DateTimeFormatter;
.field public static final h:Ljava/time/format/DateTimeFormatter;
.field public static final i:Ljava/time/format/DateTimeFormatter;
.field public static final j:Ljava/time/format/DateTimeFormatter;
.field public static final k:Ljava/time/format/DateTimeFormatter;
.field public static final l:Ljava/time/format/DateTimeFormatter;
.field public static final m:Ljava/time/format/DateTimeFormatter;
.field public static final n:Ljava/time/format/DateTimeFormatter;
.field public static final o:Ljava/time/format/DateTimeFormatter;
.field public static final p:Ljava/time/format/DateTimeFormatter;
.field public static final q:Ljava/time/format/DateTimeFormatter;
.field public static final r:Ljava/time/format/DateTimeFormatter;
.field public static final s:Ljava/time/format/DateTimeFormatter;
.field public static final t:Ljava/time/format/DateTimeFormatter;
# direct methods
.method public static constructor <clinit>()V
.registers 2
.line 1
new-instance v0, Lcom/alibaba/fastjson/parser/deserializer/o;
invoke-direct {v0}, Lcom/alibaba/fastjson/parser/deserializer/o;-><init>()V
sput-object v0, Lcom/alibaba/fastjson/parser/deserializer/o;->a:Lcom/alibaba/fastjson/parser/deserializer/o;
const-string/jumbo v0, "yyyy-MM-dd HH:mm:ss"
.line 2
invoke-static {v0}, Ljava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
move-result-object v1
sput-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->b:Ljava/time/format/DateTimeFormatter;
const-string/jumbo v1, "yyyy/MM/dd HH:mm:ss"
.line 3
invoke-static {v1}, Ljava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
move-result-object v1
sput-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->c:Ljava/time/format/DateTimeFormatter;
const-string/jumbo v1, "yyyy\u5e74M\u6708d\u65e5 HH:mm:ss"
.line 4
invoke-static {v1}, Ljava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
move-result-object v1
sput-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->d:Ljava/time/format/DateTimeFormatter;
const-string/jumbo v1, "yyyy\u5e74M\u6708d\u65e5 H\u65f6m\u5206s\u79d2"
.line 5
invoke-static {v1}, Ljava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
move-result-object v1
sput-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->e:Ljava/time/format/DateTimeFormatter;
const-string/jumbo v1, "yyyy\ub144M\uc6d4d\uc77c HH:mm:ss"
.line 6
invoke-static {v1}, Ljava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
move-result-object v1
sput-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->f:Ljava/time/format/DateTimeFormatter;
const-string v1, "MM/dd/yyyy HH:mm:ss"
.line 7
invoke-static {v1}, Ljava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
move-result-object v1
sput-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->g:Ljava/time/format/DateTimeFormatter;
const-string v1, "dd/MM/yyyy HH:mm:ss"
.line 8
invoke-static {v1}, Ljava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
move-result-object v1
sput-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->h:Ljava/time/format/DateTimeFormatter;
const-string v1, "dd.MM.yyyy HH:mm:ss"
.line 9
invoke-static {v1}, Ljava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
move-result-object v1
sput-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->i:Ljava/time/format/DateTimeFormatter;
const-string v1, "dd-MM-yyyy HH:mm:ss"
.line 10
invoke-static {v1}, Ljava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
move-result-object v1
sput-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->j:Ljava/time/format/DateTimeFormatter;
const-string/jumbo v1, "yyyyMMdd"
.line 11
invoke-static {v1}, Ljava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
move-result-object v1
sput-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->k:Ljava/time/format/DateTimeFormatter;
const-string/jumbo v1, "yyyy/MM/dd"
.line 12
invoke-static {v1}, Ljava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
move-result-object v1
sput-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->l:Ljava/time/format/DateTimeFormatter;
const-string/jumbo v1, "yyyy\u5e74M\u6708d\u65e5"
.line 13
invoke-static {v1}, Ljava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
move-result-object v1
sput-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->m:Ljava/time/format/DateTimeFormatter;
const-string/jumbo v1, "yyyy\ub144M\uc6d4d\uc77c"
.line 14
invoke-static {v1}, Ljava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
move-result-object v1
sput-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->n:Ljava/time/format/DateTimeFormatter;
const-string v1, "MM/dd/yyyy"
.line 15
invoke-static {v1}, Ljava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
move-result-object v1
sput-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->o:Ljava/time/format/DateTimeFormatter;
const-string v1, "dd/MM/yyyy"
.line 16
invoke-static {v1}, Ljava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
move-result-object v1
sput-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->p:Ljava/time/format/DateTimeFormatter;
const-string v1, "dd.MM.yyyy"
.line 17
invoke-static {v1}, Ljava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
move-result-object v1
sput-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->q:Ljava/time/format/DateTimeFormatter;
const-string v1, "dd-MM-yyyy"
.line 18
invoke-static {v1}, Ljava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
move-result-object v1
sput-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->r:Ljava/time/format/DateTimeFormatter;
.line 19
invoke-static {v0}, Ljava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
move-result-object v0
invoke-static {}, Ljava/time/ZoneId;->systemDefault()Ljava/time/ZoneId;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/time/format/DateTimeFormatter;->withZone(Ljava/time/ZoneId;)Ljava/time/format/DateTimeFormatter;
move-result-object v0
sput-object v0, Lcom/alibaba/fastjson/parser/deserializer/o;->s:Ljava/time/format/DateTimeFormatter;
const-string/jumbo v0, "yyyy-MM-dd\'T\'HH:mm:ss"
.line 20
invoke-static {v0}, Ljava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
move-result-object v0
sput-object v0, Lcom/alibaba/fastjson/parser/deserializer/o;->t:Ljava/time/format/DateTimeFormatter;
return-void
.end method
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Lcom/alibaba/fastjson/parser/deserializer/e;-><init>()V
return-void
.end method
# virtual methods
.method public final b()I
.registers 2
const/4 v0, 0x4
return v0
.end method
.method public final d(Lcom/alibaba/fastjson/serializer/e0;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V
.registers 10
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object p3, p1, Lcom/alibaba/fastjson/serializer/e0;->j:Lcom/alibaba/fastjson/serializer/y0;
if-nez p2, :cond_8
.line 2
invoke-virtual {p3}, Lcom/alibaba/fastjson/serializer/y0;->K()V
goto :goto_65
:cond_8
if-nez p4, :cond_e
.line 3
invoke-virtual {p2}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p4
.line 4
:cond_e
const-class v0, Ljava/time/LocalDateTime;
if-ne p4, v0, :cond_5e
.line 5
sget-object p4, Lcom/alibaba/fastjson/serializer/z0;->UseISO8601DateFormat:Lcom/alibaba/fastjson/serializer/z0;
invoke-virtual {p4}, Lcom/alibaba/fastjson/serializer/z0;->getMask()I
move-result v0
.line 6
move-object v1, p2
check-cast v1, Ljava/time/LocalDateTime;
.line 7
iget-object v2, p1, Lcom/alibaba/fastjson/serializer/e0;->m:Ljava/text/SimpleDateFormat;
instance-of v3, v2, Ljava/text/SimpleDateFormat;
if-eqz v3, :cond_26
.line 8
invoke-virtual {v2}, Ljava/text/SimpleDateFormat;->toPattern()Ljava/lang/String;
move-result-object v2
goto :goto_27
:cond_26
const/4 v2, 0x0
:goto_27
const-string/jumbo v3, "yyyy-MM-dd\'T\'HH:mm:ss"
if-nez v2, :cond_2f
and-int/2addr p5, v0
if-nez p5, :cond_37
.line 9
:cond_2f
iget-object p1, p1, Lcom/alibaba/fastjson/serializer/e0;->j:Lcom/alibaba/fastjson/serializer/y0;
invoke-virtual {p1, p4}, Lcom/alibaba/fastjson/serializer/y0;->u(Lcom/alibaba/fastjson/serializer/z0;)Z
move-result p1
if-eqz p1, :cond_38
:cond_37
move-object v2, v3
.line 10
:cond_38
invoke-virtual {v1}, Ljava/time/LocalDateTime;->getNano()I
move-result p1
if-eqz p1, :cond_49
if-eqz v2, :cond_41
goto :goto_49
.line 11
:cond_41
invoke-virtual {p2}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p1
invoke-virtual {p3, p1}, Lcom/alibaba/fastjson/serializer/y0;->U(Ljava/lang/String;)V
goto :goto_65
:cond_49
:goto_49
if-nez v2, :cond_4d
.line 12
sget-object v2, Lcom/alibaba/fastjson/a;->e:Ljava/lang/String;
:cond_4d
if-ne v2, v3, :cond_52
.line 13
sget-object p1, Lcom/alibaba/fastjson/parser/deserializer/o;->t:Ljava/time/format/DateTimeFormatter;
goto :goto_56
.line 14
:cond_52
invoke-static {v2}, Ljava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
move-result-object p1
.line 15
:goto_56
invoke-virtual {p1, v1}, Ljava/time/format/DateTimeFormatter;->format(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/String;
move-result-object p1
.line 16
invoke-virtual {p3, p1}, Lcom/alibaba/fastjson/serializer/y0;->U(Ljava/lang/String;)V
goto :goto_65
.line 17
:cond_5e
invoke-virtual {p2}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p1
invoke-virtual {p3, p1}, Lcom/alibaba/fastjson/serializer/y0;->U(Ljava/lang/String;)V
:goto_65
return-void
.end method
.method public final e(Lcom/alibaba/fastjson/serializer/e0;Ljava/lang/Object;Lcom/alibaba/fastjson/serializer/h;)V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object p1, p1, Lcom/alibaba/fastjson/serializer/e0;->j:Lcom/alibaba/fastjson/serializer/y0;
.line 2
iget-object p3, p3, Lcom/alibaba/fastjson/serializer/h;->c:Ljava/lang/Object;
check-cast p3, Ljava/lang/String;
.line 3
check-cast p2, Ljava/time/temporal/TemporalAccessor;
const-string/jumbo v0, "yyyy-MM-dd\'T\'HH:mm:ss"
if-ne p3, v0, :cond_10
.line 4
sget-object p3, Lcom/alibaba/fastjson/parser/deserializer/o;->t:Ljava/time/format/DateTimeFormatter;
goto :goto_14
.line 5
:cond_10
invoke-static {p3}, Ljava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
move-result-object p3
.line 6
:goto_14
invoke-virtual {p3, p2}, Ljava/time/format/DateTimeFormatter;->format(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/String;
move-result-object p2
.line 7
invoke-virtual {p1, p2}, Lcom/alibaba/fastjson/serializer/y0;->U(Ljava/lang/String;)V
return-void
.end method
.method public final f(Lcom/alibaba/fastjson/parser/a;Ljava/lang/reflect/Type;Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.registers 21
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lcom/alibaba/fastjson/parser/a;",
"Ljava/lang/reflect/Type;",
"Ljava/lang/Object;",
"Ljava/lang/String;",
"I)TT;"
}
.end annotation
move-object/from16 v0, p0
move-object/from16 v1, p2
move-object/from16 v2, p1
move-object/from16 v3, p4
.line 1
iget-object v2, v2, Lcom/alibaba/fastjson/parser/a;->f:Lcom/alibaba/fastjson/parser/c;
.line 2
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->M0()I
move-result v4
const/4 v5, 0x4
if-ne v4, v5, :cond_2b7
.line 3
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->K0()Ljava/lang/String;
move-result-object v4
.line 4
invoke-interface {v2}, Lcom/alibaba/fastjson/parser/c;->o()V
if-eqz v3, :cond_2b
const-string/jumbo v6, "yyyy-MM-dd HH:mm:ss"
.line 5
invoke-virtual {v6, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :cond_26
.line 6
sget-object v3, Lcom/alibaba/fastjson/parser/deserializer/o;->b:Ljava/time/format/DateTimeFormatter;
goto :goto_2c
.line 7
:cond_26
invoke-static/range {p4 .. p4}, Ljava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
move-result-object v3
goto :goto_2c
:cond_2b
const/4 v3, 0x0
.line 8
:goto_2c
const-class v6, Ljava/time/LocalDateTime;
const/16 v8, 0x2d
const/16 v9, 0x3a
const/16 v10, 0x10
const/16 v11, 0xd
const/4 v12, 0x7
const/16 v13, 0x13
const-string v14, "AU"
const-string v15, "BR"
const-string v2, "US"
const/16 v7, 0xa
if-ne v1, v6, :cond_140
.line 9
invoke-virtual {v4}, Ljava/lang/String;->length()I
move-result v1
if-eq v1, v7, :cond_135
invoke-virtual {v4}, Ljava/lang/String;->length()I
move-result v1
const/16 v6, 0x8
if-ne v1, v6, :cond_53
goto/16 :goto_135
:cond_53
if-nez v3, :cond_129
.line 10
invoke-virtual {v4}, Ljava/lang/String;->length()I
move-result v1
if-ne v1, v13, :cond_fe
.line 11
invoke-virtual {v4, v5}, Ljava/lang/String;->charAt(I)C
move-result v1
.line 12
invoke-virtual {v4, v12}, Ljava/lang/String;->charAt(I)C
move-result v6
.line 13
invoke-virtual {v4, v7}, Ljava/lang/String;->charAt(I)C
move-result v12
.line 14
invoke-virtual {v4, v11}, Ljava/lang/String;->charAt(I)C
move-result v11
.line 15
invoke-virtual {v4, v10}, Ljava/lang/String;->charAt(I)C
move-result v10
if-ne v11, v9, :cond_fe
if-ne v10, v9, :cond_fe
if-ne v1, v8, :cond_87
if-ne v6, v8, :cond_87
const/16 v9, 0x54
if-ne v12, v9, :cond_7f
.line 16
sget-object v3, Ljava/time/format/DateTimeFormatter;->ISO_LOCAL_DATE_TIME:Ljava/time/format/DateTimeFormatter;
goto/16 :goto_fe
:cond_7f
const/16 v1, 0x20
if-ne v12, v1, :cond_fe
.line 17
sget-object v3, Lcom/alibaba/fastjson/parser/deserializer/o;->b:Ljava/time/format/DateTimeFormatter;
goto/16 :goto_fe
:cond_87
if-ne v1, v8, :cond_8f
if-ne v6, v8, :cond_8f
.line 18
sget-object v3, Lcom/alibaba/fastjson/parser/deserializer/o;->b:Ljava/time/format/DateTimeFormatter;
goto/16 :goto_fe
:cond_8f
const/16 v9, 0x2f
if-ne v1, v9, :cond_98
if-ne v6, v9, :cond_98
.line 19
sget-object v3, Lcom/alibaba/fastjson/parser/deserializer/o;->c:Ljava/time/format/DateTimeFormatter;
goto :goto_fe
:cond_98
const/4 v6, 0x0
.line 20
invoke-virtual {v4, v6}, Ljava/lang/String;->charAt(I)C
move-result v6
const/4 v10, 0x1
.line 21
invoke-virtual {v4, v10}, Ljava/lang/String;->charAt(I)C
move-result v11
const/4 v10, 0x2
.line 22
invoke-virtual {v4, v10}, Ljava/lang/String;->charAt(I)C
move-result v10
const/4 v12, 0x3
.line 23
invoke-virtual {v4, v12}, Ljava/lang/String;->charAt(I)C
move-result v12
const/4 v13, 0x5
.line 24
invoke-virtual {v4, v13}, Ljava/lang/String;->charAt(I)C
move-result v13
if-ne v10, v9, :cond_ef
if-ne v13, v9, :cond_ef
add-int/lit8 v6, v6, -0x30
mul-int/lit8 v6, v6, 0xa
add-int/lit8 v11, v11, -0x30
add-int/2addr v11, v6
add-int/lit8 v12, v12, -0x30
mul-int/lit8 v12, v12, 0xa
add-int/lit8 v1, v1, -0x30
add-int/2addr v1, v12
const/16 v6, 0xc
if-le v11, v6, :cond_ca
.line 25
sget-object v3, Lcom/alibaba/fastjson/parser/deserializer/o;->h:Ljava/time/format/DateTimeFormatter;
goto :goto_fe
:cond_ca
if-le v1, v6, :cond_cf
.line 26
sget-object v3, Lcom/alibaba/fastjson/parser/deserializer/o;->g:Ljava/time/format/DateTimeFormatter;
goto :goto_fe
.line 27
:cond_cf
invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;
move-result-object v1
invoke-virtual {v1}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
move-result-object v1
.line 28
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_e0
.line 29
sget-object v3, Lcom/alibaba/fastjson/parser/deserializer/o;->g:Ljava/time/format/DateTimeFormatter;
goto :goto_fe
.line 30
:cond_e0
invoke-virtual {v1, v15}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_ec
.line 31
invoke-virtual {v1, v14}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_fe
.line 32
:cond_ec
sget-object v3, Lcom/alibaba/fastjson/parser/deserializer/o;->h:Ljava/time/format/DateTimeFormatter;
goto :goto_fe
:cond_ef
const/16 v1, 0x2e
if-ne v10, v1, :cond_f8
if-ne v13, v1, :cond_f8
.line 33
sget-object v3, Lcom/alibaba/fastjson/parser/deserializer/o;->i:Ljava/time/format/DateTimeFormatter;
goto :goto_fe
:cond_f8
if-ne v10, v8, :cond_fe
if-ne v13, v8, :cond_fe
.line 34
sget-object v3, Lcom/alibaba/fastjson/parser/deserializer/o;->j:Ljava/time/format/DateTimeFormatter;
.line 35
:cond_fe
:goto_fe
invoke-virtual {v4}, Ljava/lang/String;->length()I
move-result v1
const/16 v2, 0x11
if-lt v1, v2, :cond_129
.line 36
invoke-virtual {v4, v5}, Ljava/lang/String;->charAt(I)C
move-result v1
const/16 v2, 0x5e74
if-ne v1, v2, :cond_122
.line 37
invoke-virtual {v4}, Ljava/lang/String;->length()I
move-result v1
const/4 v2, 0x1
sub-int/2addr v1, v2
invoke-virtual {v4, v1}, Ljava/lang/String;->charAt(I)C
move-result v1
const/16 v2, 0x79d2
if-ne v1, v2, :cond_11f
.line 38
sget-object v3, Lcom/alibaba/fastjson/parser/deserializer/o;->e:Ljava/time/format/DateTimeFormatter;
goto :goto_129
.line 39
:cond_11f
sget-object v3, Lcom/alibaba/fastjson/parser/deserializer/o;->d:Ljava/time/format/DateTimeFormatter;
goto :goto_129
:cond_122
const v2, 0xb144
if-ne v1, v2, :cond_129
.line 40
sget-object v3, Lcom/alibaba/fastjson/parser/deserializer/o;->f:Ljava/time/format/DateTimeFormatter;
:cond_129
:goto_129
if-nez v3, :cond_130
.line 41
invoke-static {v4}, Ljava/time/LocalDateTime;->parse(Ljava/lang/CharSequence;)Ljava/time/LocalDateTime;
move-result-object v1
goto :goto_13f
.line 42
:cond_130
invoke-static {v4, v3}, Ljava/time/LocalDateTime;->parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/LocalDateTime;
move-result-object v1
goto :goto_13f
.line 43
:cond_135
:goto_135
invoke-virtual {v0, v4, v3}, Lcom/alibaba/fastjson/parser/deserializer/o;->g(Ljava/lang/String;Ljava/time/format/DateTimeFormatter;)Ljava/time/LocalDate;
move-result-object v1
.line 44
sget-object v2, Ljava/time/LocalTime;->MIN:Ljava/time/LocalTime;
invoke-static {v1, v2}, Ljava/time/LocalDateTime;->of(Ljava/time/LocalDate;Ljava/time/LocalTime;)Ljava/time/LocalDateTime;
move-result-object v1
:goto_13f
return-object v1
.line 45
:cond_140
const-class v6, Ljava/time/LocalDate;
const/16 v8, 0x17
if-ne v1, v6, :cond_166
.line 46
invoke-virtual {v4}, Ljava/lang/String;->length()I
move-result v1
if-ne v1, v8, :cond_161
.line 47
invoke-static {v4}, Ljava/time/LocalDateTime;->parse(Ljava/lang/CharSequence;)Ljava/time/LocalDateTime;
move-result-object v1
.line 48
invoke-virtual {v1}, Ljava/time/LocalDateTime;->getYear()I
move-result v2
invoke-virtual {v1}, Ljava/time/LocalDateTime;->getMonthValue()I
move-result v3
.line 49
invoke-virtual {v1}, Ljava/time/LocalDateTime;->getDayOfMonth()I
move-result v1
.line 50
invoke-static {v2, v3, v1}, Ljava/time/LocalDate;->of(III)Ljava/time/LocalDate;
move-result-object v1
goto :goto_165
.line 51
:cond_161
invoke-virtual {v0, v4, v3}, Lcom/alibaba/fastjson/parser/deserializer/o;->g(Ljava/lang/String;Ljava/time/format/DateTimeFormatter;)Ljava/time/LocalDate;
move-result-object v1
:goto_165
return-object v1
.line 52
:cond_166
const-class v6, Ljava/time/LocalTime;
if-ne v1, v6, :cond_18e
.line 53
invoke-virtual {v4}, Ljava/lang/String;->length()I
move-result v1
if-ne v1, v8, :cond_189
.line 54
invoke-static {v4}, Ljava/time/LocalDateTime;->parse(Ljava/lang/CharSequence;)Ljava/time/LocalDateTime;
move-result-object v1
.line 55
invoke-virtual {v1}, Ljava/time/LocalDateTime;->getHour()I
move-result v2
invoke-virtual {v1}, Ljava/time/LocalDateTime;->getMinute()I
move-result v3
.line 56
invoke-virtual {v1}, Ljava/time/LocalDateTime;->getSecond()I
move-result v4
invoke-virtual {v1}, Ljava/time/LocalDateTime;->getNano()I
move-result v1
.line 57
invoke-static {v2, v3, v4, v1}, Ljava/time/LocalTime;->of(IIII)Ljava/time/LocalTime;
move-result-object v1
goto :goto_18d
.line 58
:cond_189
invoke-static {v4}, Ljava/time/LocalTime;->parse(Ljava/lang/CharSequence;)Ljava/time/LocalTime;
move-result-object v1
:goto_18d
return-object v1
.line 59
:cond_18e
const-class v6, Ljava/time/ZonedDateTime;
if-ne v1, v6, :cond_27f
.line 60
sget-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->b:Ljava/time/format/DateTimeFormatter;
if-ne v3, v1, :cond_198
.line 61
sget-object v3, Lcom/alibaba/fastjson/parser/deserializer/o;->s:Ljava/time/format/DateTimeFormatter;
:cond_198
if-nez v3, :cond_273
.line 62
invoke-virtual {v4}, Ljava/lang/String;->length()I
move-result v6
if-ne v6, v13, :cond_245
.line 63
invoke-virtual {v4, v5}, Ljava/lang/String;->charAt(I)C
move-result v6
.line 64
invoke-virtual {v4, v12}, Ljava/lang/String;->charAt(I)C
move-result v8
.line 65
invoke-virtual {v4, v7}, Ljava/lang/String;->charAt(I)C
move-result v12
.line 66
invoke-virtual {v4, v11}, Ljava/lang/String;->charAt(I)C
move-result v11
.line 67
invoke-virtual {v4, v10}, Ljava/lang/String;->charAt(I)C
move-result v10
if-ne v11, v9, :cond_245
if-ne v10, v9, :cond_245
const/16 v9, 0x2d
if-ne v6, v9, :cond_1cc
if-ne v8, v9, :cond_1cc
const/16 v10, 0x54
if-ne v12, v10, :cond_1c6
.line 68
sget-object v1, Ljava/time/format/DateTimeFormatter;->ISO_LOCAL_DATE_TIME:Ljava/time/format/DateTimeFormatter;
goto/16 :goto_246
:cond_1c6
const/16 v2, 0x20
if-ne v12, v2, :cond_245
goto/16 :goto_246
:cond_1cc
if-ne v6, v9, :cond_1d2
if-ne v8, v9, :cond_1d2
goto/16 :goto_246
:cond_1d2
const/16 v1, 0x2f
if-ne v6, v1, :cond_1dc
if-ne v8, v1, :cond_1dc
.line 69
sget-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->c:Ljava/time/format/DateTimeFormatter;
goto/16 :goto_246
:cond_1dc
const/4 v8, 0x0
.line 70
invoke-virtual {v4, v8}, Ljava/lang/String;->charAt(I)C
move-result v8
const/4 v9, 0x1
.line 71
invoke-virtual {v4, v9}, Ljava/lang/String;->charAt(I)C
move-result v10
const/4 v9, 0x2
.line 72
invoke-virtual {v4, v9}, Ljava/lang/String;->charAt(I)C
move-result v9
const/4 v11, 0x3
.line 73
invoke-virtual {v4, v11}, Ljava/lang/String;->charAt(I)C
move-result v11
const/4 v12, 0x5
.line 74
invoke-virtual {v4, v12}, Ljava/lang/String;->charAt(I)C
move-result v12
if-ne v9, v1, :cond_233
if-ne v12, v1, :cond_233
add-int/lit8 v8, v8, -0x30
mul-int/lit8 v8, v8, 0xa
add-int/lit8 v10, v10, -0x30
add-int/2addr v10, v8
add-int/lit8 v11, v11, -0x30
mul-int/lit8 v11, v11, 0xa
add-int/lit8 v6, v6, -0x30
add-int/2addr v6, v11
const/16 v1, 0xc
if-le v10, v1, :cond_20e
.line 75
sget-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->h:Ljava/time/format/DateTimeFormatter;
goto :goto_246
:cond_20e
if-le v6, v1, :cond_213
.line 76
sget-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->g:Ljava/time/format/DateTimeFormatter;
goto :goto_246
.line 77
:cond_213
invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;
move-result-object v1
invoke-virtual {v1}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
move-result-object v1
.line 78
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_224
.line 79
sget-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->g:Ljava/time/format/DateTimeFormatter;
goto :goto_246
.line 80
:cond_224
invoke-virtual {v1, v15}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_230
.line 81
invoke-virtual {v1, v14}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_245
.line 82
:cond_230
sget-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->h:Ljava/time/format/DateTimeFormatter;
goto :goto_246
:cond_233
const/16 v1, 0x2e
if-ne v9, v1, :cond_23c
if-ne v12, v1, :cond_23c
.line 83
sget-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->i:Ljava/time/format/DateTimeFormatter;
goto :goto_246
:cond_23c
const/16 v1, 0x2d
if-ne v9, v1, :cond_245
if-ne v12, v1, :cond_245
.line 84
sget-object v1, Lcom/alibaba/fastjson/parser/deserializer/o;->j:Ljava/time/format/DateTimeFormatter;
goto :goto_246
:cond_245
move-object v1, v3
.line 85
:goto_246
invoke-virtual {v4}, Ljava/lang/String;->length()I
move-result v2
const/16 v3, 0x11
if-lt v2, v3, :cond_272
.line 86
invoke-virtual {v4, v5}, Ljava/lang/String;->charAt(I)C
move-result v2
const/16 v3, 0x5e74
if-ne v2, v3, :cond_26a
.line 87
invoke-virtual {v4}, Ljava/lang/String;->length()I
move-result v1
const/4 v2, 0x1
sub-int/2addr v1, v2
invoke-virtual {v4, v1}, Ljava/lang/String;->charAt(I)C
move-result v1
const/16 v2, 0x79d2
if-ne v1, v2, :cond_267
.line 88
sget-object v3, Lcom/alibaba/fastjson/parser/deserializer/o;->e:Ljava/time/format/DateTimeFormatter;
goto :goto_273
.line 89
:cond_267
sget-object v3, Lcom/alibaba/fastjson/parser/deserializer/o;->d:Ljava/time/format/DateTimeFormatter;
goto :goto_273
:cond_26a
const v3, 0xb144
if-ne v2, v3, :cond_272
.line 90
sget-object v3, Lcom/alibaba/fastjson/parser/deserializer/o;->f:Ljava/time/format/DateTimeFormatter;
goto :goto_273
:cond_272
move-object v3, v1
:cond_273
:goto_273
if-nez v3, :cond_27a
.line 91
invoke-static {v4}, Ljava/time/ZonedDateTime;->parse(Ljava/lang/CharSequence;)Ljava/time/ZonedDateTime;
move-result-object v1
goto :goto_27e
.line 92
:cond_27a
invoke-static {v4, v3}, Ljava/time/ZonedDateTime;->parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/ZonedDateTime;
move-result-object v1
:goto_27e
return-object v1
.line 93
:cond_27f
const-class v2, Ljava/time/OffsetDateTime;
if-ne v1, v2, :cond_288
.line 94
invoke-static {v4}, Ljava/time/OffsetDateTime;->parse(Ljava/lang/CharSequence;)Ljava/time/OffsetDateTime;
move-result-object v1
return-object v1
.line 95
:cond_288
const-class v2, Ljava/time/OffsetTime;
if-ne v1, v2, :cond_291
.line 96
invoke-static {v4}, Ljava/time/OffsetTime;->parse(Ljava/lang/CharSequence;)Ljava/time/OffsetTime;
move-result-object v1
return-object v1
.line 97
:cond_291
const-class v2, Ljava/time/ZoneId;
if-ne v1, v2, :cond_29a
.line 98
invoke-static {v4}, Ljava/time/ZoneId;->of(Ljava/lang/String;)Ljava/time/ZoneId;
move-result-object v1
return-object v1
.line 99
:cond_29a
const-class v2, Ljava/time/Period;
if-ne v1, v2, :cond_2a3
.line 100
invoke-static {v4}, Ljava/time/Period;->parse(Ljava/lang/CharSequence;)Ljava/time/Period;
move-result-object v1
return-object v1
.line 101
:cond_2a3
const-class v2, Ljava/time/Duration;
if-ne v1, v2, :cond_2ac
.line 102
invoke-static {v4}, Ljava/time/Duration;->parse(Ljava/lang/CharSequence;)Ljava/time/Duration;
move-result-object v1
return-object v1
.line 103
:cond_2ac
const-class v2, Ljava/time/Instant;
if-ne v1, v2, :cond_2b5
.line 104
invoke-static {v4}, Ljava/time/Instant;->parse(Ljava/lang/CharSequence;)Ljava/time/Instant;
move-result-object v1
return-object v1
:cond_2b5
const/4 v1, 0x0
return-object v1
.line 105
:cond_2b7
new-instance v1, Ljava/lang/UnsupportedOperationException;
invoke-direct {v1}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw v1
.end method
.method public final g(Ljava/lang/String;Ljava/time/format/DateTimeFormatter;)Ljava/time/LocalDate;
.registers 12
if-nez p2, :cond_ae
.line 1
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
const/16 v1, 0x8
if-ne v0, v1, :cond_c
.line 2
sget-object p2, Lcom/alibaba/fastjson/parser/deserializer/o;->k:Ljava/time/format/DateTimeFormatter;
.line 3
:cond_c
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
const/4 v1, 0x4
const/16 v2, 0xa
if-ne v0, v2, :cond_94
.line 4
invoke-virtual {p1, v1}, Ljava/lang/String;->charAt(I)C
move-result v0
const/4 v3, 0x7
.line 5
invoke-virtual {p1, v3}, Ljava/lang/String;->charAt(I)C
move-result v3
const/16 v4, 0x2f
if-ne v0, v4, :cond_26
if-ne v3, v4, :cond_26
.line 6
sget-object p2, Lcom/alibaba/fastjson/parser/deserializer/o;->l:Ljava/time/format/DateTimeFormatter;
:cond_26
const/4 v3, 0x0
.line 7
invoke-virtual {p1, v3}, Ljava/lang/String;->charAt(I)C
move-result v3
const/4 v5, 0x1
.line 8
invoke-virtual {p1, v5}, Ljava/lang/String;->charAt(I)C
move-result v5
const/4 v6, 0x2
.line 9
invoke-virtual {p1, v6}, Ljava/lang/String;->charAt(I)C
move-result v6
const/4 v7, 0x3
.line 10
invoke-virtual {p1, v7}, Ljava/lang/String;->charAt(I)C
move-result v7
const/4 v8, 0x5
.line 11
invoke-virtual {p1, v8}, Ljava/lang/String;->charAt(I)C
move-result v8
if-ne v6, v4, :cond_83
if-ne v8, v4, :cond_83
add-int/lit8 v3, v3, -0x30
mul-int/lit8 v3, v3, 0xa
add-int/lit8 v5, v5, -0x30
add-int/2addr v5, v3
add-int/lit8 v7, v7, -0x30
mul-int/lit8 v7, v7, 0xa
add-int/lit8 v0, v0, -0x30
add-int/2addr v0, v7
const/16 v2, 0xc
if-le v5, v2, :cond_58
.line 12
sget-object p2, Lcom/alibaba/fastjson/parser/deserializer/o;->p:Ljava/time/format/DateTimeFormatter;
goto :goto_94
:cond_58
if-le v0, v2, :cond_5d
.line 13
sget-object p2, Lcom/alibaba/fastjson/parser/deserializer/o;->o:Ljava/time/format/DateTimeFormatter;
goto :goto_94
.line 14
:cond_5d
invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;
move-result-object v0
invoke-virtual {v0}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
move-result-object v0
const-string v2, "US"
.line 15
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_70
.line 16
sget-object p2, Lcom/alibaba/fastjson/parser/deserializer/o;->o:Ljava/time/format/DateTimeFormatter;
goto :goto_94
:cond_70
const-string v2, "BR"
.line 17
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_80
const-string v2, "AU"
.line 18
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_94
.line 19
:cond_80
sget-object p2, Lcom/alibaba/fastjson/parser/deserializer/o;->p:Ljava/time/format/DateTimeFormatter;
goto :goto_94
:cond_83
const/16 v0, 0x2e
if-ne v6, v0, :cond_8c
if-ne v8, v0, :cond_8c
.line 20
sget-object p2, Lcom/alibaba/fastjson/parser/deserializer/o;->q:Ljava/time/format/DateTimeFormatter;
goto :goto_94
:cond_8c
const/16 v0, 0x2d
if-ne v6, v0, :cond_94
if-ne v8, v0, :cond_94
.line 21
sget-object p2, Lcom/alibaba/fastjson/parser/deserializer/o;->r:Ljava/time/format/DateTimeFormatter;
.line 22
:cond_94
:goto_94
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
const/16 v2, 0x9
if-lt v0, v2, :cond_ae
.line 23
invoke-virtual {p1, v1}, Ljava/lang/String;->charAt(I)C
move-result v0
const/16 v1, 0x5e74
if-ne v0, v1, :cond_a7
.line 24
sget-object p2, Lcom/alibaba/fastjson/parser/deserializer/o;->m:Ljava/time/format/DateTimeFormatter;
goto :goto_ae
:cond_a7
const v1, 0xb144
if-ne v0, v1, :cond_ae
.line 25
sget-object p2, Lcom/alibaba/fastjson/parser/deserializer/o;->n:Ljava/time/format/DateTimeFormatter;
:cond_ae
:goto_ae
if-nez p2, :cond_b5
.line 26
invoke-static {p1}, Ljava/time/LocalDate;->parse(Ljava/lang/CharSequence;)Ljava/time/LocalDate;
move-result-object p1
goto :goto_b9
.line 27
:cond_b5
invoke-static {p1, p2}, Ljava/time/LocalDate;->parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/LocalDate;
move-result-object p1
:goto_b9
return-object p1
.end method