package androidx.compose.runtime; import androidx.compose.runtime.tooling.CompositionData; import androidx.compose.runtime.tooling.CompositionGroup; import androidx.exifinterface.media.ExifInterface; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import kotlin.KotlinNothingValueException; import kotlin.Metadata; import kotlin.Unit; import kotlin.collections.ArraysKt; import kotlin.jvm.functions.Function1; import kotlin.jvm.internal.InlineMarker; import kotlin.jvm.internal.Intrinsics; import kotlin.jvm.internal.Ref; import kotlin.jvm.internal.markers.KMappedMarker; /* compiled from: SlotTable.kt */ @Metadata(d1 = {"\u0000\u0092\u0001\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u001c\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\b\n\u0002\u0010\u0015\n\u0002\b\u0003\n\u0002\u0010\b\n\u0002\b\u0004\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0010\u0011\n\u0002\u0010\u0000\n\u0002\b\u0010\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010 \n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\t\n\u0002\u0010(\n\u0002\b\t\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\r\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\b\u0000\u0018\u00002\u00020\u00012\b\u0012\u0004\u0012\u00020\u00030\u0002B\u0005¢\u0006\u0002\u0010\u0004J\u000e\u0010+\u001a\u00020\u00072\u0006\u0010,\u001a\u00020\u0015J\u000e\u0010-\u001a\u00020\u00152\u0006\u0010+\u001a\u00020\u0007J\u0006\u0010.\u001a\u00020/J\u0015\u00100\u001a\u0002012\u0006\u00102\u001a\u000203H\u0000¢\u0006\u0002\b4JW\u00100\u001a\u0002012\u0006\u0010)\u001a\u0002052\u0006\u0010\u0012\u001a\u00020\u00112\u0006\u0010\u0016\u001a\u00020\u00152\u000e\u0010\u001f\u001a\n\u0012\u0006\u0012\u0004\u0018\u00010\u001e0\u001d2\u0006\u0010#\u001a\u00020\u00152\u0016\u0010\u0005\u001a\u0012\u0012\u0004\u0012\u00020\u00070\u0006j\b\u0012\u0004\u0012\u00020\u0007`\bH\u0000¢\u0006\u0004\b4\u00106J\u0006\u00107\u001a\u00020\u001aJ\u000e\u00108\u001a\b\u0012\u0004\u0012\u00020\u001509H\u0002J\u0012\u0010:\u001a\u0004\u0018\u00010\u00032\u0006\u0010;\u001a\u00020\u001eH\u0016J\u0012\u0010<\u001a\u0004\u0018\u00010=2\u0006\u0010>\u001a\u00020\u0015H\u0002J\u0016\u0010?\u001a\u00020\u001a2\u0006\u0010@\u001a\u00020\u00152\u0006\u0010+\u001a\u00020\u0007J\u000e\u0010A\u001a\b\u0012\u0004\u0012\u00020\u001509H\u0002J\u0010\u0010B\u001a\u00020\u001a2\u0006\u0010>\u001a\u00020\u0015H\u0002J\u001d\u0010C\u001a\n\u0012\u0004\u0012\u00020=\u0018\u0001092\u0006\u0010D\u001a\u00020\u0015H\u0000¢\u0006\u0002\bEJ\u000f\u0010F\u001a\b\u0012\u0004\u0012\u00020\u00030GH\u0096\u0002J\u000e\u0010H\u001a\b\u0012\u0004\u0012\u00020\u001509H\u0002J\u000e\u0010I\u001a\b\u0012\u0004\u0012\u00020\u001509H\u0002J\u0006\u0010J\u001a\u000203J\u0006\u0010K\u001a\u000205J\u000e\u0010L\u001a\u00020\u001a2\u0006\u0010+\u001a\u00020\u0007J\u000e\u0010M\u001a\b\u0012\u0004\u0012\u00020\u001509H\u0002J:\u0010N\u001a\u0002HO\"\u0004\b\u0000\u0010O2!\u0010P\u001a\u001d\u0012\u0013\u0012\u001103¢\u0006\f\bR\u0012\b\bS\u0012\u0004\b\b(2\u0012\u0004\u0012\u0002HO0QH\u0086\bø\u0001\u0000¢\u0006\u0002\u0010TJO\u0010U\u001a\u0002012\u0006\u0010\u0012\u001a\u00020\u00112\u0006\u0010\u0016\u001a\u00020\u00152\u000e\u0010\u001f\u001a\n\u0012\u0006\u0012\u0004\u0018\u00010\u001e0\u001d2\u0006\u0010#\u001a\u00020\u00152\u0016\u0010\u0005\u001a\u0012\u0012\u0004\u0012\u00020\u00070\u0006j\b\u0012\u0004\u0012\u00020\u0007`\bH\u0000¢\u0006\u0004\bV\u0010WJ\u001f\u0010X\u001a\u0004\u0018\u00010\u001e2\u0006\u0010>\u001a\u00020\u00152\u0006\u0010Y\u001a\u00020\u0015H\u0000¢\u0006\u0002\bZJ\u001d\u0010[\u001a\n\u0012\u0006\u0012\u0004\u0018\u00010\u001e092\u0006\u0010>\u001a\u00020\u0015H\u0000¢\u0006\u0002\b\\J\u0006\u0010]\u001a\u000201J:\u0010^\u001a\u0002HO\"\u0004\b\u0000\u0010O2!\u0010P\u001a\u001d\u0012\u0013\u0012\u001105¢\u0006\f\bR\u0012\b\bS\u0012\u0004\b\b()\u0012\u0004\u0012\u0002HO0QH\u0086\bø\u0001\u0000¢\u0006\u0002\u0010TJ \u0010_\u001a\u00020\u0015*\u00060`j\u0002`a2\u0006\u0010,\u001a\u00020\u00152\u0006\u0010b\u001a\u00020\u0015H\u0002R*\u0010\u0005\u001a\u0012\u0012\u0004\u0012\u00020\u00070\u0006j\b\u0012\u0004\u0012\u00020\u0007`\bX\u0080\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\t\u0010\n\"\u0004\b\u000b\u0010\fR\u001a\u0010\r\u001a\b\u0012\u0004\u0012\u00020\u00030\u00028VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u000e\u0010\u000fR\u001e\u0010\u0012\u001a\u00020\u00112\u0006\u0010\u0010\u001a\u00020\u0011@BX\u0086\u000e¢\u0006\b\n\u0000\u001a\u0004\b\u0013\u0010\u0014R\u001e\u0010\u0016\u001a\u00020\u00152\u0006\u0010\u0010\u001a\u00020\u0015@BX\u0086\u000e¢\u0006\b\n\u0000\u001a\u0004\b\u0017\u0010\u0018R\u0014\u0010\u0019\u001a\u00020\u001a8VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u0019\u0010\u001bR\u000e\u0010\u001c\u001a\u00020\u0015X\u0082\u000e¢\u0006\u0002\n\u0000R0\u0010\u001f\u001a\n\u0012\u0006\u0012\u0004\u0018\u00010\u001e0\u001d2\u000e\u0010\u0010\u001a\n\u0012\u0006\u0012\u0004\u0018\u00010\u001e0\u001d@BX\u0086\u000e¢\u0006\n\n\u0002\u0010\"\u001a\u0004\b \u0010!R\u001e\u0010#\u001a\u00020\u00152\u0006\u0010\u0010\u001a\u00020\u0015@BX\u0086\u000e¢\u0006\b\n\u0000\u001a\u0004\b$\u0010\u0018R\u001a\u0010%\u001a\u00020\u0015X\u0080\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b&\u0010\u0018\"\u0004\b'\u0010(R\u001e\u0010)\u001a\u00020\u001a2\u0006\u0010\u0010\u001a\u00020\u001a@BX\u0080\u000e¢\u0006\b\n\u0000\u001a\u0004\b*\u0010\u001b\u0082\u0002\u0007\n\u0005\b\u009920\u0001¨\u0006c"}, d2 = {"Landroidx/compose/runtime/SlotTable;", "Landroidx/compose/runtime/tooling/CompositionData;", "", "Landroidx/compose/runtime/tooling/CompositionGroup;", "()V", "anchors", "Ljava/util/ArrayList;", "Landroidx/compose/runtime/Anchor;", "Lkotlin/collections/ArrayList;", "getAnchors$runtime_release", "()Ljava/util/ArrayList;", "setAnchors$runtime_release", "(Ljava/util/ArrayList;)V", "compositionGroups", "getCompositionGroups", "()Ljava/lang/Iterable;", "", "", "groups", "getGroups", "()[I", "", "groupsSize", "getGroupsSize", "()I", "isEmpty", "", "()Z", "readers", "", "", "slots", "getSlots", "()[Ljava/lang/Object;", "[Ljava/lang/Object;", "slotsSize", "getSlotsSize", "version", "getVersion$runtime_release", "setVersion$runtime_release", "(I)V", "writer", "getWriter$runtime_release", "anchor", "index", "anchorIndex", "asString", "", "close", "", "reader", "Landroidx/compose/runtime/SlotReader;", "close$runtime_release", "Landroidx/compose/runtime/SlotWriter;", "(Landroidx/compose/runtime/SlotWriter;[II[Ljava/lang/Object;ILjava/util/ArrayList;)V", "containsMark", "dataIndexes", "", "find", "identityToFind", "findEffectiveRecomposeScope", "Landroidx/compose/runtime/RecomposeScopeImpl;", "group", "groupContainsAnchor", "groupIndex", "groupSizes", "invalidateGroup", "invalidateGroupsWithKey", "target", "invalidateGroupsWithKey$runtime_release", "iterator", "", "keys", "nodes", "openReader", "openWriter", "ownsAnchor", "parentIndexes", "read", ExifInterface.GPS_DIRECTION_TRUE, "block", "Lkotlin/Function1;", "Lkotlin/ParameterName;", "name", "(Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;", "setTo", "setTo$runtime_release", "([II[Ljava/lang/Object;ILjava/util/ArrayList;)V", "slot", "slotIndex", "slot$runtime_release", "slotsOf", "slotsOf$runtime_release", "verifyWellFormed", "write", "emitGroup", "Ljava/lang/StringBuilder;", "Lkotlin/text/StringBuilder;", "level", "runtime_release"}, k = 1, mv = {1, 8, 0}, xi = 48) /* loaded from: classes.dex */ public final class SlotTable implements CompositionData, Iterable, KMappedMarker { private int groupsSize; private int readers; private int slotsSize; private int version; private boolean writer; private int[] groups = new int[0]; private Object[] slots = new Object[0]; private ArrayList anchors = new ArrayList<>(); public final ArrayList getAnchors$runtime_release() { return this.anchors; } public final int[] getGroups() { return this.groups; } public final int getGroupsSize() { return this.groupsSize; } public final Object[] getSlots() { return this.slots; } public final int getSlotsSize() { return this.slotsSize; } /* renamed from: getVersion$runtime_release, reason: from getter */ public final int getVersion() { return this.version; } /* renamed from: getWriter$runtime_release, reason: from getter */ public final boolean getWriter() { return this.writer; } @Override // androidx.compose.runtime.tooling.CompositionData public boolean isEmpty() { return this.groupsSize == 0; } public final void setAnchors$runtime_release(ArrayList arrayList) { Intrinsics.checkNotNullParameter(arrayList, ""); this.anchors = arrayList; } public final void setTo$runtime_release(int[] groups, int groupsSize, Object[] slots, int slotsSize, ArrayList anchors) { Intrinsics.checkNotNullParameter(groups, "groups"); Intrinsics.checkNotNullParameter(slots, "slots"); Intrinsics.checkNotNullParameter(anchors, "anchors"); this.groups = groups; this.groupsSize = groupsSize; this.slots = slots; this.slotsSize = slotsSize; this.anchors = anchors; } public final void setVersion$runtime_release(int i) { this.version = i; } public final T read(Function1 block) { Intrinsics.checkNotNullParameter(block, "block"); SlotReader openReader = openReader(); try { return block.invoke(openReader); } finally { InlineMarker.finallyStart(1); openReader.close(); InlineMarker.finallyEnd(1); } } public final T write(Function1 block) { Intrinsics.checkNotNullParameter(block, "block"); SlotWriter openWriter = openWriter(); try { return block.invoke(openWriter); } finally { InlineMarker.finallyStart(1); openWriter.close(); InlineMarker.finallyEnd(1); } } public final SlotReader openReader() { if (this.writer) { throw new IllegalStateException("Cannot read while a writer is pending".toString()); } this.readers++; return new SlotReader(this); } public final SlotWriter openWriter() { if (!(!this.writer)) { ComposerKt.composeRuntimeError("Cannot start a writer when another writer is pending".toString()); throw new KotlinNothingValueException(); } if (this.readers <= 0) { this.writer = true; this.version++; return new SlotWriter(this); } ComposerKt.composeRuntimeError("Cannot start a writer when a reader is pending".toString()); throw new KotlinNothingValueException(); } public final int anchorIndex(Anchor anchor) { Intrinsics.checkNotNullParameter(anchor, "anchor"); if (!this.writer) { if (!anchor.getValid()) { throw new IllegalArgumentException("Anchor refers to a group that was removed".toString()); } return anchor.getLocation(); } ComposerKt.composeRuntimeError("Use active SlotWriter to determine anchor location instead".toString()); throw new KotlinNothingValueException(); } public final boolean ownsAnchor(Anchor anchor) { int access$search; Intrinsics.checkNotNullParameter(anchor, "anchor"); return anchor.getValid() && (access$search = SlotTableKt.access$search(this.anchors, anchor.getLocation(), this.groupsSize)) >= 0 && Intrinsics.areEqual(this.anchors.get(access$search), anchor); } public final boolean groupContainsAnchor(int groupIndex, Anchor anchor) { Intrinsics.checkNotNullParameter(anchor, "anchor"); if (!(!this.writer)) { ComposerKt.composeRuntimeError("Writer is active".toString()); throw new KotlinNothingValueException(); } if (groupIndex >= 0 && groupIndex < this.groupsSize) { if (ownsAnchor(anchor)) { int access$groupSize = SlotTableKt.access$groupSize(this.groups, groupIndex) + groupIndex; int location = anchor.getLocation(); if (groupIndex <= location && location < access$groupSize) { return true; } } return false; } ComposerKt.composeRuntimeError("Invalid group index".toString()); throw new KotlinNothingValueException(); } public final void close$runtime_release(SlotReader reader) { Intrinsics.checkNotNullParameter(reader, "reader"); if (reader.getTable() == this && this.readers > 0) { this.readers--; } else { ComposerKt.composeRuntimeError("Unexpected reader close()".toString()); throw new KotlinNothingValueException(); } } public final void close$runtime_release(SlotWriter writer, int[] groups, int groupsSize, Object[] slots, int slotsSize, ArrayList anchors) { Intrinsics.checkNotNullParameter(writer, "writer"); Intrinsics.checkNotNullParameter(groups, "groups"); Intrinsics.checkNotNullParameter(slots, "slots"); Intrinsics.checkNotNullParameter(anchors, "anchors"); if (writer.getTable() != this || !this.writer) { throw new IllegalArgumentException("Unexpected writer close()".toString()); } this.writer = false; setTo$runtime_release(groups, groupsSize, slots, slotsSize, anchors); } public final List invalidateGroupsWithKey$runtime_release(int target) { ArrayList arrayList = new ArrayList(); ArrayList arrayList2 = new ArrayList(); Ref.BooleanRef booleanRef = new Ref.BooleanRef(); booleanRef.element = true; SlotReader openReader = openReader(); try { invalidateGroupsWithKey$lambda$14$scanGroup(openReader, target, arrayList, booleanRef, this, arrayList2); Unit unit = Unit.INSTANCE; openReader.close(); SlotWriter openWriter = openWriter(); try { openWriter.startGroup(); int size = arrayList.size(); for (int i = 0; i < size; i++) { Anchor anchor = (Anchor) arrayList.get(i); if (anchor.toIndexFor(openWriter) >= openWriter.getCurrentGroup()) { openWriter.seek(anchor); openWriter.bashGroup$runtime_release(); } } openWriter.skipToGroupEnd(); openWriter.endGroup(); openWriter.close(); if (booleanRef.element) { return arrayList2; } return null; } catch (Throwable th) { openWriter.close(); throw th; } } catch (Throwable th2) { openReader.close(); throw th2; } } private static final void invalidateGroupsWithKey$lambda$14$scanGroup(SlotReader slotReader, int i, List list, Ref.BooleanRef booleanRef, SlotTable slotTable, List list2) { if (slotReader.getGroupKey() == i) { list.add(SlotReader.anchor$default(slotReader, 0, 1, null)); if (booleanRef.element) { RecomposeScopeImpl findEffectiveRecomposeScope = slotTable.findEffectiveRecomposeScope(slotReader.getCurrentGroup()); if (findEffectiveRecomposeScope != null) { list2.add(findEffectiveRecomposeScope); } else { booleanRef.element = false; list2.clear(); } } slotReader.skipGroup(); return; } slotReader.startGroup(); while (!slotReader.isGroupEnd()) { invalidateGroupsWithKey$lambda$14$scanGroup(slotReader, i, list, booleanRef, slotTable, list2); } slotReader.endGroup(); } public final boolean containsMark() { return this.groupsSize > 0 && SlotTableKt.access$containsMark(this.groups, 0); } private final RecomposeScopeImpl findEffectiveRecomposeScope(int group) { while (group > 0) { Iterator it = new DataIterator(this, group).iterator(); while (it.hasNext()) { Object next = it.next(); if (next instanceof RecomposeScopeImpl) { return (RecomposeScopeImpl) next; } } group = SlotTableKt.access$parentAnchor(this.groups, group); } return null; } private final boolean invalidateGroup(int group) { while (group >= 0) { Iterator it = new DataIterator(this, group).iterator(); while (it.hasNext()) { Object next = it.next(); if (next instanceof RecomposeScopeImpl) { RecomposeScopeImpl recomposeScopeImpl = (RecomposeScopeImpl) next; recomposeScopeImpl.setRequiresRecompose(true); return recomposeScopeImpl.invalidateForResult(null) != InvalidationResult.IGNORED; } } group = SlotTableKt.access$parentAnchor(this.groups, group); } return false; } public final void verifyWellFormed() { Ref.IntRef intRef = new Ref.IntRef(); int i = -1; if (this.groupsSize > 0) { while (intRef.element < this.groupsSize) { verifyWellFormed$validateGroup(intRef, this, -1, intRef.element + SlotTableKt.access$groupSize(this.groups, intRef.element)); } if (intRef.element != this.groupsSize) { throw new IllegalStateException(("Incomplete group at root " + intRef.element + " expected to be " + this.groupsSize).toString()); } } int length = this.slots.length; for (int i2 = this.slotsSize; i2 < length; i2++) { if (this.slots[i2] != null) { throw new IllegalStateException(("Non null value in the slot gap at index " + i2).toString()); } } ArrayList arrayList = this.anchors; int size = arrayList.size(); int i3 = 0; while (i3 < size) { int indexFor = arrayList.get(i3).toIndexFor(this); if (indexFor < 0 || indexFor > this.groupsSize) { throw new IllegalArgumentException("Invalid anchor, location out of bound".toString()); } if (i >= indexFor) { throw new IllegalArgumentException("Anchor is out of order".toString()); } i3++; i = indexFor; } } private static final int verifyWellFormed$validateGroup(Ref.IntRef intRef, SlotTable slotTable, int i, int i2) { int i3 = intRef.element; int i4 = i3 + 1; intRef.element = i4; int access$parentAnchor = SlotTableKt.access$parentAnchor(slotTable.groups, i3); if (access$parentAnchor != i) { throw new IllegalStateException(("Invalid parent index detected at " + i3 + ", expected parent index to be " + i + " found " + access$parentAnchor).toString()); } int access$groupSize = SlotTableKt.access$groupSize(slotTable.groups, i3) + i3; if (access$groupSize > slotTable.groupsSize) { throw new IllegalStateException(("A group extends past the end of the table at " + i3).toString()); } if (access$groupSize > i2) { throw new IllegalStateException(("A group extends past its parent group at " + i3).toString()); } int access$dataAnchor = SlotTableKt.access$dataAnchor(slotTable.groups, i3); int access$dataAnchor2 = i3 >= slotTable.groupsSize - 1 ? slotTable.slotsSize : SlotTableKt.access$dataAnchor(slotTable.groups, i4); if (access$dataAnchor2 > slotTable.slots.length) { throw new IllegalStateException(("Slots for " + i3 + " extend past the end of the slot table").toString()); } if (access$dataAnchor > access$dataAnchor2) { throw new IllegalStateException(("Invalid data anchor at " + i3).toString()); } if (SlotTableKt.access$slotAnchor(slotTable.groups, i3) > access$dataAnchor2) { throw new IllegalStateException(("Slots start out of range at " + i3).toString()); } if (access$dataAnchor2 - access$dataAnchor < (SlotTableKt.access$isNode(slotTable.groups, i3) ? 1 : 0) + (SlotTableKt.access$hasObjectKey(slotTable.groups, i3) ? 1 : 0) + (SlotTableKt.access$hasAux(slotTable.groups, i3) ? 1 : 0)) { throw new IllegalStateException(("Not enough slots added for group " + i3).toString()); } boolean access$isNode = SlotTableKt.access$isNode(slotTable.groups, i3); if (access$isNode && slotTable.slots[SlotTableKt.access$nodeIndex(slotTable.groups, i3)] == null) { throw new IllegalStateException(("No node recorded for a node group at " + i3).toString()); } int i5 = 0; while (intRef.element < access$groupSize) { i5 += verifyWellFormed$validateGroup(intRef, slotTable, i3, access$groupSize); } int access$nodeCount = SlotTableKt.access$nodeCount(slotTable.groups, i3); int access$groupSize2 = SlotTableKt.access$groupSize(slotTable.groups, i3); if (access$nodeCount != i5) { throw new IllegalStateException(("Incorrect node count detected at " + i3 + ", expected " + access$nodeCount + ", received " + i5).toString()); } int i6 = intRef.element - i3; if (access$groupSize2 != i6) { throw new IllegalStateException(("Incorrect slot count detected at " + i3 + ", expected " + access$groupSize2 + ", received " + i6).toString()); } if (SlotTableKt.access$containsAnyMark(slotTable.groups, i3) && i3 > 0 && !SlotTableKt.access$containsMark(slotTable.groups, i)) { throw new IllegalStateException(("Expected group " + i + " to record it contains a mark because " + i3 + " does").toString()); } if (access$isNode) { return 1; } return i5; } public final String asString() { if (this.writer) { return super.toString(); } StringBuilder sb = new StringBuilder(); sb.append(super.toString()); sb.append('\n'); int i = this.groupsSize; if (i > 0) { int i2 = 0; while (i2 < i) { i2 += emitGroup(sb, i2, 0); } } else { sb.append(""); } String sb2 = sb.toString(); Intrinsics.checkNotNullExpressionValue(sb2, "StringBuilder().apply(builderAction).toString()"); return sb2; } private final int emitGroup(StringBuilder sb, int i, int i2) { for (int i3 = 0; i3 < i2; i3++) { sb.append(' '); } sb.append("Group("); sb.append(i); sb.append(") key="); sb.append(SlotTableKt.access$key(this.groups, i)); int access$groupSize = SlotTableKt.access$groupSize(this.groups, i); sb.append(", nodes="); sb.append(SlotTableKt.access$nodeCount(this.groups, i)); sb.append(", size="); sb.append(access$groupSize); if (SlotTableKt.access$hasMark(this.groups, i)) { sb.append(", mark"); } if (SlotTableKt.access$containsMark(this.groups, i)) { sb.append(", contains mark"); } int emitGroup$dataIndex = emitGroup$dataIndex(this, i); int i4 = i + 1; int emitGroup$dataIndex2 = emitGroup$dataIndex(this, i4); if (emitGroup$dataIndex >= 0 && emitGroup$dataIndex <= emitGroup$dataIndex2 && emitGroup$dataIndex2 <= this.slotsSize) { if (SlotTableKt.access$hasObjectKey(this.groups, i)) { sb.append(" objectKey=" + this.slots[SlotTableKt.access$objectKeyIndex(this.groups, i)]); } if (SlotTableKt.access$isNode(this.groups, i)) { sb.append(" node=" + this.slots[SlotTableKt.access$nodeIndex(this.groups, i)]); } if (SlotTableKt.access$hasAux(this.groups, i)) { sb.append(" aux=" + this.slots[SlotTableKt.access$auxIndex(this.groups, i)]); } int access$slotAnchor = SlotTableKt.access$slotAnchor(this.groups, i); if (access$slotAnchor < emitGroup$dataIndex2) { sb.append(", slots=["); sb.append(access$slotAnchor); sb.append(": "); for (int i5 = access$slotAnchor; i5 < emitGroup$dataIndex2; i5++) { if (i5 != access$slotAnchor) { sb.append(", "); } sb.append(String.valueOf(this.slots[i5])); } sb.append("]"); } } else { sb.append(", *invalid data offsets " + emitGroup$dataIndex + '-' + emitGroup$dataIndex2 + '*'); } sb.append('\n'); int i6 = i + access$groupSize; while (i4 < i6) { i4 += emitGroup(sb, i4, i2 + 1); } return access$groupSize; } private static final int emitGroup$dataIndex(SlotTable slotTable, int i) { return i >= slotTable.groupsSize ? slotTable.slotsSize : SlotTableKt.access$dataAnchor(slotTable.groups, i); } private final List keys() { return SlotTableKt.access$keys(this.groups, this.groupsSize * 5); } private final List nodes() { return SlotTableKt.access$nodeCounts(this.groups, this.groupsSize * 5); } private final List parentIndexes() { return SlotTableKt.access$parentAnchors(this.groups, this.groupsSize * 5); } private final List dataIndexes() { return SlotTableKt.access$dataAnchors(this.groups, this.groupsSize * 5); } private final List groupSizes() { return SlotTableKt.access$groupSizes(this.groups, this.groupsSize * 5); } public final List slotsOf$runtime_release(int group) { int access$dataAnchor = SlotTableKt.access$dataAnchor(this.groups, group); int i = group + 1; return ArraysKt.toList(this.slots).subList(access$dataAnchor, i < this.groupsSize ? SlotTableKt.access$dataAnchor(this.groups, i) : this.slots.length); } public final Object slot$runtime_release(int group, int slotIndex) { int access$slotAnchor = SlotTableKt.access$slotAnchor(this.groups, group); int i = group + 1; return (slotIndex < 0 || slotIndex >= (i < this.groupsSize ? SlotTableKt.access$dataAnchor(this.groups, i) : this.slots.length) - access$slotAnchor) ? Composer.INSTANCE.getEmpty() : this.slots[access$slotAnchor + slotIndex]; } @Override // androidx.compose.runtime.tooling.CompositionData public Iterable getCompositionGroups() { return this; } @Override // java.lang.Iterable public Iterator iterator() { return new GroupIterator(this, 0, this.groupsSize); } @Override // androidx.compose.runtime.tooling.CompositionData public CompositionGroup find(Object identityToFind) { Intrinsics.checkNotNullParameter(identityToFind, "identityToFind"); return new SlotTableGroup(this, 0, 0, 4, null).find(identityToFind); } public final Anchor anchor(int index) { int i; if (!(!this.writer)) { ComposerKt.composeRuntimeError("use active SlotWriter to create an anchor location instead ".toString()); throw new KotlinNothingValueException(); } if (index < 0 || index >= (i = this.groupsSize)) { throw new IllegalArgumentException("Parameter index is out of range".toString()); } ArrayList arrayList = this.anchors; int access$search = SlotTableKt.access$search(arrayList, index, i); if (access$search < 0) { Anchor anchor = new Anchor(index); arrayList.add(-(access$search + 1), anchor); return anchor; } Anchor anchor2 = arrayList.get(access$search); Intrinsics.checkNotNullExpressionValue(anchor2, "get(location)"); return anchor2; } }