# {"id":"partitionSourceFiles","fileNameMappings":{"kotlinx.coroutines.ThreadLocalEventLoop":"EventLoop.common.kt","kotlinx.coroutines.EventLoopImplBase$DelayedTask":"EventLoop.common.kt","kotlinx.coroutines.internal.LockFreeTaskQueueCore":"LockFreeTaskQueue.kt","kotlinx.coroutines.internal.ThreadSafeHeap":"ThreadSafeHeap.kt","kotlinx.coroutines.EventLoopImplBase$DelayedTaskQueue":"EventLoop.common.kt","kotlinx.coroutines.CancellableContinuationImpl":"CancellableContinuationImpl.kt","kotlinx.coroutines.EventLoop":"EventLoop.common.kt","kotlinx.coroutines.EventLoop_commonKt":"EventLoop.common.kt","kotlinx.coroutines.EventLoopImplPlatform":"EventLoop.kt"}}
kotlinx.coroutines.EventLoopImplBase -> cb2:
# {"id":"sourceFile","fileName":"EventLoop.common.kt"}
    long _delayed$volatile$FU$offset -> k0
      # {"id":"com.android.tools.r8.synthesized"}
    long _isCompleted$volatile$FU$offset -> l0
      # {"id":"com.android.tools.r8.synthesized"}
    long _queue$volatile$FU$offset -> m0
      # {"id":"com.android.tools.r8.synthesized"}
    int $r8$clinit -> n0
      # {"id":"com.android.tools.r8.synthesized"}
    1:41:void <clinit>():0:0 -> <clinit>
    1:4:void dispatch(kotlin.coroutines.CoroutineContext,java.lang.Runnable):262:262 -> M0
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lbd1;Ljava/lang/Runnable;)V"}
    36:39:void scheduleResumeAfterDelay(long,kotlinx.coroutines.CancellableContinuation):223:223 -> T
      # {"id":"com.android.tools.r8.residualsignature","signature":"(JLbn0;)V"}
    40:45:void scheduleResumeAfterDelay(long,kotlinx.coroutines.CancellableContinuation):224:224 -> T
    46:48:void scheduleResumeAfterDelay(long,kotlinx.coroutines.CancellableContinuation):230:230 -> T
    49:54:void kotlinx.coroutines.CancellableContinuationKt.disposeOnCancellation(kotlinx.coroutines.CancellableContinuation,kotlinx.coroutines.DisposableHandle):500:500 -> T
    49:54:void scheduleResumeAfterDelay(long,kotlinx.coroutines.CancellableContinuation):231 -> T
    55:58:void kotlinx.coroutines.CancellableContinuationImpl.invokeOnCancellationInternal$kotlinx_coroutines_core(kotlinx.coroutines.CancelHandler):398:398 -> T
    55:58:void kotlinx.coroutines.CancellableContinuationKt.invokeOnCancellation(kotlinx.coroutines.CancellableContinuation,kotlinx.coroutines.CancelHandler):319 -> T
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    55:58:void kotlinx.coroutines.CancellableContinuationKt.disposeOnCancellation(kotlinx.coroutines.CancellableContinuation,kotlinx.coroutines.DisposableHandle):500 -> T
    55:58:void scheduleResumeAfterDelay(long,kotlinx.coroutines.CancellableContinuation):231 -> T
    1:14:long processNextEvent():250:250 -> V0
    15:17:long processNextEvent():252:252 -> V0
    18:30:java.lang.Runnable dequeue():304:304 -> V0
    18:30:long processNextEvent():254 -> V0
    31:34:java.lang.Runnable dequeue():307:307 -> V0
    31:34:long processNextEvent():254 -> V0
    35:41:java.lang.Runnable dequeue():308:308 -> V0
    35:41:long processNextEvent():254 -> V0
    42:52:java.lang.Runnable dequeue():309:309 -> V0
    42:52:long processNextEvent():254 -> V0
    53:56:java.lang.Runnable dequeue():310:310 -> V0
    53:56:long processNextEvent():254 -> V0
    57:83:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> V0
    57:83:java.lang.Runnable dequeue():310 -> V0
    57:83:long processNextEvent():254 -> V0
    84:94:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> V0
    84:94:java.lang.Runnable dequeue():314 -> V0
    84:94:long processNextEvent():254 -> V0
    95:100:java.lang.Runnable dequeue():314:314 -> V0
    95:100:long processNextEvent():254 -> V0
    101:104:long processNextEvent():256:256 -> V0
    105:115:long kotlinx.coroutines.EventLoop.getNextTime():58:58 -> V0
    105:115:long getNextTime():195 -> V0
    105:115:long processNextEvent():259 -> V0
    116:128:long kotlinx.coroutines.EventLoop.getNextTime():59:59 -> V0
    116:128:long getNextTime():195 -> V0
    116:128:long processNextEvent():259 -> V0
    129:134:long getNextTime():196:196 -> V0
    129:134:long processNextEvent():259 -> V0
    135:140:long getNextTime():199:199 -> V0
    135:140:long processNextEvent():259 -> V0
    141:168:boolean kotlinx.coroutines.internal.LockFreeTaskQueueCore.isEmpty():87:87 -> V0
    141:168:long getNextTime():199 -> V0
    141:168:long processNextEvent():259 -> V0
    169:178:long getNextTime():203:203 -> V0
    169:178:long processNextEvent():259 -> V0
    179:179:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.peek():163:163 -> V0
    179:179:long getNextTime():203 -> V0
    179:179:long processNextEvent():259 -> V0
    180:189:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.firstImpl():84:84 -> V0
    180:189:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.peek():41 -> V0
    180:189:long getNextTime():203 -> V0
    180:189:long processNextEvent():259 -> V0
    190:193:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.peek():163:163 -> V0
    190:193:long getNextTime():203 -> V0
    190:193:long processNextEvent():259 -> V0
    194:206:long getNextTime():204:204 -> V0
    194:206:long processNextEvent():259 -> V0
    207:209:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.peek():163:163 -> V0
    207:209:long getNextTime():203 -> V0
    207:209:long processNextEvent():259 -> V0
    210:217:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> V0
    210:217:java.lang.Runnable dequeue():314 -> V0
    210:217:long processNextEvent():254 -> V0
    1:3:void enqueue(java.lang.Runnable):266:266 -> X0
    4:9:void enqueue(java.lang.Runnable):267:267 -> X0
    10:13:void kotlinx.coroutines.EventLoopImplPlatform.unpark():8:8 -> X0
    10:13:void enqueue(java.lang.Runnable):269 -> X0
    14:19:void kotlinx.coroutines.EventLoopImplPlatform.unpark():9:9 -> X0
    14:19:void enqueue(java.lang.Runnable):269 -> X0
    20:23:void kotlinx.coroutines.EventLoopImplPlatform.unpark():10:10 -> X0
    20:23:void enqueue(java.lang.Runnable):269 -> X0
    24:29:void enqueue(java.lang.Runnable):271:271 -> X0
    1:12:void enqueueDelayedTasks():322:322 -> Y0
    13:19:boolean kotlinx.coroutines.internal.ThreadSafeHeap.isEmpty():29:29 -> Y0
    13:19:void enqueueDelayedTasks():323 -> Y0
    20:23:void enqueueDelayedTasks():324:324 -> Y0
    24:24:void enqueueDelayedTasks():544:544 -> Y0
    25:36:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.firstImpl():84:84 -> Y0
    25:36:void enqueueDelayedTasks():545 -> Y0
    37:38:void enqueueDelayedTasks():544:544 -> Y0
    39:48:boolean kotlinx.coroutines.EventLoopImplBase$DelayedTask.timeToExecute(long):432:432 -> Y0
    39:48:void enqueueDelayedTasks():330 -> Y0
    49:58:void enqueueDelayedTasks():331:331 -> Y0
    59:66:void enqueueDelayedTasks():547:547 -> Y0
    67:69:void enqueueDelayedTasks():544:544 -> Y0
    1:8:boolean enqueueImpl(java.lang.Runnable):277:277 -> Z0
    9:20:boolean isCompleted():179:179 -> Z0
    9:20:boolean enqueueImpl(java.lang.Runnable):278 -> Z0
    21:41:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> Z0
    21:41:boolean enqueueImpl(java.lang.Runnable):280 -> Z0
    42:45:boolean enqueueImpl(java.lang.Runnable):281:281 -> Z0
    46:60:boolean enqueueImpl(java.lang.Runnable):282:282 -> Z0
    61:64:boolean enqueueImpl(java.lang.Runnable):285:285 -> Z0
    65:83:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> Z0
    65:83:boolean enqueueImpl(java.lang.Runnable):285 -> Z0
    84:89:kotlinx.coroutines.internal.Symbol kotlinx.coroutines.EventLoop_commonKt.access$getCLOSED_EMPTY$p():1:1 -> Z0
    84:89:boolean enqueueImpl(java.lang.Runnable):289 -> Z0
    90:96:boolean enqueueImpl(java.lang.Runnable):292:292 -> Z0
    97:102:boolean enqueueImpl(java.lang.Runnable):293:293 -> Z0
    103:105:boolean enqueueImpl(java.lang.Runnable):294:294 -> Z0
    106:124:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> Z0
    106:124:boolean enqueueImpl(java.lang.Runnable):295 -> Z0
    java.lang.Thread kotlinx.coroutines.EventLoopImplPlatform.getThread() -> a1
    1:15:boolean kotlinx.coroutines.EventLoop.isUnconfinedQueueEmpty():87:87 -> b1
    1:15:boolean isEmpty():183 -> b1
    16:27:boolean isEmpty():184:184 -> b1
    28:35:boolean kotlinx.coroutines.internal.ThreadSafeHeap.isEmpty():29:29 -> b1
    28:35:boolean isEmpty():185 -> b1
    36:44:boolean isEmpty():186:186 -> b1
    45:50:boolean isEmpty():188:188 -> b1
    51:75:boolean kotlinx.coroutines.internal.LockFreeTaskQueueCore.isEmpty():87:87 -> b1
    51:75:boolean isEmpty():188 -> b1
    76:81:kotlinx.coroutines.internal.Symbol kotlinx.coroutines.EventLoop_commonKt.access$getCLOSED_EMPTY$p():1:1 -> b1
    76:81:boolean isEmpty():189 -> b1
    1:6:void kotlinx.coroutines.EventLoopImplPlatform.reschedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):14:14 -> c1
      # {"id":"com.android.tools.r8.residualsignature","signature":"(JLab2;)V"}
    1:2:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):367:367 -> d1
      # {"id":"com.android.tools.r8.residualsignature","signature":"(JLab2;)V"}
    3:16:boolean isCompleted():179:179 -> d1
    3:16:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):374 -> d1
    3:16:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):367 -> d1
    17:24:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):375:375 -> d1
    17:24:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):367 -> d1
    25:26:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):376:376 -> d1
    25:26:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):367 -> d1
    27:29:void kotlinx.coroutines.internal.ThreadSafeHeap.<init>():19:19 -> d1
    27:29:void kotlinx.coroutines.EventLoopImplBase$DelayedTaskQueue.<init>(long):517 -> d1
    27:29:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):376 -> d1
    27:29:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):367 -> d1
    30:31:void kotlinx.coroutines.EventLoopImplBase$DelayedTaskQueue.<init>(long):518:518 -> d1
    30:31:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):376 -> d1
    30:31:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):367 -> d1
    32:50:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> d1
    32:50:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):376 -> d1
    32:50:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):367 -> d1
    51:65:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):377:377 -> d1
    51:65:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):367 -> d1
    66:77:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):379:379 -> d1
    66:77:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):367 -> d1
    78:83:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):367:367 -> d1
    84:87:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):365:365 -> d1
    88:96:boolean shouldUnpark(kotlinx.coroutines.EventLoopImplBase$DelayedTask):371:371 -> d1
    88:96:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):364 -> d1
    97:97:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.peek():163:163 -> d1
    97:97:boolean shouldUnpark(kotlinx.coroutines.EventLoopImplBase$DelayedTask):371 -> d1
    97:97:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):364 -> d1
    98:108:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.firstImpl():84:84 -> d1
    98:108:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.peek():41 -> d1
    98:108:boolean shouldUnpark(kotlinx.coroutines.EventLoopImplBase$DelayedTask):371 -> d1
    98:108:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):364 -> d1
    109:114:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.peek():163:163 -> d1
    109:114:boolean shouldUnpark(kotlinx.coroutines.EventLoopImplBase$DelayedTask):371 -> d1
    109:114:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):364 -> d1
    115:118:void kotlinx.coroutines.EventLoopImplPlatform.unpark():8:8 -> d1
    115:118:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):364 -> d1
    119:124:void kotlinx.coroutines.EventLoopImplPlatform.unpark():9:9 -> d1
    119:124:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):364 -> d1
    125:128:void kotlinx.coroutines.EventLoopImplPlatform.unpark():10:10 -> d1
    125:128:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):364 -> d1
    1:6:void kotlinx.coroutines.ThreadLocalEventLoop.resetEventLoop$kotlinx_coroutines_core():125:125 -> shutdown
    1:6:void shutdown():209 -> shutdown
    7:14:void setCompleted(boolean):180:180 -> shutdown
    7:14:void shutdown():212 -> shutdown
    15:18:java.util.concurrent.atomic.AtomicReferenceFieldUpdater get_queue$volatile$FU():0:0 -> shutdown
    15:18:void closeQueue():341 -> shutdown
    15:18:void shutdown():213 -> shutdown
    19:26:void closeQueue():341:341 -> shutdown
    19:26:void shutdown():213 -> shutdown
    27:51:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> shutdown
    27:51:void closeQueue():343 -> shutdown
    27:51:void shutdown():213 -> shutdown
    52:55:void closeQueue():344:344 -> shutdown
    52:55:void shutdown():213 -> shutdown
    56:64:void closeQueue():345:345 -> shutdown
    56:64:void shutdown():213 -> shutdown
    65:71:void closeQueue():352:352 -> shutdown
    65:71:void shutdown():213 -> shutdown
    72:77:void closeQueue():353:353 -> shutdown
    72:77:void shutdown():213 -> shutdown
    78:88:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> shutdown
    78:88:void closeQueue():354 -> shutdown
    78:88:void shutdown():213 -> shutdown
    89:98:void shutdown():215:215 -> shutdown
    99:102:void rescheduleAllDelayed():390:390 -> shutdown
    99:102:void shutdown():217 -> shutdown
    103:115:void rescheduleAllDelayed():399:399 -> shutdown
    103:115:void shutdown():217 -> shutdown
    116:116:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.removeFirstOrNull():165:165 -> shutdown
    116:116:void rescheduleAllDelayed():399 -> shutdown
    116:116:void shutdown():217 -> shutdown
    117:123:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.removeFirstOrNull():44:44 -> shutdown
    117:123:void rescheduleAllDelayed():399 -> shutdown
    117:123:void shutdown():217 -> shutdown
    124:131:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.removeFirstOrNull():45:45 -> shutdown
    124:131:void rescheduleAllDelayed():399 -> shutdown
    124:131:void shutdown():217 -> shutdown
    132:135:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.removeFirstOrNull():165:165 -> shutdown
    132:135:void rescheduleAllDelayed():399 -> shutdown
    132:135:void shutdown():217 -> shutdown
    136:139:void rescheduleAllDelayed():400:400 -> shutdown
    136:139:void shutdown():217 -> shutdown
    140:142:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.removeFirstOrNull():165:165 -> shutdown
    140:142:void rescheduleAllDelayed():399 -> shutdown
    140:142:void shutdown():217 -> shutdown
    143:150:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> shutdown
    143:150:void closeQueue():354 -> shutdown
    143:150:void shutdown():213 -> shutdown
