Files
discord-decomp/sources/by-id/module-00084.js
T
2026-07-28 01:06:53 +03:00

3274 lines
175 KiB
JavaScript

/* Metro module 84; source: unknown; dependencies: [65, 57, 38] */
import Module00057 from './module-00057.js'; /* Metro dependency 57 */
import Module00065 from './module-00065.js'; /* Metro dependency 65 */
function _fun1496(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#1496, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:109:6, offset: 0x00c5f3b6, size: 245 bytes, params: 8, frame: 18
const env0_0 = require;
const getPositionFromCSSValue = function(a0) {
var r0;
var value = a0;
if (value.endsWith('px')) {
value = (0, global.parseFloat)(value);
r0 = value;
} else {
r0 = value.endsWith('%') ? value : undefined;
}
return r0;
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_4 = RegExp('^to\\s+(?:top|bottom|left|right)(?:\\s+(?:top|bottom|left|right))?', 'i');
const env0_5 = RegExp('^([+-]?\\d*\\.?\\d+)(deg|grad|rad|turn)$', 'i');
const env0_6 = {'type': 'angle', 'value': 180};
const env0_9 = {'top': '50%', 'left': '50%'};
exports.default = processBackgroundImage;
function processColorStops(a0) { // fn#1497, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:109:316, offset: 0x00c5f4ab, size: 398 bytes, params: 2, frame: 32
var r3;
var r19;
var items2;
var colorStops;
var length;
var value;
var value2;
var property;
var positions;
var color;
var Array;
var isArray;
var moduleValue;
var value3;
var push;
var iterator;
var iterator2;
var item;
var item2;
var value4;
var value5;
var value6;
var endsWith;
var value7;
var object2;
var error;
var value8;
var value9;
exceptionSkip27: while (true) {
exceptionLanding27: while (true) {
items2 = [];
colorStops = a0.colorStops;
length = colorStops.length;
value = 0;
value2 = environment;
if (value < length) {
r3 = value;
reducibleLoop1: while (true) {
colorStops = a0.colorStops;
property = colorStops[r3];
positions = property.positions;
color = property.color;
if (color == null) {
Array = global.Array;
isArray = Array.isArray;
reducibleJoin4: while (true) {
if (Reflect.apply(isArray, Array, [positions])) {
length = positions.length;
if (length !== 1) {
break reducibleJoin4;
}
property = positions[value];
value8 = typeof property;
reducibleJoin34: while (true) {
reducibleJoin33: while (true) {
if (value8 === 'number') {
break reducibleJoin33;
}
if (value8 !== 'string') {
return null;
}
endsWith = property.endsWith;
if (!Reflect.apply(endsWith, property, ['%'])) {
return null;
}
break reducibleJoin33;
}
push = items2.push;
Reflect.apply(push, items2, [{color: null, position: property}]);
break reducibleJoin34;
}
value9 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1;
colorStops = a0.colorStops;
length = colorStops.length;
if (!(value9 < length)) {
return items2;
}
r3 = value9;
continue reducibleLoop1;
}
break reducibleJoin4;
}
}
moduleValue = require(38) /* metro dependency 38 */;
color = property.color;
value3 = moduleValue.default(color);
if (value3 == null) {
return null;
}
if (positions != null) {
length = positions.length;
reducibleJoin7: while (true) {
if (length > value) {
iterator = positions[Symbol.iterator]();
iterator2 = iterator.next;
r19 = iterator;
reducibleLoop9: while (true) {
item2 = Reflect.apply(iterator2, r19, []);
item = item2.value;
item2 = item2.done ? undefined : r19;
if (item2 === undefined) {
break reducibleLoop9;
}
value4 = typeof item;
try {
value5 = value4 === 'number';
} catch (error) {
break exceptionLanding27;
}
if (!value5) {
try {
value6 = value4 !== 'string';
} catch (error) {
break exceptionLanding27;
}
reducibleJoin19: while (true) {
reducibleJoin18: while (true) {
if (value6) {
break reducibleJoin18;
}
try {
endsWith = item.endsWith;
} catch (error) {
break exceptionLanding27;
}
try {
value7 = Reflect.apply(endsWith, item, ['%']);
} catch (error) {
break exceptionLanding27;
}
if (value7) {
break reducibleJoin19;
}
break reducibleJoin18;
}
item2.return();
return null;
}
}
try {
push = items2.push;
} catch (error) {
break exceptionLanding27;
}
try {
object2 = {};
} catch (error) {
break exceptionLanding27;
}
try {
object2.color = value3;
} catch (error) {
break exceptionLanding27;
}
try {
object2.position = item;
} catch (error) {
break exceptionLanding27;
}
try {
Reflect.apply(push, items2, [object2]);
} catch (error) {
break exceptionLanding27;
}
r19 = item2;
continue reducibleLoop9;
}
value9 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1;
colorStops = a0.colorStops;
length = colorStops.length;
if (!(value9 < length)) {
return items2;
}
r3 = value9;
continue reducibleLoop1;
}
break reducibleJoin7;
}
}
push = items2.push;
Reflect.apply(push, items2, [{color: value3, position: null}]);
value9 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1;
colorStops = a0.colorStops;
length = colorStops.length;
if (!(value9 < length)) {
return items2;
}
r3 = value9;
continue reducibleLoop1;
}
}
return items2;
break exceptionSkip27;
}
try {
item2.return();
} catch {
}
throw error;
break exceptionSkip27;
}
}
function parseRadialGradientCSSString(a0) { // fn#1498, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:109:841, offset: 0x00c5f639, size: 2180 bytes, params: 2, frame: 74
var r16;
var r17;
var r18;
var r19;
var r20;
var r63;
var r64;
var r50;
var r51;
var r48;
var r56;
var r57;
var r58;
var r59;
var r52;
var r53;
var r6;
var r40;
var r41;
var r42;
var r43;
var r33;
var r34;
var r35;
var r36;
var r37;
var r4;
var r5;
var r7;
var r9;
var r10;
var r12;
var r1;
var shift;
var value12;
var toLowerCase;
var value13;
var value14;
var value15;
var value16;
var endsWith;
var value17;
var value18;
var value19;
var value20;
var value21;
var value22;
var getPositionFromCSSValueBinding;
var positionFromCSSValue;
var value24;
var value25;
var value26;
var value27;
var value28;
var value29;
var object;
var items2;
var includes;
var value30;
var value31;
var value32;
var positionFromCSSValue2;
var value34;
var value35;
var positionFromCSSValue3;
var value37;
var value38;
var value39;
var value40;
var value41;
var value42;
var value43;
var value44;
var value45;
var value46;
var value47;
var value48;
var value49;
var value50;
var value51;
var value52;
var value53;
var value54;
var value55;
var value56;
var value57;
var value58;
var positionFromCSSValueBinding;
var positionFromCSSValueBinding2;
var positionFromCSSValue4;
var value62;
var value63;
var value64;
var positionFromCSSValue5;
var value66;
const binding = env0_7;
const binding2 = env0_8;
const Object = global.Object;
const value2 = Object.assign({}, env0_9);
const value3 = a0.split(RegExp(',(?![^(]*\\))', ''));
const value4 = value3[0].trim();
const value5 = undefined;
const value6 = Module00065(value3);
const value7 = value4.split(RegExp('\\s+', ''));
let length = value7.length;
const value8 = false;
const value9 = 'circle';
const value10 = 'ellipse';
const value11 = null;
if (length > 0) {
r16 = value8;
r17 = value8;
r18 = value8;
r19 = binding2;
r20 = binding;
reducibleLoop1: while (true) {
shift = value7.shift;
value12 = Reflect.apply(shift, value7, []);
if (value11 == value12) {
r33 = r16;
r34 = r17;
r35 = r18;
r36 = r19;
r37 = r20;
} else {
toLowerCase = value12.toLowerCase;
value13 = Reflect.apply(toLowerCase, value12, []);
trim = value13.trim;
value14 = Reflect.apply(trim, value13, []);
value15 = value9 === value14;
reducibleJoin116: while (true) {
reducibleJoin125: while (true) {
if (value15) {
r48 = value15 ? value9 : value10;
value66 = true;
r6 = value66;
r40 = value66;
r41 = r17;
r42 = r19;
r43 = r48;
if (r6) {
r33 = r40;
r34 = r41;
r35 = r6;
r36 = r42;
r37 = r43;
break reducibleJoin116;
}
r4 = value2;
r5 = r42;
r7 = r43;
r9 = r40;
r10 = r41;
r12 = r6;
break reducibleLoop1;
}
if (value10 === value14) {
r48 = value15 ? value9 : value10;
value66 = true;
r6 = value66;
r40 = value66;
r41 = r17;
r42 = r19;
r43 = r48;
} else {
value16 = true;
reducibleJoin115: while (true) {
if (value14 === 'closest-corner') {
r6 = value16;
r40 = r16;
r41 = r17;
r42 = value14;
r43 = r20;
break reducibleJoin115;
}
if (value14 === 'farthest-corner') {
r6 = value16;
r40 = r16;
r41 = r17;
r42 = value14;
r43 = r20;
break reducibleJoin115;
}
if (value14 === 'closest-side') {
r6 = value16;
r40 = r16;
r41 = r17;
r42 = value14;
r43 = r20;
break reducibleJoin115;
}
if (value14 === 'farthest-side') {
r6 = value16;
r40 = r16;
r41 = r17;
r42 = value14;
r43 = r20;
break reducibleJoin115;
}
endsWith = value14.endsWith;
if (!Reflect.apply(endsWith, value14, ['px'])) {
endsWith = value14.endsWith;
reducibleJoin99: while (true) {
if (Reflect.apply(endsWith, value14, ['%'])) {
break reducibleJoin99;
}
if (value14 !== 'at') {
r6 = r18;
r40 = r16;
r41 = r17;
r42 = r19;
r43 = r20;
break reducibleJoin115;
}
length = value7.length;
if (length === 0) {
return value11;
}
length = value7.length;
reducibleJoin117: while (true) {
reducibleJoin90: while (true) {
if (length !== 1) {
r63 = value5;
r64 = value5;
length = value7.length;
if (length === 2) {
shift = value7.shift;
value24 = Reflect.apply(shift, value7, []);
shift = value7.shift;
value25 = Reflect.apply(shift, value7, []);
reducibleJoin64: while (true) {
reducibleJoin96: while (true) {
if (value11 == value24) {
break reducibleJoin96;
}
if (value11 == value25) {
break reducibleJoin96;
}
toLowerCase = value24.toLowerCase;
value26 = Reflect.apply(toLowerCase, value24, []);
trim = value26.trim;
value27 = Reflect.apply(trim, value26, []);
toLowerCase = value25.toLowerCase;
value28 = Reflect.apply(toLowerCase, value25, []);
trim = value28.trim;
value29 = Reflect.apply(trim, value28, []);
object = ['left', 'center', 'right'];
items2 = ['top', 'center', 'bottom'];
includes = object.includes;
if (Reflect.apply(includes, object, [value27])) {
reducibleJoin28: while (true) {
if (items2.includes(value29)) {
value42 = '0%';
reducibleJoin59: while (true) {
if (value27 === 'left') {
r48 = value42;
break reducibleJoin59;
}
value43 = '100%';
reducibleJoin58: while (true) {
if (value27 !== 'center') {
r51 = value43;
break reducibleJoin58;
}
value44 = '50%';
r51 = value44;
break reducibleJoin58;
}
r48 = r51;
break reducibleJoin59;
}
reducibleJoin63: while (true) {
if (value29 === 'top') {
r50 = value42;
break reducibleJoin63;
}
value45 = '100%';
reducibleJoin62: while (true) {
if (value29 !== 'center') {
r51 = value45;
break reducibleJoin62;
}
value46 = '50%';
r51 = value46;
break reducibleJoin62;
}
r50 = r51;
break reducibleJoin63;
}
r63 = r48;
r64 = r50;
break reducibleJoin64;
}
break reducibleJoin28;
}
}
includes = items2.includes;
if (Reflect.apply(includes, items2, [value27])) {
includes = object.includes;
reducibleJoin30: while (true) {
if (Reflect.apply(includes, object,
[value29])) {
value37 = '0%';
reducibleJoin50: while (true) {
if (value29 === 'left') {
r48 = value37;
break reducibleJoin50;
}
value38 = '100%';
reducibleJoin49: while (true) {
if (value29 !== 'center') {
r51 = value38;
break reducibleJoin49;
}
value39 = '50%';
r51 = value39;
break reducibleJoin49;
}
r48 = r51;
break reducibleJoin50;
}
reducibleJoin54: while (true) {
if (value27 === 'top') {
r50 = value37;
break reducibleJoin54;
}
value40 = '100%';
reducibleJoin53: while (true) {
if (value27 !== 'center') {
r51 = value40;
break reducibleJoin53;
}
value41 = '50%';
r51 = value41;
break reducibleJoin53;
}
r50 = r51;
break reducibleJoin54;
}
r63 = r48;
r64 = r50;
break reducibleJoin64;
}
break reducibleJoin30;
}
}
value30 = '0%';
if (value27 === 'left') {
r50 = value30;
} else {
value31 = '50%';
reducibleJoin38: while (true) {
if (value27 === 'center') {
r50 = value31;
break reducibleJoin38;
}
value32 = '100%';
if (value27 === 'right') {
r50 = value32;
break reducibleJoin38;
}
endsWith = value27.endsWith;
if (!Reflect.apply(endsWith, value27, ['px'])) {
endsWith = value27.endsWith;
reducibleJoin36: while (true) {
if (!Reflect.apply(endsWith, value27,
['%'])) {
return value11;
}
break reducibleJoin36;
}
}
positionFromCSSValue2 = getPositionFromCSSValue(value27);
if (value11 == positionFromCSSValue2) {
return value11;
}
r50 = positionFromCSSValue2;
break reducibleJoin38;
}
}
if (value29 === 'top') {
r63 = r50;
r64 = value30;
break reducibleJoin64;
}
value34 = '50%';
if (value29 === 'center') {
r63 = r50;
r64 = value34;
break reducibleJoin64;
}
value35 = '100%';
if (value29 === 'bottom') {
r63 = r50;
r64 = value35;
break reducibleJoin64;
}
endsWith = value29.endsWith;
if (!Reflect.apply(endsWith, value29, ['px'])) {
endsWith = value29.endsWith;
reducibleJoin44: while (true) {
if (!Reflect.apply(endsWith, value29, ['%'])) {
return value11;
}
break reducibleJoin44;
}
}
positionFromCSSValue3 = getPositionFromCSSValue(value29);
if (value11 == positionFromCSSValue3) {
return value11;
}
r63 = r50;
r64 = positionFromCSSValue3;
break reducibleJoin64;
}
return value11;
}
}
length = value7.length;
if (length !== 4) {
r50 = r63;
r51 = r64;
r52 = value5;
r53 = value5;
} else {
shift = value7.shift;
value47 = Reflect.apply(shift, value7, []);
shift = value7.shift;
value48 = Reflect.apply(shift, value7, []);
shift = value7.shift;
value49 = Reflect.apply(shift, value7, []);
shift = value7.shift;
value50 = Reflect.apply(shift, value7, []);
reducibleJoin81: while (true) {
reducibleJoin95: while (true) {
if (value11 == value47) {
break reducibleJoin95;
}
if (value11 == value48) {
break reducibleJoin95;
}
if (value11 == value49) {
break reducibleJoin95;
}
if (value11 != value50) {
toLowerCase = value47.toLowerCase;
value51 = Reflect.apply(toLowerCase, value47, []);
trim = value51.trim;
value52 = Reflect.apply(trim, value51, []);
toLowerCase = value48.toLowerCase;
value53 = Reflect.apply(toLowerCase, value48, []);
trim = value53.trim;
value54 = Reflect.apply(trim, value53, []);
toLowerCase = value49.toLowerCase;
value55 = Reflect.apply(toLowerCase, value49, []);
trim = value55.trim;
value56 = Reflect.apply(trim, value55, []);
toLowerCase = value50.toLowerCase;
value57 = Reflect.apply(toLowerCase, value50, []);
trim = value57.trim;
value58 = Reflect.apply(trim, value57, []);
getPositionFromCSSValueBinding = getPositionFromCSSValue;
positionFromCSSValueBinding = getPositionFromCSSValueBinding(value54);
positionFromCSSValueBinding2 = getPositionFromCSSValueBinding(value58);
if (value11 != positionFromCSSValueBinding) {
reducibleJoin94: while (true) {
if (value11 == positionFromCSSValueBinding2) {
break reducibleJoin94;
}
if (value52 === 'left') {
r56 = value5;
r57 = positionFromCSSValueBinding;
r58 = r64;
r59 = value5;
} else {
reducibleJoin76: while (true) {
if (value52 === 'right') {
r56 = positionFromCSSValueBinding;
r57 = r63;
r58 = r64;
r59 = value5;
break reducibleJoin76;
}
if (value52 === 'top') {
r56 = value5;
r57 = r63;
r58 = positionFromCSSValueBinding;
r59 = value5;
break reducibleJoin76;
}
if (value52 !== 'bottom') {
return value11;
}
r56 = value5;
r57 = r63;
r58 = r64;
r59 = positionFromCSSValueBinding;
break reducibleJoin76;
}
}
if (value56 === 'left') {
r50 = positionFromCSSValueBinding2;
r51 = r58;
r52 = r56;
r53 = r59;
break reducibleJoin81;
}
if (value56 === 'right') {
r50 = r57;
r51 = r58;
r52 = positionFromCSSValueBinding2;
r53 = r59;
break reducibleJoin81;
}
if (value56 === 'top') {
r50 = r57;
r51 = positionFromCSSValueBinding2;
r52 = r56;
r53 = r59;
break reducibleJoin81;
}
if (value56 !== 'bottom') {
return value11;
}
r50 = r57;
r51 = r58;
r52 = r56;
r53 = positionFromCSSValueBinding2;
break reducibleJoin81;
}
}
return value11;
}
break reducibleJoin95;
}
return value11;
}
}
if (value11 != r51) {
reducibleJoin83: while (true) {
if (value11 != r50) {
r4 = {top: r51, left: r50};
r5 = r19;
r7 = r20;
r9 = r16;
r10 = r17;
r12 = value16;
break reducibleJoin117;
}
break reducibleJoin83;
}
}
if (value11 != r53) {
reducibleJoin85: while (true) {
if (value11 != r52) {
r4 = {bottom: r53, right: r52};
r5 = r19;
r7 = r20;
r9 = r16;
r10 = r17;
r12 = value16;
break reducibleJoin117;
}
break reducibleJoin85;
}
}
if (value11 != r51) {
reducibleJoin87: while (true) {
if (value11 != r52) {
r4 = {top: r51, right: r52};
r5 = r19;
r7 = r20;
r9 = r16;
r10 = r17;
r12 = value16;
break reducibleJoin117;
}
break reducibleJoin87;
}
}
if (value11 == r53) {
break reducibleJoin90;
}
if (value11 == r50) {
break reducibleJoin90;
}
r4 = {bottom: r53, left: r50};
r5 = r19;
r7 = r20;
r9 = r16;
r10 = r17;
r12 = value16;
break reducibleJoin117;
}
shift = value7.shift;
value17 = Reflect.apply(shift, value7, []);
if (value11 == value17) {
return value11;
}
toLowerCase = value17.toLowerCase;
value18 = Reflect.apply(toLowerCase, value17, []);
trim = value18.trim;
value19 = Reflect.apply(trim, value18, []);
value20 = '50%';
value21 = '0%';
if (value19 === 'left') {
r63 = value21;
r64 = value20;
} else {
reducibleJoin23: while (true) {
if (value19 === 'center') {
r63 = value20;
r64 = value20;
break reducibleJoin23;
}
value22 = '100%';
if (value19 === 'right') {
r63 = value22;
r64 = value20;
break reducibleJoin23;
}
if (value19 === 'top') {
r63 = value20;
r64 = value21;
break reducibleJoin23;
}
if (value19 === 'bottom') {
r63 = value20;
r64 = value22;
break reducibleJoin23;
}
endsWith = value19.endsWith;
if (!Reflect.apply(endsWith, value19, ['px'])) {
endsWith = value19.endsWith;
reducibleJoin21: while (true) {
if (Reflect.apply(endsWith, value19, ['%'])) {
break reducibleJoin21;
}
r63 = value5;
r64 = value5;
break reducibleJoin23;
}
}
positionFromCSSValue = getPositionFromCSSValue(value19);
if (value11 == positionFromCSSValue) {
return value11;
}
r63 = positionFromCSSValue;
r64 = value20;
break reducibleJoin23;
}
}
length = value7.length;
if (length === 2) {
shift = value7.shift;
value24 = Reflect.apply(shift, value7, []);
shift = value7.shift;
value25 = Reflect.apply(shift, value7, []);
reducibleJoin64: while (true) {
reducibleJoin96: while (true) {
if (value11 == value24) {
break reducibleJoin96;
}
if (value11 == value25) {
break reducibleJoin96;
}
toLowerCase = value24.toLowerCase;
value26 = Reflect.apply(toLowerCase, value24, []);
trim = value26.trim;
value27 = Reflect.apply(trim, value26, []);
toLowerCase = value25.toLowerCase;
value28 = Reflect.apply(toLowerCase, value25, []);
trim = value28.trim;
value29 = Reflect.apply(trim, value28, []);
object = ['left', 'center', 'right'];
items2 = ['top', 'center', 'bottom'];
includes = object.includes;
if (Reflect.apply(includes, object, [value27])) {
reducibleJoin28: while (true) {
if (items2.includes(value29)) {
value42 = '0%';
reducibleJoin59: while (true) {
if (value27 === 'left') {
r48 = value42;
break reducibleJoin59;
}
value43 = '100%';
reducibleJoin58: while (true) {
if (value27 !== 'center') {
r51 = value43;
break reducibleJoin58;
}
value44 = '50%';
r51 = value44;
break reducibleJoin58;
}
r48 = r51;
break reducibleJoin59;
}
reducibleJoin63: while (true) {
if (value29 === 'top') {
r50 = value42;
break reducibleJoin63;
}
value45 = '100%';
reducibleJoin62: while (true) {
if (value29 !== 'center') {
r51 = value45;
break reducibleJoin62;
}
value46 = '50%';
r51 = value46;
break reducibleJoin62;
}
r50 = r51;
break reducibleJoin63;
}
r63 = r48;
r64 = r50;
break reducibleJoin64;
}
break reducibleJoin28;
}
}
includes = items2.includes;
if (Reflect.apply(includes, items2, [value27])) {
includes = object.includes;
reducibleJoin30: while (true) {
if (Reflect.apply(includes, object, [value29])) {
value37 = '0%';
reducibleJoin50: while (true) {
if (value29 === 'left') {
r48 = value37;
break reducibleJoin50;
}
value38 = '100%';
reducibleJoin49: while (true) {
if (value29 !== 'center') {
r51 = value38;
break reducibleJoin49;
}
value39 = '50%';
r51 = value39;
break reducibleJoin49;
}
r48 = r51;
break reducibleJoin50;
}
reducibleJoin54: while (true) {
if (value27 === 'top') {
r50 = value37;
break reducibleJoin54;
}
value40 = '100%';
reducibleJoin53: while (true) {
if (value27 !== 'center') {
r51 = value40;
break reducibleJoin53;
}
value41 = '50%';
r51 = value41;
break reducibleJoin53;
}
r50 = r51;
break reducibleJoin54;
}
r63 = r48;
r64 = r50;
break reducibleJoin64;
}
break reducibleJoin30;
}
}
value30 = '0%';
if (value27 === 'left') {
r50 = value30;
} else {
value31 = '50%';
reducibleJoin38: while (true) {
if (value27 === 'center') {
r50 = value31;
break reducibleJoin38;
}
value32 = '100%';
if (value27 === 'right') {
r50 = value32;
break reducibleJoin38;
}
endsWith = value27.endsWith;
if (!Reflect.apply(endsWith, value27, ['px'])) {
endsWith = value27.endsWith;
reducibleJoin36: while (true) {
if (!Reflect.apply(endsWith, value27,
['%'])) {
return value11;
}
break reducibleJoin36;
}
}
positionFromCSSValue2 = getPositionFromCSSValue(value27);
if (value11 == positionFromCSSValue2) {
return value11;
}
r50 = positionFromCSSValue2;
break reducibleJoin38;
}
}
if (value29 === 'top') {
r63 = r50;
r64 = value30;
break reducibleJoin64;
}
value34 = '50%';
if (value29 === 'center') {
r63 = r50;
r64 = value34;
break reducibleJoin64;
}
value35 = '100%';
if (value29 === 'bottom') {
r63 = r50;
r64 = value35;
break reducibleJoin64;
}
endsWith = value29.endsWith;
if (!Reflect.apply(endsWith, value29, ['px'])) {
endsWith = value29.endsWith;
reducibleJoin44: while (true) {
if (!Reflect.apply(endsWith, value29, ['%'])) {
return value11;
}
break reducibleJoin44;
}
}
positionFromCSSValue3 = getPositionFromCSSValue(value29);
if (value11 == positionFromCSSValue3) {
return value11;
}
r63 = r50;
r64 = positionFromCSSValue3;
break reducibleJoin64;
}
return value11;
}
}
length = value7.length;
if (length !== 4) {
r50 = r63;
r51 = r64;
r52 = value5;
r53 = value5;
} else {
shift = value7.shift;
value47 = Reflect.apply(shift, value7, []);
shift = value7.shift;
value48 = Reflect.apply(shift, value7, []);
shift = value7.shift;
value49 = Reflect.apply(shift, value7, []);
shift = value7.shift;
value50 = Reflect.apply(shift, value7, []);
reducibleJoin81: while (true) {
reducibleJoin95: while (true) {
if (value11 == value47) {
break reducibleJoin95;
}
if (value11 == value48) {
break reducibleJoin95;
}
if (value11 == value49) {
break reducibleJoin95;
}
if (value11 != value50) {
toLowerCase = value47.toLowerCase;
value51 = Reflect.apply(toLowerCase, value47, []);
trim = value51.trim;
value52 = Reflect.apply(trim, value51, []);
toLowerCase = value48.toLowerCase;
value53 = Reflect.apply(toLowerCase, value48, []);
trim = value53.trim;
value54 = Reflect.apply(trim, value53, []);
toLowerCase = value49.toLowerCase;
value55 = Reflect.apply(toLowerCase, value49, []);
trim = value55.trim;
value56 = Reflect.apply(trim, value55, []);
toLowerCase = value50.toLowerCase;
value57 = Reflect.apply(toLowerCase, value50, []);
trim = value57.trim;
value58 = Reflect.apply(trim, value57, []);
getPositionFromCSSValueBinding = getPositionFromCSSValue;
positionFromCSSValueBinding = getPositionFromCSSValueBinding(value54);
positionFromCSSValueBinding2 = getPositionFromCSSValueBinding(value58);
if (value11 != positionFromCSSValueBinding) {
reducibleJoin94: while (true) {
if (value11 == positionFromCSSValueBinding2) {
break reducibleJoin94;
}
if (value52 === 'left') {
r56 = value5;
r57 = positionFromCSSValueBinding;
r58 = r64;
r59 = value5;
} else {
reducibleJoin76: while (true) {
if (value52 === 'right') {
r56 = positionFromCSSValueBinding;
r57 = r63;
r58 = r64;
r59 = value5;
break reducibleJoin76;
}
if (value52 === 'top') {
r56 = value5;
r57 = r63;
r58 = positionFromCSSValueBinding;
r59 = value5;
break reducibleJoin76;
}
if (value52 !== 'bottom') {
return value11;
}
r56 = value5;
r57 = r63;
r58 = r64;
r59 = positionFromCSSValueBinding;
break reducibleJoin76;
}
}
if (value56 === 'left') {
r50 = positionFromCSSValueBinding2;
r51 = r58;
r52 = r56;
r53 = r59;
break reducibleJoin81;
}
if (value56 === 'right') {
r50 = r57;
r51 = r58;
r52 = positionFromCSSValueBinding2;
r53 = r59;
break reducibleJoin81;
}
if (value56 === 'top') {
r50 = r57;
r51 = positionFromCSSValueBinding2;
r52 = r56;
r53 = r59;
break reducibleJoin81;
}
if (value56 !== 'bottom') {
return value11;
}
r50 = r57;
r51 = r58;
r52 = r56;
r53 = positionFromCSSValueBinding2;
break reducibleJoin81;
}
}
return value11;
}
break reducibleJoin95;
}
return value11;
}
}
if (value11 != r51) {
reducibleJoin83: while (true) {
if (value11 != r50) {
r4 = {top: r51, left: r50};
r5 = r19;
r7 = r20;
r9 = r16;
r10 = r17;
r12 = value16;
break reducibleJoin117;
}
break reducibleJoin83;
}
}
if (value11 != r53) {
reducibleJoin85: while (true) {
if (value11 != r52) {
r4 = {bottom: r53, right: r52};
r5 = r19;
r7 = r20;
r9 = r16;
r10 = r17;
r12 = value16;
break reducibleJoin117;
}
break reducibleJoin85;
}
}
if (value11 != r51) {
reducibleJoin87: while (true) {
if (value11 != r52) {
r4 = {top: r51, right: r52};
r5 = r19;
r7 = r20;
r9 = r16;
r10 = r17;
r12 = value16;
break reducibleJoin117;
}
break reducibleJoin87;
}
}
if (value11 == r53) {
break reducibleJoin90;
}
if (value11 == r50) {
break reducibleJoin90;
}
r4 = {bottom: r53, left: r50};
r5 = r19;
r7 = r20;
r9 = r16;
r10 = r17;
r12 = value16;
break reducibleJoin117;
}
return value11;
}
break reducibleLoop1;
}
}
positionFromCSSValue4 = getPositionFromCSSValue(value14);
if (value11 == positionFromCSSValue4) {
return value11;
}
if (typeof positionFromCSSValue4 === 'number') {
reducibleJoin102: while (true) {
if (positionFromCSSValue4 < 0) {
return value11;
}
break reducibleJoin102;
}
}
object = {x: positionFromCSSValue4, y: positionFromCSSValue4};
shift = value7.shift;
value62 = Reflect.apply(shift, value7, []);
if (value11 == value62) {
r33 = r16;
r34 = value16;
r35 = value16;
r36 = object;
r37 = r20;
break reducibleJoin116;
}
toLowerCase = value62.toLowerCase;
value63 = Reflect.apply(toLowerCase, value62, []);
trim = value63.trim;
value64 = Reflect.apply(trim, value63, []);
endsWith = value64.endsWith;
if (!Reflect.apply(endsWith, value64, ['px'])) {
endsWith = value64.endsWith;
reducibleJoin105: while (true) {
if (Reflect.apply(endsWith, value64, ['%'])) {
break reducibleJoin105;
}
r6 = value16;
r40 = r16;
r41 = value16;
r42 = object;
r43 = r20;
break reducibleJoin115;
}
}
positionFromCSSValue5 = getPositionFromCSSValue(value64);
if (value11 == positionFromCSSValue5) {
return value11;
}
if (typeof positionFromCSSValue5 === 'number') {
reducibleJoin108: while (true) {
if (positionFromCSSValue5 < 0) {
return value11;
}
break reducibleJoin108;
}
}
r6 = value16;
r40 = r16;
r41 = r17;
r42 = {x: positionFromCSSValue4, y: positionFromCSSValue5};
r43 = r20;
break reducibleJoin115;
}
}
if (r6) {
r33 = r40;
r34 = r41;
r35 = r6;
r36 = r42;
r37 = r43;
break reducibleJoin116;
}
r4 = value2;
r5 = r42;
r7 = r43;
r9 = r40;
r10 = r41;
r12 = r6;
break reducibleLoop1;
}
return r1;
}
}
length = value7.length;
if (length > 0) {
r16 = r33;
r17 = r34;
r18 = r35;
r19 = r36;
r20 = r37;
continue reducibleLoop1;
}
r4 = value2;
r5 = r36;
r7 = r37;
r9 = r33;
r10 = r34;
r12 = r35;
break reducibleLoop1;
}
} else {
r4 = value2;
r5 = binding2;
r7 = binding;
r9 = value8;
r10 = value8;
r12 = value8;
}
if (r12) {
value6.shift();
r7 = !r9 && r10 ? value9 : r7;
reducibleJoin123: while (true) {
if (r10) {
if (r9) {
if (value10 === r7) {
return value11;
}
r6 = r7;
break reducibleJoin123;
}
r6 = r7;
break reducibleJoin123;
}
r6 = r7;
break reducibleJoin123;
}
} else {
r6 = r7;
}
const colorStopsCSSString = parseColorStopsCSSString(value6);
reducibleJoin125: while (true) {
if (value11 == colorStopsCSSString) {
r1 = value11;
break reducibleJoin125;
}
r1 = {type: 'radial-gradient', shape: r6, size: r5, position: r4, colorStops: colorStopsCSSString};
break reducibleJoin125;
}
return r1;
}
function parseLinearGradientCSSString(a0) { // fn#1499, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:109:3814, offset: 0x00c5febd, size: 211 bytes, params: 2, frame: 15
var r4;
var directionForKeyword;
var angleInDegrees;
var object;
var value7;
let value = a0.split(',');
const binding = env0_6;
const value4 = value[0].trim().toLowerCase();
const binding2 = env0_5;
if (binding2.test(value4)) {
angleInDegrees = getAngleInDegrees(value4);
if (angleInDegrees == null) {
return null;
}
object = {type: 'angle', value: angleInDegrees};
value.shift();
r4 = object;
} else {
var binding3 = env0_4;
if (binding3.test(value4)) {
directionForKeyword = getDirectionForKeyword(value4);
if (directionForKeyword == null) {
return null;
}
value.shift();
r4 = directionForKeyword;
value = parseColorStopsCSSString(value);
value7 = null;
return value7 == value ? value7 : {type: 'linear-gradient', direction: r4, colorStops: value};
}
r4 = binding;
}
value = parseColorStopsCSSString(value);
value7 = null;
return value7 == value ? value7 : {type: 'linear-gradient', direction: r4, colorStops: value};
}
function parseColorStopsCSSString(a0) { // fn#1500, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:109:4197, offset: 0x00c5ff90, size: 657 bytes, params: 2, frame: 40
var r10;
var r11;
var property;
var trim;
var value5;
var toLowerCase;
var value6;
var match;
var value7;
var getPositionFromCSSValueBinding;
var positionFromCSSValue;
var moduleValue;
var value9;
var push;
var positionFromCSSValue2;
var moduleValue2;
var value11;
var positionFromCSSValueBinding;
var positionFromCSSValueBinding2;
var moduleValue3;
var value14;
var value15;
const items2 = [];
let value = a0.join(',');
value = value.split(RegExp(',(?![^(]*\\))', ''));
let length = value.length;
const value2 = 0;
const value3 = null;
if (value2 < length) {
r10 = value2;
r11 = value3;
reducibleLoop1: while (true) {
property = value[r10];
trim = property.trim;
value5 = Reflect.apply(trim, property, []);
toLowerCase = value5.toLowerCase;
value6 = Reflect.apply(toLowerCase, value5, []);
match = value6.match;
value7 = Reflect.apply(match, value6, [RegExp('\\S+\\([^)]*\\)|\\S+', 'g')]);
if (value3 == value7) {
return value3;
}
length = value7.length;
if (length === 3) {
property = value7[value2];
getPositionFromCSSValueBinding = getPositionFromCSSValue;
positionFromCSSValueBinding = getPositionFromCSSValueBinding(value7[1]);
positionFromCSSValueBinding2 = getPositionFromCSSValueBinding(value7[2]);
moduleValue3 = require(38) /* metro dependency 38 */;
value14 = moduleValue3.default(property);
if (value3 == value14) {
return value3;
}
reducibleJoin26: while (true) {
reducibleJoin28: while (true) {
if (value3 == positionFromCSSValueBinding) {
break reducibleJoin28;
}
if (value3 == positionFromCSSValueBinding2) {
break reducibleJoin28;
}
push = items2.push;
Reflect.apply(push, items2, [{color: value14, position: positionFromCSSValueBinding}]);
push = items2.push;
Reflect.apply(push, items2, [{color: value14, position: positionFromCSSValueBinding2}]);
break reducibleJoin26;
}
return value3;
}
} else {
length = value7.length;
if (length === 2) {
property = value7[value2];
positionFromCSSValue2 = getPositionFromCSSValue(value7[1]);
moduleValue2 = require(38) /* metro dependency 38 */;
value11 = moduleValue2.default(property);
if (value3 == value11) {
return value3;
}
if (value3 == positionFromCSSValue2) {
return value3;
}
push = items2.push;
Reflect.apply(push, items2, [{color: value11, position: positionFromCSSValue2}]);
} else {
length = value7.length;
if (length !== 1) {
return value3;
}
positionFromCSSValue = getPositionFromCSSValue(value7[value2]);
if (value3 != positionFromCSSValue) {
reducibleJoin26: while (true) {
reducibleJoin15: while (true) {
if (value3 == r11) {
if (r10 === value.length - 1) {
break reducibleJoin15;
}
if (value2 === r10) {
break reducibleJoin15;
}
items2.push({color: value3, position: positionFromCSSValue});
break reducibleJoin26;
}
length = r11.length;
if (length === 1) {
reducibleJoin12: while (true) {
if (value3 != getPositionFromCSSValue(r11[value2])) {
break reducibleJoin15;
}
break reducibleJoin12;
}
}
length = value.length;
if (r10 === length - 1) {
break reducibleJoin15;
}
if (value2 === r10) {
break reducibleJoin15;
}
push = items2.push;
Reflect.apply(push, items2, [{color: value3, position: positionFromCSSValue}]);
break reducibleJoin26;
}
return value3;
}
} else {
moduleValue = require(38) /* metro dependency 38 */;
value9 = moduleValue.default(value7[value2]);
if (value3 == value9) {
return value3;
}
push = items2.push;
Reflect.apply(push, items2, [{color: value9, position: value3}]);
}
}
}
value15 = typeof r10 === 'bigint' ? r10 + 1n : +r10 + 1;
length = value.length;
if (!(value15 < length)) {
return items2;
}
r10 = value15;
r11 = value7;
continue reducibleLoop1;
}
}
return items2;
}
function getAngleInDegrees(a0) { // fn#1502, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:109:5733, offset: 0x00c6033e, size: 176 bytes, params: 2, frame: 15
var property;
var property2;
if (a0 != null) {
var value;
var value2 = a0.match(env0_5);
if (value2) {
value = Module00057(value2, 3);
property = value[1];
property2 = value[2];
value = global.parseFloat(property);
if (property2 === 'deg') {
return value;
}
if (property2 === 'grad') {
return 0.9 * value;
}
if (property2 === 'rad') {
value = 180 * value;
return value / global.Math.PI;
}
if (property2 === 'turn') {
return 360 * value;
}
return null;
}
}
return null;
}
function processBackgroundImage(a0) { // fn#1504, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:109:6100, offset: 0x00c6042d, size: 834 bytes, params: 2, frame: 41
var r25;
var r26;
var r27;
var r28;
var r21;
var processColorStopsBinding;
var value3;
var value4;
var type;
var value5;
var value6;
var binding;
var binding2;
var Object;
var assign;
var binding3;
var value7;
var shape;
var value8;
var value9;
var value10;
var size;
var value11;
var value12;
var value13;
var value14;
var value15;
var value16;
var value17;
var x;
var value18;
var y;
var value19;
var position;
var value20;
var concat;
var value21;
var direction;
var value22;
var toLowerCase;
var value23;
var value24;
var test;
var value25;
var value26;
var getDirectionForKeywordBinding;
var directionForKeywordBinding;
var value28;
var getAngleInDegreesBinding;
var angleInDegreesBinding;
var value30;
var value31;
var error;
let object = [];
let value = null;
if (value == a0) {
return object;
}
if (typeof a0 === 'string') {
value = a0.replace(RegExp('\\n', 'g'), ' ');
value = parseBackgroundImageCSSString(value);
return value;
}
const Array = global.Array;
if (!Array.isArray(a0)) {
return object;
}
const iterator = a0[Symbol.iterator]();
const iterator2 = iterator.next;
let r0 = object;
let r2 = iterator;
let item2 = Reflect.apply(iterator2, r2, []);
let item = item2.value;
item2 = item2.done ? undefined : r2;
if (item2 === undefined) {
return r0;
}
reducibleLoop5: while (true) {
try {
processColorStopsBinding = processColorStops;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value3 = processColorStopsBinding(item);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value4 = value == value3;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (value4) {
item2.return();
return [];
}
try {
type = item.type;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value5 = type === 'linear-gradient';
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (value5) {
try {
binding = env0_6;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
direction = item.direction;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value22 = value != direction;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
reducibleJoin107: while (true) {
if (value22) {
try {
direction = item.direction;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
toLowerCase = direction.toLowerCase;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value23 = Reflect.apply(toLowerCase, direction, []);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r28 = value23;
break reducibleJoin107;
}
r28 = value;
break reducibleJoin107;
}
try {
value24 = value == r28;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
reducibleJoin146: while (true) {
reducibleJoin145: while (true) {
if (value24) {
r21 = binding;
try {
concat = r0.concat;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object = {};
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.type = 'linear-gradient';
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.direction = r21;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.colorStops = value3;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
break reducibleJoin145;
}
try {
binding = env0_5;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
test = binding.test;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value25 = Reflect.apply(test, binding, [r28]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (value25) {
try {
getAngleInDegreesBinding = getAngleInDegrees;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
angleInDegreesBinding = getAngleInDegreesBinding(r28);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value30 = value == angleInDegreesBinding;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (value30) {
item2.return();
return [];
}
try {
object = {};
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.type = 'angle';
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.value = angleInDegreesBinding;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r21 = object;
} else {
try {
binding = env0_4;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
test = binding.test;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value26 = Reflect.apply(test, binding, [r28]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (!value26) {
item2.return();
return [];
}
try {
getDirectionForKeywordBinding = getDirectionForKeyword;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
directionForKeywordBinding = getDirectionForKeywordBinding(r28);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value28 = value == directionForKeywordBinding;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (value28) {
item2.return();
return [];
}
r21 = directionForKeywordBinding;
}
try {
concat = r0.concat;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object = {};
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.type = 'linear-gradient';
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.direction = r21;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.colorStops = value3;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
break reducibleJoin145;
}
try {
value31 = Reflect.apply(concat, r0, [object]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r0 = value31;
break reducibleJoin146;
}
} else {
try {
type = item.type;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value6 = type !== 'radial-gradient';
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
reducibleJoin146: while (true) {
if (value6) {
break reducibleJoin146;
}
try {
binding = env0_7;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
binding2 = env0_8;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
Object = global.Object;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
assign = Object.assign;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
binding3 = env0_9;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object = {};
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value7 = Reflect.apply(assign, Object, [object, binding3]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
shape = item.shape;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value8 = value == shape;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (value8) {
r25 = binding;
} else {
try {
shape = item.shape;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value9 = shape === 'circle';
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
reducibleJoin34: while (true) {
reducibleJoin33: while (true) {
if (value9) {
break reducibleJoin33;
}
try {
shape = item.shape;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value10 = shape !== 'ellipse';
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (value10) {
item2.return();
return [];
}
break reducibleJoin33;
}
try {
shape = item.shape;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r25 = shape;
break reducibleJoin34;
}
}
try {
size = item.size;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value11 = value == size;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (value11) {
r26 = binding2;
} else {
try {
size = item.size;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value12 = typeof size !== 'string';
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
reducibleJoin77: while (true) {
reducibleJoin96: while (true) {
if (value12) {
try {
size = item.size;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value17 = typeof size !== 'object';
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (value17) {
break reducibleJoin96;
}
try {
size = item.size;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
x = size.x;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value18 = value == x;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (value18) {
break reducibleJoin96;
}
try {
size = item.size;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
y = size.y;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value19 = value == y;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (value19) {
break reducibleJoin96;
}
try {
object = {};
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
size = item.size;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
x = size.x;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.x = x;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
size = item.size;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
y = size.y;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.y = y;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r26 = object;
break reducibleJoin77;
}
try {
size = item.size;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value13 = size === 'closest-side';
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (!value13) {
try {
size = item.size;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value14 = size === 'closest-corner';
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
reducibleJoin53: while (true) {
if (value14) {
break reducibleJoin53;
}
try {
size = item.size;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value15 = size === 'farthest-side';
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (value15) {
break reducibleJoin53;
}
try {
size = item.size;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value16 = size !== 'farthest-corner';
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (!value16) {
break reducibleJoin53;
}
try {
size = item.size;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value17 = typeof size !== 'object';
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
reducibleJoin78: while (true) {
reducibleJoin96: while (true) {
if (value17) {
break reducibleJoin96;
}
try {
size = item.size;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
x = size.x;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value18 = value == x;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (value18) {
break reducibleJoin96;
}
try {
size = item.size;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
y = size.y;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value19 = value == y;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (value19) {
break reducibleJoin96;
}
try {
object = {};
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
size = item.size;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
x = size.x;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.x = x;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
size = item.size;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
y = size.y;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.y = y;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r26 = object;
break reducibleJoin77;
}
item2.return();
return [];
}
try {
position = item.position;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value20 = value == position;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
reducibleJoin82: while (true) {
if (value20) {
r27 = value7;
break reducibleJoin82;
}
try {
position = item.position;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r27 = position;
break reducibleJoin82;
}
try {
concat = r0.concat;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object = {};
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.type = 'radial-gradient';
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.shape = r25;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.size = r26;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.position = r27;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.colorStops = value3;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value21 = Reflect.apply(concat, r0, [object]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r0 = value21;
break reducibleJoin146;
}
}
try {
size = item.size;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r26 = size;
break reducibleJoin77;
}
item2.return();
return [];
}
}
try {
position = item.position;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value20 = value == position;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
reducibleJoin82: while (true) {
if (value20) {
r27 = value7;
break reducibleJoin82;
}
try {
position = item.position;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r27 = position;
break reducibleJoin82;
}
try {
concat = r0.concat;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object = {};
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.type = 'radial-gradient';
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.shape = r25;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.size = r26;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.position = r27;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object.colorStops = value3;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value21 = Reflect.apply(concat, r0, [object]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r0 = value21;
break reducibleJoin146;
}
}
r2 = item2;
item2 = Reflect.apply(iterator2, r2, []);
item = item2.value;
item2 = item2.done ? undefined : r2;
if (item2 === undefined) {
return r0;
}
continue reducibleLoop5;
}
function parseBackgroundImageCSSString(a0) { // fn#1505, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:109:6188, owner: processBackgroundImage.parseBackgroundImageCSSString, offset: 0x00c6076f, size: 364 bytes, params: 2, frame: 30
var r5;
var r6;
var r7;
var r2;
var r17;
var r18;
var r4;
var r13;
var property;
var push;
var trim;
var value3;
var value4;
var value5;
var value6;
var toLowerCase;
var value7;
var regexp;
var exec;
var value8;
var binding;
var value9;
var property2;
var value10;
var value11;
var parseLinearGradientCSSStringBinding;
var linearGradientCSSString;
var parseRadialGradientCSSStringBinding;
var radialGradientCSSString;
var value12;
var error;
const items3 = [];
const items2 = [];
let length = a0.length;
let value = 0;
const value2 = '';
if (value < length) {
r5 = value;
r6 = value;
r7 = value2;
reducibleLoop1: while (true) {
property = a0[r5];
reducibleJoin9: while (true) {
reducibleJoin8: while (true) {
if (property === '(') {
value4 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r2 = value4;
break reducibleJoin8;
}
if (property === ')') {
value3 = typeof r6 === 'bigint' ? r6 - 1n : +r6 - 1;
r2 = value3;
break reducibleJoin8;
}
if (property !== ',') {
r2 = r6;
break reducibleJoin8;
}
if (value !== r6) {
r2 = r6;
break reducibleJoin8;
}
push = items2.push;
trim = r7.trim;
Reflect.apply(push, items2, [Reflect.apply(trim, r7, [])]);
r17 = value2;
r18 = r6;
break reducibleJoin9;
}
value5 = r7 + property;
r17 = value5;
r18 = r2;
break reducibleJoin9;
}
value6 = typeof r5 === 'bigint' ? r5 + 1n : +r5 + 1;
length = a0.length;
if (value6 < length) {
r5 = value6;
r6 = r18;
r7 = r17;
continue reducibleLoop1;
}
r4 = r17;
break reducibleLoop1;
}
} else {
r4 = value2;
}
trim = r4.trim;
reducibleJoin12: while (true) {
if (value2 === Reflect.apply(trim, r4, [])) {
break reducibleJoin12;
}
push = items2.push;
trim = r4.trim;
Reflect.apply(push, items2, [Reflect.apply(trim, r4, [])]);
break reducibleJoin12;
}
const iterator = items2[Symbol.iterator]();
const iterator2 = iterator.next;
value = environment.__proto__;
r2 = iterator;
let item2 = Reflect.apply(iterator2, r2, []);
let item = item2.value;
item2 = item2.done ? undefined : r2;
reducibleJoin14: while (true) {
if (item2 === undefined) {
return items3;
}
break reducibleJoin14;
}
reducibleLoop14: while (true) {
try {
toLowerCase = item.toLowerCase;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value7 = Reflect.apply(toLowerCase, item, []);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
regexp = RegExp('^(linear|radial)-gradient\\(((?:\\([^)]*\\)|[^()])*)\\)', '');
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
exec = regexp.exec;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value8 = Reflect.apply(exec, regexp, [value7]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
reducibleJoin13: while (true) {
if (value8) {
try {
binding = env1_3;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value9 = binding(value8, 3);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
property = value9[1];
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
property2 = value9[2];
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
toLowerCase = property.toLowerCase;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value10 = Reflect.apply(toLowerCase, property, []);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
value11 = value10 === 'radial';
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (value11) {
try {
parseRadialGradientCSSStringBinding = parseRadialGradientCSSString;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
radialGradientCSSString = parseRadialGradientCSSStringBinding(property2);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r13 = radialGradientCSSString;
} else {
try {
parseLinearGradientCSSStringBinding = parseLinearGradientCSSString;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
linearGradientCSSString = parseLinearGradientCSSStringBinding(property2);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r13 = linearGradientCSSString;
}
try {
value12 = r13 == null;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
if (value12) {
r2 = item2;
break reducibleJoin13;
}
try {
push = items3.push;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
Reflect.apply(push, items3, [r13]);
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r2 = item2;
break reducibleJoin13;
}
r2 = item2;
break reducibleJoin13;
}
item2 = Reflect.apply(iterator2, r2, []);
item = item2.value;
item2 = item2.done ? undefined : r2;
if (item2 === undefined) {
break reducibleLoop14;
}
continue reducibleLoop14;
}
return items3;
}
}
}
function getDirectionForKeyword(a0) { // fn#1501, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:109:5091, offset: 0x00c60221, size: 285 bytes, params: 2, frame: 14
if (a0 != null) {
var value = a0.replace(RegExp('\\s+', 'g'), ' ');
value = value.toLowerCase();
if (value === 'to top') {
return {'type': 'angle', 'value': 0};
}
if (value === 'to right') {
return {'type': 'angle', 'value': 90};
}
if (value === 'to bottom') {
return {'type': 'angle', 'value': 180};
}
if (value === 'to left') {
return {'type': 'angle', 'value': 270};
}
if (value === 'to top right') {
return {'type': 'keyword', 'value': 'to top right'};
}
if (value === 'to right top') {
return {'type': 'keyword', 'value': 'to top right'};
}
if (value === 'to bottom right') {
return {'type': 'keyword', 'value': 'to bottom right'};
}
if (value === 'to right bottom') {
return {'type': 'keyword', 'value': 'to bottom right'};
}
if (value === 'to top left') {
return {'type': 'keyword', 'value': 'to top left'};
}
if (value === 'to left top') {
return {'type': 'keyword', 'value': 'to top left'};
}
if (value === 'to bottom left') {
return {'type': 'keyword', 'value': 'to bottom left'};
}
if (value === 'to left bottom') {
return {'type': 'keyword', 'value': 'to bottom left'};
}
}
return null;
}
global.__d(_fun1496, 84, [65, 57, 38]) /* metro module 84, dependencies: [65, 57, 38] */;