&& node.flags & 16384 && (tag = node.updateQueue, null !== tag && (tag = tag.stores, null !== tag))) for (var i = 0; i < tag.length; i++) { var check = tag[i], getSnapshot = check.getSnapshot; check = check.value; try { if (!objectIs(getSnapshot(), check)) return false; } catch (error) { return false; } } tag = node.child; if (node.subtreeFlags & 16384 && null !== tag) tag.return = node, node = tag; else { if (node === finishedWork) break; for (; null === node.sibling; ) { if (null === node.return || node.return === finishedWork) return true; node = node.return; } node.sibling.return = node.return; node = node.sibling; } } return true; } function markRootSuspended(root2, suspendedLanes, spawnedLane, didAttemptEntireTree) { suspendedLanes &= ~workInProgressRootPingedLanes; suspendedLanes &= ~workInProgressRootInterleavedUpdatedLanes; root2.suspendedLanes |= suspendedLanes; root2.pingedLanes &= ~suspendedLanes; didAttemptEntireTree && (root2.warmLanes |= suspendedLanes); didAttemptEntireTree = root2.expirationTimes; for (var lanes = suspendedLanes; 0 < lanes; ) { var index = 31 - clz32(lanes), lane = 1 << index; didAttemptEntireTree[index] = -1; lanes &= ~lane; } 0 !== spawnedLane && markSpawnedDeferredLane(root2, spawnedLane, suspendedLanes); } function flushSyncWork$1() { return (executionContext & (RenderContext | CommitContext)) === NoContext ? (flushSyncWorkAcrossRoots_impl(0, false), false) : true; } function resetWorkInProgressStack() { if (null !== workInProgress) { if (workInProgressSuspendedReason === NotSuspended) var interruptedWork = workInProgress.return; else interruptedWork = workInProgress, resetContextDependencies(), resetHooksOnUnwind(interruptedWork), thenableState$1 = null, thenableIndexCounter$1 = 0, interruptedWork = workInProgress; for (; null !== interruptedWork; ) unwindInterruptedWork(interruptedWork.alternate, interruptedWork), interruptedWork = interruptedWork.return; workInProgress = null; } } function prepareFreshStack(root2, lanes) { root2.finishedWork = null; root2.finishedLanes = 0; var timeoutHandle = root2.timeoutHandle; timeoutHandle !== noTimeout && (root2.timeoutHandle = noTimeout, cancelTimeout(timeoutHandle)); timeoutHandle = root2.cancelPendingCommit; null !== timeoutHandle && (root2.cancelPendingCommit = null, timeoutHandle()); resetWorkInProgressStack(); workInProgressRoot = root2; workInProgress = timeoutHandle = createWorkInProgress(root2.current, null); workInProgressRootRenderLanes = lanes; workInProgressSuspendedReason = NotSuspended; workInProgressThrownValue = null; workInProgressRootDidSkipSuspendedSiblings = false; workInProgressRootIsPrerendering = checkIfRootIsPrerendering(root2, lanes); workInProgressRootDidAttachPingListener = false; workInProgressRootExitStatus = RootInProgress; workInProgressSuspendedRetryLanes = workInProgressDeferredLane = workInProgressRootPingedLanes = workInProgressRootInterleavedUpdatedLanes = workInProgressRootSkippedLanes = 0; workInProgressRootRecoverableErrors = workInProgressRootConcurrentErrors = null; workInProgressRootDidIncludeRecursiveRenderUpdate = false; 0 !== (lanes & 8) && (lanes |= lanes & 32); var allEntangledLanes = root2.entangledLanes; if (0 !== allEntangledLanes) for (root2 = root2.entanglements, allEntangledLanes &= lanes; 0 < allEntangledLanes; ) { var index = 31 - clz32(allEntangledLanes), lane = 1 << index; lanes |= root2[index]; allEntangledLanes &= ~lane; } entangledRenderLanes = lanes; finishQueueingConcurrentUpdates(); ReactStrictModeWarnings.discardPendingWarnings(); return timeoutHandle; } function handleThrow(root2, thrownValue) { currentlyRenderingFiber$1 = null; ReactSharedInternals.H = ContextOnlyDispatcher; ReactSharedInternals.getCurrentStack = null; isRendering = false; current = null; thrownValue === SuspenseException ? (thrownValue = getSuspendedThenable(), workInProgressSuspendedReason = SuspendedOnImmediate) : thrownValue === SuspenseyCommitException ? (thrownValue = getSuspendedThenable(), workInProgressSuspendedReason = SuspendedOnInstance) : workInProgressSuspendedReason = thrownValue === SelectiveHydrationException ? SuspendedOnHydration : null !== thrownValue && "object" === typeof thrownValue && "function" === typeof thrownValue.then ? SuspendedOnDeprecatedThrowPromise : SuspendedOnError; workInProgressThrownValue = thrownValue; var erroredWork = workInProgress; if (null === erroredWork) workInProgressRootExitStatus = RootFatalErrored, logUncaughtError( root2, createCapturedValueAtFiber(thrownValue, root2.current) ); else switch (erroredWork.mode & ProfileMode && stopProfilerTimerIfRunningAndRecordDuration(erroredWork), markComponentRenderStopped(), workInProgressSuspendedReason) { case SuspendedOnError: null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentErrored && injectedProfilingHooks.markComponentErrored( erroredWork, thrownValue, workInProgressRootRenderLanes ); break; case SuspendedOnData: case SuspendedOnImmediate: case SuspendedOnDeprecatedThrowPromise: case SuspendedAndReadyToContinue: null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentSuspended && injectedProfilingHooks.markComponentSuspended( erroredWork, thrownValue, workInProgressRootRenderLanes ); } } function pushDispatcher() { var prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = ContextOnlyDispatcher; return null === prevDispatcher ? ContextOnlyDispatcher : prevDispatcher; } function pushAsyncDispatcher() { var prevAsyncDispatcher = ReactSharedInternals.A; ReactSharedInternals.A = DefaultAsyncDispatcher; return prevAsyncDispatcher; } function renderDidSuspendDelayIfPossible() { workInProgressRootExitStatus = RootSuspendedWithDelay; workInProgressRootDidSkipSuspendedSiblings || (workInProgressRootRenderLanes & 4194176) !== workInProgressRootRenderLanes && null !== suspenseHandlerStackCursor.current || (workInProgressRootIsPrerendering = true); 0 === (workInProgressRootSkippedLanes & 134217727) && 0 === (workInProgressRootInterleavedUpdatedLanes & 134217727) || null === workInProgressRoot || markRootSuspended( workInProgressRoot, workInProgressRootRenderLanes, workInProgressDeferredLane, false ); } function renderRootSync(root2, lanes, shouldYieldForPrerendering) { var prevExecutionContext = executionContext; executionContext |= RenderContext; var prevDispatcher = pushDispatcher(), prevAsyncDispatcher = pushAsyncDispatcher(); if (workInProgressRoot !== root2 || workInProgressRootRenderLanes !== lanes) { if (isDevToolsPresent) { var memoizedUpdaters = root2.memoizedUpdaters; 0 < memoizedUpdaters.size && (restorePendingUpdaters(root2, workInProgressRootRenderLanes), memoizedUpdaters.clear()); movePendingFibersToMemoized(root2, lanes); } workInProgressTransitions = null; prepareFreshStack(root2, lanes); } markRenderStarted(lanes); lanes = false; memoizedUpdaters = workInProgressRootExitStatus; a: do try { if (workInProgressSuspendedReason !== NotSuspended && null !== workInProgress) { var unitOfWork = workInProgress, thrownValue = workInProgressThrownValue; switch (workInProgressSuspendedReason) { case SuspendedOnHydration: resetWorkInProgressStack(); memoizedUpdaters = RootDidNotComplete; break a; case SuspendedOnImmediate: case SuspendedOnData: case SuspendedOnDeprecatedThrowPromise: null === suspenseHandlerStackCursor.current && (lanes = true); var reason = workInProgressSuspendedReason; workInProgressSuspendedReason = NotSuspended; workInProgressThrownValue = null; throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, reason); if (shouldYieldForPrerendering && workInProgressRootIsPrerendering) { memoizedUpdaters = RootInProgress; break a; } break; default: reason = workInProgressSuspendedReason, workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, reason); } } workLoopSync(); memoizedUpdaters = workInProgressRootExitStatus; break; } catch (thrownValue$8) { handleThrow(root2, thrownValue$8); } while (1); lanes && root2.shellSuspendCounter++; resetContextDependencies(); executionContext = prevExecutionContext; ReactSharedInternals.H = prevDispatcher; ReactSharedInternals.A = prevAsyncDispatcher; markRenderStopped(); null === workInProgress && (workInProgressRoot = null, workInProgressRootRenderLanes = 0, finishQueueingConcurrentUpdates()); return memoizedUpdaters; } function workLoopSync() { for (; null !== workInProgress; ) performUnitOfWork(workInProgress); } function renderRootConcurrent(root2, lanes) { var prevExecutionContext = executionContext; executionContext |= RenderContext; var prevDispatcher = pushDispatcher(), prevAsyncDispatcher = pushAsyncDispatcher(); if (workInProgressRoot !== root2 || workInProgressRootRenderLanes !== lanes) { if (isDevToolsPresent) { var memoizedUpdaters = root2.memoizedUpdaters; 0 < memoizedUpdaters.size && (restorePendingUpdaters(root2, workInProgressRootRenderLanes), memoizedUpdaters.clear()); movePendingFibersToMemoized(root2, lanes); } workInProgressTransitions = null; workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS; prepareFreshStack(root2, lanes); } else workInProgressRootIsPrerendering = checkIfRootIsPrerendering( root2, lanes ); markRenderStarted(lanes); a: do try { if (workInProgressSuspendedReason !== NotSuspended && null !== workInProgress) b: switch (lanes = workInProgress, memoizedUpdaters = workInProgressThrownValue, workInProgressSuspendedReason) { case SuspendedOnError: workInProgressSuspendedReason = NotSuspended; workInProgressThrownValue = null; throwAndUnwindWorkLoop( root2, lanes, memoizedUpdaters, SuspendedOnError ); break; case SuspendedOnData: if (isThenableResolved(memoizedUpdaters)) { workInProgressSuspendedReason = NotSuspended; workInProgressThrownValue = null; replaySuspendedUnitOfWork(lanes); break; } lanes = function() { workInProgressSuspendedReason === SuspendedOnData && workInProgressRoot === root2 && (workInProgressSuspendedReason = SuspendedAndReadyToContinue); ensureRootIsScheduled(root2); }; memoizedUpdaters.then(lanes, lanes); break a; case SuspendedOnImmediate: workInProgressSuspendedReason = SuspendedAndReadyToContinue; break a; case SuspendedOnInstance: workInProgressSuspendedReason = SuspendedOnInstanceAndReadyToContinue; break a; case SuspendedAndReadyToContinue: isThenableResolved(memoizedUpdaters) ? (workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, replaySuspendedUnitOfWork(lanes)) : (workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, throwAndUnwindWorkLoop( root2, lanes, memoizedUpdaters, SuspendedAndReadyToContinue )); break; case SuspendedOnInstanceAndReadyToContinue: var resource = null; switch (workInProgress.tag) { case 26: resource = workInProgress.memoizedState; case 5: case 27: var hostFiber = workInProgress; if (resource ? preloadResource(resource) : 1) { workInProgressSuspendedReason = NotSuspended; workInProgressThrownValue = null; var sibling = hostFiber.sibling; if (null !== sibling) workInProgress = sibling; else { var returnFiber = hostFiber.return; null !== returnFiber ? (workInProgress = returnFiber, completeUnitOfWork(returnFiber)) : workInProgress = null; } break b; } break; default: console.error( "Unexpected type of fiber triggered a suspensey commit. This is a bug in React." ); } workInProgressSuspendedReason = NotSuspended; workInProgressThrownValue = null; throwAndUnwindWorkLoop( root2, lanes, memoizedUpdaters, SuspendedOnInstanceAndReadyToContinue ); break; case SuspendedOnDeprecatedThrowPromise: workInProgressSuspendedReason = NotSuspended; workInProgressThrownValue = null; throwAndUnwindWorkLoop( root2, lanes, memoizedUpdaters, SuspendedOnDeprecatedThrowPromise ); break; case SuspendedOnHydration: resetWorkInProgressStack(); workInProgressRootExitStatus = RootDidNotComplete; break a; default: throw Error( "Unexpected SuspendedReason. This is a bug in React." ); } null !== ReactSharedInternals.actQueue ? workLoopSync() : workLoopConcurrent(); break; } catch (thrownValue$9) { handleThrow(root2, thrownValue$9); } while (1); resetContextDependencies(); ReactSharedInternals.H = prevDispatcher; ReactSharedInternals.A = prevAsyncDispatcher; executionContext = prevExecutionContext; if (null !== workInProgress) return null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderYielded && injectedProfilingHooks.markRenderYielded(), RootInProgress; markRenderStopped(); workInProgressRoot = null; workInProgressRootRenderLanes = 0; finishQueueingConcurrentUpdates(); return workInProgressRootExitStatus; } function workLoopConcurrent() { for (; null !== workInProgress && !shouldYield(); ) performUnitOfWork(workInProgress); } function performUnitOfWork(unitOfWork) { var current2 = unitOfWork.alternate; (unitOfWork.mode & ProfileMode) !== NoMode ? (startProfilerTimer(unitOfWork), current2 = runWithFiberInDEV( unitOfWork, beginWork, current2, unitOfWork, entangledRenderLanes ), stopProfilerTimerIfRunningAndRecordDuration(unitOfWork)) : current2 = runWithFiberInDEV( unitOfWork, beginWork, current2, unitOfWork, entangledRenderLanes ); unitOfWork.memoizedProps = unitOfWork.pendingProps; null === current2 ? completeUnitOfWork(unitOfWork) : workInProgress = current2; } function replaySuspendedUnitOfWork(unitOfWork) { var next = runWithFiberInDEV(unitOfWork, replayBeginWork, unitOfWork); unitOfWork.memoizedProps = unitOfWork.pendingProps; null === next ? completeUnitOfWork(unitOfWork) : workInProgress = next; } function replayBeginWork(unitOfWork) { var current2 = unitOfWork.alternate, isProfilingMode = (unitOfWork.mode & ProfileMode) !== NoMode; isProfilingMode && startProfilerTimer(unitOfWork); switch (unitOfWork.tag) { case 15: case 0: current2 = replayFunctionComponent( current2, unitOfWork, unitOfWork.pendingProps, unitOfWork.type, void 0, workInProgressRootRenderLanes ); break; case 11: current2 = replayFunctionComponent( current2, unitOfWork, unitOfWork.pendingProps, unitOfWork.type.render, unitOfWork.ref, workInProgressRootRenderLanes ); break; case 5: resetHooksOnUnwind(unitOfWork); default: unwindInterruptedWork(current2, unitOfWork), unitOfWork = workInProgress = resetWorkInProgress(unitOfWork, entangledRenderLanes), current2 = beginWork(current2, unitOfWork, entangledRenderLanes); } isProfilingMode && stopProfilerTimerIfRunningAndRecordDuration(unitOfWork); return current2; } function throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, suspendedReason) { resetContextDependencies(); resetHooksOnUnwind(unitOfWork); thenableState$1 = null; thenableIndexCounter$1 = 0; var returnFiber = unitOfWork.return; try { if (throwException( root2, returnFiber, unitOfWork, thrownValue, workInProgressRootRenderLanes )) { workInProgressRootExitStatus = RootFatalErrored; logUncaughtError( root2, createCapturedValueAtFiber(thrownValue, root2.current) ); workInProgress = null; return; } } catch (error) { if (null !== returnFiber) throw workInProgress = returnFiber, error; workInProgressRootExitStatus = RootFatalErrored; logUncaughtError( root2, createCapturedValueAtFiber(thrownValue, root2.current) ); workInProgress = null; return; } if (unitOfWork.flags & 32768) { if (isHydrating || suspendedReason === SuspendedOnError) root2 = true; else if (workInProgressRootIsPrerendering || 0 !== (workInProgressRootRenderLanes & 536870912)) root2 = false; else if (workInProgressRootDidSkipSuspendedSiblings = root2 = true, suspendedReason === SuspendedOnData || suspendedReason === SuspendedOnImmediate || suspendedReason === SuspendedOnDeprecatedThrowPromise) suspendedReason = suspenseHandlerStackCursor.current, null !== suspendedReason && 13 === suspendedReason.tag && (suspendedReason.flags |= 16384); unwindUnitOfWork(unitOfWork, root2); } else completeUnitOfWork(unitOfWork); } function completeUnitOfWork(unitOfWork) { var completedWork = unitOfWork; do { if (0 !== (completedWork.flags & 32768)) { unwindUnitOfWork( completedWork, workInProgressRootDidSkipSuspendedSiblings ); return; } var current2 = completedWork.alternate; unitOfWork = completedWork.return; startProfilerTimer(completedWork); current2 = runWithFiberInDEV( completedWork, completeWork, current2, completedWork, entangledRenderLanes ); (completedWork.mode & ProfileMode) !== NoMode && stopProfilerTimerIfRunningAndRecordIncompleteDuration(completedWork); if (null !== current2) { workInProgress = current2; return; } completedWork = completedWork.sibling; if (null !== completedWork) { workInProgress = completedWork; return; } workInProgress = completedWork = unitOfWork; } while (null !== completedWork); workInProgressRootExitStatus === RootInProgress && (workInProgressRootExitStatus = RootCompleted); } function unwindUnitOfWork(unitOfWork, skipSiblings) { do { var next = unwindWork(unitOfWork.alternate, unitOfWork); if (null !== next) { next.flags &= 32767; workInProgress = next; return; } if ((unitOfWork.mode & ProfileMode) !== NoMode) { stopProfilerTimerIfRunningAndRecordIncompleteDuration(unitOfWork); next = unitOfWork.actualDuration; for (var child = unitOfWork.child; null !== child; ) next += child.actualDuration, child = child.sibling; unitOfWork.actualDuration = next; } next = unitOfWork.return; null !== next && (next.flags |= 32768, next.subtreeFlags = 0, next.deletions = null); if (!skipSiblings && (unitOfWork = unitOfWork.sibling, null !== unitOfWork)) { workInProgress = unitOfWork; return; } workInProgress = unitOfWork = next; } while (null !== unitOfWork); workInProgressRootExitStatus = RootDidNotComplete; workInProgress = null; } function commitRoot(root2, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, spawnedLane, updatedLanes, suspendedRetryLanes, suspendedCommitReason, completedRenderStartTime, completedRenderEndTime) { var prevTransition = ReactSharedInternals.T, previousUpdateLanePriority = ReactDOMSharedInternals.p; try { ReactDOMSharedInternals.p = DiscreteEventPriority, ReactSharedInternals.T = null, commitRootImpl( root2, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, previousUpdateLanePriority, spawnedLane, updatedLanes, suspendedRetryLanes, suspendedCommitReason, completedRenderStartTime, completedRenderEndTime ); } finally { ReactSharedInternals.T = prevTransition, ReactDOMSharedInternals.p = previousUpdateLanePriority; } } function commitRootImpl(root2, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, renderPriorityLevel, spawnedLane, updatedLanes, suspendedRetryLanes) { do flushPassiveEffects(); while (null !== rootWithPendingPassiveEffects); ReactStrictModeWarnings.flushLegacyContextWarning(); ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings(); if ((executionContext & (RenderContext | CommitContext)) !== NoContext) throw Error("Should not already be working."); var finishedWork = root2.finishedWork; didIncludeRenderPhaseUpdate = root2.finishedLanes; null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markCommitStarted && injectedProfilingHooks.markCommitStarted(didIncludeRenderPhaseUpdate); if (null === finishedWork) return markCommitStopped(), null; 0 === didIncludeRenderPhaseUpdate && console.error( "root.finishedLanes should not be empty during a commit. This is a bug in React." ); root2.finishedWork = null; root2.finishedLanes = 0; if (finishedWork === root2.current) throw Error( "Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue." ); root2.callbackNode = null; root2.callbackPriority = 0; root2.cancelPendingCommit = null; var remainingLanes = finishedWork.lanes | finishedWork.childLanes; remainingLanes |= concurrentlyUpdatedLanes; markRootFinished( root2, didIncludeRenderPhaseUpdate, remainingLanes, spawnedLane, updatedLanes, suspendedRetryLanes ); root2 === workInProgressRoot && (workInProgress = workInProgressRoot = null, workInProgressRootRenderLanes = 0); 0 === (finishedWork.subtreeFlags & 10256) && 0 === (finishedWork.flags & 10256) || rootDoesHavePassiveEffects || (rootDoesHavePassiveEffects = true, pendingPassiveEffectsRemainingLanes = remainingLanes, pendingPassiveTransitions = transitions, scheduleCallback$1(NormalPriority$1, function() { flushPassiveEffects(true); return null; })); commitStartTime = now(); transitions = 0 !== (finishedWork.flags & 15990); 0 !== (finishedWork.subtreeFlags & 15990) || transitions ? (transitions = ReactSharedInternals.T, ReactSharedInternals.T = null, spawnedLane = ReactDOMSharedInternals.p, ReactDOMSharedInternals.p = DiscreteEventPriority, updatedLanes = executionContext, executionContext |= CommitContext, commitBeforeMutationEffects(root2, finishedWork), commitMutationEffects( root2, finishedWork, didIncludeRenderPhaseUpdate ), restoreSelection(selectionInformation, root2.containerInfo), _enabled = !!eventsEnabled, selectionInformation = eventsEnabled = null, root2.current = finishedWork, null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markLayoutEffectsStarted && injectedProfilingHooks.markLayoutEffectsStarted( didIncludeRenderPhaseUpdate ), commitLayoutEffects(finishedWork, root2, didIncludeRenderPhaseUpdate), null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markLayoutEffectsStopped && injectedProfilingHooks.markLayoutEffectsStopped(), requestPaint(), executionContext = updatedLanes, ReactDOMSharedInternals.p = spawnedLane, ReactSharedInternals.T = transitions) : root2.current = finishedWork; (transitions = rootDoesHavePassiveEffects) ? (rootDoesHavePassiveEffects = false, rootWithPendingPassiveEffects = root2, pendingPassiveEffectsLanes = didIncludeRenderPhaseUpdate) : (releaseRootPooledCache(root2, remainingLanes), nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null); remainingLanes = root2.pendingLanes; 0 === remainingLanes && (legacyErrorBoundariesThatAlreadyFailed = null); transitions || commitDoubleInvokeEffectsInDEV(root2); onCommitRoot$1(finishedWork.stateNode, renderPriorityLevel); isDevToolsPresent && root2.memoizedUpdaters.clear(); onCommitRoot(); ensureRootIsScheduled(root2); if (null !== recoverableErrors) for (renderPriorityLevel = root2.onRecoverableError, finishedWork = 0; finishedWork < recoverableErrors.length; finishedWork++) remainingLanes = recoverableErrors[finishedWork], transitions = makeErrorInfo(remainingLanes.stack), runWithFiberInDEV( remainingLanes.source, renderPriorityLevel, remainingLanes.value, transitions ); 0 !== (pendingPassiveEffectsLanes & 3) && flushPassiveEffects(); remainingLanes = root2.pendingLanes; 0 !== (didIncludeRenderPhaseUpdate & 4194218) && 0 !== (remainingLanes & 42) ? (nestedUpdateScheduled = true, root2 === rootWithNestedUpdates ? nestedUpdateCount++ : (nestedUpdateCount = 0, rootWithNestedUpdates = root2)) : nestedUpdateCount = 0; flushSyncWorkAcrossRoots_impl(0, false); markCommitStopped(); return null; } function makeErrorInfo(componentStack) { componentStack = { componentStack }; Object.defineProperty(componentStack, "digest", { get: function() { console.error( 'You are accessing "digest" from the errorInfo object passed to onRecoverableError. This property is no longer provided as part of errorInfo but can be accessed as a property of the Error instance itself.' ); } }); return componentStack; } function releaseRootPooledCache(root2, remainingLanes) { 0 === (root2.pooledCacheLanes &= remainingLanes) && (remainingLanes = root2.pooledCache, null != remainingLanes && (root2.pooledCache = null, releaseCache(remainingLanes))); } function flushPassiveEffects() { if (null !== rootWithPendingPassiveEffects) { var root2 = rootWithPendingPassiveEffects, remainingLanes = pendingPassiveEffectsRemainingLanes; pendingPassiveEffectsRemainingLanes = 0; var renderPriority = lanesToEventPriority(pendingPassiveEffectsLanes), priority = 0 === DefaultEventPriority || DefaultEventPriority > renderPriority ? DefaultEventPriority : renderPriority; renderPriority = ReactSharedInternals.T; var previousPriority = ReactDOMSharedInternals.p; try { ReactDOMSharedInternals.p = priority; ReactSharedInternals.T = null; if (null === rootWithPendingPassiveEffects) var JSCompiler_inline_result = false; else { priority = pendingPassiveTransitions; pendingPassiveTransitions = null; var root$jscomp$0 = rootWithPendingPassiveEffects, lanes = pendingPassiveEffectsLanes; rootWithPendingPassiveEffects = null; pendingPassiveEffectsLanes = 0; if ((executionContext & (RenderContext | CommitContext)) !== NoContext) throw Error( "Cannot flush passive effects while already rendering." ); isFlushingPassiveEffects = true; didScheduleUpdateDuringPassiveEffects = false; null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markPassiveEffectsStarted && injectedProfilingHooks.markPassiveEffectsStarted(lanes); var prevExecutionContext = executionContext; executionContext |= CommitContext; commitPassiveUnmountOnFiber(root$jscomp$0.current); commitPassiveMountOnFiber( root$jscomp$0, root$jscomp$0.current, lanes, priority ); null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markPassiveEffectsStopped && injectedProfilingHooks.markPassiveEffectsStopped(); commitDoubleInvokeEffectsInDEV(root$jscomp$0); executionContext = prevExecutionContext; flushSyncWorkAcrossRoots_impl(0, false); didScheduleUpdateDuringPassiveEffects ? root$jscomp$0 === rootWithPassiveNestedUpdates ? nestedPassiveUpdateCount++ : (nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = root$jscomp$0) : nestedPassiveUpdateCount = 0; didScheduleUpdateDuringPassiveEffects = isFlushingPassiveEffects = false; if (injectedHook && "function" === typeof injectedHook.onPostCommitFiberRoot) try { injectedHook.onPostCommitFiberRoot(rendererID, root$jscomp$0); } catch (err) { hasLoggedError || (hasLoggedError = true, console.error( "React instrumentation encountered an error: %s", err )); } var stateNode = root$jscomp$0.current.stateNode; stateNode.effectDuration = 0; stateNode.passiveEffectDuration = 0; JSCompiler_inline_result = true; } return JSCompiler_inline_result; } finally { ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = renderPriority, releaseRootPooledCache(root2, remainingLanes); } } return false; } function captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) { sourceFiber = createCapturedValueAtFiber(error, sourceFiber); sourceFiber = createRootErrorUpdate(rootFiber.stateNode, sourceFiber, 2); rootFiber = enqueueUpdate(rootFiber, sourceFiber, 2); null !== rootFiber && (markRootUpdated$1(rootFiber, 2), ensureRootIsScheduled(rootFiber)); } function captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error) { isRunningInsertionEffect = false; if (3 === sourceFiber.tag) captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error); else { for (; null !== nearestMountedAncestor; ) { if (3 === nearestMountedAncestor.tag) { captureCommitPhaseErrorOnRoot( nearestMountedAncestor, sourceFiber, error ); return; } if (1 === nearestMountedAncestor.tag) { var instance = nearestMountedAncestor.stateNode; if ("function" === typeof nearestMountedAncestor.type.getDerivedStateFromError || "function" === typeof instance.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(instance))) { sourceFiber = createCapturedValueAtFiber(error, sourceFiber); error = createClassErrorUpdate(2); instance = enqueueUpdate(nearestMountedAncestor, error, 2); null !== instance && (initializeClassErrorUpdate( error, instance, nearestMountedAncestor, sourceFiber ), markRootUpdated$1(instance, 2), ensureRootIsScheduled(instance)); return; } } nearestMountedAncestor = nearestMountedAncestor.return; } console.error( "Internal React error: Attempted to capture a commit phase error inside a detached tree. This indicates a bug in React. Potential causes include deleting the same fiber more than once, committing an already-finished tree, or an inconsistent return pointer.\n\nError message:\n\n%s", error ); } } function attachPingListener(root2, wakeable, lanes) { var pingCache = root2.pingCache; if (null === pingCache) { pingCache = root2.pingCache = new PossiblyWeakMap(); var threadIDs = /* @__PURE__ */ new Set(); pingCache.set(wakeable, threadIDs); } else threadIDs = pingCache.get(wakeable), void 0 === threadIDs && (threadIDs = /* @__PURE__ */ new Set(), pingCache.set(wakeable, threadIDs)); threadIDs.has(lanes) || (workInProgressRootDidAttachPingListener = true, threadIDs.add(lanes), pingCache = pingSuspendedRoot.bind(null, root2, wakeable, lanes), isDevToolsPresent && restorePendingUpdaters(root2, lanes), wakeable.then(pingCache, pingCache)); } function pingSuspendedRoot(root2, wakeable, pingedLanes) { var pingCache = root2.pingCache; null !== pingCache && pingCache.delete(wakeable); root2.pingedLanes |= root2.suspendedLanes & pingedLanes; root2.warmLanes &= ~pingedLanes; isConcurrentActEnvironment() && null === ReactSharedInternals.actQueue && console.error( "A suspended resource finished loading inside a test, but the event was not wrapped in act(...).\n\nWhen testing, code that resolves suspended data should be wrapped into act(...):\n\nact(() => {\n /* finish loading suspended data */\n});\n/* assert on the output */\n\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act" ); workInProgressRoot === root2 && (workInProgressRootRenderLanes & pingedLanes) === pingedLanes && (workInProgressRootExitStatus === RootSuspendedWithDelay || workInProgressRootExitStatus === RootSuspended && (workInProgressRootRenderLanes & 62914560) === workInProgressRootRenderLanes && now$1() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS ? (executionContext & RenderContext) === NoContext && prepareFreshStack(root2, 0) : workInProgressRootPingedLanes |= pingedLanes, workInProgressSuspendedRetryLanes === workInProgressRootRenderLanes && (workInProgressSuspendedRetryLanes = 0)); ensureRootIsScheduled(root2); } function retryTimedOutBoundary(boundaryFiber, retryLane) { 0 === retryLane && (retryLane = claimNextRetryLane()); boundaryFiber = enqueueConcurrentRenderForLane(boundaryFiber, retryLane); null !== boundaryFiber && (markRootUpdated$1(boundaryFiber, retryLane), ensureRootIsScheduled(boundaryFiber)); } function retryDehydratedSuspenseBoundary(boundaryFiber) { var suspenseState = boundaryFiber.memoizedState, retryLane = 0; null !== suspenseState && (retryLane = suspenseState.retryLane); retryTimedOutBoundary(boundaryFiber, retryLane); } function resolveRetryWakeable(boundaryFiber, wakeable) { var retryLane = 0; switch (boundaryFiber.tag) { case 13: var retryCache = boundaryFiber.stateNode; var suspenseState = boundaryFiber.memoizedState; null !== suspenseState && (retryLane = suspenseState.retryLane); break; case 19: retryCache = boundaryFiber.stateNode; break; case 22: retryCache = boundaryFiber.stateNode._retryCache; break; default: throw Error( "Pinged unknown suspense boundary type. This is probably a bug in React." ); } null !== retryCache && retryCache.delete(wakeable); retryTimedOutBoundary(boundaryFiber, retryLane); } function recursivelyTraverseAndDoubleInvokeEffectsInDEV(root$jscomp$0, parentFiber, isInStrictMode) { if (0 !== (parentFiber.subtreeFlags & 33562624)) for (parentFiber = parentFiber.child; null !== parentFiber; ) { var root2 = root$jscomp$0, fiber = parentFiber, isStrictModeFiber = fiber.type === REACT_STRICT_MODE_TYPE; isStrictModeFiber = isInStrictMode || isStrictModeFiber; 22 !== fiber.tag ? fiber.flags & 33554432 ? isStrictModeFiber && runWithFiberInDEV( fiber, doubleInvokeEffectsOnFiber, root2, fiber, (fiber.mode & NoStrictPassiveEffectsMode) === NoMode ) : recursivelyTraverseAndDoubleInvokeEffectsInDEV( root2, fiber, isStrictModeFiber ) : null === fiber.memoizedState && (isStrictModeFiber && fiber.flags & 8192 ? runWithFiberInDEV( fiber, doubleInvokeEffectsOnFiber, root2, fiber ) : fiber.subtreeFlags & 33554432 && runWithFiberInDEV( fiber, recursivelyTraverseAndDoubleInvokeEffectsInDEV, root2, fiber, isStrictModeFiber )); parentFiber = parentFiber.sibling; } } function doubleInvokeEffectsOnFiber(root2, fiber) { var shouldDoubleInvokePassiveEffects = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : true; setIsStrictModeForDevtools(true); try { disappearLayoutEffects(fiber), shouldDoubleInvokePassiveEffects && disconnectPassiveEffect(fiber), reappearLayoutEffects(root2, fiber.alternate, fiber, false), shouldDoubleInvokePassiveEffects && reconnectPassiveEffects(root2, fiber, 0, null, false); } finally { setIsStrictModeForDevtools(false); } } function commitDoubleInvokeEffectsInDEV(root2) { var doubleInvokeEffects = true; root2.current.mode & (StrictLegacyMode | StrictEffectsMode) || (doubleInvokeEffects = false); recursivelyTraverseAndDoubleInvokeEffectsInDEV( root2, root2.current, doubleInvokeEffects ); } function warnAboutUpdateOnNotYetMountedFiberInDEV(fiber) { if ((executionContext & RenderContext) === NoContext) { var tag = fiber.tag; if (3 === tag || 1 === tag || 0 === tag || 11 === tag || 14 === tag || 15 === tag) { tag = getComponentNameFromFiber(fiber) || "ReactComponent"; if (null !== didWarnStateUpdateForNotYetMountedComponent) { if (didWarnStateUpdateForNotYetMountedComponent.has(tag)) return; didWarnStateUpdateForNotYetMountedComponent.add(tag); } else didWarnStateUpdateForNotYetMountedComponent = /* @__PURE__ */ new Set([tag]); runWithFiberInDEV(fiber, function() { console.error( "Can't perform a React state update on a component that hasn't mounted yet. This indicates that you have a side-effect in your render function that asynchronously later calls tries to update the component. Move this work to useEffect instead." ); }); } } } function restorePendingUpdaters(root2, lanes) { isDevToolsPresent && root2.memoizedUpdaters.forEach(function(schedulingFiber) { addFiberToLanesMap(root2, schedulingFiber, lanes); }); } function scheduleCallback$1(priorityLevel, callback) { var actQueue = ReactSharedInternals.actQueue; return null !== actQueue ? (actQueue.push(callback), fakeActCallbackNode$1) : scheduleCallback$3(priorityLevel, callback); } function warnIfUpdatesNotWrappedWithActDEV(fiber) { isConcurrentActEnvironment() && null === ReactSharedInternals.actQueue && runWithFiberInDEV(fiber, function() { console.error( "An update to %s inside a test was not wrapped in act(...).\n\nWhen testing, code that causes React state updates should be wrapped into act(...):\n\nact(() => {\n /* fire events that update state */\n});\n/* assert on the output */\n\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act", getComponentNameFromFiber(fiber) ); }); } function ensureRootIsScheduled(root2) { root2 !== lastScheduledRoot && null === root2.next && (null === lastScheduledRoot ? firstScheduledRoot = lastScheduledRoot = root2 : lastScheduledRoot = lastScheduledRoot.next = root2); mightHavePendingSyncWork = true; null !== ReactSharedInternals.actQueue ? didScheduleMicrotask_act || (didScheduleMicrotask_act = true, scheduleImmediateTask(processRootScheduleInMicrotask)) : didScheduleMicrotask || (didScheduleMicrotask = true, scheduleImmediateTask(processRootScheduleInMicrotask)); } function flushSyncWorkAcrossRoots_impl(syncTransitionLanes, onlyLegacy) { if (!isFlushingWork && mightHavePendingSyncWork) { isFlushingWork = true; do { var didPerformSomeWork = false; for (var root2 = firstScheduledRoot; null !== root2; ) { if (!onlyLegacy) if (0 !== syncTransitionLanes) { var pendingLanes = root2.pendingLanes; if (0 === pendingLanes) var nextLanes = 0; else { var suspendedLanes = root2.suspendedLanes, pingedLanes = root2.pingedLanes; nextLanes = (1 << 31 - clz32(42 | syncTransitionLanes) + 1) - 1; nextLanes &= pendingLanes & ~(suspendedLanes & ~pingedLanes); nextLanes = nextLanes & 201326677 ? nextLanes & 201326677 | 1 : nextLanes ? nextLanes | 2 : 0; } 0 !== nextLanes && (didPerformSomeWork = true, performSyncWorkOnRoot(root2, nextLanes)); } else nextLanes = workInProgressRootRenderLanes, nextLanes = getNextLanes( root2, root2 === workInProgressRoot ? nextLanes : 0 ), 0 === (nextLanes & 3) || checkIfRootIsPrerendering(root2, nextLanes) || (didPerformSomeWork = true, performSyncWorkOnRoot(root2, nextLanes)); root2 = root2.next; } } while (didPerformSomeWork); isFlushingWork = false; } } function processRootScheduleInMicrotask() { mightHavePendingSyncWork = didScheduleMicrotask_act = didScheduleMicrotask = false; var syncTransitionLanes = 0; 0 !== currentEventTransitionLane && (shouldAttemptEagerTransition() && (syncTransitionLanes = currentEventTransitionLane), currentEventTransitionLane = 0); for (var currentTime = now$1(), prev = null, root2 = firstScheduledRoot; null !== root2; ) { var next = root2.next, nextLanes = scheduleTaskForRootDuringMicrotask(root2, currentTime); if (0 === nextLanes) root2.next = null, null === prev ? firstScheduledRoot = next : prev.next = next, null === next && (lastScheduledRoot = prev); else if (prev = root2, 0 !== syncTransitionLanes || 0 !== (nextLanes & 3)) mightHavePendingSyncWork = true; root2 = next; } flushSyncWorkAcrossRoots_impl(syncTransitionLanes, false); } function scheduleTaskForRootDuringMicrotask(root2, currentTime) { for (var suspendedLanes = root2.suspendedLanes, pingedLanes = root2.pingedLanes, expirationTimes = root2.expirationTimes, lanes = root2.pendingLanes & -62914561; 0 < lanes; ) { var index = 31 - clz32(lanes), lane = 1 << index, expirationTime = expirationTimes[index]; if (-1 === expirationTime) { if (0 === (lane & suspendedLanes) || 0 !== (lane & pingedLanes)) expirationTimes[index] = computeExpirationTime(lane, currentTime); } else expirationTime <= currentTime && (root2.expiredLanes |= lane); lanes &= ~lane; } currentTime = workInProgressRoot; suspendedLanes = workInProgressRootRenderLanes; suspendedLanes = getNextLanes( root2, root2 === currentTime ? suspendedLanes : 0 ); pingedLanes = root2.callbackNode; if (0 === suspendedLanes || root2 === currentTime && workInProgressSuspendedReason === SuspendedOnData || null !== root2.cancelPendingCommit) return null !== pingedLanes && cancelCallback(pingedLanes), root2.callbackNode = null, root2.callbackPriority = 0; if (0 === (suspendedLanes & 3) || checkIfRootIsPrerendering(root2, suspendedLanes)) { currentTime = suspendedLanes & -suspendedLanes; if (currentTime !== root2.callbackPriority || null !== ReactSharedInternals.actQueue && pingedLanes !== fakeActCallbackNode) cancelCallback(pingedLanes); else return currentTime; switch (lanesToEventPriority(suspendedLanes)) { case DiscreteEventPriority: case ContinuousEventPriority: suspendedLanes = UserBlockingPriority; break; case DefaultEventPriority: suspendedLanes = NormalPriority$1; break; case IdleEventPriority: suspendedLanes = IdlePriority; break; default: suspendedLanes = NormalPriority$1; } pingedLanes = performWorkOnRootViaSchedulerTask.bind(null, root2); null !== ReactSharedInternals.actQueue ? (ReactSharedInternals.actQueue.push(pingedLanes), suspendedLanes = fakeActCallbackNode) : suspendedLanes = scheduleCallback$3(suspendedLanes, pingedLanes); root2.callbackPriority = currentTime; root2.callbackNode = suspendedLanes; return currentTime; } null !== pingedLanes && cancelCallback(pingedLanes); root2.callbackPriority = 2; root2.callbackNode = null; return 2; } function performWorkOnRootViaSchedulerTask(root2, didTimeout) { nestedUpdateScheduled = currentUpdateIsNested = false; var originalCallbackNode = root2.callbackNode; if (flushPassiveEffects() && root2.callbackNode !== originalCallbackNode) return null; var workInProgressRootRenderLanes$jscomp$0 = workInProgressRootRenderLanes; workInProgressRootRenderLanes$jscomp$0 = getNextLanes( root2, root2 === workInProgressRoot ? workInProgressRootRenderLanes$jscomp$0 : 0 ); if (0 === workInProgressRootRenderLanes$jscomp$0) return null; performWorkOnRoot( root2, workInProgressRootRenderLanes$jscomp$0, didTimeout ); scheduleTaskForRootDuringMicrotask(root2, now$1()); return null != root2.callbackNode && root2.callbackNode === originalCallbackNode ? performWorkOnRootViaSchedulerTask.bind(null, root2) : null; } function performSyncWorkOnRoot(root2, lanes) { if (flushPassiveEffects()) return null; currentUpdateIsNested = nestedUpdateScheduled; nestedUpdateScheduled = false; performWorkOnRoot(root2, lanes, true); } function cancelCallback(callbackNode) { callbackNode !== fakeActCallbackNode && null !== callbackNode && cancelCallback$1(callbackNode); } function scheduleImmediateTask(cb) { null !== ReactSharedInternals.actQueue && ReactSharedInternals.actQueue.push(function() { cb(); return null; }); scheduleMicrotask(function() { (executionContext & (RenderContext | CommitContext)) !== NoContext ? scheduleCallback$3(ImmediatePriority, cb) : cb(); }); } function requestTransitionLane() { 0 === currentEventTransitionLane && (currentEventTransitionLane = claimNextTransitionLane()); return currentEventTransitionLane; } function coerceFormActionProp(actionProp) { if (null == actionProp || "symbol" === typeof actionProp || "boolean" === typeof actionProp) return null; if ("function" === typeof actionProp) return actionProp; checkAttributeStringCoercion(actionProp, "action"); return sanitizeURL("" + actionProp); } function createFormDataWithSubmitter(form, submitter) { var temp = submitter.ownerDocument.createElement("input"); temp.name = submitter.name; temp.value = submitter.value; form.id && temp.setAttribute("form", form.id); submitter.parentNode.insertBefore(temp, submitter); form = new FormData(form); temp.parentNode.removeChild(temp); return form; } function extractEvents$1(dispatchQueue, domEventName, maybeTargetInst, nativeEvent, nativeEventTarget) { if ("submit" === domEventName && maybeTargetInst && maybeTargetInst.stateNode === nativeEventTarget) { var action = coerceFormActionProp( (nativeEventTarget[internalPropsKey] || null).action ), submitter = nativeEvent.submitter; submitter && (domEventName = (domEventName = submitter[internalPropsKey] || null) ? coerceFormActionProp(domEventName.formAction) : submitter.getAttribute("formAction"), null !== domEventName && (action = domEventName, submitter = null)); var event = new SyntheticEvent( "action", "action", null, nativeEvent, nativeEventTarget ); dispatchQueue.push({ event, listeners: [ { instance: null, listener: function() { if (nativeEvent.defaultPrevented) { if (0 !== currentEventTransitionLane) { var formData = submitter ? createFormDataWithSubmitter( nativeEventTarget, submitter ) : new FormData(nativeEventTarget), pendingState = { pending: true, data: formData, method: nativeEventTarget.method, action }; Object.freeze(pendingState); startHostTransition( maybeTargetInst, pendingState, null, formData ); } } else "function" === typeof action && (event.preventDefault(), formData = submitter ? createFormDataWithSubmitter( nativeEventTarget, submitter ) : new FormData(nativeEventTarget), pendingState = { pending: true, data: formData, method: nativeEventTarget.method, action }, Object.freeze(pendingState), startHostTransition( maybeTargetInst, pendingState, action, formData )); }, currentTarget: nativeEventTarget } ] }); } } function processDispatchQueue(dispatchQueue, eventSystemFlags) { eventSystemFlags = 0 !== (eventSystemFlags & 4); for (var i = 0; i < dispatchQueue.length; i++) { var _dispatchQueue$i = dispatchQueue[i]; a: { var previousInstance = void 0, event = _dispatchQueue$i.event; _dispatchQueue$i = _dispatchQueue$i.listeners; if (eventSystemFlags) for (var i$jscomp$0 = _dispatchQueue$i.length - 1; 0 <= i$jscomp$0; i$jscomp$0--) { var _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0], instance = _dispatchListeners$i.instance, currentTarget = _dispatchListeners$i.currentTarget; _dispatchListeners$i = _dispatchListeners$i.listener; if (instance !== previousInstance && event.isPropagationStopped()) break a; previousInstance = event; previousInstance.currentTarget = currentTarget; try { _dispatchListeners$i(previousInstance); } catch (error) { reportGlobalError(error); } previousInstance.currentTarget = null; previousInstance = instance; } else for (i$jscomp$0 = 0; i$jscomp$0 < _dispatchQueue$i.length; i$jscomp$0++) { _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0]; instance = _dispatchListeners$i.instance; currentTarget = _dispatchListeners$i.currentTarget; _dispatchListeners$i = _dispatchListeners$i.listener; if (instance !== previousInstance && event.isPropagationStopped()) break a; previousInstance = event; previousInstance.currentTarget = currentTarget; try { _dispatchListeners$i(previousInstance); } catch (error) { reportGlobalError(error); } previousInstance.currentTarget = null; previousInstance = instance; } } } } function listenToNonDelegatedEvent(domEventName, targetElement) { nonDelegatedEvents.has(domEventName) || console.error( 'Did not expect a listenToNonDelegatedEvent() call for "%s". This is a bug in React. Please file an issue.', domEventName ); var listenerSet = targetElement[internalEventHandlersKey]; void 0 === listenerSet && (listenerSet = targetElement[internalEventHandlersKey] = /* @__PURE__ */ new Set()); var listenerSetKey = domEventName + "__bubble"; listenerSet.has(listenerSetKey) || (addTrappedEventListener(targetElement, domEventName, 2, false), listenerSet.add(listenerSetKey)); } function listenToNativeEvent(domEventName, isCapturePhaseListener, target) { nonDelegatedEvents.has(domEventName) && !isCapturePhaseListener && console.error( 'Did not expect a listenToNativeEvent() call for "%s" in the bubble phase. This is a bug in React. Please file an issue.', domEventName ); var eventSystemFlags = 0; isCapturePhaseListener && (eventSystemFlags |= 4); addTrappedEventListener( target, domEventName, eventSystemFlags, isCapturePhaseListener ); } function listenToAllSupportedEvents(rootContainerElement) { if (!rootContainerElement[listeningMarker]) { rootContainerElement[listeningMarker] = true; allNativeEvents.forEach(function(domEventName) { "selectionchange" !== domEventName && (nonDelegatedEvents.has(domEventName) || listenToNativeEvent(domEventName, false, rootContainerElement), listenToNativeEvent(domEventName, true, rootContainerElement)); }); var ownerDocument = 9 === rootContainerElement.nodeType ? rootContainerElement : rootContainerElement.ownerDocument; null === ownerDocument || ownerDocument[listeningMarker] || (ownerDocument[listeningMarker] = true, listenToNativeEvent("selectionchange", false, ownerDocument)); } } function addTrappedEventListener(targetContainer, domEventName, eventSystemFlags, isCapturePhaseListener) { switch (getEventPriority(domEventName)) { case DiscreteEventPriority: var listenerWrapper = dispatchDiscreteEvent; break; case ContinuousEventPriority: listenerWrapper = dispatchContinuousEvent; break; default: listenerWrapper = dispatchEvent; } eventSystemFlags = listenerWrapper.bind( null, domEventName, eventSystemFlags, targetContainer ); listenerWrapper = void 0; !passiveBrowserEventsSupported || "touchstart" !== domEventName && "touchmove" !== domEventName && "wheel" !== domEventName || (listenerWrapper = true); isCapturePhaseListener ? void 0 !== listenerWrapper ? targetContainer.addEventListener(domEventName, eventSystemFlags, { capture: true, passive: listenerWrapper }) : targetContainer.addEventListener(domEventName, eventSystemFlags, true) : void 0 !== listenerWrapper ? targetContainer.addEventListener(domEventName, eventSystemFlags, { passive: listenerWrapper }) : targetContainer.addEventListener( domEventName, eventSystemFlags, false ); } function dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, targetInst$jscomp$0, targetContainer) { var ancestorInst = targetInst$jscomp$0; if (0 === (eventSystemFlags & 1) && 0 === (eventSystemFlags & 2) && null !== targetInst$jscomp$0) a: for (; ; ) { if (null === targetInst$jscomp$0) return; var nodeTag = targetInst$jscomp$0.tag; if (3 === nodeTag || 4 === nodeTag) { var container = targetInst$jscomp$0.stateNode.containerInfo; if (container === targetContainer || 8 === container.nodeType && container.parentNode === targetContainer) break; if (4 === nodeTag) for (nodeTag = targetInst$jscomp$0.return; null !== nodeTag; ) { var grandTag = nodeTag.tag; if (3 === grandTag || 4 === grandTag) { if (grandTag = nodeTag.stateNode.containerInfo, grandTag === tar