t: doc.anchorOffset, focusNode: doc.focusNode, focusOffset: doc.focusOffset }), lastSelection && shallowEqual(lastSelection, doc) || (lastSelection = doc, doc = accumulateTwoPhaseListeners(activeElementInst, "onSelect"), 0 < doc.length && (nativeEvent = new SyntheticEvent( "onSelect", "select", null, nativeEvent, nativeEventTarget ), dispatchQueue.push({ event: nativeEvent, listeners: doc }), nativeEvent.target = activeElement))); } function makePrefixMap(styleProp, eventName) { var prefixes = {}; prefixes[styleProp.toLowerCase()] = eventName.toLowerCase(); prefixes["Webkit" + styleProp] = "webkit" + eventName; prefixes["Moz" + styleProp] = "moz" + eventName; return prefixes; } function getVendorPrefixedEventName(eventName) { if (prefixedEventNames[eventName]) return prefixedEventNames[eventName]; if (!vendorPrefixes[eventName]) return eventName; var prefixMap = vendorPrefixes[eventName], styleProp; for (styleProp in prefixMap) if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) return prefixedEventNames[eventName] = prefixMap[styleProp]; return eventName; } function registerSimpleEvent(domEventName, reactName) { topLevelEventsToReactNames.set(domEventName, reactName); registerTwoPhaseEvent(reactName, [domEventName]); } function finishQueueingConcurrentUpdates() { for (var endIndex = concurrentQueuesIndex, i = concurrentlyUpdatedLanes = concurrentQueuesIndex = 0; i < endIndex; ) { var fiber = concurrentQueues[i]; concurrentQueues[i++] = null; var queue = concurrentQueues[i]; concurrentQueues[i++] = null; var update = concurrentQueues[i]; concurrentQueues[i++] = null; var lane = concurrentQueues[i]; concurrentQueues[i++] = null; if (null !== queue && null !== update) { var pending = queue.pending; null === pending ? update.next = update : (update.next = pending.next, pending.next = update); queue.pending = update; } 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane); } } function enqueueUpdate$1(fiber, queue, update, lane) { concurrentQueues[concurrentQueuesIndex++] = fiber; concurrentQueues[concurrentQueuesIndex++] = queue; concurrentQueues[concurrentQueuesIndex++] = update; concurrentQueues[concurrentQueuesIndex++] = lane; concurrentlyUpdatedLanes |= lane; fiber.lanes |= lane; fiber = fiber.alternate; null !== fiber && (fiber.lanes |= lane); } function enqueueConcurrentHookUpdate(fiber, queue, update, lane) { enqueueUpdate$1(fiber, queue, update, lane); return getRootForUpdatedFiber(fiber); } function enqueueConcurrentRenderForLane(fiber, lane) { enqueueUpdate$1(fiber, null, null, lane); return getRootForUpdatedFiber(fiber); } function markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) { sourceFiber.lanes |= lane; var alternate = sourceFiber.alternate; null !== alternate && (alternate.lanes |= lane); for (var isHidden = false, parent = sourceFiber.return; null !== parent; ) parent.childLanes |= lane, alternate = parent.alternate, null !== alternate && (alternate.childLanes |= lane), 22 === parent.tag && (sourceFiber = parent.stateNode, null === sourceFiber || sourceFiber._visibility & OffscreenVisible || (isHidden = true)), sourceFiber = parent, parent = parent.return; isHidden && null !== update && 3 === sourceFiber.tag && (parent = sourceFiber.stateNode, isHidden = 31 - clz32(lane), parent = parent.hiddenUpdates, sourceFiber = parent[isHidden], null === sourceFiber ? parent[isHidden] = [update] : sourceFiber.push(update), update.lane = lane | 536870912); } function getRootForUpdatedFiber(sourceFiber) { if (nestedUpdateCount > NESTED_UPDATE_LIMIT) throw nestedPassiveUpdateCount = nestedUpdateCount = 0, rootWithPassiveNestedUpdates = rootWithNestedUpdates = null, Error( "Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops." ); nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT && (nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null, console.error( "Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render." )); null === sourceFiber.alternate && 0 !== (sourceFiber.flags & 4098) && warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber); for (var node = sourceFiber, parent = node.return; null !== parent; ) null === node.alternate && 0 !== (node.flags & 4098) && warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber), node = parent, parent = node.return; return 3 === node.tag ? node.stateNode : null; } function resolveFunctionForHotReloading(type) { if (null === resolveFamily) return type; var family = resolveFamily(type); return void 0 === family ? type : family.current; } function resolveForwardRefForHotReloading(type) { if (null === resolveFamily) return type; var family = resolveFamily(type); return void 0 === family ? null !== type && void 0 !== type && "function" === typeof type.render && (family = resolveFunctionForHotReloading(type.render), type.render !== family) ? (family = { $$typeof: REACT_FORWARD_REF_TYPE, render: family }, void 0 !== type.displayName && (family.displayName = type.displayName), family) : type : family.current; } function isCompatibleFamilyForHotReloading(fiber, element) { if (null === resolveFamily) return false; var prevType = fiber.elementType; element = element.type; var needsCompareFamilies = false, $$typeofNextType = "object" === typeof element && null !== element ? element.$$typeof : null; switch (fiber.tag) { case 1: "function" === typeof element && (needsCompareFamilies = true); break; case 0: "function" === typeof element ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true); break; case 11: $$typeofNextType === REACT_FORWARD_REF_TYPE ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true); break; case 14: case 15: $$typeofNextType === REACT_MEMO_TYPE ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true); break; default: return false; } return needsCompareFamilies && (fiber = resolveFamily(prevType), void 0 !== fiber && fiber === resolveFamily(element)) ? true : false; } function markFailedErrorBoundaryForHotReloading(fiber) { null !== resolveFamily && "function" === typeof WeakSet && (null === failedBoundaries && (failedBoundaries = /* @__PURE__ */ new WeakSet()), failedBoundaries.add(fiber)); } function scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) { var alternate = fiber.alternate, child = fiber.child, sibling = fiber.sibling, tag = fiber.tag, type = fiber.type, candidateType = null; switch (tag) { case 0: case 15: case 1: candidateType = type; break; case 11: candidateType = type.render; } if (null === resolveFamily) throw Error("Expected resolveFamily to be set during hot reload."); var needsRender = false; type = false; null !== candidateType && (candidateType = resolveFamily(candidateType), void 0 !== candidateType && (staleFamilies.has(candidateType) ? type = true : updatedFamilies.has(candidateType) && (1 === tag ? type = true : needsRender = true))); null !== failedBoundaries && (failedBoundaries.has(fiber) || null !== alternate && failedBoundaries.has(alternate)) && (type = true); type && (fiber._debugNeedsRemount = true); if (type || needsRender) alternate = enqueueConcurrentRenderForLane(fiber, 2), null !== alternate && scheduleUpdateOnFiber(alternate, fiber, 2); null === child || type || scheduleFibersWithFamiliesRecursively( child, updatedFamilies, staleFamilies ); null !== sibling && scheduleFibersWithFamiliesRecursively( sibling, updatedFamilies, staleFamilies ); } function pushNestedEffectDurations() { var prevEffectDuration = profilerEffectDuration; profilerEffectDuration = 0; return prevEffectDuration; } function popNestedEffectDurations(prevEffectDuration) { var elapsedTime = profilerEffectDuration; profilerEffectDuration = prevEffectDuration; return elapsedTime; } function bubbleNestedEffectDurations(prevEffectDuration) { var elapsedTime = profilerEffectDuration; profilerEffectDuration += prevEffectDuration; return elapsedTime; } function startProfilerTimer(fiber) { profilerStartTime = now(); 0 > fiber.actualStartTime && (fiber.actualStartTime = profilerStartTime); } function stopProfilerTimerIfRunningAndRecordDuration(fiber) { if (0 <= profilerStartTime) { var elapsedTime = now() - profilerStartTime; fiber.actualDuration += elapsedTime; fiber.selfBaseDuration = elapsedTime; profilerStartTime = -1; } } function stopProfilerTimerIfRunningAndRecordIncompleteDuration(fiber) { if (0 <= profilerStartTime) { var elapsedTime = now() - profilerStartTime; fiber.actualDuration += elapsedTime; profilerStartTime = -1; } } function recordEffectDuration() { if (0 <= profilerStartTime) { var elapsedTime = now() - profilerStartTime; profilerStartTime = -1; profilerEffectDuration += elapsedTime; } } function startEffectTimer() { profilerStartTime = now(); } function transferActualDuration(fiber) { for (var child = fiber.child; child; ) fiber.actualDuration += child.actualDuration, child = child.sibling; } function createCapturedValueAtFiber(value, source) { if ("object" === typeof value && null !== value) { var existing = CapturedStacks.get(value); if (void 0 !== existing) return existing; source = { value, source, stack: getStackByFiberInDevAndProd(source) }; CapturedStacks.set(value, source); return source; } return { value, source, stack: getStackByFiberInDevAndProd(source) }; } function pushTreeFork(workInProgress2, totalChildren) { warnIfNotHydrating(); forkStack[forkStackIndex++] = treeForkCount; forkStack[forkStackIndex++] = treeForkProvider; treeForkProvider = workInProgress2; treeForkCount = totalChildren; } function pushTreeId(workInProgress2, totalChildren, index) { warnIfNotHydrating(); idStack[idStackIndex++] = treeContextId; idStack[idStackIndex++] = treeContextOverflow; idStack[idStackIndex++] = treeContextProvider; treeContextProvider = workInProgress2; var baseIdWithLeadingBit = treeContextId; workInProgress2 = treeContextOverflow; var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1; baseIdWithLeadingBit &= ~(1 << baseLength); index += 1; var length = 32 - clz32(totalChildren) + baseLength; if (30 < length) { var numberOfOverflowBits = baseLength - baseLength % 5; length = (baseIdWithLeadingBit & (1 << numberOfOverflowBits) - 1).toString(32); baseIdWithLeadingBit >>= numberOfOverflowBits; baseLength -= numberOfOverflowBits; treeContextId = 1 << 32 - clz32(totalChildren) + baseLength | index << baseLength | baseIdWithLeadingBit; treeContextOverflow = length + workInProgress2; } else treeContextId = 1 << length | index << baseLength | baseIdWithLeadingBit, treeContextOverflow = workInProgress2; } function pushMaterializedTreeId(workInProgress2) { warnIfNotHydrating(); null !== workInProgress2.return && (pushTreeFork(workInProgress2, 1), pushTreeId(workInProgress2, 1, 0)); } function popTreeContext(workInProgress2) { for (; workInProgress2 === treeForkProvider; ) treeForkProvider = forkStack[--forkStackIndex], forkStack[forkStackIndex] = null, treeForkCount = forkStack[--forkStackIndex], forkStack[forkStackIndex] = null; for (; workInProgress2 === treeContextProvider; ) treeContextProvider = idStack[--idStackIndex], idStack[idStackIndex] = null, treeContextOverflow = idStack[--idStackIndex], idStack[idStackIndex] = null, treeContextId = idStack[--idStackIndex], idStack[idStackIndex] = null; } function warnIfNotHydrating() { isHydrating || console.error( "Expected to be hydrating. This is a bug in React. Please file an issue." ); } function buildHydrationDiffNode(fiber, distanceFromLeaf) { if (null === fiber.return) { if (null === hydrationDiffRootDEV) hydrationDiffRootDEV = { fiber, children: [], serverProps: void 0, serverTail: [], distanceFromLeaf }; else { if (hydrationDiffRootDEV.fiber !== fiber) throw Error( "Saw multiple hydration diff roots in a pass. This is a bug in React." ); hydrationDiffRootDEV.distanceFromLeaf > distanceFromLeaf && (hydrationDiffRootDEV.distanceFromLeaf = distanceFromLeaf); } return hydrationDiffRootDEV; } var siblings = buildHydrationDiffNode( fiber.return, distanceFromLeaf + 1 ).children; if (0 < siblings.length && siblings[siblings.length - 1].fiber === fiber) return siblings = siblings[siblings.length - 1], siblings.distanceFromLeaf > distanceFromLeaf && (siblings.distanceFromLeaf = distanceFromLeaf), siblings; distanceFromLeaf = { fiber, children: [], serverProps: void 0, serverTail: [], distanceFromLeaf }; siblings.push(distanceFromLeaf); return distanceFromLeaf; } function warnNonHydratedInstance(fiber, rejectedCandidate) { didSuspendOrErrorDEV || (fiber = buildHydrationDiffNode(fiber, 0), fiber.serverProps = null, null !== rejectedCandidate && (rejectedCandidate = describeHydratableInstanceForDevWarnings(rejectedCandidate), fiber.serverTail.push(rejectedCandidate))); } function throwOnHydrationMismatch(fiber) { var diff = "", diffRoot = hydrationDiffRootDEV; null !== diffRoot && (hydrationDiffRootDEV = null, diff = describeDiff(diffRoot)); queueHydrationError( createCapturedValueAtFiber( Error( "Hydration failed because the server rendered HTML didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used:\n\n- A server/client branch `if (typeof window !== 'undefined')`.\n- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.\n- Date formatting in a user's locale which doesn't match the server.\n- External changing data without sending a snapshot of it along with the HTML.\n- Invalid HTML tag nesting.\n\nIt can also happen if the client has a browser extension installed which messes with the HTML before React loaded.\n\nhttps://react.dev/link/hydration-mismatch" + diff ), fiber ) ); throw HydrationMismatchException; } function prepareToHydrateHostInstance(fiber) { var didHydrate = fiber.stateNode; var type = fiber.type, props = fiber.memoizedProps; didHydrate[internalInstanceKey] = fiber; didHydrate[internalPropsKey] = props; validatePropertiesInDevelopment(type, props); switch (type) { case "dialog": listenToNonDelegatedEvent("cancel", didHydrate); listenToNonDelegatedEvent("close", didHydrate); break; case "iframe": case "object": case "embed": listenToNonDelegatedEvent("load", didHydrate); break; case "video": case "audio": for (type = 0; type < mediaEventTypes.length; type++) listenToNonDelegatedEvent(mediaEventTypes[type], didHydrate); break; case "source": listenToNonDelegatedEvent("error", didHydrate); break; case "img": case "image": case "link": listenToNonDelegatedEvent("error", didHydrate); listenToNonDelegatedEvent("load", didHydrate); break; case "details": listenToNonDelegatedEvent("toggle", didHydrate); break; case "input": checkControlledValueProps("input", props); listenToNonDelegatedEvent("invalid", didHydrate); validateInputProps(didHydrate, props); initInput( didHydrate, props.value, props.defaultValue, props.checked, props.defaultChecked, props.type, props.name, true ); track(didHydrate); break; case "option": validateOptionProps(didHydrate, props); break; case "select": checkControlledValueProps("select", props); listenToNonDelegatedEvent("invalid", didHydrate); validateSelectProps(didHydrate, props); break; case "textarea": checkControlledValueProps("textarea", props), listenToNonDelegatedEvent("invalid", didHydrate), validateTextareaProps(didHydrate, props), initTextarea( didHydrate, props.value, props.defaultValue, props.children ), track(didHydrate); } type = props.children; "string" !== typeof type && "number" !== typeof type && "bigint" !== typeof type || didHydrate.textContent === "" + type || true === props.suppressHydrationWarning || checkForUnmatchedText(didHydrate.textContent, type) ? (null != props.popover && (listenToNonDelegatedEvent("beforetoggle", didHydrate), listenToNonDelegatedEvent("toggle", didHydrate)), null != props.onScroll && listenToNonDelegatedEvent("scroll", didHydrate), null != props.onScrollEnd && listenToNonDelegatedEvent("scrollend", didHydrate), null != props.onClick && (didHydrate.onclick = noop$1), didHydrate = true) : didHydrate = false; didHydrate || throwOnHydrationMismatch(fiber); } function popToNextHostParent(fiber) { for (hydrationParentFiber = fiber.return; hydrationParentFiber; ) switch (hydrationParentFiber.tag) { case 3: case 27: rootOrSingletonContext = true; return; case 5: case 13: rootOrSingletonContext = false; return; default: hydrationParentFiber = hydrationParentFiber.return; } } function popHydrationState(fiber) { if (fiber !== hydrationParentFiber) return false; if (!isHydrating) return popToNextHostParent(fiber), isHydrating = true, false; var shouldClear = false, JSCompiler_temp; if (JSCompiler_temp = 3 !== fiber.tag && 27 !== fiber.tag) { if (JSCompiler_temp = 5 === fiber.tag) JSCompiler_temp = fiber.type, JSCompiler_temp = !("form" !== JSCompiler_temp && "button" !== JSCompiler_temp) || shouldSetTextContent(fiber.type, fiber.memoizedProps); JSCompiler_temp = !JSCompiler_temp; } JSCompiler_temp && (shouldClear = true); if (shouldClear && nextHydratableInstance) { for (shouldClear = nextHydratableInstance; shouldClear; ) { JSCompiler_temp = buildHydrationDiffNode(fiber, 0); var description = describeHydratableInstanceForDevWarnings(shouldClear); JSCompiler_temp.serverTail.push(description); shouldClear = "Suspense" === description.type ? getNextHydratableInstanceAfterSuspenseInstance(shouldClear) : getNextHydratable(shouldClear.nextSibling); } throwOnHydrationMismatch(fiber); } popToNextHostParent(fiber); if (13 === fiber.tag) { fiber = fiber.memoizedState; fiber = null !== fiber ? fiber.dehydrated : null; if (!fiber) throw Error( "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue." ); nextHydratableInstance = getNextHydratableInstanceAfterSuspenseInstance(fiber); } else nextHydratableInstance = hydrationParentFiber ? getNextHydratable(fiber.stateNode.nextSibling) : null; return true; } function resetHydrationState() { nextHydratableInstance = hydrationParentFiber = null; didSuspendOrErrorDEV = isHydrating = false; } function queueHydrationError(error) { null === hydrationErrors ? hydrationErrors = [error] : hydrationErrors.push(error); } function emitPendingHydrationWarnings() { var diffRoot = hydrationDiffRootDEV; null !== diffRoot && (hydrationDiffRootDEV = null, diffRoot = describeDiff(diffRoot), console.error( "A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used:\n\n- A server/client branch `if (typeof window !== 'undefined')`.\n- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.\n- Date formatting in a user's locale which doesn't match the server.\n- External changing data without sending a snapshot of it along with the HTML.\n- Invalid HTML tag nesting.\n\nIt can also happen if the client has a browser extension installed which messes with the HTML before React loaded.\n\n%s%s", "https://react.dev/link/hydration-mismatch", diffRoot )); } function createThenableState() { return { didWarnAboutUncachedPromise: false, thenables: [] }; } function isThenableResolved(thenable) { thenable = thenable.status; return "fulfilled" === thenable || "rejected" === thenable; } function noop$3() { } function trackUsedThenable(thenableState2, thenable, index) { null !== ReactSharedInternals.actQueue && (ReactSharedInternals.didUsePromise = true); var trackedThenables = thenableState2.thenables; index = trackedThenables[index]; void 0 === index ? trackedThenables.push(thenable) : index !== thenable && (thenableState2.didWarnAboutUncachedPromise || (thenableState2.didWarnAboutUncachedPromise = true, console.error( "A component was suspended by an uncached promise. Creating promises inside a Client Component or hook is not yet supported, except via a Suspense-compatible library or framework." )), thenable.then(noop$3, noop$3), thenable = index); switch (thenable.status) { case "fulfilled": return thenable.value; case "rejected": throw thenableState2 = thenable.reason, checkIfUseWrappedInAsyncCatch(thenableState2), thenableState2; default: if ("string" === typeof thenable.status) thenable.then(noop$3, noop$3); else { thenableState2 = workInProgressRoot; if (null !== thenableState2 && 100 < thenableState2.shellSuspendCounter) throw Error( "async/await is not yet supported in Client Components, only Server Components. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server." ); thenableState2 = thenable; thenableState2.status = "pending"; thenableState2.then( function(fulfilledValue) { if ("pending" === thenable.status) { var fulfilledThenable = thenable; fulfilledThenable.status = "fulfilled"; fulfilledThenable.value = fulfilledValue; } }, function(error) { if ("pending" === thenable.status) { var rejectedThenable = thenable; rejectedThenable.status = "rejected"; rejectedThenable.reason = error; } } ); } switch (thenable.status) { case "fulfilled": return thenable.value; case "rejected": throw thenableState2 = thenable.reason, checkIfUseWrappedInAsyncCatch(thenableState2), thenableState2; } suspendedThenable = thenable; needsToResetSuspendedThenableDEV = true; throw SuspenseException; } } function getSuspendedThenable() { if (null === suspendedThenable) throw Error( "Expected a suspended thenable. This is a bug in React. Please file an issue." ); var thenable = suspendedThenable; suspendedThenable = null; needsToResetSuspendedThenableDEV = false; return thenable; } function checkIfUseWrappedInAsyncCatch(rejectedReason) { if (rejectedReason === SuspenseException) throw Error( "Hooks are not supported inside an async component. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server." ); } function pushDebugInfo(debugInfo) { var previousDebugInfo = currentDebugInfo; null != debugInfo && (currentDebugInfo = null === previousDebugInfo ? debugInfo : previousDebugInfo.concat(debugInfo)); return previousDebugInfo; } function validateFragmentProps(element, fiber, returnFiber) { for (var keys = Object.keys(element.props), i = 0; i < keys.length; i++) { var key = keys[i]; if ("children" !== key && "key" !== key) { null === fiber && (fiber = createFiberFromElement(element, returnFiber.mode, 0), fiber._debugInfo = currentDebugInfo, fiber.return = returnFiber); runWithFiberInDEV( fiber, function(erroredKey) { console.error( "Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", erroredKey ); }, key ); break; } } } function unwrapThenable(thenable) { var index = thenableIndexCounter$1; thenableIndexCounter$1 += 1; null === thenableState$1 && (thenableState$1 = createThenableState()); return trackUsedThenable(thenableState$1, thenable, index); } function coerceRef(workInProgress2, element) { element = element.props.ref; workInProgress2.ref = void 0 !== element ? element : null; } function throwOnInvalidObjectType(returnFiber, newChild) { if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE) throw Error( 'A React Element from an older version of React was rendered. This is not supported. It can happen if:\n- Multiple copies of the "react" package is used.\n- A library pre-bundled an old copy of "react" or "react/jsx-runtime".\n- A compiler tries to "inline" JSX instead of using the runtime.' ); returnFiber = Object.prototype.toString.call(newChild); throw Error( "Objects are not valid as a React child (found: " + ("[object Object]" === returnFiber ? "object with keys {" + Object.keys(newChild).join(", ") + "}" : returnFiber) + "). If you meant to render a collection of children, use an array instead." ); } function warnOnFunctionType(returnFiber, invalidChild) { var parentName = getComponentNameFromFiber(returnFiber) || "Component"; ownerHasFunctionTypeWarning[parentName] || (ownerHasFunctionTypeWarning[parentName] = true, invalidChild = invalidChild.displayName || invalidChild.name || "Component", 3 === returnFiber.tag ? console.error( "Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.\n root.render(%s)", invalidChild, invalidChild, invalidChild ) : console.error( "Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.\n <%s>{%s}", invalidChild, invalidChild, parentName, invalidChild, parentName )); } function warnOnSymbolType(returnFiber, invalidChild) { var parentName = getComponentNameFromFiber(returnFiber) || "Component"; ownerHasSymbolTypeWarning[parentName] || (ownerHasSymbolTypeWarning[parentName] = true, invalidChild = String(invalidChild), 3 === returnFiber.tag ? console.error( "Symbols are not valid as a React child.\n root.render(%s)", invalidChild ) : console.error( "Symbols are not valid as a React child.\n <%s>%s", parentName, invalidChild, parentName )); } function createChildReconciler(shouldTrackSideEffects) { function deleteChild(returnFiber, childToDelete) { if (shouldTrackSideEffects) { var deletions = returnFiber.deletions; null === deletions ? (returnFiber.deletions = [childToDelete], returnFiber.flags |= 16) : deletions.push(childToDelete); } } function deleteRemainingChildren(returnFiber, currentFirstChild) { if (!shouldTrackSideEffects) return null; for (; null !== currentFirstChild; ) deleteChild(returnFiber, currentFirstChild), currentFirstChild = currentFirstChild.sibling; return null; } function mapRemainingChildren(currentFirstChild) { for (var existingChildren = /* @__PURE__ */ new Map(); null !== currentFirstChild; ) null !== currentFirstChild.key ? existingChildren.set(currentFirstChild.key, currentFirstChild) : existingChildren.set(currentFirstChild.index, currentFirstChild), currentFirstChild = currentFirstChild.sibling; return existingChildren; } function useFiber(fiber, pendingProps) { fiber = createWorkInProgress(fiber, pendingProps); fiber.index = 0; fiber.sibling = null; return fiber; } function placeChild(newFiber, lastPlacedIndex, newIndex) { newFiber.index = newIndex; if (!shouldTrackSideEffects) return newFiber.flags |= 1048576, lastPlacedIndex; newIndex = newFiber.alternate; if (null !== newIndex) return newIndex = newIndex.index, newIndex < lastPlacedIndex ? (newFiber.flags |= 33554434, lastPlacedIndex) : newIndex; newFiber.flags |= 33554434; return lastPlacedIndex; } function placeSingleChild(newFiber) { shouldTrackSideEffects && null === newFiber.alternate && (newFiber.flags |= 33554434); return newFiber; } function updateTextNode(returnFiber, current2, textContent, lanes) { if (null === current2 || 6 !== current2.tag) return current2 = createFiberFromText( textContent, returnFiber.mode, lanes ), current2.return = returnFiber, current2._debugOwner = returnFiber, current2._debugInfo = currentDebugInfo, current2; current2 = useFiber(current2, textContent); current2.return = returnFiber; current2._debugInfo = currentDebugInfo; return current2; } function updateElement(returnFiber, current2, element, lanes) { var elementType = element.type; if (elementType === REACT_FRAGMENT_TYPE) return current2 = updateFragment( returnFiber, current2, element.props.children, lanes, element.key ), validateFragmentProps(element, current2, returnFiber), current2; if (null !== current2 && (current2.elementType === elementType || isCompatibleFamilyForHotReloading(current2, element) || "object" === typeof elementType && null !== elementType && elementType.$$typeof === REACT_LAZY_TYPE && callLazyInitInDEV(elementType) === current2.type)) return current2 = useFiber(current2, element.props), coerceRef(current2, element), current2.return = returnFiber, current2._debugOwner = element._owner, current2._debugInfo = currentDebugInfo, current2; current2 = createFiberFromElement(element, returnFiber.mode, lanes); coerceRef(current2, element); current2.return = returnFiber; current2._debugInfo = currentDebugInfo; return current2; } function updatePortal(returnFiber, current2, portal, lanes) { if (null === current2 || 4 !== current2.tag || current2.stateNode.containerInfo !== portal.containerInfo || current2.stateNode.implementation !== portal.implementation) return current2 = createFiberFromPortal(portal, returnFiber.mode, lanes), current2.return = returnFiber, current2._debugInfo = currentDebugInfo, current2; current2 = useFiber(current2, portal.children || []); current2.return = returnFiber; current2._debugInfo = currentDebugInfo; return current2; } function updateFragment(returnFiber, current2, fragment, lanes, key) { if (null === current2 || 7 !== current2.tag) return current2 = createFiberFromFragment( fragment, returnFiber.mode, lanes, key ), current2.return = returnFiber, current2._debugOwner = returnFiber, current2._debugInfo = currentDebugInfo, current2; current2 = useFiber(current2, fragment); current2.return = returnFiber; current2._debugInfo = currentDebugInfo; return current2; } function createChild(returnFiber, newChild, lanes) { if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild) return newChild = createFiberFromText( "" + newChild, returnFiber.mode, lanes ), newChild.return = returnFiber, newChild._debugOwner = returnFiber, newChild._debugInfo = currentDebugInfo, newChild; if ("object" === typeof newChild && null !== newChild) { switch (newChild.$$typeof) { case REACT_ELEMENT_TYPE: return lanes = createFiberFromElement( newChild, returnFiber.mode, lanes ), coerceRef(lanes, newChild), lanes.return = returnFiber, returnFiber = pushDebugInfo(newChild._debugInfo), lanes._debugInfo = currentDebugInfo, currentDebugInfo = returnFiber, lanes; case REACT_PORTAL_TYPE: return newChild = createFiberFromPortal( newChild, returnFiber.mode, lanes ), newChild.return = returnFiber, newChild._debugInfo = currentDebugInfo, newChild; case REACT_LAZY_TYPE: var _prevDebugInfo = pushDebugInfo(newChild._debugInfo); newChild = callLazyInitInDEV(newChild); returnFiber = createChild(returnFiber, newChild, lanes); currentDebugInfo = _prevDebugInfo; return returnFiber; } if (isArrayImpl(newChild) || getIteratorFn(newChild)) return lanes = createFiberFromFragment( newChild, returnFiber.mode, lanes, null ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, returnFiber = pushDebugInfo(newChild._debugInfo), lanes._debugInfo = currentDebugInfo, currentDebugInfo = returnFiber, lanes; if ("function" === typeof newChild.then) return _prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = createChild( returnFiber, unwrapThenable(newChild), lanes ), currentDebugInfo = _prevDebugInfo, returnFiber; if (newChild.$$typeof === REACT_CONTEXT_TYPE) return createChild( returnFiber, readContextDuringReconciliation(returnFiber, newChild), lanes ); throwOnInvalidObjectType(returnFiber, newChild); } "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild); "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild); return null; } function updateSlot(returnFiber, oldFiber, newChild, lanes) { var key = null !== oldFiber ? oldFiber.key : null; if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild) return null !== key ? null : updateTextNode(returnFiber, oldFiber, "" + newChild, lanes); if ("object" === typeof newChild && null !== newChild) { switch (newChild.$$typeof) { case REACT_ELEMENT_TYPE: return newChild.key === key ? (key = pushDebugInfo(newChild._debugInfo), returnFiber = updateElement( returnFiber, oldFiber, newChild, lanes ), currentDebugInfo = key, returnFiber) : null; case REACT_PORTAL_TYPE: return newChild.key === key ? updatePortal(returnFiber, oldFiber, newChild, lanes) : null; case REACT_LAZY_TYPE: return key = pushDebugInfo(newChild._debugInfo), newChild = callLazyInitInDEV(newChild), returnFiber = updateSlot( returnFiber, oldFiber, newChild, lanes ), currentDebugInfo = key, returnFiber; } if (isArrayImpl(newChild) || getIteratorFn(newChild)) { if (null !== key) return null; key = pushDebugInfo(newChild._debugInfo); returnFiber = updateFragment( returnFiber, oldFiber, newChild, lanes, null ); currentDebugInfo = key; return returnFiber; } if ("function" === typeof newChild.then) return key = pushDebugInfo(newChild._debugInfo), returnFiber = updateSlot( returnFiber, oldFiber, unwrapThenable(newChild), lanes ), currentDebugInfo = key, returnFiber; if (newChild.$$typeof === REACT_CONTEXT_TYPE) return updateSlot( returnFiber, oldFiber, readContextDuringReconciliation(returnFiber, newChild), lanes ); throwOnInvalidObjectType(returnFiber, newChild); } "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild); "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild); return null; } function updateFromMap(existingChildren, returnFiber, newIdx, newChild, lanes) { if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild) return existingChildren = existingChildren.get(newIdx) || null, updateTextNode(returnFiber, existingChildren, "" + newChild, lanes); if ("object" === typeof newChild && null !== newChild) { switch (newChild.$$typeof) { case REACT_ELEMENT_TYPE: return newIdx = existingChildren.get( null === newChild.key ? newIdx : newChild.key ) || null, existingChildren = pushDebugInfo(newChild._debugInfo), returnFiber = updateElement( returnFiber, newIdx, newChild, lanes ), currentDebugInfo = existingChildren, returnFiber; case REACT_PORTAL_TYPE: return existingChildren = existingChildren.get( null === newChild.key ? newIdx : newChild.key ) || null, updatePortal(returnFiber, existingChildren, newChild, lanes); case REACT_LAZY_TYPE: var _prevDebugInfo7 = pushDebugInfo(newChild._debugInfo); newChild = callLazyInitInDEV(newChild); returnFiber = updateFromMap( existingChildren, returnFiber, newIdx, newChild, lanes ); currentDebugInfo = _prevDebugInfo7; return returnFiber; } if (isArrayImpl(newChild) || getIteratorFn(newChild)) return newIdx = existingChildren.get(newIdx) || null, existingChildren = pushDebugInfo(newChild._debugInfo), returnFiber = updateFragment( returnFiber, newIdx, newChild, lanes, null ), currentDebugInfo = existingChildren, returnFiber; if ("function" === typeof newChild.then) return _prevDebugInfo7 = pushDebugInfo(newChild._debugInfo), returnFiber = updateFromMap( existingChildren, returnFiber, newIdx, unwrapThenable(newChild), lanes ), currentDebugInfo = _prevDebugInfo7, returnFiber; if (newChild.$$typeof === REACT_CONTEXT_TYPE) return updateFromMap( existingChildren, returnFiber, newIdx, readContextDuringReconciliation(returnFiber, newChild), lanes ); throwOnInvalidObjectType(returnFiber, newChild); } "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild); "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild); return null; } function warnOnInvalidKey(returnFiber, workInProgress2, child, knownKeys) { if ("object" !== typeof child || null === child) return knownKeys; switch (child.$$typeof) { case REACT_ELEMENT_TYPE: case REACT_PORTAL_TYPE: warnForMissingKey(returnFiber, workInProgress2, child); var key = child.key; if ("string" !== typeof key) break; if (null === knownKeys) { knownKeys = /* @__PURE__ */ new Set(); knownKeys.add(key); break; } if (!knownKeys.has(key)) { knownKeys.add(key); break; } runWithFiberInDEV(workInProgress2, function() { console.error( "Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version.", key ); }); break; case REACT_LAZY_TYPE: child = callLazyInitInDEV(child), warnOnInvalidKey(returnFiber, workInProgress2, child, knownKeys); } return knownKeys; } function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, lanes) { for (var knownKeys = null, resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null; null !== oldFiber && newIdx < newChildren.length; newIdx++) { oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling; var newFiber = updateSlot( returnFiber, oldFiber, newChildren[newIdx], lanes ); if (null === newFiber) { null === oldFiber && (oldFiber = nextOldFiber); break; } knownKeys = warnOnInvalidKey( returnFiber, newFiber, newChildren[newIdx], knownKeys ); shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber); currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx); null === previousNewFiber ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber; previousNewFiber = newFiber; oldFiber = nextOldFiber; } if (newIdx === newChildren.length) return deleteRemainingChildren(returnFiber, oldFiber), isHydrating && pushTreeFork(returnFiber, newIdx), resultingFirstChild; if (null === oldFiber) { for (; newIdx < newChildren.length; newIdx++) oldFiber = createChild(returnFiber, newChildren[newIdx], lanes), null !== oldFiber && (knownKeys = warnOnInvalidKey( returnFiber, oldFiber, newChildren[newIdx], knownKeys ), currentFirstChild = placeChild( oldFiber, currentFirstChild, newIdx ), null === previousNewFiber ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber); isHydrating && pushTreeFork(returnFiber, newIdx); return resultingFirstChild; } for (oldFiber = mapRemainingChildren(oldFiber); newIdx < newChildren.length; newIdx++) nextOldFiber = updateFromMap( oldFiber, returnFiber, newIdx, newChildren[newIdx], lanes ), null !== nextOldFiber && (knownKeys = warnOnInvalidKey( returnFiber, nextOldFiber, newChildren[newIdx], knownKeys ), shouldTrackSideEffects && null !== nextOldFiber.alternate && oldFiber.delete( null === nextOldFiber.key ? newIdx : nextOldFiber.key ), currentFirstChild = placeChild( nextOldFiber, currentFirstChild, newIdx ), null === previousNewFiber ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber); shouldTrackSideEffects && oldFiber.forEach(function(child) { return deleteChild(returnFiber, child); }); isHydrating && pushTreeFork(returnFiber, newIdx); return resultingFirstChild; } function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildren, lanes) { if (null == newChildren) throw Error("An iterable object provided no iterator."); for (var resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null, knownKeys = null, step = newChildren.next(); null !== oldFiber && !step.done; newIdx++, step = newChildren.next()) { oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling; var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes); if (null === newFiber) { null === oldFiber && (oldFiber = nextOldFiber); break; } knownKeys = warnOnInvalidKey( returnFiber, newFiber, step.value, knownKeys ); shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber); currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx); null === previousNewFiber ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber; previousNewFiber = newFiber; oldFiber = nextOldFiber; } if (step.done) return deleteRemainingChildren(returnFiber, oldFiber), isHydrating && pushTreeFork(returnFiber, newIdx), resultingFirstChild; if (null === oldFiber) { for (; !step.done; newIdx++, step = newChildren.next()) oldFiber = createChild(returnFiber, step.value, lanes), null !== oldFiber && (knownKeys = warnOnInvalidKey( returnFiber, oldFiber, step.value, knownKeys ), currentFirstChild = placeChild( oldFiber, currentFirstChild, newIdx ), null === previousNewFiber ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber); isHydrating && pushTreeFork(returnFiber, newIdx); return resultingFirstChild; } for (oldFiber = mapRemainingChildren(oldFiber); !step.done; newIdx++, step = newChildren.next()) nextOldFiber = updateFromMap( oldFiber, returnFiber, newIdx, step.value, lanes ), null !== nextOldFiber && (knownKeys = warnOnInvalidKey( returnFiber, nextOldFiber, step.value, knownKeys ), shouldTrackSideEffects && null !== nextOldFiber.alternate && oldFiber.delete( null === nextOldFiber.key ? newIdx : nextOldFiber.key ), currentFirstChild = placeChild( nextOldFiber, currentFirstChild, newIdx ), null === previousNewFiber ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber); shouldTrackSideEffects && oldFiber.forEach(function(child) { return deleteChild(returnFiber, child); }); isHydrating && pushTreeFork(returnFiber, newIdx); return resultingFirstChild; } function reconcileChildFibersImpl(returnFiber, currentFirstChild, newChild, lanes) { "object" === typeof newChild && null !== newChild && newChild.type === REACT_FRAGMENT_TYPE && null === newChild.key && (validateFragmentProps(newChild, null, returnFiber), newChild = newChild.props.children); if ("object" === typeof newChild && null !== newChild) { switch (newChild.$$typeof) { case REACT_ELEMENT_TYPE: var prevDebugInfo = pushDebugInfo(newChild._debugInfo); a: { for (var key = newChild.key; null !== currentFirstChild; ) { if (currentFirstChild.key === key) { key = newChild.type; if (key === REACT_FRAGMENT_TYPE) { if (7 === currentFirstChild.tag) { deleteRemainingChildren( returnFiber, currentFirstChild.sibling ); lanes = useFiber( currentFirstChild, newChild.props.children ); lanes.return = returnFiber; lanes._debugOwner = newChild._owner; lanes._debugInfo = currentDebugInfo; validateFragmentProps(newChild, lanes, returnFiber); returnFiber = lanes; break a; } } else if (currentFirstChild.elementType === key || isCompatibleFamilyForHotReloading( currentFirstChild, newChild ) || "object" === typeof key && null !== key && key.$$typeof === REACT_LAZY_TYPE && callLazyInitInDEV(key) === currentFirstChild.type) { deleteRemainingChildren( returnFiber, currentFirstChild.sibling ); lanes = useFiber(currentFirstChild, newChild.props); coerceRef(lanes, newChild); lanes.return = returnFiber; lanes._debugOwner = newChild._owner; lanes._debugInfo = currentDebugInfo; returnFiber = lanes; break a; } deleteRemainingChildren(returnFiber, currentFirstChild); break; } else deleteChild(returnFiber, currentFirstChild); currentFirstChild = currentFirstChild.sibling; } newChild.type === REACT_FRAGMENT_TYPE ? (lanes = createFiberFromFragment( newChild.props.children, returnFiber.mode, lanes, newChild.key ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugInfo = currentDebugInfo, validateFragmentProps(newChild, lanes, returnFiber), returnFiber = lanes) : (lanes = createFiberFromElement( newChild, returnFiber.mode, lanes ), coerceRef(lanes, newChild), lanes.return = returnFiber, lanes._debugInfo = currentDebugInfo, returnFiber = lanes); } returnFiber = placeSingleChild(returnFiber); currentDebugInfo = prevDebugInfo; return returnFiber; case REACT_PORTAL_TYPE: a: { prevDebugInfo = newChild; for (newChild = prevDebugInfo.key; null !== currentFirstChild; ) { if (currentFirstChild.key === newChild) if (4 === currentFirstChild.tag && currentFirstChild.stateNode.containerInfo === prevDebugInfo.containerInfo && currentFirstChild.stateNode.implementation === prevDebugInfo.implementation) { deleteRemainingChildren( returnFiber, currentFirstChild.sibling ); lanes = useFiber( currentFirstChild, prevDebugInfo.children || [] ); lanes.return = returnFiber; returnFiber = lanes; break a; } else { deleteRemainingChildren(returnFiber, currentFirstChild); break; } else deleteChild(returnFiber, currentFirstChild); currentFirstChild = currentFirstChild.sibling; } lanes = createFiberFromPortal( prevDebugInfo, returnFiber.mode, lanes ); lanes.return = returnFiber; returnFiber = lanes; } return placeSingleChild(returnFiber); case REACT_LAZY_TYPE: return prevDebugInfo = pushDebugInfo(newChild._debugInfo), newChild = callLazyInitInDEV(newChild), returnFiber = reconcileChildFibersImpl( returnFiber, currentFirstChild, newChild, lanes ), currentDebugInfo = prevDebugInfo, returnFiber; } if (isArrayImpl(newChild)) return prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = reconcileChildrenArray( returnFiber, currentFirstChild, newChild, lanes ), currentDebugInfo = prevDebugInfo, returnFiber; if (getIteratorFn(newChild)) { prevDebugInfo = pushDebugInfo(newChild._debugInfo); key = getIteratorFn(newChild); if ("function" !== typeof key) throw Error( "An object is not an iterable. This error is likely caused by a bug in React. Please file an issue." ); var newChildren = key.call(newChild); if (newChildren === newChild) { if (0 !== returnFiber.tag || "[object GeneratorFunction]" !== Object.prototype.toString.call(returnFiber.type) || "[object Generator]" !== Object.prototype.toString.call(newChildren)) didWarnAboutGenerators || console.error( "Using Iterators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You may convert it to an array with `Array.from()` or the `[...spread]` operator before rendering. You can also use an Iterable that can iterate multiple times over the same items." ), didWarnAboutGenerators = true; } else newChild.entries !== key || didWarnAboutMaps || (console.error( "Using Maps as children is not supported. Use an array of keyed ReactElements instead." ), didWarnAboutMaps = true); returnFiber = reconcileChildrenIterator( returnFiber, currentFirstChild, newChildren, lanes ); currentDebugInfo = prevDebugInfo; return returnFiber; } if ("function" === typeof newChild.then) return prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = reconcileChildFibersImpl( returnFiber, currentFirstChild, unwrapThenable(newChild), lanes ), currentDebugInfo = prevDebugInfo, returnFiber; if (newChild.$$typeof === REACT_CONTEXT_TYPE) return reconcileChildFibersImpl( returnFiber, currentFirstChild, readContextDuringReconciliation(returnFiber, newChild), lanes ); throwOnInvalidObjectType(returnFiber, newChild); } if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild) return prevDebugInfo = "" + newChild, null !== currentFirstChild && 6 === currentFirstChild.tag ? (deleteRemainingChildren( returnFiber, currentFirstChild.sibling ), lanes = useFiber(currentFirstChild, prevDebugInfo), lanes.return = returnFiber, returnFiber = lanes) : (deleteRemainingChildren(returnFiber, currentFirstChild), lanes = createFiberFromText( prevDebugInfo, returnFiber.mode, lanes ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugInfo = currentDebugInfo, returnFiber = lanes), placeSingleChild(returnFiber); "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild); "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild); return deleteRemainingChildren(returnFiber, currentFirstChild); } return function(returnFiber, currentFirstChild, newChild, lanes) {