first commit
Build AsminVoicechat / prepare-release (push) Successful in 14s
Build AsminVoicechat / build-and-test (17) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (18) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (19) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (20) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (21) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (22) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (23) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (24) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (25) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (26) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (27-ea) (push) Canceled after 0s
Build AsminVoicechat / build-and-test (16) (push) Canceled after 38s

This commit is contained in:
asminme committed 2026-10-24 15:18:03 +02:00
commit bbccd4a815
454 files changed
+45050

No files matched your search

@@ -0,0 +1,623 @@
/*
* Decompiled with CFR 0.152.
*/
package de.maxhenkel.voicechat.org.json;
import de.maxhenkel.voicechat.org.json.JSONArray;
import de.maxhenkel.voicechat.org.json.JSONException;
import de.maxhenkel.voicechat.org.json.JSONObject;
import de.maxhenkel.voicechat.org.json.XMLParserConfiguration;
import de.maxhenkel.voicechat.org.json.XMLTokener;
import de.maxhenkel.voicechat.org.json.XMLXsiTypeConverter;
import java.io.Reader;
import java.io.StringReader;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Iterator;
public class XML {
public static final Character AMP = Character.valueOf('&');
public static final Character APOS = Character.valueOf('\'');
public static final Character BANG = Character.valueOf('!');
public static final Character EQ = Character.valueOf('=');
public static final Character GT = Character.valueOf('>');
public static final Character LT = Character.valueOf('<');
public static final Character QUEST = Character.valueOf('?');
public static final Character QUOT = Character.valueOf('\"');
public static final Character SLASH = Character.valueOf('/');
public static final String NULL_ATTR = "xsi:nil";
public static final String TYPE_ATTR = "xsi:type";
private static Iterable<Integer> codePointIterator(final String string) {
return new Iterable<Integer>(){
@Override
public Iterator<Integer> iterator() {
return new Iterator<Integer>(){
private int nextIndex = 0;
private int length;
{
this.length = string.length();
}
@Override
public boolean hasNext() {
return this.nextIndex < this.length;
}
@Override
public Integer next() {
int result = string.codePointAt(this.nextIndex);
this.nextIndex += Character.charCount(result);
return result;
}
@Override
public void remove() {
throw new UnsupportedOperationException();
}
};
}
};
}
public static String escape(String string) {
StringBuilder sb = new StringBuilder(string.length());
block7: for (int cp : XML.codePointIterator(string)) {
switch (cp) {
case 38: {
sb.append("&amp;");
continue block7;
}
case 60: {
sb.append("&lt;");
continue block7;
}
case 62: {
sb.append("&gt;");
continue block7;
}
case 34: {
sb.append("&quot;");
continue block7;
}
case 39: {
sb.append("&apos;");
continue block7;
}
}
if (XML.mustEscape(cp)) {
sb.append("&#x");
sb.append(Integer.toHexString(cp));
sb.append(';');
continue;
}
sb.appendCodePoint(cp);
}
return sb.toString();
}
private static boolean mustEscape(int cp) {
return Character.isISOControl(cp) && cp != 9 && cp != 10 && cp != 13 || (cp < 32 || cp > 55295) && (cp < 57344 || cp > 65533) && (cp < 65536 || cp > 0x10FFFF);
}
public static String unescape(String string) {
StringBuilder sb = new StringBuilder(string.length());
int length = string.length();
for (int i = 0; i < length; ++i) {
char c = string.charAt(i);
if (c == '&') {
int semic = string.indexOf(59, i);
if (semic > i) {
String entity = string.substring(i + 1, semic);
sb.append(XMLTokener.unescapeEntity(entity));
i += entity.length() + 1;
continue;
}
sb.append(c);
continue;
}
sb.append(c);
}
return sb.toString();
}
public static void noSpace(String string) throws JSONException {
int length = string.length();
if (length == 0) {
throw new JSONException("Empty string.");
}
for (int i = 0; i < length; ++i) {
if (!Character.isWhitespace(string.charAt(i))) continue;
throw new JSONException("'" + string + "' contains a space character.");
}
}
private static boolean parse(XMLTokener x, JSONObject context, String name, XMLParserConfiguration config, int currentNestingDepth) throws JSONException {
Object obj;
String string;
JSONObject jsonObject = null;
Object token = x.nextToken();
if (token == BANG) {
char c = x.next();
if (c == '-') {
if (x.next() == '-') {
x.skipPast("-->");
return false;
}
x.back();
} else if (c == '[') {
token = x.nextToken();
if ("CDATA".equals(token) && x.next() == '[') {
String string2 = x.nextCDATA();
if (string2.length() > 0) {
context.accumulate(config.getcDataTagName(), string2);
}
return false;
}
throw x.syntaxError("Expected 'CDATA['");
}
int i = 1;
do {
if ((token = x.nextMeta()) == null) {
throw x.syntaxError("Missing '>' after '<!'.");
}
if (token == LT) {
++i;
continue;
}
if (token != GT) continue;
--i;
} while (i > 0);
return false;
}
if (token == QUEST) {
x.skipPast("?>");
return false;
}
if (token == SLASH) {
token = x.nextToken();
if (name == null) {
throw x.syntaxError("Mismatched close tag " + token);
}
if (!token.equals(name)) {
throw x.syntaxError("Mismatched " + name + " and " + token);
}
if (x.nextToken() != GT) {
throw x.syntaxError("Misshaped close tag");
}
return true;
}
if (token instanceof Character) {
throw x.syntaxError("Misshaped tag");
}
String tagName = (String)token;
token = null;
jsonObject = new JSONObject();
boolean nilAttributeFound = false;
XMLXsiTypeConverter<?> xmlXsiTypeConverter = null;
while (true) {
if (token == null) {
token = x.nextToken();
}
if (!(token instanceof String)) break;
string = (String)token;
token = x.nextToken();
if (token == EQ) {
token = x.nextToken();
if (!(token instanceof String)) {
throw x.syntaxError("Missing value");
}
if (config.isConvertNilAttributeToNull() && NULL_ATTR.equals(string) && Boolean.parseBoolean((String)token)) {
nilAttributeFound = true;
} else if (config.getXsiTypeMap() != null && !config.getXsiTypeMap().isEmpty() && TYPE_ATTR.equals(string)) {
xmlXsiTypeConverter = config.getXsiTypeMap().get(token);
} else if (!nilAttributeFound) {
obj = XML.stringToValue((String)token);
if (obj instanceof Boolean) {
jsonObject.accumulate(string, config.isKeepBooleanAsString() ? (String)token : obj);
} else if (obj instanceof Number) {
jsonObject.accumulate(string, config.isKeepNumberAsString() ? (String)token : obj);
} else {
jsonObject.accumulate(string, XML.stringToValue((String)token));
}
}
token = null;
continue;
}
jsonObject.accumulate(string, "");
}
if (token == SLASH) {
if (x.nextToken() != GT) {
throw x.syntaxError("Misshaped tag");
}
if (config.getForceList().contains(tagName)) {
if (nilAttributeFound) {
context.append(tagName, JSONObject.NULL);
} else if (jsonObject.length() > 0) {
context.append(tagName, jsonObject);
} else {
context.put(tagName, new JSONArray());
}
} else if (nilAttributeFound) {
context.accumulate(tagName, JSONObject.NULL);
} else if (jsonObject.length() > 0) {
context.accumulate(tagName, jsonObject);
} else {
context.accumulate(tagName, "");
}
return false;
}
if (token == GT) {
while (true) {
if ((token = x.nextContent()) == null) {
if (tagName != null) {
throw x.syntaxError("Unclosed tag " + tagName);
}
return false;
}
if (token instanceof String) {
string = (String)token;
if (string.length() <= 0) continue;
if (xmlXsiTypeConverter != null) {
jsonObject.accumulate(config.getcDataTagName(), XML.stringToValue(string, xmlXsiTypeConverter));
continue;
}
obj = XML.stringToValue((String)token);
if (obj instanceof Boolean) {
jsonObject.accumulate(config.getcDataTagName(), config.isKeepBooleanAsString() ? (String)token : obj);
continue;
}
if (obj instanceof Number) {
jsonObject.accumulate(config.getcDataTagName(), config.isKeepNumberAsString() ? (String)token : obj);
continue;
}
if (obj == JSONObject.NULL) {
jsonObject.accumulate(config.getcDataTagName(), config.isKeepStrings() ? (String)token : obj);
continue;
}
jsonObject.accumulate(config.getcDataTagName(), XML.stringToValue((String)token));
continue;
}
if (token != LT) continue;
if (currentNestingDepth == config.getMaxNestingDepth()) {
throw x.syntaxError("Maximum nesting depth of " + config.getMaxNestingDepth() + " reached");
}
if (XML.parse(x, jsonObject, tagName, config, currentNestingDepth + 1)) break;
}
if (config.getForceList().contains(tagName)) {
if (jsonObject.length() == 0) {
context.put(tagName, new JSONArray());
} else if (jsonObject.length() == 1 && jsonObject.opt(config.getcDataTagName()) != null) {
context.append(tagName, jsonObject.opt(config.getcDataTagName()));
} else {
context.append(tagName, jsonObject);
}
} else if (jsonObject.length() == 0) {
context.accumulate(tagName, "");
} else if (jsonObject.length() == 1 && jsonObject.opt(config.getcDataTagName()) != null) {
context.accumulate(tagName, jsonObject.opt(config.getcDataTagName()));
} else {
if (!config.shouldTrimWhiteSpace()) {
XML.removeEmpty(jsonObject, config);
}
context.accumulate(tagName, jsonObject);
}
return false;
}
throw x.syntaxError("Misshaped tag");
}
private static void removeEmpty(JSONObject jsonObject, XMLParserConfiguration config) {
if (jsonObject.has(config.getcDataTagName())) {
Object s = jsonObject.get(config.getcDataTagName());
if (s instanceof String) {
if (XML.isStringAllWhiteSpace(s.toString())) {
jsonObject.remove(config.getcDataTagName());
}
} else if (s instanceof JSONArray) {
JSONArray sArray = (JSONArray)s;
for (int k = sArray.length() - 1; k >= 0; --k) {
String s1;
Object eachString = sArray.get(k);
if (!(eachString instanceof String) || !XML.isStringAllWhiteSpace(s1 = (String)eachString)) continue;
sArray.remove(k);
}
if (sArray.isEmpty()) {
jsonObject.remove(config.getcDataTagName());
}
}
}
}
private static boolean isStringAllWhiteSpace(String s) {
for (int k = 0; k < s.length(); ++k) {
char eachChar = s.charAt(k);
if (Character.isWhitespace(eachChar)) continue;
return false;
}
return true;
}
private static Number stringToNumber(String val) throws NumberFormatException {
char initial = val.charAt(0);
if (initial >= '0' && initial <= '9' || initial == '-') {
BigInteger bi;
char at1;
if (XML.isDecimalNotation(val)) {
try {
BigDecimal bd = new BigDecimal(val);
if (initial == '-' && BigDecimal.ZERO.compareTo(bd) == 0) {
return -0.0;
}
return bd;
}
catch (NumberFormatException retryAsDouble) {
try {
Double d = Double.valueOf(val);
if (d.isNaN() || d.isInfinite()) {
throw new NumberFormatException("val [" + val + "] is not a valid number.");
}
return d;
}
catch (NumberFormatException ignore) {
throw new NumberFormatException("val [" + val + "] is not a valid number.");
}
}
}
if (initial == '0' && val.length() > 1) {
at1 = val.charAt(1);
if (at1 >= '0' && at1 <= '9') {
throw new NumberFormatException("val [" + val + "] is not a valid number.");
}
} else if (initial == '-' && val.length() > 2) {
at1 = val.charAt(1);
char at2 = val.charAt(2);
if (at1 == '0' && at2 >= '0' && at2 <= '9') {
throw new NumberFormatException("val [" + val + "] is not a valid number.");
}
}
if ((bi = new BigInteger(val)).bitLength() <= 31) {
return bi.intValue();
}
if (bi.bitLength() <= 63) {
return bi.longValue();
}
return bi;
}
throw new NumberFormatException("val [" + val + "] is not a valid number.");
}
private static boolean isDecimalNotation(String val) {
return val.indexOf(46) > -1 || val.indexOf(101) > -1 || val.indexOf(69) > -1 || "-0".equals(val);
}
public static Object stringToValue(String string, XMLXsiTypeConverter<?> typeConverter) {
if (typeConverter != null) {
return typeConverter.convert(string);
}
return XML.stringToValue(string);
}
public static Object stringToValue(String string) {
if ("".equals(string)) {
return string;
}
if ("true".equalsIgnoreCase(string)) {
return Boolean.TRUE;
}
if ("false".equalsIgnoreCase(string)) {
return Boolean.FALSE;
}
if ("null".equalsIgnoreCase(string)) {
return JSONObject.NULL;
}
char initial = string.charAt(0);
if (initial >= '0' && initial <= '9' || initial == '-') {
try {
return XML.stringToNumber(string);
}
catch (Exception exception) {
// empty catch block
}
}
return string;
}
public static JSONObject toJSONObject(String string) throws JSONException {
return XML.toJSONObject(string, XMLParserConfiguration.ORIGINAL);
}
public static JSONObject toJSONObject(Reader reader) throws JSONException {
return XML.toJSONObject(reader, XMLParserConfiguration.ORIGINAL);
}
public static JSONObject toJSONObject(Reader reader, boolean keepStrings) throws JSONException {
if (keepStrings) {
return XML.toJSONObject(reader, XMLParserConfiguration.KEEP_STRINGS);
}
return XML.toJSONObject(reader, XMLParserConfiguration.ORIGINAL);
}
public static JSONObject toJSONObject(Reader reader, boolean keepNumberAsString, boolean keepBooleanAsString) throws JSONException {
XMLParserConfiguration xmlParserConfiguration = new XMLParserConfiguration();
if (keepNumberAsString) {
xmlParserConfiguration = xmlParserConfiguration.withKeepNumberAsString(keepNumberAsString);
}
if (keepBooleanAsString) {
xmlParserConfiguration = xmlParserConfiguration.withKeepBooleanAsString(keepBooleanAsString);
}
return XML.toJSONObject(reader, xmlParserConfiguration);
}
public static JSONObject toJSONObject(Reader reader, XMLParserConfiguration config) throws JSONException {
JSONObject jo = new JSONObject();
XMLTokener x = new XMLTokener(reader, config);
while (x.more()) {
x.skipPast("<");
if (!x.more()) continue;
XML.parse(x, jo, null, config, 0);
}
return jo;
}
public static JSONObject toJSONObject(String string, boolean keepStrings) throws JSONException {
return XML.toJSONObject((Reader)new StringReader(string), keepStrings);
}
public static JSONObject toJSONObject(String string, boolean keepNumberAsString, boolean keepBooleanAsString) throws JSONException {
return XML.toJSONObject(new StringReader(string), keepNumberAsString, keepBooleanAsString);
}
public static JSONObject toJSONObject(String string, XMLParserConfiguration config) throws JSONException {
return XML.toJSONObject((Reader)new StringReader(string), config);
}
public static String toString(Object object) throws JSONException {
return XML.toString(object, null, XMLParserConfiguration.ORIGINAL);
}
public static String toString(Object object, String tagName) {
return XML.toString(object, tagName, XMLParserConfiguration.ORIGINAL);
}
public static String toString(Object object, String tagName, XMLParserConfiguration config) throws JSONException {
return XML.toString(object, tagName, config, 0, 0);
}
private static String toString(Object object, String tagName, XMLParserConfiguration config, int indentFactor, int indent) throws JSONException {
String indentationSuffix;
StringBuilder sb = new StringBuilder();
if (object instanceof JSONObject) {
if (tagName != null) {
sb.append(XML.indent(indent));
sb.append('<');
sb.append(tagName);
sb.append('>');
if (indentFactor > 0) {
sb.append("\n");
indent += indentFactor;
}
}
JSONObject jo = (JSONObject)object;
for (String key : jo.keySet()) {
Object val;
int i;
int jaLength;
JSONArray ja;
Object value = jo.opt(key);
if (value == null) {
value = "";
} else if (value.getClass().isArray()) {
value = new JSONArray(value);
}
if (key.equals(config.getcDataTagName())) {
if (value instanceof JSONArray) {
ja = (JSONArray)value;
jaLength = ja.length();
for (i = 0; i < jaLength; ++i) {
if (i > 0) {
sb.append('\n');
}
val = ja.opt(i);
sb.append(XML.escape(val.toString()));
}
continue;
}
sb.append(XML.escape(value.toString()));
continue;
}
if (value instanceof JSONArray) {
ja = (JSONArray)value;
jaLength = ja.length();
for (i = 0; i < jaLength; ++i) {
val = ja.opt(i);
if (val instanceof JSONArray) {
sb.append('<');
sb.append(key);
sb.append('>');
sb.append(XML.toString(val, null, config, indentFactor, indent));
sb.append("</");
sb.append(key);
sb.append('>');
continue;
}
sb.append(XML.toString(val, key, config, indentFactor, indent));
}
continue;
}
if ("".equals(value)) {
if (config.isCloseEmptyTag()) {
sb.append(XML.indent(indent));
sb.append('<');
sb.append(key);
sb.append(">");
sb.append("</");
sb.append(key);
sb.append(">");
if (indentFactor <= 0) continue;
sb.append("\n");
continue;
}
sb.append(XML.indent(indent));
sb.append('<');
sb.append(key);
sb.append("/>");
if (indentFactor <= 0) continue;
sb.append("\n");
continue;
}
sb.append(XML.toString(value, key, config, indentFactor, indent));
}
if (tagName != null) {
sb.append(XML.indent(indent - indentFactor));
sb.append("</");
sb.append(tagName);
sb.append('>');
if (indentFactor > 0) {
sb.append("\n");
}
}
return sb.toString();
}
if (object != null && (object instanceof JSONArray || object.getClass().isArray())) {
JSONArray ja = object.getClass().isArray() ? new JSONArray(object) : (JSONArray)object;
int jaLength = ja.length();
for (int i = 0; i < jaLength; ++i) {
Object val = ja.opt(i);
sb.append(XML.toString(val, tagName == null ? "array" : tagName, config, indentFactor, indent));
}
return sb.toString();
}
String string = object == null ? "null" : XML.escape(object.toString());
String string2 = indentationSuffix = indentFactor > 0 ? "\n" : "";
if (tagName == null) {
return XML.indent(indent) + "\"" + string + "\"" + indentationSuffix;
}
if (string.length() == 0) {
return XML.indent(indent) + "<" + tagName + "/>" + indentationSuffix;
}
return XML.indent(indent) + "<" + tagName + ">" + string + "</" + tagName + ">" + indentationSuffix;
}
public static String toString(Object object, int indentFactor) {
return XML.toString(object, null, XMLParserConfiguration.ORIGINAL, indentFactor);
}
public static String toString(Object object, String tagName, int indentFactor) {
return XML.toString(object, tagName, XMLParserConfiguration.ORIGINAL, indentFactor);
}
public static String toString(Object object, String tagName, XMLParserConfiguration config, int indentFactor) throws JSONException {
return XML.toString(object, tagName, config, indentFactor, 0);
}
private static final String indent(int indent) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < indent; ++i) {
sb.append(' ');
}
return sb.toString();
}
}