b.smali
.class final Lcom/bumptech/glide/c/b;
.super Ljava/lang/Object;
.source "LZWEncoder.java"
# instance fields
.field DZ:I
.field Ea:I
.field private Eb:[B
.field Ec:I
.field Ed:I
.field Ee:I
.field private Ef:I
.field private Eg:I
.field private Eh:I
.field private Ei:I
.field private Ej:[I
.field private Ek:[I
.field private El:I
.field private Em:I
.field private En:Z
.field private Eo:I
.field private Ep:I
.field private Eq:I
.field private Er:I
.field private Es:I
.field private Et:[I
.field private Eu:I
.field private Ev:[B
# direct methods
.method constructor <init>(II[BI)V
.registers 8
.prologue
const/16 v2, 0x138b
const/4 v1, 0x0
.line 113
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 48
const/16 v0, 0xc
iput v0, p0, Lcom/bumptech/glide/c/b;->Eg:I
.line 52
const/16 v0, 0x1000
iput v0, p0, Lcom/bumptech/glide/c/b;->Ei:I
.line 54
new-array v0, v2, [I
iput-object v0, p0, Lcom/bumptech/glide/c/b;->Ej:[I
.line 56
new-array v0, v2, [I
iput-object v0, p0, Lcom/bumptech/glide/c/b;->Ek:[I
.line 58
iput v2, p0, Lcom/bumptech/glide/c/b;->El:I
.line 60
iput v1, p0, Lcom/bumptech/glide/c/b;->Em:I
.line 64
iput-boolean v1, p0, Lcom/bumptech/glide/c/b;->En:Z
.line 99
iput v1, p0, Lcom/bumptech/glide/c/b;->Er:I
.line 101
iput v1, p0, Lcom/bumptech/glide/c/b;->Es:I
.line 103
const/16 v0, 0x11
new-array v0, v0, [I
fill-array-data v0, :array_3e
iput-object v0, p0, Lcom/bumptech/glide/c/b;->Et:[I
.line 110
const/16 v0, 0x100
new-array v0, v0, [B
iput-object v0, p0, Lcom/bumptech/glide/c/b;->Ev:[B
.line 114
iput p1, p0, Lcom/bumptech/glide/c/b;->DZ:I
.line 115
iput p2, p0, Lcom/bumptech/glide/c/b;->Ea:I
.line 116
iput-object p3, p0, Lcom/bumptech/glide/c/b;->Eb:[B
.line 117
const/4 v0, 0x2
invoke-static {v0, p4}, Ljava/lang/Math;->max(II)I
move-result v0
iput v0, p0, Lcom/bumptech/glide/c/b;->Ec:I
.line 118
return-void
.line 103
nop
:array_3e
.array-data 4
0x0
0x1
0x3
0x7
0xf
0x1f
0x3f
0x7f
0xff
0x1ff
0x3ff
0x7ff
0xfff
0x1fff
0x3fff
0x7fff
0xffff
.end array-data
.end method
.method private a(BLjava/io/OutputStream;)V
.registers 6
.prologue
.line 123
iget-object v0, p0, Lcom/bumptech/glide/c/b;->Ev:[B
iget v1, p0, Lcom/bumptech/glide/c/b;->Eu:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/bumptech/glide/c/b;->Eu:I
aput-byte p1, v0, v1
.line 124
iget v0, p0, Lcom/bumptech/glide/c/b;->Eu:I
const/16 v1, 0xfe
if-lt v0, v1, :cond_13
.line 125
invoke-direct {p0, p2}, Lcom/bumptech/glide/c/b;->b(Ljava/io/OutputStream;)V
.line 126
:cond_13
return-void
.end method
.method private aj(I)V
.registers 5
.prologue
.line 141
const/4 v0, 0x0
:goto_1
if-ge v0, p1, :cond_b
.line 142
iget-object v1, p0, Lcom/bumptech/glide/c/b;->Ej:[I
const/4 v2, -0x1
aput v2, v1, v0
.line 141
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 143
:cond_b
return-void
.end method
.method private b(ILjava/io/OutputStream;)V
.registers 7
.prologue
const/4 v3, 0x1
.line 256
iget v0, p0, Lcom/bumptech/glide/c/b;->Er:I
iget-object v1, p0, Lcom/bumptech/glide/c/b;->Et:[I
iget v2, p0, Lcom/bumptech/glide/c/b;->Es:I
aget v1, v1, v2
and-int/2addr v0, v1
iput v0, p0, Lcom/bumptech/glide/c/b;->Er:I
.line 258
iget v0, p0, Lcom/bumptech/glide/c/b;->Es:I
if-lez v0, :cond_39
.line 259
iget v0, p0, Lcom/bumptech/glide/c/b;->Er:I
iget v1, p0, Lcom/bumptech/glide/c/b;->Es:I
shl-int v1, p1, v1
or-int/2addr v0, v1
iput v0, p0, Lcom/bumptech/glide/c/b;->Er:I
.line 263
:goto_19
iget v0, p0, Lcom/bumptech/glide/c/b;->Es:I
iget v1, p0, Lcom/bumptech/glide/c/b;->Ef:I
add-int/2addr v0, v1
iput v0, p0, Lcom/bumptech/glide/c/b;->Es:I
.line 265
:goto_20
iget v0, p0, Lcom/bumptech/glide/c/b;->Es:I
const/16 v1, 0x8
if-lt v0, v1, :cond_3c
.line 266
iget v0, p0, Lcom/bumptech/glide/c/b;->Er:I
int-to-byte v0, v0
invoke-direct {p0, v0, p2}, Lcom/bumptech/glide/c/b;->a(BLjava/io/OutputStream;)V
.line 267
iget v0, p0, Lcom/bumptech/glide/c/b;->Er:I
shr-int/lit8 v0, v0, 0x8
iput v0, p0, Lcom/bumptech/glide/c/b;->Er:I
.line 268
iget v0, p0, Lcom/bumptech/glide/c/b;->Es:I
add-int/lit8 v0, v0, -0x8
iput v0, p0, Lcom/bumptech/glide/c/b;->Es:I
goto :goto_20
.line 261
:cond_39
iput p1, p0, Lcom/bumptech/glide/c/b;->Er:I
goto :goto_19
.line 273
:cond_3c
iget v0, p0, Lcom/bumptech/glide/c/b;->Em:I
iget v1, p0, Lcom/bumptech/glide/c/b;->Eh:I
if-gt v0, v1, :cond_46
iget-boolean v0, p0, Lcom/bumptech/glide/c/b;->En:Z
if-eqz v0, :cond_57
.line 274
:cond_46
iget-boolean v0, p0, Lcom/bumptech/glide/c/b;->En:Z
if-eqz v0, :cond_72
.line 275
iget v0, p0, Lcom/bumptech/glide/c/b;->Eo:I
iput v0, p0, Lcom/bumptech/glide/c/b;->Ef:I
.line 2238
shl-int v0, v3, v0
add-int/lit8 v0, v0, -0x1
.line 275
iput v0, p0, Lcom/bumptech/glide/c/b;->Eh:I
.line 276
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/bumptech/glide/c/b;->En:Z
.line 286
:cond_57
:goto_57
iget v0, p0, Lcom/bumptech/glide/c/b;->Eq:I
if-ne p1, v0, :cond_8f
.line 288
:goto_5b
iget v0, p0, Lcom/bumptech/glide/c/b;->Es:I
if-lez v0, :cond_8c
.line 289
iget v0, p0, Lcom/bumptech/glide/c/b;->Er:I
int-to-byte v0, v0
invoke-direct {p0, v0, p2}, Lcom/bumptech/glide/c/b;->a(BLjava/io/OutputStream;)V
.line 290
iget v0, p0, Lcom/bumptech/glide/c/b;->Er:I
shr-int/lit8 v0, v0, 0x8
iput v0, p0, Lcom/bumptech/glide/c/b;->Er:I
.line 291
iget v0, p0, Lcom/bumptech/glide/c/b;->Es:I
add-int/lit8 v0, v0, -0x8
iput v0, p0, Lcom/bumptech/glide/c/b;->Es:I
goto :goto_5b
.line 278
:cond_72
iget v0, p0, Lcom/bumptech/glide/c/b;->Ef:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/bumptech/glide/c/b;->Ef:I
.line 279
iget v0, p0, Lcom/bumptech/glide/c/b;->Ef:I
iget v1, p0, Lcom/bumptech/glide/c/b;->Eg:I
if-ne v0, v1, :cond_83
.line 280
iget v0, p0, Lcom/bumptech/glide/c/b;->Ei:I
iput v0, p0, Lcom/bumptech/glide/c/b;->Eh:I
goto :goto_57
.line 282
:cond_83
iget v0, p0, Lcom/bumptech/glide/c/b;->Ef:I
.line 3238
shl-int v0, v3, v0
add-int/lit8 v0, v0, -0x1
.line 282
iput v0, p0, Lcom/bumptech/glide/c/b;->Eh:I
goto :goto_57
.line 294
:cond_8c
invoke-direct {p0, p2}, Lcom/bumptech/glide/c/b;->b(Ljava/io/OutputStream;)V
.line 296
:cond_8f
return-void
.end method
.method private b(Ljava/io/OutputStream;)V
.registers 5
.prologue
const/4 v2, 0x0
.line 230
iget v0, p0, Lcom/bumptech/glide/c/b;->Eu:I
if-lez v0, :cond_13
.line 231
iget v0, p0, Lcom/bumptech/glide/c/b;->Eu:I
invoke-virtual {p1, v0}, Ljava/io/OutputStream;->write(I)V
.line 232
iget-object v0, p0, Lcom/bumptech/glide/c/b;->Ev:[B
iget v1, p0, Lcom/bumptech/glide/c/b;->Eu:I
invoke-virtual {p1, v0, v2, v1}, Ljava/io/OutputStream;->write([BII)V
.line 233
iput v2, p0, Lcom/bumptech/glide/c/b;->Eu:I
.line 235
:cond_13
return-void
.end method
.method private dF()I
.registers 4
.prologue
.line 245
iget v0, p0, Lcom/bumptech/glide/c/b;->Ed:I
if-nez v0, :cond_6
.line 246
const/4 v0, -0x1
.line 252
:goto_5
return v0
.line 248
:cond_6
iget v0, p0, Lcom/bumptech/glide/c/b;->Ed:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lcom/bumptech/glide/c/b;->Ed:I
.line 250
iget-object v0, p0, Lcom/bumptech/glide/c/b;->Eb:[B
iget v1, p0, Lcom/bumptech/glide/c/b;->Ee:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/bumptech/glide/c/b;->Ee:I
aget-byte v0, v0, v1
.line 252
and-int/lit16 v0, v0, 0xff
goto :goto_5
.end method
# virtual methods
.method final a(ILjava/io/OutputStream;)V
.registers 12
.prologue
const/4 v1, 0x0
const/4 v4, 0x1
.line 155
iput p1, p0, Lcom/bumptech/glide/c/b;->Eo:I
.line 158
iput-boolean v1, p0, Lcom/bumptech/glide/c/b;->En:Z
.line 159
iget v0, p0, Lcom/bumptech/glide/c/b;->Eo:I
iput v0, p0, Lcom/bumptech/glide/c/b;->Ef:I
.line 160
iget v0, p0, Lcom/bumptech/glide/c/b;->Ef:I
.line 1238
shl-int v0, v4, v0
add-int/lit8 v0, v0, -0x1
.line 160
iput v0, p0, Lcom/bumptech/glide/c/b;->Eh:I
.line 162
add-int/lit8 v0, p1, -0x1
shl-int v0, v4, v0
iput v0, p0, Lcom/bumptech/glide/c/b;->Ep:I
.line 163
iget v0, p0, Lcom/bumptech/glide/c/b;->Ep:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/bumptech/glide/c/b;->Eq:I
.line 164
iget v0, p0, Lcom/bumptech/glide/c/b;->Ep:I
add-int/lit8 v0, v0, 0x2
iput v0, p0, Lcom/bumptech/glide/c/b;->Em:I
.line 166
iput v1, p0, Lcom/bumptech/glide/c/b;->Eu:I
.line 168
invoke-direct {p0}, Lcom/bumptech/glide/c/b;->dF()I
move-result v0
.line 171
iget v2, p0, Lcom/bumptech/glide/c/b;->El:I
:goto_2c
const/high16 v3, 0x10000
if-ge v2, v3, :cond_35
.line 172
add-int/lit8 v1, v1, 0x1
.line 171
shl-int/lit8 v2, v2, 0x1
goto :goto_2c
.line 173
:cond_35
rsub-int/lit8 v5, v1, 0x8
.line 175
iget v6, p0, Lcom/bumptech/glide/c/b;->El:I
.line 176
invoke-direct {p0, v6}, Lcom/bumptech/glide/c/b;->aj(I)V
.line 178
iget v1, p0, Lcom/bumptech/glide/c/b;->Ep:I
invoke-direct {p0, v1, p2}, Lcom/bumptech/glide/c/b;->b(ILjava/io/OutputStream;)V
move v1, v0
.line 181
:goto_42
invoke-direct {p0}, Lcom/bumptech/glide/c/b;->dF()I
move-result v2
const/4 v0, -0x1
if-eq v2, v0, :cond_ac
.line 182
iget v0, p0, Lcom/bumptech/glide/c/b;->Eg:I
shl-int v0, v2, v0
add-int v7, v0, v1
.line 183
shl-int v0, v2, v5
xor-int/2addr v0, v1
.line 185
iget-object v3, p0, Lcom/bumptech/glide/c/b;->Ej:[I
aget v3, v3, v0
if-ne v3, v7, :cond_5e
.line 186
iget-object v1, p0, Lcom/bumptech/glide/c/b;->Ek:[I
aget v0, v1, v0
move v1, v0
.line 187
goto :goto_42
.line 188
:cond_5e
iget-object v3, p0, Lcom/bumptech/glide/c/b;->Ej:[I
aget v3, v3, v0
if-ltz v3, :cond_7f
.line 190
sub-int v3, v6, v0
.line 191
if-nez v0, :cond_69
move v3, v4
.line 194
:cond_69
sub-int/2addr v0, v3
if-gez v0, :cond_6d
.line 195
add-int/2addr v0, v6
.line 197
:cond_6d
iget-object v8, p0, Lcom/bumptech/glide/c/b;->Ej:[I
aget v8, v8, v0
if-ne v8, v7, :cond_79
.line 198
iget-object v1, p0, Lcom/bumptech/glide/c/b;->Ek:[I
aget v0, v1, v0
move v1, v0
.line 199
goto :goto_42
.line 201
:cond_79
iget-object v8, p0, Lcom/bumptech/glide/c/b;->Ej:[I
aget v8, v8, v0
if-gez v8, :cond_69
.line 203
:cond_7f
invoke-direct {p0, v1, p2}, Lcom/bumptech/glide/c/b;->b(ILjava/io/OutputStream;)V
.line 205
iget v1, p0, Lcom/bumptech/glide/c/b;->Em:I
iget v3, p0, Lcom/bumptech/glide/c/b;->Ei:I
if-ge v1, v3, :cond_98
.line 206
iget-object v1, p0, Lcom/bumptech/glide/c/b;->Ek:[I
iget v3, p0, Lcom/bumptech/glide/c/b;->Em:I
add-int/lit8 v8, v3, 0x1
iput v8, p0, Lcom/bumptech/glide/c/b;->Em:I
aput v3, v1, v0
.line 207
iget-object v1, p0, Lcom/bumptech/glide/c/b;->Ej:[I
aput v7, v1, v0
move v1, v2
goto :goto_42
.line 2132
:cond_98
iget v0, p0, Lcom/bumptech/glide/c/b;->El:I
invoke-direct {p0, v0}, Lcom/bumptech/glide/c/b;->aj(I)V
.line 2133
iget v0, p0, Lcom/bumptech/glide/c/b;->Ep:I
add-int/lit8 v0, v0, 0x2
iput v0, p0, Lcom/bumptech/glide/c/b;->Em:I
.line 2134
iput-boolean v4, p0, Lcom/bumptech/glide/c/b;->En:Z
.line 2136
iget v0, p0, Lcom/bumptech/glide/c/b;->Ep:I
invoke-direct {p0, v0, p2}, Lcom/bumptech/glide/c/b;->b(ILjava/io/OutputStream;)V
move v1, v2
.line 209
goto :goto_42
.line 212
:cond_ac
invoke-direct {p0, v1, p2}, Lcom/bumptech/glide/c/b;->b(ILjava/io/OutputStream;)V
.line 213
iget v0, p0, Lcom/bumptech/glide/c/b;->Eq:I
invoke-direct {p0, v0, p2}, Lcom/bumptech/glide/c/b;->b(ILjava/io/OutputStream;)V
.line 214
return-void
.end method