Files
wes c30e839b64 SBoT 1.0 decompiled with CFR 0.152
Full source recovered from SBoT.jar (July 2004) plus the three bundled
example scripts (BoneBury, GuildFish, GuildFisher). Class names are the
original RSC-era single-letter obfuscation (a.java-z.java); mudclient.java
and Script.java kept their real names since those weren't obfuscated.
2026-08-25 13:11:31 -04:00

1054 lines
53 KiB
Java

/*
* Decompiled with CFR 0.152.
*/
public class u {
private static String z;
public static int a(byte[] byArray, int n2, byte[] byArray2, int n3, int n4) {
e e2 = new e();
e2.j = byArray2;
e2.k = n4;
e2.o = byArray;
e2.p = 0;
e2.l = n3;
e2.q = n2;
e2.x = 0;
e2.w = 0;
e2.m = 0;
e2.n = 0;
e2.r = 0;
e2.s = 0;
e2.z = 0;
u.b(e2);
return n2 -= e2.q;
}
private static void a(e e2) {
int n2;
int n3;
boolean bl = q.d;
boolean bl2 = false;
byte by = e2.t;
int n4 = e2.u;
int n5 = e2.E;
int n6 = e2.C;
int[] nArray = e.H;
int n7 = e2.B;
byte[] byArray = e2.o;
int n8 = e2.p;
int n9 = n3 = e2.q;
int n10 = e2.V + 1;
block0: while (true) {
int n11;
int n12;
int n13;
int n14;
int n15;
block25: {
block26: {
block28: {
block27: {
if (n4 <= 0) break block26;
do {
if (n3 == 0) {
if (bl) continue;
if (!bl) break block0;
}
if (n4 == 1 && !bl) break;
byArray[n8] = by;
--n4;
++n8;
--n3;
} while (!bl);
int n16 = n3;
if (bl) break block27;
if (n16 != 0) break block28;
n16 = n4 = 1;
}
if (!bl) break;
}
byArray[n8] = by;
++n8;
--n3;
}
n2 = 1;
while (n2 != 0) {
int n17;
block30: {
int n18;
block29: {
int n19;
int n20;
n2 = 0;
n15 = n5;
n14 = n10;
if (bl) break block25;
if (!bl) {
if (n15 == n14) {
n4 = 0;
if (!bl) break block0;
}
by = (byte)n6;
n20 = n7 = nArray[n7];
n19 = 255;
}
n13 = (byte)(n20 & n19);
n7 >>= 8;
++n5;
n17 = n13;
n18 = n6;
if (bl) break block29;
if (n17 != n18) {
n6 = n13;
int n21 = n3;
if (!bl) {
if (n21 == 0) {
n4 = 1;
if (!bl) break block0;
}
byArray[n8] = by;
++n8;
--n3;
n21 = n2 = 1;
}
if (!bl) continue;
}
n17 = n5;
if (bl) break block30;
n18 = n10;
}
if (n17 != n18 && !bl) continue;
n17 = n3;
}
if (!bl) {
if (n17 == 0) {
n4 = 1;
if (!bl) break block0;
}
byArray[n8] = by;
++n8;
--n3;
n17 = n2 = 1;
}
if (!bl) continue;
}
n4 = 2;
n15 = n7 = nArray[n7];
n14 = 255;
}
n13 = n15 & n14;
n7 >>= 8;
int n22 = ++n5;
int n23 = n10;
do {
if (n22 == n23) continue block0;
n22 = n13;
n23 = n6;
} while (bl);
if (!bl) {
if (n22 != n23) {
n6 = n13;
if (!bl) continue;
}
n4 = 3;
n12 = n7 = nArray[n7];
n11 = 255;
}
byte by2 = (byte)(n12 & n11);
n7 >>= 8;
int n24 = ++n5;
int n25 = n10;
if (!bl) {
if (n24 == n25) continue;
n24 = by2;
n25 = n6;
}
if (!bl) {
if (n24 != n25) {
n6 = by2;
if (!bl) continue;
}
n24 = n7 = nArray[n7];
n25 = 255;
}
byte by3 = (byte)(n24 & n25);
n7 >>= 8;
++n5;
n4 = (by3 & 0xFF) + 4;
n7 = nArray[n7];
n6 = (byte)(n7 & 0xFF);
n7 >>= 8;
++n5;
if (bl) break;
}
n2 = e2.r;
e2.r += n9 - n3;
e e3 = e2;
if (!bl) {
if (e3.r < n2) {
++e2.s;
}
e2.t = by;
e2.u = n4;
e2.E = n5;
e2.C = n6;
e.H = nArray;
e2.B = n7;
e2.o = byArray;
e2.p = n8;
e3 = e2;
}
e3.q = n3;
}
/*
* Unable to fully structure code
*/
private static void b(e var0) {
block137: {
block136: {
var54_1 = q.d;
var1_2 = false;
var2_3 = false;
var3_4 = false;
var4_5 = false;
var5_6 = false;
var6_7 = false;
var7_8 = false;
var8_9 = false;
var9_10 = false;
var10_11 = false;
var11_12 = false;
var12_13 = false;
var13_14 = false;
var14_15 = false;
var15_16 = false;
var16_17 = false;
var17_18 = false;
var18_19 = false;
var19_20 = false;
var20_21 = false;
var21_22 = false;
var22_23 = null;
var23_24 = null;
var24_25 = null;
var0.y = 1;
v0 = e.H;
if (var54_1) break block136;
if (v0 != null) break block137;
v0 = new int[var0.y * 100000];
}
e.H = v0;
}
var25_26 = 1;
block0: while (var25_26 != 0) {
block135: {
block134: {
block133: {
block126: {
block122: {
block121: {
block120: {
block119: {
block117: {
block116: {
block115: {
block114: {
block113: {
block141: {
block139: {
block140: {
block138: {
v1 = var26_27 = u.c(var0);
if (var54_1) break block138;
if (v1 == 23) {
return;
}
var26_27 = u.c(var0);
var26_27 = u.c(var0);
var26_27 = u.c(var0);
var26_27 = u.c(var0);
var26_27 = u.c(var0);
++var0.z;
var26_27 = u.c(var0);
var26_27 = u.c(var0);
var26_27 = u.c(var0);
var26_27 = u.c(var0);
v2 = var0;
if (var54_1) break block139;
v1 = var26_27 = u.d(v2);
}
if (v1 == 0) break block140;
var0.v = true;
if (!var54_1) break block141;
}
v2 = var0;
}
v2.v = false;
}
v3 = var0.v;
if (!var54_1) {
if (v3 != 0) {
System.out.println(u.z);
}
var0.A = 0;
var26_27 = u.c(var0);
var0.A = var0.A << 8 | var26_27 & 255;
var26_27 = u.c(var0);
var0.A = var0.A << 8 | var26_27 & 255;
var26_27 = u.c(var0);
var0.A = var0.A << 8 | var26_27 & 255;
v3 = var27_28 = 0;
}
while (var27_28 < 16) {
block144: {
block143: {
block142: {
var28_29 = u.d(var0);
if (var54_1) break block142;
v4 = var28_29;
v5 = 1;
if (var54_1) ** GOTO lbl93
if (v4 != v5) break block143;
var0.K[var27_28] = true;
}
if (!var54_1) break block144;
}
var0.K[var27_28] = false;
}
++var27_28;
if (!var54_1) continue;
}
var27_28 = 0;
do {
v4 = var27_28;
v5 = 256;
lbl93:
// 2 sources
if (v4 >= v5) break;
var0.J[var27_28] = false;
++var27_28;
if (var54_1) break block113;
} while (!var54_1);
var27_28 = 0;
}
block3: while (true) {
v6 = var27_28;
v7 = 16;
block4: while (v6 < v7) {
block146: {
block145: {
v8 = var0.K[var27_28];
if (var54_1) break block114;
if (var54_1) break block145;
if (v8 == 0) break block146;
v9 = var28_29 = 0;
}
while (var28_29 < 16) {
var29_30 = u.d(var0);
if (!var54_1) {
v6 = var29_30;
v7 = 1;
if (var54_1) continue block4;
if (v6 == v7) {
var0.J[var27_28 * 16 + var28_29] = true;
}
++var28_29;
}
if (!var54_1) continue;
}
}
++var27_28;
if (!var54_1) continue block3;
}
break;
}
u.e(var0);
var27_28 = var0.I + 2;
v8 = u.a(3, var0);
}
var28_29 = v8;
var29_30 = u.a(15, var0);
for (var30_32 = 0; var30_32 < var29_30; ++var30_32) {
v10 = 0;
if (!var54_1) {
var31_33 = v10;
do {
if ((var32_34 = u.d(var0)) == 0) {
if (var54_1) continue;
if (!var54_1) break;
}
++var31_33;
} while (!var54_1);
var0.P[var30_32] = (byte)var31_33;
if (!var54_1) continue;
}
break block115;
}
v10 = 6;
}
var30_31 = new byte[v10];
for (var31_33 = 0; var31_33 < var28_29; var31_33 = (int)((byte)(var31_33 + 1))) {
var30_31[var31_33] = var31_33;
if (!var54_1) {
if (!var54_1) continue;
}
break block116;
}
var31_33 = 0;
}
while (var31_33 < var29_30) {
block118: {
v11 = var30_31[var32_34];
if (var54_1) break block117;
var33_35 = v11;
for (var32_34 = var0.P[var31_33]; var32_34 > 0; var32_34 = (int)((byte)(var32_34 - 1))) {
var30_31[var32_34] = var30_31[var32_34 - 1];
if (!var54_1) {
if (!var54_1) continue;
}
break block118;
}
var30_31[0] = var33_35;
var0.O[var31_33] = var33_35;
++var31_33;
}
if (!var54_1) continue;
}
v11 = 0;
}
var31_33 = v11;
block11: while (true) {
v12 = var31_33;
block12: while (v12 < var28_29) {
var32_34 = u.a(5, var0);
v13 = 0;
if (var54_1) break block119;
for (var33_35 = v288420; var33_35 < var27_28; ++var33_35) {
do lbl-1000:
// 3 sources
{
block147: {
var34_36 = u.d(var0);
v12 = var34_36;
if (var54_1) continue block12;
if (v12 == 0) {
if (!var54_1) {
if (!var54_1) break;
}
} else {
var34_36 = u.d(var0);
}
if (var54_1) continue;
if (var34_36 != 0) break block147;
++var32_34;
if (!var54_1) ** GOTO lbl-1000
}
--var32_34;
} while (!var54_1);
var0.Q[var31_33][var33_35] = (byte)var32_34;
if (!var54_1) continue;
}
++var31_33;
if (!var54_1) continue block11;
}
break;
}
v13 = 0;
}
var31_33 = v13;
block15: while (true) {
v14 = var31_33;
v15 = var28_29;
block16: while (v14 < v15) {
var32_34 = 32;
var33_35 = 0;
v16 = 0;
if (var54_1) break block120;
for (var34_36 = v288492; var34_36 < var27_28; ++var34_36) {
block149: {
block148: {
v14 = var0.Q[var31_33][var34_36];
v15 = var33_35;
if (var54_1) continue block16;
if (var54_1) break block148;
if (v14 > v15) {
var33_35 = var0.Q[var31_33][var34_36];
}
v17 = var0.Q[var31_33][var34_36];
if (var54_1) break block149;
v18 = var32_34;
}
if (v17 >= v18) continue;
v17 = var0.Q[var31_33][var34_36];
}
var32_34 = v17;
if (!var54_1) continue;
}
u.a(var0.R[var31_33], var0.S[var31_33], var0.T[var31_33], var0.Q[var31_33], var32_34, var33_35, var27_28);
var0.U[var31_33] = var32_34;
++var31_33;
if (!var54_1) continue block15;
}
break;
}
var31_33 = var0.I + 1;
var32_34 = 100000 * var0.y;
var33_35 = -1;
v16 = 0;
}
var34_36 = v16;
for (var35_37 = 0; var35_37 <= 255; ++var35_37) {
var0.D[var35_37] = 0;
if (!var54_1) {
if (!var54_1) continue;
}
break block121;
}
var35_37 = 4095;
}
var36_38 = 15;
while (var36_38 >= 0) {
block123: {
v19 = 15;
if (var54_1) break block122;
for (var37_39 = v288531; var37_39 >= 0; --var37_39) {
var0.M[var35_37] = (byte)(var36_38 * 16 + var37_39);
--var35_37;
if (!var54_1) {
if (!var54_1) continue;
}
break block123;
}
var0.N[var36_38] = var35_37 + 1;
--var36_38;
}
if (!var54_1) continue;
}
var36_38 = 0;
++var33_35;
var34_36 = 50;
v19 = var0.O[0];
}
var37_39 = v19;
var38_40 = var0.U[var37_39];
var39_41 = var0.R[var37_39];
var40_42 = var0.T[var37_39];
var41_43 = var0.S[var37_39];
--var34_36;
var42_44 = var38_40;
var43_45 = u.a(var42_44, var0);
while (var43_45 > var39_41[var42_44]) {
++var42_44;
var44_46 = u.d(var0);
var43_45 = var43_45 << 1 | var44_46;
if (var54_1) continue block0;
if (!var54_1) continue;
}
var45_47 = var40_42[var43_45 - var41_43[var42_44]];
block22: while (var45_47 != var31_33) {
block125: {
block150: {
block151: {
v20 = var45_47;
if (var54_1) break block150;
if (v20 == 0) break block151;
v21 = var45_47;
v22 = 1;
if (var54_1) ** GOTO lbl346
if (v21 != v22) ** GOTO lbl344
}
v20 = -1;
}
var46_48 = v20;
var47_49 = 1;
block23: while (true) {
block152: {
if (var45_47 != 0) break block152;
var46_48 += var47_49;
if (!var54_1) ** GOTO lbl298
}
v23 = var45_47;
v24 = 1;
do {
block124: {
block153: {
if (var54_1) break block153;
if (v23 == v24) {
var46_48 += 2 * var47_49;
}
lbl298:
// 4 sources
v23 = var47_49;
v24 = 2;
}
var47_49 = v23 * v24;
v25 = var34_36;
if (!var54_1) {
if (v25 == 0) {
var34_36 = 50;
var48_50 = var0.O[++var33_35];
var38_40 = var0.U[var48_50];
var39_41 = var0.R[var48_50];
var40_42 = var0.T[var48_50];
var41_43 = var0.S[var48_50];
}
--var34_36;
v25 = var38_40;
}
var48_50 = v25;
var49_51 = u.a(var48_50, var0);
while (var49_51 > var39_41[var48_50]) {
++var48_50;
var50_52 = u.d(var0);
var49_51 = var49_51 << 1 | var50_52;
if (!var54_1) {
if (!var54_1) continue;
}
break block124;
}
var45_47 = var40_42[var49_51 - var41_43[var48_50]];
}
if (var45_47 == 0) continue block23;
v26 = var45_47;
if (var54_1) break block125;
v27 = 1;
} while (var54_1);
if (v26 != v27) break;
}
++var46_48;
v26 = var0.L[var0.M[var0.N[0]] & 255];
}
var48_50 = v26;
v28 = var48_50 & 255;
var0.D[v28] = var0.D[v28] + var46_48;
while (var46_48 > 0) {
block132: {
block130: {
block127: {
e.H[var36_38] = var48_50 & 255;
++var36_38;
--var46_48;
if (!var54_1 && !var54_1) {
if (!var54_1) continue;
}
break block126;
lbl344:
// 2 sources
v21 = var45_47;
v22 = 1;
lbl346:
// 2 sources
v29 = var46_48 = v21 - v22;
v30 = 16;
if (var54_1) ** GOTO lbl373
if (v29 >= v30) ** GOTO lbl-1000
var48_50 = var0.N[0];
var47_49 = var0.M[var48_50 + var46_48];
while (var46_48 > 3) {
var49_51 = var48_50 + var46_48;
var0.M[var49_51] = var0.M[var49_51 - 1];
var0.M[var49_51 - 1] = var0.M[var49_51 - 2];
var0.M[var49_51 - 2] = var0.M[var49_51 - 3];
var0.M[var49_51 - 3] = var0.M[var49_51 - 4];
var46_48 -= 4;
if (!var54_1) {
if (!var54_1) continue;
}
break block127;
}
while (var46_48 > 0) {
var0.M[var48_50 + var46_48] = var0.M[var48_50 + var46_48 - 1];
--var46_48;
if (!var54_1) {
if (!var54_1) continue;
}
break block127;
}
var0.M[var48_50] = var47_49;
}
if (var54_1) lbl-1000:
// 2 sources
{
block129: {
block128: {
v29 = var46_48;
v30 = 16;
lbl373:
// 2 sources
var48_50 = v29 / v30;
var49_51 = var46_48 % 16;
var47_49 = var0.M[var50_52];
for (var50_52 = var0.N[var48_50] + var49_51; var50_52 > var0.N[var48_50]; --var50_52) {
var0.M[var50_52] = var0.M[var50_52 - 1];
if (!var54_1) {
if (!var54_1) continue;
}
break block128;
}
v31 = var48_50;
var0.N[v31] = var0.N[v31] + 1;
}
while (var48_50 > 0) {
v32 = var48_50;
var0.N[v32] = var0.N[v32] - 1;
var0.M[var0.N[var48_50]] = var0.M[var0.N[var48_50 - 1] + 16 - 1];
--var48_50;
if (!var54_1) {
if (!var54_1) continue;
}
break block129;
}
var0.N[0] = var0.N[0] - 1;
var0.M[var0.N[0]] = var47_49;
}
v33 = var0.N[0];
if (!var54_1) {
if (v33 == 0) {
var51_53 = 4095;
var52_54 = 15;
while (var52_54 >= 0) {
block131: {
v33 = 15;
if (var54_1) break block130;
for (var53_55 = v288944; var53_55 >= 0; --var53_55) {
var0.M[var51_53] = var0.M[var0.N[var52_54] + var53_55];
--var51_53;
if (!var54_1) {
if (!var54_1) continue;
}
break block131;
}
var0.N[var52_54] = var51_53 + 1;
--var52_54;
}
if (!var54_1) continue;
}
} else {
** GOTO lbl-1000
}
}
} else lbl-1000:
// 5 sources
{
v34 = var0.L[var47_49 & 255] & 255;
var0.D[v34] = var0.D[v34] + 1;
e.H[var36_38] = var0.L[var47_49 & 255] & 255;
++var36_38;
v33 = var34_36;
}
}
if (!var54_1) {
if (v33 == 0) {
var34_36 = 50;
var48_50 = var0.O[++var33_35];
var38_40 = var0.U[var48_50];
var39_41 = var0.R[var48_50];
var40_42 = var0.T[var48_50];
var41_43 = var0.S[var48_50];
}
--var34_36;
var48_50 = var38_40;
v33 = var49_51 = u.a(var48_50, var0);
}
while (var49_51 > var39_41[var48_50]) {
++var48_50;
var50_52 = u.d(var0);
var49_51 = var49_51 << 1 | var50_52;
if (!var54_1) {
if (!var54_1) continue;
}
break block132;
}
var45_47 = var40_42[var49_51 - var41_43[var48_50]];
}
if (!var54_1) continue block22;
}
}
var0.u = 0;
var0.t = 0;
var0.F[0] = 0;
}
for (var45_47 = 1; var45_47 <= 256; ++var45_47) {
var0.F[var45_47] = var0.D[var45_47 - 1];
if (!var54_1) {
if (!var54_1) continue;
}
break block133;
}
var45_47 = 1;
}
while (var45_47 <= 256) {
v35 = var45_47;
var0.F[v35] = var0.F[v35] + var0.F[var45_47 - 1];
++var45_47;
if (!var54_1) {
if (!var54_1) continue;
}
break block134;
}
var45_47 = 0;
}
while (var45_47 < var36_38) {
var46_48 = (byte)(e.H[var45_47] & 255);
v36 = var0.F[var46_48 & 255];
e.H[v36] = e.H[v36] | var45_47 << 8;
v37 = var46_48 & 255;
var0.F[v37] = var0.F[v37] + 1;
++var45_47;
if (!var54_1) {
if (!var54_1) continue;
}
break block135;
}
var0.B = e.H[var0.A] >> 8;
var0.E = 0;
var0.B = e.H[var0.B];
var0.C = (byte)(var0.B & 255);
var0.B >>= 8;
var0.V = var36_38;
u.a(var0);
}
v38 = ++var0.E;
if (!var54_1) {
if (v38 == var0.V + 1) {
v38 = var0.u;
if (!var54_1) {
if (v38 == 0) {
var25_26 = 1;
if (!var54_1) continue;
} else {
** GOTO lbl-1000
}
}
} else lbl-1000:
// 4 sources
{
v38 = var25_26 = 0;
}
}
if (!var54_1) continue;
}
}
private static byte c(e e2) {
return (byte)u.a(8, e2);
}
private static byte d(e e2) {
return (byte)u.a(1, e2);
}
private static int a(int n2, e e2) {
int n3;
boolean bl = q.d;
block0: while (true) {
if (e2.x >= n2) {
int n4 = e2.w >> e2.x - n2 & (1 << n2) - 1;
e2.x -= n2;
n3 = n4;
if (!bl) break;
}
e2.w = e2.w << 8 | e2.j[e2.k] & 0xFF;
e2.x += 8;
++e2.k;
--e2.l;
++e2.m;
do {
if (e2.m != 0) continue block0;
++e2.n;
} while (bl);
}
return n3;
}
private static void e(e e2) {
boolean bl = q.d;
e2.I = 0;
for (int i2 = 0; i2 < 256; ++i2) {
e e3 = e2;
if (!bl) {
if (!e3.J[i2]) continue;
e2.L[e2.I] = (byte)i2;
e3 = e2;
}
++e3.I;
if (!bl) continue;
}
}
private static void a(int[] nArray, int[] nArray2, int[] nArray3, byte[] byArray, int n2, int n3, int n4) {
int n5;
boolean bl;
block19: {
block18: {
int n6;
block17: {
block16: {
block15: {
block14: {
int n7;
bl = q.d;
boolean bl2 = false;
int n8 = 0;
n6 = n2;
block0: while (true) {
int n9 = n6;
int n10 = n3;
block1: while (n9 <= n10) {
n7 = 0;
if (bl) break block14;
for (n5 = v298935; n5 < n4; ++n5) {
n9 = byArray[n5];
n10 = n6;
if (bl) continue block1;
if (n9 != n10) continue;
nArray3[n8] = n5;
++n8;
if (!bl) continue;
}
++n6;
if (!bl) continue block0;
}
break;
}
n7 = n6 = 0;
}
while (n6 < 23) {
nArray2[n6] = 0;
++n6;
if (!bl) {
if (!bl) continue;
}
break block15;
}
n6 = 0;
}
while (n6 < n4) {
int n11 = byArray[n6] + 1;
nArray2[n11] = nArray2[n11] + 1;
++n6;
if (!bl) {
if (!bl) continue;
}
break block16;
}
n6 = 1;
}
while (n6 < 23) {
int n12 = n6;
nArray2[n12] = nArray2[n12] + nArray2[n6 - 1];
++n6;
if (!bl) {
if (!bl) continue;
}
break block17;
}
n6 = 0;
}
while (n6 < 23) {
nArray[n6] = 0;
++n6;
if (!bl) {
if (!bl) continue;
}
break block18;
}
n6 = 0;
}
for (n5 = n2; n5 <= n3; ++n5) {
nArray[n5] = (n6 += nArray2[n5 + 1] - nArray2[n5]) - 1;
n6 <<= 1;
if (!bl) {
if (!bl) continue;
}
break block19;
}
n5 = n2 + 1;
}
while (n5 <= n3) {
nArray2[n5] = (nArray[n5 - 1] + 1 << 1) - nArray2[n5];
++n5;
if (!bl) continue;
}
}
/*
* Handled impossible loop by duplicating code
* Enabled aggressive block sorting
*/
static {
char[] cArray;
block10: {
int n2;
int n3;
char[] cArray2;
int n4;
block9: {
Object var0 = null;
char[] cArray3 = "/9\\q$^X@y);7_q4:<2z+0;Y\u0019".toCharArray();
n4 = 0;
int n5 = cArray3.length;
cArray2 = cArray3;
n3 = n5;
if (n5 <= 1) break block9;
cArray = cArray2;
n2 = n3;
if (n3 <= n4) break block10;
}
do {
char[] cArray4 = cArray2;
char[] cArray5 = cArray2;
int n6 = n4;
while (true) {
int n7;
char c2 = cArray4[n6];
switch (n4 % 5) {
case 0: {
n7 = 127;
break;
}
case 1: {
n7 = 120;
break;
}
case 2: {
n7 = 18;
break;
}
case 3: {
n7 = 56;
break;
}
default: {
n7 = 103;
}
}
cArray4[n6] = (char)(c2 ^ n7);
++n4;
cArray2 = cArray5;
n3 = n3;
if (n3 != 0) break;
cArray5 = cArray2;
n2 = n3;
n6 = n3;
cArray4 = cArray2;
}
cArray = cArray2;
n2 = n3;
} while (n3 > n4);
}
z = new String(cArray).intern();
}
}