651 lines
		
	
	
		
			40 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			651 lines
		
	
	
		
			40 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package kotlinx.coroutines;
 | |
| 
 | |
| import androidx.concurrent.futures.AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0;
 | |
| import androidx.constraintlayout.core.widgets.analyzer.BasicMeasure;
 | |
| import java.util.concurrent.CancellationException;
 | |
| import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
 | |
| import java.util.concurrent.atomic.AtomicReferenceFieldUpdater;
 | |
| import kotlin.KotlinNothingValueException;
 | |
| import kotlin.Metadata;
 | |
| import kotlin.Unit;
 | |
| import kotlin.coroutines.Continuation;
 | |
| import kotlin.coroutines.CoroutineContext;
 | |
| import kotlin.coroutines.intrinsics.IntrinsicsKt;
 | |
| import kotlin.coroutines.jvm.internal.CoroutineStackFrame;
 | |
| import kotlin.jvm.Volatile;
 | |
| import kotlin.jvm.functions.Function0;
 | |
| import kotlin.jvm.functions.Function1;
 | |
| import kotlin.jvm.internal.Intrinsics;
 | |
| import kotlinx.coroutines.Job;
 | |
| import kotlinx.coroutines.internal.DispatchedContinuation;
 | |
| import kotlinx.coroutines.internal.Segment;
 | |
| import kotlinx.coroutines.internal.StackTraceRecoveryKt;
 | |
| import kotlinx.coroutines.internal.Symbol;
 | |
| 
 | |
| /* compiled from: CancellableContinuationImpl.kt */
 | |
| @Metadata(d1 = {"\u0000È\u0001\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0010\u000b\n\u0002\b\n\n\u0002\u0010\u000e\n\u0002\b\u0003\n\u0002\u0010\u0001\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0003\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u000e\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0017\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\b\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0003\b\u0011\u0018\u0000*\u0006\b\u0000\u0010\u0001 \u00002\b\u0012\u0004\u0012\u0002H\u00010\u00022\b\u0012\u0004\u0012\u0002H\u00010\u00032\u00060\u0004j\u0002`\u00052\u00020\u0006B\u001b\u0012\f\u0010\u0007\u001a\b\u0012\u0004\u0012\u00028\u00000\b\u0012\u0006\u0010\t\u001a\u00020\n¢\u0006\u0002\u0010\u000bJ\u0012\u0010+\u001a\u00020,2\b\u0010-\u001a\u0004\u0018\u00010\u0012H\u0002J\u0018\u0010.\u001a\u00020/2\u0006\u00100\u001a\u0002012\b\u00102\u001a\u0004\u0018\u000103J;\u0010.\u001a\u00020/2'\u00100\u001a#\u0012\u0015\u0012\u0013\u0018\u000103¢\u0006\f\b5\u0012\b\b6\u0012\u0004\b\b(2\u0012\u0004\u0012\u00020/04j\u0002`72\b\u00102\u001a\u0004\u0018\u000103H\u0002J\u0017\u00108\u001a\u00020/2\f\u00109\u001a\b\u0012\u0004\u0012\u00020/0:H\u0082\bJ1\u0010;\u001a\u00020/2!\u0010<\u001a\u001d\u0012\u0013\u0012\u001103¢\u0006\f\b5\u0012\b\b6\u0012\u0004\b\b(2\u0012\u0004\u0012\u00020/042\u0006\u00102\u001a\u000203J\u001e\u0010=\u001a\u00020/2\n\u0010>\u001a\u0006\u0012\u0002\b\u00030?2\b\u00102\u001a\u0004\u0018\u000103H\u0002J\u0012\u0010@\u001a\u00020\u001d2\b\u00102\u001a\u0004\u0018\u000103H\u0016J\u001f\u0010A\u001a\u00020/2\b\u0010B\u001a\u0004\u0018\u00010\u00122\u0006\u00102\u001a\u000203H\u0010¢\u0006\u0002\bCJ\u0010\u0010D\u001a\u00020\u001d2\u0006\u00102\u001a\u000203H\u0002J\u0010\u0010E\u001a\u00020/2\u0006\u0010F\u001a\u00020\u0012H\u0016J\r\u0010G\u001a\u00020/H\u0000¢\u0006\u0002\bHJ\b\u0010I\u001a\u00020/H\u0002J\u0010\u0010J\u001a\u00020/2\u0006\u0010K\u001a\u00020\nH\u0002J\u0010\u0010L\u001a\u0002032\u0006\u0010M\u001a\u00020NH\u0016J\u0019\u0010O\u001a\u0004\u0018\u0001032\b\u0010$\u001a\u0004\u0018\u00010\u0012H\u0010¢\u0006\u0002\bPJ\n\u0010Q\u001a\u0004\u0018\u00010\u0012H\u0001J\u0010\u0010R\u001a\n\u0018\u00010Sj\u0004\u0018\u0001`TH\u0016J\u001f\u0010U\u001a\u0002H\u0001\"\u0004\b\u0001\u0010\u00012\b\u0010$\u001a\u0004\u0018\u00010\u0012H\u0010¢\u0006\u0004\bV\u0010WJ\b\u0010X\u001a\u00020/H\u0016J\n\u0010Y\u001a\u0004\u0018\u00010\u0010H\u0002J1\u0010Z\u001a\u00020/2'\u00100\u001a#\u0012\u0015\u0012\u0013\u0018\u000103¢\u0006\f\b5\u0012\b\b6\u0012\u0004\b\b(2\u0012\u0004\u0012\u00020/04j\u0002`7H\u0016J\u001c\u0010Z\u001a\u00020/2\n\u0010>\u001a\u0006\u0012\u0002\b\u00030?2\u0006\u0010[\u001a\u00020\nH\u0016J\u0010\u0010\\\u001a\u00020/2\u0006\u00100\u001a\u00020\u0012H\u0002J\b\u0010]\u001a\u00020\u001dH\u0002J1\u0010^\u001a\u0002012'\u00100\u001a#\u0012\u0015\u0012\u0013\u0018\u000103¢\u0006\f\b5\u0012\b\b6\u0012\u0004\b\b(2\u0012\u0004\u0012\u00020/04j\u0002`7H\u0002J\u001a\u0010_\u001a\u00020/2\u0006\u00100\u001a\u00020\u00122\b\u0010$\u001a\u0004\u0018\u00010\u0012H\u0002J\b\u0010`\u001a\u00020(H\u0014J\u0015\u0010a\u001a\u00020/2\u0006\u00102\u001a\u000203H\u0000¢\u0006\u0002\bbJ\r\u0010c\u001a\u00020/H\u0000¢\u0006\u0002\bdJ\b\u0010e\u001a\u00020\u001dH\u0001J:\u0010f\u001a\u00020/2\u0006\u0010g\u001a\u00028\u00002#\u0010<\u001a\u001f\u0012\u0013\u0012\u001103¢\u0006\f\b5\u0012\b\b6\u0012\u0004\b\b(2\u0012\u0004\u0012\u00020/\u0018\u000104H\u0016¢\u0006\u0002\u0010hJA\u0010i\u001a\u00020/2\b\u0010-\u001a\u0004\u0018\u00010\u00122\u0006\u0010\t\u001a\u00020\n2%\b\u0002\u0010<\u001a\u001f\u0012\u0013\u0012\u001103¢\u0006\f\b5\u0012\b\b6\u0012\u0004\b\b(2\u0012\u0004\u0012\u00020/\u0018\u000104H\u0002J\u001e\u0010j\u001a\u00020/2\f\u0010k\u001a\b\u0012\u0004\u0012\u00028\u00000lH\u0016ø\u0001\u0000¢\u0006\u0002\u0010mJS\u0010n\u001a\u0004\u0018\u00010\u00122\u0006\u0010$\u001a\u00020o2\b\u0010-\u001a\u0004\u0018\u00010\u00122\u0006\u0010\t\u001a\u00020\n2#\u0010<\u001a\u001f\u0012\u0013\u0012\u001103¢\u0006\f\b5\u0012\b\b6\u0012\u0004\b\b(2\u0012\u0004\u0012\u00020/\u0018\u0001042\b\u0010p\u001a\u0004\u0018\u00010\u0012H\u0002J\u000f\u0010q\u001a\u0004\u0018\u00010\u0012H\u0010¢\u0006\u0002\brJ\b\u0010s\u001a\u00020(H\u0016J\b\u0010t\u001a\u00020\u001dH\u0002J!\u0010t\u001a\u0004\u0018\u00010\u00122\u0006\u0010g\u001a\u00028\u00002\b\u0010p\u001a\u0004\u0018\u00010\u0012H\u0016¢\u0006\u0002\u0010uJF\u0010t\u001a\u0004\u0018\u00010\u00122\u0006\u0010g\u001a\u00028\u00002\b\u0010p\u001a\u0004\u0018\u00010\u00122#\u0010<\u001a\u001f\u0012\u0013\u0012\u001103¢\u0006\f\b5\u0012\b\b6\u0012\u0004\b\b(2\u0012\u0004\u0012\u00020/\u0018\u000104H\u0016¢\u0006\u0002\u0010vJC\u0010w\u001a\u0004\u0018\u00010x2\b\u0010-\u001a\u0004\u0018\u00010\u00122\b\u0010p\u001a\u0004\u0018\u00010\u00122#\u0010<\u001a\u001f\u0012\u0013\u0012\u001103¢\u0006\f\b5\u0012\b\b6\u0012\u0004\b\b(2\u0012\u0004\u0012\u00020/\u0018\u000104H\u0002J\u0012\u0010y\u001a\u0004\u0018\u00010\u00122\u0006\u0010z\u001a\u000203H\u0016J\b\u0010{\u001a\u00020\u001dH\u0002J\u0019\u0010|\u001a\u00020/*\u00020}2\u0006\u0010g\u001a\u00028\u0000H\u0016¢\u0006\u0002\u0010~J\u0014\u0010\u007f\u001a\u00020/*\u00020}2\u0006\u0010z\u001a\u000203H\u0016R\t\u0010\f\u001a\u00020\rX\u0082\u0004R\u0011\u0010\u000e\u001a\n\u0012\u0006\u0012\u0004\u0018\u00010\u00100\u000fX\u0082\u0004R\u0011\u0010\u0011\u001a\n\u0012\u0006\u0012\u0004\u0018\u00010\u00120\u000fX\u0082\u0004R\u001c\u0010\u0013\u001a\n\u0018\u00010\u0004j\u0004\u0018\u0001`\u00058VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u0014\u0010\u0015R\u0014\u0010\u0016\u001a\u00020\u0017X\u0096\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u0018\u0010\u0019R\u001a\u0010\u0007\u001a\b\u0012\u0004\u0012\u00028\u00000\bX\u0080\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u001a\u0010\u001bR\u0014\u0010\u001c\u001a\u00020\u001d8VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u001c\u0010\u001eR\u0014\u0010\u001f\u001a\u00020\u001d8VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u001f\u0010\u001eR\u0014\u0010 \u001a\u00020\u001d8VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b \u0010\u001eR\u0016\u0010!\u001a\u0004\u0018\u00010\u00108BX\u0082\u0004¢\u0006\u0006\u001a\u0004\b\"\u0010#R\u0016\u0010$\u001a\u0004\u0018\u00010\u00128@X\u0080\u0004¢\u0006\u0006\u001a\u0004\b%\u0010&R\u0014\u0010'\u001a\u00020(8BX\u0082\u0004¢\u0006\u0006\u001a\u0004\b)\u0010*\u0082\u0002\u0004\n\u0002\b\u0019¨\u0006\u0080\u0001"}, d2 = {"Lkotlinx/coroutines/CancellableContinuationImpl;", "T", "Lkotlinx/coroutines/DispatchedTask;", "Lkotlinx/coroutines/CancellableContinuation;", "Lkotlin/coroutines/jvm/internal/CoroutineStackFrame;", "Lkotlinx/coroutines/internal/CoroutineStackFrame;", "Lkotlinx/coroutines/Waiter;", "delegate", "Lkotlin/coroutines/Continuation;", "resumeMode", "", "(Lkotlin/coroutines/Continuation;I)V", "_decisionAndIndex", "Lkotlinx/atomicfu/AtomicInt;", "_parentHandle", "Lkotlinx/atomicfu/AtomicRef;", "Lkotlinx/coroutines/DisposableHandle;", "_state", "", "callerFrame", "getCallerFrame", "()Lkotlin/coroutines/jvm/internal/CoroutineStackFrame;", "context", "Lkotlin/coroutines/CoroutineContext;", "getContext", "()Lkotlin/coroutines/CoroutineContext;", "getDelegate$kotlinx_coroutines_core", "()Lkotlin/coroutines/Continuation;", "isActive", "", "()Z", "isCancelled", "isCompleted", "parentHandle", "getParentHandle", "()Lkotlinx/coroutines/DisposableHandle;", "state", "getState$kotlinx_coroutines_core", "()Ljava/lang/Object;", "stateDebugRepresentation", "", "getStateDebugRepresentation", "()Ljava/lang/String;", "alreadyResumedError", "", "proposedUpdate", "callCancelHandler", "", "handler", "Lkotlinx/coroutines/CancelHandler;", "cause", "", "Lkotlin/Function1;", "Lkotlin/ParameterName;", "name", "Lkotlinx/coroutines/CompletionHandler;", "callCancelHandlerSafely", "block", "Lkotlin/Function0;", "callOnCancellation", "onCancellation", "callSegmentOnCancellation", "segment", "Lkotlinx/coroutines/internal/Segment;", "cancel", "cancelCompletedResult", "takenState", "cancelCompletedResult$kotlinx_coroutines_core", "cancelLater", "completeResume", "token", "detachChild", "detachChild$kotlinx_coroutines_core", "detachChildIfNonResuable", "dispatchResume", "mode", "getContinuationCancellationCause", "parent", "Lkotlinx/coroutines/Job;", "getExceptionalResult", "getExceptionalResult$kotlinx_coroutines_core", "getResult", "getStackTraceElement", "Ljava/lang/StackTraceElement;", "Lkotlinx/coroutines/internal/StackTraceElement;", "getSuccessfulResult", "getSuccessfulResult$kotlinx_coroutines_core", "(Ljava/lang/Object;)Ljava/lang/Object;", "initCancellability", "installParentHandle", "invokeOnCancellation", "index", "invokeOnCancellationImpl", "isReusable", "makeCancelHandler", "multipleHandlersError", "nameString", "parentCancelled", "parentCancelled$kotlinx_coroutines_core", "releaseClaimedReusableContinuation", "releaseClaimedReusableContinuation$kotlinx_coroutines_core", "resetStateReusable", "resume", "value", "(Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)V", "resumeImpl", "resumeWith", "result", "Lkotlin/Result;", "(Ljava/lang/Object;)V", "resumedState", "Lkotlinx/coroutines/NotCompleted;", "idempotent", "takeState", "takeState$kotlinx_coroutines_core", "toString", "tryResume", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;", "(Ljava/lang/Object;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;", "tryResumeImpl", "Lkotlinx/coroutines/internal/Symbol;", "tryResumeWithException", "exception", "trySuspend", "resumeUndispatched", "Lkotlinx/coroutines/CoroutineDispatcher;", "(Lkotlinx/coroutines/CoroutineDispatcher;Ljava/lang/Object;)V", "resumeUndispatchedWithException", "kotlinx-coroutines-core"}, k = 1, mv = {1, 8, 0}, xi = 48)
 | |
| /* loaded from: classes.dex */
 | |
| public class CancellableContinuationImpl<T> extends DispatchedTask<T> implements CancellableContinuation<T>, CoroutineStackFrame, Waiter {
 | |
| 
 | |
|     @Volatile
 | |
|     private volatile int _decisionAndIndex;
 | |
| 
 | |
|     @Volatile
 | |
|     private volatile Object _parentHandle;
 | |
| 
 | |
|     @Volatile
 | |
|     private volatile Object _state;
 | |
|     private final CoroutineContext context;
 | |
|     private final Continuation<T> delegate;
 | |
|     private static final AtomicIntegerFieldUpdater _decisionAndIndex$FU = AtomicIntegerFieldUpdater.newUpdater(CancellableContinuationImpl.class, "_decisionAndIndex");
 | |
|     private static final AtomicReferenceFieldUpdater _state$FU = AtomicReferenceFieldUpdater.newUpdater(CancellableContinuationImpl.class, Object.class, "_state");
 | |
|     private static final AtomicReferenceFieldUpdater _parentHandle$FU = AtomicReferenceFieldUpdater.newUpdater(CancellableContinuationImpl.class, Object.class, "_parentHandle");
 | |
| 
 | |
|     private final void loop$atomicfu(AtomicIntegerFieldUpdater atomicIntegerFieldUpdater, Function1<? super Integer, Unit> function1, Object obj) {
 | |
|         while (true) {
 | |
|             function1.invoke(Integer.valueOf(atomicIntegerFieldUpdater.get(obj)));
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private final void loop$atomicfu(AtomicReferenceFieldUpdater atomicReferenceFieldUpdater, Function1<Object, Unit> function1, Object obj) {
 | |
|         while (true) {
 | |
|             function1.invoke(atomicReferenceFieldUpdater.get(obj));
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private final void update$atomicfu(AtomicIntegerFieldUpdater atomicIntegerFieldUpdater, Function1<? super Integer, Integer> function1, Object obj) {
 | |
|         int i;
 | |
|         do {
 | |
|             i = atomicIntegerFieldUpdater.get(obj);
 | |
|         } while (!atomicIntegerFieldUpdater.compareAndSet(obj, i, function1.invoke(Integer.valueOf(i)).intValue()));
 | |
|     }
 | |
| 
 | |
|     @Override // kotlin.coroutines.Continuation
 | |
|     /* renamed from: getContext, reason: from getter */
 | |
|     public CoroutineContext get$context() {
 | |
|         return this.context;
 | |
|     }
 | |
| 
 | |
|     @Override // kotlinx.coroutines.DispatchedTask
 | |
|     public final Continuation<T> getDelegate$kotlinx_coroutines_core() {
 | |
|         return this.delegate;
 | |
|     }
 | |
| 
 | |
|     @Override // kotlin.coroutines.jvm.internal.CoroutineStackFrame
 | |
|     public StackTraceElement getStackTraceElement() {
 | |
|         return null;
 | |
|     }
 | |
| 
 | |
|     protected String nameString() {
 | |
|         return "CancellableContinuation";
 | |
|     }
 | |
| 
 | |
|     /* JADX WARN: Multi-variable type inference failed */
 | |
|     public CancellableContinuationImpl(Continuation<? super T> continuation, int i) {
 | |
|         super(i);
 | |
|         this.delegate = continuation;
 | |
|         if (DebugKt.getASSERTIONS_ENABLED() && i == -1) {
 | |
|             throw new AssertionError();
 | |
|         }
 | |
|         this.context = continuation.get$context();
 | |
|         this._decisionAndIndex = 536870911;
 | |
|         this._state = Active.INSTANCE;
 | |
|     }
 | |
| 
 | |
|     private final DisposableHandle getParentHandle() {
 | |
|         return (DisposableHandle) _parentHandle$FU.get(this);
 | |
|     }
 | |
| 
 | |
|     public final Object getState$kotlinx_coroutines_core() {
 | |
|         return _state$FU.get(this);
 | |
|     }
 | |
| 
 | |
|     @Override // kotlinx.coroutines.CancellableContinuation
 | |
|     public boolean isActive() {
 | |
|         return getState$kotlinx_coroutines_core() instanceof NotCompleted;
 | |
|     }
 | |
| 
 | |
|     @Override // kotlinx.coroutines.CancellableContinuation
 | |
|     public boolean isCompleted() {
 | |
|         return !(getState$kotlinx_coroutines_core() instanceof NotCompleted);
 | |
|     }
 | |
| 
 | |
|     @Override // kotlinx.coroutines.CancellableContinuation
 | |
|     public boolean isCancelled() {
 | |
|         return getState$kotlinx_coroutines_core() instanceof CancelledContinuation;
 | |
|     }
 | |
| 
 | |
|     private final String getStateDebugRepresentation() {
 | |
|         Object state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
 | |
|         return state$kotlinx_coroutines_core instanceof NotCompleted ? "Active" : state$kotlinx_coroutines_core instanceof CancelledContinuation ? "Cancelled" : "Completed";
 | |
|     }
 | |
| 
 | |
|     @Override // kotlinx.coroutines.CancellableContinuation
 | |
|     public void initCancellability() {
 | |
|         DisposableHandle installParentHandle = installParentHandle();
 | |
|         if (installParentHandle != null && isCompleted()) {
 | |
|             installParentHandle.dispose();
 | |
|             _parentHandle$FU.set(this, NonDisposableHandle.INSTANCE);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private final boolean isReusable() {
 | |
|         if (DispatchedTaskKt.isReusableMode(this.resumeMode)) {
 | |
|             Continuation<T> continuation = this.delegate;
 | |
|             Intrinsics.checkNotNull(continuation, "null cannot be cast to non-null type kotlinx.coroutines.internal.DispatchedContinuation<*>");
 | |
|             if (((DispatchedContinuation) continuation).isReusable()) {
 | |
|                 return true;
 | |
|             }
 | |
|         }
 | |
|         return false;
 | |
|     }
 | |
| 
 | |
|     public final boolean resetStateReusable() {
 | |
|         if (DebugKt.getASSERTIONS_ENABLED() && this.resumeMode != 2) {
 | |
|             throw new AssertionError();
 | |
|         }
 | |
|         if (DebugKt.getASSERTIONS_ENABLED() && getParentHandle() == NonDisposableHandle.INSTANCE) {
 | |
|             throw new AssertionError();
 | |
|         }
 | |
|         AtomicReferenceFieldUpdater atomicReferenceFieldUpdater = _state$FU;
 | |
|         Object obj = atomicReferenceFieldUpdater.get(this);
 | |
|         if (DebugKt.getASSERTIONS_ENABLED() && !(!(obj instanceof NotCompleted))) {
 | |
|             throw new AssertionError();
 | |
|         }
 | |
|         if ((obj instanceof CompletedContinuation) && ((CompletedContinuation) obj).idempotentResume != null) {
 | |
|             detachChild$kotlinx_coroutines_core();
 | |
|             return false;
 | |
|         }
 | |
|         _decisionAndIndex$FU.set(this, 536870911);
 | |
|         atomicReferenceFieldUpdater.set(this, Active.INSTANCE);
 | |
|         return true;
 | |
|     }
 | |
| 
 | |
|     @Override // kotlin.coroutines.jvm.internal.CoroutineStackFrame
 | |
|     public CoroutineStackFrame getCallerFrame() {
 | |
|         Continuation<T> continuation = this.delegate;
 | |
|         if (continuation instanceof CoroutineStackFrame) {
 | |
|             return (CoroutineStackFrame) continuation;
 | |
|         }
 | |
|         return null;
 | |
|     }
 | |
| 
 | |
|     @Override // kotlinx.coroutines.DispatchedTask
 | |
|     public Object takeState$kotlinx_coroutines_core() {
 | |
|         return getState$kotlinx_coroutines_core();
 | |
|     }
 | |
| 
 | |
|     @Override // kotlinx.coroutines.DispatchedTask
 | |
|     public void cancelCompletedResult$kotlinx_coroutines_core(Object takenState, Throwable cause) {
 | |
|         AtomicReferenceFieldUpdater atomicReferenceFieldUpdater = _state$FU;
 | |
|         while (true) {
 | |
|             Object obj = atomicReferenceFieldUpdater.get(this);
 | |
|             if (obj instanceof NotCompleted) {
 | |
|                 throw new IllegalStateException("Not completed".toString());
 | |
|             }
 | |
|             if (obj instanceof CompletedExceptionally) {
 | |
|                 return;
 | |
|             }
 | |
|             if (obj instanceof CompletedContinuation) {
 | |
|                 CompletedContinuation completedContinuation = (CompletedContinuation) obj;
 | |
|                 if (!(!completedContinuation.getCancelled())) {
 | |
|                     throw new IllegalStateException("Must be called at most once".toString());
 | |
|                 }
 | |
|                 if (AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, obj, CompletedContinuation.copy$default(completedContinuation, null, null, null, null, cause, 15, null))) {
 | |
|                     completedContinuation.invokeHandlers(this, cause);
 | |
|                     return;
 | |
|                 }
 | |
|             } else if (AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, obj, new CompletedContinuation(obj, null, null, null, cause, 14, null))) {
 | |
|                 return;
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private final boolean cancelLater(Throwable cause) {
 | |
|         if (!isReusable()) {
 | |
|             return false;
 | |
|         }
 | |
|         Continuation<T> continuation = this.delegate;
 | |
|         Intrinsics.checkNotNull(continuation, "null cannot be cast to non-null type kotlinx.coroutines.internal.DispatchedContinuation<*>");
 | |
|         return ((DispatchedContinuation) continuation).postponeCancellation(cause);
 | |
|     }
 | |
| 
 | |
|     @Override // kotlinx.coroutines.CancellableContinuation
 | |
|     public boolean cancel(Throwable cause) {
 | |
|         Object obj;
 | |
|         AtomicReferenceFieldUpdater atomicReferenceFieldUpdater = _state$FU;
 | |
|         do {
 | |
|             obj = atomicReferenceFieldUpdater.get(this);
 | |
|             if (!(obj instanceof NotCompleted)) {
 | |
|                 return false;
 | |
|             }
 | |
|         } while (!AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, obj, new CancelledContinuation(this, cause, (obj instanceof CancelHandler) || (obj instanceof Segment))));
 | |
|         NotCompleted notCompleted = (NotCompleted) obj;
 | |
|         if (notCompleted instanceof CancelHandler) {
 | |
|             callCancelHandler((CancelHandler) obj, cause);
 | |
|         } else if (notCompleted instanceof Segment) {
 | |
|             callSegmentOnCancellation((Segment) obj, cause);
 | |
|         }
 | |
|         detachChildIfNonResuable();
 | |
|         dispatchResume(this.resumeMode);
 | |
|         return true;
 | |
|     }
 | |
| 
 | |
|     public final void parentCancelled$kotlinx_coroutines_core(Throwable cause) {
 | |
|         if (cancelLater(cause)) {
 | |
|             return;
 | |
|         }
 | |
|         cancel(cause);
 | |
|         detachChildIfNonResuable();
 | |
|     }
 | |
| 
 | |
|     private final void callCancelHandlerSafely(Function0<Unit> block) {
 | |
|         try {
 | |
|             block.invoke();
 | |
|         } catch (Throwable th) {
 | |
|             CoroutineExceptionHandlerKt.handleCoroutineException(get$context(), new CompletionHandlerException("Exception in invokeOnCancellation handler for " + this, th));
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     public final void callCancelHandler(CancelHandler handler, Throwable cause) {
 | |
|         try {
 | |
|             handler.invoke(cause);
 | |
|         } catch (Throwable th) {
 | |
|             CoroutineExceptionHandlerKt.handleCoroutineException(get$context(), new CompletionHandlerException("Exception in invokeOnCancellation handler for " + this, th));
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private final void callSegmentOnCancellation(Segment<?> segment, Throwable cause) {
 | |
|         int i = _decisionAndIndex$FU.get(this) & 536870911;
 | |
|         if (i == 536870911) {
 | |
|             throw new IllegalStateException("The index for Segment.onCancellation(..) is broken".toString());
 | |
|         }
 | |
|         try {
 | |
|             segment.onCancellation(i, cause, get$context());
 | |
|         } catch (Throwable th) {
 | |
|             CoroutineExceptionHandlerKt.handleCoroutineException(get$context(), new CompletionHandlerException("Exception in invokeOnCancellation handler for " + this, th));
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     public final void callOnCancellation(Function1<? super Throwable, Unit> onCancellation, Throwable cause) {
 | |
|         try {
 | |
|             onCancellation.invoke(cause);
 | |
|         } catch (Throwable th) {
 | |
|             CoroutineExceptionHandlerKt.handleCoroutineException(get$context(), new CompletionHandlerException("Exception in resume onCancellation handler for " + this, th));
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     public Throwable getContinuationCancellationCause(Job parent) {
 | |
|         return parent.getCancellationException();
 | |
|     }
 | |
| 
 | |
|     private final boolean trySuspend() {
 | |
|         int i;
 | |
|         AtomicIntegerFieldUpdater atomicIntegerFieldUpdater = _decisionAndIndex$FU;
 | |
|         do {
 | |
|             i = atomicIntegerFieldUpdater.get(this);
 | |
|             int i2 = i >> 29;
 | |
|             if (i2 != 0) {
 | |
|                 if (i2 == 2) {
 | |
|                     return false;
 | |
|                 }
 | |
|                 throw new IllegalStateException("Already suspended".toString());
 | |
|             }
 | |
|         } while (!_decisionAndIndex$FU.compareAndSet(this, i, 536870912 + (536870911 & i)));
 | |
|         return true;
 | |
|     }
 | |
| 
 | |
|     private final boolean tryResume() {
 | |
|         int i;
 | |
|         AtomicIntegerFieldUpdater atomicIntegerFieldUpdater = _decisionAndIndex$FU;
 | |
|         do {
 | |
|             i = atomicIntegerFieldUpdater.get(this);
 | |
|             int i2 = i >> 29;
 | |
|             if (i2 != 0) {
 | |
|                 if (i2 == 1) {
 | |
|                     return false;
 | |
|                 }
 | |
|                 throw new IllegalStateException("Already resumed".toString());
 | |
|             }
 | |
|         } while (!_decisionAndIndex$FU.compareAndSet(this, i, BasicMeasure.EXACTLY + (536870911 & i)));
 | |
|         return true;
 | |
|     }
 | |
| 
 | |
|     public final Object getResult() {
 | |
|         Job job;
 | |
|         boolean isReusable = isReusable();
 | |
|         if (trySuspend()) {
 | |
|             if (getParentHandle() == null) {
 | |
|                 installParentHandle();
 | |
|             }
 | |
|             if (isReusable) {
 | |
|                 releaseClaimedReusableContinuation$kotlinx_coroutines_core();
 | |
|             }
 | |
|             return IntrinsicsKt.getCOROUTINE_SUSPENDED();
 | |
|         }
 | |
|         if (isReusable) {
 | |
|             releaseClaimedReusableContinuation$kotlinx_coroutines_core();
 | |
|         }
 | |
|         Object state$kotlinx_coroutines_core = getState$kotlinx_coroutines_core();
 | |
|         if (!(state$kotlinx_coroutines_core instanceof CompletedExceptionally)) {
 | |
|             if (DispatchedTaskKt.isCancellableMode(this.resumeMode) && (job = (Job) get$context().get(Job.INSTANCE)) != null && !job.isActive()) {
 | |
|                 CancellationException cancellationException = job.getCancellationException();
 | |
|                 cancelCompletedResult$kotlinx_coroutines_core(state$kotlinx_coroutines_core, cancellationException);
 | |
|                 if (!DebugKt.getRECOVER_STACK_TRACES()) {
 | |
|                     throw cancellationException;
 | |
|                 }
 | |
|                 CancellableContinuationImpl<T> cancellableContinuationImpl = this;
 | |
|                 if (cancellableContinuationImpl instanceof CoroutineStackFrame) {
 | |
|                     throw StackTraceRecoveryKt.recoverFromStackFrame(cancellationException, cancellableContinuationImpl);
 | |
|                 }
 | |
|                 throw cancellationException;
 | |
|             }
 | |
|             return getSuccessfulResult$kotlinx_coroutines_core(state$kotlinx_coroutines_core);
 | |
|         }
 | |
|         Throwable th = ((CompletedExceptionally) state$kotlinx_coroutines_core).cause;
 | |
|         if (!DebugKt.getRECOVER_STACK_TRACES()) {
 | |
|             throw th;
 | |
|         }
 | |
|         CancellableContinuationImpl<T> cancellableContinuationImpl2 = this;
 | |
|         if (cancellableContinuationImpl2 instanceof CoroutineStackFrame) {
 | |
|             throw StackTraceRecoveryKt.recoverFromStackFrame(th, cancellableContinuationImpl2);
 | |
|         }
 | |
|         throw th;
 | |
|     }
 | |
| 
 | |
|     private final DisposableHandle installParentHandle() {
 | |
|         Job job = (Job) get$context().get(Job.INSTANCE);
 | |
|         if (job == null) {
 | |
|             return null;
 | |
|         }
 | |
|         DisposableHandle invokeOnCompletion$default = Job.DefaultImpls.invokeOnCompletion$default(job, true, false, new ChildContinuation(this), 2, null);
 | |
|         AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_parentHandle$FU, this, null, invokeOnCompletion$default);
 | |
|         return invokeOnCompletion$default;
 | |
|     }
 | |
| 
 | |
|     public final void releaseClaimedReusableContinuation$kotlinx_coroutines_core() {
 | |
|         Throwable tryReleaseClaimedContinuation;
 | |
|         Continuation<T> continuation = this.delegate;
 | |
|         DispatchedContinuation dispatchedContinuation = continuation instanceof DispatchedContinuation ? (DispatchedContinuation) continuation : null;
 | |
|         if (dispatchedContinuation == null || (tryReleaseClaimedContinuation = dispatchedContinuation.tryReleaseClaimedContinuation(this)) == null) {
 | |
|             return;
 | |
|         }
 | |
|         detachChild$kotlinx_coroutines_core();
 | |
|         cancel(tryReleaseClaimedContinuation);
 | |
|     }
 | |
| 
 | |
|     @Override // kotlin.coroutines.Continuation
 | |
|     public void resumeWith(Object result) {
 | |
|         resumeImpl$default(this, CompletionStateKt.toState(result, this), this.resumeMode, null, 4, null);
 | |
|     }
 | |
| 
 | |
|     @Override // kotlinx.coroutines.CancellableContinuation
 | |
|     public void resume(T value, Function1<? super Throwable, Unit> onCancellation) {
 | |
|         resumeImpl(value, this.resumeMode, onCancellation);
 | |
|     }
 | |
| 
 | |
|     @Override // kotlinx.coroutines.Waiter
 | |
|     public void invokeOnCancellation(Segment<?> segment, int index) {
 | |
|         int i;
 | |
|         AtomicIntegerFieldUpdater atomicIntegerFieldUpdater = _decisionAndIndex$FU;
 | |
|         do {
 | |
|             i = atomicIntegerFieldUpdater.get(this);
 | |
|             if ((i & 536870911) != 536870911) {
 | |
|                 throw new IllegalStateException("invokeOnCancellation should be called at most once".toString());
 | |
|             }
 | |
|         } while (!atomicIntegerFieldUpdater.compareAndSet(this, i, ((i >> 29) << 29) + index));
 | |
|         invokeOnCancellationImpl(segment);
 | |
|     }
 | |
| 
 | |
|     @Override // kotlinx.coroutines.CancellableContinuation
 | |
|     public void invokeOnCancellation(Function1<? super Throwable, Unit> handler) {
 | |
|         invokeOnCancellationImpl(makeCancelHandler(handler));
 | |
|     }
 | |
| 
 | |
|     private final void invokeOnCancellationImpl(Object handler) {
 | |
|         if (DebugKt.getASSERTIONS_ENABLED() && !(handler instanceof CancelHandler) && !(handler instanceof Segment)) {
 | |
|             throw new AssertionError();
 | |
|         }
 | |
|         AtomicReferenceFieldUpdater atomicReferenceFieldUpdater = _state$FU;
 | |
|         while (true) {
 | |
|             Object obj = atomicReferenceFieldUpdater.get(this);
 | |
|             if (obj instanceof Active) {
 | |
|                 if (AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, obj, handler)) {
 | |
|                     return;
 | |
|                 }
 | |
|             } else if ((obj instanceof CancelHandler) || (obj instanceof Segment)) {
 | |
|                 multipleHandlersError(handler, obj);
 | |
|             } else {
 | |
|                 boolean z = obj instanceof CompletedExceptionally;
 | |
|                 if (z) {
 | |
|                     CompletedExceptionally completedExceptionally = (CompletedExceptionally) obj;
 | |
|                     if (!completedExceptionally.makeHandled()) {
 | |
|                         multipleHandlersError(handler, obj);
 | |
|                     }
 | |
|                     if (obj instanceof CancelledContinuation) {
 | |
|                         if (!z) {
 | |
|                             completedExceptionally = null;
 | |
|                         }
 | |
|                         Throwable th = completedExceptionally != null ? completedExceptionally.cause : null;
 | |
|                         if (handler instanceof CancelHandler) {
 | |
|                             callCancelHandler((CancelHandler) handler, th);
 | |
|                             return;
 | |
|                         } else {
 | |
|                             Intrinsics.checkNotNull(handler, "null cannot be cast to non-null type kotlinx.coroutines.internal.Segment<*>");
 | |
|                             callSegmentOnCancellation((Segment) handler, th);
 | |
|                             return;
 | |
|                         }
 | |
|                     }
 | |
|                     return;
 | |
|                 }
 | |
|                 if (obj instanceof CompletedContinuation) {
 | |
|                     CompletedContinuation completedContinuation = (CompletedContinuation) obj;
 | |
|                     if (completedContinuation.cancelHandler != null) {
 | |
|                         multipleHandlersError(handler, obj);
 | |
|                     }
 | |
|                     if (handler instanceof Segment) {
 | |
|                         return;
 | |
|                     }
 | |
|                     Intrinsics.checkNotNull(handler, "null cannot be cast to non-null type kotlinx.coroutines.CancelHandler");
 | |
|                     CancelHandler cancelHandler = (CancelHandler) handler;
 | |
|                     if (completedContinuation.getCancelled()) {
 | |
|                         callCancelHandler(cancelHandler, completedContinuation.cancelCause);
 | |
|                         return;
 | |
|                     } else {
 | |
|                         if (AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, obj, CompletedContinuation.copy$default(completedContinuation, null, cancelHandler, null, null, null, 29, null))) {
 | |
|                             return;
 | |
|                         }
 | |
|                     }
 | |
|                 } else {
 | |
|                     if (handler instanceof Segment) {
 | |
|                         return;
 | |
|                     }
 | |
|                     Intrinsics.checkNotNull(handler, "null cannot be cast to non-null type kotlinx.coroutines.CancelHandler");
 | |
|                     if (AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, obj, new CompletedContinuation(obj, (CancelHandler) handler, null, null, null, 28, null))) {
 | |
|                         return;
 | |
|                     }
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     private final void multipleHandlersError(Object handler, Object state) {
 | |
|         throw new IllegalStateException(("It's prohibited to register multiple handlers, tried to register " + handler + ", already has " + state).toString());
 | |
|     }
 | |
| 
 | |
|     private final CancelHandler makeCancelHandler(Function1<? super Throwable, Unit> handler) {
 | |
|         return handler instanceof CancelHandler ? (CancelHandler) handler : new InvokeOnCancel(handler);
 | |
|     }
 | |
| 
 | |
|     private final void dispatchResume(int mode) {
 | |
|         if (tryResume()) {
 | |
|             return;
 | |
|         }
 | |
|         DispatchedTaskKt.dispatch(this, mode);
 | |
|     }
 | |
| 
 | |
|     private final Object resumedState(NotCompleted state, Object proposedUpdate, int resumeMode, Function1<? super Throwable, Unit> onCancellation, Object idempotent) {
 | |
|         if (proposedUpdate instanceof CompletedExceptionally) {
 | |
|             if (DebugKt.getASSERTIONS_ENABLED() && idempotent != null) {
 | |
|                 throw new AssertionError();
 | |
|             }
 | |
|             if (!DebugKt.getASSERTIONS_ENABLED() || onCancellation == null) {
 | |
|                 return proposedUpdate;
 | |
|             }
 | |
|             throw new AssertionError();
 | |
|         }
 | |
|         if (!DispatchedTaskKt.isCancellableMode(resumeMode) && idempotent == null) {
 | |
|             return proposedUpdate;
 | |
|         }
 | |
|         if (onCancellation == null && !(state instanceof CancelHandler) && idempotent == null) {
 | |
|             return proposedUpdate;
 | |
|         }
 | |
|         return new CompletedContinuation(proposedUpdate, state instanceof CancelHandler ? (CancelHandler) state : null, onCancellation, idempotent, null, 16, null);
 | |
|     }
 | |
| 
 | |
|     /* JADX WARN: Multi-variable type inference failed */
 | |
|     static /* synthetic */ void resumeImpl$default(CancellableContinuationImpl cancellableContinuationImpl, Object obj, int i, Function1 function1, int i2, Object obj2) {
 | |
|         if (obj2 != null) {
 | |
|             throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: resumeImpl");
 | |
|         }
 | |
|         if ((i2 & 4) != 0) {
 | |
|             function1 = null;
 | |
|         }
 | |
|         cancellableContinuationImpl.resumeImpl(obj, i, function1);
 | |
|     }
 | |
| 
 | |
|     private final void resumeImpl(Object proposedUpdate, int resumeMode, Function1<? super Throwable, Unit> onCancellation) {
 | |
|         Object obj;
 | |
|         AtomicReferenceFieldUpdater atomicReferenceFieldUpdater = _state$FU;
 | |
|         do {
 | |
|             obj = atomicReferenceFieldUpdater.get(this);
 | |
|             if (obj instanceof NotCompleted) {
 | |
|             } else {
 | |
|                 if (obj instanceof CancelledContinuation) {
 | |
|                     CancelledContinuation cancelledContinuation = (CancelledContinuation) obj;
 | |
|                     if (cancelledContinuation.makeResumed()) {
 | |
|                         if (onCancellation != null) {
 | |
|                             callOnCancellation(onCancellation, cancelledContinuation.cause);
 | |
|                             return;
 | |
|                         }
 | |
|                         return;
 | |
|                     }
 | |
|                 }
 | |
|                 alreadyResumedError(proposedUpdate);
 | |
|                 throw new KotlinNothingValueException();
 | |
|             }
 | |
|         } while (!AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, obj, resumedState((NotCompleted) obj, proposedUpdate, resumeMode, onCancellation, null)));
 | |
|         detachChildIfNonResuable();
 | |
|         dispatchResume(resumeMode);
 | |
|     }
 | |
| 
 | |
|     private final Symbol tryResumeImpl(Object proposedUpdate, Object idempotent, Function1<? super Throwable, Unit> onCancellation) {
 | |
|         Object obj;
 | |
|         AtomicReferenceFieldUpdater atomicReferenceFieldUpdater = _state$FU;
 | |
|         do {
 | |
|             obj = atomicReferenceFieldUpdater.get(this);
 | |
|             if (obj instanceof NotCompleted) {
 | |
|             } else {
 | |
|                 if (!(obj instanceof CompletedContinuation) || idempotent == null) {
 | |
|                     return null;
 | |
|                 }
 | |
|                 CompletedContinuation completedContinuation = (CompletedContinuation) obj;
 | |
|                 if (completedContinuation.idempotentResume != idempotent) {
 | |
|                     return null;
 | |
|                 }
 | |
|                 if (!DebugKt.getASSERTIONS_ENABLED() || Intrinsics.areEqual(completedContinuation.result, proposedUpdate)) {
 | |
|                     return CancellableContinuationImplKt.RESUME_TOKEN;
 | |
|                 }
 | |
|                 throw new AssertionError();
 | |
|             }
 | |
|         } while (!AbstractResolvableFuture$SafeAtomicHelper$$ExternalSyntheticBackportWithForwarding0.m(_state$FU, this, obj, resumedState((NotCompleted) obj, proposedUpdate, this.resumeMode, onCancellation, idempotent)));
 | |
|         detachChildIfNonResuable();
 | |
|         return CancellableContinuationImplKt.RESUME_TOKEN;
 | |
|     }
 | |
| 
 | |
|     private final Void alreadyResumedError(Object proposedUpdate) {
 | |
|         throw new IllegalStateException(("Already resumed, but proposed with update " + proposedUpdate).toString());
 | |
|     }
 | |
| 
 | |
|     private final void detachChildIfNonResuable() {
 | |
|         if (isReusable()) {
 | |
|             return;
 | |
|         }
 | |
|         detachChild$kotlinx_coroutines_core();
 | |
|     }
 | |
| 
 | |
|     public final void detachChild$kotlinx_coroutines_core() {
 | |
|         DisposableHandle parentHandle = getParentHandle();
 | |
|         if (parentHandle == null) {
 | |
|             return;
 | |
|         }
 | |
|         parentHandle.dispose();
 | |
|         _parentHandle$FU.set(this, NonDisposableHandle.INSTANCE);
 | |
|     }
 | |
| 
 | |
|     @Override // kotlinx.coroutines.CancellableContinuation
 | |
|     public Object tryResume(T value, Object idempotent) {
 | |
|         return tryResumeImpl(value, idempotent, null);
 | |
|     }
 | |
| 
 | |
|     @Override // kotlinx.coroutines.CancellableContinuation
 | |
|     public Object tryResume(T value, Object idempotent, Function1<? super Throwable, Unit> onCancellation) {
 | |
|         return tryResumeImpl(value, idempotent, onCancellation);
 | |
|     }
 | |
| 
 | |
|     @Override // kotlinx.coroutines.CancellableContinuation
 | |
|     public Object tryResumeWithException(Throwable exception) {
 | |
|         return tryResumeImpl(new CompletedExceptionally(exception, false, 2, null), null, null);
 | |
|     }
 | |
| 
 | |
|     @Override // kotlinx.coroutines.CancellableContinuation
 | |
|     public void completeResume(Object token) {
 | |
|         if (DebugKt.getASSERTIONS_ENABLED() && token != CancellableContinuationImplKt.RESUME_TOKEN) {
 | |
|             throw new AssertionError();
 | |
|         }
 | |
|         dispatchResume(this.resumeMode);
 | |
|     }
 | |
| 
 | |
|     @Override // kotlinx.coroutines.CancellableContinuation
 | |
|     public void resumeUndispatched(CoroutineDispatcher coroutineDispatcher, T t) {
 | |
|         Continuation<T> continuation = this.delegate;
 | |
|         DispatchedContinuation dispatchedContinuation = continuation instanceof DispatchedContinuation ? (DispatchedContinuation) continuation : null;
 | |
|         resumeImpl$default(this, t, (dispatchedContinuation != null ? dispatchedContinuation.dispatcher : null) == coroutineDispatcher ? 4 : this.resumeMode, null, 4, null);
 | |
|     }
 | |
| 
 | |
|     @Override // kotlinx.coroutines.CancellableContinuation
 | |
|     public void resumeUndispatchedWithException(CoroutineDispatcher coroutineDispatcher, Throwable th) {
 | |
|         Continuation<T> continuation = this.delegate;
 | |
|         DispatchedContinuation dispatchedContinuation = continuation instanceof DispatchedContinuation ? (DispatchedContinuation) continuation : null;
 | |
|         resumeImpl$default(this, new CompletedExceptionally(th, false, 2, null), (dispatchedContinuation != null ? dispatchedContinuation.dispatcher : null) == coroutineDispatcher ? 4 : this.resumeMode, null, 4, null);
 | |
|     }
 | |
| 
 | |
|     /* JADX WARN: Multi-variable type inference failed */
 | |
|     @Override // kotlinx.coroutines.DispatchedTask
 | |
|     public <T> T getSuccessfulResult$kotlinx_coroutines_core(Object state) {
 | |
|         return state instanceof CompletedContinuation ? (T) ((CompletedContinuation) state).result : state;
 | |
|     }
 | |
| 
 | |
|     @Override // kotlinx.coroutines.DispatchedTask
 | |
|     public Throwable getExceptionalResult$kotlinx_coroutines_core(Object state) {
 | |
|         Throwable exceptionalResult$kotlinx_coroutines_core = super.getExceptionalResult$kotlinx_coroutines_core(state);
 | |
|         if (exceptionalResult$kotlinx_coroutines_core == null) {
 | |
|             return null;
 | |
|         }
 | |
|         Continuation<T> continuation = this.delegate;
 | |
|         return (DebugKt.getRECOVER_STACK_TRACES() && (continuation instanceof CoroutineStackFrame)) ? StackTraceRecoveryKt.recoverFromStackFrame(exceptionalResult$kotlinx_coroutines_core, (CoroutineStackFrame) continuation) : exceptionalResult$kotlinx_coroutines_core;
 | |
|     }
 | |
| 
 | |
|     public String toString() {
 | |
|         return nameString() + '(' + DebugStringsKt.toDebugString(this.delegate) + "){" + getStateDebugRepresentation() + "}@" + DebugStringsKt.getHexAddress(this);
 | |
|     }
 | |
| 
 | |
|     private final void callCancelHandler(Function1<? super Throwable, Unit> handler, Throwable cause) {
 | |
|         try {
 | |
|             handler.invoke(cause);
 | |
|         } catch (Throwable th) {
 | |
|             CoroutineExceptionHandlerKt.handleCoroutineException(get$context(), new CompletionHandlerException("Exception in invokeOnCancellation handler for " + this, th));
 | |
|         }
 | |
|     }
 | |
| }
 |