📄 z.java
字号:
{
for (byte byte0 = 2; byte0 >= 0; byte0--)
if (P[byte0])
{
aa aa1;
(aa1 = d[k.j[5]]).a(S[byte0], T[byte0]);
aa1.b(g1, S[byte0], T[byte0][0], i1, j1, false);
}
}
public final int b(int i1, int j1)
{
int k1 = 0;
if ((k1 = ((i1 - j1) * 80) / 100) < 0)
k1 = 0;
k1 += (i1 * 20) / 100;
g(-k1);
return k1;
}
public final boolean f(int i1)
{
short word0 = m = e[8];
short word1 = n = e[9];
byte byte0 = i.a((byte)1, word0, word1);
i.a((byte)1, word0, word1, (byte)-1);
n(i1);
boolean flag = true;
if (e[4] != 100)
flag = i.a(m, n) == 0;
if ((this instanceof f) && k.ay != this && !v.a(m, n, k.av[0], k.av[1], k.av[2], k.av[3]))
flag = false;
if (!flag)
{
m = e[8];
n = e[9];
} else
{
a(m, n);
}
i.a((byte)1, word0, word1, byte0);
return flag;
}
public final boolean a(int i1, int j1, int k1, int l1)
{
short word0 = f[2];
f[2] = (short)j1;
short word1 = m = e[8];
short word2 = n = e[9];
byte byte0 = i.a((byte)1, word1, word2);
i.a((byte)1, word1, word2, (byte)-1);
n(i1);
boolean flag = true;
int i2 = (k1 / i.d()) * i.d();
int j2 = (l1 / i.e()) * i.e();
if (v.a(word1, word2, i2, j2, i2 + i.d(), j2 + i.e()) && !v.a(m, n, i2, j2, i2 + i.d(), j2 + i.e()))
flag = false;
if ((this instanceof f) && k.ay != this && !v.a(m, n, k.av[0], k.av[1], k.av[2], k.av[3]))
flag = false;
if (!flag)
{
m = e[8];
n = e[9];
} else
{
a(m, n);
}
i.a((byte)1, word1, word2, byte0);
f[2] = word0;
return flag;
}
private final void n(int i1)
{
short word0 = f[2];
switch (i1)
{
default:
break;
case 2: // '\002'
if (n > word0)
{
n -= word0;
return;
}
break;
case 0: // '\0'
if (m > word0)
{
m -= word0;
return;
}
break;
case 3: // '\003'
if (n < i.c() - word0)
{
n += word0;
return;
}
break;
case 1: // '\001'
if (m < i.b() - word0)
m += word0;
break;
}
}
public final void a(int i1, String s1)
{
if (s1 == null)
s1 = String.valueOf(-i1);
int j1 = 0;
if (C.size() > 0)
{
Integer.parseInt(((String[])C.elementAt(C.size() - 1))[1]);
j1 = 0 - h.d;
}
C.addElement(new String[] {
s1, String.valueOf(j1)
});
}
public final void g(int i1)
{
f[4] += i1;
if (f[4] <= 0)
a(128);
s();
}
public final void h(int i1)
{
f[6] += i1;
s();
}
public final void s()
{
if (f[4] < 0)
f[4] = 0;
else
if (f[4] > f[5])
f[4] = f[5];
if (f[6] < 0)
{
f[6] = 0;
return;
}
if (f[6] > f[7])
f[6] = f[7];
}
public void b(short word0)
{
e[3] = word0;
o = 0;
c();
if (word0 == 8)
a((short)0);
}
public final void c(short word0)
{
e[14] = word0;
c();
}
public abstract void c();
public final void d(short word0)
{
e[7] = word0;
p[1] = 0;
p[0] = 0;
}
public final boolean t()
{
return p[0] == 0 && p[1] == 0;
}
public final boolean u()
{
aa aa1 = d[e[6]];
short word0 = e[7];
byte byte0 = aa1.c[word0];
int i1 = aa1.e[aa1.d[word0] + (p[0] << 1)] >> 10 & 0x1f;
return p[0] + 1 >= byte0 && p[1] + 1 >= i1;
}
public final void a(short word0, short word1)
{
e[8] = word0;
e[9] = word1;
}
public final void v()
{
if (P[0] && (Q[0] & 1) == 0 && e[3] != 8)
return;
short word0 = e[6];
short word1 = e[7];
if (word0 <= 0 || word1 < 0)
return;
if (e[3] == 2)
return;
aa aa1;
if ((aa1 = d[word0]) == null)
{
return;
} else
{
aa1.a(word1, p);
return;
}
}
public final short c(z z1)
{
int i1 = z1.e[8] - e[8];
int j1 = z1.e[9] - e[9];
return c(i1, j1);
}
public final byte w()
{
return i(e[14]);
}
public static final short c(int i1, int j1)
{
int k1 = v.c(i1, j1);
if (32 <= k1 && k1 <= 96)
return 3;
if (96 < k1 && k1 <= 160)
return 0;
return 160 >= k1 || k1 >= 224 ? 1 : 2;
}
public static final byte i(int i1)
{
switch (i1)
{
case 0: // '\0'
return 1;
case 1: // '\001'
return 0;
case 2: // '\002'
return 3;
case 3: // '\003'
return 2;
}
return -1;
}
public static final short j(int i1)
{
switch (i1)
{
case 0: // '\0'
return 128;
case 1: // '\001'
return 0;
case 2: // '\002'
return 192;
case 3: // '\003'
return 64;
}
return 0;
}
public final short[] x()
{
return a(e[6], e[7], p[0], e[8], e[9]);
}
public final short[] a(short word0, short word1, short word2, short word3, short word4)
{
short aword0[];
if (((aword0 = d[word0].a((byte)2, word1, word2))[0] != 0 || aword0[0] != aword0[2]) && e[14] == 1)
{
short word5;
if ((word5 = (short)(aword0[0] + aword0[2])) < 0)
word5 = (short)(-word5);
aword0[0] += word5;
aword0[2] += word5;
}
v.a(aword0, word3, word4);
return aword0;
}
public final short[] y()
{
short aword0[];
v.a(aword0 = d[e[6]].a((byte)1, e[7], p[0]), e[8], e[9]);
return aword0;
}
public final boolean z()
{
boolean flag = d[e[6]].a(e[7], p[0]);
return p[1] == 0 && flag;
}
public final int A()
{
int i1;
return i1 = d[e[6]].b(e[7], p[0]);
}
public final int B()
{
int i1;
return i1 = d[e[6]].c(e[7], p[0]);
}
public final int C()
{
int i1;
return i1 = d[e[6]].d(e[7], p[0]);
}
public final boolean D()
{
int i1 = d[e[6]].e(e[7], p[0]);
return p[1] == 0 && i1 != 0;
}
public final void E()
{
short word0;
if ((word0 = (short)C()) != 0)
{
short word1 = f[2];
f[2] = word0;
f(e[14]);
f[2] = word1;
}
}
public final void F()
{
short word0;
if ((word0 = (short)C()) != 0)
{
short word1 = f[2];
f[2] = word0;
f(v);
f[2] = word1;
}
}
public final void G()
{
short word0;
if ((word0 = (short)C()) != 0)
k(word0);
}
public final void a(z z1, int i1)
{
x = (byte)i1;
a(z1.e[8], z1.e[9], true);
}
public final void a(int i1, int j1, boolean flag)
{
int k1 = e[9] - j1;
int l1 = e[8] - i1;
U = v.c(l1, k1);
}
public final boolean k(int i1)
{
int j1 = v.e(i1, U);
int k1 = v.d(i1, U);
boolean flag = true;
short word0 = m = e[8];
short word1 = n = e[9];
byte byte0 = i.a((byte)1, word0, word1);
i.a((byte)1, word0, word1, (byte)-1);
m += k1;
n += j1;
if (m <= 0)
m = 8;
else
if (m >= i.b())
m = (short)(i.b() - 8);
if (n <= 0)
n = 8;
else
if (n >= i.c())
n = (short)(i.c() - 8);
if ((this instanceof f) && k.ay != this)
{
if (!v.a(m, n, k.av[0], k.av[1], k.av[2], k.av[3]))
flag = false;
} else
if (i.a(m, n) != 0)
{
flag = false;
} else
{
e[8] = m;
e[9] = n;
}
i.a((byte)1, word0, word1, byte0);
return flag;
}
public final void a(short word0, short word1, short word2, boolean flag)
{
q = word0;
r = word1;
s = word2;
t = 0;
a(64);
b((short)4);
if (flag)
{
a(512);
u++;
}
}
public final void H()
{
byte byte0 = 1;
if (e[8] < q)
byte0 = 1;
else
if (e[8] > q)
byte0 = 0;
else
if (e[9] < r)
byte0 = 3;
else
if (e[9] > r)
byte0 = 2;
if (byte0 != e[14])
c(byte0);
e(e[14]);
if (t == 4 || e[8] == q && e[9] == r)
{
b((short)0);
c(s);
b(64);
if (c(512))
{
b(512);
u--;
}
}
}
private final void e(short word0)
{
short word1 = m = e[8];
short word2 = n = e[9];
byte byte0 = i.a((byte)1, word1, word2);
i.a((byte)1, word1, word2, (byte)-1);
n(word0);
switch (word0)
{
case 2: // '\002'
if (n < r)
n = r;
break;
case 3: // '\003'
if (n > r)
n = r;
break;
case 0: // '\0'
if (m < q)
m = q;
break;
case 1: // '\001'
if (m > q)
m = q;
break;
}
if (i.a(m, n) != 0)
{
t++;
m = e[8];
n = e[9];
} else
{
e[8] = m;
e[9] = n;
}
i.a((byte)1, word1, word2, byte0);
}
public static final int d(int i1, int j1)
{
int k1 = 0;
aa aa1;
byte byte0 = (aa1 = d[i1]).c[j1];
for (int l1 = 0; l1 < byte0; l1++)
{
int i2 = aa1.e[aa1.d[j1] + (l1 << 1)] >> 10 & 0x1f;
k1 += i2 * aa1.d(j1, l1);
}
return k1;
}
public static final int[] b(int i1, int j1, int k1, int l1)
{
int i2 = -1;
int j2 = -1;
boolean flag = false;
boolean flag1 = false;
int k3 = i.d();
int l3 = i.e();
byte abyte0[] = null;
switch (i1)
{
default:
break;
case 2: // '\002'
int i3 = k1 - l1;
(abyte0 = new byte[(k1 / l3 - i3 / l3) + 1])[0] = 0;
for (int i4 = 1; i4 < abyte0.length; i4++)
abyte0[i4] = i.a(j1, (k1 / l3 - i4) * l3);
break;
case 3: // '\003'
int j3;
(abyte0 = new byte[((j3 = k1 + l1) / l3 - k1 / l3) + 1])[0] = 0;
for (int j4 = 1; j4 < abyte0.length; j4++)
abyte0[j4] = i.a(j1, (k1 / l3 + j4) * l3);
break;
case 0: // '\0'
int k2 = j1 - l1;
(abyte0 = new byte[(j1 / l3 - k2 / l3) + 1])[0] = 0;
for (int k4 = 1; k4 < abyte0.length; k4++)
abyte0[k4] = i.a((j1 / k3 - k4) * k3, k1);
break;
case 1: // '\001'
int l2;
(abyte0 = new byte[((l2 = j1 + l1) / l3 - j1 / l3) + 1])[0] = 0;
for (int l4 = 1; l4 < abyte0.length; l4++)
abyte0[l4] = i.a((j1 / k3 + l4) * k3, k1);
break;
}
int i5 = 0;
boolean flag2 = false;
int j5 = 0;
do
{
if (j5 >= abyte0.length)
break;
if ((abyte0[j5] & 1) != 1)
i5 = j5;
if ((abyte0[j5] & 2) == 2)
break;
j5++;
} while (true);
switch (i1)
{
case 2: // '\002'
i2 = j1;
j2 = (k1 / l3 - i5) * l3;
break;
case 3: // '\003'
i2 = j1;
j2 = (k1 / l3 + i5) * l3;
break;
case 0: // '\0'
i2 = (j1 / k3 - i5) * k3;
j2 = k1;
break;
case 1: // '\001'
i2 = (j1 / k3 + i5) * k3;
j2 = k1;
break;
}
return (new int[] {
i2, j2
});
}
public boolean f()
{
return false;
}
static
{
short aword0[] = new short[4];
aword0[0] = 128;
aword0[1] = 0;
aword0[2] = 192;
aword0[3] = 64;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -