a.smali

.class public final Lcom/google/zxing/qrcode/a;
.super Ljava/lang/Object;
.source "SourceFile"

# interfaces
.implements Lcom/google/zxing/g;


# direct methods
.method public constructor <init>()V
    .registers 1

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

    return-void
.end method


# virtual methods
.method public final f(Ljava/lang/String;Lcom/google/zxing/a;Ljava/util/Map;)Lcom/google/zxing/common/b;
    .registers 29
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/String;",
            "Lcom/google/zxing/a;",
            "II",
            "Ljava/util/Map<",
            "Lcom/google/zxing/c;",
            "*>;)",
            "Lcom/google/zxing/common/b;"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/google/zxing/h;
        }
    .end annotation

    move-object/from16 v0, p1

    move-object/from16 v1, p3

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

    move-result v2

    if-nez v2, :cond_679

    .line 2
    sget-object v2, Lcom/google/zxing/a;->QR_CODE:Lcom/google/zxing/a;

    move-object/from16 v3, p2

    if-ne v3, v2, :cond_669

    .line 3
    sget-object v2, Lcom/google/zxing/qrcode/decoder/a;->L:Lcom/google/zxing/qrcode/decoder/a;

    .line 4
    sget-object v3, Lcom/google/zxing/c;->ERROR_CORRECTION:Lcom/google/zxing/c;

    invoke-interface {v1, v3}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_26

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

    move-result-object v2

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

    move-result-object v2

    invoke-static {v2}, Lcom/google/zxing/qrcode/decoder/a;->valueOf(Ljava/lang/String;)Lcom/google/zxing/qrcode/decoder/a;

    move-result-object v2

    .line 6
    :cond_26
    sget-object v3, Lcom/google/zxing/c;->MARGIN:Lcom/google/zxing/c;

    invoke-interface {v1, v3}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z

    move-result v4

    const/4 v5, 0x4

    if-eqz v4, :cond_3c

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

    move-result-object v3

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

    move-result-object v3

    invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v3

    goto :goto_3d

    :cond_3c
    const/4 v3, 0x4

    .line 8
    :goto_3d
    sget-object v4, Lcom/google/zxing/c;->CHARACTER_SET:Lcom/google/zxing/c;

    invoke-interface {v1, v4}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z

    move-result v6

    const/4 v8, 0x1

    if-eqz v6, :cond_48

    const/4 v6, 0x1

    goto :goto_49

    :cond_48
    const/4 v6, 0x0

    :goto_49
    if-eqz v6, :cond_54

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

    move-result-object v4

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

    move-result-object v4

    goto :goto_56

    :cond_54
    const-string v4, "ISO-8859-1"

    :goto_56
    const-string v9, "Shift_JIS"

    .line 10
    invoke-virtual {v9, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v10

    const/4 v11, -0x1

    if-eqz v10, :cond_8c

    .line 11
    :try_start_5f
    invoke-virtual {v0, v9}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B

    move-result-object v10
    :try_end_63
    .catch Ljava/io/UnsupportedEncodingException; {:try_start_5f .. :try_end_63} :catch_86

    .line 12
    array-length v12, v10

    .line 13
    rem-int/lit8 v13, v12, 0x2

    if-eqz v13, :cond_69

    goto :goto_86

    :cond_69
    const/4 v13, 0x0

    :goto_6a
    if-ge v13, v12, :cond_84

    .line 14
    aget-byte v14, v10, v13

    and-int/lit16 v14, v14, 0xff

    const/16 v15, 0x81

    if-lt v14, v15, :cond_78

    const/16 v15, 0x9f

    if-le v14, v15, :cond_81

    :cond_78
    const/16 v15, 0xe0

    if-lt v14, v15, :cond_86

    const/16 v15, 0xeb

    if-le v14, v15, :cond_81

    goto :goto_86

    :cond_81
    add-int/lit8 v13, v13, 0x2

    goto :goto_6a

    :cond_84
    const/4 v10, 0x1

    goto :goto_87

    :catch_86
    :cond_86
    :goto_86
    const/4 v10, 0x0

    :goto_87
    if-eqz v10, :cond_8c

    .line 15
    sget-object v10, Lcom/google/zxing/qrcode/decoder/b;->KANJI:Lcom/google/zxing/qrcode/decoder/b;

    goto :goto_bc

    :cond_8c
    const/4 v10, 0x0

    const/4 v12, 0x0

    const/4 v13, 0x0

    .line 16
    :goto_8f
    invoke-virtual/range {p1 .. p1}, Ljava/lang/String;->length()I

    move-result v14

    if-ge v10, v14, :cond_b0

    .line 17
    invoke-virtual {v0, v10}, Ljava/lang/String;->charAt(I)C

    move-result v14

    const/16 v15, 0x30

    if-lt v14, v15, :cond_a3

    const/16 v15, 0x39

    if-gt v14, v15, :cond_a3

    const/4 v13, 0x1

    goto :goto_aa

    .line 18
    :cond_a3
    invoke-static {v14}, Lcom/google/zxing/qrcode/encoder/c;->c(I)I

    move-result v12

    if-eq v12, v11, :cond_ad

    const/4 v12, 0x1

    :goto_aa
    add-int/lit8 v10, v10, 0x1

    goto :goto_8f

    .line 19
    :cond_ad
    sget-object v10, Lcom/google/zxing/qrcode/decoder/b;->BYTE:Lcom/google/zxing/qrcode/decoder/b;

    goto :goto_bc

    :cond_b0
    if-eqz v12, :cond_b5

    .line 20
    sget-object v10, Lcom/google/zxing/qrcode/decoder/b;->ALPHANUMERIC:Lcom/google/zxing/qrcode/decoder/b;

    goto :goto_bc

    :cond_b5
    if-eqz v13, :cond_ba

    .line 21
    sget-object v10, Lcom/google/zxing/qrcode/decoder/b;->NUMERIC:Lcom/google/zxing/qrcode/decoder/b;

    goto :goto_bc

    .line 22
    :cond_ba
    sget-object v10, Lcom/google/zxing/qrcode/decoder/b;->BYTE:Lcom/google/zxing/qrcode/decoder/b;

    .line 23
    :goto_bc
    new-instance v12, Lcom/google/zxing/common/a;

    invoke-direct {v12}, Lcom/google/zxing/common/a;-><init>()V

    .line 24
    sget-object v13, Lcom/google/zxing/qrcode/decoder/b;->BYTE:Lcom/google/zxing/qrcode/decoder/b;

    const/16 v14, 0x8

    if-ne v10, v13, :cond_df

    if-eqz v6, :cond_df

    .line 25
    invoke-static {v4}, Lcom/google/zxing/common/c;->getCharacterSetECIByName(Ljava/lang/String;)Lcom/google/zxing/common/c;

    move-result-object v6

    if-eqz v6, :cond_df

    .line 26
    sget-object v13, Lcom/google/zxing/qrcode/decoder/b;->ECI:Lcom/google/zxing/qrcode/decoder/b;

    invoke-virtual {v13}, Lcom/google/zxing/qrcode/decoder/b;->getBits()I

    move-result v13

    invoke-virtual {v12, v13, v5}, Lcom/google/zxing/common/a;->c(II)V

    .line 27
    invoke-virtual {v6}, Lcom/google/zxing/common/c;->getValue()I

    move-result v6

    invoke-virtual {v12, v6, v14}, Lcom/google/zxing/common/a;->c(II)V

    .line 28
    :cond_df
    sget-object v6, Lcom/google/zxing/c;->GS1_FORMAT:Lcom/google/zxing/c;

    invoke-interface {v1, v6}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z

    move-result v13

    if-eqz v13, :cond_e9

    const/4 v13, 0x1

    goto :goto_ea

    :cond_e9
    const/4 v13, 0x0

    :goto_ea
    if-eqz v13, :cond_107

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

    move-result-object v6

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

    move-result-object v6

    invoke-static {v6}, Ljava/lang/Boolean;->valueOf(Ljava/lang/String;)Ljava/lang/Boolean;

    move-result-object v6

    invoke-virtual {v6}, Ljava/lang/Boolean;->booleanValue()Z

    move-result v6

    if-eqz v6, :cond_107

    .line 30
    sget-object v6, Lcom/google/zxing/qrcode/decoder/b;->FNC1_FIRST_POSITION:Lcom/google/zxing/qrcode/decoder/b;

    .line 31
    invoke-virtual {v6}, Lcom/google/zxing/qrcode/decoder/b;->getBits()I

    move-result v6

    invoke-virtual {v12, v6, v5}, Lcom/google/zxing/common/a;->c(II)V

    .line 32
    :cond_107
    invoke-virtual {v10}, Lcom/google/zxing/qrcode/decoder/b;->getBits()I

    move-result v6

    invoke-virtual {v12, v6, v5}, Lcom/google/zxing/common/a;->c(II)V

    .line 33
    new-instance v6, Lcom/google/zxing/common/a;

    invoke-direct {v6}, Lcom/google/zxing/common/a;-><init>()V

    .line 34
    sget-object v13, Lcom/google/zxing/qrcode/encoder/c$a;->a:[I

    invoke-virtual {v10}, Ljava/lang/Enum;->ordinal()I

    move-result v15

    aget v13, v13, v15

    const/16 v7, 0xa

    const/4 v15, 0x2

    if-eq v13, v8, :cond_1df

    if-eq v13, v15, :cond_1a3

    const/4 v15, 0x3

    if-eq v13, v15, :cond_18b

    if-ne v13, v5, :cond_17b

    .line 35
    :try_start_127
    invoke-virtual {v0, v9}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B

    move-result-object v4
    :try_end_12b
    .catch Ljava/io/UnsupportedEncodingException; {:try_start_127 .. :try_end_12b} :catch_173

    .line 36
    array-length v9, v4

    const/4 v13, 0x0

    :goto_12d
    if-ge v13, v9, :cond_221

    .line 37
    aget-byte v15, v4, v13

    and-int/lit16 v15, v15, 0xff

    add-int/lit8 v16, v13, 0x1

    .line 38
    aget-byte v8, v4, v16

    and-int/lit16 v8, v8, 0xff

    shl-int/2addr v15, v14

    or-int/2addr v8, v15

    const v15, 0x8140

    if-lt v8, v15, :cond_149

    const v15, 0x9ffc

    if-gt v8, v15, :cond_149

    const v15, 0x8140

    goto :goto_156

    :cond_149
    const v15, 0xe040

    if-lt v8, v15, :cond_158

    const v15, 0xebbf

    if-gt v8, v15, :cond_158

    const v15, 0xc140

    :goto_156
    sub-int/2addr v8, v15

    goto :goto_159

    :cond_158
    const/4 v8, -0x1

    :goto_159
    if-eq v8, v11, :cond_16b

    shr-int/lit8 v15, v8, 0x8

    mul-int/lit16 v15, v15, 0xc0

    and-int/lit16 v8, v8, 0xff

    add-int/2addr v15, v8

    const/16 v8, 0xd

    .line 39
    invoke-virtual {v6, v15, v8}, Lcom/google/zxing/common/a;->c(II)V

    add-int/lit8 v13, v13, 0x2

    const/4 v8, 0x1

    goto :goto_12d

    .line 40
    :cond_16b
    new-instance v0, Lcom/google/zxing/h;

    const-string v1, "Invalid byte sequence"

    invoke-direct {v0, v1}, Lcom/google/zxing/h;-><init>(Ljava/lang/String;)V

    throw v0

    :catch_173
    move-exception v0

    move-object v1, v0

    .line 41
    new-instance v0, Lcom/google/zxing/h;

    invoke-direct {v0, v1}, Lcom/google/zxing/h;-><init>(Ljava/lang/Throwable;)V

    throw v0

    .line 42
    :cond_17b
    new-instance v0, Lcom/google/zxing/h;

    invoke-static {v10}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    const-string v2, "Invalid mode: "

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

    move-result-object v1

    invoke-direct {v0, v1}, Lcom/google/zxing/h;-><init>(Ljava/lang/String;)V

    throw v0

    .line 43
    :cond_18b
    :try_start_18b
    invoke-virtual {v0, v4}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B

    move-result-object v4
    :try_end_18f
    .catch Ljava/io/UnsupportedEncodingException; {:try_start_18b .. :try_end_18f} :catch_19b

    .line 44
    array-length v8, v4

    const/4 v9, 0x0

    :goto_191
    if-ge v9, v8, :cond_221

    aget-byte v13, v4, v9

    .line 45
    invoke-virtual {v6, v13, v14}, Lcom/google/zxing/common/a;->c(II)V

    add-int/lit8 v9, v9, 0x1

    goto :goto_191

    :catch_19b
    move-exception v0

    move-object v1, v0

    .line 46
    new-instance v0, Lcom/google/zxing/h;

    invoke-direct {v0, v1}, Lcom/google/zxing/h;-><init>(Ljava/lang/Throwable;)V

    throw v0

    .line 47
    :cond_1a3
    invoke-virtual/range {p1 .. p1}, Ljava/lang/String;->length()I

    move-result v4

    const/4 v8, 0x0

    :goto_1a8
    if-ge v8, v4, :cond_221

    .line 48
    invoke-virtual {v0, v8}, Ljava/lang/String;->charAt(I)C

    move-result v9

    invoke-static {v9}, Lcom/google/zxing/qrcode/encoder/c;->c(I)I

    move-result v9

    if-eq v9, v11, :cond_1d9

    add-int/lit8 v13, v8, 0x1

    if-ge v13, v4, :cond_1d3

    .line 49
    invoke-virtual {v0, v13}, Ljava/lang/String;->charAt(I)C

    move-result v13

    invoke-static {v13}, Lcom/google/zxing/qrcode/encoder/c;->c(I)I

    move-result v13

    if-eq v13, v11, :cond_1cd

    mul-int/lit8 v9, v9, 0x2d

    add-int/2addr v9, v13

    const/16 v13, 0xb

    .line 50
    invoke-virtual {v6, v9, v13}, Lcom/google/zxing/common/a;->c(II)V

    add-int/lit8 v8, v8, 0x2

    goto :goto_1a8

    .line 51
    :cond_1cd
    new-instance v0, Lcom/google/zxing/h;

    invoke-direct {v0}, Lcom/google/zxing/h;-><init>()V

    throw v0

    :cond_1d3
    const/4 v8, 0x6

    .line 52
    invoke-virtual {v6, v9, v8}, Lcom/google/zxing/common/a;->c(II)V

    move v8, v13

    goto :goto_1a8

    .line 53
    :cond_1d9
    new-instance v0, Lcom/google/zxing/h;

    invoke-direct {v0}, Lcom/google/zxing/h;-><init>()V

    throw v0

    .line 54
    :cond_1df
    invoke-virtual/range {p1 .. p1}, Ljava/lang/String;->length()I

    move-result v4

    const/4 v8, 0x0

    :goto_1e4
    if-ge v8, v4, :cond_221

    .line 55
    invoke-virtual {v0, v8}, Ljava/lang/String;->charAt(I)C

    move-result v9

    add-int/lit8 v9, v9, -0x30

    add-int/lit8 v13, v8, 0x2

    if-ge v13, v4, :cond_20a

    add-int/lit8 v15, v8, 0x1

    .line 56
    invoke-virtual {v0, v15}, Ljava/lang/String;->charAt(I)C

    move-result v15

    add-int/lit8 v15, v15, -0x30

    .line 57
    invoke-virtual {v0, v13}, Ljava/lang/String;->charAt(I)C

    move-result v13

    add-int/lit8 v13, v13, -0x30

    mul-int/lit8 v9, v9, 0x64

    mul-int/lit8 v15, v15, 0xa

    add-int/2addr v15, v9

    add-int/2addr v15, v13

    .line 58
    invoke-virtual {v6, v15, v7}, Lcom/google/zxing/common/a;->c(II)V

    add-int/lit8 v8, v8, 0x3

    goto :goto_1e4

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

    if-ge v8, v4, :cond_21d

    .line 59
    invoke-virtual {v0, v8}, Ljava/lang/String;->charAt(I)C

    move-result v8

    add-int/lit8 v8, v8, -0x30

    mul-int/lit8 v9, v9, 0xa

    add-int/2addr v9, v8

    const/4 v8, 0x7

    .line 60
    invoke-virtual {v6, v9, v8}, Lcom/google/zxing/common/a;->c(II)V

    move v8, v13

    goto :goto_1e4

    .line 61
    :cond_21d
    invoke-virtual {v6, v9, v5}, Lcom/google/zxing/common/a;->c(II)V

    goto :goto_1e4

    .line 62
    :cond_221
    sget-object v4, Lcom/google/zxing/c;->QR_VERSION:Lcom/google/zxing/c;

    invoke-interface {v1, v4}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z

    move-result v8

    if-eqz v8, :cond_24c

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

    move-result-object v1

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

    move-result-object v1

    invoke-static {v1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v1

    .line 64
    invoke-static {v1}, Lcom/google/zxing/qrcode/decoder/c;->b(I)Lcom/google/zxing/qrcode/decoder/c;

    move-result-object v1

    .line 65
    invoke-static {v10, v12, v6, v1}, Lcom/google/zxing/qrcode/encoder/c;->a(Lcom/google/zxing/qrcode/decoder/b;Lcom/google/zxing/common/a;Lcom/google/zxing/common/a;Lcom/google/zxing/qrcode/decoder/c;)I

    move-result v4

    .line 66
    invoke-static {v4, v1, v2}, Lcom/google/zxing/qrcode/encoder/c;->d(ILcom/google/zxing/qrcode/decoder/c;Lcom/google/zxing/qrcode/decoder/a;)Z

    move-result v4

    if-eqz v4, :cond_244

    goto :goto_261

    .line 67
    :cond_244
    new-instance v0, Lcom/google/zxing/h;

    const-string v1, "Data too big for requested version"

    invoke-direct {v0, v1}, Lcom/google/zxing/h;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_24c
    const/4 v1, 0x1

    .line 68
    invoke-static {v1}, Lcom/google/zxing/qrcode/decoder/c;->b(I)Lcom/google/zxing/qrcode/decoder/c;

    move-result-object v4

    invoke-static {v10, v12, v6, v4}, Lcom/google/zxing/qrcode/encoder/c;->a(Lcom/google/zxing/qrcode/decoder/b;Lcom/google/zxing/common/a;Lcom/google/zxing/common/a;Lcom/google/zxing/qrcode/decoder/c;)I

    move-result v1

    .line 69
    invoke-static {v1, v2}, Lcom/google/zxing/qrcode/encoder/c;->b(ILcom/google/zxing/qrcode/decoder/a;)Lcom/google/zxing/qrcode/decoder/c;

    move-result-object v1

    .line 70
    invoke-static {v10, v12, v6, v1}, Lcom/google/zxing/qrcode/encoder/c;->a(Lcom/google/zxing/qrcode/decoder/b;Lcom/google/zxing/common/a;Lcom/google/zxing/common/a;Lcom/google/zxing/qrcode/decoder/c;)I

    move-result v1

    .line 71
    invoke-static {v1, v2}, Lcom/google/zxing/qrcode/encoder/c;->b(ILcom/google/zxing/qrcode/decoder/a;)Lcom/google/zxing/qrcode/decoder/c;

    move-result-object v1

    .line 72
    :goto_261
    new-instance v4, Lcom/google/zxing/common/a;

    invoke-direct {v4}, Lcom/google/zxing/common/a;-><init>()V

    .line 73
    invoke-virtual {v4, v12}, Lcom/google/zxing/common/a;->b(Lcom/google/zxing/common/a;)V

    .line 74
    sget-object v8, Lcom/google/zxing/qrcode/decoder/b;->BYTE:Lcom/google/zxing/qrcode/decoder/b;

    if-ne v10, v8, :cond_272

    invoke-virtual {v6}, Lcom/google/zxing/common/a;->f()I

    move-result v0

    goto :goto_276

    :cond_272
    invoke-virtual/range {p1 .. p1}, Ljava/lang/String;->length()I

    move-result v0

    .line 75
    :goto_276
    invoke-virtual {v10, v1}, Lcom/google/zxing/qrcode/decoder/b;->getCharacterCountBits(Lcom/google/zxing/qrcode/decoder/c;)I

    move-result v8

    const/4 v9, 0x1

    shl-int v10, v9, v8

    if-ge v0, v10, :cond_64d

    .line 76
    invoke-virtual {v4, v0, v8}, Lcom/google/zxing/common/a;->c(II)V

    .line 77
    invoke-virtual {v4, v6}, Lcom/google/zxing/common/a;->b(Lcom/google/zxing/common/a;)V

    .line 78
    iget-object v0, v1, Lcom/google/zxing/qrcode/decoder/c;->b:[Lcom/google/zxing/qrcode/decoder/c$b;

    invoke-virtual {v2}, Ljava/lang/Enum;->ordinal()I

    move-result v6

    aget-object v0, v0, v6

    .line 79
    iget v6, v1, Lcom/google/zxing/qrcode/decoder/c;->c:I

    .line 80
    iget v8, v0, Lcom/google/zxing/qrcode/decoder/c$b;->a:I

    .line 81
    iget-object v9, v0, Lcom/google/zxing/qrcode/decoder/c$b;->b:[Lcom/google/zxing/qrcode/decoder/c$a;

    array-length v10, v9

    const/4 v12, 0x0

    const/4 v13, 0x0

    :goto_296
    if-ge v12, v10, :cond_2a0

    aget-object v15, v9, v12

    .line 82
    iget v15, v15, Lcom/google/zxing/qrcode/decoder/c$a;->a:I

    add-int/2addr v13, v15

    add-int/lit8 v12, v12, 0x1

    goto :goto_296

    :cond_2a0
    mul-int v8, v8, v13

    sub-int/2addr v6, v8

    shl-int/lit8 v8, v6, 0x3

    .line 83
    iget v9, v4, Lcom/google/zxing/common/a;->b:I

    if-gt v9, v8, :cond_62f

    const/4 v9, 0x0

    :goto_2aa
    if-ge v9, v5, :cond_2b7

    .line 84
    iget v10, v4, Lcom/google/zxing/common/a;->b:I

    if-ge v10, v8, :cond_2b7

    const/4 v10, 0x0

    .line 85
    invoke-virtual {v4, v10}, Lcom/google/zxing/common/a;->a(Z)V

    add-int/lit8 v9, v9, 0x1

    goto :goto_2aa

    :cond_2b7
    const/4 v10, 0x0

    .line 86
    iget v9, v4, Lcom/google/zxing/common/a;->b:I

    const/4 v12, 0x7

    and-int/2addr v9, v12

    if-lez v9, :cond_2c7

    :goto_2be
    if-ge v9, v14, :cond_2c7

    .line 87
    invoke-virtual {v4, v10}, Lcom/google/zxing/common/a;->a(Z)V

    add-int/lit8 v9, v9, 0x1

    const/4 v10, 0x0

    goto :goto_2be

    .line 88
    :cond_2c7
    invoke-virtual {v4}, Lcom/google/zxing/common/a;->f()I

    move-result v9

    sub-int v9, v6, v9

    const/4 v10, 0x0

    :goto_2ce
    if-ge v10, v9, :cond_2df

    and-int/lit8 v13, v10, 0x1

    if-nez v13, :cond_2d7

    const/16 v12, 0xec

    goto :goto_2d9

    :cond_2d7
    const/16 v12, 0x11

    .line 89
    :goto_2d9
    invoke-virtual {v4, v12, v14}, Lcom/google/zxing/common/a;->c(II)V

    add-int/lit8 v10, v10, 0x1

    goto :goto_2ce

    .line 90
    :cond_2df
    iget v9, v4, Lcom/google/zxing/common/a;->b:I

    if-ne v9, v8, :cond_627

    .line 91
    iget v8, v1, Lcom/google/zxing/qrcode/decoder/c;->c:I

    .line 92
    iget-object v0, v0, Lcom/google/zxing/qrcode/decoder/c$b;->b:[Lcom/google/zxing/qrcode/decoder/c$a;

    array-length v9, v0

    const/4 v10, 0x0

    const/4 v13, 0x0

    :goto_2ea
    if-ge v10, v9, :cond_2f4

    aget-object v15, v0, v10

    .line 93
    iget v15, v15, Lcom/google/zxing/qrcode/decoder/c$a;->a:I

    add-int/2addr v13, v15

    add-int/lit8 v10, v10, 0x1

    goto :goto_2ea

    .line 94
    :cond_2f4
    invoke-virtual {v4}, Lcom/google/zxing/common/a;->f()I

    move-result v0

    if-ne v0, v6, :cond_61f

    .line 95
    new-instance v0, Ljava/util/ArrayList;

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

    const/4 v7, 0x0

    const/4 v9, 0x0

    const/4 v10, 0x0

    const/4 v15, 0x0

    :goto_303
    if-ge v10, v13, :cond_3ed

    const/4 v11, 0x1

    new-array v12, v11, [I

    new-array v5, v11, [I

    if-ge v10, v13, :cond_3e5

    .line 96
    rem-int v11, v8, v13

    sub-int v14, v13, v11

    .line 97
    div-int v19, v8, v13

    add-int/lit8 v20, v19, 0x1

    .line 98
    div-int v21, v6, v13

    add-int/lit8 v22, v21, 0x1

    move/from16 v23, v3

    sub-int v3, v19, v21

    move-object/from16 v19, v2

    sub-int v2, v20, v22

    if-ne v3, v2, :cond_3dd

    move-object/from16 v20, v1

    add-int v1, v14, v11

    if-ne v13, v1, :cond_3d5

    add-int v1, v21, v3

    mul-int v1, v1, v14

    add-int v24, v22, v2

    mul-int v24, v24, v11

    add-int v1, v24, v1

    if-ne v8, v1, :cond_3cd

    const/4 v1, 0x0

    if-ge v10, v14, :cond_33c

    aput v21, v12, v1

    aput v3, v5, v1

    goto :goto_340

    :cond_33c
    aput v22, v12, v1

    aput v2, v5, v1

    :goto_340
    aget v2, v12, v1

    .line 99
    new-array v1, v2, [B

    shl-int/lit8 v3, v9, 0x3

    move v11, v3

    const/4 v3, 0x0

    :goto_348
    if-ge v3, v2, :cond_377

    move/from16 v21, v8

    move/from16 p3, v13

    const/16 v8, 0x8

    const/4 v14, 0x0

    move v13, v11

    const/4 v11, 0x0

    :goto_353
    if-ge v11, v8, :cond_36a

    .line 100
    invoke-virtual {v4, v13}, Lcom/google/zxing/common/a;->e(I)Z

    move-result v8

    if-eqz v8, :cond_363

    rsub-int/lit8 v8, v11, 0x7

    const/16 v17, 0x1

    shl-int v8, v17, v8

    or-int/2addr v8, v14

    move v14, v8

    :cond_363
    add-int/lit8 v13, v13, 0x1

    add-int/lit8 v11, v11, 0x1

    const/16 v8, 0x8

    goto :goto_353

    :cond_36a
    add-int/lit8 v8, v3, 0x0

    int-to-byte v11, v14

    .line 101
    aput-byte v11, v1, v8

    add-int/lit8 v3, v3, 0x1

    move v11, v13

    move/from16 v8, v21

    move/from16 v13, p3

    goto :goto_348

    :cond_377
    move/from16 v21, v8

    move/from16 p3, v13

    const/4 v3, 0x0

    aget v5, v5, v3

    add-int v3, v2, v5

    .line 102
    new-array v3, v3, [I

    const/4 v8, 0x0

    :goto_383
    if-ge v8, v2, :cond_38e

    .line 103
    aget-byte v11, v1, v8

    and-int/lit16 v11, v11, 0xff

    aput v11, v3, v8

    add-int/lit8 v8, v8, 0x1

    goto :goto_383

    .line 104
    :cond_38e
    new-instance v8, Lcom/google/zxing/common/reedsolomon/c;

    sget-object v11, Lcom/google/zxing/common/reedsolomon/a;->k:Lcom/google/zxing/common/reedsolomon/a;

    invoke-direct {v8, v11}, Lcom/google/zxing/common/reedsolomon/c;-><init>(Lcom/google/zxing/common/reedsolomon/a;)V

    invoke-virtual {v8, v3, v5}, Lcom/google/zxing/common/reedsolomon/c;->a([II)V

    .line 105
    new-array v8, v5, [B

    const/4 v11, 0x0

    :goto_39b
    if-ge v11, v5, :cond_3a7

    add-int v13, v2, v11

    .line 106
    aget v13, v3, v13

    int-to-byte v13, v13

    aput-byte v13, v8, v11

    add-int/lit8 v11, v11, 0x1

    goto :goto_39b

    .line 107
    :cond_3a7
    new-instance v3, Lcom/google/zxing/qrcode/encoder/a;

    invoke-direct {v3, v1, v8}, Lcom/google/zxing/qrcode/encoder/a;-><init>([B[B)V

    invoke-virtual {v0, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    .line 108
    invoke-static {v15, v2}, Ljava/lang/Math;->max(II)I

    move-result v15

    .line 109
    invoke-static {v7, v5}, Ljava/lang/Math;->max(II)I

    move-result v7

    const/4 v1, 0x0

    aget v2, v12, v1

    add-int/2addr v9, v2

    add-int/lit8 v10, v10, 0x1

    move/from16 v13, p3

    move-object/from16 v2, v19

    move-object/from16 v1, v20

    move/from16 v8, v21

    move/from16 v3, v23

    const/4 v5, 0x4

    const/4 v11, -0x1

    const/16 v14, 0x8

    goto/16 :goto_303

    .line 110
    :cond_3cd
    new-instance v0, Lcom/google/zxing/h;

    const-string v1, "Total bytes mismatch"

    invoke-direct {v0, v1}, Lcom/google/zxing/h;-><init>(Ljava/lang/String;)V

    throw v0

    .line 111
    :cond_3d5
    new-instance v0, Lcom/google/zxing/h;

    const-string v1, "RS blocks mismatch"

    invoke-direct {v0, v1}, Lcom/google/zxing/h;-><init>(Ljava/lang/String;)V

    throw v0

    .line 112
    :cond_3dd
    new-instance v0, Lcom/google/zxing/h;

    const-string v1, "EC bytes mismatch"

    invoke-direct {v0, v1}, Lcom/google/zxing/h;-><init>(Ljava/lang/String;)V

    throw v0

    .line 113
    :cond_3e5
    new-instance v0, Lcom/google/zxing/h;

    const-string v1, "Block ID too large"

    invoke-direct {v0, v1}, Lcom/google/zxing/h;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_3ed
    move-object/from16 v20, v1

    move-object/from16 v19, v2

    move/from16 v23, v3

    move/from16 v21, v8

    if-ne v6, v9, :cond_617

    .line 114
    new-instance v1, Lcom/google/zxing/common/a;

    invoke-direct {v1}, Lcom/google/zxing/common/a;-><init>()V

    const/4 v10, 0x0

    :goto_3fd
    if-ge v10, v15, :cond_41f

    .line 115
    invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object v2

    :cond_403
    :goto_403
    invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z

    move-result v3

    if-eqz v3, :cond_41c

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

    move-result-object v3

    check-cast v3, Lcom/google/zxing/qrcode/encoder/a;

    .line 116
    iget-object v3, v3, Lcom/google/zxing/qrcode/encoder/a;->a:[B

    .line 117
    array-length v4, v3

    if-ge v10, v4, :cond_403

    .line 118
    aget-byte v3, v3, v10

    const/16 v4, 0x8

    invoke-virtual {v1, v3, v4}, Lcom/google/zxing/common/a;->c(II)V

    goto :goto_403

    :cond_41c
    add-int/lit8 v10, v10, 0x1

    goto :goto_3fd

    :cond_41f
    const/4 v10, 0x0

    :goto_420
    if-ge v10, v7, :cond_442

    .line 119
    invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object v2

    :cond_426
    :goto_426
    invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z

    move-result v3

    if-eqz v3, :cond_43f

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

    move-result-object v3

    check-cast v3, Lcom/google/zxing/qrcode/encoder/a;

    .line 120
    iget-object v3, v3, Lcom/google/zxing/qrcode/encoder/a;->b:[B

    .line 121
    array-length v4, v3

    if-ge v10, v4, :cond_426

    .line 122
    aget-byte v3, v3, v10

    const/16 v4, 0x8

    invoke-virtual {v1, v3, v4}, Lcom/google/zxing/common/a;->c(II)V

    goto :goto_426

    :cond_43f
    add-int/lit8 v10, v10, 0x1

    goto :goto_420

    .line 123
    :cond_442
    invoke-virtual {v1}, Lcom/google/zxing/common/a;->f()I

    move-result v0

    move/from16 v2, v21

    if-ne v2, v0, :cond_5f2

    move-object/from16 v0, v20

    .line 124
    iget v2, v0, Lcom/google/zxing/qrcode/decoder/c;->a:I

    const/4 v3, 0x4

    mul-int/lit8 v2, v2, 0x4

    const/16 v3, 0x11

    add-int/2addr v2, v3

    .line 125
    new-instance v3, Lcom/google/zxing/qrcode/encoder/b;

    invoke-direct {v3, v2, v2}, Lcom/google/zxing/qrcode/encoder/b;-><init>(II)V

    const v2, 0x7fffffff

    const/4 v4, -0x1

    const/16 v5, 0x8

    const/4 v10, 0x0

    :goto_460
    if-ge v10, v5, :cond_5a7

    move-object/from16 v6, v19

    .line 126
    invoke-static {v1, v6, v0, v10, v3}, Lcom/google/zxing/qrcode/encoder/d;->a(Lcom/google/zxing/common/a;Lcom/google/zxing/qrcode/decoder/a;Lcom/google/zxing/qrcode/decoder/c;ILcom/google/zxing/qrcode/encoder/b;)V

    const/4 v7, 0x1

    .line 127
    invoke-static {v3, v7}, Landroidx/appcompat/l;->c(Lcom/google/zxing/qrcode/encoder/b;Z)I

    move-result v8

    const/4 v7, 0x0

    invoke-static {v3, v7}, Landroidx/appcompat/l;->c(Lcom/google/zxing/qrcode/encoder/b;Z)I

    move-result v9

    add-int/2addr v9, v8

    .line 128
    iget-object v8, v3, Lcom/google/zxing/qrcode/encoder/b;->a:[[B

    .line 129
    iget v11, v3, Lcom/google/zxing/qrcode/encoder/b;->b:I

    .line 130
    iget v12, v3, Lcom/google/zxing/qrcode/encoder/b;->c:I

    const/4 v13, 0x0

    const/4 v14, 0x0

    :goto_47a
    const/4 v15, -0x1

    add-int/lit8 v5, v12, -0x1

    if-ge v13, v5, :cond_4aa

    .line 131
    aget-object v5, v8, v13

    move/from16 v16, v14

    const/4 v14, 0x0

    :goto_484
    add-int/lit8 v7, v11, -0x1

    if-ge v14, v7, :cond_4a4

    .line 132
    aget-byte v7, v5, v14

    add-int/lit8 v18, v14, 0x1

    .line 133
    aget-byte v15, v5, v18

    if-ne v7, v15, :cond_4a0

    add-int/lit8 v15, v13, 0x1

    aget-object v19, v8, v15

    aget-byte v14, v19, v14

    if-ne v7, v14, :cond_4a0

    aget-object v14, v8, v15

    aget-byte v14, v14, v18

    if-ne v7, v14, :cond_4a0

    add-int/lit8 v16, v16, 0x1

    :cond_4a0
    move/from16 v14, v18

    const/4 v15, -0x1

    goto :goto_484

    :cond_4a4
    add-int/lit8 v13, v13, 0x1

    move/from16 v14, v16

    const/4 v7, 0x0

    goto :goto_47a

    :cond_4aa
    mul-int/lit8 v14, v14, 0x3

    add-int/2addr v14, v9

    .line 134
    iget-object v5, v3, Lcom/google/zxing/qrcode/encoder/b;->a:[[B

    .line 135
    iget v7, v3, Lcom/google/zxing/qrcode/encoder/b;->b:I

    .line 136
    iget v8, v3, Lcom/google/zxing/qrcode/encoder/b;->c:I

    const/4 v9, 0x0

    const/4 v11, 0x0

    :goto_4b5
    if-ge v9, v8, :cond_563

    move v12, v11

    const/4 v11, 0x0

    :goto_4b9
    if-ge v11, v7, :cond_55a

    .line 137
    aget-object v13, v5, v9

    add-int/lit8 v15, v11, 0x6

    if-ge v15, v7, :cond_501

    move/from16 v16, v7

    .line 138
    aget-byte v7, v13, v11

    move-object/from16 v20, v0

    const/4 v0, 0x1

    if-ne v7, v0, :cond_505

    add-int/lit8 v7, v11, 0x1

    aget-byte v7, v13, v7

    if-nez v7, :cond_505

    add-int/lit8 v7, v11, 0x2

    aget-byte v7, v13, v7

    if-ne v7, v0, :cond_505

    add-int/lit8 v7, v11, 0x3

    aget-byte v7, v13, v7

    if-ne v7, v0, :cond_505

    add-int/lit8 v7, v11, 0x4

    aget-byte v7, v13, v7

    if-ne v7, v0, :cond_505

    add-int/lit8 v7, v11, 0x5

    aget-byte v7, v13, v7

    if-nez v7, :cond_505

    aget-byte v7, v13, v15

    if-ne v7, v0, :cond_505

    add-int/lit8 v0, v11, -0x4

    .line 139
    invoke-static {v13, v0, v11}, Landroidx/appcompat/l;->D([BII)Z

    move-result v0

    if-nez v0, :cond_4fe

    add-int/lit8 v0, v11, 0x7

    add-int/lit8 v7, v11, 0xb

    invoke-static {v13, v0, v7}, Landroidx/appcompat/l;->D([BII)Z

    move-result v0

    if-eqz v0, :cond_505

    :cond_4fe
    add-int/lit8 v12, v12, 0x1

    goto :goto_505

    :cond_501
    move-object/from16 v20, v0

    move/from16 v16, v7

    :cond_505
    :goto_505
    add-int/lit8 v0, v9, 0x6

    if-ge v0, v8, :cond_552

    .line 140
    aget-object v7, v5, v9

    aget-byte v7, v7, v11

    const/4 v13, 0x1

    if-ne v7, v13, :cond_552

    add-int/lit8 v7, v9, 0x1

    aget-object v7, v5, v7

    aget-byte v7, v7, v11

    if-nez v7, :cond_552

    add-int/lit8 v7, v9, 0x2

    aget-object v7, v5, v7

    aget-byte v7, v7, v11

    if-ne v7, v13, :cond_552

    add-int/lit8 v7, v9, 0x3

    aget-object v7, v5, v7

    aget-byte v7, v7, v11

    if-ne v7, v13, :cond_552

    add-int/lit8 v7, v9, 0x4

    aget-object v7, v5, v7

    aget-byte v7, v7, v11

    if-ne v7, v13, :cond_552

    add-int/lit8 v7, v9, 0x5

    aget-object v7, v5, v7

    aget-byte v7, v7, v11

    if-nez v7, :cond_552

    aget-object v0, v5, v0

    aget-byte v0, v0, v11

    if-ne v0, v13, :cond_552

    add-int/lit8 v0, v9, -0x4

    .line 141
    invoke-static {v5, v11, v0, v9}, Landroidx/appcompat/l;->E([[BIII)Z

    move-result v0

    if-nez v0, :cond_550

    add-int/lit8 v0, v9, 0x7

    add-int/lit8 v7, v9, 0xb

    invoke-static {v5, v11, v0, v7}, Landroidx/appcompat/l;->E([[BIII)Z

    move-result v0

    if-eqz v0, :cond_552

    :cond_550
    add-int/lit8 v12, v12, 0x1

    :cond_552
    add-int/lit8 v11, v11, 0x1

    move/from16 v7, v16

    move-object/from16 v0, v20

    goto/16 :goto_4b9

    :cond_55a
    move-object/from16 v20, v0

    move/from16 v16, v7

    add-int/lit8 v9, v9, 0x1

    move v11, v12

    goto/16 :goto_4b5

    :cond_563
    move-object/from16 v20, v0

    mul-int/lit8 v11, v11, 0x28

    add-int/2addr v11, v14

    .line 142
    iget-object v0, v3, Lcom/google/zxing/qrcode/encoder/b;->a:[[B

    .line 143
    iget v5, v3, Lcom/google/zxing/qrcode/encoder/b;->b:I

    .line 144
    iget v7, v3, Lcom/google/zxing/qrcode/encoder/b;->c:I

    const/4 v8, 0x0

    const/4 v9, 0x0

    :goto_570
    if-ge v8, v7, :cond_584

    .line 145
    aget-object v12, v0, v8

    const/4 v13, 0x0

    :goto_575
    if-ge v13, v5, :cond_581

    .line 146
    aget-byte v14, v12, v13

    const/4 v15, 0x1

    if-ne v14, v15, :cond_57e

    add-int/lit8 v9, v9, 0x1

    :cond_57e
    add-int/lit8 v13, v13, 0x1

    goto :goto_575

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

    goto :goto_570

    .line 147
    :cond_584
    iget v0, v3, Lcom/google/zxing/qrcode/encoder/b;->c:I

    .line 148
    iget v5, v3, Lcom/google/zxing/qrcode/encoder/b;->b:I

    mul-int v0, v0, v5

    shl-int/lit8 v5, v9, 0x1

    sub-int/2addr v5, v0

    .line 149
    invoke-static {v5}, Ljava/lang/Math;->abs(I)I

    move-result v5

    const/16 v7, 0xa

    mul-int/lit8 v5, v5, 0xa

    div-int/2addr v5, v0

    mul-int/lit8 v5, v5, 0xa

    add-int/2addr v5, v11

    if-ge v5, v2, :cond_59d

    move v2, v5

    move v4, v10

    :cond_59d
    add-int/lit8 v10, v10, 0x1

    move-object/from16 v19, v6

    move-object/from16 v0, v20

    const/16 v5, 0x8

    goto/16 :goto_460

    :cond_5a7
    move-object/from16 v6, v19

    .line 150
    invoke-static {v1, v6, v0, v4, v3}, Lcom/google/zxing/qrcode/encoder/d;->a(Lcom/google/zxing/common/a;Lcom/google/zxing/qrcode/decoder/a;Lcom/google/zxing/qrcode/decoder/c;ILcom/google/zxing/qrcode/encoder/b;)V

    .line 151
    iget v0, v3, Lcom/google/zxing/qrcode/encoder/b;->b:I

    .line 152
    iget v1, v3, Lcom/google/zxing/qrcode/encoder/b;->c:I

    const/4 v2, 0x1

    shl-int/lit8 v4, v23, 0x1

    add-int v2, v0, v4

    add-int/2addr v4, v1

    const/16 v5, 0xc8

    .line 153
    invoke-static {v5, v2}, Ljava/lang/Math;->max(II)I

    move-result v6

    .line 154
    invoke-static {v5, v4}, Ljava/lang/Math;->max(II)I

    move-result v5

    .line 155
    div-int v2, v6, v2

    div-int v4, v5, v4

    invoke-static {v2, v4}, Ljava/lang/Math;->min(II)I

    move-result v2

    mul-int v4, v0, v2

    sub-int v4, v6, v4

    const/4 v7, 0x2

    .line 156
    div-int/2addr v4, v7

    mul-int v8, v1, v2

    sub-int v8, v5, v8

    .line 157
    div-int/2addr v8, v7

    .line 158
    new-instance v7, Lcom/google/zxing/common/b;

    invoke-direct {v7, v6, v5}, Lcom/google/zxing/common/b;-><init>(II)V

    const/4 v10, 0x0

    :goto_5d9
    if-ge v10, v1, :cond_5f1

    move v6, v4

    const/4 v5, 0x0

    :goto_5dd
    if-ge v5, v0, :cond_5ed

    .line 159
    invoke-virtual {v3, v5, v10}, Lcom/google/zxing/qrcode/encoder/b;->a(II)B

    move-result v9

    const/4 v11, 0x1

    if-ne v9, v11, :cond_5e9

    .line 160
    invoke-virtual {v7, v6, v8, v2, v2}, Lcom/google/zxing/common/b;->c(IIII)V

    :cond_5e9
    add-int/lit8 v5, v5, 0x1

    add-int/2addr v6, v2

    goto :goto_5dd

    :cond_5ed
    add-int/lit8 v10, v10, 0x1

    add-int/2addr v8, v2

    goto :goto_5d9

    :cond_5f1
    return-object v7

    .line 161
    :cond_5f2
    new-instance v0, Lcom/google/zxing/h;

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "Interleaving error: "

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

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

    const-string v2, " and "

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

    .line 162
    invoke-virtual {v1}, Lcom/google/zxing/common/a;->f()I

    move-result v1

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

    const-string v1, " differ."

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

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

    move-result-object v1

    invoke-direct {v0, v1}, Lcom/google/zxing/h;-><init>(Ljava/lang/String;)V

    throw v0

    .line 163
    :cond_617
    new-instance v0, Lcom/google/zxing/h;

    const-string v1, "Data bytes does not match offset"

    invoke-direct {v0, v1}, Lcom/google/zxing/h;-><init>(Ljava/lang/String;)V

    throw v0

    .line 164
    :cond_61f
    new-instance v0, Lcom/google/zxing/h;

    const-string v1, "Number of bits and data bytes does not match"

    invoke-direct {v0, v1}, Lcom/google/zxing/h;-><init>(Ljava/lang/String;)V

    throw v0

    .line 165
    :cond_627
    new-instance v0, Lcom/google/zxing/h;

    const-string v1, "Bits size does not equal capacity"

    invoke-direct {v0, v1}, Lcom/google/zxing/h;-><init>(Ljava/lang/String;)V

    throw v0

    .line 166
    :cond_62f
    new-instance v0, Lcom/google/zxing/h;

    new-instance v1, Ljava/lang/StringBuilder;

    const-string v2, "data bits cannot fit in the QR Code"

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

    .line 167
    iget v2, v4, Lcom/google/zxing/common/a;->b:I

    .line 168
    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v2, " > "

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

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

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

    move-result-object v1

    invoke-direct {v0, v1}, Lcom/google/zxing/h;-><init>(Ljava/lang/String;)V

    throw v0

    .line 169
    :cond_64d
    new-instance v1, Lcom/google/zxing/h;

    new-instance v2, Ljava/lang/StringBuilder;

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

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

    const-string v0, " is bigger than "

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

    const/4 v0, 0x1

    sub-int/2addr v10, v0

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

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

    move-result-object v0

    invoke-direct {v1, v0}, Lcom/google/zxing/h;-><init>(Ljava/lang/String;)V

    throw v1

    .line 170
    :cond_669
    new-instance v0, Ljava/lang/IllegalArgumentException;

    invoke-static/range {p2 .. p2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    const-string v2, "Can only encode QR_CODE, but got "

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

    move-result-object v1

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

    throw v0

    .line 171
    :cond_679
    new-instance v0, Ljava/lang/IllegalArgumentException;

    const-string v1, "Found empty contents"

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

    throw v0
.end method