!== instance ? JSCompiler_object_inline_componentStack_2319 = createWorkInProgress(
instance,
JSCompiler_object_inline_componentStack_2319
) : (JSCompiler_object_inline_componentStack_2319 = createFiberFromFragment(
JSCompiler_object_inline_componentStack_2319,
JSCompiler_object_inline_message_2316,
renderLanes2,
null
), JSCompiler_object_inline_componentStack_2319.flags |= 2), JSCompiler_object_inline_componentStack_2319.return = workInProgress2, JSCompiler_object_inline_stack_2318.return = workInProgress2, JSCompiler_object_inline_stack_2318.sibling = JSCompiler_object_inline_componentStack_2319, workInProgress2.child = JSCompiler_object_inline_stack_2318, JSCompiler_object_inline_stack_2318 = JSCompiler_object_inline_componentStack_2319, JSCompiler_object_inline_componentStack_2319 = workInProgress2.child, JSCompiler_object_inline_message_2316 = current2.child.memoizedState, null === JSCompiler_object_inline_message_2316 ? JSCompiler_object_inline_message_2316 = mountSuspenseOffscreenState(renderLanes2) : (JSCompiler_temp = JSCompiler_object_inline_message_2316.cachePool, null !== JSCompiler_temp ? (instance = CacheContext._currentValue, JSCompiler_temp = JSCompiler_temp.parent !== instance ? { parent: instance, pool: instance } : JSCompiler_temp) : JSCompiler_temp = getSuspendedCache(), JSCompiler_object_inline_message_2316 = {
baseLanes: JSCompiler_object_inline_message_2316.baseLanes | renderLanes2,
cachePool: JSCompiler_temp
}), JSCompiler_object_inline_componentStack_2319.memoizedState = JSCompiler_object_inline_message_2316, JSCompiler_object_inline_componentStack_2319.childLanes = getRemainingWorkInPrimaryTree(
current2,
JSCompiler_object_inline_digest_2317,
renderLanes2
), workInProgress2.memoizedState = SUSPENDED_MARKER, JSCompiler_object_inline_stack_2318;
pushPrimaryTreeSuspenseHandler(workInProgress2);
renderLanes2 = current2.child;
current2 = renderLanes2.sibling;
renderLanes2 = createWorkInProgress(renderLanes2, {
mode: "visible",
children: JSCompiler_object_inline_stack_2318.children
});
renderLanes2.return = workInProgress2;
renderLanes2.sibling = null;
null !== current2 && (JSCompiler_object_inline_digest_2317 = workInProgress2.deletions, null === JSCompiler_object_inline_digest_2317 ? (workInProgress2.deletions = [current2], workInProgress2.flags |= 16) : JSCompiler_object_inline_digest_2317.push(current2));
workInProgress2.child = renderLanes2;
workInProgress2.memoizedState = null;
return renderLanes2;
}
function mountSuspensePrimaryChildren(workInProgress2, primaryChildren) {
primaryChildren = mountWorkInProgressOffscreenFiber(
{ mode: "visible", children: primaryChildren },
workInProgress2.mode
);
primaryChildren.return = workInProgress2;
return workInProgress2.child = primaryChildren;
}
function mountWorkInProgressOffscreenFiber(offscreenProps, mode) {
return createFiberFromOffscreen(offscreenProps, mode, 0, null);
}
function retrySuspenseComponentWithoutHydrating(current2, workInProgress2, renderLanes2) {
reconcileChildFibers(workInProgress2, current2.child, null, renderLanes2);
current2 = mountSuspensePrimaryChildren(
workInProgress2,
workInProgress2.pendingProps.children
);
current2.flags |= 2;
workInProgress2.memoizedState = null;
return current2;
}
function scheduleSuspenseWorkOnFiber(fiber, renderLanes2, propagationRoot) {
fiber.lanes |= renderLanes2;
var alternate = fiber.alternate;
null !== alternate && (alternate.lanes |= renderLanes2);
scheduleContextWorkOnParentPath(
fiber.return,
renderLanes2,
propagationRoot
);
}
function validateSuspenseListNestedChild(childSlot, index) {
var isAnArray = isArrayImpl(childSlot);
childSlot = !isAnArray && "function" === typeof getIteratorFn(childSlot);
return isAnArray || childSlot ? (isAnArray = isAnArray ? "array" : "iterable", console.error(
"A nested %s was passed to row #%s in . Wrap it in an additional SuspenseList to configure its revealOrder: ... {%s} ... ",
isAnArray,
index,
isAnArray
), false) : true;
}
function initSuspenseListRenderState(workInProgress2, isBackwards, tail, lastContentRow, tailMode) {
var renderState = workInProgress2.memoizedState;
null === renderState ? workInProgress2.memoizedState = {
isBackwards,
rendering: null,
renderingStartTime: 0,
last: lastContentRow,
tail,
tailMode
} : (renderState.isBackwards = isBackwards, renderState.rendering = null, renderState.renderingStartTime = 0, renderState.last = lastContentRow, renderState.tail = tail, renderState.tailMode = tailMode);
}
function updateSuspenseListComponent(current2, workInProgress2, renderLanes2) {
var nextProps = workInProgress2.pendingProps, revealOrder = nextProps.revealOrder, tailMode = nextProps.tail;
nextProps = nextProps.children;
if (void 0 !== revealOrder && "forwards" !== revealOrder && "backwards" !== revealOrder && "together" !== revealOrder && !didWarnAboutRevealOrder[revealOrder])
if (didWarnAboutRevealOrder[revealOrder] = true, "string" === typeof revealOrder)
switch (revealOrder.toLowerCase()) {
case "together":
case "forwards":
case "backwards":
console.error(
'"%s" is not a valid value for revealOrder on . Use lowercase "%s" instead.',
revealOrder,
revealOrder.toLowerCase()
);
break;
case "forward":
case "backward":
console.error(
'"%s" is not a valid value for revealOrder on . React uses the -s suffix in the spelling. Use "%ss" instead.',
revealOrder,
revealOrder.toLowerCase()
);
break;
default:
console.error(
'"%s" is not a supported revealOrder on . Did you mean "together", "forwards" or "backwards"?',
revealOrder
);
}
else
console.error(
'%s is not a supported value for revealOrder on . Did you mean "together", "forwards" or "backwards"?',
revealOrder
);
void 0 === tailMode || didWarnAboutTailOptions[tailMode] || ("collapsed" !== tailMode && "hidden" !== tailMode ? (didWarnAboutTailOptions[tailMode] = true, console.error(
'"%s" is not a supported value for tail on . Did you mean "collapsed" or "hidden"?',
tailMode
)) : "forwards" !== revealOrder && "backwards" !== revealOrder && (didWarnAboutTailOptions[tailMode] = true, console.error(
' is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?',
tailMode
)));
a: if (("forwards" === revealOrder || "backwards" === revealOrder) && void 0 !== nextProps && null !== nextProps && false !== nextProps)
if (isArrayImpl(nextProps))
for (var i = 0; i < nextProps.length; i++) {
if (!validateSuspenseListNestedChild(nextProps[i], i)) break a;
}
else if (i = getIteratorFn(nextProps), "function" === typeof i) {
if (i = i.call(nextProps))
for (var step = i.next(), _i = 0; !step.done; step = i.next()) {
if (!validateSuspenseListNestedChild(step.value, _i)) break a;
_i++;
}
} else
console.error(
'A single row was passed to a . This is not useful since it needs multiple rows. Did you mean to pass multiple children or an array?',
revealOrder
);
reconcileChildren(current2, workInProgress2, nextProps, renderLanes2);
nextProps = suspenseStackCursor.current;
if (0 !== (nextProps & ForceSuspenseFallback))
nextProps = nextProps & SubtreeSuspenseContextMask | ForceSuspenseFallback, workInProgress2.flags |= 128;
else {
if (null !== current2 && 0 !== (current2.flags & 128))
a: for (current2 = workInProgress2.child; null !== current2; ) {
if (13 === current2.tag)
null !== current2.memoizedState && scheduleSuspenseWorkOnFiber(
current2,
renderLanes2,
workInProgress2
);
else if (19 === current2.tag)
scheduleSuspenseWorkOnFiber(current2, renderLanes2, workInProgress2);
else if (null !== current2.child) {
current2.child.return = current2;
current2 = current2.child;
continue;
}
if (current2 === workInProgress2) break a;
for (; null === current2.sibling; ) {
if (null === current2.return || current2.return === workInProgress2)
break a;
current2 = current2.return;
}
current2.sibling.return = current2.return;
current2 = current2.sibling;
}
nextProps &= SubtreeSuspenseContextMask;
}
push(suspenseStackCursor, nextProps, workInProgress2);
switch (revealOrder) {
case "forwards":
renderLanes2 = workInProgress2.child;
for (revealOrder = null; null !== renderLanes2; )
current2 = renderLanes2.alternate, null !== current2 && null === findFirstSuspended(current2) && (revealOrder = renderLanes2), renderLanes2 = renderLanes2.sibling;
renderLanes2 = revealOrder;
null === renderLanes2 ? (revealOrder = workInProgress2.child, workInProgress2.child = null) : (revealOrder = renderLanes2.sibling, renderLanes2.sibling = null);
initSuspenseListRenderState(
workInProgress2,
false,
revealOrder,
renderLanes2,
tailMode
);
break;
case "backwards":
renderLanes2 = null;
revealOrder = workInProgress2.child;
for (workInProgress2.child = null; null !== revealOrder; ) {
current2 = revealOrder.alternate;
if (null !== current2 && null === findFirstSuspended(current2)) {
workInProgress2.child = revealOrder;
break;
}
current2 = revealOrder.sibling;
revealOrder.sibling = renderLanes2;
renderLanes2 = revealOrder;
revealOrder = current2;
}
initSuspenseListRenderState(
workInProgress2,
true,
renderLanes2,
null,
tailMode
);
break;
case "together":
initSuspenseListRenderState(workInProgress2, false, null, null, void 0);
break;
default:
workInProgress2.memoizedState = null;
}
return workInProgress2.child;
}
function bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2) {
null !== current2 && (workInProgress2.dependencies = current2.dependencies);
profilerStartTime = -1;
workInProgressRootSkippedLanes |= workInProgress2.lanes;
if (0 === (renderLanes2 & workInProgress2.childLanes))
if (null !== current2) {
if (propagateParentContextChanges(
current2,
workInProgress2,
renderLanes2,
false
), 0 === (renderLanes2 & workInProgress2.childLanes))
return null;
} else return null;
if (null !== current2 && workInProgress2.child !== current2.child)
throw Error("Resuming work not yet implemented.");
if (null !== workInProgress2.child) {
current2 = workInProgress2.child;
renderLanes2 = createWorkInProgress(current2, current2.pendingProps);
workInProgress2.child = renderLanes2;
for (renderLanes2.return = workInProgress2; null !== current2.sibling; )
current2 = current2.sibling, renderLanes2 = renderLanes2.sibling = createWorkInProgress(current2, current2.pendingProps), renderLanes2.return = workInProgress2;
renderLanes2.sibling = null;
}
return workInProgress2.child;
}
function checkScheduledUpdateOrContext(current2, renderLanes2) {
if (0 !== (current2.lanes & renderLanes2)) return true;
current2 = current2.dependencies;
return null !== current2 && checkIfContextChanged(current2) ? true : false;
}
function attemptEarlyBailoutIfNoScheduledUpdate(current2, workInProgress2, renderLanes2) {
switch (workInProgress2.tag) {
case 3:
pushHostContainer(
workInProgress2,
workInProgress2.stateNode.containerInfo
);
pushProvider(
workInProgress2,
CacheContext,
current2.memoizedState.cache
);
resetHydrationState();
break;
case 27:
case 5:
pushHostContext(workInProgress2);
break;
case 4:
pushHostContainer(
workInProgress2,
workInProgress2.stateNode.containerInfo
);
break;
case 10:
pushProvider(
workInProgress2,
workInProgress2.type,
workInProgress2.memoizedProps.value
);
break;
case 12:
0 !== (renderLanes2 & workInProgress2.childLanes) && (workInProgress2.flags |= 4);
workInProgress2.flags |= 2048;
var stateNode = workInProgress2.stateNode;
stateNode.effectDuration = -0;
stateNode.passiveEffectDuration = -0;
break;
case 13:
stateNode = workInProgress2.memoizedState;
if (null !== stateNode) {
if (null !== stateNode.dehydrated)
return pushPrimaryTreeSuspenseHandler(workInProgress2), workInProgress2.flags |= 128, null;
if (0 !== (renderLanes2 & workInProgress2.child.childLanes))
return updateSuspenseComponent(
current2,
workInProgress2,
renderLanes2
);
pushPrimaryTreeSuspenseHandler(workInProgress2);
current2 = bailoutOnAlreadyFinishedWork(
current2,
workInProgress2,
renderLanes2
);
return null !== current2 ? current2.sibling : null;
}
pushPrimaryTreeSuspenseHandler(workInProgress2);
break;
case 19:
var didSuspendBefore = 0 !== (current2.flags & 128);
stateNode = 0 !== (renderLanes2 & workInProgress2.childLanes);
stateNode || (propagateParentContextChanges(
current2,
workInProgress2,
renderLanes2,
false
), stateNode = 0 !== (renderLanes2 & workInProgress2.childLanes));
if (didSuspendBefore) {
if (stateNode)
return updateSuspenseListComponent(
current2,
workInProgress2,
renderLanes2
);
workInProgress2.flags |= 128;
}
didSuspendBefore = workInProgress2.memoizedState;
null !== didSuspendBefore && (didSuspendBefore.rendering = null, didSuspendBefore.tail = null, didSuspendBefore.lastEffect = null);
push(
suspenseStackCursor,
suspenseStackCursor.current,
workInProgress2
);
if (stateNode) break;
else return null;
case 22:
case 23:
return workInProgress2.lanes = 0, updateOffscreenComponent(current2, workInProgress2, renderLanes2);
case 24:
pushProvider(
workInProgress2,
CacheContext,
current2.memoizedState.cache
);
}
return bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
}
function beginWork(current2, workInProgress2, renderLanes2) {
if (workInProgress2._debugNeedsRemount && null !== current2) {
renderLanes2 = createFiberFromTypeAndProps(
workInProgress2.type,
workInProgress2.key,
workInProgress2.pendingProps,
workInProgress2._debugOwner || null,
workInProgress2.mode,
workInProgress2.lanes
);
var returnFiber = workInProgress2.return;
if (null === returnFiber) throw Error("Cannot swap the root fiber.");
current2.alternate = null;
workInProgress2.alternate = null;
renderLanes2.index = workInProgress2.index;
renderLanes2.sibling = workInProgress2.sibling;
renderLanes2.return = workInProgress2.return;
renderLanes2.ref = workInProgress2.ref;
renderLanes2._debugInfo = workInProgress2._debugInfo;
if (workInProgress2 === returnFiber.child)
returnFiber.child = renderLanes2;
else {
var prevSibling = returnFiber.child;
if (null === prevSibling)
throw Error("Expected parent to have a child.");
for (; prevSibling.sibling !== workInProgress2; )
if (prevSibling = prevSibling.sibling, null === prevSibling)
throw Error("Expected to find the previous sibling.");
prevSibling.sibling = renderLanes2;
}
workInProgress2 = returnFiber.deletions;
null === workInProgress2 ? (returnFiber.deletions = [current2], returnFiber.flags |= 16) : workInProgress2.push(current2);
renderLanes2.flags |= 2;
return renderLanes2;
}
if (null !== current2)
if (current2.memoizedProps !== workInProgress2.pendingProps || workInProgress2.type !== current2.type)
didReceiveUpdate = true;
else {
if (!checkScheduledUpdateOrContext(current2, renderLanes2) && 0 === (workInProgress2.flags & 128))
return didReceiveUpdate = false, attemptEarlyBailoutIfNoScheduledUpdate(
current2,
workInProgress2,
renderLanes2
);
didReceiveUpdate = 0 !== (current2.flags & 131072) ? true : false;
}
else {
didReceiveUpdate = false;
if (returnFiber = isHydrating)
warnIfNotHydrating(), returnFiber = 0 !== (workInProgress2.flags & 1048576);
returnFiber && (returnFiber = workInProgress2.index, warnIfNotHydrating(), pushTreeId(workInProgress2, treeForkCount, returnFiber));
}
workInProgress2.lanes = 0;
switch (workInProgress2.tag) {
case 16:
a: if (returnFiber = workInProgress2.pendingProps, current2 = callLazyInitInDEV(workInProgress2.elementType), workInProgress2.type = current2, "function" === typeof current2)
shouldConstruct(current2) ? (returnFiber = resolveClassComponentProps(
current2,
returnFiber
), workInProgress2.tag = 1, workInProgress2.type = current2 = resolveFunctionForHotReloading(current2), workInProgress2 = updateClassComponent(
null,
workInProgress2,
current2,
returnFiber,
renderLanes2
)) : (workInProgress2.tag = 0, validateFunctionComponentInDev(workInProgress2, current2), workInProgress2.type = current2 = resolveFunctionForHotReloading(current2), workInProgress2 = updateFunctionComponent(
null,
workInProgress2,
current2,
returnFiber,
renderLanes2
));
else {
if (void 0 !== current2 && null !== current2) {
if (prevSibling = current2.$$typeof, prevSibling === REACT_FORWARD_REF_TYPE) {
workInProgress2.tag = 11;
workInProgress2.type = current2 = resolveForwardRefForHotReloading(current2);
workInProgress2 = updateForwardRef(
null,
workInProgress2,
current2,
returnFiber,
renderLanes2
);
break a;
} else if (prevSibling === REACT_MEMO_TYPE) {
workInProgress2.tag = 14;
workInProgress2 = updateMemoComponent(
null,
workInProgress2,
current2,
returnFiber,
renderLanes2
);
break a;
}
}
workInProgress2 = "";
null !== current2 && "object" === typeof current2 && current2.$$typeof === REACT_LAZY_TYPE && (workInProgress2 = " Did you wrap a component in React.lazy() more than once?");
current2 = getComponentNameFromType(current2) || current2;
throw Error(
"Element type is invalid. Received a promise that resolves to: " + current2 + ". Lazy element type must resolve to a class or function." + workInProgress2
);
}
return workInProgress2;
case 0:
return updateFunctionComponent(
current2,
workInProgress2,
workInProgress2.type,
workInProgress2.pendingProps,
renderLanes2
);
case 1:
return returnFiber = workInProgress2.type, prevSibling = resolveClassComponentProps(
returnFiber,
workInProgress2.pendingProps
), updateClassComponent(
current2,
workInProgress2,
returnFiber,
prevSibling,
renderLanes2
);
case 3:
a: {
pushHostContainer(
workInProgress2,
workInProgress2.stateNode.containerInfo
);
if (null === current2)
throw Error(
"Should have a current fiber. This is a bug in React."
);
var nextProps = workInProgress2.pendingProps;
prevSibling = workInProgress2.memoizedState;
returnFiber = prevSibling.element;
cloneUpdateQueue(current2, workInProgress2);
processUpdateQueue(workInProgress2, nextProps, null, renderLanes2);
var nextState = workInProgress2.memoizedState;
nextProps = nextState.cache;
pushProvider(workInProgress2, CacheContext, nextProps);
nextProps !== prevSibling.cache && propagateContextChanges(
workInProgress2,
[CacheContext],
renderLanes2,
true
);
suspendIfUpdateReadFromEntangledAsyncAction();
nextProps = nextState.element;
if (prevSibling.isDehydrated)
if (prevSibling = {
element: nextProps,
isDehydrated: false,
cache: nextState.cache
}, workInProgress2.updateQueue.baseState = prevSibling, workInProgress2.memoizedState = prevSibling, workInProgress2.flags & 256) {
workInProgress2 = mountHostRootWithoutHydrating(
current2,
workInProgress2,
nextProps,
renderLanes2
);
break a;
} else if (nextProps !== returnFiber) {
returnFiber = createCapturedValueAtFiber(
Error(
"This root received an early update, before anything was able hydrate. Switched the entire root to client rendering."
),
workInProgress2
);
queueHydrationError(returnFiber);
workInProgress2 = mountHostRootWithoutHydrating(
current2,
workInProgress2,
nextProps,
renderLanes2
);
break a;
} else
for (nextHydratableInstance = getNextHydratable(
workInProgress2.stateNode.containerInfo.firstChild
), hydrationParentFiber = workInProgress2, isHydrating = true, hydrationErrors = null, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, rootOrSingletonContext = true, current2 = mountChildFibers(
workInProgress2,
null,
nextProps,
renderLanes2
), workInProgress2.child = current2; current2; )
current2.flags = current2.flags & -3 | 4096, current2 = current2.sibling;
else {
resetHydrationState();
if (nextProps === returnFiber) {
workInProgress2 = bailoutOnAlreadyFinishedWork(
current2,
workInProgress2,
renderLanes2
);
break a;
}
reconcileChildren(
current2,
workInProgress2,
nextProps,
renderLanes2
);
}
workInProgress2 = workInProgress2.child;
}
return workInProgress2;
case 26:
return markRef(current2, workInProgress2), null === current2 ? (current2 = getResource(
workInProgress2.type,
null,
workInProgress2.pendingProps,
null
)) ? workInProgress2.memoizedState = current2 : isHydrating || (current2 = workInProgress2.type, renderLanes2 = workInProgress2.pendingProps, returnFiber = requiredContext(
rootInstanceStackCursor.current
), returnFiber = getOwnerDocumentFromRootContainer(
returnFiber
).createElement(current2), returnFiber[internalInstanceKey] = workInProgress2, returnFiber[internalPropsKey] = renderLanes2, setInitialProperties(returnFiber, current2, renderLanes2), markNodeAsHoistable(returnFiber), workInProgress2.stateNode = returnFiber) : workInProgress2.memoizedState = getResource(
workInProgress2.type,
current2.memoizedProps,
workInProgress2.pendingProps,
current2.memoizedState
), null;
case 27:
return pushHostContext(workInProgress2), null === current2 && isHydrating && (prevSibling = requiredContext(rootInstanceStackCursor.current), returnFiber = getHostContext(), prevSibling = workInProgress2.stateNode = resolveSingletonInstance(
workInProgress2.type,
workInProgress2.pendingProps,
prevSibling,
returnFiber,
false
), didSuspendOrErrorDEV || (returnFiber = diffHydratedProperties(
prevSibling,
workInProgress2.type,
workInProgress2.pendingProps,
returnFiber
), null !== returnFiber && (buildHydrationDiffNode(workInProgress2, 0).serverProps = returnFiber)), hydrationParentFiber = workInProgress2, rootOrSingletonContext = true, nextHydratableInstance = getNextHydratable(
prevSibling.firstChild
)), returnFiber = workInProgress2.pendingProps.children, null !== current2 || isHydrating ? reconcileChildren(
current2,
workInProgress2,
returnFiber,
renderLanes2
) : workInProgress2.child = reconcileChildFibers(
workInProgress2,
null,
returnFiber,
renderLanes2
), markRef(current2, workInProgress2), workInProgress2.child;
case 5:
return null === current2 && isHydrating && (nextProps = getHostContext(), returnFiber = validateDOMNesting(
workInProgress2.type,
nextProps.ancestorInfo
), prevSibling = nextHydratableInstance, (nextState = !prevSibling) || (nextState = canHydrateInstance(
prevSibling,
workInProgress2.type,
workInProgress2.pendingProps,
rootOrSingletonContext
), null !== nextState ? (workInProgress2.stateNode = nextState, didSuspendOrErrorDEV || (nextProps = diffHydratedProperties(
nextState,
workInProgress2.type,
workInProgress2.pendingProps,
nextProps
), null !== nextProps && (buildHydrationDiffNode(workInProgress2, 0).serverProps = nextProps)), hydrationParentFiber = workInProgress2, nextHydratableInstance = getNextHydratable(
nextState.firstChild
), rootOrSingletonContext = false, nextProps = true) : nextProps = false, nextState = !nextProps), nextState && (returnFiber && warnNonHydratedInstance(workInProgress2, prevSibling), throwOnHydrationMismatch(workInProgress2))), pushHostContext(workInProgress2), prevSibling = workInProgress2.type, nextProps = workInProgress2.pendingProps, nextState = null !== current2 ? current2.memoizedProps : null, returnFiber = nextProps.children, shouldSetTextContent(prevSibling, nextProps) ? returnFiber = null : null !== nextState && shouldSetTextContent(prevSibling, nextState) && (workInProgress2.flags |= 32), null !== workInProgress2.memoizedState && (prevSibling = renderWithHooks(
current2,
workInProgress2,
TransitionAwareHostComponent,
null,
null,
renderLanes2
), HostTransitionContext._currentValue = prevSibling), markRef(current2, workInProgress2), reconcileChildren(
current2,
workInProgress2,
returnFiber,
renderLanes2
), workInProgress2.child;
case 6:
return null === current2 && isHydrating && (current2 = workInProgress2.pendingProps, renderLanes2 = getHostContext().ancestorInfo.current, current2 = null != renderLanes2 ? validateTextNesting(current2, renderLanes2.tag) : true, renderLanes2 = nextHydratableInstance, (returnFiber = !renderLanes2) || (returnFiber = canHydrateTextInstance(
renderLanes2,
workInProgress2.pendingProps,
rootOrSingletonContext
), null !== returnFiber ? (workInProgress2.stateNode = returnFiber, hydrationParentFiber = workInProgress2, nextHydratableInstance = null, returnFiber = true) : returnFiber = false, returnFiber = !returnFiber), returnFiber && (current2 && warnNonHydratedInstance(workInProgress2, renderLanes2), throwOnHydrationMismatch(workInProgress2))), null;
case 13:
return updateSuspenseComponent(current2, workInProgress2, renderLanes2);
case 4:
return pushHostContainer(
workInProgress2,
workInProgress2.stateNode.containerInfo
), returnFiber = workInProgress2.pendingProps, null === current2 ? workInProgress2.child = reconcileChildFibers(
workInProgress2,
null,
returnFiber,
renderLanes2
) : reconcileChildren(
current2,
workInProgress2,
returnFiber,
renderLanes2
), workInProgress2.child;
case 11:
return updateForwardRef(
current2,
workInProgress2,
workInProgress2.type,
workInProgress2.pendingProps,
renderLanes2
);
case 7:
return reconcileChildren(
current2,
workInProgress2,
workInProgress2.pendingProps,
renderLanes2
), workInProgress2.child;
case 8:
return reconcileChildren(
current2,
workInProgress2,
workInProgress2.pendingProps.children,
renderLanes2
), workInProgress2.child;
case 12:
return workInProgress2.flags |= 4, workInProgress2.flags |= 2048, returnFiber = workInProgress2.stateNode, returnFiber.effectDuration = -0, returnFiber.passiveEffectDuration = -0, reconcileChildren(
current2,
workInProgress2,
workInProgress2.pendingProps.children,
renderLanes2
), workInProgress2.child;
case 10:
return returnFiber = workInProgress2.type, prevSibling = workInProgress2.pendingProps, nextProps = prevSibling.value, "value" in prevSibling || hasWarnedAboutUsingNoValuePropOnContextProvider || (hasWarnedAboutUsingNoValuePropOnContextProvider = true, console.error(
"The `value` prop is required for the ``. Did you misspell it or forget to pass it?"
)), pushProvider(workInProgress2, returnFiber, nextProps), reconcileChildren(
current2,
workInProgress2,
prevSibling.children,
renderLanes2
), workInProgress2.child;
case 9:
return prevSibling = workInProgress2.type._context, returnFiber = workInProgress2.pendingProps.children, "function" !== typeof returnFiber && console.error(
"A context consumer was rendered with multiple children, or a child that isn't a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it."
), prepareToReadContext(workInProgress2), prevSibling = readContext(prevSibling), markComponentRenderStarted(workInProgress2), returnFiber = callComponentInDEV(
returnFiber,
prevSibling,
void 0
), markComponentRenderStopped(), workInProgress2.flags |= 1, reconcileChildren(
current2,
workInProgress2,
returnFiber,
renderLanes2
), workInProgress2.child;
case 14:
return updateMemoComponent(
current2,
workInProgress2,
workInProgress2.type,
workInProgress2.pendingProps,
renderLanes2
);
case 15:
return updateSimpleMemoComponent(
current2,
workInProgress2,
workInProgress2.type,
workInProgress2.pendingProps,
renderLanes2
);
case 19:
return updateSuspenseListComponent(
current2,
workInProgress2,
renderLanes2
);
case 22:
return updateOffscreenComponent(current2, workInProgress2, renderLanes2);
case 24:
return prepareToReadContext(workInProgress2), returnFiber = readContext(CacheContext), null === current2 ? (prevSibling = peekCacheFromPool(), null === prevSibling && (prevSibling = workInProgressRoot, nextProps = createCache(), prevSibling.pooledCache = nextProps, retainCache(nextProps), null !== nextProps && (prevSibling.pooledCacheLanes |= renderLanes2), prevSibling = nextProps), workInProgress2.memoizedState = {
parent: returnFiber,
cache: prevSibling
}, initializeUpdateQueue(workInProgress2), pushProvider(workInProgress2, CacheContext, prevSibling)) : (0 !== (current2.lanes & renderLanes2) && (cloneUpdateQueue(current2, workInProgress2), processUpdateQueue(workInProgress2, null, null, renderLanes2), suspendIfUpdateReadFromEntangledAsyncAction()), prevSibling = current2.memoizedState, nextProps = workInProgress2.memoizedState, prevSibling.parent !== returnFiber ? (prevSibling = {
parent: returnFiber,
cache: returnFiber
}, workInProgress2.memoizedState = prevSibling, 0 === workInProgress2.lanes && (workInProgress2.memoizedState = workInProgress2.updateQueue.baseState = prevSibling), pushProvider(workInProgress2, CacheContext, returnFiber)) : (returnFiber = nextProps.cache, pushProvider(workInProgress2, CacheContext, returnFiber), returnFiber !== prevSibling.cache && propagateContextChanges(
workInProgress2,
[CacheContext],
renderLanes2,
true
))), reconcileChildren(
current2,
workInProgress2,
workInProgress2.pendingProps.children,
renderLanes2
), workInProgress2.child;
case 29:
throw workInProgress2.pendingProps;
}
throw Error(
"Unknown unit of work tag (" + workInProgress2.tag + "). This error is likely caused by a bug in React. Please file an issue."
);
}
function resetContextDependencies() {
lastContextDependency = currentlyRenderingFiber = null;
isDisallowedContextReadInDEV = false;
}
function pushProvider(providerFiber, context, nextValue) {
push(valueCursor, context._currentValue, providerFiber);
context._currentValue = nextValue;
push(rendererCursorDEV, context._currentRenderer, providerFiber);
void 0 !== context._currentRenderer && null !== context._currentRenderer && context._currentRenderer !== rendererSigil && console.error(
"Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported."
);
context._currentRenderer = rendererSigil;
}
function popProvider(context, providerFiber) {
context._currentValue = valueCursor.current;
var currentRenderer = rendererCursorDEV.current;
pop(rendererCursorDEV, providerFiber);
context._currentRenderer = currentRenderer;
pop(valueCursor, providerFiber);
}
function scheduleContextWorkOnParentPath(parent, renderLanes2, propagationRoot) {
for (; null !== parent; ) {
var alternate = parent.alternate;
(parent.childLanes & renderLanes2) !== renderLanes2 ? (parent.childLanes |= renderLanes2, null !== alternate && (alternate.childLanes |= renderLanes2)) : null !== alternate && (alternate.childLanes & renderLanes2) !== renderLanes2 && (alternate.childLanes |= renderLanes2);
if (parent === propagationRoot) break;
parent = parent.return;
}
parent !== propagationRoot && console.error(
"Expected to find the propagation root when scheduling context work. This error is likely caused by a bug in React. Please file an issue."
);
}
function propagateContextChanges(workInProgress2, contexts, renderLanes2, forcePropagateEntireTree) {
var fiber = workInProgress2.child;
null !== fiber && (fiber.return = workInProgress2);
for (; null !== fiber; ) {
var list = fiber.dependencies;
if (null !== list) {
var nextFiber = fiber.child;
list = list.firstContext;
a: for (; null !== list; ) {
var dependency = list;
list = fiber;
for (var i = 0; i < contexts.length; i++)
if (dependency.context === contexts[i]) {
list.lanes |= renderLanes2;
dependency = list.alternate;
null !== dependency && (dependency.lanes |= renderLanes2);
scheduleContextWorkOnParentPath(
list.return,
renderLanes2,
workInProgress2
);
forcePropagateEntireTree || (nextFiber = null);
break a;
}
list = dependency.next;
}
} else if (18 === fiber.tag) {
nextFiber = fiber.return;
if (null === nextFiber)
throw Error(
"We just came from a parent so we must have had a parent. This is a bug in React."
);
nextFiber.lanes |= renderLanes2;
list = nextFiber.alternate;
null !== list && (list.lanes |= renderLanes2);
scheduleContextWorkOnParentPath(
nextFiber,
renderLanes2,
workInProgress2
);
nextFiber = null;
} else nextFiber = fiber.child;
if (null !== nextFiber) nextFiber.return = fiber;
else
for (nextFiber = fiber; null !== nextFiber; ) {
if (nextFiber === workInProgress2) {
nextFiber = null;
break;
}
fiber = nextFiber.sibling;
if (null !== fiber) {
fiber.return = nextFiber.return;
nextFiber = fiber;
break;
}
nextFiber = nextFiber.return;
}
fiber = nextFiber;
}
}
function propagateParentContextChanges(current2, workInProgress2, renderLanes2, forcePropagateEntireTree) {
current2 = null;
for (var parent = workInProgress2, isInsidePropagationBailout = false; null !== parent; ) {
if (!isInsidePropagationBailout) {
if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = true;
else if (0 !== (parent.flags & 262144)) break;
}
if (10 === parent.tag) {
var currentParent = parent.alternate;
if (null === currentParent)
throw Error("Should have a current fiber. This is a bug in React.");
currentParent = currentParent.memoizedProps;
if (null !== currentParent) {
var context = parent.type;
objectIs(parent.pendingProps.value, currentParent.value) || (null !== current2 ? current2.push(context) : current2 = [context]);
}
} else if (parent === hostTransitionProviderCursor.current) {
currentParent = parent.alternate;
if (null === currentParent)
throw Error("Should have a current fiber. This is a bug in React.");
currentParent.memoizedState.memoizedState !== parent.memoizedState.memoizedState && (null !== current2 ? current2.push(HostTransitionContext) : current2 = [HostTransitionContext]);
}
parent = parent.return;
}
null !== current2 && propagateContextChanges(
workInProgress2,
current2,
renderLanes2,
forcePropagateEntireTree
);
workInProgress2.flags |= 262144;
}
function checkIfContextChanged(currentDependencies) {
for (currentDependencies = currentDependencies.firstContext; null !== currentDependencies; ) {
if (!objectIs(
currentDependencies.context._currentValue,
currentDependencies.memoizedValue
))
return true;
currentDependencies = currentDependencies.next;
}
return false;
}
function prepareToReadContext(workInProgress2) {
currentlyRenderingFiber = workInProgress2;
lastContextDependency = null;
workInProgress2 = workInProgress2.dependencies;
null !== workInProgress2 && (workInProgress2.firstContext = null);
}
function readContext(context) {
isDisallowedContextReadInDEV && console.error(
"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()."
);
return readContextForConsumer(currentlyRenderingFiber, context);
}
function readContextDuringReconciliation(consumer, context) {
null === currentlyRenderingFiber && prepareToReadContext(consumer);
return readContextForConsumer(consumer, context);
}
function readContextForConsumer(consumer, context) {
var value = context._currentValue;
context = { context, memoizedValue: value, next: null };
if (null === lastContextDependency) {
if (null === consumer)
throw Error(
"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()."
);
lastContextDependency = context;
consumer.dependencies = {
lanes: 0,
firstContext: context,
_debugThenableState: null
};
consumer.flags |= 524288;
} else lastContextDependency = lastContextDependency.next = context;
return value;
}
function initializeUpdateQueue(fiber) {
fiber.updateQueue = {
baseState: fiber.memoizedState,
firstBaseUpdate: null,
lastBaseUpdate: null,
shared: { pending: null, lanes: 0, hiddenCallbacks: null },
callbacks: null
};
}
function cloneUpdateQueue(current2, workInProgress2) {
current2 = current2.updateQueue;
workInProgress2.updateQueue === current2 && (workInProgress2.updateQueue = {
baseState: current2.baseState,
firstBaseUpdate: current2.firstBaseUpdate,
lastBaseUpdate: current2.lastBaseUpdate,
shared: current2.shared,
callbacks: null
});
}
function createUpdate(lane) {
return {
lane,
tag: UpdateState,
payload: null,
callback: null,
next: null
};
}
function enqueueUpdate(fiber, update, lane) {
var updateQueue = fiber.updateQueue;
if (null === updateQueue) return null;
updateQueue = updateQueue.shared;
if (currentlyProcessingQueue === updateQueue && !didWarnUpdateInsideUpdate) {
var componentName2 = getComponentNameFromFiber(fiber);
console.error(
"An update (setState, replaceState, or forceUpdate) was scheduled from inside an update function. Update functions should be pure, with zero side-effects. Consider using componentDidUpdate or a callback.\n\nPlease update the following component: %s",
componentName2
);
didWarnUpdateInsideUpdate = true;
}
if ((executionContext & RenderContext) !== NoContext)
return componentName2 = updateQueue.pending, null === componentName2 ? update.next = update : (update.next = componentName2.next, componentName2.next = update), updateQueue.pending = update, update = getRootForUpdatedFiber(fiber), markUpdateLaneFromFiberToRoot(fiber, null, lane), update;
enqueueUpdate$1(fiber, updateQueue, update, lane);
return getRootForUpdatedFiber(fiber);
}
function entangleTransitions(root2, fiber, lane) {
fiber = fiber.updateQueue;
if (null !== fiber && (fiber = fiber.shared, 0 !== (lane & 4194176))) {
var queueLanes = fiber.lanes;
queueLanes &= root2.pendingLanes;
lane |= queueLanes;
fiber.lanes = lane;
markRootEntangled(root2, lane);
}
}
function enqueueCapturedUpdate(workInProgress2, capturedUpdate) {
var queue = workInProgress2.updateQueue, current2 = workInProgress2.alternate;
if (null !== current2 && (current2 = current2.updateQueue, queue === current2)) {
var newFirst = null, newLast = null;
queue = queue.firstBaseUpdate;
if (null !== queue) {
do {
var clone = {
lane: queue.lane,
tag: queue.tag,
payload: queue.payload,
callback: null,
next: null
};
null === newLast ? newFirst = newLast = clone : newLast = newLast.next = clone;
queue = queue.next;
} while (null !== queue);
null === newLast ? newFirst = newLast = capturedUpdate : newLast = newLast.next = capturedUpdate;
} else newFirst = newLast = capturedUpdate;
queue = {
baseState: current2.baseState,
firstBaseUpdate: newFirst,
lastBaseUpdate: newLast,
shared: current2.shared,
callbacks: current2.callbacks
};
workInProgress2.updateQueue = queue;
return;
}
workInProgress2 = queue.lastBaseUpdate;
null === workInProgress2 ? queue.firstBaseUpdate = capturedUpdate : workInProgress2.next = capturedUpdate;
queue.lastBaseUpdate = capturedUpdate;
}
function suspendIfUpdateReadFromEntangledAsyncAction() {
if (didReadFromEntangledAsyncAction) {
var entangledActionThenable = currentEntangledActionThenable;
if (null !== entangledActionThenable) throw entangledActionThenable;
}
}
function processUpdateQueue(workInProgress2, props, instance$jscomp$0, renderLanes2) {
didReadFromEntangledAsyncAction = false;
var queue = workInProgress2.updateQueue;
hasForceUpdate = false;
currentlyProcessingQueue = queue.shared;
var firstBaseUpdate = queue.firstBaseUpdate, lastBaseUpdate = queue.lastBaseUpdate, pendingQueue = queue.shared.pending;
if (null !== pendingQueue) {
queue.shared.pending = null;
var lastPendingUpdate = pendingQueue, firstPendingUpdate = lastPendingUpdate.next;
lastPendingUpdate.next = null;
null === lastBaseUpdate ? firstBaseUpdate = firstPendingUpdate : lastBaseUpdate.next = firstPendingUpdate;
lastBaseUpdate = lastPendingUpdate;
var current2 = workInProgress2.alternate;
null !== current2 && (current2 = current2.updateQueue, pendingQueue = current2.lastBaseUpdate, pendingQueue !== lastBaseUpdate && (null === pendingQueue ? current2.firstBaseUpdate = firstPendingUpdate : pendingQueue.next = firstPendingUpdate, current2.lastBaseUpdate = lastPendingUpdate));
}
if (null !== firstBaseUpdate) {
var newState = queue.baseState;
lastBaseUpdate = 0;
current2 = firstPendingUpdate = lastPendingUpdate = null;
pendingQueue = firstBaseUpdate;
do {
var updateLane = pendingQueue.lane & -536870913, isHiddenUpdate = updateLane !== pendingQueue.lane;
if (isHiddenUpdate ? (workInProgressRootRenderLanes & updateLane) === updateLane : (renderLanes2 & updateLane) === updateLane) {
0 !== updateLane && updateLane === currentEntangledLane && (didReadFromEntangledAsyncAction = true);
null !== current2 && (current2 = current2.next = {
lane: 0,
tag: pendingQueue.tag,
payload: pendingQueue.payload,
callback: null,
next: null
});
a: {
updateLane = workInProgress2;
var partialState = pendingQueue;
var nextProps = props, instance = instance$jscomp$0;
switch (partialState.tag) {
case ReplaceState:
partialState = partialState.payload;
if ("function" === typeof partialState) {
isDisallowedContextReadInDEV = true;
var nextState = partialState.call(
instance,
newState,
nextProps
);
if (updateLane.mode & StrictLegacyMode) {
setIsStrictModeForDevtools(true);
try {
partialState.call(instance, newState, nextProps);
} finally {
setIsStrictModeForDevtools(false);
}
}
isDisallowedContextReadInDEV = false;
newState = nextState;
break a;
}
newState = partialState;
break a;
case CaptureUpdate:
updateLane.flags = updateLane.flags & -65537 | 128;
case UpdateState:
nextState = partialState.payload;
if ("function" === typeof nextState) {
isDisallowedContextReadInDEV = true;
partialState = nextState.call(
instance,
newState,
nextProps
);
if (updateLane.mode & StrictLegacyMode) {
setIsStrictModeForDevtools(true);
try {
nextState.call(instance, newState, nextProps);
} finally {
setIsStrictModeForDevtools(false);
}
}
isDisallowedContextReadInDEV = false;
} else partialState = nextState;
if (null === partialState || void 0 === partialState) break a;
newState = assign({}, newState, partialState);
break a;
case ForceUpdate:
hasForceUpdate = true;
}
}
updateLane = pendingQueue.callback;
null !== updateLane && (workInProgress2.flags |= 64, isHiddenUpdate && (workInProgress2.flags |= 8192), isHiddenUpdate = queue.callbacks, null === isHiddenUpdate ? queue.callbacks = [updateLane] : isHiddenUpdate.push(updateLane));
} else
isHiddenUpdate = {
lane: updateLane,
tag: pendingQueue.tag,
payload: pendingQueue.payload,
callback: pendingQueue.callback,
next: null
}, null === current2 ? (firstPendingUpdate = current2 = isHiddenUpdate, lastPendingUpdate = newState) : current2 = current2.next = isHiddenUpdate, lastBaseUpdate |= updateLane;
pendingQueue = pendingQueue.next;
if (null === pendingQueue)
if (pendingQueue = queue.shared.pending, null === pendingQueue)
break;
else
isHiddenUpdate = pendingQueue, pendingQueue = isHiddenUpdate.next, isHiddenUpdate.next = null, queue.lastBaseUpdate = isHiddenUpdate, queue.shared.pending = null;
} while (1);
null === current2 && (lastPendingUpdate = newState);
queue.baseState = lastPendingUpdate;
queue.firstBaseUpdate = firstPendingUpdate;
queue.lastBaseUpdate = current2;
null === firstBaseUpdate && (queue.shared.lanes = 0);
workInProgressRootSkippedLanes |= lastBaseUpdate;
workInProgress2.lanes = lastBaseUpdate;
workInProgress2.memoizedState = newState;
}
currentlyProcessingQueue = null;
}
function callCallback(callback, context) {
if ("function" !== typeof callback)
throw Error(
"Invalid argument passed as callback. Expected a function. Instead received: " + callback
);
callback.call(context);
}
function commitHiddenCallbacks(updateQueue, context) {
var hiddenCallbacks = updateQueue.shared.hiddenCallbacks;
if (null !== hiddenCallbacks)
for (updateQueue.shared.hiddenCallbacks = null, updateQueue = 0; updateQueue < hiddenCallbacks.length; updateQueue++)
callCallback(hiddenCallbacks[updateQueue], context);
}
function commitCallbacks(updateQueue, context) {
var callbacks = updateQueue.callbacks;
if (null !== callbacks)
for (updateQueue.callbacks = null, updateQueue = 0; updateQueue < callbacks.length; updateQueue++)
callCallback(callbacks[updateQueue], context);
}
function shouldProfile(current2) {
return (current2.mode & ProfileMode) !== NoMode;
}
function commitHookLayoutEffects(finishedWork, hookFlags) {
shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListMount(hookFlags, finishedWork), recordEffectDuration()) : commitHookEffectListMount(hookFlags, finishedWork);
}
function commitHookLayoutUnmountEffects(finishedWork, nearestMountedAncestor, hookFlags) {
shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListUnmount(
hookFlags,
finishedWork,
nearestMountedAncestor
), recordEffectDuration()) : commitHookEffectListUnmount(
hookFlags,
finishedWork,
nearestMountedAncestor
);
}
function commitHookEffectListMount(flags, finishedWork) {
try {
var updateQueue = finishedWork.updateQueue, lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;
if (null !== lastEffect) {
var firstEffect = lastEffect.next;
updateQueue = firstEffect;
do {
if ((updateQueue.tag & flags) === flags && ((flags & Passive) !== NoFlags ? null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentPassiveEffectMountStarted && injectedProfilingHooks.markComponentPassiveEffectMountStarted(
finishedWork
) : (flags & Layout) !== NoFlags && null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentLayoutEffectMountStarted && injectedProfilingHooks.markComponentLayoutEffectMountStarted(
finishedWork
), lastEffect = void 0, (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = true), lastEffect = runWithFiberInDEV(
finishedWork,
callCreateInDEV,
updateQueue
), (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = false), (flags & Passive) !== NoFlags ? null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentPassiveEffectMountStopped && injectedProfilingHooks.markComponentPassiveEffectMountStopped() : (flags & Layout) !== NoFlags && null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentLayoutEffectMountStopped && injectedProfilingHooks.markComponentLayoutEffectMountStopped(), void 0 !== lastEffect && "function" !== typeof lastEffect)) {
var hookName = void 0;
hookName = 0 !== (updateQueue.tag & Layout) ? "useLayoutEffect" : 0 !== (updateQueue.tag & Insertion) ? "useInsertionEffect" : "useEffect";
var addendum = void 0;
addendum = null === lastEffect ? " You returned null. If your effect does not require clean up, return undefined (or nothing)." : "function" === typeof lastEffect.then ? "\n\nIt looks like you wrote " + hookName + "(async () => ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately:\n\n" + hookName + "(() => {\n async function fetchData() {\n // You can await here\n const response = await MyAPI.getData(someId);\n // ...\n }\n fetchData();\n}, [someId]); // Or [] if effect doesn't need props or state\n\nLearn more about data fetching with Hooks: https://react.dev/link/hooks-data-fetching" : " You returned: " + lastEffect;
runWithFiberInDEV(
finishedWork,
function(n, a) {
console.error(
"%s must not return anything besides a function, which is used for clean-up.%s",
n,
a
);
},
hookName,
addendum
);
}
updateQueue = updateQueue.next;
} while (updateQueue !== firstEffect);
}
} catch (error) {
captureCommitPhaseError(finishedWork, finishedWork.return, error);
}
}
function commitHookEffectListUnmount(flags, finishedWork, nearestMountedAncestor) {
try {
var updateQueue = finishedWork.updateQueue, lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;
if (null !==