mirror of
https://gitlab.com/2009scape/rt4-client.git
synced 2026-08-17 00:15:15 -06:00
1059 lines
34 KiB
Java
1059 lines
34 KiB
Java
package rt4;
|
|
|
|
import org.openrs2.deob.annotation.OriginalArg;
|
|
import org.openrs2.deob.annotation.OriginalClass;
|
|
import org.openrs2.deob.annotation.OriginalMember;
|
|
import org.openrs2.deob.annotation.Pc;
|
|
|
|
import java.applet.Applet;
|
|
import java.awt.*;
|
|
import java.net.MalformedURLException;
|
|
import java.net.URL;
|
|
import java.nio.charset.StandardCharsets;
|
|
|
|
@OriginalClass("client!na")
|
|
public final class JagString implements StringInterface {
|
|
|
|
@OriginalMember(owner = "client!pa", name = "O", descriptor = "Lclient!na;")
|
|
public static final JagString EMPTY = parse("");
|
|
@OriginalMember(owner = "client!pi", name = "Q", descriptor = "Lclient!na;")
|
|
public static final JagString aClass100_853 = parse("null");
|
|
@OriginalMember(owner = "client!t", name = "C", descriptor = "Lclient!na;")
|
|
public static final JagString aClass100_994 = parse(")3");
|
|
@OriginalMember(owner = "client!vk", name = "a", descriptor = "[I")
|
|
public static final int[] anIntArray471 = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 73, 74, 76, 78, 83, 84, 85, 86, 91, 92, 93, 94, 95, 97, 103, 104, 105, 106, 107, 108, 113, 114, 115, 116, 118, 119, 120, 121, 122, 123, 124, 125, 133, 134, 136, 138, 143, 144, 145, 146, 151, 152, 153, 154, 155, 157, 163, 164, 165, 166, 168, 169, 174, 175, 176, 177, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 97, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 157, 215, 216, 117, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 66, 66, 66, 66, 66, 66, 65, 75, 79, 79, 79, 79, 87, 87, 87, 87, 77, 96, 98, 98, 98, 98, 98, 250, 251, 109, 109, 109, 109, 117, 252, 167, 126, 126, 126, 126, 126, 126, 125, 135, 139, 139, 139, 139, 147, 147, 147, 147, 137, 156, 158, 158, 158, 158, 158, 253, 254, 170, 170, 170, 170, 178, 255, 178};
|
|
@OriginalMember(owner = "client!sh", name = "e", descriptor = "Lclient!na;")
|
|
public static final JagString aClass100_967 = parse("");
|
|
@OriginalMember(owner = "client!dm", name = "n", descriptor = "Lclient!na;")
|
|
public static final JagString PERCENT_SIGN = parse("(U");
|
|
@OriginalMember(owner = "client!li", name = "w", descriptor = "Lclient!sc;")
|
|
public static HashTable aClass133_13;
|
|
@OriginalMember(owner = "client!na", name = "T", descriptor = "[B")
|
|
public byte[] chars;
|
|
|
|
@OriginalMember(owner = "client!na", name = "lb", descriptor = "I")
|
|
public int length;
|
|
|
|
@OriginalMember(owner = "client!na", name = "N", descriptor = "Z")
|
|
private boolean aBoolean193 = true;
|
|
|
|
@OriginalMember(owner = "client!ck", name = "a", descriptor = "([Lclient!na;B)Lclient!na;")
|
|
public static JagString concatenate(@OriginalArg(0) JagString[] arg0) {
|
|
if (arg0.length < 2) {
|
|
throw new IllegalArgumentException();
|
|
}
|
|
return method2355(0, arg0.length, arg0);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!jd", name = "a", descriptor = "(II[Lclient!na;I)Lclient!na;")
|
|
public static JagString method2355(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) JagString[] arg2) {
|
|
@Pc(5) int local5 = 0;
|
|
for (@Pc(7) int local7 = 0; local7 < arg1; local7++) {
|
|
if (arg2[arg0 + local7] == null) {
|
|
arg2[local7 + arg0] = aClass100_853;
|
|
}
|
|
local5 += arg2[local7 + arg0].length;
|
|
}
|
|
@Pc(39) byte[] local39 = new byte[local5];
|
|
@Pc(41) int local41 = 0;
|
|
for (@Pc(43) int local43 = 0; local43 < arg1; local43++) {
|
|
@Pc(52) JagString local52 = arg2[local43 + arg0];
|
|
copy(local52.chars, 0, local39, local41, local52.length);
|
|
local41 += local52.length;
|
|
}
|
|
@Pc(71) JagString local71 = new JagString();
|
|
local71.length = local5;
|
|
local71.chars = local39;
|
|
return local71;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!kg", name = "a", descriptor = "([BI[BII)V")
|
|
public static void copy(@OriginalArg(0) byte[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) byte[] arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4) {
|
|
@Pc(15) int local15;
|
|
if (arg0 == arg2) {
|
|
if (arg1 == arg3) {
|
|
return;
|
|
}
|
|
if (arg3 > arg1 && arg3 < arg1 + arg4) {
|
|
local15 = arg4 - 1;
|
|
@Pc(19) int local19 = arg1 + local15;
|
|
@Pc(23) int local23 = arg3 + local15;
|
|
local15 = local19 - local15;
|
|
local15 += 7;
|
|
while (local19 >= local15) {
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
arg2[local23--] = arg0[local19--];
|
|
}
|
|
local15 -= 7;
|
|
while (local19 >= local15) {
|
|
arg2[local23--] = arg0[local19--];
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
local15 = arg4 + arg1;
|
|
@Pc(115) int local115 = local15 - 7;
|
|
while (arg1 < local115) {
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
arg2[arg3++] = arg0[arg1++];
|
|
}
|
|
local15 = local115 + 7;
|
|
while (arg1 < local15) {
|
|
arg2[arg3++] = arg0[arg1++];
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!cd", name = "a", descriptor = "(Ljava/lang/String;B)Lclient!na;")
|
|
public static JagString parse(@OriginalArg(0) String arg0) {
|
|
@Pc(6) byte[] local6 = arg0.getBytes();
|
|
@Pc(9) int local9 = local6.length;
|
|
@Pc(13) JagString local13 = new JagString();
|
|
@Pc(15) int local15 = 0;
|
|
local13.chars = new byte[local9];
|
|
while (local9 > local15) {
|
|
@Pc(29) int local29 = local6[local15++] & 0xFF;
|
|
if (local29 <= 45 && local29 >= 40) {
|
|
if (local15 >= local9) {
|
|
break;
|
|
}
|
|
@Pc(51) int local51 = local6[local15++] & 0xFF;
|
|
local13.chars[local13.length++] = (byte) (local51 + (local29 + -40) * 43 - 48);
|
|
} else if (local29 != 0) {
|
|
local13.chars[local13.length++] = (byte) local29;
|
|
}
|
|
}
|
|
local13.method3156();
|
|
return local13.method3151();
|
|
}
|
|
|
|
@OriginalMember(owner = "client!jj", name = "b", descriptor = "(BI)Lclient!na;")
|
|
public static JagString parseInt(@OriginalArg(1) int arg0) {
|
|
return parseInt(false, arg0);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!q", name = "a", descriptor = "(BZII)Lclient!na;")
|
|
public static JagString parseInt(@OriginalArg(1) boolean arg0, @OriginalArg(3) int arg1) {
|
|
@Pc(23) int local23 = 1;
|
|
@Pc(27) int local27 = arg1 / 10;
|
|
while (local27 != 0) {
|
|
local27 /= 10;
|
|
local23++;
|
|
}
|
|
@Pc(38) int local38 = local23;
|
|
if (arg1 < 0 || arg0) {
|
|
local38 = local23 + 1;
|
|
}
|
|
@Pc(46) byte[] local46 = new byte[local38];
|
|
if (arg1 < 0) {
|
|
local46[0] = 45;
|
|
} else if (arg0) {
|
|
local46[0] = 43;
|
|
}
|
|
for (@Pc(61) int local61 = 0; local61 < local23; local61++) {
|
|
@Pc(68) int local68 = arg1 % 10;
|
|
if (local68 < 0) {
|
|
local68 = -local68;
|
|
}
|
|
if (local68 > 9) {
|
|
local68 += 39;
|
|
}
|
|
local46[local38 - local61 - 1] = (byte) (local68 + 48);
|
|
arg1 /= 10;
|
|
}
|
|
@Pc(112) JagString local112 = new JagString();
|
|
local112.chars = local46;
|
|
local112.length = local38;
|
|
return local112;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!an", name = "a", descriptor = "([BIII)Lclient!na;")
|
|
public static JagString decodeString(@OriginalArg(0) byte[] arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2) {
|
|
@Pc(7) JagString local7 = new JagString();
|
|
local7.chars = new byte[arg1];
|
|
local7.length = 0;
|
|
for (@Pc(22) int local22 = arg2; local22 < arg1 + arg2; local22++) {
|
|
if (arg0[local22] != 0) {
|
|
local7.chars[local7.length++] = arg0[local22];
|
|
}
|
|
}
|
|
return local7;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!bg", name = "d", descriptor = "(II)Z")
|
|
public static boolean method530(@OriginalArg(0) int arg0) {
|
|
return arg0 == 198 || arg0 == 230 || arg0 == 156 || arg0 == 140 || arg0 == 223;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!ih", name = "a", descriptor = "(ZII)Lclient!na;")
|
|
public static JagString parseIntTrue(@OriginalArg(2) int arg0) {
|
|
return parseInt(true, arg0);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!oi", name = "a", descriptor = "(II)Lclient!na;")
|
|
public static JagString formatIp(@OriginalArg(0) int arg0) {
|
|
return concatenate(new JagString[]{parseInt(arg0 >> 24 & 0xFF), aClass100_994, parseInt(arg0 >> 16 & 0xFF), aClass100_994, parseInt(arg0 >> 8 & 0xFF), aClass100_994, parseInt(arg0 & 0xFF)});
|
|
}
|
|
|
|
@OriginalMember(owner = "client!nb", name = "a", descriptor = "(II)Lclient!na;")
|
|
public static JagString getNbsp() {
|
|
@Pc(21) JagString str = new JagString();
|
|
str.length = 1;
|
|
str.chars = new byte[1];
|
|
str.chars[0] = -96; // 0xA0 - NBSP
|
|
return str;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!sj", name = "a", descriptor = "(Ljava/lang/String;I)Lclient!na;")
|
|
public static JagString method3952(@OriginalArg(0) String arg0) {
|
|
@Pc(14) byte[] local14 = arg0.getBytes(StandardCharsets.ISO_8859_1);
|
|
@Pc(23) JagString local23 = new JagString();
|
|
local23.chars = local14;
|
|
local23.length = 0;
|
|
for (@Pc(31) int local31 = 0; local31 < local14.length; local31++) {
|
|
if (local14[local31] != 0) {
|
|
local14[local23.length++] = local14[local31];
|
|
}
|
|
}
|
|
return local23;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!gn", name = "a", descriptor = "(BI)Lclient!na;")
|
|
public static JagString allocate(@OriginalArg(1) int arg0) {
|
|
@Pc(13) JagString local13 = new JagString();
|
|
local13.length = 0;
|
|
local13.chars = new byte[arg0];
|
|
return local13;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!md", name = "a", descriptor = "(JB)Lclient!na;")
|
|
public static JagString method2929(@OriginalArg(0) long arg0) {
|
|
return method1376(arg0);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!ej", name = "a", descriptor = "(IZIJ)Lclient!na;")
|
|
public static JagString method1376(@OriginalArg(3) long arg0) {
|
|
@Pc(35) long local35 = arg0 / (long) 10;
|
|
@Pc(37) int local37 = 1;
|
|
while (local35 != 0L) {
|
|
local37++;
|
|
local35 /= 10;
|
|
}
|
|
@Pc(51) int local51 = local37;
|
|
if (arg0 < 0L) {
|
|
local51 = local37 + 1;
|
|
}
|
|
@Pc(61) byte[] local61 = new byte[local51];
|
|
if (arg0 < 0L) {
|
|
local61[0] = 45;
|
|
}
|
|
for (@Pc(79) int local79 = 0; local79 < local37; local79++) {
|
|
@Pc(92) int local92 = (int) (arg0 % (long) 10);
|
|
arg0 /= 10;
|
|
if (local92 < 0) {
|
|
local92 = -local92;
|
|
}
|
|
if (local92 > 9) {
|
|
local92 += 39;
|
|
}
|
|
local61[local51 - local79 - 1] = (byte) (local92 + 48);
|
|
}
|
|
@Pc(126) JagString local126 = new JagString();
|
|
local126.chars = local61;
|
|
local126.length = local51;
|
|
return local126;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "a", descriptor = "(Z)Ljava/net/URL;")
|
|
public final URL method3107() throws MalformedURLException {
|
|
return new URL(new String(this.chars, 0, this.length));
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "a", descriptor = "(BLclient!na;)Z")
|
|
public final boolean strEquals(@OriginalArg(1) JagString arg0) {
|
|
if (arg0 == null) {
|
|
return false;
|
|
} else if (arg0 == this) {
|
|
return true;
|
|
} else if (this.length == arg0.length) {
|
|
@Pc(29) byte[] local29 = arg0.chars;
|
|
@Pc(32) byte[] local32 = this.chars;
|
|
for (@Pc(34) int local34 = 0; local34 < this.length; local34++) {
|
|
if (local32[local34] != local29[local34]) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "a", descriptor = "(BI)I")
|
|
public final int parseHexString(@OriginalArg(1) int arg0) {
|
|
@Pc(14) boolean local14 = false;
|
|
@Pc(20) boolean local20 = false;
|
|
@Pc(22) int local22 = 0;
|
|
for (@Pc(24) int local24 = 0; local24 < this.length; local24++) {
|
|
@Pc(43) int local43 = this.chars[local24] & 0xFF;
|
|
if (local24 == 0) {
|
|
if (local43 == 45) {
|
|
local14 = true;
|
|
continue;
|
|
}
|
|
if (local43 == 43) {
|
|
continue;
|
|
}
|
|
}
|
|
if (local43 >= 48 && local43 <= 57) {
|
|
local43 -= 48;
|
|
} else if (local43 >= 65 && local43 <= 90) {
|
|
local43 -= 55;
|
|
} else if (local43 >= 97 && local43 <= 122) {
|
|
local43 -= 87;
|
|
} else {
|
|
throw new NumberFormatException();
|
|
}
|
|
if (arg0 <= local43) {
|
|
throw new NumberFormatException();
|
|
}
|
|
if (local14) {
|
|
local43 = -local43;
|
|
}
|
|
@Pc(117) int local117 = local43 + local22 * arg0;
|
|
if (local117 / arg0 != local22) {
|
|
throw new NumberFormatException();
|
|
}
|
|
local22 = local117;
|
|
local20 = true;
|
|
}
|
|
if (!local20) {
|
|
throw new NumberFormatException();
|
|
}
|
|
return local22;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "a", descriptor = "(ILclient!na;)Z")
|
|
public final boolean equalsIgnoreCase(@OriginalArg(1) JagString arg0) {
|
|
if (arg0 == null) {
|
|
return false;
|
|
} else if (this.length == arg0.length) {
|
|
for (@Pc(28) int local28 = 0; local28 < this.length; local28++) {
|
|
@Pc(41) byte local41 = this.chars[local28];
|
|
if (local41 >= 65 && local41 <= 90 || local41 >= -64 && local41 <= -34 && local41 != -41) {
|
|
local41 = (byte) (local41 + 32);
|
|
}
|
|
@Pc(75) byte local75 = arg0.chars[local28];
|
|
if (local75 >= 65 && local75 <= 90 || local75 >= -64 && local75 <= -34 && local75 != -41) {
|
|
local75 = (byte) (local75 + 32);
|
|
}
|
|
if (local41 != local75) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "a", descriptor = "(IILjava/awt/Graphics;B)V")
|
|
public final void drawString(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) Graphics arg2) {
|
|
@Pc(17) String local17 = new String(this.chars, 0, this.length, StandardCharsets.ISO_8859_1);
|
|
arg2.drawString(local17, arg1, arg0);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "a", descriptor = "(Lclient!na;Z)Lclient!na;")
|
|
public final JagString method3113(@OriginalArg(0) JagString arg0) {
|
|
if (!this.aBoolean193) {
|
|
throw new IllegalArgumentException();
|
|
}
|
|
if (arg0.length + this.length > this.chars.length) {
|
|
@Pc(31) int local31;
|
|
for (local31 = 1; local31 < arg0.length + this.length; local31 += local31) {
|
|
}
|
|
@Pc(51) byte[] local51 = new byte[local31];
|
|
copy(this.chars, 0, local51, 0, this.length);
|
|
this.chars = local51;
|
|
}
|
|
copy(arg0.chars, 0, this.chars, this.length, arg0.length);
|
|
this.length += arg0.length;
|
|
return this;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "a", descriptor = "(I)Lclient!na;")
|
|
public final JagString toLowerCase() {
|
|
@Pc(14) JagString local14 = new JagString();
|
|
local14.length = this.length;
|
|
local14.chars = new byte[this.length];
|
|
for (@Pc(29) int local29 = 0; local29 < this.length; local29++) {
|
|
@Pc(42) byte local42 = this.chars[local29];
|
|
if (local42 >= 65 && local42 <= 90 || local42 >= -64 && local42 <= -34 && local42 != -41) {
|
|
local42 = (byte) (local42 + 32);
|
|
}
|
|
local14.chars[local29] = local42;
|
|
}
|
|
return local14;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "b", descriptor = "(I)Lclient!na;")
|
|
public final JagString encodeMessage() {
|
|
@Pc(7) byte local7 = 2;
|
|
@Pc(11) JagString local11 = new JagString();
|
|
local11.length = this.length;
|
|
local11.chars = new byte[this.length];
|
|
for (@Pc(28) int local28 = 0; local28 < this.length; local28++) {
|
|
@Pc(41) byte local41 = this.chars[local28];
|
|
if (local41 >= 97 && local41 <= 122 || !(local41 < -32 || local41 > -2 || local41 == -9)) {
|
|
if (local7 == 2) {
|
|
local41 = (byte) (local41 - 32);
|
|
}
|
|
local7 = 0;
|
|
} else if (local41 >= 65 && local41 <= 90 || !(local41 < -64 || local41 > -34 || local41 == -41)) {
|
|
if (local7 == 0) {
|
|
local41 = (byte) (local41 + 32);
|
|
}
|
|
local7 = 0;
|
|
} else if (local41 == 46 || local41 == 33 || local41 == 63) {
|
|
local7 = 2;
|
|
} else if (local41 != 32) {
|
|
local7 = 1;
|
|
} else if (local7 != 2) {
|
|
local7 = 1;
|
|
}
|
|
local11.chars[local28] = local41;
|
|
}
|
|
return local11;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "c", descriptor = "(I)J")
|
|
public final long longHashCode() {
|
|
@Pc(1) long local1 = 0L;
|
|
for (@Pc(9) int local9 = 0; local9 < this.length; local9++) {
|
|
local1 = (long) (this.chars[local9] & 0xFF) + (local1 << 5) - local1;
|
|
}
|
|
return local1;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "d", descriptor = "(I)I")
|
|
public final int length() {
|
|
return this.length;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "a", descriptor = "(ILclient!na;II)Lclient!na;")
|
|
public final JagString method3122(@OriginalArg(1) JagString arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2) {
|
|
if (!this.aBoolean193) {
|
|
throw new IllegalArgumentException();
|
|
} else if (arg1 >= 0 && arg1 <= arg2 && arg2 <= arg0.length) {
|
|
if (this.length + arg2 - arg1 > this.chars.length) {
|
|
@Pc(43) int local43;
|
|
for (local43 = 1; local43 < this.length + arg0.length; local43 += local43) {
|
|
}
|
|
@Pc(63) byte[] local63 = new byte[local43];
|
|
copy(this.chars, 0, local63, 0, this.length);
|
|
this.chars = local63;
|
|
}
|
|
copy(arg0.chars, arg1, this.chars, this.length, arg2 - arg1);
|
|
this.length += arg2 - arg1;
|
|
return this;
|
|
} else {
|
|
throw new IllegalArgumentException();
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "f", descriptor = "(I)Z")
|
|
public final boolean isInt() {
|
|
return this.method3141();
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "b", descriptor = "(Z)Lclient!na;")
|
|
public final JagString method3124() {
|
|
@Pc(7) JagString local7 = new JagString();
|
|
local7.length = this.length;
|
|
local7.chars = new byte[local7.length];
|
|
for (@Pc(24) int local24 = 0; local24 < this.length; local24++) {
|
|
local7.chars[this.length - local24 - 1] = this.chars[local24];
|
|
}
|
|
return local7;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "a", descriptor = "(B)Lclient!na;")
|
|
public final JagString toTitleCase() {
|
|
@Pc(9) JagString local9 = new JagString();
|
|
local9.length = this.length;
|
|
local9.chars = new byte[this.length];
|
|
@Pc(20) boolean local20 = true;
|
|
for (@Pc(22) int local22 = 0; local22 < this.length; local22++) {
|
|
@Pc(41) byte local41 = this.chars[local22];
|
|
if (local41 == 95) {
|
|
local20 = true;
|
|
local9.chars[local22] = 32;
|
|
} else if (local41 >= 97 && local41 <= 122 && local20) {
|
|
local20 = false;
|
|
local9.chars[local22] = (byte) (local41 - 32);
|
|
} else {
|
|
local9.chars[local22] = local41;
|
|
local20 = false;
|
|
}
|
|
}
|
|
return local9;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "b", descriptor = "(BLclient!na;)I")
|
|
public final int compare(@OriginalArg(1) JagString arg0) {
|
|
@Pc(12) int local12 = 0;
|
|
@Pc(14) int local14 = 0;
|
|
@Pc(17) int local17 = arg0.length;
|
|
@Pc(20) int local20 = this.length;
|
|
@Pc(23) int local23 = this.length;
|
|
@Pc(26) int local26 = arg0.length;
|
|
@Pc(28) int local28 = 0;
|
|
@Pc(30) int local30 = 0;
|
|
while (local20 != 0 && local17 != 0) {
|
|
if (local12 == 156 || local12 == 230) {
|
|
local12 = 101;
|
|
} else if (local12 == 140 || local12 == 198) {
|
|
local12 = 69;
|
|
} else if (local12 == 223) {
|
|
local12 = 115;
|
|
} else {
|
|
local12 = this.chars[local28] & 0xFF;
|
|
local28++;
|
|
}
|
|
if (method530(local12)) {
|
|
local23++;
|
|
} else {
|
|
local20--;
|
|
}
|
|
if (local14 == 156 || local14 == 230) {
|
|
local14 = 101;
|
|
} else if (local14 == 140 || local14 == 198) {
|
|
local14 = 69;
|
|
} else if (local14 == 223) {
|
|
local14 = 115;
|
|
} else {
|
|
local14 = arg0.chars[local30] & 0xFF;
|
|
local30++;
|
|
}
|
|
if (method530(local14)) {
|
|
local26++;
|
|
} else {
|
|
local17--;
|
|
}
|
|
if (anIntArray471[local12] < anIntArray471[local14]) {
|
|
return -1;
|
|
}
|
|
if (anIntArray471[local14] < anIntArray471[local12]) {
|
|
return 1;
|
|
}
|
|
}
|
|
if (local26 <= local23) {
|
|
return local23 > local26 ? 1 : 0;
|
|
} else {
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "a", descriptor = "(Ljava/net/URL;Z)Ljava/net/URL;")
|
|
public final URL method3127(@OriginalArg(0) URL arg0) throws MalformedURLException {
|
|
return new URL(arg0, new String(this.chars, 0, this.length));
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "a", descriptor = "(ZI)Lclient!na;")
|
|
public final JagString concatChar(@OriginalArg(1) int arg0) {
|
|
if (arg0 <= 0 || arg0 > 255) {
|
|
throw new IllegalArgumentException("invalid char");
|
|
}
|
|
@Pc(23) JagString local23 = new JagString();
|
|
local23.chars = new byte[this.length + 1];
|
|
local23.length = this.length + 1;
|
|
copy(this.chars, 0, local23.chars, 0, this.length);
|
|
local23.chars[this.length] = (byte) arg0;
|
|
return local23;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "c", descriptor = "(Z)V")
|
|
public final void print() {
|
|
@Pc(16) String local16 = new String(this.chars, 0, this.length, StandardCharsets.ISO_8859_1);
|
|
System.out.println(local16);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "c", descriptor = "(BLclient!na;)Z")
|
|
public final boolean endsWith(@OriginalArg(1) JagString arg0) {
|
|
if (arg0.length > this.length) {
|
|
return false;
|
|
}
|
|
@Pc(19) int local19 = this.length - arg0.length;
|
|
for (@Pc(27) int local27 = 0; local27 < arg0.length; local27++) {
|
|
if (this.chars[local19 + local27] != arg0.chars[local27]) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "a", descriptor = "(Lclient!na;I)I")
|
|
public final int indexOf(@OriginalArg(0) JagString arg0) {
|
|
return this.indexOf(arg0, 0);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "b", descriptor = "(B)I")
|
|
public final int parseInt() {
|
|
return this.parseHexString(10);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "a", descriptor = "(IZ)V")
|
|
public final void method3133(@OriginalArg(0) int arg0) {
|
|
if (!this.aBoolean193) {
|
|
throw new IllegalArgumentException();
|
|
} else if (arg0 < 0) {
|
|
throw new IllegalArgumentException();
|
|
} else {
|
|
@Pc(30) int local30;
|
|
if (arg0 > this.chars.length) {
|
|
for (local30 = 1; local30 < arg0; local30 += local30) {
|
|
}
|
|
@Pc(45) byte[] local45 = new byte[local30];
|
|
copy(this.chars, 0, local45, 0, this.length);
|
|
this.chars = local45;
|
|
}
|
|
for (local30 = this.length; local30 < arg0; local30++) {
|
|
this.chars[local30] = 32;
|
|
}
|
|
this.length = arg0;
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "toString", descriptor = "()Ljava/lang/String;")
|
|
@Override
|
|
public String toString() {
|
|
return new String(this.chars, 0, this.length, StandardCharsets.ISO_8859_1);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "a", descriptor = "(ZLjava/applet/Applet;)V")
|
|
public final void method3134(@OriginalArg(1) Applet arg0) throws Throwable {
|
|
@Pc(16) String local16 = new String(this.chars, 0, this.length);
|
|
BrowserControl.eval(arg0, local16);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "a", descriptor = "(III)I")
|
|
public final int indexOf(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) {
|
|
@Pc(4) byte local4 = (byte) arg0;
|
|
for (@Pc(15) int local15 = arg1; local15 < this.length; local15++) {
|
|
if (this.chars[local15] == local4) {
|
|
return local15;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "a", descriptor = "(IB)Lclient!na;")
|
|
public final JagString substring(@OriginalArg(0) int arg0) {
|
|
return this.substring(this.length, arg0);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "b", descriptor = "(III)Lclient!na;")
|
|
public final JagString substring(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1) {
|
|
@Pc(7) JagString local7 = new JagString();
|
|
local7.length = arg0 - arg1;
|
|
local7.chars = new byte[arg0 - arg1];
|
|
copy(this.chars, arg1, local7.chars, 0, local7.length);
|
|
return local7;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "b", descriptor = "(Lclient!na;I)Z")
|
|
public final boolean startsWith(@OriginalArg(0) JagString arg0) {
|
|
if (this.length < arg0.length) {
|
|
return false;
|
|
}
|
|
for (@Pc(19) int local19 = 0; local19 < arg0.length; local19++) {
|
|
if (this.chars[local19] != arg0.chars[local19]) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "equals", descriptor = "(Ljava/lang/Object;)Z")
|
|
@Override
|
|
public final boolean equals(@OriginalArg(0) Object arg0) {
|
|
if (!(arg0 instanceof JagString)) {
|
|
throw new IllegalArgumentException();
|
|
}
|
|
return this.strEquals((JagString) arg0);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "c", descriptor = "(Lclient!na;I)I")
|
|
public final int method3139(@OriginalArg(0) JagString arg0) {
|
|
@Pc(20) int local20;
|
|
if (arg0.length < this.length) {
|
|
local20 = arg0.length;
|
|
} else {
|
|
local20 = this.length;
|
|
}
|
|
for (@Pc(27) int local27 = 0; local27 < local20; local27++) {
|
|
if ((this.chars[local27] & 0xFF) < (arg0.chars[local27] & 0xFF)) {
|
|
return -1;
|
|
}
|
|
if ((arg0.chars[local27] & 0xFF) < (this.chars[local27] & 0xFF)) {
|
|
return 1;
|
|
}
|
|
}
|
|
if (arg0.length > this.length) {
|
|
return -1;
|
|
} else if (arg0.length >= this.length) {
|
|
return 0;
|
|
} else {
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "a", descriptor = "(Lclient!na;ZLclient!na;)Lclient!na;")
|
|
public final JagString method3140(@OriginalArg(0) JagString arg0, @OriginalArg(2) JagString arg1) {
|
|
@Pc(8) int local8 = this.length;
|
|
@Pc(14) int local14 = arg0.length - arg1.length;
|
|
@Pc(16) int local16 = 0;
|
|
while (true) {
|
|
@Pc(22) int local22 = this.indexOf(arg1, local16);
|
|
if (local22 < 0) {
|
|
local16 = 0;
|
|
@Pc(45) JagString local45 = allocate(local8);
|
|
while (true) {
|
|
@Pc(51) int local51 = this.indexOf(arg1, local16);
|
|
if (local51 < 0) {
|
|
while (local16 < this.length) {
|
|
local45.append(this.chars[local16++] & 0xFF);
|
|
}
|
|
return local45;
|
|
}
|
|
while (local16 < local51) {
|
|
local45.append(this.chars[local16++] & 0xFF);
|
|
}
|
|
local45.method3113(arg0);
|
|
local16 += arg1.length;
|
|
}
|
|
}
|
|
local16 = local22 + arg1.length;
|
|
local8 += local14;
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "hashCode", descriptor = "()I")
|
|
@Override
|
|
public final int hashCode() {
|
|
return this.getHash();
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "b", descriptor = "(IZ)Z")
|
|
private boolean method3141() {
|
|
@Pc(18) boolean local18 = false;
|
|
@Pc(24) boolean local24 = false;
|
|
@Pc(26) int local26 = 0;
|
|
for (@Pc(28) int local28 = 0; local28 < this.length; local28++) {
|
|
@Pc(39) int local39 = this.chars[local28] & 0xFF;
|
|
if (local28 == 0) {
|
|
if (local39 == 45) {
|
|
local24 = true;
|
|
continue;
|
|
}
|
|
if (local39 == 43) {
|
|
continue;
|
|
}
|
|
}
|
|
if (local39 >= 48 && local39 <= 57) {
|
|
local39 -= 48;
|
|
} else if (local39 >= 65 && local39 <= 90) {
|
|
local39 -= 55;
|
|
} else if (local39 >= 97 && local39 <= 122) {
|
|
local39 -= 87;
|
|
} else {
|
|
return false;
|
|
}
|
|
if (local39 >= 10) {
|
|
return false;
|
|
}
|
|
if (local24) {
|
|
local39 = -local39;
|
|
}
|
|
@Pc(110) int local110 = local39 + local26 * 10;
|
|
if (local26 != local110 / 10) {
|
|
return false;
|
|
}
|
|
local26 = local110;
|
|
local18 = true;
|
|
}
|
|
return local18;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "d", descriptor = "(BLclient!na;)Z")
|
|
public final boolean method3142(@OriginalArg(1) JagString arg0) {
|
|
if (this.length < arg0.length) {
|
|
return false;
|
|
}
|
|
for (@Pc(21) int local21 = 0; local21 < arg0.length; local21++) {
|
|
@Pc(30) byte local30 = this.chars[local21];
|
|
@Pc(35) byte local35 = arg0.chars[local21];
|
|
if (local35 >= 65 && local35 <= 90 || local35 >= -64 && local35 <= -34 && local35 != -41) {
|
|
local35 = (byte) (local35 + 32);
|
|
}
|
|
if (local30 >= 65 && local30 <= 90 || local30 >= -64 && local30 <= -34 && local30 != -41) {
|
|
local30 = (byte) (local30 + 32);
|
|
}
|
|
if (local30 != local35) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "g", descriptor = "(I)Lclient!na;")
|
|
public final JagString asString() {
|
|
return this;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "h", descriptor = "(I)Lclient!na;")
|
|
public final JagString trim() {
|
|
@Pc(17) int local17;
|
|
for (local17 = 0; local17 < this.length && (this.chars[local17] >= 0 && this.chars[local17] <= 32 || (this.chars[local17] & 0xFF) == 160); local17++) {
|
|
}
|
|
@Pc(53) int local53;
|
|
for (local53 = this.length; local53 > local17 && (this.chars[local53 - 1] >= 0 && this.chars[local53 - 1] <= 32 || (this.chars[local53 - 1] & 0xFF) == 160); local53--) {
|
|
}
|
|
if (local17 == 0 && this.length == local53) {
|
|
return this;
|
|
}
|
|
@Pc(111) JagString local111 = new JagString();
|
|
local111.length = local53 - local17;
|
|
local111.chars = new byte[local111.length];
|
|
for (@Pc(124) int local124 = 0; local124 < local111.length; local124++) {
|
|
local111.chars[local124] = this.chars[local17 + local124];
|
|
}
|
|
return local111;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "c", descriptor = "(III)Lclient!na;")
|
|
public final JagString replaceSlashWithSpace() {
|
|
@Pc(8) JagString str = new JagString();
|
|
str.length = this.length;
|
|
str.chars = new byte[this.length];
|
|
for (@Pc(31) int i = 0; i < this.length; i++) {
|
|
@Pc(44) byte c = this.chars[i];
|
|
if (c == 47) {
|
|
str.chars[i] = 32;
|
|
} else {
|
|
str.chars[i] = c;
|
|
}
|
|
}
|
|
return str;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "a", descriptor = "(Lclient!na;II)I")
|
|
public final int indexOf(@OriginalArg(0) JagString arg0, @OriginalArg(1) int arg1) {
|
|
@Pc(8) int local8 = arg0.length;
|
|
if (arg1 >= this.length) {
|
|
return local8 == 0 ? this.length : -1;
|
|
}
|
|
if (arg1 < 0) {
|
|
arg1 = 0;
|
|
}
|
|
if (local8 == 0) {
|
|
return arg1;
|
|
}
|
|
@Pc(41) int local41 = this.length - local8;
|
|
@Pc(44) byte[] local44 = arg0.chars;
|
|
@Pc(48) byte local48 = local44[0];
|
|
for (@Pc(50) int local50 = arg1; local50 <= local41; local50++) {
|
|
if (local48 != this.chars[local50]) {
|
|
do {
|
|
local50++;
|
|
if (local50 > local41) {
|
|
return -1;
|
|
}
|
|
} while (local48 != this.chars[local50]);
|
|
}
|
|
@Pc(88) boolean local88 = true;
|
|
@Pc(92) int local92 = local50 + 1;
|
|
for (@Pc(94) int local94 = 1; local94 < local8; local94++) {
|
|
if (local44[local94] != this.chars[local92]) {
|
|
local88 = false;
|
|
break;
|
|
}
|
|
local92++;
|
|
}
|
|
if (local88) {
|
|
return local50;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "b", descriptor = "(IB)[Lclient!na;")
|
|
public final JagString[] split(@OriginalArg(0) int delim) {
|
|
@Pc(7) int matches = 0;
|
|
for (@Pc(9) int i = 0; i < this.length; i++) {
|
|
if (delim == this.chars[i]) {
|
|
matches++;
|
|
}
|
|
}
|
|
@Pc(37) JagString[] parts = new JagString[matches + 1];
|
|
if (matches == 0) {
|
|
parts[0] = this;
|
|
return parts;
|
|
}
|
|
@Pc(47) int part = 0;
|
|
@Pc(49) int start = 0;
|
|
for (@Pc(51) int i = 0; i < matches; i++) {
|
|
@Pc(68) int end;
|
|
for (end = 0; delim != this.chars[end + start]; end++) {
|
|
}
|
|
parts[part++] = this.substring(start + end, start);
|
|
start += end + 1;
|
|
}
|
|
parts[matches] = this.substring(this.length, start);
|
|
return parts;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "i", descriptor = "(I)[B")
|
|
public final byte[] method3148() {
|
|
@Pc(7) byte[] local7 = new byte[this.length];
|
|
copy(this.chars, 0, local7, 0, this.length);
|
|
return local7;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "c", descriptor = "(IB)I")
|
|
public final int charAt(@OriginalArg(0) int arg0) {
|
|
return this.chars[arg0] & 0xFF;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "c", descriptor = "(B)Lclient!na;")
|
|
public final JagString method3151() {
|
|
@Pc(9) long local9 = this.longHashCode();
|
|
@Pc(19) Class local19 = JagString.class;
|
|
synchronized (local19) {
|
|
@Pc(30) StringNode local30;
|
|
if (aClass133_13 == null) {
|
|
aClass133_13 = new HashTable(4096);
|
|
} else {
|
|
for (local30 = (StringNode) aClass133_13.get(local9); local30 != null; local30 = (StringNode) aClass133_13.nextWithKey()) {
|
|
if (this.strEquals(local30.value)) {
|
|
return local30.value;
|
|
}
|
|
}
|
|
}
|
|
local30 = new StringNode();
|
|
local30.value = this;
|
|
this.aBoolean193 = false;
|
|
aClass133_13.put(local30, local9);
|
|
return this;
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "d", descriptor = "(IB)Lclient!na;")
|
|
public final JagString append(@OriginalArg(0) int arg0) {
|
|
if (arg0 <= 0 || arg0 > 255) {
|
|
throw new IllegalArgumentException("invalid char:" + arg0);
|
|
} else if (this.aBoolean193) {
|
|
if (this.length == this.chars.length) {
|
|
@Pc(44) int local44;
|
|
for (local44 = 1; local44 <= this.length; local44 += local44) {
|
|
}
|
|
@Pc(61) byte[] local61 = new byte[local44];
|
|
copy(this.chars, 0, local61, 0, this.length);
|
|
this.chars = local61;
|
|
}
|
|
this.chars[this.length++] = (byte) arg0;
|
|
return this;
|
|
} else {
|
|
throw new IllegalArgumentException();
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "a", descriptor = "(BLjava/applet/Applet;)Lclient!na;")
|
|
public final JagString fromParameters(@OriginalArg(1) Applet arg0) {
|
|
@Pc(19) String local19 = new String(this.chars, 0, this.length);
|
|
@Pc(23) String local23 = arg0.getParameter(local19);
|
|
return local23 == null ? null : method3952(local23);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "d", descriptor = "(Z)I")
|
|
public final int getHash() {
|
|
@Pc(7) int hash = 0;
|
|
for (@Pc(14) int c = 0; c < this.length; c++) {
|
|
hash = (this.chars[c] & 0xFF) + (hash << 5) - hash;
|
|
}
|
|
return hash;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "a", descriptor = "(ILjava/awt/FontMetrics;)I")
|
|
public final int stringWidth(@OriginalArg(1) FontMetrics arg0) {
|
|
@Pc(14) String local14 = new String(this.chars, 0, this.length, StandardCharsets.ISO_8859_1);
|
|
return arg0.stringWidth(local14);
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "d", descriptor = "(B)Lclient!na;")
|
|
public final JagString method3156() {
|
|
if (!this.aBoolean193) {
|
|
throw new IllegalArgumentException();
|
|
}
|
|
if (this.chars.length != this.length) {
|
|
@Pc(26) byte[] local26 = new byte[this.length];
|
|
copy(this.chars, 0, local26, 0, this.length);
|
|
this.chars = local26;
|
|
}
|
|
return this;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "a", descriptor = "(ILjava/applet/Applet;)Ljava/lang/Object;")
|
|
public final Object browserControlCall(@OriginalArg(1) Applet arg0) throws Throwable {
|
|
@Pc(12) String local12 = new String(this.chars, 0, this.length);
|
|
@Pc(17) Object local17 = BrowserControl.call(local12, arg0);
|
|
if (local17 instanceof String) {
|
|
@Pc(24) byte[] local24 = ((String) local17).getBytes();
|
|
local17 = decodeString(local24, local24.length, 0);
|
|
}
|
|
return local17;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "j", descriptor = "(I)J")
|
|
public final long encode37() {
|
|
@Pc(7) long local7 = 0L;
|
|
for (@Pc(14) int local14 = 0; this.length > local14 && local14 < 12; local14++) {
|
|
@Pc(32) byte local32 = this.chars[local14];
|
|
local7 *= 37L;
|
|
if (local32 >= 65 && local32 <= 90) {
|
|
local7 += local32 + 1 - 65;
|
|
} else if (local32 >= 97 && local32 <= 122) {
|
|
local7 += local32 + 1 - 97;
|
|
} else if (local32 >= 48 && local32 <= 57) {
|
|
local7 += local32 + 27 - 48;
|
|
}
|
|
}
|
|
while (local7 % 37L == 0L && local7 != 0L) {
|
|
local7 /= 37L;
|
|
}
|
|
return local7;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "k", descriptor = "(I)Lclient!na;")
|
|
public final JagString method3159() {
|
|
@Pc(9) JagString local9 = Base37.decode37(this.encode37());
|
|
return local9 == null ? aClass100_967 : local9;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!na", name = "a", descriptor = "(Z[BIII)I")
|
|
public final int encodeString(@OriginalArg(1) byte[] arg0, @OriginalArg(2) int arg1, @OriginalArg(4) int arg2) {
|
|
copy(this.chars, 0, arg0, arg1, arg2);
|
|
return arg2;
|
|
}
|
|
}
|