e.smali
.class public Lcn/jiguang/az/e;
.super Ljava/lang/Object;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcn/jiguang/az/e$a;
}
.end annotation
# static fields
.field private static a:Lcn/jiguang/az/e$a;
.field private static volatile b:Ljava/util/concurrent/FutureTask;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/FutureTask",
"<*>;"
}
.end annotation
.end field
.field private static final c:Ljava/lang/Object;
.field private static final d:Ljava/util/LinkedHashSet;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/LinkedHashSet",
"<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private static final e:Ljava/lang/String;
.field private static final f:Ljava/util/LinkedHashSet;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/LinkedHashSet",
"<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 2
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
sput-object v0, Lcn/jiguang/az/e;->c:Ljava/lang/Object;
new-instance v0, Ljava/util/LinkedHashSet;
invoke-direct {v0}, Ljava/util/LinkedHashSet;-><init>()V
sput-object v0, Lcn/jiguang/az/e;->d:Ljava/util/LinkedHashSet;
const/16 v0, 0x15
new-array v0, v0, [B
fill-array-data v0, :array_2a
invoke-static {v0}, Lcn/jiguang/v/a;->b([B)Ljava/lang/String;
move-result-object v0
sput-object v0, Lcn/jiguang/az/e;->e:Ljava/lang/String;
sget-object v0, Lcn/jiguang/az/e;->d:Ljava/util/LinkedHashSet;
sget-object v1, Lcn/jiguang/az/e;->e:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/util/LinkedHashSet;->add(Ljava/lang/Object;)Z
new-instance v0, Ljava/util/LinkedHashSet;
invoke-direct {v0}, Ljava/util/LinkedHashSet;-><init>()V
sput-object v0, Lcn/jiguang/az/e;->f:Ljava/util/LinkedHashSet;
return-void
:array_2a
.array-data 1
0x7et
0x65t
0x44t
0x50t
0x6at
0x32t
0x39t
0x3et
0x44t
0x53t
0x70t
0x7bt
0x38t
0x7bt
0x40t
0x55t
0x6at
0x60t
0x38t
0x72t
0x5et
.end array-data
.end method
.method static synthetic a(Landroid/content/Context;)Ljava/lang/String;
.registers 2
invoke-static {p0}, Lcn/jiguang/az/e;->c(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static a()Ljava/util/LinkedHashSet;
.registers 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/LinkedHashSet",
"<",
"Ljava/lang/String;",
">;"
}
.end annotation
invoke-static {}, Lcn/jiguang/internal/JConstants;->isTestEnv()Z
move-result v0
if-eqz v0, :cond_11
sget-object v0, Lcn/jiguang/az/e;->f:Ljava/util/LinkedHashSet;
invoke-virtual {v0}, Ljava/util/LinkedHashSet;->isEmpty()Z
move-result v0
if-nez v0, :cond_11
sget-object v0, Lcn/jiguang/az/e;->f:Ljava/util/LinkedHashSet;
:goto_10
return-object v0
:cond_11
sget-object v0, Lcn/jiguang/az/e;->d:Ljava/util/LinkedHashSet;
goto :goto_10
.end method
.method public static a(Landroid/content/Context;Z)V
.registers 7
const/4 v1, 0x0
sget-object v0, Lcn/jiguang/az/e;->a:Lcn/jiguang/az/e$a;
if-nez v0, :cond_c
new-instance v0, Lcn/jiguang/az/e$a;
invoke-direct {v0, p0, v1}, Lcn/jiguang/az/e$a;-><init>(Landroid/content/Context;Lcn/jiguang/az/e$1;)V
sput-object v0, Lcn/jiguang/az/e;->a:Lcn/jiguang/az/e$a;
:cond_c
sget-object v0, Lcn/jiguang/az/e;->b:Ljava/util/concurrent/FutureTask;
if-eqz v0, :cond_20
sget-object v0, Lcn/jiguang/az/e;->b:Ljava/util/concurrent/FutureTask;
invoke-virtual {v0}, Ljava/util/concurrent/FutureTask;->isCancelled()Z
move-result v0
if-nez v0, :cond_20
sget-object v0, Lcn/jiguang/az/e;->b:Ljava/util/concurrent/FutureTask;
invoke-virtual {v0}, Ljava/util/concurrent/FutureTask;->isDone()Z
move-result v0
if-eqz v0, :cond_49
:cond_20
sget-object v1, Lcn/jiguang/az/e;->c:Ljava/lang/Object;
monitor-enter v1
:try_start_23
sget-object v0, Lcn/jiguang/az/e;->b:Ljava/util/concurrent/FutureTask;
if-eqz v0, :cond_37
sget-object v0, Lcn/jiguang/az/e;->b:Ljava/util/concurrent/FutureTask;
invoke-virtual {v0}, Ljava/util/concurrent/FutureTask;->isCancelled()Z
move-result v0
if-nez v0, :cond_37
sget-object v0, Lcn/jiguang/az/e;->b:Ljava/util/concurrent/FutureTask;
invoke-virtual {v0}, Ljava/util/concurrent/FutureTask;->isDone()Z
:try_end_34
.catchall {:try_start_23 .. :try_end_34} :catchall_6f
move-result v0
if-eqz v0, :cond_48
:cond_37
:try_start_37
new-instance v0, Ljava/util/concurrent/FutureTask;
sget-object v2, Lcn/jiguang/az/e;->a:Lcn/jiguang/az/e$a;
const/4 v3, 0x0
invoke-direct {v0, v2, v3}, Ljava/util/concurrent/FutureTask;-><init>(Ljava/lang/Runnable;Ljava/lang/Object;)V
sput-object v0, Lcn/jiguang/az/e;->b:Ljava/util/concurrent/FutureTask;
const-string v0, "FUTURE_TASK"
sget-object v2, Lcn/jiguang/az/e;->b:Ljava/util/concurrent/FutureTask;
invoke-static {v0, v2}, Lcn/jiguang/bl/d;->a(Ljava/lang/String;Ljava/lang/Runnable;)V
:try_end_48
.catch Ljava/lang/Throwable; {:try_start_37 .. :try_end_48} :catch_55
.catchall {:try_start_37 .. :try_end_48} :catchall_6f
:cond_48
:goto_48
:try_start_48
monitor-exit v1
:try_end_49
.catchall {:try_start_48 .. :try_end_49} :catchall_6f
:cond_49
if-eqz p1, :cond_54
:try_start_4b
sget-object v0, Lcn/jiguang/az/e;->b:Ljava/util/concurrent/FutureTask;
const-wide/16 v2, 0xa
sget-object v1, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v0, v2, v3, v1}, Ljava/util/concurrent/FutureTask;->get(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
:try_end_54
.catch Ljava/lang/InterruptedException; {:try_start_4b .. :try_end_54} :catch_72
.catch Ljava/util/concurrent/ExecutionException; {:try_start_4b .. :try_end_54} :catch_8c
.catch Ljava/util/concurrent/TimeoutException; {:try_start_4b .. :try_end_54} :catch_a6
.catch Ljava/lang/Throwable; {:try_start_4b .. :try_end_54} :catch_c0
:cond_54
:goto_54
return-void
:catch_55
move-exception v0
:try_start_56
const-string v2, "ReportSis"
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "new sis task e:"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v2, v0}, Lcn/jiguang/ay/c;->g(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_48
:catchall_6f
move-exception v0
monitor-exit v1
:try_end_71
.catchall {:try_start_56 .. :try_end_71} :catchall_6f
throw v0
:catch_72
move-exception v0
const-string v1, "ReportSis"
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "sis task e:"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v1, v0}, Lcn/jiguang/ay/c;->g(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_54
:catch_8c
move-exception v0
const-string v1, "ReportSis"
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "sis task e:"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v1, v0}, Lcn/jiguang/ay/c;->g(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_54
:catch_a6
move-exception v0
const-string v1, "ReportSis"
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "sis task e:"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v1, v0}, Lcn/jiguang/ay/c;->g(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_54
:catch_c0
move-exception v0
const-string v1, "ReportSis"
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "sis task e:"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v1, v0}, Lcn/jiguang/ay/c;->g(Ljava/lang/String;Ljava/lang/String;)V
goto/16 :goto_54
.end method
.method static synthetic a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Z
.registers 4
invoke-static {p0, p1, p2}, Lcn/jiguang/az/e;->b(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Z
move-result v0
return v0
.end method
.method static synthetic b(Landroid/content/Context;)Ljava/util/LinkedHashSet;
.registers 2
invoke-static {p0}, Lcn/jiguang/az/e;->d(Landroid/content/Context;)Ljava/util/LinkedHashSet;
move-result-object v0
return-object v0
.end method
.method private static b(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Z
.registers 9
const/4 v3, 0x1
const/4 v4, 0x3
const/4 v5, 0x2
move-object v0, p1
move-object v1, p2
move-object v2, p0
invoke-static/range {v0 .. v5}, Lcn/jiguang/az/b;->a(Ljava/lang/String;Ljava/lang/String;Landroid/content/Context;ZII)Lcn/jiguang/az/g;
move-result-object v0
const-string v1, "ReportSis"
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "report sis code["
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v0}, Lcn/jiguang/az/g;->a()I
move-result v4
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v2
const-string v4, "] from url="
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v4, "\n body="
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v0}, Lcn/jiguang/az/g;->b()Ljava/lang/String;
move-result-object v4
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v1, v2}, Lcn/jiguang/ay/c;->c(Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v0}, Lcn/jiguang/az/g;->a()I
move-result v1
if-nez v1, :cond_7a
invoke-virtual {v0}, Lcn/jiguang/az/g;->b()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-nez v1, :cond_7a
:try_start_4e
new-instance v1, Lorg/json/JSONObject;
invoke-direct {v1, v0}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
const-string v0, "ret"
invoke-virtual {v1, v0}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
move-result-object v0
invoke-static {}, Lcn/jiguang/az/a;->a()Lcn/jiguang/az/a;
move-result-object v1
invoke-virtual {v1, p0, v0}, Lcn/jiguang/az/a;->a(Landroid/content/Context;Lorg/json/JSONObject;)V
:try_end_60
.catch Ljava/lang/Throwable; {:try_start_4e .. :try_end_60} :catch_61
:goto_60
return v3
:catch_61
move-exception v0
const-string v1, "ReportSis"
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "getUrls e:"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v1, v0}, Lcn/jiguang/ay/c;->g(Ljava/lang/String;Ljava/lang/String;)V
:cond_7a
const/4 v3, 0x0
goto :goto_60
.end method
.method private static c(Landroid/content/Context;)Ljava/lang/String;
.registers 12
const-wide/16 v6, 0x0
const-wide/high16 v2, 0x4069000000000000L # 200.0
new-instance v8, Lorg/json/JSONObject;
invoke-direct {v8}, Lorg/json/JSONObject;-><init>()V
:try_start_9
invoke-static {p0}, Lcn/jiguang/d/a;->e(Landroid/content/Context;)Ljava/lang/String;
move-result-object v1
invoke-static {}, Lcn/jiguang/g/a;->c()Lcn/jiguang/g/a;
move-result-object v0
invoke-static {p0, v0}, Lcn/jiguang/g/b;->a(Landroid/content/Context;Lcn/jiguang/g/a;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Long;
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v4
invoke-static {p0}, Lcn/jiguang/f/g;->a(Landroid/content/Context;)I
move-result v0
invoke-static {p0}, Lcn/jiguang/f/g;->b(Landroid/content/Context;)Ljava/lang/String;
move-result-object v9
const-string/jumbo v10, "type"
invoke-virtual {v8, v10, v0}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
const-string v0, "appkey"
invoke-virtual {v8, v0, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v0, "sdkver"
sget-object v1, Lcn/jiguang/a/a;->b:Ljava/lang/String;
invoke-virtual {v8, v0, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v0, "platform"
const/4 v1, 0x0
invoke-virtual {v8, v0, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
cmp-long v0, v4, v6
if-eqz v0, :cond_45
const-string/jumbo v0, "uid"
invoke-virtual {v8, v0, v4, v5}, Lorg/json/JSONObject;->put(Ljava/lang/String;J)Lorg/json/JSONObject;
:cond_45
if-eqz v9, :cond_4c
const-string v0, "opera"
invoke-virtual {v8, v0, v9}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:cond_4c
const-string v0, "get_loc_info"
const/4 v1, 0x0
invoke-static {p0, v0, v1}, Lcn/jiguang/be/e;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
instance-of v1, v0, Landroid/os/Bundle;
:try_end_55
.catch Ljava/lang/Throwable; {:try_start_9 .. :try_end_55} :catch_a9
if-eqz v1, :cond_af
:try_start_57
check-cast v0, Landroid/os/Bundle;
const-string v1, "lat"
invoke-virtual {v0, v1}, Landroid/os/Bundle;->getDouble(Ljava/lang/String;)D
:try_end_5e
.catch Ljava/lang/Throwable; {:try_start_57 .. :try_end_5e} :catch_a3
move-result-wide v4
:try_start_5f
const-string v1, "lot"
invoke-virtual {v0, v1}, Landroid/os/Bundle;->getDouble(Ljava/lang/String;)D
move-result-wide v2
const-string v1, "time"
invoke-virtual {v0, v1}, Landroid/os/Bundle;->getLong(Ljava/lang/String;)J
:try_end_6a
.catch Ljava/lang/Throwable; {:try_start_5f .. :try_end_6a} :catch_ab
move-result-wide v0
:goto_6b
const-wide v6, -0x3fa9800000000000L # -90.0
cmpl-double v6, v4, v6
if-lez v6, :cond_9e
const-wide v6, 0x4056800000000000L # 90.0
cmpg-double v6, v4, v6
if-gez v6, :cond_9e
const-wide v6, -0x3f99800000000000L # -180.0
cmpl-double v6, v2, v6
if-lez v6, :cond_9e
const-wide v6, 0x4066800000000000L # 180.0
cmpg-double v6, v2, v6
if-gez v6, :cond_9e
:try_start_8f
const-string v6, "lat"
invoke-virtual {v8, v6, v4, v5}, Lorg/json/JSONObject;->put(Ljava/lang/String;D)Lorg/json/JSONObject;
const-string v4, "lng"
invoke-virtual {v8, v4, v2, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;D)Lorg/json/JSONObject;
const-string v2, "time"
invoke-virtual {v8, v2, v0, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;J)Lorg/json/JSONObject;
:try_end_9e
.catch Ljava/lang/Throwable; {:try_start_8f .. :try_end_9e} :catch_a9
:cond_9e
:goto_9e
invoke-virtual {v8}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
:catch_a3
move-exception v0
move-wide v0, v2
:goto_a5
move-wide v4, v2
move-wide v2, v0
move-wide v0, v6
goto :goto_6b
:catch_a9
move-exception v0
goto :goto_9e
:catch_ab
move-exception v0
move-wide v0, v2
move-wide v2, v4
goto :goto_a5
:cond_af
move-wide v0, v6
move-wide v4, v2
goto :goto_6b
.end method
.method private static d(Landroid/content/Context;)Ljava/util/LinkedHashSet;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
")",
"Ljava/util/LinkedHashSet",
"<",
"Ljava/lang/String;",
">;"
}
.end annotation
new-instance v1, Ljava/util/LinkedHashSet;
invoke-direct {v1}, Ljava/util/LinkedHashSet;-><init>()V
invoke-static {}, Lcn/jiguang/g/a;->t()Lcn/jiguang/g/a;
move-result-object v0
invoke-static {p0, v0}, Lcn/jiguang/g/b;->a(Landroid/content/Context;Lcn/jiguang/g/a;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v2
if-eqz v2, :cond_17
move-object v0, v1
:goto_16
return-object v0
:cond_17
:try_start_17
new-instance v2, Lorg/json/JSONArray;
invoke-direct {v2, v0}, Lorg/json/JSONArray;-><init>(Ljava/lang/String;)V
const/4 v0, 0x0
:goto_1d
invoke-virtual {v2}, Lorg/json/JSONArray;->length()I
move-result v3
if-ge v0, v3, :cond_2e
invoke-virtual {v2, v0}, Lorg/json/JSONArray;->optString(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v3}, Ljava/util/LinkedHashSet;->add(Ljava/lang/Object;)Z
:try_end_2a
.catch Lorg/json/JSONException; {:try_start_17 .. :try_end_2a} :catch_2d
add-int/lit8 v0, v0, 0x1
goto :goto_1d
:catch_2d
move-exception v0
:cond_2e
move-object v0, v1
goto :goto_16
.end method