CrackMe.apk
Download file
package kotlinx.coroutines.debug.internal;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.List;
import kotlin.Metadata;
import kotlin.collections.CollectionsKt;
import kotlin.coroutines.Continuation;
import kotlin.coroutines.CoroutineContext;
import kotlin.coroutines.jvm.internal.CoroutineStackFrame;
import kotlin.jvm.internal.Intrinsics;
import kotlin.sequences.SequencesKt;
@Metadata(d1 = {"\u0000\\\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\t\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0005\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0002\b\t\n\u0002\u0018\u0002\n\u0002\b\u0006\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\b\u0000\u0018\u00002\u00020\u0001B!\u0012\b\u0010\u0002\u001a\u0004\u0018\u00010\u0003\u0012\b\u0010\u0004\u001a\u0004\u0018\u00010\u0005\u0012\u0006\u0010\u0006\u001a\u00020\u0007¢\u0006\u0002\u0010\bJ\u000e\u0010\u0013\u001a\b\u0012\u0004\u0012\u00020\u00150\u0014H\u0002J\f\u0010#\u001a\b\u0012\u0004\u0012\u00020\u00150\u0014J\b\u0010$\u001a\u00020\u000eH\u0016J!\u0010%\u001a\u00020&2\u0006\u0010 \u001a\u00020\u000e2\n\u0010'\u001a\u0006\u0012\u0002\b\u00030(H\u0000¢\u0006\u0002\b)J%\u0010*\u001a\u00020&*\b\u0012\u0004\u0012\u00020\u00150+2\b\u0010'\u001a\u0004\u0018\u00010\fHPø\u0001\u0000¢\u0006\u0002\u0010,R\u0016\u0010\t\u001a\n\u0012\u0006\u0012\u0004\u0018\u00010\u00030\nX\u0004¢\u0006\u0002\n\u0000R\u0016\u0010\u000b\u001a\n\u0012\u0004\u0012\u00020\f\u0018\u00010\nX\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\r\u001a\u00020\u000eX\u000e¢\u0006\u0002\n\u0000R\u0013\u0010\u0002\u001a\u0004\u0018\u00010\u00038F¢\u0006\u0006\u001a\u0004\b\u000f\u0010\u0010R\u0013\u0010\u0004\u001a\u0004\u0018\u00010\u0005¢\u0006\b\n\u0000\u001a\u0004\b\u0011\u0010\u0012R\u0017\u0010\u0013\u001a\b\u0012\u0004\u0012\u00020\u00150\u00148F¢\u0006\u0006\u001a\u0004\b\u0016\u0010\u0017R(\u0010\u0019\u001a\u0004\u0018\u00010\f2\b\u0010\u0018\u001a\u0004\u0018\u00010\f8@@@X\u000e¢\u0006\f\u001a\u0004\b\u001a\u0010\u001b\"\u0004\b\u001c\u0010\u001dR\u0014\u0010\u001e\u001a\u0004\u0018\u00010\u001f8\u0000@\u0000X\u000e¢\u0006\u0002\n\u0000R\u0010\u0010\u0006\u001a\u00020\u00078\u0000X\u0004¢\u0006\u0002\n\u0000R\u0011\u0010 \u001a\u00020\u000e8F¢\u0006\u0006\u001a\u0004\b!\u0010\"\u0002\u0004\n\u0002\b\u0019¨\u0006-"}, d2 = {"Lkotlinx/coroutines/debug/internal/DebugCoroutineInfoImpl;", "", "context", "Lkotlin/coroutines/CoroutineContext;", "creationStackBottom", "Lkotlinx/coroutines/debug/internal/StackTraceFrame;", "sequenceNumber", "", "(Lkotlin/coroutines/CoroutineContext;Lkotlinx/coroutines/debug/internal/StackTraceFrame;J)V", "_context", "Ljava/lang/ref/WeakReference;", "_lastObservedFrame", "Lkotlin/coroutines/jvm/internal/CoroutineStackFrame;", "_state", "", "getContext", "()Lkotlin/coroutines/CoroutineContext;", "getCreationStackBottom", "()Lkotlinx/coroutines/debug/internal/StackTraceFrame;", "creationStackTrace", "", "Ljava/lang/StackTraceElement;", "getCreationStackTrace", "()Ljava/util/List;", "value", "lastObservedFrame", "getLastObservedFrame$kotlinx_coroutines_core", "()Lkotlin/coroutines/jvm/internal/CoroutineStackFrame;", "setLastObservedFrame$kotlinx_coroutines_core", "(Lkotlin/coroutines/jvm/internal/CoroutineStackFrame;)V", "lastObservedThread", "Ljava/lang/Thread;", "state", "getState", "()Ljava/lang/String;", "lastObservedStackTrace", "toString", "updateState", "", "frame", "Lkotlin/coroutines/Continuation;", "updateState$kotlinx_coroutines_core", "yieldFrames", "Lkotlin/sequences/SequenceScope;", "(Lkotlin/sequences/SequenceScope;Lkotlin/coroutines/jvm/internal/CoroutineStackFrame;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "kotlinx-coroutines-core"}, k = 1, mv = {1, 6, 0}, xi = 48)
/* compiled from: DebugCoroutineInfoImpl.kt */
public final class DebugCoroutineInfoImpl {
private final WeakReference<CoroutineContext> _context;
private WeakReference<CoroutineStackFrame> _lastObservedFrame;
private String _state = DebugCoroutineInfoImplKt.CREATED;
private final StackTraceFrame creationStackBottom;
public Thread lastObservedThread;
public final long sequenceNumber;
public DebugCoroutineInfoImpl(CoroutineContext coroutineContext, StackTraceFrame stackTraceFrame, long j) {
this.creationStackBottom = stackTraceFrame;
this.sequenceNumber = j;
this._context = new WeakReference<>(coroutineContext);
}
public final StackTraceFrame getCreationStackBottom() {
return this.creationStackBottom;
}
public final CoroutineContext getContext() {
return (CoroutineContext) this._context.get();
}
public final List<StackTraceElement> getCreationStackTrace() {
return creationStackTrace();
}
public final String getState() {
return this._state;
}
public final CoroutineStackFrame getLastObservedFrame$kotlinx_coroutines_core() {
WeakReference<CoroutineStackFrame> weakReference = this._lastObservedFrame;
if (weakReference == null) {
return null;
}
return (CoroutineStackFrame) weakReference.get();
}
public final void setLastObservedFrame$kotlinx_coroutines_core(CoroutineStackFrame coroutineStackFrame) {
this._lastObservedFrame = coroutineStackFrame == null ? null : new WeakReference<>(coroutineStackFrame);
}
public final List<StackTraceElement> lastObservedStackTrace() {
CoroutineStackFrame lastObservedFrame$kotlinx_coroutines_core = getLastObservedFrame$kotlinx_coroutines_core();
if (lastObservedFrame$kotlinx_coroutines_core == null) {
return CollectionsKt.emptyList();
}
ArrayList arrayList = new ArrayList();
while (lastObservedFrame$kotlinx_coroutines_core != null) {
StackTraceElement stackTraceElement = lastObservedFrame$kotlinx_coroutines_core.getStackTraceElement();
if (stackTraceElement != null) {
arrayList.add(stackTraceElement);
}
lastObservedFrame$kotlinx_coroutines_core = lastObservedFrame$kotlinx_coroutines_core.getCallerFrame();
}
return arrayList;
}
private final List<StackTraceElement> creationStackTrace() {
StackTraceFrame stackTraceFrame = this.creationStackBottom;
if (stackTraceFrame == null) {
return CollectionsKt.emptyList();
}
return SequencesKt.toList(SequencesKt.sequence(new DebugCoroutineInfoImpl$creationStackTrace$1(this, stackTraceFrame, (Continuation<? super DebugCoroutineInfoImpl$creationStackTrace$1>) null)));
}
/* access modifiers changed from: private */
/* JADX WARNING: Removed duplicated region for block: B:12:0x003e */
/* JADX WARNING: Removed duplicated region for block: B:16:0x0047 */
/* JADX WARNING: Removed duplicated region for block: B:25:0x006a */
/* JADX WARNING: Removed duplicated region for block: B:8:0x0024 */
/* Code decompiled incorrectly, please refer to instructions dump. */
public final java.lang.Object yieldFrames(kotlin.sequences.SequenceScope<? super java.lang.StackTraceElement> r6, kotlin.coroutines.jvm.internal.CoroutineStackFrame r7, kotlin.coroutines.Continuation<? super kotlin.Unit> r8) {
/*
r5 = this;
boolean r0 = r8 instanceof kotlinx.coroutines.debug.internal.DebugCoroutineInfoImpl$yieldFrames$1
if (r0 == 0) goto L_0x0014
r0 = r8
kotlinx.coroutines.debug.internal.DebugCoroutineInfoImpl$yieldFrames$1 r0 = (kotlinx.coroutines.debug.internal.DebugCoroutineInfoImpl$yieldFrames$1) r0
int r1 = r0.label
r2 = -2147483648(0xffffffff80000000, float:-0.0)
r1 = r1 & r2
if (r1 == 0) goto L_0x0014
int r8 = r0.label
int r8 = r8 - r2
r0.label = r8
goto L_0x0019
L_0x0014:
kotlinx.coroutines.debug.internal.DebugCoroutineInfoImpl$yieldFrames$1 r0 = new kotlinx.coroutines.debug.internal.DebugCoroutineInfoImpl$yieldFrames$1
r0.<init>(r5, r8)
L_0x0019:
java.lang.Object r8 = r0.result
java.lang.Object r1 = kotlin.coroutines.intrinsics.IntrinsicsKt.getCOROUTINE_SUSPENDED()
int r2 = r0.label
r3 = 1
if (r2 == 0) goto L_0x003e
if (r2 != r3) goto L_0x0036
java.lang.Object r6 = r0.L$2
kotlin.coroutines.jvm.internal.CoroutineStackFrame r6 = (kotlin.coroutines.jvm.internal.CoroutineStackFrame) r6
java.lang.Object r7 = r0.L$1
kotlin.sequences.SequenceScope r7 = (kotlin.sequences.SequenceScope) r7
java.lang.Object r2 = r0.L$0
kotlinx.coroutines.debug.internal.DebugCoroutineInfoImpl r2 = (kotlinx.coroutines.debug.internal.DebugCoroutineInfoImpl) r2
kotlin.ResultKt.throwOnFailure(r8)
goto L_0x0060
L_0x0036:
java.lang.IllegalStateException r6 = new java.lang.IllegalStateException
java.lang.String r7 = "call to 'resume' before 'invoke' with coroutine"
r6.<init>(r7)
throw r6
L_0x003e:
kotlin.ResultKt.throwOnFailure(r8)
r2 = r5
L_0x0042:
if (r7 != 0) goto L_0x0047
kotlin.Unit r6 = kotlin.Unit.INSTANCE
return r6
L_0x0047:
java.lang.StackTraceElement r8 = r7.getStackTraceElement()
if (r8 != 0) goto L_0x004e
goto L_0x0063
L_0x004e:
r0.L$0 = r2
r0.L$1 = r6
r0.L$2 = r7
r0.label = r3
java.lang.Object r8 = r6.yield(r8, r0)
if (r8 != r1) goto L_0x005d
return r1
L_0x005d:
r4 = r7
r7 = r6
r6 = r4
L_0x0060:
r4 = r7
r7 = r6
r6 = r4
L_0x0063:
kotlin.coroutines.jvm.internal.CoroutineStackFrame r7 = r7.getCallerFrame()
if (r7 == 0) goto L_0x006a
goto L_0x0042
L_0x006a:
kotlin.Unit r6 = kotlin.Unit.INSTANCE
return r6
*/
throw new UnsupportedOperationException("Method not decompiled: kotlinx.coroutines.debug.internal.DebugCoroutineInfoImpl.yieldFrames(kotlin.sequences.SequenceScope, kotlin.coroutines.jvm.internal.CoroutineStackFrame, kotlin.coroutines.Continuation):java.lang.Object");
}
public final void updateState$kotlinx_coroutines_core(String str, Continuation<?> continuation) {
if (!Intrinsics.areEqual((Object) this._state, (Object) str) || !Intrinsics.areEqual((Object) str, (Object) DebugCoroutineInfoImplKt.SUSPENDED) || getLastObservedFrame$kotlinx_coroutines_core() == null) {
this._state = str;
Thread thread = null;
setLastObservedFrame$kotlinx_coroutines_core(continuation instanceof CoroutineStackFrame ? (CoroutineStackFrame) continuation : null);
if (Intrinsics.areEqual((Object) str, (Object) DebugCoroutineInfoImplKt.RUNNING)) {
thread = Thread.currentThread();
} else {
Thread thread2 = null;
}
this.lastObservedThread = thread;
}
}
public String toString() {
return "DebugCoroutineInfo(state=" + getState() + ",context=" + getContext() + ')';
}
}
Download file