e.smali

.class public final Lcom/google/zxing/a/a/e;
.super Ljava/lang/Object;
.source "HighLevelEncoder.java"


# static fields
.field static final a:[Ljava/lang/String;

.field static final b:[[I

.field private static final c:[[I

.field static final d:[[I


# instance fields
.field private final e:[B


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

    const/4 v0, 0x5

    .line 1
    new-array v1, v0, [Ljava/lang/String;

    const/4 v2, 0x0

    const-string v3, "UPPER"

    aput-object v3, v1, v2

    const/4 v3, 0x1

    const-string v4, "LOWER"

    aput-object v4, v1, v3

    const/4 v4, 0x2

    const-string v5, "DIGIT"

    aput-object v5, v1, v4

    const/4 v5, 0x3

    const-string v6, "MIXED"

    aput-object v6, v1, v5

    const/4 v6, 0x4

    const-string v7, "PUNCT"

    aput-object v7, v1, v6

    sput-object v1, Lcom/google/zxing/a/a/e;->a:[Ljava/lang/String;

    .line 2
    new-array v1, v0, [[I

    new-array v7, v0, [I

    fill-array-data v7, :array_116

    aput-object v7, v1, v2

    new-array v7, v0, [I

    fill-array-data v7, :array_124

    aput-object v7, v1, v3

    new-array v7, v0, [I

    fill-array-data v7, :array_132

    aput-object v7, v1, v4

    new-array v7, v0, [I

    fill-array-data v7, :array_140

    aput-object v7, v1, v5

    new-array v7, v0, [I

    fill-array-data v7, :array_14e

    aput-object v7, v1, v6

    sput-object v1, Lcom/google/zxing/a/a/e;->b:[[I

    const/16 v1, 0x100

    .line 3
    filled-new-array {v0, v1}, [I

    move-result-object v0

    const-class v1, I

    invoke-static {v1, v0}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;[I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [[I

    .line 4
    sput-object v0, Lcom/google/zxing/a/a/e;->c:[[I

    aget-object v0, v0, v2

    const/16 v1, 0x20

    aput v3, v0, v1

    const/16 v0, 0x41

    :goto_5d
    const/16 v7, 0x5a

    if-gt v0, v7, :cond_6d

    .line 5
    sget-object v7, Lcom/google/zxing/a/a/e;->c:[[I

    aget-object v7, v7, v2

    add-int/lit8 v8, v0, -0x41

    add-int/2addr v8, v4

    aput v8, v7, v0

    add-int/lit8 v0, v0, 0x1

    goto :goto_5d

    .line 6
    :cond_6d
    sget-object v0, Lcom/google/zxing/a/a/e;->c:[[I

    aget-object v0, v0, v3

    aput v3, v0, v1

    const/16 v0, 0x61

    :goto_75
    const/16 v7, 0x7a

    if-gt v0, v7, :cond_85

    .line 7
    sget-object v7, Lcom/google/zxing/a/a/e;->c:[[I

    aget-object v7, v7, v3

    add-int/lit8 v8, v0, -0x61

    add-int/2addr v8, v4

    aput v8, v7, v0

    add-int/lit8 v0, v0, 0x1

    goto :goto_75

    .line 8
    :cond_85
    sget-object v0, Lcom/google/zxing/a/a/e;->c:[[I

    aget-object v0, v0, v4

    aput v3, v0, v1

    const/16 v0, 0x30

    :goto_8d
    const/16 v1, 0x39

    if-gt v0, v1, :cond_9d

    .line 9
    sget-object v1, Lcom/google/zxing/a/a/e;->c:[[I

    aget-object v1, v1, v4

    add-int/lit8 v7, v0, -0x30

    add-int/2addr v7, v4

    aput v7, v1, v0

    add-int/lit8 v0, v0, 0x1

    goto :goto_8d

    .line 10
    :cond_9d
    sget-object v0, Lcom/google/zxing/a/a/e;->c:[[I

    aget-object v1, v0, v4

    const/16 v7, 0x2c

    const/16 v8, 0xc

    aput v8, v1, v7

    .line 11
    aget-object v0, v0, v4

    const/16 v1, 0x2e

    const/16 v7, 0xd

    aput v7, v0, v1

    const/16 v0, 0x1c

    .line 12
    new-array v1, v0, [I

    fill-array-data v1, :array_15c

    const/4 v7, 0x0

    :goto_b7
    if-ge v7, v0, :cond_c4

    .line 13
    sget-object v8, Lcom/google/zxing/a/a/e;->c:[[I

    aget-object v8, v8, v5

    aget v9, v1, v7

    aput v7, v8, v9

    add-int/lit8 v7, v7, 0x1

    goto :goto_b7

    :cond_c4
    const/16 v1, 0x1f

    .line 14
    new-array v7, v1, [I

    fill-array-data v7, :array_198

    const/4 v8, 0x0

    :goto_cc
    if-ge v8, v1, :cond_dd

    .line 15
    aget v9, v7, v8

    if-lez v9, :cond_da

    .line 16
    sget-object v9, Lcom/google/zxing/a/a/e;->c:[[I

    aget-object v9, v9, v6

    aget v10, v7, v8

    aput v8, v9, v10

    :cond_da
    add-int/lit8 v8, v8, 0x1

    goto :goto_cc

    :cond_dd
    const/4 v1, 0x6

    .line 17
    filled-new-array {v1, v1}, [I

    move-result-object v1

    const-class v7, I

    invoke-static {v7, v1}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;[I)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, [[I

    .line 18
    sput-object v1, Lcom/google/zxing/a/a/e;->d:[[I

    array-length v7, v1

    const/4 v8, 0x0

    :goto_ee
    if-ge v8, v7, :cond_f9

    aget-object v9, v1, v8

    const/4 v10, -0x1

    .line 19
    invoke-static {v9, v10}, Ljava/util/Arrays;->fill([II)V

    add-int/lit8 v8, v8, 0x1

    goto :goto_ee

    .line 20
    :cond_f9
    sget-object v1, Lcom/google/zxing/a/a/e;->d:[[I

    aget-object v7, v1, v2

    aput v2, v7, v6

    .line 21
    aget-object v7, v1, v3

    aput v2, v7, v6

    .line 22
    aget-object v3, v1, v3

    aput v0, v3, v2

    .line 23
    aget-object v0, v1, v5

    aput v2, v0, v6

    .line 24
    aget-object v0, v1, v4

    aput v2, v0, v6

    .line 25
    aget-object v0, v1, v4

    const/16 v1, 0xf

    aput v1, v0, v2

    return-void

    :array_116
    .array-data 4
        0x0
        0x5001c
        0x5001e
        0x5001d
        0xa03be
    .end array-data

    :array_124
    .array-data 4
        0x901ee
        0x0
        0x5001e
        0x5001d
        0xa03be
    .end array-data

    :array_132
    .array-data 4
        0x4000e
        0x901dc
        0x0
        0x901dd
        0xe3bbe
    .end array-data

    :array_140
    .array-data 4
        0x5001d
        0x5001c
        0xa03be
        0x0
        0x5001e
    .end array-data

    :array_14e
    .array-data 4
        0x5001f
        0xa03fc
        0xa03fe
        0xa03fd
        0x0
    .end array-data

    :array_15c
    .array-data 4
        0x0
        0x20
        0x1
        0x2
        0x3
        0x4
        0x5
        0x6
        0x7
        0x8
        0x9
        0xa
        0xb
        0xc
        0xd
        0x1b
        0x1c
        0x1d
        0x1e
        0x1f
        0x40
        0x5c
        0x5e
        0x5f
        0x60
        0x7c
        0x7e
        0x7f
    .end array-data

    :array_198
    .array-data 4
        0x0
        0xd
        0x0
        0x0
        0x0
        0x0
        0x21
        0x27
        0x23
        0x24
        0x25
        0x26
        0x27
        0x28
        0x29
        0x2a
        0x2b
        0x2c
        0x2d
        0x2e
        0x2f
        0x3a
        0x3b
        0x3c
        0x3d
        0x3e
        0x3f
        0x5b
        0x5d
        0x7b
        0x7d
    .end array-data
.end method

.method public constructor <init>([B)V
    .registers 2

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

    .line 2
    iput-object p1, p0, Lcom/google/zxing/a/a/e;->e:[B

    return-void
.end method

.method private static a(Ljava/lang/Iterable;)Ljava/util/Collection;
    .registers 7
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Iterable<",
            "Lcom/google/zxing/a/a/g;",
            ">;)",
            "Ljava/util/Collection<",
            "Lcom/google/zxing/a/a/g;",
            ">;"
        }
    .end annotation

    .line 40
    new-instance v0, Ljava/util/LinkedList;

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

    .line 41
    invoke-interface {p0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;

    move-result-object p0

    :cond_9
    :goto_9
    invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z

    move-result v1

    if-eqz v1, :cond_3e

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

    move-result-object v1

    check-cast v1, Lcom/google/zxing/a/a/g;

    const/4 v2, 0x1

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

    move-result-object v3

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

    move-result v4

    if-eqz v4, :cond_38

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

    move-result-object v4

    check-cast v4, Lcom/google/zxing/a/a/g;

    .line 44
    invoke-virtual {v4, v1}, Lcom/google/zxing/a/a/g;->a(Lcom/google/zxing/a/a/g;)Z

    move-result v5

    if-eqz v5, :cond_2e

    const/4 v2, 0x0

    goto :goto_38

    .line 45
    :cond_2e
    invoke-virtual {v1, v4}, Lcom/google/zxing/a/a/g;->a(Lcom/google/zxing/a/a/g;)Z

    move-result v4

    if-eqz v4, :cond_1a

    .line 46
    invoke-interface {v3}, Ljava/util/Iterator;->remove()V

    goto :goto_1a

    :cond_38
    :goto_38
    if-eqz v2, :cond_9

    .line 47
    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    goto :goto_9

    :cond_3e
    return-object v0
.end method

.method private a(Ljava/lang/Iterable;I)Ljava/util/Collection;
    .registers 5
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Iterable<",
            "Lcom/google/zxing/a/a/g;",
            ">;I)",
            "Ljava/util/Collection<",
            "Lcom/google/zxing/a/a/g;",
            ">;"
        }
    .end annotation

    .line 9
    new-instance v0, Ljava/util/LinkedList;

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

    .line 10
    invoke-interface {p1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;

    move-result-object p1

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

    move-result v1

    if-eqz v1, :cond_19

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

    move-result-object v1

    check-cast v1, Lcom/google/zxing/a/a/g;

    .line 11
    invoke-direct {p0, v1, p2, v0}, Lcom/google/zxing/a/a/e;->a(Lcom/google/zxing/a/a/g;ILjava/util/Collection;)V

    goto :goto_9

    .line 12
    :cond_19
    invoke-static {v0}, Lcom/google/zxing/a/a/e;->a(Ljava/lang/Iterable;)Ljava/util/Collection;

    move-result-object p1

    return-object p1
.end method

.method private static a(Ljava/lang/Iterable;II)Ljava/util/Collection;
    .registers 5
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Iterable<",
            "Lcom/google/zxing/a/a/g;",
            ">;II)",
            "Ljava/util/Collection<",
            "Lcom/google/zxing/a/a/g;",
            ">;"
        }
    .end annotation

    .line 26
    new-instance v0, Ljava/util/LinkedList;

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

    .line 27
    invoke-interface {p0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;

    move-result-object p0

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

    move-result v1

    if-eqz v1, :cond_19

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

    move-result-object v1

    check-cast v1, Lcom/google/zxing/a/a/g;

    .line 28
    invoke-static {v1, p1, p2, v0}, Lcom/google/zxing/a/a/e;->a(Lcom/google/zxing/a/a/g;IILjava/util/Collection;)V

    goto :goto_9

    .line 29
    :cond_19
    invoke-static {v0}, Lcom/google/zxing/a/a/e;->a(Ljava/lang/Iterable;)Ljava/util/Collection;

    move-result-object p0

    return-object p0
.end method

.method private static a(Lcom/google/zxing/a/a/g;IILjava/util/Collection;)V
    .registers 8
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/google/zxing/a/a/g;",
            "II",
            "Ljava/util/Collection<",
            "Lcom/google/zxing/a/a/g;",
            ">;)V"
        }
    .end annotation

    .line 30
    invoke-virtual {p0, p1}, Lcom/google/zxing/a/a/g;->b(I)Lcom/google/zxing/a/a/g;

    move-result-object v0

    const/4 v1, 0x4

    .line 31
    invoke-virtual {v0, v1, p2}, Lcom/google/zxing/a/a/g;->a(II)Lcom/google/zxing/a/a/g;

    move-result-object v2

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

    .line 32
    invoke-virtual {p0}, Lcom/google/zxing/a/a/g;->c()I

    move-result v2

    if-eq v2, v1, :cond_19

    .line 33
    invoke-virtual {v0, v1, p2}, Lcom/google/zxing/a/a/g;->b(II)Lcom/google/zxing/a/a/g;

    move-result-object v2

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

    :cond_19
    const/4 v2, 0x3

    const/4 v3, 0x1

    if-eq p2, v2, :cond_1f

    if-ne p2, v1, :cond_2d

    :cond_1f
    rsub-int/lit8 p2, p2, 0x10

    const/4 v1, 0x2

    .line 34
    invoke-virtual {v0, v1, p2}, Lcom/google/zxing/a/a/g;->a(II)Lcom/google/zxing/a/a/g;

    move-result-object p2

    .line 35
    invoke-virtual {p2, v1, v3}, Lcom/google/zxing/a/a/g;->a(II)Lcom/google/zxing/a/a/g;

    move-result-object p2

    .line 36
    invoke-interface {p3, p2}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z

    .line 37
    :cond_2d
    invoke-virtual {p0}, Lcom/google/zxing/a/a/g;->a()I

    move-result p2

    if-lez p2, :cond_3f

    .line 38
    invoke-virtual {p0, p1}, Lcom/google/zxing/a/a/g;->a(I)Lcom/google/zxing/a/a/g;

    move-result-object p0

    add-int/2addr p1, v3

    invoke-virtual {p0, p1}, Lcom/google/zxing/a/a/g;->a(I)Lcom/google/zxing/a/a/g;

    move-result-object p0

    .line 39
    invoke-interface {p3, p0}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z

    :cond_3f
    return-void
.end method

.method private a(Lcom/google/zxing/a/a/g;ILjava/util/Collection;)V
    .registers 11
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/google/zxing/a/a/g;",
            "I",
            "Ljava/util/Collection<",
            "Lcom/google/zxing/a/a/g;",
            ">;)V"
        }
    .end annotation

    .line 13
    iget-object v0, p0, Lcom/google/zxing/a/a/e;->e:[B

    aget-byte v0, v0, p2

    and-int/lit16 v0, v0, 0xff

    int-to-char v0, v0

    .line 14
    sget-object v1, Lcom/google/zxing/a/a/e;->c:[[I

    invoke-virtual {p1}, Lcom/google/zxing/a/a/g;->c()I

    move-result v2

    aget-object v1, v1, v2

    aget v1, v1, v0

    const/4 v2, 0x0

    if-lez v1, :cond_16

    const/4 v1, 0x1

    goto :goto_17

    :cond_16
    const/4 v1, 0x0

    :goto_17
    const/4 v3, 0x0

    :goto_18
    const/4 v4, 0x4

    if-gt v2, v4, :cond_53

    .line 15
    sget-object v4, Lcom/google/zxing/a/a/e;->c:[[I

    aget-object v4, v4, v2

    aget v4, v4, v0

    if-lez v4, :cond_50

    if-nez v3, :cond_29

    .line 16
    invoke-virtual {p1, p2}, Lcom/google/zxing/a/a/g;->b(I)Lcom/google/zxing/a/a/g;

    move-result-object v3

    :cond_29
    if-eqz v1, :cond_34

    .line 17
    invoke-virtual {p1}, Lcom/google/zxing/a/a/g;->c()I

    move-result v5

    if-eq v2, v5, :cond_34

    const/4 v5, 0x2

    if-ne v2, v5, :cond_3b

    .line 18
    :cond_34
    invoke-virtual {v3, v2, v4}, Lcom/google/zxing/a/a/g;->a(II)Lcom/google/zxing/a/a/g;

    move-result-object v5

    .line 19
    invoke-interface {p3, v5}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z

    :cond_3b
    if-nez v1, :cond_50

    .line 20
    sget-object v5, Lcom/google/zxing/a/a/e;->d:[[I

    invoke-virtual {p1}, Lcom/google/zxing/a/a/g;->c()I

    move-result v6

    aget-object v5, v5, v6

    aget v5, v5, v2

    if-ltz v5, :cond_50

    .line 21
    invoke-virtual {v3, v2, v4}, Lcom/google/zxing/a/a/g;->b(II)Lcom/google/zxing/a/a/g;

    move-result-object v4

    .line 22
    invoke-interface {p3, v4}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z

    :cond_50
    add-int/lit8 v2, v2, 0x1

    goto :goto_18

    .line 23
    :cond_53
    invoke-virtual {p1}, Lcom/google/zxing/a/a/g;->a()I

    move-result v1

    if-gtz v1, :cond_65

    sget-object v1, Lcom/google/zxing/a/a/e;->c:[[I

    invoke-virtual {p1}, Lcom/google/zxing/a/a/g;->c()I

    move-result v2

    aget-object v1, v1, v2

    aget v0, v1, v0

    if-nez v0, :cond_6c

    .line 24
    :cond_65
    invoke-virtual {p1, p2}, Lcom/google/zxing/a/a/g;->a(I)Lcom/google/zxing/a/a/g;

    move-result-object p1

    .line 25
    invoke-interface {p3, p1}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z

    :cond_6c
    return-void
.end method


# virtual methods
.method public a()Lcom/google/zxing/common/a;
    .registers 9

    .line 1
    sget-object v0, Lcom/google/zxing/a/a/g;->a:Lcom/google/zxing/a/a/g;

    invoke-static {v0}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;

    move-result-object v0

    const/4 v1, 0x0

    move-object v2, v0

    const/4 v0, 0x0

    .line 2
    :goto_9
    iget-object v3, p0, Lcom/google/zxing/a/a/e;->e:[B

    array-length v4, v3

    if-ge v0, v4, :cond_50

    add-int/lit8 v4, v0, 0x1

    .line 3
    array-length v5, v3

    if-ge v4, v5, :cond_16

    aget-byte v3, v3, v4

    goto :goto_17

    :cond_16
    const/4 v3, 0x0

    .line 4
    :goto_17
    iget-object v5, p0, Lcom/google/zxing/a/a/e;->e:[B

    aget-byte v5, v5, v0

    const/16 v6, 0xd

    if-eq v5, v6, :cond_3b

    const/16 v6, 0x2c

    const/16 v7, 0x20

    if-eq v5, v6, :cond_37

    const/16 v6, 0x2e

    if-eq v5, v6, :cond_33

    const/16 v6, 0x3a

    if-eq v5, v6, :cond_2f

    :cond_2d
    const/4 v3, 0x0

    goto :goto_40

    :cond_2f
    if-ne v3, v7, :cond_2d

    const/4 v3, 0x5

    goto :goto_40

    :cond_33
    if-ne v3, v7, :cond_2d

    const/4 v3, 0x3

    goto :goto_40

    :cond_37
    if-ne v3, v7, :cond_2d

    const/4 v3, 0x4

    goto :goto_40

    :cond_3b
    const/16 v5, 0xa

    if-ne v3, v5, :cond_2d

    const/4 v3, 0x2

    :goto_40
    if-lez v3, :cond_49

    .line 5
    invoke-static {v2, v0, v3}, Lcom/google/zxing/a/a/e;->a(Ljava/lang/Iterable;II)Ljava/util/Collection;

    move-result-object v0

    move-object v2, v0

    move v0, v4

    goto :goto_4d

    .line 6
    :cond_49
    invoke-direct {p0, v2, v0}, Lcom/google/zxing/a/a/e;->a(Ljava/lang/Iterable;I)Ljava/util/Collection;

    move-result-object v2

    :goto_4d
    add-int/lit8 v0, v0, 0x1

    goto :goto_9

    .line 7
    :cond_50
    new-instance v0, Lcom/google/zxing/a/a/d;

    invoke-direct {v0, p0}, Lcom/google/zxing/a/a/d;-><init>(Lcom/google/zxing/a/a/e;)V

    invoke-static {v2, v0}, Ljava/util/Collections;->min(Ljava/util/Collection;Ljava/util/Comparator;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/google/zxing/a/a/g;

    .line 8
    iget-object v1, p0, Lcom/google/zxing/a/a/e;->e:[B

    invoke-virtual {v0, v1}, Lcom/google/zxing/a/a/g;->a([B)Lcom/google/zxing/common/a;

    move-result-object v0

    return-object v0
.end method