Files
discord-decomp/sources/modules/messages/native/renderer/ChatManager.tsx
T
2026-07-27 16:20:00 +03:00

1811 lines
120 KiB
TypeScript

/* Metro module 11342; source: modules/messages/native/renderer/ChatManager.tsx; dependencies: [6, 7, 8178, 11343, 644, 2] */
function _fun86712(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#86712, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11528:6, offset: 0x01f9d56e, size: 238 bytes, params: 8, frame: 19
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importDefault(6) /* metro dependency 6 */;
const env0_3 = importDefault(7) /* metro dependency 7 */;
let value = require(8178) /* metro dependency 8178: RowGeneratorConstants */;
const env0_4 = value.Changeset;
const env0_5 = value.RowType;
value = _fun86713();
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/messages/native/renderer/ChatManager.tsx');
exports.default = value;
exports.MockChatManager = {determineChangeType: function() {
return Changeset.NOOP;
}, determineChangeTypeForUploadProgress: function() {
return Changeset.NOOP;
}, determineChangeTypeForEmbeddedActivity: function() {
return Changeset.NOOP;
}, getBlocked: function() {
return false;
}, getIgnored: function() {
return false;
}};
}
function _fun86713() { // fn#86713, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11528:154, offset: 0x01f9d65c, size: 367 bytes, params: 1, frame: 15
return env0_3(ChatManager, [{key: 'getPreviousMessages', value: function() {
return this._messages;
}}, {key: 'getPreviousRows', value: function() {
return this._rows;
}}, {key: 'getBlocked', value: function(a0) {
if (this._messages == null) {
return false;
}
var property = global.Array;
if (property.isArray(this._messages)) {
return false;
}
property = this._messages._map;
property = property[a0.id];
return property != null && !(property.blocked || !a0.blocked);
}}, {key: 'getIgnored', value: function(a0) {
if (this._messages == null) {
return false;
}
var property = global.Array;
if (property.isArray(this._messages)) {
return false;
}
property = this._messages._map;
property = property[a0.id];
return property != null && !(property.ignored || !a0.ignored);
}}, {key: 'clear', value: function() {
this._messages = null;
this._rows = [];
this.embeddedActivities = {};
}}, {key: 'finishUpdate', value: function(a0, a1) {
this._messages = a0;
this._rows = a1;
}}, {key: 'getLastRow', value: function() {
var r0;
var property;
var value = null;
if (value != this.rows) {
if (this.rows.length > 0) {
property = this.rows;
property = property[this.rows.length - 1];
r0 = property;
} else {
r0 = value;
}
} else {
r0 = value;
}
return r0;
}}, {key: 'setup', value: function(a0) {
this.messages = a0;
this.rows = [];
this.rowIndex = 0;
var property = this._messages;
var value = undefined;
this.maybeRemove = (property == null ? value : property.length) === this.messages.length;
return value;
}}, {key: 'determineChangeTypeForUploadProgress', value: value_86723},
{key: 'determineChangeTypeForEmbeddedActivity', value: function(a0) {
var value2 = importDefault(dependencyMap[3])(a0);
var property = this.embeddedActivities[value2];
this.embeddedActivities[value2] = a0;
return property != null ? Changeset.UPDATE : Changeset.INSERT;
}}, {key: 'determineChangeType', value: value_86725}, {key: 'createRow', value: value_86726},
{key: 'createChangeset', value: value_86727}]);
}
function ChatManager() { // fn#86714, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11528:175, offset: 0x01f9d7cb, size: 93 bytes, params: 1, frame: 13
env1_2(this, ChatManager);
this._messages = null;
this._rows = [];
this.messages = null;
this.rows = [];
this.rowIndex = 0;
this.maybeRemove = false;
this.uploadProgressIds = {};
this.embeddedActivities = {};
}
function value_86723(a0) { // fn#86723, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11528:1351, offset: 0x01f9d9d5, size: 200 bytes, params: 2, frame: 9
var length;
var r1;
var r0;
var value;
var items2;
const property = this.uploadProgressIds[a0.id];
if (property != null) {
items2 = property.items;
value = undefined;
length = items2 == null ? value : items2.length;
items2 = a0.items;
if (length !== (items2 == null ? value : items2.length)) {
this.uploadProgressIds[a0.id] = a0;
value = environment.__proto__;
r1 = Changeset.UPDATE;
} else if (property.compressionProgress !== a0.compressionProgress) {
this.uploadProgressIds[a0.id] = a0;
value = environment.__proto__;
r1 = Changeset.UPDATE;
} else if (property.progress !== a0.progress) {
this.uploadProgressIds[a0.id] = a0;
value = environment.__proto__;
r1 = Changeset.UPDATE;
} else if (property.currentSize !== a0.currentSize) {
this.uploadProgressIds[a0.id] = a0;
value = environment.__proto__;
r1 = Changeset.UPDATE;
} else {
value = environment.__proto__;
r1 = Changeset.NOOP;
}
r0 = r1;
} else {
this.uploadProgressIds[a0.id] = a0;
value = environment.__proto__;
r0 = Changeset.INSERT;
}
return r0;
}
function value_86725({message, updateMessageIds, forceRender}) { // fn#86725, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11528:1894, offset: 0x01f9daf3, size: 360 bytes, params: 2, frame: 19
let value = a1;
const r6 = value !== undefined ? value : false;
if (this._messages == null) {
value = environment.__proto__;
return Changeset.NOOP;
}
const Array = global.Array;
if (Array.isArray(this._messages)) {
value = environment.__proto__;
return Changeset.NOOP;
}
if (this._messages._map == null) {
value = environment.__proto__;
return Changeset.NOOP;
}
const property = this._messages._map[message.id];
return property != null || message.nonce == null ? property == null ? Changeset.INSERT : r6 && property.blocked ? message.blocked ? forceRender ? Changeset.UPDATE : updateMessageIds == null ? (importDefault(644) /* metro dependency 644 */)(property,
message) ? Changeset.NOOP : Changeset.UPDATE : updateMessageIds.has(message.id) ? Changeset.UPDATE : (importDefault(644) /* metro dependency 644 */)(property,
message) ? Changeset.NOOP : Changeset.UPDATE : Changeset.INSERT : forceRender ? Changeset.UPDATE : updateMessageIds == null ? (importDefault(644) /* metro dependency 644 */)(property,
message) ? Changeset.NOOP : Changeset.UPDATE : updateMessageIds.has(message.id) ? Changeset.UPDATE : (importDefault(644) /* metro dependency 644 */)(property,
message) ? Changeset.NOOP : Changeset.UPDATE : this._messages._map[message.nonce] != null ? Changeset.UPDATE : this._messages._map[message.nonce] == null ? Changeset.INSERT : r6 && this._messages._map[message.nonce].blocked ? message.blocked ? forceRender ? Changeset.UPDATE : updateMessageIds == null ? (importDefault(644) /* metro dependency 644 */)(this._messages._map[message.nonce],
message) ? Changeset.NOOP : Changeset.UPDATE : updateMessageIds.has(message.id) ? Changeset.UPDATE : (importDefault(644) /* metro dependency 644 */)(this._messages._map[message.nonce],
message) ? Changeset.NOOP : Changeset.UPDATE : Changeset.INSERT : forceRender ? Changeset.UPDATE : updateMessageIds == null ? (importDefault(644) /* metro dependency 644 */)(this._messages._map[message.nonce],
message) ? Changeset.NOOP : Changeset.UPDATE : updateMessageIds.has(message.id) ? Changeset.UPDATE : (importDefault(644) /* metro dependency 644 */)(this._messages._map[message.nonce],
message) ? Changeset.NOOP : Changeset.UPDATE;
}
function value_86726(a0) { // fn#86726, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11528:2323, offset: 0x01f9dc5b, size: 85 bytes, params: 2, frame: 12
var rowIndex;
const type = a0.type;
let value = environment.__proto__;
const MESSAGE = RowType.MESSAGE;
if (type !== MESSAGE) {
rowIndex = this.rowIndex;
value = typeof rowIndex === 'bigint' ? rowIndex : +rowIndex;
this.rowIndex = typeof value === 'bigint' ? value + 1n : +value + 1;
a0.index = value;
this.rows.push(a0);
return a0;
}
if (a0.message != null) {
rowIndex = this.rowIndex;
value = typeof rowIndex === 'bigint' ? rowIndex : +rowIndex;
this.rowIndex = typeof value === 'bigint' ? value + 1n : +value + 1;
a0.index = value;
this.rows.push(a0);
return a0;
}
}
function value_86727() { // fn#86727, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11528:2456, offset: 0x01f9dcb0, size: 1280 bytes, params: 1, frame: 41
var environment;
var r6;
var r7;
var r8;
var isFirst;
var isFirst2;
var r25;
var r14;
var r18;
var r19;
var r0;
var _rows;
var length;
var value;
var value2;
var rows;
var push;
var value3;
var REMOVE;
var value4;
var value5;
var property;
var value6;
var INSERT;
var value7;
var property2;
var changeType;
var value8;
var NOOP;
var UPDATE;
var value9;
var type;
var type2;
var SEPARATOR;
var id;
var id2;
var LOADING;
var id3;
var MESSAGE;
var message;
var id4;
var nonce;
var text;
var text2;
var isLoading;
var isLoading2;
var BLOCKED_GROUP;
var IGNORED_GROUP;
var text3;
var revealed;
var revealed2;
var separatorBefore;
var separatorBefore2;
var maybeRemove;
var isFirst3;
var value10;
var value11;
var value12;
var value13;
var value14;
var value15;
var value16;
var value17;
const items2 = [];
if (this._messages == null) {
r0 = this.rows;
} else {
_rows = this._rows;
length = _rows.length;
value = 0;
value2 = undefined;
if (value < length) {
r6 = value;
r7 = value;
r8 = value;
reducibleLoop3: while (true) {
rows = this.rows;
length = rows.length;
if (r8 !== length) {
if (r6 !== this._rows.length) {
property = this._rows[r6];
property2 = this.rows[r8];
changeType = property2.changeType;
value8 = environment.__proto__;
NOOP = Changeset.NOOP;
reducibleJoin47: while (true) {
reducibleJoin46: while (true) {
if (NOOP === changeType) {
type = property2.type;
type2 = property.type;
if (type === type2) {
type = property2.type;
SEPARATOR = RowType.SEPARATOR;
if (type === SEPARATOR) {
id = property2.id;
id2 = property.id;
if (id !== id2) {
items2.push({changeType: Changeset.REMOVE, index: r8 + r7});
if (r8 + r7 > value) {
property = items2[r8 + r7 - 1];
value14 = property.changeType !== Changeset.NOOP;
reducibleJoin42: while (true) {
if (value14) {
r25 = value14;
break reducibleJoin42;
}
type = property.type;
MESSAGE = RowType.MESSAGE;
value15 = type !== MESSAGE;
r25 = value15;
break reducibleJoin42;
}
reducibleJoin44: while (true) {
if (r25) {
break reducibleJoin44;
}
maybeRemove = this.maybeRemove;
r25 = maybeRemove;
break reducibleJoin44;
}
if (r25) {
break reducibleJoin46;
}
property.changeType = Changeset.UPDATE;
break reducibleJoin46;
}
break reducibleJoin46;
}
}
type = property2.type;
LOADING = RowType.LOADING;
if (type === LOADING) {
id = property2.id;
id3 = property.id;
if (id !== id3) {
items2.push({changeType: Changeset.REMOVE, index: r8 + r7});
if (r8 + r7 > value) {
property = items2[r8 + r7 - 1];
value14 = property.changeType !== Changeset.NOOP;
reducibleJoin42: while (true) {
if (value14) {
r25 = value14;
break reducibleJoin42;
}
type = property.type;
MESSAGE = RowType.MESSAGE;
value15 = type !== MESSAGE;
r25 = value15;
break reducibleJoin42;
}
reducibleJoin44: while (true) {
if (r25) {
break reducibleJoin44;
}
maybeRemove = this.maybeRemove;
r25 = maybeRemove;
break reducibleJoin44;
}
if (r25) {
break reducibleJoin46;
}
property.changeType = Changeset.UPDATE;
break reducibleJoin46;
}
break reducibleJoin46;
}
}
type = property2.type;
MESSAGE = RowType.MESSAGE;
if (type === MESSAGE) {
message = property2.message;
if (message != null) {
message = property.message;
if (message != null) {
message = property2.message;
id = message.id;
message = property.message;
id4 = message.id;
if (id !== id4) {
message = property2.message;
nonce = message.nonce;
message = property.message;
id = message.id;
if (nonce !== id) {
items2.push({changeType: Changeset.REMOVE, index: r8 + r7});
if (r8 + r7 > value) {
property = items2[r8 + r7 - 1];
value14 = property.changeType !== Changeset.NOOP;
reducibleJoin42: while (true) {
if (value14) {
r25 = value14;
break reducibleJoin42;
}
type = property.type;
MESSAGE = RowType.MESSAGE;
value15 = type !== MESSAGE;
r25 = value15;
break reducibleJoin42;
}
reducibleJoin44: while (true) {
if (r25) {
break reducibleJoin44;
}
maybeRemove = this.maybeRemove;
r25 = maybeRemove;
break reducibleJoin44;
}
if (r25) {
break reducibleJoin46;
}
property.changeType = Changeset.UPDATE;
break reducibleJoin46;
}
break reducibleJoin46;
}
}
}
}
}
changeType = property2.changeType;
NOOP = Changeset.NOOP;
if (changeType === NOOP) {
type = property2.type;
SEPARATOR = RowType.SEPARATOR;
if (type === SEPARATOR) {
text = property2.text;
text2 = property.text;
if (text !== text2) {
property2.changeType = Changeset.UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
}
type = property2.type;
LOADING = RowType.LOADING;
if (type === LOADING) {
isLoading = property2.isLoading;
isLoading2 = property.isLoading;
if (isLoading !== isLoading2) {
property2.changeType = Changeset.UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
}
type = property2.type;
BLOCKED_GROUP = RowType.BLOCKED_GROUP;
if (type !== BLOCKED_GROUP) {
type = property2.type;
IGNORED_GROUP = RowType.IGNORED_GROUP;
if (type !== IGNORED_GROUP) {
type = property2.type;
MESSAGE = RowType.MESSAGE;
if (type === MESSAGE) {
separatorBefore = property2.separatorBefore;
separatorBefore2 = property.separatorBefore;
if (separatorBefore !== separatorBefore2) {
maybeRemove = this.maybeRemove;
if (!maybeRemove) {
property2.changeType = Changeset.UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
}
}
message = property2.message;
reducibleJoin34: while (true) {
if (message == null) {
isFirst = value2;
break reducibleJoin34;
}
isFirst = message.isFirst;
break reducibleJoin34;
}
message = property.message;
reducibleJoin36: while (true) {
if (message == null) {
isFirst2 = value2;
break reducibleJoin36;
}
isFirst3 = message.isFirst;
isFirst2 = isFirst3;
break reducibleJoin36;
}
if (isFirst !== isFirst2) {
property2.changeType = Changeset.UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
property2.index = r8 + r7;
items2.push(property2);
value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value10;
r19 = r7;
break reducibleJoin47;
}
}
text = property2.text;
text3 = property.text;
if (text === text3) {
revealed = property2.revealed;
revealed2 = property.revealed;
if (revealed === revealed2) {
type = property2.type;
MESSAGE = RowType.MESSAGE;
if (type === MESSAGE) {
separatorBefore = property2.separatorBefore;
separatorBefore2 = property.separatorBefore;
if (separatorBefore !== separatorBefore2) {
maybeRemove = this.maybeRemove;
if (!maybeRemove) {
property2.changeType = Changeset.UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
}
}
message = property2.message;
reducibleJoin34: while (true) {
if (message == null) {
isFirst = value2;
break reducibleJoin34;
}
isFirst = message.isFirst;
break reducibleJoin34;
}
message = property.message;
reducibleJoin36: while (true) {
if (message == null) {
isFirst2 = value2;
break reducibleJoin36;
}
isFirst3 = message.isFirst;
isFirst2 = isFirst3;
break reducibleJoin36;
}
if (isFirst === isFirst2) {
property2.index = r8 + r7;
items2.push(property2);
value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value10;
r19 = r7;
break reducibleJoin47;
}
}
}
property2.changeType = Changeset.UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
value13 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r14 = value13;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
property2.index = r8 + r7;
items2.push(property2);
value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
value11 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r14 = value11;
r18 = value10;
r19 = r7;
break reducibleJoin47;
}
push = items2.push;
REMOVE = Changeset.REMOVE;
Reflect.apply(push, items2, [{changeType: REMOVE, index: r8 + r7}]);
if (r8 + r7 > value) {
property = items2[r8 + r7 - 1];
changeType = property.changeType;
NOOP = Changeset.NOOP;
value14 = changeType !== NOOP;
reducibleJoin42: while (true) {
if (value14) {
r25 = value14;
break reducibleJoin42;
}
type = property.type;
MESSAGE = RowType.MESSAGE;
value15 = type !== MESSAGE;
r25 = value15;
break reducibleJoin42;
}
reducibleJoin44: while (true) {
if (r25) {
break reducibleJoin44;
}
maybeRemove = this.maybeRemove;
r25 = maybeRemove;
break reducibleJoin44;
}
if (r25) {
break reducibleJoin46;
}
property.changeType = Changeset.UPDATE;
break reducibleJoin46;
}
break reducibleJoin46;
}
UPDATE = Changeset.UPDATE;
if (UPDATE === changeType) {
type = property2.type;
type2 = property.type;
if (type === type2) {
type = property2.type;
SEPARATOR = RowType.SEPARATOR;
if (type === SEPARATOR) {
id = property2.id;
id2 = property.id;
if (id !== id2) {
items2.push({changeType: Changeset.REMOVE, index: r8 + r7});
if (r8 + r7 > value) {
property = items2[r8 + r7 - 1];
value14 = property.changeType !== Changeset.NOOP;
reducibleJoin42: while (true) {
if (value14) {
r25 = value14;
break reducibleJoin42;
}
type = property.type;
MESSAGE = RowType.MESSAGE;
value15 = type !== MESSAGE;
r25 = value15;
break reducibleJoin42;
}
reducibleJoin44: while (true) {
if (r25) {
break reducibleJoin44;
}
maybeRemove = this.maybeRemove;
r25 = maybeRemove;
break reducibleJoin44;
}
if (r25) {
break reducibleJoin46;
}
UPDATE = Changeset.UPDATE;
property.changeType = UPDATE;
break reducibleJoin46;
}
break reducibleJoin46;
}
}
type = property2.type;
LOADING = RowType.LOADING;
if (type === LOADING) {
id = property2.id;
id3 = property.id;
if (id !== id3) {
items2.push({changeType: Changeset.REMOVE, index: r8 + r7});
if (r8 + r7 > value) {
property = items2[r8 + r7 - 1];
value14 = property.changeType !== Changeset.NOOP;
reducibleJoin42: while (true) {
if (value14) {
r25 = value14;
break reducibleJoin42;
}
type = property.type;
MESSAGE = RowType.MESSAGE;
value15 = type !== MESSAGE;
r25 = value15;
break reducibleJoin42;
}
reducibleJoin44: while (true) {
if (r25) {
break reducibleJoin44;
}
maybeRemove = this.maybeRemove;
r25 = maybeRemove;
break reducibleJoin44;
}
if (r25) {
break reducibleJoin46;
}
UPDATE = Changeset.UPDATE;
property.changeType = UPDATE;
break reducibleJoin46;
}
break reducibleJoin46;
}
}
type = property2.type;
MESSAGE = RowType.MESSAGE;
if (type === MESSAGE) {
message = property2.message;
if (message != null) {
message = property.message;
if (message != null) {
message = property2.message;
id = message.id;
message = property.message;
id4 = message.id;
if (id !== id4) {
message = property2.message;
nonce = message.nonce;
message = property.message;
id = message.id;
if (nonce !== id) {
items2.push({changeType: Changeset.REMOVE, index: r8 + r7});
if (r8 + r7 > value) {
property = items2[r8 + r7 - 1];
value14 = property.changeType !== Changeset.NOOP;
reducibleJoin42: while (true) {
if (value14) {
r25 = value14;
break reducibleJoin42;
}
type = property.type;
MESSAGE = RowType.MESSAGE;
value15 = type !== MESSAGE;
r25 = value15;
break reducibleJoin42;
}
reducibleJoin44: while (true) {
if (r25) {
break reducibleJoin44;
}
maybeRemove = this.maybeRemove;
r25 = maybeRemove;
break reducibleJoin44;
}
if (r25) {
break reducibleJoin46;
}
UPDATE = Changeset.UPDATE;
property.changeType = UPDATE;
break reducibleJoin46;
}
break reducibleJoin46;
}
}
}
}
}
changeType = property2.changeType;
NOOP = Changeset.NOOP;
if (changeType === NOOP) {
type = property2.type;
SEPARATOR = RowType.SEPARATOR;
if (type === SEPARATOR) {
text = property2.text;
text2 = property.text;
if (text !== text2) {
property2.changeType = Changeset.UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
}
type = property2.type;
LOADING = RowType.LOADING;
if (type === LOADING) {
isLoading = property2.isLoading;
isLoading2 = property.isLoading;
if (isLoading !== isLoading2) {
property2.changeType = Changeset.UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
}
type = property2.type;
BLOCKED_GROUP = RowType.BLOCKED_GROUP;
if (type !== BLOCKED_GROUP) {
type = property2.type;
IGNORED_GROUP = RowType.IGNORED_GROUP;
if (type !== IGNORED_GROUP) {
type = property2.type;
MESSAGE = RowType.MESSAGE;
if (type === MESSAGE) {
separatorBefore = property2.separatorBefore;
separatorBefore2 = property.separatorBefore;
if (separatorBefore !== separatorBefore2) {
maybeRemove = this.maybeRemove;
if (!maybeRemove) {
property2.changeType = Changeset.UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
}
}
message = property2.message;
reducibleJoin34: while (true) {
if (message == null) {
isFirst = value2;
break reducibleJoin34;
}
isFirst = message.isFirst;
break reducibleJoin34;
}
message = property.message;
reducibleJoin36: while (true) {
if (message == null) {
isFirst2 = value2;
break reducibleJoin36;
}
isFirst3 = message.isFirst;
isFirst2 = isFirst3;
break reducibleJoin36;
}
if (isFirst !== isFirst2) {
property2.changeType = Changeset.UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
property2.index = r8 + r7;
items2.push(property2);
value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value10;
r19 = r7;
break reducibleJoin47;
}
}
text = property2.text;
text3 = property.text;
if (text === text3) {
revealed = property2.revealed;
revealed2 = property.revealed;
if (revealed === revealed2) {
type = property2.type;
MESSAGE = RowType.MESSAGE;
if (type === MESSAGE) {
separatorBefore = property2.separatorBefore;
separatorBefore2 = property.separatorBefore;
if (separatorBefore !== separatorBefore2) {
maybeRemove = this.maybeRemove;
if (!maybeRemove) {
property2.changeType = Changeset.UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
}
}
message = property2.message;
reducibleJoin34: while (true) {
if (message == null) {
isFirst = value2;
break reducibleJoin34;
}
isFirst = message.isFirst;
break reducibleJoin34;
}
message = property.message;
reducibleJoin36: while (true) {
if (message == null) {
isFirst2 = value2;
break reducibleJoin36;
}
isFirst3 = message.isFirst;
isFirst2 = isFirst3;
break reducibleJoin36;
}
if (isFirst === isFirst2) {
property2.index = r8 + r7;
items2.push(property2);
value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value10;
r19 = r7;
break reducibleJoin47;
}
}
}
UPDATE = Changeset.UPDATE;
property2.changeType = UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
value13 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r14 = value13;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
property2.index = r8 + r7;
items2.push(property2);
value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
value11 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r14 = value11;
r18 = value10;
r19 = r7;
break reducibleJoin47;
}
push = items2.push;
REMOVE = Changeset.REMOVE;
Reflect.apply(push, items2, [{changeType: REMOVE, index: r8 + r7}]);
if (r8 + r7 > value) {
property = items2[r8 + r7 - 1];
changeType = property.changeType;
NOOP = Changeset.NOOP;
value14 = changeType !== NOOP;
reducibleJoin42: while (true) {
if (value14) {
r25 = value14;
break reducibleJoin42;
}
type = property.type;
MESSAGE = RowType.MESSAGE;
value15 = type !== MESSAGE;
r25 = value15;
break reducibleJoin42;
}
reducibleJoin44: while (true) {
if (r25) {
break reducibleJoin44;
}
maybeRemove = this.maybeRemove;
r25 = maybeRemove;
break reducibleJoin44;
}
if (r25) {
break reducibleJoin46;
}
UPDATE = Changeset.UPDATE;
property.changeType = UPDATE;
break reducibleJoin46;
}
break reducibleJoin46;
}
Changeset.INSERT;
property2.index = r8 + r7;
push = items2.push;
Reflect.apply(push, items2, [property2]);
value9 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r14 = value9;
r18 = r6;
r19 = r7;
break reducibleJoin47;
}
value16 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
value17 = typeof r7 === 'bigint' ? r7 + 1n : +r7 + 1;
r14 = r8;
r18 = value16;
r19 = value17;
break reducibleJoin47;
}
} else {
property = this.rows[r8];
value6 = environment.__proto__;
INSERT = Changeset.INSERT;
property.changeType = INSERT;
property.index = r8 + r7;
push = items2.push;
Reflect.apply(push, items2, [property]);
value7 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r14 = value7;
r18 = r6;
r19 = r7;
}
} else {
push = items2.push;
value3 = environment.__proto__;
REMOVE = Changeset.REMOVE;
Reflect.apply(push, items2, [{changeType: REMOVE, index: r8 + r7}]);
value4 = typeof r7 === 'bigint' ? r7 + 1n : +r7 + 1;
value5 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = r8;
r18 = value5;
r19 = value4;
}
_rows = this._rows;
length = _rows.length;
reducibleJoin48: while (true) {
if (r18 < length) {
r6 = r18;
r7 = r19;
r8 = r14;
continue reducibleLoop3;
}
break reducibleJoin48;
}
rows = this.rows;
length = rows.length;
if (r14 < length) {
r6 = r18;
r7 = r19;
r8 = r14;
continue reducibleLoop3;
}
break reducibleLoop3;
}
} else {
rows = this.rows;
length = rows.length;
if (value < length) {
r6 = value;
r7 = value;
r8 = value;
reducibleLoop3: while (true) {
rows = this.rows;
length = rows.length;
if (r8 !== length) {
if (r6 !== this._rows.length) {
property = this._rows[r6];
property2 = this.rows[r8];
changeType = property2.changeType;
value8 = environment.__proto__;
NOOP = Changeset.NOOP;
reducibleJoin47: while (true) {
reducibleJoin46: while (true) {
if (NOOP === changeType) {
type = property2.type;
type2 = property.type;
if (type === type2) {
type = property2.type;
SEPARATOR = RowType.SEPARATOR;
if (type === SEPARATOR) {
id = property2.id;
id2 = property.id;
if (id !== id2) {
items2.push({changeType: Changeset.REMOVE, index: r8 + r7});
if (r8 + r7 > value) {
property = items2[r8 + r7 - 1];
value14 = property.changeType !== Changeset.NOOP;
reducibleJoin42: while (true) {
if (value14) {
r25 = value14;
break reducibleJoin42;
}
type = property.type;
MESSAGE = RowType.MESSAGE;
value15 = type !== MESSAGE;
r25 = value15;
break reducibleJoin42;
}
reducibleJoin44: while (true) {
if (r25) {
break reducibleJoin44;
}
maybeRemove = this.maybeRemove;
r25 = maybeRemove;
break reducibleJoin44;
}
if (r25) {
break reducibleJoin46;
}
property.changeType = Changeset.UPDATE;
break reducibleJoin46;
}
break reducibleJoin46;
}
}
type = property2.type;
LOADING = RowType.LOADING;
if (type === LOADING) {
id = property2.id;
id3 = property.id;
if (id !== id3) {
items2.push({changeType: Changeset.REMOVE, index: r8 + r7});
if (r8 + r7 > value) {
property = items2[r8 + r7 - 1];
value14 = property.changeType !== Changeset.NOOP;
reducibleJoin42: while (true) {
if (value14) {
r25 = value14;
break reducibleJoin42;
}
type = property.type;
MESSAGE = RowType.MESSAGE;
value15 = type !== MESSAGE;
r25 = value15;
break reducibleJoin42;
}
reducibleJoin44: while (true) {
if (r25) {
break reducibleJoin44;
}
maybeRemove = this.maybeRemove;
r25 = maybeRemove;
break reducibleJoin44;
}
if (r25) {
break reducibleJoin46;
}
property.changeType = Changeset.UPDATE;
break reducibleJoin46;
}
break reducibleJoin46;
}
}
type = property2.type;
MESSAGE = RowType.MESSAGE;
if (type === MESSAGE) {
message = property2.message;
if (message != null) {
message = property.message;
if (message != null) {
message = property2.message;
id = message.id;
message = property.message;
id4 = message.id;
if (id !== id4) {
message = property2.message;
nonce = message.nonce;
message = property.message;
id = message.id;
if (nonce !== id) {
items2.push({changeType: Changeset.REMOVE,
index: r8 + r7});
if (r8 + r7 > value) {
property = items2[r8 + r7 - 1];
value14 = property.changeType !== Changeset.NOOP;
reducibleJoin42: while (true) {
if (value14) {
r25 = value14;
break reducibleJoin42;
}
type = property.type;
MESSAGE = RowType.MESSAGE;
value15 = type !== MESSAGE;
r25 = value15;
break reducibleJoin42;
}
reducibleJoin44: while (true) {
if (r25) {
break reducibleJoin44;
}
maybeRemove = this.maybeRemove;
r25 = maybeRemove;
break reducibleJoin44;
}
if (r25) {
break reducibleJoin46;
}
property.changeType = Changeset.UPDATE;
break reducibleJoin46;
}
break reducibleJoin46;
}
}
}
}
}
changeType = property2.changeType;
NOOP = Changeset.NOOP;
if (changeType === NOOP) {
type = property2.type;
SEPARATOR = RowType.SEPARATOR;
if (type === SEPARATOR) {
text = property2.text;
text2 = property.text;
if (text !== text2) {
property2.changeType = Changeset.UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
}
type = property2.type;
LOADING = RowType.LOADING;
if (type === LOADING) {
isLoading = property2.isLoading;
isLoading2 = property.isLoading;
if (isLoading !== isLoading2) {
property2.changeType = Changeset.UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
}
type = property2.type;
BLOCKED_GROUP = RowType.BLOCKED_GROUP;
if (type !== BLOCKED_GROUP) {
type = property2.type;
IGNORED_GROUP = RowType.IGNORED_GROUP;
if (type !== IGNORED_GROUP) {
type = property2.type;
MESSAGE = RowType.MESSAGE;
if (type === MESSAGE) {
separatorBefore = property2.separatorBefore;
separatorBefore2 = property.separatorBefore;
if (separatorBefore !== separatorBefore2) {
maybeRemove = this.maybeRemove;
if (!maybeRemove) {
property2.changeType = Changeset.UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
}
}
message = property2.message;
reducibleJoin34: while (true) {
if (message == null) {
isFirst = value2;
break reducibleJoin34;
}
isFirst = message.isFirst;
break reducibleJoin34;
}
message = property.message;
reducibleJoin36: while (true) {
if (message == null) {
isFirst2 = value2;
break reducibleJoin36;
}
isFirst3 = message.isFirst;
isFirst2 = isFirst3;
break reducibleJoin36;
}
if (isFirst !== isFirst2) {
property2.changeType = Changeset.UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
property2.index = r8 + r7;
items2.push(property2);
value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value10;
r19 = r7;
break reducibleJoin47;
}
}
text = property2.text;
text3 = property.text;
if (text === text3) {
revealed = property2.revealed;
revealed2 = property.revealed;
if (revealed === revealed2) {
type = property2.type;
MESSAGE = RowType.MESSAGE;
if (type === MESSAGE) {
separatorBefore = property2.separatorBefore;
separatorBefore2 = property.separatorBefore;
if (separatorBefore !== separatorBefore2) {
maybeRemove = this.maybeRemove;
if (!maybeRemove) {
property2.changeType = Changeset.UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
}
}
message = property2.message;
reducibleJoin34: while (true) {
if (message == null) {
isFirst = value2;
break reducibleJoin34;
}
isFirst = message.isFirst;
break reducibleJoin34;
}
message = property.message;
reducibleJoin36: while (true) {
if (message == null) {
isFirst2 = value2;
break reducibleJoin36;
}
isFirst3 = message.isFirst;
isFirst2 = isFirst3;
break reducibleJoin36;
}
if (isFirst === isFirst2) {
property2.index = r8 + r7;
items2.push(property2);
value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value10;
r19 = r7;
break reducibleJoin47;
}
}
}
property2.changeType = Changeset.UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
value13 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r14 = value13;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
property2.index = r8 + r7;
items2.push(property2);
value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
value11 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r14 = value11;
r18 = value10;
r19 = r7;
break reducibleJoin47;
}
push = items2.push;
REMOVE = Changeset.REMOVE;
Reflect.apply(push, items2, [{changeType: REMOVE, index: r8 + r7}]);
if (r8 + r7 > value) {
property = items2[r8 + r7 - 1];
changeType = property.changeType;
NOOP = Changeset.NOOP;
value14 = changeType !== NOOP;
reducibleJoin42: while (true) {
if (value14) {
r25 = value14;
break reducibleJoin42;
}
type = property.type;
MESSAGE = RowType.MESSAGE;
value15 = type !== MESSAGE;
r25 = value15;
break reducibleJoin42;
}
reducibleJoin44: while (true) {
if (r25) {
break reducibleJoin44;
}
maybeRemove = this.maybeRemove;
r25 = maybeRemove;
break reducibleJoin44;
}
if (r25) {
break reducibleJoin46;
}
property.changeType = Changeset.UPDATE;
break reducibleJoin46;
}
break reducibleJoin46;
}
UPDATE = Changeset.UPDATE;
if (UPDATE === changeType) {
type = property2.type;
type2 = property.type;
if (type === type2) {
type = property2.type;
SEPARATOR = RowType.SEPARATOR;
if (type === SEPARATOR) {
id = property2.id;
id2 = property.id;
if (id !== id2) {
items2.push({changeType: Changeset.REMOVE, index: r8 + r7});
if (r8 + r7 > value) {
property = items2[r8 + r7 - 1];
value14 = property.changeType !== Changeset.NOOP;
reducibleJoin42: while (true) {
if (value14) {
r25 = value14;
break reducibleJoin42;
}
type = property.type;
MESSAGE = RowType.MESSAGE;
value15 = type !== MESSAGE;
r25 = value15;
break reducibleJoin42;
}
reducibleJoin44: while (true) {
if (r25) {
break reducibleJoin44;
}
maybeRemove = this.maybeRemove;
r25 = maybeRemove;
break reducibleJoin44;
}
if (r25) {
break reducibleJoin46;
}
UPDATE = Changeset.UPDATE;
property.changeType = UPDATE;
break reducibleJoin46;
}
break reducibleJoin46;
}
}
type = property2.type;
LOADING = RowType.LOADING;
if (type === LOADING) {
id = property2.id;
id3 = property.id;
if (id !== id3) {
items2.push({changeType: Changeset.REMOVE, index: r8 + r7});
if (r8 + r7 > value) {
property = items2[r8 + r7 - 1];
value14 = property.changeType !== Changeset.NOOP;
reducibleJoin42: while (true) {
if (value14) {
r25 = value14;
break reducibleJoin42;
}
type = property.type;
MESSAGE = RowType.MESSAGE;
value15 = type !== MESSAGE;
r25 = value15;
break reducibleJoin42;
}
reducibleJoin44: while (true) {
if (r25) {
break reducibleJoin44;
}
maybeRemove = this.maybeRemove;
r25 = maybeRemove;
break reducibleJoin44;
}
if (r25) {
break reducibleJoin46;
}
UPDATE = Changeset.UPDATE;
property.changeType = UPDATE;
break reducibleJoin46;
}
break reducibleJoin46;
}
}
type = property2.type;
MESSAGE = RowType.MESSAGE;
if (type === MESSAGE) {
message = property2.message;
if (message != null) {
message = property.message;
if (message != null) {
message = property2.message;
id = message.id;
message = property.message;
id4 = message.id;
if (id !== id4) {
message = property2.message;
nonce = message.nonce;
message = property.message;
id = message.id;
if (nonce !== id) {
items2.push({changeType: Changeset.REMOVE,
index: r8 + r7});
if (r8 + r7 > value) {
property = items2[r8 + r7 - 1];
value14 = property.changeType !== Changeset.NOOP;
reducibleJoin42: while (true) {
if (value14) {
r25 = value14;
break reducibleJoin42;
}
type = property.type;
MESSAGE = RowType.MESSAGE;
value15 = type !== MESSAGE;
r25 = value15;
break reducibleJoin42;
}
reducibleJoin44: while (true) {
if (r25) {
break reducibleJoin44;
}
maybeRemove = this.maybeRemove;
r25 = maybeRemove;
break reducibleJoin44;
}
if (r25) {
break reducibleJoin46;
}
UPDATE = Changeset.UPDATE;
property.changeType = UPDATE;
break reducibleJoin46;
}
break reducibleJoin46;
}
}
}
}
}
changeType = property2.changeType;
NOOP = Changeset.NOOP;
if (changeType === NOOP) {
type = property2.type;
SEPARATOR = RowType.SEPARATOR;
if (type === SEPARATOR) {
text = property2.text;
text2 = property.text;
if (text !== text2) {
property2.changeType = Changeset.UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
}
type = property2.type;
LOADING = RowType.LOADING;
if (type === LOADING) {
isLoading = property2.isLoading;
isLoading2 = property.isLoading;
if (isLoading !== isLoading2) {
property2.changeType = Changeset.UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
}
type = property2.type;
BLOCKED_GROUP = RowType.BLOCKED_GROUP;
if (type !== BLOCKED_GROUP) {
type = property2.type;
IGNORED_GROUP = RowType.IGNORED_GROUP;
if (type !== IGNORED_GROUP) {
type = property2.type;
MESSAGE = RowType.MESSAGE;
if (type === MESSAGE) {
separatorBefore = property2.separatorBefore;
separatorBefore2 = property.separatorBefore;
if (separatorBefore !== separatorBefore2) {
maybeRemove = this.maybeRemove;
if (!maybeRemove) {
property2.changeType = Changeset.UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
}
}
message = property2.message;
reducibleJoin34: while (true) {
if (message == null) {
isFirst = value2;
break reducibleJoin34;
}
isFirst = message.isFirst;
break reducibleJoin34;
}
message = property.message;
reducibleJoin36: while (true) {
if (message == null) {
isFirst2 = value2;
break reducibleJoin36;
}
isFirst3 = message.isFirst;
isFirst2 = isFirst3;
break reducibleJoin36;
}
if (isFirst !== isFirst2) {
property2.changeType = Changeset.UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
property2.index = r8 + r7;
items2.push(property2);
value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value10;
r19 = r7;
break reducibleJoin47;
}
}
text = property2.text;
text3 = property.text;
if (text === text3) {
revealed = property2.revealed;
revealed2 = property.revealed;
if (revealed === revealed2) {
type = property2.type;
MESSAGE = RowType.MESSAGE;
if (type === MESSAGE) {
separatorBefore = property2.separatorBefore;
separatorBefore2 = property.separatorBefore;
if (separatorBefore !== separatorBefore2) {
maybeRemove = this.maybeRemove;
if (!maybeRemove) {
property2.changeType = Changeset.UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
}
}
message = property2.message;
reducibleJoin34: while (true) {
if (message == null) {
isFirst = value2;
break reducibleJoin34;
}
isFirst = message.isFirst;
break reducibleJoin34;
}
message = property.message;
reducibleJoin36: while (true) {
if (message == null) {
isFirst2 = value2;
break reducibleJoin36;
}
isFirst3 = message.isFirst;
isFirst2 = isFirst3;
break reducibleJoin36;
}
if (isFirst === isFirst2) {
property2.index = r8 + r7;
items2.push(property2);
value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value10;
r19 = r7;
break reducibleJoin47;
}
}
}
UPDATE = Changeset.UPDATE;
property2.changeType = UPDATE;
property2.index = r8 + r7;
items2.push(property2);
value12 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
value13 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r14 = value13;
r18 = value12;
r19 = r7;
break reducibleJoin47;
}
property2.index = r8 + r7;
items2.push(property2);
value10 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
value11 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r14 = value11;
r18 = value10;
r19 = r7;
break reducibleJoin47;
}
push = items2.push;
REMOVE = Changeset.REMOVE;
Reflect.apply(push, items2, [{changeType: REMOVE, index: r8 + r7}]);
if (r8 + r7 > value) {
property = items2[r8 + r7 - 1];
changeType = property.changeType;
NOOP = Changeset.NOOP;
value14 = changeType !== NOOP;
reducibleJoin42: while (true) {
if (value14) {
r25 = value14;
break reducibleJoin42;
}
type = property.type;
MESSAGE = RowType.MESSAGE;
value15 = type !== MESSAGE;
r25 = value15;
break reducibleJoin42;
}
reducibleJoin44: while (true) {
if (r25) {
break reducibleJoin44;
}
maybeRemove = this.maybeRemove;
r25 = maybeRemove;
break reducibleJoin44;
}
if (r25) {
break reducibleJoin46;
}
UPDATE = Changeset.UPDATE;
property.changeType = UPDATE;
break reducibleJoin46;
}
break reducibleJoin46;
}
Changeset.INSERT;
property2.index = r8 + r7;
push = items2.push;
Reflect.apply(push, items2, [property2]);
value9 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r14 = value9;
r18 = r6;
r19 = r7;
break reducibleJoin47;
}
value16 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
value17 = typeof r7 === 'bigint' ? r7 + 1n : +r7 + 1;
r14 = r8;
r18 = value16;
r19 = value17;
break reducibleJoin47;
}
} else {
property = this.rows[r8];
value6 = environment.__proto__;
INSERT = Changeset.INSERT;
property.changeType = INSERT;
property.index = r8 + r7;
push = items2.push;
Reflect.apply(push, items2, [property]);
value7 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r14 = value7;
r18 = r6;
r19 = r7;
}
} else {
push = items2.push;
value3 = environment.__proto__;
REMOVE = Changeset.REMOVE;
Reflect.apply(push, items2, [{changeType: REMOVE, index: r8 + r7}]);
value4 = typeof r7 === 'bigint' ? r7 + 1n : +r7 + 1;
value5 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
r14 = r8;
r18 = value5;
r19 = value4;
}
_rows = this._rows;
length = _rows.length;
reducibleJoin48: while (true) {
if (r18 < length) {
r6 = r18;
r7 = r19;
r8 = r14;
continue reducibleLoop3;
}
break reducibleJoin48;
}
rows = this.rows;
length = rows.length;
if (r14 < length) {
r6 = r18;
r7 = r19;
r8 = r14;
continue reducibleLoop3;
}
break reducibleLoop3;
}
}
}
value = items2.filter(function({changeType}) {
return changeType !== Changeset.NOOP;
});
r0 = value;
}
this._messages = this.messages;
this._rows = this.rows;
return r0;
}