a.smali

.class public final Lcom/bumptech/glide/c/a;
.super Ljava/lang/Object;
.source "AnimatedGifEncoder.java"


# instance fields
.field private DM:I

.field private DN:Landroid/graphics/Bitmap;

.field private DO:[B

.field private DP:[B

.field private DQ:I

.field private DR:[B

.field private DS:[Z

.field private DU:I

.field private DV:Z

.field private DW:Z

.field private DX:I

.field private DY:Z

.field private Dy:I

.field private Dz:I

.field public delay:I

.field private height:I

.field private out:Ljava/io/OutputStream;

.field private started:Z

.field private width:I


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

    .prologue
    const/4 v2, -0x1

    const/4 v1, 0x0

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

    .line 52
    iput v2, p0, Lcom/bumptech/glide/c/a;->DM:I

    .line 54
    iput v1, p0, Lcom/bumptech/glide/c/a;->delay:I

    .line 56
    iput-boolean v1, p0, Lcom/bumptech/glide/c/a;->started:Z

    .line 70
    const/16 v0, 0x100

    new-array v0, v0, [Z

    iput-object v0, p0, Lcom/bumptech/glide/c/a;->DS:[Z

    .line 72
    const/4 v0, 0x7

    iput v0, p0, Lcom/bumptech/glide/c/a;->DU:I

    .line 74
    iput v2, p0, Lcom/bumptech/glide/c/a;->Dy:I

    .line 78
    const/4 v0, 0x1

    iput-boolean v0, p0, Lcom/bumptech/glide/c/a;->DV:Z

    .line 80
    iput-boolean v1, p0, Lcom/bumptech/glide/c/a;->DW:Z

    .line 82
    const/16 v0, 0xa

    iput v0, p0, Lcom/bumptech/glide/c/a;->DX:I

    return-void
.end method

.method private dD()V
    .registers 16

    .prologue
    .line 311
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->DO:[B

    array-length v0, v0

    .line 312
    div-int/lit8 v8, v0, 0x3

    .line 313
    new-array v1, v8, [B

    iput-object v1, p0, Lcom/bumptech/glide/c/a;->DP:[B

    .line 314
    new-instance v9, Lcom/bumptech/glide/c/c;

    iget-object v1, p0, Lcom/bumptech/glide/c/a;->DO:[B

    iget v2, p0, Lcom/bumptech/glide/c/a;->DX:I

    invoke-direct {v9, v1, v0, v2}, Lcom/bumptech/glide/c/c;-><init>([BII)V

    .line 3378
    invoke-virtual {v9}, Lcom/bumptech/glide/c/c;->dG()V

    .line 3393
    const/4 v0, 0x0

    :goto_16
    const/16 v1, 0x100

    if-ge v0, v1, :cond_45

    .line 3394
    iget-object v1, v9, Lcom/bumptech/glide/c/c;->EA:[[I

    aget-object v1, v1, v0

    const/4 v2, 0x0

    aget v3, v1, v2

    shr-int/lit8 v3, v3, 0x4

    aput v3, v1, v2

    .line 3395
    iget-object v1, v9, Lcom/bumptech/glide/c/c;->EA:[[I

    aget-object v1, v1, v0

    const/4 v2, 0x1

    aget v3, v1, v2

    shr-int/lit8 v3, v3, 0x4

    aput v3, v1, v2

    .line 3396
    iget-object v1, v9, Lcom/bumptech/glide/c/c;->EA:[[I

    aget-object v1, v1, v0

    const/4 v2, 0x2

    aget v3, v1, v2

    shr-int/lit8 v3, v3, 0x4

    aput v3, v1, v2

    .line 3397
    iget-object v1, v9, Lcom/bumptech/glide/c/c;->EA:[[I

    aget-object v1, v1, v0

    const/4 v2, 0x3

    aput v0, v1, v2

    .line 3393
    add-int/lit8 v0, v0, 0x1

    goto :goto_16

    .line 4186
    :cond_45
    const/4 v5, 0x0

    .line 4187
    const/4 v4, 0x0

    .line 4188
    const/4 v3, 0x0

    :goto_48
    const/16 v0, 0x100

    if-ge v3, v0, :cond_bc

    .line 4189
    iget-object v0, v9, Lcom/bumptech/glide/c/c;->EA:[[I

    aget-object v6, v0, v3

    .line 4191
    const/4 v0, 0x1

    aget v0, v6, v0

    .line 4193
    add-int/lit8 v2, v3, 0x1

    move v1, v3

    :goto_56
    const/16 v7, 0x100

    if-ge v2, v7, :cond_6a

    .line 4194
    iget-object v7, v9, Lcom/bumptech/glide/c/c;->EA:[[I

    aget-object v7, v7, v2

    .line 4195
    const/4 v10, 0x1

    aget v10, v7, v10

    if-ge v10, v0, :cond_67

    .line 4197
    const/4 v0, 0x1

    aget v0, v7, v0

    move v1, v2

    .line 4193
    :cond_67
    add-int/lit8 v2, v2, 0x1

    goto :goto_56

    .line 4200
    :cond_6a
    iget-object v2, v9, Lcom/bumptech/glide/c/c;->EA:[[I

    aget-object v2, v2, v1

    .line 4202
    if-eq v3, v1, :cond_a0

    .line 4203
    const/4 v1, 0x0

    aget v1, v2, v1

    .line 4204
    const/4 v7, 0x0

    const/4 v10, 0x0

    aget v10, v6, v10

    aput v10, v2, v7

    .line 4205
    const/4 v7, 0x0

    aput v1, v6, v7

    .line 4206
    const/4 v1, 0x1

    aget v1, v2, v1

    .line 4207
    const/4 v7, 0x1

    const/4 v10, 0x1

    aget v10, v6, v10

    aput v10, v2, v7

    .line 4208
    const/4 v7, 0x1

    aput v1, v6, v7

    .line 4209
    const/4 v1, 0x2

    aget v1, v2, v1

    .line 4210
    const/4 v7, 0x2

    const/4 v10, 0x2

    aget v10, v6, v10

    aput v10, v2, v7

    .line 4211
    const/4 v7, 0x2

    aput v1, v6, v7

    .line 4212
    const/4 v1, 0x3

    aget v1, v2, v1

    .line 4213
    const/4 v7, 0x3

    const/4 v10, 0x3

    aget v10, v6, v10

    aput v10, v2, v7

    .line 4214
    const/4 v2, 0x3

    aput v1, v6, v2

    .line 4217
    :cond_a0
    if-eq v0, v5, :cond_259

    .line 4218
    iget-object v1, v9, Lcom/bumptech/glide/c/c;->EB:[I

    add-int v2, v4, v3

    shr-int/lit8 v2, v2, 0x1

    aput v2, v1, v5

    .line 4219
    add-int/lit8 v1, v5, 0x1

    :goto_ac
    if-ge v1, v0, :cond_b5

    .line 4220
    iget-object v2, v9, Lcom/bumptech/glide/c/c;->EB:[I

    aput v3, v2, v1

    .line 4219
    add-int/lit8 v1, v1, 0x1

    goto :goto_ac

    :cond_b5
    move v1, v0

    move v0, v3

    .line 4188
    :goto_b7
    add-int/lit8 v3, v3, 0x1

    move v4, v0

    move v5, v1

    goto :goto_48

    .line 4225
    :cond_bc
    iget-object v0, v9, Lcom/bumptech/glide/c/c;->EB:[I

    add-int/lit16 v1, v4, 0xff

    shr-int/lit8 v1, v1, 0x1

    aput v1, v0, v5

    .line 4226
    add-int/lit8 v0, v5, 0x1

    :goto_c6
    const/16 v1, 0x100

    if-ge v0, v1, :cond_d3

    .line 4227
    iget-object v1, v9, Lcom/bumptech/glide/c/c;->EB:[I

    const/16 v2, 0xff

    aput v2, v1, v0

    .line 4226
    add-int/lit8 v0, v0, 0x1

    goto :goto_c6

    .line 5160
    :cond_d3
    const/16 v0, 0x300

    new-array v2, v0, [B

    .line 5161
    const/16 v0, 0x100

    new-array v3, v0, [I

    .line 5162
    const/4 v0, 0x0

    :goto_dc
    const/16 v1, 0x100

    if-ge v0, v1, :cond_ec

    .line 5163
    iget-object v1, v9, Lcom/bumptech/glide/c/c;->EA:[[I

    aget-object v1, v1, v0

    const/4 v4, 0x3

    aget v1, v1, v4

    aput v0, v3, v1

    .line 5162
    add-int/lit8 v0, v0, 0x1

    goto :goto_dc

    .line 5164
    :cond_ec
    const/4 v1, 0x0

    .line 5165
    const/4 v0, 0x0

    :goto_ee
    const/16 v4, 0x100

    if-ge v0, v4, :cond_11b

    .line 5166
    aget v4, v3, v0

    .line 5167
    add-int/lit8 v5, v1, 0x1

    iget-object v6, v9, Lcom/bumptech/glide/c/c;->EA:[[I

    aget-object v6, v6, v4

    const/4 v7, 0x0

    aget v6, v6, v7

    int-to-byte v6, v6

    aput-byte v6, v2, v1

    .line 5168
    add-int/lit8 v6, v5, 0x1

    iget-object v1, v9, Lcom/bumptech/glide/c/c;->EA:[[I

    aget-object v1, v1, v4

    const/4 v7, 0x1

    aget v1, v1, v7

    int-to-byte v1, v1

    aput-byte v1, v2, v5

    .line 5169
    add-int/lit8 v1, v6, 0x1

    iget-object v5, v9, Lcom/bumptech/glide/c/c;->EA:[[I

    aget-object v4, v5, v4

    const/4 v5, 0x2

    aget v4, v4, v5

    int-to-byte v4, v4

    aput-byte v4, v2, v6

    .line 5165
    add-int/lit8 v0, v0, 0x1

    goto :goto_ee

    .line 316
    :cond_11b
    iput-object v2, p0, Lcom/bumptech/glide/c/a;->DR:[B

    .line 318
    const/4 v0, 0x0

    :goto_11e
    iget-object v1, p0, Lcom/bumptech/glide/c/a;->DR:[B

    array-length v1, v1

    if-ge v0, v1, :cond_141

    .line 319
    iget-object v1, p0, Lcom/bumptech/glide/c/a;->DR:[B

    aget-byte v1, v1, v0

    .line 320
    iget-object v2, p0, Lcom/bumptech/glide/c/a;->DR:[B

    iget-object v3, p0, Lcom/bumptech/glide/c/a;->DR:[B

    add-int/lit8 v4, v0, 0x2

    aget-byte v3, v3, v4

    aput-byte v3, v2, v0

    .line 321
    iget-object v2, p0, Lcom/bumptech/glide/c/a;->DR:[B

    add-int/lit8 v3, v0, 0x2

    aput-byte v1, v2, v3

    .line 322
    iget-object v1, p0, Lcom/bumptech/glide/c/a;->DS:[Z

    div-int/lit8 v2, v0, 0x3

    const/4 v3, 0x0

    aput-boolean v3, v1, v2

    .line 318
    add-int/lit8 v0, v0, 0x3

    goto :goto_11e

    .line 325
    :cond_141
    const/4 v1, 0x0

    .line 326
    const/4 v0, 0x0

    move v14, v0

    move v0, v1

    move v1, v14

    :goto_146
    if-ge v1, v8, :cond_1e7

    .line 327
    iget-object v2, p0, Lcom/bumptech/glide/c/a;->DO:[B

    add-int/lit8 v3, v0, 0x1

    aget-byte v0, v2, v0

    and-int/lit16 v10, v0, 0xff

    iget-object v0, p0, Lcom/bumptech/glide/c/a;->DO:[B

    add-int/lit8 v4, v3, 0x1

    aget-byte v0, v0, v3

    and-int/lit16 v11, v0, 0xff

    iget-object v0, p0, Lcom/bumptech/glide/c/a;->DO:[B

    add-int/lit8 v2, v4, 0x1

    aget-byte v0, v0, v4

    and-int/lit16 v12, v0, 0xff

    .line 5317
    const/16 v5, 0x3e8

    .line 5318
    const/4 v4, -0x1

    .line 5319
    iget-object v0, v9, Lcom/bumptech/glide/c/c;->EB:[I

    aget v6, v0, v11

    .line 5320
    add-int/lit8 v0, v6, -0x1

    move v3, v4

    move v7, v0

    move v4, v5

    move v5, v6

    .line 5322
    :goto_16d
    const/16 v0, 0x100

    if-lt v5, v0, :cond_173

    if-ltz v7, :cond_1d7

    .line 5323
    :cond_173
    const/16 v0, 0x100

    if-ge v5, v0, :cond_254

    .line 5324
    iget-object v0, v9, Lcom/bumptech/glide/c/c;->EA:[[I

    aget-object v13, v0, v5

    .line 5325
    const/4 v0, 0x1

    aget v0, v13, v0

    sub-int/2addr v0, v11

    .line 5326
    if-lt v0, v4, :cond_199

    .line 5327
    const/16 v0, 0x100

    move v5, v4

    move v6, v0

    move v4, v3

    .line 5348
    :goto_186
    if-ltz v7, :cond_24b

    .line 5349
    iget-object v0, v9, Lcom/bumptech/glide/c/c;->EA:[[I

    aget-object v13, v0, v7

    .line 5350
    const/4 v0, 0x1

    aget v0, v13, v0

    sub-int v0, v11, v0

    .line 5351
    if-lt v0, v5, :cond_1b7

    .line 5352
    const/4 v0, -0x1

    move v3, v4

    move v7, v0

    move v4, v5

    move v5, v6

    goto :goto_16d

    .line 5329
    :cond_199
    add-int/lit8 v6, v5, 0x1

    .line 5330
    if-gez v0, :cond_19e

    .line 5331
    neg-int v0, v0

    .line 5332
    :cond_19e
    const/4 v5, 0x0

    aget v5, v13, v5

    sub-int/2addr v5, v10

    .line 5333
    if-gez v5, :cond_1a5

    .line 5334
    neg-int v5, v5

    .line 5335
    :cond_1a5
    add-int/2addr v5, v0

    .line 5336
    if-ge v5, v4, :cond_250

    .line 5337
    const/4 v0, 0x2

    aget v0, v13, v0

    sub-int/2addr v0, v12

    .line 5338
    if-gez v0, :cond_1af

    .line 5339
    neg-int v0, v0

    .line 5340
    :cond_1af
    add-int/2addr v5, v0

    .line 5341
    if-ge v5, v4, :cond_250

    .line 5343
    const/4 v0, 0x3

    aget v0, v13, v0

    move v4, v0

    goto :goto_186

    .line 5354
    :cond_1b7
    add-int/lit8 v7, v7, -0x1

    .line 5355
    if-gez v0, :cond_1bc

    .line 5356
    neg-int v0, v0

    .line 5357
    :cond_1bc
    const/4 v3, 0x0

    aget v3, v13, v3

    sub-int/2addr v3, v10

    .line 5358
    if-gez v3, :cond_1c3

    .line 5359
    neg-int v3, v3

    .line 5360
    :cond_1c3
    add-int/2addr v3, v0

    .line 5361
    if-ge v3, v5, :cond_24b

    .line 5362
    const/4 v0, 0x2

    aget v0, v13, v0

    sub-int/2addr v0, v12

    .line 5363
    if-gez v0, :cond_1cd

    .line 5364
    neg-int v0, v0

    .line 5365
    :cond_1cd
    add-int/2addr v0, v3

    .line 5366
    if-ge v0, v5, :cond_24b

    .line 5368
    const/4 v3, 0x3

    aget v4, v13, v3

    move v3, v4

    move v5, v6

    move v4, v0

    goto :goto_16d

    .line 328
    :cond_1d7
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->DS:[Z

    const/4 v4, 0x1

    aput-boolean v4, v0, v3

    .line 329
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->DP:[B

    int-to-byte v3, v3

    aput-byte v3, v0, v1

    .line 326
    add-int/lit8 v0, v1, 0x1

    move v1, v0

    move v0, v2

    goto/16 :goto_146

    .line 331
    :cond_1e7
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/bumptech/glide/c/a;->DO:[B

    .line 332
    const/16 v0, 0x8

    iput v0, p0, Lcom/bumptech/glide/c/a;->DQ:I

    .line 333
    const/4 v0, 0x7

    iput v0, p0, Lcom/bumptech/glide/c/a;->DU:I

    .line 337
    iget-boolean v0, p0, Lcom/bumptech/glide/c/a;->DY:Z

    if-eqz v0, :cond_1fc

    .line 6347
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->DR:[B

    if-nez v0, :cond_1fd

    .line 6348
    const/4 v3, -0x1

    .line 338
    :cond_1fa
    iput v3, p0, Lcom/bumptech/glide/c/a;->Dz:I

    .line 340
    :cond_1fc
    return-void

    .line 6349
    :cond_1fd
    const/4 v0, 0x0

    invoke-static {v0}, Landroid/graphics/Color;->red(I)I

    move-result v4

    .line 6350
    const/4 v0, 0x0

    invoke-static {v0}, Landroid/graphics/Color;->green(I)I

    move-result v5

    .line 6351
    const/4 v0, 0x0

    invoke-static {v0}, Landroid/graphics/Color;->blue(I)I

    move-result v6

    .line 6352
    const/4 v3, 0x0

    .line 6353
    const/high16 v1, 0x1000000

    .line 6354
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->DR:[B

    array-length v7, v0

    .line 6355
    const/4 v0, 0x0

    :goto_213
    if-ge v0, v7, :cond_1fa

    .line 6356
    iget-object v2, p0, Lcom/bumptech/glide/c/a;->DR:[B

    add-int/lit8 v8, v0, 0x1

    aget-byte v0, v2, v0

    and-int/lit16 v0, v0, 0xff

    sub-int v0, v4, v0

    .line 6357
    iget-object v2, p0, Lcom/bumptech/glide/c/a;->DR:[B

    add-int/lit8 v9, v8, 0x1

    aget-byte v2, v2, v8

    and-int/lit16 v2, v2, 0xff

    sub-int v2, v5, v2

    .line 6358
    iget-object v8, p0, Lcom/bumptech/glide/c/a;->DR:[B

    aget-byte v8, v8, v9

    and-int/lit16 v8, v8, 0xff

    sub-int v8, v6, v8

    .line 6359
    mul-int/2addr v0, v0

    mul-int/2addr v2, v2

    add-int/2addr v0, v2

    mul-int v2, v8, v8

    add-int/2addr v0, v2

    .line 6360
    div-int/lit8 v2, v9, 0x3

    .line 6361
    iget-object v8, p0, Lcom/bumptech/glide/c/a;->DS:[Z

    aget-boolean v8, v8, v2

    if-eqz v8, :cond_248

    if-ge v0, v1, :cond_248

    move v1, v2

    .line 6365
    :goto_242
    add-int/lit8 v2, v9, 0x1

    move v3, v1

    move v1, v0

    move v0, v2

    .line 6366
    goto :goto_213

    :cond_248
    move v0, v1

    move v1, v3

    goto :goto_242

    :cond_24b
    move v3, v4

    move v4, v5

    move v5, v6

    goto/16 :goto_16d

    :cond_250
    move v5, v4

    move v4, v3

    goto/16 :goto_186

    :cond_254
    move v6, v5

    move v5, v4

    move v4, v3

    goto/16 :goto_186

    :cond_259
    move v0, v4

    move v1, v5

    goto/16 :goto_b7
.end method

.method private dE()V
    .registers 5

    .prologue
    const/4 v1, 0x0

    .line 500
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    iget-object v2, p0, Lcom/bumptech/glide/c/a;->DR:[B

    iget-object v3, p0, Lcom/bumptech/glide/c/a;->DR:[B

    array-length v3, v3

    invoke-virtual {v0, v2, v1, v3}, Ljava/io/OutputStream;->write([BII)V

    .line 501
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->DR:[B

    array-length v0, v0

    rsub-int v2, v0, 0x300

    move v0, v1

    .line 502
    :goto_11
    if-ge v0, v2, :cond_1b

    .line 503
    iget-object v3, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    invoke-virtual {v3, v1}, Ljava/io/OutputStream;->write(I)V

    .line 502
    add-int/lit8 v0, v0, 0x1

    goto :goto_11

    .line 505
    :cond_1b
    return-void
.end method

.method private writeShort(I)V
    .registers 4

    .prologue
    .line 519
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    and-int/lit16 v1, p1, 0xff

    invoke-virtual {v0, v1}, Ljava/io/OutputStream;->write(I)V

    .line 520
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    shr-int/lit8 v1, p1, 0x8

    and-int/lit16 v1, v1, 0xff

    invoke-virtual {v0, v1}, Ljava/io/OutputStream;->write(I)V

    .line 521
    return-void
.end method

.method private writeString(Ljava/lang/String;)V
    .registers 5

    .prologue
    .line 527
    const/4 v0, 0x0

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

    move-result v1

    if-ge v0, v1, :cond_14

    .line 528
    iget-object v1, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    invoke-virtual {p1, v0}, Ljava/lang/String;->charAt(I)C

    move-result v2

    int-to-byte v2, v2

    invoke-virtual {v1, v2}, Ljava/io/OutputStream;->write(I)V

    .line 527
    add-int/lit8 v0, v0, 0x1

    goto :goto_1

    .line 530
    :cond_14
    return-void
.end method


# virtual methods
.method public final a(Ljava/io/OutputStream;)Z
    .registers 5

    .prologue
    const/4 v1, 0x0

    .line 275
    if-nez p1, :cond_4

    .line 285
    :goto_3
    return v1

    .line 277
    :cond_4
    const/4 v0, 0x1

    .line 279
    iput-object p1, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    .line 281
    :try_start_7
    const-string v2, "GIF89a"

    invoke-direct {p0, v2}, Lcom/bumptech/glide/c/a;->writeString(Ljava/lang/String;)V
    :try_end_c
    .catch Ljava/io/IOException; {:try_start_7 .. :try_end_c} :catch_10

    .line 285
    :goto_c
    iput-boolean v0, p0, Lcom/bumptech/glide/c/a;->started:Z

    move v1, v0

    goto :goto_3

    .line 283
    :catch_10
    move-exception v0

    move v0, v1

    goto :goto_c
.end method

.method public final b(Landroid/graphics/Bitmap;)Z
    .registers 13

    .prologue
    const/4 v8, 0x1

    const/4 v9, 0x0

    .line 151
    if-eqz p1, :cond_8

    iget-boolean v0, p0, Lcom/bumptech/glide/c/a;->started:Z

    if-nez v0, :cond_a

    :cond_8
    move v0, v9

    .line 182
    :goto_9
    return v0

    .line 156
    :cond_a
    :try_start_a
    iget-boolean v0, p0, Lcom/bumptech/glide/c/a;->DW:Z

    if-nez v0, :cond_35

    .line 158
    invoke-virtual {p1}, Landroid/graphics/Bitmap;->getWidth()I

    move-result v0

    invoke-virtual {p1}, Landroid/graphics/Bitmap;->getHeight()I

    move-result v1

    .line 1255
    iget-boolean v2, p0, Lcom/bumptech/glide/c/a;->started:Z

    if-eqz v2, :cond_1e

    iget-boolean v2, p0, Lcom/bumptech/glide/c/a;->DV:Z

    if-eqz v2, :cond_35

    .line 1257
    :cond_1e
    iput v0, p0, Lcom/bumptech/glide/c/a;->width:I

    .line 1258
    iput v1, p0, Lcom/bumptech/glide/c/a;->height:I

    .line 1259
    iget v0, p0, Lcom/bumptech/glide/c/a;->width:I

    if-gtz v0, :cond_2a

    .line 1260
    const/16 v0, 0x140

    iput v0, p0, Lcom/bumptech/glide/c/a;->width:I

    .line 1261
    :cond_2a
    iget v0, p0, Lcom/bumptech/glide/c/a;->height:I

    if-gtz v0, :cond_32

    .line 1262
    const/16 v0, 0xf0

    iput v0, p0, Lcom/bumptech/glide/c/a;->height:I

    .line 1263
    :cond_32
    const/4 v0, 0x1

    iput-boolean v0, p0, Lcom/bumptech/glide/c/a;->DW:Z

    .line 160
    :cond_35
    iput-object p1, p0, Lcom/bumptech/glide/c/a;->DN:Landroid/graphics/Bitmap;

    .line 1374
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->DN:Landroid/graphics/Bitmap;

    invoke-virtual {v0}, Landroid/graphics/Bitmap;->getWidth()I

    move-result v3

    .line 1375
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->DN:Landroid/graphics/Bitmap;

    invoke-virtual {v0}, Landroid/graphics/Bitmap;->getHeight()I

    move-result v7

    .line 1377
    iget v0, p0, Lcom/bumptech/glide/c/a;->width:I

    if-ne v3, v0, :cond_4b

    iget v0, p0, Lcom/bumptech/glide/c/a;->height:I

    if-eq v7, v0, :cond_62

    .line 1379
    :cond_4b
    iget v0, p0, Lcom/bumptech/glide/c/a;->width:I

    iget v1, p0, Lcom/bumptech/glide/c/a;->height:I

    sget-object v2, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;

    invoke-static {v0, v1, v2}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;

    move-result-object v0

    .line 1380
    new-instance v1, Landroid/graphics/Canvas;

    invoke-direct {v1, v0}, Landroid/graphics/Canvas;-><init>(Landroid/graphics/Bitmap;)V

    .line 1381
    const/4 v2, 0x0

    const/4 v4, 0x0

    const/4 v5, 0x0

    invoke-virtual {v1, v0, v2, v4, v5}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V

    .line 1382
    iput-object v0, p0, Lcom/bumptech/glide/c/a;->DN:Landroid/graphics/Bitmap;

    .line 1384
    :cond_62
    mul-int v0, v3, v7

    new-array v1, v0, [I

    .line 1385
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->DN:Landroid/graphics/Bitmap;

    const/4 v2, 0x0

    const/4 v4, 0x0

    const/4 v5, 0x0

    move v6, v3

    invoke-virtual/range {v0 .. v7}, Landroid/graphics/Bitmap;->getPixels([IIIIIII)V

    .line 1388
    array-length v0, v1

    mul-int/lit8 v0, v0, 0x3

    new-array v0, v0, [B

    iput-object v0, p0, Lcom/bumptech/glide/c/a;->DO:[B

    .line 1391
    const/4 v0, 0x0

    iput-boolean v0, p0, Lcom/bumptech/glide/c/a;->DY:Z

    .line 1393
    array-length v4, v1

    move v2, v9

    move v0, v9

    move v3, v9

    :goto_7d
    if-ge v3, v4, :cond_a1

    aget v5, v1, v3

    .line 1394
    if-nez v5, :cond_85

    .line 1395
    add-int/lit8 v0, v0, 0x1

    .line 1397
    :cond_85
    iget-object v6, p0, Lcom/bumptech/glide/c/a;->DO:[B

    add-int/lit8 v7, v2, 0x1

    int-to-byte v10, v5

    aput-byte v10, v6, v2

    .line 1398
    iget-object v2, p0, Lcom/bumptech/glide/c/a;->DO:[B

    add-int/lit8 v6, v7, 0x1

    shr-int/lit8 v10, v5, 0x8

    int-to-byte v10, v10

    aput-byte v10, v2, v7

    .line 1399
    iget-object v7, p0, Lcom/bumptech/glide/c/a;->DO:[B

    add-int/lit8 v2, v6, 0x1

    shr-int/lit8 v5, v5, 0x10

    int-to-byte v5, v5

    aput-byte v5, v7, v6

    .line 1393
    add-int/lit8 v3, v3, 0x1

    goto :goto_7d

    .line 1402
    :cond_a1
    mul-int/lit8 v0, v0, 0x64

    int-to-double v0, v0

    int-to-double v2, v4

    div-double v2, v0, v2

    .line 1405
    const-wide/high16 v0, 0x4010000000000000L    # 4.0

    cmpl-double v0, v2, v0

    if-lez v0, :cond_1be

    move v0, v8

    :goto_ae
    iput-boolean v0, p0, Lcom/bumptech/glide/c/a;->DY:Z

    .line 1406
    const-string v0, "AnimatedGifEncoder"

    const/4 v1, 0x3

    invoke-static {v0, v1}, Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z

    move-result v0

    if-eqz v0, :cond_c9

    .line 1407
    new-instance v0, Ljava/lang/StringBuilder;

    const-string v1, "got pixels for frame with "

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

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

    move-result-object v0

    const-string v1, "% transparent pixels"

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

    .line 162
    :cond_c9
    invoke-direct {p0}, Lcom/bumptech/glide/c/a;->dD()V

    .line 163
    iget-boolean v0, p0, Lcom/bumptech/glide/c/a;->DV:Z

    if-eqz v0, :cond_127

    .line 1470
    iget v0, p0, Lcom/bumptech/glide/c/a;->width:I

    invoke-direct {p0, v0}, Lcom/bumptech/glide/c/a;->writeShort(I)V

    .line 1471
    iget v0, p0, Lcom/bumptech/glide/c/a;->height:I

    invoke-direct {p0, v0}, Lcom/bumptech/glide/c/a;->writeShort(I)V

    .line 1473
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    iget v1, p0, Lcom/bumptech/glide/c/a;->DU:I

    or-int/lit16 v1, v1, 0xf0

    invoke-virtual {v0, v1}, Ljava/io/OutputStream;->write(I)V

    .line 1478
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Ljava/io/OutputStream;->write(I)V

    .line 1479
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Ljava/io/OutputStream;->write(I)V

    .line 165
    invoke-direct {p0}, Lcom/bumptech/glide/c/a;->dE()V

    .line 166
    iget v0, p0, Lcom/bumptech/glide/c/a;->DM:I

    if-ltz v0, :cond_127

    .line 1486
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    const/16 v1, 0x21

    invoke-virtual {v0, v1}, Ljava/io/OutputStream;->write(I)V

    .line 1487
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    const/16 v1, 0xff

    invoke-virtual {v0, v1}, Ljava/io/OutputStream;->write(I)V

    .line 1488
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    const/16 v1, 0xb

    invoke-virtual {v0, v1}, Ljava/io/OutputStream;->write(I)V

    .line 1489
    const-string v0, "NETSCAPE2.0"

    invoke-direct {p0, v0}, Lcom/bumptech/glide/c/a;->writeString(Ljava/lang/String;)V

    .line 1490
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    const/4 v1, 0x3

    invoke-virtual {v0, v1}, Ljava/io/OutputStream;->write(I)V

    .line 1491
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    const/4 v1, 0x1

    invoke-virtual {v0, v1}, Ljava/io/OutputStream;->write(I)V

    .line 1492
    iget v0, p0, Lcom/bumptech/glide/c/a;->DM:I

    invoke-direct {p0, v0}, Lcom/bumptech/glide/c/a;->writeShort(I)V

    .line 1493
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Ljava/io/OutputStream;->write(I)V

    .line 2415
    :cond_127
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    const/16 v1, 0x21

    invoke-virtual {v0, v1}, Ljava/io/OutputStream;->write(I)V

    .line 2416
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    const/16 v1, 0xf9

    invoke-virtual {v0, v1}, Ljava/io/OutputStream;->write(I)V

    .line 2417
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    const/4 v1, 0x4

    invoke-virtual {v0, v1}, Ljava/io/OutputStream;->write(I)V

    .line 2419
    iget-boolean v0, p0, Lcom/bumptech/glide/c/a;->DY:Z

    if-nez v0, :cond_1c1

    move v0, v9

    move v1, v9

    .line 2426
    :goto_141
    iget v2, p0, Lcom/bumptech/glide/c/a;->Dy:I

    if-ltz v2, :cond_149

    .line 2427
    iget v0, p0, Lcom/bumptech/glide/c/a;->Dy:I

    and-int/lit8 v0, v0, 0x7

    .line 2429
    :cond_149
    shl-int/lit8 v0, v0, 0x2

    .line 2432
    iget-object v2, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    or-int/lit8 v0, v0, 0x0

    or-int/2addr v0, v1

    invoke-virtual {v2, v0}, Ljava/io/OutputStream;->write(I)V

    .line 2437
    iget v0, p0, Lcom/bumptech/glide/c/a;->delay:I

    invoke-direct {p0, v0}, Lcom/bumptech/glide/c/a;->writeShort(I)V

    .line 2438
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    iget v1, p0, Lcom/bumptech/glide/c/a;->Dz:I

    invoke-virtual {v0, v1}, Ljava/io/OutputStream;->write(I)V

    .line 2439
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Ljava/io/OutputStream;->write(I)V

    .line 2446
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    const/16 v1, 0x2c

    invoke-virtual {v0, v1}, Ljava/io/OutputStream;->write(I)V

    .line 2447
    const/4 v0, 0x0

    invoke-direct {p0, v0}, Lcom/bumptech/glide/c/a;->writeShort(I)V

    .line 2448
    const/4 v0, 0x0

    invoke-direct {p0, v0}, Lcom/bumptech/glide/c/a;->writeShort(I)V

    .line 2449
    iget v0, p0, Lcom/bumptech/glide/c/a;->width:I

    invoke-direct {p0, v0}, Lcom/bumptech/glide/c/a;->writeShort(I)V

    .line 2450
    iget v0, p0, Lcom/bumptech/glide/c/a;->height:I

    invoke-direct {p0, v0}, Lcom/bumptech/glide/c/a;->writeShort(I)V

    .line 2452
    iget-boolean v0, p0, Lcom/bumptech/glide/c/a;->DV:Z

    if-eqz v0, :cond_1c5

    .line 2454
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Ljava/io/OutputStream;->write(I)V

    .line 173
    :goto_188
    iget-boolean v0, p0, Lcom/bumptech/glide/c/a;->DV:Z

    if-nez v0, :cond_18f

    .line 174
    invoke-direct {p0}, Lcom/bumptech/glide/c/a;->dE()V

    .line 2511
    :cond_18f
    new-instance v0, Lcom/bumptech/glide/c/b;

    iget v1, p0, Lcom/bumptech/glide/c/a;->width:I

    iget v2, p0, Lcom/bumptech/glide/c/a;->height:I

    iget-object v3, p0, Lcom/bumptech/glide/c/a;->DP:[B

    iget v4, p0, Lcom/bumptech/glide/c/a;->DQ:I

    invoke-direct {v0, v1, v2, v3, v4}, Lcom/bumptech/glide/c/b;-><init>(II[BI)V

    .line 2512
    iget-object v1, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    .line 3218
    iget v2, v0, Lcom/bumptech/glide/c/b;->Ec:I

    invoke-virtual {v1, v2}, Ljava/io/OutputStream;->write(I)V

    .line 3220
    iget v2, v0, Lcom/bumptech/glide/c/b;->DZ:I

    iget v3, v0, Lcom/bumptech/glide/c/b;->Ea:I

    mul-int/2addr v2, v3

    iput v2, v0, Lcom/bumptech/glide/c/b;->Ed:I

    .line 3221
    const/4 v2, 0x0

    iput v2, v0, Lcom/bumptech/glide/c/b;->Ee:I

    .line 3223
    iget v2, v0, Lcom/bumptech/glide/c/b;->Ec:I

    add-int/lit8 v2, v2, 0x1

    invoke-virtual {v0, v2, v1}, Lcom/bumptech/glide/c/b;->a(ILjava/io/OutputStream;)V

    .line 3225
    const/4 v0, 0x0

    invoke-virtual {v1, v0}, Ljava/io/OutputStream;->write(I)V

    .line 177
    const/4 v0, 0x0

    iput-boolean v0, p0, Lcom/bumptech/glide/c/a;->DV:Z

    move v0, v8

    .line 180
    goto/16 :goto_9

    :cond_1be
    move v0, v9

    .line 1405
    goto/16 :goto_ae

    .line 2424
    :cond_1c1
    const/4 v0, 0x2

    move v1, v8

    goto/16 :goto_141

    .line 2457
    :cond_1c5
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    iget v1, p0, Lcom/bumptech/glide/c/a;->DU:I

    or-int/lit16 v1, v1, 0x80

    invoke-virtual {v0, v1}, Ljava/io/OutputStream;->write(I)V
    :try_end_1ce
    .catch Ljava/io/IOException; {:try_start_a .. :try_end_1ce} :catch_1cf

    goto :goto_188

    .line 179
    :catch_1cf
    move-exception v0

    move v0, v9

    goto/16 :goto_9
.end method

.method public final dC()Z
    .registers 6

    .prologue
    const/4 v1, 0x1

    const/4 v2, 0x0

    const/4 v4, 0x0

    .line 190
    iget-boolean v0, p0, Lcom/bumptech/glide/c/a;->started:Z

    if-nez v0, :cond_8

    .line 214
    :goto_7
    return v2

    .line 193
    :cond_8
    iput-boolean v2, p0, Lcom/bumptech/glide/c/a;->started:Z

    .line 195
    :try_start_a
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    const/16 v3, 0x3b

    invoke-virtual {v0, v3}, Ljava/io/OutputStream;->write(I)V

    .line 196
    iget-object v0, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    invoke-virtual {v0}, Ljava/io/OutputStream;->flush()V
    :try_end_16
    .catch Ljava/io/IOException; {:try_start_a .. :try_end_16} :catch_27

    move v0, v1

    .line 205
    :goto_17
    iput v2, p0, Lcom/bumptech/glide/c/a;->Dz:I

    .line 206
    iput-object v4, p0, Lcom/bumptech/glide/c/a;->out:Ljava/io/OutputStream;

    .line 207
    iput-object v4, p0, Lcom/bumptech/glide/c/a;->DN:Landroid/graphics/Bitmap;

    .line 208
    iput-object v4, p0, Lcom/bumptech/glide/c/a;->DO:[B

    .line 209
    iput-object v4, p0, Lcom/bumptech/glide/c/a;->DP:[B

    .line 210
    iput-object v4, p0, Lcom/bumptech/glide/c/a;->DR:[B

    .line 212
    iput-boolean v1, p0, Lcom/bumptech/glide/c/a;->DV:Z

    move v2, v0

    .line 214
    goto :goto_7

    .line 201
    :catch_27
    move-exception v0

    move v0, v2

    goto :goto_17
.end method