{"version":3,"file":"index-CNOVNywA.js","sources":["../../src/init.js","../../src/paths.ts","../../src/instantdb/db.ts","../../src/stores/userStore.tsx","../../src/components/Avatar.tsx","../../src/ui/OwnIcon.tsx","../../src/subscription/useSubscription.ts","../../src/subscription/checkSubscription.ts","../../src/ui/OwnUIHeader.tsx","../../../../packages/rendering/src/elements/background/BackgroundElement.tsx","../../../../packages/rendering/src/elements/background/index.ts","../../../../packages/rendering/src/elements/elements.ts","../../../../packages/rendering/src/elements/OwnTile.tsx","../../../../packages/rendering/src/elements/image/ImageElement.tsx","../../../../packages/rendering/src/elements/image/index.ts","../../../../packages/rendering/src/elements/link/LinkLayoutCard.tsx","../../../../packages/rendering/src/elements/link/LinkLayoutIcon.tsx","../../../../packages/rendering/src/elements/link/LinkLayoutText.tsx","../../../../packages/rendering/src/elements/link/LinkElement.tsx","../../../../packages/rendering/src/elements/link/index.ts","../../../../packages/rendering/src/elements/socials/SocialIconBasic.tsx","../../../../packages/rendering/src/elements/socials/SocialIconCircle.tsx","../../../../packages/rendering/src/elements/socials/SocialIconFilledCircle.tsx","../../../../packages/rendering/src/elements/socials/socialInfo.ts","../../../../packages/rendering/src/elements/socials/SocialIcon.tsx","../../../../packages/rendering/src/elements/socials/SocialsElement.tsx","../../../../packages/rendering/src/elements/socials/index.tsx","../../../../packages/rendering/src/elements/text/TextElement.tsx","../../../../packages/rendering/src/elements/text/index.ts","../../../../packages/rendering/src/animations/FadeIn.tsx","../../../../packages/rendering/src/animations/withAnimation.tsx","../../../../packages/own.tiles/dist/index.es.js","../../../../packages/rendering/src/elements/own.tiles/toOwnTile.tsx","../../../../packages/rendering/src/elements/own.tiles/index.ts","../../../../packages/rendering/src/elements/index.tsx","../../../../packages/rendering/src/utils/clamp.ts","../../../../packages/rendering/src/utils/arrayToObject.ts","../../../../packages/rendering/src/migration/currentVersion.ts","../../../../packages/rendering/src/migration/versionMigration.ts","../../../../packages/rendering/src/useScaleFactor.ts","../../../../packages/rendering/src/FullSection.tsx","../../../../packages/rendering/src/RenderOwnStyle.tsx","../../../../packages/rendering/src/elements/RenderElement.tsx","../../../../packages/rendering/src/frames/IFrame.tsx","../../../../packages/rendering/src/RenderPage.tsx","../../../../packages/rendering/src/index.ts","../../src/themes/earth.ts","../../src/themes/initial.ts","../../src/themes/jupiter.ts","../../src/themes/mars.ts","../../src/themes/mercury.ts","../../src/themes/moon.ts","../../src/themes/neptune.ts","../../src/themes/pluto.ts","../../src/themes/saturn.ts","../../src/themes/uranus.ts","../../src/themes/venus.ts","../../src/themes/charon.ts","../../src/themes/dione.ts","../../src/themes/mars2.ts","../../src/themes/titan.ts","../../src/themes/pluto2.ts","../../src/themes/ceres.ts","../../src/themes/index.ts","../../src/editor/BackgroundGrid.tsx","../../src/editor/editor-elements/editorElementOf.tsx","../../src/editor/editor-elements/background/index.ts","../../src/editor/editor-elements/socials/EditorSocialsElement.tsx","../../src/editor/editor-elements/socials/index.ts","../../src/editor/editor-elements/EditorOwnTile.tsx","../../src/editor/editor-elements/image/EditorImageElement.tsx","../../src/editor/editor-elements/image/index.ts","../../src/editor/editor-elements/link/index.ts","../../src/editor/editor-elements/text/EditorTextElement.tsx","../../src/editor/editor-elements/text/index.ts","../../src/editor/editor-elements/own.tiles/index.ts","../../src/editor/editor-elements/index.ts","../../src/stores/activeEditorStore.ts","../../src/utils/id.ts","../../src/utils/ownHaptics.ts","../../src/editor/algorithm.ts","../../src/stores/index.ts","../../src/stores/pages/index.ts","../../src/utils/pageUrl.ts","../../src/utils/vcard.ts","../../src/utils/arrayToObject.ts","../../src/ui/shadcn/utils.ts","../../src/ui/shadcn/input-otp.tsx","../../src/components/CenterBox.tsx","../../src/ui/OwnUIButton.tsx","../../src/utils/pkce.ts","../../src/pages/auth/CustomGoogleAuth.tsx","../../src/ui/OwnUIInput.tsx","../../src/ui/OwnUIAlert.tsx","../../src/ui/OwnUIToast.tsx","../../src/components/ErrorText.tsx","../../src/utils/discord.ts","../../src/pages/auth/Register.tsx","../../src/stores/pages/storage.ts","../../src/stores/pages/actions.ts","../../src/stores/editorStore.ts","../../src/isDebug.ts","../../src/ui/OwnUIPage.tsx","../../src/components/LoadingPage.tsx","../../src/components/Routes.tsx","../../src/components/AppNav.tsx","../../src/subscription/StripeCheckout.tsx","../../src/utils/hooks/useTimeout.tsx","../../src/pages/auth/Claim.tsx","../../src/components/PageBox.tsx","../../src/subscription/SubscriptionPlans.tsx","../../src/utils/images/imageUpload.ts","../../src/utils/discord_delete.ts","../../src/pages/AccountSettings.tsx","../../src/pages/Analytics.tsx","../../src/pages/auth/Login.tsx","../../src/components/Pressable.tsx","../../src/utils/sharePage.ts","../../src/pages/pagecontext/PageContextMenu.tsx","../../src/pages/Dashboard.tsx","../../src/pages/CommunityDiscord.tsx","../../src/utils/hooks/useOnce.ts","../../src/utils/hooks/usePreventScroll.ts","../../src/utils/hooks/useWindowSize.ts","../../src/editor/editor-elements/InitialEditorElement.tsx","../../src/editor/editor-elements/withInitial.tsx","../../src/editor/editor-elements/EditorRenderElement.tsx","../../src/editor/dragging/drag-handle/FullDragHandle.tsx","../../src/editor/dragging/drag-handle/NoneDragHandle.tsx","../../src/editor/dragging/drag-handle/VerticalDragHandle.tsx","../../src/editor/dragging/drag-handle/DragHandle.tsx","../../src/utils/mapObject.ts","../../src/editor/dragging/springFunctions.ts","../../src/utils/colors.ts","../../src/editor/tools/background/BackgroundTool.tsx","../../src/editor/tools/background/ColorVariableChangeTool.tsx","../../src/editor/tools/background/ColorVariablesTool.tsx","../../src/editor/tools/InstaDragSelect.tsx","../../src/editor/tools/image/ImageBorderSelect.tsx","../../src/editor/tools/ElementPreview.tsx","../../src/editor/tools/OwnTool.tsx","../../src/editor/tools/image/ImageTool.tsx","../../src/editor/tools/text/TextFonts.tsx","../../src/editor/tools/text/TextFontSelect.tsx","../../src/editor/tools/text/TextVariableTool.tsx","../../src/stores/onboardingStore.ts","../../src/editor/tools/text/TextVariableSelect.tsx","../../src/editor/tools/text/TextTool.tsx","../../src/editor/tools/link/LinkLayoutSelect.tsx","../../src/editor/tools/link/AnimatedIcon.tsx","../../src/components/Scribble.tsx","../../src/editor/tools/link/LinkTool.tsx","../../src/editor/tools/socials/SocialsIconSelect.tsx","../../src/editor/tools/socials/AnimatedIcon.tsx","../../src/editor/tools/ColorVariables.tsx","../../src/editor/tools/socials/SocialsTool.tsx","../../src/utils/autofocus.ts","../../src/editor/tools/own.tiles/PropsForm.tsx","../../src/editor/tools/own.tiles/OwnTilesTool.tsx","../../src/editor/tools/own.tiles/index.ts","../../src/editor/tools/OwnTilesDrawer.tsx","../../src/editor/tools/index.ts","../../src/utils/clamp.ts","../../src/editor/dragging/dragFunction.tsx","../../src/editor/dragging/DraggableElement.tsx","../../src/editor/EditorGrid.tsx","../../src/utils/serialization.ts","../../src/pages/Editor.tsx","../../src/pages/Onboarding.tsx","../../src/subscription/Confirmation.tsx","../../src/pages/auth/Callback.tsx","../../src/App.tsx","../../src/serviceWorkerRegistration.ts","../../src/index.tsx"],"sourcesContent":["window.global ||= window;\nwindow.process = { env: import.meta.env };\n","export const ICONS_PATH = './assets/icons/';\n\n// cases right now:\n// - prod: https://own.page/api\n// - dev-deploy: http://dev-web.own.page/api\n// - dev-local: http://[localhost | your-ip]:7070/api\nexport const BACKEND_API = import.meta.env.VITE_OWN_LANDING_API.replace(\n '[HOSTNAME]',\n window.location.hostname\n);\n\nconst basicRoutes = {\n home: '/',\n dashboard: '/dashboard',\n editor: '/editor',\n claim: '/claim',\n register: '/register',\n onboarding: '/onboarding',\n login: '/login',\n logout: '/logout',\n // forgotPassword: '/forgotPassword',\n community: '/community',\n analytics: '/analytics',\n settings: '/account'\n} as const;\n\nconst fallbackRoutes = {\n publicFallback: basicRoutes.claim,\n privateFallback: basicRoutes.dashboard\n} as const;\n\nexport const Routes = { ...basicRoutes, ...fallbackRoutes };\n","import { init } from '@instantdb/react';\n\nfunction assertAppId(appId: string | undefined): asserts appId is string {\n if (!appId) {\n throw new Error('VITE_INSTANT_APP_ID is not set', { cause: appId });\n }\n}\n\nfunction assertDevTool(devTool: string | undefined): asserts devTool is string {\n if (!devTool) {\n throw new Error('VITE_INSTANT_APP_DEVTOOL is not set', { cause: devTool });\n }\n}\n\nassertAppId(import.meta.env.VITE_INSTANT_APP_ID);\nassertDevTool(import.meta.env.VITE_INSTANT_APP_DEVTOOL);\n\nexport const db = init({\n appId: import.meta.env.VITE_INSTANT_APP_ID,\n devtool: import.meta.env.VITE_INSTANT_APP_DEVTOOL === 'true'\n});\n","import { useEffect } from 'react';\nimport { db } from '../instantdb/db';\nimport { create } from 'zustand';\nimport { type useHistory } from 'react-router-dom';\nimport { Routes } from 'paths';\n\nexport type OwnUser = {\n id: string;\n username: string;\n avatar: string | null;\n refresh_token: string;\n email: string;\n};\n\nexport type State = {\n user: OwnUser | null;\n};\n\nconst initialState: State = {\n user: null\n};\n\nexport const useUserStore = create()(() => initialState);\nconst { setState: set, getState: _get } = useUserStore;\n\nconst reset = () => set(initialState);\n\nexport const userActions = {\n logout: async (_history: ReturnType) => {\n try {\n await db.auth.signOut();\n } catch (err) {\n console.error('Error logging out:', err);\n } finally {\n reset();\n // Force a full page reload to clear all React/Router state\n window.location.replace(Routes.publicFallback);\n // window.location.replace('/');\n // history.replace('/');\n }\n },\n reset\n};\n\nexport const dbConnectRead = async () => {\n db._core.subscribeAuth((auth) => {\n console.log('[DBC] subscribeAuth', auth);\n if (!auth.user) {\n console.log('[DBC] calling reset');\n reset();\n return;\n }\n\n const query = { profiles: { $: { where: { id: auth.user.id } } } };\n db._core.subscribeQuery(query, (res) => {\n console.log('[DBC] subscribeQuery', auth, res);\n const profile = res.data?.profiles[0];\n\n if (!auth.user || !profile) return;\n\n console.log('[DBC] subscribeQuery', auth.user, profile);\n\n const user: OwnUser = {\n id: auth.user.id,\n email: auth.user.email,\n refresh_token: auth.user.refresh_token,\n username: profile.username,\n avatar: profile.avatar\n };\n\n set({ user });\n });\n });\n};\n\n// TODO: move this out!\ndbConnectRead();\n\nexport const useUser = () => useUserStore((s) => s.user!);\n\nexport type WithUserProps = T & { user: OwnUser };\n\nexport const withUser =

>(\n Component: React.ComponentType

\n) => {\n return (props: Omit) => {\n const user = useUser();\n if (!user) return null;\n return ;\n };\n};\n\nexport const useLogout = (f: () => unknown) => {\n const user = useUser();\n useEffect(() => {\n if (!user) {\n f();\n }\n }, [user, f]);\n};\n","import { ICONS_PATH } from 'paths';\nimport { withUser, type WithUserProps } from 'stores/userStore';\n\nconst FALLBACK_AVATAR = ICONS_PATH + 'avatar.svg';\n\ntype AvatarProps = WithUserProps<{\n className?: string;\n}>;\n\n/**\n * Displays the avatar of the current user by fetching it from the S3 bucket,\n * if it is not found, uses fallback Avatar\n */\nconst Avatar = withUser((props: AvatarProps) => {\n const user = props.user;\n const avatarUsername = user.avatar ?? FALLBACK_AVATAR;\n\n return (\n \n );\n});\n\nexport default Avatar;\n","import { isPlatform } from '@ionic/core';\nimport type { Icon } from '@phosphor-icons/react/dist/lib/types';\nimport type { ElementType } from 'react';\n\ntype OwnIconComponentProps = {\n size?: number;\n color?: string;\n className?: string;\n};\n\nexport type OwnIconComponent = ElementType | Icon;\n\ntype OwnIconProps = {\n Icon: OwnIconComponent;\n} & OwnIconComponentProps;\n\nconst ICON_SIZE = isPlatform('mobile') ? 22 : 22; // right now same icon size\nconst OwnIcon = ({ Icon, ...props }: OwnIconProps) => (\n \n);\n\nexport default OwnIcon;\n","import { db } from '../instantdb/db';\n\nexport type Subscription = {\n id: string;\n plan: string;\n interval: string;\n platform: string;\n start_date: string;\n end_date: string;\n status: string;\n};\n\nexport const useSubscription = () => {\n const auth = db.useAuth();\n const query = db.useQuery({\n $users: { $: { where: { id: auth.user?.id } }, subscriptions: {} }\n });\n\n if (!auth.user || !query || query.data?.$users.length === 0) {\n return null;\n }\n\n const querySubscription = query.data?.$users[0].subscriptions[0];\n\n if (!querySubscription) {\n return null;\n }\n\n return querySubscription as Subscription;\n};\n","import { useSubscription } from './useSubscription';\n\nexport const isProUser = () => {\n const subscription = useSubscription();\n return subscription?.plan === 'pro';\n};\n","import { IonHeader, type UseIonRouterResult, useIonRouter } from '@ionic/react';\nimport { useCallback, useEffect, useState } from 'react';\nimport Avatar from '../components/Avatar';\nimport { useHistory } from 'react-router';\nimport { CaretLeft, FloppyDisk, GearSix, SignOut } from '@phosphor-icons/react';\nimport OwnIcon from './OwnIcon';\nimport { userActions, useUser } from 'stores/userStore';\nimport { isProUser } from 'subscription/checkSubscription';\n\ntype PageHeaderProps = {\n /** whether the logo should be displayed or not */\n hideLogo?: boolean;\n};\n\n/**\n * Header for the own page app\n * displays logo and avatar of logged-in user that opens context-menu\n * @param props @see PageHeaderProps\n */\nconst OwnUIHeader = (_props: PageHeaderProps) => {\n const user = useUser();\n const router = useIonRouter();\n const isPro = isProUser();\n const history = useHistory();\n\n // TODO use openContextMenu state to also show it on mobile (not just on hover)\n const [openContextMenu, setOpenContextMenu] = useState(false);\n\n const contextMenu = [\n {\n name: 'Settings',\n icon: GearSix,\n action: () => router.push('/account')\n },\n {\n name: 'Logout',\n icon: SignOut,\n action: () => userActions.logout(history)\n }\n ];\n\n useEffect(() => {\n console.log('openContextMenu: ', openContextMenu);\n }, [openContextMenu]);\n\n return (\n \n

\n {/* {!props.hideLogo && (\n \n )} */}\n {user && (\n <>\n {openContextMenu && (\n {\n setOpenContextMenu(false);\n }}\n />\n )}\n\n setOpenContextMenu(!openContextMenu)}\n >\n \n {isPro && (\n
\n \n
\n )}\n \n\n \n {contextMenu.map((m) => (\n {\n setOpenContextMenu(false);\n m.action();\n }}\n className=\"flex items-center\n border-b border-black/20 border-solid last:border-none\n text-sm px-6 py-4 w-full text-left active:bg-white/5 hover:bg-white/5\"\n >\n \n {m.name}\n \n ))}\n
\n \n )}\n \n \n );\n};\n\nexport type MinimalPageHeaderProps = {\n /** whether the buttons should be hidden or not */\n hideUI?: boolean;\n /** callback that gets called when the back button is pressed */\n onBackClick?: (proceed: () => void, router: UseIonRouterResult) => void;\n className?: string;\n forceBackLink?: string;\n};\n\n/**\n * Back button that is usually displayed in the header to the left,\n * replaces the Ionic one because we can decide our own styling that way\n * @param props @see MinimalPageHeaderProps\n */\nconst GoBackButton = (props: MinimalPageHeaderProps) => {\n const ionRouter = useIonRouter();\n const history = useHistory();\n\n const backClick = useCallback(() => {\n const navigateBack = () => {\n if (props.forceBackLink) {\n history.replace(props.forceBackLink);\n } else {\n if (ionRouter.canGoBack()) {\n ionRouter.goBack();\n } else {\n ionRouter.push('/', 'root', 'replace');\n }\n }\n };\n\n if (props.onBackClick) {\n props.onBackClick(navigateBack, ionRouter); // pass the navigate back, let the caller decide!\n } else {\n navigateBack(); // navigate back directly\n }\n }, [history, ionRouter, props]);\n\n // useIonViewWillLeave(backClick);\n\n useEffect(() => {\n window.addEventListener('popstate', backClick);\n\n return () => window.removeEventListener('popstate', backClick);\n }, [backClick]);\n\n return (\n \n \n {/* */}\n \n \n \n );\n};\n\n/**\n * Back button that is usually displayed in the header to the left,\n * replaces the Ionic one because we can decide our own styling that way\n * @param props @see MinimalPageHeaderProps\n */\nexport const GoBackSaveButton = (\n props: MinimalPageHeaderProps & {\n out: boolean;\n saveAction: () => void;\n }\n) => {\n const ionRouter = useIonRouter();\n const history = useHistory();\n\n // const [out, setOut] = useState(false);\n\n // useEffect(() => {\n // setTimeout(() => setOut((s) => !s), 1000);\n // }, [out]);\n\n return (\n \n {\n const navigateBack = () => {\n if (props.forceBackLink) {\n history.replace(props.forceBackLink);\n } else {\n if (ionRouter.canGoBack()) {\n ionRouter.goBack();\n } else {\n ionRouter.push('/', 'root', 'replace');\n }\n }\n };\n\n if (props.onBackClick) {\n props.onBackClick(navigateBack, ionRouter); // pass the navigate back, let the caller decide!\n } else {\n navigateBack(); // navigate back directly\n }\n }}\n >\n {/* */}\n \n \n\n {/*
*/}\n {/*
*/}\n\n \n {/* */}\n \n \n \n );\n};\n\n/**\n * Minimal header, used in places where\n * @param props @see MinimalPageHeaderProps\n */\nexport const OwnUIMinimalHeader = (\n props: MinimalPageHeaderProps & {\n BackButton?: React.FC;\n }\n) => {\n return (\n \n \n {props.BackButton ? (\n \n ) : (\n \n )}\n \n \n );\n};\n\nexport default OwnUIHeader;\n","import { type CSSProperties } from 'react';\nimport type { GridArea } from '../..';\n\nexport type BackgroundElementProps = {\n color: string;\n gradient?: string;\n grid?: GridArea;\n image?: string;\n height?: number;\n};\n\nexport const BackgroundElement = (props: BackgroundElementProps) => {\n // see: https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-area\n // TODO: maybe update with \"end\" / \"last-line\" in future\n\n // useEffect(() => {\n // alert(props.color);\n // }, [props.color]);\n\n // return (\n // \n // );\n return (\n \n );\n};\n\nexport default BackgroundElement;\n","import type { BackgroundElementProps, ElementInfo } from '..';\nimport BackgroundElement from './BackgroundElement';\n\nexport const background: ElementInfo = {\n name: 'background',\n Element: BackgroundElement,\n zIndex: -20,\n animationSettings: {\n disable: true\n }\n};\n\nexport * from './BackgroundElement';\n\nexport default background;\n","import type { GridArea } from '..';\nimport type { Align } from '.';\n\nexport const HEIGHT_DEFINING_CLASS = 'own-height';\n\nexport const gridToStyle = (p: GridArea) => ({\n gridArea: `${p.y + 1}/${p.x + 1}/${p.y + (p.h || 1) + 1}/${p.x + p.w + 1}`,\n zIndex: p.z\n});\n\nconst mapVertical = {\n top: 'flex-start',\n center: 'center',\n bottom: 'flex-end'\n};\n\nexport const defaultTextAlign: Align = {\n horizontal: 'left',\n vertical: 'top'\n};\n\nexport const defaultTextAlignOneline: Align = {\n horizontal: 'center',\n vertical: 'center'\n};\n\nexport const defaultImageAlign: Align = {\n horizontal: 'center',\n vertical: 'top'\n};\n\nexport const defaultLineAlign: (grid: GridArea) => Align = (grid) => {\n return (grid.h || 1) === 1 ? defaultTextAlignOneline : defaultTextAlign;\n};\n\nexport const alignToStyle = (defaultAlign: Align, a?: Partial) => {\n const align = { ...defaultAlign, ...a };\n\n return {\n justifyContent: align.horizontal,\n alignItems: mapVertical[align.vertical]\n };\n};\n\nfunction easeInOutCubic(t: number) {\n return t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1;\n}\n\nexport function scrollToElement(id: string) {\n const target = document.getElementById(id);\n if (!target) return;\n\n const currentPosition =\n window.pageYOffset ||\n document.documentElement.scrollTop ||\n document.body.scrollTop ||\n 0;\n const targetPosition = target.getBoundingClientRect().top + currentPosition;\n const distance = targetPosition - currentPosition;\n const duration = 1000; // in milliseconds\n\n let start: number | null = null;\n window.requestAnimationFrame(function step(timestamp) {\n if (!start) start = timestamp;\n const progress = timestamp - start;\n const percentage = Math.min(progress / duration, 1);\n window.scrollTo(0, currentPosition + distance * easeInOutCubic(percentage));\n if (progress < duration) {\n window.requestAnimationFrame(step);\n }\n });\n}\n","import { gridToStyle, alignToStyle, defaultImageAlign } from './elements';\nimport type {\n AllHTMLAttributes,\n ComponentPropsWithRef,\n ElementType,\n HTMLAttributes,\n PropsWithChildren\n} from 'react';\nimport type { Align } from '../elements';\nimport type { GridArea } from '@own.page/own.tiles';\n\nexport type PickHTMLAttributes> =\n Pick, T>;\n\nexport type PickHTMLAttributesAll<\n T extends keyof AllHTMLAttributes\n> = Pick, T>;\n\nexport type OuterComponentProps = PropsWithChildren<\n PickHTMLAttributes<'className' | 'style'>\n>;\n\nexport type OuterComponentFC = React.FC;\n\nexport type OwnTileProps

= P &\n PropsWithChildren &\n PickHTMLAttributes<'className' | 'style' | 'onMouseDown'> & {\n /** the position of the tile in the grid */\n grid: GridArea;\n\n /** the alignment of items inside the tile (flexbox) */\n align?: Partial;\n\n /**\n * fallback alignment (should be hardcoded by the OwnTileFC component)\n * if the align (from the OwnElement info) has not all values specified\n */\n defaultAlign?: Align;\n\n /**\n * the outer html element of the OwnTile,\n * this is usually just passed through to the OwnTile component of the OwnElement\n */\n OuterComponent: OuterComponentFC;\n };\n\nexport type InjectedTileProps

= Omit<\n OwnTileProps

,\n 'OuterComponent'\n>;\n\n/**\n * The type for all functional own.tile components\n * takes custom props `P` and expects the common @see OwnTileProps\n */\nexport type OwnTileFC

= React.FC>;\n\nexport type InjectedTileFC

= React.FC>;\n\nexport const OwnTile = (props: OwnTileProps) => {\n if (props.OuterComponent === undefined) {\n console.error('owntile outercomponent is undefined!', props);\n }\n\n return (\n \n {props.children}\n \n );\n};\n\ntype InnerOwnTileProps = {\n Component?: T;\n className?: string;\n} & ComponentPropsWithRef;\n\n// This is not needed nor compulsory for OwnTiles to have! just a nice helper to get equal design\n// TODO: probably transition padding and border radius to use variables that are defined in the style\nexport const InnerOwnTile = ({\n Component = 'div' as T, // Default to 'div'\n children,\n className,\n ...rest\n}: PropsWithChildren>) => {\n return (\n \n {children}\n \n );\n};\n\nexport default OwnTile;\n","import OwnTile, { type OwnTileProps } from '../OwnTile';\n\nexport type Border = 'square' | 'rounded' | 'circle';\n\nexport type ImageCrop = 'cover' | 'contain';\n\nexport type ImagePosition = {\n x: number;\n y: number;\n};\n\nexport const borderOptions = {\n square: { borderRadius: '0', stretch: true },\n rounded: { borderRadius: '2.25rem', stretch: true },\n circle: { borderRadius: '10000px', stretch: false }\n};\n\nexport type ImageElementProps = OwnTileProps<{\n layout?: Border;\n stretch?: boolean;\n imageCrop?: ImageCrop;\n imagePosition?: ImagePosition;\n src: string;\n}>;\n\n// const PlaceHolder = (props: { borderRadius: string; stretch: boolean }) => (\n//

\n// \n// {/* */}\n// \n//
\n// \n// );\n\nexport const ImageElement = (props: ImageElementProps) => {\n const border = borderOptions[props.layout ?? 'square'];\n const borderRadius = border.borderRadius;\n const stretch = border.stretch ?? props.stretch;\n const src = props.src ?? '/assets/icons/avatar.svg';\n const pos = props.imagePosition ?? { x: 50, y: 50 };\n\n return (\n \n {stretch ? (\n \n ) : (\n
\n \n
\n )}\n
\n );\n};\n\nexport default ImageElement;\n","import type { ElementInfo, ImageElementProps } from '..';\nimport ImageElement from './ImageElement';\n\nexport const image: ElementInfo = {\n name: 'image',\n Element: ImageElement,\n zIndex: -10,\n minDimensions: () => ({ w: 2, h: 2 }),\n potentialResourceURL: (props) => props.src\n};\n\nexport * from './ImageElement';\n\nexport default image;\n","import { ArrowRight } from '@phosphor-icons/react/dist/ssr';\nimport { InnerOwnTile } from '../OwnTile';\n\nconst _Blur = () => (\n \n);\n\n// const BlurredBackground: React.FC<{\n// imageSrc: string;\n// blurHeight: number;\n// }> = ({ imageSrc, blurHeight }) => {\n// const containerRef = useRef(null);\n\n// useEffect(() => {\n// const img = new Image();\n// img.src = imageSrc;\n\n// img.onload = function () {\n// const canvas = document.createElement('canvas');\n// const ctx = canvas.getContext('2d');\n\n// if (ctx == null) {\n// throw new Error('no context given');\n// }\n\n// // Set canvas size to match the image\n// canvas.width = img.width;\n// canvas.height = img.height;\n\n// // Draw the original image onto the canvas\n// ctx.drawImage(img, 0, 0);\n\n// // Apply the blur effect\n// ctx.filter = 'blur(30px)';\n// ctx.drawImage(canvas, 0, 0);\n\n// // Create a gradient mask\n// const gradient = ctx.createLinearGradient(\n// 0,\n// canvas.height,\n// 0,\n// canvas.height - blurHeight\n// );\n// gradient.addColorStop(0, 'rgba(255, 255, 255, 1)');\n// gradient.addColorStop(1, 'rgba(255, 255, 255, 0)');\n\n// // Apply the gradient mask\n// ctx.globalCompositeOperation = 'destination-in';\n// ctx.fillStyle = gradient;\n// ctx.fillRect(0, canvas.height - blurHeight, canvas.width, blurHeight);\n\n// // Convert the canvas to a data URL\n// const blurredImageUrl = canvas.toDataURL();\n\n// // Set the blurred image as the background of the container\n// if (containerRef.current) {\n// (\n// containerRef.current as any\n// ).style.backgroundImage = `url(${blurredImageUrl})`;\n// }\n// };\n// }, [imageSrc, blurHeight]);\n\n// return (\n// \n// );\n// };\n\n// const ImageBlur: React.FC<{ src: string }> = ({ src }) => (\n// \n// );\n\nconst CardLayout = (props: {\n url: string;\n text: string;\n src: string;\n color: string;\n setImageSrc?: React.Dispatch>;\n}) => {\n return (\n \n \n {/* */}\n \n \n \n {/* \n \n */}\n {/* \n \n */}\n\n {/* small good bttom */}\n {props.text && (\n //

\n

\n {props.text}\n

\n )}\n\n {/* */}\n
\n );\n};\n\n// OLD DESIGN, might be used later! (in addition):\n//\n// const CardLayout: React.FC<{\n// url: string;\n// text: string;\n// src: string;\n// color: string;\n// setImageSrc?: React.Dispatch>;\n// }> = (props) => {\n// return (\n// \n// \n// \n// \n// \n\n// {/* small good bttom */}\n// {props.text && (\n// \n//

\n// {props.text}\n//

\n// \n// )}\n//
\n// );\n// };\n\nexport default CardLayout;\n","import { ArrowRight } from '@phosphor-icons/react/dist/ssr';\nimport { InnerOwnTile } from '../OwnTile';\n\n// const OldSquareLinkIconLayout: React.FC<{\n// url: string;\n// text: string;\n// src: string;\n// color: string;\n// }> = (props) => {\n// return (\n// \n// \n// \n// \n\n// {/* image with padding */}\n// \n// \n// \n// \n\n// {/* small good bttom */}\n//
\n//

\n// {props.text}\n//

\n//
\n//
\n// );\n// };\n\nconst SquareLinkIconLayout = (props: {\n url: string;\n text: string;\n src: string;\n color: string;\n}) => {\n return (\n \n {/* \n \n */}\n\n {/* image with padding */}\n \n {/* this is used to have white background that hides the text if width = 2 grid units */}\n
\n\n \n {/* */}\n \n\n {/* //

*/}\n

\n {props.text}\n

\n\n {/* \n \n */}\n \n {/* this is used to have white background that hides the text if width = 2 grid units */}\n {/*
*/}\n
\n\n \n \n \n );\n};\n\nexport default SquareLinkIconLayout;\n","import { ArrowRight } from '@phosphor-icons/react/dist/ssr';\nimport { InnerOwnTile } from '../OwnTile';\n\nconst SquareLinkIconLayout = (props: {\n url: string;\n text: string;\n src: string;\n color: string;\n}) => {\n return (\n \n {/* //

*/}\n

\n {props.text}\n

\n\n \n {/* this is used to have white background that hides the text if width = 2 grid units */}\n {/*
*/}\n
\n\n \n \n \n );\n};\n\nexport default SquareLinkIconLayout;\n","import LinkLayoutCard from './LinkLayoutCard';\nimport LinkLayoutIcon from './LinkLayoutIcon';\nimport LinkLayoutText from './LinkLayoutText';\nimport OwnTile, { type OwnTileProps } from '../OwnTile';\n\n/**\n * defines the style of the link element\n */\nexport enum Layout {\n Card = 'card',\n Icon = 'icon',\n Text = 'text'\n}\n\nexport const layoutMapping = {\n card: LinkLayoutCard,\n icon: LinkLayoutIcon,\n text: LinkLayoutText\n};\n\nexport const _minDimensions = {\n card: { w: 2, h: 2 },\n icon: { w: 1, h: 1 },\n text: { w: 2, h: 1 }\n};\n\nconst FALLBACK_IMAGE = '/assets/elements/placeholder_link.svg';\n\nexport type LinkElementProps = OwnTileProps<{\n text: string;\n url: string;\n layout: Layout;\n src?: string; // this is actually the image src!\n color: string;\n}>;\n\nexport const minDimensions = (props: LinkElementProps) => {\n return _minDimensions[props.layout];\n};\n\nconst LinkElement = (props: LinkElementProps) => {\n const Ll = layoutMapping[props.layout];\n\n return (\n \n \n \n );\n};\n\nexport default LinkElement;\n","import type { ElementInfo } from '..';\nimport LinkElement, {\n minDimensions,\n type LinkElementProps\n} from './LinkElement';\n\nexport const link: ElementInfo = {\n name: 'link',\n Element: LinkElement,\n // animationSettings: {\n // },\n minDimensions,\n potentialResourceURL: (props) => props.src\n // Element: withAnimation(LinkElement),\n};\n\nexport {\n Layout,\n layoutMapping,\n _minDimensions,\n default as LinkElement\n} from './LinkElement';\n\nexport default link;\n","import type { SocialIconTypeProps } from './SocialIcon';\n\n/**\n * @param props @see SocialIconTypeProps\n */\nexport const Basic = (props: SocialIconTypeProps) => {\n return (\n \n \n \n );\n};\n","import type { SocialIconTypeProps } from './SocialIcon';\n\n/**\n * @param props @see SocialIconProps\n */\nexport const Circle = (props: SocialIconTypeProps) => {\n return (\n \n \n\n \n \n );\n};\n","import type { SocialIconTypeProps } from './SocialIcon';\n\n/**\n * @param props @see SocialIconTypeProps\n */\nexport const FilledCircle = (props: SocialIconTypeProps) => {\n const maskID = 'social-icon_filled-circle_' + props.utf8;\n\n return (\n \n \n \n \n \n \n \n\n \n \n );\n};\n","import type { Social } from './SocialsElement';\n\nexport const socialInfo = {\n instagram: {\n icon: { class: 'ri-instagram-line', utf8: '\\uEE66' },\n url: 'https://www.instagram.com/'\n },\n linkedin: {\n icon: { class: 'ri-linkedin-fill', utf8: '\\uEEB5' },\n url: 'https://www.linkedin.com/in/'\n },\n x: {\n icon: { class: 'ri-twitter-x-fill', utf8: '\\uF3E6' },\n url: 'https://twitter.com/'\n },\n facebook: {\n icon: { class: 'ri-facebook-fill', utf8: '\\uECBC' },\n url: 'https://www.facebook.com/'\n },\n phone: { icon: { class: 'ri-phone-fill', utf8: '\\uEFE9' }, url: 'tel:' },\n github: {\n icon: { class: 'ri-github-fill', utf8: '\\uEDCA' },\n url: 'https://github.com/'\n }, // also possible: '\\uEDCB'\n email: { icon: { class: 'ri-mail-line', utf8: '\\uEEF6' }, url: 'mailto:' }, // also possible: '\\uEEF3'\n twitch: {\n icon: { class: 'ri-twitch-fill', utf8: '\\uF238' },\n url: 'https://www.twitch.tv/'\n },\n reddit: {\n icon: { class: 'ri-reddit-fill', utf8: '\\uF061' },\n url: 'https://www.reddit.com/user/'\n },\n snapchat: {\n icon: { class: 'ri-snapchat-fill', utf8: '\\uF15B' },\n url: 'https://www.snapchat.com/'\n },\n youtube: {\n icon: { class: 'ri-youtube-fill', utf8: '\\uF2D4' },\n url: 'https://www.youtube.com/'\n },\n tiktok: {\n icon: { class: 'ri-tiktok-fill', utf8: '\\uF372' },\n url: 'https://www.tiktok.com/'\n },\n threads: {\n icon: { class: 'ri-threads-fill', utf8: '\\uF3E0' },\n url: 'https://www.threads.net/'\n },\n pinterest: {\n icon: { class: 'ri-pinterest-fill', utf8: '\\uEFFF' },\n url: 'https://www.pinterest.com/'\n },\n tumblr: {\n icon: { class: 'ri-tumblr-fill', utf8: '\\uF232' },\n url: 'https://www.tumblr.com/'\n },\n medium: {\n icon: { class: 'ri-medium-fill', utf8: '\\uEF2B' },\n url: 'https://medium.com/'\n },\n discord: {\n icon: { class: 'ri-discord-fill', utf8: '\\uEC37' },\n url: 'https://discord.gg/'\n },\n whatsapp: {\n icon: { class: 'ri-whatsapp-line', utf8: '\\uF2BC' },\n url: 'https://wa.me/'\n }\n};\n\nexport function socialLink(s: Social) {\n return s.username.startsWith('http') || s.username.startsWith('www')\n ? s.username\n : socialInfo[s.id].url + s.username;\n}\n","import { Basic } from './SocialIconBasic';\nimport { Circle } from './SocialIconCircle';\nimport { FilledCircle } from './SocialIconFilledCircle';\nimport { socialInfo } from './socialInfo';\nimport type { SocialID } from './SocialsElement';\n\nexport type SocialIconType = 'filled-circle' | 'circle' | 'basic';\n\nexport type SocialIconProps = {\n icon?: SocialIconType;\n social: SocialID;\n color: string;\n};\n\nexport type SocialIconTypePropsBase = {\n utf8: string;\n color: string;\n};\n\nexport type SocialIconTypeProps = SocialIconTypePropsBase & {\n InnerIcon: React.FC;\n};\n\nexport const iconTypeMap = {\n 'filled-circle': FilledCircle,\n circle: Circle,\n basic: Basic\n};\n\nexport const InnerTextIcon = (props: SocialIconTypePropsBase) => (\n \n {props.utf8}\n \n);\n\nconst SocialIcon = (props: SocialIconProps) => {\n const Icon = iconTypeMap[props.icon ?? 'filled-circle'];\n const utf8 = socialInfo[props.social].icon.utf8;\n return ;\n};\n\nexport default SocialIcon;\n","import { HEIGHT_DEFINING_CLASS } from '../elements';\nimport OwnTile, { type OwnTileProps } from '../OwnTile';\nimport SocialIcon, { type SocialIconType } from './SocialIcon';\nimport { type socialInfo, socialLink } from './socialInfo';\n\nexport type SocialID = keyof typeof socialInfo;\n\nexport type Social = {\n id: SocialID;\n username: string;\n};\n\nexport type SocialsElementProps = OwnTileProps<{\n socials: Social[];\n icon?: SocialIconType;\n color?: string;\n}>;\n\nconst SocialsElement = (props: SocialsElementProps) => {\n const color = props.color || 'var(--main-color)';\n //const color = 'var(--main-color)';\n return (\n \n
\n \n {props.socials.map((s) => (\n \n \n \n ))}\n
\n \n
\n );\n};\n\nexport default SocialsElement;\n\n// export const SocialsElement: React.FC<\n// PropsWithChildren\n// > = (props) => {\n// return ;\n// };\n\n// export const EditorSocialsElement: React.FC<\n// PropsWithChildren\n// > = (props) => {\n// const Icon = iconTypeMap[props.icon ?? 'filled-circle'];\n// const color = props.color || 'white';\n\n// return (\n// \n//
\n//
\n// {props.socials.map((s) => (\n// \n// {/* */}\n// \n// {/* */}\n//
\n// ))}\n//
\n// \n// \n// );\n// };\n\n// TODO: fix code duplication from EditorTextElement (same function name),\n// TODO: remove this function completely in cleanup!!!\n// const innerMostChild: (\n// domElement: HTMLDivElement | null\n// ) => Element | null | undefined = (domElement) => {\n// return domElement?.lastElementChild?.firstElementChild;\n// };\n\n// TODO: the elegant way to fix the above and the below is to supply a \"heightRef\" object to the editor components\n// that can be simply bound to the relevant DOM element in the component rendering\n// TODO: have this ref now (from scroll element, but no idea how to pipe it from draghandle (yet))\n\n// /**\n// * TODO: this is the same code as textHeightCalculation in EditorTextElement, think about pulling that logic out!\n// * @param element\n// * @param editor\n// */\n// export const socialsHeightCalculation = (\n// element: OwnElement,\n// editor: EditorState,\n// ref?: React.MutableRefObject\n// ) => {\n// const sizeInfo = editor.sizeInfo;\n\n// const heightInPx =\n// ref?.current?.firstElementChild?.firstElementChild?.clientHeight ||\n// innerMostChild(editor.selectedElementRef.current)?.firstElementChild // remove this middle case completely (also in EditorTextELement!)\n// ?.clientHeight ||\n// 0;\n// const heightInGrid = Math.max(\n// Math.ceil(sizeInfo.pxToGrid(heightInPx)),\n// // TODO: here we could get it locally when we have a better TextElement struct that offers the minimum dimensions directly\n// // like in tool (cleanup task)\n// getMinimumDimensions(element).h\n// );\n\n// console.log(\"inside height calc\", heightInPx, heightInGrid);\n\n// return heightInGrid;\n// };\n","import type { ElementInfo } from '..';\nimport SocialsElement, { type SocialsElementProps } from './SocialsElement';\n\nexport type { Social, SocialID } from './SocialsElement';\nexport type { SocialIconType } from './SocialIcon';\nexport { iconTypeMap } from './SocialIcon';\nexport { socialInfo } from './socialInfo';\n\nexport const socials: ElementInfo = {\n name: 'socials',\n Element: SocialsElement\n};\n\nexport default socials;\n","import { defaultLineAlign } from '../elements';\nimport OwnTile, { type OwnTileProps } from '../OwnTile';\n\nexport type TextElementProps = OwnTileProps<{\n className?: string;\n color: string;\n fontVariable: string; // variable identifier of the font (Dominik font style)\n fontStyle: React.CSSProperties; // direct font style (Elitza) - will be removed in Beta\n background?: string;\n}>;\n\nconst TextElement = (props: TextElementProps) => {\n return (\n \n \n {props.children}\n \n \n );\n};\n\nexport default TextElement;\n","import type { ElementInfo } from '..';\nimport TextElement, { type TextElementProps } from './TextElement';\n\nexport const text: ElementInfo = {\n name: 'text',\n Element: TextElement\n};\n\nexport default text;\n","'use client';\n\nimport { animated, useInView } from '@react-spring/web';\nimport type { PickHTMLAttributesAll } from '../elements';\nimport { type PropsWithChildren } from 'react';\n\ntype FadeInProps = PropsWithChildren<{\n isLink?: boolean;\n}> &\n PickHTMLAttributesAll<'className' | 'href' | 'target' | 'rel' | 'style'>;\n\nexport const FadeIn = ({ children, ...props }: FadeInProps) => {\n const [ref, inView] = useInView({\n // threshold: 0.1,\n rootMargin: '0% 400%',\n once: true\n });\n\n const isLink = props.isLink || props.href;\n const C = isLink ? animated.a : animated.div;\n const className = `fade-in ${props.isLink ? 'pointer-events-auto cursor-pointer' : ''} ${props.className || ''}`;\n\n return (\n \n {children}\n \n );\n};\n","import { FadeIn } from '../animations';\nimport type {\n InjectedTileFC,\n OwnTileFC,\n OwnTileProps\n} from '../elements/OwnTile';\n\nexport type AnimationSettings = {\n isLink?: boolean;\n disable?: boolean;\n};\n\nexport function withAnimation(\n C: OwnTileFC,\n animationSettings?: AnimationSettings\n) {\n if (animationSettings?.disable) {\n return C;\n }\n\n if (C === undefined) {\n throw new Error('Component is undefined in withAnimation');\n }\n const animatedElement = (props: OwnTileProps) => (\n \n );\n\n return animatedElement as InjectedTileFC;\n}\n","\"use client\";\nvar Tl = Object.defineProperty;\nvar Il = (r, n, t) => n in r ? Tl(r, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[n] = t;\nvar O = (r, n, t) => Il(r, typeof n != \"symbol\" ? n + \"\" : n, t);\nimport V, { forwardRef as ld, memo as xr, useState as El, useEffect as xl } from \"react\";\nvar au = { exports: {} }, nt = {};\n/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar zc;\nfunction Sl() {\n if (zc) return nt;\n zc = 1;\n var r = V, n = Symbol.for(\"react.element\"), t = Symbol.for(\"react.fragment\"), a = Object.prototype.hasOwnProperty, i = r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, u = { key: !0, ref: !0, __self: !0, __source: !0 };\n function c(d, f, o) {\n var m, _ = {}, b = null, M = null;\n o !== void 0 && (b = \"\" + o), f.key !== void 0 && (b = \"\" + f.key), f.ref !== void 0 && (M = f.ref);\n for (m in f) a.call(f, m) && !u.hasOwnProperty(m) && (_[m] = f[m]);\n if (d && d.defaultProps) for (m in f = d.defaultProps, f) _[m] === void 0 && (_[m] = f[m]);\n return { $$typeof: n, type: d, key: b, ref: M, props: _, _owner: i.current };\n }\n return nt.Fragment = t, nt.jsx = c, nt.jsxs = c, nt;\n}\nvar at = {};\n/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar qc;\nfunction Yl() {\n return qc || (qc = 1, process.env.NODE_ENV !== \"production\" && function() {\n var r = V, n = Symbol.for(\"react.element\"), t = Symbol.for(\"react.portal\"), a = Symbol.for(\"react.fragment\"), i = Symbol.for(\"react.strict_mode\"), u = Symbol.for(\"react.profiler\"), c = Symbol.for(\"react.provider\"), d = Symbol.for(\"react.context\"), f = Symbol.for(\"react.forward_ref\"), o = Symbol.for(\"react.suspense\"), m = Symbol.for(\"react.suspense_list\"), _ = Symbol.for(\"react.memo\"), b = Symbol.for(\"react.lazy\"), M = Symbol.for(\"react.offscreen\"), j = Symbol.iterator, w = \"@@iterator\";\n function x(s) {\n if (s === null || typeof s != \"object\")\n return null;\n var v = j && s[j] || s[w];\n return typeof v == \"function\" ? v : null;\n }\n var $ = r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n function W(s) {\n {\n for (var v = arguments.length, g = new Array(v > 1 ? v - 1 : 0), P = 1; P < v; P++)\n g[P - 1] = arguments[P];\n G(\"error\", s, g);\n }\n }\n function G(s, v, g) {\n {\n var P = $.ReactDebugCurrentFrame, F = P.getStackAddendum();\n F !== \"\" && (v += \"%s\", g = g.concat([F]));\n var H = g.map(function(S) {\n return String(S);\n });\n H.unshift(\"Warning: \" + v), Function.prototype.apply.call(console[s], console, H);\n }\n }\n var T = !1, ue = !1, ne = !1, le = !1, be = !1, ce;\n ce = Symbol.for(\"react.module.reference\");\n function se(s) {\n return !!(typeof s == \"string\" || typeof s == \"function\" || s === a || s === u || be || s === i || s === o || s === m || le || s === M || T || ue || ne || typeof s == \"object\" && s !== null && (s.$$typeof === b || s.$$typeof === _ || s.$$typeof === c || s.$$typeof === d || s.$$typeof === f || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n s.$$typeof === ce || s.getModuleId !== void 0));\n }\n function ve(s, v, g) {\n var P = s.displayName;\n if (P)\n return P;\n var F = v.displayName || v.name || \"\";\n return F !== \"\" ? g + \"(\" + F + \")\" : g;\n }\n function he(s) {\n return s.displayName || \"Context\";\n }\n function B(s) {\n if (s == null)\n return null;\n if (typeof s.tag == \"number\" && W(\"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"), typeof s == \"function\")\n return s.displayName || s.name || null;\n if (typeof s == \"string\")\n return s;\n switch (s) {\n case a:\n return \"Fragment\";\n case t:\n return \"Portal\";\n case u:\n return \"Profiler\";\n case i:\n return \"StrictMode\";\n case o:\n return \"Suspense\";\n case m:\n return \"SuspenseList\";\n }\n if (typeof s == \"object\")\n switch (s.$$typeof) {\n case d:\n var v = s;\n return he(v) + \".Consumer\";\n case c:\n var g = s;\n return he(g._context) + \".Provider\";\n case f:\n return ve(s, s.render, \"ForwardRef\");\n case _:\n var P = s.displayName || null;\n return P !== null ? P : B(s.type) || \"Memo\";\n case b: {\n var F = s, H = F._payload, S = F._init;\n try {\n return B(S(H));\n } catch {\n return null;\n }\n }\n }\n return null;\n }\n var K = Object.assign, z = 0, de, y, q, me, Oe, $e, Me;\n function De() {\n }\n De.__reactDisabledLog = !0;\n function je() {\n {\n if (z === 0) {\n de = console.log, y = console.info, q = console.warn, me = console.error, Oe = console.group, $e = console.groupCollapsed, Me = console.groupEnd;\n var s = {\n configurable: !0,\n enumerable: !0,\n value: De,\n writable: !0\n };\n Object.defineProperties(console, {\n info: s,\n log: s,\n warn: s,\n error: s,\n group: s,\n groupCollapsed: s,\n groupEnd: s\n });\n }\n z++;\n }\n }\n function I() {\n {\n if (z--, z === 0) {\n var s = {\n configurable: !0,\n enumerable: !0,\n writable: !0\n };\n Object.defineProperties(console, {\n log: K({}, s, {\n value: de\n }),\n info: K({}, s, {\n value: y\n }),\n warn: K({}, s, {\n value: q\n }),\n error: K({}, s, {\n value: me\n }),\n group: K({}, s, {\n value: Oe\n }),\n groupCollapsed: K({}, s, {\n value: $e\n }),\n groupEnd: K({}, s, {\n value: Me\n })\n });\n }\n z < 0 && W(\"disabledDepth fell below zero. This is a bug in React. Please file an issue.\");\n }\n }\n var N = $.ReactCurrentDispatcher, C;\n function A(s, v, g) {\n {\n if (C === void 0)\n try {\n throw Error();\n } catch (F) {\n var P = F.stack.trim().match(/\\n( *(at )?)/);\n C = P && P[1] || \"\";\n }\n return `\n` + C + s;\n }\n }\n var Q = !1, fe;\n {\n var _e = typeof WeakMap == \"function\" ? WeakMap : Map;\n fe = new _e();\n }\n function Ye(s, v) {\n if (!s || Q)\n return \"\";\n {\n var g = fe.get(s);\n if (g !== void 0)\n return g;\n }\n var P;\n Q = !0;\n var F = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n var H;\n H = N.current, N.current = null, je();\n try {\n if (v) {\n var S = function() {\n throw Error();\n };\n if (Object.defineProperty(S.prototype, \"props\", {\n set: function() {\n throw Error();\n }\n }), typeof Reflect == \"object\" && Reflect.construct) {\n try {\n Reflect.construct(S, []);\n } catch (te) {\n P = te;\n }\n Reflect.construct(s, [], S);\n } else {\n try {\n S.call();\n } catch (te) {\n P = te;\n }\n s.call(S.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (te) {\n P = te;\n }\n s();\n }\n } catch (te) {\n if (te && P && typeof te.stack == \"string\") {\n for (var E = te.stack.split(`\n`), p = P.stack.split(`\n`), Z = E.length - 1, U = p.length - 1; Z >= 1 && U >= 0 && E[Z] !== p[U]; )\n U--;\n for (; Z >= 1 && U >= 0; Z--, U--)\n if (E[Z] !== p[U]) {\n if (Z !== 1 || U !== 1)\n do\n if (Z--, U--, U < 0 || E[Z] !== p[U]) {\n var oe = `\n` + E[Z].replace(\" at new \", \" at \");\n return s.displayName && oe.includes(\"\") && (oe = oe.replace(\"\", s.displayName)), typeof s == \"function\" && fe.set(s, oe), oe;\n }\n while (Z >= 1 && U >= 0);\n break;\n }\n }\n } finally {\n Q = !1, N.current = H, I(), Error.prepareStackTrace = F;\n }\n var Ie = s ? s.displayName || s.name : \"\", we = Ie ? A(Ie) : \"\";\n return typeof s == \"function\" && fe.set(s, we), we;\n }\n function Fr(s, v, g) {\n return Ye(s, !1);\n }\n function Nr(s) {\n var v = s.prototype;\n return !!(v && v.isReactComponent);\n }\n function qe(s, v, g) {\n if (s == null)\n return \"\";\n if (typeof s == \"function\")\n return Ye(s, Nr(s));\n if (typeof s == \"string\")\n return A(s);\n switch (s) {\n case o:\n return A(\"Suspense\");\n case m:\n return A(\"SuspenseList\");\n }\n if (typeof s == \"object\")\n switch (s.$$typeof) {\n case f:\n return Fr(s.render);\n case _:\n return qe(s.type, v, g);\n case b: {\n var P = s, F = P._payload, H = P._init;\n try {\n return qe(H(F), v, g);\n } catch {\n }\n }\n }\n return \"\";\n }\n var We = Object.prototype.hasOwnProperty, or = {}, lr = $.ReactDebugCurrentFrame;\n function Qe(s) {\n if (s) {\n var v = s._owner, g = qe(s.type, s._source, v ? v.type : null);\n lr.setExtraStackFrame(g);\n } else\n lr.setExtraStackFrame(null);\n }\n function Cr(s, v, g, P, F) {\n {\n var H = Function.call.bind(We);\n for (var S in s)\n if (H(s, S)) {\n var E = void 0;\n try {\n if (typeof s[S] != \"function\") {\n var p = Error((P || \"React class\") + \": \" + g + \" type `\" + S + \"` is invalid; it must be a function, usually from the `prop-types` package, but received `\" + typeof s[S] + \"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");\n throw p.name = \"Invariant Violation\", p;\n }\n E = s[S](v, S, P, g, null, \"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\");\n } catch (Z) {\n E = Z;\n }\n E && !(E instanceof Error) && (Qe(F), W(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\", P || \"React class\", g, S, typeof E), Qe(null)), E instanceof Error && !(E.message in or) && (or[E.message] = !0, Qe(F), W(\"Failed %s type: %s\", g, E.message), Qe(null));\n }\n }\n }\n var Lr = Array.isArray;\n function Ke(s) {\n return Lr(s);\n }\n function Hr(s) {\n {\n var v = typeof Symbol == \"function\" && Symbol.toStringTag, g = v && s[Symbol.toStringTag] || s.constructor.name || \"Object\";\n return g;\n }\n }\n function Ar(s) {\n try {\n return mr(s), !1;\n } catch {\n return !0;\n }\n }\n function mr(s) {\n return \"\" + s;\n }\n function vr(s) {\n if (Ar(s))\n return W(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\", Hr(s)), mr(s);\n }\n var Fe = $.ReactCurrentOwner, Rr = {\n key: !0,\n ref: !0,\n __self: !0,\n __source: !0\n }, hr, _r, pe;\n pe = {};\n function yr(s) {\n if (We.call(s, \"ref\")) {\n var v = Object.getOwnPropertyDescriptor(s, \"ref\").get;\n if (v && v.isReactWarning)\n return !1;\n }\n return s.ref !== void 0;\n }\n function zr(s) {\n if (We.call(s, \"key\")) {\n var v = Object.getOwnPropertyDescriptor(s, \"key\").get;\n if (v && v.isReactWarning)\n return !1;\n }\n return s.key !== void 0;\n }\n function qr(s, v) {\n if (typeof s.ref == \"string\" && Fe.current && v && Fe.current.stateNode !== v) {\n var g = B(Fe.current.type);\n pe[g] || (W('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', B(Fe.current.type), s.ref), pe[g] = !0);\n }\n }\n function Qr(s, v) {\n {\n var g = function() {\n hr || (hr = !0, W(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\", v));\n };\n g.isReactWarning = !0, Object.defineProperty(s, \"key\", {\n get: g,\n configurable: !0\n });\n }\n }\n function Vr(s, v) {\n {\n var g = function() {\n _r || (_r = !0, W(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\", v));\n };\n g.isReactWarning = !0, Object.defineProperty(s, \"ref\", {\n get: g,\n configurable: !0\n });\n }\n }\n var Zr = function(s, v, g, P, F, H, S) {\n var E = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: n,\n // Built-in properties that belong on the element\n type: s,\n key: v,\n ref: g,\n props: S,\n // Record the component responsible for creating this element.\n _owner: H\n };\n return E._store = {}, Object.defineProperty(E._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: !1\n }), Object.defineProperty(E, \"_self\", {\n configurable: !1,\n enumerable: !1,\n writable: !1,\n value: P\n }), Object.defineProperty(E, \"_source\", {\n configurable: !1,\n enumerable: !1,\n writable: !1,\n value: F\n }), Object.freeze && (Object.freeze(E.props), Object.freeze(E)), E;\n };\n function Br(s, v, g, P, F) {\n {\n var H, S = {}, E = null, p = null;\n g !== void 0 && (vr(g), E = \"\" + g), zr(v) && (vr(v.key), E = \"\" + v.key), yr(v) && (p = v.ref, qr(v, F));\n for (H in v)\n We.call(v, H) && !Rr.hasOwnProperty(H) && (S[H] = v[H]);\n if (s && s.defaultProps) {\n var Z = s.defaultProps;\n for (H in Z)\n S[H] === void 0 && (S[H] = Z[H]);\n }\n if (E || p) {\n var U = typeof s == \"function\" ? s.displayName || s.name || \"Unknown\" : s;\n E && Qr(S, U), p && Vr(S, U);\n }\n return Zr(s, E, p, F, P, Fe.current, S);\n }\n }\n var ke = $.ReactCurrentOwner, gr = $.ReactDebugCurrentFrame;\n function Te(s) {\n if (s) {\n var v = s._owner, g = qe(s.type, s._source, v ? v.type : null);\n gr.setExtraStackFrame(g);\n } else\n gr.setExtraStackFrame(null);\n }\n var er;\n er = !1;\n function rr(s) {\n return typeof s == \"object\" && s !== null && s.$$typeof === n;\n }\n function br() {\n {\n if (ke.current) {\n var s = B(ke.current.type);\n if (s)\n return `\n\nCheck the render method of \\`` + s + \"`.\";\n }\n return \"\";\n }\n }\n function Ur(s) {\n return \"\";\n }\n var Or = {};\n function Gr(s) {\n {\n var v = br();\n if (!v) {\n var g = typeof s == \"string\" ? s : s.displayName || s.name;\n g && (v = `\n\nCheck the top-level render call using <` + g + \">.\");\n }\n return v;\n }\n }\n function $r(s, v) {\n {\n if (!s._store || s._store.validated || s.key != null)\n return;\n s._store.validated = !0;\n var g = Gr(v);\n if (Or[g])\n return;\n Or[g] = !0;\n var P = \"\";\n s && s._owner && s._owner !== ke.current && (P = \" It was passed a child from \" + B(s._owner.type) + \".\"), Te(s), W('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', g, P), Te(null);\n }\n }\n function Mr(s, v) {\n {\n if (typeof s != \"object\")\n return;\n if (Ke(s))\n for (var g = 0; g < s.length; g++) {\n var P = s[g];\n rr(P) && $r(P, v);\n }\n else if (rr(s))\n s._store && (s._store.validated = !0);\n else if (s) {\n var F = x(s);\n if (typeof F == \"function\" && F !== s.entries)\n for (var H = F.call(s), S; !(S = H.next()).done; )\n rr(S.value) && $r(S.value, v);\n }\n }\n }\n function Xr(s) {\n {\n var v = s.type;\n if (v == null || typeof v == \"string\")\n return;\n var g;\n if (typeof v == \"function\")\n g = v.propTypes;\n else if (typeof v == \"object\" && (v.$$typeof === f || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n v.$$typeof === _))\n g = v.propTypes;\n else\n return;\n if (g) {\n var P = B(v);\n Cr(g, s.props, \"prop\", P, s);\n } else if (v.PropTypes !== void 0 && !er) {\n er = !0;\n var F = B(v);\n W(\"Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?\", F || \"Unknown\");\n }\n typeof v.getDefaultProps == \"function\" && !v.getDefaultProps.isReactClassApproved && W(\"getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.\");\n }\n }\n function Jr(s) {\n {\n for (var v = Object.keys(s.props), g = 0; g < v.length; g++) {\n var P = v[g];\n if (P !== \"children\" && P !== \"key\") {\n Te(s), W(\"Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.\", P), Te(null);\n break;\n }\n }\n s.ref !== null && (Te(s), W(\"Invalid attribute `ref` supplied to `React.Fragment`.\"), Te(null));\n }\n }\n var Dr = {};\n function wr(s, v, g, P, F, H) {\n {\n var S = se(s);\n if (!S) {\n var E = \"\";\n (s === void 0 || typeof s == \"object\" && s !== null && Object.keys(s).length === 0) && (E += \" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\");\n var p = Ur();\n p ? E += p : E += br();\n var Z;\n s === null ? Z = \"null\" : Ke(s) ? Z = \"array\" : s !== void 0 && s.$$typeof === n ? (Z = \"<\" + (B(s.type) || \"Unknown\") + \" />\", E = \" Did you accidentally export a JSX literal instead of a component?\") : Z = typeof s, W(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\", Z, E);\n }\n var U = Br(s, v, g, F, H);\n if (U == null)\n return U;\n if (S) {\n var oe = v.children;\n if (oe !== void 0)\n if (P)\n if (Ke(oe)) {\n for (var Ie = 0; Ie < oe.length; Ie++)\n Mr(oe[Ie], s);\n Object.freeze && Object.freeze(oe);\n } else\n W(\"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\");\n else\n Mr(oe, s);\n }\n if (We.call(v, \"key\")) {\n var we = B(s), te = Object.keys(v).filter(function(tt) {\n return tt !== \"key\";\n }), tr = te.length > 0 ? \"{key: someKey, \" + te.join(\": ..., \") + \": ...}\" : \"{key: someKey}\";\n if (!Dr[we + tr]) {\n var rt = te.length > 0 ? \"{\" + te.join(\": ..., \") + \": ...}\" : \"{}\";\n W(`A props object containing a \"key\" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />`, tr, we, rt, we), Dr[we + tr] = !0;\n }\n }\n return s === a ? Jr(U) : Xr(U), U;\n }\n }\n function Kr(s, v, g) {\n return wr(s, v, g, !0);\n }\n function pr(s, v, g) {\n return wr(s, v, g, !1);\n }\n var kr = pr, et = Kr;\n at.Fragment = a, at.jsx = kr, at.jsxs = et;\n }()), at;\n}\nprocess.env.NODE_ENV === \"production\" ? au.exports = Sl() : au.exports = Yl();\nvar J = au.exports;\nconst md = ({\n Component: r = \"div\",\n // Default to 'div'\n children: n,\n className: t,\n ...a\n}) => /* @__PURE__ */ J.jsx(\n r,\n {\n className: \"p-4 rounded-[2.25rem] w-full h-full overflow-hidden relative \" + (t || \"\"),\n ...a,\n children: n\n }\n), _t = (r, n) => Object.fromEntries(\n Object.entries({ ...r, ...n }).map(([t, a]) => [\n t,\n typeof a == \"object\" && a ? { ...r[t], ...a } : a\n ])\n);\nfunction DT(r) {\n return r.type === \"object\" || r.type === \"function\";\n}\nfunction wT(r) {\n return Wl(r[0]);\n}\nfunction Wl(r) {\n var t;\n const n = {};\n for (const [a, i] of Object.entries(r.props)) {\n let u;\n if (i.type.raw === \"boolean\")\n u = \"boolean\";\n else if (i.type.name === \"enum\")\n u = i.type.value.map((c) => c.value.replace(/\"/g, \"\"));\n else if ([\"number\", \"string\", \"object\", \"function\"].includes(i.type.name))\n u = i.type.name;\n else\n continue;\n n[a] = {\n description: i.description || \"\",\n type: u,\n required: i.required || !1,\n defaultValue: (t = i.defaultValue) == null ? void 0 : t.value,\n ogInfo: i\n };\n }\n return n;\n}\nvar vd = {}, gt = {}, hd = {}, iu = {}, Ee = {}, D = {}, h = {};\nh.secondsInYear = h.secondsInWeek = h.secondsInQuarter = h.secondsInMonth = h.secondsInMinute = h.secondsInHour = h.secondsInDay = h.quartersInYear = h.monthsInYear = h.monthsInQuarter = h.minutesInYear = h.minutesInMonth = h.minutesInHour = h.minutesInDay = h.minTime = h.millisecondsInWeek = h.millisecondsInSecond = h.millisecondsInMinute = h.millisecondsInHour = h.millisecondsInDay = h.maxTime = h.daysInYear = h.daysInWeek = h.constructFromSymbol = void 0;\nh.daysInWeek = 7;\nconst Fl = h.daysInYear = 365.2425, Nl = h.maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1e3;\nh.minTime = -Nl;\nh.millisecondsInWeek = 6048e5;\nh.millisecondsInDay = 864e5;\nh.millisecondsInMinute = 6e4;\nh.millisecondsInHour = 36e5;\nh.millisecondsInSecond = 1e3;\nh.minutesInYear = 525600;\nh.minutesInMonth = 43200;\nh.minutesInDay = 1440;\nh.minutesInHour = 60;\nh.monthsInQuarter = 3;\nh.monthsInYear = 12;\nh.quartersInYear = 4;\nconst Cl = h.secondsInHour = 3600;\nh.secondsInMinute = 60;\nconst _d = h.secondsInDay = Cl * 24;\nh.secondsInWeek = _d * 7;\nconst Ll = h.secondsInYear = _d * Fl, Hl = h.secondsInMonth = Ll / 12;\nh.secondsInQuarter = Hl * 3;\nh.constructFromSymbol = Symbol.for(\"constructDateFrom\");\nD.constructFrom = Al;\nvar Qc = h;\nfunction Al(r, n) {\n return typeof r == \"function\" ? r(n) : r && typeof r == \"object\" && Qc.constructFromSymbol in r ? r[Qc.constructFromSymbol](n) : r instanceof Date ? new r.constructor(n) : new Date(n);\n}\nvar l = {};\nl.toDate = yl;\nvar Rl = D;\nfunction yl(r, n) {\n return (0, Rl.constructFrom)(n || r, r);\n}\nEe.addDays = Ql;\nvar zl = D, ql = l;\nfunction Ql(r, n, t) {\n const a = (0, ql.toDate)(r, t == null ? void 0 : t.in);\n return isNaN(n) ? (0, zl.constructFrom)((t == null ? void 0 : t.in) || r, NaN) : (n && a.setDate(a.getDate() + n), a);\n}\nvar Sr = {};\nSr.addMonths = Zl;\nvar Vc = D, Vl = l;\nfunction Zl(r, n, t) {\n const a = (0, Vl.toDate)(r, t == null ? void 0 : t.in);\n if (isNaN(n)) return (0, Vc.constructFrom)((t == null ? void 0 : t.in) || r, NaN);\n if (!n)\n return a;\n const i = a.getDate(), u = (0, Vc.constructFrom)(\n (t == null ? void 0 : t.in) || r,\n a.getTime()\n );\n u.setMonth(a.getMonth() + n + 1, 0);\n const c = u.getDate();\n return i >= c ? u : (a.setFullYear(\n u.getFullYear(),\n u.getMonth(),\n i\n ), a);\n}\niu.add = Jl;\nvar Bl = Ee, Ul = Sr, Gl = D, Xl = l;\nfunction Jl(r, n, t) {\n const {\n years: a = 0,\n months: i = 0,\n weeks: u = 0,\n days: c = 0,\n hours: d = 0,\n minutes: f = 0,\n seconds: o = 0\n } = n, m = (0, Xl.toDate)(r, t == null ? void 0 : t.in), _ = i || a ? (0, Ul.addMonths)(m, i + a * 12) : m, b = c || u ? (0, Bl.addDays)(_, c + u * 7) : _, M = f + d * 60, w = (o + M * 60) * 1e3;\n return (0, Gl.constructFrom)(\n (t == null ? void 0 : t.in) || r,\n +b + w\n );\n}\nvar uu = {}, cu = {};\ncu.isSaturday = pl;\nvar Kl = l;\nfunction pl(r, n) {\n return (0, Kl.toDate)(r, n == null ? void 0 : n.in).getDay() === 6;\n}\nvar su = {};\nsu.isSunday = e0;\nvar kl = l;\nfunction e0(r, n) {\n return (0, kl.toDate)(r, n == null ? void 0 : n.in).getDay() === 0;\n}\nvar bt = {};\nbt.isWeekend = t0;\nvar r0 = l;\nfunction t0(r, n) {\n const t = (0, r0.toDate)(r, n == null ? void 0 : n.in).getDay();\n return t === 0 || t === 6;\n}\nuu.addBusinessDays = c0;\nvar n0 = D, a0 = cu, i0 = su, qi = bt, u0 = l;\nfunction c0(r, n, t) {\n const a = (0, u0.toDate)(r, t == null ? void 0 : t.in), i = (0, qi.isWeekend)(a, t);\n if (isNaN(n)) return (0, n0.constructFrom)(t == null ? void 0 : t.in, NaN);\n const u = a.getHours(), c = n < 0 ? -1 : 1, d = Math.trunc(n / 5);\n a.setDate(a.getDate() + d * 7);\n let f = Math.abs(n % 5);\n for (; f > 0; )\n a.setDate(a.getDate() + c), (0, qi.isWeekend)(a, t) || (f -= 1);\n return i && (0, qi.isWeekend)(a, t) && n !== 0 && ((0, a0.isSaturday)(a, t) && a.setDate(a.getDate() + (c < 0 ? 2 : -1)), (0, i0.isSunday)(a, t) && a.setDate(a.getDate() + (c < 0 ? 1 : -2))), a.setHours(u), a;\n}\nvar du = {}, Ot = {};\nOt.addMilliseconds = f0;\nvar s0 = D, d0 = l;\nfunction f0(r, n, t) {\n return (0, s0.constructFrom)(\n (t == null ? void 0 : t.in) || r,\n +(0, d0.toDate)(r) + n\n );\n}\ndu.addHours = m0;\nvar o0 = Ot, l0 = h;\nfunction m0(r, n, t) {\n return (0, o0.addMilliseconds)(\n r,\n n * l0.millisecondsInHour,\n t\n );\n}\nvar fu = {}, Je = {}, xe = {}, Pe = {}, ie = {};\nie.getDefaultOptions = v0;\nie.setDefaultOptions = h0;\nlet gd = {};\nfunction v0() {\n return gd;\n}\nfunction h0(r) {\n gd = r;\n}\nPe.startOfWeek = b0;\nvar _0 = ie, g0 = l;\nfunction b0(r, n) {\n var d, f, o, m;\n const t = (0, _0.getDefaultOptions)(), a = (n == null ? void 0 : n.weekStartsOn) ?? ((f = (d = n == null ? void 0 : n.locale) == null ? void 0 : d.options) == null ? void 0 : f.weekStartsOn) ?? t.weekStartsOn ?? ((m = (o = t.locale) == null ? void 0 : o.options) == null ? void 0 : m.weekStartsOn) ?? 0, i = (0, g0.toDate)(r, n == null ? void 0 : n.in), u = i.getDay(), c = (u < a ? 7 : 0) + u - a;\n return i.setDate(i.getDate() - c), i.setHours(0, 0, 0, 0), i;\n}\nxe.startOfISOWeek = $0;\nvar O0 = Pe;\nfunction $0(r, n) {\n return (0, O0.startOfWeek)(r, { ...n, weekStartsOn: 1 });\n}\nJe.getISOWeekYear = D0;\nvar Zc = D, Bc = xe, M0 = l;\nfunction D0(r, n) {\n const t = (0, M0.toDate)(r, n == null ? void 0 : n.in), a = t.getFullYear(), i = (0, Zc.constructFrom)(t, 0);\n i.setFullYear(a + 1, 0, 4), i.setHours(0, 0, 0, 0);\n const u = (0, Bc.startOfISOWeek)(\n i\n ), c = (0, Zc.constructFrom)(t, 0);\n c.setFullYear(a, 0, 4), c.setHours(0, 0, 0, 0);\n const d = (0, Bc.startOfISOWeek)(\n c\n );\n return t.getTime() >= u.getTime() ? a + 1 : t.getTime() >= d.getTime() ? a : a - 1;\n}\nvar ou = {}, Le = {}, He = {};\nHe.getTimezoneOffsetInMilliseconds = P0;\nvar w0 = l;\nfunction P0(r) {\n const n = (0, w0.toDate)(r), t = new Date(\n Date.UTC(\n n.getFullYear(),\n n.getMonth(),\n n.getDate(),\n n.getHours(),\n n.getMinutes(),\n n.getSeconds(),\n n.getMilliseconds()\n )\n );\n return t.setUTCFullYear(n.getFullYear()), +r - +t;\n}\nvar R = {};\nR.normalizeDates = T0;\nvar j0 = D;\nfunction T0(r, ...n) {\n const t = j0.constructFrom.bind(\n null,\n r || n.find((a) => typeof a == \"object\")\n );\n return n.map(t);\n}\nvar $t = {};\n$t.startOfDay = E0;\nvar I0 = l;\nfunction E0(r, n) {\n const t = (0, I0.toDate)(r, n == null ? void 0 : n.in);\n return t.setHours(0, 0, 0, 0), t;\n}\nLe.differenceInCalendarDays = Y0;\nvar Uc = He, x0 = R, S0 = h, Gc = $t;\nfunction Y0(r, n, t) {\n const [a, i] = (0, x0.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n n\n ), u = (0, Gc.startOfDay)(a), c = (0, Gc.startOfDay)(i), d = +u - (0, Uc.getTimezoneOffsetInMilliseconds)(u), f = +c - (0, Uc.getTimezoneOffsetInMilliseconds)(c);\n return Math.round(\n (d - f) / S0.millisecondsInDay\n );\n}\nvar Yr = {};\nYr.startOfISOWeekYear = C0;\nvar W0 = D, F0 = Je, N0 = xe;\nfunction C0(r, n) {\n const t = (0, F0.getISOWeekYear)(r, n), a = (0, W0.constructFrom)((n == null ? void 0 : n.in) || r, 0);\n return a.setFullYear(t, 0, 4), a.setHours(0, 0, 0, 0), (0, N0.startOfISOWeek)(a);\n}\nou.setISOWeekYear = R0;\nvar L0 = D, H0 = Le, Xc = Yr, A0 = l;\nfunction R0(r, n, t) {\n let a = (0, A0.toDate)(r, t == null ? void 0 : t.in);\n const i = (0, H0.differenceInCalendarDays)(\n a,\n (0, Xc.startOfISOWeekYear)(a, t)\n ), u = (0, L0.constructFrom)((t == null ? void 0 : t.in) || r, 0);\n return u.setFullYear(n, 0, 4), u.setHours(0, 0, 0, 0), a = (0, Xc.startOfISOWeekYear)(u), a.setDate(a.getDate() + i), a;\n}\nfu.addISOWeekYears = q0;\nvar y0 = Je, z0 = ou;\nfunction q0(r, n, t) {\n return (0, z0.setISOWeekYear)(\n r,\n (0, y0.getISOWeekYear)(r, t) + n,\n t\n );\n}\nvar Bt = {};\nBt.addMinutes = Z0;\nvar Q0 = h, V0 = l;\nfunction Z0(r, n, t) {\n const a = (0, V0.toDate)(r, t == null ? void 0 : t.in);\n return a.setTime(a.getTime() + n * Q0.millisecondsInMinute), a;\n}\nvar Ut = {};\nUt.addQuarters = U0;\nvar B0 = Sr;\nfunction U0(r, n, t) {\n return (0, B0.addMonths)(r, n * 3, t);\n}\nvar lu = {};\nlu.addSeconds = X0;\nvar G0 = Ot;\nfunction X0(r, n, t) {\n return (0, G0.addMilliseconds)(r, n * 1e3, t);\n}\nvar Mt = {};\nMt.addWeeks = K0;\nvar J0 = Ee;\nfunction K0(r, n, t) {\n return (0, J0.addDays)(r, n * 7, t);\n}\nvar mu = {};\nmu.addYears = k0;\nvar p0 = Sr;\nfunction k0(r, n, t) {\n return (0, p0.addMonths)(r, n * 12, t);\n}\nvar bd = {};\nbd.areIntervalsOverlapping = em;\nvar St = l;\nfunction em(r, n, t) {\n const [a, i] = [\n +(0, St.toDate)(r.start, t == null ? void 0 : t.in),\n +(0, St.toDate)(r.end, t == null ? void 0 : t.in)\n ].sort((d, f) => d - f), [u, c] = [\n +(0, St.toDate)(n.start, t == null ? void 0 : t.in),\n +(0, St.toDate)(n.end, t == null ? void 0 : t.in)\n ].sort((d, f) => d - f);\n return t != null && t.inclusive ? a <= c && u <= i : a < c && u < i;\n}\nvar Od = {}, vu = {};\nvu.max = tm;\nvar Jc = D, rm = l;\nfunction tm(r, n) {\n let t, a = n == null ? void 0 : n.in;\n return r.forEach((i) => {\n !a && typeof i == \"object\" && (a = Jc.constructFrom.bind(null, i));\n const u = (0, rm.toDate)(i, a);\n (!t || t < u || isNaN(+u)) && (t = u);\n }), (0, Jc.constructFrom)(a, t || NaN);\n}\nvar hu = {};\nhu.min = am;\nvar Kc = D, nm = l;\nfunction am(r, n) {\n let t, a = n == null ? void 0 : n.in;\n return r.forEach((i) => {\n !a && typeof i == \"object\" && (a = Kc.constructFrom.bind(null, i));\n const u = (0, nm.toDate)(i, a);\n (!t || t > u || isNaN(+u)) && (t = u);\n }), (0, Kc.constructFrom)(a, t || NaN);\n}\nOd.clamp = sm;\nvar im = R, um = vu, cm = hu;\nfunction sm(r, n, t) {\n const [a, i, u] = (0, im.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n n.start,\n n.end\n );\n return (0, cm.min)(\n [(0, um.max)([a, i], t), u],\n t\n );\n}\nvar _u = {};\n_u.closestIndexTo = dm;\nvar pc = l;\nfunction dm(r, n) {\n const t = +(0, pc.toDate)(r);\n if (isNaN(t)) return NaN;\n let a, i;\n return n.forEach((u, c) => {\n const d = (0, pc.toDate)(u);\n if (isNaN(+d)) {\n a = NaN, i = NaN;\n return;\n }\n const f = Math.abs(t - +d);\n (a == null || f < i) && (a = c, i = f);\n }), a;\n}\nvar $d = {};\n$d.closestTo = mm;\nvar fm = R, om = _u, lm = D;\nfunction mm(r, n, t) {\n const [a, ...i] = (0, fm.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n ...n\n ), u = (0, om.closestIndexTo)(a, i);\n if (typeof u == \"number\" && isNaN(u))\n return (0, lm.constructFrom)(a, NaN);\n if (u !== void 0) return i[u];\n}\nvar sr = {};\nsr.compareAsc = vm;\nvar kc = l;\nfunction vm(r, n) {\n const t = +(0, kc.toDate)(r) - +(0, kc.toDate)(n);\n return t < 0 ? -1 : t > 0 ? 1 : t;\n}\nvar Md = {};\nMd.compareDesc = hm;\nvar es = l;\nfunction hm(r, n) {\n const t = +(0, es.toDate)(r) - +(0, es.toDate)(n);\n return t > 0 ? -1 : t < 0 ? 1 : t;\n}\nvar re = {};\nre.constructNow = gm;\nvar _m = D;\nfunction gm(r) {\n return (0, _m.constructFrom)(r, Date.now());\n}\nvar Dd = {};\nDd.daysToWeeks = Om;\nvar bm = h;\nfunction Om(r) {\n const n = Math.trunc(r / bm.daysInWeek);\n return n === 0 ? 0 : n;\n}\nvar wd = {}, Wr = {};\nWr.isSameDay = Mm;\nvar $m = R, rs = $t;\nfunction Mm(r, n, t) {\n const [a, i] = (0, $m.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n n\n );\n return +(0, rs.startOfDay)(a) == +(0, rs.startOfDay)(i);\n}\nvar Ae = {}, gu = {};\ngu.isDate = Dm;\nfunction Dm(r) {\n return r instanceof Date || typeof r == \"object\" && Object.prototype.toString.call(r) === \"[object Date]\";\n}\nAe.isValid = jm;\nvar wm = gu, Pm = l;\nfunction jm(r) {\n return !(!(0, wm.isDate)(r) && typeof r != \"number\" || isNaN(+(0, Pm.toDate)(r)));\n}\nwd.differenceInBusinessDays = Sm;\nvar Tm = R, ts = Ee, Im = Le, Em = Wr, ns = Ae, xm = bt;\nfunction Sm(r, n, t) {\n const [a, i] = (0, Tm.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n n\n );\n if (!(0, ns.isValid)(a) || !(0, ns.isValid)(i))\n return NaN;\n const u = (0, Im.differenceInCalendarDays)(a, i), c = u < 0 ? -1 : 1, d = Math.trunc(u / 7);\n let f = d * 5, o = (0, ts.addDays)(i, d * 7);\n for (; !(0, Em.isSameDay)(a, o); )\n f += (0, xm.isWeekend)(o, t) ? 0 : c, o = (0, ts.addDays)(o, c);\n return f === 0 ? 0 : f;\n}\nvar bu = {};\nbu.differenceInCalendarISOWeekYears = Wm;\nvar Ym = R, as = Je;\nfunction Wm(r, n, t) {\n const [a, i] = (0, Ym.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n n\n );\n return (0, as.getISOWeekYear)(a, t) - (0, as.getISOWeekYear)(i, t);\n}\nvar Pd = {};\nPd.differenceInCalendarISOWeeks = Cm;\nvar is = He, Fm = R, Nm = h, us = xe;\nfunction Cm(r, n, t) {\n const [a, i] = (0, Fm.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n n\n ), u = (0, us.startOfISOWeek)(a), c = (0, us.startOfISOWeek)(i), d = +u - (0, is.getTimezoneOffsetInMilliseconds)(u), f = +c - (0, is.getTimezoneOffsetInMilliseconds)(c);\n return Math.round(\n (d - f) / Nm.millisecondsInWeek\n );\n}\nvar Gt = {};\nGt.differenceInCalendarMonths = Hm;\nvar Lm = R;\nfunction Hm(r, n, t) {\n const [a, i] = (0, Lm.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n n\n ), u = a.getFullYear() - i.getFullYear(), c = a.getMonth() - i.getMonth();\n return u * 12 + c;\n}\nvar Ou = {}, $u = {};\n$u.getQuarter = Rm;\nvar Am = l;\nfunction Rm(r, n) {\n const t = (0, Am.toDate)(r, n == null ? void 0 : n.in);\n return Math.trunc(t.getMonth() / 3) + 1;\n}\nOu.differenceInCalendarQuarters = zm;\nvar ym = R, cs = $u;\nfunction zm(r, n, t) {\n const [a, i] = (0, ym.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n n\n ), u = a.getFullYear() - i.getFullYear(), c = (0, cs.getQuarter)(a) - (0, cs.getQuarter)(i);\n return u * 4 + c;\n}\nvar Xt = {};\nXt.differenceInCalendarWeeks = Vm;\nvar ss = He, qm = R, Qm = h, ds = Pe;\nfunction Vm(r, n, t) {\n const [a, i] = (0, qm.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n n\n ), u = (0, ds.startOfWeek)(a, t), c = (0, ds.startOfWeek)(i, t), d = +u - (0, ss.getTimezoneOffsetInMilliseconds)(u), f = +c - (0, ss.getTimezoneOffsetInMilliseconds)(c);\n return Math.round(\n (d - f) / Qm.millisecondsInWeek\n );\n}\nvar Jt = {};\nJt.differenceInCalendarYears = Bm;\nvar Zm = R;\nfunction Bm(r, n, t) {\n const [a, i] = (0, Zm.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n n\n );\n return a.getFullYear() - i.getFullYear();\n}\nvar Kt = {};\nKt.differenceInDays = Xm;\nvar Um = R, Gm = Le;\nfunction Xm(r, n, t) {\n const [a, i] = (0, Um.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n n\n ), u = fs(a, i), c = Math.abs(\n (0, Gm.differenceInCalendarDays)(a, i)\n );\n a.setDate(a.getDate() - u * c);\n const d = +(fs(a, i) === -u), f = u * (c - d);\n return f === 0 ? 0 : f;\n}\nfunction fs(r, n) {\n const t = r.getFullYear() - n.getFullYear() || r.getMonth() - n.getMonth() || r.getDate() - n.getDate() || r.getHours() - n.getHours() || r.getMinutes() - n.getMinutes() || r.getSeconds() - n.getSeconds() || r.getMilliseconds() - n.getMilliseconds();\n return t < 0 ? -1 : t > 0 ? 1 : t;\n}\nvar pt = {}, Re = {};\nRe.getRoundingMethod = Jm;\nfunction Jm(r) {\n return (n) => {\n const a = (r ? Math[r] : Math.trunc)(n);\n return a === 0 ? 0 : a;\n };\n}\npt.differenceInHours = ev;\nvar Km = Re, pm = R, km = h;\nfunction ev(r, n, t) {\n const [a, i] = (0, pm.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n n\n ), u = (+a - +i) / km.millisecondsInHour;\n return (0, Km.getRoundingMethod)(t == null ? void 0 : t.roundingMethod)(u);\n}\nvar jd = {}, Mu = {};\nMu.subISOWeekYears = tv;\nvar rv = fu;\nfunction tv(r, n, t) {\n return (0, rv.addISOWeekYears)(r, -n, t);\n}\njd.differenceInISOWeekYears = uv;\nvar nv = R, os = sr, av = bu, iv = Mu;\nfunction uv(r, n, t) {\n const [a, i] = (0, nv.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n n\n ), u = (0, os.compareAsc)(a, i), c = Math.abs(\n (0, av.differenceInCalendarISOWeekYears)(\n a,\n i,\n t\n )\n ), d = (0, iv.subISOWeekYears)(\n a,\n u * c,\n t\n ), f = +((0, os.compareAsc)(d, i) === -u), o = u * (c - f);\n return o === 0 ? 0 : o;\n}\nvar kt = {};\nkt.differenceInMilliseconds = cv;\nvar ls = l;\nfunction cv(r, n) {\n return +(0, ls.toDate)(r) - +(0, ls.toDate)(n);\n}\nvar en = {};\nen.differenceInMinutes = ov;\nvar sv = Re, dv = h, fv = kt;\nfunction ov(r, n, t) {\n const a = (0, fv.differenceInMilliseconds)(r, n) / dv.millisecondsInMinute;\n return (0, sv.getRoundingMethod)(t == null ? void 0 : t.roundingMethod)(a);\n}\nvar Dt = {}, Du = {}, rn = {};\nrn.endOfDay = mv;\nvar lv = l;\nfunction mv(r, n) {\n const t = (0, lv.toDate)(r, n == null ? void 0 : n.in);\n return t.setHours(23, 59, 59, 999), t;\n}\nvar tn = {};\ntn.endOfMonth = hv;\nvar vv = l;\nfunction hv(r, n) {\n const t = (0, vv.toDate)(r, n == null ? void 0 : n.in), a = t.getMonth();\n return t.setFullYear(t.getFullYear(), a + 1, 0), t.setHours(23, 59, 59, 999), t;\n}\nDu.isLastDayOfMonth = Ov;\nvar _v = rn, gv = tn, bv = l;\nfunction Ov(r, n) {\n const t = (0, bv.toDate)(r, n == null ? void 0 : n.in);\n return +(0, _v.endOfDay)(t, n) == +(0, gv.endOfMonth)(t, n);\n}\nDt.differenceInMonths = wv;\nvar $v = R, Qi = sr, Mv = Gt, Dv = Du;\nfunction wv(r, n, t) {\n const [a, i, u] = (0, $v.normalizeDates)(t == null ? void 0 : t.in, r, r, n), c = (0, Qi.compareAsc)(i, u), d = Math.abs(\n (0, Mv.differenceInCalendarMonths)(i, u)\n );\n if (d < 1) return 0;\n i.getMonth() === 1 && i.getDate() > 27 && i.setDate(30), i.setMonth(i.getMonth() - c * d);\n let f = (0, Qi.compareAsc)(i, u) === -c;\n (0, Dv.isLastDayOfMonth)(a) && d === 1 && (0, Qi.compareAsc)(a, u) === 1 && (f = !1);\n const o = c * (d - +f);\n return o === 0 ? 0 : o;\n}\nvar Td = {};\nTd.differenceInQuarters = Tv;\nvar Pv = Re, jv = Dt;\nfunction Tv(r, n, t) {\n const a = (0, jv.differenceInMonths)(r, n, t) / 3;\n return (0, Pv.getRoundingMethod)(t == null ? void 0 : t.roundingMethod)(a);\n}\nvar wt = {};\nwt.differenceInSeconds = xv;\nvar Iv = Re, Ev = kt;\nfunction xv(r, n, t) {\n const a = (0, Ev.differenceInMilliseconds)(r, n) / 1e3;\n return (0, Iv.getRoundingMethod)(t == null ? void 0 : t.roundingMethod)(a);\n}\nvar Id = {};\nId.differenceInWeeks = Wv;\nvar Sv = Re, Yv = Kt;\nfunction Wv(r, n, t) {\n const a = (0, Yv.differenceInDays)(r, n, t) / 7;\n return (0, Sv.getRoundingMethod)(t == null ? void 0 : t.roundingMethod)(a);\n}\nvar wu = {};\nwu.differenceInYears = Cv;\nvar Fv = R, ms = sr, Nv = Jt;\nfunction Cv(r, n, t) {\n const [a, i] = (0, Fv.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n n\n ), u = (0, ms.compareAsc)(a, i), c = Math.abs(\n (0, Nv.differenceInCalendarYears)(a, i)\n );\n a.setFullYear(1584), i.setFullYear(1584);\n const d = (0, ms.compareAsc)(a, i) === -u, f = u * (c - +d);\n return f === 0 ? 0 : f;\n}\nvar Pu = {}, Se = {};\nSe.normalizeInterval = Hv;\nvar Lv = R;\nfunction Hv(r, n) {\n const [t, a] = (0, Lv.normalizeDates)(\n r,\n n.start,\n n.end\n );\n return { start: t, end: a };\n}\nPu.eachDayOfInterval = yv;\nvar Av = Se, Rv = D;\nfunction yv(r, n) {\n const { start: t, end: a } = (0, Av.normalizeInterval)(n == null ? void 0 : n.in, r);\n let i = +t > +a;\n const u = i ? +t : +a, c = i ? a : t;\n c.setHours(0, 0, 0, 0);\n let d = (n == null ? void 0 : n.step) ?? 1;\n if (!d) return [];\n d < 0 && (d = -d, i = !i);\n const f = [];\n for (; +c <= u; )\n f.push((0, Rv.constructFrom)(t, c)), c.setDate(c.getDate() + d), c.setHours(0, 0, 0, 0);\n return i ? f.reverse() : f;\n}\nvar Ed = {};\nEd.eachHourOfInterval = Qv;\nvar zv = Se, qv = D;\nfunction Qv(r, n) {\n const { start: t, end: a } = (0, zv.normalizeInterval)(n == null ? void 0 : n.in, r);\n let i = +t > +a;\n const u = i ? +t : +a, c = i ? a : t;\n c.setMinutes(0, 0, 0);\n let d = (n == null ? void 0 : n.step) ?? 1;\n if (!d) return [];\n d < 0 && (d = -d, i = !i);\n const f = [];\n for (; +c <= u; )\n f.push((0, qv.constructFrom)(t, c)), c.setHours(c.getHours() + d);\n return i ? f.reverse() : f;\n}\nvar xd = {};\nxd.eachMinuteOfInterval = Uv;\nvar Vv = Se, Zv = Bt, Bv = D;\nfunction Uv(r, n) {\n const { start: t, end: a } = (0, Vv.normalizeInterval)(n == null ? void 0 : n.in, r);\n t.setSeconds(0, 0);\n let i = +t > +a;\n const u = i ? +t : +a;\n let c = i ? a : t, d = (n == null ? void 0 : n.step) ?? 1;\n if (!d) return [];\n d < 0 && (d = -d, i = !i);\n const f = [];\n for (; +c <= u; )\n f.push((0, Bv.constructFrom)(t, c)), c = (0, Zv.addMinutes)(c, d);\n return i ? f.reverse() : f;\n}\nvar Sd = {};\nSd.eachMonthOfInterval = Jv;\nvar Gv = Se, Xv = D;\nfunction Jv(r, n) {\n const { start: t, end: a } = (0, Gv.normalizeInterval)(n == null ? void 0 : n.in, r);\n let i = +t > +a;\n const u = i ? +t : +a, c = i ? a : t;\n c.setHours(0, 0, 0, 0), c.setDate(1);\n let d = (n == null ? void 0 : n.step) ?? 1;\n if (!d) return [];\n d < 0 && (d = -d, i = !i);\n const f = [];\n for (; +c <= u; )\n f.push((0, Xv.constructFrom)(t, c)), c.setMonth(c.getMonth() + d);\n return i ? f.reverse() : f;\n}\nvar Yd = {}, nn = {};\nnn.startOfQuarter = pv;\nvar Kv = l;\nfunction pv(r, n) {\n const t = (0, Kv.toDate)(r, n == null ? void 0 : n.in), a = t.getMonth(), i = a - a % 3;\n return t.setMonth(i, 1), t.setHours(0, 0, 0, 0), t;\n}\nYd.eachQuarterOfInterval = th;\nvar kv = Se, eh = Ut, rh = D, Yt = nn;\nfunction th(r, n) {\n const { start: t, end: a } = (0, kv.normalizeInterval)(n == null ? void 0 : n.in, r);\n let i = +t > +a;\n const u = i ? +(0, Yt.startOfQuarter)(t) : +(0, Yt.startOfQuarter)(a);\n let c = i ? (0, Yt.startOfQuarter)(a) : (0, Yt.startOfQuarter)(t), d = (n == null ? void 0 : n.step) ?? 1;\n if (!d) return [];\n d < 0 && (d = -d, i = !i);\n const f = [];\n for (; +c <= u; )\n f.push((0, rh.constructFrom)(t, c)), c = (0, eh.addQuarters)(c, d);\n return i ? f.reverse() : f;\n}\nvar Wd = {};\nWd.eachWeekOfInterval = uh;\nvar nh = Se, ah = Mt, ih = D, Wt = Pe;\nfunction uh(r, n) {\n const { start: t, end: a } = (0, nh.normalizeInterval)(n == null ? void 0 : n.in, r);\n let i = +t > +a;\n const u = i ? (0, Wt.startOfWeek)(a, n) : (0, Wt.startOfWeek)(t, n), c = i ? (0, Wt.startOfWeek)(t, n) : (0, Wt.startOfWeek)(a, n);\n u.setHours(15), c.setHours(15);\n const d = +c.getTime();\n let f = u, o = (n == null ? void 0 : n.step) ?? 1;\n if (!o) return [];\n o < 0 && (o = -o, i = !i);\n const m = [];\n for (; +f <= d; )\n f.setHours(0), m.push((0, ih.constructFrom)(t, f)), f = (0, ah.addWeeks)(f, o), f.setHours(15);\n return i ? m.reverse() : m;\n}\nvar an = {};\nan.eachWeekendOfInterval = oh;\nvar ch = Se, sh = D, dh = Pu, fh = bt;\nfunction oh(r, n) {\n const { start: t, end: a } = (0, ch.normalizeInterval)(n == null ? void 0 : n.in, r), i = (0, dh.eachDayOfInterval)({ start: t, end: a }, n), u = [];\n let c = 0;\n for (; c < i.length; ) {\n const d = i[c++];\n (0, fh.isWeekend)(d) && u.push((0, sh.constructFrom)(t, d));\n }\n return u;\n}\nvar Fd = {}, Pt = {};\nPt.startOfMonth = mh;\nvar lh = l;\nfunction mh(r, n) {\n const t = (0, lh.toDate)(r, n == null ? void 0 : n.in);\n return t.setDate(1), t.setHours(0, 0, 0, 0), t;\n}\nFd.eachWeekendOfMonth = gh;\nvar vh = an, hh = tn, _h = Pt;\nfunction gh(r, n) {\n const t = (0, _h.startOfMonth)(r, n), a = (0, hh.endOfMonth)(r, n);\n return (0, vh.eachWeekendOfInterval)({ start: t, end: a }, n);\n}\nvar Nd = {}, ju = {};\nju.endOfYear = Oh;\nvar bh = l;\nfunction Oh(r, n) {\n const t = (0, bh.toDate)(r, n == null ? void 0 : n.in), a = t.getFullYear();\n return t.setFullYear(a + 1, 0, 0), t.setHours(23, 59, 59, 999), t;\n}\nvar un = {};\nun.startOfYear = Mh;\nvar $h = l;\nfunction Mh(r, n) {\n const t = (0, $h.toDate)(r, n == null ? void 0 : n.in);\n return t.setFullYear(t.getFullYear(), 0, 1), t.setHours(0, 0, 0, 0), t;\n}\nNd.eachWeekendOfYear = jh;\nvar Dh = an, wh = ju, Ph = un;\nfunction jh(r, n) {\n const t = (0, Ph.startOfYear)(r, n), a = (0, wh.endOfYear)(r, n);\n return (0, Dh.eachWeekendOfInterval)({ start: t, end: a }, n);\n}\nvar Cd = {};\nCd.eachYearOfInterval = Eh;\nvar Th = Se, Ih = D;\nfunction Eh(r, n) {\n const { start: t, end: a } = (0, Th.normalizeInterval)(n == null ? void 0 : n.in, r);\n let i = +t > +a;\n const u = i ? +t : +a, c = i ? a : t;\n c.setHours(0, 0, 0, 0), c.setMonth(0, 1);\n let d = (n == null ? void 0 : n.step) ?? 1;\n if (!d) return [];\n d < 0 && (d = -d, i = !i);\n const f = [];\n for (; +c <= u; )\n f.push((0, Ih.constructFrom)(t, c)), c.setFullYear(c.getFullYear() + d);\n return i ? f.reverse() : f;\n}\nvar Ld = {};\nLd.endOfDecade = Sh;\nvar xh = l;\nfunction Sh(r, n) {\n const t = (0, xh.toDate)(r, n == null ? void 0 : n.in), a = t.getFullYear(), i = 9 + Math.floor(a / 10) * 10;\n return t.setFullYear(i, 11, 31), t.setHours(23, 59, 59, 999), t;\n}\nvar Hd = {};\nHd.endOfHour = Wh;\nvar Yh = l;\nfunction Wh(r, n) {\n const t = (0, Yh.toDate)(r, n == null ? void 0 : n.in);\n return t.setMinutes(59, 59, 999), t;\n}\nvar Ad = {}, Tu = {};\nTu.endOfWeek = Ch;\nvar Fh = ie, Nh = l;\nfunction Ch(r, n) {\n var d, f, o, m;\n const t = (0, Fh.getDefaultOptions)(), a = (n == null ? void 0 : n.weekStartsOn) ?? ((f = (d = n == null ? void 0 : n.locale) == null ? void 0 : d.options) == null ? void 0 : f.weekStartsOn) ?? t.weekStartsOn ?? ((m = (o = t.locale) == null ? void 0 : o.options) == null ? void 0 : m.weekStartsOn) ?? 0, i = (0, Nh.toDate)(r, n == null ? void 0 : n.in), u = i.getDay(), c = (u < a ? -7 : 0) + 6 - (u - a);\n return i.setDate(i.getDate() + c), i.setHours(23, 59, 59, 999), i;\n}\nAd.endOfISOWeek = Hh;\nvar Lh = Tu;\nfunction Hh(r, n) {\n return (0, Lh.endOfWeek)(r, { ...n, weekStartsOn: 1 });\n}\nvar Rd = {};\nRd.endOfISOWeekYear = zh;\nvar Ah = D, Rh = Je, yh = xe;\nfunction zh(r, n) {\n const t = (0, Rh.getISOWeekYear)(r, n), a = (0, Ah.constructFrom)(\n (n == null ? void 0 : n.in) || r,\n 0\n );\n a.setFullYear(t + 1, 0, 4), a.setHours(0, 0, 0, 0);\n const i = (0, yh.startOfISOWeek)(a, n);\n return i.setMilliseconds(i.getMilliseconds() - 1), i;\n}\nvar yd = {};\nyd.endOfMinute = Qh;\nvar qh = l;\nfunction Qh(r, n) {\n const t = (0, qh.toDate)(r, n == null ? void 0 : n.in);\n return t.setSeconds(59, 999), t;\n}\nvar zd = {};\nzd.endOfQuarter = Zh;\nvar Vh = l;\nfunction Zh(r, n) {\n const t = (0, Vh.toDate)(r, n == null ? void 0 : n.in), a = t.getMonth(), i = a - a % 3 + 3;\n return t.setMonth(i, 0), t.setHours(23, 59, 59, 999), t;\n}\nvar qd = {};\nqd.endOfSecond = Uh;\nvar Bh = l;\nfunction Uh(r, n) {\n const t = (0, Bh.toDate)(r, n == null ? void 0 : n.in);\n return t.setMilliseconds(999), t;\n}\nvar Qd = {};\nQd.endOfToday = Xh;\nvar Gh = rn;\nfunction Xh(r) {\n return (0, Gh.endOfDay)(Date.now(), r);\n}\nvar Vd = {};\nVd.endOfTomorrow = Jh;\nvar vs = re;\nfunction Jh(r) {\n const n = (0, vs.constructNow)(r == null ? void 0 : r.in), t = n.getFullYear(), a = n.getMonth(), i = n.getDate(), u = (0, vs.constructNow)(r == null ? void 0 : r.in);\n return u.setFullYear(t, a, i + 1), u.setHours(23, 59, 59, 999), r != null && r.in ? r.in(u) : u;\n}\nvar Zd = {};\nZd.endOfYesterday = kh;\nvar Kh = D, ph = re;\nfunction kh(r) {\n const n = (0, ph.constructNow)(r == null ? void 0 : r.in), t = (0, Kh.constructFrom)(r == null ? void 0 : r.in, 0);\n return t.setFullYear(n.getFullYear(), n.getMonth(), n.getDate() - 1), t.setHours(23, 59, 59, 999), t;\n}\nvar Iu = {}, dr = {}, Eu = {}, xu = {};\nxu.formatDistance = void 0;\nconst e_ = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\"\n },\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\"\n },\n halfAMinute: \"half a minute\",\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\"\n },\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\"\n },\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\"\n },\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\"\n },\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\"\n },\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\"\n },\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\"\n },\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\"\n },\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\"\n },\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\"\n },\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\"\n },\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\"\n },\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\"\n }\n}, r_ = (r, n, t) => {\n let a;\n const i = e_[r];\n return typeof i == \"string\" ? a = i : n === 1 ? a = i.one : a = i.other.replace(\"{{count}}\", n.toString()), t != null && t.addSuffix ? t.comparison && t.comparison > 0 ? \"in \" + a : a + \" ago\" : a;\n};\nxu.formatDistance = r_;\nvar Su = {}, Bd = {};\nBd.buildFormatLongFn = t_;\nfunction t_(r) {\n return (n = {}) => {\n const t = n.width ? String(n.width) : r.defaultWidth;\n return r.formats[t] || r.formats[r.defaultWidth];\n };\n}\nSu.formatLong = void 0;\nvar Vi = Bd;\nconst n_ = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\"\n}, a_ = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\"\n}, i_ = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\"\n};\nSu.formatLong = {\n date: (0, Vi.buildFormatLongFn)({\n formats: n_,\n defaultWidth: \"full\"\n }),\n time: (0, Vi.buildFormatLongFn)({\n formats: a_,\n defaultWidth: \"full\"\n }),\n dateTime: (0, Vi.buildFormatLongFn)({\n formats: i_,\n defaultWidth: \"full\"\n })\n};\nvar Yu = {};\nYu.formatRelative = void 0;\nconst u_ = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\"\n}, c_ = (r, n, t, a) => u_[r];\nYu.formatRelative = c_;\nvar Wu = {}, Ud = {};\nUd.buildLocalizeFn = s_;\nfunction s_(r) {\n return (n, t) => {\n const a = t != null && t.context ? String(t.context) : \"standalone\";\n let i;\n if (a === \"formatting\" && r.formattingValues) {\n const c = r.defaultFormattingWidth || r.defaultWidth, d = t != null && t.width ? String(t.width) : c;\n i = r.formattingValues[d] || r.formattingValues[c];\n } else {\n const c = r.defaultWidth, d = t != null && t.width ? String(t.width) : r.defaultWidth;\n i = r.values[d] || r.values[c];\n }\n const u = r.argumentCallback ? r.argumentCallback(n) : n;\n return i[u];\n };\n}\nWu.localize = void 0;\nvar it = Ud;\nconst d_ = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"]\n}, f_ = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"]\n}, o_ = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n ],\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ]\n}, l_ = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n ]\n}, m_ = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n }\n}, v_ = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n }\n}, h_ = (r, n) => {\n const t = Number(r), a = t % 100;\n if (a > 20 || a < 10)\n switch (a % 10) {\n case 1:\n return t + \"st\";\n case 2:\n return t + \"nd\";\n case 3:\n return t + \"rd\";\n }\n return t + \"th\";\n};\nWu.localize = {\n ordinalNumber: h_,\n era: (0, it.buildLocalizeFn)({\n values: d_,\n defaultWidth: \"wide\"\n }),\n quarter: (0, it.buildLocalizeFn)({\n values: f_,\n defaultWidth: \"wide\",\n argumentCallback: (r) => r - 1\n }),\n month: (0, it.buildLocalizeFn)({\n values: o_,\n defaultWidth: \"wide\"\n }),\n day: (0, it.buildLocalizeFn)({\n values: l_,\n defaultWidth: \"wide\"\n }),\n dayPeriod: (0, it.buildLocalizeFn)({\n values: m_,\n defaultWidth: \"wide\",\n formattingValues: v_,\n defaultFormattingWidth: \"wide\"\n })\n};\nvar Fu = {}, Gd = {};\nGd.buildMatchFn = __;\nfunction __(r) {\n return (n, t = {}) => {\n const a = t.width, i = a && r.matchPatterns[a] || r.matchPatterns[r.defaultMatchWidth], u = n.match(i);\n if (!u)\n return null;\n const c = u[0], d = a && r.parsePatterns[a] || r.parsePatterns[r.defaultParseWidth], f = Array.isArray(d) ? b_(d, (_) => _.test(c)) : (\n // [TODO] -- I challenge you to fix the type\n g_(d, (_) => _.test(c))\n );\n let o;\n o = r.valueCallback ? r.valueCallback(f) : f, o = t.valueCallback ? (\n // [TODO] -- I challenge you to fix the type\n t.valueCallback(o)\n ) : o;\n const m = n.slice(c.length);\n return { value: o, rest: m };\n };\n}\nfunction g_(r, n) {\n for (const t in r)\n if (Object.prototype.hasOwnProperty.call(r, t) && n(r[t]))\n return t;\n}\nfunction b_(r, n) {\n for (let t = 0; t < r.length; t++)\n if (n(r[t]))\n return t;\n}\nvar Xd = {};\nXd.buildMatchPatternFn = O_;\nfunction O_(r) {\n return (n, t = {}) => {\n const a = n.match(r.matchPattern);\n if (!a) return null;\n const i = a[0], u = n.match(r.parsePattern);\n if (!u) return null;\n let c = r.valueCallback ? r.valueCallback(u[0]) : u[0];\n c = t.valueCallback ? t.valueCallback(c) : c;\n const d = n.slice(i.length);\n return { value: c, rest: d };\n };\n}\nFu.match = void 0;\nvar ut = Gd, $_ = Xd;\nconst M_ = /^(\\d+)(th|st|nd|rd)?/i, D_ = /\\d+/i, w_ = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n}, P_ = {\n any: [/^b/i, /^(a|c)/i]\n}, j_ = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n}, T_ = {\n any: [/1/i, /2/i, /3/i, /4/i]\n}, I_ = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n}, E_ = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i\n ],\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i\n ]\n}, x_ = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n}, S_ = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n}, Y_ = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n}, W_ = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nFu.match = {\n ordinalNumber: (0, $_.buildMatchPatternFn)({\n matchPattern: M_,\n parsePattern: D_,\n valueCallback: (r) => parseInt(r, 10)\n }),\n era: (0, ut.buildMatchFn)({\n matchPatterns: w_,\n defaultMatchWidth: \"wide\",\n parsePatterns: P_,\n defaultParseWidth: \"any\"\n }),\n quarter: (0, ut.buildMatchFn)({\n matchPatterns: j_,\n defaultMatchWidth: \"wide\",\n parsePatterns: T_,\n defaultParseWidth: \"any\",\n valueCallback: (r) => r + 1\n }),\n month: (0, ut.buildMatchFn)({\n matchPatterns: I_,\n defaultMatchWidth: \"wide\",\n parsePatterns: E_,\n defaultParseWidth: \"any\"\n }),\n day: (0, ut.buildMatchFn)({\n matchPatterns: x_,\n defaultMatchWidth: \"wide\",\n parsePatterns: S_,\n defaultParseWidth: \"any\"\n }),\n dayPeriod: (0, ut.buildMatchFn)({\n matchPatterns: Y_,\n defaultMatchWidth: \"any\",\n parsePatterns: W_,\n defaultParseWidth: \"any\"\n })\n};\nEu.enUS = void 0;\nvar F_ = xu, N_ = Su, C_ = Yu, L_ = Wu, H_ = Fu;\nEu.enUS = {\n code: \"en-US\",\n formatDistance: F_.formatDistance,\n formatLong: N_.formatLong,\n formatRelative: C_.formatRelative,\n localize: L_.localize,\n match: H_.match,\n options: {\n weekStartsOn: 0,\n firstWeekContainsDate: 1\n }\n};\n(function(r) {\n Object.defineProperty(r, \"defaultLocale\", {\n enumerable: !0,\n get: function() {\n return n.enUS;\n }\n });\n var n = Eu;\n})(dr);\nvar Nu = {}, Cu = {};\nCu.getDayOfYear = z_;\nvar A_ = Le, R_ = un, y_ = l;\nfunction z_(r, n) {\n const t = (0, y_.toDate)(r, n == null ? void 0 : n.in);\n return (0, A_.differenceInCalendarDays)(\n t,\n (0, R_.startOfYear)(t)\n ) + 1;\n}\nvar cn = {};\ncn.getISOWeek = B_;\nvar q_ = h, Q_ = xe, V_ = Yr, Z_ = l;\nfunction B_(r, n) {\n const t = (0, Z_.toDate)(r, n == null ? void 0 : n.in), a = +(0, Q_.startOfISOWeek)(t) - +(0, V_.startOfISOWeekYear)(t);\n return Math.round(a / q_.millisecondsInWeek) + 1;\n}\nvar sn = {}, dn = {}, jt = {};\njt.getWeekYear = X_;\nvar U_ = ie, hs = D, _s = Pe, G_ = l;\nfunction X_(r, n) {\n var m, _, b, M;\n const t = (0, G_.toDate)(r, n == null ? void 0 : n.in), a = t.getFullYear(), i = (0, U_.getDefaultOptions)(), u = (n == null ? void 0 : n.firstWeekContainsDate) ?? ((_ = (m = n == null ? void 0 : n.locale) == null ? void 0 : m.options) == null ? void 0 : _.firstWeekContainsDate) ?? i.firstWeekContainsDate ?? ((M = (b = i.locale) == null ? void 0 : b.options) == null ? void 0 : M.firstWeekContainsDate) ?? 1, c = (0, hs.constructFrom)(\n (n == null ? void 0 : n.in) || r,\n 0\n );\n c.setFullYear(a + 1, 0, u), c.setHours(0, 0, 0, 0);\n const d = (0, _s.startOfWeek)(\n c,\n n\n ), f = (0, hs.constructFrom)(\n (n == null ? void 0 : n.in) || r,\n 0\n );\n f.setFullYear(a, 0, u), f.setHours(0, 0, 0, 0);\n const o = (0, _s.startOfWeek)(\n f,\n n\n );\n return +t >= +d ? a + 1 : +t >= +o ? a : a - 1;\n}\ndn.startOfWeekYear = eg;\nvar J_ = ie, K_ = D, p_ = jt, k_ = Pe;\nfunction eg(r, n) {\n var d, f, o, m;\n const t = (0, J_.getDefaultOptions)(), a = (n == null ? void 0 : n.firstWeekContainsDate) ?? ((f = (d = n == null ? void 0 : n.locale) == null ? void 0 : d.options) == null ? void 0 : f.firstWeekContainsDate) ?? t.firstWeekContainsDate ?? ((m = (o = t.locale) == null ? void 0 : o.options) == null ? void 0 : m.firstWeekContainsDate) ?? 1, i = (0, p_.getWeekYear)(r, n), u = (0, K_.constructFrom)((n == null ? void 0 : n.in) || r, 0);\n return u.setFullYear(i, 0, a), u.setHours(0, 0, 0, 0), (0, k_.startOfWeek)(u, n);\n}\nsn.getWeek = ig;\nvar rg = h, tg = Pe, ng = dn, ag = l;\nfunction ig(r, n) {\n const t = (0, ag.toDate)(r, n == null ? void 0 : n.in), a = +(0, tg.startOfWeek)(t, n) - +(0, ng.startOfWeekYear)(t, n);\n return Math.round(a / rg.millisecondsInWeek) + 1;\n}\nvar fr = {};\nfr.addLeadingZeros = ug;\nfunction ug(r, n) {\n const t = r < 0 ? \"-\" : \"\", a = Math.abs(r).toString().padStart(n, \"0\");\n return t + a;\n}\nvar fn = {};\nfn.lightFormatters = void 0;\nvar Ve = fr;\nfn.lightFormatters = {\n // Year\n y(r, n) {\n const t = r.getFullYear(), a = t > 0 ? t : 1 - t;\n return (0, Ve.addLeadingZeros)(\n n === \"yy\" ? a % 100 : a,\n n.length\n );\n },\n // Month\n M(r, n) {\n const t = r.getMonth();\n return n === \"M\" ? String(t + 1) : (0, Ve.addLeadingZeros)(t + 1, 2);\n },\n // Day of the month\n d(r, n) {\n return (0, Ve.addLeadingZeros)(r.getDate(), n.length);\n },\n // AM or PM\n a(r, n) {\n const t = r.getHours() / 12 >= 1 ? \"pm\" : \"am\";\n switch (n) {\n case \"a\":\n case \"aa\":\n return t.toUpperCase();\n case \"aaa\":\n return t;\n case \"aaaaa\":\n return t[0];\n case \"aaaa\":\n default:\n return t === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n // Hour [1-12]\n h(r, n) {\n return (0, Ve.addLeadingZeros)(\n r.getHours() % 12 || 12,\n n.length\n );\n },\n // Hour [0-23]\n H(r, n) {\n return (0, Ve.addLeadingZeros)(r.getHours(), n.length);\n },\n // Minute\n m(r, n) {\n return (0, Ve.addLeadingZeros)(r.getMinutes(), n.length);\n },\n // Second\n s(r, n) {\n return (0, Ve.addLeadingZeros)(r.getSeconds(), n.length);\n },\n // Fraction of second\n S(r, n) {\n const t = n.length, a = r.getMilliseconds(), i = Math.trunc(\n a * Math.pow(10, t - 3)\n );\n return (0, Ve.addLeadingZeros)(i, n.length);\n }\n};\nNu.formatters = void 0;\nvar cg = Cu, sg = cn, dg = Je, fg = sn, og = jt, X = fr, Ze = fn;\nconst Pr = {\n am: \"am\",\n pm: \"pm\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n};\nNu.formatters = {\n // Era\n G: function(r, n, t) {\n const a = r.getFullYear() > 0 ? 1 : 0;\n switch (n) {\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return t.era(a, { width: \"abbreviated\" });\n case \"GGGGG\":\n return t.era(a, { width: \"narrow\" });\n case \"GGGG\":\n default:\n return t.era(a, { width: \"wide\" });\n }\n },\n // Year\n y: function(r, n, t) {\n if (n === \"yo\") {\n const a = r.getFullYear(), i = a > 0 ? a : 1 - a;\n return t.ordinalNumber(i, { unit: \"year\" });\n }\n return Ze.lightFormatters.y(r, n);\n },\n // Local week-numbering year\n Y: function(r, n, t, a) {\n const i = (0, og.getWeekYear)(r, a), u = i > 0 ? i : 1 - i;\n if (n === \"YY\") {\n const c = u % 100;\n return (0, X.addLeadingZeros)(c, 2);\n }\n return n === \"Yo\" ? t.ordinalNumber(u, { unit: \"year\" }) : (0, X.addLeadingZeros)(u, n.length);\n },\n // ISO week-numbering year\n R: function(r, n) {\n const t = (0, dg.getISOWeekYear)(r);\n return (0, X.addLeadingZeros)(t, n.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function(r, n) {\n const t = r.getFullYear();\n return (0, X.addLeadingZeros)(t, n.length);\n },\n // Quarter\n Q: function(r, n, t) {\n const a = Math.ceil((r.getMonth() + 1) / 3);\n switch (n) {\n case \"Q\":\n return String(a);\n case \"QQ\":\n return (0, X.addLeadingZeros)(a, 2);\n case \"Qo\":\n return t.ordinalNumber(a, { unit: \"quarter\" });\n case \"QQQ\":\n return t.quarter(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"QQQQQ\":\n return t.quarter(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"QQQQ\":\n default:\n return t.quarter(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone quarter\n q: function(r, n, t) {\n const a = Math.ceil((r.getMonth() + 1) / 3);\n switch (n) {\n case \"q\":\n return String(a);\n case \"qq\":\n return (0, X.addLeadingZeros)(a, 2);\n case \"qo\":\n return t.ordinalNumber(a, { unit: \"quarter\" });\n case \"qqq\":\n return t.quarter(a, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"qqqqq\":\n return t.quarter(a, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"qqqq\":\n default:\n return t.quarter(a, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // Month\n M: function(r, n, t) {\n const a = r.getMonth();\n switch (n) {\n case \"M\":\n case \"MM\":\n return Ze.lightFormatters.M(r, n);\n case \"Mo\":\n return t.ordinalNumber(a + 1, { unit: \"month\" });\n case \"MMM\":\n return t.month(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"MMMMM\":\n return t.month(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"MMMM\":\n default:\n return t.month(a, { width: \"wide\", context: \"formatting\" });\n }\n },\n // Stand-alone month\n L: function(r, n, t) {\n const a = r.getMonth();\n switch (n) {\n case \"L\":\n return String(a + 1);\n case \"LL\":\n return (0, X.addLeadingZeros)(a + 1, 2);\n case \"Lo\":\n return t.ordinalNumber(a + 1, { unit: \"month\" });\n case \"LLL\":\n return t.month(a, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"LLLLL\":\n return t.month(a, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"LLLL\":\n default:\n return t.month(a, { width: \"wide\", context: \"standalone\" });\n }\n },\n // Local week of year\n w: function(r, n, t, a) {\n const i = (0, fg.getWeek)(r, a);\n return n === \"wo\" ? t.ordinalNumber(i, { unit: \"week\" }) : (0, X.addLeadingZeros)(i, n.length);\n },\n // ISO week of year\n I: function(r, n, t) {\n const a = (0, sg.getISOWeek)(r);\n return n === \"Io\" ? t.ordinalNumber(a, { unit: \"week\" }) : (0, X.addLeadingZeros)(a, n.length);\n },\n // Day of the month\n d: function(r, n, t) {\n return n === \"do\" ? t.ordinalNumber(r.getDate(), { unit: \"date\" }) : Ze.lightFormatters.d(r, n);\n },\n // Day of year\n D: function(r, n, t) {\n const a = (0, cg.getDayOfYear)(r);\n return n === \"Do\" ? t.ordinalNumber(a, { unit: \"dayOfYear\" }) : (0, X.addLeadingZeros)(a, n.length);\n },\n // Day of week\n E: function(r, n, t) {\n const a = r.getDay();\n switch (n) {\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return t.day(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"EEEEE\":\n return t.day(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"EEEEEE\":\n return t.day(a, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"EEEE\":\n default:\n return t.day(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Local day of week\n e: function(r, n, t, a) {\n const i = r.getDay(), u = (i - a.weekStartsOn + 8) % 7 || 7;\n switch (n) {\n case \"e\":\n return String(u);\n case \"ee\":\n return (0, X.addLeadingZeros)(u, 2);\n case \"eo\":\n return t.ordinalNumber(u, { unit: \"day\" });\n case \"eee\":\n return t.day(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"eeeee\":\n return t.day(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"eeeeee\":\n return t.day(i, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"eeee\":\n default:\n return t.day(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone local day of week\n c: function(r, n, t, a) {\n const i = r.getDay(), u = (i - a.weekStartsOn + 8) % 7 || 7;\n switch (n) {\n case \"c\":\n return String(u);\n case \"cc\":\n return (0, X.addLeadingZeros)(u, n.length);\n case \"co\":\n return t.ordinalNumber(u, { unit: \"day\" });\n case \"ccc\":\n return t.day(i, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"ccccc\":\n return t.day(i, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"cccccc\":\n return t.day(i, {\n width: \"short\",\n context: \"standalone\"\n });\n case \"cccc\":\n default:\n return t.day(i, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // ISO day of week\n i: function(r, n, t) {\n const a = r.getDay(), i = a === 0 ? 7 : a;\n switch (n) {\n case \"i\":\n return String(i);\n case \"ii\":\n return (0, X.addLeadingZeros)(i, n.length);\n case \"io\":\n return t.ordinalNumber(i, { unit: \"day\" });\n case \"iii\":\n return t.day(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"iiiii\":\n return t.day(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"iiiiii\":\n return t.day(a, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"iiii\":\n default:\n return t.day(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // AM or PM\n a: function(r, n, t) {\n const i = r.getHours() / 12 >= 1 ? \"pm\" : \"am\";\n switch (n) {\n case \"a\":\n case \"aa\":\n return t.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"aaa\":\n return t.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n }).toLowerCase();\n case \"aaaaa\":\n return t.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"aaaa\":\n default:\n return t.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // AM, PM, midnight, noon\n b: function(r, n, t) {\n const a = r.getHours();\n let i;\n switch (a === 12 ? i = Pr.noon : a === 0 ? i = Pr.midnight : i = a / 12 >= 1 ? \"pm\" : \"am\", n) {\n case \"b\":\n case \"bb\":\n return t.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"bbb\":\n return t.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n }).toLowerCase();\n case \"bbbbb\":\n return t.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"bbbb\":\n default:\n return t.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function(r, n, t) {\n const a = r.getHours();\n let i;\n switch (a >= 17 ? i = Pr.evening : a >= 12 ? i = Pr.afternoon : a >= 4 ? i = Pr.morning : i = Pr.night, n) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return t.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"BBBBB\":\n return t.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"BBBB\":\n default:\n return t.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Hour [1-12]\n h: function(r, n, t) {\n if (n === \"ho\") {\n let a = r.getHours() % 12;\n return a === 0 && (a = 12), t.ordinalNumber(a, { unit: \"hour\" });\n }\n return Ze.lightFormatters.h(r, n);\n },\n // Hour [0-23]\n H: function(r, n, t) {\n return n === \"Ho\" ? t.ordinalNumber(r.getHours(), { unit: \"hour\" }) : Ze.lightFormatters.H(r, n);\n },\n // Hour [0-11]\n K: function(r, n, t) {\n const a = r.getHours() % 12;\n return n === \"Ko\" ? t.ordinalNumber(a, { unit: \"hour\" }) : (0, X.addLeadingZeros)(a, n.length);\n },\n // Hour [1-24]\n k: function(r, n, t) {\n let a = r.getHours();\n return a === 0 && (a = 24), n === \"ko\" ? t.ordinalNumber(a, { unit: \"hour\" }) : (0, X.addLeadingZeros)(a, n.length);\n },\n // Minute\n m: function(r, n, t) {\n return n === \"mo\" ? t.ordinalNumber(r.getMinutes(), { unit: \"minute\" }) : Ze.lightFormatters.m(r, n);\n },\n // Second\n s: function(r, n, t) {\n return n === \"so\" ? t.ordinalNumber(r.getSeconds(), { unit: \"second\" }) : Ze.lightFormatters.s(r, n);\n },\n // Fraction of second\n S: function(r, n) {\n return Ze.lightFormatters.S(r, n);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function(r, n, t) {\n const a = r.getTimezoneOffset();\n if (a === 0)\n return \"Z\";\n switch (n) {\n case \"X\":\n return bs(a);\n case \"XXXX\":\n case \"XX\":\n return ur(a);\n case \"XXXXX\":\n case \"XXX\":\n default:\n return ur(a, \":\");\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function(r, n, t) {\n const a = r.getTimezoneOffset();\n switch (n) {\n case \"x\":\n return bs(a);\n case \"xxxx\":\n case \"xx\":\n return ur(a);\n case \"xxxxx\":\n case \"xxx\":\n default:\n return ur(a, \":\");\n }\n },\n // Timezone (GMT)\n O: function(r, n, t) {\n const a = r.getTimezoneOffset();\n switch (n) {\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + gs(a, \":\");\n case \"OOOO\":\n default:\n return \"GMT\" + ur(a, \":\");\n }\n },\n // Timezone (specific non-location)\n z: function(r, n, t) {\n const a = r.getTimezoneOffset();\n switch (n) {\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + gs(a, \":\");\n case \"zzzz\":\n default:\n return \"GMT\" + ur(a, \":\");\n }\n },\n // Seconds timestamp\n t: function(r, n, t) {\n const a = Math.trunc(+r / 1e3);\n return (0, X.addLeadingZeros)(a, n.length);\n },\n // Milliseconds timestamp\n T: function(r, n, t) {\n return (0, X.addLeadingZeros)(+r, n.length);\n }\n};\nfunction gs(r, n = \"\") {\n const t = r > 0 ? \"-\" : \"+\", a = Math.abs(r), i = Math.trunc(a / 60), u = a % 60;\n return u === 0 ? t + String(i) : t + String(i) + n + (0, X.addLeadingZeros)(u, 2);\n}\nfunction bs(r, n) {\n return r % 60 === 0 ? (r > 0 ? \"-\" : \"+\") + (0, X.addLeadingZeros)(Math.abs(r) / 60, 2) : ur(r, n);\n}\nfunction ur(r, n = \"\") {\n const t = r > 0 ? \"-\" : \"+\", a = Math.abs(r), i = (0, X.addLeadingZeros)(Math.trunc(a / 60), 2), u = (0, X.addLeadingZeros)(a % 60, 2);\n return t + i + n + u;\n}\nvar on = {};\non.longFormatters = void 0;\nconst Os = (r, n) => {\n switch (r) {\n case \"P\":\n return n.date({ width: \"short\" });\n case \"PP\":\n return n.date({ width: \"medium\" });\n case \"PPP\":\n return n.date({ width: \"long\" });\n case \"PPPP\":\n default:\n return n.date({ width: \"full\" });\n }\n}, Jd = (r, n) => {\n switch (r) {\n case \"p\":\n return n.time({ width: \"short\" });\n case \"pp\":\n return n.time({ width: \"medium\" });\n case \"ppp\":\n return n.time({ width: \"long\" });\n case \"pppp\":\n default:\n return n.time({ width: \"full\" });\n }\n}, lg = (r, n) => {\n const t = r.match(/(P+)(p+)?/) || [], a = t[1], i = t[2];\n if (!i)\n return Os(r, n);\n let u;\n switch (a) {\n case \"P\":\n u = n.dateTime({ width: \"short\" });\n break;\n case \"PP\":\n u = n.dateTime({ width: \"medium\" });\n break;\n case \"PPP\":\n u = n.dateTime({ width: \"long\" });\n break;\n case \"PPPP\":\n default:\n u = n.dateTime({ width: \"full\" });\n break;\n }\n return u.replace(\"{{date}}\", Os(a, n)).replace(\"{{time}}\", Jd(i, n));\n};\non.longFormatters = {\n p: Jd,\n P: lg\n};\nvar Tt = {};\nTt.isProtectedDayOfYearToken = _g;\nTt.isProtectedWeekYearToken = gg;\nTt.warnOrThrowProtectedError = bg;\nconst mg = /^D+$/, vg = /^Y+$/, hg = [\"D\", \"DD\", \"YY\", \"YYYY\"];\nfunction _g(r) {\n return mg.test(r);\n}\nfunction gg(r) {\n return vg.test(r);\n}\nfunction bg(r, n, t) {\n const a = Og(r, n, t);\n if (console.warn(a), hg.includes(r)) throw new RangeError(a);\n}\nfunction Og(r, n, t) {\n const a = r[0] === \"Y\" ? \"years\" : \"days of the month\";\n return `Use \\`${r.toLowerCase()}\\` instead of \\`${r}\\` (in \\`${n}\\`) for formatting ${a} to the input \\`${t}\\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;\n}\n(function(r) {\n r.format = r.formatDate = M, Object.defineProperty(r, \"formatters\", {\n enumerable: !0,\n get: function() {\n return a.formatters;\n }\n }), Object.defineProperty(r, \"longFormatters\", {\n enumerable: !0,\n get: function() {\n return i.longFormatters;\n }\n });\n var n = dr, t = ie, a = Nu, i = on, u = Tt, c = Ae, d = l;\n const f = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g, o = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, m = /^'([^]*?)'?$/, _ = /''/g, b = /[a-zA-Z]/;\n function M(w, x, $) {\n var ce, se, ve, he, B, K, z, de;\n const W = (0, t.getDefaultOptions)(), G = ($ == null ? void 0 : $.locale) ?? W.locale ?? n.defaultLocale, T = ($ == null ? void 0 : $.firstWeekContainsDate) ?? ((se = (ce = $ == null ? void 0 : $.locale) == null ? void 0 : ce.options) == null ? void 0 : se.firstWeekContainsDate) ?? W.firstWeekContainsDate ?? ((he = (ve = W.locale) == null ? void 0 : ve.options) == null ? void 0 : he.firstWeekContainsDate) ?? 1, ue = ($ == null ? void 0 : $.weekStartsOn) ?? ((K = (B = $ == null ? void 0 : $.locale) == null ? void 0 : B.options) == null ? void 0 : K.weekStartsOn) ?? W.weekStartsOn ?? ((de = (z = W.locale) == null ? void 0 : z.options) == null ? void 0 : de.weekStartsOn) ?? 0, ne = (0, d.toDate)(w, $ == null ? void 0 : $.in);\n if (!(0, c.isValid)(ne))\n throw new RangeError(\"Invalid time value\");\n let le = x.match(o).map((y) => {\n const q = y[0];\n if (q === \"p\" || q === \"P\") {\n const me = i.longFormatters[q];\n return me(y, G.formatLong);\n }\n return y;\n }).join(\"\").match(f).map((y) => {\n if (y === \"''\")\n return { isToken: !1, value: \"'\" };\n const q = y[0];\n if (q === \"'\")\n return { isToken: !1, value: j(y) };\n if (a.formatters[q])\n return { isToken: !0, value: y };\n if (q.match(b))\n throw new RangeError(\n \"Format string contains an unescaped latin alphabet character `\" + q + \"`\"\n );\n return { isToken: !1, value: y };\n });\n G.localize.preprocessor && (le = G.localize.preprocessor(ne, le));\n const be = {\n firstWeekContainsDate: T,\n weekStartsOn: ue,\n locale: G\n };\n return le.map((y) => {\n if (!y.isToken) return y.value;\n const q = y.value;\n (!($ != null && $.useAdditionalWeekYearTokens) && (0, u.isProtectedWeekYearToken)(q) || !($ != null && $.useAdditionalDayOfYearTokens) && (0, u.isProtectedDayOfYearToken)(q)) && (0, u.warnOrThrowProtectedError)(q, x, String(w));\n const me = a.formatters[q[0]];\n return me(ne, q, G.localize, be);\n }).join(\"\");\n }\n function j(w) {\n const x = w.match(m);\n return x ? x[1].replace(_, \"'\") : w;\n }\n})(Iu);\nvar Lu = {};\nLu.formatDistance = Tg;\nvar $g = dr, Mg = ie, $s = He, Dg = R, wg = sr, jr = h, Pg = Dt, jg = wt;\nfunction Tg(r, n, t) {\n const a = (0, Mg.getDefaultOptions)(), i = (t == null ? void 0 : t.locale) ?? a.locale ?? $g.defaultLocale, u = 2520, c = (0, wg.compareAsc)(r, n);\n if (isNaN(c)) throw new RangeError(\"Invalid time value\");\n const d = Object.assign({}, t, {\n addSuffix: t == null ? void 0 : t.addSuffix,\n comparison: c\n }), [f, o] = (0, Dg.normalizeDates)(\n t == null ? void 0 : t.in,\n ...c > 0 ? [n, r] : [r, n]\n ), m = (0, jg.differenceInSeconds)(o, f), _ = ((0, $s.getTimezoneOffsetInMilliseconds)(o) - (0, $s.getTimezoneOffsetInMilliseconds)(f)) / 1e3, b = Math.round((m - _) / 60);\n let M;\n if (b < 2)\n return t != null && t.includeSeconds ? m < 5 ? i.formatDistance(\"lessThanXSeconds\", 5, d) : m < 10 ? i.formatDistance(\"lessThanXSeconds\", 10, d) : m < 20 ? i.formatDistance(\"lessThanXSeconds\", 20, d) : m < 40 ? i.formatDistance(\"halfAMinute\", 0, d) : m < 60 ? i.formatDistance(\"lessThanXMinutes\", 1, d) : i.formatDistance(\"xMinutes\", 1, d) : b === 0 ? i.formatDistance(\"lessThanXMinutes\", 1, d) : i.formatDistance(\"xMinutes\", b, d);\n if (b < 45)\n return i.formatDistance(\"xMinutes\", b, d);\n if (b < 90)\n return i.formatDistance(\"aboutXHours\", 1, d);\n if (b < jr.minutesInDay) {\n const j = Math.round(b / 60);\n return i.formatDistance(\"aboutXHours\", j, d);\n } else {\n if (b < u)\n return i.formatDistance(\"xDays\", 1, d);\n if (b < jr.minutesInMonth) {\n const j = Math.round(b / jr.minutesInDay);\n return i.formatDistance(\"xDays\", j, d);\n } else if (b < jr.minutesInMonth * 2)\n return M = Math.round(b / jr.minutesInMonth), i.formatDistance(\"aboutXMonths\", M, d);\n }\n if (M = (0, Pg.differenceInMonths)(o, f), M < 12) {\n const j = Math.round(b / jr.minutesInMonth);\n return i.formatDistance(\"xMonths\", j, d);\n } else {\n const j = M % 12, w = Math.trunc(M / 12);\n return j < 3 ? i.formatDistance(\"aboutXYears\", w, d) : j < 9 ? i.formatDistance(\"overXYears\", w, d) : i.formatDistance(\"almostXYears\", w + 1, d);\n }\n}\nvar Hu = {};\nHu.formatDistanceStrict = Wg;\nvar Ig = dr, Eg = ie, xg = Re, Ms = He, Sg = R, Yg = sr, Be = h;\nfunction Wg(r, n, t) {\n const a = (0, Eg.getDefaultOptions)(), i = (t == null ? void 0 : t.locale) ?? a.locale ?? Ig.defaultLocale, u = (0, Yg.compareAsc)(r, n);\n if (isNaN(u))\n throw new RangeError(\"Invalid time value\");\n const c = Object.assign({}, t, {\n addSuffix: t == null ? void 0 : t.addSuffix,\n comparison: u\n }), [d, f] = (0, Sg.normalizeDates)(\n t == null ? void 0 : t.in,\n ...u > 0 ? [n, r] : [r, n]\n ), o = (0, xg.getRoundingMethod)(\n (t == null ? void 0 : t.roundingMethod) ?? \"round\"\n ), m = f.getTime() - d.getTime(), _ = m / Be.millisecondsInMinute, b = (0, Ms.getTimezoneOffsetInMilliseconds)(f) - (0, Ms.getTimezoneOffsetInMilliseconds)(d), M = (m - b) / Be.millisecondsInMinute, j = t == null ? void 0 : t.unit;\n let w;\n if (j ? w = j : _ < 1 ? w = \"second\" : _ < 60 ? w = \"minute\" : _ < Be.minutesInDay ? w = \"hour\" : M < Be.minutesInMonth ? w = \"day\" : M < Be.minutesInYear ? w = \"month\" : w = \"year\", w === \"second\") {\n const x = o(m / 1e3);\n return i.formatDistance(\"xSeconds\", x, c);\n } else if (w === \"minute\") {\n const x = o(_);\n return i.formatDistance(\"xMinutes\", x, c);\n } else if (w === \"hour\") {\n const x = o(_ / 60);\n return i.formatDistance(\"xHours\", x, c);\n } else if (w === \"day\") {\n const x = o(M / Be.minutesInDay);\n return i.formatDistance(\"xDays\", x, c);\n } else if (w === \"month\") {\n const x = o(\n M / Be.minutesInMonth\n );\n return x === 12 && j !== \"month\" ? i.formatDistance(\"xYears\", 1, c) : i.formatDistance(\"xMonths\", x, c);\n } else {\n const x = o(M / Be.minutesInYear);\n return i.formatDistance(\"xYears\", x, c);\n }\n}\nvar Kd = {};\nKd.formatDistanceToNow = Cg;\nvar Fg = re, Ng = Lu;\nfunction Cg(r, n) {\n return (0, Ng.formatDistance)(\n r,\n (0, Fg.constructNow)(r),\n n\n );\n}\nvar pd = {};\npd.formatDistanceToNowStrict = Ag;\nvar Lg = re, Hg = Hu;\nfunction Ag(r, n) {\n return (0, Hg.formatDistanceStrict)(\n r,\n (0, Lg.constructNow)(r),\n n\n );\n}\nvar kd = {};\nkd.formatDuration = qg;\nvar Rg = dr, yg = ie;\nconst zg = [\n \"years\",\n \"months\",\n \"weeks\",\n \"days\",\n \"hours\",\n \"minutes\",\n \"seconds\"\n];\nfunction qg(r, n) {\n const t = (0, yg.getDefaultOptions)(), a = (n == null ? void 0 : n.locale) ?? t.locale ?? Rg.defaultLocale, i = (n == null ? void 0 : n.format) ?? zg, u = (n == null ? void 0 : n.zero) ?? !1, c = (n == null ? void 0 : n.delimiter) ?? \" \";\n return a.formatDistance ? i.reduce((f, o) => {\n const m = `x${o.replace(/(^.)/, (b) => b.toUpperCase())}`, _ = r[o];\n return _ !== void 0 && (u || r[o]) ? f.concat(a.formatDistance(m, _)) : f;\n }, []).join(c) : \"\";\n}\nvar ef = {};\nef.formatISO = Vg;\nvar Ue = fr, Qg = l;\nfunction Vg(r, n) {\n const t = (0, Qg.toDate)(r, n == null ? void 0 : n.in);\n if (isNaN(+t))\n throw new RangeError(\"Invalid time value\");\n const a = (n == null ? void 0 : n.format) ?? \"extended\", i = (n == null ? void 0 : n.representation) ?? \"complete\";\n let u = \"\", c = \"\";\n const d = a === \"extended\" ? \"-\" : \"\", f = a === \"extended\" ? \":\" : \"\";\n if (i !== \"time\") {\n const o = (0, Ue.addLeadingZeros)(t.getDate(), 2), m = (0, Ue.addLeadingZeros)(t.getMonth() + 1, 2);\n u = `${(0, Ue.addLeadingZeros)(t.getFullYear(), 4)}${d}${m}${d}${o}`;\n }\n if (i !== \"date\") {\n const o = t.getTimezoneOffset();\n if (o !== 0) {\n const w = Math.abs(o), x = (0, Ue.addLeadingZeros)(\n Math.trunc(w / 60),\n 2\n ), $ = (0, Ue.addLeadingZeros)(w % 60, 2);\n c = `${o < 0 ? \"+\" : \"-\"}${x}:${$}`;\n } else\n c = \"Z\";\n const m = (0, Ue.addLeadingZeros)(t.getHours(), 2), _ = (0, Ue.addLeadingZeros)(t.getMinutes(), 2), b = (0, Ue.addLeadingZeros)(t.getSeconds(), 2), M = u === \"\" ? \"\" : \"T\", j = [m, _, b].join(f);\n u = `${u}${M}${j}${c}`;\n }\n return u;\n}\nvar rf = {};\nrf.formatISO9075 = Ug;\nvar Tr = fr, Zg = Ae, Bg = l;\nfunction Ug(r, n) {\n const t = (0, Bg.toDate)(r, n == null ? void 0 : n.in);\n if (!(0, Zg.isValid)(t))\n throw new RangeError(\"Invalid time value\");\n const a = (n == null ? void 0 : n.format) ?? \"extended\", i = (n == null ? void 0 : n.representation) ?? \"complete\";\n let u = \"\";\n const c = a === \"extended\" ? \"-\" : \"\", d = a === \"extended\" ? \":\" : \"\";\n if (i !== \"time\") {\n const f = (0, Tr.addLeadingZeros)(t.getDate(), 2), o = (0, Tr.addLeadingZeros)(t.getMonth() + 1, 2);\n u = `${(0, Tr.addLeadingZeros)(t.getFullYear(), 4)}${c}${o}${c}${f}`;\n }\n if (i !== \"date\") {\n const f = (0, Tr.addLeadingZeros)(t.getHours(), 2), o = (0, Tr.addLeadingZeros)(t.getMinutes(), 2), m = (0, Tr.addLeadingZeros)(t.getSeconds(), 2);\n u = `${u}${u === \"\" ? \"\" : \" \"}${f}${d}${o}${d}${m}`;\n }\n return u;\n}\nvar tf = {};\ntf.formatISODuration = Gg;\nfunction Gg(r) {\n const {\n years: n = 0,\n months: t = 0,\n days: a = 0,\n hours: i = 0,\n minutes: u = 0,\n seconds: c = 0\n } = r;\n return `P${n}Y${t}M${a}DT${i}H${u}M${c}S`;\n}\nvar nf = {};\nnf.formatRFC3339 = Kg;\nvar Ge = fr, Xg = Ae, Jg = l;\nfunction Kg(r, n) {\n const t = (0, Jg.toDate)(r, n == null ? void 0 : n.in);\n if (!(0, Xg.isValid)(t))\n throw new RangeError(\"Invalid time value\");\n const a = (n == null ? void 0 : n.fractionDigits) ?? 0, i = (0, Ge.addLeadingZeros)(t.getDate(), 2), u = (0, Ge.addLeadingZeros)(t.getMonth() + 1, 2), c = t.getFullYear(), d = (0, Ge.addLeadingZeros)(t.getHours(), 2), f = (0, Ge.addLeadingZeros)(t.getMinutes(), 2), o = (0, Ge.addLeadingZeros)(t.getSeconds(), 2);\n let m = \"\";\n if (a > 0) {\n const M = t.getMilliseconds(), j = Math.trunc(\n M * Math.pow(10, a - 3)\n );\n m = \".\" + (0, Ge.addLeadingZeros)(j, a);\n }\n let _ = \"\";\n const b = t.getTimezoneOffset();\n if (b !== 0) {\n const M = Math.abs(b), j = (0, Ge.addLeadingZeros)(\n Math.trunc(M / 60),\n 2\n ), w = (0, Ge.addLeadingZeros)(M % 60, 2);\n _ = `${b < 0 ? \"+\" : \"-\"}${j}:${w}`;\n } else\n _ = \"Z\";\n return `${c}-${u}-${i}T${d}:${f}:${o}${m}${_}`;\n}\nvar af = {};\naf.formatRFC7231 = tb;\nvar Ft = fr, pg = Ae, kg = l;\nconst eb = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"], rb = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n];\nfunction tb(r) {\n const n = (0, kg.toDate)(r);\n if (!(0, pg.isValid)(n))\n throw new RangeError(\"Invalid time value\");\n const t = eb[n.getUTCDay()], a = (0, Ft.addLeadingZeros)(n.getUTCDate(), 2), i = rb[n.getUTCMonth()], u = n.getUTCFullYear(), c = (0, Ft.addLeadingZeros)(n.getUTCHours(), 2), d = (0, Ft.addLeadingZeros)(n.getUTCMinutes(), 2), f = (0, Ft.addLeadingZeros)(n.getUTCSeconds(), 2);\n return `${t}, ${a} ${i} ${u} ${c}:${d}:${f} GMT`;\n}\nvar uf = {};\nuf.formatRelative = sb;\nvar nb = dr, ab = ie, ib = R, ub = Le, cb = Iu;\nfunction sb(r, n, t) {\n var _, b, M, j;\n const [a, i] = (0, ib.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n n\n ), u = (0, ab.getDefaultOptions)(), c = (t == null ? void 0 : t.locale) ?? u.locale ?? nb.defaultLocale, d = (t == null ? void 0 : t.weekStartsOn) ?? ((b = (_ = t == null ? void 0 : t.locale) == null ? void 0 : _.options) == null ? void 0 : b.weekStartsOn) ?? u.weekStartsOn ?? ((j = (M = u.locale) == null ? void 0 : M.options) == null ? void 0 : j.weekStartsOn) ?? 0, f = (0, ub.differenceInCalendarDays)(a, i);\n if (isNaN(f))\n throw new RangeError(\"Invalid time value\");\n let o;\n f < -6 ? o = \"other\" : f < -1 ? o = \"lastWeek\" : f < 0 ? o = \"yesterday\" : f < 1 ? o = \"today\" : f < 2 ? o = \"tomorrow\" : f < 7 ? o = \"nextWeek\" : o = \"other\";\n const m = c.formatRelative(o, a, i, {\n locale: c,\n weekStartsOn: d\n });\n return (0, cb.format)(a, m, { locale: c, weekStartsOn: d });\n}\nvar cf = {};\ncf.fromUnixTime = fb;\nvar db = l;\nfunction fb(r, n) {\n return (0, db.toDate)(r * 1e3, n == null ? void 0 : n.in);\n}\nvar Au = {};\nAu.getDate = lb;\nvar ob = l;\nfunction lb(r, n) {\n return (0, ob.toDate)(r, n == null ? void 0 : n.in).getDate();\n}\nvar It = {};\nIt.getDay = vb;\nvar mb = l;\nfunction vb(r, n) {\n return (0, mb.toDate)(r, n == null ? void 0 : n.in).getDay();\n}\nvar Ru = {};\nRu.getDaysInMonth = gb;\nvar hb = D, _b = l;\nfunction gb(r, n) {\n const t = (0, _b.toDate)(r, n == null ? void 0 : n.in), a = t.getFullYear(), i = t.getMonth(), u = (0, hb.constructFrom)(t, 0);\n return u.setFullYear(a, i + 1, 0), u.setHours(0, 0, 0, 0), u.getDate();\n}\nvar sf = {}, yu = {};\nyu.isLeapYear = Ob;\nvar bb = l;\nfunction Ob(r, n) {\n const a = (0, bb.toDate)(r, n == null ? void 0 : n.in).getFullYear();\n return a % 400 === 0 || a % 4 === 0 && a % 100 !== 0;\n}\nsf.getDaysInYear = Db;\nvar $b = yu, Mb = l;\nfunction Db(r, n) {\n const t = (0, Mb.toDate)(r, n == null ? void 0 : n.in);\n return Number.isNaN(+t) ? NaN : (0, $b.isLeapYear)(t) ? 366 : 365;\n}\nvar df = {};\ndf.getDecade = Pb;\nvar wb = l;\nfunction Pb(r, n) {\n const a = (0, wb.toDate)(r, n == null ? void 0 : n.in).getFullYear();\n return Math.floor(a / 10) * 10;\n}\nvar zu = {};\nzu.getDefaultOptions = Tb;\nvar jb = ie;\nfunction Tb() {\n return Object.assign({}, (0, jb.getDefaultOptions)());\n}\nvar ff = {};\nff.getHours = Eb;\nvar Ib = l;\nfunction Eb(r, n) {\n return (0, Ib.toDate)(r, n == null ? void 0 : n.in).getHours();\n}\nvar qu = {};\nqu.getISODay = Sb;\nvar xb = l;\nfunction Sb(r, n) {\n const t = (0, xb.toDate)(r, n == null ? void 0 : n.in).getDay();\n return t === 0 ? 7 : t;\n}\nvar of = {};\nof.getISOWeeksInYear = Fb;\nvar Yb = Mt, Wb = h, Ds = Yr;\nfunction Fb(r, n) {\n const t = (0, Ds.startOfISOWeekYear)(r, n), i = +(0, Ds.startOfISOWeekYear)(\n (0, Yb.addWeeks)(t, 60)\n ) - +t;\n return Math.round(i / Wb.millisecondsInWeek);\n}\nvar lf = {};\nlf.getMilliseconds = Cb;\nvar Nb = l;\nfunction Cb(r) {\n return (0, Nb.toDate)(r).getMilliseconds();\n}\nvar mf = {};\nmf.getMinutes = Hb;\nvar Lb = l;\nfunction Hb(r, n) {\n return (0, Lb.toDate)(r, n == null ? void 0 : n.in).getMinutes();\n}\nvar vf = {};\nvf.getMonth = Rb;\nvar Ab = l;\nfunction Rb(r, n) {\n return (0, Ab.toDate)(r, n == null ? void 0 : n.in).getMonth();\n}\nvar hf = {};\nhf.getOverlappingDaysInIntervals = zb;\nvar ws = He, yb = h, Nt = l;\nfunction zb(r, n) {\n const [t, a] = [\n +(0, Nt.toDate)(r.start),\n +(0, Nt.toDate)(r.end)\n ].sort((_, b) => _ - b), [i, u] = [\n +(0, Nt.toDate)(n.start),\n +(0, Nt.toDate)(n.end)\n ].sort((_, b) => _ - b);\n if (!(t < u && i < a)) return 0;\n const d = i < t ? t : i, f = d - (0, ws.getTimezoneOffsetInMilliseconds)(d), o = u > a ? a : u, m = o - (0, ws.getTimezoneOffsetInMilliseconds)(o);\n return Math.ceil((m - f) / yb.millisecondsInDay);\n}\nvar _f = {};\n_f.getSeconds = Qb;\nvar qb = l;\nfunction Qb(r) {\n return (0, qb.toDate)(r).getSeconds();\n}\nvar gf = {};\ngf.getTime = Zb;\nvar Vb = l;\nfunction Zb(r) {\n return +(0, Vb.toDate)(r);\n}\nvar bf = {};\nbf.getUnixTime = Ub;\nvar Bb = l;\nfunction Ub(r) {\n return Math.trunc(+(0, Bb.toDate)(r) / 1e3);\n}\nvar Of = {};\nOf.getWeekOfMonth = kb;\nvar Gb = ie, Xb = Au, Jb = It, Kb = Pt, pb = l;\nfunction kb(r, n) {\n var f, o, m, _;\n const t = (0, Gb.getDefaultOptions)(), a = (n == null ? void 0 : n.weekStartsOn) ?? ((o = (f = n == null ? void 0 : n.locale) == null ? void 0 : f.options) == null ? void 0 : o.weekStartsOn) ?? t.weekStartsOn ?? ((_ = (m = t.locale) == null ? void 0 : m.options) == null ? void 0 : _.weekStartsOn) ?? 0, i = (0, Xb.getDate)(\n (0, pb.toDate)(r, n == null ? void 0 : n.in)\n );\n if (isNaN(i)) return NaN;\n const u = (0, Jb.getDay)(\n (0, Kb.startOfMonth)(r, n)\n );\n let c = a - u;\n c <= 0 && (c += 7);\n const d = i - c;\n return Math.ceil(d / 7) + 1;\n}\nvar $f = {}, Qu = {};\nQu.lastDayOfMonth = e1;\nvar Ps = l;\nfunction e1(r, n) {\n const t = (0, Ps.toDate)(r, n == null ? void 0 : n.in), a = t.getMonth();\n return t.setFullYear(t.getFullYear(), a + 1, 0), t.setHours(0, 0, 0, 0), (0, Ps.toDate)(t, n == null ? void 0 : n.in);\n}\n$f.getWeeksInMonth = i1;\nvar r1 = Xt, t1 = Qu, n1 = Pt, a1 = l;\nfunction i1(r, n) {\n const t = (0, a1.toDate)(r, n == null ? void 0 : n.in);\n return (0, r1.differenceInCalendarWeeks)(\n (0, t1.lastDayOfMonth)(t, n),\n (0, n1.startOfMonth)(t, n),\n n\n ) + 1;\n}\nvar Mf = {};\nMf.getYear = c1;\nvar u1 = l;\nfunction c1(r, n) {\n return (0, u1.toDate)(r, n == null ? void 0 : n.in).getFullYear();\n}\nvar Df = {};\nDf.hoursToMilliseconds = d1;\nvar s1 = h;\nfunction d1(r) {\n return Math.trunc(r * s1.millisecondsInHour);\n}\nvar wf = {};\nwf.hoursToMinutes = o1;\nvar f1 = h;\nfunction o1(r) {\n return Math.trunc(r * f1.minutesInHour);\n}\nvar Pf = {};\nPf.hoursToSeconds = m1;\nvar l1 = h;\nfunction m1(r) {\n return Math.trunc(r * l1.secondsInHour);\n}\nvar jf = {};\njf.interval = h1;\nvar v1 = R;\nfunction h1(r, n, t) {\n const [a, i] = (0, v1.normalizeDates)(t == null ? void 0 : t.in, r, n);\n if (isNaN(+a)) throw new TypeError(\"Start date is invalid\");\n if (isNaN(+i)) throw new TypeError(\"End date is invalid\");\n if (t != null && t.assertPositive && +a > +i)\n throw new TypeError(\"End date must be after start date\");\n return { start: a, end: i };\n}\nvar Tf = {};\nTf.intervalToDuration = w1;\nvar _1 = Se, ct = iu, g1 = Kt, b1 = pt, O1 = en, $1 = Dt, M1 = wt, D1 = wu;\nfunction w1(r, n) {\n const { start: t, end: a } = (0, _1.normalizeInterval)(n == null ? void 0 : n.in, r), i = {}, u = (0, D1.differenceInYears)(a, t);\n u && (i.years = u);\n const c = (0, ct.add)(t, { years: i.years }), d = (0, $1.differenceInMonths)(a, c);\n d && (i.months = d);\n const f = (0, ct.add)(c, {\n months: i.months\n }), o = (0, g1.differenceInDays)(a, f);\n o && (i.days = o);\n const m = (0, ct.add)(f, {\n days: i.days\n }), _ = (0, b1.differenceInHours)(a, m);\n _ && (i.hours = _);\n const b = (0, ct.add)(m, {\n hours: i.hours\n }), M = (0, O1.differenceInMinutes)(a, b);\n M && (i.minutes = M);\n const j = (0, ct.add)(b, {\n minutes: i.minutes\n }), w = (0, M1.differenceInSeconds)(a, j);\n return w && (i.seconds = w), i;\n}\nvar If = {};\nIf.intlFormat = j1;\nvar P1 = l;\nfunction j1(r, n, t) {\n let a;\n return T1(n) ? a = n : t = n, new Intl.DateTimeFormat(t == null ? void 0 : t.locale, a).format(\n (0, P1.toDate)(r)\n );\n}\nfunction T1(r) {\n return r !== void 0 && !(\"locale\" in r);\n}\nvar Ef = {};\nEf.intlFormatDistance = E1;\nvar I1 = R, nr = h, Zi = Le, js = Gt, Bi = Ou, Ts = Xt, Ui = Jt, Is = pt, Es = en, Gi = wt;\nfunction E1(r, n, t) {\n let a = 0, i;\n const [u, c] = (0, I1.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n n\n );\n if (t != null && t.unit)\n i = t == null ? void 0 : t.unit, i === \"second\" ? a = (0, Gi.differenceInSeconds)(u, c) : i === \"minute\" ? a = (0, Es.differenceInMinutes)(u, c) : i === \"hour\" ? a = (0, Is.differenceInHours)(u, c) : i === \"day\" ? a = (0, Zi.differenceInCalendarDays)(u, c) : i === \"week\" ? a = (0, Ts.differenceInCalendarWeeks)(u, c) : i === \"month\" ? a = (0, js.differenceInCalendarMonths)(u, c) : i === \"quarter\" ? a = (0, Bi.differenceInCalendarQuarters)(\n u,\n c\n ) : i === \"year\" && (a = (0, Ui.differenceInCalendarYears)(u, c));\n else {\n const f = (0, Gi.differenceInSeconds)(\n u,\n c\n );\n Math.abs(f) < nr.secondsInMinute ? (a = (0, Gi.differenceInSeconds)(u, c), i = \"second\") : Math.abs(f) < nr.secondsInHour ? (a = (0, Es.differenceInMinutes)(u, c), i = \"minute\") : Math.abs(f) < nr.secondsInDay && Math.abs(\n (0, Zi.differenceInCalendarDays)(u, c)\n ) < 1 ? (a = (0, Is.differenceInHours)(u, c), i = \"hour\") : Math.abs(f) < nr.secondsInWeek && (a = (0, Zi.differenceInCalendarDays)(\n u,\n c\n )) && Math.abs(a) < 7 ? i = \"day\" : Math.abs(f) < nr.secondsInMonth ? (a = (0, Ts.differenceInCalendarWeeks)(u, c), i = \"week\") : Math.abs(f) < nr.secondsInQuarter ? (a = (0, js.differenceInCalendarMonths)(u, c), i = \"month\") : Math.abs(f) < nr.secondsInYear && (0, Bi.differenceInCalendarQuarters)(u, c) < 4 ? (a = (0, Bi.differenceInCalendarQuarters)(\n u,\n c\n ), i = \"quarter\") : (a = (0, Ui.differenceInCalendarYears)(u, c), i = \"year\");\n }\n return new Intl.RelativeTimeFormat(t == null ? void 0 : t.locale, {\n numeric: \"auto\",\n ...t\n }).format(a, i);\n}\nvar xf = {};\nxf.isAfter = x1;\nvar xs = l;\nfunction x1(r, n) {\n return +(0, xs.toDate)(r) > +(0, xs.toDate)(n);\n}\nvar Sf = {};\nSf.isBefore = S1;\nvar Ss = l;\nfunction S1(r, n) {\n return +(0, Ss.toDate)(r) < +(0, Ss.toDate)(n);\n}\nvar Yf = {};\nYf.isEqual = Y1;\nvar Ys = l;\nfunction Y1(r, n) {\n return +(0, Ys.toDate)(r) == +(0, Ys.toDate)(n);\n}\nvar Wf = {};\nWf.isExists = W1;\nfunction W1(r, n, t) {\n const a = new Date(r, n, t);\n return a.getFullYear() === r && a.getMonth() === n && a.getDate() === t;\n}\nvar Ff = {};\nFf.isFirstDayOfMonth = N1;\nvar F1 = l;\nfunction N1(r, n) {\n return (0, F1.toDate)(r, n == null ? void 0 : n.in).getDate() === 1;\n}\nvar Nf = {};\nNf.isFriday = L1;\nvar C1 = l;\nfunction L1(r, n) {\n return (0, C1.toDate)(r, n == null ? void 0 : n.in).getDay() === 5;\n}\nvar Cf = {};\nCf.isFuture = A1;\nvar H1 = l;\nfunction A1(r) {\n return +(0, H1.toDate)(r) > Date.now();\n}\nvar Lf = {}, Vu = {}, Xe = {}, Zu = {};\nZu.transpose = y1;\nvar R1 = D;\nfunction y1(r, n) {\n const t = z1(n) ? new n(0) : (0, R1.constructFrom)(n, 0);\n return t.setFullYear(r.getFullYear(), r.getMonth(), r.getDate()), t.setHours(\n r.getHours(),\n r.getMinutes(),\n r.getSeconds(),\n r.getMilliseconds()\n ), t;\n}\nfunction z1(r) {\n var n;\n return typeof r == \"function\" && ((n = r.prototype) == null ? void 0 : n.constructor) === r;\n}\nXe.ValueSetter = Xe.Setter = Xe.DateTimezoneSetter = void 0;\nvar Ws = D, q1 = Zu;\nconst Q1 = 10;\nclass Bu {\n constructor() {\n O(this, \"subPriority\", 0);\n }\n validate(n, t) {\n return !0;\n }\n}\nXe.Setter = Bu;\nclass V1 extends Bu {\n constructor(n, t, a, i, u) {\n super(), this.value = n, this.validateValue = t, this.setValue = a, this.priority = i, u && (this.subPriority = u);\n }\n validate(n, t) {\n return this.validateValue(n, this.value, t);\n }\n set(n, t, a) {\n return this.setValue(n, t, this.value, a);\n }\n}\nXe.ValueSetter = V1;\nclass Z1 extends Bu {\n constructor(t, a) {\n super();\n O(this, \"priority\", Q1);\n O(this, \"subPriority\", -1);\n this.context = t || ((i) => (0, Ws.constructFrom)(a, i));\n }\n set(t, a) {\n return a.timestampIsSet ? t : (0, Ws.constructFrom)(\n t,\n (0, q1.transpose)(t, this.context)\n );\n }\n}\nXe.DateTimezoneSetter = Z1;\nvar Uu = {}, Gu = {}, L = {};\nL.Parser = void 0;\nvar B1 = Xe;\nclass U1 {\n run(n, t, a, i) {\n const u = this.parse(n, t, a, i);\n return u ? {\n setter: new B1.ValueSetter(\n u.value,\n this.validate,\n this.set,\n this.priority,\n this.subPriority\n ),\n rest: u.rest\n } : null;\n }\n validate(n, t, a) {\n return !0;\n }\n}\nL.Parser = U1;\nGu.EraParser = void 0;\nvar G1 = L;\nclass X1 extends G1.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 140);\n O(this, \"incompatibleTokens\", [\"R\", \"u\", \"t\", \"T\"]);\n }\n parse(t, a, i) {\n switch (a) {\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return i.era(t, { width: \"abbreviated\" }) || i.era(t, { width: \"narrow\" });\n case \"GGGGG\":\n return i.era(t, { width: \"narrow\" });\n case \"GGGG\":\n default:\n return i.era(t, { width: \"wide\" }) || i.era(t, { width: \"abbreviated\" }) || i.era(t, { width: \"narrow\" });\n }\n }\n set(t, a, i) {\n return a.era = i, t.setFullYear(i, 0, 1), t.setHours(0, 0, 0, 0), t;\n }\n}\nGu.EraParser = X1;\nvar Xu = {}, Y = {}, ee = {};\nee.timezonePatterns = ee.numericPatterns = void 0;\nee.numericPatterns = {\n month: /^(1[0-2]|0?\\d)/,\n // 0 to 12\n date: /^(3[0-1]|[0-2]?\\d)/,\n // 0 to 31\n dayOfYear: /^(36[0-6]|3[0-5]\\d|[0-2]?\\d?\\d)/,\n // 0 to 366\n week: /^(5[0-3]|[0-4]?\\d)/,\n // 0 to 53\n hour23h: /^(2[0-3]|[0-1]?\\d)/,\n // 0 to 23\n hour24h: /^(2[0-4]|[0-1]?\\d)/,\n // 0 to 24\n hour11h: /^(1[0-1]|0?\\d)/,\n // 0 to 11\n hour12h: /^(1[0-2]|0?\\d)/,\n // 0 to 12\n minute: /^[0-5]?\\d/,\n // 0 to 59\n second: /^[0-5]?\\d/,\n // 0 to 59\n singleDigit: /^\\d/,\n // 0 to 9\n twoDigits: /^\\d{1,2}/,\n // 0 to 99\n threeDigits: /^\\d{1,3}/,\n // 0 to 999\n fourDigits: /^\\d{1,4}/,\n // 0 to 9999\n anyDigitsSigned: /^-?\\d+/,\n singleDigitSigned: /^-?\\d/,\n // 0 to 9, -0 to -9\n twoDigitsSigned: /^-?\\d{1,2}/,\n // 0 to 99, -0 to -99\n threeDigitsSigned: /^-?\\d{1,3}/,\n // 0 to 999, -0 to -999\n fourDigitsSigned: /^-?\\d{1,4}/\n // 0 to 9999, -0 to -9999\n};\nee.timezonePatterns = {\n basicOptionalMinutes: /^([+-])(\\d{2})(\\d{2})?|Z/,\n basic: /^([+-])(\\d{2})(\\d{2})|Z/,\n basicOptionalSeconds: /^([+-])(\\d{2})(\\d{2})((\\d{2}))?|Z/,\n extended: /^([+-])(\\d{2}):(\\d{2})|Z/,\n extendedOptionalSeconds: /^([+-])(\\d{2}):(\\d{2})(:(\\d{2}))?|Z/\n};\nY.dayPeriodEnumToHours = rO;\nY.isLeapYearIndex = nO;\nY.mapValue = J1;\nY.normalizeTwoDigitYear = tO;\nY.parseAnyDigitsSigned = p1;\nY.parseNDigits = k1;\nY.parseNDigitsSigned = eO;\nY.parseNumericPattern = ge;\nY.parseTimezonePattern = K1;\nvar Xi = h, Ne = ee;\nfunction J1(r, n) {\n return r && {\n value: n(r.value),\n rest: r.rest\n };\n}\nfunction ge(r, n) {\n const t = n.match(r);\n return t ? {\n value: parseInt(t[0], 10),\n rest: n.slice(t[0].length)\n } : null;\n}\nfunction K1(r, n) {\n const t = n.match(r);\n if (!t)\n return null;\n if (t[0] === \"Z\")\n return {\n value: 0,\n rest: n.slice(1)\n };\n const a = t[1] === \"+\" ? 1 : -1, i = t[2] ? parseInt(t[2], 10) : 0, u = t[3] ? parseInt(t[3], 10) : 0, c = t[5] ? parseInt(t[5], 10) : 0;\n return {\n value: a * (i * Xi.millisecondsInHour + u * Xi.millisecondsInMinute + c * Xi.millisecondsInSecond),\n rest: n.slice(t[0].length)\n };\n}\nfunction p1(r) {\n return ge(\n Ne.numericPatterns.anyDigitsSigned,\n r\n );\n}\nfunction k1(r, n) {\n switch (r) {\n case 1:\n return ge(\n Ne.numericPatterns.singleDigit,\n n\n );\n case 2:\n return ge(\n Ne.numericPatterns.twoDigits,\n n\n );\n case 3:\n return ge(\n Ne.numericPatterns.threeDigits,\n n\n );\n case 4:\n return ge(\n Ne.numericPatterns.fourDigits,\n n\n );\n default:\n return ge(new RegExp(\"^\\\\d{1,\" + r + \"}\"), n);\n }\n}\nfunction eO(r, n) {\n switch (r) {\n case 1:\n return ge(\n Ne.numericPatterns.singleDigitSigned,\n n\n );\n case 2:\n return ge(\n Ne.numericPatterns.twoDigitsSigned,\n n\n );\n case 3:\n return ge(\n Ne.numericPatterns.threeDigitsSigned,\n n\n );\n case 4:\n return ge(\n Ne.numericPatterns.fourDigitsSigned,\n n\n );\n default:\n return ge(new RegExp(\"^-?\\\\d{1,\" + r + \"}\"), n);\n }\n}\nfunction rO(r) {\n switch (r) {\n case \"morning\":\n return 4;\n case \"evening\":\n return 17;\n case \"pm\":\n case \"noon\":\n case \"afternoon\":\n return 12;\n case \"am\":\n case \"midnight\":\n case \"night\":\n default:\n return 0;\n }\n}\nfunction tO(r, n) {\n const t = n > 0, a = t ? n : 1 - n;\n let i;\n if (a <= 50)\n i = r || 100;\n else {\n const u = a + 50, c = Math.trunc(u / 100) * 100, d = r >= u % 100;\n i = r + c - (d ? 100 : 0);\n }\n return t ? i : 1 - i;\n}\nfunction nO(r) {\n return r % 400 === 0 || r % 4 === 0 && r % 100 !== 0;\n}\nXu.YearParser = void 0;\nvar aO = L, Ir = Y;\nclass iO extends aO.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 130);\n O(this, \"incompatibleTokens\", [\"Y\", \"R\", \"u\", \"w\", \"I\", \"i\", \"e\", \"c\", \"t\", \"T\"]);\n }\n parse(t, a, i) {\n const u = (c) => ({\n year: c,\n isTwoDigitYear: a === \"yy\"\n });\n switch (a) {\n case \"y\":\n return (0, Ir.mapValue)(\n (0, Ir.parseNDigits)(4, t),\n u\n );\n case \"yo\":\n return (0, Ir.mapValue)(\n i.ordinalNumber(t, {\n unit: \"year\"\n }),\n u\n );\n default:\n return (0, Ir.mapValue)(\n (0, Ir.parseNDigits)(a.length, t),\n u\n );\n }\n }\n validate(t, a) {\n return a.isTwoDigitYear || a.year > 0;\n }\n set(t, a, i) {\n const u = t.getFullYear();\n if (i.isTwoDigitYear) {\n const d = (0, Ir.normalizeTwoDigitYear)(\n i.year,\n u\n );\n return t.setFullYear(d, 0, 1), t.setHours(0, 0, 0, 0), t;\n }\n const c = !(\"era\" in a) || a.era === 1 ? i.year : 1 - i.year;\n return t.setFullYear(c, 0, 1), t.setHours(0, 0, 0, 0), t;\n }\n}\nXu.YearParser = iO;\nvar Ju = {};\nJu.LocalWeekYearParser = void 0;\nvar uO = jt, Fs = Pe, cO = L, Er = Y;\nclass sO extends cO.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 130);\n O(this, \"incompatibleTokens\", [\n \"y\",\n \"R\",\n \"u\",\n \"Q\",\n \"q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"t\",\n \"T\"\n ]);\n }\n parse(t, a, i) {\n const u = (c) => ({\n year: c,\n isTwoDigitYear: a === \"YY\"\n });\n switch (a) {\n case \"Y\":\n return (0, Er.mapValue)(\n (0, Er.parseNDigits)(4, t),\n u\n );\n case \"Yo\":\n return (0, Er.mapValue)(\n i.ordinalNumber(t, {\n unit: \"year\"\n }),\n u\n );\n default:\n return (0, Er.mapValue)(\n (0, Er.parseNDigits)(a.length, t),\n u\n );\n }\n }\n validate(t, a) {\n return a.isTwoDigitYear || a.year > 0;\n }\n set(t, a, i, u) {\n const c = (0, uO.getWeekYear)(t, u);\n if (i.isTwoDigitYear) {\n const f = (0, Er.normalizeTwoDigitYear)(\n i.year,\n c\n );\n return t.setFullYear(\n f,\n 0,\n u.firstWeekContainsDate\n ), t.setHours(0, 0, 0, 0), (0, Fs.startOfWeek)(t, u);\n }\n const d = !(\"era\" in a) || a.era === 1 ? i.year : 1 - i.year;\n return t.setFullYear(d, 0, u.firstWeekContainsDate), t.setHours(0, 0, 0, 0), (0, Fs.startOfWeek)(t, u);\n }\n}\nJu.LocalWeekYearParser = sO;\nvar Ku = {};\nKu.ISOWeekYearParser = void 0;\nvar dO = xe, fO = D, oO = L, Ns = Y;\nclass lO extends oO.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 130);\n O(this, \"incompatibleTokens\", [\n \"G\",\n \"y\",\n \"Y\",\n \"u\",\n \"Q\",\n \"q\",\n \"M\",\n \"L\",\n \"w\",\n \"d\",\n \"D\",\n \"e\",\n \"c\",\n \"t\",\n \"T\"\n ]);\n }\n parse(t, a) {\n return a === \"R\" ? (0, Ns.parseNDigitsSigned)(4, t) : (0, Ns.parseNDigitsSigned)(a.length, t);\n }\n set(t, a, i) {\n const u = (0, fO.constructFrom)(t, 0);\n return u.setFullYear(i, 0, 4), u.setHours(0, 0, 0, 0), (0, dO.startOfISOWeek)(u);\n }\n}\nKu.ISOWeekYearParser = lO;\nvar pu = {};\npu.ExtendedYearParser = void 0;\nvar mO = L, Cs = Y;\nclass vO extends mO.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 130);\n O(this, \"incompatibleTokens\", [\"G\", \"y\", \"Y\", \"R\", \"w\", \"I\", \"i\", \"e\", \"c\", \"t\", \"T\"]);\n }\n parse(t, a) {\n return a === \"u\" ? (0, Cs.parseNDigitsSigned)(4, t) : (0, Cs.parseNDigitsSigned)(a.length, t);\n }\n set(t, a, i) {\n return t.setFullYear(i, 0, 1), t.setHours(0, 0, 0, 0), t;\n }\n}\npu.ExtendedYearParser = vO;\nvar ku = {};\nku.QuarterParser = void 0;\nvar hO = L, _O = Y;\nclass gO extends hO.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 120);\n O(this, \"incompatibleTokens\", [\n \"Y\",\n \"R\",\n \"q\",\n \"M\",\n \"L\",\n \"w\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\"\n ]);\n }\n parse(t, a, i) {\n switch (a) {\n case \"Q\":\n case \"QQ\":\n return (0, _O.parseNDigits)(a.length, t);\n case \"Qo\":\n return i.ordinalNumber(t, { unit: \"quarter\" });\n case \"QQQ\":\n return i.quarter(t, {\n width: \"abbreviated\",\n context: \"formatting\"\n }) || i.quarter(t, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"QQQQQ\":\n return i.quarter(t, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"QQQQ\":\n default:\n return i.quarter(t, {\n width: \"wide\",\n context: \"formatting\"\n }) || i.quarter(t, {\n width: \"abbreviated\",\n context: \"formatting\"\n }) || i.quarter(t, {\n width: \"narrow\",\n context: \"formatting\"\n });\n }\n }\n validate(t, a) {\n return a >= 1 && a <= 4;\n }\n set(t, a, i) {\n return t.setMonth((i - 1) * 3, 1), t.setHours(0, 0, 0, 0), t;\n }\n}\nku.QuarterParser = gO;\nvar ec = {};\nec.StandAloneQuarterParser = void 0;\nvar bO = L, OO = Y;\nclass $O extends bO.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 120);\n O(this, \"incompatibleTokens\", [\n \"Y\",\n \"R\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\"\n ]);\n }\n parse(t, a, i) {\n switch (a) {\n case \"q\":\n case \"qq\":\n return (0, OO.parseNDigits)(a.length, t);\n case \"qo\":\n return i.ordinalNumber(t, { unit: \"quarter\" });\n case \"qqq\":\n return i.quarter(t, {\n width: \"abbreviated\",\n context: \"standalone\"\n }) || i.quarter(t, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"qqqqq\":\n return i.quarter(t, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"qqqq\":\n default:\n return i.quarter(t, {\n width: \"wide\",\n context: \"standalone\"\n }) || i.quarter(t, {\n width: \"abbreviated\",\n context: \"standalone\"\n }) || i.quarter(t, {\n width: \"narrow\",\n context: \"standalone\"\n });\n }\n }\n validate(t, a) {\n return a >= 1 && a <= 4;\n }\n set(t, a, i) {\n return t.setMonth((i - 1) * 3, 1), t.setHours(0, 0, 0, 0), t;\n }\n}\nec.StandAloneQuarterParser = $O;\nvar rc = {};\nrc.MonthParser = void 0;\nvar MO = ee, DO = L, st = Y;\nclass wO extends DO.Parser {\n constructor() {\n super(...arguments);\n O(this, \"incompatibleTokens\", [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"L\",\n \"w\",\n \"I\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\"\n ]);\n O(this, \"priority\", 110);\n }\n parse(t, a, i) {\n const u = (c) => c - 1;\n switch (a) {\n case \"M\":\n return (0, st.mapValue)(\n (0, st.parseNumericPattern)(\n MO.numericPatterns.month,\n t\n ),\n u\n );\n case \"MM\":\n return (0, st.mapValue)(\n (0, st.parseNDigits)(2, t),\n u\n );\n case \"Mo\":\n return (0, st.mapValue)(\n i.ordinalNumber(t, {\n unit: \"month\"\n }),\n u\n );\n case \"MMM\":\n return i.month(t, {\n width: \"abbreviated\",\n context: \"formatting\"\n }) || i.month(t, { width: \"narrow\", context: \"formatting\" });\n case \"MMMMM\":\n return i.month(t, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"MMMM\":\n default:\n return i.month(t, { width: \"wide\", context: \"formatting\" }) || i.month(t, {\n width: \"abbreviated\",\n context: \"formatting\"\n }) || i.month(t, { width: \"narrow\", context: \"formatting\" });\n }\n }\n validate(t, a) {\n return a >= 0 && a <= 11;\n }\n set(t, a, i) {\n return t.setMonth(i, 1), t.setHours(0, 0, 0, 0), t;\n }\n}\nrc.MonthParser = wO;\nvar tc = {};\ntc.StandAloneMonthParser = void 0;\nvar PO = ee, jO = L, dt = Y;\nclass TO extends jO.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 110);\n O(this, \"incompatibleTokens\", [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"M\",\n \"w\",\n \"I\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\"\n ]);\n }\n parse(t, a, i) {\n const u = (c) => c - 1;\n switch (a) {\n case \"L\":\n return (0, dt.mapValue)(\n (0, dt.parseNumericPattern)(\n PO.numericPatterns.month,\n t\n ),\n u\n );\n case \"LL\":\n return (0, dt.mapValue)(\n (0, dt.parseNDigits)(2, t),\n u\n );\n case \"Lo\":\n return (0, dt.mapValue)(\n i.ordinalNumber(t, {\n unit: \"month\"\n }),\n u\n );\n case \"LLL\":\n return i.month(t, {\n width: \"abbreviated\",\n context: \"standalone\"\n }) || i.month(t, { width: \"narrow\", context: \"standalone\" });\n case \"LLLLL\":\n return i.month(t, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"LLLL\":\n default:\n return i.month(t, { width: \"wide\", context: \"standalone\" }) || i.month(t, {\n width: \"abbreviated\",\n context: \"standalone\"\n }) || i.month(t, { width: \"narrow\", context: \"standalone\" });\n }\n }\n validate(t, a) {\n return a >= 0 && a <= 11;\n }\n set(t, a, i) {\n return t.setMonth(i, 1), t.setHours(0, 0, 0, 0), t;\n }\n}\ntc.StandAloneMonthParser = TO;\nvar nc = {}, ac = {};\nac.setWeek = EO;\nvar IO = sn, Ls = l;\nfunction EO(r, n, t) {\n const a = (0, Ls.toDate)(r, t == null ? void 0 : t.in), i = (0, IO.getWeek)(a, t) - n;\n return a.setDate(a.getDate() - i * 7), (0, Ls.toDate)(a, t == null ? void 0 : t.in);\n}\nnc.LocalWeekParser = void 0;\nvar xO = ac, SO = Pe, YO = ee, WO = L, Hs = Y;\nclass FO extends WO.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 100);\n O(this, \"incompatibleTokens\", [\n \"y\",\n \"R\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"t\",\n \"T\"\n ]);\n }\n parse(t, a, i) {\n switch (a) {\n case \"w\":\n return (0, Hs.parseNumericPattern)(\n YO.numericPatterns.week,\n t\n );\n case \"wo\":\n return i.ordinalNumber(t, { unit: \"week\" });\n default:\n return (0, Hs.parseNDigits)(a.length, t);\n }\n }\n validate(t, a) {\n return a >= 1 && a <= 53;\n }\n set(t, a, i, u) {\n return (0, SO.startOfWeek)(\n (0, xO.setWeek)(t, i, u),\n u\n );\n }\n}\nnc.LocalWeekParser = FO;\nvar ic = {}, uc = {};\nuc.setISOWeek = LO;\nvar NO = cn, CO = l;\nfunction LO(r, n, t) {\n const a = (0, CO.toDate)(r, t == null ? void 0 : t.in), i = (0, NO.getISOWeek)(a, t) - n;\n return a.setDate(a.getDate() - i * 7), a;\n}\nic.ISOWeekParser = void 0;\nvar HO = uc, AO = xe, RO = ee, yO = L, As = Y;\nclass zO extends yO.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 100);\n O(this, \"incompatibleTokens\", [\n \"y\",\n \"Y\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"d\",\n \"D\",\n \"e\",\n \"c\",\n \"t\",\n \"T\"\n ]);\n }\n parse(t, a, i) {\n switch (a) {\n case \"I\":\n return (0, As.parseNumericPattern)(\n RO.numericPatterns.week,\n t\n );\n case \"Io\":\n return i.ordinalNumber(t, { unit: \"week\" });\n default:\n return (0, As.parseNDigits)(a.length, t);\n }\n }\n validate(t, a) {\n return a >= 1 && a <= 53;\n }\n set(t, a, i) {\n return (0, AO.startOfISOWeek)((0, HO.setISOWeek)(t, i));\n }\n}\nic.ISOWeekParser = zO;\nvar cc = {};\ncc.DateParser = void 0;\nvar qO = ee, QO = L, Ji = Y;\nconst VO = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], ZO = [\n 31,\n 29,\n 31,\n 30,\n 31,\n 30,\n 31,\n 31,\n 30,\n 31,\n 30,\n 31\n];\nclass BO extends QO.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 90);\n O(this, \"subPriority\", 1);\n O(this, \"incompatibleTokens\", [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"w\",\n \"I\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\"\n ]);\n }\n parse(t, a, i) {\n switch (a) {\n case \"d\":\n return (0, Ji.parseNumericPattern)(\n qO.numericPatterns.date,\n t\n );\n case \"do\":\n return i.ordinalNumber(t, { unit: \"date\" });\n default:\n return (0, Ji.parseNDigits)(a.length, t);\n }\n }\n validate(t, a) {\n const i = t.getFullYear(), u = (0, Ji.isLeapYearIndex)(i), c = t.getMonth();\n return u ? a >= 1 && a <= ZO[c] : a >= 1 && a <= VO[c];\n }\n set(t, a, i) {\n return t.setDate(i), t.setHours(0, 0, 0, 0), t;\n }\n}\ncc.DateParser = BO;\nvar sc = {};\nsc.DayOfYearParser = void 0;\nvar UO = ee, GO = L, Ki = Y;\nclass XO extends GO.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 90);\n O(this, \"subpriority\", 1);\n O(this, \"incompatibleTokens\", [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"I\",\n \"d\",\n \"E\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\"\n ]);\n }\n parse(t, a, i) {\n switch (a) {\n case \"D\":\n case \"DD\":\n return (0, Ki.parseNumericPattern)(\n UO.numericPatterns.dayOfYear,\n t\n );\n case \"Do\":\n return i.ordinalNumber(t, { unit: \"date\" });\n default:\n return (0, Ki.parseNDigits)(a.length, t);\n }\n }\n validate(t, a) {\n const i = t.getFullYear();\n return (0, Ki.isLeapYearIndex)(i) ? a >= 1 && a <= 366 : a >= 1 && a <= 365;\n }\n set(t, a, i) {\n return t.setMonth(0, i), t.setHours(0, 0, 0, 0), t;\n }\n}\nsc.DayOfYearParser = XO;\nvar dc = {}, Et = {};\nEt.setDay = kO;\nvar JO = ie, KO = Ee, pO = l;\nfunction kO(r, n, t) {\n var _, b, M, j;\n const a = (0, JO.getDefaultOptions)(), i = (t == null ? void 0 : t.weekStartsOn) ?? ((b = (_ = t == null ? void 0 : t.locale) == null ? void 0 : _.options) == null ? void 0 : b.weekStartsOn) ?? a.weekStartsOn ?? ((j = (M = a.locale) == null ? void 0 : M.options) == null ? void 0 : j.weekStartsOn) ?? 0, u = (0, pO.toDate)(r, t == null ? void 0 : t.in), c = u.getDay(), f = (n % 7 + 7) % 7, o = 7 - i, m = n < 0 || n > 6 ? n - (c + o) % 7 : (f + o) % 7 - (c + o) % 7;\n return (0, KO.addDays)(u, m, t);\n}\ndc.DayParser = void 0;\nvar e$ = Et, r$ = L;\nclass t$ extends r$.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 90);\n O(this, \"incompatibleTokens\", [\"D\", \"i\", \"e\", \"c\", \"t\", \"T\"]);\n }\n parse(t, a, i) {\n switch (a) {\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return i.day(t, {\n width: \"abbreviated\",\n context: \"formatting\"\n }) || i.day(t, { width: \"short\", context: \"formatting\" }) || i.day(t, { width: \"narrow\", context: \"formatting\" });\n case \"EEEEE\":\n return i.day(t, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"EEEEEE\":\n return i.day(t, { width: \"short\", context: \"formatting\" }) || i.day(t, { width: \"narrow\", context: \"formatting\" });\n case \"EEEE\":\n default:\n return i.day(t, { width: \"wide\", context: \"formatting\" }) || i.day(t, {\n width: \"abbreviated\",\n context: \"formatting\"\n }) || i.day(t, { width: \"short\", context: \"formatting\" }) || i.day(t, { width: \"narrow\", context: \"formatting\" });\n }\n }\n validate(t, a) {\n return a >= 0 && a <= 6;\n }\n set(t, a, i, u) {\n return t = (0, e$.setDay)(t, i, u), t.setHours(0, 0, 0, 0), t;\n }\n}\ndc.DayParser = t$;\nvar fc = {};\nfc.LocalDayParser = void 0;\nvar n$ = Et, a$ = L, pi = Y;\nclass i$ extends a$.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 90);\n O(this, \"incompatibleTokens\", [\n \"y\",\n \"R\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"E\",\n \"i\",\n \"c\",\n \"t\",\n \"T\"\n ]);\n }\n parse(t, a, i, u) {\n const c = (d) => {\n const f = Math.floor((d - 1) / 7) * 7;\n return (d + u.weekStartsOn + 6) % 7 + f;\n };\n switch (a) {\n case \"e\":\n case \"ee\":\n return (0, pi.mapValue)(\n (0, pi.parseNDigits)(a.length, t),\n c\n );\n case \"eo\":\n return (0, pi.mapValue)(\n i.ordinalNumber(t, {\n unit: \"day\"\n }),\n c\n );\n case \"eee\":\n return i.day(t, {\n width: \"abbreviated\",\n context: \"formatting\"\n }) || i.day(t, { width: \"short\", context: \"formatting\" }) || i.day(t, { width: \"narrow\", context: \"formatting\" });\n case \"eeeee\":\n return i.day(t, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"eeeeee\":\n return i.day(t, { width: \"short\", context: \"formatting\" }) || i.day(t, { width: \"narrow\", context: \"formatting\" });\n case \"eeee\":\n default:\n return i.day(t, { width: \"wide\", context: \"formatting\" }) || i.day(t, {\n width: \"abbreviated\",\n context: \"formatting\"\n }) || i.day(t, { width: \"short\", context: \"formatting\" }) || i.day(t, { width: \"narrow\", context: \"formatting\" });\n }\n }\n validate(t, a) {\n return a >= 0 && a <= 6;\n }\n set(t, a, i, u) {\n return t = (0, n$.setDay)(t, i, u), t.setHours(0, 0, 0, 0), t;\n }\n}\nfc.LocalDayParser = i$;\nvar oc = {};\noc.StandAloneLocalDayParser = void 0;\nvar u$ = Et, c$ = L, ki = Y;\nclass s$ extends c$.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 90);\n O(this, \"incompatibleTokens\", [\n \"y\",\n \"R\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"E\",\n \"i\",\n \"e\",\n \"t\",\n \"T\"\n ]);\n }\n parse(t, a, i, u) {\n const c = (d) => {\n const f = Math.floor((d - 1) / 7) * 7;\n return (d + u.weekStartsOn + 6) % 7 + f;\n };\n switch (a) {\n case \"c\":\n case \"cc\":\n return (0, ki.mapValue)(\n (0, ki.parseNDigits)(a.length, t),\n c\n );\n case \"co\":\n return (0, ki.mapValue)(\n i.ordinalNumber(t, {\n unit: \"day\"\n }),\n c\n );\n case \"ccc\":\n return i.day(t, {\n width: \"abbreviated\",\n context: \"standalone\"\n }) || i.day(t, { width: \"short\", context: \"standalone\" }) || i.day(t, { width: \"narrow\", context: \"standalone\" });\n case \"ccccc\":\n return i.day(t, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"cccccc\":\n return i.day(t, { width: \"short\", context: \"standalone\" }) || i.day(t, { width: \"narrow\", context: \"standalone\" });\n case \"cccc\":\n default:\n return i.day(t, { width: \"wide\", context: \"standalone\" }) || i.day(t, {\n width: \"abbreviated\",\n context: \"standalone\"\n }) || i.day(t, { width: \"short\", context: \"standalone\" }) || i.day(t, { width: \"narrow\", context: \"standalone\" });\n }\n }\n validate(t, a) {\n return a >= 0 && a <= 6;\n }\n set(t, a, i, u) {\n return t = (0, u$.setDay)(t, i, u), t.setHours(0, 0, 0, 0), t;\n }\n}\noc.StandAloneLocalDayParser = s$;\nvar lc = {}, mc = {};\nmc.setISODay = l$;\nvar d$ = Ee, f$ = qu, o$ = l;\nfunction l$(r, n, t) {\n const a = (0, o$.toDate)(r, t == null ? void 0 : t.in), i = (0, f$.getISODay)(a, t), u = n - i;\n return (0, d$.addDays)(a, u, t);\n}\nlc.ISODayParser = void 0;\nvar m$ = mc, v$ = L, ft = Y;\nclass h$ extends v$.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 90);\n O(this, \"incompatibleTokens\", [\n \"y\",\n \"Y\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"d\",\n \"D\",\n \"E\",\n \"e\",\n \"c\",\n \"t\",\n \"T\"\n ]);\n }\n parse(t, a, i) {\n const u = (c) => c === 0 ? 7 : c;\n switch (a) {\n case \"i\":\n case \"ii\":\n return (0, ft.parseNDigits)(a.length, t);\n case \"io\":\n return i.ordinalNumber(t, { unit: \"day\" });\n case \"iii\":\n return (0, ft.mapValue)(\n i.day(t, {\n width: \"abbreviated\",\n context: \"formatting\"\n }) || i.day(t, {\n width: \"short\",\n context: \"formatting\"\n }) || i.day(t, {\n width: \"narrow\",\n context: \"formatting\"\n }),\n u\n );\n case \"iiiii\":\n return (0, ft.mapValue)(\n i.day(t, {\n width: \"narrow\",\n context: \"formatting\"\n }),\n u\n );\n case \"iiiiii\":\n return (0, ft.mapValue)(\n i.day(t, {\n width: \"short\",\n context: \"formatting\"\n }) || i.day(t, {\n width: \"narrow\",\n context: \"formatting\"\n }),\n u\n );\n case \"iiii\":\n default:\n return (0, ft.mapValue)(\n i.day(t, {\n width: \"wide\",\n context: \"formatting\"\n }) || i.day(t, {\n width: \"abbreviated\",\n context: \"formatting\"\n }) || i.day(t, {\n width: \"short\",\n context: \"formatting\"\n }) || i.day(t, {\n width: \"narrow\",\n context: \"formatting\"\n }),\n u\n );\n }\n }\n validate(t, a) {\n return a >= 1 && a <= 7;\n }\n set(t, a, i) {\n return t = (0, m$.setISODay)(t, i), t.setHours(0, 0, 0, 0), t;\n }\n}\nlc.ISODayParser = h$;\nvar vc = {};\nvc.AMPMParser = void 0;\nvar _$ = L, g$ = Y;\nclass b$ extends _$.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 80);\n O(this, \"incompatibleTokens\", [\"b\", \"B\", \"H\", \"k\", \"t\", \"T\"]);\n }\n parse(t, a, i) {\n switch (a) {\n case \"a\":\n case \"aa\":\n case \"aaa\":\n return i.dayPeriod(t, {\n width: \"abbreviated\",\n context: \"formatting\"\n }) || i.dayPeriod(t, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"aaaaa\":\n return i.dayPeriod(t, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"aaaa\":\n default:\n return i.dayPeriod(t, {\n width: \"wide\",\n context: \"formatting\"\n }) || i.dayPeriod(t, {\n width: \"abbreviated\",\n context: \"formatting\"\n }) || i.dayPeriod(t, {\n width: \"narrow\",\n context: \"formatting\"\n });\n }\n }\n set(t, a, i) {\n return t.setHours((0, g$.dayPeriodEnumToHours)(i), 0, 0, 0), t;\n }\n}\nvc.AMPMParser = b$;\nvar hc = {};\nhc.AMPMMidnightParser = void 0;\nvar O$ = L, $$ = Y;\nclass M$ extends O$.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 80);\n O(this, \"incompatibleTokens\", [\"a\", \"B\", \"H\", \"k\", \"t\", \"T\"]);\n }\n parse(t, a, i) {\n switch (a) {\n case \"b\":\n case \"bb\":\n case \"bbb\":\n return i.dayPeriod(t, {\n width: \"abbreviated\",\n context: \"formatting\"\n }) || i.dayPeriod(t, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"bbbbb\":\n return i.dayPeriod(t, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"bbbb\":\n default:\n return i.dayPeriod(t, {\n width: \"wide\",\n context: \"formatting\"\n }) || i.dayPeriod(t, {\n width: \"abbreviated\",\n context: \"formatting\"\n }) || i.dayPeriod(t, {\n width: \"narrow\",\n context: \"formatting\"\n });\n }\n }\n set(t, a, i) {\n return t.setHours((0, $$.dayPeriodEnumToHours)(i), 0, 0, 0), t;\n }\n}\nhc.AMPMMidnightParser = M$;\nvar _c = {};\n_c.DayPeriodParser = void 0;\nvar D$ = L, w$ = Y;\nclass P$ extends D$.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 80);\n O(this, \"incompatibleTokens\", [\"a\", \"b\", \"t\", \"T\"]);\n }\n parse(t, a, i) {\n switch (a) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return i.dayPeriod(t, {\n width: \"abbreviated\",\n context: \"formatting\"\n }) || i.dayPeriod(t, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"BBBBB\":\n return i.dayPeriod(t, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"BBBB\":\n default:\n return i.dayPeriod(t, {\n width: \"wide\",\n context: \"formatting\"\n }) || i.dayPeriod(t, {\n width: \"abbreviated\",\n context: \"formatting\"\n }) || i.dayPeriod(t, {\n width: \"narrow\",\n context: \"formatting\"\n });\n }\n }\n set(t, a, i) {\n return t.setHours((0, w$.dayPeriodEnumToHours)(i), 0, 0, 0), t;\n }\n}\n_c.DayPeriodParser = P$;\nvar gc = {};\ngc.Hour1to12Parser = void 0;\nvar j$ = ee, T$ = L, Rs = Y;\nclass I$ extends T$.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 70);\n O(this, \"incompatibleTokens\", [\"H\", \"K\", \"k\", \"t\", \"T\"]);\n }\n parse(t, a, i) {\n switch (a) {\n case \"h\":\n return (0, Rs.parseNumericPattern)(\n j$.numericPatterns.hour12h,\n t\n );\n case \"ho\":\n return i.ordinalNumber(t, { unit: \"hour\" });\n default:\n return (0, Rs.parseNDigits)(a.length, t);\n }\n }\n validate(t, a) {\n return a >= 1 && a <= 12;\n }\n set(t, a, i) {\n const u = t.getHours() >= 12;\n return u && i < 12 ? t.setHours(i + 12, 0, 0, 0) : !u && i === 12 ? t.setHours(0, 0, 0, 0) : t.setHours(i, 0, 0, 0), t;\n }\n}\ngc.Hour1to12Parser = I$;\nvar bc = {};\nbc.Hour0to23Parser = void 0;\nvar E$ = ee, x$ = L, ys = Y;\nclass S$ extends x$.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 70);\n O(this, \"incompatibleTokens\", [\"a\", \"b\", \"h\", \"K\", \"k\", \"t\", \"T\"]);\n }\n parse(t, a, i) {\n switch (a) {\n case \"H\":\n return (0, ys.parseNumericPattern)(\n E$.numericPatterns.hour23h,\n t\n );\n case \"Ho\":\n return i.ordinalNumber(t, { unit: \"hour\" });\n default:\n return (0, ys.parseNDigits)(a.length, t);\n }\n }\n validate(t, a) {\n return a >= 0 && a <= 23;\n }\n set(t, a, i) {\n return t.setHours(i, 0, 0, 0), t;\n }\n}\nbc.Hour0to23Parser = S$;\nvar Oc = {};\nOc.Hour0To11Parser = void 0;\nvar Y$ = ee, W$ = L, zs = Y;\nclass F$ extends W$.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 70);\n O(this, \"incompatibleTokens\", [\"h\", \"H\", \"k\", \"t\", \"T\"]);\n }\n parse(t, a, i) {\n switch (a) {\n case \"K\":\n return (0, zs.parseNumericPattern)(\n Y$.numericPatterns.hour11h,\n t\n );\n case \"Ko\":\n return i.ordinalNumber(t, { unit: \"hour\" });\n default:\n return (0, zs.parseNDigits)(a.length, t);\n }\n }\n validate(t, a) {\n return a >= 0 && a <= 11;\n }\n set(t, a, i) {\n return t.getHours() >= 12 && i < 12 ? t.setHours(i + 12, 0, 0, 0) : t.setHours(i, 0, 0, 0), t;\n }\n}\nOc.Hour0To11Parser = F$;\nvar $c = {};\n$c.Hour1To24Parser = void 0;\nvar N$ = ee, C$ = L, qs = Y;\nclass L$ extends C$.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 70);\n O(this, \"incompatibleTokens\", [\"a\", \"b\", \"h\", \"H\", \"K\", \"t\", \"T\"]);\n }\n parse(t, a, i) {\n switch (a) {\n case \"k\":\n return (0, qs.parseNumericPattern)(\n N$.numericPatterns.hour24h,\n t\n );\n case \"ko\":\n return i.ordinalNumber(t, { unit: \"hour\" });\n default:\n return (0, qs.parseNDigits)(a.length, t);\n }\n }\n validate(t, a) {\n return a >= 1 && a <= 24;\n }\n set(t, a, i) {\n const u = i <= 24 ? i % 24 : i;\n return t.setHours(u, 0, 0, 0), t;\n }\n}\n$c.Hour1To24Parser = L$;\nvar Mc = {};\nMc.MinuteParser = void 0;\nvar H$ = ee, A$ = L, Qs = Y;\nclass R$ extends A$.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 60);\n O(this, \"incompatibleTokens\", [\"t\", \"T\"]);\n }\n parse(t, a, i) {\n switch (a) {\n case \"m\":\n return (0, Qs.parseNumericPattern)(\n H$.numericPatterns.minute,\n t\n );\n case \"mo\":\n return i.ordinalNumber(t, { unit: \"minute\" });\n default:\n return (0, Qs.parseNDigits)(a.length, t);\n }\n }\n validate(t, a) {\n return a >= 0 && a <= 59;\n }\n set(t, a, i) {\n return t.setMinutes(i, 0, 0), t;\n }\n}\nMc.MinuteParser = R$;\nvar Dc = {};\nDc.SecondParser = void 0;\nvar y$ = ee, z$ = L, Vs = Y;\nclass q$ extends z$.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 50);\n O(this, \"incompatibleTokens\", [\"t\", \"T\"]);\n }\n parse(t, a, i) {\n switch (a) {\n case \"s\":\n return (0, Vs.parseNumericPattern)(\n y$.numericPatterns.second,\n t\n );\n case \"so\":\n return i.ordinalNumber(t, { unit: \"second\" });\n default:\n return (0, Vs.parseNDigits)(a.length, t);\n }\n }\n validate(t, a) {\n return a >= 0 && a <= 59;\n }\n set(t, a, i) {\n return t.setSeconds(i, 0), t;\n }\n}\nDc.SecondParser = q$;\nvar wc = {};\nwc.FractionOfSecondParser = void 0;\nvar Q$ = L, Zs = Y;\nclass V$ extends Q$.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 30);\n O(this, \"incompatibleTokens\", [\"t\", \"T\"]);\n }\n parse(t, a) {\n const i = (u) => Math.trunc(u * Math.pow(10, -a.length + 3));\n return (0, Zs.mapValue)(\n (0, Zs.parseNDigits)(a.length, t),\n i\n );\n }\n set(t, a, i) {\n return t.setMilliseconds(i), t;\n }\n}\nwc.FractionOfSecondParser = V$;\nvar Pc = {};\nPc.ISOTimezoneWithZParser = void 0;\nvar Z$ = D, B$ = He, ot = ee, U$ = L, lt = Y;\nclass G$ extends U$.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 10);\n O(this, \"incompatibleTokens\", [\"t\", \"T\", \"x\"]);\n }\n parse(t, a) {\n switch (a) {\n case \"X\":\n return (0, lt.parseTimezonePattern)(\n ot.timezonePatterns.basicOptionalMinutes,\n t\n );\n case \"XX\":\n return (0, lt.parseTimezonePattern)(\n ot.timezonePatterns.basic,\n t\n );\n case \"XXXX\":\n return (0, lt.parseTimezonePattern)(\n ot.timezonePatterns.basicOptionalSeconds,\n t\n );\n case \"XXXXX\":\n return (0, lt.parseTimezonePattern)(\n ot.timezonePatterns.extendedOptionalSeconds,\n t\n );\n case \"XXX\":\n default:\n return (0, lt.parseTimezonePattern)(\n ot.timezonePatterns.extended,\n t\n );\n }\n }\n set(t, a, i) {\n return a.timestampIsSet ? t : (0, Z$.constructFrom)(\n t,\n t.getTime() - (0, B$.getTimezoneOffsetInMilliseconds)(t) - i\n );\n }\n}\nPc.ISOTimezoneWithZParser = G$;\nvar jc = {};\njc.ISOTimezoneParser = void 0;\nvar X$ = D, J$ = He, mt = ee, K$ = L, vt = Y;\nclass p$ extends K$.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 10);\n O(this, \"incompatibleTokens\", [\"t\", \"T\", \"X\"]);\n }\n parse(t, a) {\n switch (a) {\n case \"x\":\n return (0, vt.parseTimezonePattern)(\n mt.timezonePatterns.basicOptionalMinutes,\n t\n );\n case \"xx\":\n return (0, vt.parseTimezonePattern)(\n mt.timezonePatterns.basic,\n t\n );\n case \"xxxx\":\n return (0, vt.parseTimezonePattern)(\n mt.timezonePatterns.basicOptionalSeconds,\n t\n );\n case \"xxxxx\":\n return (0, vt.parseTimezonePattern)(\n mt.timezonePatterns.extendedOptionalSeconds,\n t\n );\n case \"xxx\":\n default:\n return (0, vt.parseTimezonePattern)(\n mt.timezonePatterns.extended,\n t\n );\n }\n }\n set(t, a, i) {\n return a.timestampIsSet ? t : (0, X$.constructFrom)(\n t,\n t.getTime() - (0, J$.getTimezoneOffsetInMilliseconds)(t) - i\n );\n }\n}\njc.ISOTimezoneParser = p$;\nvar Tc = {};\nTc.TimestampSecondsParser = void 0;\nvar k$ = D, eM = L, rM = Y;\nclass tM extends eM.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 40);\n O(this, \"incompatibleTokens\", \"*\");\n }\n parse(t) {\n return (0, rM.parseAnyDigitsSigned)(t);\n }\n set(t, a, i) {\n return [\n (0, k$.constructFrom)(t, i * 1e3),\n { timestampIsSet: !0 }\n ];\n }\n}\nTc.TimestampSecondsParser = tM;\nvar Ic = {};\nIc.TimestampMillisecondsParser = void 0;\nvar nM = D, aM = L, iM = Y;\nclass uM extends aM.Parser {\n constructor() {\n super(...arguments);\n O(this, \"priority\", 20);\n O(this, \"incompatibleTokens\", \"*\");\n }\n parse(t) {\n return (0, iM.parseAnyDigitsSigned)(t);\n }\n set(t, a, i) {\n return [(0, nM.constructFrom)(t, i), { timestampIsSet: !0 }];\n }\n}\nIc.TimestampMillisecondsParser = uM;\nUu.parsers = void 0;\nvar cM = Gu, sM = Xu, dM = Ju, fM = Ku, oM = pu, lM = ku, mM = ec, vM = rc, hM = tc, _M = nc, gM = ic, bM = cc, OM = sc, $M = dc, MM = fc, DM = oc, wM = lc, PM = vc, jM = hc, TM = _c, IM = gc, EM = bc, xM = Oc, SM = $c, YM = Mc, WM = Dc, FM = wc, NM = Pc, CM = jc, LM = Tc, HM = Ic;\nUu.parsers = {\n G: new cM.EraParser(),\n y: new sM.YearParser(),\n Y: new dM.LocalWeekYearParser(),\n R: new fM.ISOWeekYearParser(),\n u: new oM.ExtendedYearParser(),\n Q: new lM.QuarterParser(),\n q: new mM.StandAloneQuarterParser(),\n M: new vM.MonthParser(),\n L: new hM.StandAloneMonthParser(),\n w: new _M.LocalWeekParser(),\n I: new gM.ISOWeekParser(),\n d: new bM.DateParser(),\n D: new OM.DayOfYearParser(),\n E: new $M.DayParser(),\n e: new MM.LocalDayParser(),\n c: new DM.StandAloneLocalDayParser(),\n i: new wM.ISODayParser(),\n a: new PM.AMPMParser(),\n b: new jM.AMPMMidnightParser(),\n B: new TM.DayPeriodParser(),\n h: new IM.Hour1to12Parser(),\n H: new EM.Hour0to23Parser(),\n K: new xM.Hour0To11Parser(),\n k: new SM.Hour1To24Parser(),\n m: new YM.MinuteParser(),\n s: new WM.SecondParser(),\n S: new FM.FractionOfSecondParser(),\n X: new NM.ISOTimezoneWithZParser(),\n x: new CM.ISOTimezoneParser(),\n t: new LM.TimestampSecondsParser(),\n T: new HM.TimestampMillisecondsParser()\n};\n(function(r) {\n Object.defineProperty(r, \"longFormatters\", {\n enumerable: !0,\n get: function() {\n return t.longFormatters;\n }\n }), r.parse = w, Object.defineProperty(r, \"parsers\", {\n enumerable: !0,\n get: function() {\n return f.parsers;\n }\n });\n var n = dr, t = on, a = Tt, i = D, u = zu, c = l, d = Xe, f = Uu;\n const o = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g, m = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, _ = /^'([^]*?)'?$/, b = /''/g, M = /\\S/, j = /[a-zA-Z]/;\n function w($, W, G, T) {\n var y, q, me, Oe, $e, Me, De, je;\n const ue = () => (0, i.constructFrom)((T == null ? void 0 : T.in) || G, NaN), ne = (0, u.getDefaultOptions)(), le = (T == null ? void 0 : T.locale) ?? ne.locale ?? n.defaultLocale, be = (T == null ? void 0 : T.firstWeekContainsDate) ?? ((q = (y = T == null ? void 0 : T.locale) == null ? void 0 : y.options) == null ? void 0 : q.firstWeekContainsDate) ?? ne.firstWeekContainsDate ?? ((Oe = (me = ne.locale) == null ? void 0 : me.options) == null ? void 0 : Oe.firstWeekContainsDate) ?? 1, ce = (T == null ? void 0 : T.weekStartsOn) ?? ((Me = ($e = T == null ? void 0 : T.locale) == null ? void 0 : $e.options) == null ? void 0 : Me.weekStartsOn) ?? ne.weekStartsOn ?? ((je = (De = ne.locale) == null ? void 0 : De.options) == null ? void 0 : je.weekStartsOn) ?? 0;\n if (!W)\n return $ ? ue() : (0, c.toDate)(G, T == null ? void 0 : T.in);\n const se = {\n firstWeekContainsDate: be,\n weekStartsOn: ce,\n locale: le\n }, ve = [new d.DateTimezoneSetter(T == null ? void 0 : T.in, G)], he = W.match(m).map((I) => {\n const N = I[0];\n if (N in t.longFormatters) {\n const C = t.longFormatters[N];\n return C(I, le.formatLong);\n }\n return I;\n }).join(\"\").match(o), B = [];\n for (let I of he) {\n !(T != null && T.useAdditionalWeekYearTokens) && (0, a.isProtectedWeekYearToken)(I) && (0, a.warnOrThrowProtectedError)(I, W, $), !(T != null && T.useAdditionalDayOfYearTokens) && (0, a.isProtectedDayOfYearToken)(I) && (0, a.warnOrThrowProtectedError)(I, W, $);\n const N = I[0], C = f.parsers[N];\n if (C) {\n const { incompatibleTokens: A } = C;\n if (Array.isArray(A)) {\n const fe = B.find(\n (_e) => A.includes(_e.token) || _e.token === N\n );\n if (fe)\n throw new RangeError(\n `The format string mustn't contain \\`${fe.fullToken}\\` and \\`${I}\\` at the same time`\n );\n } else if (C.incompatibleTokens === \"*\" && B.length > 0)\n throw new RangeError(\n `The format string mustn't contain \\`${I}\\` and any other token at the same time`\n );\n B.push({ token: N, fullToken: I });\n const Q = C.run(\n $,\n I,\n le.match,\n se\n );\n if (!Q)\n return ue();\n ve.push(Q.setter), $ = Q.rest;\n } else {\n if (N.match(j))\n throw new RangeError(\n \"Format string contains an unescaped latin alphabet character `\" + N + \"`\"\n );\n if (I === \"''\" ? I = \"'\" : N === \"'\" && (I = x(I)), $.indexOf(I) === 0)\n $ = $.slice(I.length);\n else\n return ue();\n }\n }\n if ($.length > 0 && M.test($))\n return ue();\n const K = ve.map((I) => I.priority).sort((I, N) => N - I).filter((I, N, C) => C.indexOf(I) === N).map(\n (I) => ve.filter((N) => N.priority === I).sort((N, C) => C.subPriority - N.subPriority)\n ).map((I) => I[0]);\n let z = (0, c.toDate)(G, T == null ? void 0 : T.in);\n if (isNaN(+z)) return ue();\n const de = {};\n for (const I of K) {\n if (!I.validate(z, se))\n return ue();\n const N = I.set(z, de, se);\n Array.isArray(N) ? (z = N[0], Object.assign(de, N[1])) : z = N;\n }\n return z;\n }\n function x($) {\n return $.match(_)[1].replace(b, \"'\");\n }\n})(Vu);\nLf.isMatch = yM;\nvar AM = Ae, RM = Vu;\nfunction yM(r, n, t) {\n return (0, AM.isValid)(\n (0, RM.parse)(r, n, /* @__PURE__ */ new Date(), t)\n );\n}\nvar Hf = {};\nHf.isMonday = qM;\nvar zM = l;\nfunction qM(r, n) {\n return (0, zM.toDate)(r, n == null ? void 0 : n.in).getDay() === 1;\n}\nvar Af = {};\nAf.isPast = VM;\nvar QM = l;\nfunction VM(r) {\n return +(0, QM.toDate)(r) < Date.now();\n}\nvar Ec = {}, xc = {};\nxc.startOfHour = BM;\nvar ZM = l;\nfunction BM(r, n) {\n const t = (0, ZM.toDate)(r, n == null ? void 0 : n.in);\n return t.setMinutes(0, 0, 0), t;\n}\nEc.isSameHour = GM;\nvar UM = R, Bs = xc;\nfunction GM(r, n, t) {\n const [a, i] = (0, UM.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n n\n );\n return +(0, Bs.startOfHour)(a) == +(0, Bs.startOfHour)(i);\n}\nvar Sc = {}, ln = {};\nln.isSameWeek = JM;\nvar XM = R, Us = Pe;\nfunction JM(r, n, t) {\n const [a, i] = (0, XM.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n n\n );\n return +(0, Us.startOfWeek)(a, t) == +(0, Us.startOfWeek)(i, t);\n}\nSc.isSameISOWeek = pM;\nvar KM = ln;\nfunction pM(r, n, t) {\n return (0, KM.isSameWeek)(r, n, {\n ...t,\n weekStartsOn: 1\n });\n}\nvar Rf = {};\nRf.isSameISOWeekYear = eD;\nvar Gs = Yr, kM = R;\nfunction eD(r, n, t) {\n const [a, i] = (0, kM.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n n\n );\n return +(0, Gs.startOfISOWeekYear)(a) == +(0, Gs.startOfISOWeekYear)(i);\n}\nvar Yc = {}, Wc = {};\nWc.startOfMinute = tD;\nvar rD = l;\nfunction tD(r, n) {\n const t = (0, rD.toDate)(r, n == null ? void 0 : n.in);\n return t.setSeconds(0, 0), t;\n}\nYc.isSameMinute = nD;\nvar Xs = Wc;\nfunction nD(r, n) {\n return +(0, Xs.startOfMinute)(r) == +(0, Xs.startOfMinute)(n);\n}\nvar Fc = {};\nFc.isSameMonth = iD;\nvar aD = R;\nfunction iD(r, n, t) {\n const [a, i] = (0, aD.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n n\n );\n return a.getFullYear() === i.getFullYear() && a.getMonth() === i.getMonth();\n}\nvar Nc = {};\nNc.isSameQuarter = cD;\nvar uD = R, Js = nn;\nfunction cD(r, n, t) {\n const [a, i] = (0, uD.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n n\n );\n return +(0, Js.startOfQuarter)(a) == +(0, Js.startOfQuarter)(i);\n}\nvar Cc = {}, Lc = {};\nLc.startOfSecond = dD;\nvar sD = l;\nfunction dD(r, n) {\n const t = (0, sD.toDate)(r, n == null ? void 0 : n.in);\n return t.setMilliseconds(0), t;\n}\nCc.isSameSecond = fD;\nvar Ks = Lc;\nfunction fD(r, n) {\n return +(0, Ks.startOfSecond)(r) == +(0, Ks.startOfSecond)(n);\n}\nvar Hc = {};\nHc.isSameYear = lD;\nvar oD = R;\nfunction lD(r, n, t) {\n const [a, i] = (0, oD.normalizeDates)(\n t == null ? void 0 : t.in,\n r,\n n\n );\n return a.getFullYear() === i.getFullYear();\n}\nvar yf = {};\nyf.isThisHour = _D;\nvar mD = re, vD = Ec, hD = l;\nfunction _D(r, n) {\n return (0, vD.isSameHour)(\n (0, hD.toDate)(r, n == null ? void 0 : n.in),\n (0, mD.constructNow)((n == null ? void 0 : n.in) || r)\n );\n}\nvar zf = {};\nzf.isThisISOWeek = $D;\nvar gD = D, bD = re, OD = Sc;\nfunction $D(r, n) {\n return (0, OD.isSameISOWeek)(\n (0, gD.constructFrom)((n == null ? void 0 : n.in) || r, r),\n (0, bD.constructNow)((n == null ? void 0 : n.in) || r)\n );\n}\nvar qf = {};\nqf.isThisMinute = wD;\nvar MD = re, DD = Yc;\nfunction wD(r) {\n return (0, DD.isSameMinute)(r, (0, MD.constructNow)(r));\n}\nvar Qf = {};\nQf.isThisMonth = ID;\nvar PD = D, jD = re, TD = Fc;\nfunction ID(r, n) {\n return (0, TD.isSameMonth)(\n (0, PD.constructFrom)((n == null ? void 0 : n.in) || r, r),\n (0, jD.constructNow)((n == null ? void 0 : n.in) || r)\n );\n}\nvar Vf = {};\nVf.isThisQuarter = YD;\nvar ED = D, xD = re, SD = Nc;\nfunction YD(r, n) {\n return (0, SD.isSameQuarter)(\n (0, ED.constructFrom)((n == null ? void 0 : n.in) || r, r),\n (0, xD.constructNow)((n == null ? void 0 : n.in) || r)\n );\n}\nvar Zf = {};\nZf.isThisSecond = ND;\nvar WD = re, FD = Cc;\nfunction ND(r) {\n return (0, FD.isSameSecond)(r, (0, WD.constructNow)(r));\n}\nvar Bf = {};\nBf.isThisWeek = AD;\nvar CD = D, LD = re, HD = ln;\nfunction AD(r, n) {\n return (0, HD.isSameWeek)(\n (0, CD.constructFrom)((n == null ? void 0 : n.in) || r, r),\n (0, LD.constructNow)((n == null ? void 0 : n.in) || r),\n n\n );\n}\nvar Uf = {};\nUf.isThisYear = qD;\nvar RD = D, yD = re, zD = Hc;\nfunction qD(r, n) {\n return (0, zD.isSameYear)(\n (0, RD.constructFrom)((n == null ? void 0 : n.in) || r, r),\n (0, yD.constructNow)((n == null ? void 0 : n.in) || r)\n );\n}\nvar Gf = {};\nGf.isThursday = VD;\nvar QD = l;\nfunction VD(r, n) {\n return (0, QD.toDate)(r, n == null ? void 0 : n.in).getDay() === 4;\n}\nvar Xf = {};\nXf.isToday = GD;\nvar ZD = D, BD = re, UD = Wr;\nfunction GD(r, n) {\n return (0, UD.isSameDay)(\n (0, ZD.constructFrom)((n == null ? void 0 : n.in) || r, r),\n (0, BD.constructNow)((n == null ? void 0 : n.in) || r)\n );\n}\nvar Jf = {};\nJf.isTomorrow = pD;\nvar XD = Ee, JD = re, KD = Wr;\nfunction pD(r, n) {\n return (0, KD.isSameDay)(\n r,\n (0, XD.addDays)((0, JD.constructNow)((n == null ? void 0 : n.in) || r), 1),\n n\n );\n}\nvar Kf = {};\nKf.isTuesday = ew;\nvar kD = l;\nfunction ew(r, n) {\n return (0, kD.toDate)(r, n == null ? void 0 : n.in).getDay() === 2;\n}\nvar pf = {};\npf.isWednesday = tw;\nvar rw = l;\nfunction tw(r, n) {\n return (0, rw.toDate)(r, n == null ? void 0 : n.in).getDay() === 3;\n}\nvar kf = {};\nkf.isWithinInterval = nw;\nvar eu = l;\nfunction nw(r, n, t) {\n const a = +(0, eu.toDate)(r, t == null ? void 0 : t.in), [i, u] = [\n +(0, eu.toDate)(n.start, t == null ? void 0 : t.in),\n +(0, eu.toDate)(n.end, t == null ? void 0 : t.in)\n ].sort((c, d) => c - d);\n return a >= i && a <= u;\n}\nvar eo = {}, xt = {};\nxt.subDays = iw;\nvar aw = Ee;\nfunction iw(r, n, t) {\n return (0, aw.addDays)(r, -n, t);\n}\neo.isYesterday = fw;\nvar uw = D, cw = re, sw = Wr, dw = xt;\nfunction fw(r, n) {\n return (0, sw.isSameDay)(\n (0, uw.constructFrom)((n == null ? void 0 : n.in) || r, r),\n (0, dw.subDays)((0, cw.constructNow)((n == null ? void 0 : n.in) || r), 1)\n );\n}\nvar ro = {};\nro.lastDayOfDecade = ow;\nvar ps = l;\nfunction ow(r, n) {\n const t = (0, ps.toDate)(r, n == null ? void 0 : n.in), a = t.getFullYear(), i = 9 + Math.floor(a / 10) * 10;\n return t.setFullYear(i + 1, 0, 0), t.setHours(0, 0, 0, 0), (0, ps.toDate)(t, n == null ? void 0 : n.in);\n}\nvar to = {}, Ac = {};\nAc.lastDayOfWeek = vw;\nvar lw = ie, mw = l;\nfunction vw(r, n) {\n var d, f, o, m;\n const t = (0, lw.getDefaultOptions)(), a = (n == null ? void 0 : n.weekStartsOn) ?? ((f = (d = n == null ? void 0 : n.locale) == null ? void 0 : d.options) == null ? void 0 : f.weekStartsOn) ?? t.weekStartsOn ?? ((m = (o = t.locale) == null ? void 0 : o.options) == null ? void 0 : m.weekStartsOn) ?? 0, i = (0, mw.toDate)(r, n == null ? void 0 : n.in), u = i.getDay(), c = (u < a ? -7 : 0) + 6 - (u - a);\n return i.setHours(0, 0, 0, 0), i.setDate(i.getDate() + c), i;\n}\nto.lastDayOfISOWeek = _w;\nvar hw = Ac;\nfunction _w(r, n) {\n return (0, hw.lastDayOfWeek)(r, { ...n, weekStartsOn: 1 });\n}\nvar no = {};\nno.lastDayOfISOWeekYear = $w;\nvar gw = D, bw = Je, Ow = xe;\nfunction $w(r, n) {\n const t = (0, bw.getISOWeekYear)(r, n), a = (0, gw.constructFrom)((n == null ? void 0 : n.in) || r, 0);\n a.setFullYear(t + 1, 0, 4), a.setHours(0, 0, 0, 0);\n const i = (0, Ow.startOfISOWeek)(a, n);\n return i.setDate(i.getDate() - 1), i;\n}\nvar ao = {};\nao.lastDayOfQuarter = Dw;\nvar Mw = l;\nfunction Dw(r, n) {\n const t = (0, Mw.toDate)(r, n == null ? void 0 : n.in), a = t.getMonth(), i = a - a % 3 + 3;\n return t.setMonth(i, 0), t.setHours(0, 0, 0, 0), t;\n}\nvar io = {};\nio.lastDayOfYear = Pw;\nvar ww = l;\nfunction Pw(r, n) {\n const t = (0, ww.toDate)(r, n == null ? void 0 : n.in), a = t.getFullYear();\n return t.setFullYear(a + 1, 0, 0), t.setHours(0, 0, 0, 0), t;\n}\nvar uo = {};\n(function(r) {\n r.lightFormat = f, Object.defineProperty(r, \"lightFormatters\", {\n enumerable: !0,\n get: function() {\n return n.lightFormatters;\n }\n });\n var n = fn, t = Ae, a = l;\n const i = /(\\w)\\1*|''|'(''|[^'])+('|$)|./g, u = /^'([^]*?)'?$/, c = /''/g, d = /[a-zA-Z]/;\n function f(m, _) {\n const b = (0, a.toDate)(m);\n if (!(0, t.isValid)(b))\n throw new RangeError(\"Invalid time value\");\n const M = _.match(i);\n return M ? M.map((w) => {\n if (w === \"''\")\n return \"'\";\n const x = w[0];\n if (x === \"'\")\n return o(w);\n const $ = n.lightFormatters[x];\n if ($)\n return $(b, w);\n if (x.match(d))\n throw new RangeError(\n \"Format string contains an unescaped latin alphabet character `\" + x + \"`\"\n );\n return w;\n }).join(\"\") : \"\";\n }\n function o(m) {\n const _ = m.match(u);\n return _ ? _[1].replace(c, \"'\") : m;\n }\n})(uo);\nvar co = {};\nco.milliseconds = jw;\nvar ks = h;\nfunction jw({ years: r, months: n, weeks: t, days: a, hours: i, minutes: u, seconds: c }) {\n let d = 0;\n r && (d += r * ks.daysInYear), n && (d += n * (ks.daysInYear / 12)), t && (d += t * 7), a && (d += a);\n let f = d * 24 * 60 * 60;\n return i && (f += i * 60 * 60), u && (f += u * 60), c && (f += c), Math.trunc(f * 1e3);\n}\nvar so = {};\nso.millisecondsToHours = Iw;\nvar Tw = h;\nfunction Iw(r) {\n const n = r / Tw.millisecondsInHour;\n return Math.trunc(n);\n}\nvar fo = {};\nfo.millisecondsToMinutes = xw;\nvar Ew = h;\nfunction xw(r) {\n const n = r / Ew.millisecondsInMinute;\n return Math.trunc(n);\n}\nvar oo = {};\noo.millisecondsToSeconds = Yw;\nvar Sw = h;\nfunction Yw(r) {\n const n = r / Sw.millisecondsInSecond;\n return Math.trunc(n);\n}\nvar lo = {};\nlo.minutesToHours = Fw;\nvar Ww = h;\nfunction Fw(r) {\n const n = r / Ww.minutesInHour;\n return Math.trunc(n);\n}\nvar mo = {};\nmo.minutesToMilliseconds = Cw;\nvar Nw = h;\nfunction Cw(r) {\n return Math.trunc(r * Nw.millisecondsInMinute);\n}\nvar vo = {};\nvo.minutesToSeconds = Hw;\nvar Lw = h;\nfunction Hw(r) {\n return Math.trunc(r * Lw.secondsInMinute);\n}\nvar ho = {};\nho.monthsToQuarters = Rw;\nvar Aw = h;\nfunction Rw(r) {\n const n = r / Aw.monthsInQuarter;\n return Math.trunc(n);\n}\nvar _o = {};\n_o.monthsToYears = zw;\nvar yw = h;\nfunction zw(r) {\n const n = r / yw.monthsInYear;\n return Math.trunc(n);\n}\nvar ye = {};\nye.nextDay = Vw;\nvar qw = Ee, Qw = It;\nfunction Vw(r, n, t) {\n let a = n - (0, Qw.getDay)(r, t);\n return a <= 0 && (a += 7), (0, qw.addDays)(r, a, t);\n}\nvar go = {};\ngo.nextFriday = Bw;\nvar Zw = ye;\nfunction Bw(r, n) {\n return (0, Zw.nextDay)(r, 5, n);\n}\nvar bo = {};\nbo.nextMonday = Gw;\nvar Uw = ye;\nfunction Gw(r, n) {\n return (0, Uw.nextDay)(r, 1, n);\n}\nvar Oo = {};\nOo.nextSaturday = Jw;\nvar Xw = ye;\nfunction Jw(r, n) {\n return (0, Xw.nextDay)(r, 6, n);\n}\nvar $o = {};\n$o.nextSunday = pw;\nvar Kw = ye;\nfunction pw(r, n) {\n return (0, Kw.nextDay)(r, 0, n);\n}\nvar Mo = {};\nMo.nextThursday = e2;\nvar kw = ye;\nfunction e2(r, n) {\n return (0, kw.nextDay)(r, 4, n);\n}\nvar Do = {};\nDo.nextTuesday = t2;\nvar r2 = ye;\nfunction t2(r, n) {\n return (0, r2.nextDay)(r, 2, n);\n}\nvar wo = {};\nwo.nextWednesday = a2;\nvar n2 = ye;\nfunction a2(r, n) {\n return (0, n2.nextDay)(r, 3, n);\n}\nvar Po = {};\nPo.parseISO = u2;\nvar zt = h, i2 = D, ed = l;\nfunction u2(r, n) {\n const t = () => (0, i2.constructFrom)(n == null ? void 0 : n.in, NaN), a = (n == null ? void 0 : n.additionalDigits) ?? 2, i = f2(r);\n let u;\n if (i.date) {\n const o = o2(i.date, a);\n u = l2(o.restDateString, o.year);\n }\n if (!u || isNaN(+u)) return t();\n const c = +u;\n let d = 0, f;\n if (i.time && (d = m2(i.time), isNaN(d)))\n return t();\n if (i.timezone) {\n if (f = v2(i.timezone), isNaN(f)) return t();\n } else {\n const o = new Date(c + d), m = (0, ed.toDate)(0, n == null ? void 0 : n.in);\n return m.setFullYear(\n o.getUTCFullYear(),\n o.getUTCMonth(),\n o.getUTCDate()\n ), m.setHours(\n o.getUTCHours(),\n o.getUTCMinutes(),\n o.getUTCSeconds(),\n o.getUTCMilliseconds()\n ), m;\n }\n return (0, ed.toDate)(c + d + f, n == null ? void 0 : n.in);\n}\nconst Ct = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/\n}, c2 = /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/, s2 = /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/, d2 = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\nfunction f2(r) {\n const n = {}, t = r.split(Ct.dateTimeDelimiter);\n let a;\n if (t.length > 2)\n return n;\n if (/:/.test(t[0]) ? a = t[0] : (n.date = t[0], a = t[1], Ct.timeZoneDelimiter.test(n.date) && (n.date = r.split(Ct.timeZoneDelimiter)[0], a = r.substr(\n n.date.length,\n r.length\n ))), a) {\n const i = Ct.timezone.exec(a);\n i ? (n.time = a.replace(i[1], \"\"), n.timezone = i[1]) : n.time = a;\n }\n return n;\n}\nfunction o2(r, n) {\n const t = new RegExp(\n \"^(?:(\\\\d{4}|[+-]\\\\d{\" + (4 + n) + \"})|(\\\\d{2}|[+-]\\\\d{\" + (2 + n) + \"})$)\"\n ), a = r.match(t);\n if (!a) return { year: NaN, restDateString: \"\" };\n const i = a[1] ? parseInt(a[1]) : null, u = a[2] ? parseInt(a[2]) : null;\n return {\n year: u === null ? i : u * 100,\n restDateString: r.slice((a[1] || a[2]).length)\n };\n}\nfunction l2(r, n) {\n if (n === null) return /* @__PURE__ */ new Date(NaN);\n const t = r.match(c2);\n if (!t) return /* @__PURE__ */ new Date(NaN);\n const a = !!t[4], i = ht(t[1]), u = ht(t[2]) - 1, c = ht(t[3]), d = ht(t[4]), f = ht(t[5]) - 1;\n if (a)\n return O2(n, d, f) ? h2(n, d, f) : /* @__PURE__ */ new Date(NaN);\n {\n const o = /* @__PURE__ */ new Date(0);\n return !g2(n, u, c) || !b2(n, i) ? /* @__PURE__ */ new Date(NaN) : (o.setUTCFullYear(n, u, Math.max(i, c)), o);\n }\n}\nfunction ht(r) {\n return r ? parseInt(r) : 1;\n}\nfunction m2(r) {\n const n = r.match(s2);\n if (!n) return NaN;\n const t = ru(n[1]), a = ru(n[2]), i = ru(n[3]);\n return $2(t, a, i) ? t * zt.millisecondsInHour + a * zt.millisecondsInMinute + i * 1e3 : NaN;\n}\nfunction ru(r) {\n return r && parseFloat(r.replace(\",\", \".\")) || 0;\n}\nfunction v2(r) {\n if (r === \"Z\") return 0;\n const n = r.match(d2);\n if (!n) return 0;\n const t = n[1] === \"+\" ? -1 : 1, a = parseInt(n[2]), i = n[3] && parseInt(n[3]) || 0;\n return M2(a, i) ? t * (a * zt.millisecondsInHour + i * zt.millisecondsInMinute) : NaN;\n}\nfunction h2(r, n, t) {\n const a = /* @__PURE__ */ new Date(0);\n a.setUTCFullYear(r, 0, 4);\n const i = a.getUTCDay() || 7, u = (n - 1) * 7 + t + 1 - i;\n return a.setUTCDate(a.getUTCDate() + u), a;\n}\nconst _2 = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nfunction jo(r) {\n return r % 400 === 0 || r % 4 === 0 && r % 100 !== 0;\n}\nfunction g2(r, n, t) {\n return n >= 0 && n <= 11 && t >= 1 && t <= (_2[n] || (jo(r) ? 29 : 28));\n}\nfunction b2(r, n) {\n return n >= 1 && n <= (jo(r) ? 366 : 365);\n}\nfunction O2(r, n, t) {\n return n >= 1 && n <= 53 && t >= 0 && t <= 6;\n}\nfunction $2(r, n, t) {\n return r === 24 ? n === 0 && t === 0 : t >= 0 && t < 60 && n >= 0 && n < 60 && r >= 0 && r < 25;\n}\nfunction M2(r, n) {\n return n >= 0 && n <= 59;\n}\nvar To = {};\nTo.parseJSON = D2;\nvar rd = l;\nfunction D2(r, n) {\n const t = r.match(\n /(\\d{4})-(\\d{2})-(\\d{2})[T ](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d{0,7}))?(?:Z|(.)(\\d{2}):?(\\d{2})?)?/\n );\n return t ? (0, rd.toDate)(\n Date.UTC(\n +t[1],\n +t[2] - 1,\n +t[3],\n +t[4] - (+t[9] || 0) * (t[8] == \"-\" ? -1 : 1),\n +t[5] - (+t[10] || 0) * (t[8] == \"-\" ? -1 : 1),\n +t[6],\n +((t[7] || \"0\") + \"00\").substring(0, 3)\n ),\n n == null ? void 0 : n.in\n ) : (0, rd.toDate)(NaN, n == null ? void 0 : n.in);\n}\nvar ze = {};\nze.previousDay = j2;\nvar w2 = It, P2 = xt;\nfunction j2(r, n, t) {\n let a = (0, w2.getDay)(r, t) - n;\n return a <= 0 && (a += 7), (0, P2.subDays)(r, a, t);\n}\nvar Io = {};\nIo.previousFriday = I2;\nvar T2 = ze;\nfunction I2(r, n) {\n return (0, T2.previousDay)(r, 5, n);\n}\nvar Eo = {};\nEo.previousMonday = x2;\nvar E2 = ze;\nfunction x2(r, n) {\n return (0, E2.previousDay)(r, 1, n);\n}\nvar xo = {};\nxo.previousSaturday = Y2;\nvar S2 = ze;\nfunction Y2(r, n) {\n return (0, S2.previousDay)(r, 6, n);\n}\nvar So = {};\nSo.previousSunday = F2;\nvar W2 = ze;\nfunction F2(r, n) {\n return (0, W2.previousDay)(r, 0, n);\n}\nvar Yo = {};\nYo.previousThursday = C2;\nvar N2 = ze;\nfunction C2(r, n) {\n return (0, N2.previousDay)(r, 4, n);\n}\nvar Wo = {};\nWo.previousTuesday = H2;\nvar L2 = ze;\nfunction H2(r, n) {\n return (0, L2.previousDay)(r, 2, n);\n}\nvar Fo = {};\nFo.previousWednesday = R2;\nvar A2 = ze;\nfunction R2(r, n) {\n return (0, A2.previousDay)(r, 3, n);\n}\nvar No = {};\nNo.quartersToMonths = z2;\nvar y2 = h;\nfunction z2(r) {\n return Math.trunc(r * y2.monthsInQuarter);\n}\nvar Co = {};\nCo.quartersToYears = Q2;\nvar q2 = h;\nfunction Q2(r) {\n const n = r / q2.quartersInYear;\n return Math.trunc(n);\n}\nvar Lo = {};\nLo.roundToNearestHours = U2;\nvar V2 = Re, Z2 = D, B2 = l;\nfunction U2(r, n) {\n const t = (n == null ? void 0 : n.nearestTo) ?? 1;\n if (t < 1 || t > 12)\n return (0, Z2.constructFrom)((n == null ? void 0 : n.in) || r, NaN);\n const a = (0, B2.toDate)(r, n == null ? void 0 : n.in), i = a.getMinutes() / 60, u = a.getSeconds() / 60 / 60, c = a.getMilliseconds() / 1e3 / 60 / 60, d = a.getHours() + i + u + c, f = (n == null ? void 0 : n.roundingMethod) ?? \"round\", m = (0, V2.getRoundingMethod)(f)(d / t) * t;\n return a.setHours(m, 0, 0, 0), a;\n}\nvar Ho = {};\nHo.roundToNearestMinutes = K2;\nvar G2 = Re, X2 = D, J2 = l;\nfunction K2(r, n) {\n const t = (n == null ? void 0 : n.nearestTo) ?? 1;\n if (t < 1 || t > 30)\n return (0, X2.constructFrom)(r, NaN);\n const a = (0, J2.toDate)(r, n == null ? void 0 : n.in), i = a.getSeconds() / 60, u = a.getMilliseconds() / 1e3 / 60, c = a.getMinutes() + i + u, d = (n == null ? void 0 : n.roundingMethod) ?? \"round\", o = (0, G2.getRoundingMethod)(d)(c / t) * t;\n return a.setMinutes(o, 0, 0), a;\n}\nvar Ao = {};\nAo.secondsToHours = k2;\nvar p2 = h;\nfunction k2(r) {\n const n = r / p2.secondsInHour;\n return Math.trunc(n);\n}\nvar Ro = {};\nRo.secondsToMilliseconds = rP;\nvar eP = h;\nfunction rP(r) {\n return r * eP.millisecondsInSecond;\n}\nvar yo = {};\nyo.secondsToMinutes = nP;\nvar tP = h;\nfunction nP(r) {\n const n = r / tP.secondsInMinute;\n return Math.trunc(n);\n}\nvar zo = {}, mn = {};\nmn.setMonth = cP;\nvar aP = D, iP = Ru, uP = l;\nfunction cP(r, n, t) {\n const a = (0, uP.toDate)(r, t == null ? void 0 : t.in), i = a.getFullYear(), u = a.getDate(), c = (0, aP.constructFrom)((t == null ? void 0 : t.in) || r, 0);\n c.setFullYear(i, n, 15), c.setHours(0, 0, 0, 0);\n const d = (0, iP.getDaysInMonth)(c);\n return a.setMonth(n, Math.min(u, d)), a;\n}\nzo.set = oP;\nvar sP = D, dP = mn, fP = l;\nfunction oP(r, n, t) {\n let a = (0, fP.toDate)(r, t == null ? void 0 : t.in);\n return isNaN(+a) ? (0, sP.constructFrom)((t == null ? void 0 : t.in) || r, NaN) : (n.year != null && a.setFullYear(n.year), n.month != null && (a = (0, dP.setMonth)(a, n.month)), n.date != null && a.setDate(n.date), n.hours != null && a.setHours(n.hours), n.minutes != null && a.setMinutes(n.minutes), n.seconds != null && a.setSeconds(n.seconds), n.milliseconds != null && a.setMilliseconds(n.milliseconds), a);\n}\nvar qo = {};\nqo.setDate = mP;\nvar lP = l;\nfunction mP(r, n, t) {\n const a = (0, lP.toDate)(r, t == null ? void 0 : t.in);\n return a.setDate(n), a;\n}\nvar Qo = {};\nQo.setDayOfYear = hP;\nvar vP = l;\nfunction hP(r, n, t) {\n const a = (0, vP.toDate)(r, t == null ? void 0 : t.in);\n return a.setMonth(0), a.setDate(n), a;\n}\nvar Vo = {};\nVo.setDefaultOptions = _P;\nvar td = ie;\nfunction _P(r) {\n const n = {}, t = (0, td.getDefaultOptions)();\n for (const a in t)\n Object.prototype.hasOwnProperty.call(t, a) && (n[a] = t[a]);\n for (const a in r)\n Object.prototype.hasOwnProperty.call(r, a) && (r[a] === void 0 ? delete n[a] : n[a] = r[a]);\n (0, td.setDefaultOptions)(n);\n}\nvar Zo = {};\nZo.setHours = bP;\nvar gP = l;\nfunction bP(r, n, t) {\n const a = (0, gP.toDate)(r, t == null ? void 0 : t.in);\n return a.setHours(n), a;\n}\nvar Bo = {};\nBo.setMilliseconds = $P;\nvar OP = l;\nfunction $P(r, n, t) {\n const a = (0, OP.toDate)(r, t == null ? void 0 : t.in);\n return a.setMilliseconds(n), a;\n}\nvar Uo = {};\nUo.setMinutes = DP;\nvar MP = l;\nfunction DP(r, n, t) {\n const a = (0, MP.toDate)(r, t == null ? void 0 : t.in);\n return a.setMinutes(n), a;\n}\nvar Go = {};\nGo.setQuarter = jP;\nvar wP = mn, PP = l;\nfunction jP(r, n, t) {\n const a = (0, PP.toDate)(r, t == null ? void 0 : t.in), i = Math.trunc(a.getMonth() / 3) + 1, u = n - i;\n return (0, wP.setMonth)(a, a.getMonth() + u * 3);\n}\nvar Xo = {};\nXo.setSeconds = IP;\nvar TP = l;\nfunction IP(r, n, t) {\n const a = (0, TP.toDate)(r, t == null ? void 0 : t.in);\n return a.setSeconds(n), a;\n}\nvar Jo = {};\nJo.setWeekYear = WP;\nvar EP = ie, xP = D, SP = Le, nd = dn, YP = l;\nfunction WP(r, n, t) {\n var f, o, m, _;\n const a = (0, EP.getDefaultOptions)(), i = (t == null ? void 0 : t.firstWeekContainsDate) ?? ((o = (f = t == null ? void 0 : t.locale) == null ? void 0 : f.options) == null ? void 0 : o.firstWeekContainsDate) ?? a.firstWeekContainsDate ?? ((_ = (m = a.locale) == null ? void 0 : m.options) == null ? void 0 : _.firstWeekContainsDate) ?? 1, u = (0, SP.differenceInCalendarDays)(\n (0, YP.toDate)(r, t == null ? void 0 : t.in),\n (0, nd.startOfWeekYear)(r, t),\n t\n ), c = (0, xP.constructFrom)((t == null ? void 0 : t.in) || r, 0);\n c.setFullYear(n, 0, i), c.setHours(0, 0, 0, 0);\n const d = (0, nd.startOfWeekYear)(c, t);\n return d.setDate(d.getDate() + u), d;\n}\nvar Ko = {};\nKo.setYear = CP;\nvar FP = D, NP = l;\nfunction CP(r, n, t) {\n const a = (0, NP.toDate)(r, t == null ? void 0 : t.in);\n return isNaN(+a) ? (0, FP.constructFrom)((t == null ? void 0 : t.in) || r, NaN) : (a.setFullYear(n), a);\n}\nvar po = {};\npo.startOfDecade = HP;\nvar LP = l;\nfunction HP(r, n) {\n const t = (0, LP.toDate)(r, n == null ? void 0 : n.in), a = t.getFullYear(), i = Math.floor(a / 10) * 10;\n return t.setFullYear(i, 0, 1), t.setHours(0, 0, 0, 0), t;\n}\nvar ko = {};\nko.startOfToday = RP;\nvar AP = $t;\nfunction RP(r) {\n return (0, AP.startOfDay)(Date.now(), r);\n}\nvar el = {};\nel.startOfTomorrow = qP;\nvar yP = D, zP = re;\nfunction qP(r) {\n const n = (0, zP.constructNow)(r == null ? void 0 : r.in), t = n.getFullYear(), a = n.getMonth(), i = n.getDate(), u = (0, yP.constructFrom)(r == null ? void 0 : r.in, 0);\n return u.setFullYear(t, a, i + 1), u.setHours(0, 0, 0, 0), u;\n}\nvar rl = {};\nrl.startOfYesterday = QP;\nvar ad = re;\nfunction QP(r) {\n const n = (0, ad.constructNow)(r == null ? void 0 : r.in), t = n.getFullYear(), a = n.getMonth(), i = n.getDate(), u = (0, ad.constructNow)(r == null ? void 0 : r.in);\n return u.setFullYear(t, a, i - 1), u.setHours(0, 0, 0, 0), u;\n}\nvar tl = {}, Rc = {};\nRc.subMonths = ZP;\nvar VP = Sr;\nfunction ZP(r, n, t) {\n return (0, VP.addMonths)(r, -n, t);\n}\ntl.sub = XP;\nvar BP = D, UP = xt, GP = Rc;\nfunction XP(r, n, t) {\n const {\n years: a = 0,\n months: i = 0,\n weeks: u = 0,\n days: c = 0,\n hours: d = 0,\n minutes: f = 0,\n seconds: o = 0\n } = n, m = (0, GP.subMonths)(\n r,\n i + a * 12,\n t\n ), _ = (0, UP.subDays)(\n m,\n c + u * 7,\n t\n ), b = f + d * 60, j = (o + b * 60) * 1e3;\n return (0, BP.constructFrom)((t == null ? void 0 : t.in) || r, +_ - j);\n}\nvar nl = {};\nnl.subBusinessDays = KP;\nvar JP = uu;\nfunction KP(r, n, t) {\n return (0, JP.addBusinessDays)(r, -n, t);\n}\nvar al = {};\nal.subHours = kP;\nvar pP = du;\nfunction kP(r, n, t) {\n return (0, pP.addHours)(r, -n, t);\n}\nvar il = {};\nil.subMilliseconds = rj;\nvar ej = Ot;\nfunction rj(r, n, t) {\n return (0, ej.addMilliseconds)(r, -n, t);\n}\nvar ul = {};\nul.subMinutes = nj;\nvar tj = Bt;\nfunction nj(r, n, t) {\n return (0, tj.addMinutes)(r, -n, t);\n}\nvar cl = {};\ncl.subQuarters = ij;\nvar aj = Ut;\nfunction ij(r, n, t) {\n return (0, aj.addQuarters)(r, -n, t);\n}\nvar sl = {};\nsl.subSeconds = cj;\nvar uj = lu;\nfunction cj(r, n, t) {\n return (0, uj.addSeconds)(r, -n, t);\n}\nvar dl = {};\ndl.subWeeks = dj;\nvar sj = Mt;\nfunction dj(r, n, t) {\n return (0, sj.addWeeks)(r, -n, t);\n}\nvar fl = {};\nfl.subYears = oj;\nvar fj = mu;\nfunction oj(r, n, t) {\n return (0, fj.addYears)(r, -n, t);\n}\nvar ol = {};\nol.weeksToDays = mj;\nvar lj = h;\nfunction mj(r) {\n return Math.trunc(r * lj.daysInWeek);\n}\nvar ll = {};\nll.yearsToDays = hj;\nvar vj = h;\nfunction hj(r) {\n return Math.trunc(r * vj.daysInYear);\n}\nvar ml = {};\nml.yearsToMonths = gj;\nvar _j = h;\nfunction gj(r) {\n return Math.trunc(r * _j.monthsInYear);\n}\nvar vl = {};\nvl.yearsToQuarters = Oj;\nvar bj = h;\nfunction Oj(r) {\n return Math.trunc(r * bj.quartersInYear);\n}\n(function(r) {\n var n = iu;\n Object.keys(n).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === n[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return n[e];\n }\n });\n });\n var t = uu;\n Object.keys(t).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === t[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return t[e];\n }\n });\n });\n var a = Ee;\n Object.keys(a).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === a[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return a[e];\n }\n });\n });\n var i = du;\n Object.keys(i).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === i[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return i[e];\n }\n });\n });\n var u = fu;\n Object.keys(u).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === u[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return u[e];\n }\n });\n });\n var c = Ot;\n Object.keys(c).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === c[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return c[e];\n }\n });\n });\n var d = Bt;\n Object.keys(d).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === d[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return d[e];\n }\n });\n });\n var f = Sr;\n Object.keys(f).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === f[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return f[e];\n }\n });\n });\n var o = Ut;\n Object.keys(o).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === o[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return o[e];\n }\n });\n });\n var m = lu;\n Object.keys(m).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === m[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return m[e];\n }\n });\n });\n var _ = Mt;\n Object.keys(_).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === _[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return _[e];\n }\n });\n });\n var b = mu;\n Object.keys(b).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === b[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return b[e];\n }\n });\n });\n var M = bd;\n Object.keys(M).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === M[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return M[e];\n }\n });\n });\n var j = Od;\n Object.keys(j).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === j[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return j[e];\n }\n });\n });\n var w = _u;\n Object.keys(w).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === w[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return w[e];\n }\n });\n });\n var x = $d;\n Object.keys(x).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === x[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return x[e];\n }\n });\n });\n var $ = sr;\n Object.keys($).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === $[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return $[e];\n }\n });\n });\n var W = Md;\n Object.keys(W).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === W[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return W[e];\n }\n });\n });\n var G = D;\n Object.keys(G).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === G[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return G[e];\n }\n });\n });\n var T = re;\n Object.keys(T).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === T[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return T[e];\n }\n });\n });\n var ue = Dd;\n Object.keys(ue).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ue[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ue[e];\n }\n });\n });\n var ne = wd;\n Object.keys(ne).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ne[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ne[e];\n }\n });\n });\n var le = Le;\n Object.keys(le).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === le[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return le[e];\n }\n });\n });\n var be = bu;\n Object.keys(be).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === be[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return be[e];\n }\n });\n });\n var ce = Pd;\n Object.keys(ce).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ce[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ce[e];\n }\n });\n });\n var se = Gt;\n Object.keys(se).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === se[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return se[e];\n }\n });\n });\n var ve = Ou;\n Object.keys(ve).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ve[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ve[e];\n }\n });\n });\n var he = Xt;\n Object.keys(he).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === he[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return he[e];\n }\n });\n });\n var B = Jt;\n Object.keys(B).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === B[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return B[e];\n }\n });\n });\n var K = Kt;\n Object.keys(K).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === K[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return K[e];\n }\n });\n });\n var z = pt;\n Object.keys(z).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === z[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return z[e];\n }\n });\n });\n var de = jd;\n Object.keys(de).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === de[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return de[e];\n }\n });\n });\n var y = kt;\n Object.keys(y).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === y[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return y[e];\n }\n });\n });\n var q = en;\n Object.keys(q).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === q[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return q[e];\n }\n });\n });\n var me = Dt;\n Object.keys(me).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === me[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return me[e];\n }\n });\n });\n var Oe = Td;\n Object.keys(Oe).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Oe[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Oe[e];\n }\n });\n });\n var $e = wt;\n Object.keys($e).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === $e[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return $e[e];\n }\n });\n });\n var Me = Id;\n Object.keys(Me).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Me[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Me[e];\n }\n });\n });\n var De = wu;\n Object.keys(De).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === De[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return De[e];\n }\n });\n });\n var je = Pu;\n Object.keys(je).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === je[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return je[e];\n }\n });\n });\n var I = Ed;\n Object.keys(I).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === I[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return I[e];\n }\n });\n });\n var N = xd;\n Object.keys(N).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === N[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return N[e];\n }\n });\n });\n var C = Sd;\n Object.keys(C).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === C[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return C[e];\n }\n });\n });\n var A = Yd;\n Object.keys(A).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === A[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return A[e];\n }\n });\n });\n var Q = Wd;\n Object.keys(Q).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Q[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Q[e];\n }\n });\n });\n var fe = an;\n Object.keys(fe).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === fe[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return fe[e];\n }\n });\n });\n var _e = Fd;\n Object.keys(_e).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === _e[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return _e[e];\n }\n });\n });\n var Ye = Nd;\n Object.keys(Ye).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ye[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ye[e];\n }\n });\n });\n var Fr = Cd;\n Object.keys(Fr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Fr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Fr[e];\n }\n });\n });\n var Nr = rn;\n Object.keys(Nr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Nr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Nr[e];\n }\n });\n });\n var qe = Ld;\n Object.keys(qe).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === qe[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return qe[e];\n }\n });\n });\n var We = Hd;\n Object.keys(We).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === We[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return We[e];\n }\n });\n });\n var or = Ad;\n Object.keys(or).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === or[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return or[e];\n }\n });\n });\n var lr = Rd;\n Object.keys(lr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === lr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return lr[e];\n }\n });\n });\n var Qe = yd;\n Object.keys(Qe).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Qe[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Qe[e];\n }\n });\n });\n var Cr = tn;\n Object.keys(Cr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Cr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Cr[e];\n }\n });\n });\n var Lr = zd;\n Object.keys(Lr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Lr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Lr[e];\n }\n });\n });\n var Ke = qd;\n Object.keys(Ke).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ke[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ke[e];\n }\n });\n });\n var Hr = Qd;\n Object.keys(Hr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Hr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Hr[e];\n }\n });\n });\n var Ar = Vd;\n Object.keys(Ar).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ar[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ar[e];\n }\n });\n });\n var mr = Tu;\n Object.keys(mr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === mr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return mr[e];\n }\n });\n });\n var vr = ju;\n Object.keys(vr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === vr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return vr[e];\n }\n });\n });\n var Fe = Zd;\n Object.keys(Fe).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Fe[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Fe[e];\n }\n });\n });\n var Rr = Iu;\n Object.keys(Rr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Rr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Rr[e];\n }\n });\n });\n var hr = Lu;\n Object.keys(hr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === hr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return hr[e];\n }\n });\n });\n var _r = Hu;\n Object.keys(_r).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === _r[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return _r[e];\n }\n });\n });\n var pe = Kd;\n Object.keys(pe).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === pe[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return pe[e];\n }\n });\n });\n var yr = pd;\n Object.keys(yr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === yr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return yr[e];\n }\n });\n });\n var zr = kd;\n Object.keys(zr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === zr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return zr[e];\n }\n });\n });\n var qr = ef;\n Object.keys(qr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === qr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return qr[e];\n }\n });\n });\n var Qr = rf;\n Object.keys(Qr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Qr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Qr[e];\n }\n });\n });\n var Vr = tf;\n Object.keys(Vr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Vr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Vr[e];\n }\n });\n });\n var Zr = nf;\n Object.keys(Zr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Zr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Zr[e];\n }\n });\n });\n var Br = af;\n Object.keys(Br).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Br[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Br[e];\n }\n });\n });\n var ke = uf;\n Object.keys(ke).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ke[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ke[e];\n }\n });\n });\n var gr = cf;\n Object.keys(gr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === gr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return gr[e];\n }\n });\n });\n var Te = Au;\n Object.keys(Te).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Te[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Te[e];\n }\n });\n });\n var er = It;\n Object.keys(er).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === er[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return er[e];\n }\n });\n });\n var rr = Cu;\n Object.keys(rr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === rr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return rr[e];\n }\n });\n });\n var br = Ru;\n Object.keys(br).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === br[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return br[e];\n }\n });\n });\n var Ur = sf;\n Object.keys(Ur).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ur[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ur[e];\n }\n });\n });\n var Or = df;\n Object.keys(Or).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Or[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Or[e];\n }\n });\n });\n var Gr = zu;\n Object.keys(Gr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Gr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Gr[e];\n }\n });\n });\n var $r = ff;\n Object.keys($r).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === $r[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return $r[e];\n }\n });\n });\n var Mr = qu;\n Object.keys(Mr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Mr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Mr[e];\n }\n });\n });\n var Xr = cn;\n Object.keys(Xr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Xr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Xr[e];\n }\n });\n });\n var Jr = Je;\n Object.keys(Jr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Jr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Jr[e];\n }\n });\n });\n var Dr = of;\n Object.keys(Dr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Dr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Dr[e];\n }\n });\n });\n var wr = lf;\n Object.keys(wr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === wr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return wr[e];\n }\n });\n });\n var Kr = mf;\n Object.keys(Kr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Kr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Kr[e];\n }\n });\n });\n var pr = vf;\n Object.keys(pr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === pr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return pr[e];\n }\n });\n });\n var kr = hf;\n Object.keys(kr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === kr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return kr[e];\n }\n });\n });\n var et = $u;\n Object.keys(et).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === et[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return et[e];\n }\n });\n });\n var s = _f;\n Object.keys(s).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === s[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return s[e];\n }\n });\n });\n var v = gf;\n Object.keys(v).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === v[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return v[e];\n }\n });\n });\n var g = bf;\n Object.keys(g).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === g[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return g[e];\n }\n });\n });\n var P = sn;\n Object.keys(P).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === P[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return P[e];\n }\n });\n });\n var F = Of;\n Object.keys(F).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === F[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return F[e];\n }\n });\n });\n var H = jt;\n Object.keys(H).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === H[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return H[e];\n }\n });\n });\n var S = $f;\n Object.keys(S).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === S[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return S[e];\n }\n });\n });\n var E = Mf;\n Object.keys(E).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === E[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return E[e];\n }\n });\n });\n var p = Df;\n Object.keys(p).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === p[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return p[e];\n }\n });\n });\n var Z = wf;\n Object.keys(Z).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Z[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Z[e];\n }\n });\n });\n var U = Pf;\n Object.keys(U).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === U[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return U[e];\n }\n });\n });\n var oe = jf;\n Object.keys(oe).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === oe[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return oe[e];\n }\n });\n });\n var Ie = Tf;\n Object.keys(Ie).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ie[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ie[e];\n }\n });\n });\n var we = If;\n Object.keys(we).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === we[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return we[e];\n }\n });\n });\n var te = Ef;\n Object.keys(te).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === te[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return te[e];\n }\n });\n });\n var tr = xf;\n Object.keys(tr).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === tr[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return tr[e];\n }\n });\n });\n var rt = Sf;\n Object.keys(rt).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === rt[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return rt[e];\n }\n });\n });\n var tt = gu;\n Object.keys(tt).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === tt[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return tt[e];\n }\n });\n });\n var _n = Yf;\n Object.keys(_n).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === _n[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return _n[e];\n }\n });\n });\n var gn = Wf;\n Object.keys(gn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === gn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return gn[e];\n }\n });\n });\n var bn = Ff;\n Object.keys(bn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === bn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return bn[e];\n }\n });\n });\n var On = Nf;\n Object.keys(On).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === On[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return On[e];\n }\n });\n });\n var $n = Cf;\n Object.keys($n).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === $n[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return $n[e];\n }\n });\n });\n var Mn = Du;\n Object.keys(Mn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Mn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Mn[e];\n }\n });\n });\n var Dn = yu;\n Object.keys(Dn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Dn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Dn[e];\n }\n });\n });\n var wn = Lf;\n Object.keys(wn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === wn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return wn[e];\n }\n });\n });\n var Pn = Hf;\n Object.keys(Pn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Pn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Pn[e];\n }\n });\n });\n var jn = Af;\n Object.keys(jn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === jn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return jn[e];\n }\n });\n });\n var Tn = Wr;\n Object.keys(Tn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Tn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Tn[e];\n }\n });\n });\n var In = Ec;\n Object.keys(In).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === In[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return In[e];\n }\n });\n });\n var En = Sc;\n Object.keys(En).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === En[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return En[e];\n }\n });\n });\n var xn = Rf;\n Object.keys(xn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === xn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return xn[e];\n }\n });\n });\n var Sn = Yc;\n Object.keys(Sn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Sn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Sn[e];\n }\n });\n });\n var Yn = Fc;\n Object.keys(Yn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Yn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Yn[e];\n }\n });\n });\n var Wn = Nc;\n Object.keys(Wn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Wn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Wn[e];\n }\n });\n });\n var Fn = Cc;\n Object.keys(Fn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Fn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Fn[e];\n }\n });\n });\n var Nn = ln;\n Object.keys(Nn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Nn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Nn[e];\n }\n });\n });\n var Cn = Hc;\n Object.keys(Cn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Cn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Cn[e];\n }\n });\n });\n var Ln = cu;\n Object.keys(Ln).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ln[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ln[e];\n }\n });\n });\n var Hn = su;\n Object.keys(Hn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Hn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Hn[e];\n }\n });\n });\n var An = yf;\n Object.keys(An).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === An[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return An[e];\n }\n });\n });\n var Rn = zf;\n Object.keys(Rn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Rn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Rn[e];\n }\n });\n });\n var yn = qf;\n Object.keys(yn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === yn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return yn[e];\n }\n });\n });\n var zn = Qf;\n Object.keys(zn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === zn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return zn[e];\n }\n });\n });\n var qn = Vf;\n Object.keys(qn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === qn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return qn[e];\n }\n });\n });\n var Qn = Zf;\n Object.keys(Qn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Qn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Qn[e];\n }\n });\n });\n var Vn = Bf;\n Object.keys(Vn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Vn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Vn[e];\n }\n });\n });\n var Zn = Uf;\n Object.keys(Zn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Zn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Zn[e];\n }\n });\n });\n var Bn = Gf;\n Object.keys(Bn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Bn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Bn[e];\n }\n });\n });\n var Un = Xf;\n Object.keys(Un).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Un[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Un[e];\n }\n });\n });\n var Gn = Jf;\n Object.keys(Gn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Gn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Gn[e];\n }\n });\n });\n var Xn = Kf;\n Object.keys(Xn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Xn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Xn[e];\n }\n });\n });\n var Jn = Ae;\n Object.keys(Jn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Jn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Jn[e];\n }\n });\n });\n var Kn = pf;\n Object.keys(Kn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Kn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Kn[e];\n }\n });\n });\n var pn = bt;\n Object.keys(pn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === pn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return pn[e];\n }\n });\n });\n var kn = kf;\n Object.keys(kn).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === kn[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return kn[e];\n }\n });\n });\n var ea = eo;\n Object.keys(ea).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ea[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ea[e];\n }\n });\n });\n var ra = ro;\n Object.keys(ra).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ra[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ra[e];\n }\n });\n });\n var ta = to;\n Object.keys(ta).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ta[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ta[e];\n }\n });\n });\n var na = no;\n Object.keys(na).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === na[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return na[e];\n }\n });\n });\n var aa = Qu;\n Object.keys(aa).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === aa[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return aa[e];\n }\n });\n });\n var ia = ao;\n Object.keys(ia).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ia[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ia[e];\n }\n });\n });\n var ua = Ac;\n Object.keys(ua).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ua[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ua[e];\n }\n });\n });\n var ca = io;\n Object.keys(ca).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ca[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ca[e];\n }\n });\n });\n var sa = uo;\n Object.keys(sa).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === sa[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return sa[e];\n }\n });\n });\n var da = vu;\n Object.keys(da).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === da[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return da[e];\n }\n });\n });\n var fa = co;\n Object.keys(fa).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === fa[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return fa[e];\n }\n });\n });\n var oa = so;\n Object.keys(oa).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === oa[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return oa[e];\n }\n });\n });\n var la = fo;\n Object.keys(la).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === la[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return la[e];\n }\n });\n });\n var ma = oo;\n Object.keys(ma).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ma[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ma[e];\n }\n });\n });\n var va = hu;\n Object.keys(va).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === va[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return va[e];\n }\n });\n });\n var ha = lo;\n Object.keys(ha).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ha[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ha[e];\n }\n });\n });\n var _a = mo;\n Object.keys(_a).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === _a[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return _a[e];\n }\n });\n });\n var ga = vo;\n Object.keys(ga).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ga[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ga[e];\n }\n });\n });\n var ba = ho;\n Object.keys(ba).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ba[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ba[e];\n }\n });\n });\n var Oa = _o;\n Object.keys(Oa).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Oa[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Oa[e];\n }\n });\n });\n var $a = ye;\n Object.keys($a).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === $a[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return $a[e];\n }\n });\n });\n var Ma = go;\n Object.keys(Ma).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ma[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ma[e];\n }\n });\n });\n var Da = bo;\n Object.keys(Da).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Da[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Da[e];\n }\n });\n });\n var wa = Oo;\n Object.keys(wa).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === wa[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return wa[e];\n }\n });\n });\n var Pa = $o;\n Object.keys(Pa).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Pa[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Pa[e];\n }\n });\n });\n var ja = Mo;\n Object.keys(ja).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ja[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ja[e];\n }\n });\n });\n var Ta = Do;\n Object.keys(Ta).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ta[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ta[e];\n }\n });\n });\n var Ia = wo;\n Object.keys(Ia).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ia[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ia[e];\n }\n });\n });\n var Ea = Vu;\n Object.keys(Ea).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ea[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ea[e];\n }\n });\n });\n var xa = Po;\n Object.keys(xa).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === xa[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return xa[e];\n }\n });\n });\n var Sa = To;\n Object.keys(Sa).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Sa[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Sa[e];\n }\n });\n });\n var Ya = ze;\n Object.keys(Ya).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ya[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ya[e];\n }\n });\n });\n var Wa = Io;\n Object.keys(Wa).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Wa[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Wa[e];\n }\n });\n });\n var Fa = Eo;\n Object.keys(Fa).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Fa[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Fa[e];\n }\n });\n });\n var Na = xo;\n Object.keys(Na).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Na[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Na[e];\n }\n });\n });\n var Ca = So;\n Object.keys(Ca).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ca[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ca[e];\n }\n });\n });\n var La = Yo;\n Object.keys(La).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === La[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return La[e];\n }\n });\n });\n var Ha = Wo;\n Object.keys(Ha).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ha[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ha[e];\n }\n });\n });\n var Aa = Fo;\n Object.keys(Aa).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Aa[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Aa[e];\n }\n });\n });\n var Ra = No;\n Object.keys(Ra).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ra[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ra[e];\n }\n });\n });\n var ya = Co;\n Object.keys(ya).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ya[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ya[e];\n }\n });\n });\n var za = Lo;\n Object.keys(za).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === za[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return za[e];\n }\n });\n });\n var qa = Ho;\n Object.keys(qa).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === qa[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return qa[e];\n }\n });\n });\n var Qa = Ao;\n Object.keys(Qa).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Qa[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Qa[e];\n }\n });\n });\n var Va = Ro;\n Object.keys(Va).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Va[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Va[e];\n }\n });\n });\n var Za = yo;\n Object.keys(Za).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Za[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Za[e];\n }\n });\n });\n var Ba = zo;\n Object.keys(Ba).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ba[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ba[e];\n }\n });\n });\n var Ua = qo;\n Object.keys(Ua).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ua[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ua[e];\n }\n });\n });\n var Ga = Et;\n Object.keys(Ga).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ga[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ga[e];\n }\n });\n });\n var Xa = Qo;\n Object.keys(Xa).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Xa[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Xa[e];\n }\n });\n });\n var Ja = Vo;\n Object.keys(Ja).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ja[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ja[e];\n }\n });\n });\n var Ka = Zo;\n Object.keys(Ka).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ka[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ka[e];\n }\n });\n });\n var pa = mc;\n Object.keys(pa).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === pa[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return pa[e];\n }\n });\n });\n var ka = uc;\n Object.keys(ka).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ka[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ka[e];\n }\n });\n });\n var ei = ou;\n Object.keys(ei).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ei[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ei[e];\n }\n });\n });\n var ri = Bo;\n Object.keys(ri).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ri[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ri[e];\n }\n });\n });\n var ti = Uo;\n Object.keys(ti).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ti[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ti[e];\n }\n });\n });\n var ni = mn;\n Object.keys(ni).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ni[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ni[e];\n }\n });\n });\n var ai = Go;\n Object.keys(ai).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ai[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ai[e];\n }\n });\n });\n var ii = Xo;\n Object.keys(ii).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ii[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ii[e];\n }\n });\n });\n var ui = ac;\n Object.keys(ui).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ui[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ui[e];\n }\n });\n });\n var ci = Jo;\n Object.keys(ci).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ci[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ci[e];\n }\n });\n });\n var si = Ko;\n Object.keys(si).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === si[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return si[e];\n }\n });\n });\n var di = $t;\n Object.keys(di).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === di[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return di[e];\n }\n });\n });\n var fi = po;\n Object.keys(fi).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === fi[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return fi[e];\n }\n });\n });\n var oi = xc;\n Object.keys(oi).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === oi[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return oi[e];\n }\n });\n });\n var li = xe;\n Object.keys(li).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === li[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return li[e];\n }\n });\n });\n var mi = Yr;\n Object.keys(mi).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === mi[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return mi[e];\n }\n });\n });\n var vi = Wc;\n Object.keys(vi).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === vi[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return vi[e];\n }\n });\n });\n var hi = Pt;\n Object.keys(hi).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === hi[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return hi[e];\n }\n });\n });\n var _i = nn;\n Object.keys(_i).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === _i[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return _i[e];\n }\n });\n });\n var gi = Lc;\n Object.keys(gi).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === gi[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return gi[e];\n }\n });\n });\n var bi = ko;\n Object.keys(bi).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === bi[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return bi[e];\n }\n });\n });\n var Oi = el;\n Object.keys(Oi).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Oi[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Oi[e];\n }\n });\n });\n var $i = Pe;\n Object.keys($i).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === $i[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return $i[e];\n }\n });\n });\n var Mi = dn;\n Object.keys(Mi).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Mi[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Mi[e];\n }\n });\n });\n var Di = un;\n Object.keys(Di).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Di[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Di[e];\n }\n });\n });\n var wi = rl;\n Object.keys(wi).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === wi[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return wi[e];\n }\n });\n });\n var Pi = tl;\n Object.keys(Pi).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Pi[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Pi[e];\n }\n });\n });\n var ji = nl;\n Object.keys(ji).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === ji[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return ji[e];\n }\n });\n });\n var Ti = xt;\n Object.keys(Ti).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ti[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ti[e];\n }\n });\n });\n var Ii = al;\n Object.keys(Ii).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ii[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ii[e];\n }\n });\n });\n var Ei = Mu;\n Object.keys(Ei).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ei[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ei[e];\n }\n });\n });\n var xi = il;\n Object.keys(xi).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === xi[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return xi[e];\n }\n });\n });\n var Si = ul;\n Object.keys(Si).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Si[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Si[e];\n }\n });\n });\n var Yi = Rc;\n Object.keys(Yi).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Yi[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Yi[e];\n }\n });\n });\n var Wi = cl;\n Object.keys(Wi).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Wi[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Wi[e];\n }\n });\n });\n var Fi = sl;\n Object.keys(Fi).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Fi[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Fi[e];\n }\n });\n });\n var Ni = dl;\n Object.keys(Ni).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ni[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ni[e];\n }\n });\n });\n var Ci = fl;\n Object.keys(Ci).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ci[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ci[e];\n }\n });\n });\n var Li = l;\n Object.keys(Li).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Li[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Li[e];\n }\n });\n });\n var Hi = Zu;\n Object.keys(Hi).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Hi[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Hi[e];\n }\n });\n });\n var Ai = ol;\n Object.keys(Ai).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ai[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ai[e];\n }\n });\n });\n var Ri = ll;\n Object.keys(Ri).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === Ri[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return Ri[e];\n }\n });\n });\n var yi = ml;\n Object.keys(yi).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === yi[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return yi[e];\n }\n });\n });\n var zi = vl;\n Object.keys(zi).forEach(function(e) {\n e === \"default\" || e === \"__esModule\" || e in r && r[e] === zi[e] || Object.defineProperty(r, e, {\n enumerable: !0,\n get: function() {\n return zi[e];\n }\n });\n });\n})(hd);\nObject.defineProperty(gt, \"__esModule\", { value: !0 });\nvar Ce = V, ae = hd, k = J;\nconst yc = \"react-activity-calendar\", tu = 8, hl = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"], $j = {\n months: hl,\n weekdays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n totalCount: \"{{count}} activities in {{year}}\",\n legend: {\n less: \"Less\",\n more: \"More\"\n }\n};\nfunction Mj() {\n const [r, n] = Ce.useState(\"light\"), t = (a) => {\n n(a.matches ? \"dark\" : \"light\");\n };\n return Ce.useEffect(() => {\n const a = window.matchMedia(\"(prefers-color-scheme: dark)\");\n return n(a.matches ? \"dark\" : \"light\"), a.addEventListener(\"change\", t), () => {\n a.removeEventListener(\"change\", t);\n };\n }, []), r;\n}\nconst _l = `${yc}--loading-animation`;\nfunction Dj(r, n) {\n Ce.useEffect(() => {\n const t = `oklab(from ${r} l a b)`, a = n === \"light\" ? `oklab(from ${r} calc(l * 0.96) a b)` : `oklab(from ${r} calc(l * 1.08) a b)`, i = document.createElement(\"style\");\n return i.innerHTML = `\n @keyframes ${_l} {\n 0% {\n fill: ${t};\n }\n 50% {\n fill: ${a};\n }\n 100% {\n fill: ${t};\n }\n }\n `, document.head.appendChild(i), () => {\n document.head.removeChild(i);\n };\n }, [r, n]);\n}\nconst wj = \"(prefers-reduced-motion: reduce)\";\nfunction Pj() {\n const [r, n] = Ce.useState(!0);\n return Ce.useEffect(() => {\n const t = window.matchMedia(wj);\n n(t.matches);\n const a = (i) => {\n n(i.matches);\n };\n return t.addEventListener(\"change\", a), () => {\n t.removeEventListener(\"change\", a);\n };\n }, []), r;\n}\nfunction jj(r, n) {\n if (r.length === 0)\n throw new Error(\"Activity data must not be empty.\");\n for (const {\n date: t,\n level: a,\n count: i\n } of r) {\n if (!ae.isValid(ae.parseISO(t)))\n throw new Error(`Activity date '${t}' is not a valid ISO 8601 date string.`);\n if (i < 0)\n throw new RangeError(`Activity count must not be negative, found ${i}.`);\n if (a < 0 || a > n)\n throw new RangeError(`Activity level ${a} for ${t} is out of range. It must be between 0 and ${n}.`);\n }\n}\nfunction Tj(r, n = 0) {\n const t = Ij(r), a = t[0], i = ae.parseISO(a.date), u = ae.getDay(i) === n ? i : ae.subWeeks(ae.nextDay(i, n), 1), c = [...Array(ae.differenceInCalendarDays(i, u)).fill(void 0), ...t], d = Math.ceil(c.length / 7);\n return qt(d).map((f) => c.slice(f * 7, f * 7 + 7));\n}\nfunction Ij(r) {\n const n = new Map(r.map((i) => [i.date, i])), t = r[0], a = r[r.length - 1];\n return ae.eachDayOfInterval({\n start: ae.parseISO(t.date),\n end: ae.parseISO(a.date)\n }).map((i) => {\n const u = ae.formatISO(i, {\n representation: \"date\"\n });\n return n.has(u) ? n.get(u) : {\n date: u,\n count: 0,\n level: 0\n };\n });\n}\nfunction ar(r) {\n return `${yc}__${r}`;\n}\nfunction Ej() {\n const r = (/* @__PURE__ */ new Date()).getFullYear();\n return ae.eachDayOfInterval({\n start: new Date(r, 0, 1),\n end: new Date(r, 11, 31)\n }).map((t) => ({\n date: ae.formatISO(t, {\n representation: \"date\"\n }),\n count: 0,\n level: 0\n }));\n}\nfunction qt(r) {\n return [...Array(r).keys()];\n}\nfunction xj(r, n = hl) {\n return r.reduce((t, a, i) => {\n const u = a.find((f) => f !== void 0);\n if (!u)\n throw new Error(`Unexpected error: Week ${i + 1} is empty: [${a}].`);\n const c = n[ae.getMonth(ae.parseISO(u.date))];\n if (!c) {\n const f = new Date(u.date).toLocaleString(\"en-US\", {\n month: \"short\"\n });\n throw new Error(`Unexpected error: undefined month label for ${f}.`);\n }\n const d = t[t.length - 1];\n return i === 0 || !d || d.label !== c ? [...t, {\n weekIndex: i,\n label: c\n }] : t;\n }, []).filter(({\n weekIndex: t\n }, a, i) => a === 0 ? i[1] && i[1].weekIndex - t >= 3 : a === i.length - 1 ? r.slice(t).length >= 3 : !0);\n}\nfunction Sj(r, n, t) {\n if (r.length !== 7)\n throw new Error(\"Exactly 7 labels, one for each weekday must be passed.\");\n return r.reduce((a, i, u) => n.byDayIndex(u) ? Math.max(a, Math.ceil(Yj(i, t).width)) : a, 0);\n}\nfunction Yj(r, n) {\n if (typeof document > \"u\" || typeof window > \"u\")\n return {\n width: 0,\n height: 0\n };\n if (n < 1)\n throw new RangeError(\"fontSize must be positive\");\n if (r.length === 0)\n return {\n width: 0,\n height: 0\n };\n const t = \"http://www.w3.org/2000/svg\", a = document.createElementNS(t, \"svg\");\n a.style.position = \"absolute\", a.style.visibility = \"hidden\", a.style.fontFamily = window.getComputedStyle(document.body).fontFamily, a.style.fontSize = `${n}px`;\n const i = document.createElementNS(t, \"text\");\n i.textContent = r, a.appendChild(i), document.body.appendChild(a);\n const u = i.getBBox();\n return document.body.removeChild(a), {\n width: u.width,\n height: u.height\n };\n}\nfunction Wj(r, n) {\n if (!r) return {\n byDayIndex: () => !1,\n shouldShow: !1\n };\n if (r === !0)\n return {\n byDayIndex: (a) => (7 + a - n) % 7 % 2 !== 0,\n shouldShow: !0\n };\n const t = [];\n for (const a of r) {\n const i = Fj[a.toLowerCase()];\n t[i] = !0;\n }\n return {\n byDayIndex: (a) => t[a] ?? !1,\n shouldShow: r.length > 0\n };\n}\nconst Fj = {\n sun: 0,\n mon: 1,\n tue: 2,\n wed: 3,\n thu: 4,\n fri: 5,\n sat: 6\n};\nfunction Nj(r, n = 5) {\n const t = Cj(n);\n return r ? (Lj(r, n), r.light = r.light ?? t.light, r.dark = r.dark ?? t.dark, {\n light: id(r.light) ? Qt(r.light, n) : r.light,\n dark: id(r.dark) ? Qt(r.dark, n) : r.dark\n }) : t;\n}\nfunction Cj(r) {\n return {\n light: Qt([\"hsl(0, 0%, 92%)\", \"hsl(0, 0%, 26%)\"], r),\n dark: Qt([\"hsl(0, 0%, 22%)\", \"hsl(0, 0%, 92%)\"], r)\n };\n}\nfunction Lj(r, n) {\n if (typeof r != \"object\" || r.light === void 0 && r.dark === void 0)\n throw new Error(`The theme object must contain at least one of the fields \"light\" and \"dark\" with exactly 2 or ${n} colors respectively.`);\n if (r.light) {\n const {\n length: t\n } = r.light;\n if (t !== 2 && t !== n)\n throw new Error(`theme.light must contain exactly 2 or ${n} colors, ${t} passed.`);\n for (const a of r.light)\n if (typeof window < \"u\" && !CSS.supports(\"color\", a))\n throw new Error(`Invalid color \"${String(a)}\" passed. All CSS color formats are accepted.`);\n }\n if (r.dark) {\n const {\n length: t\n } = r.dark;\n if (t !== 2 && t !== n)\n throw new Error(`theme.dark must contain exactly 2 or ${n} colors, ${t} passed.`);\n for (const a of r.dark)\n if (typeof window < \"u\" && !CSS.supports(\"color\", a))\n throw new Error(`Invalid color \"${String(a)}\" passed. All CSS color formats are accepted.`);\n }\n}\nfunction Qt(r, n) {\n return qt(n).map((t) => {\n const a = t / (n - 1) * 100;\n return `color-mix(in oklab, ${r[1]} ${parseFloat(a.toFixed(2))}%, ${r[0]})`;\n });\n}\nfunction id(r) {\n return r.length === 2;\n}\nconst ir = {\n container: (r) => ({\n width: \"max-content\",\n // Calendar should not grow\n maxWidth: \"100%\",\n // Do not remove - parent might be a flexbox\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"8px\",\n fontSize: `${r}px`\n }),\n scrollContainer: {\n maxWidth: \"100%\",\n overflowX: \"auto\",\n overflowY: \"hidden\"\n },\n calendar: {\n display: \"block\",\n // SVGs are inline-block by default\n overflow: \"visible\"\n // Weekday labels are rendered left of the container\n },\n rect: (r) => ({\n stroke: r === \"light\" ? \"rgba(0, 0, 0, 0.08)\" : \"rgba(255, 255, 255, 0.04)\"\n }),\n footer: {\n container: {\n display: \"flex\",\n flexWrap: \"wrap\",\n gap: \"4px 16px\",\n whiteSpace: \"nowrap\"\n },\n legend: {\n marginLeft: \"auto\",\n display: \"flex\",\n alignItems: \"center\",\n gap: \"3px\"\n }\n }\n}, vn = /* @__PURE__ */ Ce.forwardRef(({\n data: r,\n blockMargin: n = 4,\n blockRadius: t = 2,\n blockSize: a = 12,\n colorScheme: i = void 0,\n eventHandlers: u = {},\n fontSize: c = 14,\n hideColorLegend: d = !1,\n hideMonthLabels: f = !1,\n hideTotalCount: o = !1,\n labels: m = void 0,\n maxLevel: _ = 4,\n loading: b = !1,\n renderBlock: M = void 0,\n renderColorLegend: j = void 0,\n showWeekdayLabels: w = !1,\n style: x = {},\n theme: $ = void 0,\n totalCount: W = void 0,\n weekStart: G = 0\n // Sunday\n}, T) => {\n const [ue, ne] = Ce.useState(!1);\n Ce.useEffect(() => {\n ne(!0);\n }, []), _ = Math.max(1, _);\n const le = Nj($, _ + 1), be = Mj(), ce = i ?? be, se = le[ce];\n Dj(se[0], ce);\n const ve = !Pj();\n b && (r = Ej()), jj(r, _);\n const he = r[0], B = ae.getYear(ae.parseISO(he.date)), K = Tj(r, G), z = Object.assign({}, $j, m), de = f ? 0 : c + tu, y = Wj(w, G), q = ue && y.shouldShow ? Sj(z.weekdays, y, c) + tu : void 0;\n function me() {\n return {\n width: K.length * (a + n) - n,\n height: de + (a + n) * 7 - n\n };\n }\n function Oe(C) {\n return Object.keys(u).reduce((A, Q) => ({\n ...A,\n [Q]: (fe) => {\n var _e;\n return (_e = u[Q]) == null ? void 0 : _e.call(u, fe)(C);\n }\n }), {});\n }\n function $e() {\n return K.map((C, A) => C.map((Q, fe) => {\n if (!Q)\n return null;\n const _e = b && ve ? {\n animation: `${_l} 1.75s ease-in-out infinite`,\n animationDelay: `${A * 20 + fe * 20}ms`\n } : void 0, Ye = /* @__PURE__ */ k.jsx(\"rect\", {\n ...Oe(Q),\n x: 0,\n y: de + (a + n) * fe,\n width: a,\n height: a,\n rx: t,\n ry: t,\n fill: se[Q.level],\n \"data-date\": Q.date,\n \"data-level\": Q.level,\n style: {\n ...ir.rect(ce),\n ..._e\n }\n });\n return /* @__PURE__ */ k.jsx(Ce.Fragment, {\n children: M ? M(Ye, Q) : Ye\n }, Q.date);\n })).map((C, A) => /* @__PURE__ */ k.jsx(\"g\", {\n transform: `translate(${(a + n) * A}, 0)`,\n children: C\n }, A));\n }\n function Me() {\n if (o && d)\n return null;\n const C = typeof W == \"number\" ? W : r.reduce((A, Q) => A + Q.count, 0);\n return /* @__PURE__ */ k.jsxs(\"footer\", {\n className: ar(\"footer\"),\n style: {\n ...ir.footer.container,\n marginLeft: q\n },\n children: [b && /* @__PURE__ */ k.jsx(\"div\", {\n children: \" \"\n }), !b && !o && /* @__PURE__ */ k.jsx(\"div\", {\n className: ar(\"count\"),\n children: z.totalCount ? z.totalCount.replace(\"{{count}}\", String(C)).replace(\"{{year}}\", String(B)) : `${C} activities in ${B}`\n }), !b && !d && /* @__PURE__ */ k.jsxs(\"div\", {\n className: ar(\"legend-colors\"),\n style: ir.footer.legend,\n children: [/* @__PURE__ */ k.jsx(\"span\", {\n style: {\n marginRight: \"0.4em\"\n },\n children: z.legend.less\n }), qt(_ + 1).map((A) => {\n const Q = /* @__PURE__ */ k.jsx(\"svg\", {\n width: a,\n height: a,\n children: /* @__PURE__ */ k.jsx(\"rect\", {\n width: a,\n height: a,\n fill: se[A],\n rx: t,\n ry: t,\n style: ir.rect(ce)\n })\n }, A);\n return j ? j(Q, A) : Q;\n }), /* @__PURE__ */ k.jsx(\"span\", {\n style: {\n marginLeft: \"0.4em\"\n },\n children: z.legend.more\n })]\n })]\n });\n }\n function De() {\n return y.shouldShow ? /* @__PURE__ */ k.jsx(\"g\", {\n className: ar(\"legend-weekday\"),\n children: qt(7).map((C) => {\n const A = (C + G) % 7;\n return y.byDayIndex(A) ? /* @__PURE__ */ k.jsx(\"text\", {\n x: -tu,\n y: de + (a + n) * C + a / 2,\n dominantBaseline: \"central\",\n textAnchor: \"end\",\n fill: \"currentColor\",\n children: z.weekdays[A]\n }, C) : null;\n })\n }) : null;\n }\n function je() {\n return f ? null : /* @__PURE__ */ k.jsx(\"g\", {\n className: ar(\"legend-month\"),\n children: xj(K, z.months).map(({\n label: C,\n weekIndex: A\n }) => /* @__PURE__ */ k.jsx(\"text\", {\n x: (a + n) * A,\n dominantBaseline: \"hanging\",\n fill: \"currentColor\",\n children: C\n }, A))\n });\n }\n const {\n width: I,\n height: N\n } = me();\n return /* @__PURE__ */ k.jsxs(\"article\", {\n ref: T,\n className: yc,\n style: {\n ...x,\n ...ir.container(c)\n },\n children: [/* @__PURE__ */ k.jsx(\"div\", {\n className: ar(\"scroll-container\"),\n style: ir.scrollContainer,\n children: /* @__PURE__ */ k.jsxs(\"svg\", {\n width: I,\n height: N,\n viewBox: `0 0 ${I} ${N}`,\n className: ar(\"calendar\"),\n style: {\n ...ir.calendar,\n marginLeft: q\n },\n children: [!b && De(), !b && je(), $e()]\n })\n }), Me()]\n });\n});\nvn.displayName = \"ActivityCalendar\";\nconst Hj = (r) => /* @__PURE__ */ k.jsx(vn, {\n data: [],\n ...r\n});\ngt.ActivityCalendar = vn;\ngt.Skeleton = Hj;\ngt.default = vn;\nObject.defineProperty(vd, \"__esModule\", { value: !0 });\nvar cr = V, gl = gt;\nfunction bl(r) {\n return r && r.__esModule ? r : { default: r };\n}\nvar nu = /* @__PURE__ */ bl(cr), Aj = /* @__PURE__ */ bl(gl);\nfunction Vt() {\n return Vt = Object.assign ? Object.assign.bind() : function(r) {\n for (var n = 1; n < arguments.length; n++) {\n var t = arguments[n];\n for (var a in t) ({}).hasOwnProperty.call(t, a) && (r[a] = t[a]);\n }\n return r;\n }, Vt.apply(null, arguments);\n}\nconst Rj = (r, n) => {\n if (typeof n != \"function\")\n return r;\n const t = n(r);\n if (!Array.isArray(t))\n throw Error(\"Passed function transformData must return a list of Day objects.\");\n if (t.length > 0) {\n const a = t[0];\n if (typeof a.count != \"number\" || a.count < 0)\n throw Error(`Required property \"count: number\" missing or invalid. Got: ${a.count}`);\n if (!/\\d{4}-\\d{2}-\\d{2}/.test(a.date))\n throw Error(`Required property \"date: YYYY-MM-DD\" missing or invalid. Got: ${a.date}`);\n if (typeof a.level != \"number\" || a.level < 0 || a.level > 4)\n throw Error(`Required property \"level: 0 | 1 | 2 | 3 | 4\" missing or invalid: Got: ${a.level}.`);\n }\n return t;\n};\nasync function yj(r, n) {\n const a = await fetch(`https://github-contributions-api.jogruber.de/v4/${r}?y=${n}`), i = await a.json();\n if (!a.ok)\n throw Error(`Fetching GitHub contribution data for \"${r}\" failed: ${i.error}`);\n return i;\n}\nconst Ol = /* @__PURE__ */ cr.forwardRef(({\n username: r,\n year: n = \"last\",\n labels: t,\n transformData: a,\n transformTotalCount: i = !0,\n throwOnError: u = !1,\n errorMessage: c = `Error – Fetching GitHub contribution data for \"${r}\" failed.`,\n ...d\n}, f) => {\n const [o, m] = cr.useState(null), [_, b] = cr.useState(!1), [M, j] = cr.useState(null), w = cr.useCallback(() => {\n b(!0), j(null), yj(r, n).then(m).catch((G) => {\n G instanceof Error && j(G);\n }).finally(() => {\n b(!1);\n });\n }, [r, n]);\n if (cr.useEffect(w, [w]), M) {\n if (u)\n throw M;\n return /* @__PURE__ */ nu.default.createElement(\"div\", null, c);\n }\n if (_ || !o)\n return /* @__PURE__ */ nu.default.createElement(gl.Skeleton, Vt({}, d, {\n loading: !0\n }));\n const x = d.theme ?? zj, $ = {\n totalCount: `{{count}} contributions in ${n === \"last\" ? \"the last year\" : \"{{year}}\"}`\n }, W = n === \"last\" ? o.total.lastYear : o.total[n];\n return /* @__PURE__ */ nu.default.createElement(Aj.default, Vt({\n data: Rj(o.contributions, a),\n labels: Object.assign({}, $, t),\n ref: f,\n totalCount: a && i ? void 0 : W\n }, d, {\n theme: x,\n loading: !!d.loading || _,\n maxLevel: 4\n }));\n});\nOl.displayName = \"GitHubCalendar\";\nconst zj = {\n light: [\"#ebedf0\", \"#9be9a8\", \"#40c463\", \"#30a14e\", \"#216e39\"],\n dark: [\"#161b22\", \"#0e4429\", \"#006d32\", \"#26a641\", \"#39d353\"]\n};\nvar qj = vd.default = Ol, Qj = Object.defineProperty, Zt = Object.getOwnPropertySymbols, $l = Object.prototype.hasOwnProperty, Ml = Object.prototype.propertyIsEnumerable, ud = (r, n, t) => n in r ? Qj(r, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[n] = t, Vj = (r, n) => {\n for (var t in n || (n = {}))\n $l.call(n, t) && ud(r, t, n[t]);\n if (Zt)\n for (var t of Zt(n))\n Ml.call(n, t) && ud(r, t, n[t]);\n return r;\n}, Zj = (r, n) => {\n var t = {};\n for (var a in r)\n $l.call(r, a) && n.indexOf(a) < 0 && (t[a] = r[a]);\n if (r != null && Zt)\n for (var a of Zt(r))\n n.indexOf(a) < 0 && Ml.call(r, a) && (t[a] = r[a]);\n return t;\n};\nconst Dl = ld((r, n) => {\n const t = r, {\n alt: a,\n color: i = \"currentColor\",\n size: u = \"1em\",\n weight: c = \"regular\",\n mirrored: d = !1,\n children: f,\n weights: o\n } = t, m = Zj(t, [\n \"alt\",\n \"color\",\n \"size\",\n \"weight\",\n \"mirrored\",\n \"children\",\n \"weights\"\n ]);\n return /* @__PURE__ */ V.createElement(\n \"svg\",\n Vj({\n ref: n,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: u,\n height: u,\n fill: i,\n viewBox: \"0 0 256 256\",\n transform: d ? \"scale(-1, 1)\" : void 0\n }, m),\n !!a && /* @__PURE__ */ V.createElement(\"title\", null, a),\n f,\n o.get(c)\n );\n});\nDl.displayName = \"SSRBase\";\nconst Bj = Dl, Uj = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ V.createElement(V.Fragment, null, /* @__PURE__ */ V.createElement(\"path\", { d: \"M212.62,75.17A63.7,63.7,0,0,0,206.39,26,12,12,0,0,0,196,20a63.71,63.71,0,0,0-50,24H126A63.71,63.71,0,0,0,76,20a12,12,0,0,0-10.39,6,63.7,63.7,0,0,0-6.23,49.17A61.5,61.5,0,0,0,52,104v8a60.1,60.1,0,0,0,45.76,58.28A43.66,43.66,0,0,0,92,192v4H76a20,20,0,0,1-20-20,44.05,44.05,0,0,0-44-44,12,12,0,0,0,0,24,20,20,0,0,1,20,20,44.05,44.05,0,0,0,44,44H92v12a12,12,0,0,0,24,0V192a20,20,0,0,1,40,0v40a12,12,0,0,0,24,0V192a43.66,43.66,0,0,0-5.76-21.72A60.1,60.1,0,0,0,220,112v-8A61.5,61.5,0,0,0,212.62,75.17ZM196,112a36,36,0,0,1-36,36H112a36,36,0,0,1-36-36v-8a37.87,37.87,0,0,1,6.13-20.12,11.65,11.65,0,0,0,1.58-11.49,39.9,39.9,0,0,1-.4-27.72,39.87,39.87,0,0,1,26.41,17.8A12,12,0,0,0,119.82,68h32.35a12,12,0,0,0,10.11-5.53,39.84,39.84,0,0,1,26.41-17.8,39.9,39.9,0,0,1-.4,27.72,12,12,0,0,0,1.61,11.53A37.85,37.85,0,0,1,196,104Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ V.createElement(V.Fragment, null, /* @__PURE__ */ V.createElement(\n \"path\",\n {\n d: \"M208,104v8a48,48,0,0,1-48,48H136a32,32,0,0,1,32,32v40H104V192a32,32,0,0,1,32-32H112a48,48,0,0,1-48-48v-8a49.28,49.28,0,0,1,8.51-27.3A51.92,51.92,0,0,1,76,32a52,52,0,0,1,43.83,24h32.34A52,52,0,0,1,196,32a51.92,51.92,0,0,1,3.49,44.7A49.28,49.28,0,0,1,208,104Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ V.createElement(\"path\", { d: \"M208.3,75.68A59.74,59.74,0,0,0,202.93,28,8,8,0,0,0,196,24a59.75,59.75,0,0,0-48,24H124A59.75,59.75,0,0,0,76,24a8,8,0,0,0-6.93,4,59.78,59.78,0,0,0-5.38,47.68A58.14,58.14,0,0,0,56,104v8a56.06,56.06,0,0,0,48.44,55.47A39.8,39.8,0,0,0,96,192v8H72a24,24,0,0,1-24-24A40,40,0,0,0,8,136a8,8,0,0,0,0,16,24,24,0,0,1,24,24,40,40,0,0,0,40,40H96v16a8,8,0,0,0,16,0V192a24,24,0,0,1,48,0v40a8,8,0,0,0,16,0V192a39.8,39.8,0,0,0-8.44-24.53A56.06,56.06,0,0,0,216,112v-8A58,58,0,0,0,208.3,75.68ZM200,112a40,40,0,0,1-40,40H112a40,40,0,0,1-40-40v-8a41.74,41.74,0,0,1,6.9-22.48A8,8,0,0,0,80,73.83a43.81,43.81,0,0,1,.79-33.58,43.88,43.88,0,0,1,32.32,20.06A8,8,0,0,0,119.82,64h32.35a8,8,0,0,0,6.74-3.69,43.87,43.87,0,0,1,32.32-20.06A43.81,43.81,0,0,1,192,73.83a8.09,8.09,0,0,0,1,7.65A41.76,41.76,0,0,1,200,104Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ V.createElement(V.Fragment, null, /* @__PURE__ */ V.createElement(\"path\", { d: \"M216,104v8a56.06,56.06,0,0,1-48.44,55.47A39.8,39.8,0,0,1,176,192v40a8,8,0,0,1-8,8H104a8,8,0,0,1-8-8V216H72a40,40,0,0,1-40-40A24,24,0,0,0,8,152a8,8,0,0,1,0-16,40,40,0,0,1,40,40,24,24,0,0,0,24,24H96v-8a39.8,39.8,0,0,1,8.44-24.53A56.06,56.06,0,0,1,56,112v-8a58.14,58.14,0,0,1,7.69-28.32A59.78,59.78,0,0,1,69.07,28,8,8,0,0,1,76,24a59.75,59.75,0,0,1,48,24h24a59.75,59.75,0,0,1,48-24,8,8,0,0,1,6.93,4,59.74,59.74,0,0,1,5.37,47.68A58,58,0,0,1,216,104Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ V.createElement(V.Fragment, null, /* @__PURE__ */ V.createElement(\"path\", { d: \"M206.13,75.92A57.79,57.79,0,0,0,201.2,29a6,6,0,0,0-5.2-3,57.77,57.77,0,0,0-47,24H123A57.77,57.77,0,0,0,76,26a6,6,0,0,0-5.2,3,57.79,57.79,0,0,0-4.93,46.92A55.88,55.88,0,0,0,58,104v8a54.06,54.06,0,0,0,50.45,53.87A37.85,37.85,0,0,0,98,192v10H72a26,26,0,0,1-26-26A38,38,0,0,0,8,138a6,6,0,0,0,0,12,26,26,0,0,1,26,26,38,38,0,0,0,38,38H98v18a6,6,0,0,0,12,0V192a26,26,0,0,1,52,0v40a6,6,0,0,0,12,0V192a37.85,37.85,0,0,0-10.45-26.13A54.06,54.06,0,0,0,214,112v-8A55.88,55.88,0,0,0,206.13,75.92ZM202,112a42,42,0,0,1-42,42H112a42,42,0,0,1-42-42v-8a43.86,43.86,0,0,1,7.3-23.69,6,6,0,0,0,.81-5.76,45.85,45.85,0,0,1,1.43-36.42,45.85,45.85,0,0,1,35.23,21.1A6,6,0,0,0,119.83,62h32.34a6,6,0,0,0,5.06-2.76,45.83,45.83,0,0,1,35.23-21.11,45.85,45.85,0,0,1,1.43,36.42,6,6,0,0,0,.79,5.74A43.78,43.78,0,0,1,202,104Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ V.createElement(V.Fragment, null, /* @__PURE__ */ V.createElement(\"path\", { d: \"M208.31,75.68A59.78,59.78,0,0,0,202.93,28,8,8,0,0,0,196,24a59.75,59.75,0,0,0-48,24H124A59.75,59.75,0,0,0,76,24a8,8,0,0,0-6.93,4,59.78,59.78,0,0,0-5.38,47.68A58.14,58.14,0,0,0,56,104v8a56.06,56.06,0,0,0,48.44,55.47A39.8,39.8,0,0,0,96,192v8H72a24,24,0,0,1-24-24A40,40,0,0,0,8,136a8,8,0,0,0,0,16,24,24,0,0,1,24,24,40,40,0,0,0,40,40H96v16a8,8,0,0,0,16,0V192a24,24,0,0,1,48,0v40a8,8,0,0,0,16,0V192a39.8,39.8,0,0,0-8.44-24.53A56.06,56.06,0,0,0,216,112v-8A58.14,58.14,0,0,0,208.31,75.68ZM200,112a40,40,0,0,1-40,40H112a40,40,0,0,1-40-40v-8a41.74,41.74,0,0,1,6.9-22.48A8,8,0,0,0,80,73.83a43.81,43.81,0,0,1,.79-33.58,43.88,43.88,0,0,1,32.32,20.06A8,8,0,0,0,119.82,64h32.35a8,8,0,0,0,6.74-3.69,43.87,43.87,0,0,1,32.32-20.06A43.81,43.81,0,0,1,192,73.83a8.09,8.09,0,0,0,1,7.65A41.72,41.72,0,0,1,200,104Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ V.createElement(V.Fragment, null, /* @__PURE__ */ V.createElement(\"path\", { d: \"M203.94,76.16A55.73,55.73,0,0,0,199.46,30,4,4,0,0,0,196,28a55.78,55.78,0,0,0-46,24H122A55.78,55.78,0,0,0,76,28a4,4,0,0,0-3.46,2,55.73,55.73,0,0,0-4.48,46.16A53.78,53.78,0,0,0,60,104v8a52.06,52.06,0,0,0,52,52h1.41A36,36,0,0,0,100,192v12H72a28,28,0,0,1-28-28A36,36,0,0,0,8,140a4,4,0,0,0,0,8,28,28,0,0,1,28,28,36,36,0,0,0,36,36h28v20a4,4,0,0,0,8,0V192a28,28,0,0,1,56,0v40a4,4,0,0,0,8,0V192a36,36,0,0,0-13.41-28H160a52.06,52.06,0,0,0,52-52v-8A53.78,53.78,0,0,0,203.94,76.16ZM204,112a44.05,44.05,0,0,1-44,44H112a44.05,44.05,0,0,1-44-44v-8a45.76,45.76,0,0,1,7.71-24.89,4,4,0,0,0,.53-3.84,47.82,47.82,0,0,1,2.1-39.21,47.8,47.8,0,0,1,38.12,22.1A4,4,0,0,0,119.83,60h32.34a4,4,0,0,0,3.37-1.84,47.8,47.8,0,0,1,38.12-22.1,47.82,47.82,0,0,1,2.1,39.21,4,4,0,0,0,.53,3.83A45.85,45.85,0,0,1,204,104Z\" }))\n ]\n]);\nvar Gj = Object.defineProperty, Xj = Object.defineProperties, Jj = Object.getOwnPropertyDescriptors, cd = Object.getOwnPropertySymbols, Kj = Object.prototype.hasOwnProperty, pj = Object.prototype.propertyIsEnumerable, sd = (r, n, t) => n in r ? Gj(r, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[n] = t, kj = (r, n) => {\n for (var t in n || (n = {}))\n Kj.call(n, t) && sd(r, t, n[t]);\n if (cd)\n for (var t of cd(n))\n pj.call(n, t) && sd(r, t, n[t]);\n return r;\n}, eT = (r, n) => Xj(r, Jj(n));\nconst wl = ld((r, n) => /* @__PURE__ */ V.createElement(Bj, eT(kj({ ref: n }, r), { weights: Uj })));\nwl.displayName = \"GithubLogo\";\nconst rT = (r) => (n) => {\n const t = (/* @__PURE__ */ new Date()).getFullYear(), a = (/* @__PURE__ */ new Date()).getMonth(), i = r;\n return n.filter((u) => {\n const c = new Date(u.date), d = c.getMonth();\n return c.getFullYear() === t && d > a - i && d <= a;\n });\n}, dd = (r) => r === \"github\" ? [\"#ebedf0\", \"#9be9a8\", \"#40c463\", \"#30a14e\", \"#216e39\"] : r === \"colorful\" ? [\"#f2f2f2\", \"gray\"] : [\"#ebedf0\", \"#9be9a8\", \"#40c463\", \"#30a14e\", \"#216e39\"], tT = (r) => /* @__PURE__ */ J.jsx(\n qj,\n {\n style: {\n overflow: \"clip\"\n },\n fontSize: 14,\n theme: {\n //dark: ['#fafafa', 'gray']\n //light: ['#ebedf0', '#9be9a8', '#40c463', '#30a14e', '#216e39'],\n light: dd(r.colorTheme),\n dark: dd(r.colorTheme)\n },\n hideColorLegend: !0,\n hideMonthLabels: !0,\n hideTotalCount: !0,\n blockSize: 12,\n blockMargin: 3,\n transformData: rT(r.months),\n username: r.username\n }\n), nT = xr(tT), aT = (r) => {\n const n = r.grid !== void 0 ? Math.floor(r.grid.w * 1.37) : 12, t = r.username || \"DominikScholz\", a = r.showUsername, i = r.color || \"colorful\";\n return /* @__PURE__ */ J.jsxs(\n md,\n {\n className: \"size-full p-9 overflow-clip relative bg-white [&_div]:!overflow-hidden [&_rect]:!stroke-none\",\n style: {\n direction: \"rtl\"\n },\n children: [\n /* @__PURE__ */ J.jsx(\n \"div\",\n {\n className: `text-white bg-black/90 rounded-full \n size-10 flex-center absolute top-4 left-4 z-10 p-2 backdrop-blur-xl whitespace-nowrap\n `,\n style: {\n boxShadow: \"0 0 1rem white, 0 0 2rem white, 0 0 4rem white, 0 0 8rem white\"\n },\n children: /* @__PURE__ */ J.jsx(wl, { size: \"100%\" })\n }\n ),\n a && /* @__PURE__ */ J.jsx(\n \"div\",\n {\n className: `text-[#0a0909c4] bg-white \n absolute left-4 bottom-4 z-10\n flex-center rounded-full px-5 h-10 \n font-['Plus_Jakarta_Sans'] font-medium text-base`,\n style: {\n boxShadow: \"0 0 1rem white, 0 0 2rem white, 0 0 4rem white, 0 0 8rem white\"\n },\n children: t\n }\n ),\n /* @__PURE__ */ J.jsx(\n \"div\",\n {\n className: \"absolute size-full mix-blend-color\",\n style: {\n display: i === \"github\" ? \"none\" : \"block\",\n backgroundColor: \"var(--background-color)\"\n }\n }\n ),\n /* @__PURE__ */ J.jsx(\n nT,\n {\n username: t,\n months: n,\n colorTheme: i\n }\n )\n ]\n }\n );\n}, Lt = {\n name: \"github\",\n license: { type: \"MIT\", fullText: \"MIT\" },\n origin: \"https://github.com/\",\n props: {\n username: { slowLoad: !0 },\n showUsername: { slowLoad: !1 }\n },\n minDimensions: { w: 3, h: 2 },\n Component: xr(aT)\n};\nLt && (Lt.props = _t(Lt.props, { username: { description: \"GitHub username\", type: \"string\", required: !0, ogInfo: { defaultValue: null, description: \"GitHub username\", name: \"username\", declarations: [{ fileName: \"own.tiles/src/widgets/GitHub.tsx\", name: \"TypeLiteral\" }], required: !0, type: { name: \"string\" } } }, showUsername: { description: \"Show username\", type: \"boolean\", required: !0, ogInfo: { defaultValue: null, description: \"Show username\", name: \"showUsername\", declarations: [{ fileName: \"own.tiles/src/widgets/GitHub.tsx\", name: \"TypeLiteral\" }], required: !0, type: { name: \"enum\", raw: \"boolean\", value: [{ value: \"false\" }, { value: \"true\" }] } } }, color: { description: \"Color theme\", type: [\"colorful\", \"github\"], required: !0, ogInfo: { defaultValue: null, description: \"Color theme\", name: \"color\", declarations: [{ fileName: \"own.tiles/src/widgets/GitHub.tsx\", name: \"TypeLiteral\" }], required: !0, type: { name: \"enum\", raw: '\"colorful\" | \"github\"', value: [{ value: '\"colorful\"' }, { value: '\"github\"' }] } } } }));\nfunction iT(r) {\n xl(() => {\n r();\n }, []);\n}\nconst uT = (r) => (iT(r.loadProp), /* @__PURE__ */ J.jsx(J.Fragment, {})), hn = (r) => {\n const [n, t] = El(!1), a = () => {\n t(!0);\n };\n return /* @__PURE__ */ J.jsx(J.Fragment, { children: /* @__PURE__ */ J.jsx(\n \"iframe\",\n {\n ...r,\n onLoad: a,\n style: {\n opacity: n ? 1 : 0,\n transition: \"opacity 1s ease-in-out\",\n ...r.style\n },\n loading: \"lazy\",\n children: /* @__PURE__ */ J.jsx(uT, { loadProp: a })\n }\n ) });\n}, fd = \"open.spotify.com\", Pl = (r) => {\n if (typeof r != \"string\")\n return console.error(\"Invalid link provided:\", r), \"\";\n try {\n const n = new URL(r, `https://${fd}`);\n return n.hostname !== fd ? (console.error(\"Not a valid Spotify link:\", r), \"\") : n.pathname;\n } catch {\n return console.error(\"Invalid URL:\", r), \"\";\n }\n}, jl = \"https://open.spotify.com/album/4cCfFozyo6JC8acN8uIP7u?si=laPgYvLDR8Gh0fPa3M2mFw\", cT = (r) => {\n const t = r.theme === void 0 || r.theme === \"color\" ? \"\" : \"&theme=0\", a = Pl(r.link || jl), i = a.startsWith(\"/track\") ? { clipPath: \"inset(0 0 8px 0 round 2.25rem)\" } : { clipPath: \"inset(0 round 2.25rem)\" };\n return /* @__PURE__ */ J.jsx(\n hn,\n {\n style: i,\n src: `https://open.spotify.com/embed${a}?utm_source=generator${t}`,\n width: \"100%\",\n height: \"100%\",\n frameBorder: \"0\",\n allowFullScreen: !0,\n allow: \"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\",\n loading: \"lazy\"\n }\n );\n}, Ht = {\n name: \"spotify\",\n license: { type: \"MIT\", fullText: \"MIT\" },\n origin: \"https://spotify.com/\",\n minDimensions: {\n w: 3,\n h: 4\n },\n maxDimensions: (r) => ({\n w: 1 / 0,\n h: Pl(r.link || jl).startsWith(\"/track\") ? 4 : 1 / 0\n }),\n props: {\n link: { slowLoad: !0 },\n theme: { slowLoad: !0 }\n },\n Component: xr(cT)\n};\nHt && (Ht.props = _t(Ht.props, { link: { description: \"Link to playlist, artist, ...\", type: \"string\", required: !1, ogInfo: { defaultValue: null, description: \"Link to playlist, artist, ...\", name: \"link\", declarations: [{ fileName: \"own.tiles/src/widgets/Spotify.tsx\", name: \"TypeLiteral\" }], required: !1, type: { name: \"string\" } } }, theme: { description: \"Theme\", type: [\"color\", \"dark\"], required: !1, ogInfo: { defaultValue: null, description: \"Theme\", name: \"theme\", declarations: [{ fileName: \"own.tiles/src/widgets/Spotify.tsx\", name: \"TypeLiteral\" }], required: !1, type: { name: \"enum\", raw: '\"color\" | \"dark\"', value: [{ value: '\"color\"' }, { value: '\"dark\"' }] } } } }));\nconst sT = [\"www.youtube.com\", \"youtu.be\"], dT = (r) => {\n if (typeof r != \"string\")\n return console.error(\"Invalid link provided:\", r), \"\";\n try {\n const n = new URL(r);\n if (!sT.includes(n.hostname))\n return console.error(\"Not a valid YouTube link:\", r), \"\";\n let t = \"\";\n return n.hostname === \"youtu.be\" ? t = n.pathname.slice(1) : t = n.searchParams.get(\"v\") || \"\", t || (console.error(\"No video ID found in the link:\", r), \"\");\n } catch {\n return console.error(\"Invalid URL:\", r), \"\";\n }\n}, fT = \"https://www.youtube.com/watch?v=3uFxiOo60MI\", oT = (r) => {\n const n = dT(r.link || fT);\n return /* @__PURE__ */ J.jsx(\n hn,\n {\n style: { clipPath: \"inset(0 round 2.25rem)\" },\n src: `https://www.youtube.com/embed/${n}`,\n width: \"100%\",\n height: \"100%\",\n frameBorder: \"0\",\n allowFullScreen: !0,\n allow: \"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\",\n loading: \"lazy\"\n }\n );\n}, At = {\n name: \"youtube\",\n license: { type: \"MIT\", fullText: \"MIT\" },\n origin: \"https://www.youtube.com/\",\n minDimensions: {\n w: 3,\n h: 2\n },\n props: {\n link: { slowLoad: !0 }\n // theme: { slowLoad: true }\n },\n Component: xr(oT)\n};\nAt && (At.props = _t(At.props, { link: { description: \"Link to playlist, artist, ...\", type: \"string\", required: !1, ogInfo: { defaultValue: null, description: \"Link to playlist, artist, ...\", name: \"link\", declarations: [{ fileName: \"own.tiles/src/widgets/YouTube.tsx\", name: \"TypeLiteral\" }], required: !1, type: { name: \"string\" } } } }));\nconst lT = \"calendar.google.com\", mT = (r) => {\n if (typeof r != \"string\")\n return console.error(\"Invalid email provided:\", r), \"\";\n try {\n return /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(r) ? r : (console.error(\"Invalid email format:\", r), \"\");\n } catch (n) {\n return console.error(\"Unexpected error during email validation:\", n), \"\";\n }\n}, vT = \"ht3jlfaac5lfd6263ulfh4tql8@group.calendar.google.com\", hT = (r) => {\n const n = r.theme === void 0 || r.theme === \"white\", t = mT(r.email || vT), a = r.view || \"week\", i = r.title || \"My Calendar\", u = n ? { filter: \"none\" } : { filter: \"invert(90%) hue-rotate(180deg)\" };\n return /* @__PURE__ */ J.jsxs(\n md,\n {\n className: \"size-full px-4 pt-10 overflow-clip relative bg-white\",\n style: u,\n children: [\n /* @__PURE__ */ J.jsx(\n \"div\",\n {\n className: `text-[#0a0909c4]\n absolute left-1/2 -translate-x-1/2 top-0 z-10\n flex-center px-5 h-10 \n font-['Plus_Jakarta_Sans'] font-medium text-base`,\n children: i\n }\n ),\n /* @__PURE__ */ J.jsx(\n hn,\n {\n src: `https://${lT}/calendar/embed?src=${t}&bgColor=ffffff&mode=${a}&showTitle=0&showPrint=0&showTz=0&showDate=0&showTabs=0&showCalendars=0`,\n width: \"100%\",\n height: \"100%\",\n frameBorder: \"0\",\n allowFullScreen: !0,\n className: \"rounded-3xl\",\n allow: \"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\",\n loading: \"lazy\"\n }\n )\n ]\n }\n );\n}, Rt = {\n name: \"google-calendar\",\n license: { type: \"MIT\", fullText: \"MIT\" },\n origin: \"https://calendar.google.com/\",\n minDimensions: {\n w: 4,\n h: 4\n },\n maxDimensions: () => ({\n w: 1 / 0,\n h: 1 / 0\n }),\n props: {\n email: { slowLoad: !0 },\n title: { slowLoad: !1 },\n theme: { slowLoad: !1 },\n view: { slowLoad: !0 }\n },\n Component: xr(hT)\n};\nRt && (Rt.props = _t(Rt.props, { email: { description: \"Calendar ID (email)\", type: \"string\", required: !1, ogInfo: { defaultValue: null, description: \"Calendar ID (email)\", name: \"email\", declarations: [{ fileName: \"own.tiles/src/widgets/GoogleCalendar.tsx\", name: \"TypeLiteral\" }], required: !1, type: { name: \"string\" } } }, title: { description: \"Title of the calendar\", type: \"string\", required: !1, ogInfo: { defaultValue: null, description: \"Title of the calendar\", name: \"title\", declarations: [{ fileName: \"own.tiles/src/widgets/GoogleCalendar.tsx\", name: \"TypeLiteral\" }], required: !1, type: { name: \"string\" } } }, theme: { description: \"Theme\", type: [\"white\", \"dark\"], required: !1, ogInfo: { defaultValue: null, description: \"Theme\", name: \"theme\", declarations: [{ fileName: \"own.tiles/src/widgets/GoogleCalendar.tsx\", name: \"TypeLiteral\" }], required: !1, type: { name: \"enum\", raw: '\"white\" | \"dark\"', value: [{ value: '\"white\"' }, { value: '\"dark\"' }] } } }, view: { description: \"View\", type: [\"week\", \"month\", \"agenda\"], required: !1, ogInfo: { defaultValue: null, description: \"View\", name: \"view\", declarations: [{ fileName: \"own.tiles/src/widgets/GoogleCalendar.tsx\", name: \"TypeLiteral\" }], required: !1, type: { name: \"enum\", raw: '\"week\" | \"month\" | \"agenda\"', value: [{ value: '\"week\"' }, { value: '\"month\"' }, { value: '\"agenda\"' }] } } } }));\nconst od = \"eventbrite.com\", _T = (r) => {\n if (typeof r != \"string\")\n return console.error(\"Invalid link provided:\", r), \"\";\n try {\n const n = new URL(r, `https://${od}`);\n return n.hostname.includes(od) ? n.pathname : (console.error(\"Not a valid Eventbrite link:\", r), \"\");\n } catch {\n return console.error(\"Invalid URL:\", r), \"\";\n }\n}, gT = \"https://www.eventbrite.com/e/sample-event-1234567890\", bT = (r) => {\n const n = _T(r.link || gT);\n return /* @__PURE__ */ J.jsx(\n hn,\n {\n src: `https://www.eventbrite.com/e${n}`,\n width: \"100%\",\n height: \"100%\",\n frameBorder: \"0\",\n allowFullScreen: !0,\n allow: \"autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture\",\n loading: \"lazy\"\n }\n );\n}, yt = {\n name: \"eventbrite\",\n license: { type: \"MIT\", fullText: \"MIT\" },\n origin: \"https://eventbrite.com/\",\n minDimensions: {\n w: 4,\n h: 2\n },\n maxDimensions: () => ({\n w: 1 / 0,\n h: 1 / 0\n }),\n props: {\n link: { slowLoad: !0 }\n },\n Component: xr(bT)\n};\nyt && (yt.props = _t(yt.props, { link: { description: \"Link to Eventbrite event\", type: \"string\", required: !1, ogInfo: { defaultValue: null, description: \"Link to Eventbrite event\", name: \"link\", declarations: [{ fileName: \"own.tiles/src/widgets/Eventbrite.tsx\", name: \"TypeLiteral\" }], required: !1, type: { name: \"string\" } } } }));\nconst OT = {\n GitHub: Lt,\n Spotify: Ht,\n YouTube: At,\n GoogleCalendar: Rt,\n Eventbrite: yt\n}, PT = OT;\nexport {\n md as InnerOwnTile,\n wT as getPropsInfo,\n DT as isComplex,\n _t as mergeProps,\n PT as widgets\n};\n//# sourceMappingURL=index.es.js.map\n","import OwnTile, { type OwnTileProps } from '../OwnTile';\n\nexport function toOwnTile

(\n Component: React.ComponentType>\n) {\n return (props: P) => {\n return (\n \n \n \n );\n };\n}\n","import {\n type TileDimensions,\n type TileInfo,\n widgets\n} from '@own.page/own.tiles';\nimport type { ElementInfo, OwnTileProps } from '..';\nimport { toOwnTile } from './toOwnTile';\n// import 'own.tiles/style.css';\n\nexport type OwnTileMap<\n N extends Lowercase,\n E = ElementInfo\n> = {\n [k in N]: E;\n};\n\nfunction transformDimensions

(\n dimensions: TileDimensions | ((props: P) => TileDimensions) | undefined\n) {\n return typeof dimensions === 'function'\n ? dimensions\n : dimensions\n ? () => dimensions\n : undefined;\n}\n\n// function toValue, P extends object>(\n// i: TileInfo\n// ): Record> {\n// const name = i.name;\n\n// const C = i.Component as React.ComponentType;\n\n// return {\n// [name]: {\n// name,\n// Element: toOwnTile(C)\n// // minDimensions: transformDimensions(i.minDimensions),\n// // maxDImensions: transformDimensions(i.maxDimensions)\n// }\n// } as unknown as Record>;\n\n// // const result = {} as { [K in N]: ElementInfo };\n// // result[i.name] = { name: i.name, Element: i.Component };\n// }\n\nfunction toValue, P extends object>(\n i: TileInfo\n): ElementInfo

{\n const name = i.name;\n\n const C = i.Component as React.ComponentType;\n\n return {\n name,\n Element: toOwnTile(C) as React.ComponentType

,\n minDimensions: transformDimensions(i.minDimensions)\n // maxDImensions: transformDimensions(i.maxDimensions)\n };\n\n // const result = {} as { [K in N]: ElementInfo };\n // result[i.name] = { name: i.name, Element: i.Component };\n}\n\n/** add tiles here: but also here: @see OwnTilesTool.tsx */\nconst modified = Object.fromEntries(\n Object.entries(widgets).map(([_key, widget]) => [\n widget.name,\n toValue(widget as TileInfo, object>)\n ])\n) as {\n [k in (typeof widgets)[keyof typeof widgets]['name']]: ElementInfo;\n};\n\nexport type OwnTileKeys = keyof typeof modified;\n\nexport const owntiles: OwnTileMap> = modified;\n","import background from './background';\nimport image from './image';\nimport link from './link';\nimport { type InjectedTileFC, type OwnTileFC } from './OwnTile';\nimport socials from './socials';\nimport text from './text';\nimport {\n withAnimation,\n type AnimationSettings\n} from '../animations/withAnimation';\nimport { type DimensionFunction } from '@own.page/own.tiles';\nimport type { OwnElement } from '..';\nimport { owntiles } from './own.tiles';\n\nexport * from './background';\nexport * from './image';\nexport * from './link';\nexport * from './socials';\nexport * from './text';\nexport * from '../animations/withAnimation';\nexport * from './own.tiles';\nexport * from './OwnTile';\nexport * from './elements';\n\nexport type ElementInfo

= {\n // {\n // color: string;\n // grid: GridArea;\n // image?: string | undefined;\n // height?: number | undefined;\n // } & { children?: ReactNode } & OuterComponentProps & {\n // grid: GridArea;\n // align?: Partial | undefined;\n // defaultAlign?: Align | undefined;\n // OuterComponent: OuterComponentFC;\n // }\n /** */\n name: Lowercase;\n /** the ReactComponent that is rendered to the own.page */\n Element: React.ComponentType

;\n /** the z-index for rendering this element type */\n zIndex?: number;\n minDimensions?: DimensionFunction

;\n maxDimensions?: DimensionFunction

;\n animationSettings?: AnimationSettings;\n potentialResourceURL?: (element: P) => string | null | undefined;\n};\n\n// export type FontVariable = {\n// fontFamily: string;\n// textTransform?: string;\n// letterSpacing?: string;\n// fontSize: string;\n// fontWeight: number | string;\n// lineHeight?: number | string;\n// whiteSpace?: string;\n// };\nexport type FontVariable = Pick<\n React.CSSProperties,\n | 'fontFamily'\n | 'fontStyle'\n | 'textTransform'\n | 'letterSpacing'\n | 'fontSize'\n | 'fontWeight'\n | 'lineHeight'\n | 'whiteSpace'\n | 'color'\n | 'textAlign'\n | 'justifyContent'\n | 'alignItems'\n>;\n\nexport type Align = {\n horizontal: 'left' | 'center' | 'right';\n vertical: 'top' | 'center' | 'bottom';\n};\n\nexport const elementsMap = {\n background,\n image,\n link,\n socials,\n text,\n ...owntiles\n // } as { [k: string]: ElementInfo };\n};\n\nexport type OwnElementType = keyof typeof elementsMap;\n\nexport const Tile = Object.fromEntries(\n Object.entries(elementsMap).map(([k, v]) => [\n k,\n withAnimation(v.Element as OwnTileFC, v.animationSettings)\n ])\n) as { [k in keyof typeof elementsMap]: InjectedTileFC };\n\nexport const getMinimumDimensions = (\n element: Pick\n) => {\n const minDimensions = elementsMap[element.type]\n ?.minDimensions as DimensionFunction;\n\n if (minDimensions) {\n return typeof minDimensions === 'function'\n ? minDimensions(element.props)\n : minDimensions;\n }\n\n return { w: 2, h: 1 };\n};\n\nexport const getImageUrl = (element: OwnElement) => {\n return elementsMap[element.type]?.potentialResourceURL?.(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n element.props as any\n );\n};\n","/**\n *\n * @param x\n * @param min\n * @param max\n */\nexport const clamp = (x: number, min: number, max: number) =>\n Math.max(Math.min(x, max), min);\n","/**\n * Converts an array of items into an object where the keys are derived from a specific property of each item.\n * @param items - Array of items to convert.\n * @param keySelector - Function to select the key for each item.\n * @returns An object where the keys are derived from the specified property of each item.\n */\nexport function arrayToObjectById(\n items: T[],\n keySelector: (item: T, index: number) => string\n): { [key: string]: T } {\n return items.reduce(\n (acc, item, index) => {\n const key = keySelector(item, index);\n acc[key] = item;\n return acc;\n },\n {} as { [key: string]: T }\n );\n}\n","export const CURRENT_VERSION = 'beta-1.1';\n","import { type FontVariable } from '../elements';\nimport { clamp } from '../utils/clamp';\nimport { arrayToObjectById } from '../utils/arrayToObject';\nimport type {\n Normalized,\n OwnElement,\n OwnPage,\n OwnPageId,\n OwnSection,\n OwnStyle\n} from '..';\nimport { CURRENT_VERSION } from './currentVersion';\n\nexport type FontVariableType = 'Heading' | 'Subheading' | 'Normal';\n\n// New fontSize dimensions based on the FontVariable\n// TODO: Maybe remove the code from here and put it back in TextVariableSelect\nexport const clampDimensionsBeta01 = {\n Heading: {\n min: 32,\n max: 48\n },\n Subheading: {\n min: 14,\n max: 24\n },\n Normal: {\n min: 6,\n max: 12\n }\n};\n\nexport const clampDimensionsBeta02 = {\n Heading: {\n min: 2,\n max: 8\n },\n Subheading: {\n min: 1.25,\n max: 1.875\n },\n Normal: {\n min: 0.75,\n max: 1.125\n }\n};\n\nexport const clampDimensions = {\n Heading: {\n min: 2.5,\n max: 8\n },\n Subheading: {\n min: 1.625,\n max: 2.375\n },\n Normal: {\n min: 1.0,\n max: 1.5\n }\n};\n\nfunction migrateBeta01To02(page: OwnPage_V0): OldOwnPage {\n const updatedFonts = Object.keys(page.style.fonts).reduce(\n (acc, key) => {\n const font = page.style.fonts[key];\n\n // In the new version the Font Variable called \"Paragraph\" is renamed to \"Normal\"\n const newKey = key === 'Paragraph' ? 'Normal' : key;\n\n // In the version the font Sizes is restricted to min and max dimensions based on the Font Variable and they do not overlap\n const clampDimension = clampDimensionsBeta01[newKey as FontVariableType];\n const fontSize = font.fontSize\n ? +font.fontSize.toString().replace('em', '')\n : 0;\n const newFontSize = fontSize\n ? clamp(fontSize, clampDimension.min, clampDimension.max) + 'em'\n : font.fontSize;\n\n console.log(\n 'FONT SIZE by Migration to 0.2:',\n fontSize,\n newFontSize,\n clampDimension.min,\n clampDimension.max\n );\n\n acc[newKey] = {\n ...font,\n fontSize: newFontSize\n };\n return acc;\n },\n {} as { [k: string]: FontVariable }\n );\n\n // All elements of the page are also updated to the new version to have Paragraph instead of Normal Font Variable\n const updatedElements = page.elements.allIds.map((id) => {\n const currElement = page.elements.byId[id];\n\n if (!('fontVariable' in currElement.props)) {\n return currElement;\n }\n\n // Replace \"Paragraph\" with \"Normal\" in element fontVariable\n const fontVar =\n currElement.props.fontVariable === 'Paragraph'\n ? 'Normal'\n : currElement.props.fontVariable;\n\n return {\n ...currElement,\n props: { ...currElement.props, fontVariable: fontVar }\n };\n });\n\n // Reconstruct elements object\n const updatedElementsObject = {\n allIds: page.elements.allIds,\n byId: arrayToObjectById(updatedElements, (element) => element.id)\n };\n\n const updatedPage: OldOwnPage = {\n ...page,\n version: 'beta-0.2',\n style: {\n ...page.style,\n fonts: updatedFonts\n },\n elements: updatedElementsObject\n };\n\n return updatedPage;\n}\n\nfunction migrateBeta02To03(page: OwnPage_V0): OldOwnPage {\n const updatedFonts = Object.keys(page.style.fonts).reduce(\n (acc, key) => {\n const font = page.style.fonts[key];\n\n const fontSize = font.fontSize\n ? +font.fontSize.toString().replace('em', '')\n : 0;\n\n const fontSizeInPx = fontSize * 2;\n const fontSizeIn16PxEm = fontSizeInPx / 16;\n\n const newFontSize = fontSizeIn16PxEm + 'em';\n\n console.log(\n 'fontsize:',\n fontSize,\n fontSizeInPx,\n fontSizeIn16PxEm,\n newFontSize\n );\n\n acc[key] = {\n ...font,\n fontSize: newFontSize\n };\n return acc;\n },\n {} as { [k: string]: FontVariable }\n );\n\n const updatedPage: OldOwnPage = {\n ...page,\n version: 'beta-0.3',\n style: {\n ...page.style,\n fonts: updatedFonts\n }\n };\n\n return updatedPage;\n}\n\nfunction migrateBeta03To1(page: OwnPage_V0): OwnPage {\n return {\n ...page,\n version: 'beta-1.0',\n elements: page.elements.byId,\n sections: page.sections.byId\n };\n}\n\nfunction migrateBeta10To11(page: OwnPage): OwnPage {\n const updatedFonts = Object.keys(page.style.fonts).reduce(\n (acc, key) => {\n const font = page.style.fonts[key];\n\n // In the version the font Sizes is restricted to the new min and max clamp dimensions from the beta-1.1\n const clampDimension = clampDimensions[key as FontVariableType];\n\n const fontSize = font.fontSize\n ? +font.fontSize.toString().replace('em', '')\n : 0;\n\n const newFontSize = fontSize\n ? clamp(fontSize, clampDimension.min, clampDimension.max) + 'em'\n : font.fontSize;\n\n acc[key] = {\n ...font,\n fontSize: newFontSize\n };\n return acc;\n },\n {} as { [k: string]: FontVariable }\n );\n\n const updatedPage: OldOwnPage = {\n ...page,\n version: 'beta-1.1',\n style: {\n ...page.style,\n fonts: updatedFonts\n }\n };\n\n return updatedPage;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst migrations: { [key: string]: (page: any) => OldOwnPage } = {\n 'beta-0.1': migrateBeta01To02,\n 'beta-0.2': migrateBeta02To03,\n 'beta-0.3': migrateBeta03To1,\n 'beta-1.0': migrateBeta10To11\n};\n\nexport const migrateIfOutdated = (page: OldOwnPage): OwnPage => {\n let currentPage = page;\n\n while (currentPage.version !== CURRENT_VERSION) {\n const migrationFunction = migrations[currentPage.version];\n\n if (!migrationFunction) {\n throw new Error(\n `No migration code available for version ${currentPage.version}, it is !== ${CURRENT_VERSION}`\n );\n }\n\n console.log(\n `[MIGRATION]: migrating page ${currentPage.id} from version ${currentPage.version}`\n );\n\n currentPage = migrationFunction(currentPage);\n }\n\n return currentPage as OwnPage;\n};\n\nexport type OldOwnPage = OwnPage | OwnPage_V0;\n\nexport function isBeta0(page: OldOwnPage): page is OwnPage_V0 {\n return page.version in ['beta-0.1', 'beta-0.2', 'beta-0.3'];\n}\n\nexport type OwnPage_V0 = {\n id: OwnPageId;\n url: string;\n title?: string;\n style: OwnStyle;\n version: string;\n vCard?: string;\n sections: Normalized;\n elements: Normalized;\n};\n","'use client';\n\nimport { useResize } from '@react-spring/web';\nimport { useMemo, useState } from 'react';\n// import { useMemo, useSyncExternalStore, useState, useEffect } from 'react';\n\nexport const GRID_COLUMNS = 6;\nexport const FULL_WIDTH = 576;\n\nconst computeScaleFactor = (width: number) => Math.min(1, width / FULL_WIDTH);\n\ntype FrameDefinition =\n | {\n type: 'iframe';\n ref: React.RefObject;\n }\n | {\n type: 'div';\n ref: React.RefObject;\n };\n\n// function subscribe(callback: () => void, node: Node) {\n// let timeoutId: NodeJS.Timeout;\n\n// const wrappedCallback = () => {\n// clearTimeout(timeoutId);\n// timeoutId = setTimeout(callback);\n// };\n\n// const resizeObserver = new ResizeObserver(wrappedCallback);\n// const mutationObserver = new MutationObserver(wrappedCallback);\n\n// // Only essential listeners\n// window.addEventListener('resize', wrappedCallback);\n// window.addEventListener('load', wrappedCallback);\n\n// // Observe document body for size changes\n// mutationObserver.observe(node, {\n// attributes: true,\n// attributeFilter: ['style', 'width', 'height'],\n// subtree: true\n// });\n\n// return () => {\n// clearTimeout(timeoutId);\n// window.removeEventListener('load', wrappedCallback);\n// window.removeEventListener('resize', wrappedCallback);\n// resizeObserver.disconnect();\n// mutationObserver.disconnect();\n// };\n// }\n\n// function getServerSnapshot() {\n// return 1; // Default scale factor for SSR\n// }\n\n// function useScaleFactor({ ref, type }: FrameDefinition) {\n// const [lastValidScale, setLastValidScale] = useState(1);\n\n// const calculateScaleFactor = () => {\n// if (!ref.current) return;\n\n// const width =\n// type === 'iframe'\n// ? ref.current.getBoundingClientRect().width\n// : ref.current.offsetWidth;\n\n// return width && width > 0 ? computeScaleFactor(width) : undefined;\n// };\n\n// const scaleFactor = useSyncExternalStore(\n// (callback) => subscribe(callback, ref.current as Node),\n// calculateScaleFactor,\n// getServerSnapshot\n// );\n\n// useEffect(() => {\n// if (typeof scaleFactor !== 'undefined') {\n// setLastValidScale(scaleFactor);\n// }\n// }, [scaleFactor]);\n\n// return useMemo(\n// () =>\n// ({\n// '--scalingFactor':\n// typeof scaleFactor !== 'undefined' ? scaleFactor : lastValidScale\n// }) as React.CSSProperties,\n// [scaleFactor, lastValidScale]\n// );\n// }\nfunction useScaleFactor({ ref }: FrameDefinition) {\n const [scale, setScale] = useState(1);\n useResize({\n container: ref,\n default: { immediate: true },\n onChange: (s) => {\n setScale(computeScaleFactor(s.value.width));\n }\n });\n\n return useMemo(\n () => ({ '--scalingFactor': scale }) as React.CSSProperties,\n [scale]\n );\n}\n\nexport { useScaleFactor };\n","// TODO: figure out duplicates to Section in RendcerPage.tsx\n\nimport {\n type DetailedHTMLProps,\n type HTMLAttributes,\n type PropsWithChildren\n} from 'react';\n\nexport type SectionDescription = {\n name: string;\n section: React.FC;\n scaleup?: 'shrink' | 'stay';\n};\n\ntype SectionProps = PropsWithChildren<{\n className?: DetailedHTMLProps<\n HTMLAttributes,\n HTMLElement\n >['className'];\n name: string;\n first?: boolean;\n last?: boolean;\n scaleup?: 'shrink' | 'stay';\n}>;\n\nexport const sectionIDs = (sectionsName: string) =>\n sectionsName.replace(/[^a-z0-9]/gi, '');\n\nexport const Section = (props: SectionProps) => {\n return (\n //
\n \n {props.children}\n
\n );\n};\n\n/**\n * Preview Element in the Editor as if it is rendered\n * @param props @see SectionProps\n */\nexport const PreviewSection = (props: SectionProps) => {\n // const columns = 'repeat(12, ' + props.scaling + 'em)';\n // const rows = props.scaling + 'em';\n //const fontScale = 'calc(100vw / (288 / ' + props.fontScale + '))';\n return (\n \n {props.children}\n \n );\n};\n","import type { OwnStyle } from '.';\nimport { type CSSProperties } from 'react';\n\n// import generalStyle from './ownpage.css?inline';\n// import tailwindStyle from './owntailwind.css?inline';\n\n// import './ownpage.css';\n// import './owntailwind.css';\nimport './styles/ownpage.tailwind.css';\n\nconst regex = new RegExp(/[A-Z]/g);\n\n/**\n * Transforms a text in camelCase to kebab-case\n * @param str input string in camelCase\n * @returns same text but in kebab-case\n */\nconst kebabCase = (str: string) =>\n str.replace(regex, (v) => `-${v.toLowerCase()}`);\n\n/**\n * Transform a JSON CSS object into plaintext\n * code used form:\n * @see https://stackoverflow.com/questions/63771649/react-convert-cssproperties-to-styled-components\n * @param cssObject the JSON CSS\n */\nexport const cssToText = (cssObject: CSSProperties) =>\n Object.keys(cssObject).reduce((accumulator, key: string) => {\n // transform the key from camelCase to kebab-case\n const cssKey = kebabCase(key);\n // remove ' in value\n const cssValue = cssObject[key as keyof CSSProperties]\n ?.toString()\n ?.replace(\"'\", '');\n\n // if value is non-existent, skip it:\n if (!cssValue) {\n return accumulator;\n }\n // build the result\n // you can break the line, add indent for it if you need\n return `${accumulator}${cssKey}:${cssValue};`;\n }, '');\n\n/**\n * Parses the given style and computes a textual CSS class definition from it\n * @param style the style (from a page) that contains JSON style font definitions\n */\nfunction generateFontDefinitions(\n style: OwnStyle,\n scope?: string,\n root?: boolean\n): string {\n return Object.entries(style.fonts)\n .map(([k, v]) => {\n const classDefinition =\n (scope && !root ? `.${scope} ` : '') +\n `.${k} {\n ${cssToText(v as unknown as CSSProperties)}\n }`;\n\n return classDefinition;\n })\n .join('\\n');\n}\n\nfunction generateColorVariables(\n style: OwnStyle,\n scope?: string,\n root?: boolean\n): string {\n if (style.colors) {\n const colorVars = Object.entries(style.colors)\n .map(([k, v]) => {\n const varKey = `--${k}: ${v};`;\n\n return varKey;\n })\n .join('');\n return (scope && !root ? `.${scope}` : ':root') + ` { ${colorVars} }`;\n } else {\n return '';\n }\n}\n\ntype RenderOwnStyleProps = {\n /** the page this style will be computed for */\n style: OwnStyle;\n /** optional scope to prefix the styles */\n scope?: string;\n /** optional to include root */\n root?: boolean;\n};\n\n/**\n * Renders the an html style tag including the style from the given page as inline plaintext\n * @param props @see RenderOwnStyleProps\n */\nconst RenderOwnStyle = (props: RenderOwnStyleProps) => {\n return (\n <>\n \n \n \n );\n};\n\nexport default RenderOwnStyle;\n","import type { OwnElement } from '..';\nimport { Tile } from '.';\n\nconst RenderElement = (props: { element: OwnElement }) => {\n const El = Tile[props.element.type];\n\n if (El === undefined) {\n console.error('El undefined:', El);\n return null;\n }\n return (\n \n {props.element.content}\n \n );\n};\n\nexport default RenderElement;\n","'use client';\n\nimport {\n type ComponentPropsWithoutRef,\n type PropsWithChildren,\n useEffect,\n useRef,\n useState\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport RenderOwnStyle from '../RenderOwnStyle';\n\n// import ownTailwindStyle from \"rendering/styles/owntailwind.css?inline\";\n// import ownStyle from '../styles/ownpage.css?inline';\n\n// THIS ONE WORKED TODAY MORNING:\n// import ownStyle from '../styles/ownpage.tailwind.css';\nimport type { OwnPage } from '..';\n\n// import ownStyle from 'styles/ownpage.tailwind.css?inline';\n\nexport type IframeProps = {\n /** the own page reference used for computing the injected style! (does not render it directly) */\n page: OwnPage;\n /** the duration (as string so with concatinated ) */\n duration?: string;\n\n /** we only support actual ref objects, no functions */\n iframeRef?: React.RefObject;\n divRef?: React.RefObject;\n\n inlineStyle?: string;\n};\n\ntype ChromHackProps = {\n /** callback that is called once on startup */\n loadProp: () => void;\n};\n\nfunction useOnce(f: () => void) {\n useEffect(() => {\n f();\n }, []);\n}\n\n/**\n * Chrome hack that solved the following bug:\n * Chrome has the problem that it does not utilize the onLoad prop, \n ' therefore we have to introduce a side-effect sadly\n * @param props @see ChromHackProps\n */\nconst ChromeHack = (props: ChromHackProps) => {\n useOnce(props.loadProp);\n return null;\n};\n\n/**\n * Iframe component that is able to render React components as children in sandboxed environment\n * @param props @see IframeProps\n * @param props.page @see IframeProps.page\n * @param props.children the actual children being rendered\n */\nconst CustomIframe = ({\n children,\n page,\n ...props\n}: PropsWithChildren & ComponentPropsWithoutRef<'iframe'>) => {\n const fallbackIframeRef = useRef(null);\n const iframeRef = props.iframeRef || fallbackIframeRef;\n\n const mountHead = iframeRef.current?.contentDocument?.head;\n const mountBody = iframeRef.current?.contentDocument?.body;\n\n const [isIframeLoaded, setIsIframeLoaded] = useState(null);\n\n const frameLoaded = (state: string) => {\n setIsIframeLoaded(state);\n if (mountBody) {\n mountBody.className = 'own-frame own-iframe';\n }\n };\n\n const headDoc = (\n <>\n {/* */}\n {/* */}\n {/* \n */}\n {/* */}\n \n {/* */}\n {/* */}\n \n \n \n );\n\n const bodyDoc = (\n <>\n {children}\n frameLoaded('bodydoc')} />\n \n );\n\n return (\n <>\n frameLoaded('onload')}\n style={{\n ...props.style,\n transitionDuration: props.duration || '0s',\n opacity: isIframeLoaded ? 1 : 0\n }}\n >\n {mountHead && createPortal(headDoc, mountHead)}\n {mountBody && createPortal(bodyDoc, mountBody)}\n \n frameLoaded('afteriframe')} />\n \n );\n};\n\nexport default CustomIframe;\n","'use client';\n\nimport RenderElement from './elements/RenderElement';\nimport { type OwnPage } from '.';\nimport { type PickHTMLAttributes } from './elements/OwnTile';\nimport IFrame from './frames/IFrame';\nimport { Section } from './FullSection';\nimport { useScaleFactor } from './useScaleFactor';\nimport { useRef } from 'react';\n\nexport type SectionProps = {\n /** the optional class string that is passed to the html section element */\n className?: string | undefined;\n /**\n * the name of the section, used as id\n * also relevant for anchoring:\n * @example with section home on own.page/dominik => `own.page/dominik#home`\n */\n name?: string;\n /** whether this is the first/home section */\n first?: boolean;\n /** whether this is the last section */\n last?: boolean;\n /** how the scaleup should work, will probably be fixed in the future */\n scaleup?: 'shrink' | 'stay';\n fontScale?: number;\n};\n\n// /**\n// * Defines a section on an own.page (own.pages are made up of these sections)\n// * @param props @see SectionProps\n// */\n// export const Section: React.FC> = (props) => {\n// return (\n// \n// {props.children}\n// \n// );\n// };\n\ntype RenderPageProps = {\n /** the own page reference used for computing the injected style! (does not render it directly) */\n page: OwnPage;\n /** page name overwrite */\n pageName?: string;\n /** the duration (as string so with concatinated ) */\n duration?: string;\n /** the frame of this page render (either IFrame of full OwnPageFrame) */\n // Frame: React.FC>;\n inlineStyle?: string;\n};\n\ntype _FrameProps = Omit & PickHTMLAttributes<'style'>;\n\n/**\n * Renders a give local own.page by computing everything like it would appear in the browser\n * @param props @see RenderPageProps\n */\nconst RenderPage = (props: RenderPageProps) => {\n const page = props.page;\n const sections = page.sections;\n\n const frameWindowRef = useRef(null);\n const scaleFactor = useScaleFactor({ type: 'iframe', ref: frameWindowRef });\n\n // Could be replaced with the real online url in the future instead of faking the rendering locally:\n // like: \n );\n};\n\nexport default RenderPage;\n","import type { FontVariable, OwnElementType } from './elements';\n\nexport * from './elements';\nexport * from './migration';\nexport * from './useScaleFactor';\nexport * from './FullSection';\nexport { default as RenderOwnStyle } from './RenderOwnStyle';\nexport { default as RenderPage } from './RenderPage';\nexport { default as FullRenderPage } from './FullRenderPage';\nexport type { SectionProps } from './RenderPage';\n/**\n * The grid position defines the spatial position as well as the dimensions\n * of the element on the own.page grid\n */\nexport type GridArea = {\n /** the horizontal position of the element (distance to the left side of the grid) */\n x: number;\n /** the vertical position of the element (distance to the top side of the grid) */\n y: number;\n /** the width of the element */\n w: number;\n /** the height of the element */\n h: number;\n\n /**\n * the z-index of the element, used for layering, currently unused, because it is fixed\n * @see mapZIndex\n */\n z?: number;\n};\n\n/**\n * Identification of all own elements, which is an alphanumeric unique (per page) string\n * @see createElementId\n */\nexport type OwnElementId = `element:${string}`;\nexport type OwnPageId = string;\n// export type OwnPageId = `page:${string}`;\n\n/**\n * The own element type, all components in the grid have this type\n */\nexport type OwnElement = {\n /** the identifier of the element */\n id: OwnElementId;\n /** which type of element it is */\n type: OwnElementType;\n /** all react props that this element contains/needs for rendering */\n props: { [k: string]: unknown };\n /** the spatial orientation of the element */\n grid: GridArea;\n /** the main content of the element, which will be rendered as child, so only usable for text */\n content?: string;\n /** true, immediately when the element is new (to scroll to it for example) */\n isNew?: 'initial' | 'update';\n /** if this component is an onboarding component (e.g. default text that gets removed) */\n onboarding?: true;\n};\n\n// export type OwnElementTypeFunctionality = {\n// // render: (data: GridItemData) => React.ReactElement,\n// Component: React.FC;\n// EditorComponent: React.FC;\n// createCallback: (data: OwnElement) => OwnElementClickFunction;\n// }; // TODO: not sure what we will write here\n\n// export type OwnElementTypeMap = {\n// [k in OwnElementType]?: OwnElementTypeFunctionality;\n// };\n\n/**\n * defines the styling of a page\n */\nexport type OwnStyle = {\n name?: string;\n /**\n * description of all fonts\n */\n fonts: {\n [k: string]: FontVariable;\n };\n\n colors: {\n [k: string]: string;\n };\n};\n\ntype WithId = {\n id: K;\n};\n\nexport type Normalized> = {\n byId: {\n [k in V['id']]: V;\n };\n allIds: V['id'][];\n};\n\nexport type Collection> = {\n [k in V['id']]: V;\n};\n\nexport type OwnSection = {\n id: string;\n scaleup?: 'shrink';\n elements: OwnElementId[];\n background: OwnElementId;\n};\n\nexport const getFirstSection = (page: OwnPage) => page.sections.home;\n\nexport const getBackgroundOf = (page: OwnPage) =>\n page.elements[getFirstSection(page).background];\n\n/**\n * Identification of all own elements, which is an alphanumeric unique (per page) string\n * @see createPageId\n */\nexport type OwnPage = {\n /** the identifier of the page */\n id: OwnPageId;\n /** the relative url of the page (relative to own.page) */\n url: string;\n /** the title of the page (which will be used in UI elements and the browser tab) */\n title?: string;\n /** all required information for the visual design of the page, used to render CSS */\n style: OwnStyle;\n\n /** list of all sections, currently just one used, here the actual elements are stored */\n /** version id to support backporting */\n version: string;\n /** the VCard of the page */\n vCard?: string;\n\n sections: Collection;\n elements: Collection;\n};\n","import { type OwnStyle } from '@own.page/rendering';\n\nconst theme: OwnStyle = {\n name: 'earth',\n fonts: {\n Heading: {\n fontFamily: 'Plus Jakarta Sans',\n fontStyle: 'normal',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 700\n },\n Subheading: {\n fontFamily: 'Plus Jakarta Sans',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 600\n },\n Normal: {\n fontFamily: 'Lato',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 400\n }\n },\n colors: {\n 'main-color': '#0B2B1C',\n 'secondary-color': '#1B4C33',\n 'body-color': '#2A6843',\n 'background-color': '#F6FFF4'\n }\n};\n\nexport default theme;\n","import { type OwnStyle } from '@own.page/rendering';\n\nconst theme: OwnStyle = {\n name: 'initial',\n fonts: {\n Heading: {\n fontFamily: 'Butler',\n fontStyle: 'normal',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 500,\n color: 'var(--main-color)',\n fontSize: '5em',\n textAlign: 'left',\n justifyContent: 'left',\n alignItems: 'center'\n },\n Subheading: {\n fontFamily: 'Montserrat',\n textTransform: 'uppercase',\n letterSpacing: '0.2em',\n fontWeight: 200,\n color: 'var(--secondary-color)',\n fontSize: '1.625em',\n textAlign: 'left',\n justifyContent: 'left',\n alignItems: 'center'\n },\n Normal: {\n fontFamily: 'Montserrat',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 400,\n color: 'var(--body-color)',\n fontSize: '1.25em',\n textAlign: 'left',\n justifyContent: 'left',\n alignItems: 'center'\n }\n },\n colors: {\n 'main-color': '#212629',\n 'secondary-color': '#545454',\n 'body-color': '#929292',\n 'background-color': '#F9F9F9'\n }\n};\n\nexport default theme;\n","import { type OwnStyle } from '@own.page/rendering';\n\nconst theme: OwnStyle = {\n name: 'jupiter',\n fonts: {\n Heading: {\n fontFamily: 'Fraunces Italic',\n fontStyle: 'italic',\n textTransform: 'uppercase',\n letterSpacing: '0em',\n fontWeight: 700\n },\n Subheading: {\n fontFamily: 'Fraunces',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 400\n },\n Normal: {\n fontFamily: 'Fraunces',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 400\n }\n },\n colors: {\n 'main-color': '#A45959',\n 'secondary-color': '#CE8179',\n 'body-color': '#726968',\n 'background-color': '#E3D5CC'\n }\n};\n\nexport default theme;\n","import { type OwnStyle } from '@own.page/rendering';\n\nconst theme: OwnStyle = {\n name: 'mars',\n fonts: {\n Heading: {\n fontFamily: 'Space Grotesk',\n fontStyle: 'normal',\n textTransform: 'uppercase',\n letterSpacing: '0em',\n fontWeight: 500\n },\n Subheading: {\n fontFamily: 'Space Grotesk',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 500\n },\n Normal: {\n fontFamily: 'Raleway',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 400\n }\n },\n colors: {\n 'main-color': '#FF7300',\n 'secondary-color': '#A3896F',\n 'body-color': '#737373',\n 'background-color': '#2D2824'\n }\n};\n\nexport default theme;\n","import { type OwnStyle } from '@own.page/rendering';\n\nconst theme: OwnStyle = {\n name: 'mercury',\n fonts: {\n Heading: {\n fontFamily: 'Butler',\n fontStyle: 'normal',\n fontSize: '4em',\n textTransform: 'uppercase',\n letterSpacing: '0em',\n fontWeight: 500\n },\n Subheading: {\n fontFamily: 'Raleway',\n textTransform: 'uppercase',\n letterSpacing: '0.1em',\n fontWeight: 400\n },\n Normal: {\n fontFamily: 'Inter',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 400\n }\n },\n colors: {\n 'main-color': '#5C5C5C',\n 'secondary-color': '#837C7C',\n 'body-color': '#484B50',\n 'background-color': '#D0CDC9'\n }\n};\n\nexport default theme;\n","import { type OwnStyle } from '@own.page/rendering';\n\nconst theme: OwnStyle = {\n name: 'moon',\n fonts: {\n Heading: {\n fontFamily: 'Butler',\n fontStyle: 'normal',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 500\n },\n Subheading: {\n fontFamily: 'Montserrat',\n textTransform: 'uppercase',\n letterSpacing: '0.2em',\n fontWeight: 200\n },\n Normal: {\n fontFamily: 'Montserrat',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 400\n }\n },\n colors: {\n 'main-color': '#F9F9F9',\n 'secondary-color': '#9E9E9E',\n 'body-color': '#A9A9A9',\n 'background-color': '#222629'\n }\n};\n\nexport default theme;\n","import { type OwnStyle } from '@own.page/rendering';\n\nconst theme: OwnStyle = {\n name: 'neptune',\n fonts: {\n Heading: {\n fontFamily: 'Playfair Display',\n fontStyle: 'normal',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 600\n },\n Subheading: {\n fontFamily: 'Syne',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 600\n },\n Normal: {\n fontFamily: 'Work Sans',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 400\n }\n },\n colors: {\n 'main-color': '#31335B',\n 'secondary-color': '#2E43A5',\n 'body-color': '#384B9D',\n 'background-color': '#DFEFFF'\n }\n};\n\nexport default theme;\n","import { type OwnStyle } from '@own.page/rendering';\n\nconst theme: OwnStyle = {\n name: 'pluto',\n fonts: {\n Heading: {\n fontFamily: 'Alata',\n fontStyle: 'normal',\n textTransform: 'uppercase',\n fontSize: '4em',\n letterSpacing: '0em',\n fontWeight: 400\n },\n Subheading: {\n fontFamily: 'Alata',\n textTransform: 'none',\n letterSpacing: '-0.025em',\n fontWeight: 400\n },\n Normal: {\n fontFamily: 'Lato',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 400\n }\n },\n colors: {\n 'main-color': '#FFD3BA',\n 'secondary-color': '#FBC48D',\n 'body-color': '#FFC285',\n 'background-color': '#5F2525'\n }\n};\n\nexport default theme;\n","import { type OwnStyle } from '@own.page/rendering';\n\nconst theme: OwnStyle = {\n name: 'saturn',\n fonts: {\n Heading: {\n fontFamily: 'Syne',\n fontStyle: 'normal',\n textTransform: 'none',\n fontSize: '4em',\n letterSpacing: '0em',\n fontWeight: 700\n },\n Subheading: {\n fontFamily: 'Syne',\n textTransform: 'uppercase',\n letterSpacing: '0.05em',\n fontWeight: 500\n },\n Normal: {\n fontFamily: 'Raleway',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 400\n }\n },\n colors: {\n 'main-color': '#48433F',\n 'secondary-color': '#CA6834',\n 'body-color': '#705E49',\n 'background-color': '#F7DAAD'\n }\n};\n\nexport default theme;\n","import { type OwnStyle } from '@own.page/rendering';\n\nconst theme: OwnStyle = {\n name: 'uranus',\n fonts: {\n Heading: {\n fontFamily: 'Plus Jakarta Sans',\n fontStyle: 'normal',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 700\n },\n Subheading: {\n fontFamily: 'Plus Jakarta Sans',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 600\n },\n Normal: {\n fontFamily: 'Plus Jakarta Sans',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 400\n }\n },\n colors: {\n 'main-color': '#FFFFFF',\n 'secondary-color': '#021A24',\n 'body-color': '#041A24',\n 'background-color': '#47B6B1'\n }\n};\n\nexport default theme;\n","import { type OwnStyle } from '@own.page/rendering';\n\nconst theme: OwnStyle = {\n name: 'venus',\n fonts: {\n Heading: {\n fontFamily: 'Genos',\n fontStyle: 'normal',\n textTransform: 'uppercase',\n letterSpacing: '0em',\n fontWeight: 500\n },\n Subheading: {\n fontFamily: 'Genos',\n textTransform: 'uppercase',\n letterSpacing: '0.05em',\n fontWeight: 500\n },\n Normal: {\n fontFamily: 'Raleway',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 400\n }\n },\n colors: {\n 'main-color': '#31343D',\n 'secondary-color': '#F56300',\n 'body-color': '#705E49',\n 'background-color': '#EDE3D9'\n }\n};\n\nexport default theme;\n","import { type OwnStyle } from '@own.page/rendering';\n\nconst theme: OwnStyle = {\n name: 'charon',\n fonts: {\n Heading: {\n fontFamily: 'Beau Rivage',\n fontStyle: 'normal',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 400\n },\n Subheading: {\n fontFamily: 'Forum',\n textTransform: 'uppercase',\n letterSpacing: '0em',\n fontWeight: 400\n },\n Normal: {\n fontFamily: 'Raleway',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 400\n }\n },\n colors: {\n 'main-color': '#BC885C',\n 'secondary-color': '#9A814E',\n 'body-color': '#D1B7A1',\n 'background-color': '#1B1B1B'\n }\n};\n\nexport default theme;\n","import { type OwnStyle } from '@own.page/rendering';\n\nconst theme: OwnStyle = {\n name: 'dione',\n fonts: {\n Heading: {\n fontFamily: 'Fraunces',\n fontStyle: 'normal',\n textTransform: 'none',\n fontSize: '4em',\n letterSpacing: '0em',\n fontWeight: 700\n },\n Subheading: {\n fontFamily: 'Fraunces',\n textTransform: 'uppercase',\n letterSpacing: '-0.05em',\n fontWeight: 400\n },\n Normal: {\n fontFamily: 'Inter',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 400\n }\n },\n colors: {\n 'main-color': '#544350',\n 'secondary-color': '#6C4964',\n 'body-color': '#9A8692',\n 'background-color': '#FFEDF4'\n }\n};\n\nexport default theme;\n","import { type OwnStyle } from '@own.page/rendering';\n\nconst theme: OwnStyle = {\n name: 'mars2',\n fonts: {\n Heading: {\n fontFamily: 'Space Grotesk',\n fontStyle: 'normal',\n textTransform: 'uppercase',\n letterSpacing: '0em',\n fontWeight: 500\n },\n Subheading: {\n fontFamily: 'Space Grotesk',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 500\n },\n Normal: {\n fontFamily: 'Raleway',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 400\n }\n },\n colors: {\n 'main-color': '#2E2020',\n 'secondary-color': '#513514',\n 'body-color': '#411500',\n 'background-color': '#FF9101'\n }\n};\n\nexport default theme;\n","import { type OwnStyle } from '@own.page/rendering';\n\nconst theme: OwnStyle = {\n name: 'titan',\n fonts: {\n Heading: {\n fontFamily: 'Splash',\n fontStyle: 'normal',\n textTransform: 'none',\n letterSpacing: '-0.025em',\n fontWeight: 400\n },\n Subheading: {\n fontFamily: 'Lato',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 400\n },\n Normal: {\n fontFamily: 'Lato',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 400\n }\n },\n colors: {\n 'main-color': '#FFD072',\n 'secondary-color': '#D4C3A0',\n 'body-color': '#8A8A8A',\n 'background-color': '#090B23'\n }\n};\n\nexport default theme;\n","import { type OwnStyle } from '@own.page/rendering';\n\nconst theme: OwnStyle = {\n name: 'pluto2',\n fonts: {\n Heading: {\n fontFamily: 'Rockwell Nova',\n fontStyle: 'normal',\n textTransform: 'uppercase',\n fontSize: '4em',\n letterSpacing: '0em',\n fontWeight: 400\n },\n Subheading: {\n fontFamily: 'Rockwell Nova',\n textTransform: 'none',\n letterSpacing: '-0.025em',\n fontWeight: 400\n },\n Normal: {\n fontFamily: 'Lato',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 400\n }\n },\n colors: {\n 'main-color': '#700505',\n 'secondary-color': '#C35656',\n 'body-color': '#AC1212',\n 'background-color': '#FAF4F4'\n }\n};\n\nexport default theme;\n","import { type OwnStyle } from '@own.page/rendering';\n\nconst theme: OwnStyle = {\n name: 'ceres',\n fonts: {\n Heading: {\n fontFamily: 'Platypi',\n fontStyle: 'normal',\n textTransform: 'none',\n fontSize: '4em',\n letterSpacing: '-0.05em',\n fontWeight: 500\n },\n Subheading: {\n fontFamily: 'Piazzolla',\n textTransform: 'uppercase',\n letterSpacing: '-0.05em',\n fontWeight: 500\n },\n Normal: {\n fontFamily: 'Inter',\n textTransform: 'none',\n letterSpacing: '0em',\n fontWeight: 400\n }\n },\n colors: {\n 'main-color': '#686259',\n 'secondary-color': '#7F6947',\n 'body-color': '#9F9A93',\n 'background-color': '#F6F4EF'\n }\n};\n\nexport default theme;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { type OwnStyle } from '@own.page/rendering';\nimport earth from './earth';\nimport initial from './initial';\nimport jupiter from './jupiter';\nimport mars from './mars';\nimport mercury from './mercury';\nimport moon from './moon';\nimport neptune from './neptune';\nimport pluto from './pluto';\nimport saturn from './saturn';\n// import tuwi2c from './tuwi2c';\nimport uranus from './uranus';\nimport venus from './venus';\nimport charon from './charon';\nimport dione from './dione';\nimport mars2 from './mars2';\nimport titan from './titan';\nimport pluto2 from './pluto2';\nimport ceres from './ceres';\n\nconst initialTheme = initial;\nexport const initialThemeName = initialTheme.name;\n\n// export type ValidTheme = keyof Omit;\nexport type ThemeName = keyof typeof themes;\n\nexport const isInitial = (s: string) => s === initialThemeName;\n\nexport const isInitialOrModified = (s: string | undefined) =>\n s === undefined || isInitial(s);\n\nconst rawThemes = {\n initial,\n moon,\n venus,\n saturn,\n uranus,\n mars,\n mars2,\n jupiter,\n mercury,\n neptune,\n earth,\n pluto,\n pluto2,\n ceres,\n charon,\n dione,\n titan\n // tuwi2c\n};\n\nfunction deepMerge(target: any, source: any): any {\n const output = { ...target };\n\n Object.keys(source).forEach((key) => {\n if (source[key] && typeof source[key] === 'object') {\n if (key in target) {\n output[key] = deepMerge(target[key], source[key]);\n } else {\n output[key] = source[key];\n }\n } else {\n output[key] = source[key];\n }\n });\n\n return output;\n}\n\n// initial theme defines defaults, no need to describe them per theme (e.g. text-alignment)\n// only put overwrites in the concrete themes\nconst applyDefault = (t: OwnStyle) => deepMerge(initialTheme, t);\n\ntype Themes = typeof rawThemes;\ntype AppliedThemes = {\n [K in keyof Themes]: ReturnType;\n};\n\nexport const themes = Object.fromEntries(\n Object.entries(rawThemes).map(([k, v]) => [k, applyDefault(v)])\n) as AppliedThemes;\n\ntype Keys = {\n [K in keyof T]: K;\n}[keyof T][];\n\nexport const getKeys = (obj: T) =>\n Object.keys(obj) as Keys;\n\nexport const themeList = getKeys(themes);\n\nexport const randomTheme = () => {\n const withoutInitial = Object.entries(themes).filter(([k]) => !isInitial(k));\n\n return withoutInitial[Math.floor(Math.random() * withoutInitial.length)][1];\n};\n","import { useRef } from 'react';\nimport { useActiveEditorStore } from 'stores/activeEditorStore';\n\nexport type MousePos = {\n x: number;\n y: number;\n} | null;\n\n// type BackgroundGridProps = {\n// backgroundClick: MousePos;\n// setClick: React.MutableRefObject<((p: MousePos) => void) | null>;\n// scrollRef?: React.RefObject;\n// isMain?: boolean;\n// isActive?: boolean;\n// };\n\n// const BackgroundGridSVGBackground: React.FC<\n// PropsWithChildren\n// > = (props) => (\n//
\n// \n//
\n// );\n\n// export function setBackgroundClick(\n// ref: React.RefObject,\n// x: number,\n// y: number\n// ) {\n// if (!ref.current) return;\n\n// ref.current.style['--x' as any] = x.toString();\n// ref.current.style['--y' as any] = y.toString();\n// }\n\nconst BackgroundGridSVG = () =>\n // {\n // isMain,\n // isActive\n // }\n {\n // React.FC> = (\n // props\n // ) => {\n // if (props.backgroundClick === null) {}\n\n const svgRef = useRef(null);\n // const circleRef = useRef(null);\n const dragging = useActiveEditorStore((s) => s.backgroundClick !== null);\n\n // useEffect(() => {\n // return useEditorStore.subscribe(\n // (s) => s.backgroundClick,\n // (p) => {\n // const svg = svgRef.current;\n // // const circleG = circleRef.current;\n\n // if (svg == null) {\n // return;\n // }\n\n // const current = svg.getAttribute('data-dragging');\n // const wouldSet = p === null ? 'false' : 'true';\n\n // if (current !== wouldSet) {\n // svg.setAttribute('data-dragging', wouldSet);\n // }\n\n // // if (p == null) {\n // // // circleG.style.setProperty('--x', '-10000px');\n // // // circleG.style.setProperty('--y', '-10000px');\n // // svg.setAttribute('data-dragging', 'false');\n // // } else {\n // // svg.setAttribute('data-dragging', 'true');\n // // const x = p.x;\n // // const y = p.y;\n\n // // let cx = x;\n // // let cy = y;\n\n // // // here there is a bug in firefox that does not interpret the correct parent transform\n // // const ctm = svg?.getScreenCTM();\n\n // // if (svg && ctm) {\n // // const pt = svg.createSVGPoint();\n // // pt.x = x;\n // // pt.y = y;\n // // const transformed = pt.matrixTransform(ctm.inverse());\n // // cx = transformed.x;\n // // cy = transformed.y;\n\n // // // console.log('before logging style....:', cx, cy);\n\n // // circleG.setAttribute('data-dragging', 'true');\n // // circleG.style.setProperty(\n // // 'transform',\n // // `translate3d(${cx.toFixed()}px, ${cy.toFixed()}px, 0)`\n // // );\n // // // circleG.style.setProperty('--x', cx.toFixed() + 'px');\n // // // circleG.style.setProperty('--y', cy.toFixed() + 'px');\n // // }\n // // }\n // }\n // );\n // }, []);\n\n // props.setClick.current = callBackRef.current;\n\n // useEffect(() => {});\n\n return (\n \n {/* */}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n };\n\nconst BackgroundGrid = () => {\n return ;\n};\n\nexport default BackgroundGrid;\n","import { type ElementInfo } from '@own.page/rendering';\nimport type {\n EditorElementComponentInfo,\n EditorElementInfo,\n ForcedEditorElementInfo\n} from '.';\n\ntype OptionalEditorElement

= Partial>;\n\nexport function editorElementOf

(\n e: ElementInfo

,\n additional: ForcedEditorElementInfo & OptionalEditorElement

\n) {\n const providedElementInfo = { ...e, ...additional };\n\n // const EditorElement = withInitial(\n // providedElementInfo?.EditorElement || providedElementInfo.Element\n // );\n\n const EditorElement =\n providedElementInfo.EditorElement || providedElementInfo.Element;\n\n // use Element as default but overwrite if providedElementInfo contains it\n return { ...providedElementInfo, EditorElement } as EditorElementInfo

;\n}\n\n// export default withAnimation;\n","import { background } from '@own.page/rendering';\nimport { editorElementOf } from '../editorElementOf';\n\nconst editorBackground = editorElementOf(background, {\n ignoreReflow: true,\n dragHandle: 'none'\n // potentialResourceURL: (element: EditorElement) => element.props.src\n // potentialResourceURL: (element: LinkElement) => element.props.linkImage.src\n});\n\nexport default editorBackground;\n","import { getMinimumDimensions, type OwnElement } from '@own.page/rendering';\nimport type { SizeInfo } from 'editor/EditorGrid';\n\n/**\n * TODO: this is the same code as textHeightCalculation in EditorTextElement, think about pulling that logic out!\n * @param element\n * @param editor\n */\nexport const socialsHeightCalculation = (\n element: OwnElement,\n sizeInfo: SizeInfo,\n heightDefiningElement?: HTMLElement | null\n) => {\n const heightInPx = heightDefiningElement?.clientHeight || 0;\n const heightInGrid = Math.max(\n Math.ceil(sizeInfo.elementToGrid(heightInPx)),\n getMinimumDimensions(element).h\n );\n\n return heightInGrid;\n};\n","import { socials } from '@own.page/rendering';\nimport { editorElementOf } from '../editorElementOf';\nimport { socialsHeightCalculation } from './EditorSocialsElement';\n\nconst editorSocials = editorElementOf(socials, {\n dragHandle: 'vertical',\n heightOverwrite: socialsHeightCalculation,\n maxInstances: 1\n});\n\nexport default editorSocials;\n","import {\n type OwnElement,\n type OuterComponentProps,\n type PickHTMLAttributes,\n type OwnTileProps,\n OwnTile\n} from '@own.page/rendering';\nimport type { PreviewProps } from 'editor/tools/ElementPreview';\n\nexport type EditorOuterComponentProps = OuterComponentProps &\n PickHTMLAttributes<'onMouseDown'>;\n\nexport type EditorOuterComponentFC = React.FC;\n\nexport type EditorOwnTileProps

= Omit<\n OwnTileProps

,\n 'OuterComponent'\n> & {\n /** populatede when this element is rendered in the editor */\n editor: {\n /** the actual @see OwnElement data of this element */\n element: OwnElement;\n /** */\n ignoreNew?: boolean;\n };\n /** whether this editor render element is shown in the preview (passed down so elements can behave differently) */\n preview?: PreviewProps;\n\n OuterComponent: EditorOuterComponentFC;\n};\n\nexport type InjectedEditorTileProps

= Omit<\n EditorOwnTileProps

,\n 'OuterComponent'\n>;\n\n/**\n * The type for editor own.tile components\n * takes custom props `P` and expects the common @see OwnTileProps\n */\nexport type EditorOwnTileFC

= React.ComponentType<\n EditorOwnTileProps

\n>;\n\nexport type InjectedEditorTileFC

= React.FC<\n InjectedEditorTileProps

\n>;\n\n// this is only called for editor elements explicitly using it, other have the normal OwnTile.tsx!\nexport const EditorOwnTile = OwnTile;\n","import { EditorOwnTile, type EditorOwnTileProps } from '../EditorOwnTile';\nimport { useLayoutEffect, useRef, useState } from 'react';\nimport { animated, type SpringValue, to, useSpring } from '@react-spring/web';\nimport { useDrag } from '@use-gesture/react';\nimport useMeasure from 'react-use-measure';\nimport {\n type Border,\n type ImageCrop,\n ImageElement,\n type ImagePosition,\n type OwnTileProps,\n borderOptions\n} from '@own.page/rendering';\n\ntype Clipping = 'horizontal' | 'vertical' | 'none';\n\n// Calculate the aspect ratio of an element\nconst calculateAspectRatio = (width: number, height: number): number =>\n width / height;\n\n// Compute image clipping based on aspect ratio and layout\nconst getImageClipping = (\n img: { width: number; height: number },\n gridSize: { w: number; h: number },\n stretch: boolean\n): Clipping => {\n const imageAspectRatio = calculateAspectRatio(img.width, img.height);\n const gridAspectRatio = calculateAspectRatio(gridSize.w, gridSize.h);\n\n if (\n Math.abs(imageAspectRatio - 1) <= 0.05 &&\n (gridAspectRatio === 1 || (!stretch && gridAspectRatio >= 1))\n ) {\n return 'none';\n }\n\n // This clipping case is for when the image Layout is square or rounded\n const normalClippingCase =\n imageAspectRatio <= gridAspectRatio ? 'vertical' : 'horizontal';\n\n // Depending on the Layout we take the different clipping case (stretch is false when Layout is circle)\n if (stretch) {\n return normalClippingCase;\n } else {\n // When we have circle there are several cases that we cover here, where some depend on the grid aspect ratio and other on the image one\n return img.width === img.height\n ? gridAspectRatio >= 1\n ? 'vertical'\n : 'horizontal'\n : img.width < img.height\n ? normalClippingCase\n : 'horizontal';\n }\n};\n\nconst BackgroundClippingImage = (props: {\n ownTileProps: OwnTileProps;\n src: string;\n stretch: boolean;\n clippingDirection: Clipping;\n imageRef: (ref: HTMLImageElement) => void;\n spring: { x: SpringValue; y: SpringValue };\n}) => {\n const stretch = props.stretch;\n const clippingDirection = props.clippingDirection;\n const imageRef = props.imageRef;\n const spring = props.spring;\n\n return (\n \n

\n \n `${x}% ${y}%`),\n filter: 'brightness(0.4)',\n top: spring.y.to((y: number) => `${y}%`),\n left: spring.x.to((x: number) => `${x}%`),\n transform: to(\n [spring.x, spring.y],\n (x, y) => `translate(-${x}%, -${y}%)`\n )\n }}\n src={props.src}\n />\n
\n \n \n );\n};\n\n/**\n *\n * @param props\n */\nexport const EditorImageElement = (\n props: EditorOwnTileProps<{\n /* Defines the type of borders the image has (rectangular, rounded, full-rounded)*/\n layout?: Border;\n /** */\n stretch?: boolean;\n /* Defines wether the image has a cover or contain image crop */\n imageCrop?: ImageCrop;\n /* Defines how the image should be positioned within the bounding box in case of contain object-fit property */\n imagePosition?: ImagePosition;\n /* Image source path */\n src: string;\n }>\n) => {\n const src = props.src ?? '/assets/icons/avatar.svg';\n\n const pos = props.imagePosition ?? { x: 50, y: 50 };\n const border = borderOptions[props.layout ?? 'rounded'];\n const stretch = border.stretch ?? props.stretch ?? 'true';\n const borderRadius = border.borderRadius;\n const imageRef = useRef(null!);\n const clippingRef = useRef(null!);\n const [measureRef, bounds] = useMeasure();\n\n const gridSize = { w: props.grid.w, h: props.grid.h };\n\n const [clippingDirection, setClippingDirection] =\n useState('horizontal');\n\n const [spring, api] = useSpring(() => ({\n x: pos.x,\n y: pos.y\n }));\n\n useLayoutEffect(() => {\n if (imageRef.current) {\n // console.log('IMAGE DIMENSIONSSSSSS', bounds);\n\n const clippingDirection = getImageClipping(\n { width: bounds.width, height: bounds.height },\n { w: gridSize.w, h: gridSize.h },\n stretch\n );\n setClippingDirection(clippingDirection);\n }\n }, [gridSize.h, gridSize.w, stretch, bounds]);\n\n const inverseScale = props.preview?.previewScalingFactor\n ? 1.0 / props.preview.previewScalingFactor\n : 1.0;\n\n // Set the drag hook and define component movement based on gesture data\n const bind = useDrag(\n ({ down, xy: [x, y], movement: [mx, my], last, event, tap }) => {\n if (tap) {\n const bb = imageRef.current.getBoundingClientRect();\n\n // if outside of bb\n if (\n x < bb.x ||\n x > bb.x + bb.width ||\n y < bb.y ||\n y > bb.y + bb.height\n ) {\n const clickTarget = document.getElementById('close-tool');\n\n if (clickTarget) {\n // Create a click event\n const clickEvent = new MouseEvent('click', {\n ...event,\n bubbles: true,\n cancelable: true,\n view: window\n });\n\n // Dispatch the click event on the button\n // handled in Editor.tsx!\n clickTarget.dispatchEvent(clickEvent);\n }\n }\n return;\n }\n\n const image = imageRef.current as HTMLImageElement;\n const clippingWidth = clippingRef.current.clientWidth;\n const clippingHeight = clippingRef.current.clientHeight;\n const imgWidth = image.clientWidth - clippingWidth;\n const imgHeight = image.clientHeight - clippingHeight;\n\n const scaledX = mx * inverseScale;\n const scaledY = my * inverseScale;\n\n const springX =\n imgWidth === 0\n ? pos.x\n : Math.max(0, Math.min(100, pos.x - (scaledX / imgWidth) * 100));\n const springY =\n imgHeight === 0\n ? pos.y\n : Math.max(0, Math.min(100, pos.y - (scaledY / imgHeight) * 100));\n\n api.start({\n x: springX,\n y: springY,\n immediate: down\n });\n\n if (last) {\n props.preview?.changeElement?.((e) => ({\n ...e,\n props: {\n ...e.props,\n imagePosition: { x: springX, y: springY }\n }\n }));\n }\n }\n // { filterTaps: true, pointer: { touch: true } }\n );\n\n return (\n <>\n {props.preview ? (\n <>\n \n {\n imageRef.current = ref;\n measureRef(ref);\n }}\n spring={spring}\n >\n\n \n \n `${x}% ${y}%`\n )\n }}\n src={src}\n />\n \n \n \n ) : (\n \n )}\n \n );\n};\n","import { editorElementOf } from '../editorElementOf';\nimport { EditorImageElement } from './EditorImageElement';\nimport { image } from '@own.page/rendering';\n\nconst editorImage = editorElementOf(image, {\n EditorElement: EditorImageElement,\n maxInstances: Infinity\n});\n\nexport default editorImage;\n","import { link } from '@own.page/rendering';\nimport { editorElementOf } from '../editorElementOf';\n\nconst editorLink = editorElementOf(link, { maxInstances: Infinity });\n\nexport default editorLink;\n","import {\n type RefObject,\n useRef,\n type MutableRefObject,\n createRef,\n Component,\n useState\n} from 'react';\nimport ContentEditable, {\n type ContentEditableEvent\n} from 'react-contenteditable';\nimport { isPlatform } from '@ionic/core';\nimport type { PreviewProps } from 'editor/tools/ElementPreview';\nimport type { SizeInfo } from 'editor/EditorGrid';\nimport { EditorOwnTile, type EditorOwnTileProps } from '../EditorOwnTile';\nimport sanitizeHtml from 'sanitize-html';\n\nimport './EditorTextElement.css';\nimport {\n type OwnElement,\n HEIGHT_DEFINING_CLASS,\n getMinimumDimensions,\n type GridArea,\n defaultLineAlign\n} from '@own.page/rendering';\n\nexport const TEXT_PLACEHOLDER = '\\u200B'; // this is zero width space to show caret in beginning\nconst isIos = isPlatform('ios'); // this is zero width space to show caret in beginning\n\ntype EditContentProps = {\n element: OwnElement;\n innerRef: RefObject;\n preview?: PreviewProps;\n};\n\nfunction scrollToBottom(container: HTMLElement | null) {\n if (!container) return;\n\n container.scrollTo({\n top: container.scrollHeight,\n behavior: 'auto'\n // behavior: 'smooth'\n });\n\n scrollToBottom(container.parentElement);\n}\n\nexport const browserSanitize = (unsanitized: string) => {\n const e = document.createElement('div');\n e.innerHTML = unsanitized;\n return e.textContent || '';\n};\n\n//const isNative = isPlatform('capacitor') || isPlatform('mobileweb');\nconst isNative = isPlatform('mobile');\n\nconst Placeholder = (props: { focusCallback: () => void; text: string }) => {\n const [showPlaceholder, setShowPlaceholder] = useState(true);\n return (\n showPlaceholder && (\n
\n {\n props.focusCallback();\n setShowPlaceholder(false);\n }}\n >\n {props.text}\n
\n \n )\n );\n};\n\nconst IosPlaceholder = (props: { focusCallback: () => void }) => {\n return ;\n};\n\nclass EditContent extends Component {\n private sanitizeRef = createRef();\n private selectionRef = createRef() as MutableRefObject;\n private innerRef: RefObject;\n private placeholder: string | undefined;\n\n constructor(props: EditContentProps) {\n super(props);\n this.innerRef = props.innerRef;\n\n if (props.preview && props.preview.focusCallbackRef) {\n props.preview.focusCallbackRef.current = this.focusCallback;\n\n // if (props.element.onboarding) {\n // // alert(props.element.content);\n // // }\n // this.placeholder = props.element.content;\n // props.element.content = '';\n // }\n }\n }\n\n handleChange = (evt: ContentEditableEvent) => {\n this.checkResize(evt.target.value);\n };\n\n checkResize = (unsanitized: string) => {\n const textField = this.innerRef.current;\n const preview = this.props.preview;\n\n if (\n !(textField && preview && preview.previewRef && preview.changeElement)\n ) {\n return;\n }\n\n const withoutPlaceholder = unsanitized.replace(TEXT_PLACEHOLDER, '');\n const newText = sanitizeHtml(withoutPlaceholder); // always use \\n in the end\n\n textField.scrollTop = 0;\n if (textField.parentElement) {\n textField.parentElement.scrollTop = 0;\n }\n\n // console.log('TEXT ELEM PREVIEW');\n // console.log(preview);\n preview.changeElement((e) => ({\n ...e,\n content: newText\n // grid: { ...e.grid, h: newGridHeight }\n }));\n };\n\n focusCallback = () => {\n const p = this.innerRef.current;\n\n if (!p) return;\n\n p.click();\n p.focus();\n };\n\n componentDidMount = () => {\n if (this.props.preview) {\n setTimeout(() => {\n const p = this.innerRef.current;\n const childText = p?.firstChild;\n if (p && childText) {\n p.focus();\n\n try {\n const range = document.createRange();\n\n range.deleteContents();\n\n // this works better because apparently unicode / char problem when newlining\n range.setStartAfter(childText);\n range.setEndAfter(childText);\n\n const sel = window.getSelection();\n\n if (sel) {\n sel.removeAllRanges();\n sel.addRange(range);\n }\n } catch (e) {\n alert('error: ' + e);\n }\n }\n }, 100);\n }\n };\n\n render = () => {\n function isCaretAtEnd(): boolean {\n const selection = window.getSelection();\n\n if (selection && selection.rangeCount > 0) {\n const range = selection.getRangeAt(0);\n const endContainer = range.endContainer;\n\n if (endContainer) {\n if (endContainer.nodeType === Node.TEXT_NODE) {\n let lastNode = endContainer.parentNode?.lastChild;\n\n // Traverse up the DOM tree to find the last meaningful node with content\n while (\n lastNode &&\n lastNode.nodeType === Node.TEXT_NODE &&\n lastNode.nodeValue?.trim() === ''\n ) {\n lastNode = lastNode.previousSibling;\n }\n\n // Check if the endContainer matches the last meaningful node\n return endContainer === lastNode;\n } else {\n // If the endContainer is an element node, it's likely the actual end of content\n return true;\n }\n }\n }\n\n return false; // If selection or range is not available\n }\n\n const onboardingPlaceholder =\n 'placeholder' in this.props.element\n ? (this.props.element.placeholder as string)\n : undefined;\n\n return (\n <>\n {/* {onboardingPlaceholder && this.props.preview !== undefined && (\n \n )} */}\n\n {\n if (e.key !== 'Enter') return;\n\n // this is to fix an issue on mobile!\n if (isNative) {\n e.preventDefault();\n\n const selection = document.getSelection();\n const range = selection?.getRangeAt(0);\n\n if (!selection || !range) return;\n const currentNode = range.endContainer;\n\n const newLine = document.createTextNode('\\n');\n\n if (isCaretAtEnd() && currentNode.textContent) {\n const textAfterNode = currentNode.textContent.substring(\n range.endOffset\n );\n\n if (textAfterNode.length == 0) {\n range.insertNode(newLine);\n\n // Set the selection after the newline\n range.setStartAfter(newLine);\n range.collapse(true);\n\n selection.removeAllRanges();\n selection.addRange(range);\n }\n }\n\n const newLine2 = document.createTextNode('\\n');\n\n range.insertNode(newLine2);\n\n // Set the selection after the newline\n range.setStartAfter(newLine2);\n range.collapse(true);\n\n selection.removeAllRanges();\n selection.addRange(range);\n\n const textField = this.innerRef.current;\n if (textField && textField.parentElement) {\n if (isCaretAtEnd()) {\n scrollToBottom(textField);\n }\n }\n }\n }}\n />\n {!onboardingPlaceholder &&\n isIos &&\n this.props.preview !== undefined &&\n (this.props.element.content === undefined ||\n this.props.element.content === '' ||\n this.props.element.content === TEXT_PLACEHOLDER) && (\n \n )}\n \n );\n };\n}\n\nfunction _selectLast(node: Node | null) {\n const selection = document.getSelection();\n const range = selection?.getRangeAt(0);\n const last = node?.lastChild;\n\n if (node == null || selection == null || range == null || last == null) {\n return;\n }\n\n range.setStartAfter(last);\n range.setEndAfter(last);\n range.collapse(true);\n\n selection.removeAllRanges();\n selection.addRange(range);\n}\n\n/**\n *\n * @param element\n * @param editor\n */\nexport const textHeightCalculation = (\n element: OwnElement,\n sizeInfo: SizeInfo,\n heightDefiningElement?: HTMLElement | null\n) => {\n const heightInPx = heightDefiningElement?.clientHeight || 0;\n const heightInGrid = Math.max(\n // This is actually correct:\n // Math.ceil(sizeInfo.pxToGrid(heightInPx)),\n // However we do not want to be so strict thats why we do (append max 1 px):\n // Math.ceil(heightInPx / Math.round(sizeInfo.gridUnit)),\n Math.ceil(sizeInfo.elementToGrid(heightInPx)),\n getMinimumDimensions(element).h\n );\n\n return heightInGrid;\n};\n\n/**\n *\n * @param props\n */\nexport const EditorTextElement = (\n props: EditorOwnTileProps<{\n /** */\n color: string;\n /** */\n fontVariable: string;\n /** */\n grid: GridArea;\n /** */\n background?: string;\n /** */\n // preview?: PreviewProps;\n }>\n) => {\n const innerRef = useRef(null);\n\n const element = props.editor.element;\n\n return (\n {\n // disabled the possibility to click outside of text (but still inside element) to loose focus\n if (e.target === e.currentTarget) {\n e.preventDefault();\n }\n }}\n >\n \n \n );\n};\n","import { EditorTextElement, textHeightCalculation } from './EditorTextElement';\nimport { editorElementOf } from '../editorElementOf';\nimport { text } from '@own.page/rendering';\n\nconst editorText = editorElementOf(text, {\n EditorElement: EditorTextElement,\n dragHandle: 'vertical',\n heightOverwrite: textHeightCalculation,\n maxInstances: Infinity\n});\n\nexport default editorText;\n","import { editorElementOf } from '../editorElementOf';\nimport type { EditorElementInfo } from '..';\nimport {\n type OwnTileKeys,\n type OwnTileMap,\n owntiles\n} from '@own.page/rendering';\nimport type { DragHandleType } from 'editor/dragging/drag-handle/DragHandle';\n\ntype EnsureLowercase = T extends string\n ? T extends Lowercase\n ? T\n : never\n : never;\n\ntype OwnEditorTileMap = OwnTileMap<\n EnsureLowercase,\n EditorElementInfo\n>;\n\nconst ownTileInfo: Record<\n string,\n { maxInstances: number; dragHandle: DragHandleType }\n> = {\n github: { maxInstances: 1, dragHandle: 'vertical' },\n youtube: { maxInstances: 6, dragHandle: 'full' }\n // Add other specific tiles here if needed\n};\n\nexport const editorOwntiles: OwnEditorTileMap = Object.fromEntries(\n Object.entries(owntiles).map(([k, v]) => [\n k,\n editorElementOf(v, {\n maxInstances: ownTileInfo[k]?.maxInstances ?? 3,\n dragHandle: ownTileInfo[k]?.dragHandle ?? 'full'\n })\n ])\n) as OwnEditorTileMap;\n","import type { DragHandleType } from 'editor/dragging/drag-handle/DragHandle';\nimport type { SizeInfo } from 'editor/EditorGrid';\nimport background from './background';\nimport socials from './socials';\nimport image from './image';\nimport link from './link';\nimport text from './text';\nimport { editorOwntiles } from './own.tiles';\nimport {\n type OwnElement,\n type ElementInfo,\n HEIGHT_DEFINING_CLASS\n} from '@own.page/rendering';\nimport type { EditorOwnTileProps } from './EditorOwnTile';\n\ntype HeightOverwriteFunction = (\n element: OwnElement,\n sizeInfo: SizeInfo,\n heightDefiningDomElememt?: HTMLElement | null\n) => number | null;\n\nexport type ForcedEditorElementInfo = {\n /**\n * the handles around the element that are shown when selected and allow rezising, defaults to \"full\"\n */\n dragHandle?: DragHandleType;\n\n /**\n * if true, ignores this element type when computing a reflow (elements moving down when dragged over, e.g. image, background)\n */\n ignoreReflow?: boolean;\n\n /**\n * height overwrite (usually tracks the \"own-height-overwrite\" class)\n */\n heightOverwrite?: HeightOverwriteFunction;\n\n /**\n * Maximum number of instances of this element type\n */\n maxInstances?: number;\n\n // /**\n // * the tool that is responsible for this element\n // */\n // tool: Tool;\n\n // editorCallback: OwnElementClickFunction;\n};\n\nexport type EditorElementComponentInfo

= {\n /** the component variant that is used to render to the editor (can include custom input functionality) */\n // EditorElement: React.ComponentType>;\n EditorElement: React.ComponentType>;\n};\n\nexport type EditorElementInfo

= ElementInfo

&\n ForcedEditorElementInfo &\n EditorElementComponentInfo

;\n\nexport const editorElementsMap = {\n background,\n image,\n link,\n socials,\n text,\n ...editorOwntiles\n};\n\nexport type EditorElementsKey = keyof typeof editorElementsMap;\n\n// for now, ignore images, TODO: remove these lines if we want images to participate!\n/**\n *\n * @param e\n */\nexport function ignoreElement(e: OwnElement) {\n return editorElementsMap[e.type as EditorElementsKey]?.ignoreReflow || false;\n}\n\nexport const getHeightDefiningElement = (el: HTMLElement) =>\n (el.querySelector('.' + HEIGHT_DEFINING_CLASS) as HTMLElement) || el;\n\nexport const getEditorHeightOverwrite: HeightOverwriteFunction = (\n element,\n sizeInfo,\n heightDefiningElement\n) => {\n const callback =\n editorElementsMap[element.type as EditorElementsKey].heightOverwrite;\n return callback ? callback(element, sizeInfo, heightDefiningElement) : null;\n};\n\n// export * from './EditorElements';\n","import { create } from 'zustand';\nimport { subscribeWithSelector } from 'zustand/middleware';\n\nimport type { SizeInfo } from 'editor/EditorGrid';\nimport type { Tool } from 'editor/tools';\nimport { themeList, themes } from 'themes';\nimport type { SpringResult } from 'editor/dragging/springFunctions';\nimport type { WithAfterHydration } from './storages';\nimport { type MousePos } from 'editor/BackgroundGrid';\nimport {\n type OwnElementId,\n GRID_COLUMNS,\n type OwnPageId,\n FULL_WIDTH,\n type OwnElement,\n type GridArea\n} from '@own.page/rendering';\nimport { getHeightDefiningElement } from 'editor/editor-elements';\nimport type { Swiper } from 'swiper/types';\n\ntype State = WithAfterHydration<{\n /**\n * Information of the page grid as well as\n * the relation between own.page grid size and the UI (px)\n */\n sizeInfo: SizeInfo;\n\n /** The selected element */\n selectedElement: OwnElementId | null;\n\n /** The dragging element's id */\n draggingElement: OwnElementId | null;\n\n /** DOM reference to the selected draggable (parent) */\n selectedDomElement: {\n draggable: HTMLElement;\n innerElement: HTMLElement;\n heightDefiningElement: HTMLElement | null;\n } | null;\n\n /**\n * The currently active tool or null if not active\n */\n activeTool: Tool | null;\n\n elementSprings: {\n [k: OwnElementId]: Partial;\n };\n backgroundClick: MousePos;\n hoveredContextButton: string | null;\n wouldBePlacement: GridArea | null;\n\n preventScroll: boolean;\n timeout: ReturnType | null;\n swiper: Swiper | null;\n scrollY: number;\n}>;\n\ntype SetOf = (\n partial: T | Partial | ((state: T) => T | Partial),\n replace?: boolean | undefined\n) => void;\n\nconst calculateSizeInfo = (size: { width: number; height: number }) => {\n const dragWidth = FULL_WIDTH;\n const viewportWidth = size.width;\n const GRID_UNIT = dragWidth / GRID_COLUMNS;\n const scalingFactor = Math.min((viewportWidth * 0.9) / FULL_WIDTH, 1.0);\n const scaledGridUnit = scalingFactor * GRID_UNIT;\n const inverseScalingFactor = 1 / scalingFactor;\n const inverseGridUnit = 1 / GRID_UNIT;\n\n const viewportToGrid = (px: number) => px / scaledGridUnit;\n const viewportToElement = (px: number) => px * inverseScalingFactor;\n const elementToGrid = (px: number) => px * inverseGridUnit;\n const gridToElement = (grid: number) => grid * GRID_UNIT;\n\n const sizeInfo: SizeInfo = {\n size,\n scalingFactor,\n viewportToGrid,\n viewportToElement,\n elementToGrid,\n gridToElement\n };\n\n return sizeInfo;\n};\n\nfunction innerUpdateSizeInfo(\n set: SetOf,\n fallback?: { width: number; height: number } | null,\n _editorRef?: HTMLElement\n) {\n const windowSize = fallback ?? {\n width: window.innerWidth,\n height: window.innerHeight\n };\n\n const size = windowSize;\n const sizeInfo = calculateSizeInfo(size);\n\n set({ sizeInfo });\n}\n\nexport const defaultHeight = 12;\nexport const initialPageId: OwnPageId = 'p-initial';\nexport const initialStyle = themes.initial;\n\nconst initialState: (set?: SetOf) => State = (_set) => {\n return {\n sizeInfo: calculateSizeInfo({\n width: window.innerWidth,\n height: window.innerHeight\n }),\n draggingElement: null,\n selectedElement: null,\n selectedDomElement: null,\n activeTool: null,\n elementSprings: {},\n styleBackup: themes.initial,\n themes: themeList,\n themeIndex: 0,\n backgroundClick: null,\n hoveredContextButton: null,\n wouldBePlacement: null,\n preventScroll: false,\n timeout: null,\n swiper: null,\n scrollY: 0\n };\n};\n\nexport type EditorSlice = State;\n\nconst _useEditorStore = create()(\n subscribeWithSelector(initialState)\n);\n\nconst { setState: set, getState: get } = _useEditorStore;\n\nexport const useActiveEditorStore =\n _useEditorStore as typeof _useEditorStore & {\n setState: never; // no access to setState() outside\n };\n\nfunction updateSelection(element: OwnElement, htmlElement: HTMLElement) {\n get().selectedDomElement?.draggable.setAttribute('data-selected', 'false');\n htmlElement.setAttribute('data-selected', 'true');\n\n // here we know for sure that it exists\n // (the drag handles is first child and the last / 2nd child is the actual element)\n const innerElement = htmlElement.lastElementChild as HTMLElement;\n const heightDefiningElement = getHeightDefiningElement(innerElement);\n\n set({\n selectedElement: element.id,\n selectedDomElement: {\n draggable: htmlElement,\n innerElement,\n heightDefiningElement\n }\n });\n}\n\nexport function deselect() {\n get().selectedDomElement?.draggable.setAttribute('data-selected', 'false');\n set({ selectedElement: null, selectedDomElement: null });\n}\n\nconst updateSizeInfo = (\n fallback?: { width: number; height: number } | null,\n editorRef?: HTMLElement\n) => {\n innerUpdateSizeInfo(set, fallback, editorRef);\n};\n\n// TODO: maybe here we can actually overwrite the whole thing (no spear operator)\nconst springTo = (\n elementId: OwnElementId,\n to: Partial,\n merge = true\n) => {\n set((s) => ({\n elementSprings: { ...(merge ? s.elementSprings : {}), [elementId]: to }\n }));\n};\n\nconst springAll = (to: { [k: OwnElementId]: Partial }) => {\n set({ elementSprings: to });\n};\n\nconst resetTimeout = () => {\n const timeout = get().timeout;\n if (timeout) {\n clearTimeout(timeout);\n }\n set({ timeout: null });\n};\n\nconst newTimeout = (f: () => void, ms: number) => {\n resetTimeout();\n set({ timeout: setTimeout(f, ms) });\n};\n\nconst disableThemeSwiping = () => {\n const swiper = get().swiper;\n if (!swiper) return;\n swiper.allowTouchMove = false;\n};\n\nconst allowThemeSwiping = () => {\n const swiper = get().swiper;\n if (!swiper) return;\n swiper.allowTouchMove = true;\n};\n\nexport const _activateEditorActions = {\n setSwiper: (swiper: Swiper) => set({ swiper }),\n allowThemeSwiping,\n disableThemeSwiping,\n resetTimeout,\n newTimeout,\n allowScroll: () => set({ preventScroll: false }),\n disableScroll: () => set({ preventScroll: true }),\n updateSizeInfo,\n updateSelection,\n deselect,\n updateDragging: (draggingElement: OwnElementId | null) =>\n draggingElement == null\n ? set({ draggingElement, wouldBePlacement: null })\n : set({ draggingElement }),\n updateWouldBePlacement: (p: GridArea) => set({ wouldBePlacement: p }),\n activateTool: (t: Tool) => set({ activeTool: t }),\n deactivateTool: () => set({ activeTool: null }),\n springTo,\n springAll,\n updateBackgroundClick: (p: MousePos) => set({ backgroundClick: p }),\n setHoveredContextButton: (b: string | null) =>\n set({ hoveredContextButton: b }),\n updateScrollY: (y: number) => set({ scrollY: y })\n};\n\nexport { initialState as initialActivateEditorState };\n","import { id } from '@instantdb/react';\nimport { type OwnElementId, type OwnPageId } from '@own.page/rendering';\n\nexport function isOwnElementId(x: string): x is OwnElementId {\n return x.startsWith('element:');\n}\n\nexport function isOwnPageId(x: string): x is OwnPageId {\n // return x.startsWith('p-');\n return true;\n}\n\n/**\n *\n * @param x\n */\nexport const withPageIdPrefix = (x: string) => ('p-' + x) as OwnPageId;\n\n// const inputDashes = (inputText: string, every: number = 4) =>\n// (\n// inputText.match(new RegExp(`.{1,${every}}`, 'g'))?.join('-') || inputText\n// ).toUpperCase();\n\nexport const createPageId = () => {\n // return ('page:' + id()) as OwnPageId;\n return id() as OwnPageId;\n};\n\n// export const createElementId = () => {\n// return ('element:' + id()) as OwnElementId;\n// };\nconst MAX_COUNTER = 256;\nlet counter = 0;\n\nexport const createElementId = () => {\n const timestamp = Date.now();\n const number = timestamp * MAX_COUNTER + counter;\n const base36String = number.toString(36).toLowerCase();\n counter = (counter + 1) % MAX_COUNTER;\n return ('element:' + base36String) as OwnElementId;\n};\n\nexport const INITIAL_ELEMENT_ID = 'element:initial';\n\n// /**\n// *\n// * @param prefix\n// */\n// export const createPageId = (prefix = true) => {\n// const timestamp = Date.now();\n// const base36String = inputDashes(timestamp.toString(36));\n// return prefix ? withPageIdPrefix(base36String) : base36String;\n// };\n// /**\n// *\n// * @param x\n// * @returns\n// */\n// export const withoutPageIdPrefix = (x: string) => x.replace('p-', '');\n\n// export const withoutIdPrefix = (x: string) =>\n// x\n// .split('-')\n// .filter((_, i) => i !== 0)\n// .join('-');\n\n// const MAX_COUNTER = 256; // maximum number of elements that will be able to be created per ms\n// let counter = 0;\n\n/**\n *\n */\n// export const createElementId = () => {\n// const timestamp = Date.now();\n// const number = timestamp * 256 + counter;\n// const base36String = number.toString(36);\n// counter = (counter + 1) % MAX_COUNTER;\n// return ('e-' + inputDashes(base36String)) as OwnElementId;\n// return 'element:' + id();\n// };\n\n// type ArrayLengthMutationKeys = 'splice' | 'push' | 'pop' | 'shift' | 'unshift';\n// type FixedLengthArray]> = Pick<\n// TObj,\n// Exclude\n// > & {\n// readonly length: L;\n// [I: number]: T;\n// [Symbol.iterator]: () => IterableIterator;\n// };\n\ntype BuildMinimumLengthArray<\n T,\n N extends number,\n Current extends T[]\n> = Current['length'] extends N\n ? [...Current, ...T[]]\n : BuildMinimumLengthArray;\n\ntype MinimumLengthArray = BuildMinimumLengthArray<\n T,\n N,\n []\n>;\n\nexport const MAX_PAGES = 3;\n\nconst emojis: MinimumLengthArray = [\n '🐱',\n '🙃',\n '🐶',\n '🦉',\n '👻',\n //'💩', I think this is not very professional\n '🐯',\n '🐵',\n '🦄',\n '🐟',\n '🦊'\n];\n\nexport const createEmojiId = (usedEmojis: string[]) => {\n const freeEmojis = new Set(emojis);\n usedEmojis.forEach((e) => freeEmojis.delete(e));\n\n if (freeEmojis.size === 0) {\n return null;\n }\n\n return Array.from(freeEmojis)[Math.floor(Math.random() * freeEmojis.size)];\n};\n","import { Haptics, ImpactStyle } from '@capacitor/haptics';\n\nconst ignoreNoSupportError = () => {};\n\nconst ownHaptics = {\n light: () =>\n Haptics.impact({ style: ImpactStyle.Light }).catch(ignoreNoSupportError),\n lightest: () => {\n try {\n navigator.vibrate(5);\n } catch (_) {\n /* ignoreNoSupportError */\n }\n }\n};\n\nexport default ownHaptics;\n","import {\n type OwnElement,\n type GridArea,\n type OwnPage,\n GRID_COLUMNS,\n type OwnElementId\n} from '@own.page/rendering';\nimport ownHaptics from 'utils/ownHaptics';\nimport { ignoreElement } from './editor-elements';\n\nexport const isEqual = (a: GridArea, b: GridArea) =>\n a === b ||\n (a.x === b.x && a.y === b.y && a.z === b.z && a.w === b.w && a.h === b.h);\n\n// export const GRID_COLUMNS = 12.0; // 12\n\n// TODO: move this inside ref in react function\nconst lastOverlap = { current: { y: -1, moveDownByY: -1 } };\n\n/**\n * calculates the intersection of a & b\n * @returns the intersected area or null if there is no intersection\n */\nfunction intersect(a: GridArea, b: GridArea): GridArea | null {\n // Calculate the coordinates of the intersection (overlap) between the rectangles\n const leftX = Math.max(a.x, b.x);\n const rightX = Math.min(a.x + a.w, b.x + b.w);\n const topY = Math.max(a.y, b.y);\n const bottomY = Math.min(a.y + a.h, b.y + b.h);\n\n // Check if there is an overlap\n if (leftX < rightX && topY < bottomY) {\n // Create and return the overlapping rectangle\n return {\n x: leftX,\n y: topY,\n w: rightX - leftX,\n h: bottomY - topY\n };\n }\n\n // No overlap\n return null;\n}\n\n/**\n * calculates the union of a | b\n * @returns the union area\n */\nfunction union(a: GridArea, b: GridArea): GridArea {\n const leftX = Math.min(a.x, b.x);\n const rightX = Math.max(a.x + a.w, b.x + b.w);\n const topY = Math.min(a.y, b.y);\n const bottomY = Math.max(a.y + a.h, b.y + b.h);\n\n return {\n x: leftX,\n y: topY,\n w: rightX - leftX,\n h: bottomY - topY\n };\n}\n\nfunction optionalUnion(\n a: GridArea | null,\n b: GridArea | null\n): GridArea | null {\n if (a === null || b === null) {\n return a || b;\n }\n\n return union(a, b);\n}\n\nexport type ElementsMap = OwnPage['elements'];\n\nconst totalOverlap = (moving: OwnElement, elements: ElementsMap) =>\n Object.values(elements).reduce(\n (overlap, e) => {\n // for now, ignore images\n if (ignoreElement(e)) {\n return overlap;\n }\n\n // this is the moving element, so no overlap\n if (e.id === moving.id) {\n return overlap;\n }\n\n // this adds only the overlapping area:\n // const overlapArea = getOverlapArea(e.grid, moving.grid);\n // but we want to add always the full overlapping element to overlap area:\n const overlapArea = intersect(e.grid, moving.grid) ? e.grid : null;\n return optionalUnion(overlapArea, overlap);\n },\n null as null | GridArea\n );\n\nconst _withoutMoving = (moving: OwnElement, elements: OwnElement[]) =>\n elements.filter((e) => e.id !== moving.id);\n\n// const increase = (a: GridArea, increase: GridArea) => {\n// return {\n// x: a.x - increase.w,\n// y: a.y - increase.h,\n// w: a.w + increase.w * 2,\n// h: a.h + increase.h * 2\n// };\n// };\n\n/**\n *\n * @param moving\n * @param elements\n * @returns an object with potentially moved elements (does'nt contain element if it is the moving one or if it hasn't moved!)\n */\nexport function makeSpace(\n moving: OwnElement,\n elements: ElementsMap\n): ElementsMap {\n if (ignoreElement(moving)) return {};\n\n // check if moving is outside of editor bounds horizontally, because then we skip aswell\n if (moving.grid.x + moving.grid.w < 0 || moving.grid.x >= GRID_COLUMNS)\n return {};\n\n const overlappingArea = totalOverlap(moving, elements);\n\n if (!overlappingArea) return {};\n\n // we are overlapping, move elements away\n\n // move all elements down so this has space,\n // const moveDownByY = Math.min(moving.grid.h, overlappingArea.h);\n const moveDownByY = moving.grid.y + moving.grid.h - overlappingArea.y;\n // const moveDownByY = overlappingArea.h;\n // const moveDownByY = moving.grid.h;\n // const moveDownByY = 0;\n\n // Michael orgasms:\n\n if (\n overlappingArea.y !== lastOverlap.current.y ||\n moveDownByY !== lastOverlap.current.moveDownByY\n ) {\n lastOverlap.current = { y: overlappingArea.y, moveDownByY };\n ownHaptics.light();\n }\n\n const result: ElementsMap = {};\n for (const key in elements) {\n const e = elements[key as OwnElementId];\n\n if (e.id === moving.id) continue;\n if (ignoreElement(e)) continue;\n\n if (\n e.grid.y + e.grid.h >\n overlappingArea.y //&& // must be at or below overlapping area\n // e.grid.x + e.grid.w > overlappingArea.x && // must not be left to the overlap column\n // e.grid.x < overlappingArea.x + overlappingArea.h // must not be completely on right of overlap column\n ) {\n result[e.id] = { ...e, grid: { ...e.grid, y: e.grid.y + moveDownByY } };\n }\n // else {\n // // above overlapping area, just return:\n // return acc;\n // }\n }\n\n return result;\n}\n\n// const collisionElements = (elements: OwnElement[]) =>\n// elements.filter((e) => !ignoreElement(e));\n\nconst lastGrid = (elements: ElementsMap) =>\n Object.values(elements)\n .filter((e) => !ignoreElement(e))\n .map((e) => e.grid)\n .reduce(\n (prev, curr) => {\n const prevBottom = prev.y + prev.h;\n const currBottom = curr.y + curr.h;\n\n if (currBottom > prevBottom) {\n return curr;\n } else if (currBottom === prevBottom) {\n const prevRight = prev.x + prev.w;\n const currRight = curr.x + curr.w;\n\n return currRight > prevRight ? curr : prev; // if they are equal we keep prev (doesn't matter)\n } else {\n return prev;\n }\n },\n { x: 0, y: 0, w: 0, h: 0 }\n );\n\n/**\n *\n * @param clone this is the cloned object, the grid is of the original, but we will overwrite it!\n * @param elements\n */\nexport function placeElement(\n unplaced: OwnElement,\n elements: ElementsMap,\n clone?: OwnElement\n): ElementsMap {\n // const collider = collisionElements(elements);\n // if this is cloned, we base our positioning next to clone,\n // if not we search for the last element (the one that has the lowest bottom right corner)\n const origin = clone ? clone.grid : lastGrid(elements);\n\n // console.log('placing element, clone:', origin);\n\n // check if there is still space right of it\n for (let x = origin.x + origin.w; x + unplaced.grid.w <= GRID_COLUMNS; x++) {\n const newElement = {\n ...unplaced,\n grid: { ...unplaced.grid, x, y: origin.y }\n };\n\n if (totalOverlap(newElement, elements) === null) {\n return { [newElement.id]: newElement };\n }\n }\n\n // console.log('couldnt place right of clone');\n\n // check if there is space in row below\n for (let x = 0; x + unplaced.grid.w <= GRID_COLUMNS; x++) {\n const newElement = {\n ...unplaced,\n grid: { ...unplaced.grid, x, y: origin.y + origin.h }\n };\n\n if (totalOverlap(newElement, elements) === null) {\n return { [newElement.id]: newElement };\n }\n }\n\n // console.log('couldnt place in row below of clone');\n\n // if not we just place it in row below and move all other elements down\n const newElement = {\n ...unplaced,\n grid: { ...unplaced.grid, y: origin.y + origin.h }\n };\n\n return {\n ...Object.values(elements)\n .filter((e) => e.grid.y >= origin.y + origin.h)\n .map((e) => ({ ...e, grid: { ...e.grid, y: e.grid.y + origin.h } }))\n .reduce((acc, e) => ({ ...acc, [e.id]: e }), {}),\n [newElement.id]: newElement\n };\n}\n\ninterface ConsecutiveSequence {\n start: number;\n rows: number;\n}\n\nconst findConsecutiveSequences = (\n numberSet: Set\n): ConsecutiveSequence[] => {\n // Convert the set to a sorted array\n const numbers = Array.from(numberSet);\n\n const sequences: ConsecutiveSequence[] = [];\n let start = numbers[0];\n let rows = 1;\n\n for (let i = 0; i < numbers.length; i++) {\n if (numbers[i] + 1 === numbers[i + 1]) {\n rows++;\n } else {\n sequences.push({ start, rows });\n\n start = numbers[i + 1];\n rows = 1;\n }\n }\n\n return sequences;\n};\n\nexport function calculateChanges(\n element: OwnElement,\n allElements: ElementsMap\n): ElementsMap {\n const movingElements = makeSpace(element, allElements);\n const elements = {\n ...allElements,\n ...movingElements,\n [element.id]: element\n };\n const collapsedElements = collapseSpaces(elements);\n\n return collapsedElements;\n}\n\n/**\n * Removes empty rows from the grid\n * @param elements map of all elements on the grid\n */\nexport function collapseSpaces(elements: ElementsMap): ElementsMap {\n // TODO: could be optimized by taking the height of the background directly\n const minGridHeight = 12;\n const lastGridRow = lastGrid(elements);\n const gridHeight = lastGridRow.y + lastGridRow.h;\n\n // We create a set of empty rows (in the beginning with all rows based on grid height)\n const emptyRows = new Set();\n for (let i = 0; i < gridHeight; i++) {\n emptyRows.add(i);\n }\n\n for (const key in elements) {\n const e = elements[key as OwnElementId];\n if (e.type !== 'background') {\n for (let x = e.grid.y; x < e.grid.y + e.grid.h; x++) {\n emptyRows.delete(x);\n }\n }\n }\n\n const sequences = findConsecutiveSequences(emptyRows);\n\n const updatedElements = elements;\n\n for (const key in updatedElements) {\n const e = updatedElements[key as OwnElementId];\n\n if (e.type === 'background') {\n const rowsToMove = sequences.reduce((acc, s) => acc + s.rows, 0);\n const newHeight = e.grid.h - rowsToMove;\n if (newHeight >= minGridHeight) {\n updatedElements[e.id] = {\n ...e,\n grid: { ...e.grid, h: newHeight }\n };\n }\n } else {\n const initialY = e.grid.y;\n const rowsToMove = sequences\n .filter((s) => initialY >= s.start + s.rows)\n .reduce((acc, s) => acc + s.rows, 0);\n\n const newY = initialY - rowsToMove;\n updatedElements[e.id] = {\n ...e,\n grid: { ...e.grid, y: newY }\n };\n }\n }\n\n return updatedElements;\n}\n","import _merge from 'lodash/merge';\n\nexport type RecursivePartial = {\n [P in keyof T]?: T[P] extends object ? RecursivePartial : T[P];\n};\n\ntype PartialStateUpdate = (\n update: ((prev: T) => Partial) | Partial\n) => void;\n\ntype ProxyMethods = {\n replace: (value: T) => void;\n merge: (value: Partial) => void;\n};\n\ntype AnyRecord = Record;\n\ntype DeepProxy = {\n [K in keyof T]: T[K] extends object\n ? DeepProxy & ProxyMethods\n : T[K];\n} & ProxyMethods;\n\nexport const mergeFromSet =\n (zustandSetter: PartialStateUpdate) =>\n (individualSetter: (prev: T) => RecursivePartial) =>\n zustandSetter((prev) => _merge(prev, individualSetter(prev)));\n\nexport const createMutators = (\n zustandSetter: PartialStateUpdate\n) => ({\n update: createUpdater(zustandSetter),\n set: zustandSetter\n});\n\nexport function createUpdater(\n zustandSetter: PartialStateUpdate\n) {\n const path: (string | symbol)[] = [];\n\n const proxy = new Proxy({} as DeepProxy, {\n get(_, prop) {\n if (prop === 'replace') {\n return (value: unknown) => {\n zustandSetter((currentState) => {\n const result = { ...currentState };\n let current = result as AnyRecord;\n\n for (let i = 0; i < path.length - 1; i++) {\n const prop = path[i];\n current[prop] = { ...(current[prop] as object) };\n current = current[prop] as AnyRecord;\n }\n\n const lastProp = path[path.length - 1];\n current[lastProp] = value;\n return result;\n });\n path.length = 0;\n return proxy;\n };\n }\n\n if (prop === 'merge') {\n return (value: object) => {\n zustandSetter((currentState) => {\n const result = { ...currentState };\n let current = result as AnyRecord;\n\n for (let i = 0; i < path.length - 1; i++) {\n const prop = path[i];\n current[prop] = { ...(current[prop] as object) };\n current = current[prop] as AnyRecord;\n }\n\n const lastProp = path[path.length - 1];\n\n const currentValue = current[lastProp];\n if (typeof currentValue === 'object') {\n current[lastProp] = { ...currentValue, ...value };\n } else {\n // same as set\n current[lastProp] = value;\n }\n return result;\n });\n path.length = 0;\n return proxy;\n };\n }\n\n path.push(prop);\n return proxy;\n }\n\n // set(_, _prop, value) {\n // zustandSetter((currentState) => {\n // const result = { ...currentState };\n // let current = result as AnyRecord;\n\n // for (let i = 0; i < path.length - 1; i++) {\n // const prop = path[i];\n // current[prop] = { ...(current[prop] as object) };\n // current = current[prop] as AnyRecord;\n // }\n\n // current[path[path.length - 1]] = value;\n // return result;\n // });\n\n // path.length = 0;\n // return true;\n // }\n });\n\n return () => {\n path.length = 0;\n return proxy;\n };\n}\n\n// const update = createUpdater();\n// const newState = update(state).users.alice.replace({ age: 31 });\n","import { type OwnPageId, type OwnPage } from '@own.page/rendering';\nimport { isOwnPageId } from 'utils/id';\nimport { create } from 'zustand';\n\nexport const URL_MAX_LENGTH = 16;\nexport const HOME_TITLE = 'Home';\nexport const HOME_URL = 'index';\nexport const HOME_PAGE_ATTRIBUTES = { title: HOME_TITLE, url: HOME_URL };\n\nexport const isPageIndex = (page: OwnPage) => page.url === HOME_URL;\nexport const pageStoreIdentifier = (id: string) => 'page_' + id;\nexport function isValidPageId(\n x: unknown,\n s: State = usePagesStore.getState()\n): x is OwnPageId {\n return (\n x !== null &&\n x !== undefined &&\n typeof x === 'string' &&\n x in s.pages &&\n isOwnPageId(x)\n );\n}\n\n/**\n * Sanitizes a URL by removing all special characters (TODO: verify if whitespaces really not),\n * making it lower case, and using the max-length @see MAX_LENGTH\n * @example \"About Page\" becomes \"about page\"\n * TODO: also do this sanitazion in the backend! don't just trust uploaded URL's\n * @param unsanitized the raw, unsanitized input string\n * @returns the sanitized URL\n */\nexport const cleanUpUrl = (unsanitized: string) => {\n const withoutSpecialChars = unsanitized.replace(/[\\W]+/g, ''); // maybe use \"_\" here\n return withoutSpecialChars.toLowerCase().substring(0, URL_MAX_LENGTH);\n};\n\nexport type State = {\n pages: {\n [p: OwnPageId]: OwnPage;\n };\n index: OwnPageId | null;\n usedEmojis: string[];\n};\n\nexport const initialState: State = {\n pages: {},\n index: null,\n usedEmojis: []\n};\n\nexport const usePagesStore = create()(() => initialState);\n\nexport const usePage = (id?: string | null) =>\n usePagesStore((s) => (isValidPageId(id, s) ? s.pages[id] : null));\n","import { type OwnPage } from '@own.page/rendering';\nimport type { OwnUser } from 'stores/userStore';\n\nexport const DOMAIN_NAME = 'own.page';\n\n/**\n * Returns the username or the fallback for the URL user part\n * @example 'dominik'\n * @param user the logged in user account\n * @param fallback the fallback string used if the user is not logged in (=undefined)\n */\nexport const getUserString = (user: OwnUser | undefined, fallback = '') => {\n // return userContext.signedIn ? userContext?.user?.username || fallback : fallback;\n return user?.username || fallback;\n};\n\n/**\n * Returns the page title, either the username if the url\n * @example 'dominik' or 'about'\n * @param user the user that this page belongs to\n * @param page the own.page for which we want to compute the title\n */\nexport const getPageTitle = (\n user: OwnUser | undefined,\n page: OwnPage | null\n) => (!page || page.url === 'index' ? getUserString(user) : page.url);\n\n/**\n * Returns the page ending part of the given own.page\n * @example '' if index or '/about'\n * @param page the own.page for which we want the url\n */\nexport const getPageEnding = (page: OwnPage | null | undefined) =>\n page && page.url ? (page.url === 'index' ? '' : `/${page.url}`) : '';\n\n/**\n * Computes the full url string of an.own.page so that it can be opened in the browser\n * (including https protocol)\n * @example 'https://own.page/dominik' or 'https://own.page/dominik/about'\n * @param user the user that this page belongs to\n * @param page the own.page for which we want to compute the title\n */\nexport const getUrlString = (user: OwnUser | undefined, page: OwnPage | null) =>\n `https://${DOMAIN_NAME}/${getUserString(user)}${getPageEnding(page)}`;\n\n/**\n * Computes the page string of an own.page without the protocol, to have a shorter link\n * @example 'own.page/dominik' or 'own.page/dominik/about'\n * @param user the user that this page belongs to\n * @param page the own.page for which we want to compute the title\n */\nexport const getPageString = (\n user: OwnUser | undefined,\n page: OwnPage | null\n) => `${DOMAIN_NAME}/${getUserString(user)}${getPageEnding(page)}`;\n\n/**\n * Computes the domain string of a user\n * @param user\n */\nexport const getDomainString = (user: OwnUser | undefined) =>\n `${DOMAIN_NAME}/${getUserString(user)}/`;\n","import { type OwnUser } from 'stores/userStore';\nimport VCard from 'vcard-creator';\nimport { getUrlString } from './pageUrl';\nimport { type OwnPage, type Social, type SocialID } from '@own.page/rendering';\nimport { socialLink } from '@own.page/rendering/elements/socials/socialInfo';\n\nexport function computeVCard(page: OwnPage, _user: OwnUser | null): OwnPage {\n return page;\n}\n\n// TODO: unused vCard code\nexport function oldComputeVCard(page: OwnPage, user: OwnUser | null): OwnPage {\n if (!user) {\n console.error('user is required to compute vCard');\n return page;\n }\n\n const elements = Object.values(page.elements);\n\n // Find the first text element\n const firstText = elements.find((e) => e.type === 'text')?.content || '';\n\n const nameSplit = firstText.split(' ');\n\n const capitalize = (s: string) => s.charAt(0).toUpperCase() + s.slice(1);\n\n // First name is the first word capitalized\n const firstName = capitalize(nameSplit[0]);\n\n // Last name is the rest of the words capitalized\n const lastName = nameSplit.slice(1).map(capitalize).join(' ');\n\n // Find all socials elements\n const socialsElements = elements.filter((e) => e.type === 'socials');\n\n // Get all socials\n const socials = socialsElements.flatMap((e) => e.props.socials as Social);\n\n // Phones and emails are special\n // They have a special field in the VCard\n // ...and we can have multiple of them!\n const phones = socials.filter((s) => s.id === 'phone').map((s) => s.username);\n const emails = socials.filter((s) => s.id === 'email').map((s) => s.username);\n\n // Check socials for conflicts\n const uniqueSocials = new Map();\n {\n for (const social of socials) {\n if (social.id === 'phone' || social.id === 'email') {\n // Do nothing. We handle these separately.\n continue;\n }\n if (uniqueSocials.has(social.id)) {\n // TODO: Error or something\n continue;\n }\n uniqueSocials.set(social.id, social);\n }\n }\n\n // Find the first image element\n const firstImage = elements.find((e) => e.type === 'image')?.props.src;\n\n const vCard = new VCard();\n if (firstImage && typeof firstImage === 'string') {\n // check if base64 encoded image:\n if (firstImage.indexOf(';base64,') !== -1) {\n const parts = firstImage.split(';base64,');\n // const mimeType = parts[0].split(':')[1];\n vCard.addPhoto(parts[1]);\n } else {\n vCard.addPhotoURL(firstImage);\n }\n }\n vCard.addName(lastName, firstName);\n vCard.addURL(getUrlString(user, page) ?? 'own.page');\n vCard.addNote('Generated by own.page');\n phones.forEach((phone) => vCard.addPhoneNumber(phone, 'WORK'));\n emails.forEach((email) => vCard.addEmail(email, 'WORK'));\n uniqueSocials.forEach((social) => {\n const url = socialLink(social);\n vCard.addSocial(url, social.id, social.username);\n });\n\n // page.vCard = vCard.toString();\n\n return { ...page, vCard: vCard.toString() };\n}\n","/**\n * Converts an array of items into an object where the keys are derived from a specific property of each item.\n * @param items - Array of items to convert.\n * @param keySelector - Function to select the key for each item.\n * @returns An object where the keys are derived from the specified property of each item.\n */\nexport function arrayToObjectById(\n items: T[],\n keySelector: (item: T, index: number) => string\n): { [key: string]: T } {\n return items.reduce(\n (acc, item, index) => {\n const key = keySelector(item, index);\n acc[key] = item;\n return acc;\n },\n {} as { [key: string]: T }\n );\n}\n","import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","/* eslint-disable react/prop-types */\nimport * as React from 'react';\nimport { OTPInput, OTPInputContext } from 'input-otp';\n\nimport { cn } from './utils';\nimport { Circle } from '@phosphor-icons/react';\n\nconst InputOTP = React.forwardRef<\n React.ElementRef,\n React.ComponentPropsWithoutRef\n>(({ className, containerClassName, ...props }, ref) => (\n \n));\nInputOTP.displayName = 'InputOTP';\n\nconst InputOTPGroup = React.forwardRef<\n React.ElementRef<'div'>,\n React.ComponentPropsWithoutRef<'div'>\n>(({ className, ...props }, ref) => (\n

\n));\nInputOTPGroup.displayName = 'InputOTPGroup';\n\nconst InputOTPSlot = React.forwardRef<\n React.ElementRef<'div'>,\n React.ComponentPropsWithoutRef<'div'> & { index: number }\n>(({ index, className, ...props }, ref) => {\n const inputOTPContext = React.useContext(OTPInputContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];\n\n return (\n \n {char}\n {hasFakeCaret && (\n
\n
\n
\n )}\n
\n );\n});\nInputOTPSlot.displayName = 'InputOTPSlot';\n\nconst InputOTPSeparator = React.forwardRef<\n React.ElementRef<'div'>,\n React.ComponentPropsWithoutRef<'div'>\n>(({ ...props }, ref) => (\n
\n {/* */}\n \n
\n));\nInputOTPSeparator.displayName = 'InputOTPSeparator';\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };\n","import { type PropsWithChildren } from 'react';\n\nconst CenterBox = ({\n rerender,\n children\n}: PropsWithChildren<{ rerender?: boolean }>) => {\n return (\n
\n \n {children}\n
\n
\n );\n};\n\nexport default CenterBox;\n","import { type PropsWithChildren } from 'react';\nimport { Link } from 'react-router-dom';\n\ntype DataAttributes = `data-${string}`;\n\ntype OwnButtonProps = {\n /** text content of the button */\n text: string;\n /** type hint of the html button */\n type?: 'submit' | 'button';\n /** whether this is a secondary button */\n secondary?: boolean;\n /** optional onClick callback */\n onClick?: () => void;\n\n className?: string;\n\n style?: React.CSSProperties;\n} & {\n [k: DataAttributes]: string | number | boolean;\n};\n\n/**\n * Primary button in the app design\n * @param props @see OwnButtonProps\n */\nconst PrimaryOwnUIButton = (props: OwnButtonProps) => (\n
\n \n {props.text}\n \n
\n);\n\n/**\n * Secondary button in the app design\n * @param props @see OwnButtonProps\n */\nconst SecondaryOwnUIButton = (props: OwnButtonProps) => (\n
\n \n {props.text}\n \n
\n);\n\n// export const PrimaryOwnUIButton2: React.FC<\n// PropsWithChildren\n// > = ({ className, onClick, type, style, children, ...props }) => (\n// \n// {children}\n// \n// );\n\ntype WithComponent = {\n Component: React.ElementType;\n};\n\ntype OwnButtonProps2 = Omit &\n PropsWithChildren<{\n disabled?: boolean;\n href?: string;\n small?: boolean; // Added new prop\n to?: string;\n replace?: boolean;\n }>;\n\nexport const InnerOwnUIButton2 = ({\n className,\n onClick,\n type,\n style,\n children,\n secondary,\n Component,\n small, // Added new prop\n ...props\n}: WithComponent & OwnButtonProps2) => (\n \n {children}\n \n);\n\n/**\n * Button in the app design\n * @param props @see OwnButtonProps\n */\nexport const OwnUIButton2 = ({ children, href, ...props }: OwnButtonProps2) => {\n const isLink = href && !props.disabled;\n // ? (children: React.ReactNode) => (\n // // TODO: I'd really like to use prefetch=\"intent\" here,\n // // but it's not supported by react-router-dom v5\n // // \n // {children}\n // )\n\n return isLink ? (\n \n {children}\n \n ) : (\n \n {children}\n \n );\n};\n\n/**\n * Button in the app design\n * @param props @see OwnButtonProps\n */\nconst OwnUIButton = (props: OwnButtonProps) =>\n props.secondary ? (\n \n ) : (\n \n );\n\nexport default OwnUIButton;\n","import { sha256 } from 'js-sha256'; // npm install js-sha256\n\n// Function to generate a random string of specified length\nfunction generateRandomString(length: number): string {\n const array = new Uint8Array(length);\n window.crypto.getRandomValues(array);\n return Array.from(array, (byte) => ('0' + byte.toString(16)).slice(-2)).join(\n ''\n );\n}\n\n// Function to generate a code verifier\nexport function generateCodeVerifier(): string {\n return generateRandomString(32);\n}\n\n// Function to generate a code challenge from a code verifier\nexport async function generateCodeChallenge(verifier: string): Promise {\n const encoder = new TextEncoder();\n const data = encoder.encode(verifier);\n\n const hash = sha256.arrayBuffer(data);\n const base64Url = btoa(String.fromCharCode(...new Uint8Array(hash)))\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=/g, '');\n return base64Url;\n}\n\n// Function to verify the PKCE code challenge\nexport async function verifyPKCE(\n storedVerifier: string,\n receivedChallenge: string\n): Promise {\n const computedChallenge = await generateCodeChallenge(storedVerifier);\n return computedChallenge === receivedChallenge;\n}\n","import { OwnUIButton2 } from 'ui/OwnUIButton';\nimport { generateCodeVerifier, generateCodeChallenge } from 'utils/pkce';\nimport { Browser } from '@capacitor/browser';\nimport { Capacitor } from '@capacitor/core';\nimport { isPlatform } from '@ionic/react';\n\nexport const GOOGLE_CLIENT_NAME = 'own-page-google-web';\n\nconst isNativeApp =\n (isPlatform('android') || isPlatform('ios')) && !isPlatform('mobileweb');\nconst OAUTH_REDIRECT_URI = isNativeApp\n ? import.meta.env.VITE_OWN_DEEPLINK_URL\n : `${window.location.origin}/auth/callback`;\n\nfunction assertGoogleClientId(\n googleClientId: string | undefined\n): asserts googleClientId is string {\n if (!googleClientId) {\n throw new Error('GOOGLE_CLIENT_ID is not set', {\n cause: googleClientId\n });\n }\n}\n\nassertGoogleClientId(import.meta.env.VITE_GOOGLE_CLIENT_ID);\n\ntype CustomGoogleAuthProps = {\n username?: string;\n type: 'signin' | 'signup';\n};\n\nasync function openWebsite(url: string) {\n if (Capacitor.getPlatform() === 'android') {\n window.open(url, '_blank');\n } else {\n await Browser.open({\n url,\n windowName: '_self',\n presentationStyle: 'popover' // iOS only\n });\n }\n}\n\nconst CustomGoogleAuth = (props: CustomGoogleAuthProps) => {\n const handleOAuthSignIn = async () => {\n const codeVerifier = generateCodeVerifier();\n const codeChallenge = await generateCodeChallenge(codeVerifier);\n\n const state = btoa(\n encodeURIComponent(\n JSON.stringify({\n username: props.username,\n codeVerifier,\n type: props.type\n })\n )\n );\n\n const googleAuthUrl = new URL(\n 'https://accounts.google.com/o/oauth2/v2/auth'\n );\n googleAuthUrl.searchParams.append(\n 'client_id',\n import.meta.env.VITE_GOOGLE_CLIENT_ID\n );\n googleAuthUrl.searchParams.append('redirect_uri', OAUTH_REDIRECT_URI);\n googleAuthUrl.searchParams.append('response_type', 'code');\n googleAuthUrl.searchParams.append('scope', 'email profile');\n googleAuthUrl.searchParams.append('state', state);\n googleAuthUrl.searchParams.append('code_challenge', codeChallenge);\n googleAuthUrl.searchParams.append('code_challenge_method', 'S256');\n\n await openWebsite(googleAuthUrl.toString());\n };\n\n return (\n \n \n Google\n \n );\n};\n\nexport default CustomGoogleAuth;\n","import type { PropsWithChildren } from 'react';\n\ntype OwnInputProps = PropsWithChildren<{\n /** label text describing the input */\n label: string;\n /** input type which tells the mobile phone which keyboard to display */\n type?: 'text' | 'password' | 'email' | 'url';\n /** auto complete hint */\n autoComplete?: 'current-password' | 'new-password' | 'email';\n /** pattern to validate the input against */\n pattern?: string;\n /** text defining the password pattern */\n title?: string;\n /** if this field is required */\n required?: boolean;\n /** if this field is disabled (and hence the content cannot be changed) */\n disabled?: boolean;\n /** TODO */\n value?: string;\n /** the function that is called when the value of this field changes */\n onChange?: (event: React.ChangeEvent) => void;\n /** string that is shown in the text-field before the input */\n prefix?: string;\n /** name identifier of this form, referenced in form data, fallback is label.toLowerCase() */\n name?: string;\n /** the className to be appended to this component */\n className?: string;\n\n onKeyPress?: (event: React.KeyboardEvent) => void;\n\n onClick?: (event: React.MouseEvent) => void;\n\n /** */\n inputRef?: React.Ref;\n\n style?: React.CSSProperties;\n\n readOnly?: boolean;\n\n prefixClassName?: string;\n}>;\n\n/**\n * Input field in the app design\n * @param props @see OwnInputProps\n */\nconst OwnUIInput = (props: OwnInputProps) => {\n const hasPrefix =\n props.prefix && props.prefix !== null && props.prefix !== '';\n\n return (\n
\n {/* */}\n {hasPrefix && (\n
\n {props.prefix}\n
\n )}\n \n\n {/* {props.type === 'password' && (\n \n )} */}\n
\n );\n};\n\n/**\n * Input field in the app design\n * @param props @see OwnInputProps\n */\nexport const OwnUIInput2 = ({\n children,\n prefix,\n inputRef,\n className,\n prefixClassName,\n style,\n ...props\n}: OwnInputProps) => {\n // const hasPrefix = prefix && prefix !== null && prefix !== '';\n\n return (\n \n {prefix && (\n \n {prefix}\n \n )}\n {/* \n {hasPrefix && (\n
\n {prefix}\n
\n )} */}\n \n
{children}
\n \n );\n};\n\nexport default OwnUIInput;\n","import {\n type AlertOptions,\n type UseIonAlertResult,\n useIonAlert\n} from '@ionic/react';\nimport './OwnUIAlert.css';\nimport type { HookOverlayOptions } from '@ionic/react/dist/types/hooks/HookOverlayOptions';\n\n/**\n * Callback function to present an alert\n */\nexport type OwnAlertResult = [\n (options: AlertOptions & HookOverlayOptions) => void,\n UseIonAlertResult[1]\n];\n\n/**\n * React hook to present an alert (a popup window that overlays the screen in the center)\n * @returns the function to display a text as alert\n */\nexport const useOwnAlert: () => OwnAlertResult = () => {\n const [showAlert, dismiss] = useIonAlert();\n\n return [\n (options: AlertOptions & HookOverlayOptions) =>\n showAlert({ ...options, cssClass: `own-alert ${options.cssClass}` }),\n dismiss\n ];\n};\n\n// export const OwnAlert: React.FC<\n// PropsWithChildren<{\n// isOpen: boolean;\n// onDidDismiss: () => void;\n// }>\n// > = ({ isOpen, onDidDismiss, children }) => {\n// return (\n// \n// {/*
{children}
*/}\n//
\n//
\n//

\n// Name Your Page\n//

\n//
\n//
\n//
\n//
\n// \n//
\n//
\n//
\n// \n// OK\n// \n//
\n//
\n// \n// );\n// };\n","import { useIonToast } from '@ionic/react';\nimport './OwnUIToast.css';\n\n/**\n * Callback function to present a text as toast\n * @param message the toast text\n */\nexport type OwnToastPresent = (message: string) => void;\n\n/**\n * React hook to present a toast (a small popup window that overlays the screen)\n * @returns the function to display a text as toast\n */\nexport const useOwnToast: () => OwnToastPresent = () => {\n const [present] = useIonToast();\n\n return (message: string) =>\n present({\n message: message,\n duration: 2_000, // in ms\n // 'top' | 'middle' | 'bottom'\n position: 'bottom',\n cssClass: 'own-toast'\n });\n};\n","type ErrorTextProps = {\n /** the error text, if existing */\n error?: string | null;\n};\n\n/**\n * Component that displays the error text to the user (inline, below the form)\n * @param props @see ErrorTextProps\n */\nconst ErrorText = (props: ErrorTextProps) => {\n return (\n props.error && (\n
{props.error}
\n )\n );\n};\n\nexport default ErrorText;\n","'use server';\n\nexport const sendDiscordMessage = async (message: string) => {\n try {\n // A fetch request to send data through the discord\n // webhook, and display it as a message in your\n // discord channel\n await fetch(import.meta.env.VITE_OWN_DISCORD_WEBHOOK_URL, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n content: message\n })\n });\n } catch (err: unknown) {\n // Just in case :)\n console.log(err);\n }\n};\n","import { useIonRouter, useIonViewWillEnter } from '@ionic/react';\nimport { type PropsWithChildren, useState } from 'react';\nimport { BACKEND_API, Routes } from 'paths';\nimport './Register.css';\nimport { type RouteComponentProps, useHistory } from 'react-router';\nimport { db } from 'instantdb/db'; // Import the InstantDB instance\nimport {\n InputOTP,\n InputOTPGroup,\n InputOTPSlot,\n InputOTPSeparator\n} from 'ui/shadcn/input-otp';\n\nimport CenterBox from 'components/CenterBox';\nimport LoadingPage from 'components/LoadingPage';\nimport _CustomGoogleAuth from './CustomGoogleAuth';\nimport { OwnUIButton2, OwnUIInput2, OwnUISubPage } from 'ui';\nimport { tx } from '@instantdb/react';\nimport { useUser } from 'stores/userStore';\nimport ErrorText from 'components/ErrorText';\nimport { getPlatforms } from '@ionic/core';\nimport { sendDiscordMessage } from 'utils/discord';\nimport CustomGoogleAuth from './CustomGoogleAuth';\n\ntype RegisterProps = {\n username: string;\n /** State change callback to display the loading spinner */\n setInProgress: React.Dispatch>;\n};\n\n// const getSourcePlatform = () => {\n// if (isPlatform('android')) return 'Android';\n// if (isPlatform('ios')) return 'iOS';\n// if (isPlatform('mobileweb')) return 'Mobile Web';\n// if (isPlatform('desktop')) return 'Desktop';\n// return 'Other';\n// };\n\nexport const GOOGLE_CLIENT_ID =\n '1071262624594-j9el5mqc8b3qkte14jisfi3kncte5re3.apps.googleusercontent.com';\n\nconst EMAIL_REGEX =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|.(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\nexport const getFormattedDate = () => {\n return new Date()\n .toLocaleString('en-GB', {\n timeZone: 'Europe/Vienna',\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n hour12: false\n })\n .replace(/\\//g, '-')\n .replace(',', '');\n};\n\nconst sendRegistrationDiscordMessage = (\n username: string,\n sentEmail: string\n) => {\n const messages = [\n '🎉 Amazing! New user registration alert! 🎉',\n '🔔 Wohoo! Heads up! A new user has just registered! 🔔',\n '📢 Hooray! New user signed up! 📢',\n '🆕 Fantastic! User registration complete! 🆕',\n '✅ Great news! New user added to the system! ✅',\n '📬 Awesome! New user registration received! 📬',\n '📈 Exciting! User base just grew by one! 📈'\n ];\n\n const randomMessage = messages[Math.floor(Math.random() * messages.length)];\n sendDiscordMessage(\n `${randomMessage}\\nUsername: ${username}\\nEmail: ${sentEmail}`\n );\n};\n\nexport const sendMagicCodeToEmail = async (\n email: string,\n presentError: React.Dispatch>,\n setSentEmail: React.Dispatch>\n) => {\n try {\n await db.auth.sendMagicCode({ email });\n console.log('Magic code sent successfully');\n presentError(null);\n } catch (err) {\n if (err instanceof Error) {\n presentError('Uh oh :' + err.message);\n } else {\n presentError('Uh oh : An unknown error occurred');\n }\n setSentEmail('');\n }\n};\n\nexport const MagicCodeRegister = (props: {\n username: string;\n sentEmail: string;\n errorText: string | null;\n presentError: React.Dispatch>;\n setSentEmail: React.Dispatch>;\n\n forwardPage: string;\n}) => {\n const [code, setCode] = useState('');\n const [resent, setResent] = useState(false);\n const sentEmail = props.sentEmail;\n const username = props.username;\n\n const router = useIonRouter();\n\n const handleSubmit = (e: React.FormEvent) => {\n try {\n e.preventDefault();\n db.auth\n .signInWithMagicCode({ email: sentEmail, code })\n .then((registeredUser) => {\n console.log('SignInWithIdToken successful: ', registeredUser);\n db.transact([\n tx.profiles[registeredUser.user.id]\n .update({\n username: username\n //email: registeredUser.user.email,\n })\n .link({ user: registeredUser.user.id }),\n tx.registrationInfo[registeredUser.user.id]\n .update({\n source: getPlatforms(),\n registered_on: getFormattedDate(),\n last_login: getFormattedDate()\n })\n .link({ user: registeredUser.user.id })\n ]);\n console.log('process.env.NODE_ENV', process.env.NODE_ENV);\n if (process.env.NODE_ENV !== 'development') {\n sendRegistrationDiscordMessage(username, sentEmail);\n }\n })\n .then(() => {\n console.log('User data created successfully');\n router.push(props.forwardPage, 'root', 'replace');\n })\n .catch((err) => {\n props.presentError('Uh oh :' + err.body?.message);\n setCode('');\n });\n } catch (e) {\n console.error('Error signing up:', e);\n const error = e as Error;\n props.presentError(error.message);\n }\n };\n\n const codeFull = code.length === 6;\n\n return (\n
\n
\n Enter the code from your email:\n
\n
\n setCode(e)}>\n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n\n
\n \n \n Verify account\n \n
\n \n\n 0}\n >\n {!resent ? (\n <>\n Didn't receive an email? Check your spam folder or{' '}\n {\n setResent(true);\n sendMagicCodeToEmail(\n props.sentEmail,\n props.presentError,\n props.setSentEmail\n );\n setTimeout(() => {\n setResent(false);\n }, 15000);\n }}\n >\n click here to resend code\n \n \n ) : (\n <>Code resent!\n )}\n \n \n );\n};\n\nexport const emailUsed = async (newUsername: string, email: string) => {\n const res = await fetch(BACKEND_API + '/email-used', {\n method: 'POST',\n mode: 'cors',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({ username: newUsername, email })\n });\n\n const data = await res.json();\n\n return data.isUsed;\n};\n\n// export const GoogleSignUp = (props: { username: string; email: string }) => {\n// const [nonce] = useState(\n// () => Date.now().toString(36) + Math.random().toString(36).substring(2)\n// );\n\n// return (\n//
\n// \n// {\n// console.error('Google Login Error:');\n// alert('Login failed!');\n// }}\n// onSuccess={(credentialResponse) => {\n// console.log('Google credential received:', credentialResponse);\n// if (credentialResponse.credential) {\n// // Decode the JWT to get user information\n// const decodedToken = JSON.parse(\n// atob(credentialResponse.credential.split('.')[1])\n// );\n// const googleEmail = decodedToken.email;\n\n// db.auth\n// .signInWithIdToken({\n// clientName: GOOGLE_CLIENT_NAME,\n// idToken: credentialResponse.credential,\n// nonce: nonce\n// })\n// .then(() => {\n// console.log('SignInWithIdToken successful');\n// return db.transact(\n// tx.users[id()].update({\n// username: props.username,\n// email: googleEmail,\n// createdAt: Date.now()\n// })\n// );\n// })\n// .then(() => {\n// console.log('User data updated successfully');\n// //router.push(Routes.dashboard, 'root', 'replace');\n// })\n// .catch((err) => {\n// console.error('SignInWithIdToken Error:', err);\n// alert(\n// 'Login failed: ' +\n// (err.body?.message || err.message || 'Unknown error')\n// );\n// });\n// } else {\n// console.error('No credential received from Google');\n// alert('Login failed: No credential received');\n// }\n// }}\n// />\n// \n//
\n// );\n// };\n\nconst AccountCreation = (props: {\n username: string;\n errorText: string | null;\n presentError: React.Dispatch>;\n email: string;\n setEmail: React.Dispatch>;\n setSentEmail: React.Dispatch>;\n}) => {\n const email = props.email;\n const username = props.username;\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n if (!email) return;\n\n try {\n if (!EMAIL_REGEX.test(email)) {\n throw new Error('You have entered an invalid email');\n }\n\n const isEmailUsedForAnotherUsername = await emailUsed(username, email);\n\n if (isEmailUsedForAnotherUsername) {\n throw new Error('This email is already in use with another username');\n }\n\n props.setSentEmail(email);\n await sendMagicCodeToEmail(email, props.presentError, props.setSentEmail);\n } catch (e) {\n const error = e as Error;\n props.presentError(error.message);\n }\n };\n\n return (\n <>\n
\n Proceed with\n
\n
\n \n {\n props.setEmail(e.target.value.toLowerCase()); // forbid uppercase for email\n props.presentError(null);\n }}\n />\n \n\n
\n \n \n Create Account\n \n
\n \n \n \n {/* TODO: reintroduce Google auth */}\n
or
\n
\n \n
\n \n );\n};\n\n/**\n * Component to claim a username\n * (parent is the @see Authentication component)\n * @param props @see AuthProps\n */\nexport const Finalize = (props: RegisterProps) => {\n const [email, setEmail] = useState('');\n const [errorText, setErrorText] = useState(null);\n const [sentEmail, setSentEmail] = useState('');\n\n return (\n
\n \n own.page/{props.username}\n  is yours!\n
\n\n \n {sentEmail ? (\n \n ) : (\n \n )}\n \n \n );\n};\n\n/**\n * Page where the user registers\n */\nconst Register = ({\n location\n}: RouteComponentProps) => {\n const [inProgress, setInProgress] = useState(false);\n\n const username = location.state?.username;\n\n const history = useHistory();\n const user = useUser();\n\n useIonViewWillEnter(() => {\n // if we go here while being logged in, navigate away!\n if (user) {\n history.replace('/');\n }\n // if we have no username passed, go back to claim page\n if (!username) {\n history.replace(Routes.claim);\n }\n }, [username, user]);\n\n const registerProps: RegisterProps = {\n username: username || '',\n setInProgress\n };\n\n return (\n \n {inProgress && }\n\n \n \n \n\n
\n By signing up, you agree to our{' '}\n \n Privacy Policy\n {' '}\n and{' '}\n \n Terms of Service\n \n
\n
\n );\n};\n\nconst Footer = ({ children }: PropsWithChildren) => {\n return (\n \n {children}\n \n );\n};\n\nexport default Register;\n","import { tx } from '@instantdb/react';\nimport { db } from 'instantdb/db';\nimport { getImageUrl, type OwnPage } from '@own.page/rendering/index';\nimport { useUserStore } from 'stores/userStore';\nimport { BACKEND_API } from 'paths';\nimport { usePagesStore } from '.';\nimport { getFormattedDate } from 'pages/auth/Register';\n\nexport const subscribe = (callback: (pages: OwnPage[]) => void) => {\n db._core.subscribeAuth((auth) => {\n if (!auth.user) return;\n\n // actually \"owner\" is from profiles not $users, however, we use the same id, so this works!\n const query = { pages: { $: { where: { owner: auth.user?.id } } } };\n\n db._core.subscribeQuery(query, (res) => {\n const rawPages = res.data?.pages;\n if (!rawPages) return;\n\n const ownPages = rawPages.map((p) => p.data as OwnPage);\n callback(ownPages);\n });\n });\n};\n\nasync function cleanUpImageUrls() {\n const urls = usedImageUrls();\n\n const user = useUserStore.getState().user;\n if (!user) return;\n\n // Delete user also from auth\n const res = await fetch(BACKEND_API + '/images/sync', {\n method: 'POST',\n mode: 'cors',\n headers: {\n token: user.refresh_token\n },\n body: JSON.stringify({ usedImages: urls })\n });\n\n const data = await res.json();\n console.log(data);\n}\n\nfunction addPage(page: OwnPage) {\n const user = useUserStore.getState().user;\n\n if (!user) {\n throw new Error('user not logged in');\n }\n //const timestamp = Date.now();\n\n db.transact(\n tx.pages[page.id]\n .update({\n url: page.url,\n created_at: getFormattedDate(),\n last_update: getFormattedDate(),\n data: page\n })\n .link({ owner: user.id })\n ).catch((err) => console.log('error saving page', page, err));\n\n cleanUpImageUrls();\n}\n\nfunction updatePage(page: OwnPage) {\n db.transact([\n tx.pages[page.id].update({\n url: page.url,\n last_update: getFormattedDate(),\n data: page\n })\n ]);\n\n cleanUpImageUrls();\n}\n\nfunction deletePage(page: OwnPage) {\n db.transact([tx.pages[page.id].delete()]);\n cleanUpImageUrls();\n}\n\nexport const imageUrls = (page: OwnPage) =>\n Object.values(page.elements).map(getImageUrl);\n\nexport const usedImageUrls = () => {\n const pages = usePagesStore.getState().pages;\n const urlSet = new Set(\n Object.values(pages)\n .flatMap((page) => imageUrls(page))\n .filter((url) => url !== undefined && url !== null)\n );\n\n const user = useUserStore.getState().user;\n\n if (user && user.avatar) {\n urlSet.add(user.avatar);\n }\n\n const urls = Array.from(urlSet);\n return urls;\n};\n\nexport const storage = {\n addPage,\n updatePage,\n deletePage,\n cleanUpImageUrls\n};\n","import {\n migrateIfOutdated,\n type OldOwnPage,\n type OwnPage,\n type OwnPageId\n} from '@own.page/rendering/index';\nimport { useUserStore } from 'stores/userStore';\nimport { MAX_PAGES, createEmojiId, createPageId } from 'utils/id';\nimport { computeVCard } from 'utils/vcard';\nimport {\n cleanUpUrl,\n HOME_PAGE_ATTRIBUTES,\n initialState,\n usePagesStore,\n type State\n} from '.';\nimport { arrayToObjectById } from 'utils/arrayToObject';\nimport { storage, subscribe } from './storage';\n\nconst { setState: set, getState: get } = usePagesStore;\n\n/**\n * adds a new page to the store of pages, also computes the new id\n */\nfunction add(page: Partial, upload: boolean = true) {\n if (Object.keys(get().pages).length >= MAX_PAGES) {\n throw new Error('already maximum number of pages reached');\n }\n\n const id = createPageId();\n\n const isIndex = get().index === null;\n\n const replacePageInfo: { title: string; url: string } = isIndex\n ? HOME_PAGE_ATTRIBUTES\n : createEmojiPageInfo();\n\n const urlAlreadyInUse = Object.values(get().pages).find(\n (e) => e.url === page.url\n );\n\n // only use the replace page info from above if we do not have title + url already\n // the default & onboarding page have only url set so if the page also contains a title we\n // have custom info (e.g. from the user prompt)\n const pageInfo =\n urlAlreadyInUse === undefined &&\n page.url &&\n page.url.length > 0 &&\n page.title &&\n page.title.length > 0\n ? {}\n : replacePageInfo;\n\n const newPage = computeVCard(\n {\n ...page,\n id,\n ...pageInfo\n // version: something, go to EditorContext.tsx into initialEditor.page and bump there!\n } as OwnPage,\n useUserStore.getState().user\n );\n\n // TODO: in the future we will always upload!\n if (upload) {\n storage.addPage(newPage);\n }\n\n set((s) => {\n const pages = {\n ...s.pages,\n [newPage.id]: newPage\n };\n\n // if no index is set, this will become the index\n return isIndex ? { index: newPage.id, pages } : { pages };\n });\n\n return newPage;\n}\n\n/**\n * overwrites the page with the given id form the page store with the passed page\n * @param idx the idx of the page that will be replaced\n * @param page the new page data that will be in the page store\n * @param _user the user that is the owner of the page\n * @param upload whether the page should be uploaded to the server\n */\nfunction update(page: OwnPage, upload: boolean = true) {\n // TODO: make vcard actually a seperate thing that is stored once per user, not for every page!\n const newPage = computeVCard(page, useUserStore.getState().user);\n\n // TODO: in the future we will always upload!\n if (upload) {\n storage.updatePage(newPage);\n }\n\n set((s) => {\n const pages = {\n ...s.pages,\n [newPage.id]: newPage\n } as State['pages'];\n\n return { pages };\n });\n\n return newPage;\n}\n\n/**\n * deletes a page form the page store\n * @param page the page that will be removed\n */\nfunction remove(page: OwnPage) {\n set((s) => {\n const { [page.id]: _, ...pages } = s.pages;\n const pagesList = Object.values(pages);\n\n storage.deletePage(page);\n\n if (pagesList.length === 0) {\n return initialState;\n }\n\n // if this was the index we just pick the first other one\n if (s.index === page.id) {\n setAsHomePage(pagesList[0], true);\n }\n\n return {\n pages,\n usedEmojis: s.usedEmojis.filter((s) => s !== page.url)\n } as Partial;\n });\n}\n\nfunction setAsHomePage(page: OwnPage, skipOldUpdate: boolean = false) {\n const s = get();\n const currentHomePage = s.index;\n\n if (currentHomePage === page.id) {\n return;\n }\n\n if (currentHomePage !== null && !skipOldUpdate) {\n // give old page new info\n const oldPage = s.pages[currentHomePage];\n const notHomeAnymorePage = {\n ...oldPage,\n ...createEmojiPageInfo()\n };\n update(notHomeAnymorePage);\n }\n\n const newHomePage = { ...page, ...HOME_PAGE_ATTRIBUTES }; // Maybe here actually retain title and only change url\n update(newHomePage);\n set({ index: newHomePage.id });\n}\n\nfunction rename(\n page: OwnPage,\n url: string,\n title: undefined | string,\n onSuccess: () => void,\n onError: (error: Error) => void\n) {\n const cleanedUpUrl = cleanUpUrl(url);\n\n const pagesMatchingUrl = (Object.keys(get().pages) as OwnPageId[])\n .filter((id) => id !== page.id)\n .map((id) => get().pages[id])\n .filter((p) => p.url === url);\n\n if (pagesMatchingUrl.length > 0) {\n const titles = pagesMatchingUrl.map((p) => p.title).join(', ');\n const message = `URL \"${cleanedUpUrl}\" already in use by these other pages: ${titles}`;\n onError(new Error(message));\n return;\n }\n\n const newPage = { ...page, url, title };\n update(newPage);\n onSuccess();\n}\n\nfunction reset() {\n usePagesStore.setState(initialState);\n}\n\nfunction createEmojiPageInfo() {\n const emojiId = createEmojiId(get().usedEmojis);\n\n if (!emojiId) {\n throw new Error(\n \"out or emoji id's, could not generate url & title for page!\"\n );\n }\n set((s) => ({ usedEmojis: [...s.usedEmojis, emojiId] }));\n return { title: emojiId, url: emojiId };\n}\n\nfunction hydrate(pages: (OwnPage | OldOwnPage)[]) {\n const migratedPages = pages.map((p) => migrateIfOutdated(p));\n const migratedPagesObject = arrayToObjectById(migratedPages, (p) => p.id);\n\n const newState: State = {\n pages: migratedPagesObject,\n index: migratedPages.find((p) => p.url === 'index')?.id || null,\n usedEmojis: migratedPages\n .map((p) => p.url)\n .filter((u) => u && u !== 'index') as string[] // here custom urls would be in used Emojis but thats not a problem\n };\n\n set(newState);\n}\n\nexport const pagesActions = {\n add,\n update,\n remove,\n setAsHomePage,\n rename,\n reset,\n hydrate\n};\n\nsubscribe(pagesActions.hydrate);\n","import { create } from 'zustand';\nimport {\n createJSONStorage,\n persist,\n subscribeWithSelector\n} from 'zustand/middleware';\n\nimport { createElementId } from 'utils/id';\nimport {\n calculateChanges,\n collapseSpaces,\n type ElementsMap,\n makeSpace,\n placeElement\n} from 'editor/algorithm';\nimport {\n type ThemeName,\n initialThemeName,\n isInitial,\n isInitialOrModified,\n themeList,\n themes\n} from 'themes';\nimport {\n getEditorHeightOverwrite,\n getHeightDefiningElement\n} from 'editor/editor-elements';\nimport { type useHistory } from 'react-router';\nimport {\n _activateEditorActions,\n deselect,\n useActiveEditorStore\n} from './activeEditorStore';\nimport { createMutators } from 'stores';\nimport {\n CURRENT_VERSION,\n getBackgroundOf,\n getImageUrl,\n getMinimumDimensions,\n type FontVariable,\n type OwnElement,\n type OwnElementId,\n type OwnElementType,\n type OwnPage,\n type OwnPageId,\n type OwnStyle\n} from '@own.page/rendering/index';\nimport { isValidPageId } from './pages';\nimport { pagesActions } from './pages/actions';\n\nexport const algorithm = {\n makeSpace,\n placeElement,\n collapseSpaces,\n calculateChanges\n};\n\nexport const GRID_COLUMNS = 6;\n\ntype State = {\n /** Page that this editor operates on */\n page: OwnPage;\n styleBackup: OwnStyle;\n themes: ThemeName[];\n themeIndex: number;\n lastSaved: OwnPage;\n elementsCount: Record;\n imageUploads: Record>;\n};\n\ntype SetOf = (\n partial: T | Partial | ((state: T) => T | Partial),\n replace?: boolean | undefined\n) => void;\n\nexport const defaultHeight = 12;\nexport const initialPageId: OwnPageId = 'page:initial';\nexport const initialStyle = themes.initial;\n\nconst getElementCount = (elements: ElementsMap) => {\n return Object.values(elements).reduce(\n (acc, e) => {\n acc[e.type] = (acc[e.type] || 0) + 1;\n return acc;\n },\n {} as Record\n );\n};\n\nconst initialState: (set?: SetOf) => State = (_set) => {\n const backgroundId = createElementId();\n\n const page: OwnPage = {\n version: CURRENT_VERSION, // bump version here!\n id: initialPageId,\n url: 'index',\n style: initialStyle,\n sections: {\n home: {\n id: 'home',\n background: backgroundId,\n elements: [backgroundId]\n }\n },\n elements: {\n [backgroundId]: {\n id: backgroundId,\n type: 'background',\n grid: { x: 0, y: 0, w: 6, h: defaultHeight },\n props: {\n color: 'var(--background-color)'\n }\n }\n }\n };\n\n return {\n page,\n styleBackup: themes.initial,\n themes: themeList,\n themeIndex: 0,\n lastSaved: page,\n elementsCount: getElementCount(page.elements),\n imageUploads: {}\n };\n};\n\nexport type EditorSlice = State;\nconst _DEVTOOLS = false;\n\nconst _useEditorStore = create()(\n persist(subscribeWithSelector(initialState), {\n name: 'editor',\n storage: createJSONStorage(() => sessionStorage)\n })\n);\n\nconst get = _useEditorStore.getState;\nconst { set, update } = createMutators(_useEditorStore.setState);\n\nexport const useEditorStore = _useEditorStore as typeof _useEditorStore & {\n setState: never; // no access to setState() outside\n};\n\n/**\n * May update the heights of the background elements in the given 'elements' array.\n * This extract the maximum height (maxHeight) of all elements (element y + height) and\n * sets the heights of the background elements to maxHeight.\n * @param elements All elements to consider for the background height update (both background and non-background elements)\n * @returns An array elements (with both background and non-background elements) where the background elements have their height updated\n */\nfunction updateBackgroundHeight(\n background: OwnElement,\n elements: ElementsMap\n): OwnElement | undefined {\n const bottomPadding = 3; // amount of units that are appended at the bottom\n\n let maxHeight = -1;\n\n for (const key in elements) {\n const e = elements[key as OwnElementId];\n if (e.type !== 'background') {\n maxHeight = Math.max(maxHeight, e.grid.y + e.grid.h);\n }\n }\n\n const backgroundHeight = background.grid.h;\n const newHeight = Math.max(maxHeight + bottomPadding, defaultHeight);\n\n // no height changes\n if (backgroundHeight === newHeight) {\n return undefined;\n }\n\n // return updated background element\n return {\n ...background,\n grid: { ...background.grid, h: newHeight }\n };\n}\n\nconst updateElementsWithBackground = (page: OwnPage, elements: ElementsMap) => {\n const background = getBackgroundOf(page);\n const updatedBackground = updateBackgroundHeight(background, elements);\n\n if (updatedBackground) {\n elements[updatedBackground.id] = updatedBackground;\n }\n\n return elements;\n};\n\n/**\n * Adds an element to the page, also generates a new ID for this element\n */\nfunction addElement(\n element: Partial & Pick,\n clone?: OwnElement\n) {\n const elementID = createElementId();\n const page = get().page;\n\n const minimumDimensions = getMinimumDimensions(element);\n const newElement = {\n ...element,\n grid: {\n ...element.grid,\n w: Math.max(element.grid?.w || 0, minimumDimensions.w),\n h: Math.max(element.grid?.h || 0, minimumDimensions.h)\n },\n id: elementID,\n isNew: 'initial'\n } as OwnElement;\n\n const elementsMovedAndNew = placeElement(newElement, page.elements, clone);\n\n update().page.elements.merge(\n updateElementsWithBackground(page, elementsMovedAndNew)\n );\n\n update().page.sections.home.elements.replace([\n ...page.sections.home.elements,\n elementID\n ]);\n\n update().elementsCount.merge({\n [newElement.type]: (get().elementsCount[newElement.type] || 0) + 1\n });\n\n return elementID;\n}\n\nfunction dangerousUpdateElement(element: OwnElement) {\n update().page.elements[element.id].replace(element);\n}\n\n// REMOVED IN FAVOR OF updateElement\n/**\n * Updates an element of the page (e.g. to change the content, style)\n * @param element the element which will be updated\n */\nfunction updateMovingElement(\n movingElement: OwnElement,\n movedElements: ElementsMap\n) {\n const elements = {\n ...get().page.elements,\n ...movedElements,\n [movingElement.id]: movingElement\n // [movingElement.id]: { ...movingElement, isNew: 'updated' }\n };\n\n const elementsCollapsed = collapseSpaces(elements);\n dangerousUpdateMovedElements(elementsCollapsed);\n}\n\n/**\n * only call this is you are sure that the elements are correctly placed already!\n */\nfunction dangerousUpdateMovedElements(placedElements: ElementsMap) {\n update().page.elements.merge(\n updateElementsWithBackground(get().page, placedElements)\n );\n}\n\n/**\n * Updates an element of the page (e.g. to change the content, style)\n * @param element the element which will be updated\n */\nfunction updateElement(element: OwnElement) {\n const changedElements = calculateChanges(element, get().page.elements);\n dangerousUpdateMovedElements(changedElements);\n}\n\n/**\n * Updates an element from a tool (sets isNew)\n * @param element the element which will be updated\n */\nfunction updateElementFromTool(element: OwnElement) {\n updateElement({ ...element, isNew: 'update' });\n}\n\nfunction removeElement(element: OwnElement) {\n const page = get().page;\n\n const { [element.id]: _removedElement, ...newById } = page.elements;\n const newElements = collapseSpaces(newById);\n\n const newPage = {\n ...page,\n elements: newElements,\n sections: {\n ...page.sections,\n home: {\n ...page.sections.home,\n elements: page.sections.home.elements.filter((e) => e !== element.id)\n }\n }\n };\n\n update().elementsCount.merge({\n [element.type]: (get().elementsCount[element.type] || 0) - 1\n });\n\n update().page.replace(newPage);\n deselect();\n}\n\nfunction updateDomDimensions(id: OwnElementId, parentElement: HTMLElement) {\n const { isNew: _, ...newElement } = get().page.elements[id];\n const newH = getEditorHeightOverwrite(\n newElement,\n useActiveEditorStore.getState().sizeInfo,\n getHeightDefiningElement(parentElement)\n ); // currently only handling height\n\n if (newH && newH !== newElement.grid.h) {\n console.log('got a new h:', {\n ...newElement,\n grid: { ...newElement.grid, h: newH }\n });\n updateElement({\n ...newElement,\n grid: { ...newElement.grid, h: newH }\n });\n } else {\n console.log('did NOT get a new h:', newElement);\n // we just update so it doesnt contain \"isNew\" anymore\n dangerousUpdateElement(newElement);\n }\n}\n\nconst shift = (arr: string[], from?: string) => {\n const indexNew = arr.findIndex((t) => t === from);\n const indexOld = arr.findIndex((t) => isInitialOrModified(t));\n\n if (indexNew === -1) {\n throw new Error('theme ' + from + ' not in themes!');\n }\n\n const withoutI = arr.filter((t) => !isInitialOrModified(t));\n\n const insertInto =\n indexNew > indexOld ? withoutI : [...withoutI.slice(1), withoutI[0]];\n\n return [\n ...insertInto.slice(0, indexNew),\n arr[indexOld],\n ...insertInto.slice(indexNew)\n ];\n};\n\nconst reorderThemes = (style: OwnStyle) => {\n const themes = get().themes;\n if (themes.includes(style.name as ThemeName)) {\n return shift(themes, style.name) as ThemeName[];\n }\n return themes;\n};\n\nfunction updatePageStyle(style: OwnStyle) {\n if (style.name) {\n const themes = reorderThemes(style);\n const { name: _, ...unnamedStyle } = style;\n\n set((s) => ({\n themes,\n page: { ...s.page, style: unnamedStyle },\n styleBackup: unnamedStyle\n }));\n } else {\n set((s) => ({\n page: { ...s.page, style },\n styleBackup: style\n }));\n }\n}\n\nfunction updateColorVarsStyle(colorVariable: string, newColor: string) {\n const page = get().page;\n const { colors } = page.style; // Extracting colors object\n\n // Updating only the specified color variable without affecting others\n const updatedColors = {\n ...colors,\n [colorVariable]: newColor\n };\n\n // Creating the page with the updated style\n const newStyle = {\n ...page.style,\n colors: updatedColors\n };\n\n updatePageStyle(newStyle);\n}\n\nfunction updateFontVarsStyle(fontVariable: string, newFontStyle: FontVariable) {\n const page = get().page;\n const { fonts } = page.style; // Extracting fonts object\n\n // Updating only the specified font variable without affecting others\n const updatedFonts = {\n ...fonts,\n [fontVariable]: { ...fonts[fontVariable], ...newFontStyle }\n };\n\n // Creating the page with the updated style\n const newStyle = {\n ...page.style,\n fonts: updatedFonts\n };\n\n updatePageStyle(newStyle);\n}\n\n/**\n * Only use this when overwriting the style with a preset theme,\n * if you want to change the style use @see updatePageStyle\n */\nfunction updateTheme(index: number) {\n const theme = get().themes[index];\n set((s) => ({\n page: {\n ...s.page,\n style: isInitial(theme) ? s.styleBackup : themes[theme]\n },\n themeIndex: index\n }));\n}\n\nfunction reset() {\n set(initialState(set));\n}\n\nfunction automaticReplacement(\n localUrl: string,\n serverUrlPromise: Promise\n) {\n serverUrlPromise.then((serverUrl) => {\n const elements = get().page.elements;\n\n // find elements that use the im age\n const imageElements = Object.values(elements).filter(\n (e) => getImageUrl(e) === localUrl\n );\n\n // TODO: here we do not correctly use the getImageUrl() prop!\n // assumes for now that all images are at \"src\" prop\n imageElements.forEach((e) => {\n dangerousUpdateElement({ ...e, props: { ...e.props, src: serverUrl } });\n });\n });\n}\n\nfunction addImageUpload(localUrl: string, serverUrlPromise: Promise) {\n update().imageUploads.merge({\n [localUrl]: serverUrlPromise\n });\n\n automaticReplacement(localUrl, serverUrlPromise);\n}\n\nfunction removeImageUpload(localUrl: string) {\n const { [localUrl]: _delete, ...imageUploadsWithout } = get().imageUploads;\n update().imageUploads.replace(imageUploadsWithout);\n}\n\nexport const _editorActions = {\n // loadPage: (page: OwnPage) => set({ page, themes: reorderThemes(page.style) }),\n loadPage: (page: OwnPage) => {\n const resetState = initialState(set);\n const themeIndex = resetState.themes.findIndex(\n (e) => e === (page.style.name || initialThemeName)\n );\n\n // console.log('LOAD PAGE', page, page.elements);\n console.log('LOAD PAGE', page.id, page.url);\n\n set({\n ...resetState,\n page,\n themeIndex,\n styleBackup: page.style,\n lastSaved: page,\n elementsCount: getElementCount(page.elements)\n });\n },\n dangerousUpdateElement,\n updateMovingElement,\n addElement,\n updateElement,\n updateElementFromTool, // use this from tools to get automatic height calculation!\n updatePageStyle,\n updateColorVarsStyle,\n updateFontVarsStyle,\n updateTheme,\n removeElement,\n updateDomDimensions,\n reset,\n addImageUpload,\n removeImageUpload,\n navigateNewPage: (\n history: ReturnType,\n newUrl?: string\n ) => {\n reset();\n\n const pageObject =\n newUrl !== undefined && newUrl !== ''\n ? { newPage: true, newUrl }\n : { newPage: true };\n\n console.log('page object', pageObject);\n\n history.push('/editor', pageObject);\n },\n navigateToPage: (history: ReturnType, id: OwnPageId) => {\n console.log('navigating to page', id);\n history.push('/editor', { id });\n },\n // getFinalPage: () => {\n // get().page;\n // }\n savePage: async (upload: boolean = true) => {\n console.log('in save page', upload);\n\n // wait for all images to upload\n const imageUploads = Object.entries(get().imageUploads);\n if (imageUploads.length > 0) {\n await Promise.all(imageUploads.map(([_, upload]) => upload));\n }\n\n const editorPage = get().page;\n\n const lastSaved = (\n isValidPageId(editorPage.id) ? pagesActions.update : pagesActions.add\n )(editorPage, upload);\n\n set({\n page: lastSaved,\n lastSaved,\n imageUploads: {}\n });\n },\n ..._activateEditorActions\n};\n\ntype F = (...a: unknown[]) => unknown;\n\nconst LOG_ACTIONS = false;\n\nexport const editorActions = LOG_ACTIONS\n ? (Object.fromEntries(\n Object.entries(_editorActions).map(([k, v]) => [\n k,\n (...a: unknown[]) => {\n console.log('EditorAction[' + k + ']', ...a);\n (v as F)(...a);\n }\n ])\n ) as typeof _editorActions)\n : _editorActions;\n\nexport { initialState as initialEditorState };\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useActiveEditorStore } from 'stores/activeEditorStore';\nimport { editorActions, useEditorStore } from 'stores/editorStore';\nimport { useUserStore } from 'stores/userStore';\n\n// const OWN_ENV = process.env.OWN_ENV;\n// const isDebug = OWN_ENV === 'dev-deploy' || OWN_ENV === 'dev-local';\nconst isDebug = process.env.NODE_ENV === 'development';\nconst isProduction = !isDebug;\n\nexport default isDebug;\n\n(window as any).__isDebug = isDebug;\n\nif (isDebug) {\n (window as any).__debug = {\n get editor() {\n return useEditorStore.getState();\n },\n get activeEditor() {\n return useActiveEditorStore.getState();\n },\n editorActions,\n get user() {\n return useUserStore.getState();\n }\n };\n}\n\n/**\n * disabling console.log in production\n */\nif (isProduction) {\n console.log = () => {\n /* noop */\n };\n}\n","import { IonContent, IonPage } from '@ionic/react';\nimport { useEffect, useRef, type PropsWithChildren } from 'react';\nimport './OwnUIPage.css';\n// import preval from 'preval.macro';\nimport type { MinimalPageHeaderProps } from './OwnUIHeader';\nimport OwnUIHeader, { OwnUIMinimalHeader } from './OwnUIHeader';\nimport isDebug from 'isDebug';\n\n/**\n * Props for @see OwnUIPage\n */\ntype PageProps = PropsWithChildren<{\n /** the title text that is displayed in the header */\n headerTitle?: string;\n /** whether the logo should be hidden */\n hideLogo?: boolean;\n}>;\n\n// this is for kurzgesagt-like data format\nconst holocene = (dateString: string) => {\n const parts = dateString.split(' ');\n return `${parts[0]} ${parts[1]} 12,${parts[2].slice(1, 4)} - ${parts[3]}`;\n};\n\n// const roman = (year: number) => {\n// const romanNumerals = [\n// { value: 1000, symbol: 'M' },\n// { value: 900, symbol: 'CM' },\n// { value: 500, symbol: 'D' },\n// { value: 400, symbol: 'CD' },\n// { value: 100, symbol: 'C' },\n// { value: 90, symbol: 'XC' },\n// { value: 50, symbol: 'L' },\n// { value: 40, symbol: 'XL' },\n// { value: 10, symbol: 'X' },\n// { value: 9, symbol: 'IX' },\n// { value: 5, symbol: 'V' },\n// { value: 4, symbol: 'IV' },\n// { value: 1, symbol: 'I' }\n// ];\n\n// let result = '';\n// let remaining = year;\n\n// // if (remaining >= 10000) {\n// // // result += '\\u0058\\u0305\\u200B'; // X with overline, followed by zero-width space\n// // remaining -= 10000;\n// // }\n\n// for (const { value, symbol } of romanNumerals) {\n// while (remaining >= value) {\n// result += symbol;\n// remaining -= value;\n// }\n// }\n\n// return result;\n// };\n\n/**\n * Displays the version of the build in the footer\n */\nexport const VersionFooter: React.FC = () => {\n const dateTimeStamp = new Date().toLocaleDateString('en-AT', {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n timeZone: 'Europe/Vienna'\n });\n\n // const dateTimeStamp = preval`module.exports = new Date().toLocaleDateString(\n // 'en-AT',\n // { year: 'numeric', month: 'short', day: 'numeric', hour: '2-digit', minute: '2-digit', timeZone: 'Europe/Vienna' }\n // );`;\n\n const holoceneTimeStamp = holocene(dateTimeStamp);\n\n return (\n //
\n
\n
version: {holoceneTimeStamp}
\n {/*
\n X\n {roman(new Date().getFullYear())}\n
*/}\n
\n );\n};\n\nexport const pageBackground = {\n backgroundColor: '#1e2125',\n backgroundImage: \"url('/assets/gradient.png')\",\n // backgroundSize: '100% 100%',\n backgroundSize: 'cover',\n backgroundPositionX: 'center',\n boxShadow: 'inset 0px 0px 0px 1000px #1e212591'\n};\n\n/**\n * Component that describes the whole UI page\n * @param props @see PageProps , also uses puts children in IonContent\n */\n// const OwnUIPage: React.FC> = (props) => (\nconst OwnUIPage = (props: PageProps) => (\n \n \n \n {props.children}\n {isDebug && }\n \n {/* */}\n {/* */}\n \n);\n\ntype SubPageProps = PropsWithChildren<{\n /** whether the buttons should be hidden or not */\n hideUI?: boolean;\n swipeRef?: React.MutableRefObject;\n /** scroll element ref */\n scrollRef?: React.MutableRefObject;\n\n className?: string;\n\n header?: {\n /** title of this page, unused right now! */\n title?: string;\n /** callback that gets called when the back button is pressed */\n onBackClick?: (proceed: () => void) => void;\n /** additional classname for the header */\n className?: string;\n };\n\n background?: boolean;\n\n forceBackLink?: string;\n\n disableBackLink?: boolean;\n\n BackButton?: React.FC;\n}>;\n\n/**\n * SubPage that represents a simple page with the {@link OwnUIMinimalHeader}\n * @param props @see SubPageProps\n */\n// export const OwnUISubPage: React.FC> = (\n// props\n// ) => {\nexport const OwnUISubPage = (props: SubPageProps) => {\n const ref = useRef(null);\n\n if (props.swipeRef) {\n props.swipeRef.current = ref.current;\n }\n\n useEffect(() => {\n ref.current?.getScrollElement().then((e) => {\n if (props.scrollRef) {\n props.scrollRef.current = e;\n }\n });\n }, [props.scrollRef]);\n\n return (\n \n \n \n\n {props.children}\n \n \n );\n};\n\nexport default OwnUIPage;\n","import { pageBackground } from 'ui/OwnUIPage';\nimport './LoadingPage.css';\n\ntype SpinnerProps = {\n /** whether the a animation should come to a smooth stop (finishing the current circle) */\n stopped?: boolean;\n\n /** if true does a trastic stop */\n static?: boolean;\n};\n\n/**\n * The own.page loading animation icon (two dots circling around the O/P)\n * @param props @see SpinnerProps\n */\nexport const RawSpinner = (props: SpinnerProps) => {\n return (\n
\n \n \n \n
\n
\n );\n};\n\n/**\n * Displays own.page icon loading animation (two dots circling around the O/P)\n * basically the @see Spinner but uses a div around it to center everything\n * @param props @see SpinnerProps\n */\nconst LoadingPage = (props: SpinnerProps & { children?: React.ReactNode }) => {\n return (\n \n \n {props.children}\n
\n );\n};\n\nexport default LoadingPage;\n","import { db } from 'instantdb/db';\nimport {\n type RouteProps,\n Route,\n Redirect,\n type RouteComponentProps\n} from 'react-router';\nimport { useUser } from 'stores/userStore';\n// import LoadingPage from './LoadingPage';\nimport { Routes } from 'paths';\nimport LoadingPage from './LoadingPage';\n\ntype ComponentRouteProps = Omit & {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n render: React.ComponentType>;\n};\n\nconst debug = false;\n\nconst UserDebug = ({ routeType }: { routeType: 'public' | 'private' }) => {\n const auth = db.useAuth();\n const user = useUser();\n\n return (\n debug && (\n \n {routeType} Route\n
Auth: {JSON.stringify(auth)}
\n
User: {JSON.stringify(user)}
\n
\n )\n );\n};\n\nconst PublicFallback = () => ;\nconst PrivateFallback = () => ;\n\n/** Accessible only by unauthenticated users */\nexport const PublicRoute = ({\n render: Component,\n ...rest\n}: ComponentRouteProps) => {\n const { isLoading, user } = db.useAuth();\n\n return (\n (\n <>\n {/* */}\n {isLoading ? (\n \n ) : user ? (\n \n ) : (\n \n )}\n \n )}\n />\n );\n};\n\n/** Accessible only by authenticated users */\nexport const PrivateRoute = ({\n render: Component,\n ...rest\n}: ComponentRouteProps) => {\n const { isLoading, user } = db.useAuth();\n\n return (\n (\n <>\n \n {isLoading ? (\n \n ) : user ? (\n \n ) : (\n \n )}\n \n )}\n />\n );\n};\n\n/** FallbackRoute */\nexport const FallbackRoute = () => {\n const { user } = db.useAuth();\n return user ? : ;\n};\n","import { useIonRouter } from '@ionic/react';\nimport {\n ChartLine,\n GearSix,\n HouseSimple,\n UsersThree\n} from '@phosphor-icons/react/dist/ssr';\nimport { ICONS_PATH, Routes } from 'paths';\nimport { Link } from 'react-router-dom';\n\nimport OwnIcon from 'ui/OwnIcon';\n\nconst navItems = [\n { Icon: HouseSimple, path: Routes.dashboard, name: 'Dashboard' },\n { Icon: UsersThree, path: Routes.community, name: 'Community' },\n { Icon: ChartLine, path: Routes.analytics, name: 'Analytics' },\n { Icon: GearSix, path: Routes.settings, name: 'Settings' }\n];\n\nconst logoURL = Routes.home;\n\nconst navSet = new Set(navItems.map((n) => n.path));\n\nexport const AppNav = () => {\n const router = useIonRouter();\n const path = router.routeInfo.pathname;\n const showAppNav = navSet.has(path);\n\n if (!showAppNav) return null;\n\n return (\n <>\n \n \n \n \n \n \n \n \n {/* */}\n {navItems.map((n, i) => {\n const selected = path === n.path;\n return (\n \n
\n \n
\n\n \n {n.name}\n \n\n {selected && (\n \n )}\n\n {/* left */}\n {/* {selected && (\n \n )} */}\n \n );\n })}\n \n \n );\n};\n","import { useState } from 'react';\n\nimport { useUser } from 'stores/userStore';\nimport { BACKEND_API } from 'paths';\n\nimport './checkout.css';\n\n//TODO: commented out for now, uncomment in the future\n// const stripePromise = loadStripe(\n// `${process.env.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY}`\n// );\n\nexport default function Checkout() {\n const [clientSecret, setClientSecret] = useState(null);\n const user = useUser();\n //const router = useIonRouter();\n\n try {\n fetch(`${BACKEND_API}/stripe-checkout`, {\n method: 'POST',\n mode: 'cors',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n user\n })\n })\n .then((res) => {\n if (!res.ok) {\n console.log(res);\n throw new Error('Network response was not ok');\n }\n return res.json();\n })\n .then((data) => {\n if (!data.clientSecret) {\n throw new Error('Client secret not found in response');\n }\n setClientSecret(data.clientSecret);\n })\n .catch((error) => {\n console.error('Error fetching client secret:', error);\n });\n } catch (error) {\n console.error(error);\n }\n\n const _options = {\n clientSecret,\n onComplete: () => {\n // This is a placeholder function, you can add your logic here\n console.log('Checkout completed');\n }\n };\n\n // useEffect(() => {\n // return () => {\n // // Cleanup function to remove the Stripe iFrame\n // const stripeIframes = document.querySelectorAll('iframe[src*=\"stripe\"]');\n // console.log('stripeIframes', stripeIframes);\n // stripeIframes.forEach((iframe) => iframe.remove());\n // };\n // }, []);\n\n return (\n <>\n // TODO: commented out to deactivate stripe, commend back in when needed\n //
\n // {clientSecret && (\n // \n // router.push(Routes.settings)}\n // >\n // \n // \n //
\n // \n // \n // )}\n // \n );\n}\n","import { useEffect, useRef } from 'react';\n\n/**\n * Waits a fixed amount of seconds and returns a promise that resolves after that time,\n * or rejects if another call to this function was made in the meantime.\n * So basically only the last call to this function (within the given time) will resolve.\n * @param timeInMilliseconds the time to wait in milliseconds\n */\nexport function useTimeout(timeInMilliseconds: number): () => Promise {\n const timeoutRef = useRef(null);\n\n useEffect(() => {\n return () => {\n if (timeoutRef.current !== null) {\n clearTimeout(timeoutRef.current);\n }\n };\n }, []);\n\n return () => {\n return new Promise((resolve) => {\n if (timeoutRef.current !== null) {\n clearTimeout(timeoutRef.current);\n }\n timeoutRef.current = setTimeout(resolve, timeInMilliseconds);\n });\n };\n}\n","import { useCallback, useRef, useState } from 'react';\nimport { BACKEND_API, ICONS_PATH, Routes } from 'paths';\n\nimport './Register.css';\nimport { Link, type RouteComponentProps, useHistory } from 'react-router-dom';\nimport {\n isPlatform,\n useIonViewDidEnter,\n useIonViewWillEnter\n} from '@ionic/react';\nimport { useUser } from 'stores/userStore';\nimport { FingerprintSimple } from '@phosphor-icons/react';\nimport CenterBox from 'components/CenterBox';\nimport { RawSpinner } from 'components/LoadingPage';\nimport { useTimeout } from 'utils/hooks/useTimeout';\nimport { OwnUIInput2, OwnUIButton2, OwnIcon, OwnUIPage } from 'ui';\nimport { db } from 'instantdb/db';\n\n/**\n * The path to the claim page\n */\nexport type VerificationState =\n | 'initial' // The initial state, before any text is entered\n | 'empty' // The state when text was entered at one point but is not anymore\n | 'loading' // The state while the verification is in progress\n | 'available' // The state when the username is available\n | 'unavailable' // The state when the username is unavailable (already taken or reserved)\n | 'error' // The state when an error occurred (e.g. the server could not be reached or returned an error)\n | 'claimed'; // The state when the username was claimed\n\n/**\n * Transforms a username before veryfying it\n * @param username The username to transform\n * @returns The transformed username\n */\nexport function transformUsername(username: string): string {\n return username.toLowerCase();\n}\n\n/**\n * The regex that matches all characters that are not allowed in a username\n * Only lower case letters and numbers are allowed, as well as dashes and underscores\n */\nexport const USERNAME_FORBIDDEN_CHARACTERS_REGEX = /[^a-z0-9_-]/g;\n\nconst NEXT_PAGE = Routes.register;\n\ntype RegisterProps = {\n /** State change callback to display the loading spinner */\n setInProgress: React.Dispatch>;\n /** The username currently active and shared across the different register pages */\n username: string;\n /** State change callback to update the username */\n setUsername: React.Dispatch>;\n /** The current verification state */\n state: VerificationState;\n /** State change callback to update the state */\n setState: React.Dispatch>;\n};\n\nconst SmallLoader = (props: { status: VerificationState }) => {\n return (\n \n \n \n \n );\n};\n\nexport const fetchUsernameAvailability = async (newUsername: string) => {\n const res = await fetch(BACKEND_API + '/checkavailability', {\n method: 'POST',\n mode: 'cors',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({ username: newUsername })\n });\n\n const data = await res.json();\n\n // // Here we login the user if they are internal user\n\n if (data.internal) {\n await db.auth.signInWithToken(data.token);\n console.log('signed in');\n // window.location.href = '/dashboard';\n }\n\n return data.available;\n};\n\nconst cleanUsername = (rawUsername: string) => {\n return transformUsername(rawUsername).replaceAll(\n USERNAME_FORBIDDEN_CHARACTERS_REGEX,\n ''\n );\n};\n\nconst autoFocus = (inputRef: React.RefObject) => {\n // do not focus directly on iOS cause it's annoying\n if (isPlatform('ios')) return;\n inputRef.current?.focus();\n};\n\nconst InnerClaim = (props: RegisterProps) => {\n const timeout = useTimeout(1000);\n\n const hasUser = props.username.length > 0;\n const inputRef = useRef(null!);\n const linkRef = useRef(null!);\n\n const focusFirst = useCallback(\n (ref: HTMLInputElement) => {\n if (ref !== null) {\n inputRef.current = ref;\n requestAnimationFrame(() => autoFocus(inputRef));\n }\n },\n [inputRef]\n );\n\n useIonViewDidEnter(() => {\n autoFocus(inputRef);\n });\n\n const handleUsernameChange = (newUsername: string) => {\n props.setUsername(newUsername);\n\n if (newUsername.trim() === '') {\n props.setState('empty');\n return;\n } else {\n props.setState('loading');\n\n timeout().then(async () => {\n console.log('newUsername: ', newUsername);\n\n const isAvailable = await fetchUsernameAvailability(newUsername);\n\n // if it still is the username:\n if (cleanUsername(inputRef.current.value) === newUsername) {\n if (isAvailable) {\n props.setState('available');\n } else {\n props.setState('unavailable');\n }\n }\n });\n }\n };\n\n const state = props.state;\n\n return (\n <>\n \n \n 🥳 Welcome, early bird! 🐣\n
\n How do you want to name your page?\n \n\n {\n // If Enter is pressed and the username is available,\n // go to the next page (just like the component below)\n if (e.key === 'Enter' && state === 'available') {\n linkRef.current.click();\n }\n }}\n onChange={(e) => {\n handleUsernameChange(cleanUsername(e.target.value));\n }}\n onClick={() => {\n inputRef.current.focus();\n }}\n >\n {/*
*/}\n
\n props.setState('claimed')}\n ref={linkRef}\n >\n \n \n {\n props.setUsername('');\n props.setState('empty');\n inputRef.current.focus();\n }}\n disabled={state !== 'unavailable'}\n >\n \n \n
\n \n
\n
\n \n\n
\n
\n
\n Sadly this name is already taken.\n
\n Please pick another one,\n
there are still many amazing ones available 😎\n
\n
\n\n {/* */}\n \n \n \n log in\n \n
\n \n \n );\n};\n\n/**\n * Page where the user registers\n */\nconst Claim = ({\n location\n}: RouteComponentProps) => {\n // The Username, Password and Error states are shared between the sub pages\n const [username, setUsername] = useState('');\n const [state, setState] = useState('initial');\n\n const [_inProgress, setInProgress] = useState(false);\n\n const registerProps: RegisterProps = {\n setInProgress,\n username,\n setUsername,\n state,\n setState\n };\n\n const hasUser = username.length > 0;\n const rerender = state !== 'initial';\n\n const passedUserName = location.state?.username;\n\n const history = useHistory();\n const user = useUser();\n\n useIonViewWillEnter(() => {\n // if we go here while being logged in, navigate away!\n if (user) {\n history.replace('/');\n }\n\n if (passedUserName) {\n setUsername(passedUserName);\n } else {\n setUsername('');\n setState('initial');\n }\n }, [passedUserName, user]);\n\n return (\n \n \n \n \n \n\n \n \n \n \n );\n};\n\nexport default Claim;\n","import { type PropsWithChildren } from 'react';\n\ntype PageBoxProps = PropsWithChildren<{ title?: string }>;\n\nconst PageBox = ({ title, children }: PageBoxProps) => (\n
\n {title &&

{title}

}\n {children}\n
\n);\n\nexport default PageBox;\n","import {\n IonModal,\n IonHeader,\n IonToolbar,\n IonButtons,\n IonTitle,\n IonContent\n} from '@ionic/react';\nimport { useState, useRef } from 'react';\nimport { Check, CheckCircle, Circle } from '@phosphor-icons/react';\nimport { isProUser } from './checkSubscription';\n\nconst features = [\n { name: 'Number of pages', free: '1', pro: '5' },\n { name: 'Page max. capacity', free: '5MB', pro: '20MB' },\n { name: 'Hosting', free: true, pro: true },\n { name: 'Short URL', free: true, pro: true },\n { name: 'Free Themes', free: true, pro: true },\n { name: 'Simple Analytics', free: true, pro: true },\n {\n name: 'Simple Widgets (Link, Socials, Spotify, YouTube)',\n free: true,\n pro: true\n },\n { name: 'Community Support', free: true, pro: true },\n { name: 'Remove own.page Logo', free: false, pro: true },\n { name: 'Custom Domain', free: false, pro: true },\n { name: 'Extended Themes', free: false, pro: true },\n { name: 'Advanced Analytics', free: false, pro: true },\n {\n name: 'Special Widgets (GitHub, Google Calendar and more upcoming)',\n free: false,\n pro: true\n },\n { name: 'Developers Support', free: false, pro: true },\n {\n name: 'Access to all upcoming pro features',\n free: false,\n pro: true\n }\n];\n\nconst renderIcon = (value: boolean) => {\n return value ? : <>;\n};\n\nconst ComparePlans = () => {\n return (\n <>\n \n
\n \n \n \n \n \n \n \n \n \n {features.map((feature, index) => (\n \n \n \n \n \n ))}\n \n
\n Feature\n \n ✨Free\n \n 💎Pro\n
\n {feature.name}\n \n {typeof feature.free === 'string'\n ? feature.free\n : renderIcon(feature.free)}\n \n {typeof feature.pro === 'string'\n ? feature.pro\n : renderIcon(feature.pro)}\n
\n
\n
\n \n );\n};\n\nconst MONTHLY_PRICE = '6.90';\nconst YEARLY_PRICE = '69.90';\n\nconst PlansPricing = (props: {\n pricingOpened: boolean;\n setPricingOpened: (show: boolean) => void;\n}) => {\n const [selectedPlan, setSelectedPlan] = useState<'monthly' | 'yearly'>(\n 'monthly'\n );\n return (\n <>\n \n
\n
\n setSelectedPlan('monthly')}\n >\n
\n \n {selectedPlan === 'monthly' ? (\n \n ) : (\n \n )}\n
\n
Monthly
\n
\n
€{MONTHLY_PRICE}
\n
\n setSelectedPlan('yearly')}\n >\n
\n \n {selectedPlan === 'yearly' ? (\n \n ) : (\n \n )}\n
\n
\n Yearly\n {/*
7-day free trial
*/}\n
\n \n
€{YEARLY_PRICE}
\n \n 17% OFF\n \n \n \n \n \n \n
\n {\n props.setPricingOpened(false);\n }}\n >\n View Plan Details\n \n
\n
\n You will be billed{' '}\n {selectedPlan === 'monthly'\n ? `€${MONTHLY_PRICE} per month`\n : `€${YEARLY_PRICE} per year`}{' '}\n starting today.
\n You can manage or cancel your subscription via{' '}\n Play Store.\n
\n
\n Restore Purchases\n Terms of Service\n Privacy Policy\n
\n \n
\n \n );\n};\n\nconst SubscriptionPlans = (props: {\n show: boolean;\n setShow: (show: boolean) => void;\n}) => {\n const modal = useRef(null);\n\n const isPro = isProUser();\n\n const closeModal = () => {\n modal.current?.remove(); // THIS IS SUPER IMPORTANT!\n props.setShow(false);\n setPricingOpened(true);\n };\n\n const [pricingOpened, setPricingOpened] = useState(true);\n\n return (\n <>\n \n
\n \n \n \n \n \n \n {pricingOpened ? 'Subscription Plans' : 'Compare Plans'}\n \n \n \n \n \n \n {pricingOpened && !isPro ? (\n \n ) : (\n \n )}\n
\n \n \n );\n};\n\nexport default SubscriptionPlans;\n","import {\n Camera,\n CameraResultType,\n CameraSource,\n type Photo\n} from '@capacitor/camera';\nimport { isPlatform } from '@ionic/core';\nimport Compressor from 'compressorjs';\nimport { BACKEND_API } from 'paths';\nimport { editorActions } from 'stores/editorStore';\nimport { useUserStore } from 'stores/userStore';\n\nconst fetchImagePromises: Promise[] = [];\nlet lastFetchImageId: number = 0;\n\n// const cleanupImage = (image: string | null) => {\n// if (image === null) return;\n// if (image.includes('localhost')) return;\n\n// // check if the image is still referenced somewhere\n\n// fetch(BACKEND_API + '/images', {\n// method: 'DELETE',\n// mode: 'cors',\n// headers: {\n// 'Content-Type': 'application/json',\n// token: user.refresh_token\n// },\n// body: JSON.stringify({\n// url: user.avatar\n// })\n// });\n// };\n\nconst cleanupLocalImage = (image: string | null | undefined) => {\n if (image === null || image === undefined) return;\n if (!image.startsWith('blob')) return;\n URL.revokeObjectURL(image);\n};\n\nconst DEFAULT_PROMPT_SOURCE =\n isPlatform('desktop') || isPlatform('mobileweb') || isPlatform('android')\n ? CameraSource.Photos\n : CameraSource.Prompt;\n\nexport const fetchImages = async (\n cleanupImage: string | null,\n callback: {\n (\n dimensions: { width: number; height: number },\n localObjectUrl: string,\n uploadToServer: () => Promise\n ): void;\n }\n) => {\n const fetchImageId = ++lastFetchImageId;\n\n // check permissions\n // if both are denied => request them,\n // if only one is denies => use different source\n let promtSource = DEFAULT_PROMPT_SOURCE;\n if (\n (isPlatform('ios') || isPlatform('android')) &&\n !isPlatform('mobileweb')\n ) {\n const checkPermissions = await Camera.checkPermissions();\n if (\n checkPermissions.camera === 'denied' &&\n checkPermissions.photos === 'denied'\n ) {\n await Camera.requestPermissions();\n } else if (checkPermissions.camera === 'denied') {\n promtSource = CameraSource.Photos;\n } else if (checkPermissions.photos === 'denied') {\n promtSource = CameraSource.Camera;\n }\n }\n\n const fetchImagePromise: Promise = Camera.getPhoto({\n resultType: CameraResultType.DataUrl,\n source: promtSource\n }).catch(() => {\n throw new Error('Image selection ' + fetchImageId + ' was cancelled');\n });\n\n fetchImagePromises.push(fetchImagePromise);\n const result = await Promise.any(fetchImagePromises).catch(() => {\n throw new Error('Image selection ' + fetchImageId + ' was cancelled');\n });\n fetchImagePromises.length = 0;\n if (fetchImageId !== lastFetchImageId) {\n throw new Error('Image selection ' + fetchImageId + ' was cancelled');\n }\n\n const fetchResponse = await fetch(result.dataUrl as RequestInfo);\n const blob = await fetchResponse.blob();\n\n new Compressor(blob, {\n quality: 0.6,\n strict: true,\n convertTypes: ['image/png', 'image/webp', 'image/jpeg'],\n maxWidth: 2048,\n maxHeight: 2048,\n convertSize: 500000,\n success: async (compressionResult) => {\n const finalFile =\n blob.type == 'image/gif' && blob.size <= 1500000\n ? blob\n : compressionResult;\n\n console.log('creating object url');\n const localUrl = URL.createObjectURL(finalFile);\n\n // tool does the following:\n const uploadToServer = async () => {\n const serverUrlPromise = uploadImageToServer(finalFile);\n\n // we add the info to the editor so it can clean it up\n editorActions.addImageUpload(localUrl, serverUrlPromise);\n serverUrlPromise.then(() => editorActions.removeImageUpload(localUrl));\n const serverUrl = await serverUrlPromise;\n\n return new Promise((resolve) => {\n const img = new Image();\n img.onload = () => {\n resolve(serverUrl);\n setTimeout(() => URL.revokeObjectURL(localUrl), 1000); // revoke image one second later\n };\n img.src = serverUrl;\n }) as Promise;\n };\n\n // const getAllImageUrlsFrom(page: OwnPage) => string[]\n\n // 1: JSON.stringify(page).regrexFind(\"images.own.page//&\\7/\\\"$\")\n // __2___ valueTraverse(page), (v) => if (v instanceof string && v.includes(\"images.own.page\")) return [...acc, v]\n // allImageUrls.filter(url => !isStillInAnotherPageOrThisPage(url)).foreach(url => deleteFromServer(url))\n\n // let maybeDeltedUrl: string: \"https://images.own.page/1234567890...\"\n // const ownPages: OwnPage[] = [...]\n // super inefficient, but who cares\n // if (ownPages.map(page => JSON.stringify(page)).filter(pageInfo => !apgeInfo.includes(maybeDeltedUrl)).length == 0) {\n // delete page()\n // }\n\n // we use this html element to get the dimensions of the image\n const img = new Image();\n img.onload = () => {\n callback(\n { width: img.width, height: img.height },\n localUrl,\n uploadToServer\n );\n\n // clean up old image if possible\n cleanupLocalImage(cleanupImage);\n };\n img.src = localUrl;\n }\n });\n};\n\n// New function to handle image upload\nasync function uploadImageToServer(imageInput: Blob): Promise {\n const user = useUserStore.getState().user;\n try {\n if (!user) {\n throw new Error('No user found');\n }\n //let imageData: Blob;\n\n // if (isBase64) {\n // // Convert base64 to Blob\n // const byteString = atob(imageInput.split(',')[1]);\n // const mimeString = imageInput.split(',')[0].split(':')[1].split(';')[0];\n // const ab = new ArrayBuffer(byteString.length);\n // const ia = new Uint8Array(ab);\n // for (let i = 0; i < byteString.length; i++) {\n // ia[i] = byteString.charCodeAt(i);\n // }\n // imageData = new Blob([ab], { type: mimeString });\n // } else {\n // // Fetch the file from the local URL and convert it to Blob\n // const response = await fetch(imageInput);\n // imageData = await response.blob();\n // }\n\n // Create a FormData object to send the image\n const formData = new FormData();\n formData.append('image', imageInput);\n // formData.append('username', user?.username ?? '');\n // Send the POST request to the server\n const response = await fetch(`${BACKEND_API}/images`, {\n method: 'POST',\n headers: {\n token: user.refresh_token\n },\n body: formData\n });\n\n if (!response.ok) {\n throw new Error('Failed to upload image');\n }\n\n // Parse the response to get the server URL\n const result = await response.json();\n console.log(result);\n return result.serverUrl; // Assuming the server returns the URL in this field\n } catch (error) {\n console.error('Error uploading image:', error);\n throw error;\n }\n}\n","'use server';\n\nexport const sendDeleteDiscordMessage = async (message: string) => {\n try {\n // A fetch request to send data through the discord\n // webhook, and display it as a message in your\n // discord channel\n await fetch(import.meta.env.VITE_OWN_DISCORD_DELETE_USER_WEBHOOK_URL, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n content: message\n })\n });\n } catch (err: unknown) {\n // Just in case :)\n console.log(err);\n }\n};\n","import Avatar from 'components/Avatar';\nimport { type PropsWithChildren, useRef, useState } from 'react';\nimport {\n userActions,\n useUser,\n useUserStore,\n withUser,\n type State,\n type WithUserProps\n} from 'stores/userStore';\nimport { db } from 'instantdb/db';\nimport { tx } from '@instantdb/react';\nimport PageBox from 'components/PageBox';\nimport SubscriptionPlans from 'subscription/SubscriptionPlans';\nimport { OwnUIButton2, OwnUIInput2, OwnUIPage, useOwnAlert } from 'ui';\nimport { useSubscription } from 'subscription/useSubscription';\nimport { fetchImages } from 'utils/images/imageUpload';\nimport { BACKEND_API } from 'paths';\nimport { storage } from 'stores/pages/storage';\nimport { useHistory } from 'react-router-dom';\nimport { sendDeleteDiscordMessage } from 'utils/discord_delete';\n\nconst sendDeleteAccountDiscordMessage = (\n username: string,\n sentEmail: string\n) => {\n const messages = [\n 'a user has deleted their account',\n 'a user has left the platform',\n 'a user has just left own.page',\n 'our userbase descreased by one'\n ];\n\n const randomMessage = messages[Math.floor(Math.random() * messages.length)];\n sendDeleteDiscordMessage(\n `😕Unfortunately, ${randomMessage}, but don't worry, we are making own.page better every day.✅\\nUsername: ${username}\\nEmail: ${sentEmail}`\n );\n};\n\nasync function deleteAccount() {\n const user = useUserStore.getState().user;\n if (!user) return;\n\n // Delete user also from auth\n const res = await fetch(BACKEND_API + '/auth/deleteUser', {\n method: 'DELETE',\n mode: 'cors',\n headers: {\n token: user.refresh_token\n }\n });\n\n if (process.env.NODE_ENV !== 'development') {\n sendDeleteAccountDiscordMessage(user.username, user.email);\n }\n\n const data = await res.json();\n console.log(data);\n}\n\nfunction uploadAvatar() {\n const user = useUserStore.getState().user;\n if (!user) return;\n\n const cleanupImage = user.avatar;\n\n fetchImages(cleanupImage, (_, imageUrl, uploadToServer) => {\n // we store the local imageUrl in the userStore, so we can display it immediately\n useUserStore.setState(\n (p) =>\n ({\n user: {\n ...p.user,\n avatar: imageUrl\n }\n }) as State\n );\n uploadToServer().then((resolvedUrl) => {\n db.transact([tx.profiles[user.id].update({ avatar: resolvedUrl })]);\n storage.cleanUpImageUrls();\n });\n });\n}\n\nconst SubscriptionSettings = () => {\n const user = useUser();\n const subscription = useSubscription();\n const subscriptionPlan = subscription?.plan;\n\n const [showSubscriptionPlans, setShowSubscriptionPlans] = useState(false);\n\n return (\n \n {subscription ? (\n <>\n
\n {subscription.status === 'active'\n ? `Next bill on ${subscription.end_date}`\n : `Subscription will be cancelled on ${subscription.end_date}`}\n
\n {`Subscriptions is managed via ${\n subscription.platform === 'stripe'\n ? 'Website'\n : subscription.platform === 'google'\n ? 'Google Play Store'\n : 'Apple App Store'\n }`}\n
\n \n Manage Subscription\n \n \n ) : (\n {\n console.log('checkout');\n }}\n >\n Upgrade to Pro\n \n )}\n setShowSubscriptionPlans(true)}\n >\n Compare Plans\n \n \n \n );\n};\n\n/**\n * Page where the account settings can be changed,\n * should work similar to discord (when clicking on gear/settings icon)\n * WIP, TODO: finish implementing\n */\nconst AccountSettings = ({ user }: WithUserProps) => {\n const history = useHistory();\n\n const inputRef = useRef(null)!;\n const [showAlert, dismissAlert] = useOwnAlert();\n\n // const [username, _setUsername] = useState(user?.username);\n // const [email, _setEmail] = useState(user?.email);\n\n const { username, email } = user;\n\n const profilePicEditable = true;\n\n return (\n \n \n
\n

\n Only reduced functionality available. More options coming soon! 👨‍💻\n

\n
\n\n
\n \n \n \n\n \n \n \n\n \n\n \n \n {profilePicEditable && (\n
\n
Change Avatar
\n
\n )}\n \n \n
\n\n \n {\n showAlert({\n header: 'Delete Account?',\n message:\n 'This cannot be undone! (and we are sad to see you go 😔)',\n buttons: [\n {\n text: 'Cancel',\n role: 'cancel'\n },\n {\n text: 'Delete',\n handler: async () => {\n await deleteAccount();\n userActions.logout(history);\n dismissAlert();\n }\n }\n ]\n });\n }}\n >\n Delete Account\n \n \n
\n
\n
\n );\n};\n\ntype SettingsFieldProps = PropsWithChildren<{\n label: string;\n className?: string;\n disabled?: boolean;\n iconVisible?: boolean;\n icon?: string;\n}>;\n\nconst SettingsField = ({\n label,\n className,\n children,\n disabled,\n iconVisible,\n icon\n}: SettingsFieldProps) => (\n \n
\n

{label}

\n {iconVisible && }\n
\n {children}\n \n);\n\nexport default withUser(AccountSettings);\n","import PageBox from 'components/PageBox';\nimport { OwnUIPage } from 'ui';\n\nimport {\n LineChart,\n Line,\n Tooltip,\n ResponsiveContainer,\n PolarAngleAxis,\n PolarGrid,\n Radar,\n RadarChart\n} from 'recharts';\nimport { Link } from 'react-router-dom';\n\nconst data = [\n {\n name: 'Page A',\n uv: 4000,\n pv: 2400,\n amt: 2400\n },\n {\n name: 'Page B',\n uv: 3000,\n pv: 1398,\n amt: 2210\n },\n {\n name: 'Page C',\n uv: 2000,\n pv: 9800,\n amt: 2290\n },\n {\n name: 'Page D',\n uv: 2780,\n pv: 3908,\n amt: 2000\n },\n {\n name: 'Page E',\n uv: 1890,\n pv: 4800,\n amt: 2181\n },\n {\n name: 'Page F',\n uv: 2390,\n pv: 3800,\n amt: 2500\n },\n {\n name: 'Page G',\n uv: 3490,\n pv: 4300,\n amt: 2100\n }\n];\n\nconst data2 = [\n {\n subject: 'SEO Optimization',\n A: 120,\n B: 110,\n fullMark: 150\n },\n {\n subject: 'Churn',\n A: 98,\n B: 130,\n fullMark: 150\n },\n {\n subject: 'Retention',\n A: 86,\n B: 130,\n fullMark: 150\n },\n {\n subject: 'Quality',\n A: 99,\n B: 100,\n fullMark: 150\n },\n {\n subject: 'Time',\n A: 85,\n B: 90,\n fullMark: 150\n }\n];\n\nconst _Example2 = () => (\n \n \n \n \n {/* */}\n \n \n \n);\n\nconst _Example = () => (\n \n \n {/* */}\n {/* */}\n {/* */}\n \n {/* */}\n {/* */}\n \n \n \n);\n\nconst InfoElement = () => (\n
\n

Page views

\n {/*
69
*/}\n
{/* */}
\n
\n);\n\nconst Analytics: React.FC = () => {\n return (\n \n
\n

\n Coming soon!      ...can't wait? - then{' '}\n \n support us\n \n

\n
\n \n \n\n
{/* */}
\n
\n {/* */}\n
\n {/*
🇪🇺 🇦🇹 🇧🇬
*/}\n
\n \n
\n );\n};\n\nexport default () => (\n \n \n \n);\n","import { type UseIonRouterResult, useIonRouter } from '@ionic/react';\nimport { useState } from 'react';\nimport { BACKEND_API, Routes } from 'paths';\nimport './Register.css';\nimport { type RouteComponentProps } from 'react-router';\nimport { db } from 'instantdb/db'; // Import the InstantDB instance\nimport {\n InputOTP,\n InputOTPGroup,\n InputOTPSlot,\n InputOTPSeparator\n} from 'ui/shadcn/input-otp';\n\nimport CenterBox from 'components/CenterBox';\nimport LoadingPage from 'components/LoadingPage';\nimport _CustomGoogleAuth from './CustomGoogleAuth';\nimport { OwnUIButton2, OwnUIInput2, OwnUISubPage } from 'ui';\nimport ErrorText from 'components/ErrorText';\nimport { tx } from '@instantdb/react';\nimport { getFormattedDate, sendMagicCodeToEmail } from './Register';\nimport CustomGoogleAuth from './CustomGoogleAuth';\n\ntype RegisterProps = {\n username: string;\n /** State change callback to display the loading spinner */\n setInProgress: React.Dispatch>;\n};\n\nexport const MagicCodeLogin = (props: {\n router: UseIonRouterResult;\n username: string;\n sentEmail: string;\n errorText: string | null;\n presentError: React.Dispatch>;\n setSentEmail: React.Dispatch>;\n\n forwardPage: string;\n}) => {\n const [code, setCode] = useState('');\n const sentEmail = props.sentEmail;\n // const username = props.username;\n\n const [resent, setResent] = useState(false);\n\n const handleSubmit = (e: React.FormEvent) => {\n try {\n e.preventDefault();\n\n db.auth\n .signInWithMagicCode({ email: sentEmail, code })\n .then((loggedInUser) => {\n console.log('User successfully logged in');\n db.transact([\n tx.registrationInfo[loggedInUser.user.id].update({\n last_login: getFormattedDate()\n })\n ]);\n props.router.push(props.forwardPage, 'root', 'replace');\n })\n .catch((err) => {\n props.presentError('Uh oh :' + err.body?.message);\n setCode('');\n });\n } catch (e) {\n console.error('Error signing up:', e);\n const error = e as Error;\n props.presentError(error.message);\n }\n };\n\n const codeFull = code.length === 6;\n\n return (\n
\n
\n Enter the code from your email:\n
\n
\n setCode(e)}>\n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n\n
\n \n \n Login\n \n
\n \n\n 0}\n >\n {!resent ? (\n <>\n Didn't receive an email? Check your spam folder or{' '}\n {\n setResent(true);\n sendMagicCodeToEmail(\n props.sentEmail,\n props.presentError,\n props.setSentEmail\n );\n setTimeout(() => {\n setResent(false);\n }, 15000);\n }}\n >\n click here to resend code\n \n \n ) : (\n <>Code resent!\n )}\n \n \n );\n};\n\nconst AccountLogin = (props: {\n router: UseIonRouterResult;\n username: string;\n errorText: string | null;\n presentError: React.Dispatch>;\n email: string;\n setEmail: (email: string) => void;\n setSentEmail: React.Dispatch>;\n}) => {\n const email = props.email;\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n if (!email) return;\n\n const res = await fetch(BACKEND_API + '/auth/sendmagiccode', {\n method: 'POST',\n mode: 'cors',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({ email })\n });\n\n const data = await res.json();\n\n if (!data.success) {\n props.presentError('User not found');\n return;\n }\n\n props.setSentEmail(email);\n await sendMagicCodeToEmail(email, props.presentError, props.setSentEmail);\n };\n\n return (\n <>\n
\n Login with\n
\n
\n \n props.setEmail(e.target.value.toLowerCase())} // forbid uppercase for email\n />\n \n\n
\n \n \n Login\n \n
\n \n \n \n {/* TODO: reintroduce Google auth */}\n
or
\n
\n \n
\n \n );\n};\n\n/**\n * Component to claim a username\n * (parent is the @see Authentication component)\n * @param props @see AuthProps\n */\nexport const Finalize = (props: RegisterProps) => {\n const router = useIonRouter();\n const [email, _setEmail] = useState('');\n const [errorText, setErrorText] = useState(null);\n const [sentEmail, setSentEmail] = useState('');\n\n const setEmail = (email: string) => {\n _setEmail(email);\n setErrorText(null);\n };\n\n return (\n
\n \n {sentEmail ? (\n \n ) : (\n \n )}\n
\n \n );\n};\n\n/**\n * Page where the user registers\n */\nconst Login = ({\n location\n}: RouteComponentProps) => {\n const [inProgress, setInProgress] = useState(false);\n\n const username = location.state?.username;\n\n const registerProps: RegisterProps = {\n username: username || '',\n setInProgress\n };\n\n return (\n \n {inProgress && }\n\n \n \n \n \n );\n};\n\nexport default Login;\n","import { useCallback, useRef } from 'react';\n\nexport const DEFAULT_LONGPRESS_TIME = 300;\nexport const DEFAULT_MOVEMENT_THRESHOLD = 50;\n\ntype PressProps = {\n /**\n * callback that is called when the press is shorter\n * than defined in the long press time field\n */\n onShortPress: () => unknown;\n /**\n * callback that is called when the press is longer\n * than defined in the long press time field\n */\n onLongPress: () => unknown;\n /**\n * the variable defining the threshold of a short vs. long press\n * defined in ms (1000 = 1s)\n * default is @see DEFAULT_LONGPRESS_TIME\n */\n longPressTime?: number;\n /**\n * the movement threshold during the press in pixel,\n * if the movement is larger than this value,\n * the user moves the cursor, hence it is not a press and the callbacks will not be called!\n */\n movementThreshold?: number;\n /**\n * relevant on desktop: if it only allows left click\n */\n onlyLeft?: boolean;\n};\n\ntype TimerID = ReturnType | null;\n\nconst resetTimeout = (ref: React.MutableRefObject) => {\n if (ref.current) {\n clearTimeout(ref.current);\n ref.current = null;\n }\n};\n\nconst defaultPressProps = {\n longPressTime: DEFAULT_LONGPRESS_TIME,\n movementThreshold: DEFAULT_MOVEMENT_THRESHOLD,\n onlyLeft: true\n};\n\n/**\n * Component registering press events by deciding between long & short presses\n * @param props @see PressProps\n */\nconst Pressable = (props: PressProps & React.HTMLProps) => {\n const {\n onShortPress,\n onLongPress,\n longPressTime,\n movementThreshold,\n onlyLeft,\n ...rest\n } = { ...defaultPressProps, ...props };\n\n const longPressTimeoutRef = useRef(null);\n const startPosition = useRef<[number, number] | null>(null);\n\n const startTimer = useCallback(\n (e: React.PointerEvent) => {\n if (onlyLeft && e.button !== 0) return;\n // console.log(\"starttimer\");\n\n // if timeout is running, cancel previous one\n resetTimeout(longPressTimeoutRef);\n\n startPosition.current = [e.clientX, e.clientY];\n\n longPressTimeoutRef.current = setTimeout(() => {\n // this is a longpress!\n if (longPressTimeoutRef.current) {\n // cancel this timer\n resetTimeout(longPressTimeoutRef);\n\n // execute longpress\n onLongPress();\n }\n }, longPressTime);\n },\n [onlyLeft, onLongPress, longPressTime]\n );\n\n const endTimer = useCallback(\n (e: React.PointerEvent) => {\n if (onlyLeft && e.button !== 0) return;\n\n // console.log(\"endTimer\");\n // if timeout is running, this is a shortpress, can\n if (longPressTimeoutRef.current) {\n resetTimeout(longPressTimeoutRef);\n // execute shortPress\n onShortPress();\n }\n },\n [onlyLeft, onShortPress]\n );\n\n // used so that its canceled when moving (so swiper is not triggered)\n const checkDistance = useCallback(\n (e: React.PointerEvent) => {\n if (longPressTimeoutRef.current && startPosition.current) {\n const diffX = e.clientX - startPosition.current[0];\n const diffY = e.clientY - startPosition.current[1];\n const distance = diffX * diffX + diffY * diffY;\n if (distance > movementThreshold) {\n resetTimeout(longPressTimeoutRef);\n }\n }\n },\n [movementThreshold]\n );\n\n return (\n startTimer(e)}\n onPointerUp={(e) => endTimer(e)}\n onPointerMove={(e) => checkDistance(e)}\n >\n {props.children}\n \n );\n};\n\nexport default Pressable;\n","import type { OwnUser } from 'stores/userStore';\nimport { Share } from '@capacitor/share';\nimport { getUrlString } from './pageUrl';\nimport type { OwnPage } from '@own.page/rendering';\n\n/**\n * Opens the share dialog for a user/page combination\n * @param user the user for the beginnig of the url\n * @param page the specific page to share\n * @param presentToast callback to display info\n * (in case share API is not available and it just copies link to clipboard)\n */\nexport const sharePage =\n (\n user: OwnUser | undefined,\n page: OwnPage | null,\n presentToast: (msg: string) => void\n ) =>\n async () => {\n if (!user || !page) return;\n\n const canShare = await Share.canShare();\n\n const url = getUrlString(user, page);\n\n if (canShare.value) {\n try {\n await Share.share({\n title: page.title,\n text: 'Look at my own page',\n url: url,\n dialogTitle: 'Share'\n });\n } catch (err) {\n console.error(err);\n }\n } else {\n navigator.clipboard\n .writeText(url)\n .then(() => {\n console.log('URL copied to clipboard');\n presentToast('URL copied to clipboard');\n })\n .catch((err) => {\n console.error('Failed to copy URL to clipboard:', err);\n });\n }\n };\n","import {\n IonToolbar,\n IonButtons,\n IonButton,\n IonIcon,\n IonTitle,\n IonList,\n IonItem,\n IonLabel,\n IonHeader\n} from '@ionic/react';\nimport { type OwnPageId, type OwnPage } from '@own.page/rendering';\nimport {\n ChartLine,\n Copy,\n Export,\n House,\n PencilSimple,\n Trash\n} from '@phosphor-icons/react';\nimport { memo } from 'react';\nimport { useHistory } from 'react-router';\nimport { usePagesStore, usePage } from 'stores/pages';\nimport { pagesActions } from 'stores/pages/actions';\nimport { useUser } from 'stores/userStore';\nimport { useOwnAlert, useOwnToast, OwnIcon } from 'ui';\nimport { sharePage } from 'utils/sharePage';\n\ntype PageContextMenuProps = {\n /** callback that is called when the context menu is closed */\n dismiss: () => void;\n /** the page this context menu is for */\n pageId: OwnPageId;\n};\n\n/**\n * The page context menu that opens when long-clicking on a page\n * delegates to all other sites that are page-specific\n * @param props @see PageContextMenuProps\n */\nconst PageContextMenu = (props: PageContextMenuProps) => {\n const [presentAlert] = useOwnAlert();\n const presentToast = useOwnToast();\n\n const indexPage = usePagesStore((s) => s.index);\n const page = usePage(props.pageId)!;\n const user = useUser();\n\n const pageId = page.id;\n\n const history = useHistory();\n\n const pageNavigate = (path: string) => () =>\n history.push(path, { id: pageId });\n\n const items = [\n {\n name: 'Set As Home',\n remixIcon: 'ri-home-fill',\n icon: House,\n props: {\n disabled: pageId === indexPage\n },\n onClick: () => {\n presentAlert({\n header: `Set Page As Home?`,\n message: `${page.title} will be your new Home page. You can only have one Home page.`,\n buttons: [\n {\n text: 'Set As Home',\n handler: () => {\n props.dismiss();\n if (page && user) {\n try {\n pagesActions.setAsHomePage(page);\n presentToast(`Sucessfully set ${page.title} as Home`);\n } catch (err) {\n throw new Error('could not set home page', {\n cause: err\n });\n }\n }\n }\n },\n {\n text: 'Cancel',\n cssClass: 'own-secondary',\n role: 'cancel'\n }\n ]\n });\n }\n },\n {\n name: 'Edit',\n icon: PencilSimple,\n remixIcon: 'ri-pencil-fill',\n onClick: pageNavigate('/editor')\n },\n // {\n // name: 'Rename',\n // icon: CursorText,\n // remixIcon: 'ri-arrow-left-right-fill',\n // onClick: pageNavigate('/rename')\n // },\n {\n name: 'Analytics',\n icon: ChartLine,\n remixIcon: 'ri-line-chart-fill',\n onClick: pageNavigate('/analytics')\n },\n // {\n // name: 'Preview',\n // icon: Eye,\n // remixIcon: 'ri-eye-fill',\n // onClick: pageNavigate('/preview')\n // },\n {\n name: 'Share',\n icon: Export,\n remixIcon: 'ri-share-fill',\n onClick: sharePage(user, page, presentToast)\n },\n {\n name: 'Duplicate',\n icon: Copy,\n remixIcon: 'ri-file-copy-fill',\n onClick: () => {\n props.dismiss();\n if (page) {\n const copiedPage = {\n ...page,\n title: undefined\n // title: page.title + \" (Copy)\",\n // url: page.url + \"_copy\",\n } as Partial;\n pagesActions.add(copiedPage);\n presentToast(`Sucessfully copied ${page.title}`);\n }\n }\n },\n {\n name: 'Delete',\n icon: Trash,\n remixIcon: 'ri-delete-bin-fill',\n onClick: () =>\n presentAlert({\n header: 'Delete Page?',\n message: 'This action is irreversible.',\n buttons: [\n {\n text: 'Delete',\n handler: () => {\n props.dismiss();\n if (page) {\n pagesActions.remove(page);\n presentToast(`Successfully deleted ${page.title}`);\n }\n }\n },\n {\n text: 'Cancel',\n cssClass: 'own-secondary',\n role: 'cancel'\n }\n ]\n })\n }\n ];\n\n return (\n <>\n
\n \n \n \n \n \n \n \n\n {page.title}\n\n {/* this is just so that the title is centered: */}\n \n \n \n \n \n \n \n\n \n {items.map((e) => (\n \n {e.name}\n {/* */}\n \n \n ))}\n \n
\n \n );\n};\n\nexport default memo(PageContextMenu);\n","import {\n IonAlert,\n IonCard,\n IonCardContent,\n IonModal,\n useIonRouter,\n useIonToast,\n useIonViewWillEnter,\n useIonViewWillLeave\n} from '@ionic/react';\nimport {\n type PropsWithChildren,\n memo,\n useCallback,\n useRef,\n useState\n} from 'react';\nimport { Swiper, type SwiperRef, SwiperSlide } from 'swiper/react';\nimport { Controller, Pagination, Mousewheel } from 'swiper/modules';\nimport { QRCodeSVG } from 'qrcode.react';\nimport {\n getUrlString,\n getPageString,\n getUserString,\n DOMAIN_NAME,\n getPageEnding\n} from 'utils/pageUrl';\nimport Pressable from 'components/Pressable';\n\nimport './Dashboard.css';\nimport 'swiper/css';\nimport 'swiper/css/pagination';\nimport '@ionic/react/css/ionic-swiper.css';\nimport PageContextMenu from './pagecontext/PageContextMenu';\nimport { sharePage } from 'utils/sharePage';\nimport { useUser } from 'stores/userStore';\nimport { editorActions } from 'stores/editorStore';\nimport { MAX_PAGES } from 'utils/id';\nimport { useHistory } from 'react-router';\nimport { CaretUp, Export, QrCode } from '@phosphor-icons/react';\nimport { type OwnPageId, RenderPage } from '@own.page/rendering';\nimport { OwnIcon, OwnUIPage } from 'ui';\nimport { Routes } from 'paths';\nimport { usePage, usePagesStore, cleanUpUrl } from 'stores/pages';\nimport { useShallow } from 'zustand/react/shallow';\n\nimport ownStyle from '@own.page/rendering/styles/ownpage.tailwind.css?inline';\n\nconst FANCY_BLUR = false;\n\n// type DashboardButtonProps = PropsWithChildren<{\n// onClick: () => void;\n// icon: string;\n// }>;\n\n// const DashboardButton = (props: DashboardButtonProps) => {\n// return (\n// \n// \n// \n// {props.children}\n// \n// \n// );\n// };\n\ntype DashboardButton2Props = PropsWithChildren<{\n onClick: () => void;\n Icon: React.FC;\n}>;\n\nconst DashboardButton2 = (props: DashboardButton2Props) => {\n return (\n \n \n \n );\n};\n\nconst DashboardCard = ({ children }: PropsWithChildren) => {\n return (\n \n \n {children}\n \n \n );\n};\n\n/**\n * Component that displays an own.page (renders it locally)\n */\nconst RenderSlide = memo(\n ({\n pageId,\n setShowModal\n }: {\n pageId: OwnPageId;\n setShowModal: (pageId: OwnPageId) => void;\n }) => {\n const history = useHistory();\n const page = usePage(pageId);\n\n // just trigger a re-render when the pages change! (fixes the social icons/svg scaling bug)\n const _triggerRerenderWhenPagesChange = usePagesStore((s) => s.pages);\n\n if (!page) return null;\n\n return (\n \n {/*
*/}\n editorActions.navigateToPage(history, page.id)}\n // onShortPress={() => ionRouter.push(`/editor/${page.id}`)}\n onLongPress={() => {\n setShowModal(page.id);\n }}\n >\n \n \n {/*
\n \n \n {DOMAIN_NAME}/{getUserString(user)}\n {getPageEnding(page)}\n \n \n
\n \n \n \n
\n
*/}\n
\n );\n }\n);\n\ntype ModalProps = {\n /** whether to show the modal or not */\n showModal: boolean;\n /** callback function when the modal is closed */\n dismiss: () => void;\n /** the page that this modal belongs to */\n pageId: OwnPageId;\n};\n\n/**\n * Displays the @see PageContextMenu to get a page-specific menu\n * @param props @see PageModalProps\n */\nconst PageModal = (props: ModalProps) => {\n return (\n \n \n \n );\n};\n\n/**\n * The modal displaying the QR-Code for the given page\n * @param props @see ModalProps\n */\nconst QRCodeModal = (props: ModalProps) => {\n const user = useUser();\n const page = usePage(props.pageId);\n\n const fullURL = getUrlString(user, page);\n\n return (\n \n
\n
\n \n
\n \n
\n \n );\n};\n\n/**\n * Component that displays the \"+\" page for creating a new page\n */\nconst CreateNewPage = () => {\n const router = useIonRouter();\n const history = useHistory();\n\n const navigateNewPage = (name?: string) =>\n editorActions.navigateNewPage(history, name);\n\n const [isOpen, setIsOpen] = useState(false);\n\n const openNameDialog = () => {\n const hasIndex = usePagesStore.getState().index !== null;\n\n // if there are already pages asked for a name:\n if (hasIndex) {\n setIsOpen(true);\n setTimeout(\n () => document.getElementById('name-page-alert_input')?.focus(),\n 100\n );\n } else {\n // if we want to directly go to editor enable this:\n // navigateNewPage();\n // but for now I would show the onboarding screen:\n router.push(Routes.onboarding);\n }\n };\n\n const _user = useUser();\n\n const [pageName, _setPageName] = useState(null);\n\n return (\n <>\n {\n setIsOpen(false);\n (\n document.getElementById('name-page-alert_input') as HTMLInputElement\n ).value = '';\n }}\n // trigger=\"present-alert\"\n header=\"Name Your Page\"\n buttons={[\n {\n id: 'name-page-alert_ok',\n cssClass: 'own-disabled',\n htmlAttributes: {\n type: 'submit',\n disabled: 'true'\n },\n text: 'OK',\n handler: (inputs: string[]) => {\n navigateNewPage(inputs[0]);\n (\n document.getElementById(\n 'name-page-alert_input'\n ) as HTMLInputElement\n ).value = '';\n }\n }\n ]}\n cssClass={'own-alert'}\n //onInput={(e) => setPageName(cleanUpUrl((e.target as any).value))}\n inputs={[\n {\n id: 'name-page-alert_input',\n // placeholder: `${DOMAIN_NAME}/${getUserString(user)}/new name`,\n placeholder: `page name`,\n value: pageName,\n attributes: {\n // pattern: '[a-z0-9_]',\n onkeydown: (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n const okButton =\n document.getElementById('name-page-alert_ok');\n\n if (okButton && !okButton.hasAttribute('disabled')) {\n okButton.click();\n }\n }\n },\n oninput: (e: KeyboardEvent) => {\n const target = e.target as HTMLInputElement;\n if (target === null) return;\n if (!target.value) return;\n\n const newText = cleanUpUrl(target.value);\n\n const okButton = document.getElementById('name-page-alert_ok');\n if (okButton) {\n if (newText.length > 0) {\n okButton.classList.remove('own-disabled');\n okButton.removeAttribute('disabled');\n } else {\n okButton.classList.add('own-disabled');\n okButton.setAttribute('disabled', '');\n }\n }\n\n target.value = newText;\n },\n tabIndex: 0,\n autofocus: true\n // title: 'Please only use lowercase letters, -, and _'\n }\n }\n ]}\n >\n \n \n \n \n \n \n );\n};\n\n/**\n * The Dashboard component which is the main (=home) page of the app\n * this gives an overview of the pages, and links them to the editor\n */\nconst Dashboard = () => {\n const user = useUser();\n const pages = usePagesStore(\n useShallow((s) => Object.keys(s.pages) as OwnPageId[])\n );\n\n const [showModal, _setShowModal] = useState(null);\n const [showQRModal, setShowQRModal] = useState(null);\n const [swipeIndex, setSwipeIndex] = useState(0);\n\n const swiperRef = useRef(null);\n\n const setShowModal = useCallback((pageId: OwnPageId | null) => {\n _setShowModal(pageId);\n\n const swiper = swiperRef?.current?.swiper;\n\n if (!swiper) return;\n\n // disable swiper so swiping gesture stops (if it was open)\n if (pageId === null) {\n swiper.enable();\n } else {\n swiper.disable();\n }\n }, []);\n\n const dismiss = useCallback(() => setShowModal(null), []);\n const dismissQR = useCallback(() => setShowQRModal(null), []);\n\n const currentIdx = pages[swipeIndex] ?? null;\n const currentPage = usePagesStore((s) => s.pages[currentIdx] ?? null);\n\n const [present] = useIonToast();\n\n const presentToast = (text: string) => {\n present({\n message: text,\n duration: 1500,\n position: 'bottom', // 'top' | 'middle' | 'bottom'\n cssClass: 'ownToast'\n });\n };\n\n useIonViewWillEnter(() => {\n swiperRef.current?.swiper?.update();\n dismiss();\n }, [pages, swipeIndex]);\n\n useIonViewWillLeave(() => {\n dismiss();\n }, []);\n\n return (\n
\n {FANCY_BLUR && currentPage && (\n
\n \n
\n )}\n\n \n Create new page\n
\n\n {/* page menu: */}\n \n \n {/* */}\n \n {DOMAIN_NAME}/{getUserString(user)}\n {/* {getUserString(user)} */}\n {getPageEnding(currentPage)}\n \n {/* */}\n\n {/* */}\n {/* */}\n \n \n setShowQRModal(currentPage?.id || null)}\n />\n \n setShowModal(currentPage?.id || null)}\n />\n {/* setShowQRModal(currentPage?.id || null)}\n >\n QR Code\n \n\n \n Share\n */}\n \n \n\n {/* */}\n\n
\n {\n setSwipeIndex(swiper.activeIndex);\n }}\n >\n {pages.map((id) => (\n \n \n \n ))}\n\n {pages.length < MAX_PAGES && (\n \n \n \n )}\n \n\n {showModal && (\n \n )}\n\n {showQRModal && currentPage && (\n \n )}\n
\n \n );\n};\n\nexport default () => (\n \n \n \n);\n","import { isPlatform } from '@ionic/core';\nimport PageBox from 'components/PageBox';\nimport { OwnUIPage } from 'ui';\n\nconst showDiscordOverlayHack =\n isPlatform('android') && !isPlatform('mobileweb');\n\nconst DiscordWidget = () => {\n // useEffect(() => {\n // // Handle iframe link clicks\n // const handleMessage = async (event: MessageEvent) => {\n // if (event.data?.url) {\n // await Browser.open({ url: event.data.url });\n // }\n // };\n\n // window.addEventListener('message', handleMessage);\n // return () => window.removeEventListener('message', handleMessage);\n // }, []);\n return (\n
\n {showDiscordOverlayHack && (\n \n )}\n \n
\n );\n};\n\nconst BuyMeACoffee = () => (\n
\n \n \n Buy us a coffee 🤗\n
\n \n
\n);\n\n// false on native mobile apps (cause they need IAPs)\nconst mayShowDonations = isPlatform('mobileweb') || isPlatform('desktop');\n\n/**\n * The Dashboard component which is the main (=home) page of the app\n * this gives an overview of the pages, and links them to the editor\n */\nconst Community: React.FC = () => {\n return (\n <>\n \n \n {mayShowDonations && (\n <>\n

\n Support\n

\n \n
\n ☕️ We're a small startup from Vienna, driven by a big\n mission: to make the web a better place 🌍 by giving everyone the\n tools to build their own digital home 🏠.
\n
\n We're working hard to bring you value in a fair way, and\n while we're still in beta 🚀, your support would mean the\n world to us as we continue to improve own.page every day.
\n
Thank you so much! 🙏💙\n
\n {/*
\n {/* ~~~ Supporters ~~~ */}\n {/*
*/}\n \n )}\n
\n \n );\n};\n\nexport default () => (\n \n \n \n);\n","import { useEffect, useRef } from 'react';\n\n/**\n * In general to fully grasp how useEffect works please read this:\n * @see https://overreacted.io/a-complete-guide-to-useeffect/\n */\n\n/**\n * React hook to execute function only once,\n * uses a useEffect with empty dependency array under the hood\n * always use it when a single call is required instead of building it your own\n * @param f the function that will be called\n */\nexport function useOnce(f: () => void) {\n useEffect(() => {\n f();\n }, []);\n}\n\n/**\n * The correct react-ideomatic version of a fetch as described in the react docs\n * @param fetchFunction the function to fetch the data\n * @param success the callback that will be executed if the function returns data successfully\n * @param error the callback that will be executed in an error case\n * @see https://react.dev/learn/you-might-not-need-an-effect#fetching-data\n */\nexport function useFetchOnceIf(\n fetchFunction: () => Promise,\n shoulFetch: boolean,\n success: (result: T) => void,\n error?: (error: unknown) => void\n) {\n useEffect(() => {\n let ignore = false;\n\n if (shoulFetch) {\n fetchFunction()\n .then((s) => {\n if (!ignore) {\n success(s);\n }\n })\n .catch(error);\n }\n\n return () => {\n ignore = true;\n };\n }, []);\n}\n\n/**\n * The correct react-ideomatic version of a fetch as described in the react docs\n * @param fetchFunction the function to fetch the data\n * @param success the callback that will be executed if the function returns data successfully\n * @param error the callback that will be executed in an error case\n * @see https://react.dev/learn/you-might-not-need-an-effect#fetching-data\n */\nexport function useFetchOnce(\n fetchFunction: () => Promise,\n success: (result: T) => void,\n error?: (error: unknown) => void\n) {\n const alreadyFetched = useRef(false);\n useEffect(() => {\n if (alreadyFetched.current) return;\n alreadyFetched.current = true;\n\n fetchFunction()\n .then((s) => {\n success(s);\n })\n .catch(error);\n }, []);\n}\n\n// /**\n// * The correct react-ideomatic version of a fetch as described in the react docs\n// * @param fetchFunction the function to fetch the data\n// * @param success the callback that will be executed if the function returns data successfully\n// * @param error the callback that will be executed in an error case\n// * @see https://react.dev/learn/you-might-not-need-an-effect#fetching-data\n// */\n// export function useFetchOnce(\n// fetchFunction: () => Promise,\n// success: (result: T) => void,\n// error?: (error: unknown) => void\n// ) {\n// useEffect(() => {\n// let ignore = false;\n\n// fetchFunction()\n// .then((s) => {\n// if (!ignore) {\n// success(s);\n// }\n// })\n// .catch(error);\n\n// return () => {\n// ignore = true;\n// };\n// }, []);\n// }\n\n// same as useFetchOnce but for a specific url\n// function useFetch(url: string, init: RequestInit) {\n// const [data, setData] = useState(null);\n// useEffect(() => {\n// let ignore = false;\n// fetch(url, init)\n// .then((response) => response.json())\n// .then((json) => {\n// if (!ignore) {\n// setData(json);\n// }\n// });\n// return () => {\n// ignore = true;\n// };\n// }, [url]);\n// return data;\n// }\n","import { useEffect } from 'react';\nimport { useActiveEditorStore } from 'stores/activeEditorStore';\n\n//https://github.com/pmndrs/use-gesture/issues/101\nexport function usePreventScroll() {\n useEffect(() => {\n const preventScrolling = (e: Event) => {\n if (useActiveEditorStore.getState().preventScroll) {\n e.preventDefault();\n }\n };\n\n document.addEventListener('touchmove', preventScrolling, {\n passive: false\n });\n return () => document.removeEventListener('touchmove', preventScrolling);\n }, []);\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-function-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// https://github.com/streamich/react-use\nimport {\n type Dispatch,\n type SetStateAction,\n useCallback,\n useRef,\n useState,\n type EffectCallback,\n useEffect\n} from 'react';\n\nconst useEffectOnce = (effect: EffectCallback) => {\n useEffect(effect, []);\n};\n\nconst useUnmount = (fn: () => any): void => {\n const fnRef = useRef(fn);\n\n // update the ref each render so if it change the newest callback will be invoked\n fnRef.current = fn;\n\n useEffectOnce(() => () => fnRef.current());\n};\n\nconst useRafState = (\n initialState: S | (() => S)\n): [S, Dispatch>] => {\n const frame = useRef(0);\n const [state, setState] = useState(initialState);\n\n const setRafState = useCallback((value: S | ((prevState: S) => S)) => {\n cancelAnimationFrame(frame.current);\n\n frame.current = requestAnimationFrame(() => {\n setState(value);\n });\n }, []);\n\n useUnmount(() => {\n cancelAnimationFrame(frame.current);\n });\n\n return [state, setRafState];\n};\n\nexport const noop = () => {};\n\nexport function on(\n obj: T | null,\n ...args: Parameters | [string, Function | null, ...any]\n): void {\n if (obj && obj.addEventListener) {\n obj.addEventListener(\n ...(args as Parameters)\n );\n }\n}\n\nexport function off(\n obj: T | null,\n ...args:\n | Parameters\n | [string, Function | null, ...any]\n): void {\n if (obj && obj.removeEventListener) {\n obj.removeEventListener(\n ...(args as Parameters)\n );\n }\n}\n\nexport const isBrowser = typeof window !== 'undefined';\n\nexport const isNavigator = typeof navigator !== 'undefined';\n\nconst useWindowSize = (initialWidth = Infinity, initialHeight = Infinity) => {\n const [state, setState] = useRafState<{ width: number; height: number }>({\n width: isBrowser ? window.innerWidth : initialWidth,\n height: isBrowser ? window.innerHeight : initialHeight\n });\n\n useEffect((): (() => void) | void => {\n if (isBrowser) {\n const handler = () => {\n setState({\n width: window.innerWidth,\n height: window.innerHeight\n });\n };\n\n on(window, 'resize', handler);\n\n return () => {\n off(window, 'resize', handler);\n };\n }\n }, []);\n\n return state;\n};\n\nexport const useWindowSizeCallback = (\n callback: (size: { width: number; height: number }) => void\n) => {\n const [state, setState] = useRafState<{ width: number; height: number }>({\n width: isBrowser ? window.innerWidth : Infinity,\n height: isBrowser ? window.innerHeight : Infinity\n });\n\n useEffect((): (() => void) | void => {\n if (isBrowser) {\n const handler = () => {\n const width = window.innerWidth;\n const height = window.innerHeight;\n\n const size = { width, height };\n\n setState(size);\n callback(size);\n };\n\n on(window, 'resize', handler);\n\n return () => {\n off(window, 'resize', handler);\n };\n }\n }, []);\n\n return state;\n};\n\nexport default useWindowSize;\n","import type { OwnElement } from '@own.page/rendering';\nimport { useCallback } from 'react';\nimport { editorActions } from 'stores/editorStore';\nimport type { EditorOwnTileProps } from './EditorOwnTile';\n\nfunction scrollIntoPlace(domElement: Element) {\n domElement.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'nearest'\n });\n}\n\nfunction _testFunction(ref: HTMLDivElement) {\n alert('called with: ' + ref);\n}\n\nfunction growInAnimation(\n element: OwnElement,\n domElement: HTMLElement | SVGElement\n) {\n domElement.style.opacity = '0'; // to avoid initial flicker\n setTimeout(\n () => editorActions.springTo(element.id, { scale: 0, immediate: true }),\n 0\n );\n\n setTimeout(() => {\n domElement.style.setProperty('opacity', null);\n editorActions.springTo(element.id, { scale: 1 });\n }, 100);\n}\n\nconst InitialEditorElement = ({\n children,\n className,\n ...props\n}: EditorOwnTileProps) => {\n //https://elfi-y.medium.com/react-callback-refs-a-4bd2da317269\n // const hasDoneInitialDrawRef = useRef(false);\n const element = props.editor.element;\n const isIgnoreNew =\n props.editor.ignoreNew !== false && props.editor.ignoreNew !== undefined;\n const isPreview = props.preview !== undefined;\n\n // useTraceUpdate(props as any);\n\n const domTrigger = useCallback(\n (el: HTMLDivElement) => {\n if (!isPreview && el && element.isNew && !isIgnoreNew) {\n if (element.isNew === 'initial') {\n growInAnimation(element, el);\n scrollIntoPlace(el); // we do not scroll into place on subsequent updates\n }\n el.style.display = 'none';\n const _unused = el.offsetHeight; // no need to store this anywhere, the reference is enough\n el.style.display = '';\n el.scrollTo();\n editorActions.updateDomDimensions(element.id, el);\n }\n },\n [element, isIgnoreNew, isPreview]\n );\n\n return (\n \n {children}\n
\n );\n};\n\nexport default InitialEditorElement;\n","import type {\n EditorOuterComponentFC,\n EditorOwnTileFC,\n EditorOwnTileProps,\n InjectedEditorTileFC\n} from './EditorOwnTile';\nimport InitialEditorElement from './InitialEditorElement';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function withInitial(C: EditorOwnTileFC) {\n if (C === undefined) {\n throw new Error('Component is undefined in withInitial!');\n }\n\n const initialElement = (props: EditorOwnTileProps) => (\n \n );\n\n return initialElement as InjectedEditorTileFC;\n}\n","import type { PreviewProps } from 'editor/tools/ElementPreview';\nimport { editorElementsMap } from '.';\nimport { withInitial } from './withInitial';\nimport { useMemo } from 'react';\nimport { type OwnElement } from '@own.page/rendering';\nimport type { EditorOwnTileFC } from './EditorOwnTile';\n\nexport const EditorTile = Object.fromEntries(\n Object.entries(editorElementsMap).map(([k, v]) => [\n k,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n withInitial(v.EditorElement as EditorOwnTileFC)\n ])\n);\n\nconst EditorRenderElement = (props: {\n /** */\n element: OwnElement;\n /** */\n onInnerUpdate?: (content: string) => void;\n /** whether this editor render element is shown in the preview (passed down so elements can behave differently) */\n preview?: PreviewProps;\n /** */\n ignoreNew?: boolean;\n /** */\n className?: string;\n}) => {\n const El = EditorTile[props.element.type];\n\n // console.log('EDITOR_RENDER_ELEMENT', El, props.element);\n\n const editor = useMemo(\n () => ({\n element: props.element,\n ignoreNew: props.ignoreNew\n }),\n [props.element, props.ignoreNew]\n );\n\n return (\n <>\n \n {props.element.content}\n \n \n );\n};\n\nexport default EditorRenderElement;\n","const FullDragHandle: React.FC = () => (\n <>\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n);\n\nexport default FullDragHandle;\n","const NoneDragHandle: React.FC = () => null;\n\nexport default NoneDragHandle;\n","const TextDragHandle: React.FC = () => (\n <>\n
\n
\n
\n
\n
\n
\n \n);\n\nexport default TextDragHandle;\n","import { type OwnElementType } from '@own.page/rendering';\nimport './DragHandle.css';\nimport FullDragHandle from './FullDragHandle';\nimport NoneDragHandle from './NoneDragHandle';\nimport VerticalDragHandle from './VerticalDragHandle';\nimport {\n editorElementsMap,\n type EditorElementsKey\n} from 'editor/editor-elements';\n\nconst dragHandles = {\n none: NoneDragHandle,\n vertical: VerticalDragHandle,\n full: FullDragHandle\n};\n\nexport type DragHandleType = keyof typeof dragHandles;\n\n/**\n *\n * @param props\n */\nconst DragHandle = (props: { type: OwnElementType }) => {\n const handleType: DragHandleType =\n editorElementsMap[props.type as EditorElementsKey]?.dragHandle || 'full';\n\n const InnerHandle = dragHandles[handleType];\n\n return (\n
\n \n
\n );\n};\n\nexport default DragHandle;\n","type MapOf = {\n [k in keyof K]: V;\n};\n\nexport function mapObject(\n obj: T,\n f: (value: T[keyof T]) => O\n): MapOf {\n const result = {} as MapOf;\n\n for (const key in obj) {\n result[key] = f(obj[key]);\n }\n\n return result;\n}\n","// TODO: move this into a dragging folder index.ts\n\nimport { type GridArea } from '@own.page/rendering';\nimport { type ControllerUpdate } from '@react-spring/web';\nimport type { SizeInfo } from 'editor/EditorGrid';\n\nexport type SpringState = {\n x: number;\n y: number;\n scale: number;\n shadow: number;\n width: number;\n height: number;\n};\n// export type SpringResult = ControllerUpdate>;\nexport type SpringResult = ControllerUpdate;\n\nexport const stiffness = {\n // tension: 200,\n tension: 250,\n friction: 16\n};\n\n/**\n *\n * @param element\n * @param sizeInfo\n * @param immediate\n */\nexport const defaultFn = (\n grid: GridArea,\n sizeInfo: SizeInfo,\n immediate = false,\n scale = 1\n) => {\n return {\n x: sizeInfo.gridToElement(grid.x),\n y: sizeInfo.gridToElement(grid.y),\n scale,\n shadow: 0,\n immediate: immediate,\n width: sizeInfo.gridToElement(grid.w),\n height: sizeInfo.gridToElement(grid.h || 1)\n };\n};\n\nexport const moveFn = (\n grid: GridArea,\n sizeInfo: SizeInfo,\n active = false,\n isSelected = false,\n x = 0,\n y = 0\n) => {\n if (active && isSelected) {\n return {\n x: sizeInfo.gridToElement(grid.x) + sizeInfo.viewportToElement(x),\n y: sizeInfo.gridToElement(grid.y) + sizeInfo.viewportToElement(y),\n scale: 1.05,\n shadow: 1,\n immediate: (key: string) =>\n key === 'zIndex' || key === 'x' || key === 'y',\n config: stiffness,\n width: sizeInfo.gridToElement(grid.w),\n height: sizeInfo.gridToElement(grid.h || 1)\n };\n } else {\n const scale = active ? 0.95 : 1;\n return defaultFn(grid, sizeInfo, false, scale);\n }\n};\n\nexport const resizeFn = (\n grid: GridArea,\n sizeInfo: SizeInfo,\n gridPos: GridArea,\n active = false,\n isSelected = false,\n hOverwrite: number | null = null // just used for animation\n) => {\n if (active && isSelected) {\n return {\n x: sizeInfo.gridToElement(gridPos.x),\n y: sizeInfo.gridToElement(gridPos.y),\n scale: 1,\n shadow: 0.33,\n immediate: (key: string) =>\n // key === 'zIndex' ||\n key === 'x' ||\n key === 'y' ||\n key === 'width' ||\n (hOverwrite === null && key === 'height'),\n config: stiffness,\n width: sizeInfo.gridToElement(gridPos.w),\n height: sizeInfo.gridToElement(gridPos.h)\n };\n } else {\n return defaultFn(grid, sizeInfo);\n }\n};\n","/**\n * Utility methods for displaying the material colors, maybe use our own color palette here in the future\n * https://material.io/design/color/the-color-system.html#tools-for-picking-colors\n */\nexport const colors = {\n red: {\n 50: '#FFEBEE',\n 100: '#FFCDD2',\n 200: '#EF9A9A',\n 300: '#E57373',\n 400: '#EF5350',\n 500: '#F44336',\n 600: '#E53935',\n 700: '#D32F2F',\n 800: '#C62828',\n 900: '#B71C1C',\n A100: '#FF8A80',\n A200: '#FF5252',\n A400: '#FF1744',\n A700: '#D50000'\n },\n pink: {\n 50: '#FCE4EC',\n 100: '#F8BBD0',\n 200: '#F48FB1',\n 300: '#F06292',\n 400: '#EC407A',\n 500: '#E91E63',\n 600: '#D81B60',\n 700: '#C2185B',\n 800: '#AD1457',\n 900: '#880E4F',\n A100: '#FF80AB',\n A200: '#FF4081',\n A400: '#F50057',\n A700: '#C51162'\n },\n purple: {\n 50: '#F3E5F5',\n 100: '#E1BEE7',\n 200: '#CE93D8',\n 300: '#BA68C8',\n 400: '#AB47BC',\n 500: '#9C27B0',\n 600: '#8E24AA',\n 700: '#7B1FA2',\n 800: '#6A1B9A',\n 900: '#4A148C',\n A100: '#EA80FC',\n A200: '#E040FB',\n A400: '#D500F9',\n A700: '#AA00FF'\n },\n deeppurple: {\n 50: '#EDE7F6',\n 100: '#D1C4E9',\n 200: '#B39DDB',\n 300: '#9575CD',\n 400: '#7E57C2',\n 500: '#673AB7',\n 600: '#5E35B1',\n 700: '#512DA8',\n 800: '#4527A0',\n 900: '#311B92',\n A100: '#B388FF',\n A200: '#7C4DFF',\n A400: '#651FFF',\n A700: '#6200EA'\n },\n indigo: {\n 50: '#E8EAF6',\n 100: '#C5CAE9',\n 200: '#9FA8DA',\n 300: '#7986CB',\n 400: '#5C6BC0',\n 500: '#3F51B5',\n 600: '#3949AB',\n 700: '#303F9F',\n 800: '#283593',\n 900: '#1A237E',\n A100: '#8C9EFF',\n A200: '#536DFE',\n A400: '#3D5AFE',\n A700: '#304FFE'\n },\n blue: {\n 50: '#E3F2FD',\n 100: '#BBDEFB',\n 200: '#90CAF9',\n 300: '#64B5F6',\n 400: '#42A5F5',\n 500: '#2196F3',\n 600: '#1E88E5',\n 700: '#1976D2',\n 800: '#1565C0',\n 900: '#0D47A1',\n A100: '#82B1FF',\n A200: '#448AFF',\n A400: '#2979FF',\n A700: '#2962FF'\n },\n lightblue: {\n 50: '#E1F5FE',\n 100: '#B3E5FC',\n 200: '#81D4FA',\n 300: '#4FC3F7',\n 400: '#29B6F6',\n 500: '#03A9F4',\n 600: '#039BE5',\n 700: '#0288D1',\n 800: '#0277BD',\n 900: '#01579B',\n A100: '#80D8FF',\n A200: '#40C4FF',\n A400: '#00B0FF',\n A700: '#0091EA'\n },\n cyan: {\n 50: '#E0F7FA',\n 100: '#B2EBF2',\n 200: '#80DEEA',\n 300: '#4DD0E1',\n 400: '#26C6DA',\n 500: '#00BCD4',\n 600: '#00ACC1',\n 700: '#0097A7',\n 800: '#00838F',\n 900: '#006064',\n A100: '#84FFFF',\n A200: '#18FFFF',\n A400: '#00E5FF',\n A700: '#00B8D4'\n },\n teal: {\n 50: '#E0F2F1',\n 100: '#B2DFDB',\n 200: '#80CBC4',\n 300: '#4DB6AC',\n 400: '#26A69A',\n 500: '#009688',\n 600: '#00897B',\n 700: '#00796B',\n 800: '#00695C',\n 900: '#004D40',\n A100: '#A7FFEB',\n A200: '#64FFDA',\n A400: '#1DE9B6',\n A700: '#00BFA5'\n },\n green: {\n 50: '#E8F5E9',\n 100: '#C8E6C9',\n 200: '#A5D6A7',\n 300: '#81C784',\n 400: '#66BB6A',\n 500: '#4CAF50',\n 600: '#43A047',\n 700: '#388E3C',\n 800: '#2E7D32',\n 900: '#1B5E20',\n A100: '#B9F6CA',\n A200: '#69F0AE',\n A400: '#00E676',\n A700: '#00C853'\n },\n lightgreen: {\n 50: '#F1F8E9',\n 100: '#DCEDC8',\n 200: '#C5E1A5',\n 300: '#AED581',\n 400: '#9CCC65',\n 500: '#8BC34A',\n 600: '#7CB342',\n 700: '#689F38',\n 800: '#558B2F',\n 900: '#33691E',\n A100: '#CCFF90',\n A200: '#B2FF59',\n A400: '#76FF03',\n A700: '#64DD17'\n },\n lime: {\n 50: '#F9FBE7',\n 100: '#F0F4C3',\n 200: '#E6EE9C',\n 300: '#DCE775',\n 400: '#D4E157',\n 500: '#CDDC39',\n 600: '#C0CA33',\n 700: '#AFB42B',\n 800: '#9E9D24',\n 900: '#827717',\n A100: '#F4FF81',\n A200: '#EEFF41',\n A400: '#C6FF00',\n A700: '#AEEA00'\n },\n yellow: {\n 50: '#FFFDE7',\n 100: '#FFF9C4',\n 200: '#FFF59D',\n 300: '#FFF176',\n 400: '#FFEE58',\n 500: '#FFEB3B',\n 600: '#FDD835',\n 700: '#FBC02D',\n 800: '#F9A825',\n 900: '#F57F17',\n A100: '#FFFF8D',\n A200: '#FFFF00',\n A400: '#FFEA00',\n A700: '#FFD600'\n },\n amber: {\n 50: '#FFF8E1',\n 100: '#FFECB3',\n 200: '#FFE082',\n 300: '#FFD54F',\n 400: '#FFCA28',\n 500: '#FFC107',\n 600: '#FFB300',\n 700: '#FFA000',\n 800: '#FF8F00',\n 900: '#FF6F00',\n A100: '#FFE57F',\n A200: '#FFD740',\n A400: '#FFC400',\n A700: '#FFAB00'\n },\n orange: {\n 50: '#FFF3E0',\n 100: '#FFE0B2',\n 200: '#FFCC80',\n 300: '#FFB74D',\n 400: '#FFA726',\n 500: '#FF9800',\n 600: '#FB8C00',\n 700: '#F57C00',\n 800: '#EF6C00',\n 900: '#E65100',\n A100: '#FFD180',\n A200: '#FFAB40',\n A400: '#FF9100',\n A700: '#FF6D00'\n },\n deeporange: {\n 50: '#FBE9E7',\n 100: '#FFCCBC',\n 200: '#FFAB91',\n 300: '#FF8A65',\n 400: '#FF7043',\n 500: '#FF5722',\n 600: '#F4511E',\n 700: '#E64A19',\n 800: '#D84315',\n 900: '#BF360C',\n A100: '#FF9E80',\n A200: '#FF6E40',\n A400: '#FF3D00',\n A700: '#DD2C00'\n }\n};\n\nexport const grays = {\n 50: '#F9FAFB',\n 100: '#F3F4F6',\n 200: '#E5E7EB',\n 300: '#D1D5DB',\n 400: '#9CA3AF',\n 500: '#6B7280',\n 600: '#4B5563',\n 700: '#374151',\n 800: '#1F2937',\n 900: '#111827'\n};\n\nexport const neutral = {\n 50: '#FAFAFA',\n 100: '#F5F5F5',\n 200: '#E5E5E5',\n 300: '#D4D4D4',\n 400: '#A3A3A3',\n 500: '#737373',\n 600: '#525252',\n 700: '#404040',\n 800: '#262626',\n 900: '#171717'\n};\n\n/**\n * All possible hue options\n */\nexport type CustomHue =\n | 50\n | 100\n | 200\n | 300\n | 400\n | 500\n | 600\n | 700\n | 800\n | 900\n | 'A100'\n | 'A200'\n | 'A400'\n | 'A700';\n\nexport default colors;\n","import {\n IonHeader,\n IonToolbar,\n IonButtons,\n IonModal,\n IonTitle\n} from '@ionic/react';\nimport { useRef, useState } from 'react';\n// import '../../ownpage_editor.css';\nimport './BackgroundTool.css';\nimport { colors, neutral } from 'utils/colors';\nimport { HexColorPicker, HexColorInput } from 'react-colorful';\nimport type { ToolProps, Tool } from '..';\nimport { editorActions, useEditorStore } from 'stores/editorStore';\nimport { PaintBrush } from '@phosphor-icons/react';\nimport { getBackgroundOf } from '@own.page/rendering/index';\n\nconst _special = {\n black: '#000000',\n nocol: 'transparent',\n rainbow:\n 'radial-gradient(50% 50% at 50% 50%,#ffffff 0%,transparent 100%),conic-gradient(from 0deg at 50% 50%,#ff0000 0deg,#ffa800 47.73deg,#ffff00 79.56deg,#00ff00 121.33deg,#00ffff 180.99deg,#0000ff 238.67deg,#ff00ff 294.36deg,#ff0000 360deg)'\n};\n\nconst everyOther = (e: object) =>\n Object.entries(e).filter((_v, i) => i % 2 == 0);\n\nconst colorLists = [\n everyOther(colors).map(([, v]) => v[900]),\n everyOther(colors).map(([, v]) => v[400]),\n everyOther(colors).map(([, v]) => v[200]),\n ['#fff'].concat(\n Object.entries(neutral)\n .map(([, v]) => v)\n .slice(3, -1)\n .concat('#000')\n ),\n ['null', 'null', 'null', 'transparent', 'rainbow', 'null', 'null', 'null']\n];\n\ntype Color = string;\n// type ColorFormat = {\n// hsv: tinycolor.ColorFormats.HSVA;\n// hsl: tinycolor.ColorFormats.HSLA;\n// hex: string;\n// };\n\n// const hexToColorFormat = (color: string | ColorResult) => {\n// const tinyCol = tinycolor(color as any);\n// const hex = tinyCol.toHex();\n// const hsv = tinyCol.toHsv();\n// const hsl = tinyCol.toHsl();\n// return { hsv, hsl, hex };\n// };\n\nconst ColorList = (props: {\n color: Color;\n setPickerOpen: (open: boolean) => void;\n setColor: (color: Color) => void;\n}) => {\n return (\n <>\n {colorLists.map((l) => (\n
\n {l.map((c, n) =>\n c == 'null' ? (\n \n ) : c == 'rainbow' ? (\n {\n props.setPickerOpen(true);\n ev.preventDefault();\n }}\n style={{\n background:\n 'radial-gradient(50% 50% at 50% 50%,#ffffff 0%,transparent 100%),conic-gradient(from 0deg at 50% 50%,#ff0000 0deg,#ffa800 47.73deg,#ffff00 79.56deg,#00ff00 121.33deg,#00ffff 180.99deg,#0000ff 238.67deg,#ff00ff 294.36deg,#ff0000 360deg)'\n }}\n />\n ) : (\n {\n props.setColor(c);\n ev.preventDefault();\n }}\n style={{ backgroundColor: c }}\n />\n )\n )}\n
\n ))}\n \n );\n};\n\nconst ColorPicker = (props: {\n color: Color;\n // setPickerOpen: (open: boolean) => void;\n setColor: (color: Color) => void;\n}) => {\n return (\n <>\n
\n \n \n
\n \n );\n};\n\nconst BackgroundTool = (props: ToolProps) => {\n const [showModal, _setShowModal] = useState(true);\n const [pickerOpen, setPickerOpen] = useState(false);\n\n const modal = useRef(null);\n\n const backgroundElement = useEditorStore((s) => getBackgroundOf(s.page));\n\n const closeModal = () => {\n props.close();\n modal.current?.remove(); // THIS IS SUPER IMPORTANT!\n };\n\n const changeBackground = (backgroundColor: string) => {\n const backgroundWithNewColor = {\n ...backgroundElement,\n props: { ...backgroundElement.props, color: backgroundColor }\n };\n editorActions.updateElement(backgroundWithNewColor);\n };\n\n // we do not need state actually\n const color = backgroundElement.props.color as Color;\n const setColor = changeBackground;\n\n return (\n <>\n \n
\n \n \n {pickerOpen ? (\n <>\n \n \n \n \n Background\n \n \n \n \n \n ) : (\n \n Background\n \n )}\n \n \n
\n {pickerOpen ? (\n \n ) : (\n \n )}\n
\n
\n \n \n );\n};\n\nconst tool: Tool = {\n name: 'background',\n Component: BackgroundTool,\n ToolbarIcon: PaintBrush,\n icon: 'background.svg'\n};\n\nexport default tool;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n IonHeader,\n IonToolbar,\n IonButtons,\n IonModal,\n IonTitle\n} from '@ionic/react';\nimport { useRef, useState } from 'react';\nimport './BackgroundTool.css';\nimport { colors, neutral } from 'utils/colors';\nimport { HexColorPicker, HexColorInput } from 'react-colorful';\nimport type { ToolProps, Tool } from '..';\nimport { editorActions, useEditorStore } from 'stores/editorStore';\n\nexport enum ColorVar {\n Main = 'main',\n Secondary = 'secondary',\n Body = 'body',\n Background = 'background'\n}\n\nexport const colorVarTitleMapping = {\n main: 'heading',\n secondary: 'subheading',\n body: 'normal',\n background: 'background'\n};\n\n// Source: https://uigradients.com/\nexport const gradients = {\n deepspace: {\n gradient: 'linear-gradient(to bottom right, #000000, #434343)',\n backgroundColor: '#434343'\n },\n moonlitasteroid: {\n gradient: 'linear-gradient(to bottom right, #0F2027, #203A43, #2C5364)',\n backgroundColor: '#2C5364'\n },\n pinotnoir: {\n gradient: 'linear-gradient(to bottom, #4b6cb7, #182848)',\n backgroundColor: '#182848'\n },\n thestrain: {\n gradient: 'linear-gradient(to top left, #870000, #190A05)',\n backgroundColor: '#190A05'\n },\n hersheys: {\n gradient: 'linear-gradient(to bottom right, #1e130c, #9a8478)',\n backgroundColor: '#9a8478'\n },\n purplepine: {\n gradient: 'linear-gradient(to bottom left, #20002c, #cbb4d4)',\n backgroundColor: '#cbb4d4'\n },\n starfall: {\n gradient: 'linear-gradient(to top left, #F0C27B, #4B1248)',\n backgroundColor: '#4B1248'\n },\n cococaramel: {\n gradient: 'linear-gradient(to bottom right, #d1913c, #ffd193)',\n backgroundColor: '#ffd193'\n }\n};\n\nconst gradients2 = {\n petrol: {\n gradient: 'linear-gradient(to top right, #536976, #BBD2C5)',\n backgroundColor: '#BBD2C5'\n },\n\n harvey: {\n gradient: 'linear-gradient(to top right, #1f4037, #99f2c8)',\n backgroundColor: '#99f2c8'\n },\n\n azurlane: {\n gradient: 'linear-gradient(to bottom right, #7f7fd5, #86a8e7, #91eae4)',\n backgroundColor: '#91eae4'\n },\n\n piggypink: {\n gradient: 'linear-gradient(to bottom right, #ee9ca7, #ffdde1)',\n backgroundColor: '#ffdde1'\n },\n frozen: {\n gradient: 'linear-gradient(to top left, #403B4A, #E7E9BB)',\n backgroundColor: '#E7E9BB'\n },\n\n montecarlo: {\n gradient: 'linear-gradient(to bottom left, #cc95c0, #dbd4b4, #7aa1d2)',\n backgroundColor: '#7aa1d2'\n },\n\n shore: {\n gradient: 'linear-gradient(to bottom right, #70e1f5, #ffd194)',\n backgroundColor: '#ffd194'\n },\n\n portrait: {\n gradient: 'linear-gradient(to bottom right, #8e9eab, #eef2f3)',\n backgroundColor: '#eef2f3'\n }\n};\n\nconst everyOther = (e: object) =>\n Object.entries(e).filter((_v, i) => i % 2 == 0);\n\nconst colorLists: string[][] = [\n everyOther(colors).map(([, v]) => v[900]),\n everyOther(colors).map(([, v]) => v[400]),\n everyOther(colors).map(([, v]) => v[200]),\n ['#fff'].concat(\n Object.entries(neutral)\n .map(([, v]) => v)\n .slice(3, -1)\n .concat('#000')\n ),\n Object.values(gradients),\n Object.values(gradients2),\n ['null', 'null', 'null', 'rainbow', 'null', 'null', 'null']\n];\n\ntype Color = string;\n// type ColorFormat = {\n// hsv: tinycolor.ColorFormats.HSVA;\n// hsl: tinycolor.ColorFormats.HSLA;\n// hex: string;\n// };\n\n// const hexToColorFormat = (color: string | ColorResult) => {\n// const tinyCol = tinycolor(color as any);\n// const hex = tinyCol.toHex();\n// const hsv = tinyCol.toHsv();\n// const hsl = tinyCol.toHsl();\n// return { hsv, hsl, hex };\n// };\n\nconst ColorList = (props: {\n color: Color;\n colorVarKey: string;\n setPickerOpen: (open: boolean) => void;\n setColor: (color: Color) => void;\n setGradient: (gradient: string) => void;\n}) => {\n const colorFound = colorLists.some((list) => {\n return list.some((item) =>\n typeof item === 'object' && item !== null\n ? (item as any).backgroundColor === props.color\n : item === props.color\n );\n });\n\n const isBackground = props.colorVarKey == 'background-color';\n\n return (\n <>\n {colorLists.map((l, listIndex) => (\n
\n {l.map((c, n) =>\n c == 'null' ? (\n \n ) : c == 'rainbow' ? (\n {\n props.setPickerOpen(true);\n ev.preventDefault();\n }}\n style={{\n background:\n 'radial-gradient(50% 50% at 50% 50%,#ffffff 0%,transparent 100%),conic-gradient(from 0deg at 50% 50%,#ff0000 0deg,#ffa800 47.73deg,#ffff00 79.56deg,#00ff00 121.33deg,#00ffff 180.99deg,#0000ff 238.67deg,#ff00ff 294.36deg,#ff0000 360deg)',\n borderColor: colorFound ? 'white' : 'black'\n }}\n />\n ) : typeof c === 'object' ? (\n
\n {isBackground && (\n {\n props.setGradient((c as any).gradient);\n props.setColor((c as any).backgroundColor);\n ev.preventDefault();\n }}\n style={{\n background: (c as any).gradient,\n borderColor:\n (c as any).backgroundColor == props.color\n ? 'black'\n : 'white'\n //borderWidth: c == props.color ? '2px' : '1px'\n }}\n />\n )}\n
\n ) : (\n {\n props.setColor(c);\n if (isBackground) {\n props.setGradient('none');\n }\n ev.preventDefault();\n }}\n style={{\n backgroundColor: c,\n borderColor: c == props.color ? 'black' : 'white'\n //borderWidth: c == props.color ? '2px' : '1px'\n }}\n />\n )\n )}\n
\n ))}\n \n );\n};\n\nexport const ColorPicker = (props: {\n color: Color;\n embeddedPicker: boolean;\n setPickerOpen?: (open: boolean) => void;\n setColor: (color: Color) => void;\n setGradient?: (gradient: string) => void;\n}) => {\n return (\n <>\n
\n {\n props.setColor(c);\n if (props.setGradient) {\n props.setGradient('none');\n }\n }}\n />\n
\n {\n props.setColor(c);\n if (props.setGradient) {\n props.setGradient('none');\n }\n }}\n />\n \n props.setPickerOpen?.(false)}\n >\n {/* */}\n \n
\n {/* props.setPickerOpen?.(false)}\n >\n \n
*/}\n \n \n \n \n );\n};\n\nconst colorVarToName = (colorVar: string) => {\n const oldTitle = colorVar.replace('-color', '');\n const newTitle = colorVarTitleMapping[oldTitle as ColorVar];\n\n return newTitle.charAt(0).toUpperCase() + newTitle.slice(1) + ' Color';\n};\n\nconst ColorVariableChangeTool = (props: ToolProps) => {\n const [showModal, _setShowModal] = useState(true);\n const [pickerOpen, setPickerOpen] = useState(false);\n const colorVarKey = props.editContent ?? 'background-color';\n\n const modal = useRef(null);\n\n const pageColors = useEditorStore((s) => s.page.style.colors);\n const initialColor = useRef(pageColors[colorVarKey]);\n\n const element = props.element;\n\n const closeModal = () => {\n props.close();\n modal.current?.remove(); // THIS IS SUPER IMPORTANT!\n\n // Ensure the backdrop is not aria-hidden\n const backdrop = document.querySelector('ion-backdrop');\n if (backdrop) {\n backdrop.removeAttribute('aria-hidden');\n }\n\n const openTool = props.openToolOnClose;\n if (openTool) {\n editorActions.activateTool({\n ...openTool,\n Component: (currProps: ToolProps) => (\n \n )\n });\n }\n };\n\n const changeVarColor = (newVarColor: string) => {\n console.log(colorVarKey, newVarColor);\n editorActions.updateColorVarsStyle(colorVarKey, newVarColor);\n };\n\n const changeVarGradient = (newVarGradient: string) => {\n editorActions.updateColorVarsStyle('background-gradient', newVarGradient);\n };\n\n return (\n <>\n \n
\n \n \n {pickerOpen ? (\n <>\n \n \n \n \n {colorVarToName(colorVarKey)}\n \n \n \n \n \n ) : (\n <>\n \n {\n changeVarColor(initialColor.current);\n closeModal();\n }}\n >\n \n \n \n \n {colorVarToName(colorVarKey)}\n \n \n \n \n \n )}\n \n \n
\n {pickerOpen ? (\n \n ) : (\n \n )}\n
\n
\n \n \n );\n};\n\nconst tool: Tool = {\n name: 'background',\n Component: ColorVariableChangeTool,\n icon: 'background.svg',\n addPadding: true\n};\n\nexport default tool;\n","import { IonHeader, IonToolbar, IonModal, IonTitle } from '@ionic/react';\nimport { useRef, useState } from 'react';\nimport './BackgroundTool.css';\nimport type { ToolProps, Tool } from '..';\nimport ColorVariableChangeTool, {\n type ColorVar,\n colorVarTitleMapping\n} from './ColorVariableChangeTool';\nimport {\n editorActions,\n initialStyle,\n useEditorStore\n} from 'stores/editorStore';\nimport { useShallow } from 'zustand/react/shallow';\nimport { Palette } from '@phosphor-icons/react';\n\nconst ColorVariablesTool = (props: ToolProps) => {\n const [showModal, setShowModal] = useState(true);\n const modal = useRef(null);\n\n const pageColorVars = useEditorStore(\n useShallow((s) => Object.entries(s.page.style.colors))\n );\n const colorVars =\n pageColorVars.length === 0\n ? Object.entries(initialStyle.colors)\n : pageColorVars;\n\n const filteredColorVars = colorVars.filter(\n ([k, _]) => k !== 'background-gradient'\n );\n\n const lastColorValue =\n colorVars.find(([k, _]) => k === 'background-gradient')?.[1] || null;\n\n const closeModal = () => {\n setShowModal(false);\n props.close();\n modal.current?.remove(); // THIS IS SUPER IMPORTANT!\n };\n\n return (\n <>\n \n
\n \n \n \n Page Colors\n \n \n \n
\n
\n {filteredColorVars.map(([k, v]) => (\n
\n {\n const tool = ColorVariableChangeTool;\n editorActions.activateTool({\n ...tool,\n addPadding: true,\n Component: (currProps: ToolProps) => (\n \n )\n });\n }}\n />\n
\n {colorVarTitleMapping[k.replace('-color', '') as ColorVar]}\n
\n
\n ))}\n
\n
\n
\n \n \n );\n};\n\nconst tool: Tool = {\n name: 'colors',\n Component: ColorVariablesTool,\n // ToolbarIcon: PaintBrush,\n ToolbarIcon: Palette,\n toolbarText: 'Modify Design',\n icon: 'background.svg'\n};\n\nexport default tool;\n","import { Swiper, SwiperSlide } from 'swiper/react';\nimport type SwiperCore from 'swiper';\nimport 'swiper/swiper-bundle.css';\nimport { useCallback, useMemo, useRef, useState } from 'react';\nimport './OwnTool.css';\nimport { a, config, useSpring } from '@react-spring/web';\nimport { FreeMode } from 'swiper/modules';\nimport ownHaptics from 'utils/ownHaptics';\n\n/**\n * Computes the index of the current selected element of the slider (while dragging)\n * @param swiper @see SiwperCore\n */\nexport function calculateSlideIndex(swiper: SwiperCore) {\n if (swiper.slides.length < 1) {\n return null;\n }\n\n const wrapperEl = swiper.wrapperEl;\n const slides = swiper.slides;\n const slidesLength = slides.length;\n\n const style = window.getComputedStyle(slides[0]);\n const marginLeft = parseInt(style.getPropertyValue('margin-left'), 10);\n const marginRight = parseInt(style.getPropertyValue('margin-right'), 10);\n\n const slideWidth = marginLeft + slides[0].clientWidth + marginRight;\n const wrapperWidth = wrapperEl.clientWidth;\n const wrapperOffset = wrapperEl.getBoundingClientRect().left;\n const wrapperCenter = wrapperWidth / 2;\n\n const ratio =\n (swiper.el.getBoundingClientRect().left + wrapperCenter - wrapperOffset) /\n slideWidth;\n\n const slideIndex = Math.max(Math.min(Math.floor(ratio), slidesLength - 1), 0);\n\n return slideIndex;\n}\n\nexport type InstaDragProps = {\n color: string;\n};\n\nexport type InstaDragOption = {\n key: K;\n Icon: React.FC;\n};\n\ntype InstaDragSelectProps<\n K,\n O extends InstaDragOption = InstaDragOption\n> = {\n initialKey: K;\n options: O[];\n onChange: (selectedOption: O) => void;\n focusCallback?: () => void;\n};\n\n/**\n * TODO: find a more efficient way for this, currently triggers every time!\n * @param key the key that will be searched in the array\n * @param options the possible options\n */\nfunction findIndexToKey(key: K, options: InstaDragOption[]) {\n return options.findIndex((o) => o.key === key);\n}\n\ntype MoveInfo = {\n timestamp: number;\n translate: number;\n};\n\nfunction isTouchEvent(\n event: MouseEvent | TouchEvent | PointerEvent\n): event is TouchEvent {\n return (event as TouchEvent).touches !== undefined;\n}\n\n/**\n * @param props @see InstaDragSelectProps\n */\nconst InstaDragSelect = <\n K extends React.Key | undefined | null,\n O extends InstaDragOption = InstaDragOption\n>(\n props: InstaDragSelectProps\n): JSX.Element => {\n const initialIndex = useMemo(\n () => findIndexToKey(props.initialKey, props.options),\n [props.initialKey, props.options]\n );\n const [activeIndex, _setActiveIndex] = useState(initialIndex);\n\n const lastMoveRef = useRef(null);\n const nextActiveIndex = useRef(activeIndex); // we use this so we instantly in the gameloop get feedback\n\n const propFocusCallback = props.focusCallback;\n\n const focusCallback = useCallback(\n () => propFocusCallback && propFocusCallback(),\n [propFocusCallback]\n );\n\n const setActiveIndex = (i: number) => {\n _setActiveIndex(i);\n nextActiveIndex.current = i;\n props.onChange(props.options[i]);\n focusCallback();\n };\n\n const [springs, api] = useSpring(() => ({\n // rotation: 0,\n moving: 0,\n config: config.stiff\n }));\n\n const updateActive = (s: SwiperCore, translateOverwrite?: number) => {\n const i = calculateSlideIndex(s);\n\n if (i === null) {\n return;\n }\n\n const translate = translateOverwrite ?? s.translate;\n\n const lastMove = lastMoveRef.current;\n const newMove = {\n timestamp: performance.now(),\n translate: translate\n };\n\n if (lastMove === null) {\n lastMoveRef.current = newMove;\n api.set({ moving: 1 });\n } else {\n // const timeDelta = (newMove.timestamp - lastMove.timestamp) / 1000;\n const translateDelta =\n (newMove.translate - lastMove.translate) / s.el.clientWidth;\n\n // const movementVelocity = translateDelta / timeDelta;\n\n // const degrees = movementVelocity * -32; // this is a magic number, feel free to adjust!\n\n // const clampedDegrees =\n // Math.sign(degrees) * Math.min(Math.abs(degrees), 45); // maximum +/- 45 degrees\n\n // only react if we have some measureable change (nonzero velocity)\n if (translateDelta !== 0) {\n lastMoveRef.current = newMove;\n\n // api.set({ rotation: clampedDegrees });\n // api.start({ rotation: 0 });\n }\n }\n\n if (nextActiveIndex.current !== i) {\n setActiveIndex(i);\n ownHaptics.lightest();\n }\n };\n\n const looping = useRef(false);\n\n const updateLoop = (s: SwiperCore) => {\n if (looping.current) {\n updateActive(s);\n requestAnimationFrame(() => updateLoop(s));\n }\n };\n\n const startUpdateLoop = (s: SwiperCore) => {\n looping.current = true;\n updateLoop(s);\n };\n\n const endMoving = () => {\n api.start({ moving: 0 });\n lastMoveRef.current = null;\n };\n\n const stopUpdateLoop = () => {\n looping.current = false;\n };\n\n return (\n {\n // here we do not set onClick directly, because we want to handle it in the parent!\n s.el.addEventListener('click', focusCallback);\n }}\n onClick={(_s) => {\n // stop loop so that there is\n // no continues activeIndex change when clicking a specific slide\n stopUpdateLoop();\n console.log('click');\n }}\n onDestroy={(s) => {\n s.el.removeEventListener('click', focusCallback);\n }}\n initialSlide={initialIndex}\n onTouchStart={(_s) => {\n stopUpdateLoop();\n endMoving();\n }}\n onTouchMove={(s, e) =>\n updateActive(s, isTouchEvent(e) ? e.touches[0].clientX : e.clientX)\n }\n onTransitionStart={(s) => {\n updateActive(s);\n startUpdateLoop(s);\n // setActiveIndex(s.activeIndex);\n }}\n resistance={false}\n onTransitionEnd={(s) => {\n updateActive(s);\n stopUpdateLoop();\n endMoving();\n }}\n className=\"!pb-4 cursor-pointer !-mx-2 !px-2 !box-content\"\n style={{ height: '12rem' }}\n centeredSlides={true}\n slideToClickedSlide={true}\n slidesPerView={'auto'}\n touchEventsTarget={'container'}\n freeMode={{\n enabled: true,\n sticky: true,\n // momentumBounceRatio: 0.1,\n // momentumVelocityRatio: 4,\n // momentumRatio: 1.0,\n // minimumVelocity: 0.1\n momentumBounce: false\n }}\n >\n {props.options.map((o, i) => {\n const isActive = activeIndex === i;\n return (\n
\n \n `rotate(${r}deg)`),\n backgroundColor: springs.moving.to(\n (m) => `rgba(0,0,0,${m * 0.6 + 0.2})`\n )\n }}\n >\n \n \n \n
\n );\n })}\n \n );\n};\n\nexport const InstaDragIcon = (props: { icon: string; color: string }) => (\n \n);\n\nexport default InstaDragSelect;\n","import { type Border } from '@own.page/rendering';\nimport InstaDragSelect, {\n type InstaDragOption,\n InstaDragIcon\n} from '../InstaDragSelect';\n\nexport const borderOptionIcons = {\n square: { icon: 'ri-square-line' },\n rounded: { icon: 'ri-rounded-corner' },\n circle: { icon: 'ri-circle-line' }\n};\n\nconst borderOptions: InstaDragOption[] = Object.entries(\n borderOptionIcons\n).map(([k, v]) => ({\n key: k as Border,\n Icon: (props) => \n}));\n\nconst ImageBorderSelect = (props: {\n focusImage: () => void;\n borderLayout: Border;\n setBorderLayout: React.Dispatch>;\n}) => {\n return (\n props.setBorderLayout(k.key)}\n />\n );\n};\n\nexport default ImageBorderSelect;\n","import { useResize } from '@react-spring/web';\nimport {\n type PropsWithChildren,\n useCallback,\n useLayoutEffect,\n useRef,\n useState\n} from 'react';\nimport EditorRenderElement from 'editor/editor-elements/EditorRenderElement';\nimport { RawSpinner } from 'components/LoadingPage';\nimport {\n type OwnElement,\n type SectionProps,\n useScaleFactor\n} from '@own.page/rendering';\n\nexport type PreviewProps = {\n changeElement?: (setElement: (prevElement: OwnElement) => OwnElement) => void;\n focusCallbackRef?: React.MutableRefObject<(() => void) | null>;\n previewScalingFactor?: number;\n previewRef: React.MutableRefObject;\n};\n\n/**\n * Preview Element in the Editor as if it is rendered\n * @param props @see SectionProps\n */\nexport const PreviewSection = (\n props: PropsWithChildren\n) => {\n // console.log('props.scaleSize', props.scaleSize);\n return (\n \n {props.children}\n \n );\n};\n\nconst ElementPreview = (props: {\n element: OwnElement;\n changeElement?: (setElement: (prevElement: OwnElement) => OwnElement) => void;\n focusCallbackRef?: React.MutableRefObject<(() => void) | null>;\n loading?: boolean;\n /* decide whether click events (like a link-click) should propagate to the preview element, provide false per default! */\n enableInteraction?: boolean;\n}) => {\n const parentDivRef = useRef(null!);\n\n const scaling = useScaleFactor({ type: 'div', ref: parentDivRef });\n const [scaleSize, setScaleSize] = useState(1.0);\n\n const computeScaling = useCallback(() => {\n const e = parentDivRef.current; // should be the same\n const ownToolHeightElement =\n e.querySelector('.own-height') || e.querySelector('.own-tool-height');\n if (ownToolHeightElement) {\n const factor = e.clientHeight / ownToolHeightElement.clientHeight;\n const factorRounded = Math.min(1.0, Math.floor(factor * 100) / 100);\n setScaleSize(factorRounded);\n } else {\n console.warn('No element with class \"own-tool-height\" found');\n }\n }, []);\n\n useResize({\n container: parentDivRef,\n immediate: true,\n default: { immediate: true },\n onChange: () => {\n computeScaling();\n }\n });\n\n useLayoutEffect(() => {\n computeScaling();\n }, [computeScaling, props.element]);\n\n return (\n e.preventDefault()\n : undefined\n }\n >\n {props.loading && (\n
\n \n
\n )}\n
\n \n \n \n
\n \n );\n};\n\nexport default ElementPreview;\n","import { type PropsWithChildren, useEffect, useRef, useState } from 'react';\nimport {\n IonButtons,\n IonHeader,\n IonModal,\n IonToolbar,\n isPlatform\n} from '@ionic/react';\n\nimport './OwnTool.css';\nimport type { ToolProps } from '.';\n\nexport type OwnToolProps = PropsWithChildren<{\n backButton?: boolean;\n onClick?: () => boolean;\n header?: React.FC;\n toolResize: 'shift' | 'scale';\n}> &\n ToolProps;\n\nexport type ButtonProps = PropsWithChildren<{\n onClick: () => void;\n}>;\n\nconst isMobile = isPlatform('mobileweb');\n\nexport const OwnToolButton = (props: ButtonProps) => {\n return (\n {\n e.stopPropagation();\n props.onClick();\n }}\n >\n {props.children}\n \n );\n};\n\nconst OwnTool = (props: OwnToolProps) => {\n const [showModal, _setShowModal] = useState(true);\n\n const modal = useRef(null);\n const visualScreen = useRef(null!);\n\n const setVisualViewportHeight = () => {\n visualScreen.current.setAttribute(\n 'style',\n 'height: ' + window.visualViewport?.height + 'px'\n );\n if (props.toolResize === 'scale' && document.scrollingElement) {\n document.scrollingElement.scrollTop = 0;\n }\n };\n\n useEffect(() => {\n if (isMobile) {\n window.visualViewport?.addEventListener(\n 'resize',\n setVisualViewportHeight\n );\n return () => {\n window.visualViewport?.removeEventListener(\n 'resize',\n setVisualViewportHeight\n );\n };\n }\n });\n\n const closeModal = () => {\n props.close();\n modal.current?.remove(); // THIS IS SUPER IMPORTANT!\n };\n\n return (\n <>\n \n
\n \n \n {/* This is just done so the next div is centered, its invisible! */}\n \n \n \n
\n {props.header && }\n
\n \n \n \n
\n
\n\n {props.children}\n
\n\n {\n if (props.onClick) {\n if (!props.onClick()) {\n closeModal();\n }\n } else {\n closeModal();\n }\n }}\n className=\"absolute inset-0 cursor-pointer\"\n />\n \n \n );\n};\n\nexport default OwnTool;\n","import { useRef, useState } from 'react';\n// import '../../ownpage_editor.css'; /* including this so we get e_own_container to have same font-size as text */\nimport ImageBorderSelect from './ImageBorderSelect';\nimport ElementPreview from '../ElementPreview';\nimport type { ToolProps, Tool } from '..';\nimport { createElementId } from 'utils/id';\nimport OwnTool, { OwnToolButton } from '../OwnTool';\nimport { editorActions, useEditorStore } from 'stores/editorStore';\nimport { Image as PiImage } from '@phosphor-icons/react';\nimport {\n type Border,\n type ImageCrop,\n type ImageElementProps,\n type ImagePosition,\n type OwnElement,\n type OwnElementId\n} from '@own.page/rendering';\nimport { fetchImages } from 'utils/images/imageUpload';\n\nconst computeGridHeight = (width: number, height: number) => {\n const aspectRatio = height / width;\n\n // if height is more than double use 4 grid width\n const gridWidth = aspectRatio > 1 ? 2 : 3;\n\n return { w: gridWidth, h: Math.round(gridWidth * aspectRatio) };\n};\n\nconst createImage = (\n imageUrl: string,\n width: number,\n height: number,\n borderLayout: Border,\n _imageCrop: ImageCrop,\n imagePosition: ImagePosition,\n element?: OwnElement\n): OwnElement => {\n if (element) {\n return {\n ...element,\n props: {\n ...element.props,\n src: imageUrl,\n layout: borderLayout,\n //imageCrop: imageCrop,\n imagePosition: imagePosition,\n stretch: true\n }\n };\n }\n\n return {\n grid: { x: 3, y: -1, ...computeGridHeight(width, height) },\n type: 'image',\n props: {\n src: imageUrl,\n layout: borderLayout,\n //imageCrop: imageCrop,\n imagePosition: imagePosition,\n stretch: true\n },\n id: createElementId()\n };\n};\n\nconst updateWithUploadToServer = (\n elementId: OwnElementId,\n uploadToServer: () => Promise\n) => {\n uploadToServer().then((resolvedUrl) => {\n const e = useEditorStore.getState().page.elements[elementId];\n\n editorActions.dangerousUpdateElement({\n ...e,\n props: { ...e.props, src: resolvedUrl }\n });\n });\n};\n\nconst openImageSelection = async (\n layout: Border = 'rounded',\n imageCrop: ImageCrop = 'cover',\n imagePosition: ImagePosition = { x: 50, y: 50 },\n edit?: {\n element: OwnElement;\n setEditElement: React.Dispatch>;\n uploadToServerRef: React.MutableRefObject<(() => Promise) | null>;\n },\n onboarding?: {\n element: OwnElement;\n }\n) => {\n const cleanupImage = (edit?.element?.props.src ?? null) as string | null;\n\n return fetchImages(cleanupImage, (img, imageUrl, uploadToServer) => {\n if (!img || !imageUrl) return;\n\n const newElement = createImage(\n imageUrl as string,\n img.width,\n img.height,\n layout,\n imageCrop,\n imagePosition,\n edit?.element\n );\n\n let elementId = newElement.id;\n\n if (edit) {\n edit.setEditElement(newElement);\n edit.uploadToServerRef.current = uploadToServer;\n } else if (onboarding) {\n editorActions.updateElementFromTool({\n ...onboarding.element,\n props: {\n ...onboarding.element.props,\n src: newElement.props.src\n }\n });\n elementId = onboarding.element.id;\n updateWithUploadToServer(elementId, uploadToServer);\n } else {\n const elementWithNewBorderStyle = {\n ...newElement,\n props: {\n ...newElement.props,\n layout: 'rounded',\n translate: false\n }\n };\n elementId = editorActions.addElement(elementWithNewBorderStyle);\n updateWithUploadToServer(elementId, uploadToServer);\n }\n });\n};\n//this should be called only when an already existing image is being edited\n\nconst ImageEditTool = (props: ToolProps & { element: OwnElement }) => {\n // Dominik's comment for Elitza:\n // this is our edit element (do not need this variable if you do not like)\n\n const [editElement, setEditElement] = useState(props.element);\n\n console.log('IMAGE POSITION', editElement.props.imagePosition);\n\n // updating the element goes through this object\n const [borderLayout, setBorderLayout] = useState(\n (editElement.props.layout as Border) ?? 'rounded'\n );\n\n const [imageCrop, _setImageCrop] = useState(\n editElement.props.imageCrop as ImageCrop\n );\n\n const modal = useRef(null);\n const plainImage = useRef(null);\n\n const uploadToServerRef = useRef<(() => Promise) | null>(null);\n\n const focusImage = () => {\n plainImage.current?.focus();\n };\n\n const closeModal = () => {\n const elementWithNewBorderStyle = {\n ...editElement,\n props: {\n ...editElement.props,\n layout: borderLayout,\n imageCrop: imageCrop,\n imagePosition: editElement.props.imagePosition\n }\n };\n\n if (uploadToServerRef.current) {\n updateWithUploadToServer(\n elementWithNewBorderStyle.id,\n uploadToServerRef.current\n );\n uploadToServerRef.current = null;\n } else {\n // IMPORTANT: this is needed to make sure the image has the server url, when the image is opened to edit before it is uploaded to server\n (elementWithNewBorderStyle.props as ImageElementProps).src =\n useEditorStore.getState().page.elements[elementWithNewBorderStyle.id]\n .props.src as string;\n }\n\n editorActions.updateElementFromTool(elementWithNewBorderStyle);\n\n props.close();\n modal.current?.remove();\n };\n\n function HeaderComponent() {\n return (\n <>\n {\n focusImage();\n\n await openImageSelection(\n borderLayout,\n imageCrop,\n editElement.props.imagePosition as ImagePosition,\n {\n element: editElement,\n setEditElement,\n uploadToServerRef\n }\n );\n }}\n >\n \n \n {/* {\n setImageCrop((prevCrop) =>\n prevCrop == 'cover' ? 'contain' : 'cover'\n );\n }}\n >\n {imageCrop == 'cover' ? (\n \n ) : (\n \n )}\n */}\n \n );\n }\n\n // const [dimensions, setDimensions] = useState({ width: 0, height: 0 });\n\n // const updateDimensions = () => {\n // if (divRef.current) {\n // const { clientWidth, clientHeight } = divRef.current;\n // console.log('Reference is defined!!!', divRef.current);\n // setDimensions({ width: clientWidth, height: clientHeight });\n // }\n // };\n\n // useEffect(() => {\n // console.log('BEFORE DIMENSIONS: ', dimensions, divRef.current);\n // updateDimensions(); // Calculate dimensions on component mount\n // console.log('AFTER DIMENSIONS: ', dimensions);\n // }, [divRef]);\n\n // useLayoutEffect(() => {\n // console.log('REFERENCE:' + ref.current);\n // if (ref.current) {\n // setWidth(ref.current.clientWidth);\n // setHeight(ref.current.clientHeight);\n // }\n // }, []);\n\n // // Function to update dimensions\n // const updateDimensions = () => {\n // if (divRef.current) {\n // const { offsetWidth, offsetHeight } = divRef.current;\n // console.log('Updating dimensions:', offsetWidth, offsetHeight);\n\n // // Update state with new dimensions\n // //setDimensions({ width: offsetWidth, height: offsetHeight });\n // }\n // };\n\n // // Effect to run when the component is mounted or when the modal is opened\n // useEffect(() => {\n // alert('called');\n // updateDimensions();\n // }, [divRef]); // Add any dependencies if needed\n\n return (\n <>\n \n {/* */}\n \n \n \n \n );\n};\n\nexport const imageToolOnEdit = (item: OwnElement) => {\n // console.log('IMAGE TOOOOOOOOOOL', item, useEditorStore.getState());\n // if it has a source => is not one of the onboarding images\n if (item.props.src) {\n // here we activate the tool\n editorActions.activateTool({\n // TODO fix this!!\n\n ...tool,\n Component: (props: ToolProps) => (\n \n )\n });\n } else {\n // TODO: clean up the caller code, looks hacky but is actually legit\n // here we have the onboarding code case\n const _promise = openImageSelection(\n item.props.layout as Border,\n item.props.imageCrop as ImageCrop,\n item.props.imagePosition as ImagePosition,\n undefined,\n { element: item }\n );\n }\n};\n\nconst tool: Tool = {\n name: 'image',\n Component: () => <>,\n icon: 'image.svg',\n ToolbarIcon: PiImage,\n alwaysShowUI: true,\n AnimatedIcon: () => ,\n onToolbarActivate: (d) => {\n openImageSelection()\n .then(() => {\n console.warn('D is being called');\n d();\n })\n .catch((e) => {\n console.error('Image selection was cancelled AAAAAaaa', e);\n });\n },\n onEditActivate: imageToolOnEdit\n};\n\nexport default tool;\n","import type { FontVariable } from '@own.page/rendering';\n\nconst defaultFont: Partial = {\n textTransform: 'none',\n letterSpacing: 'normal',\n fontWeight: 'normal',\n\n /* added as general things */\n lineHeight: '1em',\n whiteSpace: 'pre-wrap'\n};\n\nexport const allTextFonts: Partial[] = (\n [\n { fontFamily: 'Plus Jakarta Sans', fontStyle: 'normal', fontWeight: 700 },\n { fontFamily: 'Plus Jakarta Sans', fontStyle: 'normal', fontWeight: 600 },\n\n { fontFamily: 'Plus Jakarta Sans', fontStyle: 'normal', fontWeight: 400 },\n\n { fontFamily: 'Lato', fontStyle: 'normal', fontWeight: 400 },\n {\n fontFamily: 'Fraunces Italic',\n fontStyle: 'italic',\n textTransform: 'uppercase',\n fontWeight: 700\n },\n { fontFamily: 'Fraunces', fontStyle: 'normal', fontWeight: 700 },\n { fontFamily: 'Fraunces', fontStyle: 'normal', fontWeight: 400 },\n { fontFamily: 'Space Grotesk', fontStyle: 'normal', fontWeight: 500 },\n { fontFamily: 'Raleway', fontStyle: 'normal', fontWeight: 400 },\n { fontFamily: 'Butler', fontStyle: 'normal', fontWeight: 500 },\n { fontFamily: 'Playfair Display', fontStyle: 'normal', fontWeight: 600 },\n {\n fontFamily: 'Syne',\n fontStyle: 'normal',\n textTransform: 'uppercase',\n fontWeight: 500\n },\n { fontFamily: 'Syne', fontStyle: 'normal', fontWeight: 700 },\n { fontFamily: 'Syne', fontStyle: 'normal', fontWeight: 600 },\n\n { fontFamily: 'Work Sans', fontStyle: 'normal', fontWeight: 400 },\n {\n fontFamily: 'Alata',\n fontStyle: 'normal',\n textTransform: 'uppercase',\n fontWeight: 400\n },\n // { fontFamily: 'Libre Franklin', fontStyle: 'normal', fontWeight: 400 },\n {\n fontFamily: 'Genos',\n fontStyle: 'normal',\n textTransform: 'uppercase',\n fontWeight: 500\n },\n // { fontFamily: 'Fredericka the Great', fontStyle: 'normal' },\n // { fontFamily: 'Great Vibes', fontStyle: 'normal' },\n {\n fontFamily: 'Montserrat',\n fontStyle: 'normal',\n textTransform: 'uppercase',\n letterSpacing: '0.2em',\n fontWeight: 200\n },\n {\n fontFamily: 'Montserrat',\n fontStyle: 'normal',\n fontWeight: 400\n },\n {\n fontFamily: 'Montserrat',\n fontStyle: 'normal',\n textTransform: 'uppercase',\n letterSpacing: '0.2em',\n fontWeight: 700\n },\n { fontFamily: 'Platypi', fontStyle: 'normal', fontWeight: 500 },\n { fontFamily: 'Beau Rivage', fontStyle: 'normal', fontWeight: 400 },\n { fontFamily: 'Forum', fontStyle: 'normal', fontWeight: 400 },\n { fontFamily: 'Inter', fontStyle: 'normal', fontWeight: 400 },\n {\n fontFamily: 'Rockwell Nova',\n textTransform: 'uppercase',\n fontStyle: 'normal',\n fontWeight: 400\n },\n { fontFamily: 'Splash', fontStyle: 'normal', fontWeight: 400 },\n {\n fontFamily: 'Piazzolla',\n textTransform: 'uppercase',\n fontStyle: 'normal',\n fontWeight: 500\n }\n // { fontFamily: 'Oswald' },\n // { fontFamily: 'Poppins', fontStyle: 'normal' }\n // { fontFamily: 'Raleway' },\n // { fontFamily: 'Roboto Condensed' },\n // { fontFamily: 'Ubuntu' },\n // { fontFamily: 'Vollkorn' }\n ] as Partial[]\n).map((f) => ({ ...defaultFont, ...f }));\n","import { type FontVariable } from '@own.page/rendering';\nimport InstaDragSelect, { type InstaDragOption } from '../InstaDragSelect';\nimport { allTextFonts } from './TextFonts';\n\nexport const FontIcon = (props: {\n font: React.CSSProperties;\n color: string;\n}) => (\n \n Aa\n \n);\n\nexport const fontOptions: (InstaDragOption & {\n value: FontVariable;\n})[] = allTextFonts.map((f) => ({\n key: `${f.fontFamily}_${f.fontWeight}`,\n value: f,\n Icon: (props) => \n}));\n\nconst InstaFontTool = (props: {\n fontType: string;\n focusText?: () => void;\n setFontStyle: (fontStyle: FontVariable) => void;\n}) => {\n return (\n {\n props.setFontStyle(k.value);\n }}\n />\n );\n};\n\nexport default InstaFontTool;\n","import {\n IonHeader,\n IonToolbar,\n IonButtons,\n IonModal,\n IonTitle\n} from '@ionic/react';\nimport { useEffect, useRef, useState } from 'react';\nimport '../background/BackgroundTool.css';\nimport { Direction, Range } from 'react-range';\nimport type { ToolProps, Tool } from '..';\nimport { OwnToolButton } from '../OwnTool';\nimport InstaFontTool from './TextFontSelect';\nimport ColorVariableChangeTool from '../background/ColorVariableChangeTool';\nimport {\n editorActions,\n initialStyle,\n useEditorStore\n} from 'stores/editorStore';\nimport {\n type FontVariableType,\n clampDimensions,\n type FontVariable\n} from '@own.page/rendering';\nimport type { IRenderTrackParams } from 'react-range/lib/types';\n\nexport type SwiperType = 'color' | 'font';\n\nconst colorVarName = (color: string) => {\n return color.slice(6, -1);\n};\n\ntype HorizontalAlignValue = 'center' | 'left' | 'right';\ntype VerticalAlignValue = 'center' | 'flex-start' | 'flex-end';\n\nconst nextHorAlign = (prevAlign: HorizontalAlignValue) => {\n switch (prevAlign) {\n case 'center':\n return 'right';\n case 'left':\n return 'center';\n case 'right':\n return 'left';\n }\n};\nconst nextVerAlign = (prevAlign: VerticalAlignValue) => {\n switch (prevAlign) {\n case 'center':\n return 'flex-end';\n case 'flex-start':\n return 'center';\n case 'flex-end':\n return 'flex-start';\n }\n};\n\nconst iconVerAlign = (align: VerticalAlignValue) => {\n switch (align) {\n case 'center':\n return 'vertically';\n case 'flex-start':\n return 'top';\n case 'flex-end':\n return 'bottom';\n }\n};\n\nconst FontScale = (props: {\n fontVariable: FontVariableType;\n fontSize: number;\n setFontSize: (size: string) => void;\n focusText?: () => void;\n}) => {\n const parent = useRef(null);\n\n const [values, setValues] = useState([props.fontSize]);\n\n const minValue = clampDimensions[props.fontVariable].min;\n const maxValue = clampDimensions[props.fontVariable].max;\n\n const changeFontSize = (size: number) => {\n props.setFontSize(`${size}em`);\n };\n\n const [_firstLoad, setFirstLoad] = useState(true);\n\n useEffect(() => {\n // This code will run after the component has mounted\n setTimeout(() => setFirstLoad(false), 750);\n }, []);\n\n return (\n
\n \n {\n setValues(values);\n changeFontSize(values[0]);\n }}\n renderTrack={({ props, children }: IRenderTrackParams) => {\n return (\n \n \n {children}\n
\n \n );\n }}\n renderThumb={({ props }) => (\n \n \n {/*
\n {values[0].toFixed(3) + 'em'}\n
*/}\n \n )}\n />\n \n \n );\n};\n\nconst TextVariableTool = (props: ToolProps) => {\n const currFontVar = props.element?.props.fontVariable as FontVariableType;\n\n const modal = useRef(null);\n // const fonts = useEditorStore((s) => s.page.style.fonts);\n const currColorVar = colorVarName(\n initialStyle.fonts[currFontVar].color ?? 'main-color'\n );\n // const currColorVar = colorVarName(\n // (initialEditorState.page.style.fonts[currFontVar] as any).color ??\n // 'main-color'\n // ); // TODO: check this line, \".color\"/first agrument probably useless and can be made fixed to \"main-color\"\n\n const [showModal, setShowModal] = useState(true);\n\n const updateElementDimensions = () => {\n const elements = useEditorStore.getState().page.elements;\n\n const updateId = Object.values(elements)\n .filter(\n (e) =>\n e.type === 'text' &&\n e.props.fontVariable &&\n e.props.fontVariable === currFontVar\n )\n .sort((a, b) => a.grid.y - b.grid.y)\n .map((e) => e.id);\n\n updateId.forEach((id) =>\n editorActions.updateElementFromTool(\n useEditorStore.getState().page.elements[id]\n )\n );\n };\n\n // const [swiperType, setSwiperType] = useState('font');\n\n const liveColorStyle = useEditorStore(\n (s) => s.page.style.colors[currColorVar]\n );\n const liveFontStyle = useEditorStore((s) => s.page.style.fonts[currFontVar]);\n const [fontStyle, _setFontStyle] = useState(liveFontStyle);\n\n const updateFontStyle = (fontStyle: FontVariable) => {\n editorActions.updateFontVarsStyle(currFontVar, fontStyle);\n };\n\n const initialFontType = `${liveFontStyle.fontFamily}_${liveFontStyle.fontWeight}`;\n const initialFontSizeString =\n liveFontStyle.fontSize?.toString().replace('em', '') ?? '16';\n const initialFontSize: number = +initialFontSizeString;\n\n const closeModal = () => {\n updateElementDimensions();\n setShowModal(false);\n props.close();\n modal.current?.remove(); // THIS IS SUPER IMPORTANT!\n };\n\n const element = props.element;\n\n return (\n <>\n \n
\n \n \n <>\n \n {\n updateFontStyle(fontStyle);\n closeModal();\n }}\n >\n \n \n \n \n {currFontVar}\n \n \n \n \n \n \n \n
\n
\n \n updateFontStyle({\n ...liveFontStyle,\n fontSize: s\n })\n }\n />\n {\n updateFontStyle({\n ...liveFontStyle,\n textAlign: nextHorAlign(\n liveFontStyle?.textAlign as HorizontalAlignValue\n ),\n justifyContent: nextHorAlign(\n liveFontStyle?.justifyContent as HorizontalAlignValue\n )\n });\n }}\n >\n \n \n {\n updateFontStyle({\n ...liveFontStyle,\n alignItems: nextVerAlign(\n liveFontStyle?.alignItems as VerticalAlignValue\n )\n });\n }}\n >\n \n \n {\n // setSwiperType((prevChange) =>\n // prevChange == 'color' ? 'font' : 'color'\n // );\n editorActions.activateTool({\n ...ColorVariableChangeTool,\n // onClose: () => {\n // alert('CLOSEEEEEEE');\n // },\n Component: (currProps: ToolProps) => (\n \n )\n });\n }}\n >\n {/* {swiperType == 'font' ? (\n \n ) : (\n \n )} */}\n \n \n
\n\n \n updateFontStyle({\n ...liveFontStyle,\n ...f\n } as FontVariable) // TODO check/solve FontVariable/FontStyle difference\n }\n />\n {/* {swiperType === 'color' ? (\n \n updateFontStyle({\n ...editor.page.style.fonts[currFontVar],\n color: c\n })\n }\n />\n ) : (\n \n updateFontStyle({\n ...editor.page.style.fonts[currFontVar],\n ...f\n })\n }\n />\n )} */}\n
\n
\n \n {/* Code to display how the slider was before with the Instagram animation\n Does not work optimally, because the IonModal is blocking the interaction with it\n even though Z-index is the highest from all elements */}\n {/* {showModal && (\n \n updateFontStyle({\n ...editor.page.style.fonts[currFontVar],\n fontSize: s\n })\n }\n />\n )} */}\n \n );\n};\n\n// Font Scale to look like in Instagram\n// Disabled for the moment because of the problem with the z-index\n\n// const FontScale: React.FC<{\n// fontSize: number;\n// setFontSize: (size: string) => void;\n// focusText?: () => void;\n// }> = (props) => {\n// const parent = useRef(null);\n\n// const [values, setValues] = React.useState([props.fontSize]);\n\n// const changeFontSize = (size: number) => {\n// props.setFontSize(`${size}em`);\n// };\n\n// const [firstLoad, setFirstLoad] = useState(true);\n\n// useEffect(() => {\n// // This code will run after the component has mounted\n// setTimeout(() => setFirstLoad(false), 750);\n// }, []);\n\n// return (\n//
\n// \n// {\n// setValues(values);\n// changeFontSize(values[0]);\n// }}\n// renderTrack={({ props, children, isDragged }) => {\n// const showAnimation = firstLoad || isDragged;\n\n// return (\n// \n// \n// \n// \n// \n\n// {children}\n//
\n// \n// );\n// }}\n// renderThumb={({ props }) => (\n// \n// \n// \n// )}\n// />\n// \n// \n// );\n// };\n\nconst tool: Tool = {\n name: 'textVariable',\n Component: TextVariableTool,\n icon: '',\n addPadding: true\n};\n\nexport default tool;\n","import { type OwnPage } from '@own.page/rendering';\nimport { create } from 'zustand';\nimport { createJSONStorage, persist } from 'zustand/middleware';\n\nexport const SCRIBBLE_ANIMATION_DURATION_MS = 300;\n\ntype ScribbleState = 'visible' | 'fadingOut' | 'hidden';\n\nexport type ScribbleType =\n | 'swipe-to-change-design'\n | 'change-image'\n | 'hold-and-drag-to-move'\n\n // not really scribbles but hints:\n | 'edit-text-variable';\n\nexport type State = {\n scribbleStates: { [scribbleType in ScribbleType]: ScribbleState };\n onboardingPage: OwnPage | null;\n};\n\nconst initialState: State = {\n scribbleStates: {\n 'swipe-to-change-design': 'visible',\n 'change-image': 'visible',\n 'hold-and-drag-to-move': 'visible',\n 'edit-text-variable': 'visible'\n },\n onboardingPage: null\n};\n\n// export const useOnboardingStore = create(() => initialState);\nexport const useOnboardingStore = create()(\n persist(() => initialState, {\n name: 'onboarding',\n storage: createJSONStorage(() => localStorage),\n partialize: (s: State) => ({\n ...s,\n onboardingPage: undefined\n })\n })\n);\n\nconst { setState: set, getState: get } = useOnboardingStore;\n\nfunction hideScribble(type: ScribbleType) {\n // if it is already hidden we do not do anything:\n if (get().scribbleStates[type] === 'hidden') {\n return;\n }\n\n set((state) => ({\n ...state,\n scribbleStates: {\n ...state.scribbleStates,\n [type]: 'fadingOut'\n }\n }));\n setTimeout(() => {\n set((state) => ({\n ...state,\n scribbleStates: {\n ...state.scribbleStates,\n [type]: 'hidden'\n }\n }));\n }, SCRIBBLE_ANIMATION_DURATION_MS);\n}\n\nexport const onboardingActions = {\n hideScribble,\n setOnboardingPage: (onboardingPage: OwnPage) => set({ onboardingPage }),\n resetOnboardingPage: () => set({ onboardingPage: null })\n};\n","import { useCallback, useState } from 'react';\nimport { Swiper, SwiperSlide } from 'swiper/react';\nimport type SwiperCore from 'swiper';\nimport { calculateSlideIndex } from '../InstaDragSelect';\nimport TextVariableTool from './TextVariableTool';\nimport type { ToolProps } from '..';\nimport { editorActions, useEditorStore } from 'stores/editorStore';\nimport { TEXT_PLACEHOLDER } from 'editor/editor-elements/text/EditorTextElement';\nimport { onboardingActions } from 'stores/onboardingStore';\nimport ownHaptics from 'utils/ownHaptics';\nimport { type OwnElement } from '@own.page/rendering';\n\ninterface ButtonTextSize {\n [key: string]: string;\n}\n\nconst buttonTextSize: ButtonTextSize = {\n Heading: '!text-lg',\n Subheading: '!text-base',\n Normal: '!text-base'\n};\n\nfunction findIndexToKey(key: string, options: string[]) {\n return options.findIndex((o) => o === key);\n}\n\nconst TextVariableSelect = (props: {\n element: OwnElement;\n isNewElement: boolean;\n fontVariable: string;\n setFontVariable: (fontVariable: string) => void;\n focusText: () => void;\n}) => {\n const allFontVariables = useEditorStore((s) => s.page.style.fonts);\n const allColors = useEditorStore((s) => s.page.style.colors);\n const backgroundColor = allColors['background-color'];\n\n const variableOptions: string[] = Object.keys(allFontVariables);\n\n const [activeIndex, setActiveIndex] = useState(() =>\n findIndexToKey(props.fontVariable, variableOptions)\n );\n const [moving, setMoving] = useState(false);\n\n const propFocusCallback = props.focusText;\n\n const focusCallback = useCallback(\n () => propFocusCallback && propFocusCallback(),\n [propFocusCallback]\n );\n\n // useEffect(() => {\n // focusCallback();\n // }, [activeIndex, focusCallback]);\n\n const changeActiveIndex = (i: number) => {\n if (i === activeIndex) {\n return;\n }\n // props.onChange(props.options[i]);\n const currFontVariable = variableOptions[i];\n props.setFontVariable(currFontVariable);\n\n ownHaptics.light();\n\n setActiveIndex(i);\n //focusCallback();\n };\n\n const handleTouchMove = (swiper: SwiperCore) => {\n const newIndex = calculateSlideIndex(swiper);\n\n if (!newIndex) {\n return;\n }\n\n changeActiveIndex(newIndex);\n setMoving(true);\n //focusCallback();\n };\n\n return (\n <>\n {\n // here we do not set onClick directly, because we want to handle it in the parent!\n s.el.addEventListener('click', focusCallback);\n }}\n onDestroy={(s) => {\n // removing from the onSwiper\n s.el.removeEventListener('click', focusCallback);\n }}\n // onInit={() => focusCallback()}\n onClick={(s) => {\n if (s.realIndex == activeIndex) {\n if (\n props.element.content === TEXT_PLACEHOLDER ||\n props.element.content === ''\n ) {\n // do not place element if empty\n } else {\n if (props.isNewElement) {\n editorActions.addElement(props.element);\n } else {\n editorActions.updateElementFromTool(props.element);\n }\n }\n\n onboardingActions.hideScribble('edit-text-variable');\n\n const tool = TextVariableTool;\n editorActions.activateTool({\n ...tool,\n addPadding: true,\n Component: (currProps: ToolProps) => (\n \n )\n });\n }\n }}\n initialSlide={activeIndex}\n onSliderMove={handleTouchMove}\n onSlideChange={(s) => {\n changeActiveIndex(s.realIndex);\n setMoving(false);\n //focusCallback();\n }}\n // onClick={keepFocused}\n onTransitionEnd={() => {\n setMoving(false);\n focusCallback();\n }}\n // IMPORTANT: this is needed to prevent the swiper from being stuck on the Subheading slide\n // BEWARE: the changeActiveIndex is hardcoded to 0 to move back to the Heading slide (change this if you want to move back to add more slides)\n onToEdge={(s) => {\n if (\n (s.previousIndex === 1 || s.previousIndex === undefined) &&\n activeIndex === 1\n ) {\n changeActiveIndex(0);\n }\n }}\n className=\"group pb-4 cursor-pointer\" // IMPORTANT: Do not remove 'cursor-pointer' for iOS onClick support\n style={{ height: '12rem' }}\n centeredSlides={true}\n slideToClickedSlide={true}\n slidesPerView={'auto'}\n data-moving={moving}\n >\n {variableOptions.map((o, i) => {\n const isActive = i === activeIndex;\n return (\n
\n \n \n \n {o}\n {/* {isActive && (\n \n \n \n )} */}\n
\n \n \n \n );\n })}\n\n {/* TODO: decide if this should be used */}\n {/* e.stopPropagation()}\n className=\"absolute top-0 bottom-0 left-0 right-0\"\n /> */}\n \n \n );\n};\n\nexport default TextVariableSelect;\n","import { useRef, useState } from 'react';\n// import '../../ownpage_editor.css'; /* including this so we get e_own_container to have same font-size as text */\nimport './TextTool.css';\nimport ElementPreview from '../ElementPreview';\nimport OwnTool, { OwnToolButton } from '../OwnTool';\nimport type { Tool, ToolProps } from '..';\nimport {\n TEXT_PLACEHOLDER,\n browserSanitize\n} from 'editor/editor-elements/text/EditorTextElement';\nimport TextVariableSelect from './TextVariableSelect';\nimport { editorActions } from 'stores/editorStore';\nimport { Palette, TextT as PiText } from '@phosphor-icons/react';\nimport TextVariableTool from './TextVariableTool';\nimport { type OwnElement } from '@own.page/rendering';\nimport { OwnIcon } from 'ui';\nimport { INITIAL_ELEMENT_ID } from 'utils/id';\n// const createText = (text: string, color: string): Partial => ({\n// grid: { x: 0, y: -1, w: 12, h: -1 },\n// content: text.replace(/(?:\\r\\n|\\r|\\n)/g, '\\n'),\n// type: 'text',\n// props: { color }\n// // style: {\n// // // fontSize: \"1em\",\n// // },\n// // url: undefined\n// });\n\n// type AlignValue = 'center' | 'left' | 'right';\n// const _nextAlign = (prevAlign: AlignValue) => {\n// switch (prevAlign) {\n// case 'center':\n// return 'right';\n// case 'left':\n// return 'center';\n// case 'right':\n// return 'left';\n// }\n// };\n\nconst defaultEditElement = {\n content: TEXT_PLACEHOLDER,\n props: {\n align: { horizontal: 'left' },\n fontVariable: 'Heading'\n }\n};\n\nconst initialElement: OwnElement = {\n grid: { x: 2, y: -1, w: 6, h: 1 },\n type: 'text',\n id: INITIAL_ELEMENT_ID,\n isNew: 'initial', // TODO: make this not needed type-wise!\n ...defaultEditElement\n};\n\nconst isNewElement = (e: OwnElement) =>\n e.id === initialElement.id || e.id === null || e.id === undefined;\n\n// const FontScale = (props: {\n// fontSize: number;\n// setFontSize: (size: string) => void;\n// focusText: () => void;\n// }) => {\n// const parent = useRef(null);\n\n// const [values, setValues] = useState([props.fontSize]);\n\n// const changeFontSize = (size: number) => {\n// props.setFontSize(`${size}em`);\n// };\n\n// const [firstLoad, setFirstLoad] = useState(true);\n\n// useEffect(() => {\n// // This code will run after the component has mounted\n// setTimeout(() => setFirstLoad(false), 750);\n// }, []);\n\n// return (\n//
\n// \n// {\n// setValues(values);\n// changeFontSize(values[0]);\n// props.focusText();\n// }}\n// renderTrack={({ props, children, isDragged }) => {\n// const showAnimation = firstLoad || isDragged;\n\n// return (\n// \n// \n// \n// \n// \n\n// {children}\n//
\n// \n// );\n// }}\n// renderThumb={({ props }) => (\n// \n// \n// \n// )}\n// />\n// \n// \n// );\n// };\n\nconst TextTool = (props: ToolProps) => {\n const focusTextRef = useRef<(() => void) | null>(null);\n\n const [editElement, setEditElement] = useState(\n // props.element || initialElement\n () => {\n if (props.element) {\n // onboarding logic, if onboarding we want to remove the \"onboarding text\"\n if (props.element.onboarding) {\n return {\n ...props.element,\n content: '',\n placeholder: props.element.content\n };\n } else {\n return props.element;\n }\n } else {\n return initialElement;\n }\n }\n );\n\n const [currFontVar, setCurrFontVar] = useState(\n editElement.props.fontVariable as string\n );\n\n const setFontVariable = (fontVariable: string) => {\n setCurrFontVar(fontVariable);\n setEditElement((e) => ({ ...e, props: { ...e.props, fontVariable } }));\n };\n\n // const align =\n // (editElement.props.align as Align) ?? defaultEditElement.props.align;\n\n // const setAlign = (newAlign: Align) =>\n // setEditElement((e) => ({\n // ...e,\n // props: {\n // ...e.props,\n // align: newAlign\n // }\n // }));\n\n const focusText = () => {\n focusTextRef.current?.();\n };\n\n const closeModal = () => {\n console.log('close modal, ', editElement.grid);\n\n const browserSanitized = browserSanitize(editElement.content || '');\n const sanitizedEditElement = { ...editElement, content: browserSanitized };\n\n if (props.element) {\n if (props.element.onboarding) {\n if (sanitizedEditElement.content === '') {\n /** do nothing! => this is an onboarding item and the person didn't input text */\n } else {\n editorActions.updateElementFromTool({\n ...sanitizedEditElement,\n onboarding: undefined\n });\n }\n } else {\n if (isNewElement(sanitizedEditElement)) {\n editorActions.addElement(sanitizedEditElement);\n } else {\n if (\n sanitizedEditElement.content === '' ||\n sanitizedEditElement.content === TEXT_PLACEHOLDER\n ) {\n // in case element is empty after editing, remove it\n editorActions.removeElement(sanitizedEditElement as OwnElement);\n } else {\n editorActions.updateElementFromTool(sanitizedEditElement);\n }\n }\n }\n } else {\n if (\n sanitizedEditElement.content !== '' &&\n sanitizedEditElement.content !== TEXT_PLACEHOLDER\n ) {\n editorActions.addElement(sanitizedEditElement);\n }\n }\n\n props.close();\n };\n\n function HeaderComponent() {\n return (\n {\n focusText();\n\n if (\n editElement.content === TEXT_PLACEHOLDER ||\n editElement.content === ''\n ) {\n // do not place element if empty\n } else {\n if (isNewElement(editElement)) {\n editorActions.addElement(editElement);\n } else {\n editorActions.updateElementFromTool(editElement);\n }\n }\n\n const tool = TextVariableTool;\n editorActions.activateTool({\n ...tool,\n addPadding: true,\n Component: (currProps: ToolProps) => (\n \n )\n });\n }}\n >\n \n \n );\n }\n\n return (\n <>\n {\n // // alert(focusTextRef.current.);\n // focusTextRef.current?.();\n // return true;\n // }}\n >\n {/**\n * LOTS OF CODE IS ACTUALLY IN @see EditorTextElement.tsx !\n */}\n \n \n \n \n );\n};\n\nconst tool: Tool = {\n name: 'text',\n Component: TextTool,\n ToolbarIcon: PiText,\n AnimatedIcon: () => ,\n icon: 'text.svg',\n onToolbarActivate: () => {\n // // setTimeout(() => {\n // const element = document.getElementById('focusMe');\n // // alert('has element' + (element === null ? 'null' : 'non-null'));\n // if (element === null) {\n // return;\n // }\n // element.focus();\n // setTimeout(() => element.focus(), 1000);\n // // }, 100)\n }\n};\n\nexport default tool;\n","import 'swiper/swiper-bundle.css';\nimport InstaDragSelect, {\n type InstaDragOption,\n InstaDragIcon\n} from '../InstaDragSelect';\nimport { Layout } from '@own.page/rendering';\n\nconst linkOptionIcons = [\n {\n enum: Layout.Card,\n icon: 'ri-layout-bottom-fill'\n },\n {\n enum: Layout.Icon,\n icon: 'ri-layout-right-fill'\n },\n {\n enum: Layout.Text,\n icon: 'ri-layout-top-fill'\n }\n];\n\nconst linkOptions: InstaDragOption[] = linkOptionIcons.map((l) => ({\n key: l.enum,\n Icon: (props) => \n}));\n\nconst LinkLayoutSelect = (props: {\n focusImage: () => void;\n linkLayout: Layout;\n setLinkLayout: React.Dispatch>;\n}) => {\n return (\n props.setLinkLayout(k.key)}\n />\n );\n};\n\nexport default LinkLayoutSelect;\n","import { useResize, useSpring, a, config } from '@react-spring/web';\nimport { useRef } from 'react';\n\nconst LinkToolPreview = () => {\n const ref = useRef(null);\n const { width } = useResize({ container: ref });\n\n // const rectSpring = useSpring({\n // from: {\n // width: '70%',\n // height: '40%'\n // },\n // to: [\n // {\n // width: '100%',\n // height: '40%'\n // },\n // {\n // width: '50%',\n // height: '100%'\n // },\n // {\n // width: '70%',\n // height: '40%'\n // }\n // ],\n // loop: true\n // });\n\n const rectSpring = useSpring({\n from: {\n width: '0.7em',\n height: '0.3em',\n card: '0em',\n cardOpacity: 0\n },\n config: config.slow,\n to: [\n // {\n // width: '1em',\n // height: '0.3em',\n // card: '0em',\n // cardOpacity: 0\n // },\n {\n width: '0.6em',\n height: '0.65em',\n card: '0.3em',\n cardOpacity: 1\n },\n {\n width: '0.7em',\n height: '0.3em',\n card: '0em',\n cardOpacity: 0\n }\n ],\n loop: true\n });\n\n return (\n \n \n
\n `${o * 0.04}em`)\n }}\n >\n \n \n
LINK
\n
\n \n \n \n );\n};\n\nconst _LinkToolPreviewSimple = () => {\n return (\n
\n
\n \n LINK\n
\n
\n );\n};\n\nexport default LinkToolPreview;\n","import { type PropsWithChildren } from 'react';\nimport {\n type ScribbleType,\n useOnboardingStore,\n SCRIBBLE_ANIMATION_DURATION_MS\n} from 'stores/onboardingStore';\n\ntype ScribbleProps = PropsWithChildren<{\n type: ScribbleType;\n className?: string;\n style?: React.CSSProperties;\n oneImage?: boolean;\n inlineArrow?: boolean;\n}>;\n\nexport const Hint = ({ type, className, style, children }: ScribbleProps) => {\n const state = useOnboardingStore((s) => s.scribbleStates[type]);\n\n return (\n <>\n {state !== 'hidden' && (\n \n {children}\n \n )}\n \n );\n};\n\nexport const Scribble = ({\n type,\n className,\n style,\n oneImage\n}: ScribbleProps) => {\n return (\n <>\n \n {oneImage ? (\n \n ) : (\n <>\n \n \n \n )}\n \n \n );\n};\n","import { useRef, useState } from 'react';\nimport ElementPreview from '../ElementPreview';\nimport LinkLayoutSelect from './LinkLayoutSelect';\nimport { createElementId, INITIAL_ELEMENT_ID } from 'utils/id';\nimport OwnTool, { OwnToolButton } from '../OwnTool';\nimport AnimatedIcon from './AnimatedIcon';\nimport {\n editorActions,\n GRID_COLUMNS,\n useEditorStore\n} from 'stores/editorStore';\nimport type { Tool, ToolProps } from '..';\nimport { Scribble } from 'components/Scribble';\n\nimport { useTimeout } from 'utils/hooks/useTimeout';\nimport { onboardingActions } from 'stores/onboardingStore';\nimport { BACKEND_API } from 'paths';\nimport { Link as PiLink } from '@phosphor-icons/react';\nimport {\n type GridArea,\n getMinimumDimensions,\n type OwnElement,\n Layout,\n _minDimensions,\n type OwnElementId\n} from '@own.page/rendering';\nimport { fetchImages } from 'utils/images/imageUpload';\n\nconst linkTextPlaceholder = 'Link Text';\nconst defaultLink = 'https://example.com';\n\nconst computeGridHeight = (layout: Layout) => {\n return layout == 'card' ? { w: 2, h: 2 } : { w: 6, h: 1 };\n};\n\nconst computeGridPos = (layout: Layout, currentPos: GridArea) => {\n // return 12 - currentPos.x >= currentPos.w ?\n // {...currentPos, x: fullLength - currentPos.w} : {...currentPos};\n // TODO: this is Elitza's code, ask here what reasoning there was behind it\n // if (layout == 'card') {\n // return currentPos.x > 8\n // ? { x: 8, y: currentPos.y, w: 4, h: currentPos.h }\n // : { ...currentPos, w: 4, h: 4 };\n // } else {\n // return currentPos.x > 2\n // ? { x: 2, y: currentPos.y, w: 10, h: 2 }\n // : { ...currentPos, w: 10, h: 2 };\n // }\n\n // const shiftX =\n // GRID_COLUMNS - currentPos.x >= currentPos.w\n // ? GRID_COLUMNS - currentPos.w\n // : currentPos.x;\n\n const minDim = getMinimumDimensions({\n type: 'link',\n props: { layout }\n }); // here we are faking an ownElement\n //TODO: either pass it directly or use the direct link minimums after access is unified\n\n return {\n ...currentPos,\n w: Math.max(currentPos.w, minDim.w),\n h: Math.max(currentPos.h, minDim.h)\n //h: layout === Layout.Card ? Math.max(currentPos.h, minDim.h) : minDim.h // for all the others, we want to set height to min!\n };\n};\n\nconst createLink = (\n linkUrl: string,\n inputText: string,\n linkLayout: Layout,\n imageSrc: string,\n linkColor: string,\n _element?: OwnElement\n): OwnElement => {\n // if (element) {\n // return { ...element, props: { ...element.props, src: linkUrl, stretch: true}};\n // }\n\n return {\n grid: { x: 1, y: 1, ...computeGridHeight(linkLayout) },\n type: 'link',\n props: {\n url: linkUrl,\n text: inputText,\n layout: linkLayout,\n src: imageSrc,\n color: linkColor\n },\n id: createElementId()\n };\n};\n\nconst selectImage = (\n cleanupImage: string,\n setImage: React.Dispatch>,\n uploadToServerRef: React.MutableRefObject<(() => Promise) | null>\n) => {\n fetchImages(cleanupImage, (_dimensions, imageUrl, uploadToServer) => {\n setImage(imageUrl as string);\n uploadToServerRef.current = uploadToServer;\n });\n // ).catch(console.error);\n};\n\nconst TextInputField = (props: {\n text: string;\n setText: React.Dispatch>;\n setUnchanged: React.Dispatch>;\n}) => {\n const handleChange = (newText: string) => {\n props.setText(newText);\n props.setUnchanged(false);\n };\n\n return (\n
\n
\n {\n e.target.placeholder = '';\n }}\n onBlur={(e) => {\n e.target.placeholder = linkTextPlaceholder;\n }}\n value={props.text}\n maxLength={42}\n onChange={(e) => {\n handleChange(e.target.value);\n }}\n />\n
\n
\n );\n};\n\nconst LinkInputField = (props: {\n url: string;\n setUrl: React.Dispatch>;\n onChanged: (url: string) => void;\n}) => {\n const [rawUrl, setRawUrl] = useState(props.url);\n\n const handleChange = (newURL: string) => {\n // if (/^(h?t?t?p?s?:?\\/?\\/?)?$/.test(newURL.trim())) {\n // props.setUrl(newURL); // Keep it empty\n // } else {\n // // Check if the URL starts with a valid prefix, otherwise add \"https://\"\n // if (!/^(https?:\\/\\/|tel:|mailto:)/i.test(newURL)) {\n // newURL = 'https://' + newURL;\n // }\n // props.setUrl(newURL);\n // }\n setRawUrl(newURL);\n if (!/^(https?:\\/\\/|tel:|mailto:)/i.test(newURL)) {\n const urlWithPrefix = 'https://' + newURL;\n props.setUrl(urlWithPrefix);\n } else {\n props.setUrl(newURL);\n }\n };\n\n // const handleInvalidInput = (event: React.ChangeEvent) => {\n // event.preventDefault(); // Prevent the default browser validation message\n // // Check if the URL is valid and provide a custom error message\n // event.target.setCustomValidity('Invalid URL');\n // };\n\n //TODO: Check if the URL input is valid!!!\n\n return (\n
\n
\n \n {/* https:// */}\n {\n // console.log('url: ' + props.url);\n const newURL = e.target.value.trim();\n // if (newURL.startsWith('https://')) {\n // newURL = newURL.substring('https://'.length);\n // }\n handleChange(newURL);\n props.onChanged(e.target.value);\n }}\n onFocus={(e) => {\n e.target.placeholder = '';\n }}\n onBlur={(e) => {\n e.target.placeholder = defaultLink;\n }}\n />\n
\n
\n );\n};\n\nconst defaultEditElement = {\n layout: Layout.Card,\n text: '',\n src: undefined,\n url: '',\n color: '#fff'\n};\n\nconst initialElem: OwnElement = {\n grid: { x: 4, y: 1, ...computeGridHeight(Layout.Card) },\n type: 'link',\n props: { defaultEditElement },\n id: INITIAL_ELEMENT_ID\n};\n\nconst LinkTool = (props: ToolProps) => {\n const editElement = props.element;\n const editElementProps = editElement?.props ?? defaultEditElement;\n const previewElement = props.element ?? initialElem;\n\n const [linkLayout, setLinkLayout] = useState(\n editElementProps.layout as Layout\n );\n const [text, setText] = useState(editElementProps.text as string);\n const [imageSrc, setImageSrc] = useState(\n editElementProps.src as string\n );\n const [linkUrl, setLinkUrl] = useState(\n editElementProps.url as string\n );\n const [linkColor, _setLinkColor] = useState(\n editElementProps.color as string\n );\n // const [change, setChange] = useState<'color' | 'layout'>('layout');\n const [unchanged, setUnchanged] = useState(true);\n const [loading, setLoading] = useState(false);\n\n const uploadToServerRef = useRef<(() => Promise) | null>(null);\n\n const plainImage = useRef(null);\n\n const focusImage = () => {\n plainImage.current?.focus();\n };\n\n const close = async () => {\n const link = linkUrl == '' ? defaultLink : linkUrl;\n let elementId: OwnElementId;\n if (editElement) {\n const shiftX =\n linkLayout === Layout.Card\n ? editElement.grid.x\n : GRID_COLUMNS - editElement.grid.x <= 5\n ? 1\n : editElement.grid.x;\n const newGrid =\n linkLayout === editElement.props.layout\n ? computeGridPos(linkLayout, editElement.grid)\n : {\n ...editElement.grid,\n x: shiftX,\n ...computeGridHeight(linkLayout)\n };\n const elementWithNewLinkInfo = {\n ...editElement,\n props: {\n ...editElement.props,\n url: link,\n text,\n layout: linkLayout,\n src: imageSrc,\n color: linkColor\n },\n grid: newGrid\n };\n\n editorActions.updateElementFromTool(elementWithNewLinkInfo);\n elementId = editElement.id;\n } else {\n const newElement = createLink(\n linkUrl,\n text,\n linkLayout,\n imageSrc,\n linkColor\n );\n elementId = editorActions.addElement(newElement);\n }\n\n if (uploadToServerRef.current) {\n const serverUrl = uploadToServerRef.current();\n uploadToServerRef.current = null;\n\n // update url to server url here\n serverUrl.then((resolvedUrl) => {\n const e = useEditorStore.getState().page.elements[elementId];\n\n editorActions.updateElement({\n ...e,\n props: { ...e.props, src: resolvedUrl }\n });\n });\n }\n\n props.close();\n };\n\n function HeaderComponent() {\n return (\n <>\n {\n focusImage();\n selectImage(imageSrc, setImageSrc, uploadToServerRef);\n onboardingActions.hideScribble('change-image');\n }}\n >\n \n \n {/* TEMPORARY DISABLED COLORS FOR LINKS */}\n\n {/* {\n setChange((prevChange) =>\n prevChange == 'color' ? 'layout' : 'color'\n );\n }}\n >\n {change == 'layout' ? (\n \n ) : (\n \n )}\n */}\n \n );\n }\n\n const link = linkUrl === defaultLink ? '' : linkUrl;\n\n const fetchOpenGraph = async (url: string) => {\n if (url.trim() === '') {\n return;\n }\n console.log('trying to fetch: ', url);\n try {\n const response = await fetch(`${BACKEND_API}/opengraph`, {\n method: 'POST', // or 'PUT'\n // mode: 'no-cors',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({ url })\n });\n\n const result = await response.json();\n\n const ogImageRaw = result?.result?.ogImage;\n\n if (ogImageRaw) {\n const ogImage = Array.isArray(ogImageRaw) ? ogImageRaw[0] : ogImageRaw;\n if (ogImage.url) {\n setImageSrc(ogImage.url);\n }\n }\n // console.log('OGFetchSuccess:', result);\n } catch (error) {\n console.error('OGFetchError:', error);\n }\n };\n\n const computePreviewGrid = () => {\n if (editElement && linkLayout === editElement.props.layout) {\n const minDim = _minDimensions[linkLayout];\n const width = editElement.grid.w;\n const height = editElement.grid.h;\n\n return {\n ...editElement.grid,\n w: Math.max(minDim.w, width),\n h: Math.max(minDim.h, height)\n };\n } else {\n return { x: 0, y: 0, ...computeGridHeight(linkLayout) };\n }\n };\n\n const timeout = useTimeout(2500);\n\n return (\n <>\n \n \n {/* */}\n {/*
\n {\n console.log('>>>> calback', ev);\n if (\n ev.target instanceof Element &&\n ev.target.localName === 'img'\n ) {\n focusImage();\n selectImage(setImageSrc);\n }\n }}\n >\n \n */}\n \n {\n setLoading(true);\n timeout().then(async () => {\n if (imageSrc !== null) {\n await fetchOpenGraph(url);\n setLoading(false);\n }\n });\n }}\n >\n \n \n {/* TEMPORARY DISABLED COLORS FOR LINKS */}\n {/* {change === 'color' ? (\n \n ) : (\n \n )} */}\n \n \n );\n};\n\nconst tool: Tool = {\n name: 'link',\n Component: LinkTool,\n icon: 'link.svg',\n ToolbarIcon: PiLink,\n AnimatedIcon\n};\n\nexport default tool;\n","import {\n type SocialIconType,\n type Social,\n iconTypeMap\n} from '@own.page/rendering';\nimport InstaDragSelect, { type InstaDragProps } from '../InstaDragSelect';\n\nconst OwnPageSVG = (props: { color: string }) => (\n \n \n \n \n);\n\nconst socialsOptions = Object.entries(iconTypeMap).map(([k, Icon]) => ({\n key: k as SocialIconType,\n Icon: (props: InstaDragProps) => (\n
\n {/* */}\n \n
\n )\n}));\n\nconst SocialsIconSelect = (props: {\n socials: Social[];\n selectedSocialsType: SocialIconType;\n setSocialsType: React.Dispatch>;\n}) => {\n return (\n props.setSocialsType(k.key)}\n />\n );\n};\n\nexport default SocialsIconSelect;\n","import { useResize, useSpring, a, config } from '@react-spring/web';\nimport { useRef } from 'react';\n\nconst SocialsToolPreview = () => {\n const ref = useRef(null);\n const { width } = useResize({ container: ref });\n\n const rectSpring = useSpring({\n from: {\n width: '0.7em',\n height: '0.5em'\n },\n config: config.slow,\n to: [\n {\n width: '0.85em',\n height: '0.45em'\n },\n {\n width: '0.7em',\n height: '0.5em'\n }\n ],\n loop: true\n });\n\n return (\n \n \n \n
SOCIALS
\n
\n {[0, 1, 2, 3].map((e) => (\n \n ))}\n
\n
\n \n \n );\n};\n\nexport default SocialsToolPreview;\n","import { useState } from 'react';\n\nimport { initialStyle, useEditorStore } from 'stores/editorStore';\nimport { useShallow } from 'zustand/react/shallow';\nimport { ColorPicker } from './background/ColorVariableChangeTool';\n\nfunction colorToVar(color: string): string {\n return 'var(--' + color + ')';\n}\n\nconst ColorVariables = (props: {\n color: string;\n setColor: (color: string) => void;\n}) => {\n const pageColorVars = useEditorStore(\n useShallow((s) => Object.entries(s.page.style.colors))\n );\n const colorVars =\n pageColorVars.length === 0\n ? Object.entries(initialStyle.colors)\n : pageColorVars;\n\n const trimmedColor = props.color.substring(6, props.color.length - 1);\n\n const [colorPickerOpened, setColorPickerOpened] = useState(false);\n\n const colorFound = colorVars\n .map((colorVar) => colorVar[0])\n .includes(trimmedColor);\n console.log('COLOR VARS: ', colorVars);\n console.log('TRIMMED COLOR: ', trimmedColor);\n console.log('COLOR FOUND ', colorFound);\n\n return (\n <>\n {colorPickerOpened ? (\n
\n \n
\n ) : (\n
\n
\n
\n {colorVars.slice(0, -1).map(([k, v]) => (\n
\n {\n const newColorVar = colorToVar(k);\n console.log(newColorVar);\n props.setColor(newColorVar);\n }}\n />\n {/*
\n {k.replace('-color', '')}\n
*/}\n
\n ))}\n \n {\n setColorPickerOpened(true);\n }}\n />\n {/*
custom
*/}\n
\n
\n
\n \n )}\n \n );\n};\n\nexport default ColorVariables;\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { memo, useState } from 'react';\n// import '../../ownpage_editor.css';\nimport './SocialsTool.css';\nimport { IonReorder, IonReorderGroup } from '@ionic/react';\nimport { createElementId, INITIAL_ELEMENT_ID } from 'utils/id';\nimport ElementPreview from '../ElementPreview';\nimport OwnTool, { OwnToolButton } from '../OwnTool';\nimport SocialsIconSelect from './SocialsIconSelect';\nimport type { Tool, ToolProps } from '..';\nimport AnimatedIcon from './AnimatedIcon';\nimport { editorActions } from 'stores/editorStore';\nimport ColorVariables from '../ColorVariables';\nimport {\n type Social,\n type SocialID,\n type OwnElement,\n type SocialIconType,\n socialInfo\n} from '@own.page/rendering';\nimport { useOwnAlert } from 'ui';\n\nconst allOptions: Social[] = Object.keys(socialInfo).map((key) => ({\n id: key as SocialID,\n username: ''\n}));\n\nconst createSocials = (\n socials: Social[],\n icon: SocialIconType,\n color: string,\n element?: OwnElement\n): OwnElement => {\n return {\n grid: { x: 2, y: -1, w: 4, h: -1 },\n type: 'socials',\n props: { socials: socials, icon: icon, color: color },\n id: createElementId()\n };\n};\n\nconst initialOptions: Social[] = allOptions.slice(0, 4);\n\n/**\n * Removes the full link, when they are entered as a username\n */\nfunction removeSingleURL(currentSocial: Social, currUsername: string): string {\n const mediaURL = socialInfo[currentSocial.id]?.url || '';\n const finalUsername = currUsername.includes(mediaURL)\n ? currUsername.replace(mediaURL, '')\n : currUsername;\n return finalUsername;\n}\n\nconst SocialInput = memo(\n (props: {\n social: Social;\n updateSocial: (social: Social) => void;\n removeSocial: () => void;\n }) => {\n const prependedSign =\n props.social.id == 'email' ? '' : props.social.id == 'phone' ? '+' : '@';\n const placeholderText =\n props.social.id == 'email'\n ? 'email address'\n : props.social.id == 'phone'\n ? 'phone number'\n : 'username';\n\n return (\n
\n \n \n \n
\n \n
\n
\n
\n
\n
\n {prependedSign}\n
\n {\n // TODO: add sanitazion here or downstream!\n // const finalUsername = generateFinalUsername(\n // props.social,\n // e.target.value\n // );\n\n const newSocial = {\n ...props.social,\n username: e.target.value\n };\n\n props.updateSocial(newSocial);\n }}\n />\n
\n
\n
\n \n \n \n
\n );\n }\n);\n\nconst AddSocialsScreen = (props: {\n socials: Social[];\n setSocials: React.Dispatch>;\n}) => {\n const [showAlert] = useOwnAlert();\n\n const updateSocial = (social: Social) => {\n props.setSocials((socials) =>\n socials.map((s) => (s.id === social.id ? social : s))\n );\n };\n\n const removeSocial = (social: Social) => {\n props.setSocials((socials) => socials.filter((s) => s.id !== social.id));\n };\n\n // https://github.com/ionic-team/ionic-framework/blob/73b8bfde3f060490958c10f58d0f68de80cb957f/core/src/components/reorder-group/reorder-group.tsx#L24\n const reorderArray = (array: T[], from: number, to: number): T[] => {\n const element = array[from];\n array.splice(from, 1);\n array.splice(to, 0, element);\n return array.slice();\n };\n\n return (\n <>\n
\n
\n {\n // we have to manually reorder the array, because the react reorder like described in\n // https://ionicframework.com/docs/api/reorder doesn't work, it should be like this:\n // props.setSocials((socials) => e.detail.complete(socials));\n // but this produces a flicker the first time, that's why we reorder it ourselves:\n const reordered = reorderArray(\n [...props.socials],\n e.detail.from,\n e.detail.to\n );\n props.setSocials(reordered);\n e.detail.complete(true);\n }}\n >\n {props.socials.map((s) => (\n removeSocial(s)}\n />\n ))}\n \n\n \n
\n
\n \n );\n};\n\nconst EditSocialsScreen = (props: {\n previewElem: OwnElement;\n socials: Social[];\n setAddSocialsScreen: React.Dispatch>;\n closeModal: () => void;\n color: string;\n setColor: React.Dispatch>;\n socialsType: SocialIconType;\n setSocialsType: React.Dispatch>;\n change: string;\n}) => {\n return (\n <>\n {/*
\n \n
*/}\n \n {/* */}\n {props.change === 'color' ? (\n // \n \n ) : (\n \n )}\n {/* */}\n \n );\n};\n\nconst defaultEditElement = {\n socials: initialOptions,\n color: 'var(--main-color)',\n icon: 'filled-circle'\n};\n\nconst prependSocialsURL = (socials: Social[]): Social[] =>\n socials.filter(({ username }) => username.trim() !== ''); // Remove entries with empty usernames\n// .map((s) => {\n// const mediaURL = socialInfo[s.id]?.url || '';\n// const newUsername =\n// s.username.startsWith('http') || s.username.startsWith('www')\n// ? s.username\n// : mediaURL.concat(s.username);\n// console.log('AFTER CLOSE URL: ', newUsername);\n// return { ...s, username: newUsername } as Social;\n// });\n\nconst removeSocialsURL = (socials: Social[]): Social[] =>\n socials.map((s) => {\n const usernameWithoutURL = s.username.replace(socialInfo[s.id].url, '');\n const modifiedUsername = usernameWithoutURL.endsWith('/')\n ? usernameWithoutURL.slice(0, -1)\n : usernameWithoutURL;\n return {\n ...s,\n username: modifiedUsername\n };\n });\n\nconst initialElem: OwnElement = {\n grid: { x: 1, y: 0, w: 5, h: 1 },\n type: 'socials',\n props: { defaultEditElement },\n id: INITIAL_ELEMENT_ID\n};\n\nconst SocialsTool = (props: ToolProps) => {\n const editElement = props.element;\n const editElementProps = editElement?.props ?? defaultEditElement;\n const previewElement = props.element ?? initialElem;\n\n const socialsWithPartialURL = removeSocialsURL(\n editElementProps.socials as Social[]\n );\n const [socials, setSocials] = useState(socialsWithPartialURL);\n const [addSocialsScreen, setAddSocialsScreen] = useState(\n editElement ? false : true\n );\n const [color, setColor] = useState(editElementProps.color as string);\n const [socialsType, setSocialsType] = useState(\n editElementProps.icon as SocialIconType\n );\n const [change, setChange] = useState<'color' | 'design'>('design');\n\n const closeModal = () => {\n console.log('SET COLOR: ', color);\n const filteredSocials = prependSocialsURL(socials);\n if (filteredSocials.length !== 0) {\n if (editElement) {\n const elementWithNewInfo = {\n ...editElement,\n props: {\n ...editElement.props,\n socials: filteredSocials,\n icon: socialsType,\n color: color\n }\n };\n\n editorActions.updateElementFromTool(elementWithNewInfo);\n } else {\n const newElement = createSocials(filteredSocials, socialsType, color);\n editorActions.addElement(newElement);\n }\n console.log(filteredSocials);\n }\n props.close();\n };\n\n function HeaderComponent() {\n return (\n <>\n {addSocialsScreen ? (\n <>\n {\n setAddSocialsScreen(false);\n }}\n >\n \n \n \n \n ) : (\n <>\n {\n setAddSocialsScreen(true);\n }}\n >\n \n \n {\n setChange((prevChange) =>\n prevChange == 'color' ? 'design' : 'color'\n );\n }}\n >\n {change == 'design' ? (\n \n ) : (\n \n )}\n \n \n )}\n \n );\n }\n\n return (\n <>\n \n {addSocialsScreen ? (\n \n ) : (\n \n )}\n \n \n );\n};\n\nconst tool: Tool = {\n name: 'socials',\n Component: SocialsTool,\n icon: 'socials.svg',\n AnimatedIcon\n};\n\nexport default tool;\n","import { isPlatform } from '@ionic/core';\n\nexport const autofocus = {\n autoFocus: true,\n ref: (e: HTMLInputElement | null) => {\n if (e) {\n setTimeout(() => e.focus(), 100);\n }\n }\n};\n\nexport const autofocusIfDesktop = isPlatform('desktop') ? autofocus : {};\n","import type { PropInfo, PropsInfo } from '@own.page/own.tiles';\nimport { User, X, CaretDown, Link, Palette } from '@phosphor-icons/react';\nimport { useEffect, useRef } from 'react';\n\nconst mapComponents: Record = {\n username: ,\n link: ,\n theme: \n};\n\ntype Primitives = string | boolean;\n\ntype InputProps

= {\n id: string;\n value: P;\n setValue: React.Dispatch>;\n placeholder?: string;\n label?: string;\n index: number;\n options?: string[];\n};\n\nconst TextInput = ({\n id,\n value,\n setValue,\n placeholder,\n label,\n index\n}: InputProps) => {\n const inputRef = useRef(null);\n\n useEffect(() => {\n if (index === 0) {\n const handlePaste = (e: ClipboardEvent) => {\n if (inputRef.current && document.activeElement !== inputRef.current) {\n e.preventDefault();\n const pastedText = e.clipboardData?.getData('text');\n if (pastedText) {\n setValue(pastedText);\n }\n }\n };\n\n document.addEventListener('paste', handlePaste);\n return () => document.removeEventListener('paste', handlePaste);\n }\n }, [index, setValue]);\n\n return (\n <>\n

\n
\n {mapComponents[id]}\n
\n {\n e.target.placeholder = '';\n }}\n onBlur={(e) => {\n e.target.placeholder = label || placeholder || '';\n }}\n value={value || ''}\n maxLength={128}\n onChange={(e) => setValue(e.target.value)}\n />\n {value && (\n setValue('')}\n >\n \n \n )}\n
\n \n );\n};\n\nconst Toggle = ({ id, value, setValue, label }: InputProps) => {\n return (\n <>\n
\n
\n {mapComponents[id]}\n
\n {label || id}\n
\n \n \n \n );\n};\n\nconst Dropdown = ({\n id,\n value,\n setValue,\n options,\n label\n}: InputProps) => {\n return (\n <>\n
\n
\n {id in mapComponents && mapComponents[id]}\n
\n {label || id}\n
\n setValue(e.target.value)}\n className=\"w-36 h-8 pl-4 pr-8 text-black/50 bg-white/50 rounded-full appearance-none cursor-pointer focus:outline-none\"\n >\n {options &&\n options.map((option) => (\n \n ))}\n \n \n
\n
\n \n );\n};\n\nconst getComponent = (type: PropInfo['type']) => {\n if (type === 'string') return TextInput as React.FC;\n if (type === 'boolean') return Toggle as React.FC;\n if (Array.isArray(type)) return Dropdown as React.FC;\n return null;\n};\n\nconst PropInput = (props: {\n id: string;\n value: T;\n info: PropInfo;\n setValue: React.Dispatch>;\n index: number;\n}) => {\n const Component = getComponent(props.info.type);\n\n if (!Component) return null;\n\n return (\n
\n >\n }\n label={props.info.description}\n placeholder={props.info.type === 'string' ? props.id : undefined}\n options={Array.isArray(props.info.type) ? props.info.type : undefined}\n index={props.index}\n />\n
\n );\n};\n\ntype Props

= {\n propsInfo: PropsInfo

;\n previewProps: Record;\n setPreviewProps: React.Dispatch<\n React.SetStateAction>\n >;\n setDebouncedPreviewProps: React.Dispatch<\n React.SetStateAction>\n >;\n};\n\nexport const PropsForm = (props: Props

) => {\n return (\n <>\n {Object.entries(props.propsInfo).map(([k, v], index) => (\n {\n const setter = (v as PropInfo).slowLoad\n ? props.setDebouncedPreviewProps\n : props.setPreviewProps;\n setter((p) => ({\n ...p,\n [k]: newValue\n }));\n }}\n index={index}\n />\n ))}\n \n );\n};\n","import { useState, useEffect, type SetStateAction } from 'react';\nimport ElementPreview from '../ElementPreview';\nimport OwnTool from '../OwnTool';\nimport { editorActions } from 'stores/editorStore';\nimport type { Tool, ToolProps } from '..';\n\nimport { SpotifyLogo, Calendar, type Icon } from '@phosphor-icons/react';\nimport {\n type TileDimensions,\n type TileInfo,\n widgets\n} from '@own.page/own.tiles';\nimport { PropsForm } from './PropsForm';\nimport { useTimeout } from 'utils/hooks/useTimeout';\nimport { type OwnElement, type OwnElementType } from '@own.page/rendering';\n\nconst defaultProps = {};\n\nconst initialElem = (type: OwnElementType, minDimensions?: TileDimensions) =>\n ({\n grid: { x: 4, y: 1, w: minDimensions?.w ?? 4, h: minDimensions?.h ?? 2 },\n type,\n props: defaultProps,\n id: 'element:initial'\n }) as OwnElement;\n\nconst TileToolComponent = , P extends object>({\n info,\n initialElement,\n ...props\n}: ToolProps & { info: TileInfo; initialElement: OwnElement }) => {\n const editElement = props.element;\n const previewElement = editElement ?? initialElement;\n\n const [immediateProps, setImmediateProps] = useState(previewElement.props);\n const [debouncedProps, setDebouncedProps] = useState(previewElement.props);\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n if (editElement) {\n setImmediateProps(editElement.props);\n setDebouncedProps(editElement.props);\n }\n }, [editElement]);\n\n const updateProps = (newProps: SetStateAction<{ [k: string]: unknown }>) => {\n setImmediateProps(newProps);\n setDebouncedProps(newProps);\n };\n\n const timeout = useTimeout(2000);\n\n const updateDebouncedProps = async (\n newProps: SetStateAction<{ [k: string]: unknown }>\n ) => {\n setImmediateProps(newProps);\n setLoading(true);\n timeout().then(() => {\n setDebouncedProps(newProps);\n setLoading(false);\n });\n };\n\n const close = () => {\n if (editElement) {\n editorActions.updateElementFromTool({\n ...editElement,\n props: immediateProps\n });\n } else {\n editorActions.addElement({\n ...initialElement,\n props: immediateProps\n });\n }\n props.close();\n };\n\n return (\n \n \n }\n setPreviewProps={updateProps}\n setDebouncedPreviewProps={updateDebouncedProps}\n />\n

\n
\n );\n};\n\nfunction makeToolComponent, P extends object>(\n info: TileInfo\n): React.FC {\n const initialElement = initialElem(\n info.name as OwnElementType,\n typeof info.minDimensions === 'function'\n ? info.minDimensions({} as P)\n : info.minDimensions\n );\n\n return (props) => (\n \n );\n}\n\nconst makeTool: (\n info: TileInfo,\n icon: { Icon: Icon } | { image: string }\n) => Tool = (info, icon) => ({\n Component: makeToolComponent(info),\n name: info.name,\n AnimatedIcon:\n 'Icon' in icon\n ? () => \n : () => ,\n icon: ''\n});\n\n/* add tiles here, but also here: @see rendering/elements/own.tiles/index.ts */\nexport default [\n makeTool(widgets.GitHub, { image: '/assets/elements/GitHub.svg' }),\n makeTool(widgets.Spotify, { image: '/assets/elements/Spotify.svg' }),\n makeTool(widgets.YouTube, { image: '/assets/elements/YouTube.svg' }),\n makeTool(widgets.GoogleCalendar, { image: '/assets/elements/Calendar.svg' })\n];\n","import tools from './OwnTilesTool';\n\nexport const OwnTilesTools = tools;\n","import { IonHeader, IonModal } from '@ionic/react';\nimport { useRef, useState } from 'react';\n// import '../ownpage_editor.css';\nimport './background/BackgroundTool.css';\nimport type { Tool, ToolProps } from '.';\nimport LinkTool from './link/LinkTool';\nimport SocialsTool from './socials/SocialsTool';\nimport { Sticker } from '@phosphor-icons/react';\nimport TextTool from './text/TextTool';\nimport { autofocusIfDesktop } from 'utils/autofocus';\nimport ImageTool from './image/ImageTool';\nimport { OwnTilesTools } from './own.tiles';\nimport { useEditorStore } from 'stores/editorStore';\nimport type { OwnElementType } from '@own.page/rendering/elements';\nimport {\n editorElementsMap,\n type EditorElementsKey\n} from 'editor/editor-elements';\n\n// type WithRequired = T & { [P in K]-?: T[P] };\n// type AnimatedIconTools = WithRequired;\n\nconst drawerTools = [\n TextTool,\n ImageTool,\n LinkTool,\n SocialsTool,\n ...OwnTilesTools\n];\n// { tool: LinkTool, preview: LinkToolPreview },\n// { tool: SocialsTool, preview: SocialsToolPreview },\n// { tool: { ...SocialsTool, name: 'emoji' }, preview: EmojiPreview }\n// ];\n\nconst OwnTilesDrawer = (props: ToolProps) => {\n const [showModal, setShowModal] = useState(true);\n const [searchText, setSearchText] = useState('');\n\n const modal = useRef(null);\n\n const closeModal = () => {\n props.close();\n modal.current?.remove(); // THIS IS SUPER IMPORTANT!\n };\n\n const elementsCount = useEditorStore((s) => s.elementsCount);\n\n const filteredTools = (\n searchText.trim() === ''\n ? drawerTools\n : drawerTools.filter((s) => s.name.includes(searchText))\n ).filter((tool) => {\n const currentCount = elementsCount[tool.name as OwnElementType] || 0;\n const maxCount =\n editorElementsMap[tool.name as EditorElementsKey]?.maxInstances;\n return currentCount < (maxCount ?? 32);\n });\n\n return (\n <>\n \n
\n \n
\n \n setSearchText(e.target.value)}\n >\n
\n
\n
\n {filteredTools.map((t) => (\n {\n setShowModal(false);\n setTimeout(() => {\n // props.close();\n if (props.activateTool) {\n props.activateTool(t);\n } else {\n throw new Error('activateTool callback missing');\n }\n }, 200);\n }}\n >\n {t.AnimatedIcon ? :
{t.name}
}\n \n ))}\n
\n
\n \n \n );\n};\n\n// const EmojiPreview = () => {\n// const ref = useRef(null);\n// const { width, height } = useResize({ container: ref });\n\n// const rectSpring = useSpring({\n// from: {\n// size: '0.4em'\n// },\n// config: config.slow,\n// to: [{ size: '0.5em' }, { size: '0.4em' }],\n// loop: true\n// });\n\n// return (\n// \n// \n// \n// \n// \n// );\n// };\n\n// const tools: PreviewTool[] = [\n// { tool: LinkTool, preview: LinkToolPreview },\n// { tool: SocialsTool, preview: SocialsToolPreview },\n// { tool: { ...SocialsTool, name: 'emoji' }, preview: EmojiPreview }\n// ];\n\nconst tool: Tool = {\n name: 'tiles',\n Component: OwnTilesDrawer,\n // ToolbarIcon: PiGrid,\n ToolbarIcon: Sticker,\n icon: 'tiles.svg'\n};\n\nexport default tool;\n","import BackgroundTool from './background/BackgroundTool';\nimport ColorVariablesTool from './background/ColorVariablesTool';\nimport ImageTool from './image/ImageTool';\nimport TextTool from './text/TextTool';\nimport LinkTool from './link/LinkTool';\nimport SocialsTool from './socials/SocialsTool';\nimport OwnTilesDrawer from './OwnTilesDrawer';\nimport TextVariableTool from './text/TextVariableTool';\nimport { OwnTilesTools } from './own.tiles';\nimport { type OwnElement } from '@own.page/rendering';\n\n/**\n * A tool in the editor that is able to create and/or modify own elements\n */\nexport type Tool = {\n /**\n * the name (=identifier) or the tool,\n * lower case but will be capitalized when displaying user-faceing\n */\n name: string;\n /** icon name (remix icon) of the tool */\n icon: string;\n\n AnimatedIcon?: React.ComponentType;\n\n ToolbarIcon?: React.FC;\n\n toolbarText?: string;\n /** reference to the component function to render the tool */\n Component: React.FC;\n /** can be used to skip the UI hiding */\n alwaysShowUI?: boolean;\n /** callback that is triggered when the toolbar activates the tool */\n onToolbarActivate?: ToolOnActivate;\n /** callback that the editor calls when one clicks on a corresponding element (if none is given, opens the tool) */\n onEditActivate?: (item: OwnElement) => void;\n /** callback that is triggered when this tool is deactivated */\n onClose?: () => void;\n /** can be used to add padding at the bottom of the editor, so that placed elements are not hidden by the tool that is opened */\n addPadding?: boolean;\n};\n\nexport type ToolProps = {\n /** close callback that will be called when a tool is not used anymore */\n close: () => void;\n /** callback to activate an arbitrary tool */\n activateTool?: (t: Tool) => void;\n /** element that this tool is editing */\n element?: OwnElement;\n /** additional content that the tool needs to edit, e.g. Color Variable */\n editContent?: string;\n /** indicate a tool that should be opened (usually reponeded) when closing this one */\n openToolOnClose?: Tool;\n};\n\ntype ToolOnActivate = (\n /** callback to deactivate the tool by itself */\n deactivateTool: () => void\n) => void;\n\n// const _nullTool: Tool = {\n// name: 'null',\n// component: () =>
,\n// onActivate: () => {\n// /* noop */\n// },\n// icon: 'null.svg'\n// };\n\nconst tools: Tool[] = [\n BackgroundTool,\n ImageTool,\n LinkTool,\n SocialsTool,\n TextTool,\n TextVariableTool,\n ColorVariablesTool,\n ...OwnTilesTools\n];\n\nexport const editorTools: Tool[] = [\n TextTool,\n ImageTool,\n OwnTilesDrawer,\n //BackgroundTool\n ColorVariablesTool\n];\n\nexport const toolMap = Object.fromEntries(tools.map((e) => [e.name, e]));\n\nexport default toolMap;\n","/**\n *\n * @param x\n * @param min\n * @param max\n */\nexport const clamp = (x: number, min: number, max: number) =>\n Math.max(Math.min(x, max), min);\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport type { SpringRef } from '@react-spring/web';\nimport type { Handler } from '@use-gesture/react';\nimport type { SizeInfo } from 'editor/EditorGrid';\nimport {\n useEditorStore,\n algorithm,\n editorActions,\n GRID_COLUMNS\n} from 'stores/editorStore';\nimport { mapObject } from 'utils/mapObject';\nimport { getEditorHeightOverwrite } from 'editor/editor-elements';\nimport { type SpringResult, moveFn, resizeFn } from './springFunctions';\nimport { toolMap, type ToolProps } from 'editor/tools';\nimport { clamp } from 'utils/clamp';\nimport { useActiveEditorStore } from 'stores/activeEditorStore';\nimport ownHaptics from 'utils/ownHaptics';\nimport {\n type OwnElementType,\n type OwnElement,\n getMinimumDimensions,\n type OwnElementId,\n type Collection\n} from '@own.page/rendering';\nimport { isEqual } from 'editor/algorithm';\n\nconst LONG_PRESS_TIME = 80; // 0.08 seconds\n\nconst get = useEditorStore.getState;\nconst getActive = useActiveEditorStore.getState;\n\nconst checkResize = (target: EventTarget) => {\n if (target instanceof Element) {\n return target.getAttribute('data-resize-dir');\n } else {\n return null;\n }\n};\n\nconst directionSign = {\n w: -1,\n e: 1,\n n: -1,\n s: 1\n};\n\nconst isOpposit = (dir: number) => dir < 0;\n\nfunction isValidDirection(\n attribute: string | null\n): attribute is keyof typeof directionSign {\n return attribute !== null && attribute in directionSign;\n}\n\n/**\n * Callback function when an element of type t is called\n * TODO: actually at this point we already know the element do we could also directly call in the future\n */\nexport function editorElementCallback(t: OwnElementType) {\n const tool = toolMap[t];\n\n console.log('element callback', t, tool);\n\n if (tool) {\n if (tool.onEditActivate) {\n return tool.onEditActivate;\n } else {\n return (item: OwnElement) => {\n editorActions.activateTool({\n ...tool,\n Component: (props: ToolProps) => (\n \n )\n });\n };\n }\n }\n}\n\nconst computeResizing = (\n { element, sizeInfo }: MoveInfo,\n resizeAttr: string,\n x: number,\n y: number,\n down: boolean\n) => {\n if (!isValidDirection(resizeAttr)) return;\n\n editorActions.updateDragging(null);\n editorActions.resetTimeout();\n\n const direction = directionSign[resizeAttr];\n\n const curPos = element.grid;\n\n let tempNewPos = curPos;\n let newPos = curPos;\n let hOverwrite = null;\n\n const minDims = getMinimumDimensions(element);\n\n const clampX = (x: number, w: number) => clamp(x, 0, GRID_COLUMNS - w);\n const clampY = (y: number) => clamp(y, 0, 120); // TODO: find sensible max value\n const clampW = (w: number, right?: number) =>\n clamp(w, minDims.w, right || GRID_COLUMNS);\n const clampH = (h: number) => clamp(h, minDims.h, 36);\n\n // horizontal movement, we are changing the width\n if (resizeAttr === 'w' || resizeAttr === 'e') {\n const newW = curPos.w + sizeInfo.viewportToGrid(direction * x);\n let newX = curPos.x;\n // const minX = isOpposit(direction) ? 0 : curPos.x;\n const maxW = isOpposit(direction)\n ? curPos.x + curPos.w\n : GRID_COLUMNS - curPos.x;\n\n // in case we drag to the left, so resizeAttr === \"w\"\n // we have to also _move_ the object, not just change width as in \"e\" case:\n if (isOpposit(direction)) {\n if (newW < minDims.w) {\n // the user dragged the left handle (\"w\") to the right to theoretically decrease\n // the size more than is allowed, this means we move the beginning of the object,\n // the \"x\" so far to the right that minW (which will be the width) is exactly possible:\n // x (old) + w (old) - minW (new) [+ minW] will ensure the object has same width as before\n newX += curPos.w - minDims.w;\n } else {\n // otherwise we have to more the object to the right by the same amount we dragged\n // so in looks to the user as if the width changes even tough we actually move object as well\n newX += sizeInfo.viewportToGrid(x);\n }\n }\n\n const gridW = clampW(Math.round(newW), maxW);\n const gridX = clampX(Math.round(newX), gridW);\n\n const tempW = clampW(newW, maxW);\n const tempX = clampX(newX, tempW);\n\n hOverwrite = getEditorHeightOverwrite(\n element,\n sizeInfo,\n getActive().selectedDomElement?.heightDefiningElement\n ); // currently only handling height\n\n newPos = { ...curPos, x: gridX, w: gridW, h: hOverwrite ?? curPos.h };\n tempNewPos = { ...newPos, x: tempX, w: tempW };\n\n // vertical movement, we are changing the height\n } else if (resizeAttr === 's' || resizeAttr === 'n') {\n const newH = curPos.h + sizeInfo.viewportToGrid(direction * y);\n let newY = curPos.y;\n\n // in case we drag to the top, so resizeAttr === \"n\"\n // same as above in horizontal case\n if (isOpposit(direction)) {\n if (newH < minDims.h) {\n newY += curPos.h - minDims.h;\n } else {\n newY += sizeInfo.viewportToGrid(y);\n }\n }\n\n const gridH = clampH(Math.round(newH));\n const gridY = clampY(Math.round(newY));\n\n const tempH = Math.max(newH, minDims.h);\n\n newPos = { ...curPos, y: gridY, h: gridH };\n tempNewPos = { ...newPos, y: newY, h: tempH };\n }\n\n // actually in there we recompute the newPos againnnnnn, TODO: clean it up\n // TODO: this is the same in else branch, as well as in move code, think of neat way to make this more DRY\n const newElement = { ...element, grid: newPos };\n\n const movingElements = algorithm.makeSpace(newElement, get().page.elements);\n // const movingElements = algorithm.calculateChanges(\n // newElement,\n // get().page.elements\n // );\n editorActions.springAll(\n mapObject(movingElements, (e) => moveFn(e.grid, sizeInfo))\n );\n const springValues = resizeFn(\n element.grid,\n sizeInfo,\n tempNewPos,\n down,\n true,\n hOverwrite\n );\n editorActions.springTo(element.id, springValues);\n\n if (!down) {\n editorActions.updateMovingElement(newElement, movingElements);\n }\n};\n\nfunction dragPressStart(\n { element, sizeInfo, api }: MoveInfo,\n currentTarget: EventTarget,\n cancel: () => void\n) {\n // editorActions.updateDragging(element.id);\n // api.start(moveFn(element.grid, sizeInfo, true));\n // const p = down ? { x: xy[0], y: xy[1] } : null;\n // editorActions.updateBackgroundClick(p);\n editorActions.newTimeout(() => {\n // const isSelected = getActive().selectedElement === element.id;\n\n // if (!isSelected) {\n // // select element after timeout\n // editorActions.updateSelection(element, currentTarget as HTMLDivElement);\n // }\n\n editorActions.updateDragging(element.id);\n\n ownHaptics.light();\n // api.start({\n // ...moveFn(element.grid, sizeInfo, true, true),\n // onRest: () => editorActions.updateDragging(element.id)\n // });\n // api.set(moveFn(element.grid, sizeInfo, true));\n api.start(moveFn(element.grid, sizeInfo, true, true));\n }, LONG_PRESS_TIME);\n}\n\nfunction dragPressCancel(\n { element, sizeInfo, api }: MoveInfo,\n cancel: () => void\n) {\n editorActions.resetTimeout();\n editorActions.updateDragging(null);\n editorActions.allowThemeSwiping();\n editorActions.updateBackgroundClick(null);\n api.start(moveFn(element.grid, sizeInfo, false, false));\n cancel();\n}\n\nfunction openTool(element: OwnElement) {\n editorElementCallback(element.type)?.(element);\n}\n\nfunction getOverButton(xy: [number, number]) {\n const overButton = document.elementFromPoint(xy[0], xy[1]);\n const isOverButton =\n overButton &&\n overButton instanceof HTMLElement &&\n overButton.getAttribute('data-editor-context-button') === 'true';\n return isOverButton ? overButton : null;\n}\n\nfunction handleOverButton(\n overButton: HTMLElement,\n currentElement: HTMLElement,\n api: SpringRef,\n event: Event,\n last: boolean\n) {\n const overName = overButton.id;\n\n api.start({ scale: 0.69 /* 😏 */ });\n\n if (overName !== getActive().hoveredContextButton) {\n ownHaptics.light();\n editorActions.setHoveredContextButton(overName);\n }\n\n if (last) {\n // fake a click event\n const clickEvent = new MouseEvent('click', {\n ...event,\n bubbles: true,\n cancelable: true,\n view: window,\n ownElement: currentElement\n } as unknown as MouseEventInit);\n\n api.start({ scale: 1 });\n\n // Dispatch the click event on the button\n // handled in Editor.tsx!\n overButton.dispatchEvent(clickEvent);\n }\n}\n\nconst MAX_MOVEMENT = 8;\n\ntype MoveInfo = {\n element: OwnElement;\n sizeInfo: SizeInfo;\n api: SpringRef;\n};\n\nconst springElementsToPosition = (elements: Collection) => {\n const sizeInfo = useActiveEditorStore.getState().sizeInfo;\n editorActions.springAll(mapObject(elements, (e) => moveFn(e.grid, sizeInfo)));\n};\n\nconst dragFunction: Handler<'drag'> = async ({\n args,\n down,\n movement: [x, y],\n xy,\n target,\n currentTarget,\n elapsedTime,\n first,\n last,\n tap,\n dragging: _dragging,\n cancel,\n event\n}) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (event as any).origin = 'dragFunction';\n // we cannoot use the code below, because otherwise the swiper swipes for some reason,\n // thats why we add the info above so @see EditorGrid.tsx can check for the origin\n // event.preventDefault();\n // event.stopPropagation();\n\n // Skip events without a valid currentTarget\n // this is needed because sometimes on pointerup the drag function is called twice with same parameters\n if (!event.currentTarget) return;\n\n const [elementId, api]: [OwnElementId, SpringRef] = args;\n\n const state = get();\n const activeState = getActive();\n\n const sizeInfo = activeState.sizeInfo;\n const allElements = state.page.elements;\n const element = allElements[elementId];\n const selected = activeState.selectedElement === elementId;\n const dragging = activeState.draggingElement === elementId;\n const curPos = element.grid;\n\n const shortPress = elapsedTime < LONG_PRESS_TIME;\n\n const inThreshold = x * x + y * y < MAX_MOVEMENT * MAX_MOVEMENT; // avoid expensive sqrt\n\n const moveInfo: MoveInfo = { element, sizeInfo, api };\n const resize = checkResize(target);\n const currentEl = currentTarget as HTMLElement;\n\n // here we didn't press long enough but rather moved the finger before so opt to theme swiping!\n if ((inThreshold || dragging || resize) && !last) {\n editorActions.disableThemeSwiping();\n editorActions.updateBackgroundClick({ x: 0, y: 0 });\n } else {\n editorActions.allowThemeSwiping();\n editorActions.updateBackgroundClick(null);\n }\n\n if ((resize || !shortPress) && !last) editorActions.disableScroll();\n else editorActions.allowScroll();\n\n if (resize) return computeResizing(moveInfo, resize, x, y, down);\n if (first) return dragPressStart(moveInfo, currentTarget, cancel);\n if (shortPress && !inThreshold) return dragPressCancel(moveInfo, cancel);\n if (inThreshold && (last || tap)) {\n dragPressCancel(moveInfo, cancel);\n if (selected) return openTool(element);\n if (!selected) return editorActions.updateSelection(element, currentEl);\n }\n if (shortPress) return; // from here on only code that handles long presses/dragging\n\n // drag grid position where the element should be rendered\n const newX = curPos.x + sizeInfo.viewportToGrid(x);\n const newY = curPos.y + sizeInfo.viewportToGrid(y);\n\n // drag position clamped to the editor grid\n const xGrid = clamp(Math.round(newX), 0, GRID_COLUMNS - curPos.w);\n const yGrid = clamp(Math.round(newY), 0, Infinity);\n\n const insideEditor = newX + curPos.w >= 0 && newX <= GRID_COLUMNS;\n\n const newPos = { ...curPos, x: xGrid, y: yGrid };\n const newElement = { ...element, grid: newPos };\n\n const movingElements: Collection = insideEditor\n ? algorithm.makeSpace(newElement, allElements) // moving elements away, here the algorithm defines where the elements end up\n : allElements; // if not overwritten (=if outside), spring all elements back to their original position\n\n springElementsToPosition(movingElements);\n editorActions.updateWouldBePlacement(newPos);\n\n // spring the dragged element (overwriting the one set in the springElementsToPosition call)\n const springValues = moveFn(element.grid, sizeInfo, down, true, x, y);\n editorActions.springTo(element.id, springValues);\n\n const overButton = getOverButton(xy);\n if (overButton) {\n return handleOverButton(overButton, currentEl, api, event, last);\n }\n editorActions.setHoveredContextButton(null);\n\n if (!selected) editorActions.updateSelection(element, currentEl);\n if (!insideEditor) return;\n if (!dragging) return;\n if (!last) return;\n\n editorActions.updateDragging(null);\n\n if (isEqual(element.grid, newPos)) return; // only update if grid actually changed\n\n // Settles the new placement on the end of the drag gesture (when down is false)\n editorActions.updateMovingElement(newElement, movingElements);\n};\n\nexport default dragFunction;\n","import { animated, to, useSpring } from '@react-spring/web';\nimport { type PropsWithChildren, useEffect } from 'react';\nimport EditorRenderElement from 'editor/editor-elements/EditorRenderElement';\nimport DragHandle from './drag-handle/DragHandle';\nimport dragFunction from './dragFunction';\nimport { defaultFn, moveFn } from './springFunctions';\nimport { useDrag } from '@use-gesture/react';\nimport { useEditorStore } from 'stores/editorStore';\nimport { useActiveEditorStore } from 'stores/activeEditorStore';\nimport {\n type OwnElementType,\n elementsMap,\n type OwnElementId\n} from '@own.page/rendering';\n\nconst mapZIndex = (e: OwnElementType) => (elementsMap[e]?.zIndex || 0) + 20;\n\ntype DraggableElementProps = PropsWithChildren<{\n id: OwnElementId;\n}>;\n\nconst DraggableElement = (props: DraggableElementProps) => {\n const { id } = props;\n const sizeInfo = useActiveEditorStore((s) => s.sizeInfo);\n const element = useEditorStore((s) => s.page.elements[id]);\n const isSelected = useActiveEditorStore((s) => s.selectedElement === id);\n const isDragging = useActiveEditorStore((s) => s.draggingElement === id);\n\n const grid = element.grid;\n const [spring, api] = useSpring(() => moveFn(grid, sizeInfo), [sizeInfo]);\n\n useEffect(() => {\n // this subscribes the general page, so if somehow it is changed (e.g. by other elements moving)\n const unsubscribeReal = useEditorStore.subscribe(\n (s) => s.page.elements[id],\n (s) =>\n s && api.start(moveFn(s.grid, useActiveEditorStore.getState().sizeInfo))\n );\n\n // this subscribes to the active springs that are used to overwrite the page element temporarily\n const unsubscribeSpring = useActiveEditorStore.subscribe(\n (s) => s.elementSprings[id],\n (s) => {\n const state = useEditorStore.getState();\n const activeState = useActiveEditorStore.getState();\n const e = state.page.elements[id];\n if (e) {\n api.start({\n ...moveFn(\n e.grid,\n activeState.sizeInfo\n // state.draggingElement === id,\n // state.selectedElement?.id === id\n ),\n ...s\n });\n }\n }\n );\n return () => {\n unsubscribeReal();\n unsubscribeSpring();\n };\n }, []);\n\n const bind = useDrag(dragFunction, { preventDefault: false });\n\n return (\n `translate3d(${x}px, ${y}px, 0px)`\n ),\n zIndex: mapZIndex(element.type) + (isSelected ? 100 : 0),\n boxShadow: spring.shadow.to(\n // throws warning without max, cause s becomes negative!\n (s) => `rgba(0, 0, 0, .2) 0px ${s}px ${Math.max(15 * s, 0)}px -5px`\n ),\n backgroundColor: spring.shadow.to(\n (s) => `rgba(255, 255, 255, ${s * 0.05})`\n ),\n opacity: spring.scale.to((s) => Math.min(s, 1.0)),\n scale: spring.scale,\n width: spring.width.to((w) => `${w}px`),\n height: spring.height.to((h) => `${h}px`)\n // willChange: 'transform, scale'\n }}\n className={`draggable-element draggable own-element-${element.type} \n absolute rounded-xl \n data-[selected=false]:hover:!bg-black/10\n `}\n // hover:outline hover:outline-2 hover:outline-black/10\n data-dragging={isDragging}\n data-selected={isSelected}\n >\n {isSelected && }\n {props.children}\n \n );\n};\n\nconst FullDraggableElement = (props: DraggableElementProps) => {\n const element = useEditorStore((s) => s.page.elements[props.id]);\n\n // here we skip doing the drag object because this is the background\n if (element.type === 'background') {\n return ;\n }\n\n return (\n \n \n \n );\n};\n\nconst PassiveDraggableElement = (props: DraggableElementProps) => {\n const { id } = props;\n const sizeInfo = useActiveEditorStore((s) => s.sizeInfo);\n const element = useEditorStore((s) => s.page.elements[id]);\n const isSelected = useActiveEditorStore((s) => s.selectedElement === id);\n const isDragging = false; //useEditorStore((s) => s.draggingElement === id);\n\n const grid = element.grid;\n const [spring, api] = useSpring(() => moveFn(grid, sizeInfo), [sizeInfo]);\n\n useEffect(() => {\n const unsubscribeReal = useEditorStore.subscribe(\n (s) => s.page.elements[id],\n (s) =>\n s &&\n api.start(\n defaultFn(s.grid, useActiveEditorStore.getState().sizeInfo, true)\n )\n );\n\n // manually doing the same thing here to fix bug where it is not positioned correctly\n const grid = useEditorStore.getState().page.elements[id]?.grid;\n if (grid) {\n api.start(\n defaultFn(grid, useActiveEditorStore.getState().sizeInfo, true)\n );\n }\n\n return unsubscribeReal;\n }, []);\n\n return (\n `translate3d(${x}px, ${y}px, 0px)`\n ),\n zIndex: mapZIndex(element.type) + (isSelected ? 100 : 0),\n boxShadow: spring.shadow.to(\n // throws warning without max, cause s becomes negative!\n (s) => `rgba(0, 0, 0, .2) 0px ${s}px ${Math.max(15 * s, 0)}px -5px`\n ),\n backgroundColor: spring.shadow.to(\n (s) => `rgba(255, 255, 255, ${s * 0.05})`\n ),\n opacity: spring.scale.to((s) => Math.min(s, 1.0)),\n scale: spring.scale,\n width: spring.width.to((w) => `${w}px`),\n height: spring.height.to((h) => `${h}px`)\n }}\n className={`draggable-element draggable absolute rounded-xl own-element-${element.type} swiper-no-swiping`}\n data-dragging={isDragging}\n >\n {isSelected && }\n {props.children}\n \n );\n};\n\nexport const PassiveFullDraggableElement = (props: DraggableElementProps) => {\n const element = useEditorStore((s) => s.page.elements[props.id]);\n\n // here we skip doing the drag object because this is the background\n if (element.type === 'background') {\n return ;\n }\n\n return (\n \n \n \n );\n};\n\nexport default FullDraggableElement;\n","import {\n type PointerEventHandler,\n type PropsWithChildren,\n memo,\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef\n} from 'react';\nimport { usePreventScroll, useWindowSizeCallback } from 'utils/hooks';\nimport { useEditorStore, editorActions } from 'stores/editorStore';\nimport {\n Swiper,\n type SwiperClass,\n type SwiperRef,\n SwiperSlide,\n useSwiper\n} from 'swiper/react';\nimport 'utils/effect-comparison/effect-comparison.css';\n\nimport './EditorGrid.css';\n\nimport { isInitialOrModified, type ThemeName, themes } from 'themes';\nimport DraggableElement, {\n PassiveFullDraggableElement\n} from './dragging/DraggableElement';\nimport { a, useSpring } from '@react-spring/web';\nimport { FreeMode } from 'swiper/modules';\nimport { stiffness } from './dragging/springFunctions';\nimport { onboardingActions } from 'stores/onboardingStore';\nimport { isPlatform } from '@ionic/core';\nimport { useActiveEditorStore } from 'stores/activeEditorStore';\nimport { Scribble } from 'components/Scribble';\nimport {\n type GridArea,\n type OwnElement,\n type OwnElementId,\n RenderOwnStyle\n} from '@own.page/rendering';\nimport { useShallow } from 'zustand/react/shallow';\nimport { clamp } from 'utils/clamp';\nimport BackgroundGrid from './BackgroundGrid';\n\nexport type SizeInfo = {\n size: {\n width: number;\n height: number;\n };\n viewportToGrid: (grid: number) => number;\n viewportToElement: (grid: number) => number;\n elementToGrid: (grid: number) => number;\n gridToElement: (grid: number) => number;\n scalingFactor: number;\n};\n\nconst updateSizeInfoOnElement = (ref: HTMLElement) => {\n if (ref) {\n // requestAnimationFrame(() => {\n // editorActions.updateSizeInfo(null, ref);\n // });\n }\n};\n\nexport type EditorGridProps = {\n scrollRef?: React.RefObject;\n};\n\nconst scope = (renderID: string | number) => 'own-page-scope-' + renderID; // add space here just to be sure\n\ntype PosProps = { pos: GridArea };\n\nconst DragScribble = ({ pos }: PosProps) => {\n useEffect(() => {\n return useActiveEditorStore.subscribe(\n (s) => s.draggingElement !== null,\n () => {\n onboardingActions.hideScribble('hold-and-drag-to-move');\n }\n );\n }, []);\n\n const sizeInfo = useActiveEditorStore((s) => s.sizeInfo);\n\n return (\n <>\n {pos && (\n \n )}\n \n );\n};\n\nconst ThemeSwipeScribble = ({ pos }: PosProps) => {\n // useEditorStore and keep track of the 'draggingElement' state\n // When it changes, call onboardingActions.hideScribble with the 'hold-and-drag-to-move' type\n\n useEffect(() => {\n return useEditorStore.subscribe(\n (s) => s.page.style.name,\n () => {\n onboardingActions.hideScribble('swipe-to-change-design');\n }\n );\n }, []);\n\n const sizeInfo = useActiveEditorStore((s) => s.sizeInfo);\n\n return (\n <>\n {pos && (\n \n )}\n \n );\n};\n\nconst findMaxYElement = (elements: OwnElement[]) => {\n let maxElement;\n let maxY = -1;\n\n for (let i = 0; i < elements.length; i++) {\n const e = elements[i];\n const y = e.grid.y + e.grid.h;\n if (y >= maxY) {\n maxY = y;\n maxElement = e;\n }\n }\n\n return maxElement;\n};\n\nconst EditorScribbles = memo(() => {\n // we deliberately do not care if there are some internal changes it only has to work on startup\n // const allIds = useEditorStore((s) => s.page.elements.allIds);\n const noneBackgroundElements = Object.values(\n useEditorStore.getState().page.elements\n ).filter((e) => e.type !== 'background');\n\n const firstElement = noneBackgroundElements?.[0];\n const maxYElement = findMaxYElement(noneBackgroundElements);\n\n return (\n <>\n {firstElement && }\n {maxYElement && }\n \n );\n});\n\ntype EditorSectionProps = PropsWithChildren<{ root?: boolean }>;\nexport const EditorSection = (props: EditorSectionProps) => {\n return props.root ? (\n \n \n {props.children}\n \n ) : (\n
{props.children}
\n );\n};\n\nconst EditorElements = (props: { name: string; root?: boolean }) => {\n const allElementIds = useEditorStore(\n useShallow((s) => Object.keys(s.page.elements) as OwnElementId[])\n );\n\n const C = props.root ? DraggableElement : PassiveFullDraggableElement;\n\n return (\n \n {allElementIds.map((id) => (\n \n ))}\n \n );\n};\n\nconst ActionPadding: React.FC = () => {\n const padding = useActiveEditorStore((s) => s.activeTool?.addPadding);\n return padding ?
: <>;\n};\n\nconst ThemeRender = (\n props: PropsWithChildren<{\n theme: keyof typeof themes;\n root?: boolean;\n }>\n) => {\n const styleBackup = useEditorStore((s) => s.styleBackup);\n\n const isSelected = isInitialOrModified(props.theme);\n const theme = isSelected ? styleBackup : themes[props.theme];\n if (!theme.colors['background-gradient']) {\n theme.colors['background-gradient'] = 'var(--background-color)';\n }\n return (\n
\n \n \n {props.children}\n
\n \n );\n};\n\nconst ThemeNameDisplay = () => {\n const themeNameOrInitial = useEditorStore((s) => s.page.style.name);\n const themeName = isInitialOrModified(themeNameOrInitial)\n ? undefined\n : themeNameOrInitial;\n\n const [spring, api] = useSpring(() => ({\n opacity: 0\n }));\n\n useEffect(() => {\n return useEditorStore.subscribe(\n (s) => s.page.style.name,\n (s) => {\n if (!isInitialOrModified(s)) {\n api.start({ opacity: 1, config: stiffness });\n api.start({ opacity: 0, delay: 700 });\n }\n }\n );\n }, [api]);\n\n return (\n <>\n \n {themeName}\n \n \n );\n};\n\nconst mod = (n: number, m: number) => ((n % m) + m) % m;\n\nfunction transitionSlideEnd(swiper: SwiperClass) {\n if (Number.isNaN(swiper.progress)) return;\n\n swiper.el.classList.remove('transition-fx');\n\n const themeIndex = useEditorStore.getState().themeIndex;\n const themes = useEditorStore.getState().themes;\n\n const index = Math.round(swiper.progress * 2.0);\n\n const change = index - 1;\n const newIndex = mod(themeIndex + change, themes.length);\n\n if (themeIndex !== newIndex) {\n editorActions.updateTheme(newIndex);\n // swiper.setProgress(0.5);\n return true;\n }\n\n return false;\n}\n\nconst isIos = isPlatform('ios');\nconst IosBlockFullLeftRightSwipe = () => {\n return (\n isIos && (\n e.preventDefault()}\n >\n )\n );\n};\n\nconst [LEFT_SLIDE, CENTER_SLIDE, RIGHT_SLIDE] = [0, 1, 2];\n\n// const SlideIndicator = (props: { text: string | number }) => {\n// const preventScroll = useActiveEditorStore((s) => s.preventScroll);\n\n// return (\n//
\n// {Array.from({ length: 10 }).map((_, i) => (\n//
\n// {props.text} scroll {preventScroll ? 'block' : 'allowed'}\n//
\n// ))}\n//
\n// );\n// };\n\ntype ThemeSlideProps = PropsWithChildren<{\n themeName: ThemeName;\n zIndex: number;\n onPointerUp?: PointerEventHandler;\n onClick?: React.MouseEventHandler;\n onScroll?: () => void;\n root?: boolean;\n className?: string;\n}>;\n\nconst ThemeSlide = memo((props: ThemeSlideProps) => {\n const swiper = useSwiper();\n\n const onTransitionEnd = useCallback(() => {\n transitionSlideEnd(swiper);\n }, [swiper]);\n\n const isPreview = !props.root;\n\n return (\n \n {/* */}\n \n {props.children}\n \n \n );\n});\n// https:github.com/nolimits4web/swiper/issues/4084\nThemeSlide.displayName = 'SwiperSlider';\n\nconst DISABLE_CLIPPED_PREVIEWS = isPlatform('ios');\n\nconst PassiveInnerEditor = memo(() => {\n if (DISABLE_CLIPPED_PREVIEWS) return null;\n return ;\n});\n\nconst InnerEditor = memo(() => {\n usePreventScroll();\n\n return (\n <>\n \n \n {/* */}\n \n \n \n );\n});\n\nconst EditorGrid = () => {\n useWindowSizeCallback((size) => {\n editorActions.updateSizeInfo(size);\n });\n\n const swiperRef = useRef(null);\n const themeIndex = useEditorStore((s) => s.themeIndex);\n const themes = useEditorStore((s) => s.themes);\n const scalingFactor = useActiveEditorStore((s) => s.sizeInfo.scalingFactor);\n\n const prevThemeIndex = mod(themeIndex - 1, themes.length);\n const nextThemeIndex = mod(themeIndex + 1, themes.length);\n\n const prevTheme = themes[prevThemeIndex];\n const currTheme = themes[themeIndex];\n const nextTheme = themes[nextThemeIndex];\n\n // always center the swiper to show current theme\n useLayoutEffect(() => {\n const swiper = swiperRef?.current?.swiper;\n\n if (!swiper) return;\n if (swiper.activeIndex === CENTER_SLIDE) return;\n\n swiper.slideTo(CENTER_SLIDE, 0);\n }, [themeIndex]);\n\n const scrollSlides = useCallback(() => {\n const swiper = swiperRef?.current?.swiper;\n if (!swiper) return;\n const slides = swiper.slides;\n if (!slides || slides.length !== 3) return;\n\n // requestAnimationFrame(() => {\n const scrollPosition = slides[CENTER_SLIDE].scrollTop;\n\n slides[LEFT_SLIDE].scrollTop = scrollPosition;\n slides[RIGHT_SLIDE].scrollTop = scrollPosition;\n // });\n }, []);\n\n return (\n <>\n \n {\n // console.log('slide change', swiper.activeIndex);\n // }}\n style={\n {\n '--scalingFactor': scalingFactor\n } as object\n }\n id=\"editor-swiper\"\n modules={[FreeMode]}\n ref={swiperRef}\n freeMode={{\n enabled: true,\n sticky: true,\n momentumRatio: 0,\n momentumVelocityRatio: 1,\n momentumBounce: false\n }}\n shortSwipes={false}\n roundLengths={true}\n initialSlide={CENTER_SLIDE}\n loop={false}\n // loop={true}\n virtualTranslate={true}\n watchSlidesProgress={true}\n className=\"w-full h-full absolute flex items-center justify-center swiper-comparison\"\n slidesPerView={1}\n centeredSlides={false}\n touchStartForcePreventDefault={true}\n onSwiper={(swiper) => {\n // THIS SOLVES THE RECOVERY PROBLEM:\n swiper.slideTo(CENTER_SLIDE, 0);\n // trigger onSetTranslate once:\n // (so that all slides have the correct translate3d)\n swiper.setTranslate(0);\n\n // Add small delay to ensure Swiper is ready\n // THIS SOLVES THE THEME OPENING ISSUE:\n // requestAnimationFrame(() => {\n // swiper.slideTo(CENTER_SLIDE, 0);\n // });\n editorActions.setSwiper(swiper);\n }}\n onReachBeginning={(swiper) => {\n swiper.el.classList.add('transition-fx');\n }}\n onReachEnd={(swiper) => {\n swiper.el.classList.add('transition-fx');\n }}\n onTransitionStart={scrollSlides}\n onSetTranslate={(swiper, _translate) => {\n type SwiperSlides = HTMLElement & {\n progress: number;\n swiperSlideOffset: number;\n };\n const slides = swiper.slides as SwiperSlides[];\n\n // this happens when loading\n if (slides.length !== 3) return;\n\n // if we are on center slide, right slide or inbetween,\n // we fully clip the left side to make rendering more performant\n // const leftSlide = slides[0];\n // const leftSlideIgnored = leftSlide.progress > 1.0;\n\n // leftSlide.style.clipPath = leftSlideIgnored\n // ? 'inset(0 0 0 100%)'\n // : 'inset(0 0 0 0)';\n\n for (let i = 0; i < slides.length; i++) {\n const slideEl = slides[i];\n // const progress = slideEl.progress;\n const offset = slideEl.swiperSlideOffset;\n let tx = -offset;\n if (!swiper.params.virtualTranslate) tx -= swiper.translate;\n let ty = 0;\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n }\n\n slideEl.style.transform = `translate3d(${tx}px, ${ty}px, 0px)`;\n }\n\n const clippingSlide =\n slides[LEFT_SLIDE].progress < 1.0 ? LEFT_SLIDE : RIGHT_SLIDE;\n\n // clipping for all slides\n // for (let i = 0; i < slides.length; i++) {\n // we skip for center slide\n\n // if (i === CENTER_SLIDE) continue;\n\n // const slideEl = slides[clippingSlide];\n // const progress = slideEl.progress;\n // const offset = slideEl.swiperSlideOffset;\n // let tx = -offset;\n // if (!swiper.params.virtualTranslate) tx -= swiper.translate;\n // let ty = 0;\n // if (!swiper.isHorizontal()) {\n // ty = tx;\n // tx = 0;\n // }\n\n // slideEl.style.transform = `translate3d(${tx}px, ${ty}px, 0px)`;\n\n // if (i === CENTER_SLIDE) continue;\n\n // const slideOpacity = 1 + Math.min(Math.max(progress, -1), 0);\n // const slideOpacity = 1 + Math.min(Math.max(progress, -1), 0);\n // slideEl.style.opacity = 0.5;\n // slideEl.style.mixBlendMode = 'color';\n\n const slideEl = slides[clippingSlide];\n\n if (clippingSlide === LEFT_SLIDE) {\n const m = clamp(slideEl.progress, 0, 1);\n slideEl.style.clipPath = `inset(0 ${m * 100}% 0 0)`;\n slides[RIGHT_SLIDE].style.clipPath = 'inset(0 0 0 100%)'; // fully clip other side\n } else {\n const m = -clamp(slideEl.progress, -1, 0);\n slideEl.style.clipPath = `inset(0 0 0 ${m * 100}%)`;\n slides[LEFT_SLIDE].style.clipPath = 'inset(0 100% 0 0)'; // fully clip other side\n }\n }}\n onSetTransition={(swiper, transition) => {\n // 0 when user is moving the mouse\n if (transition === 0) return;\n\n // other value when user stopped pressing the mouse (=should auto animate)\n // this is then actually the same callback as onTransitionStart,\n // however, there is no information of the effects (as onSetTranslate is called before)\n swiper.el.classList.add('transition-fx');\n }}\n effect=\"comparison\"\n >\n \n \n \n\n {\n // // eslint-disable-next-line @typescript-eslint/no-explicit-any\n // if ((e as any).origin === 'dragFunction') return;\n // if (e.button !== 0) return;\n // editorActions.deselect();\n // }}\n onClick={(e) => {\n const t = e.target as HTMLElement;\n const onDraggable = t.classList.contains('draggable-element');\n const fromDragFunction =\n 'origin' in e && e.origin === 'dragFunction';\n if (!onDraggable && !fromDragFunction) {\n editorActions.deselect();\n }\n }}\n onScroll={scrollSlides}\n root\n >\n \n \n\n \n \n \n \n \n );\n};\n\nexport default EditorGrid;\n","import type { OwnPage } from \"@own.page/rendering\";\n\n/**\n * Serializes an OwnPage into a textual representation, currently just uses JSON.stringify\n * @param page the OwnPage that will serialized\n * @returns the textual representation of the page\n */\nexport function serialize(page: OwnPage) {\n return JSON.stringify(page);\n}\n\n/**\n * Deserializes an own.page from the raw, textual description into a JS object\n * @param rawPage the textual representaton of an own.page (coming for example from the local storage)\n * @returns JS object of the OwnPage\n */\nexport function deserialize(rawPage: string) {\n return JSON.parse(rawPage);\n}\n","import {\n type PropsWithChildren,\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useState\n} from 'react';\nimport { type RouteComponentProps, useHistory } from 'react-router-dom';\n\nimport './Editor.css';\nimport { useIonViewDidLeave, useIonViewWillEnter } from '@ionic/react';\nimport EditorGrid from 'editor/EditorGrid';\nimport { type Tool, editorTools } from 'editor/tools';\nimport { serialize } from 'utils/serialization';\nimport {\n editorActions,\n initialEditorState,\n useEditorStore\n} from 'stores/editorStore';\nimport { editorElementCallback } from 'editor/dragging/dragFunction';\nimport { MAX_PAGES } from 'utils/id';\nimport { Routes } from 'paths';\nimport { useOnboardingStore } from 'stores/onboardingStore';\nimport { Copy, PencilSimpleLine, Trash } from '@phosphor-icons/react';\nimport { useActiveEditorStore } from 'stores/activeEditorStore';\nimport ownHaptics from 'utils/ownHaptics';\nimport type { OwnElement } from '@own.page/rendering';\nimport {\n type MinimalPageHeaderProps,\n GoBackSaveButton,\n useOwnAlert,\n OwnUISubPage,\n OwnIcon\n} from 'ui';\nimport { useShallow } from 'zustand/react/shallow';\nimport { usePagesStore, isValidPageId } from 'stores/pages';\nimport { editorElementsMap } from 'editor/editor-elements';\n\ntype OwnElementMouseEvent = React.MouseEvent & {\n ownElement?: HTMLElement | null;\n};\n\nconst buttons = [\n {\n name: 'edit',\n // icon: 'ri-edit-line',\n icon: PencilSimpleLine,\n callback: (e: OwnElement) => {\n ownHaptics.light();\n editorElementCallback(e.type)?.(e);\n }\n },\n {\n name: 'duplicate',\n // icon: 'ri-file-copy-line',\n icon: Copy,\n callback: (e: OwnElement) => {\n ownHaptics.light();\n editorActions.deselect(); // deselect so people cannot spam duplicate\n editorActions.addElement(e, e);\n }\n },\n {\n name: 'delete',\n // icon: 'ri-delete-bin-line',\n icon: Trash,\n callback: (element: OwnElement, m: OwnElementMouseEvent) => {\n ownHaptics.light();\n // // used to offset the position of the actual editor grid on page\n const editorEl = document.getElementById('editor')!;\n const rect = editorEl.getBoundingClientRect();\n\n const elementPos = m.ownElement?.getBoundingClientRect() || {\n top: 0,\n left: 0\n };\n\n const centerWidth = element.grid.w * 0.5;\n const centerHeight = element.grid.h * 0.5;\n\n const sizeInfo = useActiveEditorStore.getState().sizeInfo;\n\n const x =\n sizeInfo.viewportToGrid(m.clientX - rect.left) -\n sizeInfo.gridToElement(centerWidth);\n const y =\n sizeInfo.viewportToGrid(m.clientY - elementPos.top) +\n sizeInfo.gridToElement(element.grid.y - centerHeight);\n\n editorActions.deselect();\n editorActions.springTo(\n element.id,\n {\n // config: config.stiff,\n scale: 0,\n x,\n y\n },\n false\n );\n setTimeout(() => editorActions.removeElement(element), 400);\n }\n }\n];\n/**\n * This component is used to display elements in the header of the editor\n * currently displays: edit, duplicate, and delete icon\n */\nconst HeaderEditorMenu: React.FC<{\n scrollRef: React.RefObject;\n}> = () => {\n const selectedElementId = useActiveEditorStore((s) => s.selectedElement);\n const elementsCount = useEditorStore((s) => s.elementsCount);\n\n const [lastSelectedElementId, setLastSelectedElementId] =\n useState(selectedElementId);\n\n // Update lastSelectedElementId whenever a new element is selected\n useLayoutEffect(() => {\n if (selectedElementId) {\n setLastSelectedElementId(selectedElementId);\n }\n }, [selectedElementId]);\n\n const lastOrSelect = selectedElementId ?? lastSelectedElementId;\n const ownElement = useEditorStore(\n (s) => lastOrSelect && s.page.elements[lastOrSelect]\n );\n\n if (lastOrSelect == null || ownElement == null) return null;\n\n // Filter out visible buttons that are disabled because the max instances of an element is reached\n const filteredButtons = buttons.filter((b) => {\n if (b.name === 'duplicate') {\n const currentCount = elementsCount[ownElement.type];\n const maxCount =\n editorElementsMap[ownElement.type].maxInstances ?? Infinity;\n return currentCount < maxCount;\n }\n return true; // Keep other buttons live\n });\n\n return (\n
\n {filteredButtons.map((b) => (\n {\n const state = useEditorStore.getState();\n const activeState = useActiveEditorStore.getState();\n const selectedId = activeState.selectedElement;\n\n if (selectedId) {\n const selectedElement = state.page.elements[selectedId];\n const ownDomElement = activeState.selectedDomElement?.draggable;\n\n b.callback(selectedElement, { ...e, ownElement: ownDomElement });\n }\n }}\n >\n {/* \n IMPORTANT:\n all child elements here need to have pointer-events-none so the elementFromPoint call works \n and always returns the parent element!\n */}\n {/* */}\n
\n \n
\n \n ))}\n
\n );\n};\n\ntype ToolbarProps = PropsWithChildren<{\n /** whether the UI should be hidden */\n hideUI: boolean;\n /** callback to change whether the UI is visible */\n setHideUI: (state: boolean) => void;\n}>;\n\n/**\n * The toolbar that shows the most important tools\n * @see tools\n * @param props @see ToolbarProps\n */\nconst Toolbar = (props: ToolbarProps) => {\n const deactivateTool = () => {\n editorActions.deactivateTool();\n props.setHideUI(false);\n };\n\n const activateTool = (t: Tool) => {\n editorActions.activateTool(t);\n t.onToolbarActivate?.(deactivateTool);\n editorActions.deselect();\n\n // hide UI, but only if it has not the alwaysShowUI prop set (as is case with ImageTool)\n if (!t.alwaysShowUI) {\n props.setHideUI(true);\n }\n };\n\n const activeTool = useActiveEditorStore((s) => s.activeTool);\n\n return (\n <>\n \n {editorTools.map((tool) => (\n {\n activateTool(tool);\n }}\n >\n {/* */}\n {tool.ToolbarIcon && }\n\n \n {tool.toolbarText ?? `Add ${tool.name}`}\n \n \n ))}\n \n\n {/* { Tool } */}\n {activeTool && (\n \n )}\n \n );\n};\n\nconst saveCallback = async (e: KeyboardEvent) => {\n if ((e.ctrlKey || e.metaKey) && e.key === 's') {\n e.preventDefault();\n await editorActions.savePage(false);\n }\n};\n\nconst EditorSaveButton: React.FC = (props) => {\n const out = useEditorStore((s) => s.lastSaved !== s.page);\n\n useEffect(() => {\n const keydownHandler = (e: KeyboardEvent) => saveCallback(e);\n document.addEventListener('keydown', keydownHandler);\n return () => document.removeEventListener('keydown', keydownHandler);\n }, []);\n\n const handleSave = async () => {\n await editorActions.savePage(true);\n };\n\n return ;\n};\n\n// const TempSaveButton: React.FC<{\n// callback: (proceedNavigation: () => void) => void;\n// }> = (props) => {\n// const showSaveButton = useEditorStore((s) => s.lastSaved !== s.page);\n\n// useEffect(() => {\n// document.addEventListener('keydown', saveCallback);\n// return () => document.removeEventListener('keydown', saveCallback);\n// });\n\n// return (\n// <>\n// {showSaveButton && (\n// props.callback(() => {})}\n// onClick={() => editorActions.savePage(false)}\n// >\n// \n// \n// )}\n// \n// );\n// };\n\n/**\n * The editor to create & edit an own.page\n * @param props @see RouteComponentProps\n * @param props.match includes page number using param \"idx\"\n */\nconst InnerEditor = (\n props: RouteComponentProps &\n PropsWithChildren<{\n scrollRef: React.RefObject;\n }>\n) => {\n const [hideUI, setHideUI] = useState(false);\n\n // const id = props.location.state?.id;\n\n const [showAlert, dismissAlert] = useOwnAlert();\n\n const swipeRef = useRef(null);\n\n // store pages in the end\n const onBackClick = useCallback(\n (proceedNavigation: () => void) => {\n const editorPage = useEditorStore.getState().page;\n\n if (Object.keys(editorPage.elements).length <= 1) {\n console.log('do not add page because its empty...');\n proceedNavigation();\n return;\n }\n\n if (editorPage === useEditorStore.getState().lastSaved) {\n console.log('already saved this page continue...');\n proceedNavigation();\n return;\n }\n\n const pageSizeInBytes = new Blob([serialize(editorPage)]).size;\n\n const sizeLimitInMegabytes = 1.5;\n const sizeLimitInBytes = sizeLimitInMegabytes * 1024 * 1024;\n const isTooBig = pageSizeInBytes > sizeLimitInBytes;\n\n const handlePublish = async (upload: boolean) => {\n await editorActions.savePage(upload);\n dismissAlert();\n proceedNavigation();\n };\n\n const handleDiscard = () => {\n dismissAlert();\n proceedNavigation();\n };\n\n if (isTooBig) {\n showAlert({\n message: `You cannot publish this page because it is larger than ${sizeLimitInMegabytes}MB.\\n\\nIn future updates, higher limits will be supported.`,\n cssClass: 'eye-alert whitespace-pre-wrap',\n backdropDismiss: false,\n buttons: [\n {\n text: \"Don't publish\",\n cssClass: 'own-secondary',\n handler: () => handlePublish(false)\n },\n {\n text: 'Cancel',\n role: 'cancel'\n }\n ]\n });\n return;\n } else {\n // handlePublish(true);\n showAlert({\n message: 'Save changes before leaving?',\n cssClass: 'eye-alert',\n backdropDismiss: false,\n buttons: [\n {\n text: 'Discard',\n cssClass: 'own-secondary',\n role: 'cancel',\n // handler: () => handlePublish(false)\n handler: handleDiscard\n },\n {\n text: 'Save',\n handler: () => handlePublish(true)\n }\n ]\n });\n }\n },\n [dismissAlert, showAlert]\n );\n\n const activeTool = useActiveEditorStore((s) => s.activeTool);\n\n // very dirty, but works to fix the scroll bug (scrolling is possible when screen is shown)\n useEffect(() => {\n if (props.scrollRef.current == null) {\n return;\n }\n if (activeTool) {\n props.scrollRef.current.style.maxHeight = '200%';\n props.scrollRef.current.style.overflow = 'hidden';\n } else {\n props.scrollRef.current.style.maxHeight = '';\n props.scrollRef.current.style.overflow = '';\n }\n }, [activeTool, props.scrollRef]);\n\n const hideUIWithTool =\n hideUI || (activeTool !== null && !activeTool.alwaysShowUI);\n\n return (\n \n {/* {!hideUIWithTool && } */}\n {!hideUIWithTool && }\n {props.children}\n\n \n\n {/*
*/}\n \n );\n};\n\nconst Editor = (\n props: RouteComponentProps\n) => {\n const scrollRef = useRef(null);\n\n return (\n \n \n \n );\n};\n\n/**\n * Boxes the editor inside the editor context\n * @param props @see RouteComponentProps\n * @param props.match includes page number using param \"idx\"\n */\nconst ContextEditor = (\n props: RouteComponentProps<\n object,\n object,\n { id?: string; newPage?: boolean; newUrl?: string }\n >\n) => {\n const id = props.location.state?.id;\n const newPage = props.location.state?.newPage;\n const newUrl = props.location.state?.newUrl;\n\n const editorPageId = useEditorStore((s) => s.page.id);\n const numberOfPages = usePagesStore(\n useShallow((s) => Object.keys(s.pages).length)\n );\n\n const histroy = useHistory();\n\n useIonViewWillEnter(() => {\n console.log('useIonViewWillEnter triggered', newPage, id, editorPageId);\n\n if ((newPage || id === undefined) && numberOfPages >= MAX_PAGES) {\n console.error('maximum of pages reached, navigating back', newPage, id);\n histroy.replace('/');\n return;\n }\n\n if (\n (newPage && numberOfPages < MAX_PAGES) ||\n (id !== undefined && id !== editorPageId)\n ) {\n const pages = usePagesStore.getState();\n const onboardingPage = useOnboardingStore.getState().onboardingPage;\n\n let currentPage;\n\n if (isValidPageId(id)) {\n // the page already exists, use it:\n currentPage = pages.pages[id];\n } else {\n // create a new page (either onboarding or initial):\n currentPage = onboardingPage || initialEditorState().page;\n\n // if we already got an url (from ui promt), use it:\n if (newUrl && newUrl !== '') {\n currentPage = {\n ...currentPage,\n url: newUrl,\n title: newUrl.charAt(0).toUpperCase() + newUrl.slice(1) // capitalize\n };\n }\n }\n\n console.log(\n 'useIonViewWillEnter triggered',\n editorPageId,\n id,\n isValidPageId(id),\n currentPage.id\n );\n console.log('load page:', currentPage.id);\n editorActions.loadPage(currentPage);\n } else {\n // here we are also in, if we are refreshing the website\n // console.error('opening editor in a state that should not happen!');\n }\n }, [newPage, newUrl, id, editorPageId]);\n\n useIonViewDidLeave(() => {\n editorActions.reset();\n }, []);\n\n return ;\n};\n\nexport default ContextEditor;\n","import { useState } from 'react';\nimport { useHistory } from 'react-router-dom';\n\nimport { createElementId } from 'utils/id';\n\nimport 'pages/auth/Register.css';\nimport { randomTheme } from 'themes';\nimport { onboardingActions } from 'stores/onboardingStore';\nimport { defaultHeight, editorActions } from 'stores/editorStore';\nimport { type OwnUser, withUser, type WithUserProps } from 'stores/userStore';\nimport type {\n OwnElement,\n OwnPage,\n Social,\n SocialID\n} from '@own.page/rendering';\nimport { OwnUISubPage, OwnUIInput2, OwnUIButton2 } from 'ui';\nimport CenterBox from 'components/CenterBox';\n\ntype SocialOptions = {\n id: SocialID;\n name: string;\n icon: string;\n label?: string;\n prefix?: string;\n};\n\ntype SubmittedSocialOptions = {\n submitted: string;\n} & SocialOptions;\n\nconst socialOptions: SocialOptions[] = [\n { id: 'instagram', name: 'Instagram', icon: 'ri-instagram-line' },\n { id: 'linkedin', name: 'LinkedIn', icon: 'ri-linkedin-fill' },\n { id: 'x', name: 'X', icon: 'ri-twitter-x-line' },\n // { name: 'Facebook', icon: 'ri-facebook-fill' },\n // { name: 'Phone number', icon: 'ri-phone-fill' },\n { id: 'github', name: 'Github', icon: 'ri-github-fill' }\n // {\n // id: 'email',\n // name: 'Email',\n // icon: 'ri-mail-line',\n // label: 'email address',\n // prefix: ' '\n // }\n // { name: 'Email', icon: 'ri-mail-fill', label: 'email address', prefix: ' ' }\n];\n// const socials = [\n// { name: 'Instagram', icon: 'ri-instagram-line' },\n// { name: 'LinkedIn', icon: 'ri-linkedin-box-fill' },\n// { name: 'X', icon: 'ri-twitter-x-fill' },\n// { name: 'Facebook', icon: 'ri-facebook-box-fill' },\n// { name: 'Phone number', icon: 'ri-phone-fill' },\n// { name: 'Email', icon: 'ri-mail-line' }\n// ];\n\nconst parseSocials = (\n event: React.FormEvent,\n _user?: OwnUser\n) => {\n // Prevent the browser from reloading the page\n event.preventDefault();\n // Read the form data\n const form = event.currentTarget;\n const formData = new FormData(form);\n\n console.log(formData);\n\n const filledOut: SubmittedSocialOptions[] = socialOptions\n .map((s) => ({\n ...s,\n submitted: (formData.get(s.name) || '') as string\n }))\n .filter((s) => s.submitted !== '');\n\n const submitted = filledOut.map((s) => ({\n id: s.id,\n username: s.submitted\n }));\n\n // removed: we do not include the email!\n // const email = user?.email || '';\n // const emailOption: Social = { id: 'email', username: email };\n\n // return [emailOption, ...submitted];\n return submitted;\n};\n\n// const font1: FontVariable = {\n// fontFamily: 'Montserrat, sans-serif',\n// // textTransform: 'uppercase',\n// // letterSpacing: '0.2em',\n// fontSize: '9em',\n// fontWeight: 200\n// };\n// const font2: FontVariable = {\n// fontFamily: 'Butler, serif',\n// fontSize: '36em',\n// fontWeight: 500,\n// // lineHeight: 1,\n// whiteSpace: 'pre-wrap'\n// };\n\n// const pickRandomColor = () => {\n// // const possibleColors = Object.values(colors);\n// // return possibleColors[Math.floor(Math.random() * possibleColors.length)][200];\n\n// const pastelColors = [\n// '#E6B8E8', // Soft Lavender\n// '#A5D6A7', // Mint Green\n// '#B3E0F2', // Powder Blue\n// '#FFC2D0', // Pale Pink\n// '#FFD8B2', // Peachy Orange\n// // '#FFF9C0', // Lemon Yellow\n// // '#D9D9D9', // Serene Gray\n// '#F3E0B5' // Sandy Beige\n// ];\n// return pastelColors[Math.floor(Math.random() * pastelColors.length)];\n// };\n\nconst createOnboardingPage = (socials: Social[] = []) => {\n console.log(socials);\n\n // const bgColor = pickRandomColor();\n\n const socialsElementArray: OwnElement[] =\n socials.length > 0\n ? [\n {\n id: createElementId(),\n type: 'socials',\n grid: { x: 0, y: 4, w: 6, h: 1 },\n props: {\n socials,\n color: 'var(--main-color)'\n },\n onboarding: true\n }\n ]\n : [];\n\n const backgroundElement: OwnElement = {\n id: createElementId(),\n type: 'background',\n grid: { x: 0, y: 0, w: 6, h: defaultHeight },\n props: {\n color: 'var(--background-color)'\n // image: \"https://alpha-storage-f7ef563091440-main.s3.eu-central-1.amazonaws.com/images/dominik/large_profile_better_wide_pincel_app.jpg\",\n // color: bgColor\n }\n };\n\n const imageElement: OwnElement = {\n id: createElementId(),\n type: 'image',\n grid: { x: 2, y: 0, w: 2, h: 2 },\n props: {\n src: null,\n stretch: true,\n layout: 'circle',\n align: { vertical: 'top' }\n },\n onboarding: true\n };\n\n const nameElement: OwnElement = {\n id: createElementId(),\n type: 'text',\n grid: { x: 0, y: 2, w: 6, h: 1 },\n props: {\n align: { horizontal: 'left' },\n fontVariable: 'Heading'\n },\n onboarding: true,\n content: 'Your Name'\n };\n\n const bioElement: OwnElement = {\n id: createElementId(),\n type: 'text',\n grid: { x: 0, y: 3, w: 6, h: 1 },\n props: {\n align: { horizontal: 'left', vertical: 'top' },\n fontVariable: 'Subheading'\n },\n onboarding: true,\n content: 'Bio...'\n };\n\n const sectionElements = [\n imageElement,\n nameElement,\n bioElement,\n ...socialsElementArray\n ];\n const sectionIds = sectionElements.map((e) => e!.id);\n\n const section = {\n id: 'home',\n // scaleup: 'shrink',\n background: backgroundElement.id,\n elements: [backgroundElement.id, ...sectionIds]\n };\n\n const allElements = [backgroundElement, ...sectionElements];\n\n const elements = allElements.reduce((acc, e) => ({ ...acc, [e.id]: e }), {});\n\n const page: OwnPage = {\n id: 'page:onboarding',\n url: 'onboarding',\n version: 'beta-1.0',\n style: randomTheme(),\n sections: { [section.id]: section },\n elements: elements\n };\n\n // TODO: verify if we should use this as return type or Partial\n return page as OwnPage;\n};\n\ntype StringObject = {\n [k: string]: string | undefined;\n};\n\nconst InnerOnboarding = withUser((props: WithUserProps) => {\n const history = useHistory();\n\n const finishOnboarding = (socialOptions?: Social[]) => {\n console.log('finishOnboarding', socialOptions);\n const onboardingPage = createOnboardingPage(socialOptions);\n onboardingActions.setOnboardingPage(onboardingPage);\n console.log('in finish onboarding');\n editorActions.navigateNewPage(history);\n };\n\n const [filledFields, setFilledFields] = useState({});\n\n // useLogout(() => {\n // setFilledFields({});\n // }, []);\n\n return (\n
\n \n Add your social media to your own.page\n
\n\n {\n const submittedSocials = parseSocials(e, props.user);\n finishOnboarding(submittedSocials);\n }}\n >\n \n {socialOptions.map((s, i) => (\n \n
\n \n
\n
\n {\n const newValue = event.target.value;\n\n if (newValue.trim() === '') {\n setFilledFields((f) => {\n const { [s.name]: _, ...rest } = f;\n return rest;\n });\n } else {\n setFilledFields((f) => ({\n ...f,\n [s.name]: newValue\n }));\n }\n }}\n >\n
\n
\n ))}\n \n\n
\n \n \n {Object.entries(filledFields).length === 0 ? 'Skip' : 'Next'}\n \n
\n \n \n \n );\n});\n\nconst Onboarding = () => (\n // \n \n \n \n \n \n);\n\nexport default Onboarding;\n","import { useEffect, useState } from 'react';\nimport OwnUIPage from 'ui/OwnUIPage';\nimport { OwnUIButton2 } from 'ui/OwnUIButton';\nimport Confetti from 'react-confetti';\n\n/**\n * Page that is returned after a successful payment for subscription\n */\nconst Confirmation = () => {\n const [showConfetti, setShowConfetti] = useState(true);\n\n useEffect(() => {\n const timer = setTimeout(() => setShowConfetti(false), 5000); // Stop confetti after 5 seconds\n return () => clearTimeout(timer);\n }, []);\n\n return (\n \n {showConfetti && }\n
\n

🎉

\n

Welcome to own.page Pro!

\n

\n Your subscription is officially activated, and you’re all set to\n explore everything our app has to offer. 🚀\n

\n
\n \n Go back to own.page\n \n
\n
\n
\n );\n};\n\nexport default Confirmation;\n","import { getPlatforms } from '@ionic/core';\nimport LoadingPage from 'components/LoadingPage';\nimport { db } from 'instantdb/db';\nimport { BACKEND_API } from 'paths';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport { useFetchOnce } from 'utils/hooks';\nimport { useState } from 'react';\nimport { Browser } from '@capacitor/browser';\n\nfunction Callback() {\n const location = useLocation();\n const navigate = useHistory().replace;\n const platforms = getPlatforms();\n\n const [isLoading, setIsLoading] = useState(true);\n\n const onError = (error: unknown) => {\n console.error('Auth failed', error);\n navigate('/claim?error=auth_failed');\n };\n\n useFetchOnce(\n () => {\n setIsLoading(true);\n Browser.close();\n\n try {\n const searchParams = new URLSearchParams(location.search);\n const error = searchParams.get('error');\n if (error) {\n throw new Error(error);\n }\n\n const code = searchParams.get('code');\n const state = searchParams.get('state');\n\n console.log('code', code);\n console.log('state', state);\n\n if (!code || !state) {\n throw new Error('Invalid callback');\n }\n\n const { username, codeVerifier, type } = JSON.parse(\n decodeURIComponent(atob(state))\n );\n\n return fetch(`${BACKEND_API}/auth/google`, {\n method: 'POST',\n mode: 'cors',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({\n code,\n codeVerifier,\n username,\n type,\n platforms\n })\n });\n } catch (error) {\n setIsLoading(false);\n return Promise.reject(error);\n }\n },\n async (response) => {\n try {\n if (!response || !response.ok) {\n throw new Error('Authentication failed');\n }\n\n const data = await response.json();\n await db.auth.signInWithToken(data.token);\n console.log('signed in');\n // navigate('/dashboard');\n setIsLoading(false);\n } catch (error) {\n setIsLoading(false);\n onError(error);\n }\n },\n (error) => {\n setIsLoading(false);\n onError(error);\n }\n );\n\n if (isLoading) {\n return (\n <>\n \n

Logging in...

\n
\n \n );\n }\n\n return null;\n}\n\nexport default Callback;\n","import {\n IonApp,\n IonRouterOutlet,\n setupIonicReact,\n createAnimation,\n isPlatform\n} from '@ionic/react';\nimport { IonReactRouter } from '@ionic/react-router';\nimport { Route } from 'react-router-dom';\nimport { App as CapApp } from '@capacitor/app';\n\n/* Core CSS required for Ionic components to work properly */\nimport '@ionic/react/css/core.css';\n/* Basic CSS for apps built with Ionic */\nimport '@ionic/react/css/normalize.css';\nimport '@ionic/react/css/structure.css';\nimport '@ionic/react/css/typography.css';\n/* Theme variables */\nimport 'theme/onlyLightVariables.css';\n/* ionic overwrites */\nimport 'theme/overwrites.css';\n// /* Remix Icons */\nimport 'remixicon/fonts/remixicon.css';\n\n// /* ownpage */\nimport '@own.page/rendering/styles/ownpage.css';\n\nimport { Routes } from 'paths';\n\nimport { FallbackRoute, PrivateRoute, PublicRoute } from 'components/Routes';\nimport { AppNav } from 'components/AppNav';\n\nimport Checkout from 'subscription/StripeCheckout';\nimport Claim from 'pages/auth/Claim';\nimport AccountSettings from 'pages/AccountSettings';\nimport Analytics from 'pages/Analytics';\nimport Login from 'pages/auth/Login';\nimport Register from 'pages/auth/Register';\nimport Dashboard from 'pages/Dashboard';\nimport Community from 'pages/CommunityDiscord';\nimport Editor from 'pages/Editor';\nimport Onboarding from 'pages/Onboarding';\nimport Confirmation from 'subscription/Confirmation';\nimport type { IonicConfig } from '@ionic/core';\nimport Callback from 'pages/auth/Callback';\n\n// import { isPlatform, type IonicConfig } from '@ionic/core';\n\nconst platformClass = isPlatform('ios') ? 'ios' : '';\n/**\n * The root react element of the application\n * @returns the app component, containing the full own.page app\n */\nconst App: React.FC = () => {\n // Listen for deep links\n CapApp.addListener('appUrlOpen', (data: { url: string }) => {\n // Parse the URL\n const urlObj = new URL(data.url);\n\n // If it's our auth callback\n if (urlObj.hostname === 'auth' && urlObj.pathname === '/callback') {\n // Navigate to the callback route with the params\n window.location.href = `/auth/callback${urlObj.search}`;\n }\n });\n\n // // used to fix routing problems, where the hardware back button didn't work\n // // TODO: verify this problem still exists without it\n // CapacitorApp.addListener('backButton', ({ canGoBack }) => {\n // if (canGoBack) {\n // ionRouter.goBack();\n // } else {\n // CapacitorApp.exitApp();\n // }\n // });\n return (\n \n \n \n\n \n \n \n \n \n\n \n\n \n \n \n \n \n \n \n\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n\n \n \n \n \n \n \n );\n};\n\n// Source: https://ionicframework.com/docs/developing/config\nconst getConfig = () => {\n const config: IonicConfig = {\n // animated: false,\n rippleEffect: false,\n mode: 'md',\n // actually it should be like this: (use animation on mobile, none on desktop)\n // navAnimation: isPlatform('desktop') ? () => createAnimation() : undefined\n\n // but this looks way better (no nav on mobile, but on desktop):\n // navAnimation: isPlatform('mobile') ? () => createAnimation() : undefined\n\n navAnimation: () => createAnimation()\n // navAnimation: undefined\n };\n\n /*if (isPlatform('iphone')) {\n config = {\n ...config,\n backButtonText: \"Previous\",\n };\n }*/\n\n return config;\n};\n\nsetupIonicReact(getConfig());\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://cra.link/PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(import.meta.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${import.meta.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://cra.link/PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://cra.link/PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch((error) => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then((registration) => {\n registration.unregister();\n })\n .catch((error) => {\n console.error(error.message);\n });\n }\n}\n","import 'init';\nimport { createRoot } from 'react-dom/client';\nimport App from './App';\nimport * as serviceWorkerRegistration from './serviceWorkerRegistration';\nimport reportWebVitals from './reportWebVitals';\nimport { defineCustomElements } from '@ionic/pwa-elements/loader';\nimport { StrictMode } from 'react';\n\nimport 'theme/tailwind.css';\n/**\n * Main entry point of the application,\n * it uses the App component\n * @see App\n * we use strict mode here, that is the reason why components render\n * twice\n * @see https://react.dev/reference/react/StrictMode\n */\nconst root = createRoot(document.getElementById('root') as HTMLElement);\nroot.render(\n \n \n \n);\n\n// reportWebVitals();\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://cra.link/PWA\n// serviceWorkerRegistration.register();\nserviceWorkerRegistration.unregister();\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n\n// Call the element loader after the app has been rendered the first time\ndefineCustomElements(window);\n"],"names":["__vite_import_meta_env__","ICONS_PATH","BACKEND_API","basicRoutes","fallbackRoutes","Routes","db","init","initialState","useUserStore","create","set","_get","reset","userActions","_history","err","dbConnectRead","auth","query","res","profile","_a","user","useUser","s","withUser","Component","props","jsx","FALLBACK_AVATAR","Avatar","avatarUsername","ICON_SIZE","isPlatform","OwnIcon","Icon","useSubscription","_b","querySubscription","_c","isProUser","subscription","OwnUIHeader","_props","router","useIonRouter","isPro","history","useHistory","openContextMenu","setOpenContextMenu","useState","contextMenu","GearSix","SignOut","useEffect","IonHeader","jsxs","Fragment","m","GoBackButton","ionRouter","backClick","useCallback","navigateBack","CaretLeft","GoBackSaveButton","FloppyDisk","OwnUIMinimalHeader","BackgroundElement","background","HEIGHT_DEFINING_CLASS","gridToStyle","p","mapVertical","defaultTextAlign","defaultTextAlignOneline","defaultImageAlign","defaultLineAlign","grid","alignToStyle","defaultAlign","a","align","OwnTile","InnerOwnTile","children","className","rest","borderOptions","ImageElement","border","borderRadius","stretch","src","pos","_d","image","CardLayout","ArrowRight","SquareLinkIconLayout","Layout","layoutMapping","LinkLayoutCard","LinkLayoutIcon","LinkLayoutText","_minDimensions","FALLBACK_IMAGE","minDimensions","LinkElement","Ll","link","Basic","Circle","FilledCircle","maskID","socialInfo","socialLink","iconTypeMap","InnerTextIcon","SocialIcon","utf8","SocialsElement","color","socials","TextElement","text","FadeIn","ref","inView","useInView","C","animated","withAnimation","animationSettings","Tl","Il","r","n","t","O","au","nt","zc","Sl","V","i","u","c","d","f","o","_","b","M","J","md","_t","vd","gt","hd","iu","Ee","D","h","Fl","Nl","Cl","Hl","Al","Qc","l","yl","Rl","Ql","zl","ql","Sr","Zl","Vc","Vl","Jl","Bl","Ul","Gl","Xl","w","uu","cu","pl","Kl","su","e0","kl","bt","t0","r0","c0","n0","a0","i0","qi","u0","du","Ot","f0","s0","d0","m0","o0","l0","fu","Je","xe","Pe","ie","v0","h0","gd","b0","_0","g0","$0","O0","D0","Zc","Bc","M0","ou","Le","He","P0","w0","R","T0","j0","$t","E0","I0","Y0","Uc","x0","S0","Gc","Yr","C0","W0","F0","N0","R0","L0","H0","Xc","A0","q0","y0","z0","Bt","Z0","Q0","V0","Ut","U0","B0","lu","X0","G0","Mt","K0","J0","mu","k0","p0","bd","em","St","Od","vu","tm","Jc","rm","hu","am","Kc","nm","sm","im","um","cm","_u","dm","pc","$d","mm","fm","om","lm","sr","vm","kc","Md","hm","es","re","gm","_m","Dd","Om","bm","wd","Wr","Mm","$m","rs","Ae","gu","Dm","jm","wm","Pm","Sm","Tm","ts","Im","Em","ns","xm","bu","Wm","Ym","as","Pd","Cm","is","Fm","Nm","us","Gt","Hm","Lm","Ou","$u","Rm","Am","zm","ym","cs","Xt","Vm","ss","qm","Qm","ds","Jt","Bm","Zm","Kt","Xm","Um","Gm","fs","pt","Re","Jm","ev","Km","pm","km","jd","Mu","tv","rv","uv","nv","os","av","iv","kt","cv","ls","en","ov","sv","dv","fv","Dt","Du","rn","mv","lv","tn","hv","vv","Ov","_v","gv","bv","wv","$v","Qi","Mv","Dv","Td","Tv","Pv","jv","wt","xv","Iv","Ev","Id","Wv","Sv","Yv","wu","Cv","Fv","ms","Nv","Pu","Se","Hv","Lv","yv","Av","Rv","Ed","Qv","zv","qv","xd","Uv","Vv","Zv","Bv","Sd","Jv","Gv","Xv","Yd","nn","pv","Kv","th","kv","eh","rh","Yt","Wd","uh","nh","ah","ih","Wt","an","oh","ch","sh","dh","fh","Fd","Pt","mh","lh","gh","vh","hh","_h","Nd","ju","Oh","bh","un","Mh","$h","jh","Dh","wh","Ph","Cd","Eh","Th","Ih","Ld","Sh","xh","Hd","Wh","Yh","Ad","Tu","Ch","Fh","Nh","Hh","Lh","Rd","zh","Ah","Rh","yh","yd","Qh","qh","zd","Zh","Vh","qd","Uh","Bh","Qd","Xh","Gh","Vd","Jh","vs","Zd","kh","Kh","ph","Iu","dr","Eu","xu","e_","r_","Su","Bd","t_","Vi","n_","a_","i_","Yu","u_","c_","Wu","Ud","s_","it","d_","f_","o_","l_","m_","v_","h_","Fu","Gd","__","b_","g_","Xd","O_","ut","$_","M_","D_","w_","P_","j_","T_","I_","E_","x_","S_","Y_","W_","F_","N_","C_","L_","H_","Nu","Cu","z_","A_","R_","y_","cn","B_","q_","Q_","V_","Z_","sn","dn","jt","X_","U_","hs","_s","G_","eg","J_","K_","p_","k_","ig","rg","tg","ng","ag","fr","ug","fn","Ve","cg","sg","dg","fg","og","X","Ze","Pr","bs","ur","gs","on","Os","Jd","lg","Tt","_g","gg","bg","mg","vg","hg","Og","x","$","ce","se","ve","he","B","K","z","de","W","G","T","_f","_e","ue","_j","_i","ne","le","y","q","me","j","be","Lu","Tg","$g","Mg","$s","Dg","wg","jr","Pg","jg","Hu","Wg","Ig","Eg","xg","Ms","Sg","Yg","Be","Kd","Cg","Fg","Ng","pd","Ag","Lg","Hg","kd","qg","Rg","yg","zg","ef","Vg","Ue","Qg","rf","Ug","Tr","Zg","Bg","tf","Gg","nf","Kg","Ge","Xg","Jg","af","tb","Ft","pg","kg","eb","rb","uf","sb","nb","ab","ib","ub","cb","cf","fb","Au","lb","ob","It","vb","mb","Ru","gb","hb","sf","yu","Ob","bb","Db","$b","Mb","df","Pb","wb","zu","Tb","jb","ff","Eb","Ib","qu","Sb","xb","of","Fb","Yb","Wb","Ds","lf","Cb","Nb","mf","Hb","Lb","vf","Rb","Ab","hf","zb","ws","yb","Nt","Qb","qb","gf","Zb","Vb","bf","Ub","Bb","Of","kb","Gb","Xb","Jb","Kb","pb","$f","Qu","e1","Ps","i1","r1","t1","n1","a1","Mf","c1","u1","Df","d1","s1","wf","o1","f1","Pf","m1","l1","jf","h1","v1","Tf","w1","_1","ct","g1","b1","O1","$1","M1","D1","If","j1","P1","T1","Ef","E1","I1","nr","Zi","js","Bi","Ts","Ui","Is","Es","Gi","xf","x1","xs","Sf","S1","Ss","Yf","Y1","Ys","Wf","W1","Ff","N1","F1","Nf","L1","C1","Cf","A1","H1","Lf","Vu","Xe","Zu","y1","R1","z1","Ws","q1","Q1","Bu","V1","Z1","Uu","Gu","L","B1","U1","G1","X1","Xu","Y","ee","rO","nO","J1","tO","p1","k1","eO","ge","K1","Xi","Ne","aO","Ir","iO","Ju","uO","Fs","cO","Er","sO","Ku","dO","fO","oO","Ns","lO","pu","mO","Cs","vO","ku","hO","_O","gO","ec","bO","OO","$O","rc","MO","DO","st","wO","tc","PO","jO","dt","TO","nc","ac","EO","IO","Ls","xO","SO","YO","WO","Hs","FO","ic","uc","LO","NO","CO","HO","AO","RO","yO","As","zO","cc","qO","QO","Ji","VO","ZO","BO","sc","UO","GO","Ki","XO","dc","Et","kO","JO","KO","pO","e$","r$","t$","fc","n$","a$","pi","i$","oc","u$","c$","ki","s$","lc","mc","l$","d$","f$","o$","m$","v$","ft","h$","vc","_$","g$","b$","hc","O$","$$","M$","D$","w$","P$","gc","j$","T$","Rs","I$","bc","E$","x$","ys","S$","Oc","Y$","W$","zs","F$","$c","N$","C$","qs","L$","Mc","H$","A$","Qs","R$","Dc","y$","z$","Vs","q$","wc","Q$","Zs","V$","Pc","Z$","B$","ot","U$","lt","G$","jc","X$","J$","mt","K$","vt","p$","Tc","k$","eM","rM","tM","Ic","nM","aM","iM","uM","cM","sM","dM","fM","oM","lM","mM","vM","hM","_M","gM","bM","OM","$M","MM","DM","wM","PM","jM","TM","IM","EM","xM","SM","YM","WM","FM","NM","CM","LM","HM","Oe","$e","Me","De","je","I","N","A","fe","Q","yM","AM","RM","Hf","qM","zM","Af","VM","QM","Ec","xc","BM","ZM","GM","UM","Bs","Sc","ln","JM","XM","Us","pM","KM","Rf","eD","Gs","kM","Yc","Wc","tD","rD","nD","Xs","Fc","iD","aD","Nc","cD","uD","Js","Cc","Lc","dD","sD","fD","Ks","Hc","lD","oD","yf","_D","mD","vD","hD","zf","$D","gD","bD","OD","qf","wD","MD","DD","Qf","ID","PD","jD","TD","Vf","YD","ED","xD","SD","Zf","ND","WD","FD","Bf","AD","CD","LD","HD","Uf","qD","RD","yD","zD","Gf","VD","QD","Xf","GD","ZD","BD","UD","Jf","pD","XD","JD","KD","Kf","ew","kD","pf","tw","rw","kf","nw","eu","eo","xt","iw","aw","fw","uw","cw","sw","dw","ro","ow","ps","to","Ac","vw","lw","mw","_w","hw","no","$w","gw","bw","Ow","ao","Dw","Mw","io","Pw","ww","uo","co","jw","ks","so","Iw","Tw","fo","xw","Ew","oo","Yw","Sw","lo","Fw","Ww","mo","Cw","Nw","vo","Hw","Lw","ho","Rw","Aw","_o","zw","yw","ye","Vw","qw","Qw","go","Bw","Zw","bo","Gw","Uw","Oo","Jw","Xw","$o","pw","Kw","Mo","e2","kw","Do","t2","r2","wo","a2","n2","Po","u2","zt","i2","ed","f2","o2","l2","m2","v2","Ct","c2","s2","d2","ht","O2","h2","g2","b2","ru","$2","M2","_2","jo","To","D2","rd","ze","j2","w2","P2","Io","I2","T2","Eo","x2","E2","xo","Y2","S2","So","F2","W2","Yo","C2","N2","Wo","H2","L2","Fo","R2","A2","No","z2","y2","Co","Q2","q2","Lo","U2","V2","Z2","B2","Ho","K2","G2","X2","J2","Ao","k2","p2","Ro","rP","eP","yo","nP","tP","zo","mn","cP","aP","iP","uP","oP","sP","dP","fP","qo","mP","lP","Qo","hP","vP","Vo","_P","td","Zo","bP","gP","Bo","$P","OP","Uo","DP","MP","Go","jP","wP","PP","Xo","IP","TP","Jo","WP","EP","xP","SP","nd","YP","Ko","CP","FP","NP","po","HP","LP","ko","RP","AP","el","qP","yP","zP","rl","QP","ad","tl","Rc","ZP","VP","XP","BP","UP","GP","nl","KP","JP","al","kP","pP","il","rj","ej","ul","nj","tj","cl","ij","aj","sl","cj","uj","dl","dj","sj","fl","oj","fj","ol","mj","lj","ll","hj","vj","ml","gj","vl","Oj","bj","e","Ye","Fr","Nr","qe","We","or","lr","Qe","Cr","Lr","Ke","Hr","Ar","mr","vr","Fe","Rr","hr","_r","pe","yr","zr","qr","Qr","Vr","Zr","Br","ke","gr","Te","er","rr","br","Ur","Or","Gr","$r","Mr","Xr","Jr","Dr","wr","Kr","pr","kr","et","v","g","P","F","H","S","E","Z","U","oe","Ie","we","te","tr","rt","tt","_n","gn","bn","On","$n","Mn","Dn","wn","Pn","jn","Tn","In","En","xn","Sn","Yn","Wn","Fn","Nn","Cn","Ln","Hn","An","Rn","yn","zn","qn","Qn","Vn","Zn","Bn","Un","Gn","Xn","Jn","Kn","pn","kn","ea","ra","ta","na","aa","ia","ua","ca","sa","da","fa","oa","la","ma","va","ha","ga","ba","Oa","$a","Ma","Da","wa","Pa","ja","Ta","Ia","Ea","xa","Sa","Ya","Wa","Fa","Na","Ca","La","Ha","Aa","Ra","ya","za","qa","Qa","Va","Za","Ba","Ua","Ga","Xa","Ja","Ka","pa","ka","ei","ri","ti","ni","ai","ii","ui","ci","si","di","fi","oi","li","mi","vi","hi","gi","bi","Oi","$i","Mi","Di","Pi","ji","Ti","Ii","Ei","xi","Si","Yi","Wi","Fi","Ni","Ci","Li","Hi","Ai","Ri","yi","zi","Ce","ae","k","yc","tu","hl","$j","Mj","_l","Dj","wj","Pj","jj","Tj","Ij","qt","ar","Ej","xj","Sj","Yj","Wj","Fj","Nj","Cj","Lj","id","Qt","ir","vn","Hj","cr","gl","bl","nu","Aj","Vt","Rj","yj","Ol","zj","qj","Qj","Zt","$l","Ml","ud","Vj","Zj","Dl","ld","Bj","Uj","Gj","Xj","Jj","cd","Kj","pj","sd","kj","eT","wl","rT","dd","tT","nT","xr","aT","Lt","iT","xl","uT","hn","El","fd","Pl","jl","cT","Ht","sT","dT","fT","oT","At","lT","mT","vT","hT","Rt","od","_T","gT","bT","yt","OT","PT","toOwnTile","transformDimensions","dimensions","toValue","name","modified","widgets","_key","widget","owntiles","elementsMap","Tile","getMinimumDimensions","element","getImageUrl","clamp","min","max","arrayToObjectById","items","keySelector","acc","item","index","key","CURRENT_VERSION","clampDimensionsBeta01","clampDimensions","migrateBeta01To02","page","updatedFonts","font","newKey","clampDimension","fontSize","newFontSize","updatedElements","currElement","fontVar","updatedElementsObject","migrateBeta02To03","fontSizeInPx","fontSizeIn16PxEm","migrateBeta03To1","migrateBeta10To11","migrations","migrateIfOutdated","currentPage","migrationFunction","GRID_COLUMNS","FULL_WIDTH","computeScaleFactor","width","useScaleFactor","scale","setScale","useResize","useMemo","sectionIDs","sectionsName","Section","regex","kebabCase","str","cssToText","cssObject","accumulator","cssKey","cssValue","generateFontDefinitions","style","scope","root","generateColorVariables","colorVars","RenderOwnStyle","RenderElement","useOnce","ChromeHack","CustomIframe","fallbackIframeRef","useRef","iframeRef","mountHead","mountBody","isIframeLoaded","setIsIframeLoaded","frameLoaded","state","headDoc","bodyDoc","createPortal","RenderPage","sections","frameWindowRef","scaleFactor","IFrame","section","elementId","getFirstSection","getBackgroundOf","theme","initialTheme","initial","initialThemeName","isInitial","isInitialOrModified","rawThemes","moon","venus","saturn","uranus","mars","mars2","jupiter","mercury","neptune","earth","pluto","pluto2","ceres","charon","dione","titan","deepMerge","target","source","output","applyDefault","themes","getKeys","obj","themeList","randomTheme","withoutInitial","BackgroundGridSVG","svgRef","dragging","useActiveEditorStore","BackgroundGrid","editorElementOf","additional","providedElementInfo","EditorElement","editorBackground","socialsHeightCalculation","sizeInfo","heightDefiningElement","heightInPx","editorSocials","EditorOwnTile","calculateAspectRatio","height","getImageClipping","img","gridSize","imageAspectRatio","gridAspectRatio","normalClippingCase","BackgroundClippingImage","clippingDirection","imageRef","spring","EditorImageElement","clippingRef","measureRef","bounds","useMeasure","setClippingDirection","api","useSpring","useLayoutEffect","inverseScale","bind","useDrag","down","mx","my","last","event","tap","clickTarget","clickEvent","clippingWidth","clippingHeight","imgWidth","imgHeight","scaledX","scaledY","springX","springY","editorImage","editorLink","TEXT_PLACEHOLDER","isIos","scrollToBottom","container","browserSanitize","unsanitized","isNative","Placeholder","showPlaceholder","setShowPlaceholder","IosPlaceholder","EditContent","createRef","evt","textField","preview","withoutPlaceholder","newText","sanitizeHtml","childText","range","sel","isCaretAtEnd","selection","endContainer","lastNode","onboardingPlaceholder","ContentEditable","currentNode","newLine","newLine2","textHeightCalculation","EditorTextElement","innerRef","editorText","ownTileInfo","editorOwntiles","editorElementsMap","ignoreElement","getHeightDefiningElement","getEditorHeightOverwrite","callback","calculateSizeInfo","size","dragWidth","viewportWidth","GRID_UNIT","scalingFactor","scaledGridUnit","inverseScalingFactor","inverseGridUnit","px","innerUpdateSizeInfo","fallback","_editorRef","_set","_useEditorStore","subscribeWithSelector","get","updateSelection","htmlElement","innerElement","deselect","updateSizeInfo","editorRef","springTo","merge","springAll","resetTimeout","timeout","newTimeout","disableThemeSwiping","swiper","allowThemeSwiping","_activateEditorActions","draggingElement","isOwnPageId","createPageId","MAX_COUNTER","counter","createElementId","base36String","INITIAL_ELEMENT_ID","MAX_PAGES","emojis","createEmojiId","usedEmojis","freeEmojis","ignoreNoSupportError","ownHaptics","Haptics","ImpactStyle","isEqual","lastOverlap","intersect","leftX","rightX","topY","bottomY","union","optionalUnion","totalOverlap","moving","elements","overlap","overlapArea","makeSpace","overlappingArea","moveDownByY","result","lastGrid","prev","curr","prevBottom","currBottom","prevRight","placeElement","unplaced","clone","origin","newElement","findConsecutiveSequences","numberSet","numbers","sequences","start","rows","calculateChanges","allElements","movingElements","collapseSpaces","lastGridRow","gridHeight","emptyRows","rowsToMove","newHeight","initialY","newY","createMutators","zustandSetter","createUpdater","path","proxy","prop","value","currentState","current","lastProp","currentValue","URL_MAX_LENGTH","HOME_TITLE","HOME_URL","HOME_PAGE_ATTRIBUTES","isValidPageId","usePagesStore","cleanUpUrl","usePage","DOMAIN_NAME","getUserString","getPageEnding","getUrlString","getPageString","computeVCard","_user","inputs","twMerge","clsx","InputOTP","React.forwardRef","containerClassName","OTPInput","InputOTPGroup","InputOTPSlot","inputOTPContext","React.useContext","OTPInputContext","char","hasFakeCaret","isActive","InputOTPSeparator","CenterBox","rerender","InnerOwnUIButton2","onClick","type","secondary","small","OwnUIButton2","href","Link","generateRandomString","length","array","byte","generateCodeVerifier","generateCodeChallenge","verifier","data","hash","sha256","isNativeApp","OAUTH_REDIRECT_URI","openWebsite","url","Capacitor","Browser","CustomGoogleAuth","handleOAuthSignIn","codeVerifier","codeChallenge","googleAuthUrl","OwnUIInput2","prefix","inputRef","prefixClassName","useOwnAlert","showAlert","dismiss","useIonAlert","options","useOwnToast","present","useIonToast","message","ErrorText","sendDiscordMessage","EMAIL_REGEX","getFormattedDate","sendRegistrationDiscordMessage","username","sentEmail","messages","randomMessage","sendMagicCodeToEmail","email","presentError","setSentEmail","MagicCodeRegister","code","setCode","resent","setResent","handleSubmit","registeredUser","tx","getPlatforms","error","codeFull","emailUsed","newUsername","AccountCreation","Finalize","setEmail","errorText","setErrorText","Register","location","inProgress","setInProgress","useIonViewWillEnter","registerProps","OwnUISubPage","LoadingPage","Footer","subscribe","rawPages","ownPages","cleanUpImageUrls","urls","usedImageUrls","addPage","updatePage","deletePage","imageUrls","pages","urlSet","storage","add","upload","isIndex","replacePageInfo","createEmojiPageInfo","pageInfo","newPage","update","remove","pagesList","setAsHomePage","skipOldUpdate","currentHomePage","notHomeAnymorePage","newHomePage","rename","title","onSuccess","onError","cleanedUpUrl","pagesMatchingUrl","titles","emojiId","hydrate","migratedPages","newState","pagesActions","algorithm","defaultHeight","initialPageId","initialStyle","getElementCount","backgroundId","persist","createJSONStorage","useEditorStore","updateBackgroundHeight","maxHeight","backgroundHeight","updateElementsWithBackground","updatedBackground","addElement","elementID","minimumDimensions","elementsMovedAndNew","dangerousUpdateElement","updateMovingElement","movingElement","movedElements","elementsCollapsed","dangerousUpdateMovedElements","placedElements","updateElement","changedElements","updateElementFromTool","removeElement","_removedElement","newById","newElements","updateDomDimensions","parentElement","newH","shift","arr","from","indexNew","indexOld","withoutI","insertInto","reorderThemes","updatePageStyle","unnamedStyle","updateColorVarsStyle","colorVariable","newColor","colors","updatedColors","newStyle","updateFontVarsStyle","fontVariable","newFontStyle","fonts","updateTheme","automaticReplacement","localUrl","serverUrlPromise","serverUrl","addImageUpload","removeImageUpload","_delete","imageUploadsWithout","_editorActions","resetState","themeIndex","newUrl","pageObject","imageUploads","editorPage","lastSaved","editorActions","isDebug","pageBackground","OwnUIPage","IonPage","IonContent","RawSpinner","debug","UserDebug","routeType","PublicFallback","Redirect","PrivateFallback","PublicRoute","isLoading","Route","PrivateRoute","FallbackRoute","navItems","HouseSimple","UsersThree","ChartLine","logoURL","navSet","AppNav","selected","Checkout","clientSecret","setClientSecret","useTimeout","timeInMilliseconds","timeoutRef","resolve","transformUsername","USERNAME_FORBIDDEN_CHARACTERS_REGEX","NEXT_PAGE","SmallLoader","fetchUsernameAvailability","cleanUsername","rawUsername","autoFocus","InnerClaim","hasUser","linkRef","focusFirst","useIonViewDidEnter","handleUsernameChange","isAvailable","FingerprintSimple","Claim","setUsername","setState","_inProgress","passedUserName","PageBox","features","renderIcon","Check","ComparePlans","feature","MONTHLY_PRICE","YEARLY_PRICE","PlansPricing","selectedPlan","setSelectedPlan","CheckCircle","SubscriptionPlans","modal","closeModal","setPricingOpened","pricingOpened","IonModal","IonToolbar","IonButtons","IonTitle","fetchImagePromises","lastFetchImageId","cleanupLocalImage","DEFAULT_PROMPT_SOURCE","CameraSource","fetchImages","cleanupImage","fetchImageId","promtSource","checkPermissions","Camera","fetchImagePromise","CameraResultType","blob","Compressor","compressionResult","finalFile","uploadToServer","uploadImageToServer","imageInput","formData","response","sendDeleteDiscordMessage","sendDeleteAccountDiscordMessage","deleteAccount","uploadAvatar","imageUrl","resolvedUrl","SubscriptionSettings","subscriptionPlan","showSubscriptionPlans","setShowSubscriptionPlans","SettingsField","define_process_env_default","AccountSettings","dismissAlert","label","disabled","iconVisible","icon","AccountSettings$1","InfoElement","Analytics","Analytics$1","MagicCodeLogin","loggedInUser","AccountLogin","_setEmail","Login","DEFAULT_LONGPRESS_TIME","DEFAULT_MOVEMENT_THRESHOLD","defaultPressProps","Pressable","onShortPress","onLongPress","longPressTime","movementThreshold","onlyLeft","longPressTimeoutRef","startPosition","startTimer","endTimer","checkDistance","diffX","diffY","sharePage","presentToast","canShare","Share","PageContextMenu","presentAlert","indexPage","pageId","pageNavigate","House","PencilSimple","Export","Copy","copiedPage","Trash","IonButton","IonIcon","IonList","IonItem","IonLabel","memo","FANCY_BLUR","DashboardButton2","DashboardCard","IonCard","IonCardContent","RenderSlide","setShowModal","ownStyle","PageModal","QRCodeModal","fullURL","QRCodeSVG","CreateNewPage","navigateNewPage","isOpen","setIsOpen","openNameDialog","pageName","_setPageName","IonAlert","okButton","Dashboard","useShallow","showModal","_setShowModal","showQRModal","setShowQRModal","swipeIndex","setSwipeIndex","swiperRef","dismissQR","currentIdx","useIonViewWillLeave","QrCode","CaretUp","Swiper","Mousewheel","Pagination","Controller","SwiperSlide","Dashboard$1","showDiscordOverlayHack","DiscordWidget","BuyMeACoffee","mayShowDonations","Community","Community$1","useFetchOnce","fetchFunction","success","alreadyFetched","usePreventScroll","preventScrolling","useEffectOnce","effect","useUnmount","fnRef","useRafState","frame","setRafState","args","off","isBrowser","useWindowSizeCallback","handler","scrollIntoPlace","domElement","growInAnimation","InitialEditorElement","isIgnoreNew","isPreview","domTrigger","withInitial","EditorTile","EditorRenderElement","editor","FullDragHandle","NoneDragHandle","TextDragHandle","dragHandles","VerticalDragHandle","DragHandle","handleType","InnerHandle","mapObject","stiffness","defaultFn","immediate","moveFn","active","isSelected","resizeFn","gridPos","hOverwrite","neutral","everyOther","colorLists","ColorList","ColorPicker","HexColorPicker","HexColorInput","BackgroundTool","pickerOpen","setPickerOpen","backgroundElement","changeBackground","backgroundColor","backgroundWithNewColor","setColor","tool","PaintBrush","colorVarTitleMapping","gradients","gradients2","colorFound","list","isBackground","listIndex","colorVarToName","colorVar","oldTitle","newTitle","ColorVariableChangeTool","colorVarKey","pageColors","initialColor","backdrop","openTool","currProps","changeVarColor","newVarColor","changeVarGradient","newVarGradient","ColorVariablesTool","pageColorVars","filteredColorVars","lastColorValue","Palette","calculateSlideIndex","wrapperEl","slides","slidesLength","marginLeft","marginRight","slideWidth","wrapperWidth","wrapperOffset","wrapperCenter","ratio","findIndexToKey","isTouchEvent","InstaDragSelect","initialIndex","activeIndex","_setActiveIndex","lastMoveRef","nextActiveIndex","propFocusCallback","focusCallback","setActiveIndex","springs","config","updateActive","translateOverwrite","translate","lastMove","newMove","looping","updateLoop","startUpdateLoop","endMoving","stopUpdateLoop","FreeMode","InstaDragIcon","borderOptionIcons","ImageBorderSelect","PreviewSection","ElementPreview","parentDivRef","scaling","scaleSize","setScaleSize","computeScaling","ownToolHeightElement","factor","factorRounded","isMobile","OwnToolButton","OwnTool","visualScreen","setVisualViewportHeight","computeGridHeight","aspectRatio","gridWidth","createImage","borderLayout","_imageCrop","imagePosition","updateWithUploadToServer","openImageSelection","layout","imageCrop","edit","onboarding","elementWithNewBorderStyle","ImageEditTool","editElement","setEditElement","setBorderLayout","_setImageCrop","plainImage","uploadToServerRef","focusImage","HeaderComponent","imageToolOnEdit","PiImage","defaultFont","allTextFonts","FontIcon","fontOptions","InstaFontTool","colorVarName","nextHorAlign","prevAlign","nextVerAlign","iconVerAlign","FontScale","parent","values","setValues","minValue","maxValue","changeFontSize","_firstLoad","setFirstLoad","Range","Direction","createElement","TextVariableTool","currFontVar","currColorVar","updateElementDimensions","liveColorStyle","liveFontStyle","fontStyle","_setFontStyle","updateFontStyle","initialFontType","initialFontSize","SCRIBBLE_ANIMATION_DURATION_MS","useOnboardingStore","hideScribble","onboardingActions","onboardingPage","buttonTextSize","TextVariableSelect","allFontVariables","variableOptions","setMoving","changeActiveIndex","currFontVariable","handleTouchMove","newIndex","defaultEditElement","initialElement","isNewElement","TextTool","focusTextRef","setCurrFontVar","setFontVariable","focusText","browserSanitized","sanitizedEditElement","PiText","linkOptionIcons","linkOptions","LinkLayoutSelect","LinkToolPreview","rectSpring","Hint","Scribble","oneImage","linkTextPlaceholder","defaultLink","computeGridPos","currentPos","minDim","createLink","linkUrl","inputText","linkLayout","imageSrc","linkColor","_element","selectImage","setImage","_dimensions","TextInputField","handleChange","LinkInputField","rawUrl","setRawUrl","newURL","urlWithPrefix","initialElem","LinkTool","editElementProps","previewElement","setLinkLayout","setText","setImageSrc","setLinkUrl","_setLinkColor","unchanged","setUnchanged","loading","setLoading","close","shiftX","newGrid","elementWithNewLinkInfo","fetchOpenGraph","ogImageRaw","ogImage","computePreviewGrid","PiLink","AnimatedIcon","OwnPageSVG","socialsOptions","SocialsIconSelect","SocialsToolPreview","colorToVar","ColorVariables","trimmedColor","colorPickerOpened","setColorPickerOpened","newColorVar","allOptions","createSocials","initialOptions","SocialInput","prependedSign","placeholderText","IonReorder","newSocial","AddSocialsScreen","updateSocial","social","removeSocial","reorderArray","IonReorderGroup","reordered","usedSocialIDs","alreadyUsed","EditSocialsScreen","prependSocialsURL","removeSocialsURL","usernameWithoutURL","modifiedUsername","SocialsTool","socialsWithPartialURL","setSocials","addSocialsScreen","setAddSocialsScreen","socialsType","setSocialsType","change","setChange","filteredSocials","elementWithNewInfo","prevChange","autofocus","autofocusIfDesktop","mapComponents","User","TextInput","setValue","placeholder","handlePaste","pastedText","Toggle","Dropdown","option","CaretDown","getComponent","PropInput","PropsForm","newValue","defaultProps","TileToolComponent","info","immediateProps","setImmediateProps","debouncedProps","setDebouncedProps","updateProps","newProps","updateDebouncedProps","makeToolComponent","makeTool","tools$1","OwnTilesTools","tools","drawerTools","ImageTool","OwnTilesDrawer","searchText","setSearchText","elementsCount","filteredTools","currentCount","maxCount","Sticker","editorTools","toolMap","LONG_PRESS_TIME","getActive","checkResize","directionSign","isOpposit","dir","isValidDirection","attribute","editorElementCallback","computeResizing","resizeAttr","direction","curPos","tempNewPos","newPos","minDims","clampX","clampY","clampW","right","clampH","newW","newX","maxW","gridW","gridX","tempW","tempX","gridH","gridY","tempH","springValues","dragPressStart","currentTarget","cancel","dragPressCancel","getOverButton","xy","overButton","handleOverButton","currentElement","overName","MAX_MOVEMENT","springElementsToPosition","dragFunction","elapsedTime","first","_dragging","activeState","shortPress","inThreshold","moveInfo","resize","currentEl","xGrid","yGrid","insideEditor","mapZIndex","DraggableElement","isDragging","unsubscribeReal","unsubscribeSpring","FullDraggableElement","PassiveDraggableElement","PassiveFullDraggableElement","updateSizeInfoOnElement","renderID","DragScribble","ThemeSwipeScribble","findMaxYElement","maxElement","maxY","EditorScribbles","noneBackgroundElements","firstElement","maxYElement","EditorSection","EditorElements","allElementIds","ActionPadding","ThemeRender","styleBackup","ThemeNameDisplay","themeNameOrInitial","themeName","mod","transitionSlideEnd","IosBlockFullLeftRightSwipe","LEFT_SLIDE","CENTER_SLIDE","RIGHT_SLIDE","ThemeSlide","useSwiper","onTransitionEnd","DISABLE_CLIPPED_PREVIEWS","PassiveInnerEditor","InnerEditor","EditorGrid","prevThemeIndex","nextThemeIndex","prevTheme","currTheme","nextTheme","scrollSlides","scrollPosition","_translate","slideEl","ty","clippingSlide","transition","onDraggable","fromDragFunction","serialize","buttons","PencilSimpleLine","rect","elementPos","centerWidth","centerHeight","HeaderEditorMenu","selectedElementId","lastSelectedElementId","setLastSelectedElementId","lastOrSelect","ownElement","filteredButtons","selectedId","selectedElement","ownDomElement","Toolbar","deactivateTool","activateTool","activeTool","saveCallback","EditorSaveButton","out","keydownHandler","handleSave","hideUI","setHideUI","swipeRef","onBackClick","proceedNavigation","pageSizeInBytes","sizeLimitInMegabytes","sizeLimitInBytes","isTooBig","handlePublish","handleDiscard","hideUIWithTool","Editor","scrollRef","ContextEditor","editorPageId","numberOfPages","histroy","initialEditorState","useIonViewDidLeave","socialOptions","parseSocials","form","createOnboardingPage","socialsElementArray","imageElement","nameElement","bioElement","sectionElements","sectionIds","InnerOnboarding","finishOnboarding","filledFields","setFilledFields","submittedSocials","Onboarding","Confirmation","showConfetti","setShowConfetti","timer","Confetti","Callback","useLocation","navigate","platforms","setIsLoading","searchParams","platformClass","App","CapApp","urlObj","IonApp","IonReactRouter","IonRouterOutlet","getConfig","createAnimation","setupIonicReact","unregister","registration","createRoot","StrictMode","serviceWorkerRegistration.unregister","defineCustomElements"],"mappings":"qsFAAA,OAAO,SAAP,OAAO,OAAW,QAClB,OAAO,QAAU,CAAE,IAAKA,EAAgB,ECDjC,MAAMC,GAAa,kBAMbC,GAAc,uBAAqC,QAC9D,aACA,OAAO,SAAS,QAClB,EAEMC,GAAc,CAClB,KAAM,IACN,UAAW,aACX,OAAQ,UACR,MAAO,SACP,SAAU,YACV,WAAY,cACZ,MAAO,SACP,OAAQ,UAER,UAAW,aACX,UAAW,aACX,SAAU,UACZ,EAEMC,GAAiB,CACrB,eAAgBD,GAAY,MAC5B,gBAAiBA,GAAY,SAC/B,EAEaE,EAAS,CAAE,GAAGF,GAAa,GAAGC,EAAe,ECd7CE,GAAKC,GAAK,CACrB,MAAO,uCACP,QAAS,EACX,CAAC,ECFKC,GAAsB,CAC1B,KAAM,IACR,EAEaC,GAAeC,KAAgB,IAAMF,EAAY,EACxD,CAAE,SAAUG,GAAK,SAAUC,EAAS,EAAAH,GAEpCI,GAAQ,IAAMF,GAAIH,EAAY,EAEvBM,GAAc,CACzB,OAAQ,MAAOC,GAA4C,CACrD,GAAA,CACI,MAAAT,GAAG,KAAK,QAAQ,QACfU,EAAK,CACJ,QAAA,MAAM,qBAAsBA,CAAG,CAAA,QACvC,CACMH,GAAA,EAEC,OAAA,SAAS,QAAQR,EAAO,cAAc,CAAA,CAIjD,EACAQ,MAAAA,EACF,EAEaI,GAAgB,SAAY,CACpCX,GAAA,MAAM,cAAeY,GAAS,CAE3B,GADI,QAAA,IAAI,sBAAuBA,CAAI,EACnC,CAACA,EAAK,KAAM,CACd,QAAQ,IAAI,qBAAqB,EAC3BL,GAAA,EACN,MAAA,CAGF,MAAMM,EAAQ,CAAE,SAAU,CAAE,EAAG,CAAE,MAAO,CAAE,GAAID,EAAK,KAAK,EAAG,GAAM,EACjEZ,GAAG,MAAM,eAAea,EAAQC,GAAQ,OAC9B,QAAA,IAAI,uBAAwBF,EAAME,CAAG,EAC7C,MAAMC,GAAUC,EAAAF,EAAI,OAAJ,YAAAE,EAAU,SAAS,GAEnC,GAAI,CAACJ,EAAK,MAAQ,CAACG,EAAS,OAE5B,QAAQ,IAAI,uBAAwBH,EAAK,KAAMG,CAAO,EAEtD,MAAME,EAAgB,CACpB,GAAIL,EAAK,KAAK,GACd,MAAOA,EAAK,KAAK,MACjB,cAAeA,EAAK,KAAK,cACzB,SAAUG,EAAQ,SAClB,OAAQA,EAAQ,MAClB,EAEIV,GAAA,CAAE,KAAAY,EAAM,CAAA,CACb,CAAA,CACF,CACH,EAGAN,GAAc,EAEP,MAAMO,GAAU,IAAMf,GAAcgB,GAAMA,EAAE,IAAK,EAI3CC,GACXC,GAEQC,GAA2B,CACjC,MAAML,EAAOC,GAAQ,EACjB,OAACD,EACGM,EAAA,IAAAF,EAAA,CAAW,GAAIC,EAAa,KAAAL,CAAY,CAAA,EAD9B,IAEpB,ECtFIO,GAAkB7B,GAAa,aAU/B8B,GAASL,GAAUE,GAAuB,OAExC,MAAAI,GAAiBV,EADVM,EAAM,KACS,SAAL,KAAAN,EAAeQ,GAGpC,OAAAD,EAAA,IAAC,MAAA,CACC,UAAWD,EAAM,WAAa,0CAC9B,IAAKI,CAAA,CACP,CAEJ,CAAC,ECPKC,IAAYC,GAAW,QAAQ,EAAI,IACnCC,GAAU,CAAC,CAAE,KAAAC,EAAM,GAAGR,CAC1B,IAAA,OAAAC,OAAAA,EAAA,IAACO,EAAA,CACC,MAAMd,EAAAM,EAAM,OAAN,KAAAN,EAAcW,GACpB,MAAOL,EAAM,OAAS,eACtB,UAAWA,EAAM,YAAcA,EAAM,MAAQ,GAAK,eAAA,CACpD,GCVWS,GAAkB,IAAM,WAC7B,MAAAnB,EAAOZ,GAAG,QAAQ,EAClBa,EAAQb,GAAG,SAAS,CACxB,OAAQ,CAAE,EAAG,CAAE,MAAO,CAAE,IAAIgB,EAAAJ,EAAK,OAAL,YAAAI,EAAW,GAAQ,EAAA,cAAe,CAAG,CAAA,CAAA,CAClE,EAEG,GAAA,CAACJ,EAAK,MAAQ,CAACC,KAASmB,EAAAnB,EAAM,OAAN,YAAAmB,EAAY,OAAO,UAAW,EACjD,OAAA,KAGT,MAAMC,GAAoBC,EAAArB,EAAM,OAAN,YAAAqB,EAAY,OAAO,GAAG,cAAc,GAE9D,OAAKD,GACI,IAIX,EC3BaE,GAAY,IAAM,CAC7B,MAAMC,EAAeL,GAAgB,EACrC,OAAOK,GAAA,YAAAA,EAAc,QAAS,KAChC,ECcMC,GAAeC,GAA4B,CAC/C,MAAMrB,EAAOC,GAAQ,EACfqB,EAASC,GAAa,EACtBC,EAAQN,GAAU,EAClBO,EAAUC,GAAW,EAGrB,CAACC,EAAiBC,CAAkB,EAAIC,EAAAA,SAAS,EAAK,EAEtDC,EAAc,CAClB,CACE,KAAM,WACN,KAAMC,GACN,OAAQ,IAAMT,EAAO,KAAK,UAAU,CACtC,EACA,CACE,KAAM,SACN,KAAMU,GACN,OAAQ,IAAMzC,GAAY,OAAOkC,CAAO,CAAA,CAE5C,EAEAQ,OAAAA,EAAAA,UAAU,IAAM,CACN,QAAA,IAAI,oBAAqBN,CAAe,CAAA,EAC/C,CAACA,CAAe,CAAC,EAGlBrB,EAAA,IAAC4B,GAAA,CACC,UAAU,oDACV,YAAS,GAET,SAAC5B,EAAA,IAAA,MAAA,CAAI,UAAU,gCAQZ,YAEI6B,EAAAA,KAAAC,EAAA,SAAA,CAAA,SAAA,CACCT,GAAArB,EAAA,IAAC,SAAA,CACC,UAAU,oCACV,QAAS,IAAM,CACbsB,EAAmB,EAAK,CAAA,CAC1B,CACF,EAGFO,EAAA,KAAC,SAAA,CACC,UAAU,wFACV,QAAS,IAAMP,EAAmB,CAACD,CAAe,EAElD,SAAA,CAAArB,EAAA,IAACE,GAAO,EAAA,EACPgB,GACClB,EAAA,IAAC,MAAI,CAAA,UAAU,6BACb,SAAAA,EAAA,IAAC,MAAA,CACC,UAAU,gBACV,IAAK,oCAAA,CAAA,CAET,CAAA,CAAA,CAAA,CAEJ,EAEAA,EAAA,IAAC,MAAA,CACC,UAAU,wXAMV,MAAO,CACL,WAAYqB,EAAkB,UAAY,OAC1C,QAASA,EAAkB,EAAI,MACjC,EAEC,SAAAG,EAAY,IAAKO,GAChBF,EAAA,KAAC,SAAA,CAEC,QAAS,IAAM,CACbP,EAAmB,EAAK,EACxBS,EAAE,OAAO,CACX,EACA,UAAU,2LAIV,SAAA,CAAA/B,EAAA,IAACM,GAAQ,CAAA,KAAMyB,EAAE,KAAM,UAAU,OAAO,EACxC/B,EAAAA,IAAC,OAAM,CAAA,SAAA+B,EAAE,IAAK,CAAA,CAAA,CAAA,EAVTA,EAAE,IAYV,CAAA,CAAA,CAAA,CACH,CAAA,CACF,CAEJ,CAAA,CAAA,CACF,CAEJ,EAgBMC,GAAgBjC,GAAkC,CACtD,MAAMkC,EAAYhB,GAAa,EACzBE,EAAUC,GAAW,EAErBc,EAAYC,EAAAA,YAAY,IAAM,CAClC,MAAMC,EAAe,IAAM,CACrBrC,EAAM,cACAoB,EAAA,QAAQpB,EAAM,aAAa,EAE/BkC,EAAU,YACZA,EAAU,OAAO,EAEPA,EAAA,KAAK,IAAK,OAAQ,SAAS,CAG3C,EAEIlC,EAAM,YACFA,EAAA,YAAYqC,EAAcH,CAAS,EAE5BG,EAAA,CAEd,EAAA,CAACjB,EAASc,EAAWlC,CAAK,CAAC,EAI9B4B,OAAAA,EAAAA,UAAU,KACD,OAAA,iBAAiB,WAAYO,CAAS,EAEtC,IAAM,OAAO,oBAAoB,WAAYA,CAAS,GAC5D,CAACA,CAAS,CAAC,EAGZlC,EAAA,IAAC,MAAA,CACC,UAAU,uOAGV,WAAS,QAET,SAAAA,EAAA,IAAC,SAAA,CACC,UAAU,kFACV,QAASkC,EAGT,SAAClC,EAAA,IAAAqC,GAAA,CAAU,KAAM,GAAI,OAAO,MAAO,CAAA,CAAA,CAAA,CACrC,CACF,CAEJ,EAOaC,GACXvC,GAIG,CACH,MAAMkC,EAAYhB,GAAa,EACzBE,EAAUC,GAAW,EASzB,OAAAS,EAAA,KAAC,MAAA,CACC,UAAU,uOAGV,WAAU9B,EAAM,IAEhB,SAAA,CAAAC,EAAA,IAAC,SAAA,CACC,UAAU,kFACV,QAAS,IAAM,CACb,MAAMoC,EAAe,IAAM,CACrBrC,EAAM,cACAoB,EAAA,QAAQpB,EAAM,aAAa,EAE/BkC,EAAU,YACZA,EAAU,OAAO,EAEPA,EAAA,KAAK,IAAK,OAAQ,SAAS,CAG3C,EAEIlC,EAAM,YACFA,EAAA,YAAYqC,EAAcH,CAAS,EAE5BG,EAAA,CAEjB,EAGA,SAAApC,EAAAA,IAACM,GAAQ,CAAA,KAAM+B,EAAW,CAAA,CAAA,CAC5B,EAKArC,EAAA,IAAC,SAAA,CACC,UAAU,sLAEV,QAASD,EAAM,WAGf,SAAAC,EAAAA,IAACM,GAAQ,CAAA,KAAMiC,EAAY,CAAA,CAAA,CAAA,CAC7B,CAAA,CACF,CAEJ,EAMaC,GACXzC,GAKEC,EAAA,IAAC4B,GAAA,CACC,UACE,sDACC7B,EAAM,WAAa,IAEtB,YAAS,GAET,SAAAC,EAAA,IAAC,MAAA,CACC,UAAU,oIAIV,YAAWD,EAAM,OAEhB,SAAAA,EAAM,WACJC,MAAAD,EAAM,WAAN,CAAkB,GAAGA,CAAO,CAAA,EAE7BC,EAAA,IAACgC,GAAA,CACC,YAAajC,EAAM,YACnB,cAAeA,EAAM,aAAA,CAAA,CACvB,CAAA,CAEJ,CACF,ECjRS0C,GAAqB1C,GAAkC,OAoBhE,OAAAC,EAAA,IAAC,MAAA,CACC,UAAU,kBACV,MACE,CACE,SAAU,OAAQ,QAAAD,EAAM,UAAUN,EAAAM,EAAM,OAAN,YAAAN,EAAY,IAAK,GAAK,EAAC,OACzD,gBAAiBM,EAAM,MAAQ,OAAO,OAAAA,EAAM,MAAK,KAAM,OAEvD,eAAgB,QAEhB,uBAAwB,cACxB,OAAQ,GAAA,CACV,CAEH,CAEL,EC3Ca2C,GAAkD,CAC7D,KAAM,aACN,QAASD,GACT,OAAQ,IACR,kBAAmB,CACjB,QAAS,EAAA,CAEb,ECPaE,GAAwB,aAExBC,GAAeC,IAAiB,CAC3C,SAAU,GAAG,OAAAA,EAAE,EAAI,EAAC,KAAI,OAAAA,EAAE,EAAI,EAAC,KAAI,OAAAA,EAAE,GAAKA,EAAE,GAAK,GAAK,EAAC,KAAI,OAAAA,EAAE,EAAIA,EAAE,EAAI,GACvE,OAAQA,EAAE,CACZ,GAEMC,GAAc,CAClB,IAAK,aACL,OAAQ,SACR,OAAQ,UACV,EAEaC,GAA0B,CACrC,WAAY,OACZ,SAAU,KACZ,EAEaC,GAAiC,CAC5C,WAAY,SACZ,SAAU,QACZ,EAEaC,GAA2B,CACtC,WAAY,SACZ,SAAU,KACZ,EAEaC,GAA+CC,IAClDA,EAAK,GAAK,KAAO,EAAIH,GAA0BD,GAG5CK,GAAe,CAACC,EAAqBC,IAAuB,CACvE,MAAMC,EAAQ,CAAE,GAAGF,EAAc,GAAGC,CAAE,EAE/B,MAAA,CACL,eAAgBC,EAAM,WACtB,WAAYT,GAAYS,EAAM,QAAQ,CACxC,CACF,ECiBaC,GAAWzD,IAClBA,EAAM,iBAAmB,QACnB,QAAA,MAAM,uCAAwCA,CAAK,EAI3DC,EAAA,IAACD,EAAM,eAAN,CACE,GAAGA,EAEJ,UAAW,OAAO,OAAAA,EAAM,WAAa,IACrC,MAAO,CACL,GAAG6C,GAAY7C,EAAM,IAAI,EACzB,GAAGqD,GAAarD,EAAM,cAAgBkD,GAAmBlD,EAAM,KAAK,EACpE,GAAGA,EAAM,KACX,EAEC,SAAMA,EAAA,QAAA,CACT,GAWS0D,GAAe,CAAgC,CAC1D,UAAA3D,EAAY,MACZ,SAAA4D,EACA,UAAAC,EACA,GAAGC,CACL,IAEI5D,EAAA,IAACF,EAAA,CAEC,UACE,iEACC6D,GAAa,IAEf,GAAGC,EAEH,SAAAF,CAAA,CACH,EC5FSG,GAAgB,CAC3B,OAAQ,CAAE,aAAc,IAAK,QAAS,EAAK,EAC3C,QAAS,CAAE,aAAc,UAAW,QAAS,EAAK,EAClD,OAAQ,CAAE,aAAc,UAAW,QAAS,EAAM,CACpD,EAuBaC,GAAgB/D,GAA6B,aACxD,MAAMgE,EAASF,IAAcpE,EAAAM,EAAM,SAAN,KAAAN,EAAgB,QAAQ,EAC/CuE,EAAeD,EAAO,aACtBE,GAAUxD,EAAAsD,EAAO,UAAP,KAAAtD,EAAkBV,EAAM,QAClCmE,GAAMvD,EAAAZ,EAAM,MAAN,KAAAY,EAAa,2BACnBwD,GAAMC,EAAArE,EAAM,gBAAN,KAAAqE,EAAuB,CAAE,EAAG,GAAI,EAAG,EAAG,EAElD,OACGpE,EAAAA,IAAAwD,GAAA,CAAS,GAAGzD,EACV,SACCkE,EAAAjE,EAAA,IAAC,MAAA,CACC,UAAW,mDACX,MAAO,CACL,aAAAgE,EACA,eAAgB,GAAG,OAAAG,EAAI,EAAC,MAAK,OAAAA,EAAI,EAAC,IACpC,EACA,IAAAD,CAAA,CAAA,EAGFlE,EAAAA,IAAC,MAAI,CAAA,UAAU,kCACb,SAAAA,EAAA,IAAC,MAAA,CAEC,UAAW,+BACX,MAAO,CACL,aAAAgE,EACA,eAAgB,GAAG,OAAAG,EAAI,EAAC,MAAK,OAAAA,EAAI,EAAC,IACpC,EACA,IAAAD,CAAA,GAEJ,CAEJ,CAAA,CAEJ,ECpEaG,GAAwC,CACnD,KAAM,QACN,QAASP,GACT,OAAQ,IACR,cAAe,KAAO,CAAE,EAAG,EAAG,EAAG,CAAE,GACnC,qBAAuB/D,GAAUA,EAAM,GACzC,ECqFMuE,GAAcvE,GAQhB8B,OAAC4B,IAAa,UAAU,IAAI,UAAU,OAAO,KAAM1D,EAAM,IACvD,SAAA,CAAAC,EAAA,IAAC,MAAI,CAAA,UAAU,6BAA6B,IAAKD,EAAM,IAAK,EAK5DC,EAAA,IAAC,MAAA,CACC,UAAU,uHAGV,SAAAA,EAAAA,IAACuE,GAAW,CAAA,KAAM,EAAI,CAAA,CAAA,CACxB,EAiBCxE,EAAM,MAEJC,EAAA,IAAA,IAAA,CAAE,UAAU,6EACV,WAAM,IACT,CAAA,CAAA,EAIJ,EC9FEwE,GAAwBzE,GAO1B8B,EAAA,KAAC4B,GAAA,CACC,UAAU,IACV,UAAU,0CACV,KAAM1D,EAAM,IAWZ,SAAA,CAAA8B,EAAA,KAAC,MAAA,CACC,UAAU,mFAIV,SAAA,CAAC7B,EAAAA,IAAA,MAAA,CAAI,UAAU,wDAAyD,CAAA,EAExEA,EAAA,IAAC,MAAA,CACC,UAAU,sCACV,IAAKD,EAAM,GAAA,CAAA,CACZ,CAAA,CAKH,EAGCC,EAAA,IAAA,IAAA,CAAE,UAAU,8EACV,WAAM,KACT,EAQA6B,EAAA,KAAC,MAAA,CACC,UAAU,mFAKV,SAAA,CAAC7B,EAAAA,IAAA,MAAA,CAAI,UAAU,uDAAwD,CAAA,EAEvEA,EAAAA,IAACuE,GAAW,CAAA,KAAM,EAAI,CAAA,CAAA,CAAA,CAAA,CACxB,CAAA,CACF,ECpGEC,GAAwBzE,GAO1B8B,EAAA,KAAC4B,GAAA,CACC,UAAU,IACV,UAAU,0CACV,KAAM1D,EAAM,IAGZ,SAAA,CAAAC,EAAA,IAAC,IAAE,CAAA,UAAU,8EACV,SAAAD,EAAM,KACT,EAEA8B,EAAA,KAAC,MAAA,CACC,UAAU,mFAKV,SAAA,CAAC7B,EAAAA,IAAA,MAAA,CAAI,UAAU,uDAAwD,CAAA,EAEvEA,EAAAA,IAACuE,GAAW,CAAA,KAAM,EAAI,CAAA,CAAA,CAAA,CAAA,CACxB,CAAA,CACF,ECtBQ,IAAAE,IAAAA,IACVA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,KAAO,OAHGA,IAAAA,IAAA,CAAA,CAAA,EAML,MAAMC,GAAgB,CAC3B,KAAMC,GACN,KAAMC,GACN,KAAMC,EACR,EAEaC,GAAiB,CAC5B,KAAM,CAAE,EAAG,EAAG,EAAG,CAAE,EACnB,KAAM,CAAE,EAAG,EAAG,EAAG,CAAE,EACnB,KAAM,CAAE,EAAG,EAAG,EAAG,CAAE,CACrB,EAEMC,GAAiB,wCAUVC,GAAiBjF,GACrB+E,GAAe/E,EAAM,MAAM,EAG9BkF,GAAelF,GAA4B,OACzC,MAAAmF,EAAKR,GAAc3E,EAAM,MAAM,EAErC,OACGC,EAAAA,IAAAwD,GAAA,CAAS,GAAGzD,EACX,SAACC,EAAAA,IAAAkF,EAAA,CAAI,GAAGnF,EAAO,KAAKN,EAAAM,EAAM,MAAN,KAAAN,EAAasF,EAAgB,CAAA,EACnD,CAEJ,EC1CaI,GAAsC,CACjD,KAAM,OACN,QAASF,GAGT,cAAAD,GACA,qBAAuBjF,GAAUA,EAAM,GAEzC,ECTaqF,GAASrF,SAEjB,MAAI,CAAA,MAAM,OAAO,OAAO,OAAO,QAAQ,YACtC,SAAAC,EAAA,IAACD,EAAM,UAAN,CAAgB,KAAMA,EAAM,KAAM,MAAOA,EAAM,KAAO,CAAA,EACzD,ECJSsF,GAAUtF,UAElB,MAAI,CAAA,MAAM,OAAO,OAAO,OAAO,QAAQ,YACtC,SAAA,CAACC,MAAAD,EAAM,UAAN,CAAgB,KAAMA,EAAM,KAAM,MAAOA,EAAM,MAAO,EAEvDC,EAAA,IAAC,SAAA,CACC,OAAQD,EAAM,MACd,YAAY,MACZ,KAAK,cACL,EAAE,OACF,GAAG,KACH,GAAG,IAAA,CAAA,CACL,EACF,ECbSuF,GAAgBvF,GAA+B,CACpD,MAAAwF,EAAS,6BAA+BxF,EAAM,KAGlD,OAAA8B,EAAA,KAAC,MAAA,CACC,MAAM,OACN,OAAO,OACP,QAAQ,YACR,MAAO,CACL,gBAAiB,oBACnB,EAEA,SAAA,CAAA7B,EAAAA,IAAC,QACC,SAAC6B,OAAA,OAAA,CAAK,GAAI0D,EAAQ,UAAU,iBAC1B,SAAA,CAAAvF,MAAC,QAAK,MAAM,OAAO,OAAO,OAAO,KAAK,QAAQ,EAC9CA,MAACD,EAAM,UAAN,CAAgB,KAAMA,EAAM,KAAM,MAAO,OAAS,CAAA,CAAA,CAAA,CACrD,CACF,CAAA,EAEAC,EAAA,IAAC,SAAA,CACC,KAAMD,EAAM,MACZ,EAAE,KACF,GAAG,KACH,GAAG,KACH,KAAM,QAAQ,OAAAwF,EAAM,IAAA,CAAA,CACtB,CAAA,CACF,CAEJ,EC/BaC,GAAa,CACxB,UAAW,CACT,KAAM,CAAE,MAAO,oBAAqB,KAAM,GAAS,EACnD,IAAK,4BACP,EACA,SAAU,CACR,KAAM,CAAE,MAAO,mBAAoB,KAAM,GAAS,EAClD,IAAK,8BACP,EACA,EAAG,CACD,KAAM,CAAE,MAAO,oBAAqB,KAAM,GAAS,EACnD,IAAK,sBACP,EACA,SAAU,CACR,KAAM,CAAE,MAAO,mBAAoB,KAAM,GAAS,EAClD,IAAK,2BACP,EACA,MAAO,CAAE,KAAM,CAAE,MAAO,gBAAiB,KAAM,GAAA,EAAY,IAAK,MAAO,EACvE,OAAQ,CACN,KAAM,CAAE,MAAO,iBAAkB,KAAM,GAAS,EAChD,IAAK,qBACP,EACA,MAAO,CAAE,KAAM,CAAE,MAAO,eAAgB,KAAM,GAAA,EAAY,IAAK,SAAU,EACzE,OAAQ,CACN,KAAM,CAAE,MAAO,iBAAkB,KAAM,GAAS,EAChD,IAAK,wBACP,EACA,OAAQ,CACN,KAAM,CAAE,MAAO,iBAAkB,KAAM,GAAS,EAChD,IAAK,8BACP,EACA,SAAU,CACR,KAAM,CAAE,MAAO,mBAAoB,KAAM,GAAS,EAClD,IAAK,2BACP,EACA,QAAS,CACP,KAAM,CAAE,MAAO,kBAAmB,KAAM,GAAS,EACjD,IAAK,0BACP,EACA,OAAQ,CACN,KAAM,CAAE,MAAO,iBAAkB,KAAM,GAAS,EAChD,IAAK,yBACP,EACA,QAAS,CACP,KAAM,CAAE,MAAO,kBAAmB,KAAM,GAAS,EACjD,IAAK,0BACP,EACA,UAAW,CACT,KAAM,CAAE,MAAO,oBAAqB,KAAM,GAAS,EACnD,IAAK,4BACP,EACA,OAAQ,CACN,KAAM,CAAE,MAAO,iBAAkB,KAAM,GAAS,EAChD,IAAK,yBACP,EACA,OAAQ,CACN,KAAM,CAAE,MAAO,iBAAkB,KAAM,GAAS,EAChD,IAAK,qBACP,EACA,QAAS,CACP,KAAM,CAAE,MAAO,kBAAmB,KAAM,GAAS,EACjD,IAAK,qBACP,EACA,SAAU,CACR,KAAM,CAAE,MAAO,mBAAoB,KAAM,GAAS,EAClD,IAAK,gBAAA,CAET,EAEO,SAASC,GAAW7F,EAAW,CACpC,OAAOA,EAAE,SAAS,WAAW,MAAM,GAAKA,EAAE,SAAS,WAAW,KAAK,EAC/DA,EAAE,SACF4F,GAAW5F,EAAE,EAAE,EAAE,IAAMA,EAAE,QAC/B,CCpDO,MAAM8F,GAAc,CACzB,gBAAiBJ,GACjB,OAAQD,GACR,MAAOD,EACT,EAEaO,GAAiB5F,GAC5BC,EAAA,IAAC,OAAA,CACC,EAAE,MACF,EAAE,MACF,iBAAiB,UACjB,WAAW,SACX,SAAS,KACT,WAAW,YACX,KAAMD,EAAM,MAEX,SAAMA,EAAA,IAAA,CACT,EAGI6F,GAAc7F,GAA2B,OAC7C,MAAMQ,EAAOmF,IAAYjG,EAAAM,EAAM,OAAN,KAAAN,EAAc,eAAe,EAChDoG,EAAOL,GAAWzF,EAAM,MAAM,EAAE,KAAK,KAC3C,aAAQQ,EAAK,CAAA,UAAWoF,GAAe,KAAAE,EAAa,GAAG9F,EAAO,CAChE,EC7BM+F,GAAkB/F,GAA+B,CAC/C,MAAAgG,EAAQhG,EAAM,OAAS,oBAE7B,aACGyD,GAAS,CAAA,GAAGzD,EACX,SAACC,MAAA,MAAA,CAAI,UAAU,0CACb,SAAAA,EAAA,IAAC,MAAA,CACC,UACE,8CACA2C,GAGD,SAAM5C,EAAA,QAAQ,IAAKH,GAClBI,EAAA,IAAC,IAAA,CACC,KAAMyF,GAAW7F,CAAC,EAClB,OAAO,SACP,IAAI,sBAEJ,UAAU,gIAIV,SAAAI,EAAA,IAAC4F,IAAW,OAAQhG,EAAE,GAAI,MAAAmG,EAAc,KAAMhG,EAAM,IAAM,CAAA,CAAA,EALrDH,EAAE,EAOV,CAAA,CAAA,GAEL,CACF,CAAA,CAEJ,ECvCaoG,GAA4C,CACvD,KAAM,UACN,QAASF,EACX,ECAMG,GAAelG,GAEjBC,EAAA,IAACwD,GAAA,CACC,UAAW,GAAG,OAAAzD,EAAM,aAAY,kBAAiB,OAAAA,EAAM,WAAa,IACpE,aAAcmD,GAAiBnD,EAAM,IAAI,EACzC,MAAO,CACL,MAAOA,EAAM,MACb,GAAGA,EAAM,UAET,eAAgB,OAChB,WAAY,MACd,EACC,GAAGA,EAEJ,SAAAC,EAAA,IAAC,OAAA,CACC,UAAU,kCACV,MAAO,CACL,gBAAiBD,EAAM,WACvB,UAAW,aACX,OAAQ,GACV,EAEC,SAAMA,EAAA,QAAA,CAAA,CACT,CACF,EChCSmG,GAAsC,CACjD,KAAM,OACN,QAASD,EACX,ECKaE,GAAS,CAAC,CAAE,SAAAzC,EAAU,GAAG3D,KAAyB,CAC7D,KAAM,CAACqG,EAAKC,CAAM,EAAIC,GAAU,CAE9B,WAAY,UACZ,KAAM,EAAA,CACP,EAGKC,EADSxG,EAAM,QAAUA,EAAM,KAClByG,GAAS,EAAIA,GAAS,IACnC7C,EAAY,WAAW,OAAA5D,EAAM,OAAS,qCAAuC,GAAE,KAAI,OAAAA,EAAM,WAAa,IAG1G,OAAAC,EAAA,IAACuG,EAAA,CACC,KAAMxG,EAAM,KACZ,IAAKA,EAAM,IACX,MAAOA,EAAM,MACb,OAAQA,EAAM,OACd,UAAA4D,EACA,cAAa0C,EACb,IAAAD,EAEC,SAAA1C,CAAA,CACH,CAEJ,ECvBgB,SAAA+C,GACdF,EACAG,EACA,CACA,GAAIA,GAAA,MAAAA,EAAmB,QACd,OAAAH,EAGT,GAAIA,IAAM,OACF,MAAA,IAAI,MAAM,yCAAyC,EAMpD,OAJkBxG,GACvBC,MAACuG,GAAG,GAAGxG,EAAO,eAAgBoG,GAAQ,CAI1C,CC3BA,IAAIQ,GAAK,OAAO,eACZC,GAAK,CAACC,EAAGC,EAAGC,IAAMD,KAAKD,EAAIF,GAAGE,EAAGC,EAAG,CAAE,WAAY,GAAI,aAAc,GAAI,SAAU,GAAI,MAAOC,EAAG,EAAIF,EAAEC,CAAC,EAAIC,EAC3GC,EAAI,CAACH,EAAGC,EAAGC,IAAMH,GAAGC,EAAG,OAAOC,GAAK,SAAWA,EAAI,GAAKA,EAAGC,CAAC,EAE3DE,GAAK,CAAE,QAAS,EAAG,EAAGC,GAAK,CAAC,EAChC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASA,IAAIC,GACJ,SAASC,IAAK,CACZ,GAAID,GAAW,OAAAD,GACVC,GAAA,EACL,IAAIN,EAAIQ,EAAGP,EAAI,OAAO,IAAI,eAAe,EAAGC,EAAI,OAAO,IAAI,gBAAgB,EAAG,EAAI,OAAO,UAAU,eAAgBO,EAAIT,EAAE,mDAAmD,kBAAmBU,EAAI,CAAE,IAAK,GAAI,IAAK,GAAI,OAAQ,GAAI,SAAU,EAAG,EACvO,SAAAC,EAAEC,EAAGC,EAAGC,EAAG,CAClB,IAAI5F,EAAG6F,EAAI,CAAA,EAAIC,EAAI,KAAMC,EAAI,KAC7BH,IAAM,SAAWE,EAAI,GAAKF,GAAID,EAAE,MAAQ,SAAWG,EAAI,GAAKH,EAAE,KAAMA,EAAE,MAAQ,SAAWI,EAAIJ,EAAE,KAC/F,IAAK3F,KAAK2F,EAAG,EAAE,KAAKA,EAAG3F,CAAC,GAAK,CAACwF,EAAE,eAAexF,CAAC,IAAM6F,EAAE7F,CAAC,EAAI2F,EAAE3F,CAAC,GAChE,GAAI0F,GAAKA,EAAE,aAAmB,IAAA1F,KAAK2F,EAAID,EAAE,aAAcC,EAAGE,EAAE7F,CAAC,IAAM,SAAW6F,EAAE7F,CAAC,EAAI2F,EAAE3F,CAAC,GACxF,MAAO,CAAE,SAAU+E,EAAG,KAAMW,EAAG,IAAKI,EAAG,IAAKC,EAAG,MAAOF,EAAG,OAAQN,EAAE,OAAQ,CAAA,CAEtE,OAAAJ,GAAG,SAAWH,EAAGG,GAAG,IAAMM,EAAGN,GAAG,KAAOM,EAAGN,EACnD,CA6lBwCD,GAAG,QAAUG,KACrD,IAAIW,GAAId,GAAG,QACX,MAAMe,GAAK,CAAC,CACV,UAAWnB,EAAI,MAEf,SAAUC,EACV,UAAWC,EACX,GAAG,CACL,IAAwBgB,GAAA,IACtBlB,EACA,CACE,UAAW,iEAAmEE,GAAK,IACnF,GAAG,EACH,SAAUD,CAAA,CAEd,EAAGmB,GAAK,CAACpB,EAAGC,IAAM,OAAO,YACvB,OAAO,QAAQ,CAAE,GAAGD,EAAG,GAAGC,EAAG,EAAE,IAAI,CAAC,CAACC,EAAG,CAAC,IAAM,CAC7CA,EACA,OAAO,GAAK,UAAY,EAAI,CAAE,GAAGF,EAAEE,CAAC,EAAG,GAAG,GAAM,CACjD,CAAA,CACH,EA8BA,IAAImB,GAAK,CAAA,EAAIC,GAAK,CAAA,EAAIC,GAAK,CAAA,EAAIC,GAAK,CAAC,EAAGC,GAAK,CAAC,EAAGC,EAAI,CAAC,EAAGC,EAAI,CAAC,EAC9DA,EAAE,cAAgBA,EAAE,cAAgBA,EAAE,iBAAmBA,EAAE,eAAiBA,EAAE,gBAAkBA,EAAE,cAAgBA,EAAE,aAAeA,EAAE,eAAiBA,EAAE,aAAeA,EAAE,gBAAkBA,EAAE,cAAgBA,EAAE,eAAiBA,EAAE,cAAgBA,EAAE,aAAeA,EAAE,QAAUA,EAAE,mBAAqBA,EAAE,qBAAuBA,EAAE,qBAAuBA,EAAE,mBAAqBA,EAAE,kBAAoBA,EAAE,QAAUA,EAAE,WAAaA,EAAE,WAAaA,EAAE,oBAAsB,OACvcA,EAAE,WAAa,EACf,MAAMC,GAAKD,EAAE,WAAa,SAAUE,GAAKF,EAAE,QAAU,KAAK,IAAI,GAAI,CAAC,EAAI,GAAK,GAAK,GAAK,IACtFA,EAAE,QAAU,CAACE,GACbF,EAAE,mBAAqB,OACvBA,EAAE,kBAAoB,MACtBA,EAAE,qBAAuB,IACzBA,EAAE,mBAAqB,KACvBA,EAAE,qBAAuB,IACzBA,EAAE,cAAgB,OAClBA,EAAE,eAAiB,MACnBA,EAAE,aAAe,KACjBA,EAAE,cAAgB,GAClBA,EAAE,gBAAkB,EACpBA,EAAE,aAAe,GACjBA,EAAE,eAAiB,EACnB,MAAMG,GAAKH,EAAE,cAAgB,KAC7BA,EAAE,gBAAkB,GACpB,MAAMpE,GAAKoE,EAAE,aAAeG,GAAK,GACjCH,EAAE,cAAgBpE,GAAK,EACvB,MAAMc,GAAKsD,EAAE,cAAgBpE,GAAKqE,GAAIG,GAAKJ,EAAE,eAAiBtD,GAAK,GACnEsD,EAAE,iBAAmBI,GAAK,EAC1BJ,EAAE,oBAAsB,OAAO,IAAI,mBAAmB,EACtDD,EAAE,cAAgBM,GAClB,IAAIC,GAAKN,EACT,SAASK,GAAGhC,EAAGC,EAAG,CAChB,OAAO,OAAOD,GAAK,WAAaA,EAAEC,CAAC,EAAID,GAAK,OAAOA,GAAK,UAAYiC,GAAG,uBAAuBjC,EAAIA,EAAEiC,GAAG,mBAAmB,EAAEhC,CAAC,EAAID,aAAa,KAAO,IAAIA,EAAE,YAAYC,CAAC,EAAI,IAAI,KAAKA,CAAC,CACxL,CACA,IAAIiC,EAAI,CAAC,EACTA,EAAE,OAASC,GACX,IAAIC,GAAKV,EACT,SAASS,GAAGnC,EAAGC,EAAG,CAChB,SAAWmC,GAAG,eAAenC,GAAKD,EAAGA,CAAC,CACxC,CACAyB,GAAG,QAAUY,GACb,IAAIC,GAAKZ,EAAGa,GAAKL,EACjB,SAASG,GAAGrC,EAAGC,EAAGC,EAAG,CACb,MAAA,KAAQqC,GAAG,QAAQvC,EAAGE,GAAK,KAAO,OAASA,EAAE,EAAE,EAC9C,OAAA,MAAMD,CAAC,KAAQqC,GAAG,gBAAgBpC,GAAK,KAAO,OAASA,EAAE,KAAOF,EAAG,GAAG,GAAKC,GAAK,EAAE,QAAQ,EAAE,QAAY,EAAAA,CAAC,EAAG,EACrH,CACA,IAAIuC,GAAK,CAAC,EACVA,GAAG,UAAYC,GACf,IAAIC,GAAKhB,EAAGiB,GAAKT,EACjB,SAASO,GAAGzC,EAAGC,EAAGC,EAAG,CACb,MAAA,KAAQyC,GAAG,QAAQ3C,EAAGE,GAAK,KAAO,OAASA,EAAE,EAAE,EACrD,GAAI,MAAMD,CAAC,EAAG,SAAWyC,GAAG,gBAAgBxC,GAAK,KAAO,OAASA,EAAE,KAAOF,EAAG,GAAG,EAChF,GAAI,CAACC,EACI,OAAA,EACT,MAAMQ,EAAI,EAAE,QAAW,EAAAC,KAAQgC,GAAG,gBAC/BxC,GAAK,KAAO,OAASA,EAAE,KAAOF,EAC/B,EAAE,QAAQ,CACZ,EACAU,EAAE,SAAS,EAAE,SAAa,EAAAT,EAAI,EAAG,CAAC,EAC5B,MAAAU,EAAID,EAAE,QAAQ,EACb,OAAAD,GAAKE,EAAID,GAAK,EAAE,YACrBA,EAAE,YAAY,EACdA,EAAE,SAAS,EACXD,CACC,EAAA,EACL,CACAe,GAAG,IAAMoB,GACT,IAAIC,GAAKpB,GAAIqB,GAAKN,GAAIO,GAAKrB,EAAGsB,GAAKd,EACnC,SAASU,GAAG5C,EAAGC,EAAGC,EAAG,CACb,KAAA,CACJ,MAAO,EAAI,EACX,OAAQO,EAAI,EACZ,MAAOC,EAAI,EACX,KAAMC,EAAI,EACV,MAAOC,EAAI,EACX,QAASC,EAAI,EACb,QAASC,EAAI,CAAA,EACXb,EAAG/E,KAAQ8H,GAAG,QAAQhD,EAAGE,GAAK,KAAO,OAASA,EAAE,EAAE,EAAGa,EAAIN,GAAK,KAAQqC,GAAG,WAAW5H,EAAGuF,EAAI,EAAI,EAAE,EAAIvF,EAAG8F,EAAIL,GAAKD,KAAQmC,GAAG,SAAS9B,EAAGJ,EAAID,EAAI,CAAC,EAAIK,EAAGE,EAAIJ,EAAID,EAAI,GAAIqC,GAAKnC,EAAIG,EAAI,IAAM,IAC/L,SAAW8B,GAAG,gBACX7C,GAAK,KAAO,OAASA,EAAE,KAAOF,EAC/B,CAACgB,EAAIiC,CACP,CACF,CACA,IAAIC,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,WAAaC,GAChB,IAAIC,GAAKnB,EACT,SAASkB,GAAGpD,EAAGC,EAAG,CACR,SAAGoD,GAAG,QAAQrD,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAE,OAAa,IAAA,CACnE,CACA,IAAIqD,GAAK,CAAC,EACVA,GAAG,SAAWC,GACd,IAAIC,GAAKtB,EACT,SAASqB,GAAGvD,EAAGC,EAAG,CACR,SAAGuD,GAAG,QAAQxD,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAE,OAAa,IAAA,CACnE,CACA,IAAIwD,GAAK,CAAC,EACVA,GAAG,UAAYC,GACf,IAAIC,GAAKzB,EACT,SAASwB,GAAG1D,EAAGC,EAAG,CACV,MAAAC,KAAQyD,GAAG,QAAQ3D,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAE,OAAO,EACvD,OAAAC,IAAM,GAAKA,IAAM,CAC1B,CACAgD,GAAG,gBAAkBU,GACrB,IAAIC,GAAKnC,EAAGoC,GAAKX,GAAIY,GAAKT,GAAIU,GAAKP,GAAIQ,GAAK/B,EAC5C,SAAS0B,GAAG5D,EAAGC,EAAGC,EAAG,CACnB,MAAM,KAAQ+D,GAAG,QAAQjE,EAAGE,GAAK,KAAO,OAASA,EAAE,EAAE,EAAGO,KAAQuD,GAAG,WAAW,EAAG9D,CAAC,EAClF,GAAI,MAAMD,CAAC,EAAG,SAAW4D,GAAG,eAAe3D,GAAK,KAAO,OAASA,EAAE,GAAI,GAAG,EACzE,MAAMQ,EAAI,EAAE,SAAS,EAAGC,EAAIV,EAAI,EAAI,GAAK,EAAGW,EAAI,KAAK,MAAMX,EAAI,CAAC,EAChE,EAAE,QAAQ,EAAE,QAAQ,EAAIW,EAAI,CAAC,EAC7B,IAAIC,EAAI,KAAK,IAAIZ,EAAI,CAAC,EACtB,KAAOY,EAAI,GACT,EAAE,QAAQ,EAAE,QAAQ,EAAIF,CAAC,KAAOqD,GAAG,WAAW,EAAG9D,CAAC,IAAMW,GAAK,GACxD,OAAAJ,MAASuD,GAAG,WAAW,EAAG9D,CAAC,GAAKD,IAAM,OAAU6D,GAAG,YAAY,EAAG5D,CAAC,GAAK,EAAE,QAAQ,EAAE,WAAaS,EAAI,EAAI,EAAI,GAAG,KAAOoD,GAAG,UAAU,EAAG7D,CAAC,GAAK,EAAE,QAAQ,EAAE,QAAa,GAAAS,EAAI,EAAI,EAAI,GAAG,GAAI,EAAE,SAASD,CAAC,EAAG,CACjN,CACA,IAAIwD,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,gBAAkBC,GACrB,IAAIC,GAAK3C,EAAG4C,GAAKpC,EACjB,SAASkC,GAAGpE,EAAGC,EAAGC,EAAG,CACnB,SAAWmE,GAAG,gBACXnE,GAAK,KAAO,OAASA,EAAE,KAAOF,EAC/B,IAAKsE,GAAG,QAAQtE,CAAC,EAAIC,CACvB,CACF,CACAiE,GAAG,SAAWK,GACd,IAAIC,GAAKL,GAAIM,GAAK9C,EAClB,SAAS4C,GAAGvE,EAAGC,EAAGC,EAAG,CACnB,SAAWsE,GAAG,iBACZxE,EACAC,EAAIwE,GAAG,mBACPvE,CACF,CACF,CACA,IAAIwE,GAAK,CAAA,EAAIC,GAAK,GAAIC,GAAK,CAAA,EAAIC,GAAK,GAAIC,GAAK,CAAC,EAC9CA,GAAG,kBAAoBC,GACvBD,GAAG,kBAAoBE,GACvB,IAAIC,GAAK,CAAC,EACV,SAASF,IAAK,CACL,OAAAE,EACT,CACA,SAASD,GAAGhF,EAAG,CACRiF,GAAAjF,CACP,CACA6E,GAAG,YAAcK,GACjB,IAAIC,GAAKL,GAAIM,GAAKlD,EAClB,SAASgD,GAAGlF,EAAGC,EAAG,aACZ,IAAAW,EAAGC,EAAGC,EAAG5F,EACb,MAAMgF,KAAQiF,GAAG,mBAAA,EAAsB1I,GAAKc,GAAAzD,GAAAF,GAAAhB,EAAAqH,GAAK,KAAO,OAASA,EAAE,eAAvB,KAAArH,GAA0CiI,GAAKD,EAAIX,GAAK,KAAO,OAASA,EAAE,SAAW,KAAO,OAASW,EAAE,UAAY,KAAO,OAASC,EAAE,eAArI,KAAAjH,EAAsJsG,EAAE,eAAxJ,KAAApG,GAA0KoB,GAAK4F,EAAIZ,EAAE,SAAW,KAAO,OAASY,EAAE,UAAY,KAAO,OAAS5F,EAAE,eAAhP,KAAAqC,EAAiQ,EAAGkD,KAAQ2E,GAAG,QAAQpF,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAGS,EAAID,EAAE,OAAO,EAAGE,GAAKD,EAAIjE,EAAI,EAAI,GAAKiE,EAAIjE,EAC5Y,OAAOgE,EAAE,QAAQA,EAAE,QAAA,EAAYE,CAAC,EAAGF,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAGA,CAC7D,CACAmE,GAAG,eAAiBS,GACpB,IAAIC,GAAKT,GACT,SAASQ,GAAGrF,EAAGC,EAAG,CACR,SAAGqF,GAAG,aAAatF,EAAG,CAAE,GAAGC,EAAG,aAAc,EAAG,CACzD,CACA0E,GAAG,eAAiBY,GACpB,IAAIC,GAAK9D,EAAG+D,GAAKb,GAAIc,GAAKxD,EAC1B,SAASqD,GAAGvF,EAAGC,EAAG,CACV,MAAAC,KAAQwF,GAAG,QAAQ1F,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAG,EAAIC,EAAE,cAAeO,KAAQ+E,GAAG,eAAetF,EAAG,CAAC,EACzGO,EAAA,YAAY,EAAI,EAAG,EAAG,CAAC,EAAGA,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAC3C,MAAAC,KAAQ+E,GAAG,gBACfhF,GACCE,KAAQ6E,GAAG,eAAetF,EAAG,CAAC,EAC/BS,EAAA,YAAY,EAAG,EAAG,CAAC,EAAGA,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EACvC,MAAAC,KAAQ6E,GAAG,gBACf9E,CACF,EACA,OAAOT,EAAE,QAAa,GAAAQ,EAAE,UAAY,EAAI,EAAIR,EAAE,QAAa,GAAAU,EAAE,QAAQ,EAAI,EAAI,EAAI,CACnF,CACA,IAAI+E,GAAK,CAAA,EAAIC,GAAK,CAAC,EAAGC,GAAK,CAAC,EAC5BA,GAAG,gCAAkCC,GACrC,IAAIC,GAAK7D,EACT,SAAS4D,GAAG9F,EAAG,CACb,MAAMC,KAAQ8F,GAAG,QAAQ/F,CAAC,EAAGE,EAAI,IAAI,KACnC,KAAK,IACHD,EAAE,YAAY,EACdA,EAAE,SAAS,EACXA,EAAE,QAAQ,EACVA,EAAE,SAAS,EACXA,EAAE,WAAW,EACbA,EAAE,WAAW,EACbA,EAAE,gBAAgB,CAAA,CAEtB,EACO,OAAAC,EAAE,eAAeD,EAAE,YAAA,CAAa,EAAG,CAACD,EAAI,CAACE,CAClD,CACA,IAAI8F,EAAI,CAAC,EACTA,EAAE,eAAiBC,GACnB,IAAIC,GAAKxE,EACT,SAASuE,GAAGjG,KAAMC,EAAG,CACb,MAAAC,EAAIgG,GAAG,cAAc,KACzB,KACAlG,GAAKC,EAAE,KAAM,GAAM,OAAO,GAAK,QAAQ,CACzC,EACO,OAAAA,EAAE,IAAIC,CAAC,CAChB,CACA,IAAIiG,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAKnE,EACT,SAASkE,GAAGpG,EAAGC,EAAG,CACV,MAAAC,KAAQmG,GAAG,QAAQrG,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EACrD,OAAOC,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAGA,CACjC,CACA0F,GAAG,yBAA2BU,GAC9B,IAAIC,GAAKV,GAAIW,GAAKR,EAAGS,GAAK9E,EAAG+E,GAAKP,GAClC,SAASG,GAAGtG,EAAGC,EAAGC,EAAG,CACnB,KAAM,CAAC,EAAGO,CAAC,KAAQ+F,GAAG,gBACpBtG,GAAK,KAAO,OAASA,EAAE,GACvBF,EACAC,CACF,EAAGS,KAAQgG,GAAG,YAAY,CAAC,EAAG/F,KAAQ+F,GAAG,YAAYjG,CAAC,EAAGG,EAAI,CAACF,KAAQ6F,GAAG,iCAAiC7F,CAAC,EAAGG,EAAI,CAACF,KAAQ4F,GAAG,iCAAiC5F,CAAC,EAChK,OAAO,KAAK,OACTC,EAAIC,GAAK4F,GAAG,iBACf,CACF,CACA,IAAIE,GAAK,CAAC,EACVA,GAAG,mBAAqBC,GACxB,IAAIC,GAAKnF,EAAGoF,GAAKnC,GAAIoC,GAAKnC,GAC1B,SAASgC,GAAG5G,EAAGC,EAAG,CAChB,MAAMC,KAAQ4G,GAAG,gBAAgB9G,EAAGC,CAAC,EAAG,KAAQ4G,GAAG,gBAAgB5G,GAAK,KAAO,OAASA,EAAE,KAAOD,EAAG,CAAC,EACrG,OAAO,EAAE,YAAYE,EAAG,EAAG,CAAC,EAAG,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,KAAO6G,GAAG,gBAAgB,CAAC,CACjF,CACApB,GAAG,eAAiBqB,GACpB,IAAIC,GAAKvF,EAAGwF,GAAKtB,GAAIuB,GAAKR,GAAIS,GAAKlF,EACnC,SAAS8E,GAAGhH,EAAGC,EAAGC,EAAG,CACf,IAAA,KAAQkH,GAAG,QAAQpH,EAAGE,GAAK,KAAO,OAASA,EAAE,EAAE,EAC7C,MAAAO,KAAQyG,GAAG,0BACf,KACIC,GAAG,oBAAoB,EAAGjH,CAAC,CACjC,EAAGQ,KAAQuG,GAAG,gBAAgB/G,GAAK,KAAO,OAASA,EAAE,KAAOF,EAAG,CAAC,EACzD,OAAAU,EAAE,YAAYT,EAAG,EAAG,CAAC,EAAGS,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAG,KAAQyG,GAAG,oBAAoBzG,CAAC,EAAG,EAAE,QAAQ,EAAE,UAAYD,CAAC,EAAG,CACxH,CACAiE,GAAG,gBAAkB2C,GACrB,IAAIC,GAAK3C,GAAI4C,GAAK5B,GAClB,SAAS0B,GAAGrH,EAAGC,EAAGC,EAAG,CACnB,SAAWqH,GAAG,gBACZvH,KACIsH,GAAG,gBAAgBtH,EAAGE,CAAC,EAAID,EAC/BC,CACF,CACF,CACA,IAAIsH,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAK/F,EAAGgG,GAAKzF,EACjB,SAASuF,GAAGzH,EAAGC,EAAGC,EAAG,CACb,MAAA,KAAQyH,GAAG,QAAQ3H,EAAGE,GAAK,KAAO,OAASA,EAAE,EAAE,EAC9C,OAAA,EAAE,QAAQ,EAAE,UAAYD,EAAIyH,GAAG,oBAAoB,EAAG,CAC/D,CACA,IAAIE,GAAK,CAAC,EACVA,GAAG,YAAcC,GACjB,IAAIC,GAAKtF,GACT,SAASqF,GAAG7H,EAAGC,EAAGC,EAAG,CACnB,SAAW4H,GAAG,WAAW9H,EAAGC,EAAI,EAAGC,CAAC,CACtC,CACA,IAAI6H,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAK9D,GACT,SAAS6D,GAAGhI,EAAGC,EAAGC,EAAG,CACnB,SAAW+H,GAAG,iBAAiBjI,EAAGC,EAAI,IAAKC,CAAC,CAC9C,CACA,IAAIgI,GAAK,CAAC,EACVA,GAAG,SAAWC,GACd,IAAIC,GAAK3G,GACT,SAAS0G,GAAGnI,EAAGC,EAAGC,EAAG,CACnB,SAAWkI,GAAG,SAASpI,EAAGC,EAAI,EAAGC,CAAC,CACpC,CACA,IAAImI,GAAK,CAAC,EACVA,GAAG,SAAWC,GACd,IAAIC,GAAK/F,GACT,SAAS8F,GAAGtI,EAAGC,EAAGC,EAAG,CACnB,SAAWqI,GAAG,WAAWvI,EAAGC,EAAI,GAAIC,CAAC,CACvC,CACA,IAAIsI,GAAK,CAAC,EACVA,GAAG,wBAA0BC,GAC7B,IAAIC,GAAKxG,EACT,SAASuG,GAAGzI,EAAGC,EAAGC,EAAG,CACb,KAAA,CAAC,EAAGO,CAAC,EAAI,CACb,IAAKiI,GAAG,QAAQ1I,EAAE,MAAOE,GAAK,KAAO,OAASA,EAAE,EAAE,EAClD,IAAKwI,GAAG,QAAQ1I,EAAE,IAAKE,GAAK,KAAO,OAASA,EAAE,EAAE,CAAA,EAChD,KAAK,CAACU,EAAGC,IAAMD,EAAIC,CAAC,EAAG,CAACH,EAAGC,CAAC,EAAI,CAChC,IAAK+H,GAAG,QAAQzI,EAAE,MAAOC,GAAK,KAAO,OAASA,EAAE,EAAE,EAClD,IAAKwI,GAAG,QAAQzI,EAAE,IAAKC,GAAK,KAAO,OAASA,EAAE,EAAE,GAChD,KAAK,CAACU,EAAGC,IAAMD,EAAIC,CAAC,EACf,OAAAX,GAAK,MAAQA,EAAE,UAAY,GAAKS,GAAKD,GAAKD,EAAI,EAAIE,GAAKD,EAAID,CACpE,CACA,IAAIkI,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,IAAMC,GACT,IAAIC,GAAKpH,EAAGqH,GAAK7G,EACjB,SAAS2G,GAAG7I,EAAGC,EAAG,CAChB,IAAIC,EAAG,EAAID,GAAK,KAAO,OAASA,EAAE,GAC3B,OAAAD,EAAE,QAASS,GAAM,CACrB,CAAA,GAAK,OAAOA,GAAK,WAAa,EAAIqI,GAAG,cAAc,KAAK,KAAMrI,CAAC,GAChE,MAAMC,KAAQqI,GAAG,QAAQtI,EAAG,CAAC,GAC5B,CAACP,GAAKA,EAAIQ,GAAK,MAAM,CAACA,CAAC,KAAOR,EAAIQ,EAAA,CACpC,KAAOoI,GAAG,eAAe,EAAG5I,GAAK,GAAG,CACvC,CACA,IAAI8I,GAAK,CAAC,EACVA,GAAG,IAAMC,GACT,IAAIC,GAAKxH,EAAGyH,GAAKjH,EACjB,SAAS+G,GAAGjJ,EAAGC,EAAG,CAChB,IAAIC,EAAG,EAAID,GAAK,KAAO,OAASA,EAAE,GAC3B,OAAAD,EAAE,QAASS,GAAM,CACrB,CAAA,GAAK,OAAOA,GAAK,WAAa,EAAIyI,GAAG,cAAc,KAAK,KAAMzI,CAAC,GAChE,MAAMC,KAAQyI,GAAG,QAAQ1I,EAAG,CAAC,GAC5B,CAACP,GAAKA,EAAIQ,GAAK,MAAM,CAACA,CAAC,KAAOR,EAAIQ,EAAA,CACpC,KAAOwI,GAAG,eAAe,EAAGhJ,GAAK,GAAG,CACvC,CACAyI,GAAG,MAAQS,GACX,IAAIC,GAAKrD,EAAGsD,GAAKV,GAAIW,GAAKP,GAC1B,SAASI,GAAGpJ,EAAGC,EAAGC,EAAG,CACnB,KAAM,CAAC,EAAGO,EAAGC,CAAC,KAAQ2I,GAAG,gBACvBnJ,GAAK,KAAO,OAASA,EAAE,GACvBF,EACAC,EAAE,MACFA,EAAE,GACJ,EACA,SAAWsJ,GAAG,KACZ,IAAKD,GAAG,KAAK,CAAC,EAAG7I,CAAC,EAAGP,CAAC,EAAGQ,CAAC,EAC1BR,CACF,CACF,CACA,IAAIsJ,GAAK,CAAC,EACVA,GAAG,eAAiBC,GACpB,IAAIC,GAAKxH,EACT,SAASuH,GAAGzJ,EAAGC,EAAG,CAChB,MAAMC,EAAI,IAAKwJ,GAAG,QAAQ1J,CAAC,EACvB,GAAA,MAAME,CAAC,EAAU,MAAA,KACrB,IAAI,EAAGO,EACP,OAAOR,EAAE,QAAQ,CAACS,EAAGC,IAAM,CACzB,MAAMC,KAAQ8I,GAAG,QAAQhJ,CAAC,EACtB,GAAA,MAAM,CAACE,CAAC,EAAG,CACb,EAAI,IAAKH,EAAI,IACb,MAAA,CAEF,MAAMI,EAAI,KAAK,IAAIX,EAAI,CAACU,CAAC,GACxB,GAAK,MAAQC,EAAIJ,KAAO,EAAIE,EAAGF,EAAII,EACrC,CAAA,EAAG,CACN,CACA,IAAI8I,GAAK,CAAC,EACVA,GAAG,UAAYC,GACf,IAAIC,GAAK7D,EAAG8D,GAAKN,GAAIO,GAAKrI,EAC1B,SAASkI,GAAG5J,EAAGC,EAAGC,EAAG,CACnB,KAAM,CAAC,EAAG,GAAGO,CAAC,KAAQoJ,GAAG,gBACvB3J,GAAK,KAAO,OAASA,EAAE,GACvBF,EACA,GAAGC,GACFS,KAAQoJ,GAAG,gBAAgB,EAAGrJ,CAAC,EAClC,GAAI,OAAOC,GAAK,UAAY,MAAMA,CAAC,EACjC,SAAWqJ,GAAG,eAAe,EAAG,GAAG,EACrC,GAAIrJ,IAAM,OAAe,OAAAD,EAAEC,CAAC,CAC9B,CACA,IAAIsJ,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAKhI,EACT,SAAS+H,GAAGjK,EAAGC,EAAG,CACV,MAAAC,EAAI,IAAKgK,GAAG,QAAQlK,CAAC,EAAI,IAAKkK,GAAG,QAAQjK,CAAC,EAChD,OAAOC,EAAI,EAAI,GAAKA,EAAI,EAAI,EAAIA,CAClC,CACA,IAAIiK,GAAK,CAAC,EACVA,GAAG,YAAcC,GACjB,IAAIC,GAAKnI,EACT,SAASkI,GAAGpK,EAAGC,EAAG,CACV,MAAAC,EAAI,IAAKmK,GAAG,QAAQrK,CAAC,EAAI,IAAKqK,GAAG,QAAQpK,CAAC,EAChD,OAAOC,EAAI,EAAI,GAAKA,EAAI,EAAI,EAAIA,CAClC,CACA,IAAIoK,GAAK,CAAC,EACVA,GAAG,aAAeC,GAClB,IAAIC,GAAK9I,EACT,SAAS6I,GAAGvK,EAAG,CACb,SAAWwK,GAAG,eAAexK,EAAG,KAAK,KAAK,CAC5C,CACA,IAAIyK,GAAK,CAAC,EACVA,GAAG,YAAcC,GACjB,IAAIC,GAAKhJ,EACT,SAAS+I,GAAG1K,EAAG,CACb,MAAMC,EAAI,KAAK,MAAMD,EAAI2K,GAAG,UAAU,EAC/B,OAAA1K,IAAM,EAAI,EAAIA,CACvB,CACA,IAAI2K,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,UAAYC,GACf,IAAIC,GAAK/E,EAAGgF,GAAK7E,GACjB,SAAS2E,GAAG9K,EAAGC,EAAGC,EAAG,CACnB,KAAM,CAAC,EAAGO,CAAC,KAAQsK,GAAG,gBACpB7K,GAAK,KAAO,OAASA,EAAE,GACvBF,EACAC,CACF,EACO,MAAA,IAAK+K,GAAG,YAAY,CAAC,GAAK,IAAKA,GAAG,YAAYvK,CAAC,CACxD,CACA,IAAIwK,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,OAASC,GACZ,SAASA,GAAGnL,EAAG,CACN,OAAAA,aAAa,MAAQ,OAAOA,GAAK,UAAY,OAAO,UAAU,SAAS,KAAKA,CAAC,IAAM,eAC5F,CACAiL,GAAG,QAAUG,GACb,IAAIC,GAAKH,GAAII,GAAKpJ,EAClB,SAASkJ,GAAGpL,EAAG,CACb,MAAO,EAAE,IAAKqL,GAAG,QAAQrL,CAAC,GAAK,OAAOA,GAAK,UAAY,MAAM,IAAKsL,GAAG,QAAQtL,CAAC,CAAC,EACjF,CACA4K,GAAG,yBAA2BW,GAC9B,IAAIC,GAAKxF,EAAGyF,GAAKhK,GAAIiK,GAAK9F,GAAI+F,GAAKd,GAAIe,GAAKX,GAAIY,GAAKpI,GACrD,SAAS8H,GAAGvL,EAAGC,EAAGC,EAAG,CACnB,KAAM,CAAC,EAAGO,CAAC,KAAQ+K,GAAG,gBACpBtL,GAAK,KAAO,OAASA,EAAE,GACvBF,EACAC,CACF,EACI,GAAA,IAAK2L,GAAG,SAAS,CAAC,GAAK,IAAKA,GAAG,SAASnL,CAAC,EACpC,MAAA,KACT,MAAMC,KAAQgL,GAAG,0BAA0B,EAAGjL,CAAC,EAAGE,EAAID,EAAI,EAAI,GAAK,EAAGE,EAAI,KAAK,MAAMF,EAAI,CAAC,EACtF,IAAAG,EAAID,EAAI,EAAGE,KAAQ2K,GAAG,SAAShL,EAAGG,EAAI,CAAC,EAC3C,KAAO,IAAK+K,GAAG,WAAW,EAAG7K,CAAC,GAC5BD,MAASgL,GAAG,WAAW/K,EAAGZ,CAAC,EAAI,EAAIS,EAAGG,KAAQ2K,GAAG,SAAS3K,EAAGH,CAAC,EACzD,OAAAE,IAAM,EAAI,EAAIA,CACvB,CACA,IAAIiL,GAAK,CAAC,EACVA,GAAG,iCAAmCC,GACtC,IAAIC,GAAKhG,EAAGiG,GAAKtH,GACjB,SAASoH,GAAG/L,EAAGC,EAAGC,EAAG,CACnB,KAAM,CAAC,EAAGO,CAAC,KAAQuL,GAAG,gBACpB9L,GAAK,KAAO,OAASA,EAAE,GACvBF,EACAC,CACF,EACQ,SAAGgM,GAAG,gBAAgB,EAAG/L,CAAC,KAAQ+L,GAAG,gBAAgBxL,EAAGP,CAAC,CACnE,CACA,IAAIgM,GAAK,CAAC,EACVA,GAAG,6BAA+BC,GAClC,IAAIC,GAAKvG,GAAIwG,GAAKrG,EAAGsG,GAAK3K,EAAG4K,GAAK3H,GAClC,SAASuH,GAAGnM,EAAGC,EAAGC,EAAG,CACnB,KAAM,CAAC,EAAGO,CAAC,KAAQ4L,GAAG,gBACpBnM,GAAK,KAAO,OAASA,EAAE,GACvBF,EACAC,CACF,EAAGS,KAAQ6L,GAAG,gBAAgB,CAAC,EAAG5L,KAAQ4L,GAAG,gBAAgB9L,CAAC,EAAGG,EAAI,CAACF,KAAQ0L,GAAG,iCAAiC1L,CAAC,EAAGG,EAAI,CAACF,KAAQyL,GAAG,iCAAiCzL,CAAC,EACxK,OAAO,KAAK,OACTC,EAAIC,GAAKyL,GAAG,kBACf,CACF,CACA,IAAIE,GAAK,CAAC,EACVA,GAAG,2BAA6BC,GAChC,IAAIC,GAAK1G,EACT,SAASyG,GAAGzM,EAAGC,EAAGC,EAAG,CACnB,KAAM,CAAC,EAAGO,CAAC,KAAQiM,GAAG,gBACpBxM,GAAK,KAAO,OAASA,EAAE,GACvBF,EACAC,CACC,EAAAS,EAAI,EAAE,YAAA,EAAgBD,EAAE,cAAeE,EAAI,EAAE,WAAaF,EAAE,SAAS,EACxE,OAAOC,EAAI,GAAKC,CAClB,CACA,IAAIgM,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,WAAaC,GAChB,IAAIC,GAAK5K,EACT,SAAS2K,GAAG7M,EAAGC,EAAG,CACV,MAAAC,KAAQ4M,GAAG,QAAQ9M,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EACrD,OAAO,KAAK,MAAMC,EAAE,SAAS,EAAI,CAAC,EAAI,CACxC,CACAyM,GAAG,6BAA+BI,GAClC,IAAIC,GAAKhH,EAAGiH,GAAKL,GACjB,SAASG,GAAG/M,EAAGC,EAAGC,EAAG,CACnB,KAAM,CAAC,EAAGO,CAAC,KAAQuM,GAAG,gBACpB9M,GAAK,KAAO,OAASA,EAAE,GACvBF,EACAC,CAAA,EACCS,EAAI,EAAE,YAAY,EAAID,EAAE,YAAY,EAAGE,KAAQsM,GAAG,YAAY,CAAC,KAAQA,GAAG,YAAYxM,CAAC,EAC1F,OAAOC,EAAI,EAAIC,CACjB,CACA,IAAIuM,GAAK,CAAC,EACVA,GAAG,0BAA4BC,GAC/B,IAAIC,GAAKvH,GAAIwH,GAAKrH,EAAGsH,GAAK3L,EAAG4L,GAAK1I,GAClC,SAASsI,GAAGnN,EAAGC,EAAGC,EAAG,CACnB,KAAM,CAAC,EAAGO,CAAC,KAAQ4M,GAAG,gBACpBnN,GAAK,KAAO,OAASA,EAAE,GACvBF,EACAC,CACC,EAAAS,KAAQ6M,GAAG,aAAa,EAAGrN,CAAC,EAAGS,KAAQ4M,GAAG,aAAa9M,EAAGP,CAAC,EAAGU,EAAI,CAACF,KAAQ0M,GAAG,iCAAiC1M,CAAC,EAAGG,EAAI,CAACF,KAAQyM,GAAG,iCAAiCzM,CAAC,EACxK,OAAO,KAAK,OACTC,EAAIC,GAAKyM,GAAG,kBACf,CACF,CACA,IAAIE,GAAK,CAAC,EACVA,GAAG,0BAA4BC,GAC/B,IAAIC,GAAK1H,EACT,SAASyH,GAAGzN,EAAGC,EAAGC,EAAG,CACnB,KAAM,CAAC,EAAGO,CAAC,KAAQiN,GAAG,gBACpBxN,GAAK,KAAO,OAASA,EAAE,GACvBF,EACAC,CACF,EACA,OAAO,EAAE,cAAgBQ,EAAE,YAAY,CACzC,CACA,IAAIkN,GAAK,CAAC,EACVA,GAAG,iBAAmBC,GACtB,IAAIC,GAAK7H,EAAG8H,GAAKlI,GACjB,SAASgI,GAAG5N,EAAGC,EAAGC,EAAG,CACnB,KAAM,CAAC,EAAGO,CAAC,KAAQoN,GAAG,gBACpB3N,GAAK,KAAO,OAASA,EAAE,GACvBF,EACAC,CAAA,EACCS,EAAIqN,GAAG,EAAGtN,CAAC,EAAGE,EAAI,KAAK,OACpBmN,GAAG,0BAA0B,EAAGrN,CAAC,CACvC,EACA,EAAE,QAAQ,EAAE,QAAQ,EAAIC,EAAIC,CAAC,EACvB,MAAAC,EAAI,EAAEmN,GAAG,EAAGtN,CAAC,IAAM,CAACC,GAAIG,EAAIH,GAAKC,EAAIC,GACpC,OAAAC,IAAM,EAAI,EAAIA,CACvB,CACA,SAASkN,GAAG/N,EAAGC,EAAG,CAChB,MAAMC,EAAIF,EAAE,YAAA,EAAgBC,EAAE,eAAiBD,EAAE,SAAa,EAAAC,EAAE,YAAcD,EAAE,UAAYC,EAAE,WAAaD,EAAE,SAAS,EAAIC,EAAE,YAAcD,EAAE,aAAeC,EAAE,cAAgBD,EAAE,WAAW,EAAIC,EAAE,WAAW,GAAKD,EAAE,gBAAgB,EAAIC,EAAE,gBAAgB,EACxP,OAAOC,EAAI,EAAI,GAAKA,EAAI,EAAI,EAAIA,CAClC,CACA,IAAI8N,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,kBAAoBC,GACvB,SAASA,GAAGlO,EAAG,CACb,OAAQC,GAAM,CACZ,MAAMxD,GAAKuD,EAAI,KAAKA,CAAC,EAAI,KAAK,OAAOC,CAAC,EAC/B,OAAAxD,IAAM,EAAI,EAAIA,CACvB,CACF,CACAuR,GAAG,kBAAoBG,GACvB,IAAIC,GAAKH,GAAII,GAAKrI,EAAGsI,GAAK3M,EAC1B,SAASwM,GAAGnO,EAAGC,EAAGC,EAAG,CACnB,KAAM,CAAC,EAAGO,CAAC,KAAQ4N,GAAG,gBACpBnO,GAAK,KAAO,OAASA,EAAE,GACvBF,EACAC,CAAA,EACCS,GAAK,CAAC,EAAI,CAACD,GAAK6N,GAAG,mBACd,SAAGF,GAAG,mBAAmBlO,GAAK,KAAO,OAASA,EAAE,cAAc,EAAEQ,CAAC,CAC3E,CACA,IAAI6N,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,gBAAkBC,GACrB,IAAIC,GAAKhK,GACT,SAAS+J,GAAGzO,EAAGC,EAAGC,EAAG,CACnB,SAAWwO,GAAG,iBAAiB1O,EAAG,CAACC,EAAGC,CAAC,CACzC,CACAqO,GAAG,yBAA2BI,GAC9B,IAAIC,GAAK5I,EAAG6I,GAAK7E,GAAI8E,GAAKhD,GAAIiD,GAAKP,GACnC,SAASG,GAAG3O,EAAGC,EAAGC,EAAG,CACnB,KAAM,CAAC,EAAGO,CAAC,KAAQmO,GAAG,gBACpB1O,GAAK,KAAO,OAASA,EAAE,GACvBF,EACAC,CAAA,EACCS,KAAQmO,GAAG,YAAY,EAAGpO,CAAC,EAAGE,EAAI,KAAK,OACpCmO,GAAG,kCACL,EACArO,EACAP,CAAA,CACF,EACCU,KAAQmO,GAAG,iBACZ,EACArO,EAAIC,EACJT,CACC,EAAAW,EAAI,KAAMgO,GAAG,YAAYjO,EAAGH,CAAC,IAAM,CAACC,GAAII,EAAIJ,GAAKC,EAAIE,GACjD,OAAAC,IAAM,EAAI,EAAIA,CACvB,CACA,IAAIkO,GAAK,CAAC,EACVA,GAAG,yBAA2BC,GAC9B,IAAIC,GAAKhN,EACT,SAAS+M,GAAGjP,EAAGC,EAAG,CACT,MAAA,IAAKiP,GAAG,QAAQlP,CAAC,EAAI,IAAKkP,GAAG,QAAQjP,CAAC,CAC/C,CACA,IAAIkP,GAAK,CAAC,EACVA,GAAG,oBAAsBC,GACzB,IAAIC,GAAKpB,GAAIqB,GAAK3N,EAAG4N,GAAKP,GAC1B,SAASI,GAAGpP,EAAGC,EAAGC,EAAG,CACnB,MAAM,KAAQqP,GAAG,0BAA0BvP,EAAGC,CAAC,EAAIqP,GAAG,qBAC9C,SAAGD,GAAG,mBAAmBnP,GAAK,KAAO,OAASA,EAAE,cAAc,EAAE,CAAC,CAC3E,CACA,IAAIsP,GAAK,CAAA,EAAIC,GAAK,CAAC,EAAGC,GAAK,CAAC,EAC5BA,GAAG,SAAWC,GACd,IAAIC,GAAK1N,EACT,SAASyN,GAAG3P,EAAGC,EAAG,CACV,MAAAC,KAAQ0P,GAAG,QAAQ5P,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EACrD,OAAOC,EAAE,SAAS,GAAI,GAAI,GAAI,GAAG,EAAGA,CACtC,CACA,IAAI2P,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAK7N,EACT,SAAS4N,GAAG9P,EAAGC,EAAG,CAChB,MAAMC,KAAQ6P,GAAG,QAAQ/P,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAG,EAAIC,EAAE,SAAS,EACvE,OAAOA,EAAE,YAAYA,EAAE,cAAe,EAAI,EAAG,CAAC,EAAGA,EAAE,SAAS,GAAI,GAAI,GAAI,GAAG,EAAGA,CAChF,CACAuP,GAAG,iBAAmBO,GACtB,IAAIC,GAAKP,GAAIQ,GAAKL,GAAIM,GAAKjO,EAC3B,SAAS8N,GAAGhQ,EAAGC,EAAG,CACV,MAAAC,KAAQiQ,GAAG,QAAQnQ,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EACrD,MAAO,IAAKgQ,GAAG,UAAU/P,EAAGD,CAAC,GAAK,IAAKiQ,GAAG,YAAYhQ,EAAGD,CAAC,CAC5D,CACAuP,GAAG,mBAAqBY,GACxB,IAAIC,GAAKrK,EAAGsK,GAAKtG,GAAIuG,GAAK/D,GAAIgE,GAAKf,GACnC,SAASW,GAAGpQ,EAAGC,EAAGC,EAAG,CACb,KAAA,CAAC,EAAGO,EAAGC,CAAC,KAAQ2P,GAAG,gBAAgBnQ,GAAK,KAAO,OAASA,EAAE,GAAIF,EAAGA,EAAGC,CAAC,EAAGU,KAAQ2P,GAAG,YAAY7P,EAAGC,CAAC,EAAGE,EAAI,KAAK,OAC/G2P,GAAG,4BAA4B9P,EAAGC,CAAC,CACzC,EACI,GAAAE,EAAI,EAAU,MAAA,GAClBH,EAAE,aAAe,GAAKA,EAAE,QAAA,EAAY,IAAMA,EAAE,QAAQ,EAAE,EAAGA,EAAE,SAASA,EAAE,SAAS,EAAIE,EAAIC,CAAC,EACxF,IAAIC,KAAQyP,GAAG,YAAY7P,EAAGC,CAAC,IAAM,CAACC,KAClC6P,GAAG,kBAAkB,CAAC,GAAK5P,IAAM,MAAS0P,GAAG,YAAY,EAAG5P,CAAC,IAAM,IAAMG,EAAI,IAC3E,MAAAC,EAAIH,GAAKC,EAAI,CAACC,GACb,OAAAC,IAAM,EAAI,EAAIA,CACvB,CACA,IAAI2P,GAAK,CAAC,EACVA,GAAG,qBAAuBC,GAC1B,IAAIC,GAAK1C,GAAI2C,GAAKpB,GAClB,SAASkB,GAAG1Q,EAAGC,EAAGC,EAAG,CACnB,MAAM,KAAQ0Q,GAAG,oBAAoB5Q,EAAGC,EAAGC,CAAC,EAAI,EACxC,SAAGyQ,GAAG,mBAAmBzQ,GAAK,KAAO,OAASA,EAAE,cAAc,EAAE,CAAC,CAC3E,CACA,IAAI2Q,GAAK,CAAC,EACVA,GAAG,oBAAsBC,GACzB,IAAIC,GAAK9C,GAAI+C,GAAKhC,GAClB,SAAS8B,GAAG9Q,EAAGC,EAAGC,EAAG,CACnB,MAAM,KAAQ8Q,GAAG,0BAA0BhR,EAAGC,CAAC,EAAI,IAC3C,SAAG8Q,GAAG,mBAAmB7Q,GAAK,KAAO,OAASA,EAAE,cAAc,EAAE,CAAC,CAC3E,CACA,IAAI+Q,GAAK,CAAC,EACVA,GAAG,kBAAoBC,GACvB,IAAIC,GAAKlD,GAAImD,GAAKzD,GAClB,SAASuD,GAAGlR,EAAGC,EAAGC,EAAG,CACnB,MAAM,KAAQkR,GAAG,kBAAkBpR,EAAGC,EAAGC,CAAC,EAAI,EACtC,SAAGiR,GAAG,mBAAmBjR,GAAK,KAAO,OAASA,EAAE,cAAc,EAAE,CAAC,CAC3E,CACA,IAAImR,GAAK,CAAC,EACVA,GAAG,kBAAoBC,GACvB,IAAIC,GAAKvL,EAAGwL,GAAKxH,GAAIyH,GAAKjE,GAC1B,SAAS8D,GAAGtR,EAAGC,EAAGC,EAAG,CACnB,KAAM,CAAC,EAAGO,CAAC,KAAQ8Q,GAAG,gBACpBrR,GAAK,KAAO,OAASA,EAAE,GACvBF,EACAC,CAAA,EACCS,KAAQ8Q,GAAG,YAAY,EAAG/Q,CAAC,EAAGE,EAAI,KAAK,OACpC8Q,GAAG,2BAA2B,EAAGhR,CAAC,CACxC,EACA,EAAE,YAAY,IAAI,EAAGA,EAAE,YAAY,IAAI,EACvC,MAAMG,KAAQ4Q,GAAG,YAAY,EAAG/Q,CAAC,IAAM,CAACC,EAAGG,EAAIH,GAAKC,EAAI,CAACC,GAClD,OAAAC,IAAM,EAAI,EAAIA,CACvB,CACA,IAAI6Q,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,kBAAoBC,GACvB,IAAIC,GAAK7L,EACT,SAAS4L,GAAG5R,EAAGC,EAAG,CAChB,KAAM,CAACC,EAAG,CAAC,KAAQ2R,GAAG,gBACpB7R,EACAC,EAAE,MACFA,EAAE,GACJ,EACA,MAAO,CAAE,MAAOC,EAAG,IAAK,CAAE,CAC5B,CACAwR,GAAG,kBAAoBI,GACvB,IAAIC,GAAKJ,GAAIK,GAAKtQ,EAClB,SAASoQ,GAAG9R,EAAGC,EAAG,OAChB,KAAM,CAAE,MAAOC,EAAG,IAAK,MAAU6R,GAAG,mBAAmB9R,GAAK,KAAO,OAASA,EAAE,GAAID,CAAC,EAC/E,IAAAS,EAAI,CAACP,EAAI,CAAC,EACR,MAAAQ,EAAID,EAAI,CAACP,EAAI,CAAC,EAAGS,EAAIF,EAAI,EAAIP,EACnCS,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EACrB,IAAIC,GAAKhI,EAAAqH,GAAK,KAAO,OAASA,EAAE,OAAvB,KAAArH,EAAgC,EACrC,GAAA,CAACgI,EAAG,MAAO,CAAC,EAChBA,EAAI,IAAMA,EAAI,CAACA,EAAGH,EAAI,CAACA,GACvB,MAAMI,EAAI,CAAC,EACX,KAAO,CAACF,GAAKD,GACTG,EAAA,QAASmR,GAAG,eAAe9R,EAAGS,CAAC,CAAC,EAAGA,EAAE,QAAQA,EAAE,QAAQ,EAAIC,CAAC,EAAGD,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EACjF,OAAAF,EAAII,EAAE,QAAA,EAAYA,CAC3B,CACA,IAAIoR,GAAK,CAAC,EACVA,GAAG,mBAAqBC,GACxB,IAAIC,GAAKR,GAAIS,GAAK1Q,EAClB,SAASwQ,GAAGlS,EAAGC,EAAG,OAChB,KAAM,CAAE,MAAOC,EAAG,IAAK,MAAUiS,GAAG,mBAAmBlS,GAAK,KAAO,OAASA,EAAE,GAAID,CAAC,EAC/E,IAAAS,EAAI,CAACP,EAAI,CAAC,EACR,MAAAQ,EAAID,EAAI,CAACP,EAAI,CAAC,EAAGS,EAAIF,EAAI,EAAIP,EACjCS,EAAA,WAAW,EAAG,EAAG,CAAC,EACpB,IAAIC,GAAKhI,EAAAqH,GAAK,KAAO,OAASA,EAAE,OAAvB,KAAArH,EAAgC,EACrC,GAAA,CAACgI,EAAG,MAAO,CAAC,EAChBA,EAAI,IAAMA,EAAI,CAACA,EAAGH,EAAI,CAACA,GACvB,MAAMI,EAAI,CAAC,EACX,KAAO,CAACF,GAAKD,GACXG,EAAE,QAASuR,GAAG,eAAelS,EAAGS,CAAC,CAAC,EAAGA,EAAE,SAASA,EAAE,SAAA,EAAaC,CAAC,EAC3D,OAAAH,EAAII,EAAE,QAAA,EAAYA,CAC3B,CACA,IAAIwR,GAAK,CAAC,EACVA,GAAG,qBAAuBC,GAC1B,IAAIC,GAAKZ,GAAIa,GAAKhL,GAAIiL,GAAK/Q,EAC3B,SAAS4Q,GAAGtS,EAAGC,EAAG,OAChB,KAAM,CAAE,MAAOC,EAAG,IAAK,MAAUqS,GAAG,mBAAmBtS,GAAK,KAAO,OAASA,EAAE,GAAID,CAAC,EACjFE,EAAA,WAAW,EAAG,CAAC,EACb,IAAAO,EAAI,CAACP,EAAI,CAAC,EACd,MAAMQ,EAAID,EAAI,CAACP,EAAI,CAAC,EAChB,IAAAS,EAAIF,EAAI,EAAIP,EAAGU,GAAKhI,EAAAqH,GAAK,KAAO,OAASA,EAAE,OAAvB,KAAArH,EAAgC,EACpD,GAAA,CAACgI,EAAG,MAAO,CAAC,EAChBA,EAAI,IAAMA,EAAI,CAACA,EAAGH,EAAI,CAACA,GACvB,MAAMI,EAAI,CAAC,EACX,KAAO,CAACF,GAAKD,GACXG,EAAE,QAAS4R,GAAG,eAAevS,EAAGS,CAAC,CAAC,EAAGA,KAAQ6R,GAAG,YAAY7R,EAAGC,CAAC,EAC3D,OAAAH,EAAII,EAAE,QAAA,EAAYA,CAC3B,CACA,IAAI6R,GAAK,CAAC,EACVA,GAAG,oBAAsBC,GACzB,IAAIC,GAAKjB,GAAIkB,GAAKnR,EAClB,SAASiR,GAAG3S,EAAGC,EAAG,OAChB,KAAM,CAAE,MAAOC,EAAG,IAAK,MAAU0S,GAAG,mBAAmB3S,GAAK,KAAO,OAASA,EAAE,GAAID,CAAC,EAC/E,IAAAS,EAAI,CAACP,EAAI,CAAC,EACR,MAAAQ,EAAID,EAAI,CAACP,EAAI,CAAC,EAAGS,EAAIF,EAAI,EAAIP,EACjCS,EAAA,SAAS,EAAG,EAAG,EAAG,CAAC,EAAGA,EAAE,QAAQ,CAAC,EACnC,IAAIC,GAAKhI,EAAAqH,GAAK,KAAO,OAASA,EAAE,OAAvB,KAAArH,EAAgC,EACrC,GAAA,CAACgI,EAAG,MAAO,CAAC,EAChBA,EAAI,IAAMA,EAAI,CAACA,EAAGH,EAAI,CAACA,GACvB,MAAMI,EAAI,CAAC,EACX,KAAO,CAACF,GAAKD,GACXG,EAAE,QAASgS,GAAG,eAAe3S,EAAGS,CAAC,CAAC,EAAGA,EAAE,SAASA,EAAE,SAAA,EAAaC,CAAC,EAC3D,OAAAH,EAAII,EAAE,QAAA,EAAYA,CAC3B,CACA,IAAIiS,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,eAAiBC,GACpB,IAAIC,GAAK/Q,EACT,SAAS8Q,GAAGhT,EAAGC,EAAG,CAChB,MAAMC,KAAQ+S,GAAG,QAAQjT,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAG,EAAIC,EAAE,SAAY,EAAAO,EAAI,EAAI,EAAI,EAC/E,OAAAP,EAAE,SAASO,EAAG,CAAC,EAAGP,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAGA,CACnD,CACA4S,GAAG,sBAAwBI,GAC3B,IAAIC,GAAKxB,GAAIyB,GAAKxL,GAAIyL,GAAK3R,EAAG4R,GAAKP,GACnC,SAASG,GAAGlT,EAAGC,EAAG,OAChB,KAAM,CAAE,MAAOC,EAAG,IAAK,MAAUiT,GAAG,mBAAmBlT,GAAK,KAAO,OAASA,EAAE,GAAID,CAAC,EAC/E,IAAAS,EAAI,CAACP,EAAI,CAAC,EACd,MAAMQ,EAAID,EAAI,IAAK6S,GAAG,gBAAgBpT,CAAC,EAAI,IAAKoT,GAAG,gBAAgB,CAAC,EACpE,IAAI3S,EAAIF,KAAQ6S,GAAG,gBAAgB,CAAC,KAAQA,GAAG,gBAAgBpT,CAAC,EAAGU,GAAKhI,EAAAqH,GAAK,KAAO,OAASA,EAAE,OAAvB,KAAArH,EAAgC,EACpG,GAAA,CAACgI,EAAG,MAAO,CAAC,EAChBA,EAAI,IAAMA,EAAI,CAACA,EAAGH,EAAI,CAACA,GACvB,MAAMI,EAAI,CAAC,EACX,KAAO,CAACF,GAAKD,GACXG,EAAE,QAASwS,GAAG,eAAenT,EAAGS,CAAC,CAAC,EAAGA,KAAQyS,GAAG,aAAazS,EAAGC,CAAC,EAC5D,OAAAH,EAAII,EAAE,QAAA,EAAYA,CAC3B,CACA,IAAI0S,GAAK,CAAC,EACVA,GAAG,mBAAqBC,GACxB,IAAIC,GAAK9B,GAAI+B,GAAKxL,GAAIyL,GAAKjS,EAAGkS,GAAK/O,GACnC,SAAS2O,GAAGxT,EAAGC,EAAG,OAChB,KAAM,CAAE,MAAOC,EAAG,IAAK,MAAUuT,GAAG,mBAAmBxT,GAAK,KAAO,OAASA,EAAE,GAAID,CAAC,EAC/E,IAAAS,EAAI,CAACP,EAAI,CAAC,EACR,MAAAQ,EAAID,KAAQmT,GAAG,aAAa,EAAG3T,CAAC,KAAQ2T,GAAG,aAAa1T,EAAGD,CAAC,EAAGU,EAAIF,KAAQmT,GAAG,aAAa1T,EAAGD,CAAC,KAAQ2T,GAAG,aAAa,EAAG3T,CAAC,EACjIS,EAAE,SAAS,EAAE,EAAGC,EAAE,SAAS,EAAE,EACvB,MAAAC,EAAI,CAACD,EAAE,QAAQ,EACrB,IAAIE,EAAIH,EAAGI,GAAKlI,EAAAqH,GAAK,KAAO,OAASA,EAAE,OAAvB,KAAArH,EAAgC,EAC5C,GAAA,CAACkI,EAAG,MAAO,CAAC,EAChBA,EAAI,IAAMA,EAAI,CAACA,EAAGL,EAAI,CAACA,GACvB,MAAMvF,EAAI,CAAC,EACX,KAAO,CAAC2F,GAAKD,GACTC,EAAA,SAAS,CAAC,EAAG3F,EAAE,QAASyY,GAAG,eAAezT,EAAGW,CAAC,CAAC,EAAGA,KAAQ6S,GAAG,UAAU7S,EAAGC,CAAC,EAAGD,EAAE,SAAS,EAAE,EACxF,OAAAJ,EAAIvF,EAAE,QAAA,EAAYA,CAC3B,CACA,IAAI2Y,GAAK,CAAC,EACVA,GAAG,sBAAwBC,GAC3B,IAAIC,GAAKpC,GAAIqC,GAAKtS,EAAGuS,GAAKvC,GAAIwC,GAAKzQ,GACnC,SAASqQ,GAAG9T,EAAGC,EAAG,CAChB,KAAM,CAAE,MAAOC,EAAG,IAAK,CAAE,KAAQ6T,GAAG,mBAAmB9T,GAAK,KAAO,OAASA,EAAE,GAAID,CAAC,EAAGS,KAAQwT,GAAG,mBAAmB,CAAE,MAAO/T,EAAG,IAAK,CAAE,EAAGD,CAAC,EAAGS,EAAI,CAAC,EACnJ,IAAIC,EAAI,EACD,KAAAA,EAAIF,EAAE,QAAU,CACf,MAAAG,EAAIH,EAAEE,GAAG,KACXuT,GAAG,WAAWtT,CAAC,GAAKF,EAAE,QAASsT,GAAG,eAAe9T,EAAGU,CAAC,CAAC,CAAA,CAErD,OAAAF,CACT,CACA,IAAIyT,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,aAAeC,GAClB,IAAIC,GAAKpS,EACT,SAASmS,GAAGrU,EAAGC,EAAG,CACV,MAAAC,KAAQoU,GAAG,QAAQtU,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAC9C,OAAAC,EAAE,QAAQ,CAAC,EAAGA,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAGA,CAC/C,CACAiU,GAAG,mBAAqBI,GACxB,IAAIC,GAAKX,GAAIY,GAAK5E,GAAI6E,GAAKN,GAC3B,SAASG,GAAGvU,EAAGC,EAAG,CAChB,MAAMC,KAAQwU,GAAG,cAAc1U,EAAGC,CAAC,EAAG,KAAQwU,GAAG,YAAYzU,EAAGC,CAAC,EACzD,SAAGuU,GAAG,uBAAuB,CAAE,MAAOtU,EAAG,IAAK,CAAE,EAAGD,CAAC,CAC9D,CACA,IAAI0U,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,UAAYC,GACf,IAAIC,GAAK5S,EACT,SAAS2S,GAAG7U,EAAGC,EAAG,CAChB,MAAMC,KAAQ4U,GAAG,QAAQ9U,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAG,EAAIC,EAAE,YAAY,EAC1E,OAAOA,EAAE,YAAY,EAAI,EAAG,EAAG,CAAC,EAAGA,EAAE,SAAS,GAAI,GAAI,GAAI,GAAG,EAAGA,CAClE,CACA,IAAI6U,GAAK,CAAC,EACVA,GAAG,YAAcC,GACjB,IAAIC,GAAK/S,EACT,SAAS8S,GAAGhV,EAAGC,EAAG,CACV,MAAAC,KAAQ+U,GAAG,QAAQjV,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EACrD,OAAOC,EAAE,YAAYA,EAAE,cAAe,EAAG,CAAC,EAAGA,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAGA,CACvE,CACAyU,GAAG,kBAAoBO,GACvB,IAAIC,GAAKtB,GAAIuB,GAAKR,GAAIS,GAAKN,GAC3B,SAASG,GAAGlV,EAAGC,EAAG,CAChB,MAAMC,KAAQmV,GAAG,aAAarV,EAAGC,CAAC,EAAG,KAAQmV,GAAG,WAAWpV,EAAGC,CAAC,EACvD,SAAGkV,GAAG,uBAAuB,CAAE,MAAOjV,EAAG,IAAK,CAAE,EAAGD,CAAC,CAC9D,CACA,IAAIqV,GAAK,CAAC,EACVA,GAAG,mBAAqBC,GACxB,IAAIC,GAAK7D,GAAI8D,GAAK/T,EAClB,SAAS6T,GAAGvV,EAAGC,EAAG,OAChB,KAAM,CAAE,MAAOC,EAAG,IAAK,MAAUsV,GAAG,mBAAmBvV,GAAK,KAAO,OAASA,EAAE,GAAID,CAAC,EAC/E,IAAAS,EAAI,CAACP,EAAI,CAAC,EACR,MAAAQ,EAAID,EAAI,CAACP,EAAI,CAAC,EAAGS,EAAIF,EAAI,EAAIP,EACjCS,EAAA,SAAS,EAAG,EAAG,EAAG,CAAC,EAAGA,EAAE,SAAS,EAAG,CAAC,EACvC,IAAIC,GAAKhI,EAAAqH,GAAK,KAAO,OAASA,EAAE,OAAvB,KAAArH,EAAgC,EACrC,GAAA,CAACgI,EAAG,MAAO,CAAC,EAChBA,EAAI,IAAMA,EAAI,CAACA,EAAGH,EAAI,CAACA,GACvB,MAAMI,EAAI,CAAC,EACX,KAAO,CAACF,GAAKD,GACXG,EAAE,QAAS4U,GAAG,eAAevV,EAAGS,CAAC,CAAC,EAAGA,EAAE,YAAYA,EAAE,YAAA,EAAgBC,CAAC,EACjE,OAAAH,EAAII,EAAE,QAAA,EAAYA,CAC3B,CACA,IAAI6U,GAAK,CAAC,EACVA,GAAG,YAAcC,GACjB,IAAIC,GAAK1T,EACT,SAASyT,GAAG3V,EAAGC,EAAG,CACV,MAAAC,KAAQ0V,GAAG,QAAQ5V,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAG,EAAIC,EAAE,YAAe,EAAAO,EAAI,EAAI,KAAK,MAAM,EAAI,EAAE,EAAI,GAC1G,OAAOP,EAAE,YAAYO,EAAG,GAAI,EAAE,EAAGP,EAAE,SAAS,GAAI,GAAI,GAAI,GAAG,EAAGA,CAChE,CACA,IAAI2V,GAAK,CAAC,EACVA,GAAG,UAAYC,GACf,IAAIC,GAAK7T,EACT,SAAS4T,GAAG9V,EAAGC,EAAG,CACV,MAAAC,KAAQ6V,GAAG,QAAQ/V,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EACrD,OAAOC,EAAE,WAAW,GAAI,GAAI,GAAG,EAAGA,CACpC,CACA,IAAI8V,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,UAAYC,GACf,IAAIC,GAAKrR,GAAIsR,GAAKlU,EAClB,SAASgU,GAAGlW,EAAGC,EAAG,aACZ,IAAAW,EAAGC,EAAGC,EAAG5F,EACb,MAAMgF,KAAQiW,GAAG,mBAAA,EAAsB1Z,GAAKc,GAAAzD,GAAAF,GAAAhB,EAAAqH,GAAK,KAAO,OAASA,EAAE,eAAvB,KAAArH,GAA0CiI,GAAKD,EAAIX,GAAK,KAAO,OAASA,EAAE,SAAW,KAAO,OAASW,EAAE,UAAY,KAAO,OAASC,EAAE,eAArI,KAAAjH,EAAsJsG,EAAE,eAAxJ,KAAApG,GAA0KoB,GAAK4F,EAAIZ,EAAE,SAAW,KAAO,OAASY,EAAE,UAAY,KAAO,OAAS5F,EAAE,eAAhP,KAAAqC,EAAiQ,EAAGkD,KAAQ2V,GAAG,QAAQpW,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAGS,EAAID,EAAE,SAAUE,GAAKD,EAAIjE,EAAI,GAAK,GAAK,GAAKiE,EAAIjE,GAClZ,OAAOgE,EAAE,QAAQA,EAAE,QAAA,EAAYE,CAAC,EAAGF,EAAE,SAAS,GAAI,GAAI,GAAI,GAAG,EAAGA,CAClE,CACAuV,GAAG,aAAeK,GAClB,IAAIC,GAAKL,GACT,SAASI,GAAGrW,EAAGC,EAAG,CACR,SAAGqW,GAAG,WAAWtW,EAAG,CAAE,GAAGC,EAAG,aAAc,EAAG,CACvD,CACA,IAAIsW,GAAK,CAAC,EACVA,GAAG,iBAAmBC,GACtB,IAAIC,GAAK/U,EAAGgV,GAAK/R,GAAIgS,GAAK/R,GAC1B,SAAS4R,GAAGxW,EAAGC,EAAG,CACV,MAAAC,KAAQwW,GAAG,gBAAgB1W,EAAGC,CAAC,EAAG,KAAQwW,GAAG,gBAChDxW,GAAK,KAAO,OAASA,EAAE,KAAOD,EAC/B,CACF,EACE,EAAA,YAAYE,EAAI,EAAG,EAAG,CAAC,EAAG,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EACjD,MAAMO,KAAQkW,GAAG,gBAAgB,EAAG1W,CAAC,EACrC,OAAOQ,EAAE,gBAAgBA,EAAE,gBAAgB,EAAI,CAAC,EAAGA,CACrD,CACA,IAAImW,GAAK,CAAC,EACVA,GAAG,YAAcC,GACjB,IAAIC,GAAK5U,EACT,SAAS2U,GAAG7W,EAAGC,EAAG,CACV,MAAAC,KAAQ4W,GAAG,QAAQ9W,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EACrD,OAAOC,EAAE,WAAW,GAAI,GAAG,EAAGA,CAChC,CACA,IAAI6W,GAAK,CAAC,EACVA,GAAG,aAAeC,GAClB,IAAIC,GAAK/U,EACT,SAAS8U,GAAGhX,EAAGC,EAAG,CAChB,MAAMC,KAAQ+W,GAAG,QAAQjX,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAG,EAAIC,EAAE,SAAA,EAAYO,EAAI,EAAI,EAAI,EAAI,EACnF,OAAAP,EAAE,SAASO,EAAG,CAAC,EAAGP,EAAE,SAAS,GAAI,GAAI,GAAI,GAAG,EAAGA,CACxD,CACA,IAAIgX,GAAK,CAAC,EACVA,GAAG,YAAcC,GACjB,IAAIC,GAAKlV,EACT,SAASiV,GAAGnX,EAAGC,EAAG,CACV,MAAAC,KAAQkX,GAAG,QAAQpX,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAC9C,OAAAC,EAAE,gBAAgB,GAAG,EAAGA,CACjC,CACA,IAAImX,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAK7H,GACT,SAAS4H,GAAGtX,EAAG,CACb,SAAWuX,GAAG,UAAU,KAAK,IAAA,EAAOvX,CAAC,CACvC,CACA,IAAIwX,GAAK,CAAC,EACVA,GAAG,cAAgBC,GACnB,IAAIC,GAAKpN,GACT,SAASmN,GAAGzX,EAAG,CACb,MAAMC,KAAQyX,GAAG,cAAc1X,GAAK,KAAO,OAASA,EAAE,EAAE,EAAGE,EAAID,EAAE,YAAe,EAAA,EAAIA,EAAE,SAAY,EAAAQ,EAAIR,EAAE,QAAA,EAAWS,KAAQgX,GAAG,cAAc1X,GAAK,KAAO,OAASA,EAAE,EAAE,EAC9J,OAAAU,EAAE,YAAYR,EAAG,EAAGO,EAAI,CAAC,EAAGC,EAAE,SAAS,GAAI,GAAI,GAAI,GAAG,EAAGV,GAAK,MAAQA,EAAE,GAAKA,EAAE,GAAGU,CAAC,EAAIA,CAChG,CACA,IAAIiX,GAAK,CAAC,EACVA,GAAG,eAAiBC,GACpB,IAAIC,GAAKnW,EAAGoW,GAAKxN,GACjB,SAASsN,GAAG5X,EAAG,CACb,MAAMC,KAAQ6X,GAAG,cAAc9X,GAAK,KAAO,OAASA,EAAE,EAAE,EAAGE,KAAQ2X,GAAG,eAAe7X,GAAK,KAAO,OAASA,EAAE,GAAI,CAAC,EACjH,OAAOE,EAAE,YAAYD,EAAE,YAAe,EAAAA,EAAE,SAAY,EAAAA,EAAE,QAAY,EAAA,CAAC,EAAGC,EAAE,SAAS,GAAI,GAAI,GAAI,GAAG,EAAGA,CACrG,CACA,IAAI6X,GAAK,CAAC,EAAGC,GAAK,CAAA,EAAIC,GAAK,CAAA,EAAIC,GAAK,CAAC,EACrCA,GAAG,eAAiB,OACpB,MAAMC,GAAK,CACT,iBAAkB,CAChB,IAAK,qBACL,MAAO,6BACT,EACA,SAAU,CACR,IAAK,WACL,MAAO,mBACT,EACA,YAAa,gBACb,iBAAkB,CAChB,IAAK,qBACL,MAAO,6BACT,EACA,SAAU,CACR,IAAK,WACL,MAAO,mBACT,EACA,YAAa,CACX,IAAK,eACL,MAAO,uBACT,EACA,OAAQ,CACN,IAAK,SACL,MAAO,iBACT,EACA,MAAO,CACL,IAAK,QACL,MAAO,gBACT,EACA,YAAa,CACX,IAAK,eACL,MAAO,uBACT,EACA,OAAQ,CACN,IAAK,SACL,MAAO,iBACT,EACA,aAAc,CACZ,IAAK,gBACL,MAAO,wBACT,EACA,QAAS,CACP,IAAK,UACL,MAAO,kBACT,EACA,YAAa,CACX,IAAK,eACL,MAAO,uBACT,EACA,OAAQ,CACN,IAAK,SACL,MAAO,iBACT,EACA,WAAY,CACV,IAAK,cACL,MAAO,sBACT,EACA,aAAc,CACZ,IAAK,gBACL,MAAO,wBAAA,CAEX,EAAGC,GAAK,CAACpY,EAAGC,EAAGC,IAAM,CACf,IAAA,EACE,MAAAO,EAAI0X,GAAGnY,CAAC,EACd,OAAO,OAAOS,GAAK,SAAW,EAAIA,EAAIR,IAAM,EAAI,EAAIQ,EAAE,IAAM,EAAIA,EAAE,MAAM,QAAQ,YAAaR,EAAE,SAAU,CAAA,EAAGC,GAAK,MAAQA,EAAE,UAAYA,EAAE,YAAcA,EAAE,WAAa,EAAI,MAAQ,EAAI,EAAI,OAAS,CACrM,EACAgY,GAAG,eAAiBE,GACpB,IAAIC,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,kBAAoBC,GACvB,SAASA,GAAGvY,EAAG,CACN,MAAA,CAACC,EAAI,KAAO,CACjB,MAAMC,EAAID,EAAE,MAAQ,OAAOA,EAAE,KAAK,EAAID,EAAE,aACxC,OAAOA,EAAE,QAAQE,CAAC,GAAKF,EAAE,QAAQA,EAAE,YAAY,CACjD,CACF,CACAqY,GAAG,WAAa,OAChB,IAAIG,GAAKF,GACT,MAAMG,GAAK,CACT,KAAM,mBACN,KAAM,aACN,OAAQ,WACR,MAAO,YACT,EAAGC,GAAK,CACN,KAAM,iBACN,KAAM,cACN,OAAQ,YACR,MAAO,QACT,EAAGC,GAAK,CACN,KAAM,yBACN,KAAM,yBACN,OAAQ,qBACR,MAAO,oBACT,EACAN,GAAG,WAAa,CACd,QAAUG,GAAG,mBAAmB,CAC9B,QAASC,GACT,aAAc,MAAA,CACf,EACD,QAAUD,GAAG,mBAAmB,CAC9B,QAASE,GACT,aAAc,MAAA,CACf,EACD,YAAcF,GAAG,mBAAmB,CAClC,QAASG,GACT,aAAc,MACf,CAAA,CACH,EACA,IAAIC,GAAK,CAAC,EACVA,GAAG,eAAiB,OACpB,MAAMC,GAAK,CACT,SAAU,qBACV,UAAW,mBACX,MAAO,eACP,SAAU,kBACV,SAAU,cACV,MAAO,GACT,EAAGC,GAAK,CAAC9Y,EAAGC,EAAGC,EAAG,IAAM2Y,GAAG7Y,CAAC,EAC5B4Y,GAAG,eAAiBE,GACpB,IAAIC,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,gBAAkBC,GACrB,SAASA,GAAGjZ,EAAG,CACN,MAAA,CAACC,EAAGC,IAAM,CACT,MAAA,EAAIA,GAAK,MAAQA,EAAE,QAAU,OAAOA,EAAE,OAAO,EAAI,aACnD,IAAAO,EACA,GAAA,IAAM,cAAgBT,EAAE,iBAAkB,CAC5C,MAAMW,EAAIX,EAAE,wBAA0BA,EAAE,aAAcY,EAAIV,GAAK,MAAQA,EAAE,MAAQ,OAAOA,EAAE,KAAK,EAAIS,EACnGF,EAAIT,EAAE,iBAAiBY,CAAC,GAAKZ,EAAE,iBAAiBW,CAAC,CAAA,KAC5C,CACL,MAAMA,EAAIX,EAAE,aAAcY,EAAIV,GAAK,MAAQA,EAAE,MAAQ,OAAOA,EAAE,KAAK,EAAIF,EAAE,aACzES,EAAIT,EAAE,OAAOY,CAAC,GAAKZ,EAAE,OAAOW,CAAC,CAAA,CAE/B,MAAMD,EAAIV,EAAE,iBAAmBA,EAAE,iBAAiBC,CAAC,EAAIA,EACvD,OAAOQ,EAAEC,CAAC,CACZ,CACF,CACAqY,GAAG,SAAW,OACd,IAAIG,GAAKF,GACT,MAAMG,GAAK,CACT,OAAQ,CAAC,IAAK,GAAG,EACjB,YAAa,CAAC,KAAM,IAAI,EACxB,KAAM,CAAC,gBAAiB,aAAa,CACvC,EAAGC,GAAK,CACN,OAAQ,CAAC,IAAK,IAAK,IAAK,GAAG,EAC3B,YAAa,CAAC,KAAM,KAAM,KAAM,IAAI,EACpC,KAAM,CAAC,cAAe,cAAe,cAAe,aAAa,CACnE,EAAGC,GAAK,CACN,OAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EACnE,YAAa,CACX,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACF,EACA,KAAM,CACJ,UACA,WACA,QACA,QACA,MACA,OACA,OACA,SACA,YACA,UACA,WACA,UAAA,CAEJ,EAAGC,GAAK,CACN,OAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC1C,MAAO,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAI,EAChD,YAAa,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAK,EAC7D,KAAM,CACJ,SACA,SACA,UACA,YACA,WACA,SACA,UAAA,CAEJ,EAAGC,GAAK,CACN,OAAQ,CACN,GAAI,IACJ,GAAI,IACJ,SAAU,KACV,KAAM,IACN,QAAS,UACT,UAAW,YACX,QAAS,UACT,MAAO,OACT,EACA,YAAa,CACX,GAAI,KACJ,GAAI,KACJ,SAAU,WACV,KAAM,OACN,QAAS,UACT,UAAW,YACX,QAAS,UACT,MAAO,OACT,EACA,KAAM,CACJ,GAAI,OACJ,GAAI,OACJ,SAAU,WACV,KAAM,OACN,QAAS,UACT,UAAW,YACX,QAAS,UACT,MAAO,OAAA,CAEX,EAAGC,GAAK,CACN,OAAQ,CACN,GAAI,IACJ,GAAI,IACJ,SAAU,KACV,KAAM,IACN,QAAS,iBACT,UAAW,mBACX,QAAS,iBACT,MAAO,UACT,EACA,YAAa,CACX,GAAI,KACJ,GAAI,KACJ,SAAU,WACV,KAAM,OACN,QAAS,iBACT,UAAW,mBACX,QAAS,iBACT,MAAO,UACT,EACA,KAAM,CACJ,GAAI,OACJ,GAAI,OACJ,SAAU,WACV,KAAM,OACN,QAAS,iBACT,UAAW,mBACX,QAAS,iBACT,MAAO,UAAA,CAEX,EAAGC,GAAK,CAACzZ,EAAGC,IAAM,CAChB,MAAMC,EAAI,OAAOF,CAAC,EAAG,EAAIE,EAAI,IACzB,GAAA,EAAI,IAAM,EAAI,GAChB,OAAQ,EAAI,GAAI,CACd,IAAK,GACH,OAAOA,EAAI,KACb,IAAK,GACH,OAAOA,EAAI,KACb,IAAK,GACH,OAAOA,EAAI,IAAA,CAEjB,OAAOA,EAAI,IACb,EACA6Y,GAAG,SAAW,CACZ,cAAeU,GACf,OAASP,GAAG,iBAAiB,CAC3B,OAAQC,GACR,aAAc,MAAA,CACf,EACD,WAAaD,GAAG,iBAAiB,CAC/B,OAAQE,GACR,aAAc,OACd,iBAAmBpZ,GAAMA,EAAI,CAAA,CAC9B,EACD,SAAWkZ,GAAG,iBAAiB,CAC7B,OAAQG,GACR,aAAc,MAAA,CACf,EACD,OAASH,GAAG,iBAAiB,CAC3B,OAAQI,GACR,aAAc,MAAA,CACf,EACD,aAAeJ,GAAG,iBAAiB,CACjC,OAAQK,GACR,aAAc,OACd,iBAAkBC,GAClB,uBAAwB,MACzB,CAAA,CACH,EACA,IAAIE,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,aAAeC,GAClB,SAASA,GAAG5Z,EAAG,CACb,MAAO,CAACC,EAAGC,EAAI,KAAO,CACpB,MAAM,EAAIA,EAAE,MAAOO,EAAI,GAAKT,EAAE,cAAc,CAAC,GAAKA,EAAE,cAAcA,EAAE,iBAAiB,EAAGU,EAAIT,EAAE,MAAMQ,CAAC,EACrG,GAAI,CAACC,EACI,OAAA,KACH,MAAAC,EAAID,EAAE,CAAC,EAAGE,EAAI,GAAKZ,EAAE,cAAc,CAAC,GAAKA,EAAE,cAAcA,EAAE,iBAAiB,EAAGa,EAAI,MAAM,QAAQD,CAAC,EAAIiZ,GAAGjZ,EAAIG,GAAMA,EAAE,KAAKJ,CAAC,CAAC,EAEhImZ,GAAGlZ,EAAIG,GAAMA,EAAE,KAAKJ,CAAC,CAAC,EAEpB,IAAAG,EACAA,EAAAd,EAAE,cAAgBA,EAAE,cAAca,CAAC,EAAIA,EAAGC,EAAIZ,EAAE,cAElDA,EAAE,cAAcY,CAAC,EACfA,EACJ,MAAM5F,EAAI+E,EAAE,MAAMU,EAAE,MAAM,EAC1B,MAAO,CAAE,MAAOG,EAAG,KAAM5F,CAAE,CAC7B,CACF,CACA,SAAS4e,GAAG9Z,EAAGC,EAAG,CAChB,UAAWC,KAAKF,EACV,GAAA,OAAO,UAAU,eAAe,KAAKA,EAAGE,CAAC,GAAKD,EAAED,EAAEE,CAAC,CAAC,EAC/C,OAAAA,CACb,CACA,SAAS2Z,GAAG7Z,EAAGC,EAAG,CAChB,QAASC,EAAI,EAAGA,EAAIF,EAAE,OAAQE,IACxB,GAAAD,EAAED,EAAEE,CAAC,CAAC,EACD,OAAAA,CACb,CACA,IAAI6Z,GAAK,CAAC,EACVA,GAAG,oBAAsBC,GACzB,SAASA,GAAGha,EAAG,CACb,MAAO,CAACC,EAAGC,EAAI,KAAO,CACpB,MAAM,EAAID,EAAE,MAAMD,EAAE,YAAY,EAC5B,GAAA,CAAC,EAAU,OAAA,KACT,MAAAS,EAAI,EAAE,CAAC,EAAGC,EAAIT,EAAE,MAAMD,EAAE,YAAY,EACtC,GAAA,CAACU,EAAU,OAAA,KACX,IAAAC,EAAIX,EAAE,cAAgBA,EAAE,cAAcU,EAAE,CAAC,CAAC,EAAIA,EAAE,CAAC,EACrDC,EAAIT,EAAE,cAAgBA,EAAE,cAAcS,CAAC,EAAIA,EAC3C,MAAMC,EAAIX,EAAE,MAAMQ,EAAE,MAAM,EAC1B,MAAO,CAAE,MAAOE,EAAG,KAAMC,CAAE,CAC7B,CACF,CACA8Y,GAAG,MAAQ,OACX,IAAIO,GAAKN,GAAIO,GAAKH,GAClB,MAAMI,GAAK,wBAAyBC,GAAK,OAAQC,GAAK,CACpD,OAAQ,UACR,YAAa,6DACb,KAAM,4DACR,EAAGC,GAAK,CACN,IAAK,CAAC,MAAO,SAAS,CACxB,EAAGC,GAAK,CACN,OAAQ,WACR,YAAa,YACb,KAAM,gCACR,EAAGC,GAAK,CACN,IAAK,CAAC,KAAM,KAAM,KAAM,IAAI,CAC9B,EAAGC,GAAK,CACN,OAAQ,eACR,YAAa,sDACb,KAAM,2FACR,EAAGC,GAAK,CACN,OAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACF,EACA,IAAK,CACH,OACA,MACA,QACA,OACA,QACA,QACA,QACA,OACA,MACA,MACA,MACA,KAAA,CAEJ,EAAGC,GAAK,CACN,OAAQ,YACR,MAAO,2BACP,YAAa,kCACb,KAAM,8DACR,EAAGC,GAAK,CACN,OAAQ,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAK,EACxD,IAAK,CAAC,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAM,CAC3D,EAAGC,GAAK,CACN,OAAQ,6DACR,IAAK,gFACP,EAAGC,GAAK,CACN,IAAK,CACH,GAAI,MACJ,GAAI,MACJ,SAAU,OACV,KAAM,OACN,QAAS,WACT,UAAW,aACX,QAAS,WACT,MAAO,QAAA,CAEX,EACApB,GAAG,MAAQ,CACT,iBAAmBQ,GAAG,qBAAqB,CACzC,aAAcC,GACd,aAAcC,GACd,cAAgBpa,GAAM,SAASA,EAAG,EAAE,CAAA,CACrC,EACD,OAASia,GAAG,cAAc,CACxB,cAAeI,GACf,kBAAmB,OACnB,cAAeC,GACf,kBAAmB,KAAA,CACpB,EACD,WAAaL,GAAG,cAAc,CAC5B,cAAeM,GACf,kBAAmB,OACnB,cAAeC,GACf,kBAAmB,MACnB,cAAgBxa,GAAMA,EAAI,CAAA,CAC3B,EACD,SAAWia,GAAG,cAAc,CAC1B,cAAeQ,GACf,kBAAmB,OACnB,cAAeC,GACf,kBAAmB,KAAA,CACpB,EACD,OAAST,GAAG,cAAc,CACxB,cAAeU,GACf,kBAAmB,OACnB,cAAeC,GACf,kBAAmB,KAAA,CACpB,EACD,aAAeX,GAAG,cAAc,CAC9B,cAAeY,GACf,kBAAmB,MACnB,cAAeC,GACf,kBAAmB,KACpB,CAAA,CACH,EACA7C,GAAG,KAAO,OACV,IAAI8C,GAAK7C,GAAI8C,GAAK3C,GAAI4C,GAAKrC,GAAIsC,GAAKnC,GAAIoC,GAAKzB,GAC7CzB,GAAG,KAAO,CACR,KAAM,QACN,eAAgB8C,GAAG,eACnB,WAAYC,GAAG,WACf,eAAgBC,GAAG,eACnB,SAAUC,GAAG,SACb,MAAOC,GAAG,MACV,QAAS,CACP,aAAc,EACd,sBAAuB,CAAA,CAE3B,GACC,SAASnb,EAAG,CACJ,OAAA,eAAeA,EAAG,gBAAiB,CACxC,WAAY,GACZ,IAAK,UAAW,CACd,OAAOC,EAAE,IAAA,CACX,CACD,EACD,IAAIA,EAAIgY,EACV,GAAGD,EAAE,EACL,IAAIoD,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,aAAeC,GAClB,IAAIC,GAAK3V,GAAI4V,GAAKzG,GAAI0G,GAAKvZ,EAC3B,SAASoZ,GAAGtb,EAAGC,EAAG,CACV,MAAAC,KAAQub,GAAG,QAAQzb,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EACrD,SAAWsb,GAAG,0BACZrb,KACIsb,GAAG,aAAatb,CAAC,CAAA,EACnB,CACN,CACA,IAAIwb,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAKja,EAAGka,GAAKjX,GAAIkX,GAAKnV,GAAIoV,GAAK7Z,EACnC,SAASyZ,GAAG3b,EAAGC,EAAG,CACV,MAAAC,KAAQ6b,GAAG,QAAQ/b,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAG,EAAI,IAAK4b,GAAG,gBAAgB3b,CAAC,EAAI,IAAK4b,GAAG,oBAAoB5b,CAAC,EACtH,OAAO,KAAK,MAAM,EAAI0b,GAAG,kBAAkB,EAAI,CACjD,CACA,IAAII,GAAK,CAAA,EAAIC,GAAK,CAAC,EAAGC,GAAK,CAAC,EAC5BA,GAAG,YAAcC,GACjB,IAAIC,GAAKtX,GAAIuX,GAAK3a,EAAG4a,GAAKzX,GAAI0X,GAAKra,EACnC,SAASia,GAAGnc,EAAGC,EAAG,aACZ,IAAA/E,EAAG6F,EAAGC,EAAGC,EACP,MAAAf,KAAQqc,GAAG,QAAQvc,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAGxD,EAAIyD,EAAE,YAAY,EAAGO,KAAQ2b,GAAG,mBAAA,EAAsB1b,GAAKnD,GAAAzD,GAAAF,GAAAhB,EAAAqH,GAAK,KAAO,OAASA,EAAE,wBAAvB,KAAArH,GAAmDmI,GAAK7F,EAAI+E,GAAK,KAAO,OAASA,EAAE,SAAW,KAAO,OAAS/E,EAAE,UAAY,KAAO,OAAS6F,EAAE,wBAA9I,KAAAnH,EAAwK6G,EAAE,wBAA1K,KAAA3G,GAAqMmH,GAAKD,EAAIP,EAAE,SAAW,KAAO,OAASO,EAAE,UAAY,KAAO,OAASC,EAAE,wBAA3Q,KAAA1D,EAAqS,EAAGoD,KAAQ0b,GAAG,gBACnapc,GAAK,KAAO,OAASA,EAAE,KAAOD,EAC/B,CACF,EACEW,EAAA,YAAYlE,EAAI,EAAG,EAAGiE,CAAC,EAAGC,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAC3C,MAAAC,KAAQ0b,GAAG,aACf3b,EACAV,CAAA,EACCY,KAAQwb,GAAG,gBACXpc,GAAK,KAAO,OAASA,EAAE,KAAOD,EAC/B,CACF,EACEa,EAAA,YAAYpE,EAAG,EAAGiE,CAAC,EAAGG,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EACvC,MAAAC,KAAQwb,GAAG,aACfzb,EACAZ,CACF,EACO,MAAA,CAACC,GAAK,CAACU,EAAInE,EAAI,EAAI,CAACyD,GAAK,CAACY,EAAIrE,EAAIA,EAAI,CAC/C,CACAwf,GAAG,gBAAkBO,GACrB,IAAIC,GAAK3X,GAAI4X,GAAKhb,EAAGib,GAAKT,GAAIU,GAAK/X,GACnC,SAAS2X,GAAGxc,EAAGC,EAAG,aACZ,IAAAW,EAAGC,EAAGC,EAAG5F,EACP,MAAAgF,KAAQuc,GAAG,mBAAmB,EAAGhgB,GAAKc,GAAAzD,GAAAF,GAAAhB,EAAAqH,GAAK,KAAO,OAASA,EAAE,wBAAvB,KAAArH,GAAmDiI,GAAKD,EAAIX,GAAK,KAAO,OAASA,EAAE,SAAW,KAAO,OAASW,EAAE,UAAY,KAAO,OAASC,EAAE,wBAA9I,KAAAjH,EAAwKsG,EAAE,wBAA1K,KAAApG,GAAqMoB,GAAK4F,EAAIZ,EAAE,SAAW,KAAO,OAASY,EAAE,UAAY,KAAO,OAAS5F,EAAE,wBAA3Q,KAAAqC,EAAqS,EAAGkD,KAAQkc,GAAG,aAAa3c,EAAGC,CAAC,EAAGS,KAAQgc,GAAG,gBAAgBzc,GAAK,KAAO,OAASA,EAAE,KAAOD,EAAG,CAAC,EAChb,OAAOU,EAAE,YAAYD,EAAG,EAAGhE,CAAC,EAAGiE,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,KAAOkc,GAAG,aAAalc,EAAGT,CAAC,CACjF,CACA+b,GAAG,QAAUa,GACb,IAAIC,GAAKnb,EAAGob,GAAKlY,GAAImY,GAAKf,GAAIgB,GAAK/a,EACnC,SAAS2a,GAAG7c,EAAGC,EAAG,CACV,MAAAC,KAAQ+c,GAAG,QAAQjd,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAG,EAAI,IAAK8c,GAAG,aAAa7c,EAAGD,CAAC,EAAI,IAAK+c,GAAG,iBAAiB9c,EAAGD,CAAC,EACtH,OAAO,KAAK,MAAM,EAAI6c,GAAG,kBAAkB,EAAI,CACjD,CACA,IAAII,GAAK,CAAC,EACVA,GAAG,gBAAkBC,GACrB,SAASA,GAAGnd,EAAGC,EAAG,CAChB,MAAMC,EAAIF,EAAI,EAAI,IAAM,GAAI,EAAI,KAAK,IAAIA,CAAC,EAAE,SAAA,EAAW,SAASC,EAAG,GAAG,EACtE,OAAOC,EAAI,CACb,CACA,IAAIkd,GAAK,CAAC,EACVA,GAAG,gBAAkB,OACrB,IAAIC,GAAKH,GACTE,GAAG,gBAAkB,CAEnB,EAAEpd,EAAGC,EAAG,CACA,MAAAC,EAAIF,EAAE,cAAe,EAAIE,EAAI,EAAIA,EAAI,EAAIA,EAC/C,SAAWmd,GAAG,iBACZpd,IAAM,KAAO,EAAI,IAAM,EACvBA,EAAE,MACJ,CACF,EAEA,EAAED,EAAGC,EAAG,CACA,MAAAC,EAAIF,EAAE,SAAS,EACd,OAAAC,IAAM,IAAM,OAAOC,EAAI,CAAC,KAAQmd,GAAG,iBAAiBnd,EAAI,EAAG,CAAC,CACrE,EAEA,EAAEF,EAAGC,EAAG,CACN,SAAWod,GAAG,iBAAiBrd,EAAE,QAAQ,EAAGC,EAAE,MAAM,CACtD,EAEA,EAAED,EAAGC,EAAG,CACN,MAAMC,EAAIF,EAAE,SAAA,EAAa,IAAM,EAAI,KAAO,KAC1C,OAAQC,EAAG,CACT,IAAK,IACL,IAAK,KACH,OAAOC,EAAE,YAAY,EACvB,IAAK,MACI,OAAAA,EACT,IAAK,QACH,OAAOA,EAAE,CAAC,EACZ,IAAK,OACL,QACS,OAAAA,IAAM,KAAO,OAAS,MAAA,CAEnC,EAEA,EAAEF,EAAGC,EAAG,CACN,SAAWod,GAAG,iBACZrd,EAAE,WAAa,IAAM,GACrBC,EAAE,MACJ,CACF,EAEA,EAAED,EAAGC,EAAG,CACN,SAAWod,GAAG,iBAAiBrd,EAAE,SAAS,EAAGC,EAAE,MAAM,CACvD,EAEA,EAAED,EAAGC,EAAG,CACN,SAAWod,GAAG,iBAAiBrd,EAAE,WAAW,EAAGC,EAAE,MAAM,CACzD,EAEA,EAAED,EAAGC,EAAG,CACN,SAAWod,GAAG,iBAAiBrd,EAAE,WAAW,EAAGC,EAAE,MAAM,CACzD,EAEA,EAAED,EAAGC,EAAG,CACA,MAAAC,EAAID,EAAE,OAAQ,EAAID,EAAE,gBAAgB,EAAGS,EAAI,KAAK,MACpD,EAAI,KAAK,IAAI,GAAIP,EAAI,CAAC,CACxB,EACA,SAAWmd,GAAG,iBAAiB5c,EAAGR,EAAE,MAAM,CAAA,CAE9C,EACAmb,GAAG,WAAa,OAChB,IAAIkC,GAAKjC,GAAIkC,GAAK7B,GAAI8B,GAAK7Y,GAAI8Y,GAAKzB,GAAI0B,GAAKxB,GAAIyB,GAAIT,GAAIU,GAAKR,GAC9D,MAAMS,GAAK,CACT,GAAI,KACJ,GAAI,KACJ,SAAU,WACV,KAAM,OACN,QAAS,UACT,UAAW,YACX,QAAS,UACT,MAAO,OACT,EACAzC,GAAG,WAAa,CAEd,EAAG,SAASpb,EAAGC,EAAGC,EAAG,CACnB,MAAM,EAAIF,EAAE,YAAY,EAAI,EAAI,EAAI,EACpC,OAAQC,EAAG,CACT,IAAK,IACL,IAAK,KACL,IAAK,MACH,OAAOC,EAAE,IAAI,EAAG,CAAE,MAAO,cAAe,EAC1C,IAAK,QACH,OAAOA,EAAE,IAAI,EAAG,CAAE,MAAO,SAAU,EACrC,IAAK,OACL,QACE,OAAOA,EAAE,IAAI,EAAG,CAAE,MAAO,OAAQ,CAAA,CAEvC,EAEA,EAAG,SAASF,EAAGC,EAAGC,EAAG,CACnB,GAAID,IAAM,KAAM,CACR,MAAA,EAAID,EAAE,cAAeS,EAAI,EAAI,EAAI,EAAI,EAAI,EAC/C,OAAOP,EAAE,cAAcO,EAAG,CAAE,KAAM,OAAQ,CAAA,CAE5C,OAAOmd,GAAG,gBAAgB,EAAE5d,EAAGC,CAAC,CAClC,EAEA,EAAG,SAASD,EAAGC,EAAGC,EAAG,EAAG,CAChB,MAAAO,KAAQid,GAAG,aAAa1d,EAAG,CAAC,EAAGU,EAAID,EAAI,EAAIA,EAAI,EAAIA,EACzD,GAAIR,IAAM,KAAM,CACd,MAAMU,EAAID,EAAI,IACd,SAAWid,GAAE,iBAAiBhd,EAAG,CAAC,CAAA,CAEpC,OAAOV,IAAM,KAAOC,EAAE,cAAcQ,EAAG,CAAE,KAAM,MAAO,CAAC,KAAQid,GAAE,iBAAiBjd,EAAGT,EAAE,MAAM,CAC/F,EAEA,EAAG,SAASD,EAAGC,EAAG,CAChB,MAAMC,KAAQsd,GAAG,gBAAgBxd,CAAC,EAClC,SAAW2d,GAAE,iBAAiBzd,EAAGD,EAAE,MAAM,CAC3C,EAUA,EAAG,SAASD,EAAGC,EAAG,CACV,MAAAC,EAAIF,EAAE,YAAY,EACxB,SAAW2d,GAAE,iBAAiBzd,EAAGD,EAAE,MAAM,CAC3C,EAEA,EAAG,SAASD,EAAGC,EAAGC,EAAG,CACnB,MAAM,EAAI,KAAK,MAAMF,EAAE,SAAS,EAAI,GAAK,CAAC,EAC1C,OAAQC,EAAG,CACT,IAAK,IACH,OAAO,OAAO,CAAC,EACjB,IAAK,KACH,SAAW0d,GAAE,iBAAiB,EAAG,CAAC,EACpC,IAAK,KACH,OAAOzd,EAAE,cAAc,EAAG,CAAE,KAAM,UAAW,EAC/C,IAAK,MACI,OAAAA,EAAE,QAAQ,EAAG,CAClB,MAAO,cACP,QAAS,YAAA,CACV,EACH,IAAK,QACI,OAAAA,EAAE,QAAQ,EAAG,CAClB,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,OACL,QACS,OAAAA,EAAE,QAAQ,EAAG,CAClB,MAAO,OACP,QAAS,YAAA,CACV,CAAA,CAEP,EAEA,EAAG,SAASF,EAAGC,EAAGC,EAAG,CACnB,MAAM,EAAI,KAAK,MAAMF,EAAE,SAAS,EAAI,GAAK,CAAC,EAC1C,OAAQC,EAAG,CACT,IAAK,IACH,OAAO,OAAO,CAAC,EACjB,IAAK,KACH,SAAW0d,GAAE,iBAAiB,EAAG,CAAC,EACpC,IAAK,KACH,OAAOzd,EAAE,cAAc,EAAG,CAAE,KAAM,UAAW,EAC/C,IAAK,MACI,OAAAA,EAAE,QAAQ,EAAG,CAClB,MAAO,cACP,QAAS,YAAA,CACV,EACH,IAAK,QACI,OAAAA,EAAE,QAAQ,EAAG,CAClB,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,OACL,QACS,OAAAA,EAAE,QAAQ,EAAG,CAClB,MAAO,OACP,QAAS,YAAA,CACV,CAAA,CAEP,EAEA,EAAG,SAASF,EAAGC,EAAGC,EAAG,CACb,MAAA,EAAIF,EAAE,SAAS,EACrB,OAAQC,EAAG,CACT,IAAK,IACL,IAAK,KACH,OAAO2d,GAAG,gBAAgB,EAAE5d,EAAGC,CAAC,EAClC,IAAK,KACH,OAAOC,EAAE,cAAc,EAAI,EAAG,CAAE,KAAM,QAAS,EACjD,IAAK,MACI,OAAAA,EAAE,MAAM,EAAG,CAChB,MAAO,cACP,QAAS,YAAA,CACV,EACH,IAAK,QACI,OAAAA,EAAE,MAAM,EAAG,CAChB,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,OACL,QACS,OAAAA,EAAE,MAAM,EAAG,CAAE,MAAO,OAAQ,QAAS,aAAc,CAAA,CAEhE,EAEA,EAAG,SAASF,EAAGC,EAAGC,EAAG,CACb,MAAA,EAAIF,EAAE,SAAS,EACrB,OAAQC,EAAG,CACT,IAAK,IACI,OAAA,OAAO,EAAI,CAAC,EACrB,IAAK,KACH,SAAW0d,GAAE,iBAAiB,EAAI,EAAG,CAAC,EACxC,IAAK,KACH,OAAOzd,EAAE,cAAc,EAAI,EAAG,CAAE,KAAM,QAAS,EACjD,IAAK,MACI,OAAAA,EAAE,MAAM,EAAG,CAChB,MAAO,cACP,QAAS,YAAA,CACV,EACH,IAAK,QACI,OAAAA,EAAE,MAAM,EAAG,CAChB,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,OACL,QACS,OAAAA,EAAE,MAAM,EAAG,CAAE,MAAO,OAAQ,QAAS,aAAc,CAAA,CAEhE,EAEA,EAAG,SAASF,EAAGC,EAAGC,EAAG,EAAG,CACtB,MAAMO,KAAQgd,GAAG,SAASzd,EAAG,CAAC,EAC9B,OAAOC,IAAM,KAAOC,EAAE,cAAcO,EAAG,CAAE,KAAM,MAAO,CAAC,KAAQkd,GAAE,iBAAiBld,EAAGR,EAAE,MAAM,CAC/F,EAEA,EAAG,SAASD,EAAGC,EAAGC,EAAG,CACnB,MAAM,KAAQqd,GAAG,YAAYvd,CAAC,EAC9B,OAAOC,IAAM,KAAOC,EAAE,cAAc,EAAG,CAAE,KAAM,MAAO,CAAC,KAAQyd,GAAE,iBAAiB,EAAG1d,EAAE,MAAM,CAC/F,EAEA,EAAG,SAASD,EAAGC,EAAGC,EAAG,CACnB,OAAOD,IAAM,KAAOC,EAAE,cAAcF,EAAE,UAAW,CAAE,KAAM,MAAA,CAAQ,EAAI4d,GAAG,gBAAgB,EAAE5d,EAAGC,CAAC,CAChG,EAEA,EAAG,SAASD,EAAGC,EAAGC,EAAG,CACnB,MAAM,KAAQod,GAAG,cAActd,CAAC,EAChC,OAAOC,IAAM,KAAOC,EAAE,cAAc,EAAG,CAAE,KAAM,WAAY,CAAC,KAAQyd,GAAE,iBAAiB,EAAG1d,EAAE,MAAM,CACpG,EAEA,EAAG,SAASD,EAAGC,EAAGC,EAAG,CACb,MAAA,EAAIF,EAAE,OAAO,EACnB,OAAQC,EAAG,CACT,IAAK,IACL,IAAK,KACL,IAAK,MACI,OAAAC,EAAE,IAAI,EAAG,CACd,MAAO,cACP,QAAS,YAAA,CACV,EACH,IAAK,QACI,OAAAA,EAAE,IAAI,EAAG,CACd,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,SACI,OAAAA,EAAE,IAAI,EAAG,CACd,MAAO,QACP,QAAS,YAAA,CACV,EACH,IAAK,OACL,QACS,OAAAA,EAAE,IAAI,EAAG,CACd,MAAO,OACP,QAAS,YAAA,CACV,CAAA,CAEP,EAEA,EAAG,SAASF,EAAGC,EAAGC,EAAG,EAAG,CAChB,MAAAO,EAAIT,EAAE,OAAO,EAAGU,GAAKD,EAAI,EAAE,aAAe,GAAK,GAAK,EAC1D,OAAQR,EAAG,CACT,IAAK,IACH,OAAO,OAAOS,CAAC,EACjB,IAAK,KACH,SAAWid,GAAE,iBAAiBjd,EAAG,CAAC,EACpC,IAAK,KACH,OAAOR,EAAE,cAAcQ,EAAG,CAAE,KAAM,MAAO,EAC3C,IAAK,MACI,OAAAR,EAAE,IAAIO,EAAG,CACd,MAAO,cACP,QAAS,YAAA,CACV,EACH,IAAK,QACI,OAAAP,EAAE,IAAIO,EAAG,CACd,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,SACI,OAAAP,EAAE,IAAIO,EAAG,CACd,MAAO,QACP,QAAS,YAAA,CACV,EACH,IAAK,OACL,QACS,OAAAP,EAAE,IAAIO,EAAG,CACd,MAAO,OACP,QAAS,YAAA,CACV,CAAA,CAEP,EAEA,EAAG,SAAST,EAAGC,EAAGC,EAAG,EAAG,CAChB,MAAAO,EAAIT,EAAE,OAAO,EAAGU,GAAKD,EAAI,EAAE,aAAe,GAAK,GAAK,EAC1D,OAAQR,EAAG,CACT,IAAK,IACH,OAAO,OAAOS,CAAC,EACjB,IAAK,KACH,SAAWid,GAAE,iBAAiBjd,EAAGT,EAAE,MAAM,EAC3C,IAAK,KACH,OAAOC,EAAE,cAAcQ,EAAG,CAAE,KAAM,MAAO,EAC3C,IAAK,MACI,OAAAR,EAAE,IAAIO,EAAG,CACd,MAAO,cACP,QAAS,YAAA,CACV,EACH,IAAK,QACI,OAAAP,EAAE,IAAIO,EAAG,CACd,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,SACI,OAAAP,EAAE,IAAIO,EAAG,CACd,MAAO,QACP,QAAS,YAAA,CACV,EACH,IAAK,OACL,QACS,OAAAP,EAAE,IAAIO,EAAG,CACd,MAAO,OACP,QAAS,YAAA,CACV,CAAA,CAEP,EAEA,EAAG,SAAST,EAAGC,EAAGC,EAAG,CACnB,MAAM,EAAIF,EAAE,SAAUS,EAAI,IAAM,EAAI,EAAI,EACxC,OAAQR,EAAG,CACT,IAAK,IACH,OAAO,OAAOQ,CAAC,EACjB,IAAK,KACH,SAAWkd,GAAE,iBAAiBld,EAAGR,EAAE,MAAM,EAC3C,IAAK,KACH,OAAOC,EAAE,cAAcO,EAAG,CAAE,KAAM,MAAO,EAC3C,IAAK,MACI,OAAAP,EAAE,IAAI,EAAG,CACd,MAAO,cACP,QAAS,YAAA,CACV,EACH,IAAK,QACI,OAAAA,EAAE,IAAI,EAAG,CACd,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,SACI,OAAAA,EAAE,IAAI,EAAG,CACd,MAAO,QACP,QAAS,YAAA,CACV,EACH,IAAK,OACL,QACS,OAAAA,EAAE,IAAI,EAAG,CACd,MAAO,OACP,QAAS,YAAA,CACV,CAAA,CAEP,EAEA,EAAG,SAASF,EAAGC,EAAGC,EAAG,CACnB,MAAMO,EAAIT,EAAE,SAAA,EAAa,IAAM,EAAI,KAAO,KAC1C,OAAQC,EAAG,CACT,IAAK,IACL,IAAK,KACI,OAAAC,EAAE,UAAUO,EAAG,CACpB,MAAO,cACP,QAAS,YAAA,CACV,EACH,IAAK,MACI,OAAAP,EAAE,UAAUO,EAAG,CACpB,MAAO,cACP,QAAS,YACV,CAAA,EAAE,YAAY,EACjB,IAAK,QACI,OAAAP,EAAE,UAAUO,EAAG,CACpB,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,OACL,QACS,OAAAP,EAAE,UAAUO,EAAG,CACpB,MAAO,OACP,QAAS,YAAA,CACV,CAAA,CAEP,EAEA,EAAG,SAAST,EAAGC,EAAGC,EAAG,CACb,MAAA,EAAIF,EAAE,SAAS,EACjB,IAAAS,EACJ,OAAQ,IAAM,GAAKA,EAAIod,GAAG,KAAO,IAAM,EAAIpd,EAAIod,GAAG,SAAWpd,EAAI,EAAI,IAAM,EAAI,KAAO,KAAMR,EAAG,CAC7F,IAAK,IACL,IAAK,KACI,OAAAC,EAAE,UAAUO,EAAG,CACpB,MAAO,cACP,QAAS,YAAA,CACV,EACH,IAAK,MACI,OAAAP,EAAE,UAAUO,EAAG,CACpB,MAAO,cACP,QAAS,YACV,CAAA,EAAE,YAAY,EACjB,IAAK,QACI,OAAAP,EAAE,UAAUO,EAAG,CACpB,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,OACL,QACS,OAAAP,EAAE,UAAUO,EAAG,CACpB,MAAO,OACP,QAAS,YAAA,CACV,CAAA,CAEP,EAEA,EAAG,SAAST,EAAGC,EAAGC,EAAG,CACb,MAAA,EAAIF,EAAE,SAAS,EACjB,IAAAS,EACJ,OAAQ,GAAK,GAAKA,EAAIod,GAAG,QAAU,GAAK,GAAKpd,EAAIod,GAAG,UAAY,GAAK,EAAIpd,EAAIod,GAAG,QAAUpd,EAAIod,GAAG,MAAO5d,EAAG,CACzG,IAAK,IACL,IAAK,KACL,IAAK,MACI,OAAAC,EAAE,UAAUO,EAAG,CACpB,MAAO,cACP,QAAS,YAAA,CACV,EACH,IAAK,QACI,OAAAP,EAAE,UAAUO,EAAG,CACpB,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,OACL,QACS,OAAAP,EAAE,UAAUO,EAAG,CACpB,MAAO,OACP,QAAS,YAAA,CACV,CAAA,CAEP,EAEA,EAAG,SAAST,EAAGC,EAAGC,EAAG,CACnB,GAAID,IAAM,KAAM,CACV,IAAA,EAAID,EAAE,SAAA,EAAa,GAChB,OAAA,IAAM,IAAM,EAAI,IAAKE,EAAE,cAAc,EAAG,CAAE,KAAM,MAAA,CAAQ,CAAA,CAEjE,OAAO0d,GAAG,gBAAgB,EAAE5d,EAAGC,CAAC,CAClC,EAEA,EAAG,SAASD,EAAGC,EAAGC,EAAG,CACnB,OAAOD,IAAM,KAAOC,EAAE,cAAcF,EAAE,WAAY,CAAE,KAAM,MAAA,CAAQ,EAAI4d,GAAG,gBAAgB,EAAE5d,EAAGC,CAAC,CACjG,EAEA,EAAG,SAASD,EAAGC,EAAGC,EAAG,CACb,MAAA,EAAIF,EAAE,SAAA,EAAa,GACzB,OAAOC,IAAM,KAAOC,EAAE,cAAc,EAAG,CAAE,KAAM,MAAO,CAAC,KAAQyd,GAAE,iBAAiB,EAAG1d,EAAE,MAAM,CAC/F,EAEA,EAAG,SAASD,EAAGC,EAAGC,EAAG,CACf,IAAA,EAAIF,EAAE,SAAS,EACnB,OAAO,IAAM,IAAM,EAAI,IAAKC,IAAM,KAAOC,EAAE,cAAc,EAAG,CAAE,KAAM,MAAA,CAAQ,KAAQyd,GAAE,iBAAiB,EAAG1d,EAAE,MAAM,CACpH,EAEA,EAAG,SAASD,EAAGC,EAAGC,EAAG,CACnB,OAAOD,IAAM,KAAOC,EAAE,cAAcF,EAAE,aAAc,CAAE,KAAM,QAAA,CAAU,EAAI4d,GAAG,gBAAgB,EAAE5d,EAAGC,CAAC,CACrG,EAEA,EAAG,SAASD,EAAGC,EAAGC,EAAG,CACnB,OAAOD,IAAM,KAAOC,EAAE,cAAcF,EAAE,aAAc,CAAE,KAAM,QAAA,CAAU,EAAI4d,GAAG,gBAAgB,EAAE5d,EAAGC,CAAC,CACrG,EAEA,EAAG,SAASD,EAAGC,EAAG,CAChB,OAAO2d,GAAG,gBAAgB,EAAE5d,EAAGC,CAAC,CAClC,EAEA,EAAG,SAASD,EAAGC,EAAGC,EAAG,CACb,MAAA,EAAIF,EAAE,kBAAkB,EAC9B,GAAI,IAAM,EACD,MAAA,IACT,OAAQC,EAAG,CACT,IAAK,IACH,OAAO6d,GAAG,CAAC,EACb,IAAK,OACL,IAAK,KACH,OAAOC,GAAG,CAAC,EACb,IAAK,QACL,IAAK,MACL,QACS,OAAAA,GAAG,EAAG,GAAG,CAAA,CAEtB,EAEA,EAAG,SAAS/d,EAAGC,EAAGC,EAAG,CACb,MAAA,EAAIF,EAAE,kBAAkB,EAC9B,OAAQC,EAAG,CACT,IAAK,IACH,OAAO6d,GAAG,CAAC,EACb,IAAK,OACL,IAAK,KACH,OAAOC,GAAG,CAAC,EACb,IAAK,QACL,IAAK,MACL,QACS,OAAAA,GAAG,EAAG,GAAG,CAAA,CAEtB,EAEA,EAAG,SAAS/d,EAAGC,EAAGC,EAAG,CACb,MAAA,EAAIF,EAAE,kBAAkB,EAC9B,OAAQC,EAAG,CACT,IAAK,IACL,IAAK,KACL,IAAK,MACI,MAAA,MAAQ+d,GAAG,EAAG,GAAG,EAC1B,IAAK,OACL,QACS,MAAA,MAAQD,GAAG,EAAG,GAAG,CAAA,CAE9B,EAEA,EAAG,SAAS/d,EAAGC,EAAGC,EAAG,CACb,MAAA,EAAIF,EAAE,kBAAkB,EAC9B,OAAQC,EAAG,CACT,IAAK,IACL,IAAK,KACL,IAAK,MACI,MAAA,MAAQ+d,GAAG,EAAG,GAAG,EAC1B,IAAK,OACL,QACS,MAAA,MAAQD,GAAG,EAAG,GAAG,CAAA,CAE9B,EAEA,EAAG,SAAS/d,EAAGC,EAAGC,EAAG,CACnB,MAAM,EAAI,KAAK,MAAM,CAACF,EAAI,GAAG,EAC7B,SAAW2d,GAAE,iBAAiB,EAAG1d,EAAE,MAAM,CAC3C,EAEA,EAAG,SAASD,EAAGC,EAAGC,EAAG,CACnB,SAAWyd,GAAE,iBAAiB,CAAC3d,EAAGC,EAAE,MAAM,CAAA,CAE9C,EACA,SAAS+d,GAAGhe,EAAGC,EAAI,GAAI,CACrB,MAAMC,EAAIF,EAAI,EAAI,IAAM,IAAK,EAAI,KAAK,IAAIA,CAAC,EAAGS,EAAI,KAAK,MAAM,EAAI,EAAE,EAAGC,EAAI,EAAI,GAC9E,OAAOA,IAAM,EAAIR,EAAI,OAAOO,CAAC,EAAIP,EAAI,OAAOO,CAAC,EAAIR,KAAQ0d,GAAE,iBAAiBjd,EAAG,CAAC,CAClF,CACA,SAASod,GAAG9d,EAAGC,EAAG,CAChB,OAAOD,EAAI,KAAO,GAAKA,EAAI,EAAI,IAAM,QAAW2d,GAAE,iBAAiB,KAAK,IAAI3d,CAAC,EAAI,GAAI,CAAC,EAAI+d,GAAG/d,EAAGC,CAAC,CACnG,CACA,SAAS8d,GAAG/d,EAAGC,EAAI,GAAI,CACf,MAAAC,EAAIF,EAAI,EAAI,IAAM,IAAK,EAAI,KAAK,IAAIA,CAAC,EAAGS,KAAQkd,GAAE,iBAAiB,KAAK,MAAM,EAAI,EAAE,EAAG,CAAC,EAAGjd,KAAQid,GAAE,iBAAiB,EAAI,GAAI,CAAC,EAC9H,OAAAzd,EAAIO,EAAIR,EAAIS,CACrB,CACA,IAAIud,GAAK,CAAC,EACVA,GAAG,eAAiB,OACpB,MAAMC,GAAK,CAACle,EAAGC,IAAM,CACnB,OAAQD,EAAG,CACT,IAAK,IACH,OAAOC,EAAE,KAAK,CAAE,MAAO,QAAS,EAClC,IAAK,KACH,OAAOA,EAAE,KAAK,CAAE,MAAO,SAAU,EACnC,IAAK,MACH,OAAOA,EAAE,KAAK,CAAE,MAAO,OAAQ,EACjC,IAAK,OACL,QACE,OAAOA,EAAE,KAAK,CAAE,MAAO,OAAQ,CAAA,CAErC,EAAGke,GAAK,CAACne,EAAGC,IAAM,CAChB,OAAQD,EAAG,CACT,IAAK,IACH,OAAOC,EAAE,KAAK,CAAE,MAAO,QAAS,EAClC,IAAK,KACH,OAAOA,EAAE,KAAK,CAAE,MAAO,SAAU,EACnC,IAAK,MACH,OAAOA,EAAE,KAAK,CAAE,MAAO,OAAQ,EACjC,IAAK,OACL,QACE,OAAOA,EAAE,KAAK,CAAE,MAAO,OAAQ,CAAA,CAErC,EAAGme,GAAK,CAACpe,EAAGC,IAAM,CAChB,MAAMC,EAAIF,EAAE,MAAM,WAAW,GAAK,CAAI,EAAA,EAAIE,EAAE,CAAC,EAAGO,EAAIP,EAAE,CAAC,EACvD,GAAI,CAACO,EACI,OAAAyd,GAAGle,EAAGC,CAAC,EACZ,IAAAS,EACJ,OAAQ,EAAG,CACT,IAAK,IACHA,EAAIT,EAAE,SAAS,CAAE,MAAO,QAAS,EACjC,MACF,IAAK,KACHS,EAAIT,EAAE,SAAS,CAAE,MAAO,SAAU,EAClC,MACF,IAAK,MACHS,EAAIT,EAAE,SAAS,CAAE,MAAO,OAAQ,EAChC,MACF,IAAK,OACL,QACES,EAAIT,EAAE,SAAS,CAAE,MAAO,OAAQ,EAChC,KAAA,CAEJ,OAAOS,EAAE,QAAQ,WAAYwd,GAAG,EAAGje,CAAC,CAAC,EAAE,QAAQ,WAAYke,GAAG1d,EAAGR,CAAC,CAAC,CACrE,EACAge,GAAG,eAAiB,CAClB,EAAGE,GACH,EAAGC,EACL,EACA,IAAIC,GAAK,CAAC,EACVA,GAAG,0BAA4BC,GAC/BD,GAAG,yBAA2BE,GAC9BF,GAAG,0BAA4BG,GAC/B,MAAMC,GAAK,OAAQC,GAAK,OAAQC,GAAK,CAAC,IAAK,KAAM,KAAM,MAAM,EAC7D,SAASL,GAAGte,EAAG,CACN,OAAAye,GAAG,KAAKze,CAAC,CAClB,CACA,SAASue,GAAGve,EAAG,CACN,OAAA0e,GAAG,KAAK1e,CAAC,CAClB,CACA,SAASwe,GAAGxe,EAAGC,EAAGC,EAAG,CACnB,MAAM,EAAI0e,GAAG5e,EAAGC,EAAGC,CAAC,EAChB,GAAA,QAAQ,KAAK,CAAC,EAAGye,GAAG,SAAS3e,CAAC,EAAG,MAAM,IAAI,WAAW,CAAC,CAC7D,CACA,SAAS4e,GAAG5e,EAAGC,EAAGC,EAAG,CACnB,MAAM,EAAIF,EAAE,CAAC,IAAM,IAAM,QAAU,oBAC5B,MAAA,QAAS,OAAAA,EAAE,YAAa,EAAA,kBAAmB,OAAAA,EAAC,WAAY,OAAAC,EAAC,sBAAsB,SAAC,mBAAmB,OAAAC,EAAC,iFAC7G,EACC,SAASF,EAAG,CACXA,EAAE,OAASA,EAAE,WAAaiB,EAAG,OAAO,eAAejB,EAAG,aAAc,CAClE,WAAY,GACZ,IAAK,UAAW,CACd,OAAO,EAAE,UAAA,CAEZ,CAAA,EAAG,OAAO,eAAeA,EAAG,iBAAkB,CAC7C,WAAY,GACZ,IAAK,UAAW,CACd,OAAOS,EAAE,cAAA,CACX,CACD,EACD,IAAIR,EAAI+X,GAAI9X,EAAI4E,GAAI,EAAIsW,GAAI3a,EAAIwd,GAAIvd,EAAI2d,GAAI1d,EAAIsK,GAAIrK,EAAIsB,EAClD,MAAArB,EAAI,wDAAyDC,EAAI,oCAAqC5F,EAAI,eAAgB6F,EAAI,MAAOC,EAAI,WACtI,SAAAC,EAAEgC,EAAG4b,EAAGC,EAAG,iCAClB,IAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAGC,EAAGC,EAAGC,EACvB,MAAAC,KAAQrf,EAAE,mBAAA,EAAsBsf,GAAK5lB,GAAAhB,EAAAkmB,GAAK,KAAO,OAASA,EAAE,SAAvB,KAAAlmB,EAAkC2mB,EAAE,SAApC,KAAA3lB,EAA8CqG,EAAE,cAAewf,IAAKC,IAAAC,IAAApiB,IAAAzD,GAAAglB,GAAK,KAAO,OAASA,EAAE,wBAAvB,KAAAhlB,IAAmDklB,GAAMD,EAAKD,GAAK,KAAO,OAASA,EAAE,SAAW,KAAO,OAASC,EAAG,UAAY,KAAO,OAASC,EAAG,wBAAlJ,KAAAzhB,GAA4KgiB,EAAE,wBAA9K,KAAAI,IAAyMT,GAAMD,EAAKM,EAAE,SAAW,KAAO,OAASN,EAAG,UAAY,KAAO,OAASC,EAAG,wBAAnR,KAAAQ,GAA6S,EAAGE,GAAMC,IAAAC,IAAApL,IAAA4J,GAAAQ,GAAK,KAAO,OAASA,EAAE,eAAvB,KAAAR,IAA0Cc,GAAKD,EAAIL,GAAK,KAAO,OAASA,EAAE,SAAW,KAAO,OAASK,EAAE,UAAY,KAAO,OAASC,EAAE,eAArI,KAAA1K,GAAsJ6K,EAAE,eAAxJ,KAAAO,IAA0KR,GAAMD,EAAIE,EAAE,SAAW,KAAO,OAASF,EAAE,UAAY,KAAO,OAASC,EAAG,eAAlP,KAAAO,GAAmQ,EAAGE,KAASnf,EAAE,QAAQqC,EAAG6b,GAAK,KAAO,OAASA,EAAE,EAAE,EAC1tB,GAAI,IAAKne,EAAE,SAASof,CAAE,EACd,MAAA,IAAI,WAAW,oBAAoB,EAC3C,IAAIC,EAAKnB,EAAE,MAAM/d,CAAC,EAAE,IAAKmf,GAAM,CACvB,MAAAC,EAAID,EAAE,CAAC,EACT,GAAAC,IAAM,KAAOA,IAAM,IAAK,CACpB,MAAAC,EAAK1f,EAAE,eAAeyf,CAAC,EACtB,OAAAC,EAAGF,EAAGT,EAAE,UAAU,CAAA,CAEpB,OAAAS,CAAA,CACR,EAAE,KAAK,EAAE,EAAE,MAAMpf,CAAC,EAAE,IAAKof,GAAM,CAC9B,GAAIA,IAAM,KACR,MAAO,CAAE,QAAS,GAAI,MAAO,GAAI,EAC7B,MAAAC,EAAID,EAAE,CAAC,EACb,GAAIC,IAAM,IACR,MAAO,CAAE,QAAS,GAAI,MAAOE,EAAEH,CAAC,CAAE,EAChC,GAAA,EAAE,WAAWC,CAAC,EAChB,MAAO,CAAE,QAAS,GAAI,MAAOD,CAAE,EAC7B,GAAAC,EAAE,MAAMlf,CAAC,EACX,MAAM,IAAI,WACR,iEAAmEkf,EAAI,GACzE,EACF,MAAO,CAAE,QAAS,GAAI,MAAOD,CAAE,CAAA,CAChC,EACDT,EAAE,SAAS,eAAiBQ,EAAKR,EAAE,SAAS,aAAaO,EAAIC,CAAE,GAC/D,MAAMK,EAAK,CACT,sBAAuBZ,GACvB,aAAcG,EACd,OAAQJ,CACV,EACO,OAAAQ,EAAG,IAAKC,GAAM,CACnB,GAAI,CAACA,EAAE,QAAS,OAAOA,EAAE,MACzB,MAAMC,EAAID,EAAE,OACX,EAAEnB,GAAK,MAAQA,EAAE,iCAAoCpe,EAAE,0BAA0Bwf,CAAC,GAAK,EAAEpB,GAAK,MAAQA,EAAE,kCAAqCpe,EAAE,2BAA2Bwf,CAAC,OAAUxf,EAAE,2BAA2Bwf,EAAGrB,EAAG,OAAO5b,CAAC,CAAC,EAClO,MAAMkd,EAAK,EAAE,WAAWD,EAAE,CAAC,CAAC,EAC5B,OAAOC,EAAGJ,EAAIG,EAAGV,EAAE,SAAUa,CAAE,CAAA,CAChC,EAAE,KAAK,EAAE,CAAA,CAEZ,SAASD,EAAEnd,EAAG,CACN,MAAA4b,EAAI5b,EAAE,MAAM/H,CAAC,EACnB,OAAO2jB,EAAIA,EAAE,CAAC,EAAE,QAAQ9d,EAAG,GAAG,EAAIkC,CAAA,CAEtC,GAAG8U,EAAE,EACL,IAAIuI,GAAK,CAAC,EACVA,GAAG,eAAiBC,GACpB,IAAIC,GAAKxI,GAAIyI,GAAK3b,GAAI4b,GAAK7a,GAAI8a,GAAK3a,EAAG4a,GAAK5W,GAAI6W,GAAKlf,EAAGmf,GAAKtR,GAAIuR,GAAKlQ,GACtE,SAAS0P,GAAGvgB,EAAGC,EAAGC,EAAG,SACb,MAAA,KAAQugB,GAAG,qBAAsBhgB,GAAK7G,GAAAhB,EAAAsH,GAAK,KAAO,OAASA,EAAE,SAAvB,KAAAtH,EAAkC,EAAE,SAApC,KAAAgB,EAA8C4mB,GAAG,cAAe9f,EAAI,KAAMC,KAAQigB,GAAG,YAAY5gB,EAAGC,CAAC,EACjJ,GAAI,MAAMU,CAAC,EAAS,MAAA,IAAI,WAAW,oBAAoB,EACvD,MAAMC,EAAI,OAAO,OAAO,CAAA,EAAIV,EAAG,CAC7B,UAAWA,GAAK,KAAO,OAASA,EAAE,UAClC,WAAYS,CACb,CAAA,EAAG,CAACE,EAAGC,CAAC,KAAQ6f,GAAG,gBAClBzgB,GAAK,KAAO,OAASA,EAAE,GACvB,GAAGS,EAAI,EAAI,CAACV,EAAGD,CAAC,EAAI,CAACA,EAAGC,CAAC,CAC3B,EAAG/E,KAAQ6lB,GAAG,qBAAqBjgB,EAAGD,CAAC,EAAGE,MAAS2f,GAAG,iCAAiC5f,CAAC,KAAQ4f,GAAG,iCAAiC7f,CAAC,GAAK,IAAKG,EAAI,KAAK,OAAO9F,EAAI6F,GAAK,EAAE,EACtK,IAAAE,EACJ,GAAID,EAAI,EACN,OAAOd,GAAK,MAAQA,EAAE,eAAiBhF,EAAI,EAAIuF,EAAE,eAAe,mBAAoB,EAAGG,CAAC,EAAI1F,EAAI,GAAKuF,EAAE,eAAe,mBAAoB,GAAIG,CAAC,EAAI1F,EAAI,GAAKuF,EAAE,eAAe,mBAAoB,GAAIG,CAAC,EAAI1F,EAAI,GAAKuF,EAAE,eAAe,cAAe,EAAGG,CAAC,EAAI1F,EAAI,GAAKuF,EAAE,eAAe,mBAAoB,EAAGG,CAAC,EAAIH,EAAE,eAAe,WAAY,EAAGG,CAAC,EAAII,IAAM,EAAIP,EAAE,eAAe,mBAAoB,EAAGG,CAAC,EAAIH,EAAE,eAAe,WAAYO,EAAGJ,CAAC,EAChb,GAAII,EAAI,GACN,OAAOP,EAAE,eAAe,WAAYO,EAAGJ,CAAC,EAC1C,GAAII,EAAI,GACN,OAAOP,EAAE,eAAe,cAAe,EAAGG,CAAC,EACzC,GAAAI,EAAI6f,GAAG,aAAc,CACvB,MAAMT,EAAI,KAAK,MAAMpf,EAAI,EAAE,EAC3B,OAAOP,EAAE,eAAe,cAAe2f,EAAGxf,CAAC,CAAA,KACtC,CACL,GAAII,EAAIN,EACN,OAAOD,EAAE,eAAe,QAAS,EAAGG,CAAC,EACnC,GAAAI,EAAI6f,GAAG,eAAgB,CACzB,MAAMT,EAAI,KAAK,MAAMpf,EAAI6f,GAAG,YAAY,EACxC,OAAOpgB,EAAE,eAAe,QAAS2f,EAAGxf,CAAC,CACvC,SAAWI,EAAI6f,GAAG,eAAiB,EAC1B,OAAA5f,EAAI,KAAK,MAAMD,EAAI6f,GAAG,cAAc,EAAGpgB,EAAE,eAAe,eAAgBQ,EAAGL,CAAC,CAAA,CAEnF,GAAAK,KAAQ6f,GAAG,oBAAoBhgB,EAAGD,CAAC,EAAGI,EAAI,GAAI,CAChD,MAAMmf,EAAI,KAAK,MAAMpf,EAAI6f,GAAG,cAAc,EAC1C,OAAOpgB,EAAE,eAAe,UAAW2f,EAAGxf,CAAC,CAAA,KAClC,CACL,MAAMwf,EAAInf,EAAI,GAAI,EAAI,KAAK,MAAMA,EAAI,EAAE,EAChC,OAAAmf,EAAI,EAAI3f,EAAE,eAAe,cAAe,EAAGG,CAAC,EAAIwf,EAAI,EAAI3f,EAAE,eAAe,aAAc,EAAGG,CAAC,EAAIH,EAAE,eAAe,eAAgB,EAAI,EAAGG,CAAC,CAAA,CAEnJ,CACA,IAAIogB,GAAK,CAAC,EACVA,GAAG,qBAAuBC,GAC1B,IAAIC,GAAKlJ,GAAImJ,GAAKrc,GAAIsc,GAAKnT,GAAIoT,GAAKxb,GAAIyb,GAAKtb,EAAGub,GAAKvX,GAAIwX,GAAK7f,EAC9D,SAASsf,GAAGjhB,EAAGC,EAAGC,EAAG,WACb,MAAA,KAAQihB,GAAG,qBAAsB1gB,GAAK7G,GAAAhB,EAAAsH,GAAK,KAAO,OAASA,EAAE,SAAvB,KAAAtH,EAAkC,EAAE,SAApC,KAAAgB,EAA8CsnB,GAAG,cAAexgB,KAAQ6gB,GAAG,YAAYvhB,EAAGC,CAAC,EACvI,GAAI,MAAMS,CAAC,EACH,MAAA,IAAI,WAAW,oBAAoB,EAC3C,MAAMC,EAAI,OAAO,OAAO,CAAA,EAAIT,EAAG,CAC7B,UAAWA,GAAK,KAAO,OAASA,EAAE,UAClC,WAAYQ,CACb,CAAA,EAAG,CAACE,EAAGC,CAAC,KAAQygB,GAAG,gBAClBphB,GAAK,KAAO,OAASA,EAAE,GACvB,GAAGQ,EAAI,EAAI,CAACT,EAAGD,CAAC,EAAI,CAACA,EAAGC,CAAC,CAAA,EACxBa,KAAQsgB,GAAG,oBACXtnB,EAAAoG,GAAK,KAAO,OAASA,EAAE,iBAAvB,KAAApG,EAA0C,OAAA,EAC1CoB,EAAI2F,EAAE,UAAYD,EAAE,QAAA,EAAWG,EAAI7F,EAAIsmB,GAAG,qBAAsBxgB,KAAQqgB,GAAG,iCAAiCxgB,CAAC,KAAQwgB,GAAG,iCAAiCzgB,CAAC,EAAGK,GAAK/F,EAAI8F,GAAKwgB,GAAG,qBAAsBpB,EAAIlgB,GAAK,KAAO,OAASA,EAAE,KAC9N,IAAA+C,EACJ,GAAImd,EAAInd,EAAImd,EAAIrf,EAAI,EAAIkC,EAAI,SAAWlC,EAAI,GAAKkC,EAAI,SAAWlC,EAAIygB,GAAG,aAAeve,EAAI,OAAShC,EAAIugB,GAAG,eAAiBve,EAAI,MAAQhC,EAAIugB,GAAG,cAAgBve,EAAI,QAAUA,EAAI,OAAQA,IAAM,SAAU,CAC/L,MAAA4b,EAAI/d,EAAE5F,EAAI,GAAG,EACnB,OAAOuF,EAAE,eAAe,WAAYoe,EAAGle,CAAC,CAAA,SAC/BsC,IAAM,SAAU,CACnB,MAAA4b,EAAI/d,EAAEC,CAAC,EACb,OAAON,EAAE,eAAe,WAAYoe,EAAGle,CAAC,CAAA,SAC/BsC,IAAM,OAAQ,CACjB,MAAA4b,EAAI/d,EAAEC,EAAI,EAAE,EAClB,OAAON,EAAE,eAAe,SAAUoe,EAAGle,CAAC,CAAA,SAC7BsC,IAAM,MAAO,CACtB,MAAM4b,EAAI/d,EAAEG,EAAIugB,GAAG,YAAY,EAC/B,OAAO/gB,EAAE,eAAe,QAASoe,EAAGle,CAAC,CAAA,SAC5BsC,IAAM,QAAS,CACxB,MAAM4b,EAAI/d,EACRG,EAAIugB,GAAG,cACT,EACA,OAAO3C,IAAM,IAAMuB,IAAM,QAAU3f,EAAE,eAAe,SAAU,EAAGE,CAAC,EAAIF,EAAE,eAAe,UAAWoe,EAAGle,CAAC,CAAA,KACjG,CACL,MAAMke,EAAI/d,EAAEG,EAAIugB,GAAG,aAAa,EAChC,OAAO/gB,EAAE,eAAe,SAAUoe,EAAGle,CAAC,CAAA,CAE1C,CACA,IAAI8gB,GAAK,CAAC,EACVA,GAAG,oBAAsBC,GACzB,IAAIC,GAAKrX,GAAIsX,GAAKtB,GAClB,SAASoB,GAAG1hB,EAAGC,EAAG,CAChB,SAAW2hB,GAAG,gBACZ5hB,KACI2hB,GAAG,cAAc3hB,CAAC,EACtBC,CACF,CACF,CACA,IAAI4hB,GAAK,CAAC,EACVA,GAAG,0BAA4BC,GAC/B,IAAIC,GAAKzX,GAAI0X,GAAKhB,GAClB,SAASc,GAAG9hB,EAAGC,EAAG,CAChB,SAAW+hB,GAAG,sBACZhiB,KACI+hB,GAAG,cAAc/hB,CAAC,EACtBC,CACF,CACF,CACA,IAAIgiB,GAAK,CAAC,EACVA,GAAG,eAAiBC,GACpB,IAAIC,GAAKnK,GAAIoK,GAAKtd,GAClB,MAAMud,GAAK,CACT,QACA,SACA,QACA,OACA,QACA,UACA,SACF,EACA,SAASH,GAAGliB,EAAGC,EAAG,eAChB,MAAMC,KAAQkiB,GAAG,mBAAA,EAAsB,GAAKxoB,GAAAhB,EAAAqH,GAAK,KAAO,OAASA,EAAE,SAAvB,KAAArH,EAAkCsH,EAAE,SAApC,KAAAtG,EAA8CuoB,GAAG,cAAe1hB,GAAK3G,EAAAmG,GAAK,KAAO,OAASA,EAAE,SAAvB,KAAAnG,EAAkCuoB,GAAI3hB,GAAKnD,EAAA0C,GAAK,KAAO,OAASA,EAAE,OAAvB,KAAA1C,EAAgC,GAAIoD,GAAKgf,EAAA1f,GAAK,KAAO,OAASA,EAAE,YAAvB,KAAA0f,EAAqC,IAC1O,OAAO,EAAE,eAAiBlf,EAAE,OAAO,CAACI,EAAGC,IAAM,CAC3C,MAAM5F,EAAI,IAAI,OAAA4F,EAAE,QAAQ,OAASE,GAAMA,EAAE,YAAa,CAAA,GAAKD,EAAIf,EAAEc,CAAC,EAClE,OAAOC,IAAM,SAAWL,GAAKV,EAAEc,CAAC,GAAKD,EAAE,OAAO,EAAE,eAAe3F,EAAG6F,CAAC,CAAC,EAAIF,GACvE,EAAE,EAAE,KAAKF,CAAC,EAAI,EACnB,CACA,IAAI2hB,GAAK,CAAC,EACVA,GAAG,UAAYC,GACf,IAAIC,GAAKtF,GAAIuF,GAAKvgB,EAClB,SAASqgB,GAAGviB,EAAGC,EAAG,SACV,MAAAC,KAAQuiB,GAAG,QAAQziB,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EACjD,GAAA,MAAM,CAACC,CAAC,EACJ,MAAA,IAAI,WAAW,oBAAoB,EAC3C,MAAM,GAAKtH,EAAAqH,GAAK,KAAO,OAASA,EAAE,SAAvB,KAAArH,EAAkC,WAAY6H,GAAK7G,EAAAqG,GAAK,KAAO,OAASA,EAAE,iBAAvB,KAAArG,EAA0C,WACpG,IAAA8G,EAAI,GAAIC,EAAI,GACV,MAAAC,EAAI,IAAM,WAAa,IAAM,GAAIC,EAAI,IAAM,WAAa,IAAM,GACpE,GAAIJ,IAAM,OAAQ,CAChB,MAAMK,KAAQ0hB,GAAG,iBAAiBtiB,EAAE,UAAW,CAAC,EAAGhF,KAAQsnB,GAAG,iBAAiBtiB,EAAE,SAAS,EAAI,EAAG,CAAC,EAClGQ,EAAI,GAAO,UAAA8hB,GAAG,iBAAiBtiB,EAAE,YAAe,EAAA,CAAC,GAAI,OAAAU,GAAI,OAAA1F,GAAI,OAAA0F,GAAI,OAAAE,EAAC,CAEpE,GAAIL,IAAM,OAAQ,CACV,MAAAK,EAAIZ,EAAE,kBAAkB,EAC9B,GAAIY,IAAM,EAAG,CACX,MAAM,EAAI,KAAK,IAAIA,CAAC,EAAG+d,KAAQ2D,GAAG,iBAChC,KAAK,MAAM,EAAI,EAAE,EACjB,CAAA,EACC1D,KAAQ0D,GAAG,iBAAiB,EAAI,GAAI,CAAC,EACpC7hB,EAAA,GAAG,OAAAG,EAAI,EAAI,IAAM,KAAM,OAAA+d,EAAC,KAAI,OAAAC,EAClC,MACMne,EAAA,IACN,MAAMzF,KAAQsnB,GAAG,iBAAiBtiB,EAAE,SAAY,EAAA,CAAC,EAAGa,KAAQyhB,GAAG,iBAAiBtiB,EAAE,WAAW,EAAG,CAAC,EAAG,KAAQsiB,GAAG,iBAAiBtiB,EAAE,aAAc,CAAC,EAAGe,EAAIP,IAAM,GAAK,GAAK,IAAK0f,EAAI,CAACllB,EAAG6F,EAAG,CAAC,EAAE,KAAKF,CAAC,EACjMH,EAAI,GAAG,OAAAA,GAAI,OAAAO,GAAI,OAAAmf,GAAI,OAAAzf,EAAC,CAEf,OAAAD,CACT,CACA,IAAIgiB,GAAK,CAAC,EACVA,GAAG,cAAgBC,GACnB,IAAIC,GAAK1F,GAAI2F,GAAK5X,GAAI6X,GAAK5gB,EAC3B,SAASygB,GAAG3iB,EAAGC,EAAG,SACV,MAAAC,KAAQ4iB,GAAG,QAAQ9iB,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EACrD,GAAI,IAAK4iB,GAAG,SAAS3iB,CAAC,EACd,MAAA,IAAI,WAAW,oBAAoB,EAC3C,MAAM,GAAKtH,EAAAqH,GAAK,KAAO,OAASA,EAAE,SAAvB,KAAArH,EAAkC,WAAY6H,GAAK7G,EAAAqG,GAAK,KAAO,OAASA,EAAE,iBAAvB,KAAArG,EAA0C,WACxG,IAAI8G,EAAI,GACF,MAAAC,EAAI,IAAM,WAAa,IAAM,GAAIC,EAAI,IAAM,WAAa,IAAM,GACpE,GAAIH,IAAM,OAAQ,CAChB,MAAM,KAAQmiB,GAAG,iBAAiB1iB,EAAE,UAAW,CAAC,EAAGY,KAAQ8hB,GAAG,iBAAiB1iB,EAAE,SAAS,EAAI,EAAG,CAAC,EAClGQ,EAAI,GAAO,UAAAkiB,GAAG,iBAAiB1iB,EAAE,YAAe,EAAA,CAAC,GAAI,OAAAS,GAAI,OAAAG,GAAI,OAAAH,GAAI,SAAC,CAEpE,GAAIF,IAAM,OAAQ,CACV,MAAA,KAAQmiB,GAAG,iBAAiB1iB,EAAE,SAAY,EAAA,CAAC,EAAGY,KAAQ8hB,GAAG,iBAAiB1iB,EAAE,WAAc,EAAA,CAAC,EAAGhF,KAAQ0nB,GAAG,iBAAiB1iB,EAAE,WAAW,EAAG,CAAC,EACjJQ,EAAI,GAAG,OAAAA,GAAI,OAAAA,IAAM,GAAK,GAAK,KAAM,UAAI,OAAAE,GAAI,OAAAE,GAAI,OAAAF,GAAI,OAAA1F,EAAC,CAE7C,OAAAwF,CACT,CACA,IAAIqiB,GAAK,CAAC,EACVA,GAAG,kBAAoBC,GACvB,SAASA,GAAGhjB,EAAG,CACP,KAAA,CACJ,MAAOC,EAAI,EACX,OAAQC,EAAI,EACZ,KAAM,EAAI,EACV,MAAOO,EAAI,EACX,QAASC,EAAI,EACb,QAASC,EAAI,CAAA,EACXX,EACG,MAAA,IAAI,OAAAC,EAAC,KAAI,OAAAC,EAAC,KAAI,SAAC,MAAK,OAAAO,EAAC,KAAI,OAAAC,EAAC,KAAI,OAAAC,EAAC,IACxC,CACA,IAAIsiB,GAAK,CAAC,EACVA,GAAG,cAAgBC,GACnB,IAAIC,GAAKjG,GAAIkG,GAAKnY,GAAIoY,GAAKnhB,EAC3B,SAASghB,GAAGljB,EAAGC,EAAG,OACV,MAAAC,KAAQmjB,GAAG,QAAQrjB,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EACrD,GAAI,IAAKmjB,GAAG,SAASljB,CAAC,EACd,MAAA,IAAI,WAAW,oBAAoB,EACrC,MAAA,GAAKtH,EAAAqH,GAAK,KAAO,OAASA,EAAE,iBAAvB,KAAArH,EAA0C,EAAG6H,KAAQ0iB,GAAG,iBAAiBjjB,EAAE,QAAW,EAAA,CAAC,EAAGQ,KAAQyiB,GAAG,iBAAiBjjB,EAAE,WAAa,EAAG,CAAC,EAAGS,EAAIT,EAAE,YAAY,EAAGU,KAAQuiB,GAAG,iBAAiBjjB,EAAE,SAAY,EAAA,CAAC,EAAGW,KAAQsiB,GAAG,iBAAiBjjB,EAAE,aAAc,CAAC,EAAGY,KAAQqiB,GAAG,iBAAiBjjB,EAAE,WAAW,EAAG,CAAC,EACvT,IAAIhF,EAAI,GACR,GAAI,EAAI,EAAG,CACT,MAAM+F,EAAIf,EAAE,gBAAgB,EAAGkgB,EAAI,KAAK,MACtCnf,EAAI,KAAK,IAAI,GAAI,EAAI,CAAC,CACxB,EACA/F,EAAI,OAAUioB,GAAG,iBAAiB/C,EAAG,CAAC,CAAA,CAExC,IAAIrf,EAAI,GACF,MAAAC,EAAId,EAAE,kBAAkB,EAC9B,GAAIc,IAAM,EAAG,CACX,MAAMC,EAAI,KAAK,IAAID,CAAC,EAAGof,KAAQ+C,GAAG,iBAChC,KAAK,MAAMliB,EAAI,EAAE,EACjB,CAAA,EACCgC,KAAQkgB,GAAG,iBAAiBliB,EAAI,GAAI,CAAC,EACpCF,EAAA,GAAG,OAAAC,EAAI,EAAI,IAAM,KAAM,OAAAof,EAAC,KAAI,OAAAnd,EAClC,MACMlC,EAAA,IACN,MAAO,GAAG,OAAAJ,EAAC,KAAI,OAAAD,EAAC,KAAI,OAAAD,EAAC,KAAI,OAAAG,EAAC,KAAI,OAAAC,EAAC,KAAI,OAAAC,GAAI,OAAA5F,GAAI,OAAA6F,EAC7C,CACA,IAAIuiB,GAAK,CAAC,EACVA,GAAG,cAAgBC,GACnB,IAAIC,GAAKtG,GAAIuG,GAAKxY,GAAIyY,GAAKxhB,EAC3B,MAAMyhB,GAAK,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAK,EAAGC,GAAK,CACjE,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACF,EACA,SAASL,GAAGvjB,EAAG,CACb,MAAMC,KAAQyjB,GAAG,QAAQ1jB,CAAC,EAC1B,GAAI,IAAKyjB,GAAG,SAASxjB,CAAC,EACd,MAAA,IAAI,WAAW,oBAAoB,EACrC,MAAAC,EAAIyjB,GAAG1jB,EAAE,UAAA,CAAW,EAAG,KAAQujB,GAAG,iBAAiBvjB,EAAE,aAAc,CAAC,EAAGQ,EAAImjB,GAAG3jB,EAAE,aAAa,EAAGS,EAAIT,EAAE,eAAe,EAAGU,KAAQ6iB,GAAG,iBAAiBvjB,EAAE,YAAA,EAAe,CAAC,EAAGW,KAAQ4iB,GAAG,iBAAiBvjB,EAAE,cAAc,EAAG,CAAC,EAAGY,KAAQ2iB,GAAG,iBAAiBvjB,EAAE,cAAc,EAAG,CAAC,EAClR,MAAO,GAAG,OAAAC,EAAC,MAAK,SAAC,KAAI,OAAAO,EAAC,KAAI,OAAAC,EAAC,KAAI,OAAAC,EAAC,KAAI,OAAAC,EAAC,KAAI,OAAAC,EAAC,OAC5C,CACA,IAAIgjB,GAAK,CAAC,EACVA,GAAG,eAAiBC,GACpB,IAAIC,GAAK/L,GAAIgM,GAAKlf,GAAImf,GAAKje,EAAGke,GAAKte,GAAIue,GAAKpM,GAC5C,SAAS+L,GAAG9jB,EAAGC,EAAGC,EAAG,iBACf,IAAAa,EAAGC,EAAGC,EAAGmf,EACb,KAAM,CAAC3jB,EAAGgE,CAAC,KAAQwjB,GAAG,gBACpB/jB,GAAK,KAAO,OAASA,EAAE,GACvBF,EACAC,CAAA,EACCS,KAAQsjB,GAAG,mBAAA,EAAsBrjB,GAAK/G,GAAAhB,EAAAsH,GAAK,KAAO,OAASA,EAAE,SAAvB,KAAAtH,EAAkC8H,EAAE,SAApC,KAAA9G,EAA8CmqB,GAAG,cAAenjB,GAAK8e,GAAAC,GAAApiB,GAAAzD,EAAAoG,GAAK,KAAO,OAASA,EAAE,eAAvB,KAAApG,GAA0CkH,GAAKD,EAAIb,GAAK,KAAO,OAASA,EAAE,SAAW,KAAO,OAASa,EAAE,UAAY,KAAO,OAASC,EAAE,eAArI,KAAAzD,EAAsJmD,EAAE,eAAxJ,KAAAif,GAA0KS,GAAKnf,EAAIP,EAAE,SAAW,KAAO,OAASO,EAAE,UAAY,KAAO,OAASmf,EAAE,eAAhP,KAAAV,EAAiQ,EAAG7e,KAAQqjB,GAAG,0BAA0BznB,EAAGgE,CAAC,EAC3Z,GAAI,MAAMI,CAAC,EACH,MAAA,IAAI,WAAW,oBAAoB,EACvC,IAAAC,EACAD,EAAA,GAAKC,EAAI,QAAUD,EAAI,GAAKC,EAAI,WAAaD,EAAI,EAAIC,EAAI,YAAcD,EAAI,EAAIC,EAAI,QAAUD,EAAI,EAAIC,EAAI,WAAaD,EAAI,EAAIC,EAAI,WAAaA,EAAI,QACvJ,MAAM5F,EAAIyF,EAAE,eAAeG,EAAGrE,EAAGgE,EAAG,CAClC,OAAQE,EACR,aAAcC,CAAA,CACf,EACO,SAAGujB,GAAG,QAAQ1nB,EAAGvB,EAAG,CAAE,OAAQyF,EAAG,aAAcC,EAAG,CAC5D,CACA,IAAIwjB,GAAK,CAAC,EACVA,GAAG,aAAeC,GAClB,IAAIzsB,GAAKsK,EACT,SAASmiB,GAAGrkB,EAAGC,EAAG,CACR,SAAGrI,GAAG,QAAQoI,EAAI,IAAKC,GAAK,KAAO,OAASA,EAAE,EAAE,CAC1D,CACA,IAAIqkB,GAAK,CAAC,EACVA,GAAG,QAAUC,GACb,IAAIC,GAAKtiB,EACT,SAASqiB,GAAGvkB,EAAGC,EAAG,CACR,SAAGukB,GAAG,QAAQxkB,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAE,QAAQ,CAC9D,CACA,IAAIwkB,GAAK,CAAC,EACVA,GAAG,OAASC,GACZ,IAAIC,GAAKziB,EACT,SAASwiB,GAAG1kB,EAAGC,EAAG,CACR,SAAG0kB,GAAG,QAAQ3kB,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAE,OAAO,CAC7D,CACA,IAAI2kB,GAAK,CAAC,EACVA,GAAG,eAAiBC,GACpB,IAAIC,GAAKpjB,EAAG9H,GAAKsI,EACjB,SAAS2iB,GAAG7kB,EAAGC,EAAG,CACV,MAAAC,KAAQtG,GAAG,QAAQoG,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAG,EAAIC,EAAE,YAAY,EAAGO,EAAIP,EAAE,SAAS,EAAGQ,KAAQokB,GAAG,eAAe5kB,EAAG,CAAC,EAC7H,OAAOQ,EAAE,YAAY,EAAGD,EAAI,EAAG,CAAC,EAAGC,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAGA,EAAE,QAAQ,CACvE,CACA,IAAIqkB,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,WAAaC,GAChB,IAAIC,GAAKhjB,EACT,SAAS+iB,GAAGjlB,EAAGC,EAAG,CACV,MAAAxD,KAAQyoB,GAAG,QAAQllB,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAE,YAAY,EACnE,OAAOxD,EAAI,MAAQ,GAAKA,EAAI,IAAM,GAAKA,EAAI,MAAQ,CACrD,CACAsoB,GAAG,cAAgBI,GACnB,IAAIC,GAAKJ,GAAIK,GAAKnjB,EAClB,SAASijB,GAAGnlB,EAAGC,EAAG,CACV,MAAAC,KAAQmlB,GAAG,QAAQrlB,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAC9C,OAAA,OAAO,MAAM,CAACC,CAAC,EAAI,OAAUklB,GAAG,YAAYllB,CAAC,EAAI,IAAM,GAChE,CACA,IAAIolB,GAAK,CAAC,EACVA,GAAG,UAAYC,GACf,IAAIC,GAAKtjB,EACT,SAASqjB,GAAGvlB,EAAGC,EAAG,CACV,MAAAxD,KAAQ+oB,GAAG,QAAQxlB,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAE,YAAY,EACnE,OAAO,KAAK,MAAMxD,EAAI,EAAE,EAAI,EAC9B,CACA,IAAIgpB,GAAK,CAAC,EACVA,GAAG,kBAAoBC,GACvB,IAAIC,GAAK7gB,GACT,SAAS4gB,IAAK,CACZ,OAAO,OAAO,OAAO,CAAA,KAAQC,GAAG,oBAAoB,CACtD,CACA,IAAIC,GAAK,CAAC,EACVA,GAAG,SAAWC,GACd,IAAIC,GAAK5jB,EACT,SAAS2jB,GAAG7lB,EAAGC,EAAG,CACR,SAAG6lB,GAAG,QAAQ9lB,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAE,SAAS,CAC/D,CACA,IAAI8lB,GAAK,CAAC,EACVA,GAAG,UAAYC,GACf,IAAIC,GAAK/jB,EACT,SAAS8jB,GAAGhmB,EAAGC,EAAG,CACV,MAAAC,KAAQ+lB,GAAG,QAAQjmB,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAE,OAAO,EACvD,OAAAC,IAAM,EAAI,EAAIA,CACvB,CACA,IAAIgmB,GAAK,CAAC,EACVA,GAAG,kBAAoBC,GACvB,IAAIC,GAAKle,GAAIme,GAAK1kB,EAAG2kB,GAAK3f,GAC1B,SAASwf,GAAGnmB,EAAGC,EAAG,CACV,MAAAC,KAAQomB,GAAG,oBAAoBtmB,EAAGC,CAAC,EAAGQ,EAAI,IAAK6lB,GAAG,uBAClDF,GAAG,UAAUlmB,EAAG,EAAE,GACpB,CAACA,EACL,OAAO,KAAK,MAAMO,EAAI4lB,GAAG,kBAAkB,CAC7C,CACA,IAAIE,GAAK,CAAC,EACVA,GAAG,gBAAkBC,GACrB,IAAIC,GAAKvkB,EACT,SAASskB,GAAGxmB,EAAG,CACb,SAAWymB,GAAG,QAAQzmB,CAAC,EAAE,gBAAgB,CAC3C,CACA,IAAI0mB,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAK1kB,EACT,SAASykB,GAAG3mB,EAAGC,EAAG,CACR,SAAG2mB,GAAG,QAAQ5mB,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAE,WAAW,CACjE,CACA,IAAI4mB,GAAK,CAAC,EACVA,GAAG,SAAWC,GACd,IAAIC,GAAK7kB,EACT,SAAS4kB,GAAG9mB,EAAGC,EAAG,CACR,SAAG8mB,GAAG,QAAQ/mB,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAE,SAAS,CAC/D,CACA,IAAI+mB,GAAK,CAAC,EACVA,GAAG,8BAAgCC,GACnC,IAAIC,GAAKrhB,GAAIshB,GAAKxlB,EAAGylB,GAAKllB,EAC1B,SAAS+kB,GAAGjnB,EAAGC,EAAG,CACV,KAAA,CAACC,EAAG,CAAC,EAAI,CACb,IAAKknB,GAAG,QAAQpnB,EAAE,KAAK,EACvB,IAAKonB,GAAG,QAAQpnB,EAAE,GAAG,CAAA,EACrB,KAAK,CAACe,EAAGC,IAAMD,EAAIC,CAAC,EAAG,CAACP,EAAGC,CAAC,EAAI,CAChC,IAAK0mB,GAAG,QAAQnnB,EAAE,KAAK,EACvB,IAAKmnB,GAAG,QAAQnnB,EAAE,GAAG,GACrB,KAAK,CAACc,EAAGC,IAAMD,EAAIC,CAAC,EACtB,GAAI,EAAEd,EAAIQ,GAAKD,EAAI,GAAW,MAAA,GACxB,MAAAG,EAAIH,EAAIP,EAAIA,EAAIO,EAAGI,EAAID,KAAQsmB,GAAG,iCAAiCtmB,CAAC,EAAGE,EAAIJ,EAAI,EAAI,EAAIA,EAAGxF,EAAI4F,KAAQomB,GAAG,iCAAiCpmB,CAAC,EACjJ,OAAO,KAAK,MAAM5F,EAAI2F,GAAKsmB,GAAG,iBAAiB,CACjD,CACA,IAAIzH,GAAK,CAAC,EACVA,GAAG,WAAa2H,GAChB,IAAIC,GAAKplB,EACT,SAASmlB,GAAGrnB,EAAG,CACb,SAAWsnB,GAAG,QAAQtnB,CAAC,EAAE,WAAW,CACtC,CACA,IAAIunB,GAAK,CAAC,EACVA,GAAG,QAAUC,GACb,IAAIC,GAAKvlB,EACT,SAASslB,GAAGxnB,EAAG,CACb,MAAO,IAAKynB,GAAG,QAAQznB,CAAC,CAC1B,CACA,IAAI0nB,GAAK,CAAC,EACVA,GAAG,YAAcC,GACjB,IAAIC,GAAK1lB,EACT,SAASylB,GAAG3nB,EAAG,CACN,OAAA,KAAK,MAAM,IAAK4nB,GAAG,QAAQ5nB,CAAC,EAAI,GAAG,CAC5C,CACA,IAAI6nB,GAAK,CAAC,EACVA,GAAG,eAAiBC,GACpB,IAAIC,GAAKjjB,GAAIkjB,GAAK1D,GAAI2D,GAAKxD,GAAIyD,GAAK9T,GAAI+T,GAAKjmB,EAC7C,SAAS4lB,GAAG9nB,EAAGC,EAAG,aACZ,IAAAY,EAAGC,EAAG5F,EAAG6F,EACb,MAAMb,KAAQ6nB,GAAG,qBAAsBtrB,GAAKc,GAAAzD,GAAAF,GAAAhB,EAAAqH,GAAK,KAAO,OAASA,EAAE,eAAvB,KAAArH,GAA0CkI,GAAKD,EAAIZ,GAAK,KAAO,OAASA,EAAE,SAAW,KAAO,OAASY,EAAE,UAAY,KAAO,OAASC,EAAE,eAArI,KAAAlH,EAAsJsG,EAAE,eAAxJ,KAAApG,GAA0KiH,GAAK7F,EAAIgF,EAAE,SAAW,KAAO,OAAShF,EAAE,UAAY,KAAO,OAAS6F,EAAE,eAAhP,KAAAxD,EAAiQ,EAAGkD,KAAQunB,GAAG,YACrTG,GAAG,QAAQnoB,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,CAC7C,EACI,GAAA,MAAMQ,CAAC,EAAU,MAAA,KACf,MAAAC,KAAQunB,GAAG,WACXC,GAAG,cAAcloB,EAAGC,CAAC,CAC3B,EACA,IAAIU,EAAIlE,EAAIiE,EACZC,GAAK,IAAMA,GAAK,GAChB,MAAMC,EAAIH,EAAIE,EACd,OAAO,KAAK,KAAKC,EAAI,CAAC,EAAI,CAC5B,CACA,IAAIwnB,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,eAAiBC,GACpB,IAAIC,GAAKrmB,EACT,SAASomB,GAAGtoB,EAAGC,EAAG,CAChB,MAAMC,KAAQqoB,GAAG,QAAQvoB,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAG,EAAIC,EAAE,SAAS,EAChE,OAAAA,EAAE,YAAYA,EAAE,YAAY,EAAG,EAAI,EAAG,CAAC,EAAGA,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,KAAOqoB,GAAG,QAAQroB,EAAGD,GAAK,KAAO,OAASA,EAAE,EAAE,CACtH,CACAmoB,GAAG,gBAAkBI,GACrB,IAAIC,GAAKvb,GAAIwb,GAAKL,GAAIM,GAAKvU,GAAIwU,GAAK1mB,EACpC,SAASsmB,GAAGxoB,EAAGC,EAAG,CACV,MAAAC,KAAQ0oB,GAAG,QAAQ5oB,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EACrD,SAAWwoB,GAAG,8BACRC,GAAG,gBAAgBxoB,EAAGD,CAAC,KACvB0oB,GAAG,cAAczoB,EAAGD,CAAC,EACzBA,CAAA,EACE,CACN,CACA,IAAI4oB,GAAK,CAAC,EACVA,GAAG,QAAUC,GACb,IAAIC,GAAK7mB,EACT,SAAS4mB,GAAG9oB,EAAGC,EAAG,CACR,SAAG8oB,GAAG,QAAQ/oB,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAE,YAAY,CAClE,CACA,IAAI+oB,GAAK,CAAC,EACVA,GAAG,oBAAsBC,GACzB,IAAIC,GAAKvnB,EACT,SAASsnB,GAAGjpB,EAAG,CACb,OAAO,KAAK,MAAMA,EAAIkpB,GAAG,kBAAkB,CAC7C,CACA,IAAIC,GAAK,CAAC,EACVA,GAAG,eAAiBC,GACpB,IAAIC,GAAK1nB,EACT,SAASynB,GAAGppB,EAAG,CACb,OAAO,KAAK,MAAMA,EAAIqpB,GAAG,aAAa,CACxC,CACA,IAAIC,GAAK,CAAC,EACVA,GAAG,eAAiBC,GACpB,IAAIC,GAAK7nB,EACT,SAAS4nB,GAAGvpB,EAAG,CACb,OAAO,KAAK,MAAMA,EAAIwpB,GAAG,aAAa,CACxC,CACA,IAAIC,GAAK,CAAC,EACVA,GAAG,SAAWC,GACd,IAAIC,GAAK3jB,EACT,SAAS0jB,GAAG1pB,EAAGC,EAAGC,EAAG,CACnB,KAAM,CAAC,EAAGO,CAAC,KAAQkpB,GAAG,gBAAgBzpB,GAAK,KAAO,OAASA,EAAE,GAAIF,EAAGC,CAAC,EACrE,GAAI,MAAM,CAAC,CAAC,EAAS,MAAA,IAAI,UAAU,uBAAuB,EAC1D,GAAI,MAAM,CAACQ,CAAC,EAAS,MAAA,IAAI,UAAU,qBAAqB,EACxD,GAAIP,GAAK,MAAQA,EAAE,gBAAkB,CAAC,EAAI,CAACO,EACnC,MAAA,IAAI,UAAU,mCAAmC,EACzD,MAAO,CAAE,MAAO,EAAG,IAAKA,CAAE,CAC5B,CACA,IAAImpB,GAAK,CAAC,EACVA,GAAG,mBAAqBC,GACxB,IAAIC,GAAKnY,GAAIoY,GAAKvoB,GAAIwoB,GAAKrc,GAAIsc,GAAKjc,GAAIkc,GAAK/a,GAAIgb,GAAK3a,GAAI4a,GAAKvZ,GAAIwZ,GAAKhZ,GACxE,SAASwY,GAAG7pB,EAAGC,EAAG,CACV,KAAA,CAAE,MAAOC,EAAG,IAAK,CAAA,KAAU4pB,GAAG,mBAAmB7pB,GAAK,KAAO,OAASA,EAAE,GAAID,CAAC,EAAGS,EAAI,CAAC,EAAGC,KAAQ2pB,GAAG,mBAAmB,EAAGnqB,CAAC,EAChIQ,IAAMD,EAAE,MAAQC,GAChB,MAAMC,KAAQopB,GAAG,KAAK7pB,EAAG,CAAE,MAAOO,EAAE,KAAO,CAAA,EAAGG,KAAQupB,GAAG,oBAAoB,EAAGxpB,CAAC,EACjFC,IAAMH,EAAE,OAASG,GACjB,MAAMC,KAAQkpB,GAAG,KAAKppB,EAAG,CACvB,OAAQF,EAAE,MAAA,CACX,EAAGK,KAAQkpB,GAAG,kBAAkB,EAAGnpB,CAAC,EACrCC,IAAML,EAAE,KAAOK,GACf,MAAM5F,KAAQ6uB,GAAG,KAAKlpB,EAAG,CACvB,KAAMJ,EAAE,IAAA,CACT,EAAGM,KAAQkpB,GAAG,mBAAmB,EAAG/uB,CAAC,EACtC6F,IAAMN,EAAE,MAAQM,GAChB,MAAMC,KAAQ+oB,GAAG,KAAK7uB,EAAG,CACvB,MAAOuF,EAAE,KAAA,CACV,EAAGQ,KAAQipB,GAAG,qBAAqB,EAAGlpB,CAAC,EACxCC,IAAMR,EAAE,QAAUQ,GAClB,MAAMmf,KAAQ2J,GAAG,KAAK/oB,EAAG,CACvB,QAASP,EAAE,OAAA,CACZ,EAAGwC,KAAQmnB,GAAG,qBAAqB,EAAGhK,CAAC,EACjC,OAAAnd,IAAMxC,EAAE,QAAUwC,GAAIxC,CAC/B,CACA,IAAI6pB,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAKtoB,EACT,SAASqoB,GAAGvqB,EAAGC,EAAGC,EAAG,CACf,IAAA,EACJ,OAAOuqB,GAAGxqB,CAAC,EAAI,EAAIA,EAAIC,EAAID,EAAG,IAAI,KAAK,eAAeC,GAAK,KAAO,OAASA,EAAE,OAAQ,CAAC,EAAE,UAClFsqB,GAAG,QAAQxqB,CAAC,CAClB,CACF,CACA,SAASyqB,GAAGzqB,EAAG,CACN,OAAAA,IAAM,QAAU,EAAE,WAAYA,EACvC,CACA,IAAI0qB,GAAK,CAAC,EACVA,GAAG,mBAAqBC,GACxB,IAAIC,GAAK5kB,EAAG6kB,GAAKlpB,EAAGmpB,GAAKllB,GAAImlB,GAAKve,GAAIwe,GAAKre,GAAIse,GAAK/d,GAAIge,GAAK1d,GAAI2d,GAAKnd,GAAIod,GAAKjc,GAAIkc,GAAKxa,GACxF,SAAS8Z,GAAG3qB,EAAGC,EAAGC,EAAG,CACnB,IAAI,EAAI,EAAGO,EACX,KAAM,CAACC,EAAGC,CAAC,KAAQiqB,GAAG,gBACpB1qB,GAAK,KAAO,OAASA,EAAE,GACvBF,EACAC,CACF,EACI,GAAAC,GAAK,MAAQA,EAAE,KACjBO,EAAIP,GAAK,KAAO,OAASA,EAAE,KAAMO,IAAM,SAAW,KAAQ4qB,GAAG,qBAAqB3qB,EAAGC,CAAC,EAAIF,IAAM,SAAW,KAAQ2qB,GAAG,qBAAqB1qB,EAAGC,CAAC,EAAIF,IAAM,OAAS,KAAQ0qB,GAAG,mBAAmBzqB,EAAGC,CAAC,EAAIF,IAAM,MAAQ,KAAQqqB,GAAG,0BAA0BpqB,EAAGC,CAAC,EAAIF,IAAM,OAAS,KAAQwqB,GAAG,2BAA2BvqB,EAAGC,CAAC,EAAIF,IAAM,QAAU,KAAQsqB,GAAG,4BAA4BrqB,EAAGC,CAAC,EAAIF,IAAM,UAAY,KAAQuqB,GAAG,8BAC1ZtqB,EACAC,CAAA,EACEF,IAAM,SAAW,KAAQyqB,GAAG,2BAA2BxqB,EAAGC,CAAC,OAC5D,CACG,MAAAE,KAAQwqB,GAAG,qBACf3qB,EACAC,CACF,EACA,KAAK,IAAIE,CAAC,EAAIgqB,GAAG,iBAAmB,KAAQQ,GAAG,qBAAqB3qB,EAAGC,CAAC,EAAGF,EAAI,UAAY,KAAK,IAAII,CAAC,EAAIgqB,GAAG,eAAiB,KAAQO,GAAG,qBAAqB1qB,EAAGC,CAAC,EAAGF,EAAI,UAAY,KAAK,IAAII,CAAC,EAAIgqB,GAAG,cAAgB,KAAK,OACpNC,GAAG,0BAA0BpqB,EAAGC,CAAC,CAAA,EACnC,GAAK,KAAQwqB,GAAG,mBAAmBzqB,EAAGC,CAAC,EAAGF,EAAI,QAAU,KAAK,IAAII,CAAC,EAAIgqB,GAAG,gBAAkB,KAAQC,GAAG,0BACxGpqB,EACAC,CACF,IAAM,KAAK,IAAI,CAAC,EAAI,EAAIF,EAAI,MAAQ,KAAK,IAAII,CAAC,EAAIgqB,GAAG,gBAAkB,KAAQI,GAAG,2BAA2BvqB,EAAGC,CAAC,EAAGF,EAAI,QAAU,KAAK,IAAII,CAAC,EAAIgqB,GAAG,kBAAoB,KAAQE,GAAG,4BAA4BrqB,EAAGC,CAAC,EAAGF,EAAI,SAAW,KAAK,IAAII,CAAC,EAAIgqB,GAAG,kBAAqBG,GAAG,8BAA8BtqB,EAAGC,CAAC,EAAI,GAAK,KAAQqqB,GAAG,8BACjUtqB,EACAC,CACF,EAAGF,EAAI,YAAc,KAAQyqB,GAAG,2BAA2BxqB,EAAGC,CAAC,EAAGF,EAAI,OAAA,CAExE,OAAO,IAAI,KAAK,mBAAmBP,GAAK,KAAO,OAASA,EAAE,OAAQ,CAChE,QAAS,OACT,GAAGA,CAAA,CACJ,EAAE,OAAO,EAAGO,CAAC,CAChB,CACA,IAAI6qB,GAAK,CAAC,EACVA,GAAG,QAAUC,GACb,IAAIC,GAAKtpB,EACT,SAASqpB,GAAGvrB,EAAGC,EAAG,CACT,MAAA,IAAKurB,GAAG,QAAQxrB,CAAC,EAAI,IAAKwrB,GAAG,QAAQvrB,CAAC,CAC/C,CACA,IAAIwrB,GAAK,CAAC,EACVA,GAAG,SAAWC,GACd,IAAIC,GAAKzpB,EACT,SAASwpB,GAAG1rB,EAAGC,EAAG,CACT,MAAA,IAAK0rB,GAAG,QAAQ3rB,CAAC,EAAI,IAAK2rB,GAAG,QAAQ1rB,CAAC,CAC/C,CACA,IAAI2rB,GAAK,CAAC,EACVA,GAAG,QAAUC,GACb,IAAIC,GAAK5pB,EACT,SAAS2pB,GAAG7rB,EAAGC,EAAG,CACT,MAAA,IAAK6rB,GAAG,QAAQ9rB,CAAC,GAAK,IAAK8rB,GAAG,QAAQ7rB,CAAC,CAChD,CACA,IAAI8rB,GAAK,CAAC,EACVA,GAAG,SAAWC,GACd,SAASA,GAAGhsB,EAAGC,EAAGC,EAAG,CACnB,MAAM,EAAI,IAAI,KAAKF,EAAGC,EAAGC,CAAC,EACnB,OAAA,EAAE,gBAAkBF,GAAK,EAAE,SAAe,IAAAC,GAAK,EAAE,QAAA,IAAcC,CACxE,CACA,IAAI+rB,GAAK,CAAC,EACVA,GAAG,kBAAoBC,GACvB,IAAIC,GAAKjqB,EACT,SAASgqB,GAAGlsB,EAAGC,EAAG,CACR,SAAGksB,GAAG,QAAQnsB,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAE,QAAc,IAAA,CACpE,CACA,IAAImsB,GAAK,CAAC,EACVA,GAAG,SAAWC,GACd,IAAIC,GAAKpqB,EACT,SAASmqB,GAAGrsB,EAAGC,EAAG,CACR,SAAGqsB,GAAG,QAAQtsB,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAE,OAAa,IAAA,CACnE,CACA,IAAIssB,GAAK,CAAC,EACVA,GAAG,SAAWC,GACd,IAAIC,GAAKvqB,EACT,SAASsqB,GAAGxsB,EAAG,CACb,MAAO,IAAKysB,GAAG,QAAQzsB,CAAC,EAAI,KAAK,IAAI,CACvC,CACA,IAAI0sB,GAAK,CAAC,EAAGC,GAAK,CAAA,EAAIC,GAAK,CAAA,EAAIC,GAAK,CAAC,EACrCA,GAAG,UAAYC,GACf,IAAIC,GAAKrrB,EACT,SAASorB,GAAG9sB,EAAGC,EAAG,CAChB,MAAMC,EAAI8sB,GAAG/sB,CAAC,EAAI,IAAIA,EAAE,CAAC,KAAQ8sB,GAAG,eAAe9sB,EAAG,CAAC,EACvD,OAAOC,EAAE,YAAYF,EAAE,YAAA,EAAeA,EAAE,SAAS,EAAGA,EAAE,SAAS,EAAGE,EAAE,SAClEF,EAAE,SAAS,EACXA,EAAE,WAAW,EACbA,EAAE,WAAW,EACbA,EAAE,gBAAgB,CAAA,EACjBE,CACL,CACA,SAAS8sB,GAAGhtB,EAAG,CACT,IAAAC,EACG,OAAA,OAAOD,GAAK,cAAgBC,EAAID,EAAE,YAAc,KAAO,OAASC,EAAE,eAAiBD,CAC5F,CACA4sB,GAAG,YAAcA,GAAG,OAASA,GAAG,mBAAqB,OACrD,IAAIK,GAAKvrB,EAAGwrB,GAAKL,GACjB,MAAMM,GAAK,GACX,MAAMC,EAAG,CACP,aAAc,CACVjtB,EAAA,KAAM,cAAe,CAAC,CAAA,CAE1B,SAASF,EAAGC,EAAG,CACN,MAAA,EAAA,CAEX,CACA0sB,GAAG,OAASQ,GACZ,MAAMC,WAAWD,EAAG,CAClB,YAAYntB,EAAGC,EAAG,EAAGO,EAAGC,EAAG,CACzB,MAAA,EAAS,KAAK,MAAQT,EAAG,KAAK,cAAgBC,EAAG,KAAK,SAAW,EAAG,KAAK,SAAWO,EAAGC,IAAM,KAAK,YAAcA,EAAA,CAElH,SAAST,EAAGC,EAAG,CACb,OAAO,KAAK,cAAcD,EAAG,KAAK,MAAOC,CAAC,CAAA,CAE5C,IAAID,EAAGC,EAAG,EAAG,CACX,OAAO,KAAK,SAASD,EAAGC,EAAG,KAAK,MAAO,CAAC,CAAA,CAE5C,CACA0sB,GAAG,YAAcS,GACjB,MAAMC,WAAWF,EAAG,CAClB,YAAY,EAAG3wB,EAAG,CACV,MAAA,EACJ0D,EAAA,KAAM,WAAYgtB,EAAE,EACpBhtB,EAAA,KAAM,cAAe,EAAE,EACpB,KAAA,QAAU,IAAOM,MAAUwsB,GAAG,eAAexwB,EAAGgE,CAAC,EAAA,CAExD,IAAI,EAAGhE,EAAG,CACR,OAAOA,EAAE,eAAiB,KAAQwwB,GAAG,eACnC,KACIC,GAAG,WAAW,EAAG,KAAK,OAAO,CACnC,CAAA,CAEJ,CACAN,GAAG,mBAAqBU,GACxB,IAAIC,GAAK,CAAA,EAAIC,GAAK,CAAC,EAAGC,EAAI,CAAC,EAC3BA,EAAE,OAAS,OACX,IAAIC,GAAKd,GACT,MAAMe,EAAG,CACP,IAAI1tB,EAAGC,EAAG,EAAGO,EAAG,CACd,MAAMC,EAAI,KAAK,MAAMT,EAAGC,EAAG,EAAGO,CAAC,EAC/B,OAAOC,EAAI,CACT,OAAQ,IAAIgtB,GAAG,YACbhtB,EAAE,MACF,KAAK,SACL,KAAK,IACL,KAAK,SACL,KAAK,WACP,EACA,KAAMA,EAAE,IAAA,EACN,IAAA,CAEN,SAAST,EAAGC,EAAG,EAAG,CACT,MAAA,EAAA,CAEX,CACAutB,EAAE,OAASE,GACXH,GAAG,UAAY,OACf,IAAII,GAAKH,EACT,MAAMI,WAAWD,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChBztB,EAAA,KAAM,WAAY,GAAG,EACvBA,EAAE,KAAM,qBAAsB,CAAC,IAAK,IAAK,IAAK,GAAG,CAAC,CAAA,CAEpD,MAAM,EAAG1D,EAAGgE,EAAG,CACb,OAAQhE,EAAG,CACT,IAAK,IACL,IAAK,KACL,IAAK,MACH,OAAOgE,EAAE,IAAI,EAAG,CAAE,MAAO,aAAc,CAAC,GAAKA,EAAE,IAAI,EAAG,CAAE,MAAO,SAAU,EAC3E,IAAK,QACH,OAAOA,EAAE,IAAI,EAAG,CAAE,MAAO,SAAU,EACrC,IAAK,OACL,QACS,OAAAA,EAAE,IAAI,EAAG,CAAE,MAAO,MAAQ,CAAA,GAAKA,EAAE,IAAI,EAAG,CAAE,MAAO,aAAe,CAAA,GAAKA,EAAE,IAAI,EAAG,CAAE,MAAO,SAAU,CAAA,CAC5G,CAEF,IAAI,EAAGhE,EAAGgE,EAAG,CACX,OAAOhE,EAAE,IAAMgE,EAAG,EAAE,YAAYA,EAAG,EAAG,CAAC,EAAG,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAG,CAAA,CAEtE,CACA+sB,GAAG,UAAYK,GACf,IAAIC,GAAK,CAAA,EAAIC,EAAI,CAAC,EAAGC,GAAK,CAAC,EAC3BA,GAAG,iBAAmBA,GAAG,gBAAkB,OAC3CA,GAAG,gBAAkB,CACnB,MAAO,iBAEP,KAAM,qBAEN,UAAW,kCAEX,KAAM,qBAEN,QAAS,qBAET,QAAS,qBAET,QAAS,iBAET,QAAS,iBAET,OAAQ,YAER,OAAQ,YAER,YAAa,MAEb,UAAW,WAEX,YAAa,WAEb,WAAY,WAEZ,gBAAiB,SACjB,kBAAmB,QAEnB,gBAAiB,aAEjB,kBAAmB,aAEnB,iBAAkB,YAEpB,EACAA,GAAG,iBAAmB,CACpB,qBAAsB,2BACtB,MAAO,0BACP,qBAAsB,oCACtB,SAAU,2BACV,wBAAyB,qCAC3B,EACAD,EAAE,qBAAuBE,GACzBF,EAAE,gBAAkBG,GACpBH,EAAE,SAAWI,GACbJ,EAAE,sBAAwBK,GAC1BL,EAAE,qBAAuBM,GACzBN,EAAE,aAAeO,GACjBP,EAAE,mBAAqBQ,GACvBR,EAAE,oBAAsBS,GACxBT,EAAE,qBAAuBU,GACzB,IAAIC,GAAK/sB,EAAGgtB,GAAKX,GACjB,SAASG,GAAGnuB,EAAGC,EAAG,CAChB,OAAOD,GAAK,CACV,MAAOC,EAAED,EAAE,KAAK,EAChB,KAAMA,EAAE,IACV,CACF,CACA,SAASwuB,GAAGxuB,EAAGC,EAAG,CACV,MAAAC,EAAID,EAAE,MAAMD,CAAC,EACnB,OAAOE,EAAI,CACT,MAAO,SAASA,EAAE,CAAC,EAAG,EAAE,EACxB,KAAMD,EAAE,MAAMC,EAAE,CAAC,EAAE,MAAM,CAAA,EACvB,IACN,CACA,SAASuuB,GAAGzuB,EAAGC,EAAG,CACV,MAAAC,EAAID,EAAE,MAAMD,CAAC,EACnB,GAAI,CAACE,EACI,OAAA,KACL,GAAAA,EAAE,CAAC,IAAM,IACJ,MAAA,CACL,MAAO,EACP,KAAMD,EAAE,MAAM,CAAC,CACjB,EACF,MAAM,EAAIC,EAAE,CAAC,IAAM,IAAM,EAAI,GAAIO,EAAIP,EAAE,CAAC,EAAI,SAASA,EAAE,CAAC,EAAG,EAAE,EAAI,EAAGQ,EAAIR,EAAE,CAAC,EAAI,SAASA,EAAE,CAAC,EAAG,EAAE,EAAI,EAAGS,EAAIT,EAAE,CAAC,EAAI,SAASA,EAAE,CAAC,EAAG,EAAE,EAAI,EAChI,MAAA,CACL,MAAO,GAAKO,EAAIiuB,GAAG,mBAAqBhuB,EAAIguB,GAAG,qBAAuB/tB,EAAI+tB,GAAG,sBAC7E,KAAMzuB,EAAE,MAAMC,EAAE,CAAC,EAAE,MAAM,CAC3B,CACF,CACA,SAASmuB,GAAGruB,EAAG,CACN,OAAAwuB,GACLG,GAAG,gBAAgB,gBACnB3uB,CACF,CACF,CACA,SAASsuB,GAAGtuB,EAAGC,EAAG,CAChB,OAAQD,EAAG,CACT,IAAK,GACI,OAAAwuB,GACLG,GAAG,gBAAgB,YACnB1uB,CACF,EACF,IAAK,GACI,OAAAuuB,GACLG,GAAG,gBAAgB,UACnB1uB,CACF,EACF,IAAK,GACI,OAAAuuB,GACLG,GAAG,gBAAgB,YACnB1uB,CACF,EACF,IAAK,GACI,OAAAuuB,GACLG,GAAG,gBAAgB,WACnB1uB,CACF,EACF,QACE,OAAOuuB,GAAG,IAAI,OAAO,UAAYxuB,EAAI,GAAG,EAAGC,CAAC,CAAA,CAElD,CACA,SAASsuB,GAAGvuB,EAAGC,EAAG,CAChB,OAAQD,EAAG,CACT,IAAK,GACI,OAAAwuB,GACLG,GAAG,gBAAgB,kBACnB1uB,CACF,EACF,IAAK,GACI,OAAAuuB,GACLG,GAAG,gBAAgB,gBACnB1uB,CACF,EACF,IAAK,GACI,OAAAuuB,GACLG,GAAG,gBAAgB,kBACnB1uB,CACF,EACF,IAAK,GACI,OAAAuuB,GACLG,GAAG,gBAAgB,iBACnB1uB,CACF,EACF,QACE,OAAOuuB,GAAG,IAAI,OAAO,YAAcxuB,EAAI,GAAG,EAAGC,CAAC,CAAA,CAEpD,CACA,SAASguB,GAAGjuB,EAAG,CACb,OAAQA,EAAG,CACT,IAAK,UACI,MAAA,GACT,IAAK,UACI,MAAA,IACT,IAAK,KACL,IAAK,OACL,IAAK,YACI,MAAA,IACT,IAAK,KACL,IAAK,WACL,IAAK,QACL,QACS,MAAA,EAAA,CAEb,CACA,SAASouB,GAAGpuB,EAAGC,EAAG,CAChB,MAAMC,EAAID,EAAI,EAAG,EAAIC,EAAID,EAAI,EAAIA,EAC7B,IAAAQ,EACJ,GAAI,GAAK,GACPA,EAAIT,GAAK,QACN,CACH,MAAMU,EAAI,EAAI,GAAIC,EAAI,KAAK,MAAMD,EAAI,GAAG,EAAI,IAAKE,EAAIZ,GAAKU,EAAI,IAC1DD,EAAAT,EAAIW,GAAKC,EAAI,IAAM,EAAA,CAElB,OAAAV,EAAIO,EAAI,EAAIA,CACrB,CACA,SAASytB,GAAGluB,EAAG,CACb,OAAOA,EAAI,MAAQ,GAAKA,EAAI,IAAM,GAAKA,EAAI,MAAQ,CACrD,CACA8tB,GAAG,WAAa,OAChB,IAAIc,GAAKnB,EAAGoB,GAAKd,EACjB,MAAMe,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChBzuB,EAAA,KAAM,WAAY,GAAG,EACvBA,EAAE,KAAM,qBAAsB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,CAAC,CAAA,CAElF,MAAM,EAAG1D,EAAGgE,EAAG,CACP,MAAAC,EAAKC,IAAO,CAChB,KAAMA,EACN,eAAgBlE,IAAM,IAAA,GAExB,OAAQA,EAAG,CACT,IAAK,IACH,SAAWoyB,GAAG,aACRA,GAAG,cAAc,EAAG,CAAC,EACzBnuB,CACF,EACF,IAAK,KACH,SAAWmuB,GAAG,UACZpuB,EAAE,cAAc,EAAG,CACjB,KAAM,MAAA,CACP,EACDC,CACF,EACF,QACE,SAAWmuB,GAAG,aACRA,GAAG,cAAcpyB,EAAE,OAAQ,CAAC,EAChCiE,CACF,CAAA,CACJ,CAEF,SAAS,EAAGjE,EAAG,CACN,OAAAA,EAAE,gBAAkBA,EAAE,KAAO,CAAA,CAEtC,IAAI,EAAGA,EAAGgE,EAAG,CACL,MAAAC,EAAI,EAAE,YAAY,EACxB,GAAID,EAAE,eAAgB,CACd,MAAAG,KAAQiuB,GAAG,uBACfpuB,EAAE,KACFC,CACF,EACA,OAAO,EAAE,YAAYE,EAAG,EAAG,CAAC,EAAG,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAG,CAAA,CAEnD,MAAAD,EAAI,EAAE,QAASlE,IAAMA,EAAE,MAAQ,EAAIgE,EAAE,KAAO,EAAIA,EAAE,KACxD,OAAO,EAAE,YAAYE,EAAG,EAAG,CAAC,EAAG,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAG,CAAA,CAE3D,CACAmtB,GAAG,WAAagB,GAChB,IAAIC,GAAK,CAAC,EACVA,GAAG,oBAAsB,OACzB,IAAIC,GAAK9S,GAAI+S,GAAKpqB,GAAIqqB,GAAKzB,EAAG0B,GAAKpB,EACnC,MAAMqB,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChB/uB,EAAA,KAAM,WAAY,GAAG,EACvBA,EAAE,KAAM,qBAAsB,CAC5B,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GAAA,CACD,CAAA,CAEH,MAAM,EAAG1D,EAAGgE,EAAG,CACP,MAAAC,EAAKC,IAAO,CAChB,KAAMA,EACN,eAAgBlE,IAAM,IAAA,GAExB,OAAQA,EAAG,CACT,IAAK,IACH,SAAW0yB,GAAG,aACRA,GAAG,cAAc,EAAG,CAAC,EACzBzuB,CACF,EACF,IAAK,KACH,SAAWyuB,GAAG,UACZ1uB,EAAE,cAAc,EAAG,CACjB,KAAM,MAAA,CACP,EACDC,CACF,EACF,QACE,SAAWyuB,GAAG,aACRA,GAAG,cAAc1yB,EAAE,OAAQ,CAAC,EAChCiE,CACF,CAAA,CACJ,CAEF,SAAS,EAAGjE,EAAG,CACN,OAAAA,EAAE,gBAAkBA,EAAE,KAAO,CAAA,CAEtC,IAAI,EAAGA,EAAGgE,EAAGC,EAAG,CACd,MAAMC,KAAQquB,GAAG,aAAa,EAAGtuB,CAAC,EAClC,GAAID,EAAE,eAAgB,CACd,MAAAI,KAAQsuB,GAAG,uBACf1uB,EAAE,KACFE,CACF,EACA,OAAO,EAAE,YACPE,EACA,EACAH,EAAE,qBACD,EAAA,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,KAAOuuB,GAAG,aAAa,EAAGvuB,CAAC,CAAA,CAE/C,MAAAE,EAAI,EAAE,QAASnE,IAAMA,EAAE,MAAQ,EAAIgE,EAAE,KAAO,EAAIA,EAAE,KACxD,OAAO,EAAE,YAAYG,EAAG,EAAGF,EAAE,qBAAqB,EAAG,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,KAAOuuB,GAAG,aAAa,EAAGvuB,CAAC,CAAA,CAEzG,CACAquB,GAAG,oBAAsBK,GACzB,IAAIC,GAAK,CAAC,EACVA,GAAG,kBAAoB,OACvB,IAAIC,GAAK1qB,GAAI2qB,GAAK7tB,EAAG8tB,GAAK/B,EAAGgC,GAAK1B,EAClC,MAAM2B,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChBrvB,EAAA,KAAM,WAAY,GAAG,EACvBA,EAAE,KAAM,qBAAsB,CAC5B,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GAAA,CACD,CAAA,CAEH,MAAM,EAAG1D,EAAG,CACV,OAAOA,IAAM,OAAUgzB,GAAG,oBAAoB,EAAG,CAAC,KAAQA,GAAG,oBAAoBhzB,EAAE,OAAQ,CAAC,CAAA,CAE9F,IAAI,EAAGA,EAAGgE,EAAG,CACX,MAAMC,KAAQ6uB,GAAG,eAAe,EAAG,CAAC,EACpC,OAAO7uB,EAAE,YAAYD,EAAG,EAAG,CAAC,EAAGC,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,KAAO4uB,GAAG,gBAAgB5uB,CAAC,CAAA,CAEnF,CACA2uB,GAAG,kBAAoBK,GACvB,IAAIC,GAAK,CAAC,EACVA,GAAG,mBAAqB,OACxB,IAAIC,GAAKnC,EAAGoC,GAAK9B,EACjB,MAAM+B,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChBzvB,EAAA,KAAM,WAAY,GAAG,EACvBA,EAAE,KAAM,qBAAsB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,CAAC,CAAA,CAEvF,MAAM,EAAG1D,EAAG,CACV,OAAOA,IAAM,OAAUozB,GAAG,oBAAoB,EAAG,CAAC,KAAQA,GAAG,oBAAoBpzB,EAAE,OAAQ,CAAC,CAAA,CAE9F,IAAI,EAAGA,EAAGgE,EAAG,CACX,OAAO,EAAE,YAAYA,EAAG,EAAG,CAAC,EAAG,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAG,CAAA,CAE3D,CACAkvB,GAAG,mBAAqBG,GACxB,IAAIC,GAAK,CAAC,EACVA,GAAG,cAAgB,OACnB,IAAIC,GAAKvC,EAAGwC,GAAKlC,EACjB,MAAMmC,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChB7vB,EAAA,KAAM,WAAY,GAAG,EACvBA,EAAE,KAAM,qBAAsB,CAC5B,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GAAA,CACD,CAAA,CAEH,MAAM,EAAG1D,EAAGgE,EAAG,CACb,OAAQhE,EAAG,CACT,IAAK,IACL,IAAK,KACH,SAAWwzB,GAAG,cAAcxzB,EAAE,OAAQ,CAAC,EACzC,IAAK,KACH,OAAOgE,EAAE,cAAc,EAAG,CAAE,KAAM,UAAW,EAC/C,IAAK,MACI,OAAAA,EAAE,QAAQ,EAAG,CAClB,MAAO,cACP,QAAS,YAAA,CACV,GAAKA,EAAE,QAAQ,EAAG,CACjB,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,QACI,OAAAA,EAAE,QAAQ,EAAG,CAClB,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,OACL,QACS,OAAAA,EAAE,QAAQ,EAAG,CAClB,MAAO,OACP,QAAS,YAAA,CACV,GAAKA,EAAE,QAAQ,EAAG,CACjB,MAAO,cACP,QAAS,YAAA,CACV,GAAKA,EAAE,QAAQ,EAAG,CACjB,MAAO,SACP,QAAS,YAAA,CACV,CAAA,CACL,CAEF,SAAS,EAAGhE,EAAG,CACN,OAAAA,GAAK,GAAKA,GAAK,CAAA,CAExB,IAAI,EAAGA,EAAGgE,EAAG,CACX,OAAO,EAAE,UAAUA,EAAI,GAAK,EAAG,CAAC,EAAG,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAG,CAAA,CAE/D,CACAsvB,GAAG,cAAgBG,GACnB,IAAIC,GAAK,CAAC,EACVA,GAAG,wBAA0B,OAC7B,IAAIC,GAAK3C,EAAG4C,GAAKtC,EACjB,MAAMuC,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChBjwB,EAAA,KAAM,WAAY,GAAG,EACvBA,EAAE,KAAM,qBAAsB,CAC5B,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GAAA,CACD,CAAA,CAEH,MAAM,EAAG1D,EAAGgE,EAAG,CACb,OAAQhE,EAAG,CACT,IAAK,IACL,IAAK,KACH,SAAW4zB,GAAG,cAAc5zB,EAAE,OAAQ,CAAC,EACzC,IAAK,KACH,OAAOgE,EAAE,cAAc,EAAG,CAAE,KAAM,UAAW,EAC/C,IAAK,MACI,OAAAA,EAAE,QAAQ,EAAG,CAClB,MAAO,cACP,QAAS,YAAA,CACV,GAAKA,EAAE,QAAQ,EAAG,CACjB,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,QACI,OAAAA,EAAE,QAAQ,EAAG,CAClB,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,OACL,QACS,OAAAA,EAAE,QAAQ,EAAG,CAClB,MAAO,OACP,QAAS,YAAA,CACV,GAAKA,EAAE,QAAQ,EAAG,CACjB,MAAO,cACP,QAAS,YAAA,CACV,GAAKA,EAAE,QAAQ,EAAG,CACjB,MAAO,SACP,QAAS,YAAA,CACV,CAAA,CACL,CAEF,SAAS,EAAGhE,EAAG,CACN,OAAAA,GAAK,GAAKA,GAAK,CAAA,CAExB,IAAI,EAAGA,EAAGgE,EAAG,CACX,OAAO,EAAE,UAAUA,EAAI,GAAK,EAAG,CAAC,EAAG,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAG,CAAA,CAE/D,CACA0vB,GAAG,wBAA0BG,GAC7B,IAAIC,GAAK,CAAC,EACVA,GAAG,YAAc,OACjB,IAAIC,GAAKxC,GAAIyC,GAAKhD,EAAGiD,GAAK3C,EAC1B,MAAM4C,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAClBtwB,EAAE,KAAM,qBAAsB,CAC5B,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GAAA,CACD,EACCA,EAAA,KAAM,WAAY,GAAG,CAAA,CAEzB,MAAM,EAAG1D,EAAGgE,EAAG,CACP,MAAAC,EAAKC,GAAMA,EAAI,EACrB,OAAQlE,EAAG,CACT,IAAK,IACH,SAAWi0B,GAAG,aACRA,GAAG,qBACLF,GAAG,gBAAgB,MACnB,CACF,EACA9vB,CACF,EACF,IAAK,KACH,SAAWgwB,GAAG,aACRA,GAAG,cAAc,EAAG,CAAC,EACzBhwB,CACF,EACF,IAAK,KACH,SAAWgwB,GAAG,UACZjwB,EAAE,cAAc,EAAG,CACjB,KAAM,OAAA,CACP,EACDC,CACF,EACF,IAAK,MACI,OAAAD,EAAE,MAAM,EAAG,CAChB,MAAO,cACP,QAAS,YAAA,CACV,GAAKA,EAAE,MAAM,EAAG,CAAE,MAAO,SAAU,QAAS,aAAc,EAC7D,IAAK,QACI,OAAAA,EAAE,MAAM,EAAG,CAChB,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,OACL,QACE,OAAOA,EAAE,MAAM,EAAG,CAAE,MAAO,OAAQ,QAAS,YAAA,CAAc,GAAKA,EAAE,MAAM,EAAG,CACxE,MAAO,cACP,QAAS,YAAA,CACV,GAAKA,EAAE,MAAM,EAAG,CAAE,MAAO,SAAU,QAAS,aAAc,CAAA,CAC/D,CAEF,SAAS,EAAGhE,EAAG,CACN,OAAAA,GAAK,GAAKA,GAAK,EAAA,CAExB,IAAI,EAAGA,EAAGgE,EAAG,CACJ,OAAA,EAAE,SAASA,EAAG,CAAC,EAAG,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAG,CAAA,CAErD,CACA8vB,GAAG,YAAcI,GACjB,IAAIC,GAAK,CAAC,EACVA,GAAG,sBAAwB,OAC3B,IAAIC,GAAK7C,GAAI8C,GAAKrD,EAAGsD,GAAKhD,EAC1B,MAAMiD,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChB3wB,EAAA,KAAM,WAAY,GAAG,EACvBA,EAAE,KAAM,qBAAsB,CAC5B,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GAAA,CACD,CAAA,CAEH,MAAM,EAAG1D,EAAGgE,EAAG,CACP,MAAAC,EAAKC,GAAMA,EAAI,EACrB,OAAQlE,EAAG,CACT,IAAK,IACH,SAAWs0B,GAAG,aACRA,GAAG,qBACLF,GAAG,gBAAgB,MACnB,CACF,EACAnwB,CACF,EACF,IAAK,KACH,SAAWqwB,GAAG,aACRA,GAAG,cAAc,EAAG,CAAC,EACzBrwB,CACF,EACF,IAAK,KACH,SAAWqwB,GAAG,UACZtwB,EAAE,cAAc,EAAG,CACjB,KAAM,OAAA,CACP,EACDC,CACF,EACF,IAAK,MACI,OAAAD,EAAE,MAAM,EAAG,CAChB,MAAO,cACP,QAAS,YAAA,CACV,GAAKA,EAAE,MAAM,EAAG,CAAE,MAAO,SAAU,QAAS,aAAc,EAC7D,IAAK,QACI,OAAAA,EAAE,MAAM,EAAG,CAChB,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,OACL,QACE,OAAOA,EAAE,MAAM,EAAG,CAAE,MAAO,OAAQ,QAAS,YAAA,CAAc,GAAKA,EAAE,MAAM,EAAG,CACxE,MAAO,cACP,QAAS,YAAA,CACV,GAAKA,EAAE,MAAM,EAAG,CAAE,MAAO,SAAU,QAAS,aAAc,CAAA,CAC/D,CAEF,SAAS,EAAGhE,EAAG,CACN,OAAAA,GAAK,GAAKA,GAAK,EAAA,CAExB,IAAI,EAAGA,EAAGgE,EAAG,CACJ,OAAA,EAAE,SAASA,EAAG,CAAC,EAAG,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAG,CAAA,CAErD,CACAmwB,GAAG,sBAAwBI,GAC3B,IAAIC,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,QAAUC,GACb,IAAIC,GAAKpV,GAAIqV,GAAKnvB,EAClB,SAASivB,GAAGnxB,EAAGC,EAAGC,EAAG,CACnB,MAAM,KAAQmxB,GAAG,QAAQrxB,EAAGE,GAAK,KAAO,OAASA,EAAE,EAAE,EAAGO,KAAQ2wB,GAAG,SAAS,EAAGlxB,CAAC,EAAID,EACpF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAIQ,EAAI,CAAC,KAAO4wB,GAAG,QAAQ,EAAGnxB,GAAK,KAAO,OAASA,EAAE,EAAE,CACpF,CACA+wB,GAAG,gBAAkB,OACrB,IAAIK,GAAKJ,GAAIK,GAAK1sB,GAAI2sB,GAAKxD,GAAIyD,GAAKhE,EAAGiE,GAAK3D,EAC5C,MAAM4D,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChBtxB,EAAA,KAAM,WAAY,GAAG,EACvBA,EAAE,KAAM,qBAAsB,CAC5B,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GAAA,CACD,CAAA,CAEH,MAAM,EAAG1D,EAAGgE,EAAG,CACb,OAAQhE,EAAG,CACT,IAAK,IACH,SAAWi1B,GAAG,qBACZF,GAAG,gBAAgB,KACnB,CACF,EACF,IAAK,KACH,OAAO/wB,EAAE,cAAc,EAAG,CAAE,KAAM,OAAQ,EAC5C,QACE,SAAWixB,GAAG,cAAcj1B,EAAE,OAAQ,CAAC,CAAA,CAC3C,CAEF,SAAS,EAAGA,EAAG,CACN,OAAAA,GAAK,GAAKA,GAAK,EAAA,CAExB,IAAI,EAAGA,EAAGgE,EAAGC,EAAG,CACd,SAAW6wB,GAAG,gBACRD,GAAG,SAAS,EAAG7wB,EAAGC,CAAC,EACvBA,CACF,CAAA,CAEJ,CACAuwB,GAAG,gBAAkBU,GACrB,IAAIC,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,WAAaC,GAChB,IAAIC,GAAKrW,GAAIsW,GAAK9vB,EAClB,SAAS4vB,GAAG9xB,EAAGC,EAAGC,EAAG,CACnB,MAAM,KAAQ8xB,GAAG,QAAQhyB,EAAGE,GAAK,KAAO,OAASA,EAAE,EAAE,EAAGO,KAAQsxB,GAAG,YAAY,EAAG7xB,CAAC,EAAID,EACvF,OAAO,EAAE,QAAQ,EAAE,UAAYQ,EAAI,CAAC,EAAG,CACzC,CACAmxB,GAAG,cAAgB,OACnB,IAAIK,GAAKJ,GAAIK,GAAKttB,GAAIutB,GAAKnE,GAAIoE,GAAK3E,EAAG4E,GAAKtE,EAC5C,MAAMuE,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChBjyB,EAAA,KAAM,WAAY,GAAG,EACvBA,EAAE,KAAM,qBAAsB,CAC5B,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GAAA,CACD,CAAA,CAEH,MAAM,EAAG1D,EAAGgE,EAAG,CACb,OAAQhE,EAAG,CACT,IAAK,IACH,SAAW41B,GAAG,qBACZF,GAAG,gBAAgB,KACnB,CACF,EACF,IAAK,KACH,OAAO1xB,EAAE,cAAc,EAAG,CAAE,KAAM,OAAQ,EAC5C,QACE,SAAW4xB,GAAG,cAAc51B,EAAE,OAAQ,CAAC,CAAA,CAC3C,CAEF,SAAS,EAAGA,EAAG,CACN,OAAAA,GAAK,GAAKA,GAAK,EAAA,CAExB,IAAI,EAAGA,EAAGgE,EAAG,CACH,SAAGyxB,GAAG,mBAAoBD,GAAG,YAAY,EAAGxxB,CAAC,CAAC,CAAA,CAE1D,CACAmxB,GAAG,cAAgBU,GACnB,IAAIC,GAAK,CAAC,EACVA,GAAG,WAAa,OAChB,IAAIC,GAAKxE,GAAIyE,GAAKhF,EAAGiF,GAAK3E,EAC1B,MAAM4E,GAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAGC,GAAK,CAChE,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACF,EACA,MAAMC,WAAWJ,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChBtyB,EAAA,KAAM,WAAY,EAAE,EACpBA,EAAA,KAAM,cAAe,CAAC,EACxBA,EAAE,KAAM,qBAAsB,CAC5B,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GAAA,CACD,CAAA,CAEH,MAAM,EAAG1D,EAAGgE,EAAG,CACb,OAAQhE,EAAG,CACT,IAAK,IACH,SAAWi2B,GAAG,qBACZF,GAAG,gBAAgB,KACnB,CACF,EACF,IAAK,KACH,OAAO/xB,EAAE,cAAc,EAAG,CAAE,KAAM,OAAQ,EAC5C,QACE,SAAWiyB,GAAG,cAAcj2B,EAAE,OAAQ,CAAC,CAAA,CAC3C,CAEF,SAAS,EAAGA,EAAG,CACb,MAAMgE,EAAI,EAAE,YAAY,EAAGC,KAAQgyB,GAAG,iBAAiBjyB,CAAC,EAAGE,EAAI,EAAE,SAAS,EACnE,OAAAD,EAAIjE,GAAK,GAAKA,GAAKm2B,GAAGjyB,CAAC,EAAIlE,GAAK,GAAKA,GAAKk2B,GAAGhyB,CAAC,CAAA,CAEvD,IAAI,EAAGlE,EAAGgE,EAAG,CACJ,OAAA,EAAE,QAAQA,CAAC,EAAG,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAG,CAAA,CAEjD,CACA8xB,GAAG,WAAaM,GAChB,IAAIC,GAAK,CAAC,EACVA,GAAG,gBAAkB,OACrB,IAAIC,GAAK/E,GAAIgF,GAAKvF,EAAGwF,GAAKlF,EAC1B,MAAMmF,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChB7yB,EAAA,KAAM,WAAY,EAAE,EACpBA,EAAA,KAAM,cAAe,CAAC,EACxBA,EAAE,KAAM,qBAAsB,CAC5B,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GAAA,CACD,CAAA,CAEH,MAAM,EAAG1D,EAAGgE,EAAG,CACb,OAAQhE,EAAG,CACT,IAAK,IACL,IAAK,KACH,SAAWw2B,GAAG,qBACZF,GAAG,gBAAgB,UACnB,CACF,EACF,IAAK,KACH,OAAOtyB,EAAE,cAAc,EAAG,CAAE,KAAM,OAAQ,EAC5C,QACE,SAAWwyB,GAAG,cAAcx2B,EAAE,OAAQ,CAAC,CAAA,CAC3C,CAEF,SAAS,EAAGA,EAAG,CACP,MAAAgE,EAAI,EAAE,YAAY,EAChB,SAAGwyB,GAAG,iBAAiBxyB,CAAC,EAAIhE,GAAK,GAAKA,GAAK,IAAMA,GAAK,GAAKA,GAAK,GAAA,CAE1E,IAAI,EAAGA,EAAGgE,EAAG,CACJ,OAAA,EAAE,SAAS,EAAGA,CAAC,EAAG,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAG,CAAA,CAErD,CACAqyB,GAAG,gBAAkBI,GACrB,IAAIC,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,OAASC,GACZ,IAAIC,GAAKxuB,GAAIyuB,GAAK9xB,GAAI+xB,GAAKtxB,EAC3B,SAASmxB,GAAGrzB,EAAGC,EAAGC,EAAG,aACf,IAAAa,EAAGC,EAAGC,EAAGmf,EACb,MAAM3jB,KAAQ62B,GAAG,mBAAmB,EAAG7yB,GAAKlD,GAAAzD,GAAAF,GAAAhB,EAAAsH,GAAK,KAAO,OAASA,EAAE,eAAvB,KAAAtH,GAA0CoI,GAAKD,EAAIb,GAAK,KAAO,OAASA,EAAE,SAAW,KAAO,OAASa,EAAE,UAAY,KAAO,OAASC,EAAE,eAArI,KAAApH,EAAsJ6C,EAAE,eAAxJ,KAAA3C,GAA0KsmB,GAAKnf,EAAIxE,EAAE,SAAW,KAAO,OAASwE,EAAE,UAAY,KAAO,OAASmf,EAAE,eAAhP,KAAA7iB,EAAiQ,EAAGmD,KAAQ8yB,GAAG,QAAQxzB,EAAGE,GAAK,KAAO,OAASA,EAAE,EAAE,EAAGS,EAAID,EAAE,SAAUG,GAAKZ,EAAI,EAAI,GAAK,EAAGa,EAAI,EAAIL,EAAGvF,EAAI+E,EAAI,GAAKA,EAAI,EAAIA,GAAKU,EAAIG,GAAK,GAAKD,EAAIC,GAAK,GAAKH,EAAIG,GAAK,EACjd,SAAWyyB,GAAG,SAAS7yB,EAAGxF,EAAGgF,CAAC,CAChC,CACAizB,GAAG,UAAY,OACf,IAAIM,GAAKL,GAAIM,GAAKjG,EAClB,MAAMkG,WAAWD,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChBvzB,EAAA,KAAM,WAAY,EAAE,EACpBA,EAAA,KAAM,qBAAsB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,CAAC,CAAA,CAE9D,MAAM,EAAG1D,EAAGgE,EAAG,CACb,OAAQhE,EAAG,CACT,IAAK,IACL,IAAK,KACL,IAAK,MACI,OAAAgE,EAAE,IAAI,EAAG,CACd,MAAO,cACP,QAAS,YAAA,CACV,GAAKA,EAAE,IAAI,EAAG,CAAE,MAAO,QAAS,QAAS,YAAA,CAAc,GAAKA,EAAE,IAAI,EAAG,CAAE,MAAO,SAAU,QAAS,aAAc,EAClH,IAAK,QACI,OAAAA,EAAE,IAAI,EAAG,CACd,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,SACH,OAAOA,EAAE,IAAI,EAAG,CAAE,MAAO,QAAS,QAAS,YAAa,CAAC,GAAKA,EAAE,IAAI,EAAG,CAAE,MAAO,SAAU,QAAS,aAAc,EACnH,IAAK,OACL,QACE,OAAOA,EAAE,IAAI,EAAG,CAAE,MAAO,OAAQ,QAAS,YAAA,CAAc,GAAKA,EAAE,IAAI,EAAG,CACpE,MAAO,cACP,QAAS,YAAA,CACV,GAAKA,EAAE,IAAI,EAAG,CAAE,MAAO,QAAS,QAAS,YAAA,CAAc,GAAKA,EAAE,IAAI,EAAG,CAAE,MAAO,SAAU,QAAS,aAAc,CAAA,CACpH,CAEF,SAAS,EAAGhE,EAAG,CACN,OAAAA,GAAK,GAAKA,GAAK,CAAA,CAExB,IAAI,EAAGA,EAAGgE,EAAGC,EAAG,CACd,OAAO,KAAQ+yB,GAAG,QAAQ,EAAGhzB,EAAGC,CAAC,EAAG,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAG,CAAA,CAEhE,CACAyyB,GAAG,UAAYQ,GACf,IAAIC,GAAK,CAAC,EACVA,GAAG,eAAiB,OACpB,IAAIC,GAAKT,GAAIU,GAAKrG,EAAGsG,GAAKhG,EAC1B,MAAMiG,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChB3zB,EAAA,KAAM,WAAY,EAAE,EACtBA,EAAE,KAAM,qBAAsB,CAC5B,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GAAA,CACD,CAAA,CAEH,MAAM,EAAG1D,EAAGgE,EAAGC,EAAG,CACV,MAAAC,EAAKC,GAAM,CACf,MAAMC,EAAI,KAAK,OAAOD,EAAI,GAAK,CAAC,EAAI,EACpC,OAAQA,EAAIF,EAAE,aAAe,GAAK,EAAIG,CACxC,EACA,OAAQpE,EAAG,CACT,IAAK,IACL,IAAK,KACH,SAAWs3B,GAAG,aACRA,GAAG,cAAct3B,EAAE,OAAQ,CAAC,EAChCkE,CACF,EACF,IAAK,KACH,SAAWozB,GAAG,UACZtzB,EAAE,cAAc,EAAG,CACjB,KAAM,KAAA,CACP,EACDE,CACF,EACF,IAAK,MACI,OAAAF,EAAE,IAAI,EAAG,CACd,MAAO,cACP,QAAS,YAAA,CACV,GAAKA,EAAE,IAAI,EAAG,CAAE,MAAO,QAAS,QAAS,YAAA,CAAc,GAAKA,EAAE,IAAI,EAAG,CAAE,MAAO,SAAU,QAAS,aAAc,EAClH,IAAK,QACI,OAAAA,EAAE,IAAI,EAAG,CACd,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,SACH,OAAOA,EAAE,IAAI,EAAG,CAAE,MAAO,QAAS,QAAS,YAAa,CAAC,GAAKA,EAAE,IAAI,EAAG,CAAE,MAAO,SAAU,QAAS,aAAc,EACnH,IAAK,OACL,QACE,OAAOA,EAAE,IAAI,EAAG,CAAE,MAAO,OAAQ,QAAS,YAAA,CAAc,GAAKA,EAAE,IAAI,EAAG,CACpE,MAAO,cACP,QAAS,YAAA,CACV,GAAKA,EAAE,IAAI,EAAG,CAAE,MAAO,QAAS,QAAS,YAAA,CAAc,GAAKA,EAAE,IAAI,EAAG,CAAE,MAAO,SAAU,QAAS,aAAc,CAAA,CACpH,CAEF,SAAS,EAAGhE,EAAG,CACN,OAAAA,GAAK,GAAKA,GAAK,CAAA,CAExB,IAAI,EAAGA,EAAGgE,EAAGC,EAAG,CACd,OAAO,KAAQmzB,GAAG,QAAQ,EAAGpzB,EAAGC,CAAC,EAAG,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAG,CAAA,CAEhE,CACAkzB,GAAG,eAAiBI,GACpB,IAAIC,GAAK,CAAC,EACVA,GAAG,yBAA2B,OAC9B,IAAIC,GAAKd,GAAIe,GAAK1G,EAAG2G,GAAKrG,EAC1B,MAAMsG,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChBh0B,EAAA,KAAM,WAAY,EAAE,EACtBA,EAAE,KAAM,qBAAsB,CAC5B,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GAAA,CACD,CAAA,CAEH,MAAM,EAAG1D,EAAGgE,EAAGC,EAAG,CACV,MAAAC,EAAKC,GAAM,CACf,MAAMC,EAAI,KAAK,OAAOD,EAAI,GAAK,CAAC,EAAI,EACpC,OAAQA,EAAIF,EAAE,aAAe,GAAK,EAAIG,CACxC,EACA,OAAQpE,EAAG,CACT,IAAK,IACL,IAAK,KACH,SAAW23B,GAAG,aACRA,GAAG,cAAc33B,EAAE,OAAQ,CAAC,EAChCkE,CACF,EACF,IAAK,KACH,SAAWyzB,GAAG,UACZ3zB,EAAE,cAAc,EAAG,CACjB,KAAM,KAAA,CACP,EACDE,CACF,EACF,IAAK,MACI,OAAAF,EAAE,IAAI,EAAG,CACd,MAAO,cACP,QAAS,YAAA,CACV,GAAKA,EAAE,IAAI,EAAG,CAAE,MAAO,QAAS,QAAS,YAAA,CAAc,GAAKA,EAAE,IAAI,EAAG,CAAE,MAAO,SAAU,QAAS,aAAc,EAClH,IAAK,QACI,OAAAA,EAAE,IAAI,EAAG,CACd,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,SACH,OAAOA,EAAE,IAAI,EAAG,CAAE,MAAO,QAAS,QAAS,YAAa,CAAC,GAAKA,EAAE,IAAI,EAAG,CAAE,MAAO,SAAU,QAAS,aAAc,EACnH,IAAK,OACL,QACE,OAAOA,EAAE,IAAI,EAAG,CAAE,MAAO,OAAQ,QAAS,YAAA,CAAc,GAAKA,EAAE,IAAI,EAAG,CACpE,MAAO,cACP,QAAS,YAAA,CACV,GAAKA,EAAE,IAAI,EAAG,CAAE,MAAO,QAAS,QAAS,YAAA,CAAc,GAAKA,EAAE,IAAI,EAAG,CAAE,MAAO,SAAU,QAAS,aAAc,CAAA,CACpH,CAEF,SAAS,EAAGhE,EAAG,CACN,OAAAA,GAAK,GAAKA,GAAK,CAAA,CAExB,IAAI,EAAGA,EAAGgE,EAAGC,EAAG,CACd,OAAO,KAAQwzB,GAAG,QAAQ,EAAGzzB,EAAGC,CAAC,EAAG,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAG,CAAA,CAEhE,CACAuzB,GAAG,yBAA2BI,GAC9B,IAAIC,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,UAAYC,GACf,IAAIC,GAAKhzB,GAAIizB,GAAK3O,GAAI4O,GAAKzyB,EAC3B,SAASsyB,GAAGx0B,EAAGC,EAAGC,EAAG,CACnB,MAAM,KAAQy0B,GAAG,QAAQ30B,EAAGE,GAAK,KAAO,OAASA,EAAE,EAAE,EAAGO,KAAQi0B,GAAG,WAAW,EAAGx0B,CAAC,EAAGQ,EAAIT,EAAIQ,EAC7F,SAAWg0B,GAAG,SAAS,EAAG/zB,EAAGR,CAAC,CAChC,CACAo0B,GAAG,aAAe,OAClB,IAAIM,GAAKL,GAAIM,GAAKpH,EAAGqH,GAAK/G,EAC1B,MAAMgH,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChB10B,EAAA,KAAM,WAAY,EAAE,EACtBA,EAAE,KAAM,qBAAsB,CAC5B,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GAAA,CACD,CAAA,CAEH,MAAM,EAAG1D,EAAGgE,EAAG,CACb,MAAMC,EAAKC,GAAMA,IAAM,EAAI,EAAIA,EAC/B,OAAQlE,EAAG,CACT,IAAK,IACL,IAAK,KACH,SAAWq4B,GAAG,cAAcr4B,EAAE,OAAQ,CAAC,EACzC,IAAK,KACH,OAAOgE,EAAE,cAAc,EAAG,CAAE,KAAM,MAAO,EAC3C,IAAK,MACH,SAAWq0B,GAAG,UACZr0B,EAAE,IAAI,EAAG,CACP,MAAO,cACP,QAAS,YAAA,CACV,GAAKA,EAAE,IAAI,EAAG,CACb,MAAO,QACP,QAAS,YAAA,CACV,GAAKA,EAAE,IAAI,EAAG,CACb,MAAO,SACP,QAAS,YAAA,CACV,EACDC,CACF,EACF,IAAK,QACH,SAAWo0B,GAAG,UACZr0B,EAAE,IAAI,EAAG,CACP,MAAO,SACP,QAAS,YAAA,CACV,EACDC,CACF,EACF,IAAK,SACH,SAAWo0B,GAAG,UACZr0B,EAAE,IAAI,EAAG,CACP,MAAO,QACP,QAAS,YAAA,CACV,GAAKA,EAAE,IAAI,EAAG,CACb,MAAO,SACP,QAAS,YAAA,CACV,EACDC,CACF,EACF,IAAK,OACL,QACE,SAAWo0B,GAAG,UACZr0B,EAAE,IAAI,EAAG,CACP,MAAO,OACP,QAAS,YAAA,CACV,GAAKA,EAAE,IAAI,EAAG,CACb,MAAO,cACP,QAAS,YAAA,CACV,GAAKA,EAAE,IAAI,EAAG,CACb,MAAO,QACP,QAAS,YAAA,CACV,GAAKA,EAAE,IAAI,EAAG,CACb,MAAO,SACP,QAAS,YAAA,CACV,EACDC,CACF,CAAA,CACJ,CAEF,SAAS,EAAGjE,EAAG,CACN,OAAAA,GAAK,GAAKA,GAAK,CAAA,CAExB,IAAI,EAAGA,EAAGgE,EAAG,CACX,OAAO,KAAQm0B,GAAG,WAAW,EAAGn0B,CAAC,EAAG,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAG,CAAA,CAEhE,CACA6zB,GAAG,aAAeS,GAClB,IAAIC,GAAK,CAAC,EACVA,GAAG,WAAa,OAChB,IAAIC,GAAKxH,EAAGyH,GAAKnH,EACjB,MAAMoH,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChB90B,EAAA,KAAM,WAAY,EAAE,EACpBA,EAAA,KAAM,qBAAsB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,CAAC,CAAA,CAE9D,MAAM,EAAG1D,EAAGgE,EAAG,CACb,OAAQhE,EAAG,CACT,IAAK,IACL,IAAK,KACL,IAAK,MACI,OAAAgE,EAAE,UAAU,EAAG,CACpB,MAAO,cACP,QAAS,YAAA,CACV,GAAKA,EAAE,UAAU,EAAG,CACnB,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,QACI,OAAAA,EAAE,UAAU,EAAG,CACpB,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,OACL,QACS,OAAAA,EAAE,UAAU,EAAG,CACpB,MAAO,OACP,QAAS,YAAA,CACV,GAAKA,EAAE,UAAU,EAAG,CACnB,MAAO,cACP,QAAS,YAAA,CACV,GAAKA,EAAE,UAAU,EAAG,CACnB,MAAO,SACP,QAAS,YAAA,CACV,CAAA,CACL,CAEF,IAAI,EAAGhE,EAAGgE,EAAG,CACJ,OAAA,EAAE,YAAay0B,GAAG,sBAAsBz0B,CAAC,EAAG,EAAG,EAAG,CAAC,EAAG,CAAA,CAEjE,CACAu0B,GAAG,WAAaG,GAChB,IAAIC,GAAK,CAAC,EACVA,GAAG,mBAAqB,OACxB,IAAIC,GAAK5H,EAAG6H,GAAKvH,EACjB,MAAMwH,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChBl1B,EAAA,KAAM,WAAY,EAAE,EACpBA,EAAA,KAAM,qBAAsB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,CAAC,CAAA,CAE9D,MAAM,EAAG1D,EAAGgE,EAAG,CACb,OAAQhE,EAAG,CACT,IAAK,IACL,IAAK,KACL,IAAK,MACI,OAAAgE,EAAE,UAAU,EAAG,CACpB,MAAO,cACP,QAAS,YAAA,CACV,GAAKA,EAAE,UAAU,EAAG,CACnB,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,QACI,OAAAA,EAAE,UAAU,EAAG,CACpB,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,OACL,QACS,OAAAA,EAAE,UAAU,EAAG,CACpB,MAAO,OACP,QAAS,YAAA,CACV,GAAKA,EAAE,UAAU,EAAG,CACnB,MAAO,cACP,QAAS,YAAA,CACV,GAAKA,EAAE,UAAU,EAAG,CACnB,MAAO,SACP,QAAS,YAAA,CACV,CAAA,CACL,CAEF,IAAI,EAAGhE,EAAGgE,EAAG,CACJ,OAAA,EAAE,YAAa60B,GAAG,sBAAsB70B,CAAC,EAAG,EAAG,EAAG,CAAC,EAAG,CAAA,CAEjE,CACA20B,GAAG,mBAAqBG,GACxB,IAAIz7B,GAAK,CAAC,EACVA,GAAG,gBAAkB,OACrB,IAAI07B,GAAK/H,EAAGgI,GAAK1H,EACjB,MAAM2H,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChBr1B,EAAA,KAAM,WAAY,EAAE,EACtBA,EAAE,KAAM,qBAAsB,CAAC,IAAK,IAAK,IAAK,GAAG,CAAC,CAAA,CAEpD,MAAM,EAAG1D,EAAGgE,EAAG,CACb,OAAQhE,EAAG,CACT,IAAK,IACL,IAAK,KACL,IAAK,MACI,OAAAgE,EAAE,UAAU,EAAG,CACpB,MAAO,cACP,QAAS,YAAA,CACV,GAAKA,EAAE,UAAU,EAAG,CACnB,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,QACI,OAAAA,EAAE,UAAU,EAAG,CACpB,MAAO,SACP,QAAS,YAAA,CACV,EACH,IAAK,OACL,QACS,OAAAA,EAAE,UAAU,EAAG,CACpB,MAAO,OACP,QAAS,YAAA,CACV,GAAKA,EAAE,UAAU,EAAG,CACnB,MAAO,cACP,QAAS,YAAA,CACV,GAAKA,EAAE,UAAU,EAAG,CACnB,MAAO,SACP,QAAS,YAAA,CACV,CAAA,CACL,CAEF,IAAI,EAAGhE,EAAGgE,EAAG,CACJ,OAAA,EAAE,YAAag1B,GAAG,sBAAsBh1B,CAAC,EAAG,EAAG,EAAG,CAAC,EAAG,CAAA,CAEjE,CACA3G,GAAG,gBAAkB47B,GACrB,IAAIC,GAAK,CAAC,EACVA,GAAG,gBAAkB,OACrB,IAAIC,GAAK5H,GAAI6H,GAAKpI,EAAGqI,GAAK/H,EAC1B,MAAMgI,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChB11B,EAAA,KAAM,WAAY,EAAE,EACpBA,EAAA,KAAM,qBAAsB,CAAC,IAAK,IAAK,IAAK,IAAK,GAAG,CAAC,CAAA,CAEzD,MAAM,EAAG1D,EAAGgE,EAAG,CACb,OAAQhE,EAAG,CACT,IAAK,IACH,SAAWq5B,GAAG,qBACZF,GAAG,gBAAgB,QACnB,CACF,EACF,IAAK,KACH,OAAOn1B,EAAE,cAAc,EAAG,CAAE,KAAM,OAAQ,EAC5C,QACE,SAAWq1B,GAAG,cAAcr5B,EAAE,OAAQ,CAAC,CAAA,CAC3C,CAEF,SAAS,EAAGA,EAAG,CACN,OAAAA,GAAK,GAAKA,GAAK,EAAA,CAExB,IAAI,EAAGA,EAAGgE,EAAG,CACL,MAAAC,EAAI,EAAE,SAAA,GAAc,GAC1B,OAAOA,GAAKD,EAAI,GAAK,EAAE,SAASA,EAAI,GAAI,EAAG,EAAG,CAAC,EAAI,CAACC,GAAKD,IAAM,GAAK,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAI,EAAE,SAASA,EAAG,EAAG,EAAG,CAAC,EAAG,CAAA,CAEzH,CACAk1B,GAAG,gBAAkBI,GACrB,IAAIC,GAAK,CAAC,EACVA,GAAG,gBAAkB,OACrB,IAAIC,GAAKjI,GAAIkI,GAAKzI,EAAG0I,GAAKpI,EAC1B,MAAMqI,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChB/1B,EAAA,KAAM,WAAY,EAAE,EACpBA,EAAA,KAAM,qBAAsB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,CAAC,CAAA,CAEnE,MAAM,EAAG1D,EAAGgE,EAAG,CACb,OAAQhE,EAAG,CACT,IAAK,IACH,SAAW05B,GAAG,qBACZF,GAAG,gBAAgB,QACnB,CACF,EACF,IAAK,KACH,OAAOx1B,EAAE,cAAc,EAAG,CAAE,KAAM,OAAQ,EAC5C,QACE,SAAW01B,GAAG,cAAc15B,EAAE,OAAQ,CAAC,CAAA,CAC3C,CAEF,SAAS,EAAGA,EAAG,CACN,OAAAA,GAAK,GAAKA,GAAK,EAAA,CAExB,IAAI,EAAGA,EAAGgE,EAAG,CACX,OAAO,EAAE,SAASA,EAAG,EAAG,EAAG,CAAC,EAAG,CAAA,CAEnC,CACAu1B,GAAG,gBAAkBI,GACrB,IAAIC,GAAK,CAAC,EACVA,GAAG,gBAAkB,OACrB,IAAIC,GAAKtI,GAAIuI,GAAK9I,EAAG+I,GAAKzI,EAC1B,MAAM0I,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChBp2B,EAAA,KAAM,WAAY,EAAE,EACpBA,EAAA,KAAM,qBAAsB,CAAC,IAAK,IAAK,IAAK,IAAK,GAAG,CAAC,CAAA,CAEzD,MAAM,EAAG1D,EAAGgE,EAAG,CACb,OAAQhE,EAAG,CACT,IAAK,IACH,SAAW+5B,GAAG,qBACZF,GAAG,gBAAgB,QACnB,CACF,EACF,IAAK,KACH,OAAO71B,EAAE,cAAc,EAAG,CAAE,KAAM,OAAQ,EAC5C,QACE,SAAW+1B,GAAG,cAAc/5B,EAAE,OAAQ,CAAC,CAAA,CAC3C,CAEF,SAAS,EAAGA,EAAG,CACN,OAAAA,GAAK,GAAKA,GAAK,EAAA,CAExB,IAAI,EAAGA,EAAGgE,EAAG,CACJ,OAAA,EAAE,SAAc,GAAA,IAAMA,EAAI,GAAK,EAAE,SAASA,EAAI,GAAI,EAAG,EAAG,CAAC,EAAI,EAAE,SAASA,EAAG,EAAG,EAAG,CAAC,EAAG,CAAA,CAEhG,CACA41B,GAAG,gBAAkBI,GACrB,IAAIC,GAAK,CAAC,EACVA,GAAG,gBAAkB,OACrB,IAAIC,GAAK3I,GAAI4I,GAAKnJ,EAAGoJ,GAAK9I,EAC1B,MAAM+I,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChBz2B,EAAA,KAAM,WAAY,EAAE,EACpBA,EAAA,KAAM,qBAAsB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,CAAC,CAAA,CAEnE,MAAM,EAAG1D,EAAGgE,EAAG,CACb,OAAQhE,EAAG,CACT,IAAK,IACH,SAAWo6B,GAAG,qBACZF,GAAG,gBAAgB,QACnB,CACF,EACF,IAAK,KACH,OAAOl2B,EAAE,cAAc,EAAG,CAAE,KAAM,OAAQ,EAC5C,QACE,SAAWo2B,GAAG,cAAcp6B,EAAE,OAAQ,CAAC,CAAA,CAC3C,CAEF,SAAS,EAAGA,EAAG,CACN,OAAAA,GAAK,GAAKA,GAAK,EAAA,CAExB,IAAI,EAAGA,EAAGgE,EAAG,CACX,MAAMC,EAAID,GAAK,GAAKA,EAAI,GAAKA,EAC7B,OAAO,EAAE,SAASC,EAAG,EAAG,EAAG,CAAC,EAAG,CAAA,CAEnC,CACAg2B,GAAG,gBAAkBI,GACrB,IAAIC,GAAK,CAAC,EACVA,GAAG,aAAe,OAClB,IAAIC,GAAKhJ,GAAIiJ,GAAKxJ,EAAGyJ,GAAKnJ,EAC1B,MAAMoJ,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChB92B,EAAA,KAAM,WAAY,EAAE,EACtBA,EAAE,KAAM,qBAAsB,CAAC,IAAK,GAAG,CAAC,CAAA,CAE1C,MAAM,EAAG1D,EAAGgE,EAAG,CACb,OAAQhE,EAAG,CACT,IAAK,IACH,SAAWy6B,GAAG,qBACZF,GAAG,gBAAgB,OACnB,CACF,EACF,IAAK,KACH,OAAOv2B,EAAE,cAAc,EAAG,CAAE,KAAM,SAAU,EAC9C,QACE,SAAWy2B,GAAG,cAAcz6B,EAAE,OAAQ,CAAC,CAAA,CAC3C,CAEF,SAAS,EAAGA,EAAG,CACN,OAAAA,GAAK,GAAKA,GAAK,EAAA,CAExB,IAAI,EAAGA,EAAGgE,EAAG,CACX,OAAO,EAAE,WAAWA,EAAG,EAAG,CAAC,EAAG,CAAA,CAElC,CACAs2B,GAAG,aAAeI,GAClB,IAAIC,GAAK,CAAC,EACVA,GAAG,aAAe,OAClB,IAAIC,GAAKrJ,GAAIsJ,GAAK7J,EAAG8J,GAAKxJ,EAC1B,MAAMyJ,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChBn3B,EAAA,KAAM,WAAY,EAAE,EACtBA,EAAE,KAAM,qBAAsB,CAAC,IAAK,GAAG,CAAC,CAAA,CAE1C,MAAM,EAAG1D,EAAGgE,EAAG,CACb,OAAQhE,EAAG,CACT,IAAK,IACH,SAAW86B,GAAG,qBACZF,GAAG,gBAAgB,OACnB,CACF,EACF,IAAK,KACH,OAAO52B,EAAE,cAAc,EAAG,CAAE,KAAM,SAAU,EAC9C,QACE,SAAW82B,GAAG,cAAc96B,EAAE,OAAQ,CAAC,CAAA,CAC3C,CAEF,SAAS,EAAGA,EAAG,CACN,OAAAA,GAAK,GAAKA,GAAK,EAAA,CAExB,IAAI,EAAGA,EAAGgE,EAAG,CACX,OAAO,EAAE,WAAWA,EAAG,CAAC,EAAG,CAAA,CAE/B,CACA22B,GAAG,aAAeI,GAClB,IAAIC,GAAK,CAAC,EACVA,GAAG,uBAAyB,OAC5B,IAAIC,GAAKjK,EAAGkK,GAAK5J,EACjB,MAAM6J,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChBv3B,EAAA,KAAM,WAAY,EAAE,EACtBA,EAAE,KAAM,qBAAsB,CAAC,IAAK,GAAG,CAAC,CAAA,CAE1C,MAAM,EAAG1D,EAAG,CACV,MAAMgE,EAAKC,GAAM,KAAK,MAAMA,EAAI,KAAK,IAAI,GAAI,CAACjE,EAAE,OAAS,CAAC,CAAC,EAC3D,SAAWk7B,GAAG,aACRA,GAAG,cAAcl7B,EAAE,OAAQ,CAAC,EAChCgE,CACF,CAAA,CAEF,IAAI,EAAGhE,EAAGgE,EAAG,CACJ,OAAA,EAAE,gBAAgBA,CAAC,EAAG,CAAA,CAEjC,CACAg3B,GAAG,uBAAyBG,GAC5B,IAAIC,GAAK,CAAC,EACVA,GAAG,uBAAyB,OAC5B,IAAIC,GAAKp2B,EAAGq2B,GAAKlyB,GAAImyB,GAAKhK,GAAIiK,GAAKxK,EAAGyK,GAAKnK,EAC3C,MAAMoK,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChB93B,EAAA,KAAM,WAAY,EAAE,EACtBA,EAAE,KAAM,qBAAsB,CAAC,IAAK,IAAK,GAAG,CAAC,CAAA,CAE/C,MAAM,EAAG1D,EAAG,CACV,OAAQA,EAAG,CACT,IAAK,IACH,SAAWy7B,GAAG,sBACZF,GAAG,iBAAiB,qBACpB,CACF,EACF,IAAK,KACH,SAAWE,GAAG,sBACZF,GAAG,iBAAiB,MACpB,CACF,EACF,IAAK,OACH,SAAWE,GAAG,sBACZF,GAAG,iBAAiB,qBACpB,CACF,EACF,IAAK,QACH,SAAWE,GAAG,sBACZF,GAAG,iBAAiB,wBACpB,CACF,EACF,IAAK,MACL,QACE,SAAWE,GAAG,sBACZF,GAAG,iBAAiB,SACpB,CACF,CAAA,CACJ,CAEF,IAAI,EAAGv7B,EAAGgE,EAAG,CACX,OAAOhE,EAAE,eAAiB,KAAQq7B,GAAG,eACnC,EACA,EAAE,QAAQ,KAAQC,GAAG,iCAAiC,CAAC,EAAIt3B,CAC7D,CAAA,CAEJ,CACAo3B,GAAG,uBAAyBM,GAC5B,IAAIC,GAAK,CAAC,EACVA,GAAG,kBAAoB,OACvB,IAAIC,GAAK32B,EAAG42B,GAAKzyB,GAAI0yB,GAAKvK,GAAIwK,GAAK/K,EAAGgL,GAAK1K,EAC3C,MAAM2K,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChBr4B,EAAA,KAAM,WAAY,EAAE,EACtBA,EAAE,KAAM,qBAAsB,CAAC,IAAK,IAAK,GAAG,CAAC,CAAA,CAE/C,MAAM,EAAG1D,EAAG,CACV,OAAQA,EAAG,CACT,IAAK,IACH,SAAWg8B,GAAG,sBACZF,GAAG,iBAAiB,qBACpB,CACF,EACF,IAAK,KACH,SAAWE,GAAG,sBACZF,GAAG,iBAAiB,MACpB,CACF,EACF,IAAK,OACH,SAAWE,GAAG,sBACZF,GAAG,iBAAiB,qBACpB,CACF,EACF,IAAK,QACH,SAAWE,GAAG,sBACZF,GAAG,iBAAiB,wBACpB,CACF,EACF,IAAK,MACL,QACE,SAAWE,GAAG,sBACZF,GAAG,iBAAiB,SACpB,CACF,CAAA,CACJ,CAEF,IAAI,EAAG97B,EAAGgE,EAAG,CACX,OAAOhE,EAAE,eAAiB,KAAQ47B,GAAG,eACnC,EACA,EAAE,QAAQ,KAAQC,GAAG,iCAAiC,CAAC,EAAI73B,CAC7D,CAAA,CAEJ,CACA23B,GAAG,kBAAoBM,GACvB,IAAIC,GAAK,CAAC,EACVA,GAAG,uBAAyB,OAC5B,IAAIC,GAAKl3B,EAAGm3B,GAAKpL,EAAGqL,GAAK/K,EACzB,MAAMgL,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChB14B,EAAA,KAAM,WAAY,EAAE,EACpBA,EAAA,KAAM,qBAAsB,GAAG,CAAA,CAEnC,MAAM,EAAG,CACC,SAAG24B,GAAG,sBAAsB,CAAC,CAAA,CAEvC,IAAI,EAAGr8B,EAAGgE,EAAG,CACJ,MAAA,IACDm4B,GAAG,eAAe,EAAGn4B,EAAI,GAAG,EAChC,CAAE,eAAgB,EAAG,CACvB,CAAA,CAEJ,CACAk4B,GAAG,uBAAyBI,GAC5B,IAAIC,GAAK,CAAC,EACVA,GAAG,4BAA8B,OACjC,IAAIC,GAAKv3B,EAAGw3B,GAAKzL,EAAG0L,GAAKpL,EACzB,MAAMqL,WAAWF,GAAG,MAAO,CACzB,aAAc,CACZ,MAAM,GAAG,SAAS,EAChB/4B,EAAA,KAAM,WAAY,EAAE,EACpBA,EAAA,KAAM,qBAAsB,GAAG,CAAA,CAEnC,MAAM,EAAG,CACC,SAAGg5B,GAAG,sBAAsB,CAAC,CAAA,CAEvC,IAAI,EAAG18B,EAAGgE,EAAG,CACJ,MAAA,IAAKw4B,GAAG,eAAe,EAAGx4B,CAAC,EAAG,CAAE,eAAgB,GAAI,CAAA,CAE/D,CACAu4B,GAAG,4BAA8BI,GACjC7L,GAAG,QAAU,OACb,IAAI8L,GAAK7L,GAAI8L,GAAKxL,GAAIyL,GAAKxK,GAAIyK,GAAKnK,GAAIoK,GAAK9J,GAAI+J,GAAK3J,GAAI4J,GAAKxJ,GAAIyJ,GAAKrJ,GAAIsJ,GAAKjJ,GAAIkJ,GAAK7I,GAAI8I,GAAKnI,GAAIoI,GAAKzH,GAAI0H,GAAKnH,GAAIoH,GAAK/G,GAAIgH,GAAKvG,GAAIwG,GAAKnG,GAAIoG,GAAK/F,GAAIgG,GAAKtF,GAAIuF,GAAKnF,GAAIoF,GAAK1gC,GAAI2gC,GAAK9E,GAAI+E,GAAK1E,GAAI2E,GAAKtE,GAAIuE,GAAKlE,GAAImE,GAAK9D,GAAI+D,GAAK1D,GAAI2D,GAAKtD,GAAIuD,GAAKnD,GAAIoD,GAAK7C,GAAI8C,GAAKvC,GAAIwC,GAAKnC,GACvRzL,GAAG,QAAU,CACX,EAAG,IAAI8L,GAAG,UACV,EAAG,IAAIC,GAAG,WACV,EAAG,IAAIC,GAAG,oBACV,EAAG,IAAIC,GAAG,kBACV,EAAG,IAAIC,GAAG,mBACV,EAAG,IAAIC,GAAG,cACV,EAAG,IAAIC,GAAG,wBACV,EAAG,IAAIC,GAAG,YACV,EAAG,IAAIC,GAAG,sBACV,EAAG,IAAIC,GAAG,gBACV,EAAG,IAAIC,GAAG,cACV,EAAG,IAAIC,GAAG,WACV,EAAG,IAAIC,GAAG,gBACV,EAAG,IAAIC,GAAG,UACV,EAAG,IAAIC,GAAG,eACV,EAAG,IAAIC,GAAG,yBACV,EAAG,IAAIC,GAAG,aACV,EAAG,IAAIC,GAAG,WACV,EAAG,IAAIC,GAAG,mBACV,EAAG,IAAIC,GAAG,gBACV,EAAG,IAAIC,GAAG,gBACV,EAAG,IAAIC,GAAG,gBACV,EAAG,IAAIC,GAAG,gBACV,EAAG,IAAIC,GAAG,gBACV,EAAG,IAAIC,GAAG,aACV,EAAG,IAAIC,GAAG,aACV,EAAG,IAAIC,GAAG,uBACV,EAAG,IAAIC,GAAG,uBACV,EAAG,IAAIC,GAAG,kBACV,EAAG,IAAIC,GAAG,uBACV,EAAG,IAAIC,GAAG,2BACZ,GACC,SAASn7B,EAAG,CACJ,OAAA,eAAeA,EAAG,iBAAkB,CACzC,WAAY,GACZ,IAAK,UAAW,CACd,OAAOE,EAAE,cAAA,CACX,CACD,EAAGF,EAAE,MAAQiD,EAAG,OAAO,eAAejD,EAAG,UAAW,CACnD,WAAY,GACZ,IAAK,UAAW,CACd,OAAOa,EAAE,OAAA,CACX,CACD,EACD,IAAIZ,EAAI+X,GAAI9X,EAAI+d,GAAI,EAAII,GAAI5d,EAAIiB,EAAGhB,EAAI+kB,GAAI9kB,EAAIuB,EAAGtB,EAAIgsB,GAAI/rB,EAAI0sB,GACxD,MAAAzsB,EAAI,wDAAyD5F,EAAI,oCAAqC6F,EAAI,eAAgBC,EAAI,MAAOC,EAAI,KAAMmf,EAAI,WACzJ,SAASnd,EAAE6b,EAAGS,EAAGC,EAAGC,EAAG,gCACrB,IAAIQ,EAAGC,EAAGC,EAAIib,EAAIC,EAAIC,EAAIC,EAAIC,GACxB,MAAA5b,EAAK,OAAUnf,EAAE,gBAAgBgf,GAAK,KAAO,OAASA,EAAE,KAAOD,EAAG,GAAG,EAAGO,KAASrf,EAAE,qBAAsBsf,GAAMpmB,IAAAhB,GAAA6mB,GAAK,KAAO,OAASA,EAAE,SAAvB,KAAA7mB,GAAkCmnB,EAAG,SAArC,KAAAnmB,GAA+CqG,EAAE,cAAeogB,GAAMX,IAAAC,GAAApiB,GAAAzD,EAAA2lB,GAAK,KAAO,OAASA,EAAE,wBAAvB,KAAA3lB,GAAmDomB,GAAKD,EAAIR,GAAK,KAAO,OAASA,EAAE,SAAW,KAAO,OAASQ,EAAE,UAAY,KAAO,OAASC,EAAE,wBAA9I,KAAA3iB,EAAwKwiB,EAAG,wBAA3K,KAAAJ,GAAsMyb,GAAMjb,EAAKJ,EAAG,SAAW,KAAO,OAASI,EAAG,UAAY,KAAO,OAASib,EAAG,wBAAjR,KAAA1b,GAA2S,EAAGX,GAAMc,IAAAC,IAAApL,IAAA4J,GAAAmB,GAAK,KAAO,OAASA,EAAE,eAAvB,KAAAnB,IAA0Cgd,GAAMD,EAAK5b,GAAK,KAAO,OAASA,EAAE,SAAW,KAAO,OAAS4b,EAAG,UAAY,KAAO,OAASC,EAAG,eAAzI,KAAA5mB,GAA0JqL,EAAG,eAA7J,KAAAD,IAA+K0b,IAAMD,EAAKxb,EAAG,SAAW,KAAO,OAASwb,EAAG,UAAY,KAAO,OAASC,GAAG,eAA1P,KAAA3b,GAA2Q,EAC1vB,GAAI,CAACN,EACI,OAAAT,EAAIc,OAAWjf,EAAE,QAAQ6e,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAC9D,MAAMT,EAAK,CACT,sBAAuBqB,EACvB,aAActB,EACd,OAAQiB,CAAA,EACPf,GAAK,CAAC,IAAIre,EAAE,mBAAmB6e,GAAK,KAAO,OAASA,EAAE,GAAID,CAAC,CAAC,EAAGN,GAAKK,EAAE,MAAMrkB,CAAC,EAAE,IAAKugC,GAAM,CACrF,MAAAC,EAAID,EAAE,CAAC,EACT,GAAAC,KAAKx7B,EAAE,eAAgB,CACnB,MAAAR,GAAIQ,EAAE,eAAew7B,CAAC,EACrB,OAAAh8B,GAAE+7B,EAAGzb,EAAG,UAAU,CAAA,CAEpB,OAAAyb,CAAA,CACR,EAAE,KAAK,EAAE,EAAE,MAAM36B,CAAC,EAAGqe,GAAI,CAAC,EAC3B,QAASsc,KAAKvc,GAAI,CAChB,EAAEO,GAAK,MAAQA,EAAE,iCAAoC,EAAE,0BAA0Bgc,CAAC,MAAS,EAAE,2BAA2BA,EAAGlc,EAAGT,CAAC,EAAG,EAAEW,GAAK,MAAQA,EAAE,kCAAqC,EAAE,2BAA2Bgc,CAAC,MAAS,EAAE,2BAA2BA,EAAGlc,EAAGT,CAAC,EACnQ,MAAM4c,EAAID,EAAE,CAAC,EAAG/7B,GAAImB,EAAE,QAAQ66B,CAAC,EAC/B,GAAIh8B,GAAG,CACC,KAAA,CAAE,mBAAoBi8B,EAAA,EAAMj8B,GAC9B,GAAA,MAAM,QAAQi8B,EAAC,EAAG,CACpB,MAAMC,GAAKzc,GAAE,KACVQ,IAAOgc,GAAE,SAAShc,GAAG,KAAK,GAAKA,GAAG,QAAU+b,CAC/C,EACI,GAAAE,GACF,MAAM,IAAI,WACR,sCAAuC,OAAAA,GAAG,UAAS,WAAY,OAAAH,EAAC,qBAClE,CAAA,SACO/7B,GAAE,qBAAuB,KAAOyf,GAAE,OAAS,EACpD,MAAM,IAAI,WACR,sCAAuC,OAAAsc,EAAC,yCAC1C,EACFtc,GAAE,KAAK,CAAE,MAAOuc,EAAG,UAAWD,EAAG,EACjC,MAAMI,GAAIn8B,GAAE,IACVof,EACA2c,EACAzb,EAAG,MACHhB,CACF,EACA,GAAI,CAAC6c,GACH,OAAOjc,EAAG,EACZX,GAAG,KAAK4c,GAAE,MAAM,EAAG/c,EAAI+c,GAAE,IAAA,KACpB,CACD,GAAAH,EAAE,MAAMtb,CAAC,EACX,MAAM,IAAI,WACR,iEAAmEsb,EAAI,GACzE,EACF,GAAID,IAAM,KAAOA,EAAI,IAAMC,IAAM,MAAQD,EAAI5c,EAAE4c,CAAC,GAAI3c,EAAE,QAAQ2c,CAAC,IAAM,EAC/D3c,EAAAA,EAAE,MAAM2c,EAAE,MAAM,MAEpB,QAAO7b,EAAG,CAAA,CACd,CAEF,GAAId,EAAE,OAAS,GAAK7d,EAAE,KAAK6d,CAAC,EAC1B,OAAOc,EAAG,EACN,MAAAR,GAAIH,GAAG,IAAKwc,GAAMA,EAAE,QAAQ,EAAE,KAAK,CAACA,EAAGC,IAAMA,EAAID,CAAC,EAAE,OAAO,CAACA,EAAGC,EAAGh8B,KAAMA,GAAE,QAAQ+7B,CAAC,IAAMC,CAAC,EAAE,IAC/FD,GAAMxc,GAAG,OAAQyc,GAAMA,EAAE,WAAaD,CAAC,EAAE,KAAK,CAACC,EAAGh8B,KAAMA,GAAE,YAAcg8B,EAAE,WAAW,GACtF,IAAKD,GAAMA,EAAE,CAAC,CAAC,EACb,IAAApc,MAAQ1e,EAAE,QAAQ6e,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAClD,GAAI,MAAM,CAACJ,EAAC,SAAUO,EAAG,EACzB,MAAMN,GAAK,CAAC,EACZ,UAAWmc,KAAKrc,GAAG,CACjB,GAAI,CAACqc,EAAE,SAASpc,GAAGL,CAAE,EACnB,OAAOY,EAAG,EACZ,MAAM8b,EAAID,EAAE,IAAIpc,GAAGC,GAAIN,CAAE,EACzB,MAAM,QAAQ0c,CAAC,GAAKrc,GAAIqc,EAAE,CAAC,EAAG,OAAO,OAAOpc,GAAIoc,EAAE,CAAC,CAAC,GAAKrc,GAAIqc,CAAA,CAExD,OAAArc,EAAA,CAET,SAASR,EAAEC,EAAG,CACL,OAAAA,EAAE,MAAM/d,CAAC,EAAE,CAAC,EAAE,QAAQC,EAAG,GAAG,CAAA,CAEvC,GAAG2rB,EAAE,EACLD,GAAG,QAAUoP,GACb,IAAIC,GAAK9wB,GAAI+wB,GAAKrP,GAClB,SAASmP,GAAG97B,EAAGC,EAAGC,EAAG,CACnB,SAAW67B,GAAG,YACRC,GAAG,OAAOh8B,EAAGC,EAAuB,IAAA,KAAQC,CAAC,CACnD,CACF,CACA,IAAI+7B,GAAK,CAAC,EACVA,GAAG,SAAWC,GACd,IAAIC,GAAKj6B,EACT,SAASg6B,GAAGl8B,EAAGC,EAAG,CACR,SAAGk8B,GAAG,QAAQn8B,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAE,OAAa,IAAA,CACnE,CACA,IAAIm8B,GAAK,CAAC,EACVA,GAAG,OAASC,GACZ,IAAIC,GAAKp6B,EACT,SAASm6B,GAAGr8B,EAAG,CACb,MAAO,IAAKs8B,GAAG,QAAQt8B,CAAC,EAAI,KAAK,IAAI,CACvC,CACA,IAAIu8B,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,YAAcC,GACjB,IAAIC,GAAKx6B,EACT,SAASu6B,GAAGz8B,EAAGC,EAAG,CACV,MAAAC,KAAQw8B,GAAG,QAAQ18B,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EACrD,OAAOC,EAAE,WAAW,EAAG,EAAG,CAAC,EAAGA,CAChC,CACAq8B,GAAG,WAAaI,GAChB,IAAIC,GAAK52B,EAAG62B,GAAKL,GACjB,SAASG,GAAG38B,EAAGC,EAAGC,EAAG,CACnB,KAAM,CAAC,EAAGO,CAAC,KAAQm8B,GAAG,gBACpB18B,GAAK,KAAO,OAASA,EAAE,GACvBF,EACAC,CACF,EACO,MAAA,IAAK48B,GAAG,aAAa,CAAC,GAAK,IAAKA,GAAG,aAAap8B,CAAC,CAC1D,CACA,IAAIq8B,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,WAAaC,GAChB,IAAIC,GAAKj3B,EAAGk3B,GAAKr4B,GACjB,SAASm4B,GAAGh9B,EAAGC,EAAGC,EAAG,CACnB,KAAM,CAAC,EAAGO,CAAC,KAAQw8B,GAAG,gBACpB/8B,GAAK,KAAO,OAASA,EAAE,GACvBF,EACAC,CACF,EACA,MAAO,IAAKi9B,GAAG,aAAa,EAAGh9B,CAAC,GAAK,IAAKg9B,GAAG,aAAaz8B,EAAGP,CAAC,CAChE,CACA48B,GAAG,cAAgBK,GACnB,IAAIC,GAAKL,GACT,SAASI,GAAGn9B,EAAGC,EAAGC,EAAG,CACnB,SAAWk9B,GAAG,YAAYp9B,EAAGC,EAAG,CAC9B,GAAGC,EACH,aAAc,CAAA,CACf,CACH,CACA,IAAIm9B,GAAK,CAAC,EACVA,GAAG,kBAAoBC,GACvB,IAAIC,GAAK52B,GAAI62B,GAAKx3B,EAClB,SAASs3B,GAAGt9B,EAAGC,EAAGC,EAAG,CACnB,KAAM,CAAC,EAAGO,CAAC,KAAQ+8B,GAAG,gBACpBt9B,GAAK,KAAO,OAASA,EAAE,GACvBF,EACAC,CACF,EACO,MAAA,IAAKs9B,GAAG,oBAAoB,CAAC,GAAK,IAAKA,GAAG,oBAAoB98B,CAAC,CACxE,CACA,IAAIg9B,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,cAAgBC,GACnB,IAAIC,GAAK17B,EACT,SAASy7B,GAAG39B,EAAGC,EAAG,CACV,MAAAC,KAAQ09B,GAAG,QAAQ59B,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EACrD,OAAOC,EAAE,WAAW,EAAG,CAAC,EAAGA,CAC7B,CACAu9B,GAAG,aAAeI,GAClB,IAAIC,GAAKJ,GACT,SAASG,GAAG79B,EAAGC,EAAG,CACT,MAAA,IAAK69B,GAAG,eAAe99B,CAAC,GAAK,IAAK89B,GAAG,eAAe79B,CAAC,CAC9D,CACA,IAAI89B,GAAK,CAAC,EACVA,GAAG,YAAcC,GACjB,IAAIC,GAAKj4B,EACT,SAASg4B,GAAGh+B,EAAGC,EAAGC,EAAG,CACnB,KAAM,CAAC,EAAGO,CAAC,KAAQw9B,GAAG,gBACpB/9B,GAAK,KAAO,OAASA,EAAE,GACvBF,EACAC,CACF,EACO,OAAA,EAAE,YAAY,IAAMQ,EAAE,eAAiB,EAAE,SAAA,IAAeA,EAAE,SAAS,CAC5E,CACA,IAAIy9B,GAAK,CAAC,EACVA,GAAG,cAAgBC,GACnB,IAAIC,GAAKp4B,EAAGq4B,GAAKtrB,GACjB,SAASorB,GAAGn+B,EAAGC,EAAGC,EAAG,CACnB,KAAM,CAAC,EAAGO,CAAC,KAAQ29B,GAAG,gBACpBl+B,GAAK,KAAO,OAASA,EAAE,GACvBF,EACAC,CACF,EACO,MAAA,IAAKo+B,GAAG,gBAAgB,CAAC,GAAK,IAAKA,GAAG,gBAAgB59B,CAAC,CAChE,CACA,IAAI69B,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,cAAgBC,GACnB,IAAIC,GAAKv8B,EACT,SAASs8B,GAAGx+B,EAAGC,EAAG,CACV,MAAAC,KAAQu+B,GAAG,QAAQz+B,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAC9C,OAAAC,EAAE,gBAAgB,CAAC,EAAGA,CAC/B,CACAo+B,GAAG,aAAeI,GAClB,IAAIC,GAAKJ,GACT,SAASG,GAAG1+B,EAAGC,EAAG,CACT,MAAA,IAAK0+B,GAAG,eAAe3+B,CAAC,GAAK,IAAK2+B,GAAG,eAAe1+B,CAAC,CAC9D,CACA,IAAI2+B,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAK94B,EACT,SAAS64B,GAAG7+B,EAAGC,EAAGC,EAAG,CACnB,KAAM,CAAC,EAAGO,CAAC,KAAQq+B,GAAG,gBACpB5+B,GAAK,KAAO,OAASA,EAAE,GACvBF,EACAC,CACF,EACA,OAAO,EAAE,gBAAkBQ,EAAE,YAAY,CAC3C,CACA,IAAIs+B,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAK30B,GAAI40B,GAAK3C,GAAI4C,GAAKj9B,EAC3B,SAAS88B,GAAGh/B,EAAGC,EAAG,CAChB,SAAWi/B,GAAG,eACRC,GAAG,QAAQn/B,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,KACvCg/B,GAAG,eAAeh/B,GAAK,KAAO,OAASA,EAAE,KAAOD,CAAC,CACvD,CACF,CACA,IAAIo/B,GAAK,CAAC,EACVA,GAAG,cAAgBC,GACnB,IAAIC,GAAK59B,EAAG69B,GAAKj1B,GAAIk1B,GAAK1C,GAC1B,SAASuC,GAAGr/B,EAAGC,EAAG,CAChB,SAAWu/B,GAAG,kBACRF,GAAG,gBAAgBr/B,GAAK,KAAO,OAASA,EAAE,KAAOD,EAAGA,CAAC,KACrDu/B,GAAG,eAAet/B,GAAK,KAAO,OAASA,EAAE,KAAOD,CAAC,CACvD,CACF,CACA,IAAIy/B,GAAK,CAAC,EACVA,GAAG,aAAeC,GAClB,IAAIC,GAAKr1B,GAAIs1B,GAAKnC,GAClB,SAASiC,GAAG1/B,EAAG,CACL,SAAG4/B,GAAG,cAAc5/B,KAAO2/B,GAAG,cAAc3/B,CAAC,CAAC,CACxD,CACA,IAAI6/B,GAAK,CAAC,EACVA,GAAG,YAAcC,GACjB,IAAIC,GAAKr+B,EAAGs+B,GAAK11B,GAAI21B,GAAKlC,GAC1B,SAAS+B,GAAG9/B,EAAGC,EAAG,CAChB,SAAWggC,GAAG,gBACRF,GAAG,gBAAgB9/B,GAAK,KAAO,OAASA,EAAE,KAAOD,EAAGA,CAAC,KACrDggC,GAAG,eAAe//B,GAAK,KAAO,OAASA,EAAE,KAAOD,CAAC,CACvD,CACF,CACA,IAAIkgC,GAAK,CAAC,EACVA,GAAG,cAAgBC,GACnB,IAAIC,GAAK1+B,EAAG2+B,GAAK/1B,GAAIg2B,GAAKpC,GAC1B,SAASiC,GAAGngC,EAAGC,EAAG,CAChB,SAAWqgC,GAAG,kBACRF,GAAG,gBAAgBngC,GAAK,KAAO,OAASA,EAAE,KAAOD,EAAGA,CAAC,KACrDqgC,GAAG,eAAepgC,GAAK,KAAO,OAASA,EAAE,KAAOD,CAAC,CACvD,CACF,CACA,IAAIugC,GAAK,CAAC,EACVA,GAAG,aAAeC,GAClB,IAAIC,GAAKn2B,GAAIo2B,GAAKpC,GAClB,SAASkC,GAAGxgC,EAAG,CACL,SAAG0gC,GAAG,cAAc1gC,KAAOygC,GAAG,cAAczgC,CAAC,CAAC,CACxD,CACA,IAAI2gC,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAKn/B,EAAGo/B,GAAKx2B,GAAIy2B,GAAKhE,GAC1B,SAAS6D,GAAG5gC,EAAGC,EAAG,CAChB,SAAW8gC,GAAG,eACRF,GAAG,gBAAgB5gC,GAAK,KAAO,OAASA,EAAE,KAAOD,EAAGA,CAAC,KACrD8gC,GAAG,eAAe7gC,GAAK,KAAO,OAASA,EAAE,KAAOD,CAAC,EACrDC,CACF,CACF,CACA,IAAI+gC,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAKx/B,EAAGy/B,GAAK72B,GAAI82B,GAAKxC,GAC1B,SAASqC,GAAGjhC,EAAGC,EAAG,CAChB,SAAWmhC,GAAG,eACRF,GAAG,gBAAgBjhC,GAAK,KAAO,OAASA,EAAE,KAAOD,EAAGA,CAAC,KACrDmhC,GAAG,eAAelhC,GAAK,KAAO,OAASA,EAAE,KAAOD,CAAC,CACvD,CACF,CACA,IAAIqhC,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAKr/B,EACT,SAASo/B,GAAGthC,EAAGC,EAAG,CACR,SAAGshC,GAAG,QAAQvhC,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAE,OAAa,IAAA,CACnE,CACA,IAAIuhC,GAAK,CAAC,EACVA,GAAG,QAAUC,GACb,IAAIC,GAAKhgC,EAAGigC,GAAKr3B,GAAIs3B,GAAK/2B,GAC1B,SAAS42B,GAAGzhC,EAAGC,EAAG,CAChB,SAAW2hC,GAAG,cACRF,GAAG,gBAAgBzhC,GAAK,KAAO,OAASA,EAAE,KAAOD,EAAGA,CAAC,KACrD2hC,GAAG,eAAe1hC,GAAK,KAAO,OAASA,EAAE,KAAOD,CAAC,CACvD,CACF,CACA,IAAI6hC,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAKtgC,GAAIugC,GAAK13B,GAAI23B,GAAKp3B,GAC3B,SAASi3B,GAAG9hC,EAAGC,EAAG,CAChB,SAAWgiC,GAAG,WACZjiC,KACI+hC,GAAG,YAAaC,GAAG,eAAe/hC,GAAK,KAAO,OAASA,EAAE,KAAOD,CAAC,EAAG,CAAC,EACzEC,CACF,CACF,CACA,IAAIiiC,GAAK,CAAC,EACVA,GAAG,UAAYC,GACf,IAAIC,GAAKlgC,EACT,SAASigC,GAAGniC,EAAGC,EAAG,CACR,SAAGmiC,GAAG,QAAQpiC,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAE,OAAa,IAAA,CACnE,CACA,IAAIoiC,GAAK,CAAC,EACVA,GAAG,YAAcC,GACjB,IAAIC,GAAKrgC,EACT,SAASogC,GAAGtiC,EAAGC,EAAG,CACR,SAAGsiC,GAAG,QAAQviC,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAE,OAAa,IAAA,CACnE,CACA,IAAIuiC,GAAK,CAAC,EACVA,GAAG,iBAAmBC,GACtB,IAAIC,GAAKxgC,EACT,SAASugC,GAAGziC,EAAGC,EAAGC,EAAG,CACnB,MAAM,EAAI,IAAKwiC,GAAG,QAAQ1iC,EAAGE,GAAK,KAAO,OAASA,EAAE,EAAE,EAAG,CAACO,EAAGC,CAAC,EAAI,CAChE,IAAKgiC,GAAG,QAAQziC,EAAE,MAAOC,GAAK,KAAO,OAASA,EAAE,EAAE,EAClD,IAAKwiC,GAAG,QAAQziC,EAAE,IAAKC,GAAK,KAAO,OAASA,EAAE,EAAE,GAChD,KAAK,CAACS,EAAGC,IAAMD,EAAIC,CAAC,EACf,OAAA,GAAKH,GAAK,GAAKC,CACxB,CACA,IAAIiiC,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,QAAUC,GACb,IAAIC,GAAKrhC,GACT,SAASohC,GAAG7iC,EAAGC,EAAGC,EAAG,CACnB,SAAW4iC,GAAG,SAAS9iC,EAAG,CAACC,EAAGC,CAAC,CACjC,CACAyiC,GAAG,YAAcI,GACjB,IAAIC,GAAKthC,EAAGuhC,GAAK34B,GAAI44B,GAAKr4B,GAAIs4B,GAAKP,GACnC,SAASG,GAAG/iC,EAAGC,EAAG,CAChB,SAAWijC,GAAG,cACRF,GAAG,gBAAgB/iC,GAAK,KAAO,OAASA,EAAE,KAAOD,EAAGA,CAAC,KACrDmjC,GAAG,YAAaF,GAAG,eAAehjC,GAAK,KAAO,OAASA,EAAE,KAAOD,CAAC,EAAG,CAAC,CAC3E,CACF,CACA,IAAIojC,GAAK,CAAC,EACVA,GAAG,gBAAkBC,GACrB,IAAIC,GAAKphC,EACT,SAASmhC,GAAGrjC,EAAGC,EAAG,CACV,MAAAC,KAAQojC,GAAG,QAAQtjC,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAG,EAAIC,EAAE,YAAe,EAAAO,EAAI,EAAI,KAAK,MAAM,EAAI,EAAE,EAAI,GACnG,OAAAP,EAAE,YAAYO,EAAI,EAAG,EAAG,CAAC,EAAGP,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,KAAOojC,GAAG,QAAQpjC,EAAGD,GAAK,KAAO,OAASA,EAAE,EAAE,CACxG,CACA,IAAIsjC,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,cAAgBC,GACnB,IAAIC,GAAK5+B,GAAI6+B,GAAKzhC,EAClB,SAASuhC,GAAGzjC,EAAGC,EAAG,aACZ,IAAAW,EAAGC,EAAGC,EAAG5F,EACb,MAAMgF,KAAQwjC,GAAG,mBAAA,EAAsBjnC,GAAKc,GAAAzD,GAAAF,GAAAhB,EAAAqH,GAAK,KAAO,OAASA,EAAE,eAAvB,KAAArH,GAA0CiI,GAAKD,EAAIX,GAAK,KAAO,OAASA,EAAE,SAAW,KAAO,OAASW,EAAE,UAAY,KAAO,OAASC,EAAE,eAArI,KAAAjH,EAAsJsG,EAAE,eAAxJ,KAAApG,GAA0KoB,GAAK4F,EAAIZ,EAAE,SAAW,KAAO,OAASY,EAAE,UAAY,KAAO,OAAS5F,EAAE,eAAhP,KAAAqC,EAAiQ,EAAGkD,KAAQkjC,GAAG,QAAQ3jC,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAGS,EAAID,EAAE,SAAUE,GAAKD,EAAIjE,EAAI,GAAK,GAAK,GAAKiE,EAAIjE,GAClZ,OAAOgE,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAGA,EAAE,QAAQA,EAAE,QAAQ,EAAIE,CAAC,EAAGF,CAC7D,CACA8iC,GAAG,iBAAmBK,GACtB,IAAIC,GAAKL,GACT,SAASI,GAAG5jC,EAAGC,EAAG,CACR,SAAG4jC,GAAG,eAAe7jC,EAAG,CAAE,GAAGC,EAAG,aAAc,EAAG,CAC3D,CACA,IAAI6jC,GAAK,CAAC,EACVA,GAAG,qBAAuBC,GAC1B,IAAIC,GAAKtiC,EAAGuiC,GAAKt/B,GAAIu/B,GAAKt/B,GAC1B,SAASm/B,GAAG/jC,EAAGC,EAAG,CAChB,MAAMC,KAAQ+jC,GAAG,gBAAgBjkC,EAAGC,CAAC,EAAG,KAAQ+jC,GAAG,gBAAgB/jC,GAAK,KAAO,OAASA,EAAE,KAAOD,EAAG,CAAC,EACnG,EAAA,YAAYE,EAAI,EAAG,EAAG,CAAC,EAAG,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EACjD,MAAMO,KAAQyjC,GAAG,gBAAgB,EAAGjkC,CAAC,EACrC,OAAOQ,EAAE,QAAQA,EAAE,QAAQ,EAAI,CAAC,EAAGA,CACrC,CACA,IAAI0jC,GAAK,CAAC,EACVA,GAAG,iBAAmBC,GACtB,IAAIC,GAAKniC,EACT,SAASkiC,GAAGpkC,EAAGC,EAAG,CAChB,MAAMC,KAAQmkC,GAAG,QAAQrkC,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAG,EAAIC,EAAE,SAAA,EAAYO,EAAI,EAAI,EAAI,EAAI,EACnF,OAAAP,EAAE,SAASO,EAAG,CAAC,EAAGP,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAGA,CACnD,CACA,IAAIokC,GAAK,CAAC,EACVA,GAAG,cAAgBC,GACnB,IAAIC,GAAKtiC,EACT,SAASqiC,GAAGvkC,EAAGC,EAAG,CAChB,MAAMC,KAAQskC,GAAG,QAAQxkC,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAG,EAAIC,EAAE,YAAY,EAC1E,OAAOA,EAAE,YAAY,EAAI,EAAG,EAAG,CAAC,EAAGA,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAGA,CAC7D,CACA,IAAIukC,GAAK,CAAC,GACT,SAASzkC,EAAG,CACXA,EAAE,YAAca,EAAG,OAAO,eAAeb,EAAG,kBAAmB,CAC7D,WAAY,GACZ,IAAK,UAAW,CACd,OAAOC,EAAE,eAAA,CACX,CACD,EACD,IAAIA,EAAImd,GAAIld,EAAI+K,GAAI,EAAI/I,EACxB,MAAMzB,EAAI,iCAAkCC,EAAI,eAAgBC,EAAI,MAAOC,EAAI,WACtE,SAAAC,EAAE3F,EAAG6F,EAAG,CACf,MAAMC,KAAQ,EAAE,QAAQ9F,CAAC,EACzB,GAAI,IAAKgF,EAAE,SAASc,CAAC,EACb,MAAA,IAAI,WAAW,oBAAoB,EACrC,MAAAC,EAAIF,EAAE,MAAMN,CAAC,EACnB,OAAOQ,EAAIA,EAAE,IAAKgC,GAAM,CACtB,GAAIA,IAAM,KACD,MAAA,IACH,MAAA4b,EAAI5b,EAAE,CAAC,EACb,GAAI4b,IAAM,IACR,OAAO/d,EAAEmC,CAAC,EACN,MAAA6b,EAAI7e,EAAE,gBAAgB4e,CAAC,EACzB,GAAAC,EACK,OAAAA,EAAE9d,EAAGiC,CAAC,EACX,GAAA4b,EAAE,MAAMje,CAAC,EACX,MAAM,IAAI,WACR,iEAAmEie,EAAI,GACzE,EACK,OAAA5b,CAAA,CACR,EAAE,KAAK,EAAE,EAAI,EAAA,CAEhB,SAASnC,EAAE5F,EAAG,CACN,MAAA6F,EAAI7F,EAAE,MAAMwF,CAAC,EACnB,OAAOK,EAAIA,EAAE,CAAC,EAAE,QAAQJ,EAAG,GAAG,EAAIzF,CAAA,CAEtC,GAAGupC,EAAE,EACL,IAAIC,GAAK,CAAC,EACVA,GAAG,aAAeC,GAClB,IAAIC,GAAKjjC,EACT,SAASgjC,GAAG,CAAE,MAAO3kC,EAAG,OAAQC,EAAG,MAAOC,EAAG,KAAM,EAAG,MAAOO,EAAG,QAASC,EAAG,QAASC,GAAK,CACxF,IAAIC,EAAI,EACRZ,IAAMY,GAAKZ,EAAI4kC,GAAG,YAAa3kC,IAAMW,GAAKX,GAAK2kC,GAAG,WAAa,KAAM1kC,IAAMU,GAAKV,EAAI,GAAI,IAAMU,GAAK,GAC/F,IAAAC,EAAID,EAAI,GAAK,GAAK,GACtB,OAAOH,IAAMI,GAAKJ,EAAI,GAAK,IAAKC,IAAMG,GAAKH,EAAI,IAAKC,IAAME,GAAKF,GAAI,KAAK,MAAME,EAAI,GAAG,CACvF,CACA,IAAIgkC,GAAK,CAAC,EACVA,GAAG,oBAAsBC,GACzB,IAAIC,GAAKpjC,EACT,SAASmjC,GAAG9kC,EAAG,CACP,MAAAC,EAAID,EAAI+kC,GAAG,mBACV,OAAA,KAAK,MAAM9kC,CAAC,CACrB,CACA,IAAI+kC,GAAK,CAAC,EACVA,GAAG,sBAAwBC,GAC3B,IAAIC,GAAKvjC,EACT,SAASsjC,GAAGjlC,EAAG,CACP,MAAAC,EAAID,EAAIklC,GAAG,qBACV,OAAA,KAAK,MAAMjlC,CAAC,CACrB,CACA,IAAIklC,GAAK,CAAC,EACVA,GAAG,sBAAwBC,GAC3B,IAAIC,GAAK1jC,EACT,SAASyjC,GAAGplC,EAAG,CACP,MAAAC,EAAID,EAAIqlC,GAAG,qBACV,OAAA,KAAK,MAAMplC,CAAC,CACrB,CACA,IAAIqlC,GAAK,CAAC,EACVA,GAAG,eAAiBC,GACpB,IAAIC,GAAK7jC,EACT,SAAS4jC,GAAGvlC,EAAG,CACP,MAAAC,EAAID,EAAIwlC,GAAG,cACV,OAAA,KAAK,MAAMvlC,CAAC,CACrB,CACA,IAAIwlC,GAAK,CAAC,EACVA,GAAG,sBAAwBC,GAC3B,IAAIC,GAAKhkC,EACT,SAAS+jC,GAAG1lC,EAAG,CACb,OAAO,KAAK,MAAMA,EAAI2lC,GAAG,oBAAoB,CAC/C,CACA,IAAIC,GAAK,CAAC,EACVA,GAAG,iBAAmBC,GACtB,IAAIC,GAAKnkC,EACT,SAASkkC,GAAG7lC,EAAG,CACb,OAAO,KAAK,MAAMA,EAAI8lC,GAAG,eAAe,CAC1C,CACA,IAAIC,GAAK,CAAC,EACVA,GAAG,iBAAmBC,GACtB,IAAIC,GAAKtkC,EACT,SAASqkC,GAAGhmC,EAAG,CACP,MAAAC,EAAID,EAAIimC,GAAG,gBACV,OAAA,KAAK,MAAMhmC,CAAC,CACrB,CACA,IAAIimC,GAAK,CAAC,EACVA,GAAG,cAAgBC,GACnB,IAAIC,GAAKzkC,EACT,SAASwkC,GAAGnmC,EAAG,CACP,MAAAC,EAAID,EAAIomC,GAAG,aACV,OAAA,KAAK,MAAMnmC,CAAC,CACrB,CACA,IAAIomC,GAAK,CAAC,EACVA,GAAG,QAAUC,GACb,IAAIC,GAAK9kC,GAAI+kC,GAAK/hB,GAClB,SAAS6hB,GAAGtmC,EAAGC,EAAGC,EAAG,CACnB,IAAI,EAAID,KAAQumC,GAAG,QAAQxmC,EAAGE,CAAC,EACxB,OAAA,GAAK,IAAM,GAAK,MAAQqmC,GAAG,SAASvmC,EAAG,EAAGE,CAAC,CACpD,CACA,IAAIumC,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAKN,GACT,SAASK,GAAG1mC,EAAGC,EAAG,CAChB,SAAW0mC,GAAG,SAAS3mC,EAAG,EAAGC,CAAC,CAChC,CACA,IAAI2mC,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAKT,GACT,SAASQ,GAAG7mC,EAAGC,EAAG,CAChB,SAAW6mC,GAAG,SAAS9mC,EAAG,EAAGC,CAAC,CAChC,CACA,IAAI8mC,GAAK,CAAC,EACVA,GAAG,aAAeC,GAClB,IAAIC,GAAKZ,GACT,SAASW,GAAGhnC,EAAGC,EAAG,CAChB,SAAWgnC,GAAG,SAASjnC,EAAG,EAAGC,CAAC,CAChC,CACA,IAAIinC,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAKf,GACT,SAASc,GAAGnnC,EAAGC,EAAG,CAChB,SAAWmnC,GAAG,SAASpnC,EAAG,EAAGC,CAAC,CAChC,CACA,IAAIonC,GAAK,CAAC,EACVA,GAAG,aAAeC,GAClB,IAAIC,GAAKlB,GACT,SAASiB,GAAGtnC,EAAGC,EAAG,CAChB,SAAWsnC,GAAG,SAASvnC,EAAG,EAAGC,CAAC,CAChC,CACA,IAAIunC,GAAK,CAAC,EACVA,GAAG,YAAcC,GACjB,IAAIC,GAAKrB,GACT,SAASoB,GAAGznC,EAAGC,EAAG,CAChB,SAAWynC,GAAG,SAAS1nC,EAAG,EAAGC,CAAC,CAChC,CACA,IAAI0nC,GAAK,CAAC,EACVA,GAAG,cAAgBC,GACnB,IAAIC,GAAKxB,GACT,SAASuB,GAAG5nC,EAAGC,EAAG,CAChB,SAAW4nC,GAAG,SAAS7nC,EAAG,EAAGC,CAAC,CAChC,CACA,IAAI6nC,GAAK,CAAC,EACVA,GAAG,SAAWC,GACd,IAAIC,GAAKrmC,EAAGsmC,GAAKvmC,EAAGwmC,GAAKhmC,EACzB,SAAS6lC,GAAG/nC,EAAGC,EAAG,OACV,MAAAC,EAAI,OAAU+nC,GAAG,eAAehoC,GAAK,KAAO,OAASA,EAAE,GAAI,GAAG,EAAG,GAAKrH,EAAAqH,GAAK,KAAO,OAASA,EAAE,mBAAvB,KAAArH,EAA4C,EAAG6H,EAAI0nC,GAAGnoC,CAAC,EAC/H,IAAAU,EACJ,GAAID,EAAE,KAAM,CACV,MAAMK,EAAIsnC,GAAG3nC,EAAE,KAAM,CAAC,EACtBC,EAAI2nC,GAAGvnC,EAAE,eAAgBA,EAAE,IAAI,CAAA,CAEjC,GAAI,CAACJ,GAAK,MAAM,CAACA,CAAC,SAAUR,EAAE,EAC9B,MAAMS,EAAI,CAACD,EACX,IAAIE,EAAI,EAAGC,EACP,GAAAJ,EAAE,OAASG,EAAI0nC,GAAG7nC,EAAE,IAAI,EAAG,MAAMG,CAAC,GACpC,OAAOV,EAAE,EACX,GAAIO,EAAE,UACA,GAAAI,EAAI0nC,GAAG9nC,EAAE,QAAQ,EAAG,MAAMI,CAAC,EAAG,OAAOX,EAAE,MACtC,CACL,MAAMY,EAAI,IAAI,KAAKH,EAAIC,CAAC,EAAG,KAAQsnC,GAAG,QAAQ,EAAGjoC,GAAK,KAAO,OAASA,EAAE,EAAE,EAC1E,OAAO,EAAE,YACPa,EAAE,eAAe,EACjBA,EAAE,YAAY,EACdA,EAAE,WAAW,GACZ,EAAE,SACHA,EAAE,YAAY,EACdA,EAAE,cAAc,EAChBA,EAAE,cAAc,EAChBA,EAAE,mBAAmB,CAAA,EACpB,CAAA,CAEG,SAAGonC,GAAG,QAAQvnC,EAAIC,EAAIC,EAAGZ,GAAK,KAAO,OAASA,EAAE,EAAE,CAC5D,CACA,MAAMuoC,GAAK,CACT,kBAAmB,OACnB,kBAAmB,QACnB,SAAU,YACZ,EAAGC,GAAK,gEAAiEC,GAAK,4EAA6EC,GAAK,gCAChK,SAASR,GAAGnoC,EAAG,CACb,MAAMC,EAAI,CAAA,EAAIC,EAAIF,EAAE,MAAMwoC,GAAG,iBAAiB,EAC1C,IAAA,EACJ,GAAItoC,EAAE,OAAS,EACN,OAAAD,EACT,GAAI,IAAI,KAAKC,EAAE,CAAC,CAAC,EAAI,EAAIA,EAAE,CAAC,GAAKD,EAAE,KAAOC,EAAE,CAAC,EAAG,EAAIA,EAAE,CAAC,EAAGsoC,GAAG,kBAAkB,KAAKvoC,EAAE,IAAI,IAAMA,EAAE,KAAOD,EAAE,MAAMwoC,GAAG,iBAAiB,EAAE,CAAC,EAAG,EAAIxoC,EAAE,OAC/IC,EAAE,KAAK,OACPD,EAAE,MAAA,IACC,EAAG,CACN,MAAMS,EAAI+nC,GAAG,SAAS,KAAK,CAAC,EAC5B/nC,GAAKR,EAAE,KAAO,EAAE,QAAQQ,EAAE,CAAC,EAAG,EAAE,EAAGR,EAAE,SAAWQ,EAAE,CAAC,GAAKR,EAAE,KAAO,CAAA,CAE5D,OAAAA,CACT,CACA,SAASmoC,GAAGpoC,EAAGC,EAAG,CAChB,MAAMC,EAAI,IAAI,OACZ,wBAA0B,EAAID,GAAK,uBAAyB,EAAIA,GAAK,MACpE,EAAA,EAAID,EAAE,MAAME,CAAC,EAChB,GAAI,CAAC,EAAG,MAAO,CAAE,KAAM,IAAK,eAAgB,EAAG,EAC/C,MAAMO,EAAI,EAAE,CAAC,EAAI,SAAS,EAAE,CAAC,CAAC,EAAI,KAAMC,EAAI,EAAE,CAAC,EAAI,SAAS,EAAE,CAAC,CAAC,EAAI,KAC7D,MAAA,CACL,KAAMA,IAAM,KAAOD,EAAIC,EAAI,IAC3B,eAAgBV,EAAE,OAAO,EAAE,CAAC,GAAK,EAAE,CAAC,GAAG,MAAM,CAC/C,CACF,CACA,SAASqoC,GAAGroC,EAAGC,EAAG,CAChB,GAAIA,IAAM,KAA6B,OAAA,IAAI,KAAK,GAAG,EAC7C,MAAAC,EAAIF,EAAE,MAAMyoC,EAAE,EACpB,GAAI,CAACvoC,EAA0B,OAAA,IAAI,KAAK,GAAG,EAC3C,MAAM,EAAI,CAAC,CAACA,EAAE,CAAC,EAAGO,EAAImoC,GAAG1oC,EAAE,CAAC,CAAC,EAAGQ,EAAIkoC,GAAG1oC,EAAE,CAAC,CAAC,EAAI,EAAGS,EAAIioC,GAAG1oC,EAAE,CAAC,CAAC,EAAGU,EAAIgoC,GAAG1oC,EAAE,CAAC,CAAC,EAAGW,EAAI+nC,GAAG1oC,EAAE,CAAC,CAAC,EAAI,EACzF,GAAA,EACF,OAAO2oC,GAAG5oC,EAAGW,EAAGC,CAAC,EAAIioC,GAAG7oC,EAAGW,EAAGC,CAAC,EAAwB,IAAA,KAAK,GAAG,EACjE,CACQ,MAAAC,EAAwB,IAAA,KAAK,CAAC,EAC7B,MAAA,CAACioC,GAAG9oC,EAAGS,EAAGC,CAAC,GAAK,CAACqoC,GAAG/oC,EAAGQ,CAAC,EAAoB,IAAI,KAAK,GAAG,GAAKK,EAAE,eAAeb,EAAGS,EAAG,KAAK,IAAID,EAAGE,CAAC,CAAC,EAAGG,EAAA,CAEhH,CACA,SAAS8nC,GAAG5oC,EAAG,CACN,OAAAA,EAAI,SAASA,CAAC,EAAI,CAC3B,CACA,SAASsoC,GAAGtoC,EAAG,CACP,MAAAC,EAAID,EAAE,MAAM0oC,EAAE,EAChB,GAAA,CAACzoC,EAAU,MAAA,KACf,MAAMC,EAAI+oC,GAAGhpC,EAAE,CAAC,CAAC,EAAG,EAAIgpC,GAAGhpC,EAAE,CAAC,CAAC,EAAGQ,EAAIwoC,GAAGhpC,EAAE,CAAC,CAAC,EAC7C,OAAOipC,GAAGhpC,EAAG,EAAGO,CAAC,EAAIP,EAAI8nC,GAAG,mBAAqB,EAAIA,GAAG,qBAAuBvnC,EAAI,IAAM,GAC3F,CACA,SAASwoC,GAAGjpC,EAAG,CACb,OAAOA,GAAK,WAAWA,EAAE,QAAQ,IAAK,GAAG,CAAC,GAAK,CACjD,CACA,SAASuoC,GAAGvoC,EAAG,CACT,GAAAA,IAAM,IAAY,MAAA,GAChB,MAAAC,EAAID,EAAE,MAAM2oC,EAAE,EAChB,GAAA,CAAC1oC,EAAU,MAAA,GACT,MAAAC,EAAID,EAAE,CAAC,IAAM,IAAM,GAAK,EAAG,EAAI,SAASA,EAAE,CAAC,CAAC,EAAGQ,EAAIR,EAAE,CAAC,GAAK,SAASA,EAAE,CAAC,CAAC,GAAK,EAC5E,OAAAkpC,GAAG,EAAG1oC,CAAC,EAAIP,GAAK,EAAI8nC,GAAG,mBAAqBvnC,EAAIunC,GAAG,sBAAwB,GACpF,CACA,SAASc,GAAG9oC,EAAGC,EAAGC,EAAG,CACb,MAAA,EAAwB,IAAA,KAAK,CAAC,EAClC,EAAA,eAAeF,EAAG,EAAG,CAAC,EAClB,MAAAS,EAAI,EAAE,UAAA,GAAe,EAAGC,GAAKT,EAAI,GAAK,EAAIC,EAAI,EAAIO,EACxD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAIC,CAAC,EAAG,CAC3C,CACA,MAAM0oC,GAAK,CAAC,GAAI,KAAM,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAC5D,SAASC,GAAGrpC,EAAG,CACb,OAAOA,EAAI,MAAQ,GAAKA,EAAI,IAAM,GAAKA,EAAI,MAAQ,CACrD,CACA,SAAS+oC,GAAG/oC,EAAGC,EAAGC,EAAG,CACnB,OAAOD,GAAK,GAAKA,GAAK,IAAMC,GAAK,GAAKA,IAAMkpC,GAAGnpC,CAAC,IAAMopC,GAAGrpC,CAAC,EAAI,GAAK,IACrE,CACA,SAASgpC,GAAGhpC,EAAGC,EAAG,CAChB,OAAOA,GAAK,GAAKA,IAAMopC,GAAGrpC,CAAC,EAAI,IAAM,IACvC,CACA,SAAS6oC,GAAG7oC,EAAGC,EAAGC,EAAG,CACnB,OAAOD,GAAK,GAAKA,GAAK,IAAMC,GAAK,GAAKA,GAAK,CAC7C,CACA,SAASgpC,GAAGlpC,EAAGC,EAAGC,EAAG,CACnB,OAAOF,IAAM,GAAKC,IAAM,GAAKC,IAAM,EAAIA,GAAK,GAAKA,EAAI,IAAMD,GAAK,GAAKA,EAAI,IAAMD,GAAK,GAAKA,EAAI,EAC/F,CACA,SAASmpC,GAAGnpC,EAAGC,EAAG,CACT,OAAAA,GAAK,GAAKA,GAAK,EACxB,CACA,IAAIqpC,GAAK,CAAC,EACVA,GAAG,UAAYC,GACf,IAAIC,GAAKtnC,EACT,SAASqnC,GAAGvpC,EAAGC,EAAG,CAChB,MAAMC,EAAIF,EAAE,MACV,+FACF,EACO,OAAAE,KAAQspC,GAAG,QAChB,KAAK,IACH,CAACtpC,EAAE,CAAC,EACJ,CAACA,EAAE,CAAC,EAAI,EACR,CAACA,EAAE,CAAC,EACJ,CAACA,EAAE,CAAC,GAAK,CAACA,EAAE,CAAC,GAAK,IAAMA,EAAE,CAAC,GAAK,IAAM,GAAK,GAC3C,CAACA,EAAE,CAAC,GAAK,CAACA,EAAE,EAAE,GAAK,IAAMA,EAAE,CAAC,GAAK,IAAM,GAAK,GAC5C,CAACA,EAAE,CAAC,EACJ,GAAGA,EAAE,CAAC,GAAK,KAAO,MAAM,UAAU,EAAG,CAAC,CACxC,EACAD,GAAK,KAAO,OAASA,EAAE,EAAA,KACjBupC,GAAG,QAAQ,IAAKvpC,GAAK,KAAO,OAASA,EAAE,EAAE,CACnD,CACA,IAAIwpC,GAAK,CAAC,EACVA,GAAG,YAAcC,GACjB,IAAIC,GAAKllB,GAAImlB,GAAKhH,GAClB,SAAS8G,GAAG1pC,EAAGC,EAAGC,EAAG,CACnB,IAAI,KAAQypC,GAAG,QAAQ3pC,EAAGE,CAAC,EAAID,EACxB,OAAA,GAAK,IAAM,GAAK,MAAQ2pC,GAAG,SAAS5pC,EAAG,EAAGE,CAAC,CACpD,CACA,IAAI2pC,GAAK,CAAC,EACVA,GAAG,eAAiBC,GACpB,IAAIC,GAAKN,GACT,SAASK,GAAG9pC,EAAGC,EAAG,CAChB,SAAW8pC,GAAG,aAAa/pC,EAAG,EAAGC,CAAC,CACpC,CACA,IAAI+pC,GAAK,CAAC,EACVA,GAAG,eAAiBC,GACpB,IAAIC,GAAKT,GACT,SAASQ,GAAGjqC,EAAGC,EAAG,CAChB,SAAWiqC,GAAG,aAAalqC,EAAG,EAAGC,CAAC,CACpC,CACA,IAAIkqC,GAAK,CAAC,EACVA,GAAG,iBAAmBC,GACtB,IAAIC,GAAKZ,GACT,SAASW,GAAGpqC,EAAGC,EAAG,CAChB,SAAWoqC,GAAG,aAAarqC,EAAG,EAAGC,CAAC,CACpC,CACA,IAAIqqC,GAAK,CAAC,EACVA,GAAG,eAAiBC,GACpB,IAAIC,GAAKf,GACT,SAASc,GAAGvqC,EAAGC,EAAG,CAChB,SAAWuqC,GAAG,aAAaxqC,EAAG,EAAGC,CAAC,CACpC,CACA,IAAIwqC,GAAK,CAAC,EACVA,GAAG,iBAAmBC,GACtB,IAAIC,GAAKlB,GACT,SAASiB,GAAG1qC,EAAGC,EAAG,CAChB,SAAW0qC,GAAG,aAAa3qC,EAAG,EAAGC,CAAC,CACpC,CACA,IAAI2qC,GAAK,CAAC,EACVA,GAAG,gBAAkBC,GACrB,IAAIC,GAAKrB,GACT,SAASoB,GAAG7qC,EAAGC,EAAG,CAChB,SAAW6qC,GAAG,aAAa9qC,EAAG,EAAGC,CAAC,CACpC,CACA,IAAI8qC,GAAK,CAAC,EACVA,GAAG,kBAAoBC,GACvB,IAAIC,GAAKxB,GACT,SAASuB,GAAGhrC,EAAGC,EAAG,CAChB,SAAWgrC,GAAG,aAAajrC,EAAG,EAAGC,CAAC,CACpC,CACA,IAAIirC,GAAK,CAAC,EACVA,GAAG,iBAAmBC,GACtB,IAAIC,GAAKzpC,EACT,SAASwpC,GAAGnrC,EAAG,CACb,OAAO,KAAK,MAAMA,EAAIorC,GAAG,eAAe,CAC1C,CACA,IAAIC,GAAK,CAAC,EACVA,GAAG,gBAAkBC,GACrB,IAAIC,GAAK5pC,EACT,SAAS2pC,GAAGtrC,EAAG,CACP,MAAAC,EAAID,EAAIurC,GAAG,eACV,OAAA,KAAK,MAAMtrC,CAAC,CACrB,CACA,IAAIurC,GAAK,CAAC,EACVA,GAAG,oBAAsBC,GACzB,IAAIC,GAAKz9B,GAAI09B,GAAKjqC,EAAGkqC,GAAK1pC,EAC1B,SAASupC,GAAGzrC,EAAGC,EAAG,SAChB,MAAMC,GAAKtH,EAAAqH,GAAK,KAAO,OAASA,EAAE,YAAvB,KAAArH,EAAqC,EAC5C,GAAAsH,EAAI,GAAKA,EAAI,GACP,SAAGyrC,GAAG,gBAAgB1rC,GAAK,KAAO,OAASA,EAAE,KAAOD,EAAG,GAAG,EAC9D,MAAA,KAAQ4rC,GAAG,QAAQ5rC,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAGQ,EAAI,EAAE,WAAe,EAAA,GAAIC,EAAI,EAAE,aAAe,GAAK,GAAIC,EAAI,EAAE,kBAAoB,IAAM,GAAK,GAAIC,EAAI,EAAE,WAAaH,EAAIC,EAAIC,EAAGE,GAAKjH,EAAAqG,GAAK,KAAO,OAASA,EAAE,iBAAvB,KAAArG,EAA0C,QAASsB,KAAQwwC,GAAG,mBAAmB7qC,CAAC,EAAED,EAAIV,CAAC,EAAIA,EACxR,OAAO,EAAE,SAAShF,EAAG,EAAG,EAAG,CAAC,EAAG,CACjC,CACA,IAAI2wC,GAAK,CAAC,EACVA,GAAG,sBAAwBC,GAC3B,IAAIC,GAAK99B,GAAI+9B,GAAKtqC,EAAGuqC,GAAK/pC,EAC1B,SAAS4pC,GAAG9rC,EAAGC,EAAG,SAChB,MAAMC,GAAKtH,EAAAqH,GAAK,KAAO,OAASA,EAAE,YAAvB,KAAArH,EAAqC,EAC5C,GAAAsH,EAAI,GAAKA,EAAI,GACf,SAAW8rC,GAAG,eAAehsC,EAAG,GAAG,EACrC,MAAM,KAAQisC,GAAG,QAAQjsC,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAGQ,EAAI,EAAE,WAAW,EAAI,GAAIC,EAAI,EAAE,kBAAoB,IAAM,GAAIC,EAAI,EAAE,aAAeF,EAAIC,EAAGE,GAAKhH,EAAAqG,GAAK,KAAO,OAASA,EAAE,iBAAvB,KAAArG,EAA0C,QAASkH,KAAQirC,GAAG,mBAAmBnrC,CAAC,EAAED,EAAIT,CAAC,EAAIA,EACnP,OAAO,EAAE,WAAWY,EAAG,EAAG,CAAC,EAAG,CAChC,CACA,IAAIorC,GAAK,CAAC,EACVA,GAAG,eAAiBC,GACpB,IAAIC,GAAKzqC,EACT,SAASwqC,GAAGnsC,EAAG,CACP,MAAAC,EAAID,EAAIosC,GAAG,cACV,OAAA,KAAK,MAAMnsC,CAAC,CACrB,CACA,IAAIosC,GAAK,CAAC,EACVA,GAAG,sBAAwBC,GAC3B,IAAIC,GAAK5qC,EACT,SAAS2qC,GAAGtsC,EAAG,CACb,OAAOA,EAAIusC,GAAG,oBAChB,CACA,IAAIC,GAAK,CAAC,EACVA,GAAG,iBAAmBC,GACtB,IAAIC,GAAK/qC,EACT,SAAS8qC,GAAGzsC,EAAG,CACP,MAAAC,EAAID,EAAI0sC,GAAG,gBACV,OAAA,KAAK,MAAMzsC,CAAC,CACrB,CACA,IAAI0sC,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,SAAWC,GACd,IAAIC,GAAKprC,EAAGqrC,GAAKnoB,GAAIooB,GAAK9qC,EAC1B,SAAS2qC,GAAG7sC,EAAGC,EAAGC,EAAG,CACnB,MAAM,KAAQ8sC,GAAG,QAAQhtC,EAAGE,GAAK,KAAO,OAASA,EAAE,EAAE,EAAGO,EAAI,EAAE,YAAe,EAAAC,EAAI,EAAE,QAAW,EAAAC,KAAQmsC,GAAG,gBAAgB5sC,GAAK,KAAO,OAASA,EAAE,KAAOF,EAAG,CAAC,EACzJW,EAAA,YAAYF,EAAGR,EAAG,EAAE,EAAGU,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAC9C,MAAMC,KAAQmsC,GAAG,gBAAgBpsC,CAAC,EAC3B,OAAA,EAAE,SAASV,EAAG,KAAK,IAAIS,EAAGE,CAAC,CAAC,EAAG,CACxC,CACA+rC,GAAG,IAAMM,GACT,IAAIC,GAAKxrC,EAAGyrC,GAAKP,GAAIQ,GAAKlrC,EAC1B,SAAS+qC,GAAGjtC,EAAGC,EAAGC,EAAG,CACf,IAAA,KAAQktC,GAAG,QAAQptC,EAAGE,GAAK,KAAO,OAASA,EAAE,EAAE,EACnD,OAAO,MAAM,CAAC,CAAC,KAAQgtC,GAAG,gBAAgBhtC,GAAK,KAAO,OAASA,EAAE,KAAOF,EAAG,GAAG,GAAKC,EAAE,MAAQ,MAAQ,EAAE,YAAYA,EAAE,IAAI,EAAGA,EAAE,OAAS,OAAS,KAAQktC,GAAG,UAAU,EAAGltC,EAAE,KAAK,GAAIA,EAAE,MAAQ,MAAQ,EAAE,QAAQA,EAAE,IAAI,EAAGA,EAAE,OAAS,MAAQ,EAAE,SAASA,EAAE,KAAK,EAAGA,EAAE,SAAW,MAAQ,EAAE,WAAWA,EAAE,OAAO,EAAGA,EAAE,SAAW,MAAQ,EAAE,WAAWA,EAAE,OAAO,EAAGA,EAAE,cAAgB,MAAQ,EAAE,gBAAgBA,EAAE,YAAY,EAAG,EAC3Z,CACA,IAAIotC,GAAK,CAAC,EACVA,GAAG,QAAUC,GACb,IAAIC,GAAKrrC,EACT,SAASorC,GAAGttC,EAAGC,EAAGC,EAAG,CACb,MAAA,KAAQqtC,GAAG,QAAQvtC,EAAGE,GAAK,KAAO,OAASA,EAAE,EAAE,EAC9C,OAAA,EAAE,QAAQD,CAAC,EAAG,CACvB,CACA,IAAIutC,GAAK,CAAC,EACVA,GAAG,aAAeC,GAClB,IAAIC,GAAKxrC,EACT,SAASurC,GAAGztC,EAAGC,EAAGC,EAAG,CACb,MAAA,KAAQwtC,GAAG,QAAQ1tC,EAAGE,GAAK,KAAO,OAASA,EAAE,EAAE,EACrD,OAAO,EAAE,SAAS,CAAC,EAAG,EAAE,QAAQD,CAAC,EAAG,CACtC,CACA,IAAI0tC,GAAK,CAAC,EACVA,GAAG,kBAAoBC,GACvB,IAAIC,GAAK/oC,GACT,SAAS8oC,GAAG5tC,EAAG,CACb,MAAMC,EAAI,CAAC,EAAGC,KAAQ2tC,GAAG,mBAAmB,EAC5C,UAAW,KAAK3tC,EACP,OAAA,UAAU,eAAe,KAAKA,EAAG,CAAC,IAAMD,EAAE,CAAC,EAAIC,EAAE,CAAC,GAC3D,UAAW,KAAKF,EACd,OAAO,UAAU,eAAe,KAAKA,EAAG,CAAC,IAAMA,EAAE,CAAC,IAAM,OAAS,OAAOC,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAID,EAAE,CAAC,MACvF6tC,GAAG,mBAAmB5tC,CAAC,CAC7B,CACA,IAAI6tC,GAAK,CAAC,EACVA,GAAG,SAAWC,GACd,IAAIC,GAAK9rC,EACT,SAAS6rC,GAAG/tC,EAAGC,EAAGC,EAAG,CACb,MAAA,KAAQ8tC,GAAG,QAAQhuC,EAAGE,GAAK,KAAO,OAASA,EAAE,EAAE,EAC9C,OAAA,EAAE,SAASD,CAAC,EAAG,CACxB,CACA,IAAIguC,GAAK,CAAC,EACVA,GAAG,gBAAkBC,GACrB,IAAIC,GAAKjsC,EACT,SAASgsC,GAAGluC,EAAGC,EAAGC,EAAG,CACb,MAAA,KAAQiuC,GAAG,QAAQnuC,EAAGE,GAAK,KAAO,OAASA,EAAE,EAAE,EAC9C,OAAA,EAAE,gBAAgBD,CAAC,EAAG,CAC/B,CACA,IAAImuC,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAKpsC,EACT,SAASmsC,GAAGruC,EAAGC,EAAGC,EAAG,CACb,MAAA,KAAQouC,GAAG,QAAQtuC,EAAGE,GAAK,KAAO,OAASA,EAAE,EAAE,EAC9C,OAAA,EAAE,WAAWD,CAAC,EAAG,CAC1B,CACA,IAAIsuC,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAK7B,GAAI8B,GAAKxsC,EAClB,SAASssC,GAAGxuC,EAAGC,EAAGC,EAAG,CACb,MAAA,KAAQwuC,GAAG,QAAQ1uC,EAAGE,GAAK,KAAO,OAASA,EAAE,EAAE,EAAGO,EAAI,KAAK,MAAM,EAAE,SAAA,EAAa,CAAC,EAAI,EAAGC,EAAIT,EAAIQ,EAC9F,SAAGguC,GAAG,UAAU,EAAG,EAAE,SAAS,EAAI/tC,EAAI,CAAC,CACjD,CACA,IAAIiuC,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAK3sC,EACT,SAAS0sC,GAAG5uC,EAAGC,EAAGC,EAAG,CACb,MAAA,KAAQ2uC,GAAG,QAAQ7uC,EAAGE,GAAK,KAAO,OAASA,EAAE,EAAE,EAC9C,OAAA,EAAE,WAAWD,CAAC,EAAG,CAC1B,CACA,IAAI6uC,GAAK,CAAC,EACVA,GAAG,YAAcC,GACjB,IAAIC,GAAKlqC,GAAImqC,GAAKvtC,EAAGwtC,GAAKtpC,GAAIupC,GAAKlzB,GAAImzB,GAAKltC,EAC5C,SAAS6sC,GAAG/uC,EAAGC,EAAGC,EAAG,aACf,IAAAW,EAAGC,EAAG5F,EAAG6F,EACb,MAAMtE,KAAQuyC,GAAG,qBAAsBvuC,GAAKlD,GAAAzD,GAAAF,GAAAhB,EAAAsH,GAAK,KAAO,OAASA,EAAE,wBAAvB,KAAAtH,GAAmDkI,GAAKD,EAAIX,GAAK,KAAO,OAASA,EAAE,SAAW,KAAO,OAASW,EAAE,UAAY,KAAO,OAASC,EAAE,wBAA9I,KAAAlH,EAAwK6C,EAAE,wBAA1K,KAAA3C,GAAqMiH,GAAK7F,EAAIuB,EAAE,SAAW,KAAO,OAASvB,EAAE,UAAY,KAAO,OAAS6F,EAAE,wBAA3Q,KAAAxD,EAAqS,EAAGmD,KAAQwuC,GAAG,6BACzVE,GAAG,QAAQpvC,EAAGE,GAAK,KAAO,OAASA,EAAE,EAAE,KACvCivC,GAAG,iBAAiBnvC,EAAGE,CAAC,EAC5BA,CACF,EAAGS,KAAQsuC,GAAG,gBAAgB/uC,GAAK,KAAO,OAASA,EAAE,KAAOF,EAAG,CAAC,EAC9DW,EAAA,YAAYV,EAAG,EAAGQ,CAAC,EAAGE,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAC7C,MAAMC,KAAQuuC,GAAG,iBAAiBxuC,EAAGT,CAAC,EACtC,OAAOU,EAAE,QAAQA,EAAE,QAAQ,EAAIF,CAAC,EAAGE,CACrC,CACA,IAAIyuC,GAAK,CAAC,EACVA,GAAG,QAAUC,GACb,IAAIC,GAAK7tC,EAAG8tC,GAAKttC,EACjB,SAASotC,GAAGtvC,EAAGC,EAAGC,EAAG,CACb,MAAA,KAAQsvC,GAAG,QAAQxvC,EAAGE,GAAK,KAAO,OAASA,EAAE,EAAE,EACrD,OAAO,MAAM,CAAC,CAAC,KAAQqvC,GAAG,gBAAgBrvC,GAAK,KAAO,OAASA,EAAE,KAAOF,EAAG,GAAG,GAAK,EAAE,YAAYC,CAAC,EAAG,EACvG,CACA,IAAIwvC,GAAK,CAAC,EACVA,GAAG,cAAgBC,GACnB,IAAIC,GAAKztC,EACT,SAASwtC,GAAG1vC,EAAGC,EAAG,CACV,MAAAC,KAAQyvC,GAAG,QAAQ3vC,EAAGC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAG,EAAIC,EAAE,cAAeO,EAAI,KAAK,MAAM,EAAI,EAAE,EAAI,GACtG,OAAOP,EAAE,YAAYO,EAAG,EAAG,CAAC,EAAGP,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAGA,CACzD,CACA,IAAI0vC,GAAK,CAAC,EACVA,GAAG,aAAeC,GAClB,IAAIC,GAAK3pC,GACT,SAAS0pC,GAAG7vC,EAAG,CACb,SAAW8vC,GAAG,YAAY,KAAK,IAAA,EAAO9vC,CAAC,CACzC,CACA,IAAI+vC,GAAK,CAAC,EACVA,GAAG,gBAAkBC,GACrB,IAAIC,GAAKvuC,EAAGwuC,GAAK5lC,GACjB,SAAS0lC,GAAGhwC,EAAG,CACb,MAAMC,KAAQiwC,GAAG,cAAclwC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAGE,EAAID,EAAE,cAAe,EAAIA,EAAE,SAAY,EAAAQ,EAAIR,EAAE,QAAA,EAAWS,KAAQuvC,GAAG,eAAejwC,GAAK,KAAO,OAASA,EAAE,GAAI,CAAC,EACzK,OAAOU,EAAE,YAAYR,EAAG,EAAGO,EAAI,CAAC,EAAGC,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAGA,CAC7D,CACA,IAAIyvC,GAAK,CAAC,EACVA,GAAG,iBAAmBC,GACtB,IAAIC,GAAK/lC,GACT,SAAS8lC,GAAGpwC,EAAG,CACb,MAAMC,KAAQowC,GAAG,cAAcrwC,GAAK,KAAO,OAASA,EAAE,EAAE,EAAGE,EAAID,EAAE,YAAe,EAAA,EAAIA,EAAE,SAAY,EAAAQ,EAAIR,EAAE,QAAA,EAAWS,KAAQ2vC,GAAG,cAAcrwC,GAAK,KAAO,OAASA,EAAE,EAAE,EACrK,OAAOU,EAAE,YAAYR,EAAG,EAAGO,EAAI,CAAC,EAAGC,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EAAGA,CAC7D,CACA,IAAI4vC,GAAK,CAAA,EAAIC,GAAK,CAAC,EACnBA,GAAG,UAAYC,GACf,IAAIC,GAAKjuC,GACT,SAASguC,GAAGxwC,EAAGC,EAAGC,EAAG,CACnB,SAAWuwC,GAAG,WAAWzwC,EAAG,CAACC,EAAGC,CAAC,CACnC,CACAowC,GAAG,IAAMI,GACT,IAAIC,GAAKjvC,EAAGkvC,GAAKhO,GAAIiO,GAAKN,GAC1B,SAASG,GAAG1wC,EAAGC,EAAGC,EAAG,CACb,KAAA,CACJ,MAAO,EAAI,EACX,OAAQO,EAAI,EACZ,MAAOC,EAAI,EACX,KAAMC,EAAI,EACV,MAAOC,EAAI,EACX,QAASC,EAAI,EACb,QAASC,EAAI,CACX,EAAAb,EAAG/E,KAAQ21C,GAAG,WAChB7wC,EACAS,EAAI,EAAI,GACRP,CAAA,EACCa,KAAQ6vC,GAAG,SACZ11C,EACAyF,EAAID,EAAI,EACRR,CAAA,EACCc,EAAIH,EAAID,EAAI,GAAIwf,GAAKtf,EAAIE,EAAI,IAAM,IAC9B,SAAG2vC,GAAG,gBAAgBzwC,GAAK,KAAO,OAASA,EAAE,KAAOF,EAAG,CAACe,EAAIqf,CAAC,CACvE,CACA,IAAI0wB,GAAK,CAAC,EACVA,GAAG,gBAAkBC,GACrB,IAAIC,GAAK9tC,GACT,SAAS6tC,GAAG/wC,EAAGC,EAAGC,EAAG,CACnB,SAAW8wC,GAAG,iBAAiBhxC,EAAG,CAACC,EAAGC,CAAC,CACzC,CACA,IAAI+wC,GAAK,CAAC,EACVA,GAAG,SAAWC,GACd,IAAIC,GAAKjtC,GACT,SAASgtC,GAAGlxC,EAAGC,EAAGC,EAAG,CACnB,SAAWixC,GAAG,UAAUnxC,EAAG,CAACC,EAAGC,CAAC,CAClC,CACA,IAAIkxC,GAAK,CAAC,EACVA,GAAG,gBAAkBC,GACrB,IAAIC,GAAKntC,GACT,SAASktC,GAAGrxC,EAAGC,EAAGC,EAAG,CACnB,SAAWoxC,GAAG,iBAAiBtxC,EAAG,CAACC,EAAGC,CAAC,CACzC,CACA,IAAIqxC,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAKjqC,GACT,SAASgqC,GAAGxxC,EAAGC,EAAGC,EAAG,CACnB,SAAWuxC,GAAG,YAAYzxC,EAAG,CAACC,EAAGC,CAAC,CACpC,CACA,IAAIwxC,GAAK,CAAC,EACVA,GAAG,YAAcC,GACjB,IAAIC,GAAKhqC,GACT,SAAS+pC,GAAG3xC,EAAGC,EAAGC,EAAG,CACnB,SAAW0xC,GAAG,aAAa5xC,EAAG,CAACC,EAAGC,CAAC,CACrC,CACA,IAAI2xC,GAAK,CAAC,EACVA,GAAG,WAAaC,GAChB,IAAIC,GAAKhqC,GACT,SAAS+pC,GAAG9xC,EAAGC,EAAGC,EAAG,CACnB,SAAW6xC,GAAG,YAAY/xC,EAAG,CAACC,EAAGC,CAAC,CACpC,CACA,IAAI8xC,GAAK,CAAC,EACVA,GAAG,SAAWC,GACd,IAAIC,GAAKhqC,GACT,SAAS+pC,GAAGjyC,EAAGC,EAAGC,EAAG,CACnB,SAAWgyC,GAAG,UAAUlyC,EAAG,CAACC,EAAGC,CAAC,CAClC,CACA,IAAIiyC,GAAK,CAAC,EACVA,GAAG,SAAWC,GACd,IAAIC,GAAKhqC,GACT,SAAS+pC,GAAGpyC,EAAGC,EAAGC,EAAG,CACnB,SAAWmyC,GAAG,UAAUryC,EAAG,CAACC,EAAGC,CAAC,CAClC,CACA,IAAIoyC,GAAK,CAAC,EACVA,GAAG,YAAcC,GACjB,IAAIC,GAAK7wC,EACT,SAAS4wC,GAAGvyC,EAAG,CACb,OAAO,KAAK,MAAMA,EAAIwyC,GAAG,UAAU,CACrC,CACA,IAAIC,GAAK,CAAC,EACVA,GAAG,YAAcC,GACjB,IAAIC,GAAKhxC,EACT,SAAS+wC,GAAG1yC,EAAG,CACb,OAAO,KAAK,MAAMA,EAAI2yC,GAAG,UAAU,CACrC,CACA,IAAIC,GAAK,CAAC,EACVA,GAAG,cAAgBC,GACnB,IAAIhzB,GAAKle,EACT,SAASkxC,GAAG7yC,EAAG,CACb,OAAO,KAAK,MAAMA,EAAI6f,GAAG,YAAY,CACvC,CACA,IAAIizB,GAAK,CAAC,EACVA,GAAG,gBAAkBC,GACrB,IAAIC,GAAKrxC,EACT,SAASoxC,GAAG/yC,EAAG,CACb,OAAO,KAAK,MAAMA,EAAIgzC,GAAG,cAAc,CACzC,EACC,SAAShzC,EAAG,CACX,IAAIC,EAAIuB,GACR,OAAO,KAAKvB,CAAC,EAAE,QAAQ,SAASgzC,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMhzC,EAAEgzC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOhzC,EAAEgzC,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAI/yC,EAAIgD,GACR,OAAO,KAAKhD,CAAC,EAAE,QAAQ,SAAS+yC,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM/yC,EAAE+yC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO/yC,EAAE+yC,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAI,EAAIxxC,GACR,OAAO,KAAK,CAAC,EAAE,QAAQ,SAASwxC,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM,EAAEA,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO,EAAEA,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIxyC,EAAIyD,GACR,OAAO,KAAKzD,CAAC,EAAE,QAAQ,SAASwyC,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMxyC,EAAEwyC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOxyC,EAAEwyC,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIvyC,EAAIgE,GACR,OAAO,KAAKhE,CAAC,EAAE,QAAQ,SAASuyC,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMvyC,EAAEuyC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOvyC,EAAEuyC,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAItyC,EAAIwD,GACR,OAAO,KAAKxD,CAAC,EAAE,QAAQ,SAASsyC,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMtyC,EAAEsyC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOtyC,EAAEsyC,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIryC,EAAI4G,GACR,OAAO,KAAK5G,CAAC,EAAE,QAAQ,SAASqyC,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMryC,EAAEqyC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOryC,EAAEqyC,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIpyC,EAAI2B,GACR,OAAO,KAAK3B,CAAC,EAAE,QAAQ,SAASoyC,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMpyC,EAAEoyC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOpyC,EAAEoyC,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAInyC,EAAI8G,GACR,OAAO,KAAK9G,CAAC,EAAE,QAAQ,SAASmyC,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMnyC,EAAEmyC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOnyC,EAAEmyC,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAI/3C,EAAI6M,GACR,OAAO,KAAK7M,CAAC,EAAE,QAAQ,SAAS+3C,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM/3C,EAAE+3C,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO/3C,EAAE+3C,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIlyC,EAAImH,GACR,OAAO,KAAKnH,CAAC,EAAE,QAAQ,SAASkyC,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMlyC,EAAEkyC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOlyC,EAAEkyC,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIjyC,EAAIqH,GACR,OAAO,KAAKrH,CAAC,EAAE,QAAQ,SAASiyC,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMjyC,EAAEiyC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOjyC,EAAEiyC,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIhyC,EAAIuH,GACR,OAAO,KAAKvH,CAAC,EAAE,QAAQ,SAASgyC,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMhyC,EAAEgyC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOhyC,EAAEgyC,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAI7yB,EAAIzX,GACR,OAAO,KAAKyX,CAAC,EAAE,QAAQ,SAAS6yB,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM7yB,EAAE6yB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO7yB,EAAE6yB,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIhwC,EAAIuG,GACR,OAAO,KAAKvG,CAAC,EAAE,QAAQ,SAASgwC,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMhwC,EAAEgwC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOhwC,EAAEgwC,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIp0B,EAAIlV,GACR,OAAO,KAAKkV,CAAC,EAAE,QAAQ,SAASo0B,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMp0B,EAAEo0B,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOp0B,EAAEo0B,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIn0B,EAAI9U,GACR,OAAO,KAAK8U,CAAC,EAAE,QAAQ,SAASm0B,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMn0B,EAAEm0B,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOn0B,EAAEm0B,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAI1zB,EAAIpV,GACR,OAAO,KAAKoV,CAAC,EAAE,QAAQ,SAAS0zB,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM1zB,EAAE0zB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO1zB,EAAE0zB,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIzzB,EAAI9d,EACR,OAAO,KAAK8d,CAAC,EAAE,QAAQ,SAASyzB,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMzzB,EAAEyzB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOzzB,EAAEyzB,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIxzB,EAAInV,GACR,OAAO,KAAKmV,CAAC,EAAE,QAAQ,SAASwzB,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMxzB,EAAEwzB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOxzB,EAAEwzB,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIrzB,EAAKnV,GACT,OAAO,KAAKmV,CAAE,EAAE,QAAQ,SAASqzB,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMrzB,EAAGqzB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOrzB,EAAGqzB,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIlzB,EAAKnV,GACT,OAAO,KAAKmV,CAAE,EAAE,QAAQ,SAASkzB,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMlzB,EAAGkzB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOlzB,EAAGkzB,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIjzB,EAAKpa,GACT,OAAO,KAAKoa,CAAE,EAAE,QAAQ,SAASizB,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMjzB,EAAGizB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOjzB,EAAGizB,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI5yB,EAAKvU,GACT,OAAO,KAAKuU,CAAE,EAAE,QAAQ,SAAS4yB,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM5yB,EAAG4yB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO5yB,EAAG4yB,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIl0B,EAAK7S,GACT,OAAO,KAAK6S,CAAE,EAAE,QAAQ,SAASk0B,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMl0B,EAAGk0B,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOl0B,EAAGk0B,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIj0B,EAAKxS,GACT,OAAO,KAAKwS,CAAE,EAAE,QAAQ,SAASi0B,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMj0B,EAAGi0B,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOj0B,EAAGi0B,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIh0B,EAAKtS,GACT,OAAO,KAAKsS,CAAE,EAAE,QAAQ,SAASg0B,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMh0B,EAAGg0B,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOh0B,EAAGg0B,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI/zB,GAAKhS,GACT,OAAO,KAAKgS,EAAE,EAAE,QAAQ,SAAS+zB,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM/zB,GAAG+zB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO/zB,GAAG+zB,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI9zB,EAAI3R,GACR,OAAO,KAAK2R,CAAC,EAAE,QAAQ,SAAS8zB,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM9zB,EAAE8zB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO9zB,EAAE8zB,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAI7zB,EAAIzR,GACR,OAAO,KAAKyR,CAAC,EAAE,QAAQ,SAAS6zB,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM7zB,EAAE6zB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO7zB,EAAE6zB,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAI5zB,EAAIrR,GACR,OAAO,KAAKqR,CAAC,EAAE,QAAQ,SAAS4zB,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM5zB,EAAE4zB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO5zB,EAAE4zB,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAI3zB,EAAK/Q,GACT,OAAO,KAAK+Q,CAAE,EAAE,QAAQ,SAAS2zB,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM3zB,EAAG2zB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO3zB,EAAG2zB,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIhzB,EAAIjR,GACR,OAAO,KAAKiR,CAAC,EAAE,QAAQ,SAASgzB,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMhzB,EAAEgzB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOhzB,EAAEgzB,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAI/yB,EAAI/Q,GACR,OAAO,KAAK+Q,CAAC,EAAE,QAAQ,SAAS+yB,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM/yB,EAAE+yB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO/yB,EAAE+yB,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAI9yB,GAAK3Q,GACT,OAAO,KAAK2Q,EAAE,EAAE,QAAQ,SAAS8yB,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM9yB,GAAG8yB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO9yB,GAAG8yB,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI7X,GAAK3qB,GACT,OAAO,KAAK2qB,EAAE,EAAE,QAAQ,SAAS6X,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM7X,GAAG6X,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO7X,GAAG6X,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI5X,GAAKxqB,GACT,OAAO,KAAKwqB,EAAE,EAAE,QAAQ,SAAS4X,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM5X,GAAG4X,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO5X,GAAG4X,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI3X,GAAKrqB,GACT,OAAO,KAAKqqB,EAAE,EAAE,QAAQ,SAAS2X,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM3X,GAAG2X,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO3X,GAAG2X,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI1X,GAAKlqB,GACT,OAAO,KAAKkqB,EAAE,EAAE,QAAQ,SAAS0X,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM1X,GAAG0X,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO1X,GAAG0X,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIzX,GAAK9pB,GACT,OAAO,KAAK8pB,EAAE,EAAE,QAAQ,SAASyX,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMzX,GAAGyX,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOzX,GAAGyX,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIxX,GAAIxpB,GACR,OAAO,KAAKwpB,EAAC,EAAE,QAAQ,SAASwX,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMxX,GAAEwX,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOxX,GAAEwX,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIvX,GAAIrpB,GACR,OAAO,KAAKqpB,EAAC,EAAE,QAAQ,SAASuX,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMvX,GAAEuX,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOvX,GAAEuX,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIvzC,EAAIgT,GACR,OAAO,KAAKhT,CAAC,EAAE,QAAQ,SAASuzC,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMvzC,EAAEuzC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOvzC,EAAEuzC,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAItX,EAAI7oB,GACR,OAAO,KAAK6oB,CAAC,EAAE,QAAQ,SAASsX,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMtX,EAAEsX,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOtX,EAAEsX,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIpX,EAAItoB,GACR,OAAO,KAAKsoB,CAAC,EAAE,QAAQ,SAASoX,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMpX,EAAEoX,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOpX,EAAEoX,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIrX,GAAK/nB,GACT,OAAO,KAAK+nB,EAAE,EAAE,QAAQ,SAASqX,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMrX,GAAGqX,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOrX,GAAGqX,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAItzB,GAAKxL,GACT,OAAO,KAAKwL,EAAE,EAAE,QAAQ,SAASszB,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMtzB,GAAGszB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOtzB,GAAGszB,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIC,GAAKv+B,GACT,OAAO,KAAKu+B,EAAE,EAAE,QAAQ,SAASD,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMC,GAAGD,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOC,GAAGD,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIE,GAAK79B,GACT,OAAO,KAAK69B,EAAE,EAAE,QAAQ,SAASF,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAME,GAAGF,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOE,GAAGF,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIG,GAAK1jC,GACT,OAAO,KAAK0jC,EAAE,EAAE,QAAQ,SAASH,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMG,GAAGH,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOG,GAAGH,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAII,EAAK39B,GACT,OAAO,KAAK29B,CAAE,EAAE,QAAQ,SAASJ,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMI,EAAGJ,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOI,EAAGJ,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIK,EAAKz9B,GACT,OAAO,KAAKy9B,CAAE,EAAE,QAAQ,SAASL,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMK,EAAGL,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOK,EAAGL,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIM,GAAKv9B,GACT,OAAO,KAAKu9B,EAAE,EAAE,QAAQ,SAASN,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMM,GAAGN,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOM,GAAGN,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIO,GAAKj9B,GACT,OAAO,KAAKi9B,EAAE,EAAE,QAAQ,SAASP,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMO,GAAGP,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOO,GAAGP,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIQ,GAAK78B,GACT,OAAO,KAAK68B,EAAE,EAAE,QAAQ,SAASR,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMQ,GAAGR,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOQ,GAAGR,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIS,GAAK7jC,GACT,OAAO,KAAK6jC,EAAE,EAAE,QAAQ,SAAST,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMS,GAAGT,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOS,GAAGT,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIU,GAAK58B,GACT,OAAO,KAAK48B,EAAE,EAAE,QAAQ,SAASV,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMU,GAAGV,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOU,GAAGV,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIW,GAAK18B,GACT,OAAO,KAAK08B,EAAE,EAAE,QAAQ,SAASX,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMW,GAAGX,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOW,GAAGX,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIY,GAAKx8B,GACT,OAAO,KAAKw8B,EAAE,EAAE,QAAQ,SAASZ,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMY,GAAGZ,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOY,GAAGZ,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIa,GAAKt8B,GACT,OAAO,KAAKs8B,EAAE,EAAE,QAAQ,SAASb,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMa,GAAGb,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOa,GAAGb,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIc,GAAK99B,GACT,OAAO,KAAK89B,EAAE,EAAE,QAAQ,SAASd,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMc,GAAGd,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOc,GAAGd,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIe,GAAKp/B,GACT,OAAO,KAAKo/B,EAAE,EAAE,QAAQ,SAASf,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMe,GAAGf,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOe,GAAGf,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIgB,GAAKt8B,GACT,OAAO,KAAKs8B,EAAE,EAAE,QAAQ,SAAShB,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMgB,GAAGhB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOgB,GAAGhB,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIiB,GAAKn8B,GACT,OAAO,KAAKm8B,EAAE,EAAE,QAAQ,SAASjB,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMiB,GAAGjB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOiB,GAAGjB,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIkB,GAAK7zB,GACT,OAAO,KAAK6zB,EAAE,EAAE,QAAQ,SAASlB,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMkB,GAAGlB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOkB,GAAGlB,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAImB,GAAKpzB,GACT,OAAO,KAAKozB,EAAE,EAAE,QAAQ,SAASnB,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMmB,GAAGnB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOmB,GAAGnB,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIoB,GAAK5yB,GACT,OAAO,KAAK4yB,EAAE,EAAE,QAAQ,SAASpB,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMoB,GAAGpB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOoB,GAAGpB,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIqB,GAAKzyB,GACT,OAAO,KAAKyyB,EAAE,EAAE,QAAQ,SAASrB,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMqB,GAAGrB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOqB,GAAGrB,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIsB,GAAKtyB,GACT,OAAO,KAAKsyB,EAAE,EAAE,QAAQ,SAAStB,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMsB,GAAGtB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOsB,GAAGtB,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIuB,GAAKlyB,GACT,OAAO,KAAKkyB,EAAE,EAAE,QAAQ,SAASvB,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMuB,GAAGvB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOuB,GAAGvB,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIwB,GAAK/xB,GACT,OAAO,KAAK+xB,EAAE,EAAE,QAAQ,SAASxB,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMwB,GAAGxB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOwB,GAAGxB,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIyB,GAAK3xB,GACT,OAAO,KAAK2xB,EAAE,EAAE,QAAQ,SAASzB,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMyB,GAAGzB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOyB,GAAGzB,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI0B,GAAK1xB,GACT,OAAO,KAAK0xB,EAAE,EAAE,QAAQ,SAAS1B,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM0B,GAAG1B,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO0B,GAAG1B,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI2B,GAAKtxB,GACT,OAAO,KAAKsxB,EAAE,EAAE,QAAQ,SAAS3B,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM2B,GAAG3B,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO2B,GAAG3B,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI4B,GAAKhxB,GACT,OAAO,KAAKgxB,EAAE,EAAE,QAAQ,SAAS5B,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM4B,GAAG5B,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO4B,GAAG5B,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI6B,GAAK1wB,GACT,OAAO,KAAK0wB,EAAE,EAAE,QAAQ,SAAS7B,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM6B,GAAG7B,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO6B,GAAG7B,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI8B,GAAKzwB,GACT,OAAO,KAAKywB,EAAE,EAAE,QAAQ,SAAS9B,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM8B,GAAG9B,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO8B,GAAG9B,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI+B,GAAKvwB,GACT,OAAO,KAAKuwB,EAAE,EAAE,QAAQ,SAAS/B,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM+B,GAAG/B,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO+B,GAAG/B,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIgC,GAAK55B,GACT,OAAO,KAAK45B,EAAE,EAAE,QAAQ,SAAShC,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMgC,GAAGhC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOgC,GAAGhC,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIiC,GAAKtwB,GACT,OAAO,KAAKswB,EAAE,EAAE,QAAQ,SAASjC,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMiC,GAAGjC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOiC,GAAGjC,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIkC,GAAKpwB,GACT,OAAO,KAAKowB,EAAE,EAAE,QAAQ,SAASlC,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMkC,GAAGlC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOkC,GAAGlC,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAImC,GAAK9vB,GACT,OAAO,KAAK8vB,EAAE,EAAE,QAAQ,SAASnC,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMmC,GAAGnC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOmC,GAAGnC,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIoC,GAAK5vB,GACT,OAAO,KAAK4vB,EAAE,EAAE,QAAQ,SAASpC,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMoC,GAAGpC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOoC,GAAGpC,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIqC,GAAK1vB,GACT,OAAO,KAAK0vB,EAAE,EAAE,QAAQ,SAASrC,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMqC,GAAGrC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOqC,GAAGrC,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIsC,GAAKxvB,GACT,OAAO,KAAKwvB,EAAE,EAAE,QAAQ,SAAStC,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMsC,GAAGtC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOsC,GAAGtC,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIuC,GAAK95B,GACT,OAAO,KAAK85B,EAAE,EAAE,QAAQ,SAASvC,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMuC,GAAGvC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOuC,GAAGvC,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIwC,GAAK9wC,GACT,OAAO,KAAK8wC,EAAE,EAAE,QAAQ,SAASxC,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMwC,GAAGxC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOwC,GAAGxC,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIyC,GAAKxvB,GACT,OAAO,KAAKwvB,EAAE,EAAE,QAAQ,SAASzC,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMyC,GAAGzC,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOyC,GAAGzC,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI0C,GAAKpvB,GACT,OAAO,KAAKovB,EAAE,EAAE,QAAQ,SAAS1C,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM0C,GAAG1C,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO0C,GAAG1C,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI2C,GAAKlvB,GACT,OAAO,KAAKkvB,EAAE,EAAE,QAAQ,SAAS3C,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM2C,GAAG3C,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO2C,GAAG3C,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI4C,GAAKhvB,GACT,OAAO,KAAKgvB,EAAE,EAAE,QAAQ,SAAS5C,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM4C,GAAG5C,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO4C,GAAG5C,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI6C,GAAK9uB,GACT,OAAO,KAAK8uB,EAAE,EAAE,QAAQ,SAAS7C,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM6C,GAAG7C,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO6C,GAAG7C,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI8C,GAAKnpC,GACT,OAAO,KAAKmpC,EAAE,EAAE,QAAQ,SAAS9C,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM8C,GAAG9C,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO8C,GAAG9C,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIl6C,GAAI2mB,GACR,OAAO,KAAK3mB,EAAC,EAAE,QAAQ,SAASk6C,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMl6C,GAAEk6C,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOl6C,GAAEk6C,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAI+C,GAAIzuB,GACR,OAAO,KAAKyuB,EAAC,EAAE,QAAQ,SAAS/C,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM+C,GAAE/C,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO+C,GAAE/C,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIgD,GAAIvuB,GACR,OAAO,KAAKuuB,EAAC,EAAE,QAAQ,SAAShD,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMgD,GAAEhD,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOgD,GAAEhD,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIiD,GAAIl6B,GACR,OAAO,KAAKk6B,EAAC,EAAE,QAAQ,SAASjD,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMiD,GAAEjD,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOiD,GAAEjD,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIkD,GAAItuB,GACR,OAAO,KAAKsuB,EAAC,EAAE,QAAQ,SAASlD,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMkD,GAAElD,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOkD,GAAElD,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAImD,GAAIl6B,GACR,OAAO,KAAKk6B,EAAC,EAAE,QAAQ,SAASnD,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMmD,GAAEnD,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOmD,GAAEnD,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIoD,GAAIjuB,GACR,OAAO,KAAKiuB,EAAC,EAAE,QAAQ,SAASpD,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMoD,GAAEpD,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOoD,GAAEpD,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIqD,GAAIztB,GACR,OAAO,KAAKytB,EAAC,EAAE,QAAQ,SAASrD,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMqD,GAAErD,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOqD,GAAErD,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIj3C,GAAIgtB,GACR,OAAO,KAAKhtB,EAAC,EAAE,QAAQ,SAASi3C,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMj3C,GAAEi3C,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOj3C,GAAEi3C,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIsD,GAAIptB,GACR,OAAO,KAAKotB,EAAC,EAAE,QAAQ,SAAStD,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMsD,GAAEtD,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOsD,GAAEtD,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIuD,GAAIltB,GACR,OAAO,KAAKktB,EAAC,EAAE,QAAQ,SAASvD,EAAG,CACjCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMuD,GAAEvD,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC9F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOuD,GAAEvD,CAAC,CAAA,CACZ,CACD,CAAA,CACF,EACD,IAAIwD,GAAKhtB,GACT,OAAO,KAAKgtB,EAAE,EAAE,QAAQ,SAASxD,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMwD,GAAGxD,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOwD,GAAGxD,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIyD,GAAK9sB,GACT,OAAO,KAAK8sB,EAAE,EAAE,QAAQ,SAASzD,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMyD,GAAGzD,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOyD,GAAGzD,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI0D,GAAKrsB,GACT,OAAO,KAAKqsB,EAAE,EAAE,QAAQ,SAAS1D,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM0D,GAAG1D,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO0D,GAAG1D,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI2D,GAAKlsB,GACT,OAAO,KAAKksB,EAAE,EAAE,QAAQ,SAAS3D,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM2D,GAAG3D,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO2D,GAAG3D,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI4D,GAAKvrB,GACT,OAAO,KAAKurB,EAAE,EAAE,QAAQ,SAAS5D,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM4D,GAAG5D,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO4D,GAAG5D,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI6D,GAAKrrB,GACT,OAAO,KAAKqrB,EAAE,EAAE,QAAQ,SAAS7D,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM6D,GAAG7D,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO6D,GAAG7D,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI8D,GAAK7rC,GACT,OAAO,KAAK6rC,EAAE,EAAE,QAAQ,SAAS9D,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM8D,GAAG9D,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO8D,GAAG9D,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI+D,GAAKprB,GACT,OAAO,KAAKorB,EAAE,EAAE,QAAQ,SAAS/D,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM+D,GAAG/D,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO+D,GAAG/D,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIgE,GAAKlrB,GACT,OAAO,KAAKkrB,EAAE,EAAE,QAAQ,SAAShE,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMgE,GAAGhE,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOgE,GAAGhE,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIiE,GAAKjrB,GACT,OAAO,KAAKirB,EAAE,EAAE,QAAQ,SAASjE,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMiE,GAAGjE,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOiE,GAAGjE,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIkE,GAAK/qB,GACT,OAAO,KAAK+qB,EAAE,EAAE,QAAQ,SAASlE,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMkE,GAAGlE,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOkE,GAAGlE,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAImE,GAAK7qB,GACT,OAAO,KAAK6qB,EAAE,EAAE,QAAQ,SAASnE,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMmE,GAAGnE,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOmE,GAAGnE,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIoE,GAAK5nC,GACT,OAAO,KAAK4nC,EAAE,EAAE,QAAQ,SAASpE,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMoE,GAAGpE,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOoE,GAAGpE,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIqE,GAAKtyB,GACT,OAAO,KAAKsyB,EAAE,EAAE,QAAQ,SAASrE,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMqE,GAAGrE,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOqE,GAAGrE,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIsE,GAAK7qB,GACT,OAAO,KAAK6qB,EAAE,EAAE,QAAQ,SAAStE,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMsE,GAAGtE,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOsE,GAAGtE,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIuE,GAAKvb,GACT,OAAO,KAAKub,EAAE,EAAE,QAAQ,SAASvE,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMuE,GAAGvE,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOuE,GAAGvE,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIwE,GAAKrb,GACT,OAAO,KAAKqb,EAAE,EAAE,QAAQ,SAASxE,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMwE,GAAGxE,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOwE,GAAGxE,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIyE,GAAK7sC,GACT,OAAO,KAAK6sC,EAAE,EAAE,QAAQ,SAASzE,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMyE,GAAGzE,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOyE,GAAGzE,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI0E,GAAKpb,GACT,OAAO,KAAKob,EAAE,EAAE,QAAQ,SAAS1E,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM0E,GAAG1E,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO0E,GAAG1E,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI2E,GAAK9a,GACT,OAAO,KAAK8a,EAAE,EAAE,QAAQ,SAAS3E,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM2E,GAAG3E,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO2E,GAAG3E,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI4E,GAAKxa,GACT,OAAO,KAAKwa,EAAE,EAAE,QAAQ,SAAS5E,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM4E,GAAG5E,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO4E,GAAG5E,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI6E,GAAKra,GACT,OAAO,KAAKqa,EAAE,EAAE,QAAQ,SAAS7E,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM6E,GAAG7E,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO6E,GAAG7E,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI8E,GAAKha,GACT,OAAO,KAAKga,EAAE,EAAE,QAAQ,SAAS9E,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM8E,GAAG9E,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO8E,GAAG9E,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI+E,GAAK9Z,GACT,OAAO,KAAK8Z,EAAE,EAAE,QAAQ,SAAS/E,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM+E,GAAG/E,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO+E,GAAG/E,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIgF,GAAK3Z,GACT,OAAO,KAAK2Z,EAAE,EAAE,QAAQ,SAAShF,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMgF,GAAGhF,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOgF,GAAGhF,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIiF,GAAKnb,GACT,OAAO,KAAKmb,EAAE,EAAE,QAAQ,SAASjF,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMiF,GAAGjF,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOiF,GAAGjF,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIkF,GAAKvZ,GACT,OAAO,KAAKuZ,EAAE,EAAE,QAAQ,SAASlF,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMkF,GAAGlF,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOkF,GAAGlF,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAImF,GAAKj1C,GACT,OAAO,KAAKi1C,EAAE,EAAE,QAAQ,SAASnF,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMmF,GAAGnF,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOmF,GAAGnF,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIoF,GAAK/0C,GACT,OAAO,KAAK+0C,EAAE,EAAE,QAAQ,SAASpF,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMoF,GAAGpF,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOoF,GAAGpF,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIqF,GAAKvZ,GACT,OAAO,KAAKuZ,EAAE,EAAE,QAAQ,SAASrF,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMqF,GAAGrF,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOqF,GAAGrF,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIsF,GAAKnZ,GACT,OAAO,KAAKmZ,EAAE,EAAE,QAAQ,SAAStF,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMsF,GAAGtF,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOsF,GAAGtF,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIuF,GAAK/Y,GACT,OAAO,KAAK+Y,EAAE,EAAE,QAAQ,SAASvF,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMuF,GAAGvF,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOuF,GAAGvF,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIwF,GAAK5Y,GACT,OAAO,KAAK4Y,EAAE,EAAE,QAAQ,SAASxF,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMwF,GAAGxF,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOwF,GAAGxF,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIyF,GAAKxY,GACT,OAAO,KAAKwY,EAAE,EAAE,QAAQ,SAASzF,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMyF,GAAGzF,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOyF,GAAGzF,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI0F,GAAKpY,GACT,OAAO,KAAKoY,EAAE,EAAE,QAAQ,SAAS1F,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM0F,GAAG1F,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO0F,GAAG1F,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI2F,GAAKjY,GACT,OAAO,KAAKiY,EAAE,EAAE,QAAQ,SAAS3F,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM2F,GAAG3F,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO2F,GAAG3F,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI4F,GAAK7X,GACT,OAAO,KAAK6X,EAAE,EAAE,QAAQ,SAAS5F,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM4F,GAAG5F,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO4F,GAAG5F,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI6F,GAAKzX,GACT,OAAO,KAAKyX,EAAE,EAAE,QAAQ,SAAS7F,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM6F,GAAG7F,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO6F,GAAG7F,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI8F,GAAKvX,GACT,OAAO,KAAKuX,EAAE,EAAE,QAAQ,SAAS9F,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM8F,GAAG9F,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO8F,GAAG9F,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI+F,GAAKnX,GACT,OAAO,KAAKmX,EAAE,EAAE,QAAQ,SAAS/F,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM+F,GAAG/F,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO+F,GAAG/F,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIgG,GAAK/W,GACT,OAAO,KAAK+W,EAAE,EAAE,QAAQ,SAAShG,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMgG,GAAGhG,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOgG,GAAGhG,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIiG,GAAKjuC,GACT,OAAO,KAAKiuC,EAAE,EAAE,QAAQ,SAASjG,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMiG,GAAGjG,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOiG,GAAGjG,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIkG,GAAK9W,GACT,OAAO,KAAK8W,EAAE,EAAE,QAAQ,SAASlG,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMkG,GAAGlG,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOkG,GAAGlG,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAImG,GAAK31C,GACT,OAAO,KAAK21C,EAAE,EAAE,QAAQ,SAASnG,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMmG,GAAGnG,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOmG,GAAGnG,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIoG,GAAK7W,GACT,OAAO,KAAK6W,EAAE,EAAE,QAAQ,SAASpG,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMoG,GAAGpG,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOoG,GAAGpG,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIqG,GAAK3W,GACT,OAAO,KAAK2W,EAAE,EAAE,QAAQ,SAASrG,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMqG,GAAGrG,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOqG,GAAGrG,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIsG,GAAKnW,GACT,OAAO,KAAKmW,EAAE,EAAE,QAAQ,SAAStG,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMsG,GAAGtG,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOsG,GAAGtG,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIuG,GAAKjW,GACT,OAAO,KAAKiW,EAAE,EAAE,QAAQ,SAASvG,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMuG,GAAGvG,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOuG,GAAGvG,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIwG,GAAK3V,GACT,OAAO,KAAK2V,EAAE,EAAE,QAAQ,SAASxG,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMwG,GAAGxG,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOwG,GAAGxG,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIyG,GAAKrxB,GACT,OAAO,KAAKqxB,EAAE,EAAE,QAAQ,SAASzG,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMyG,GAAGzG,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOyG,GAAGzG,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI0G,GAAKxV,GACT,OAAO,KAAKwV,EAAE,EAAE,QAAQ,SAAS1G,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM0G,GAAG1G,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO0G,GAAG1G,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI2G,GAAKpW,GACT,OAAO,KAAKoW,EAAE,EAAE,QAAQ,SAAS3G,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM2G,GAAG3G,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO2G,GAAG3G,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI4G,GAAKvV,GACT,OAAO,KAAKuV,EAAE,EAAE,QAAQ,SAAS5G,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM4G,GAAG5G,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO4G,GAAG5G,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI6G,GAAKrV,GACT,OAAO,KAAKqV,EAAE,EAAE,QAAQ,SAAS7G,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM6G,GAAG7G,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO6G,GAAG7G,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI8G,GAAKnxC,GACT,OAAO,KAAKmxC,EAAE,EAAE,QAAQ,SAAS9G,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM8G,GAAG9G,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO8G,GAAG9G,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI+G,GAAKtV,GACT,OAAO,KAAKsV,EAAE,EAAE,QAAQ,SAAS/G,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM+G,GAAG/G,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO+G,GAAG/G,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIgH,GAAKpV,GACT,OAAO,KAAKoV,EAAE,EAAE,QAAQ,SAAShH,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMgH,GAAGhH,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOgH,GAAGhH,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIiH,GAAKlV,GACT,OAAO,KAAKkV,EAAE,EAAE,QAAQ,SAASjH,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMiH,GAAGjH,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOiH,GAAGjH,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIkH,GAAKhV,GACT,OAAO,KAAKgV,EAAE,EAAE,QAAQ,SAASlH,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMkH,GAAGlH,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOkH,GAAGlH,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAImH,GAAKpxC,GACT,OAAO,KAAKoxC,EAAE,EAAE,QAAQ,SAASnH,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMmH,GAAGnH,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOmH,GAAGnH,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIoH,GAAK/U,GACT,OAAO,KAAK+U,EAAE,EAAE,QAAQ,SAASpH,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMoH,GAAGpH,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOoH,GAAGpH,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIr6C,GAAK6sC,GACT,OAAO,KAAK7sC,EAAE,EAAE,QAAQ,SAASq6C,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMr6C,GAAGq6C,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOr6C,GAAGq6C,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIqH,GAAK1U,GACT,OAAO,KAAK0U,EAAE,EAAE,QAAQ,SAASrH,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMqH,GAAGrH,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOqH,GAAGrH,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIsH,GAAKxU,GACT,OAAO,KAAKwU,EAAE,EAAE,QAAQ,SAAStH,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMsH,GAAGtH,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOsH,GAAGtH,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIuH,GAAKtU,GACT,OAAO,KAAKsU,EAAE,EAAE,QAAQ,SAASvH,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMuH,GAAGvH,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOuH,GAAGvH,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIwH,GAAKpU,GACT,OAAO,KAAKoU,EAAE,EAAE,QAAQ,SAASxH,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMwH,GAAGxH,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOwH,GAAGxH,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIyH,GAAKjU,GACT,OAAO,KAAKiU,EAAE,EAAE,QAAQ,SAASzH,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMyH,GAAGzH,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOyH,GAAGzH,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI0H,GAAK/T,GACT,OAAO,KAAK+T,EAAE,EAAE,QAAQ,SAAS1H,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM0H,GAAG1H,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO0H,GAAG1H,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI2H,GAAK7T,GACT,OAAO,KAAK6T,EAAE,EAAE,QAAQ,SAAS3H,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM2H,GAAG3H,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO2H,GAAG3H,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI4H,GAAK3T,GACT,OAAO,KAAK2T,EAAE,EAAE,QAAQ,SAAS5H,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM4H,GAAG5H,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO4H,GAAG5H,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI6H,GAAKzT,GACT,OAAO,KAAKyT,EAAE,EAAE,QAAQ,SAAS7H,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM6H,GAAG7H,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO6H,GAAG7H,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI8H,GAAKvT,GACT,OAAO,KAAKuT,EAAE,EAAE,QAAQ,SAAS9H,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM8H,GAAG9H,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO8H,GAAG9H,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI+H,GAAKrT,GACT,OAAO,KAAKqT,EAAE,EAAE,QAAQ,SAAS/H,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM+H,GAAG/H,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO+H,GAAG/H,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIgI,GAAKtuB,GACT,OAAO,KAAKsuB,EAAE,EAAE,QAAQ,SAAShI,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMgI,GAAGhI,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOgI,GAAGhI,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIiI,GAAKpT,GACT,OAAO,KAAKoT,EAAE,EAAE,QAAQ,SAASjI,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMiI,GAAGjI,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOiI,GAAGjI,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIkI,GAAK7R,GACT,OAAO,KAAK6R,EAAE,EAAE,QAAQ,SAASlI,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMkI,GAAGlI,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOkI,GAAGlI,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAImI,GAAK3R,GACT,OAAO,KAAK2R,EAAE,EAAE,QAAQ,SAASnI,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMmI,GAAGnI,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOmI,GAAGnI,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIoI,GAAKxR,GACT,OAAO,KAAKwR,EAAE,EAAE,QAAQ,SAASpI,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMoI,GAAGpI,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOoI,GAAGpI,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIqI,GAAKtR,GACT,OAAO,KAAKsR,EAAE,EAAE,QAAQ,SAASrI,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMqI,GAAGrI,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOqI,GAAGrI,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIsI,GAAKpR,GACT,OAAO,KAAKoR,EAAE,EAAE,QAAQ,SAAStI,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMsI,GAAGtI,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOsI,GAAGtI,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIuI,GAAKlR,GACT,OAAO,KAAKkR,EAAE,EAAE,QAAQ,SAASvI,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMuI,GAAGvI,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOuI,GAAGvI,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIwI,GAAKhR,GACT,OAAO,KAAKgR,EAAE,EAAE,QAAQ,SAASxI,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMwI,GAAGxI,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOwI,GAAGxI,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIyI,GAAK9Q,GACT,OAAO,KAAK8Q,EAAE,EAAE,QAAQ,SAASzI,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMyI,GAAGzI,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOyI,GAAGzI,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI0I,GAAK5Q,GACT,OAAO,KAAK4Q,EAAE,EAAE,QAAQ,SAAS1I,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM0I,GAAG1I,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO0I,GAAG1I,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI2I,GAAK1Q,GACT,OAAO,KAAK0Q,EAAE,EAAE,QAAQ,SAAS3I,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM2I,GAAG3I,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO2I,GAAG3I,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI4I,GAAKxQ,GACT,OAAO,KAAKwQ,EAAE,EAAE,QAAQ,SAAS5I,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM4I,GAAG5I,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO4I,GAAG5I,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI6I,GAAKtQ,GACT,OAAO,KAAKsQ,EAAE,EAAE,QAAQ,SAAS7I,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM6I,GAAG7I,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO6I,GAAG7I,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI8I,GAAKlQ,GACT,OAAO,KAAKkQ,EAAE,EAAE,QAAQ,SAAS9I,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM8I,GAAG9I,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO8I,GAAG9I,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI+I,GAAK9P,GACT,OAAO,KAAK8P,EAAE,EAAE,QAAQ,SAAS/I,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM+I,GAAG/I,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO+I,GAAG/I,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIgJ,GAAK5P,GACT,OAAO,KAAK4P,EAAE,EAAE,QAAQ,SAAShJ,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMgJ,GAAGhJ,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOgJ,GAAGhJ,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIiJ,GAAK1P,GACT,OAAO,KAAK0P,EAAE,EAAE,QAAQ,SAASjJ,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMiJ,GAAGjJ,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOiJ,GAAGjJ,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIkJ,GAAKxP,GACT,OAAO,KAAKwP,EAAE,EAAE,QAAQ,SAASlJ,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMkJ,GAAGlJ,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOkJ,GAAGlJ,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAImJ,GAAK/O,GACT,OAAO,KAAK+O,EAAE,EAAE,QAAQ,SAASnJ,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMmJ,GAAGnJ,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOmJ,GAAGnJ,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIoJ,GAAKjpB,GACT,OAAO,KAAKipB,EAAE,EAAE,QAAQ,SAASpJ,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMoJ,GAAGpJ,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOoJ,GAAGpJ,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIqJ,GAAK9O,GACT,OAAO,KAAK8O,EAAE,EAAE,QAAQ,SAASrJ,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMqJ,GAAGrJ,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOqJ,GAAGrJ,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIsJ,GAAK5O,GACT,OAAO,KAAK4O,EAAE,EAAE,QAAQ,SAAStJ,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMsJ,GAAGtJ,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOsJ,GAAGtJ,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIuJ,GAAK1O,GACT,OAAO,KAAK0O,EAAE,EAAE,QAAQ,SAASvJ,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMuJ,GAAGvJ,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOuJ,GAAGvJ,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIwJ,GAAKloB,GACT,OAAO,KAAKkoB,EAAE,EAAE,QAAQ,SAASxJ,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMwJ,GAAGxJ,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOwJ,GAAGxJ,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIyJ,GAAK7qB,GACT,OAAO,KAAK6qB,EAAE,EAAE,QAAQ,SAASzJ,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMyJ,GAAGzJ,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOyJ,GAAGzJ,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI0J,GAAKh3C,GACT,OAAO,KAAKg3C,EAAE,EAAE,QAAQ,SAAS1J,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM0J,GAAG1J,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO0J,GAAG1J,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI2J,GAAK3O,GACT,OAAO,KAAK2O,EAAE,EAAE,QAAQ,SAAS3J,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM2J,GAAG3J,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO2J,GAAG3J,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI4J,GAAKzO,GACT,OAAO,KAAKyO,EAAE,EAAE,QAAQ,SAAS5J,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM4J,GAAG5J,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO4J,GAAG5J,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI6J,GAAKlQ,GACT,OAAO,KAAKkQ,EAAE,EAAE,QAAQ,SAAS7J,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM6J,GAAG7J,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO6J,GAAG7J,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI8J,GAAKxO,GACT,OAAO,KAAKwO,EAAE,EAAE,QAAQ,SAAS9J,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM8J,GAAG9J,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO8J,GAAG9J,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI+J,GAAKrO,GACT,OAAO,KAAKqO,EAAE,EAAE,QAAQ,SAAS/J,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM+J,GAAG/J,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO+J,GAAG/J,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIgK,GAAK/rB,GACT,OAAO,KAAK+rB,EAAE,EAAE,QAAQ,SAAShK,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMgK,GAAGhK,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOgK,GAAGhK,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIiK,GAAKpO,GACT,OAAO,KAAKoO,EAAE,EAAE,QAAQ,SAASjK,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMiK,GAAGjK,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOiK,GAAGjK,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIkK,GAAK9N,GACT,OAAO,KAAK8N,EAAE,EAAE,QAAQ,SAASlK,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMkK,GAAGlK,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOkK,GAAGlK,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAImK,GAAKj3C,GACT,OAAO,KAAKi3C,EAAE,EAAE,QAAQ,SAASnK,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMmK,GAAGnK,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOmK,GAAGnK,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIoK,GAAK5N,GACT,OAAO,KAAK4N,EAAE,EAAE,QAAQ,SAASpK,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMoK,GAAGpK,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOoK,GAAGpK,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIqK,GAAK9gB,GACT,OAAO,KAAK8gB,EAAE,EAAE,QAAQ,SAASrK,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMqK,GAAGrK,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOqK,GAAGrK,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIsK,GAAK34C,GACT,OAAO,KAAK24C,EAAE,EAAE,QAAQ,SAAStK,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMsK,GAAGtK,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOsK,GAAGtK,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIuK,GAAK72C,GACT,OAAO,KAAK62C,EAAE,EAAE,QAAQ,SAASvK,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMuK,GAAGvK,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOuK,GAAGvK,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIwK,GAAK/f,GACT,OAAO,KAAK+f,EAAE,EAAE,QAAQ,SAASxK,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMwK,GAAGxK,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOwK,GAAGxK,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIyK,GAAKtpC,GACT,OAAO,KAAKspC,EAAE,EAAE,QAAQ,SAASzK,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMyK,GAAGzK,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOyK,GAAGzK,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAInzB,GAAK/M,GACT,OAAO,KAAK+M,EAAE,EAAE,QAAQ,SAASmzB,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMnzB,GAAGmzB,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOnzB,GAAGmzB,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI0K,GAAKpf,GACT,OAAO,KAAKof,EAAE,EAAE,QAAQ,SAAS1K,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM0K,GAAG1K,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO0K,GAAG1K,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI2K,GAAKhO,GACT,OAAO,KAAKgO,EAAE,EAAE,QAAQ,SAAS3K,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM2K,GAAG3K,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO2K,GAAG3K,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI4K,GAAK9N,GACT,OAAO,KAAK8N,EAAE,EAAE,QAAQ,SAAS5K,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM4K,GAAG5K,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO4K,GAAG5K,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI6K,GAAKj5C,GACT,OAAO,KAAKi5C,EAAE,EAAE,QAAQ,SAAS7K,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM6K,GAAG7K,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO6K,GAAG7K,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI8K,GAAK9hC,GACT,OAAO,KAAK8hC,EAAE,EAAE,QAAQ,SAAS9K,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM8K,GAAG9K,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO8K,GAAG9K,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI+K,GAAKjpC,GACT,OAAO,KAAKipC,EAAE,EAAE,QAAQ,SAAS/K,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM+K,GAAG/K,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO+K,GAAG/K,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI,GAAK9C,GACT,OAAO,KAAK,EAAE,EAAE,QAAQ,SAAS8C,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM,GAAGA,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO,GAAGA,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIgL,GAAK3N,GACT,OAAO,KAAK2N,EAAE,EAAE,QAAQ,SAAShL,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMgL,GAAGhL,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOgL,GAAGhL,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIiL,GAAKpN,GACT,OAAO,KAAKoN,EAAE,EAAE,QAAQ,SAASjL,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMiL,GAAGjL,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOiL,GAAGjL,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIkL,GAAKvb,GACT,OAAO,KAAKub,EAAE,EAAE,QAAQ,SAASlL,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMkL,GAAGlL,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOkL,GAAGlL,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAImL,GAAKnN,GACT,OAAO,KAAKmN,EAAE,EAAE,QAAQ,SAASnL,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMmL,GAAGnL,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOmL,GAAGnL,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIoL,GAAK7vC,GACT,OAAO,KAAK6vC,EAAE,EAAE,QAAQ,SAASpL,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMoL,GAAGpL,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOoL,GAAGpL,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIqL,GAAKlN,GACT,OAAO,KAAKkN,EAAE,EAAE,QAAQ,SAASrL,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMqL,GAAGrL,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOqL,GAAGrL,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIsL,GAAKhN,GACT,OAAO,KAAKgN,EAAE,EAAE,QAAQ,SAAStL,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMsL,GAAGtL,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOsL,GAAGtL,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIuL,GAAKjO,GACT,OAAO,KAAKiO,EAAE,EAAE,QAAQ,SAASvL,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMuL,GAAGvL,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOuL,GAAGvL,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIwL,GAAK/M,GACT,OAAO,KAAK+M,EAAE,EAAE,QAAQ,SAASxL,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMwL,GAAGxL,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOwL,GAAGxL,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIyL,GAAK7M,GACT,OAAO,KAAK6M,EAAE,EAAE,QAAQ,SAASzL,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMyL,GAAGzL,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOyL,GAAGzL,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI0L,GAAK3M,GACT,OAAO,KAAK2M,EAAE,EAAE,QAAQ,SAAS1L,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM0L,GAAG1L,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO0L,GAAG1L,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI2L,GAAKzM,GACT,OAAO,KAAKyM,EAAE,EAAE,QAAQ,SAAS3L,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM2L,GAAG3L,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO2L,GAAG3L,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI4L,GAAK38C,EACT,OAAO,KAAK28C,EAAE,EAAE,QAAQ,SAAS5L,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM4L,GAAG5L,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO4L,GAAG5L,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI6L,GAAKjyB,GACT,OAAO,KAAKiyB,EAAE,EAAE,QAAQ,SAAS7L,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM6L,GAAG7L,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO6L,GAAG7L,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI8L,GAAKzM,GACT,OAAO,KAAKyM,EAAE,EAAE,QAAQ,SAAS9L,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM8L,GAAG9L,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO8L,GAAG9L,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAI+L,GAAKvM,GACT,OAAO,KAAKuM,EAAE,EAAE,QAAQ,SAAS/L,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAM+L,GAAG/L,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAO+L,GAAG/L,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIgM,GAAKrM,GACT,OAAO,KAAKqM,EAAE,EAAE,QAAQ,SAAShM,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMgM,GAAGhM,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOgM,GAAGhM,CAAC,CAAA,CACb,CACD,CAAA,CACF,EACD,IAAIiM,GAAKpM,GACT,OAAO,KAAKoM,EAAE,EAAE,QAAQ,SAASjM,EAAG,CAClCA,IAAM,WAAaA,IAAM,cAAgBA,KAAKjzC,GAAKA,EAAEizC,CAAC,IAAMiM,GAAGjM,CAAC,GAAK,OAAO,eAAejzC,EAAGizC,EAAG,CAC/F,WAAY,GACZ,IAAK,UAAW,CACd,OAAOiM,GAAGjM,CAAC,CAAA,CACb,CACD,CAAA,CACF,CACH,GAAG1xC,EAAE,EACL,OAAO,eAAeD,GAAI,aAAc,CAAE,MAAO,GAAI,EACrD,IAAI69C,GAAK3+C,EAAG4+C,GAAK79C,GAAI89C,GAAIn+C,GACzB,MAAMo+C,GAAK,0BAA2BC,GAAK,EAAGC,GAAK,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAK,EAAGC,GAAK,CAC5I,OAAQD,GACR,SAAU,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAK,EAC1D,WAAY,mCACZ,OAAQ,CACN,KAAM,OACN,KAAM,MAAA,CAEV,EACA,SAASE,IAAK,CACN,KAAA,CAAC1/C,EAAGC,CAAC,EAAIk/C,GAAG,SAAS,OAAO,EAAGj/C,EAAK,GAAM,CAC5CD,EAAA,EAAE,QAAU,OAAS,OAAO,CAChC,EACO,OAAAk/C,GAAG,UAAU,IAAM,CAClB,MAAA,EAAI,OAAO,WAAW,8BAA8B,EACnD,OAAAl/C,EAAE,EAAE,QAAU,OAAS,OAAO,EAAG,EAAE,iBAAiB,SAAUC,CAAC,EAAG,IAAM,CAC3E,EAAA,oBAAoB,SAAUA,CAAC,CACnC,CAAA,EACC,CAAA,CAAE,EAAGF,CACV,CACA,MAAM2/C,GAAK,GAAG,OAAAL,GAAE,uBAChB,SAASM,GAAG5/C,EAAGC,EAAG,CAChBk/C,GAAG,UAAU,IAAM,CACjB,MAAMj/C,EAAI,cAAc,OAAAF,EAAC,WAAW,EAAIC,IAAM,QAAU,cAAc,OAAAD,EAAC,wBAAyB,cAAc,OAAAA,EAAC,wBAAwBS,EAAI,SAAS,cAAc,OAAO,EACzK,OAAOA,EAAE,UAAY,sBACN,OAAAk/C,GAAE,sCAEH,OAAAz/C,EAAC,iDAGD,SAAC,kDAGD,OAAAA,EAAC,+BAGZ,SAAS,KAAK,YAAYO,CAAC,EAAG,IAAM,CAC5B,SAAA,KAAK,YAAYA,CAAC,CAC7B,CAAA,EACC,CAACT,EAAGC,CAAC,CAAC,CACX,CACA,MAAM4/C,GAAK,mCACX,SAASC,IAAK,CACZ,KAAM,CAAC9/C,EAAGC,CAAC,EAAIk/C,GAAG,SAAS,EAAE,EACtB,OAAAA,GAAG,UAAU,IAAM,CAClB,MAAAj/C,EAAI,OAAO,WAAW2/C,EAAE,EAC9B5/C,EAAEC,EAAE,OAAO,EACL,MAAA,EAAKO,GAAM,CACfR,EAAEQ,EAAE,OAAO,CACb,EACA,OAAOP,EAAE,iBAAiB,SAAU,CAAC,EAAG,IAAM,CAC1CA,EAAA,oBAAoB,SAAU,CAAC,CACnC,CAAA,EACC,CAAA,CAAE,EAAGF,CACV,CACA,SAAS+/C,GAAG//C,EAAGC,EAAG,CAChB,GAAID,EAAE,SAAW,EACT,MAAA,IAAI,MAAM,kCAAkC,EACzC,SAAA,CACT,KAAME,EACN,MAAO,EACP,MAAOO,KACJT,EAAG,CACN,GAAI,CAACo/C,GAAG,QAAQA,GAAG,SAASl/C,CAAC,CAAC,EAC5B,MAAM,IAAI,MAAM,kBAAkB,OAAAA,EAAC,yCAAwC,EAC7E,GAAIO,EAAI,EACN,MAAM,IAAI,WAAW,8CAA8C,OAAAA,EAAC,IAAG,EACrE,GAAA,EAAI,GAAK,EAAIR,EACT,MAAA,IAAI,WAAW,kBAAkB,SAAC,SAAQ,OAAAC,EAAC,+CAA8C,OAAAD,EAAC,IAAG,CAAA,CAEzG,CACA,SAAS+/C,GAAGhgD,EAAGC,EAAI,EAAG,CACd,MAAAC,EAAI+/C,GAAGjgD,CAAC,EAAG,EAAIE,EAAE,CAAC,EAAGO,EAAI2+C,GAAG,SAAS,EAAE,IAAI,EAAG1+C,EAAI0+C,GAAG,OAAO3+C,CAAC,IAAMR,EAAIQ,EAAI2+C,GAAG,SAASA,GAAG,QAAQ3+C,EAAGR,CAAC,EAAG,CAAC,EAAGU,EAAI,CAAC,GAAG,MAAMy+C,GAAG,yBAAyB3+C,EAAGC,CAAC,CAAC,EAAE,KAAK,MAAM,EAAG,GAAGR,CAAC,EAAGU,EAAI,KAAK,KAAKD,EAAE,OAAS,CAAC,EACnN,OAAOu/C,GAAGt/C,CAAC,EAAE,IAAKC,GAAMF,EAAE,MAAME,EAAI,EAAGA,EAAI,EAAI,CAAC,CAAC,CACnD,CACA,SAASo/C,GAAGjgD,EAAG,CACP,MAAAC,EAAI,IAAI,IAAID,EAAE,IAAKS,GAAM,CAACA,EAAE,KAAMA,CAAC,CAAC,CAAC,EAAGP,EAAIF,EAAE,CAAC,EAAG,EAAIA,EAAEA,EAAE,OAAS,CAAC,EAC1E,OAAOo/C,GAAG,kBAAkB,CAC1B,MAAOA,GAAG,SAASl/C,EAAE,IAAI,EACzB,IAAKk/C,GAAG,SAAS,EAAE,IAAI,CAAA,CACxB,EAAE,IAAK3+C,GAAM,CACN,MAAAC,EAAI0+C,GAAG,UAAU3+C,EAAG,CACxB,eAAgB,MAAA,CACjB,EACD,OAAOR,EAAE,IAAIS,CAAC,EAAIT,EAAE,IAAIS,CAAC,EAAI,CAC3B,KAAMA,EACN,MAAO,EACP,MAAO,CACT,CAAA,CACD,CACH,CACA,SAASy/C,GAAGngD,EAAG,CACN,MAAA,GAAG,OAAAs/C,GAAE,MAAK,OAAAt/C,EACnB,CACA,SAASogD,IAAK,CACZ,MAAMpgD,EAAqB,IAAI,KAAK,EAAG,YAAY,EACnD,OAAOo/C,GAAG,kBAAkB,CAC1B,MAAO,IAAI,KAAKp/C,EAAG,EAAG,CAAC,EACvB,IAAK,IAAI,KAAKA,EAAG,GAAI,EAAE,CAAA,CACxB,EAAE,IAAK,IAAO,CACb,KAAMo/C,GAAG,UAAU,EAAG,CACpB,eAAgB,MAAA,CACjB,EACD,MAAO,EACP,MAAO,CAAA,EACP,CACJ,CACA,SAASc,GAAGlgD,EAAG,CACb,MAAO,CAAC,GAAG,MAAMA,CAAC,EAAE,MAAM,CAC5B,CACA,SAASqgD,GAAGrgD,EAAGC,EAAIu/C,GAAI,CACrB,OAAOx/C,EAAE,OAAO,CAACE,EAAG,EAAGO,IAAM,CAC3B,MAAMC,EAAI,EAAE,KAAMG,GAAMA,IAAM,MAAM,EACpC,GAAI,CAACH,EACH,MAAM,IAAI,MAAM,0BAA0B,OAAAD,EAAI,EAAC,gBAAe,SAAC,KAAI,EAC/D,MAAAE,EAAIV,EAAEm/C,GAAG,SAASA,GAAG,SAAS1+C,EAAE,IAAI,CAAC,CAAC,EAC5C,GAAI,CAACC,EAAG,CACN,MAAME,EAAI,IAAI,KAAKH,EAAE,IAAI,EAAE,eAAe,QAAS,CACjD,MAAO,OAAA,CACR,EACD,MAAM,IAAI,MAAM,+CAA+C,OAAAG,EAAC,IAAG,CAAA,CAErE,MAAMD,EAAIV,EAAEA,EAAE,OAAS,CAAC,EACjB,OAAAO,IAAM,GAAK,CAACG,GAAKA,EAAE,QAAUD,EAAI,CAAC,GAAGT,EAAG,CAC7C,UAAWO,EACX,MAAOE,CACR,CAAA,EAAIT,CAAA,EACJ,CAAE,CAAA,EAAE,OAAO,CAAC,CACb,UAAWA,CACb,EAAG,EAAGO,IAAM,IAAM,EAAIA,EAAE,CAAC,GAAKA,EAAE,CAAC,EAAE,UAAYP,GAAK,EAAI,IAAMO,EAAE,OAAS,EAAIT,EAAE,MAAME,CAAC,EAAE,QAAU,EAAI,EAAE,CAC1G,CACA,SAASogD,GAAGtgD,EAAGC,EAAGC,EAAG,CACnB,GAAIF,EAAE,SAAW,EACT,MAAA,IAAI,MAAM,wDAAwD,EACnE,OAAAA,EAAE,OAAO,CAAC,EAAGS,EAAGC,IAAMT,EAAE,WAAWS,CAAC,EAAI,KAAK,IAAI,EAAG,KAAK,KAAK6/C,GAAG9/C,EAAGP,CAAC,EAAE,KAAK,CAAC,EAAI,EAAG,CAAC,CAC9F,CACA,SAASqgD,GAAGvgD,EAAGC,EAAG,CAChB,GAAI,OAAO,SAAW,KAAO,OAAO,OAAS,IACpC,MAAA,CACL,MAAO,EACP,OAAQ,CACV,EACF,GAAIA,EAAI,EACA,MAAA,IAAI,WAAW,2BAA2B,EAClD,GAAID,EAAE,SAAW,EACR,MAAA,CACL,MAAO,EACP,OAAQ,CACV,EACF,MAAME,EAAI,6BAA8B,EAAI,SAAS,gBAAgBA,EAAG,KAAK,EAC3E,EAAA,MAAM,SAAW,WAAY,EAAE,MAAM,WAAa,SAAU,EAAE,MAAM,WAAa,OAAO,iBAAiB,SAAS,IAAI,EAAE,WAAY,EAAE,MAAM,SAAW,GAAG,OAAAD,EAAC,MAC7J,MAAMQ,EAAI,SAAS,gBAAgBP,EAAG,MAAM,EAC1CO,EAAA,YAAcT,EAAG,EAAE,YAAYS,CAAC,EAAG,SAAS,KAAK,YAAY,CAAC,EAC1D,MAAAC,EAAID,EAAE,QAAQ,EACpB,OAAO,SAAS,KAAK,YAAY,CAAC,EAAG,CACnC,MAAOC,EAAE,MACT,OAAQA,EAAE,MACZ,CACF,CACA,SAAS8/C,GAAGxgD,EAAGC,EAAG,CACZ,GAAA,CAACD,EAAU,MAAA,CACb,WAAY,IAAM,GAClB,WAAY,EACd,EACA,GAAIA,IAAM,GACD,MAAA,CACL,WAAa,IAAO,EAAI,EAAIC,GAAK,EAAI,IAAM,EAC3C,WAAY,EACd,EACF,MAAMC,EAAI,CAAC,EACX,UAAW,KAAKF,EAAG,CACjB,MAAMS,EAAIggD,GAAG,EAAE,YAAA,CAAa,EAC5BvgD,EAAEO,CAAC,EAAI,EAAA,CAEF,MAAA,CACL,WAAa,GAAM,OAAA,OAAA7H,EAAAsH,EAAE,CAAC,IAAH,KAAAtH,EAAQ,IAC3B,WAAYoH,EAAE,OAAS,CACzB,CACF,CACA,MAAMygD,GAAK,CACT,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,CACP,EACA,SAASC,GAAG1gD,EAAGC,EAAI,EAAG,SACd,MAAAC,EAAIygD,GAAG1gD,CAAC,EACd,OAAOD,GAAK4gD,GAAG5gD,EAAGC,CAAC,EAAGD,EAAE,OAAQpH,EAAAoH,EAAE,QAAF,KAAApH,EAAWsH,EAAE,MAAOF,EAAE,MAAOpG,EAAAoG,EAAE,OAAF,KAAApG,EAAUsG,EAAE,KAAM,CAC7E,MAAO2gD,GAAG7gD,EAAE,KAAK,EAAI8gD,GAAG9gD,EAAE,MAAOC,CAAC,EAAID,EAAE,MACxC,KAAM6gD,GAAG7gD,EAAE,IAAI,EAAI8gD,GAAG9gD,EAAE,KAAMC,CAAC,EAAID,EAAE,IAAA,GAClCE,CACP,CACA,SAASygD,GAAG3gD,EAAG,CACN,MAAA,CACL,MAAO8gD,GAAG,CAAC,kBAAmB,iBAAiB,EAAG9gD,CAAC,EACnD,KAAM8gD,GAAG,CAAC,kBAAmB,iBAAiB,EAAG9gD,CAAC,CACpD,CACF,CACA,SAAS4gD,GAAG5gD,EAAGC,EAAG,CAChB,GAAI,OAAOD,GAAK,UAAYA,EAAE,QAAU,QAAUA,EAAE,OAAS,OAC3D,MAAM,IAAI,MAAM,iGAAiG,OAAAC,EAAC,wBAAuB,EAC3I,GAAID,EAAE,MAAO,CACL,KAAA,CACJ,OAAQE,GACNF,EAAE,MACF,GAAAE,IAAM,GAAKA,IAAMD,EACnB,MAAM,IAAI,MAAM,yCAAyC,OAAAA,EAAC,aAAY,OAAAC,EAAC,WAAU,EACnF,UAAW,KAAKF,EAAE,MAChB,GAAI,OAAO,OAAS,KAAO,CAAC,IAAI,SAAS,QAAS,CAAC,EACjD,MAAM,IAAI,MAAM,kBAAkB,cAAO,CAAC,EAAC,gDAA+C,CAAA,CAEhG,GAAIA,EAAE,KAAM,CACJ,KAAA,CACJ,OAAQE,GACNF,EAAE,KACF,GAAAE,IAAM,GAAKA,IAAMD,EACnB,MAAM,IAAI,MAAM,wCAAwC,OAAAA,EAAC,aAAY,OAAAC,EAAC,WAAU,EAClF,UAAW,KAAKF,EAAE,KAChB,GAAI,OAAO,OAAS,KAAO,CAAC,IAAI,SAAS,QAAS,CAAC,EACjD,MAAM,IAAI,MAAM,kBAAkB,cAAO,CAAC,EAAC,gDAA+C,CAAA,CAElG,CACA,SAAS8gD,GAAG9gD,EAAGC,EAAG,CAChB,OAAOigD,GAAGjgD,CAAC,EAAE,IAAKC,GAAM,CAChB,MAAA,EAAIA,GAAKD,EAAI,GAAK,IACxB,MAAO,uBAAuB,OAAAD,EAAE,CAAC,EAAC,KAAI,kBAAW,EAAE,QAAQ,CAAC,CAAC,EAAC,OAAM,OAAAA,EAAE,CAAC,EAAC,IAAA,CACzE,CACH,CACA,SAAS6gD,GAAG7gD,EAAG,CACb,OAAOA,EAAE,SAAW,CACtB,CACA,MAAM+gD,GAAK,CACT,UAAY/gD,IAAO,CACjB,MAAO,cAEP,SAAU,OAEV,QAAS,OACT,cAAe,SACf,IAAK,MACL,SAAU,GAAG,OAAAA,EAAC,KAAA,GAEhB,gBAAiB,CACf,SAAU,OACV,UAAW,OACX,UAAW,QACb,EACA,SAAU,CACR,QAAS,QAET,SAAU,SAEZ,EACA,KAAOA,IAAO,CACZ,OAAQA,IAAM,QAAU,sBAAwB,2BAAA,GAElD,OAAQ,CACN,UAAW,CACT,QAAS,OACT,SAAU,OACV,IAAK,WACL,WAAY,QACd,EACA,OAAQ,CACN,WAAY,OACZ,QAAS,OACT,WAAY,SACZ,IAAK,KAAA,CACP,CAEJ,EAAGghD,GAAwB7B,GAAA,WAAW,CAAC,CACrC,KAAMn/C,EACN,YAAaC,EAAI,EACjB,YAAaC,EAAI,EACjB,UAAW,EAAI,GACf,YAAaO,EAAI,OACjB,cAAeC,EAAI,CAAC,EACpB,SAAUC,EAAI,GACd,gBAAiBC,EAAI,GACrB,gBAAiBC,EAAI,GACrB,eAAgBC,EAAI,GACpB,OAAQ5F,EAAI,OACZ,SAAU6F,EAAI,EACd,QAASC,EAAI,GACb,YAAaC,EAAI,OACjB,kBAAmBmf,EAAI,OACvB,kBAAmBnd,EAAI,GACvB,MAAO4b,EAAI,CAAC,EACZ,MAAOC,EAAI,OACX,WAAYS,EAAI,OAChB,UAAWC,EAAI,CAEjB,EAAGC,IAAM,CACP,KAAM,CAACG,EAAIG,CAAE,EAAIo/B,GAAG,SAAS,EAAE,EAC/BA,GAAG,UAAU,IAAM,CACjBp/B,EAAG,EAAE,CAAA,EACJ,CAAA,CAAE,EAAGhf,EAAI,KAAK,IAAI,EAAGA,CAAC,EACzB,MAAMif,EAAK0gC,GAAG5hC,EAAG/d,EAAI,CAAC,EAAGsf,EAAKq/B,GAAG,EAAG3gC,EAAKte,GAAA,KAAAA,EAAK4f,EAAIrB,EAAKgB,EAAGjB,CAAE,EACzD6gC,GAAA5gC,EAAG,CAAC,EAAGD,CAAE,EACN,MAAAE,EAAK,CAAC6gC,GAAG,EACf9+C,IAAMhB,EAAIogD,GAAA,GAAOL,GAAG//C,EAAGe,CAAC,EAClB,MAAAme,GAAKlf,EAAE,CAAC,EAAGmf,EAAIigC,GAAG,QAAQA,GAAG,SAASlgC,GAAG,IAAI,CAAC,EAAGE,EAAI4gC,GAAGhgD,EAAGwf,CAAC,EAAGH,EAAI,OAAO,OAAO,CAAA,EAAIogC,GAAIvkD,CAAC,EAAGokB,EAAKze,EAAI,EAAIF,EAAI4+C,GAAIt/B,EAAIugC,GAAGv9C,EAAGuc,CAAC,EAAGU,EAAIN,GAAMK,EAAE,WAAaqgC,GAAGjhC,EAAE,SAAUY,EAAGtf,CAAC,EAAI4+C,GAAK,OAC3L,SAASp/B,IAAK,CACL,MAAA,CACL,MAAOf,EAAE,QAAU,EAAInf,GAAKA,EAC5B,OAAQqf,GAAM,EAAIrf,GAAK,EAAIA,CAC7B,CAAA,CAEF,SAASm7B,GAAG17B,EAAG,CACb,OAAO,OAAO,KAAKgB,CAAC,EAAE,OAAO,CAACi7B,EAAGE,KAAO,CACtC,GAAGF,EACH,CAACE,CAAC,EAAID,IAAO,CACP,IAAAjc,GACI,OAAAA,GAAKjf,EAAEm7B,CAAC,IAAM,KAAO,OAASlc,GAAG,KAAKjf,EAAGk7B,EAAE,EAAEl8B,CAAC,CAAA,CAE1D,GAAI,CAAA,CAAE,CAAA,CAER,SAAS27B,IAAK,CACL,OAAAjc,EAAE,IAAI,CAAC1f,EAAGi8B,IAAMj8B,EAAE,IAAI,CAACm8B,EAAGD,KAAO,CACtC,GAAI,CAACC,EACI,OAAA,KACH,MAAAlc,GAAK3e,GAAKie,EAAK,CACnB,UAAW,GAAG,OAAA0gC,GAAE,+BAChB,eAAgB,GAAG,OAAAhkB,EAAI,GAAKC,GAAK,GAAE,KACjC,EAAA,OAAQsX,GAAqBmM,GAAE,IAAI,OAAQ,CAC7C,GAAGjkB,GAAGS,CAAC,EACP,EAAG,EACH,EAAGvc,GAAM,EAAIrf,GAAK27B,GAClB,MAAO,EACP,OAAQ,EACR,GAAI17B,EACJ,GAAIA,EACJ,KAAM8e,EAAG6c,EAAE,KAAK,EAChB,YAAaA,EAAE,KACf,aAAcA,EAAE,MAChB,MAAO,CACL,GAAGklB,GAAG,KAAKhiC,CAAE,EACb,GAAGY,EAAA,CACL,CACD,EACsB,OAAA0/B,GAAE,IAAIF,GAAG,SAAU,CACxC,SAAUl+C,EAAIA,EAAEiyC,GAAIrX,CAAC,EAAIqX,EAAA,EACxBrX,EAAE,IAAI,CAAA,CACV,CAAC,EAAE,IAAI,CAACn8B,EAAGi8B,IAAwB0jB,GAAA,IAAI,IAAK,CAC3C,UAAW,aAAc,UAAIp/C,GAAK07B,EAAC,QACnC,SAAUj8B,CACZ,EAAGi8B,CAAC,CAAC,CAAA,CAEP,SAASL,IAAK,CACZ,GAAIx6B,GAAKF,EACA,OAAA,KACT,MAAMlB,EAAI,OAAO6f,GAAK,SAAWA,EAAIvf,EAAE,OAAO,CAAC27B,EAAGE,IAAMF,EAAIE,EAAE,MAAO,CAAC,EAC/C,OAAAwjB,GAAE,KAAK,SAAU,CACtC,UAAWc,GAAG,QAAQ,EACtB,MAAO,CACL,GAAGY,GAAG,OAAO,UACb,WAAY7gC,CACd,EACA,SAAU,CAAClf,GAAqBq+C,GAAE,IAAI,MAAO,CAC3C,SAAU,GAAA,CACX,EAAG,CAACr+C,GAAK,CAACF,GAAqBu+C,GAAE,IAAI,MAAO,CAC3C,UAAWc,GAAG,OAAO,EACrB,SAAU9gC,EAAE,WAAaA,EAAE,WAAW,QAAQ,YAAa,OAAO3f,CAAC,CAAC,EAAE,QAAQ,WAAY,OAAOyf,CAAC,CAAC,EAAI,GAAG,OAAAzf,EAAC,mBAAkB,OAAAyf,EAAC,CAC/H,EAAG,CAACne,GAAK,CAACJ,GAAqBy+C,GAAE,KAAK,MAAO,CAC5C,UAAWc,GAAG,eAAe,EAC7B,MAAOY,GAAG,OAAO,OACjB,SAAU,CAAmB1B,GAAA,IAAI,OAAQ,CACvC,MAAO,CACL,YAAa,OACf,EACA,SAAUhgC,EAAE,OAAO,IAAA,CACpB,EAAG6gC,GAAGn/C,EAAI,CAAC,EAAE,IAAK46B,GAAM,CACjB,MAAAE,EAAsBwjB,GAAA,IAAI,MAAO,CACrC,MAAO,EACP,OAAQ,EACR,SAA4BA,GAAA,IAAI,OAAQ,CACtC,MAAO,EACP,OAAQ,EACR,KAAMrgC,EAAG2c,CAAC,EACV,GAAIz7B,EACJ,GAAIA,EACJ,MAAO6gD,GAAG,KAAKhiC,CAAE,CAClB,CAAA,GACA4c,CAAC,EACJ,OAAOvb,EAAIA,EAAEyb,EAAGF,CAAC,EAAIE,CAAA,CACtB,EAAqBwjB,GAAA,IAAI,OAAQ,CAChC,MAAO,CACL,WAAY,OACd,EACA,SAAUhgC,EAAE,OAAO,IAAA,CACpB,CAAC,CAAA,CACH,CAAC,CAAA,CACH,CAAA,CAEH,SAASkc,IAAK,CACZ,OAAOtb,EAAE,WAA+Bo/B,GAAA,IAAI,IAAK,CAC/C,UAAWc,GAAG,gBAAgB,EAC9B,SAAUD,GAAG,CAAC,EAAE,IAAKxgD,GAAM,CACnB,MAAAi8B,GAAKj8B,EAAI8f,GAAK,EACpB,OAAOS,EAAE,WAAW0b,CAAC,EAAoB0jB,GAAE,IAAI,OAAQ,CACrD,EAAG,CAACE,GACJ,EAAGjgC,GAAM,EAAIrf,GAAKP,EAAI,EAAI,EAC1B,iBAAkB,UAClB,WAAY,MACZ,KAAM,eACN,SAAU2f,EAAE,SAASsc,CAAC,CAAA,EACrBj8B,CAAC,EAAI,IACT,CAAA,CACF,CAAA,EAAI,IAAA,CAEP,SAAS87B,IAAK,CACZ,OAAO36B,EAAI,KAAyBw+C,GAAA,IAAI,IAAK,CAC3C,UAAWc,GAAG,cAAc,EAC5B,SAAUE,GAAGjhC,EAAGC,EAAE,MAAM,EAAE,IAAI,CAAC,CAC7B,MAAO3f,EACP,UAAWi8B,CAAA,IACW0jB,GAAA,IAAI,OAAQ,CAClC,GAAI,EAAIp/C,GAAK07B,EACb,iBAAkB,UAClB,KAAM,eACN,SAAUj8B,CACZ,EAAGi8B,CAAC,CAAC,CAAA,CACN,CAAA,CAEG,KAAA,CACJ,MAAOF,GACP,OAAQC,IACNvb,GAAG,EACgB,OAAAk/B,GAAE,KAAK,UAAW,CACvC,IAAK5/B,EACL,UAAW6/B,GACX,MAAO,CACL,GAAGzgC,EACH,GAAGkiC,GAAG,UAAUpgD,CAAC,CACnB,EACA,SAAU,CAAmB0+C,GAAA,IAAI,MAAO,CACtC,UAAWc,GAAG,kBAAkB,EAChC,MAAOY,GAAG,gBACV,SAA4B1B,GAAA,KAAK,MAAO,CACtC,MAAO5jB,GACP,OAAQC,GACR,QAAS,OAAO,OAAAD,GAAC,KAAI,OAAAC,IACrB,UAAWykB,GAAG,UAAU,EACxB,MAAO,CACL,GAAGY,GAAG,SACN,WAAY7gC,CACd,EACA,SAAU,CAAC,CAAClf,GAAKu6B,GAAA,EAAM,CAACv6B,GAAKw6B,GAAM,EAAAH,GAAI,CAAA,CACxC,CAAA,CACF,CAAA,EAAGC,GAAI,CAAA,CAAA,CACT,CACH,CAAC,EACD0lB,GAAG,YAAc,mBACjB,MAAMC,GAAMjhD,GAAsBq/C,GAAE,IAAI2B,GAAI,CAC1C,KAAM,CAAC,EACP,GAAGhhD,CACL,CAAC,EACDsB,GAAG,iBAAmB0/C,GACtB1/C,GAAG,SAAW2/C,GACd3/C,GAAG,QAAU0/C,GACb,OAAO,eAAe3/C,GAAI,aAAc,CAAE,MAAO,GAAI,EACrD,IAAI6/C,GAAK1gD,EAAG2gD,GAAK7/C,GACjB,SAAS8/C,GAAGphD,EAAG,CACb,OAAOA,GAAKA,EAAE,WAAaA,EAAI,CAAE,QAASA,CAAE,CAC9C,CACA,IAAIqhD,GAAwBD,GAAAF,EAAE,EAAGI,MAAwBH,EAAE,EAC3D,SAASI,IAAK,CACL,OAAAA,GAAK,OAAO,OAAS,OAAO,OAAO,KAAK,EAAI,SAASvhD,EAAG,CAC7D,QAASC,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACrC,IAAAC,EAAI,UAAUD,CAAC,EACnB,QAAS,KAAKC,GAAI,IAAI,eAAe,KAAKA,EAAG,CAAC,IAAMF,EAAE,CAAC,EAAIE,EAAE,CAAC,EAAA,CAEzD,OAAAF,CACN,EAAAuhD,GAAG,MAAM,KAAM,SAAS,CAC7B,CACA,MAAMC,GAAK,CAACxhD,EAAGC,IAAM,CACnB,GAAI,OAAOA,GAAK,WACP,OAAAD,EACH,MAAAE,EAAID,EAAED,CAAC,EACT,GAAA,CAAC,MAAM,QAAQE,CAAC,EAClB,MAAM,MAAM,kEAAkE,EAC5E,GAAAA,EAAE,OAAS,EAAG,CACV,MAAA,EAAIA,EAAE,CAAC,EACb,GAAI,OAAO,EAAE,OAAS,UAAY,EAAE,MAAQ,EAC1C,MAAM,MAAM,8DAA8D,SAAE,MAAO,EACrF,GAAI,CAAC,oBAAoB,KAAK,EAAE,IAAI,EAClC,MAAM,MAAM,iEAAiE,SAAE,KAAM,EACnF,GAAA,OAAO,EAAE,OAAS,UAAY,EAAE,MAAQ,GAAK,EAAE,MAAQ,EACzD,MAAM,MAAM,yEAAyE,SAAE,MAAK,IAAG,CAAA,CAE5F,OAAAA,CACT,EACA,eAAeuhD,GAAGzhD,EAAGC,EAAG,CACtB,MAAMxD,EAAI,MAAM,MAAM,mDAAmD,OAAAuD,EAAC,OAAM,OAAAC,EAAG,EAAGQ,EAAI,MAAMhE,EAAE,KAAK,EACvG,GAAI,CAACA,EAAE,GACL,MAAM,MAAM,0CAA0C,OAAAuD,EAAC,cAAa,OAAAS,EAAE,MAAO,EACxE,OAAAA,CACT,CACA,MAAMihD,GAAwBR,GAAA,WAAW,CAAC,CACxC,SAAUlhD,EACV,KAAMC,EAAI,OACV,OAAQC,EACR,cAAe,EACf,oBAAqBO,EAAI,GACzB,aAAcC,EAAI,GAClB,aAAcC,EAAI,kDAAkD,OAAAX,EAAC,aACrE,GAAGY,CACL,EAAGC,IAAM,OACD,KAAA,CAACC,EAAG5F,CAAC,EAAIgmD,GAAG,SAAS,IAAI,EAAG,CAACngD,EAAGC,CAAC,EAAIkgD,GAAG,SAAS,EAAE,EAAG,CAACjgD,EAAGmf,CAAC,EAAI8gC,GAAG,SAAS,IAAI,EAAGj+C,EAAIi+C,GAAG,YAAY,IAAM,CAC/GlgD,EAAE,EAAE,EAAGof,EAAE,IAAI,EAAGqhC,GAAGzhD,EAAGC,CAAC,EAAE,KAAK/E,CAAC,EAAE,MAAOskB,GAAM,CAC/BA,aAAA,OAASY,EAAEZ,CAAC,CAAA,CAC1B,EAAE,QAAQ,IAAM,CACfxe,EAAE,EAAE,CAAA,CACL,CAAA,EACA,CAAChB,EAAGC,CAAC,CAAC,EACT,GAAIihD,GAAG,UAAUj+C,EAAG,CAACA,CAAC,CAAC,EAAGhC,EAAG,CACvB,GAAAP,EACI,MAAAO,EACR,OAA0BogD,GAAA,QAAQ,cAAc,MAAO,KAAM1gD,CAAC,CAAA,CAEhE,GAAII,GAAK,CAACD,EACe,OAAAugD,GAAG,QAAQ,cAAcF,GAAG,SAAUI,GAAG,GAAI3gD,EAAG,CACrE,QAAS,EAAA,CACV,CAAC,EACJ,MAAMie,GAAIjmB,EAAAgI,EAAE,QAAF,KAAAhI,EAAW+oD,GAAI7iC,EAAI,CAC3B,WAAY,8BAA8B,OAAA7e,IAAM,OAAS,gBAAkB,WAAU,EACpFsf,EAAItf,IAAM,OAASa,EAAE,MAAM,SAAWA,EAAE,MAAMb,CAAC,EAClD,OAA0BohD,GAAA,QAAQ,cAAcC,GAAG,QAASC,GAAG,CAC7D,KAAMC,GAAG1gD,EAAE,cAAe,CAAC,EAC3B,OAAQ,OAAO,OAAO,CAAA,EAAIge,EAAG5e,CAAC,EAC9B,IAAKW,EACL,WAAY,GAAKJ,EAAI,OAAS8e,GAC7B3e,EAAG,CACJ,MAAOie,EACP,QAAS,CAAC,CAACje,EAAE,SAAWG,EACxB,SAAU,CAAA,CACX,CAAC,CACJ,CAAC,EACD2gD,GAAG,YAAc,iBACjB,MAAMC,GAAK,CACT,MAAO,CAAC,UAAW,UAAW,UAAW,UAAW,SAAS,EAC7D,KAAM,CAAC,UAAW,UAAW,UAAW,UAAW,SAAS,CAC9D,EACA,IAAIC,GAAKvgD,GAAG,QAAUqgD,GAAIG,GAAK,OAAO,eAAgBC,GAAK,OAAO,sBAAuBC,GAAK,OAAO,UAAU,eAAgBC,GAAK,OAAO,UAAU,qBAAsBC,GAAK,CAACjiD,EAAGC,EAAGC,IAAMD,KAAKD,EAAI6hD,GAAG7hD,EAAGC,EAAG,CAAE,WAAY,GAAI,aAAc,GAAI,SAAU,GAAI,MAAOC,EAAG,EAAIF,EAAEC,CAAC,EAAIC,EAAGgiD,GAAK,CAACliD,EAAGC,IAAM,CAC7R,QAAAC,KAAKD,IAAMA,EAAI,CAAA,GACnB8hD,GAAA,KAAK9hD,EAAGC,CAAC,GAAK+hD,GAAGjiD,EAAGE,EAAGD,EAAEC,CAAC,CAAC,EAC5B,GAAA4hD,GACO,QAAA5hD,KAAK4hD,GAAG7hD,CAAC,EACb+hD,GAAA,KAAK/hD,EAAGC,CAAC,GAAK+hD,GAAGjiD,EAAGE,EAAGD,EAAEC,CAAC,CAAC,EAC3B,OAAAF,CACT,EAAGmiD,GAAK,CAACniD,EAAGC,IAAM,CAChB,IAAIC,EAAI,CAAC,EACT,QAAS,KAAKF,EACZ+hD,GAAG,KAAK/hD,EAAG,CAAC,GAAKC,EAAE,QAAQ,CAAC,EAAI,IAAMC,EAAE,CAAC,EAAIF,EAAE,CAAC,GAClD,GAAIA,GAAK,MAAQ8hD,GACN,QAAA,KAAKA,GAAG9hD,CAAC,EAChBC,EAAE,QAAQ,CAAC,EAAI,GAAK+hD,GAAG,KAAKhiD,EAAG,CAAC,IAAME,EAAE,CAAC,EAAIF,EAAE,CAAC,GAC7C,OAAAE,CACT,EACA,MAAMkiD,GAAKC,EAAA,WAAG,CAACriD,EAAGC,IAAM,CACtB,MAAMC,EAAIF,EAAG,CACX,IAAK,EACL,MAAOS,EAAI,eACX,KAAMC,EAAI,MACV,OAAQC,EAAI,UACZ,SAAUC,EAAI,GACd,SAAUC,EACV,QAASC,CACP,EAAAZ,EAAGhF,EAAIinD,GAAGjiD,EAAG,CACf,MACA,QACA,OACA,SACA,WACA,WACA,SAAA,CACD,EACD,OAAyBM,EAAA,cACvB,MACA0hD,GAAG,CACD,IAAKjiD,EACL,MAAO,6BACP,MAAOS,EACP,OAAQA,EACR,KAAMD,EACN,QAAS,cACT,UAAWG,EAAI,eAAiB,QAC/B1F,CAAC,EACJ,CAAC,CAAC,KAAuB,cAAc,QAAS,KAAM,CAAC,EACvD2F,EACAC,EAAE,IAAIH,CAAC,CACT,CACF,CAAC,EACDyhD,GAAG,YAAc,UACjB,MAAME,GAAKF,GAAIG,GAAqB,IAAI,IAAI,CAC1C,CACE,OACkB/hD,EAAA,cAAcA,EAAE,SAAU,KAAsBA,EAAE,cAAc,OAAQ,CAAE,EAAG,+yBAAgzB,CAAC,CAAC,CACn5B,EACA,CACE,UACkBA,EAAA,cAAcA,EAAE,SAAU,KAAwBA,EAAA,cAClE,OACA,CACE,EAAG,oQACH,QAAS,KAAA,CACX,IACmB,cAAc,OAAQ,CAAE,EAAG,gxBAAA,CAAkxB,CAAC,CACr0B,EACA,CACE,OACkBA,EAAA,cAAcA,EAAE,SAAU,KAAsBA,EAAE,cAAc,OAAQ,CAAE,EAAG,8bAA+b,CAAC,CAAC,CACliB,EACA,CACE,QACkBA,EAAA,cAAcA,EAAE,SAAU,KAAsBA,EAAE,cAAc,OAAQ,CAAE,EAAG,wxBAAyxB,CAAC,CAAC,CAC53B,EACA,CACE,UACkBA,EAAA,cAAcA,EAAE,SAAU,KAAsBA,EAAE,cAAc,OAAQ,CAAE,EAAG,wxBAAyxB,CAAC,CAAC,CAC53B,EACA,CACE,OACkBA,EAAA,cAAcA,EAAE,SAAU,KAAsBA,EAAE,cAAc,OAAQ,CAAE,EAAG,ixBAAkxB,CAAC,CAAC,CAAA,CAEv3B,CAAC,EACD,IAAIgiD,GAAK,OAAO,eAAgBC,GAAK,OAAO,iBAAkBC,GAAK,OAAO,0BAA2BC,GAAK,OAAO,sBAAuBC,GAAK,OAAO,UAAU,eAAgBC,GAAK,OAAO,UAAU,qBAAsBC,GAAK,CAAC9iD,EAAGC,EAAGC,IAAMD,KAAKD,EAAIwiD,GAAGxiD,EAAGC,EAAG,CAAE,WAAY,GAAI,aAAc,GAAI,SAAU,GAAI,MAAOC,EAAG,EAAIF,EAAEC,CAAC,EAAIC,EAAG6iD,GAAK,CAAC/iD,EAAGC,IAAM,CAC5U,QAAAC,KAAKD,IAAMA,EAAI,CAAA,GACnB2iD,GAAA,KAAK3iD,EAAGC,CAAC,GAAK4iD,GAAG9iD,EAAGE,EAAGD,EAAEC,CAAC,CAAC,EAC5B,GAAAyiD,GACO,QAAAziD,KAAKyiD,GAAG1iD,CAAC,EACb4iD,GAAA,KAAK5iD,EAAGC,CAAC,GAAK4iD,GAAG9iD,EAAGE,EAAGD,EAAEC,CAAC,CAAC,EAC3B,OAAAF,CACT,EAAGgjD,GAAK,CAAChjD,EAAGC,IAAMwiD,GAAGziD,EAAG0iD,GAAGziD,CAAC,CAAC,EAC7B,MAAMgjD,GAAKZ,aAAG,CAACriD,EAAGC,IAAwBO,EAAA,cAAc8hD,GAAIU,GAAGD,GAAG,CAAE,IAAK9iD,CAAA,EAAKD,CAAC,EAAG,CAAE,QAASuiD,EAAI,CAAA,CAAC,CAAC,EACnGU,GAAG,YAAc,aACjB,MAAMC,GAAMljD,GAAOC,GAAM,CACvB,MAAMC,EAAqB,IAAI,KAAK,EAAG,YAAY,EAAG,EAAqB,IAAI,KAAK,EAAG,SAAS,EAAGO,EAAIT,EAChG,OAAAC,EAAE,OAAQS,GAAM,CACf,MAAAC,EAAI,IAAI,KAAKD,EAAE,IAAI,EAAGE,EAAID,EAAE,SAAS,EAC3C,OAAOA,EAAE,YAAY,IAAMT,GAAKU,EAAI,EAAIH,GAAKG,GAAK,CAAA,CACnD,CACH,EAAGuiD,GAAMnjD,GAAMA,IAAM,SAAW,CAAC,UAAW,UAAW,UAAW,UAAW,SAAS,EAAIA,IAAM,WAAa,CAAC,UAAW,MAAM,EAAI,CAAC,UAAW,UAAW,UAAW,UAAW,SAAS,EAAGojD,GAAMpjD,GAAwBkB,GAAA,IACxN0gD,GACA,CACE,MAAO,CACL,SAAU,MACZ,EACA,SAAU,GACV,MAAO,CAGL,MAAOuB,GAAGnjD,EAAE,UAAU,EACtB,KAAMmjD,GAAGnjD,EAAE,UAAU,CACvB,EACA,gBAAiB,GACjB,gBAAiB,GACjB,eAAgB,GAChB,UAAW,GACX,YAAa,EACb,cAAekjD,GAAGljD,EAAE,MAAM,EAC1B,SAAUA,EAAE,QAAA,CAEhB,EAAGqjD,GAAKC,EAAAA,KAAGF,EAAE,EAAGG,GAAMvjD,GAAM,CACpB,MAAAC,EAAID,EAAE,OAAS,OAAS,KAAK,MAAMA,EAAE,KAAK,EAAI,IAAI,EAAI,GAAIE,EAAIF,EAAE,UAAY,gBAAiB,EAAIA,EAAE,aAAcS,EAAIT,EAAE,OAAS,WACtI,OAAyBkB,GAAA,KACvBC,GACA,CACE,UAAW,+FACX,MAAO,CACL,UAAW,KACb,EACA,SAAU,CACUD,GAAA,IAChB,MACA,CACE,UAAW,oJAGX,MAAO,CACL,UAAW,gEACb,EACA,SAA4BA,GAAA,IAAI+hD,GAAI,CAAE,KAAM,MAAQ,CAAA,CAAA,CAExD,EACA,GAAuB/hD,GAAA,IACrB,MACA,CACE,UAAW,2KAIX,MAAO,CACL,UAAW,gEACb,EACA,SAAUhB,CAAA,CAEd,EACkBgB,GAAA,IAChB,MACA,CACE,UAAW,qCACX,MAAO,CACL,QAAST,IAAM,SAAW,OAAS,QACnC,gBAAiB,yBAAA,CACnB,CAEJ,EACkBS,GAAA,IAChBmiD,GACA,CACE,SAAUnjD,EACV,OAAQD,EACR,WAAYQ,CAAA,CACd,CACF,CACF,CAEJ,CACF,EAAG+iD,GAAK,CACN,KAAM,SACN,QAAS,CAAE,KAAM,MAAO,SAAU,KAAM,EACxC,OAAQ,sBACR,MAAO,CACL,SAAU,CAAE,SAAU,EAAG,EACzB,aAAc,CAAE,SAAU,EAAG,CAC/B,EACA,cAAe,CAAE,EAAG,EAAG,EAAG,CAAE,EAC5B,UAAWF,OAAGC,EAAE,CAClB,EACAC,KAAOA,GAAG,MAAQpiD,GAAGoiD,GAAG,MAAO,CAAE,SAAU,CAAE,YAAa,kBAAmB,KAAM,SAAU,SAAU,GAAI,OAAQ,CAAE,aAAc,KAAM,YAAa,kBAAmB,KAAM,WAAY,aAAc,CAAC,CAAE,SAAU,mCAAoC,KAAM,aAAc,CAAC,EAAG,SAAU,GAAI,KAAM,CAAE,KAAM,QAAW,CAAA,CAAK,EAAA,aAAc,CAAE,YAAa,gBAAiB,KAAM,UAAW,SAAU,GAAI,OAAQ,CAAE,aAAc,KAAM,YAAa,gBAAiB,KAAM,eAAgB,aAAc,CAAC,CAAE,SAAU,mCAAoC,KAAM,aAAe,CAAA,EAAG,SAAU,GAAI,KAAM,CAAE,KAAM,OAAQ,IAAK,UAAW,MAAO,CAAC,CAAE,MAAO,OAAW,EAAA,CAAE,MAAO,MAAQ,CAAA,EAAM,CAAA,EAAG,MAAO,CAAE,YAAa,cAAe,KAAM,CAAC,WAAY,QAAQ,EAAG,SAAU,GAAI,OAAQ,CAAE,aAAc,KAAM,YAAa,cAAe,KAAM,QAAS,aAAc,CAAC,CAAE,SAAU,mCAAoC,KAAM,aAAe,CAAA,EAAG,SAAU,GAAI,KAAM,CAAE,KAAM,OAAQ,IAAK,wBAAyB,MAAO,CAAC,CAAE,MAAO,cAAgB,CAAE,MAAO,UAAA,CAAY,CAAA,CAAI,CAAA,CAAK,CAAA,GAChhC,SAASC,GAAGzjD,EAAG,CACb0jD,EAAAA,UAAG,IAAM,CACL1jD,EAAA,CACJ,EAAG,EAAE,CACP,CACA,MAAM2jD,GAAM3jD,IAAOyjD,GAAGzjD,EAAE,QAAQ,EAAmBkB,GAAE,IAAIA,GAAE,SAAU,CAAE,CAAA,GAAI0iD,GAAM5jD,GAAM,CAC/E,KAAA,CAACC,EAAGC,CAAC,EAAI2jD,WAAG,EAAE,EAAG,EAAI,IAAM,CAC/B3jD,EAAE,EAAE,CACN,EACA,UAAyB,IAAIgB,GAAE,SAAU,CAAE,SAA4BA,GAAA,IACrE,SACA,CACE,GAAGlB,EACH,OAAQ,EACR,MAAO,CACL,QAASC,EAAI,EAAI,EACjB,WAAY,yBACZ,GAAGD,EAAE,KACP,EACA,QAAS,OACT,SAA4BkB,GAAA,IAAIyiD,GAAI,CAAE,SAAU,CAAG,CAAA,CAAA,CACrD,EACC,CACL,EAAGG,GAAK,mBAAoBC,GAAM/jD,GAAM,CACtC,GAAI,OAAOA,GAAK,SACd,OAAO,QAAQ,MAAM,yBAA0BA,CAAC,EAAG,GACjD,GAAA,CACF,MAAMC,EAAI,IAAI,IAAID,EAAG,WAAW,OAAA8jD,GAAI,EAC7B,OAAA7jD,EAAE,WAAa6jD,IAAM,QAAQ,MAAM,4BAA6B9jD,CAAC,EAAG,IAAMC,EAAE,QAAA,OAC7EgzC,EAAA,CACN,OAAO,QAAQ,MAAM,eAAgBjzC,CAAC,EAAG,EAAA,CAE7C,EAAGgkD,GAAK,kFAAmFC,GAAMjkD,GAAM,CAC/F,MAAA,EAAIA,EAAE,QAAU,QAAUA,EAAE,QAAU,QAAU,GAAK,WAAYvD,EAAIsnD,GAAG/jD,EAAE,MAAQgkD,EAAE,EAAGvjD,EAAIhE,EAAE,WAAW,QAAQ,EAAI,CAAE,SAAU,gCAAiC,EAAI,CAAE,SAAU,wBAAyB,EAChN,OAAyByE,GAAA,IACvB0iD,GACA,CACE,MAAOnjD,EACP,IAAK,iCAAiC,OAAAhE,EAAC,yBAAwB,UAC/D,MAAO,OACP,OAAQ,OACR,YAAa,IACb,gBAAiB,GACjB,MAAO,6EACP,QAAS,MAAA,CAEb,CACF,EAAGynD,GAAK,CACN,KAAM,UACN,QAAS,CAAE,KAAM,MAAO,SAAU,KAAM,EACxC,OAAQ,uBACR,cAAe,CACb,EAAG,EACH,EAAG,CACL,EACA,cAAgBlkD,IAAO,CACrB,EAAG,IACH,EAAG+jD,GAAG/jD,EAAE,MAAQgkD,EAAE,EAAE,WAAW,QAAQ,EAAI,EAAI,GAAI,GAErD,MAAO,CACL,KAAM,CAAE,SAAU,EAAG,EACrB,MAAO,CAAE,SAAU,EAAG,CACxB,EACA,UAAWV,OAAGW,EAAE,CAClB,EACAC,KAAOA,GAAG,MAAQ9iD,GAAG8iD,GAAG,MAAO,CAAE,KAAM,CAAE,YAAa,gCAAiC,KAAM,SAAU,SAAU,GAAI,OAAQ,CAAE,aAAc,KAAM,YAAa,gCAAiC,KAAM,OAAQ,aAAc,CAAC,CAAE,SAAU,oCAAqC,KAAM,cAAe,EAAG,SAAU,GAAI,KAAM,CAAE,KAAM,QAAW,CAAA,GAAK,MAAO,CAAE,YAAa,QAAS,KAAM,CAAC,QAAS,MAAM,EAAG,SAAU,GAAI,OAAQ,CAAE,aAAc,KAAM,YAAa,QAAS,KAAM,QAAS,aAAc,CAAC,CAAE,SAAU,oCAAqC,KAAM,aAAe,CAAA,EAAG,SAAU,GAAI,KAAM,CAAE,KAAM,OAAQ,IAAK,mBAAoB,MAAO,CAAC,CAAE,MAAO,SAAa,EAAA,CAAE,MAAO,QAAS,CAAC,CAAI,CAAA,GAAK,GAC3qB,MAAMC,GAAK,CAAC,kBAAmB,UAAU,EAAGC,GAAMpkD,GAAM,CACtD,GAAI,OAAOA,GAAK,SACd,OAAO,QAAQ,MAAM,yBAA0BA,CAAC,EAAG,GACjD,GAAA,CACI,MAAAC,EAAI,IAAI,IAAID,CAAC,EACnB,GAAI,CAACmkD,GAAG,SAASlkD,EAAE,QAAQ,EACzB,OAAO,QAAQ,MAAM,4BAA6BD,CAAC,EAAG,GACxD,IAAIE,EAAI,GACD,OAAAD,EAAE,WAAa,WAAaC,EAAID,EAAE,SAAS,MAAM,CAAC,EAAIC,EAAID,EAAE,aAAa,IAAI,GAAG,GAAK,GAAIC,IAAM,QAAQ,MAAM,iCAAkCF,CAAC,EAAG,GAAA,OACpJizC,EAAA,CACN,OAAO,QAAQ,MAAM,eAAgBjzC,CAAC,EAAG,EAAA,CAE7C,EAAGqkD,GAAK,8CAA+CC,GAAMtkD,GAAM,CACjE,MAAMC,EAAImkD,GAAGpkD,EAAE,MAAQqkD,EAAE,EACzB,OAAyBnjD,GAAA,IACvB0iD,GACA,CACE,MAAO,CAAE,SAAU,wBAAyB,EAC5C,IAAK,iCAAiC,OAAA3jD,GACtC,MAAO,OACP,OAAQ,OACR,YAAa,IACb,gBAAiB,GACjB,MAAO,6EACP,QAAS,MAAA,CAEb,CACF,EAAGskD,GAAK,CACN,KAAM,UACN,QAAS,CAAE,KAAM,MAAO,SAAU,KAAM,EACxC,OAAQ,2BACR,cAAe,CACb,EAAG,EACH,EAAG,CACL,EACA,MAAO,CACL,KAAM,CAAE,SAAU,EAAG,CAEvB,EACA,UAAWjB,OAAGgB,EAAE,CAClB,EACAC,KAAOA,GAAG,MAAQnjD,GAAGmjD,GAAG,MAAO,CAAE,KAAM,CAAE,YAAa,gCAAiC,KAAM,SAAU,SAAU,GAAI,OAAQ,CAAE,aAAc,KAAM,YAAa,gCAAiC,KAAM,OAAQ,aAAc,CAAC,CAAE,SAAU,oCAAqC,KAAM,cAAe,EAAG,SAAU,GAAI,KAAM,CAAE,KAAM,QAAW,CAAA,GAAK,GACnV,MAAMC,GAAK,sBAAuBC,GAAMzkD,GAAM,CAC5C,GAAI,OAAOA,GAAK,SACd,OAAO,QAAQ,MAAM,0BAA2BA,CAAC,EAAG,GAClD,GAAA,CACK,MAAA,6BAA6B,KAAKA,CAAC,EAAIA,GAAK,QAAQ,MAAM,wBAAyBA,CAAC,EAAG,UACvFC,EAAG,CACV,OAAO,QAAQ,MAAM,4CAA6CA,CAAC,EAAG,EAAA,CAE1E,EAAGykD,GAAK,uDAAwDC,GAAM3kD,GAAM,CAC1E,MAAMC,EAAID,EAAE,QAAU,QAAUA,EAAE,QAAU,QAASE,EAAIukD,GAAGzkD,EAAE,OAAS0kD,EAAE,EAAG,EAAI1kD,EAAE,MAAQ,OAAQS,EAAIT,EAAE,OAAS,cAAeU,EAAIT,EAAI,CAAE,OAAQ,MAAW,EAAA,CAAE,OAAQ,gCAAiC,EACxM,OAAyBiB,GAAA,KACvBC,GACA,CACE,UAAW,uDACX,MAAOT,EACP,SAAU,CACUQ,GAAA,IAChB,MACA,CACE,UAAW,oKAIX,SAAUT,CAAA,CAEd,EACkBS,GAAA,IAChB0iD,GACA,CACE,IAAK,WAAW,OAAAY,GAAE,wBAAuB,OAAAtkD,EAAC,yBAAwB,SAAC,2EACnE,MAAO,OACP,OAAQ,OACR,YAAa,IACb,gBAAiB,GACjB,UAAW,cACX,MAAO,6EACP,QAAS,MAAA,CACX,CACF,CACF,CAEJ,CACF,EAAG0kD,GAAK,CACN,KAAM,kBACN,QAAS,CAAE,KAAM,MAAO,SAAU,KAAM,EACxC,OAAQ,+BACR,cAAe,CACb,EAAG,EACH,EAAG,CACL,EACA,cAAe,KAAO,CACpB,EAAG,IACH,EAAG,GAAI,GAET,MAAO,CACL,MAAO,CAAE,SAAU,EAAG,EACtB,MAAO,CAAE,SAAU,EAAG,EACtB,MAAO,CAAE,SAAU,EAAG,EACtB,KAAM,CAAE,SAAU,EAAG,CACvB,EACA,UAAWtB,OAAGqB,EAAE,CAClB,EACAC,KAAOA,GAAG,MAAQxjD,GAAGwjD,GAAG,MAAO,CAAE,MAAO,CAAE,YAAa,sBAAuB,KAAM,SAAU,SAAU,GAAI,OAAQ,CAAE,aAAc,KAAM,YAAa,sBAAuB,KAAM,QAAS,aAAc,CAAC,CAAE,SAAU,2CAA4C,KAAM,aAAe,CAAA,EAAG,SAAU,GAAI,KAAM,CAAE,KAAM,SAAa,CAAA,EAAG,MAAO,CAAE,YAAa,wBAAyB,KAAM,SAAU,SAAU,GAAI,OAAQ,CAAE,aAAc,KAAM,YAAa,wBAAyB,KAAM,QAAS,aAAc,CAAC,CAAE,SAAU,2CAA4C,KAAM,aAAA,CAAe,EAAG,SAAU,GAAI,KAAM,CAAE,KAAM,UAAa,EAAG,MAAO,CAAE,YAAa,QAAS,KAAM,CAAC,QAAS,MAAM,EAAG,SAAU,GAAI,OAAQ,CAAE,aAAc,KAAM,YAAa,QAAS,KAAM,QAAS,aAAc,CAAC,CAAE,SAAU,2CAA4C,KAAM,aAAe,CAAA,EAAG,SAAU,GAAI,KAAM,CAAE,KAAM,OAAQ,IAAK,mBAAoB,MAAO,CAAC,CAAE,MAAO,WAAa,CAAE,MAAO,SAAU,EAAI,CAAA,EAAK,KAAM,CAAE,YAAa,OAAQ,KAAM,CAAC,OAAQ,QAAS,QAAQ,EAAG,SAAU,GAAI,OAAQ,CAAE,aAAc,KAAM,YAAa,OAAQ,KAAM,OAAQ,aAAc,CAAC,CAAE,SAAU,2CAA4C,KAAM,aAAe,CAAA,EAAG,SAAU,GAAI,KAAM,CAAE,KAAM,OAAQ,IAAK,8BAA+B,MAAO,CAAC,CAAE,MAAO,QAAA,EAAY,CAAE,MAAO,SAAa,EAAA,CAAE,MAAO,UAAW,CAAC,CAAI,CAAA,GAAK,GACz1C,MAAMC,GAAK,iBAAkBC,GAAM9kD,GAAM,CACvC,GAAI,OAAOA,GAAK,SACd,OAAO,QAAQ,MAAM,yBAA0BA,CAAC,EAAG,GACjD,GAAA,CACF,MAAMC,EAAI,IAAI,IAAID,EAAG,WAAW,OAAA6kD,GAAI,EAC7B,OAAA5kD,EAAE,SAAS,SAAS4kD,EAAE,EAAI5kD,EAAE,UAAY,QAAQ,MAAM,+BAAgCD,CAAC,EAAG,GAAA,OAC3FizC,EAAA,CACN,OAAO,QAAQ,MAAM,eAAgBjzC,CAAC,EAAG,EAAA,CAE7C,EAAG+kD,GAAK,uDAAwDC,GAAMhlD,GAAM,CAC1E,MAAMC,EAAI6kD,GAAG9kD,EAAE,MAAQ+kD,EAAE,EACzB,OAAyB7jD,GAAA,IACvB0iD,GACA,CACE,IAAK,+BAA+B,OAAA3jD,GACpC,MAAO,OACP,OAAQ,OACR,YAAa,IACb,gBAAiB,GACjB,MAAO,6EACP,QAAS,MAAA,CAEb,CACF,EAAGglD,GAAK,CACN,KAAM,aACN,QAAS,CAAE,KAAM,MAAO,SAAU,KAAM,EACxC,OAAQ,0BACR,cAAe,CACb,EAAG,EACH,EAAG,CACL,EACA,cAAe,KAAO,CACpB,EAAG,IACH,EAAG,GAAI,GAET,MAAO,CACL,KAAM,CAAE,SAAU,EAAG,CACvB,EACA,UAAW3B,OAAG0B,EAAE,CAClB,EACAC,KAAOA,GAAG,MAAQ7jD,GAAG6jD,GAAG,MAAO,CAAE,KAAM,CAAE,YAAa,2BAA4B,KAAM,SAAU,SAAU,GAAI,OAAQ,CAAE,aAAc,KAAM,YAAa,2BAA4B,KAAM,OAAQ,aAAc,CAAC,CAAE,SAAU,uCAAwC,KAAM,cAAe,EAAG,SAAU,GAAI,KAAM,CAAE,KAAM,QAAW,CAAA,GAAK,GAC5U,MAAMC,GAAK,CACT,OAAQ1B,GACR,QAASU,GACT,QAASK,GACT,eAAgBK,GAChB,WAAYK,EACd,EAAGE,GAAKD,GCxhSD,SAASE,GACdnsD,EACA,CACA,OAAQC,GAEJC,MAACwD,IAAS,GAAGzD,EACX,eAACD,EAAW,CAAA,GAAGC,EAAO,CACxB,CAAA,CAGN,CCIA,SAASmsD,GACPC,EACA,CACA,OAAO,OAAOA,GAAe,WACzBA,EACAA,EACE,IAAMA,EACN,MACR,CAsBA,SAASC,GACP9kD,EACgB,CAChB,MAAM+kD,EAAO/kD,EAAE,KAETf,EAAIe,EAAE,UAEL,MAAA,CACL,KAAA+kD,EACA,QAASJ,GAAU1lD,CAAC,EACpB,cAAe2lD,GAAoB5kD,EAAE,aAAa,CAEpD,CAIF,CAGA,MAAMglD,GAAW,OAAO,YACtB,OAAO,QAAQC,EAAO,EAAE,IAAI,CAAC,CAACC,EAAMC,CAAM,IAAM,CAC9CA,EAAO,KACPL,GAAQK,CAA6C,CACtD,CAAA,CACH,EAMaC,GAAyDJ,GCEzDK,GAAc,CACzB,WAAAjqD,GACA,MAAA2B,GACA,KAAAc,GACA,QAAAa,GACA,KAAAE,GACA,GAAGwmD,EAEL,EAIaE,GAAO,OAAO,YACzB,OAAO,QAAQD,EAAW,EAAE,IAAI,CAAC,CAACzG,EAAGrJ,CAAC,IAAM,CAC1CqJ,EACAz/C,GAAco2C,EAAE,QAAsBA,EAAE,iBAAiB,CAC1D,CAAA,CACH,EAEagQ,GACXC,GACG,OACH,MAAM9nD,GAAgBvF,EAAAktD,GAAYG,EAAQ,IAAI,IAAxB,YAAArtD,EAClB,cAEJ,OAAIuF,EACK,OAAOA,GAAkB,WAC5BA,EAAc8nD,EAAQ,KAAK,EAC3B9nD,EAGC,CAAE,EAAG,EAAG,EAAG,CAAE,CACtB,EAEa+nD,GAAeD,GAAwB,SAC3C,OAAArsD,GAAAhB,EAAAktD,GAAYG,EAAQ,IAAI,IAAxB,YAAArtD,EAA2B,uBAA3B,YAAAgB,EAAA,KAAAhB,EAELqtD,EAAQ,MAEZ,EC/GaE,GAAQ,CAACtnC,EAAWunC,EAAaC,IAC5C,KAAK,IAAI,KAAK,IAAIxnC,EAAGwnC,CAAG,EAAGD,CAAG,ECDhB,SAAAE,GACdC,EACAC,EACsB,CACtB,OAAOD,EAAM,OACX,CAACE,EAAKC,EAAMC,IAAU,CACd,MAAAC,EAAMJ,EAAYE,EAAMC,CAAK,EACnC,OAAAF,EAAIG,CAAG,EAAIF,EACJD,CACT,EACA,CAAA,CACF,CACF,CClBO,MAAMI,GAAkB,WCiBlBC,GAAwB,CACnC,QAAS,CACP,IAAK,GACL,IAAK,EACP,EACA,WAAY,CACV,IAAK,GACL,IAAK,EACP,EACA,OAAQ,CACN,IAAK,EACL,IAAK,EAAA,CAET,EAiBaC,GAAkB,CAC7B,QAAS,CACP,IAAK,IACL,IAAK,CACP,EACA,WAAY,CACV,IAAK,MACL,IAAK,KACP,EACA,OAAQ,CACN,IAAK,EACL,IAAK,GAAA,CAET,EAEA,SAASC,GAAkBC,EAA8B,CACvD,MAAMC,EAAe,OAAO,KAAKD,EAAK,MAAM,KAAK,EAAE,OACjD,CAACR,EAAKG,IAAQ,CACZ,MAAMO,EAAOF,EAAK,MAAM,MAAML,CAAG,EAG3BQ,EAASR,IAAQ,YAAc,SAAWA,EAG1CS,EAAiBP,GAAsBM,CAA0B,EACjEE,EAAWH,EAAK,SAClB,CAACA,EAAK,SAAS,SAAA,EAAW,QAAQ,KAAM,EAAE,EAC1C,EACEI,EAAcD,EAChBnB,GAAMmB,EAAUD,EAAe,IAAKA,EAAe,GAAG,EAAI,KAC1DF,EAAK,SAED,eAAA,IACN,iCACAG,EACAC,EACAF,EAAe,IACfA,EAAe,GACjB,EAEAZ,EAAIW,CAAM,EAAI,CACZ,GAAGD,EACH,SAAUI,CACZ,EACOd,CACT,EACA,CAAA,CACF,EAGMe,EAAkBP,EAAK,SAAS,OAAO,IAAKpG,GAAO,CACvD,MAAM4G,EAAcR,EAAK,SAAS,KAAKpG,CAAE,EAErC,GAAA,EAAE,iBAAkB4G,EAAY,OAC3B,OAAAA,EAIT,MAAMC,EACJD,EAAY,MAAM,eAAiB,YAC/B,SACAA,EAAY,MAAM,aAEjB,MAAA,CACL,GAAGA,EACH,MAAO,CAAE,GAAGA,EAAY,MAAO,aAAcC,CAAQ,CACvD,CAAA,CACD,EAGKC,EAAwB,CAC5B,OAAQV,EAAK,SAAS,OACtB,KAAMX,GAAkBkB,EAAkBvB,GAAYA,EAAQ,EAAE,CAClE,EAYO,MAVyB,CAC9B,GAAGgB,EACH,QAAS,WACT,MAAO,CACL,GAAGA,EAAK,MACR,MAAOC,CACT,EACA,SAAUS,CACZ,CAGF,CAEA,SAASC,GAAkBX,EAA8B,CACvD,MAAMC,EAAe,OAAO,KAAKD,EAAK,MAAM,KAAK,EAAE,OACjD,CAACR,EAAKG,IAAQ,CACZ,MAAMO,EAAOF,EAAK,MAAM,MAAML,CAAG,EAE3BU,EAAWH,EAAK,SAClB,CAACA,EAAK,SAAS,SAAA,EAAW,QAAQ,KAAM,EAAE,EAC1C,EAEEU,EAAeP,EAAW,EAC1BQ,EAAmBD,EAAe,GAElCN,EAAcO,EAAmB,KAE/B,eAAA,IACN,YACAR,EACAO,EACAC,EACAP,CACF,EAEAd,EAAIG,CAAG,EAAI,CACT,GAAGO,EACH,SAAUI,CACZ,EACOd,CACT,EACA,CAAA,CACF,EAWO,MATyB,CAC9B,GAAGQ,EACH,QAAS,WACT,MAAO,CACL,GAAGA,EAAK,MACR,MAAOC,CAAA,CAEX,CAGF,CAEA,SAASa,GAAiBd,EAA2B,CAC5C,MAAA,CACL,GAAGA,EACH,QAAS,WACT,SAAUA,EAAK,SAAS,KACxB,SAAUA,EAAK,SAAS,IAC1B,CACF,CAEA,SAASe,GAAkBf,EAAwB,CACjD,MAAMC,EAAe,OAAO,KAAKD,EAAK,MAAM,KAAK,EAAE,OACjD,CAACR,EAAKG,IAAQ,CACZ,MAAMO,EAAOF,EAAK,MAAM,MAAML,CAAG,EAG3BS,EAAiBN,GAAgBH,CAAuB,EAExDU,EAAWH,EAAK,SAClB,CAACA,EAAK,SAAS,SAAA,EAAW,QAAQ,KAAM,EAAE,EAC1C,EAEEI,EAAcD,EAChBnB,GAAMmB,EAAUD,EAAe,IAAKA,EAAe,GAAG,EAAI,KAC1DF,EAAK,SAET,OAAAV,EAAIG,CAAG,EAAI,CACT,GAAGO,EACH,SAAUI,CACZ,EACOd,CACT,EACA,CAAA,CACF,EAWO,MATyB,CAC9B,GAAGQ,EACH,QAAS,WACT,MAAO,CACL,GAAGA,EAAK,MACR,MAAOC,CAAA,CAEX,CAGF,CAGA,MAAMe,GAA2D,CAC/D,WAAYjB,GACZ,WAAYY,GACZ,WAAYG,GACZ,WAAYC,EACd,EAEaE,GAAqBjB,GAA8B,CAC9D,IAAIkB,EAAclB,EAEX,KAAAkB,EAAY,UAAYtB,IAAiB,CACxC,MAAAuB,EAAoBH,GAAWE,EAAY,OAAO,EAExD,GAAI,CAACC,EACH,MAAM,IAAI,MACR,2CAA2C,OAAAD,EAAY,QAAO,gBAAe,OAAAtB,GAC/E,EAGM,QAAA,IACN,+BAA+B,OAAAsB,EAAY,GAAE,kBAAiB,OAAAA,EAAY,QAC5E,EAEAA,EAAcC,EAAkBD,CAAW,CAAA,CAGtC,OAAAA,CACT,ECtPaE,GAAe,EACfC,GAAa,IAEpBC,GAAsBC,GAAkB,KAAK,IAAI,EAAGA,EAAQF,EAAU,EAkF5E,SAASG,GAAe,CAAE,IAAAlpD,GAAwB,CAChD,KAAM,CAACmpD,EAAOC,CAAQ,EAAIjuD,EAAAA,SAAS,CAAC,EAC1B,OAAAkuD,GAAA,CACR,UAAWrpD,EACX,QAAS,CAAE,UAAW,EAAK,EAC3B,SAAWxG,GAAM,CACf4vD,EAASJ,GAAmBxvD,EAAE,MAAM,KAAK,CAAC,CAAA,CAC5C,CACD,EAEM8vD,EAAA,QACL,KAAO,CAAE,kBAAmBH,IAC5B,CAACA,CAAK,CACR,CACF,CChFO,MAAMI,GAAcC,GACzBA,EAAa,QAAQ,cAAe,EAAE,EAE3BC,GAAW9vD,GAGpBC,EAAA,IAAC,UAAA,CACC,GAAI2vD,GAAW5vD,EAAM,IAAI,EACzB,UAAW,iBACT,OAAAA,EAAM,UAAY,SAAW,uBAAyB,GACxD,KAAI,OAAAA,EAAM,MAAQ,GAAK,WAAU,KAAI,OAAAA,EAAM,KAAO,WAAa,IAE9D,SAAMA,EAAA,QAAA,CAAA,EC3BP+vD,GAAQ,IAAI,OAAO,QAAQ,EAO3BC,GAAaC,GACjBA,EAAI,QAAQF,GAAQjT,GAAM,IAAI,OAAAA,EAAE,YAAY,EAAG,EAQpCoT,GAAaC,GACxB,OAAO,KAAKA,CAAS,EAAE,OAAO,CAACC,EAAa1C,IAAgB,SAEpD,MAAA2C,EAASL,GAAUtC,CAAG,EAEtB4C,GAAW5vD,GAAAhB,EAAAywD,EAAUzC,CAA0B,IAApC,YAAAhuD,EACb,aADa,YAAAgB,EAEb,QAAQ,IAAK,IAGjB,OAAK4vD,EAKE,GAAG,OAAAF,GAAc,OAAAC,EAAM,KAAI,OAAAC,EAAQ,KAJjCF,CAKX,EAAG,EAAE,EAMP,SAASG,GACPC,EACAC,EACAC,EACQ,CACD,OAAA,OAAO,QAAQF,EAAM,KAAK,EAC9B,IAAI,CAAC,CAACrK,EAAGrJ,CAAC,KAEN2T,GAAS,CAACC,EAAO,IAAI,OAAAD,EAAK,KAAM,IACjC,IAAI,OAAAtK,EAAC,cACL,OAAA+J,GAAUpT,CAA6B,EAAC,UAI3C,EACA,KAAK,IAAI,CACd,CAEA,SAAS6T,GACPH,EACAC,EACAC,EACQ,CACR,GAAIF,EAAM,OAAQ,CACV,MAAAI,EAAY,OAAO,QAAQJ,EAAM,MAAM,EAC1C,IAAI,CAAC,CAACrK,EAAGrJ,CAAC,IACM,KAAK,OAAAqJ,EAAC,MAAK,OAAArJ,EAAC,IAG5B,EACA,KAAK,EAAE,EACF,OAAA2T,GAAS,CAACC,EAAO,IAAI,OAAAD,GAAU,SAAW,MAAM,OAAAG,EAAS,KAAA,KAE1D,OAAA,EAEX,CAeA,MAAMC,GAAkB7wD,GAGlB8B,EAAA,KAAAC,WAAA,CAAA,SAAA,CAAC9B,EAAAA,IAAA,QAAA,CACE,YAAwBD,EAAM,MAAOA,EAAM,MAAOA,EAAM,IAAI,CAC/D,CAAA,EACAC,EAAAA,IAAC,SACE,SAAuB0wD,GAAA3wD,EAAM,MAAOA,EAAM,MAAOA,EAAM,IAAI,CAC9D,CAAA,CAAA,EACF,ECxGE8wD,GAAiB9wD,GAAmC,CACxD,MAAM2qD,EAAKkC,GAAK7sD,EAAM,QAAQ,IAAI,EAElC,OAAI2qD,IAAO,QACD,QAAA,MAAM,gBAAiBA,CAAE,EAC1B,MAGN1qD,EAAAA,IAAA0qD,EAAA,CAAG,KAAM3qD,EAAM,QAAQ,KAAO,GAAGA,EAAM,QAAQ,MAC7C,SAAMA,EAAA,QAAQ,QACjB,CAEJ,ECwBA,SAAS+wD,GAAQppD,EAAe,CAC9B/F,EAAAA,UAAU,IAAM,CACZ+F,EAAA,CACJ,EAAG,EAAE,CACP,CAQA,MAAMqpD,GAAchxD,IAClB+wD,GAAQ/wD,EAAM,QAAQ,EACf,MASHixD,GAAe,CAAC,CACpB,SAAAttD,EACA,KAAAoqD,EACA,GAAG/tD,CACL,IAA2E,aACnE,MAAAkxD,EAAoBC,SAA0B,IAAI,EAClDC,EAAYpxD,EAAM,WAAakxD,EAE/BG,GAAY3wD,GAAAhB,EAAA0xD,EAAU,UAAV,YAAA1xD,EAAmB,kBAAnB,YAAAgB,EAAoC,KAChD4wD,GAAYjtD,GAAAzD,EAAAwwD,EAAU,UAAV,YAAAxwD,EAAmB,kBAAnB,YAAAyD,EAAoC,KAEhD,CAACktD,EAAgBC,CAAiB,EAAIhwD,EAAAA,SAAwB,IAAI,EAElEiwD,EAAeC,GAAkB,CACrCF,EAAkBE,CAAK,EACnBJ,IACFA,EAAU,UAAY,uBAE1B,EAEMK,EAOF7vD,EAAAA,KAAAC,EAAA,SAAA,CAAA,SAAA,CAAC9B,EAAAA,IAAA,QAAA,CAAO,WAAM,WAAY,CAAA,EAGzBA,EAAA,IAAA,OAAA,CAAK,IAAI,aAAa,KAAK,kCAAkC,EAC7DA,EAAAA,IAAA4wD,GAAA,CAAe,MAAO9C,EAAK,KAAO,CAAA,CAAA,EACrC,EAGI6D,EAED9vD,EAAAA,KAAAC,EAAA,SAAA,CAAA,SAAA,CAAA4B,QACAqtD,GAAW,CAAA,SAAU,IAAMS,EAAY,SAAS,CAAG,CAAA,CAAA,EACtD,EAGF,OAEI3vD,EAAA,KAAAC,WAAA,CAAA,SAAA,CAAAD,EAAA,KAAC,SAAA,CACC,UAAU,6CACV,IAAKsvD,EACL,OAAQ,IAAMK,EAAY,QAAQ,EAClC,MAAO,CACL,GAAGzxD,EAAM,MACT,mBAAoBA,EAAM,UAAY,KACtC,QAASuxD,EAAiB,EAAI,CAChC,EAEC,SAAA,CAAaF,GAAAQ,GAAAA,aAAaF,EAASN,CAAS,EAC5CC,GAAaO,GAAAA,aAAaD,EAASN,CAAS,CAAA,CAAA,CAC/C,QACCN,GAAW,CAAA,SAAU,IAAMS,EAAY,aAAa,CAAG,CAAA,CAAA,EAC1D,CAEJ,ECzDMK,GAAc9xD,GAA2B,CAC7C,MAAM+tD,EAAO/tD,EAAM,KACb+xD,EAAWhE,EAAK,SAEhBiE,EAAiBb,SAA0B,IAAI,EAC/Cc,EAAc1C,GAAe,CAAE,KAAM,SAAU,IAAKyC,EAAgB,EAKxE,OAAA/xD,EAAA,IAACiyD,GAAA,CACC,KAAMlyD,EAAM,KACZ,UAAWgyD,EAEX,YAAahyD,EAAM,YACnB,SAAUA,EAAM,SAChB,MAAO,CACL,OAAQ,OACR,MAAO,OACP,OAAQ,OACR,cAAe,MAGjB,EAEA,2BACE,SAACC,EAAAA,IAAA,OAAA,CAAK,UAAU,oBAAoB,MAAOgyD,EACxC,SAAA,OAAO,QAAQF,CAAQ,EAAE,IAAI,CAAC,CAACpK,EAAIwK,CAAO,IAEvClyD,EAAA,IAAC6vD,GAAA,CAEC,KAAMnI,EAEN,MAAO,GACP,QAASwK,EAAQ,SAAW,OAE3B,SAAQA,EAAA,SAAS,IAAKC,GACrBnyD,EAAA,IAAC6wD,GAAA,CACC,QAAS/C,EAAK,SAASqE,CAAS,CAAA,EAC3BA,CAER,CAAA,CAAA,EAXIzK,CAYP,CAEH,CAMH,CAAA,CACF,CAAA,CAAA,CACF,CAEJ,ECVa0K,GAAmBtE,GAAkBA,EAAK,SAAS,KAEnDuE,GAAmBvE,GAC9BA,EAAK,SAASsE,GAAgBtE,CAAI,EAAE,UAAU,EC9G1CwE,GAAkB,CACtB,KAAM,QACN,MAAO,CACL,QAAS,CACP,WAAY,oBACZ,UAAW,SACX,cAAe,OACf,cAAe,MACf,WAAY,GACd,EACA,WAAY,CACV,WAAY,oBACZ,cAAe,OACf,cAAe,MACf,WAAY,GACd,EACA,OAAQ,CACN,WAAY,OACZ,cAAe,OACf,cAAe,MACf,WAAY,GAAA,CAEhB,EACA,OAAQ,CACN,aAAc,UACd,kBAAmB,UACnB,aAAc,UACd,mBAAoB,SAAA,CAExB,EC7BMA,GAAkB,CACtB,KAAM,UACN,MAAO,CACL,QAAS,CACP,WAAY,SACZ,UAAW,SACX,cAAe,OACf,cAAe,MACf,WAAY,IACZ,MAAO,oBACP,SAAU,MACV,UAAW,OACX,eAAgB,OAChB,WAAY,QACd,EACA,WAAY,CACV,WAAY,aACZ,cAAe,YACf,cAAe,QACf,WAAY,IACZ,MAAO,yBACP,SAAU,UACV,UAAW,OACX,eAAgB,OAChB,WAAY,QACd,EACA,OAAQ,CACN,WAAY,aACZ,cAAe,OACf,cAAe,MACf,WAAY,IACZ,MAAO,oBACP,SAAU,SACV,UAAW,OACX,eAAgB,OAChB,WAAY,QAAA,CAEhB,EACA,OAAQ,CACN,aAAc,UACd,kBAAmB,UACnB,aAAc,UACd,mBAAoB,SAAA,CAExB,EC5CMA,GAAkB,CACtB,KAAM,UACN,MAAO,CACL,QAAS,CACP,WAAY,kBACZ,UAAW,SACX,cAAe,YACf,cAAe,MACf,WAAY,GACd,EACA,WAAY,CACV,WAAY,WACZ,cAAe,OACf,cAAe,MACf,WAAY,GACd,EACA,OAAQ,CACN,WAAY,WACZ,cAAe,OACf,cAAe,MACf,WAAY,GAAA,CAEhB,EACA,OAAQ,CACN,aAAc,UACd,kBAAmB,UACnB,aAAc,UACd,mBAAoB,SAAA,CAExB,EC7BMA,GAAkB,CACtB,KAAM,OACN,MAAO,CACL,QAAS,CACP,WAAY,gBACZ,UAAW,SACX,cAAe,YACf,cAAe,MACf,WAAY,GACd,EACA,WAAY,CACV,WAAY,gBACZ,cAAe,OACf,cAAe,MACf,WAAY,GACd,EACA,OAAQ,CACN,WAAY,UACZ,cAAe,OACf,cAAe,MACf,WAAY,GAAA,CAEhB,EACA,OAAQ,CACN,aAAc,UACd,kBAAmB,UACnB,aAAc,UACd,mBAAoB,SAAA,CAExB,EC7BMA,GAAkB,CACtB,KAAM,UACN,MAAO,CACL,QAAS,CACP,WAAY,SACZ,UAAW,SACX,SAAU,MACV,cAAe,YACf,cAAe,MACf,WAAY,GACd,EACA,WAAY,CACV,WAAY,UACZ,cAAe,YACf,cAAe,QACf,WAAY,GACd,EACA,OAAQ,CACN,WAAY,QACZ,cAAe,OACf,cAAe,MACf,WAAY,GAAA,CAEhB,EACA,OAAQ,CACN,aAAc,UACd,kBAAmB,UACnB,aAAc,UACd,mBAAoB,SAAA,CAExB,EC9BMA,GAAkB,CACtB,KAAM,OACN,MAAO,CACL,QAAS,CACP,WAAY,SACZ,UAAW,SACX,cAAe,OACf,cAAe,MACf,WAAY,GACd,EACA,WAAY,CACV,WAAY,aACZ,cAAe,YACf,cAAe,QACf,WAAY,GACd,EACA,OAAQ,CACN,WAAY,aACZ,cAAe,OACf,cAAe,MACf,WAAY,GAAA,CAEhB,EACA,OAAQ,CACN,aAAc,UACd,kBAAmB,UACnB,aAAc,UACd,mBAAoB,SAAA,CAExB,EC7BMA,GAAkB,CACtB,KAAM,UACN,MAAO,CACL,QAAS,CACP,WAAY,mBACZ,UAAW,SACX,cAAe,OACf,cAAe,MACf,WAAY,GACd,EACA,WAAY,CACV,WAAY,OACZ,cAAe,OACf,cAAe,MACf,WAAY,GACd,EACA,OAAQ,CACN,WAAY,YACZ,cAAe,OACf,cAAe,MACf,WAAY,GAAA,CAEhB,EACA,OAAQ,CACN,aAAc,UACd,kBAAmB,UACnB,aAAc,UACd,mBAAoB,SAAA,CAExB,EC7BMA,GAAkB,CACtB,KAAM,QACN,MAAO,CACL,QAAS,CACP,WAAY,QACZ,UAAW,SACX,cAAe,YACf,SAAU,MACV,cAAe,MACf,WAAY,GACd,EACA,WAAY,CACV,WAAY,QACZ,cAAe,OACf,cAAe,WACf,WAAY,GACd,EACA,OAAQ,CACN,WAAY,OACZ,cAAe,OACf,cAAe,MACf,WAAY,GAAA,CAEhB,EACA,OAAQ,CACN,aAAc,UACd,kBAAmB,UACnB,aAAc,UACd,mBAAoB,SAAA,CAExB,EC9BMA,GAAkB,CACtB,KAAM,SACN,MAAO,CACL,QAAS,CACP,WAAY,OACZ,UAAW,SACX,cAAe,OACf,SAAU,MACV,cAAe,MACf,WAAY,GACd,EACA,WAAY,CACV,WAAY,OACZ,cAAe,YACf,cAAe,SACf,WAAY,GACd,EACA,OAAQ,CACN,WAAY,UACZ,cAAe,OACf,cAAe,MACf,WAAY,GAAA,CAEhB,EACA,OAAQ,CACN,aAAc,UACd,kBAAmB,UACnB,aAAc,UACd,mBAAoB,SAAA,CAExB,EC9BMA,GAAkB,CACtB,KAAM,SACN,MAAO,CACL,QAAS,CACP,WAAY,oBACZ,UAAW,SACX,cAAe,OACf,cAAe,MACf,WAAY,GACd,EACA,WAAY,CACV,WAAY,oBACZ,cAAe,OACf,cAAe,MACf,WAAY,GACd,EACA,OAAQ,CACN,WAAY,oBACZ,cAAe,OACf,cAAe,MACf,WAAY,GAAA,CAEhB,EACA,OAAQ,CACN,aAAc,UACd,kBAAmB,UACnB,aAAc,UACd,mBAAoB,SAAA,CAExB,EC7BMA,GAAkB,CACtB,KAAM,QACN,MAAO,CACL,QAAS,CACP,WAAY,QACZ,UAAW,SACX,cAAe,YACf,cAAe,MACf,WAAY,GACd,EACA,WAAY,CACV,WAAY,QACZ,cAAe,YACf,cAAe,SACf,WAAY,GACd,EACA,OAAQ,CACN,WAAY,UACZ,cAAe,OACf,cAAe,MACf,WAAY,GAAA,CAEhB,EACA,OAAQ,CACN,aAAc,UACd,kBAAmB,UACnB,aAAc,UACd,mBAAoB,SAAA,CAExB,EC7BMA,GAAkB,CACtB,KAAM,SACN,MAAO,CACL,QAAS,CACP,WAAY,cACZ,UAAW,SACX,cAAe,OACf,cAAe,MACf,WAAY,GACd,EACA,WAAY,CACV,WAAY,QACZ,cAAe,YACf,cAAe,MACf,WAAY,GACd,EACA,OAAQ,CACN,WAAY,UACZ,cAAe,OACf,cAAe,MACf,WAAY,GAAA,CAEhB,EACA,OAAQ,CACN,aAAc,UACd,kBAAmB,UACnB,aAAc,UACd,mBAAoB,SAAA,CAExB,EC7BMA,GAAkB,CACtB,KAAM,QACN,MAAO,CACL,QAAS,CACP,WAAY,WACZ,UAAW,SACX,cAAe,OACf,SAAU,MACV,cAAe,MACf,WAAY,GACd,EACA,WAAY,CACV,WAAY,WACZ,cAAe,YACf,cAAe,UACf,WAAY,GACd,EACA,OAAQ,CACN,WAAY,QACZ,cAAe,OACf,cAAe,MACf,WAAY,GAAA,CAEhB,EACA,OAAQ,CACN,aAAc,UACd,kBAAmB,UACnB,aAAc,UACd,mBAAoB,SAAA,CAExB,EC9BMA,GAAkB,CACtB,KAAM,QACN,MAAO,CACL,QAAS,CACP,WAAY,gBACZ,UAAW,SACX,cAAe,YACf,cAAe,MACf,WAAY,GACd,EACA,WAAY,CACV,WAAY,gBACZ,cAAe,OACf,cAAe,MACf,WAAY,GACd,EACA,OAAQ,CACN,WAAY,UACZ,cAAe,OACf,cAAe,MACf,WAAY,GAAA,CAEhB,EACA,OAAQ,CACN,aAAc,UACd,kBAAmB,UACnB,aAAc,UACd,mBAAoB,SAAA,CAExB,EC7BMA,GAAkB,CACtB,KAAM,QACN,MAAO,CACL,QAAS,CACP,WAAY,SACZ,UAAW,SACX,cAAe,OACf,cAAe,WACf,WAAY,GACd,EACA,WAAY,CACV,WAAY,OACZ,cAAe,OACf,cAAe,MACf,WAAY,GACd,EACA,OAAQ,CACN,WAAY,OACZ,cAAe,OACf,cAAe,MACf,WAAY,GAAA,CAEhB,EACA,OAAQ,CACN,aAAc,UACd,kBAAmB,UACnB,aAAc,UACd,mBAAoB,SAAA,CAExB,EC7BMA,GAAkB,CACtB,KAAM,SACN,MAAO,CACL,QAAS,CACP,WAAY,gBACZ,UAAW,SACX,cAAe,YACf,SAAU,MACV,cAAe,MACf,WAAY,GACd,EACA,WAAY,CACV,WAAY,gBACZ,cAAe,OACf,cAAe,WACf,WAAY,GACd,EACA,OAAQ,CACN,WAAY,OACZ,cAAe,OACf,cAAe,MACf,WAAY,GAAA,CAEhB,EACA,OAAQ,CACN,aAAc,UACd,kBAAmB,UACnB,aAAc,UACd,mBAAoB,SAAA,CAExB,EC9BMA,GAAkB,CACtB,KAAM,QACN,MAAO,CACL,QAAS,CACP,WAAY,UACZ,UAAW,SACX,cAAe,OACf,SAAU,MACV,cAAe,UACf,WAAY,GACd,EACA,WAAY,CACV,WAAY,YACZ,cAAe,YACf,cAAe,UACf,WAAY,GACd,EACA,OAAQ,CACN,WAAY,QACZ,cAAe,OACf,cAAe,MACf,WAAY,GAAA,CAEhB,EACA,OAAQ,CACN,aAAc,UACd,kBAAmB,UACnB,aAAc,UACd,mBAAoB,SAAA,CAExB,ECXMC,GAAeC,GACRC,GAAmBF,GAAa,KAKhCG,GAAa9yD,GAAcA,IAAM6yD,GAEjCE,GAAuB/yD,GAClCA,IAAM,QAAa8yD,GAAU9yD,CAAC,EAE1BgzD,GAAY,CAAA,QAChBJ,GAAA,KACAK,GAAA,MACAC,GAAA,OACAC,GAAA,OACAC,GAAA,KACAC,GAAA,MACAC,GAAA,QACAC,GAAA,QACAC,GAAA,QACAC,GAAA,MACAC,GAAA,MACAC,GAAA,OACAC,GAAA,MACAC,GAAA,OACAC,GAAA,MACAC,GACAC,MAAAA,EAEF,EAEA,SAASC,GAAUC,EAAaC,EAAkB,CAC1C,MAAAC,EAAS,CAAE,GAAGF,CAAO,EAE3B,cAAO,KAAKC,CAAM,EAAE,QAAStG,GAAQ,CAC/BsG,EAAOtG,CAAG,GAAK,OAAOsG,EAAOtG,CAAG,GAAM,UACpCA,KAAOqG,EACFE,EAAAvG,CAAG,EAAIoG,GAAUC,EAAOrG,CAAG,EAAGsG,EAAOtG,CAAG,CAAC,EAK3CuG,EAAAvG,CAAG,EAAIsG,EAAOtG,CAAG,CAC1B,CACD,EAEMuG,CACT,CAIA,MAAMC,GAAgBltD,GAAgB8sD,GAAUtB,GAAcxrD,CAAC,EAOlDmtD,GAAS,OAAO,YAC3B,OAAO,QAAQtB,EAAS,EAAE,IAAI,CAAC,CAAC1M,EAAGrJ,CAAC,IAAM,CAACqJ,EAAG+N,GAAapX,CAAC,CAAC,CAAC,CAChE,EAMasX,GAA6BC,GACxC,OAAO,KAAKA,CAAG,EAEJC,GAAYF,GAAQD,EAAM,EAE1BI,GAAc,IAAM,CAC/B,MAAMC,EAAiB,OAAO,QAAQL,EAAM,EAAE,OAAO,CAAC,CAAChO,CAAC,IAAM,CAACwM,GAAUxM,CAAC,CAAC,EAEpE,OAAAqO,EAAe,KAAK,MAAM,KAAK,SAAWA,EAAe,MAAM,CAAC,EAAE,CAAC,CAC5E,EC3DMC,GAAoB,IAKxB,CAMQ,MAAAC,EAASvD,SAA6B,IAAI,EAE1CwD,EAAWC,EAAsB/0D,GAAMA,EAAE,kBAAoB,IAAI,EA+DrE,OAAAI,EAAA,IAAC,MAAA,CAEC,UAAU,wEAUV,SAAA6B,EAAA,KAAC,MAAA,CACC,IAAK4yD,EAEL,QAAQ,eAER,oBAAoB,gBAEpB,SAAS,UACT,UAAU,0GACV,MAAM,OACN,OAAO,OACP,MAAM,6BACN,gBAAeC,EACf,KAAK,oBAEL,SAAA,CAAA7yD,OAAC,OACC,CAAA,SAAA,CAAAA,EAAA,KAAC,UAAA,CACC,GAAG,YACH,MAAM,OACN,OAAO,MACP,aAAa,iBAEb,SAAA,CAAC7B,EAAAA,IAAA,QAAA,CAAM,KAAK,UAAW,CAAA,EACvBA,EAAA,IAAC,IACC,CAAA,SAAA6B,EAAAA,KAAC,IACC,CAAA,SAAA,CAAC7B,EAAA,IAAA,IAAA,CACC,SAACA,EAAAA,IAAA,SAAA,CAAO,UAAU,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,GAAI,CAAA,EAC9C,EACCA,EAAA,IAAA,IAAA,CACC,SAACA,EAAAA,IAAA,SAAA,CAAO,UAAU,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,GAAI,CAAA,EAChD,EACCA,EAAA,IAAA,IAAA,CACC,SAACA,EAAAA,IAAA,SAAA,CAAO,UAAU,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,GAAI,CAAA,EAChD,EACCA,EAAA,IAAA,IAAA,CACC,SAACA,EAAAA,IAAA,SAAA,CAAO,UAAU,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,GAAI,CAAA,EAChD,EACCA,EAAA,IAAA,IAAA,CACC,SAACA,EAAAA,IAAA,SAAA,CAAO,UAAU,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,GAAI,CAAA,EAChD,EACCA,EAAA,IAAA,IAAA,CACC,SAACA,EAAAA,IAAA,SAAA,CAAO,UAAU,MAAM,GAAG,OAAO,GAAG,IAAI,EAAE,GAAI,CAAA,EACjD,EACCA,EAAA,IAAA,IAAA,CACC,SAACA,EAAAA,IAAA,SAAA,CAAO,UAAU,MAAM,GAAG,OAAO,GAAG,IAAI,EAAE,GAAA,CAAI,CACjD,CAAA,CAAA,CAAA,CACF,CACF,CAAA,CAAA,CAAA,CACF,EACA6B,EAAAA,KAAC,iBAAe,CAAA,GAAG,eACjB,SAAA,CAAA7B,EAAA,IAAC,OAAK,CAAA,OAAO,KAAK,UAAU,QAAQ,EACnCA,EAAA,IAAA,OAAA,CAAK,OAAO,OAAO,UAAU,OAAQ,CAAA,CAAA,CACxC,CAAA,CAAA,EACF,EACAA,EAAA,IAAC,OAAA,CACC,MAAM,OACN,OAAO,QACP,KAAK,iBAAA,CAAA,CAEP,CAAA,CAAA,CACF,CACF,CAEJ,EAEI40D,GAAiB,UACbJ,GAAkB,EAAA,ECvLZ,SAAAK,GACd,EACAC,EACA,CACA,MAAMC,EAAsB,CAAE,GAAG,EAAG,GAAGD,CAAW,EAM5CE,EACJD,EAAoB,eAAiBA,EAAoB,QAGpD,MAAA,CAAE,GAAGA,EAAqB,cAAAC,CAAc,CACjD,CCrBA,MAAMC,GAAmBJ,GAAgBnyD,GAAY,CACnD,aAAc,GACd,WAAY,MAGd,CAAC,ECAYwyD,GAA2B,CACtCpI,EACAqI,EACAC,IACG,CACG,MAAAC,GAAaD,GAAA,YAAAA,EAAuB,eAAgB,EAMnD,OALc,KAAK,IACxB,KAAK,KAAKD,EAAS,cAAcE,CAAU,CAAC,EAC5CxI,GAAqBC,CAAO,EAAE,CAChC,CAGF,EChBMwI,GAAgBT,GAAgB7uD,GAAS,CAC7C,WAAY,WACZ,gBAAiBkvD,GACjB,aAAc,CAChB,CAAC,ECyCYK,GAAgB/xD,GChCvBgyD,GAAuB,CAACnG,EAAeoG,IAC3CpG,EAAQoG,EAGJC,GAAmB,CACvBC,EACAC,EACA3xD,IACa,CACb,MAAM4xD,EAAmBL,GAAqBG,EAAI,MAAOA,EAAI,MAAM,EAC7DG,EAAkBN,GAAqBI,EAAS,EAAGA,EAAS,CAAC,EAGjE,GAAA,KAAK,IAAIC,EAAmB,CAAC,GAAK,MACjCC,IAAoB,GAAM,CAAC7xD,GAAW6xD,GAAmB,GAEnD,MAAA,OAIH,MAAAC,EACJF,GAAoBC,EAAkB,WAAa,aAGrD,OAAI7xD,EACK8xD,EAGAJ,EAAI,QAAUA,EAAI,OACrBG,GAAmB,EACjB,WACA,aACFH,EAAI,MAAQA,EAAI,OACdI,EACA,YAEV,EAEMC,GAA2Bj2D,GAO3B,CACJ,MAAMkE,EAAUlE,EAAM,QAChBk2D,EAAoBl2D,EAAM,kBAC1Bm2D,EAAWn2D,EAAM,SACjBo2D,EAASp2D,EAAM,OAGnB,OAAAC,EAAA,IAACu1D,IAAe,GAAGx1D,EAAM,aACvB,SAACC,EAAA,IAAA,MAAA,CAAI,UAAU,kCACb,SAAAA,EAAA,IAAC,MAAA,CAEC,UAAW,iBAAiB,OAAAiE,EAAU,GAAK,YAE3C,SAAAjE,EAAA,IAACwG,GAAS,IAAT,CACC,IAAK0vD,EACL,UAAW,4CACT,OAAAn2D,EAAM,QACF,cACAk2D,IAAsB,WACpB,UACA,SACR,KACE,OAAAA,IAAsB,aAClB,wBACA,yBAEN,MAAO,CACL,MAAOA,IAAsB,WAAa,UAAY,QACtD,OAAQA,IAAsB,aAAe,UAAY,QACzD,eAAgB7rB,GAAG,CAAC+rB,EAAO,EAAGA,EAAO,CAAC,EAAG,CAACzwC,EAAGoB,IAAM,GAAG,OAAApB,EAAC,MAAK,OAAAoB,EAAC,IAAG,EAChE,OAAQ,kBACR,IAAKqvC,EAAO,EAAE,GAAIrvC,GAAc,GAAG,OAAAA,EAAC,IAAG,EACvC,KAAMqvC,EAAO,EAAE,GAAIzwC,GAAc,GAAG,OAAAA,EAAC,IAAG,EACxC,UAAW0kB,GACT,CAAC+rB,EAAO,EAAGA,EAAO,CAAC,EACnB,CAACzwC,EAAGoB,IAAM,cAAc,OAAApB,EAAC,QAAO,OAAAoB,EAAC,KAAA,CAErC,EACA,IAAK/mB,EAAM,GAAA,CAAA,CACb,GAEJ,CACF,CAAA,CAEJ,EAMaq2D,GACXr2D,GAYG,iBACG,MAAAmE,GAAMzE,EAAAM,EAAM,MAAN,KAAAN,EAAa,2BAEnB0E,GAAM1D,EAAAV,EAAM,gBAAN,KAAAU,EAAuB,CAAE,EAAG,GAAI,EAAG,EAAG,EAC5CsD,EAASF,IAAclD,EAAAZ,EAAM,SAAN,KAAAY,EAAgB,SAAS,EAChDsD,GAAUuiB,GAAApiB,EAAAL,EAAO,UAAP,KAAAK,EAAkBrE,EAAM,UAAxB,KAAAymB,EAAmC,OAC7CxiB,EAAeD,EAAO,aACtBmyD,EAAWhF,SAAyB,IAAK,EACzCmF,EAAcnF,SAAyB,IAAK,EAC5C,CAACoF,EAAYC,CAAM,EAAIC,GAAW,EAElCZ,EAAW,CAAE,EAAG71D,EAAM,KAAK,EAAG,EAAGA,EAAM,KAAK,CAAE,EAE9C,CAACk2D,EAAmBQ,CAAoB,EAC5Cl1D,EAAAA,SAAmB,YAAY,EAE3B,CAAC40D,EAAQO,CAAG,EAAIC,GAAU,KAAO,CACrC,EAAGxyD,EAAI,EACP,EAAGA,EAAI,CAAA,EACP,EAEFyyD,EAAAA,gBAAgB,IAAM,CACpB,GAAIV,EAAS,QAAS,CAGpB,MAAMD,EAAoBP,GACxB,CAAE,MAAOa,EAAO,MAAO,OAAQA,EAAO,MAAO,EAC7C,CAAE,EAAGX,EAAS,EAAG,EAAGA,EAAS,CAAE,EAC/B3xD,CACF,EACAwyD,EAAqBR,CAAiB,CAAA,CACxC,EACC,CAACL,EAAS,EAAGA,EAAS,EAAG3xD,EAASsyD,CAAM,CAAC,EAE5C,MAAMM,GAAetwC,EAAAxmB,EAAM,UAAN,MAAAwmB,EAAe,qBAChC,EAAMxmB,EAAM,QAAQ,qBACpB,EAGE+2D,EAAOC,GACX,CAAC,CAAE,KAAAC,EAAM,GAAI,CAACtxC,EAAGoB,CAAC,EAAG,SAAU,CAACmwC,EAAIC,CAAE,EAAG,KAAAC,GAAM,MAAAC,EAAO,IAAAC,KAAU,WAC9D,GAAIA,EAAK,CACD,MAAAtrC,GAAKmqC,EAAS,QAAQ,sBAAsB,EAGlD,GACExwC,EAAIqG,GAAG,GACPrG,EAAIqG,GAAG,EAAIA,GAAG,OACdjF,EAAIiF,GAAG,GACPjF,EAAIiF,GAAG,EAAIA,GAAG,OACd,CACM,MAAAurC,EAAc,SAAS,eAAe,YAAY,EAExD,GAAIA,EAAa,CAET,MAAAC,EAAa,IAAI,WAAW,QAAS,CACzC,GAAGH,EACH,QAAS,GACT,WAAY,GACZ,KAAM,MAAA,CACP,EAIDE,EAAY,cAAcC,CAAU,CAAA,CACtC,CAEF,MAAA,CAGF,MAAMlzD,EAAQ6xD,EAAS,QACjBsB,EAAgBnB,EAAY,QAAQ,YACpCoB,EAAiBpB,EAAY,QAAQ,aACrCqB,EAAWrzD,EAAM,YAAcmzD,EAC/BG,GAAYtzD,EAAM,aAAeozD,EAEjCG,GAAUX,EAAKJ,EACfgB,GAAUX,EAAKL,EAEfiB,GACJJ,IAAa,EACTvzD,EAAI,EACJ,KAAK,IAAI,EAAG,KAAK,IAAI,IAAKA,EAAI,EAAKyzD,GAAUF,EAAY,GAAG,CAAC,EAC7DK,GACJJ,KAAc,EACVxzD,EAAI,EACJ,KAAK,IAAI,EAAG,KAAK,IAAI,IAAKA,EAAI,EAAK0zD,GAAUF,GAAa,GAAG,CAAC,EAEpEjB,EAAI,MAAM,CACR,EAAGoB,GACH,EAAGC,GACH,UAAWf,CAAA,CACZ,EAEGG,MACI12D,IAAAhB,GAAAM,EAAA,UAAA,YAAAN,GAAS,gBAAT,MAAAgB,GAAA,KAAAhB,GAA0Bq6C,KAAO,CACrC,GAAGA,GACH,MAAO,CACL,GAAGA,GAAE,MACL,cAAe,CAAE,EAAGge,GAAS,EAAGC,EAAQ,CAAA,CAC1C,IAEJ,CAGJ,EAGE,OAAA/3D,EAAA,IAAA8B,WAAA,CACG,SAAM/B,EAAA,QAEH8B,EAAA,KAAAC,WAAA,CAAA,SAAA,CAAA9B,EAAA,IAAC,MAAA,CACE,GAAG82D,EAAK,EACT,UAAW,gGACT,OAAAb,IAAsB,aAClB,mBACAA,IAAsB,WACpB,mBACA,kBAER,MAAO,CAAE,MAAOY,EAAa,SAAS,EAAG,gBAAiB,CAAE,CAAA,CAC9D,EACA72D,EAAA,IAACg2D,GAAA,CACC,aAAcj2D,EAEd,IAAKA,EAAM,IACX,QAAAkE,EACA,kBAAAgyD,EACA,SAAW7vD,GAA0B,CACnC8vD,EAAS,QAAU9vD,EACnBkwD,EAAWlwD,CAAG,CAChB,EACA,OAAA+vD,CAAA,EARK,WASN,EAEDn2D,EAAAA,IAACu1D,GAAe,CAAA,GAAGx1D,EACjB,SAAAC,EAAA,IAAC,MAAA,CACC,UAAW,UACT,OAAAiE,EAAU,SAAW,2BACvB,KAEA,SAAAjE,EAAA,IAACwG,GAAS,IAAT,CACC,IAAK6vD,EACL,UAAW,uDACT,OAAApyD,EACI,sCACA,mBACN,KACA,MAAO,CACL,aAAAD,EACA,eAAgBomC,GACd,CAAC+rB,EAAO,EAAGA,EAAO,CAAC,EACnB,CAACzwC,EAAGoB,IAAM,GAAG,OAAApB,EAAC,MAAK,OAAAoB,EAAC,IAAA,CAExB,EACA,IAAA5iB,CAAA,CAAA,CACF,CAAA,CAEJ,CAAA,CAAA,CAAA,CACF,EAEAlE,EAAA,IAAC8D,GAAA,CACE,GAAG/D,EACJ,UAAWA,EAAM,UAAY,uBAAA,CAAA,EAGnC,CAEJ,ECjSMi4D,GAAcnD,GAAgBxwD,GAAO,CACzC,cAAe+xD,GACf,aAAc,GAChB,CAAC,ECJK6B,GAAapD,GAAgB1vD,GAAM,CAAE,aAAc,IAAU,ECuBtD+yD,GAAmB,IAC1BC,GAAQ93D,GAAW,KAAK,EAQ9B,SAAS+3D,GAAeC,EAA+B,CAChDA,IAELA,EAAU,SAAS,CACjB,IAAKA,EAAU,aACf,SAAU,MAAA,CAEX,EAEDD,GAAeC,EAAU,aAAa,EACxC,CAEa,MAAAC,GAAmBC,GAAwB,CAChD,MAAAze,EAAI,SAAS,cAAc,KAAK,EACtC,OAAAA,EAAE,UAAYye,EACPze,EAAE,aAAe,EAC1B,EAGM0e,GAAWn4D,GAAW,QAAQ,EAE9Bo4D,GAAe14D,GAAuD,CAC1E,KAAM,CAAC24D,EAAiBC,CAAkB,EAAIp3D,EAAAA,SAAS,EAAI,EAC3D,OACEm3D,GACE14D,EAAAA,IAAC,MAAI,CAAA,UAAU,WACb,SAAAA,EAAA,IAAC,MAAA,CAGC,UAAU,8EACV,QAAS,IAAM,CACbD,EAAM,cAAc,EACpB44D,EAAmB,EAAK,CAC1B,EAEC,SAAM54D,EAAA,IAAA,CAAA,EAEX,CAGN,EAEM64D,GAAkB74D,SACd04D,GAAY,CAAA,KAAM,OAAQ,cAAe14D,EAAM,cAAe,EAGxE,MAAM84D,WAAoB/4D,EAAAA,SAA4B,CAMpD,YAAYC,EAAyB,CACnC,MAAMA,CAAK,EANb,KAAQ,YAAc+4D,YAA0B,EAChD,KAAQ,aAAeA,YAAU,EAoBjC,KAAA,aAAgBC,GAA8B,CACvC,KAAA,YAAYA,EAAI,OAAO,KAAK,CACnC,EAEA,KAAA,YAAeR,GAAwB,CAC/B,MAAAS,EAAY,KAAK,SAAS,QAC1BC,EAAU,KAAK,MAAM,QAE3B,GACE,EAAED,GAAaC,GAAWA,EAAQ,YAAcA,EAAQ,eAExD,OAGF,MAAMC,EAAqBX,EAAY,QAAQL,GAAkB,EAAE,EAC7DiB,EAAUC,GAAaF,CAAkB,EAE/CF,EAAU,UAAY,EAClBA,EAAU,gBACZA,EAAU,cAAc,UAAY,GAK9BC,EAAA,cAAenf,IAAO,CAC5B,GAAGA,EACH,QAASqf,CAAA,EAET,CACJ,EAEA,KAAA,cAAgB,IAAM,CACd,MAAAt2D,EAAI,KAAK,SAAS,QAEnBA,IAELA,EAAE,MAAM,EACRA,EAAE,MAAM,EACV,EAEA,KAAA,kBAAoB,IAAM,CACpB,KAAK,MAAM,SACb,WAAW,IAAM,CACT,MAAAA,EAAI,KAAK,SAAS,QAClBw2D,EAAYx2D,GAAA,YAAAA,EAAG,WACrB,GAAIA,GAAKw2D,EAAW,CAClBx2D,EAAE,MAAM,EAEJ,GAAA,CACI,MAAAy2D,EAAQ,SAAS,YAAY,EAEnCA,EAAM,eAAe,EAGrBA,EAAM,cAAcD,CAAS,EAC7BC,EAAM,YAAYD,CAAS,EAErB,MAAAE,EAAM,OAAO,aAAa,EAE5BA,IACFA,EAAI,gBAAgB,EACpBA,EAAI,SAASD,CAAK,SAEbxf,EAAG,CACV,MAAM,UAAYA,CAAC,CAAA,CACrB,GAED,GAAG,CAEV,EAEA,KAAA,OAAS,IAAM,CACb,SAAS0f,GAAwB,SACzB,MAAAC,EAAY,OAAO,aAAa,EAElC,GAAAA,GAAaA,EAAU,WAAa,EAAG,CAEzC,MAAMC,EADQD,EAAU,WAAW,CAAC,EACT,aAE3B,GAAIC,EACE,GAAAA,EAAa,WAAa,KAAK,UAAW,CACxC,IAAAC,GAAWl6D,EAAAi6D,EAAa,aAAb,YAAAj6D,EAAyB,UAItC,KAAAk6D,GACAA,EAAS,WAAa,KAAK,aAC3Bl5D,EAAAk5D,EAAS,YAAT,YAAAl5D,EAAoB,UAAW,IAE/Bk5D,EAAWA,EAAS,gBAItB,OAAOD,IAAiBC,CAAA,KAGjB,OAAA,EAEX,CAGK,MAAA,EAAA,CAGH,MAAAC,EACJ,gBAAiB,KAAK,MAAM,QACvB,KAAK,MAAM,QAAQ,YACpB,OAEN,OASI/3D,EAAA,KAAAC,WAAA,CAAA,SAAA,CAAA9B,EAAA,IAAC65D,GAAA,CACQ,YAAaD,EACpB,gBAAgB,iBAChB,UAAS,GACT,SAAU,EACV,QAAQ,OACR,UACE,uHACAj3D,GAEF,kBAAiB,KAAK,MAAM,UAAY,OACxC,WAAY,GACZ,SAAU,KAAK,SACf,KAAM,KAAK,MAAM,QAAQ,QACzB,SAAU,CAAC,KAAK,MAAM,QACtB,SAAU,KAAK,aACf,iBAAmBm3C,GAAM,CACnB,GAAAA,EAAE,MAAQ,SAGV0e,GAAU,CACZ1e,EAAE,eAAe,EAEX,MAAA2f,EAAY,SAAS,aAAa,EAClCH,EAAQG,GAAA,YAAAA,EAAW,WAAW,GAEhC,GAAA,CAACA,GAAa,CAACH,EAAO,OAC1B,MAAMQ,EAAcR,EAAM,aAEpBS,EAAU,SAAS,eAAe,IAAI,EAExCP,EAAA,GAAkBM,EAAY,aACVA,EAAY,YAAY,UAC5CR,EAAM,SACR,EAEkB,QAAU,IAC1BA,EAAM,WAAWS,CAAO,EAGxBT,EAAM,cAAcS,CAAO,EAC3BT,EAAM,SAAS,EAAI,EAEnBG,EAAU,gBAAgB,EAC1BA,EAAU,SAASH,CAAK,GAItB,MAAAU,EAAW,SAAS,eAAe,IAAI,EAE7CV,EAAM,WAAWU,CAAQ,EAGzBV,EAAM,cAAcU,CAAQ,EAC5BV,EAAM,SAAS,EAAI,EAEnBG,EAAU,gBAAgB,EAC1BA,EAAU,SAASH,CAAK,EAElB,MAAAN,EAAY,KAAK,SAAS,QAC5BA,GAAaA,EAAU,eACrBQ,KACFpB,GAAeY,CAAS,CAE5B,CACF,CACF,CACF,EACC,CAACY,GACAzB,IACA,KAAK,MAAM,UAAY,SACtB,KAAK,MAAM,QAAQ,UAAY,QAC9B,KAAK,MAAM,QAAQ,UAAY,IAC/B,KAAK,MAAM,QAAQ,UAAYD,KAC9Bl4D,EAAA,IAAA44D,GAAA,CAAe,cAAe,KAAK,aAAe,CAAA,CAAA,EAEzD,CAEJ,EAlNE,KAAK,SAAW74D,EAAM,SAElBA,EAAM,SAAWA,EAAM,QAAQ,mBAC3BA,EAAA,QAAQ,iBAAiB,QAAU,KAAK,cAQhD,CAwMJ,CAwBO,MAAMk6D,GAAwB,CACnCnN,EACAqI,EACAC,IACG,CACG,MAAAC,GAAaD,GAAA,YAAAA,EAAuB,eAAgB,EAUnD,OATc,KAAK,IAKxB,KAAK,KAAKD,EAAS,cAAcE,CAAU,CAAC,EAC5CxI,GAAqBC,CAAO,EAAE,CAChC,CAGF,EAMaoN,GACXn6D,GAYG,CACG,MAAAo6D,EAAWjJ,SAAoB,IAAI,EAEnCpE,EAAU/sD,EAAM,OAAO,QAG3B,OAAAC,EAAA,IAACu1D,GAAA,CACE,GAAGx1D,EACJ,UAAW,GAAG,OAAAA,EAAM,aAAY,sCAAqC,OAAAA,EAAM,WAC3E,aAAcmD,GAAiBnD,EAAM,IAAI,EACzC,MAAO,CACL,MAAOA,EAAM,MAGb,eAAgB,OAChB,WAAY,MACd,EACA,YAAc+5C,GAAM,CAEdA,EAAE,SAAWA,EAAE,eACjBA,EAAE,eAAe,CAErB,EAEA,SAAA95C,EAAA,IAAC64D,GAAA,CACC,QAAS94D,EAAM,QACf,QAAA+sD,EACA,SAAAqN,CAAA,CAAA,CACF,CACF,CAEJ,EClYMC,GAAavF,GAAgB3uD,GAAM,CACvC,cAAeg0D,GACf,WAAY,WACZ,gBAAiBD,GACjB,aAAc,GAChB,CAAC,ECWKI,GAGF,CACF,OAAQ,CAAE,aAAc,EAAG,WAAY,UAAW,EAClD,QAAS,CAAE,aAAc,EAAG,WAAY,MAAO,CAEjD,EAEaC,GAAmC,OAAO,YACrD,OAAO,QAAQ5N,EAAQ,EAAE,IAAI,CAAC,CAACxG,EAAGrJ,CAAC,IAAM,aAAA,OACvCqJ,EACA2O,GAAgBhY,EAAG,CACjB,cAAcp8C,GAAAhB,EAAA46D,GAAYnU,CAAC,IAAb,YAAAzmD,EAAgB,eAAhB,KAAAgB,EAAgC,EAC9C,YAAY2D,GAAAzD,EAAA05D,GAAYnU,CAAC,IAAb,YAAAvlD,EAAgB,aAAhB,KAAAyD,EAA8B,MAC3C,CAAA,CACF,EAAA,CACH,ECuBam2D,GAAoB,CAAA,WAC/B73D,GAAA,MACA2B,GAAA,KACAc,GAAA,QACAa,GAAA,KACAE,GACA,GAAGo0D,EACL,EASO,SAASE,GAAc,EAAe,OAC3C,QAAO/6D,EAAA86D,GAAkB,EAAE,IAAyB,IAA7C,YAAA96D,EAAgD,eAAgB,EACzE,CAEO,MAAMg7D,GAA4B7jB,GACtCA,EAAG,cAAc,IAAMj0C,EAAqB,GAAqBi0C,EAEvD8jB,GAAoD,CAC/D5N,EACAqI,EACAC,IACG,CACH,MAAMuF,EACJJ,GAAkBzN,EAAQ,IAAyB,EAAE,gBACvD,OAAO6N,EAAWA,EAAS7N,EAASqI,EAAUC,CAAqB,EAAI,IACzE,EC5BMwF,GAAqBC,GAA4C,CACrE,MAAMC,EAAY3L,GACZ4L,EAAgBF,EAAK,MACrBG,EAAYF,EAAY5L,GACxB+L,EAAgB,KAAK,IAAKF,EAAgB,GAAO5L,GAAY,CAAG,EAChE+L,EAAiBD,EAAgBD,EACjCG,EAAuB,EAAIF,EAC3BG,EAAkB,EAAIJ,EAgBrB,MAToB,CACzB,KAAAH,EACA,cAAAI,EACA,eARsBI,GAAeA,EAAKH,EAS1C,kBARyBG,GAAeA,EAAKF,EAS7C,cARqBE,GAAeA,EAAKD,EASzC,cARqBj4D,GAAiBA,EAAO63D,CAS/C,CAGF,EAEA,SAASM,GACPx8D,EACAy8D,EACAC,EACA,CAMA,MAAMX,EALaU,GAAA,KAAAA,EAAY,CAC7B,MAAO,OAAO,WACd,OAAQ,OAAO,WACjB,EAGMpG,EAAWyF,GAAkBC,CAAI,EAEvC/7D,EAAI,CAAE,SAAAq2D,EAAU,CAClB,CAI4BjB,GAAO,QAEnC,MAAMv1D,GAA+C88D,IAC5C,CACL,SAAUb,GAAkB,CAC1B,MAAO,OAAO,WACd,OAAQ,OAAO,WAAA,CAChB,EACD,gBAAiB,KACjB,gBAAiB,KACjB,mBAAoB,KACpB,WAAY,KACZ,eAAgB,CAAC,EACjB,YAAa1G,GAAO,QACpB,OAAQG,GACR,WAAY,EACZ,gBAAiB,KACjB,qBAAsB,KACtB,iBAAkB,KAClB,cAAe,GACf,QAAS,KACT,OAAQ,KACR,QAAS,CACX,GAKIqH,GAAkB78D,GAAoB,EAC1C88D,GAAsBh9D,EAAY,CACpC,EAEM,CAAE,SAAUG,GAAK,SAAU88D,EAAQ,EAAAF,GAE5B/G,EACX+G,GAIF,SAASG,GAAgB/O,EAAqBgP,EAA0B,QACtEF,EAAAA,GAAA,EAAM,qBAANA,MAAAA,EAA0B,UAAU,aAAa,gBAAiB,SACtDE,EAAA,aAAa,gBAAiB,MAAM,EAIhD,MAAMC,EAAeD,EAAY,iBAC3B1G,EAAwBqF,GAAyBsB,CAAY,EAE/Dj9D,GAAA,CACF,gBAAiBguD,EAAQ,GACzB,mBAAoB,CAClB,UAAWgP,EACX,aAAAC,EACA,sBAAA3G,CAAA,CACF,CACD,CACH,CAEO,SAAS4G,IAAW,QACzBJ,EAAAA,GAAA,EAAM,qBAANA,MAAAA,EAA0B,UAAU,aAAa,gBAAiB,SAClE98D,GAAI,CAAE,gBAAiB,KAAM,mBAAoB,KAAM,CACzD,CAEA,MAAMm9D,GAAiB,CACrBV,EACAW,IACG,CACiBZ,GAAAx8D,GAAKy8D,CAAmB,CAC9C,EAGMY,GAAW,CACfhK,EACA/nB,EACAgyB,EAAQ,KACL,CACHt9D,GAAKc,IAAO,CACV,eAAgB,CAAE,GAAIw8D,EAAQx8D,EAAE,eAAiB,CAAK,EAAA,CAACuyD,CAAS,EAAG/nB,CAAG,CAAA,EACtE,CACJ,EAEMiyB,GAAajyB,GAAqD,CAClEtrC,GAAA,CAAE,eAAgBsrC,EAAI,CAC5B,EAEMkyB,GAAe,IAAM,CACnB,MAAAC,EAAUX,KAAM,QAClBW,GACF,aAAaA,CAAO,EAElBz9D,GAAA,CAAE,QAAS,KAAM,CACvB,EAEM09D,GAAa,CAAC90D,EAAe2Q,IAAe,CACnCikD,GAAA,EACbx9D,GAAI,CAAE,QAAS,WAAW4I,EAAG2Q,CAAE,EAAG,CACpC,EAEMokD,GAAsB,IAAM,CAC1B,MAAAC,EAASd,KAAM,OAChBc,IACLA,EAAO,eAAiB,GAC1B,EAEMC,GAAoB,IAAM,CACxB,MAAAD,EAASd,KAAM,OAChBc,IACLA,EAAO,eAAiB,GAC1B,EAEaE,GAAyB,CACpC,UAAYF,GAAmB59D,GAAI,CAAE,OAAA49D,EAAQ,EAC7C,kBAAAC,GACA,oBAAAF,GAAA,aACAH,GACA,WAAAE,GACA,YAAa,IAAM19D,GAAI,CAAE,cAAe,GAAO,EAC/C,cAAe,IAAMA,GAAI,CAAE,cAAe,GAAM,EAChD,eAAAm9D,GACA,gBAAAJ,GACA,SAAAG,GACA,eAAiBa,GACfA,GAAmB,KACf/9D,GAAI,CAAE,gBAAA+9D,EAAiB,iBAAkB,IAAM,CAAA,EAC/C/9D,GAAI,CAAE,gBAAA+9D,EAAiB,EAC7B,uBAAyBh6D,GAAgB/D,GAAI,CAAE,iBAAkB+D,EAAG,EACpE,aAAekE,GAAYjI,GAAI,CAAE,WAAYiI,EAAG,EAChD,eAAgB,IAAMjI,GAAI,CAAE,WAAY,KAAM,EAC9C,SAAAq9D,GACA,UAAAE,GACA,sBAAwBx5D,GAAgB/D,GAAI,CAAE,gBAAiB+D,EAAG,EAClE,wBAA0BgF,GACxB/I,GAAI,CAAE,qBAAsB+I,EAAG,EACjC,cAAgBif,GAAchoB,GAAI,CAAE,QAASgoB,CAAG,CAAA,CAClD,EC1OO,SAASg2C,GAAYp3C,EAA2B,CAE9C,MAAA,EACT,CAaO,MAAMq3C,GAAe,IAEnBrV,GAAG,EAMNsV,GAAc,IACpB,IAAIC,GAAU,EAEP,MAAMC,GAAkB,IAAM,CAGnC,MAAMC,GAFY,KAAK,IAAI,EACAH,GAAcC,IACb,SAAS,EAAE,EAAE,YAAY,EACrD,OAAAA,IAAWA,GAAU,GAAKD,GAClB,WAAaG,CACvB,EAEaC,GAAqB,kBA+DrBC,GAAY,EAEnBC,GAAuD,CAC3D,KACA,KACA,KACA,KACA,KAEA,KACA,KACA,KACA,KACA,IACF,EAEaC,GAAiBC,GAAyB,CAC/C,MAAAC,EAAa,IAAI,IAAIH,EAAM,EAG7B,OAFJE,EAAW,QAAS1jB,GAAM2jB,EAAW,OAAO3jB,CAAC,CAAC,EAE1C2jB,EAAW,OAAS,EACf,KAGF,MAAM,KAAKA,CAAU,EAAE,KAAK,MAAM,KAAK,OAAO,EAAIA,EAAW,IAAI,CAAC,CAC3E,EChIMC,GAAuB,IAAM,CAAC,EAE9BC,GAAa,CACjB,MAAO,IACLC,GAAQ,OAAO,CAAE,MAAOC,GAAY,KAAO,CAAA,EAAE,MAAMH,EAAoB,EACzE,SAAU,IAAM,CACV,GAAA,CACF,UAAU,QAAQ,CAAC,QACZ91D,EAAG,CAAA,CAEZ,CAEJ,ECJak2D,GAAU,CAACx6D,EAAauE,IACnCvE,IAAMuE,GACLvE,EAAE,IAAMuE,EAAE,GAAKvE,EAAE,IAAMuE,EAAE,GAAKvE,EAAE,IAAMuE,EAAE,GAAKvE,EAAE,IAAMuE,EAAE,GAAKvE,EAAE,IAAMuE,EAAE,EAKnEk2D,GAAc,CAAE,QAAS,CAAE,EAAG,GAAI,YAAa,GAAK,EAM1D,SAASC,GAAU16D,EAAauE,EAA8B,CAE5D,MAAMo2D,EAAQ,KAAK,IAAI36D,EAAE,EAAGuE,EAAE,CAAC,EACzBq2D,EAAS,KAAK,IAAI56D,EAAE,EAAIA,EAAE,EAAGuE,EAAE,EAAIA,EAAE,CAAC,EACtCs2D,EAAO,KAAK,IAAI76D,EAAE,EAAGuE,EAAE,CAAC,EACxBu2D,EAAU,KAAK,IAAI96D,EAAE,EAAIA,EAAE,EAAGuE,EAAE,EAAIA,EAAE,CAAC,EAGzC,OAAAo2D,EAAQC,GAAUC,EAAOC,EAEpB,CACL,EAAGH,EACH,EAAGE,EACH,EAAGD,EAASD,EACZ,EAAGG,EAAUD,CACf,EAIK,IACT,CAMA,SAASE,GAAM/6D,EAAauE,EAAuB,CACjD,MAAMo2D,EAAQ,KAAK,IAAI36D,EAAE,EAAGuE,EAAE,CAAC,EACzBq2D,EAAS,KAAK,IAAI56D,EAAE,EAAIA,EAAE,EAAGuE,EAAE,EAAIA,EAAE,CAAC,EACtCs2D,EAAO,KAAK,IAAI76D,EAAE,EAAGuE,EAAE,CAAC,EACxBu2D,EAAU,KAAK,IAAI96D,EAAE,EAAIA,EAAE,EAAGuE,EAAE,EAAIA,EAAE,CAAC,EAEtC,MAAA,CACL,EAAGo2D,EACH,EAAGE,EACH,EAAGD,EAASD,EACZ,EAAGG,EAAUD,CACf,CACF,CAEA,SAASG,GACPh7D,EACAuE,EACiB,CACb,OAAAvE,IAAM,MAAQuE,IAAM,KACfvE,GAAKuE,EAGPw2D,GAAM/6D,EAAGuE,CAAC,CACnB,CAIA,MAAM02D,GAAe,CAACC,EAAoBC,IACxC,OAAO,OAAOA,CAAQ,EAAE,OACtB,CAACC,EAAS5kB,IAAM,CAOV,GALA0gB,GAAc1gB,CAAC,GAKfA,EAAE,KAAO0kB,EAAO,GACX,OAAAE,EAMH,MAAAC,EAAcX,GAAUlkB,EAAE,KAAM0kB,EAAO,IAAI,EAAI1kB,EAAE,KAAO,KACvD,OAAAwkB,GAAcK,EAAaD,CAAO,CAC3C,EACA,IACF,EAoBc,SAAAE,GACdJ,EACAC,EACa,CACb,GAAIjE,GAAcgE,CAAM,EAAG,MAAO,CAAC,EAG/B,GAAAA,EAAO,KAAK,EAAIA,EAAO,KAAK,EAAI,GAAKA,EAAO,KAAK,GAAKtP,GACxD,MAAO,CAAC,EAEJ,MAAA2P,EAAkBN,GAAaC,EAAQC,CAAQ,EAEjD,GAAA,CAACI,EAAiB,MAAO,CAAC,EAM9B,MAAMC,EAAcN,EAAO,KAAK,EAAIA,EAAO,KAAK,EAAIK,EAAgB,GAQlEA,EAAgB,IAAMd,GAAY,QAAQ,GAC1Ce,IAAgBf,GAAY,QAAQ,eAEpCA,GAAY,QAAU,CAAE,EAAGc,EAAgB,EAAG,YAAAC,CAAY,EAC1DnB,GAAW,MAAM,GAGnB,MAAMoB,EAAsB,CAAC,EAC7B,UAAWtR,KAAOgR,EAAU,CACpB,MAAA3kB,EAAI2kB,EAAShR,CAAmB,EAElC3T,EAAE,KAAO0kB,EAAO,KAChBhE,GAAc1gB,CAAC,GAGjBA,EAAE,KAAK,EAAIA,EAAE,KAAK,EAClB+kB,EAAgB,IAIhBE,EAAOjlB,EAAE,EAAE,EAAI,CAAE,GAAGA,EAAG,KAAM,CAAE,GAAGA,EAAE,KAAM,EAAGA,EAAE,KAAK,EAAIglB,EAAc,GACxE,CAOK,OAAAC,CACT,CAKA,MAAMC,GAAYP,GAChB,OAAO,OAAOA,CAAQ,EACnB,OAAQ3kB,GAAM,CAAC0gB,GAAc1gB,CAAC,CAAC,EAC/B,IAAKA,GAAMA,EAAE,IAAI,EACjB,OACC,CAACmlB,EAAMC,IAAS,CACR,MAAAC,EAAaF,EAAK,EAAIA,EAAK,EAC3BG,EAAaF,EAAK,EAAIA,EAAK,EAEjC,GAAIE,EAAaD,EACR,OAAAD,EACT,GAAWE,IAAeD,EAAY,CAC9B,MAAAE,EAAYJ,EAAK,EAAIA,EAAK,EAGzB,OAFWC,EAAK,EAAIA,EAAK,EAEbG,EAAYH,EAAOD,CAAA,KAE/B,QAAAA,CAEX,EACA,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAE,CAC3B,EAOY,SAAAK,GACdC,EACAd,EACAe,EACa,CAIb,MAAMC,EAASD,EAAQA,EAAM,KAAOR,GAASP,CAAQ,EAK5C,QAAA/4C,EAAI+5C,EAAO,EAAIA,EAAO,EAAG/5C,EAAI65C,EAAS,KAAK,GAAKrQ,GAAcxpC,IAAK,CAC1E,MAAMg6C,EAAa,CACjB,GAAGH,EACH,KAAM,CAAE,GAAGA,EAAS,KAAM,EAAA75C,EAAG,EAAG+5C,EAAO,CAAE,CAC3C,EAEA,GAAIlB,GAAamB,EAAYjB,CAAQ,IAAM,KACzC,MAAO,CAAE,CAACiB,EAAW,EAAE,EAAGA,CAAW,CACvC,CAMF,QAASh6C,EAAI,EAAGA,EAAI65C,EAAS,KAAK,GAAKrQ,GAAcxpC,IAAK,CACxD,MAAMg6C,EAAa,CACjB,GAAGH,EACH,KAAM,CAAE,GAAGA,EAAS,KAAM,EAAA75C,EAAG,EAAG+5C,EAAO,EAAIA,EAAO,CAAE,CACtD,EAEA,GAAIlB,GAAamB,EAAYjB,CAAQ,IAAM,KACzC,MAAO,CAAE,CAACiB,EAAW,EAAE,EAAGA,CAAW,CACvC,CAMF,MAAMA,EAAa,CACjB,GAAGH,EACH,KAAM,CAAE,GAAGA,EAAS,KAAM,EAAGE,EAAO,EAAIA,EAAO,CAAE,CACnD,EAEO,MAAA,CACL,GAAG,OAAO,OAAOhB,CAAQ,EACtB,OAAQ3kB,GAAMA,EAAE,KAAK,GAAK2lB,EAAO,EAAIA,EAAO,CAAC,EAC7C,IAAK3lB,IAAO,CAAE,GAAGA,EAAG,KAAM,CAAE,GAAGA,EAAE,KAAM,EAAGA,EAAE,KAAK,EAAI2lB,EAAO,EAAM,EAAA,EAClE,OAAO,CAACnS,EAAKxT,KAAO,CAAE,GAAGwT,EAAK,CAACxT,EAAE,EAAE,EAAGA,IAAM,EAAE,EACjD,CAAC4lB,EAAW,EAAE,EAAGA,CACnB,CACF,CAOA,MAAMC,GACJC,GAC0B,CAEpB,MAAAC,EAAU,MAAM,KAAKD,CAAS,EAE9BE,EAAmC,CAAC,EACtC,IAAAC,EAAQF,EAAQ,CAAC,EACjBG,EAAO,EAEX,QAAS,EAAI,EAAG,EAAIH,EAAQ,OAAQ,IAC9BA,EAAQ,CAAC,EAAI,IAAMA,EAAQ,EAAI,CAAC,EAClCG,KAEAF,EAAU,KAAK,CAAE,MAAAC,EAAO,KAAAC,CAAA,CAAM,EAEtBD,EAAAF,EAAQ,EAAI,CAAC,EACdG,EAAA,GAIJ,OAAAF,CACT,EAEgB,SAAAG,GACdnT,EACAoT,EACa,CACP,MAAAC,EAAiBvB,GAAU9R,EAASoT,CAAW,EAC/CzB,EAAW,CACf,GAAGyB,EACH,GAAGC,EACH,CAACrT,EAAQ,EAAE,EAAGA,CAChB,EAGO,OAFmBsT,GAAe3B,CAAQ,CAGnD,CAMO,SAAS2B,GAAe3B,EAAoC,CAG3D,MAAA4B,EAAcrB,GAASP,CAAQ,EAC/B6B,EAAaD,EAAY,EAAIA,EAAY,EAGzCE,MAAgB,IACtB,QAASj5D,EAAI,EAAGA,EAAIg5D,EAAYh5D,IAC9Bi5D,EAAU,IAAIj5D,CAAC,EAGjB,UAAWmmD,KAAOgR,EAAU,CACpB,MAAA3kB,EAAI2kB,EAAShR,CAAmB,EAClC,GAAA3T,EAAE,OAAS,aACJ,QAAAp0B,EAAIo0B,EAAE,KAAK,EAAGp0B,EAAIo0B,EAAE,KAAK,EAAIA,EAAE,KAAK,EAAGp0B,IAC9C66C,EAAU,OAAO76C,CAAC,CAEtB,CAGI,MAAAo6C,EAAYH,GAAyBY,CAAS,EAE9ClS,EAAkBoQ,EAExB,UAAWhR,KAAOY,EAAiB,CAC3B,MAAAvU,EAAIuU,EAAgBZ,CAAmB,EAEzC,GAAA3T,EAAE,OAAS,aAAc,CACrB,MAAA0mB,EAAaV,EAAU,OAAO,CAACxS,EAAK1tD,IAAM0tD,EAAM1tD,EAAE,KAAM,CAAC,EACzD6gE,EAAY3mB,EAAE,KAAK,EAAI0mB,EACzBC,GAAa,KACCpS,EAAAvU,EAAE,EAAE,EAAI,CACtB,GAAGA,EACH,KAAM,CAAE,GAAGA,EAAE,KAAM,EAAG2mB,CAAU,CAClC,EACF,KACK,CACC,MAAAC,EAAW5mB,EAAE,KAAK,EAClB0mB,EAAaV,EAChB,OAAQlgE,GAAM8gE,GAAY9gE,EAAE,MAAQA,EAAE,IAAI,EAC1C,OAAO,CAAC0tD,EAAK1tD,IAAM0tD,EAAM1tD,EAAE,KAAM,CAAC,EAE/B+gE,EAAOD,EAAWF,EACRnS,EAAAvU,EAAE,EAAE,EAAI,CACtB,GAAGA,EACH,KAAM,CAAE,GAAGA,EAAE,KAAM,EAAG6mB,CAAK,CAC7B,CAAA,CACF,CAGK,OAAAtS,CACT,CC3Ua,MAAAuS,GACXC,IACI,CACJ,OAAQC,GAAcD,CAAa,EACnC,IAAKA,CACP,GAEO,SAASC,GACdD,EACA,CACA,MAAME,EAA4B,CAAC,EAE7BC,EAAQ,IAAI,MAAM,GAAoB,CAC1C,IAAIp5D,EAAGq5D,EAAM,CACX,OAAIA,IAAS,UACHC,IACNL,EAAeM,GAAiB,CACxB,MAAApC,EAAS,CAAE,GAAGoC,CAAa,EACjC,IAAIC,EAAUrC,EAEd,QAASz3D,EAAI,EAAGA,EAAIy5D,EAAK,OAAS,EAAGz5D,IAAK,CAClC25D,MAAAA,EAAOF,EAAKz5D,CAAC,EACnB85D,EAAQH,CAAI,EAAI,CAAE,GAAIG,EAAQH,CAAI,CAAa,EAC/CG,EAAUA,EAAQH,CAAI,CAAA,CAGxB,MAAMI,EAAWN,EAAKA,EAAK,OAAS,CAAC,EACrC,OAAAK,EAAQC,CAAQ,EAAIH,EACbnC,CAAA,CACR,EACDgC,EAAK,OAAS,EACPC,GAIPC,IAAS,QACHC,IACNL,EAAeM,GAAiB,CACxB,MAAApC,EAAS,CAAE,GAAGoC,CAAa,EACjC,IAAIC,EAAUrC,EAEd,QAASz3D,EAAI,EAAGA,EAAIy5D,EAAK,OAAS,EAAGz5D,IAAK,CAClC25D,MAAAA,EAAOF,EAAKz5D,CAAC,EACnB85D,EAAQH,CAAI,EAAI,CAAE,GAAIG,EAAQH,CAAI,CAAa,EAC/CG,EAAUA,EAAQH,CAAI,CAAA,CAGxB,MAAMI,EAAWN,EAAKA,EAAK,OAAS,CAAC,EAE/BO,EAAeF,EAAQC,CAAQ,EACjC,OAAA,OAAOC,GAAiB,SAC1BF,EAAQC,CAAQ,EAAI,CAAE,GAAGC,EAAc,GAAGJ,CAAM,EAGhDE,EAAQC,CAAQ,EAAIH,EAEfnC,CAAA,CACR,EACDgC,EAAK,OAAS,EACPC,IAIXD,EAAK,KAAKE,CAAI,EACPD,EAAA,CACT,CAoBD,EAED,MAAO,KACLD,EAAK,OAAS,EACPC,EAEX,CCnHO,MAAMO,GAAiB,GACjBC,GAAa,OACbC,GAAW,QACXC,GAAuB,CAAE,MAAOF,GAAY,IAAKC,EAAS,EAIhE,SAASE,GACdj8C,EACA9lB,EAAWgiE,GAAc,WACT,CAEd,OAAAl8C,GAAM,MAEN,OAAOA,GAAM,UACbA,KAAK9lB,EAAE,OACPk9D,GAAa,CAEjB,CAUa,MAAA+E,GAActJ,GACGA,EAAY,QAAQ,SAAU,EAAE,EACjC,YAAA,EAAc,UAAU,EAAGgJ,EAAc,EAWzD5iE,GAAsB,CACjC,MAAO,CAAC,EACR,MAAO,KACP,WAAY,CAAA,CACd,EAEaijE,GAAgB/iE,KAAgB,IAAMF,EAAY,EAElDmjE,GAAWpa,GACtBka,GAAehiE,GAAO+hE,GAAcja,EAAI9nD,CAAC,EAAIA,EAAE,MAAM8nD,CAAE,EAAI,IAAK,ECnDrDqa,GAAc,WAQdC,GAAgB,CAACtiE,EAA2B67D,EAAW,MAE3D77D,GAAA,YAAAA,EAAM,WAAY67D,EAmBd0G,GAAiBnU,GAC5BA,GAAQA,EAAK,IAAOA,EAAK,MAAQ,QAAU,GAAK,IAAI,OAAAA,EAAK,KAAS,GASvDoU,GAAe,CAACxiE,EAA2BouD,IACtD,WAAW,OAAAiU,GAAW,KAAI,OAAAC,GAActiE,CAAI,GAAI,OAAAuiE,GAAcnU,CAAI,GAQvDqU,GAAgB,CAC3BziE,EACAouD,IACG,GAAG,OAAAiU,GAAW,KAAI,OAAAC,GAActiE,CAAI,GAAI,OAAAuiE,GAAcnU,CAAI,GChD/C,SAAAsU,GAAatU,EAAeuU,EAAgC,CACnE,OAAAvU,CACT,CCFgB,SAAAX,GACdC,EACAC,EACsB,CACtB,OAAOD,EAAM,OACX,CAACE,EAAKC,EAAMC,IAAU,CACd,MAAAC,EAAMJ,EAAYE,EAAMC,CAAK,EACnC,OAAAF,EAAIG,CAAG,EAAIF,EACJD,CACT,EACA,CAAA,CACF,CACF,CCfO,SAAS/qC,MAAM+/C,EAAsB,CACnC,OAAAC,GAAQC,GAAKF,CAAM,CAAC,CAC7B,CCEA,MAAMG,GAAWC,EAAAA,WAGf,CAAC,CAAE,UAAA/+D,EAAW,mBAAAg/D,EAAoB,GAAG5iE,CAAM,EAAGqG,IAC9CpG,EAAA,IAAC4iE,GAAA,CACC,IAAAx8D,EACA,mBAAoBmc,GAClB,qDACAogD,CACF,EACA,UAAWpgD,GAAG,8BAA+B5e,CAAS,EACrD,GAAG5D,CAAA,CACN,CACD,EACD0iE,GAAS,YAAc,WAEvB,MAAMI,GAAgBH,EAGpB,WAAA,CAAC,CAAE,UAAA/+D,EAAW,GAAG5D,CAAS,EAAAqG,UACzB,MAAI,CAAA,IAAAA,EAAU,UAAWmc,GAAG,oBAAqB5e,CAAS,EAAI,GAAG5D,EAAO,CAC1E,EACD8iE,GAAc,YAAc,gBAE5B,MAAMC,GAAeJ,EAAM,WAGzB,CAAC,CAAE,MAAAlV,EAAO,UAAA7pD,EAAW,GAAG5D,CAAM,EAAGqG,IAAQ,CACnC,MAAA28D,EAAkBC,EAAM,WAAWC,EAAe,EAClD,CAAE,KAAAC,EAAM,aAAAC,EAAc,SAAAC,CAAa,EAAAL,EAAgB,MAAMvV,CAAK,EAGlE,OAAA3rD,EAAA,KAAC,MAAA,CACC,IAAAuE,EACA,UAAWmc,GACT,mDACA,oDACA,aACA6gD,GAAY,6CACZF,GAAQ,mBACRv/D,CACF,EACC,GAAG5D,EAEH,SAAA,CAAAmjE,EACAC,SACE,MAAI,CAAA,UAAU,wEACb,SAACnjE,EAAAA,IAAA,MAAA,CAAI,UAAU,0DAA2D,CAAA,CAC5E,CAAA,CAAA,CAAA,CAEJ,CAEJ,CAAC,EACD8iE,GAAa,YAAc,eAE3B,MAAMO,GAAoBX,EAGxB,WAAA,CAAC,CAAE,GAAG3iE,CAAS,EAAAqG,UACd,MAAI,CAAA,IAAAA,EAAU,KAAK,YAAa,GAAGrG,EAElC,SAAAC,EAAA,IAACqF,GAAA,CACC,OAAO,OACP,MAAM,eACN,UAAU,0BAAA,CACZ,CAAA,CACF,CACD,EACDg+D,GAAkB,YAAc,oBCzEhC,MAAMC,GAAY,CAAC,CACjB,SAAAC,EACA,SAAA7/D,CACF,IAEI1D,EAAAA,IAAC,MAAI,CAAA,UAAU,0CACb,SAAAA,EAAA,IAAC,MAAA,CACC,UAAU,kEAEV,sBAAqBujE,EAEpB,SAAA7/D,CAAA,CAAA,EAEL,ECuFS8/D,GAAoB,CAAC,CAChC,UAAA7/D,EACA,QAAA8/D,EACA,KAAAC,EACA,MAAAnT,EACA,SAAA7sD,EACA,UAAAigE,EACA,UAAA7jE,EACA,MAAA8jE,EACA,GAAG7jE,CACL,IACEC,EAAA,IAACF,EAAA,CACC,UAAW,o1BA0BK,OAAA6D,GAAA,KAAAA,EAAa,IAC7B,QAAA8/D,EACA,KAAAC,EACA,MAAAnT,EACA,iBAAgBoT,IAAc,GAC9B,gBAAe5jE,EAAM,WAAa,GAClC,aAAY6jE,IAAU,GACrB,GAAG7jE,EAEH,SAAA2D,CAAA,CACH,EAOWmgE,GAAe,CAAC,CAAE,SAAAngE,EAAU,KAAAogE,EAAM,GAAG/jE,KACjC+jE,GAAQ,CAAC/jE,EAAM,SAS3BC,EAAA,IAAAwjE,GAAA,CAAkB,UAAWO,GAAO,GAAGhkE,EAAO,GAAI+jE,EAChD,SAAApgE,EACH,EAEC1D,EAAA,IAAAwjE,GAAA,CAAkB,UAAU,SAAU,GAAGzjE,EACvC,SAAA2D,EACH,EC1KJ,SAASsgE,GAAqBC,EAAwB,CAC9C,MAAAC,EAAQ,IAAI,WAAWD,CAAM,EAC5B,cAAA,OAAO,gBAAgBC,CAAK,EAC5B,MAAM,KAAKA,EAAQC,IAAU,IAAMA,EAAK,SAAS,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,KACtE,EACF,CACF,CAGO,SAASC,IAA+B,CAC7C,OAAOJ,GAAqB,EAAE,CAChC,CAGA,eAAsBK,GAAsBC,EAAmC,CAEvE,MAAAC,EADU,IAAI,YAAY,EACX,OAAOD,CAAQ,EAE9BE,EAAOC,GAAAA,OAAO,YAAYF,CAAI,EAK7B,OAJW,KAAK,OAAO,aAAa,GAAG,IAAI,WAAWC,CAAI,CAAC,CAAC,EAChE,QAAQ,MAAO,GAAG,EAClB,QAAQ,MAAO,GAAG,EAClB,QAAQ,KAAM,EAAE,CAErB,CCnBA,MAAME,IACHrkE,GAAW,SAAS,GAAKA,GAAW,KAAK,IAAM,CAACA,GAAW,WAAW,EACnEskE,GAAqBD,GACvB,iCACA,GAAG,cAAO,SAAS,OAAM,kBAmB7B,eAAeE,GAAYC,EAAa,CAClCC,GAAU,YAAY,IAAM,UACvB,OAAA,KAAKD,EAAK,QAAQ,EAEzB,MAAME,GAAQ,KAAK,CACjB,IAAAF,EACA,WAAY,QACZ,kBAAmB,SAAA,CACpB,CAEL,CAEA,MAAMG,GAAoBjlE,GAAiC,CACzD,MAAMklE,EAAoB,SAAY,CACpC,MAAMC,EAAed,GAAqB,EACpCe,EAAgB,MAAMd,GAAsBa,CAAY,EAExDzT,EAAQ,KACZ,mBACE,KAAK,UAAU,CACb,SAAU1xD,EAAM,SAChB,aAAAmlE,EACA,KAAMnlE,EAAM,IACb,CAAA,CAAA,CAEL,EAEMqlE,EAAgB,IAAI,IACxB,8CACF,EACAA,EAAc,aAAa,OACzB,YACA,2EACF,EACcA,EAAA,aAAa,OAAO,eAAgBT,EAAkB,EACtDS,EAAA,aAAa,OAAO,gBAAiB,MAAM,EAC3CA,EAAA,aAAa,OAAO,QAAS,eAAe,EAC5CA,EAAA,aAAa,OAAO,QAAS3T,CAAK,EAClC2T,EAAA,aAAa,OAAO,iBAAkBD,CAAa,EACnDC,EAAA,aAAa,OAAO,wBAAyB,MAAM,EAE3D,MAAAR,GAAYQ,EAAc,UAAU,CAC5C,EAGE,OAAAvjE,EAAA,KAACgiE,GAAA,CACC,MAAK,GACL,UAAS,GACT,UAAU,wBACV,QAASoB,EAET,SAAA,CAAAjlE,EAAA,IAAC,MAAA,CACC,IAAI,iCACJ,UAAU,0BAAA,CACZ,EAAE,QAAA,CAAA,CAEJ,CAEJ,ECgBaqlE,GAAc,CAAC,CAC1B,SAAA3hE,EACA,OAAA4hE,EACA,SAAAC,EACA,UAAA5hE,EACA,gBAAA6hE,EACA,MAAAjV,EACA,GAAGxwD,CACL,IAAqB,OAIjB,OAAA8B,EAAA,KAAC,MAAA,CACC,UAAW,2PAUN,OAAA8B,GAAA,KAAAA,EAAa,IAClB,MAAA4sD,EAEC,SAAA,CACC+U,GAAAtlE,EAAA,IAAC,MAAA,CACC,UAAW,uCACT,OAAAwlE,GAAA,KAAAA,EAAmB,IAErB,QAASzlE,EAAM,QAEd,SAAAulE,CAAA,CACH,EAQFtlE,EAAA,IAAC,QAAA,CACC,IAAKulE,EACL,UAAU,kMASV,YAAaxlE,EAAM,MACnB,KAAMA,EAAM,MAAM,YAAY,EAC9B,MAAMN,EAAAM,EAAM,OAAN,KAAAN,EAAc,OACnB,GAAGM,CAAA,CACN,EACCC,EAAAA,IAAA,MAAA,CAAI,UAAU,qBAAsB,SAAA0D,CAAS,CAAA,CAAA,CAAA,CAChD,CAEJ,EClJa+hE,GAAoC,IAAM,CACrD,KAAM,CAACC,EAAWC,CAAO,EAAIC,GAAY,EAElC,MAAA,CACJC,GACCH,EAAU,CAAE,GAAGG,EAAS,SAAU,aAAa,OAAAA,EAAQ,UAAY,EACrEF,CACF,CACF,ECfaG,GAAqC,IAAM,CAChD,KAAA,CAACC,CAAO,EAAIC,GAAY,EAEvB,OAACC,GACNF,EAAQ,CACN,QAAAE,EACA,SAAU,IAEV,SAAU,SACV,SAAU,WAAA,CACX,CACL,ECfMC,GAAanmE,GAEfA,EAAM,OACJC,EAAA,IAAC,OAAI,UAAU,qCAAsC,WAAM,MAAM,ECV1DmmE,GAAqB,MAAOF,GAAoB,CACvD,GAAA,CAII,MAAA,MAAM,+HAA8C,CACxD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,EACA,KAAM,KAAK,UAAU,CACnB,QAASA,CACV,CAAA,CAAA,CACF,QACM9mE,EAAc,CAErB,QAAQ,IAAIA,CAAG,CAAA,CAEnB,ECqBMinE,GACJ,yJAEWC,GAAmB,IACnB,IAAA,OACR,eAAe,QAAS,CACvB,SAAU,gBACV,IAAK,UACL,MAAO,UACP,KAAM,UACN,KAAM,UACN,OAAQ,UACR,OAAQ,UACR,OAAQ,EAAA,CACT,EACA,QAAQ,MAAO,GAAG,EAClB,QAAQ,IAAK,EAAE,EAGdC,GAAiC,CACrCC,EACAC,IACG,CACH,MAAMC,EAAW,CACf,8CACA,yDACA,oCACA,+CACA,gDACA,iDACA,6CACF,EAEMC,EAAgBD,EAAS,KAAK,MAAM,KAAK,OAAO,EAAIA,EAAS,MAAM,CAAC,EAC1EN,GACE,GAAG,OAAAO,EAAa,gBAAe,OAAAH,EAAQ,aAAY,OAAAC,EACrD,CACF,EAEaG,GAAuB,MAClCC,EACAC,EACAC,IACG,CACC,GAAA,CACF,MAAMroE,GAAG,KAAK,cAAc,CAAE,MAAAmoE,EAAO,EACrC,QAAQ,IAAI,8BAA8B,EAC1CC,EAAa,IAAI,QACV1nE,EAAK,CACRA,aAAe,MACJ0nE,EAAA,UAAY1nE,EAAI,OAAO,EAEpC0nE,EAAa,mCAAmC,EAElDC,EAAa,EAAE,CAAA,CAEnB,EAEaC,GAAqBhnE,GAQ5B,CACJ,KAAM,CAACinE,EAAMC,CAAO,EAAI1lE,EAAAA,SAAS,EAAE,EAC7B,CAAC2lE,EAAQC,CAAS,EAAI5lE,EAAAA,SAAS,EAAK,EACpCilE,EAAYzmE,EAAM,UAClBwmE,EAAWxmE,EAAM,SAEjBiB,EAASC,GAAa,EAEtBmmE,EAAgBttB,GAAwC,CACxD,GAAA,CACFA,EAAE,eAAe,EACdr7C,GAAA,KACA,oBAAoB,CAAE,MAAO+nE,EAAW,KAAAQ,EAAM,EAC9C,KAAMK,GAAmB,CAChB,QAAA,IAAI,iCAAkCA,CAAc,EAC5D5oE,GAAG,SAAS,CACV6oE,GAAG,SAASD,EAAe,KAAK,EAAE,EAC/B,OAAO,CACN,SAAAd,CAAA,CAED,EACA,KAAK,CAAE,KAAMc,EAAe,KAAK,GAAI,EACxCC,GAAG,iBAAiBD,EAAe,KAAK,EAAE,EACvC,OAAO,CACN,OAAQE,GAAa,EACrB,cAAelB,GAAiB,EAChC,WAAYA,GAAiB,CAAA,CAC9B,EACA,KAAK,CAAE,KAAMgB,EAAe,KAAK,EAAI,CAAA,CAAA,CACzC,EACO,QAAA,IAAI,uBAAwB,YAAoB,EAEtDf,GAA+BC,EAAUC,CAAS,CACpD,CACD,EACA,KAAK,IAAM,CACV,QAAQ,IAAI,gCAAgC,EAC5CxlE,EAAO,KAAKjB,EAAM,YAAa,OAAQ,SAAS,CAAA,CACjD,EACA,MAAOZ,GAAQ,OACdY,EAAM,aAAa,YAAYN,EAAAN,EAAI,OAAJ,YAAAM,EAAU,QAAO,EAChDwnE,EAAQ,EAAE,CAAA,CACX,QACIntB,EAAG,CACF,QAAA,MAAM,oBAAqBA,CAAC,EACpC,MAAM0tB,EAAQ1tB,EACR/5C,EAAA,aAAaynE,EAAM,OAAO,CAAA,CAEpC,EAEMC,EAAWT,EAAK,SAAW,EAEjC,cACG,OAAA,CAAK,SAAUI,EAAc,UAAU,YACtC,SAAA,OAAC,MAAA,CAAI,UAAU,oDAAoD,SAEnE,kCAAA,QACC,MAAA,CAAI,UAAU,8DACb,SAACvlE,EAAAA,KAAA4gE,GAAA,CAAS,UAAW,EAAG,SAAW3oB,GAAMmtB,EAAQntB,CAAC,EAChD,SAAA,CAAAj4C,OAACghE,GACC,CAAA,SAAA,CAAC7iE,EAAAA,IAAA8iE,GAAA,CAAa,MAAO,EAAG,EACvB9iE,EAAAA,IAAA8iE,GAAa,CAAA,MAAO,EAAG,EACvB9iE,EAAAA,IAAA8iE,GAAa,CAAA,MAAO,CAAG,CAAA,CAAA,EAC1B,QACCO,GAAkB,EAAA,SAClBR,GACC,CAAA,SAAA,CAAC7iE,EAAAA,IAAA8iE,GAAA,CAAa,MAAO,EAAG,EACvB9iE,EAAAA,IAAA8iE,GAAa,CAAA,MAAO,EAAG,EACvB9iE,EAAAA,IAAA8iE,GAAa,CAAA,MAAO,CAAG,CAAA,CAAA,CAC1B,CAAA,CAAA,CAAA,CACF,CAAA,CACF,QACCoD,GAAA,CAAU,MAAOnmE,EAAM,UAAW,EAElCC,EAAAA,IAAA,MAAI,CAAA,UAAU,WACb,SAAAA,EAAA,IAAC,MAAA,CACC,UAAU,mNAIV,MACEynE,EACI,CAAE,eAAgB,KAAM,kBAAmB,IAAK,EAChD,CAAE,eAAgB,MAAO,EAE/B,YAAWA,EAEX,SAACznE,EAAAA,IAAA6jE,GAAa,CAAA,KAAK,SAAS,UAAU,SAAS,SAE/C,gBAAA,CAAA,CAAA,CAAA,EAEJ,EAEA7jE,EAAA,IAAC,MAAA,CACC,UAAU,uHAEV,YAAWgnE,EAAK,OAAS,EAExB,SAACE,oBAsBE,SAAY,cAAA,CAAA,EArBZrlE,EAAA,KAAAC,EAAA,SAAA,CAAA,SAAA,CAAA,qDACwD,IACxD9B,EAAA,IAAC,SAAA,CACC,KAAK,SACL,UAAU,2CACV,QAAS,IAAM,CACbmnE,EAAU,EAAI,EACdR,GACE5mE,EAAM,UACNA,EAAM,aACNA,EAAM,YACR,EACA,WAAW,IAAM,CACfonE,EAAU,EAAK,GACd,IAAK,CACV,EACD,SAAA,2BAAA,CAAA,CAGH,CAAA,CAAA,CAEc,CAAA,CAElB,EACF,CAEJ,EAEaO,GAAY,MAAOC,EAAqBf,KAUtC,MATD,MAAM,MAAMvoE,GAAc,cAAe,CACnD,OAAQ,OACR,KAAM,OACN,QAAS,CACP,eAAgB,kBAClB,EACA,KAAM,KAAK,UAAU,CAAE,SAAUspE,EAAa,MAAAf,CAAO,CAAA,CAAA,CACtD,GAEsB,KAAK,GAEhB,OAmERgB,GAAmB7nE,GAOnB,CACJ,MAAM6mE,EAAQ7mE,EAAM,MACdwmE,EAAWxmE,EAAM,SAEjBqnE,EAAe,MAAOttB,GAAwC,CAElE,GADAA,EAAE,eAAe,EACb,EAAC8sB,EAED,GAAA,CACF,GAAI,CAACR,GAAY,KAAKQ,CAAK,EACnB,MAAA,IAAI,MAAM,mCAAmC,EAKrD,GAFsC,MAAMc,GAAUnB,EAAUK,CAAK,EAG7D,MAAA,IAAI,MAAM,oDAAoD,EAGtE7mE,EAAM,aAAa6mE,CAAK,EACxB,MAAMD,GAAqBC,EAAO7mE,EAAM,aAAcA,EAAM,YAAY,QACjE+5C,EAAG,CACV,MAAM0tB,EAAQ1tB,EACR/5C,EAAA,aAAaynE,EAAM,OAAO,CAAA,CAEpC,EAII,OAAA3lE,EAAA,KAAAC,WAAA,CAAA,SAAA,OAAC,MAAA,CAAI,UAAU,oDAAoD,SAEnE,eAAA,SACC,OAAA,CAAK,SAAUslE,EAAc,UAAU,mBACtC,SAAA,CAAApnE,EAAA,IAACqlE,GAAA,CACC,MAAO,WACP,KAAM,OACN,SAAQ,GACR,SAAQ,GACR,MAAOtlE,EAAM,SACb,UAAU,QAAA,CACZ,EACAC,EAAA,IAACqlE,GAAA,CACC,MAAO,QACP,KAAM,QACN,aAAa,QACb,SAAQ,GACR,UAAU,SACV,MAAOuB,EACP,SAAW9sB,GAAM,CACf/5C,EAAM,SAAS+5C,EAAE,OAAO,MAAM,aAAa,EAC3C/5C,EAAM,aAAa,IAAI,CAAA,CACzB,CACF,QACCmmE,GAAA,CAAU,MAAOnmE,EAAM,UAAW,EAElC8B,EAAAA,KAAA,MAAI,CAAA,UAAU,WACb,SAAA,CAAA7B,EAAA,IAAC,MAAA,CACC,UAAU,mNAIV,MACE4mE,IAAU,GACN,CAAE,eAAgB,KAAM,kBAAmB,IAAK,EAChD,CAAE,eAAgB,MAAO,EAE/B,YAAWA,IAAU,GAErB,SAAC5mE,EAAAA,IAAA6jE,GAAa,CAAA,KAAK,SAAS,UAAU,SAAS,SAE/C,gBAAA,CAAA,CAAA,CACF,EACA7jE,EAAA,IAAC,MAAA,CACC,UAAU,iOAIV,MACE4mE,IAAU,GACN,CAAE,eAAgB,KAAM,kBAAmB,IAAK,EAChD,CAAE,eAAgB,MAAO,EAE/B,YAAWA,IAAU,EAAA,CAAA,CACtB,CACH,CAAA,CAAA,EACF,QAEC,MAAA,CAAI,UAAU,QAAQ,SAAE,KAAA,QACxB,MAAI,CAAA,UAAU,sBACb,SAAC5mE,EAAA,IAAAglE,GAAiB,CAAA,KAAK,SAAS,SAAUjlE,EAAM,QAAU,CAAA,CAC5D,CAAA,CAAA,EACF,CAEJ,EAOa8nE,GAAY9nE,GAAyB,CAChD,KAAM,CAAC6mE,EAAOkB,CAAQ,EAAIvmE,EAAAA,SAAiB,EAAE,EACvC,CAACwmE,EAAWC,CAAY,EAAIzmE,EAAAA,SAAwB,IAAI,EACxD,CAACilE,EAAWM,CAAY,EAAIvlE,EAAAA,SAAS,EAAE,EAG3C,OAACM,EAAA,KAAA,MAAI,CAAA,UAAU,uCACb,SAAA,CAAAA,EAAA,KAAC,MAAA,CACC,UAAU,iDACV,MAAO,CAAE,eAAgB,MAAO,EAEhC,SAAA,CAACA,EAAAA,KAAA,OAAA,CAAK,UAAU,gBAAgB,SAAA,CAAA,YAAU9B,EAAM,QAAA,EAAS,QACxD,OAAA,CAAK,UAAU,gBAAgB,SAAe,YAAA,CAAA,CAAA,CAAA,CACjD,EAEAC,EAAA,IAAC,MAAA,CACC,UAAU,gKAEV,MAAO,CAAE,eAAgB,MAAO,EAE/B,SACCwmE,EAAAxmE,EAAA,IAAC+mE,GAAA,CACC,SAAUhnE,EAAM,SAChB,UAAAymE,EACA,UAAAuB,EACA,aAAcC,EACd,aAAAlB,EACA,YAAatoE,EAAO,SAAA,CAAA,EAGtBwB,EAAA,IAAC4nE,GAAA,CACC,SAAU7nE,EAAM,SAChB,UAAAgoE,EACA,aAAcC,EACd,MAAApB,EACA,SAAAkB,EACA,aAAAhB,CAAA,CAAA,CACF,CAAA,CAEJ,EACF,CAEJ,EAKMmB,GAAW,CAAC,CAChB,SAAAC,CACF,IAAkE,OAChE,KAAM,CAACC,EAAYC,CAAa,EAAI7mE,EAAAA,SAAS,EAAK,EAE5CglE,GAAW9mE,EAAAyoE,EAAS,QAAT,YAAAzoE,EAAgB,SAE3B0B,EAAUC,GAAW,EACrB1B,EAAOC,GAAQ,EAErB0oE,GAAoB,IAAM,CAEpB3oE,GACFyB,EAAQ,QAAQ,GAAG,EAGhBolE,GACKplE,EAAA,QAAQ3C,EAAO,KAAK,CAC9B,EACC,CAAC+nE,EAAU7mE,CAAI,CAAC,EAEnB,MAAM4oE,EAA+B,CACnC,SAAU/B,GAAY,GACtB,cAAA6B,CACF,gBAGGG,GAAa,CAAA,WAAU,GAAC,cAAe/pE,EAAO,MAC5C,SAAA,CAAA2pE,SAAeK,GAAY,EAAA,QAE3BlF,GACC,CAAA,SAAAtjE,EAAAA,IAAC6nE,GAAU,CAAA,GAAGS,CAAe,CAAA,EAC/B,SAECG,GAAO,CAAA,SAAA,CAAA,kCAC0B,IAChCzoE,EAAA,IAAC,IAAA,CACC,KAAK,kCACL,OAAO,SACP,IAAI,aACJ,UAAU,gBACX,SAAA,gBAAA,CAED,EAAK,IAAI,MACL,IACJA,EAAA,IAAC,IAAA,CACC,KAAK,yBACL,OAAO,SACP,IAAI,aACJ,UAAU,gBACX,SAAA,kBAAA,CAAA,CAED,CACF,CAAA,CAAA,EACF,CAEJ,EAEMyoE,GAAS,CAAC,CAAE,SAAA/kE,KAEd1D,EAAA,IAAC,MAAA,CACC,UAAU,kRAWT,SAAA0D,CAAA,CACH,ECphBSglE,GAAa/N,GAAyC,CAC9Dl8D,GAAA,MAAM,cAAeY,GAAS,OAC3B,GAAA,CAACA,EAAK,KAAM,OAGhB,MAAMC,EAAQ,CAAE,MAAO,CAAE,EAAG,CAAE,MAAO,CAAE,OAAOG,EAAAJ,EAAK,OAAL,YAAAI,EAAW,EAAG,GAAM,EAElEhB,GAAG,MAAM,eAAea,EAAQC,GAAQ,OAChC,MAAAopE,GAAWlpE,EAAAF,EAAI,OAAJ,YAAAE,EAAU,MAC3B,GAAI,CAACkpE,EAAU,OAEf,MAAMC,EAAWD,EAAS,IAAK9lE,GAAMA,EAAE,IAAe,EACtD83D,EAASiO,CAAQ,CAAA,CAClB,CAAA,CACF,CACH,EAEA,eAAeC,IAAmB,CAChC,MAAMC,EAAOC,GAAc,EAErBrpE,EAAOd,GAAa,SAAA,EAAW,KACrC,GAAI,CAACc,EAAM,OAYL,MAAA6kE,EAAO,MATD,MAAM,MAAMlmE,GAAc,eAAgB,CACpD,OAAQ,OACR,KAAM,OACN,QAAS,CACP,MAAOqB,EAAK,aACd,EACA,KAAM,KAAK,UAAU,CAAE,WAAYopE,CAAM,CAAA,CAAA,CAC1C,GAEsB,KAAK,EAC5B,QAAQ,IAAIvE,CAAI,CAClB,CAEA,SAASyE,GAAQlb,EAAe,CACxB,MAAApuD,EAAOd,GAAa,SAAA,EAAW,KAErC,GAAI,CAACc,EACG,MAAA,IAAI,MAAM,oBAAoB,EAInCjB,GAAA,SACD6oE,GAAG,MAAMxZ,EAAK,EAAE,EACb,OAAO,CACN,IAAKA,EAAK,IACV,WAAYuY,GAAiB,EAC7B,YAAaA,GAAiB,EAC9B,KAAMvY,CACP,CAAA,EACA,KAAK,CAAE,MAAOpuD,EAAK,EAAI,CAAA,CAAA,EAC1B,MAAOP,GAAQ,QAAQ,IAAI,oBAAqB2uD,EAAM3uD,CAAG,CAAC,EAE3C0pE,GAAA,CACnB,CAEA,SAASI,GAAWnb,EAAe,CACjCrvD,GAAG,SAAS,CACV6oE,GAAG,MAAMxZ,EAAK,EAAE,EAAE,OAAO,CACvB,IAAKA,EAAK,IACV,YAAauY,GAAiB,EAC9B,KAAMvY,CACP,CAAA,CAAA,CACF,EAEgB+a,GAAA,CACnB,CAEA,SAASK,GAAWpb,EAAe,CAC9BrvD,GAAA,SAAS,CAAC6oE,GAAG,MAAMxZ,EAAK,EAAE,EAAE,OAAO,CAAC,CAAC,EACvB+a,GAAA,CACnB,CAEa,MAAAM,GAAarb,GACxB,OAAO,OAAOA,EAAK,QAAQ,EAAE,IAAIf,EAAW,EAEjCgc,GAAgB,IAAM,CAC3B,MAAAK,EAAQxH,GAAc,SAAA,EAAW,MACjCyH,EAAS,IAAI,IACjB,OAAO,OAAOD,CAAK,EAChB,QAAStb,GAASqb,GAAUrb,CAAI,CAAC,EACjC,OAAQ+W,GAA6BA,GAAQ,IAAI,CACtD,EAEMnlE,EAAOd,GAAa,SAAA,EAAW,KAEjC,OAAAc,GAAQA,EAAK,QACR2pE,EAAA,IAAI3pE,EAAK,MAAM,EAGX,MAAM,KAAK2pE,CAAM,CAEhC,EAEaC,GAAU,CACrB,QAAAN,GACA,WAAAC,GACA,WAAAC,GACA,iBAAAL,EACF,EC3FM,CAAE,SAAU/pE,GAAK,SAAU88D,EAAQ,EAAAgG,GAKzC,SAAS2H,GAAIzb,EAAwB0b,EAAkB,GAAM,CAC3D,GAAI,OAAO,KAAK5N,GAAA,EAAM,KAAK,EAAE,QAAUyB,GAC/B,MAAA,IAAI,MAAM,yCAAyC,EAG3D,MAAM3V,EAAKqV,GAAa,EAElB0M,EAAU7N,KAAM,QAAU,KAE1B8N,EAAkDD,EACpD/H,GACAiI,GAAoB,EASlBC,EAPkB,OAAO,OAAOhO,GAAI,EAAE,KAAK,EAAE,KAChD9hB,GAAMA,EAAE,MAAQgU,EAAK,GACxB,IAMsB,QACpBA,EAAK,KACLA,EAAK,IAAI,OAAS,GAClBA,EAAK,OACLA,EAAK,MAAM,OAAS,EAChB,CAAA,EACA4b,EAEAG,EAAUzH,GACd,CACE,GAAGtU,EACH,GAAApG,EACA,GAAGkiB,CAEL,EACAhrE,GAAa,WAAW,IAC1B,EAGA,OAAI4qE,GACFF,GAAQ,QAAQO,CAAO,EAGzB/qE,GAAKc,GAAM,CACT,MAAMwpE,EAAQ,CACZ,GAAGxpE,EAAE,MACL,CAACiqE,EAAQ,EAAE,EAAGA,CAChB,EAGO,OAAAJ,EAAU,CAAE,MAAOI,EAAQ,GAAI,MAAAT,CAAM,EAAI,CAAE,MAAAA,CAAM,CAAA,CACzD,EAEMS,CACT,CASA,SAASC,GAAOhc,EAAe0b,EAAkB,GAAM,CAErD,MAAMK,EAAUzH,GAAatU,EAAMlvD,GAAa,WAAW,IAAI,EAG/D,OAAI4qE,GACFF,GAAQ,WAAWO,CAAO,EAG5B/qE,GAAKc,IAMI,CAAE,MALK,CACZ,GAAGA,EAAE,MACL,CAACiqE,EAAQ,EAAE,EAAGA,CAChB,CAEe,EAChB,EAEMA,CACT,CAMA,SAASE,GAAOjc,EAAe,CAC7BhvD,GAAKc,GAAM,CACH,KAAA,CAAE,CAACkuD,EAAK,EAAE,EAAGlmD,EAAG,GAAGwhE,CAAM,EAAIxpE,EAAE,MAC/BoqE,EAAY,OAAO,OAAOZ,CAAK,EAIjC,OAFJE,GAAQ,WAAWxb,CAAI,EAEnBkc,EAAU,SAAW,EAChBrrE,IAILiB,EAAE,QAAUkuD,EAAK,IACLmc,GAAAD,EAAU,CAAC,EAAG,EAAI,EAG3B,CACL,MAAAZ,EACA,WAAYxpE,EAAE,WAAW,OAAQA,GAAMA,IAAMkuD,EAAK,GAAG,CACvD,EAAA,CACD,CACH,CAEA,SAASmc,GAAcnc,EAAeoc,EAAyB,GAAO,CACpE,MAAMtqE,EAAIg8D,GAAI,EACRuO,EAAkBvqE,EAAE,MAEtB,GAAAuqE,IAAoBrc,EAAK,GAC3B,OAGE,GAAAqc,IAAoB,MAAQ,CAACD,EAAe,CAG9C,MAAME,EAAqB,CACzB,GAFcxqE,EAAE,MAAMuqE,CAAe,EAGrC,GAAGR,GAAoB,CACzB,EACAG,GAAOM,CAAkB,CAAA,CAG3B,MAAMC,EAAc,CAAE,GAAGvc,EAAM,GAAG4T,EAAqB,EACvDoI,GAAOO,CAAW,EAClBvrE,GAAI,CAAE,MAAOurE,EAAY,EAAA,CAAI,CAC/B,CAEA,SAASC,GACPxc,EACA+W,EACA0F,EACAC,EACAC,EACA,CACM,MAAAC,EAAe7I,GAAWgD,CAAG,EAE7B8F,EAAoB,OAAO,KAAK/O,GAAA,EAAM,KAAK,EAC9C,OAAQlU,GAAOA,IAAOoG,EAAK,EAAE,EAC7B,IAAKpG,GAAOkU,GAAM,EAAA,MAAMlU,CAAE,CAAC,EAC3B,OAAQ7kD,GAAMA,EAAE,MAAQgiE,CAAG,EAE1B,GAAA8F,EAAiB,OAAS,EAAG,CACzB,MAAAC,EAASD,EAAiB,IAAK9nE,GAAMA,EAAE,KAAK,EAAE,KAAK,IAAI,EACvDojE,EAAU,QAAQ,OAAAyE,EAAY,2CAA0C,OAAAE,GACtEH,EAAA,IAAI,MAAMxE,CAAO,CAAC,EAC1B,MAAA,CAGF,MAAM4D,EAAU,CAAE,GAAG/b,EAAM,IAAA+W,EAAK,MAAA0F,CAAM,EACtCT,GAAOD,CAAO,EACJW,EAAA,CACZ,CAEA,SAASxrE,IAAQ,CACf4iE,GAAc,SAASjjE,EAAY,CACrC,CAEA,SAASgrE,IAAsB,CAC7B,MAAMkB,EAAUtN,GAAc3B,GAAI,EAAE,UAAU,EAE9C,GAAI,CAACiP,EACH,MAAM,IAAI,MACR,6DACF,EAEE/rE,OAAAA,GAACc,IAAO,CAAE,WAAY,CAAC,GAAGA,EAAE,WAAYirE,CAAO,CAAA,EAAI,EAChD,CAAE,MAAOA,EAAS,IAAKA,CAAQ,CACxC,CAEA,SAASC,GAAQ1B,EAAiC,OAChD,MAAM2B,EAAgB3B,EAAM,IAAKvmE,GAAMksD,GAAkBlsD,CAAC,CAAC,EAGrDmoE,EAAkB,CACtB,MAH0B7d,GAAkB4d,EAAgBloE,GAAMA,EAAE,EAAE,EAItE,QAAOpD,EAAAsrE,EAAc,KAAMloE,GAAMA,EAAE,MAAQ,OAAO,IAA3C,YAAApD,EAA8C,KAAM,KAC3D,WAAYsrE,EACT,IAAKloE,GAAMA,EAAE,GAAG,EAChB,OAAQ0E,GAAMA,GAAKA,IAAM,OAAO,CACrC,EAEAzI,GAAIksE,CAAQ,CACd,CAEO,MAAMC,GAAe,CAC1B,IAAA1B,GAAA,OACAO,GACA,OAAAC,GACA,cAAAE,GACA,OAAAK,GAAA,MACAtrE,GACA,QAAA8rE,EACF,EAEApC,GAAUuC,GAAa,OAAO,EChLvB,MAAMC,GAAY,CACvB,UAAAtM,GACA,aAAAU,GACA,eAAAc,GACA,iBAAAH,EACF,EAEa/Q,GAAe,EAkBfic,GAAgB,GAChBC,GAA2B,eAC3BC,GAAenX,GAAO,QAE7BoX,GAAmB7M,GAChB,OAAO,OAAOA,CAAQ,EAAE,OAC7B,CAACnR,EAAKxT,KACJwT,EAAIxT,EAAE,IAAI,GAAKwT,EAAIxT,EAAE,IAAI,GAAK,GAAK,EAC5BwT,GAET,CAAA,CACF,EAGI3uD,GAA+C88D,GAAS,CAC5D,MAAM8P,EAAerO,GAAgB,EAE/BpP,EAAgB,CACpB,QAASJ,GACT,GAAI0d,GACJ,IAAK,QACL,MAAOC,GACP,SAAU,CACR,KAAM,CACJ,GAAI,OACJ,WAAYE,EACZ,SAAU,CAACA,CAAY,CAAA,CAE3B,EACA,SAAU,CACR,CAACA,CAAY,EAAG,CACd,GAAIA,EACJ,KAAM,aACN,KAAM,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAGJ,EAAc,EAC3C,MAAO,CACL,MAAO,yBAAA,CACT,CACF,CAEJ,EAEO,MAAA,CACL,KAAArd,EACA,YAAaoG,GAAO,QACpB,OAAQG,GACR,WAAY,EACZ,UAAWvG,EACX,cAAewd,GAAgBxd,EAAK,QAAQ,EAC5C,aAAc,CAAA,CAChB,CACF,EAKM4N,GAAkB78D,GAAoB,EAC1C2sE,GAAQ7P,GAAsBh9D,EAAY,EAAG,CAC3C,KAAM,SACN,QAAS8sE,GAAkB,IAAM,cAAc,CAChD,CAAA,CACH,EAEM7P,GAAMF,GAAgB,SACtB,CAAA,IAAE58D,GAAK,OAAAgrE,EAAA,EAAWlJ,GAAelF,GAAgB,QAAQ,EAElDgQ,EAAiBhQ,GAW9B,SAASiQ,GACPjpE,EACA+7D,EACwB,CAGxB,IAAImN,EAAY,GAEhB,UAAWne,KAAOgR,EAAU,CACpB,MAAA3kB,EAAI2kB,EAAShR,CAAmB,EAClC3T,EAAE,OAAS,eACD8xB,EAAA,KAAK,IAAIA,EAAW9xB,EAAE,KAAK,EAAIA,EAAE,KAAK,CAAC,EACrD,CAGI,MAAA+xB,EAAmBnpE,EAAW,KAAK,EACnC+9D,EAAY,KAAK,IAAImL,EAAY,EAAeT,EAAa,EAGnE,GAAIU,IAAqBpL,EAKlB,MAAA,CACL,GAAG/9D,EACH,KAAM,CAAE,GAAGA,EAAW,KAAM,EAAG+9D,CAAU,CAC3C,CACF,CAEA,MAAMqL,GAA+B,CAAChe,EAAe2Q,IAA0B,CACvE,MAAA/7D,EAAa2vD,GAAgBvE,CAAI,EACjCie,EAAoBJ,GAAuBjpE,EAAY+7D,CAAQ,EAErE,OAAIsN,IACOtN,EAAAsN,EAAkB,EAAE,EAAIA,GAG5BtN,CACT,EAKA,SAASuN,GACPlf,EACA0S,EACA,SACA,MAAMyM,EAAY/O,GAAgB,EAC5BpP,EAAO8N,KAAM,KAEbsQ,EAAoBrf,GAAqBC,CAAO,EAChD4S,EAAa,CACjB,GAAG5S,EACH,KAAM,CACJ,GAAGA,EAAQ,KACX,EAAG,KAAK,MAAIrtD,EAAAqtD,EAAQ,OAAR,YAAArtD,EAAc,IAAK,EAAGysE,EAAkB,CAAC,EACrD,EAAG,KAAK,MAAIzrE,EAAAqsD,EAAQ,OAAR,YAAArsD,EAAc,IAAK,EAAGyrE,EAAkB,CAAC,CACvD,EACA,GAAID,EACJ,MAAO,SACT,EAEME,EAAsB7M,GAAaI,EAAY5R,EAAK,SAAU0R,CAAK,EAElE,OAAAsK,GAAA,EAAE,KAAK,SAAS,MACrBgC,GAA6Bhe,EAAMqe,CAAmB,CACxD,EAEArC,GAAA,EAAS,KAAK,SAAS,KAAK,SAAS,QAAQ,CAC3C,GAAGhc,EAAK,SAAS,KAAK,SACtBme,CAAA,CACD,EAEMnC,GAAA,EAAE,cAAc,MAAM,CAC3B,CAACpK,EAAW,IAAI,GAAI9D,GAAA,EAAM,cAAc8D,EAAW,IAAI,GAAK,GAAK,CAAA,CAClE,EAEMuM,CACT,CAEA,SAASG,GAAuBtf,EAAqB,CACnDgd,GAAA,EAAS,KAAK,SAAShd,EAAQ,EAAE,EAAE,QAAQA,CAAO,CACpD,CAOA,SAASuf,GACPC,EACAC,EACA,CACA,MAAM9N,EAAW,CACf,GAAG7C,GAAI,EAAE,KAAK,SACd,GAAG2Q,EACH,CAACD,EAAc,EAAE,EAAGA,CAEtB,EAEME,EAAoBpM,GAAe3B,CAAQ,EACjDgO,GAA6BD,CAAiB,CAChD,CAKA,SAASC,GAA6BC,EAA6B,CAC1D5C,GAAA,EAAE,KAAK,SAAS,MACrBgC,GAA6BlQ,KAAM,KAAM8Q,CAAc,CACzD,CACF,CAMA,SAASC,GAAc7f,EAAqB,CAC1C,MAAM8f,EAAkB3M,GAAiBnT,EAAS8O,GAAI,EAAE,KAAK,QAAQ,EACrE6Q,GAA6BG,CAAe,CAC9C,CAMA,SAASC,GAAsB/f,EAAqB,CAClD6f,GAAc,CAAE,GAAG7f,EAAS,MAAO,SAAU,CAC/C,CAEA,SAASggB,GAAchgB,EAAqB,CACpC,MAAAgB,EAAO8N,KAAM,KAEb,CAAE,CAAC9O,EAAQ,EAAE,EAAGigB,EAAiB,GAAGC,CAAQ,EAAIlf,EAAK,SACrDmf,EAAc7M,GAAe4M,CAAO,EAEpCnD,EAAU,CACd,GAAG/b,EACH,SAAUmf,EACV,SAAU,CACR,GAAGnf,EAAK,SACR,KAAM,CACJ,GAAGA,EAAK,SAAS,KACjB,SAAUA,EAAK,SAAS,KAAK,SAAS,OAAQhU,GAAMA,IAAMgT,EAAQ,EAAE,CAAA,CACtE,CAEJ,EAEOgd,GAAA,EAAE,cAAc,MAAM,CAC3B,CAAChd,EAAQ,IAAI,GAAI8O,GAAA,EAAM,cAAc9O,EAAQ,IAAI,GAAK,GAAK,CAAA,CAC5D,EAEMgd,KAAE,KAAK,QAAQD,CAAO,EACpB7N,GAAA,CACX,CAEA,SAASkR,GAAoBxlB,EAAkBylB,EAA4B,CACnE,KAAA,CAAE,MAAOvlE,EAAG,GAAG83D,CAAA,EAAe9D,KAAM,KAAK,SAASlU,CAAE,EACpD0lB,EAAO1S,GACXgF,EACA/K,EAAqB,WAAW,SAChC8F,GAAyB0S,CAAa,CACxC,EAEIC,GAAQA,IAAS1N,EAAW,KAAK,GACnC,QAAQ,IAAI,eAAgB,CAC1B,GAAGA,EACH,KAAM,CAAE,GAAGA,EAAW,KAAM,EAAG0N,CAAK,CAAA,CACrC,EACaT,GAAA,CACZ,GAAGjN,EACH,KAAM,CAAE,GAAGA,EAAW,KAAM,EAAG0N,CAAK,CAAA,CACrC,IAEO,QAAA,IAAI,uBAAwB1N,CAAU,EAE9C0M,GAAuB1M,CAAU,EAErC,CAEA,MAAM2N,GAAQ,CAACC,EAAeC,IAAkB,CAC9C,MAAMC,EAAWF,EAAI,UAAWvmE,GAAMA,IAAMwmE,CAAI,EAC1CE,EAAWH,EAAI,UAAWvmE,GAAM4rD,GAAoB5rD,CAAC,CAAC,EAE5D,GAAIymE,IAAa,GACf,MAAM,IAAI,MAAM,SAAWD,EAAO,iBAAiB,EAG/C,MAAAG,EAAWJ,EAAI,OAAQvmE,GAAM,CAAC4rD,GAAoB5rD,CAAC,CAAC,EAEpD4mE,EACJH,EAAWC,EAAWC,EAAW,CAAC,GAAGA,EAAS,MAAM,CAAC,EAAGA,EAAS,CAAC,CAAC,EAE9D,MAAA,CACL,GAAGC,EAAW,MAAM,EAAGH,CAAQ,EAC/BF,EAAIG,CAAQ,EACZ,GAAGE,EAAW,MAAMH,CAAQ,CAC9B,CACF,EAEMI,GAAiBrd,GAAoB,CACnC2D,MAAAA,EAAS0H,KAAM,OACrB,OAAI1H,EAAO,SAAS3D,EAAM,IAAiB,EAClC8c,GAAMnZ,EAAQ3D,EAAM,IAAI,EAE1B2D,CACT,EAEA,SAAS2Z,GAAgBtd,EAAiB,CACxC,GAAIA,EAAM,KAAM,CACR2D,MAAAA,EAAS0Z,GAAcrd,CAAK,EAC5B,CAAE,KAAM3oD,EAAG,GAAGkmE,CAAiB,EAAAvd,EAErCzxD,GAAK,IAAO,CACV,OAAAo1D,EACA,KAAM,CAAE,GAAG,EAAE,KAAM,MAAO4Z,CAAa,EACvC,YAAaA,CAAA,EACb,CAAA,MAEFhvE,GAAKc,IAAO,CACV,KAAM,CAAE,GAAGA,EAAE,KAAM,MAAA2wD,CAAM,EACzB,YAAaA,CAAA,EACb,CAEN,CAEA,SAASwd,GAAqBC,EAAuBC,EAAkB,CAC/D,MAAAngB,EAAO8N,KAAM,KACb,CAAE,OAAAsS,GAAWpgB,EAAK,MAGlBqgB,EAAgB,CACpB,GAAGD,EACH,CAACF,CAAa,EAAGC,CACnB,EAGMG,EAAW,CACf,GAAGtgB,EAAK,MACR,OAAQqgB,CACV,EAEAN,GAAgBO,CAAQ,CAC1B,CAEA,SAASC,GAAoBC,EAAsBC,EAA4B,CACvE,MAAAzgB,EAAO8N,KAAM,KACb,CAAE,MAAA4S,GAAU1gB,EAAK,MAGjBC,EAAe,CACnB,GAAGygB,EACH,CAACF,CAAY,EAAG,CAAE,GAAGE,EAAMF,CAAY,EAAG,GAAGC,CAAa,CAC5D,EAGMH,EAAW,CACf,GAAGtgB,EAAK,MACR,MAAOC,CACT,EAEA8f,GAAgBO,CAAQ,CAC1B,CAMA,SAASK,GAAYjhB,EAAe,CAClC,MAAM8E,EAAQsJ,KAAM,OAAOpO,CAAK,EAChC1uD,GAAKc,IAAO,CACV,KAAM,CACJ,GAAGA,EAAE,KACL,MAAO8yD,GAAUJ,CAAK,EAAI1yD,EAAE,YAAcs0D,GAAO5B,CAAK,CACxD,EACA,WAAY9E,CAAA,EACZ,CACJ,CAEA,SAASxuD,IAAQ,CACXF,GAAAH,GAAgB,CAAC,CACvB,CAEA,SAAS+vE,GACPC,EACAC,EACA,CACiBA,EAAA,KAAMC,GAAc,CAC7B,MAAApQ,EAAW7C,KAAM,KAAK,SAGN,OAAO,OAAO6C,CAAQ,EAAE,OAC3C3kB,GAAMiT,GAAYjT,CAAC,IAAM60B,CAC5B,EAIc,QAAS70B,GAAM,CACJsyB,GAAA,CAAE,GAAGtyB,EAAG,MAAO,CAAE,GAAGA,EAAE,MAAO,IAAK+0B,CAAU,EAAG,CAAA,CACvE,CAAA,CACF,CACH,CAEA,SAASC,GAAeH,EAAkBC,EAAmC,CACpE9E,GAAA,EAAE,aAAa,MAAM,CAC1B,CAAC6E,CAAQ,EAAGC,CAAA,CACb,EAEDF,GAAqBC,EAAUC,CAAgB,CACjD,CAEA,SAASG,GAAkBJ,EAAkB,CACrC,KAAA,CAAE,CAACA,CAAQ,EAAGK,EAAS,GAAGC,CAAwB,EAAArT,GAAA,EAAM,aACvDkO,KAAE,aAAa,QAAQmF,CAAmB,CACnD,CAEO,MAAMC,GAAiB,CAE5B,SAAWphB,GAAkB,CACrB,MAAAqhB,EAAaxwE,GAAgB,EAC7BywE,EAAaD,EAAW,OAAO,UAClCr1B,GAAMA,KAAOgU,EAAK,MAAM,MAAQ2E,GACnC,EAGA,QAAQ,IAAI,YAAa3E,EAAK,GAAIA,EAAK,GAAG,EAEtChvD,GAAA,CACF,GAAGqwE,EACH,KAAArhB,EACA,WAAAshB,EACA,YAAathB,EAAK,MAClB,UAAWA,EACX,cAAewd,GAAgBxd,EAAK,QAAQ,CAAA,CAC7C,CACH,EACA,uBAAAse,GACA,oBAAAC,GACA,WAAAL,GACA,cAAAW,GACA,sBAAAE,GACA,gBAAAgB,GACA,qBAAAE,GACA,oBAAAM,GACA,YAAAI,GACA,cAAA3B,GACA,oBAAAI,GACA,MAAAluE,GACA,eAAA8vE,GACA,kBAAAC,GACA,gBAAiB,CACf5tE,EACAkuE,IACG,CACGrwE,GAAA,EAEN,MAAMswE,EACJD,IAAW,QAAaA,IAAW,GAC/B,CAAE,QAAS,GAAM,OAAAA,CAAO,EACxB,CAAE,QAAS,EAAK,EAEd,QAAA,IAAI,cAAeC,CAAU,EAE7BnuE,EAAA,KAAK,UAAWmuE,CAAU,CACpC,EACA,eAAgB,CAACnuE,EAAwCumD,IAAkB,CACjE,QAAA,IAAI,qBAAsBA,CAAE,EACpCvmD,EAAQ,KAAK,UAAW,CAAE,GAAAumD,CAAA,CAAI,CAChC,EAIA,SAAU,MAAO8hB,EAAkB,KAAS,CAClC,QAAA,IAAI,eAAgBA,CAAM,EAGlC,MAAM+F,EAAe,OAAO,QAAQ3T,GAAA,EAAM,YAAY,EAClD2T,EAAa,OAAS,GAClB,MAAA,QAAQ,IAAIA,EAAa,IAAI,CAAC,CAAC3nE,EAAG4hE,CAAM,IAAMA,CAAM,CAAC,EAGvD,MAAAgG,EAAa5T,KAAM,KAEnB6T,GACJ9N,GAAc6N,EAAW,EAAE,EAAIvE,GAAa,OAASA,GAAa,KAClEuE,EAAYhG,CAAM,EAEhB1qE,GAAA,CACF,KAAM2wE,EACN,UAAAA,EACA,aAAc,CAAA,CAAC,CAChB,CACH,EACA,GAAG7S,EACL,EAMa8S,EAUTR,GC3iBES,GAAU,GAKf,OAAe,UAAYA,GAqB1B,QAAQ,IAAM,IAAM,CAEpB,ECwDK,MAAMC,GAAiB,CAC5B,gBAAiB,UACjB,gBAAiB,8BAEjB,eAAgB,QAChB,oBAAqB,SACrB,UAAW,oCACb,EAOMC,GAAa9vE,GACjBC,EAAAA,IAAC8vE,GAAQ,CAAA,MAAOF,GACd,SAAA/tE,EAAAA,KAACkuE,GAAW,CAAA,UAAU,cAAc,WAAU,GAC5C,SAAA,CAAA/vE,EAAA,IAACc,GAAA,CACC,SAAUf,EAAM,QAAA,CAGlB,EACCA,EAAM,SACN4vE,EAA0B,CAAA,CAC7B,CAGF,CAAA,EAqCWpH,GAAgBxoE,GAAwB,SAC7C,MAAAqG,EAAM8qD,SAAqC,IAAI,EAErD,OAAInxD,EAAM,WACFA,EAAA,SAAS,QAAUqG,EAAI,SAG/BzE,EAAAA,UAAU,IAAM,QACdlC,EAAA2G,EAAI,UAAJ,MAAA3G,EAAa,mBAAmB,KAAMq6C,GAAM,CACtC/5C,EAAM,YACRA,EAAM,UAAU,QAAU+5C,EAC5B,EACD,EACA,CAAC/5C,EAAM,SAAS,CAAC,EAGlBC,EAAA,IAAC8vE,GAAA,CAEC,MAAOF,GACP,UAAW7vE,EAAM,UAEjB,SAAA8B,EAAA,KAACkuE,GAAA,CACC,IAAA3pE,EACA,UAAU,cACV,WAAU,GACV,aAAc,GAEd,SAAA,CAAApG,EAAA,IAACwC,GAAA,CAEC,OAAQzC,EAAM,OACd,cAAeA,EAAM,cACrB,aAAaN,EAAAM,EAAM,SAAN,YAAAN,EAAc,YAC3B,WAAWgB,EAAAV,EAAM,SAAN,YAAAU,EAAc,UACzB,WAAYV,EAAM,UAAA,CACpB,EAECA,EAAM,QAAA,CAAA,CAAA,CACT,CACF,CAEJ,ECpLaiwE,GAAcjwE,UAEtB,MAAI,CAAA,UAAU,SAAS,cAAaA,EAAM,OACzC,SAAA,CAAAC,EAAA,IAAC,MAAA,CACC,UAAU,eACV,QAAQ,MACR,GAAG,UACH,MAAM,6BACN,WAAW,+BACX,EAAE,MACF,EAAE,MACF,QAAQ,mBACR,SAAS,WAET,SAAAA,EAAA,IAAC,OAAA,CACC,KAAK,QACL,EAAE,mRAAA,CAAA,CAGJ,CACF,QACC,MAAI,CAAA,UAAU,UAAU,eAAcD,EAAM,OAAS,CAAA,CAAA,EACxD,EASEyoE,GAAezoE,GAEjB8B,EAAA,KAAC,MAAA,CACC,UAAU,8LAGV,eAAc9B,EAAM,QACpB,MAAO6vE,GAEP,SAAA,CAAC5vE,EAAAA,IAAAgwE,GAAA,CAAY,GAAGjwE,EAAO,EACtBA,EAAM,QAAA,CAAA,CACT,ECxCEkwE,GAAQ,GAERC,GAAY,CAAC,CAAE,UAAAC,MACN1xE,GAAG,QAAQ,EACXkB,GAAQ,EAGnBswE,IAaEG,GAAiB,IAAMpwE,EAAAA,IAACqwE,GAAS,CAAA,GAAI7xE,EAAO,eAAgB,EAC5D8xE,GAAkB,IAAMtwE,EAAAA,IAACqwE,GAAS,CAAA,GAAI7xE,EAAO,gBAAiB,EAGvD+xE,GAAc,CAAC,CAC1B,OAAQzwE,EACR,GAAG8D,CACL,IAA2B,CACzB,KAAM,CAAE,UAAA4sE,EAAW,KAAA9wE,GAASjB,GAAG,QAAQ,EAGrC,OAAAuB,EAAA,IAACywE,GAAA,CACE,GAAG7sE,EACJ,OAAS7D,GAGJC,MAAA8B,EAAAA,SAAA,CAAA,SAAA0uE,QACEhI,GAAY,CAAA,CAAA,EACX9oE,EACFM,EAAAA,IAACswE,KAAgB,EAEjBtwE,EAAA,IAACF,EAAW,CAAA,GAAGC,EAAO,CAE1B,CAAA,CAAA,CAEJ,CAEJ,EAGa2wE,GAAe,CAAC,CAC3B,OAAQ5wE,EACR,GAAG8D,CACL,IAA2B,CACzB,KAAM,CAAE,UAAA4sE,EAAW,KAAA9wE,GAASjB,GAAG,QAAQ,EAGrC,OAAAuB,EAAA,IAACywE,GAAA,CACE,GAAG7sE,EACJ,OAAS7D,GAEL8B,EAAA,KAAAC,EAAA,SAAA,CAAA,SAAA,CAAC9B,EAAAA,IAAAkwE,GAAA,CAAU,UAAU,SAAU,CAAA,EAC9BM,EACExwE,EAAAA,IAAAwoE,GAAA,CAAY,CAAA,EACX9oE,EACDM,EAAAA,IAAAF,EAAA,CAAW,GAAGC,CAAA,CAAO,EAEtBC,EAAA,IAACowE,GAAe,CAAA,CAAA,CAAA,CAEpB,CAAA,CAAA,CAEJ,CAEJ,EAGaO,GAAgB,IAAM,CACjC,KAAM,CAAE,KAAAjxE,CAAA,EAASjB,GAAG,QAAQ,EAC5B,OAAOiB,EAAOM,EAAAA,IAACswE,GAAgB,CAAA,CAAA,QAAMF,GAAe,EAAA,CACtD,ECpFMQ,GAAW,CACf,CAAE,KAAMC,GAAa,KAAMryE,EAAO,UAAW,KAAM,WAAY,EAC/D,CAAE,KAAMsyE,GAAY,KAAMtyE,EAAO,UAAW,KAAM,WAAY,EAC9D,CAAE,KAAMuyE,GAAW,KAAMvyE,EAAO,UAAW,KAAM,WAAY,EAC7D,CAAE,KAAMiD,GAAS,KAAMjD,EAAO,SAAU,KAAM,UAAW,CAC3D,EAEMwyE,GAAUxyE,EAAO,KAEjByyE,GAAS,IAAI,IAAYL,GAAS,IAAK9pE,GAAMA,EAAE,IAAI,CAAC,EAE7CoqE,GAAS,IAAM,CAEpB,MAAAnQ,EADS9/D,GAAa,EACR,UAAU,SAG1B,OAFegwE,GAAO,IAAIlQ,CAAI,EAM9Bl/D,EAAA,KAAAC,WAAA,CAAA,SAAA,CAAA9B,EAAA,IAAC,IAAA,CACC,KAAMgxE,GACN,UAAU,0FAEV,SAAAhxE,EAAA,IAAC,MAAA,CACC,UAAU,2CACV,IAAK5B,GAAa,oBAAA,CAAA,CACpB,CACF,EACAyD,EAAA,KAAC,MAAA,CACC,UAAU,wtBAyBV,SAAA,CAAAA,EAAA,KAAC,IAAA,CACC,KAAMmvE,GACN,UAAU,sFAEV,SAAA,CAAAhxE,EAAA,IAAC,MAAA,CACC,UAAU,4FAEV,IAAK5B,GAAa,qBAAA,CACpB,EACA4B,EAAA,IAAC,MAAA,CACC,UAAU,2CAGV,IAAK5B,GAAa,oBAAA,CAAA,CAEpB,CAAA,CACF,EAECwyE,GAAS,IAAI,CAAC9pE,EAAGQ,IAAM,CAChB,MAAA6pE,EAAWpQ,IAASj6D,EAAE,KAE1B,OAAAjF,EAAA,KAACkiE,GAAA,CAEC,UAAU,0RAQV,MAAO,CAEL,MAAOoN,EAAW,oBAAsB,OACxC,eAAgB,GAAG,UAAM7pE,EAAI,IAAI,IACnC,EACA,GAAIR,EAAE,KAEN,SAAA,CAAC9G,EAAA,IAAA,MAAA,CAAI,UAAU,yDACb,SAACA,EAAAA,IAAAM,GAAA,CAAQ,KAAMwG,EAAE,KAAM,MAAM,cAAA,CAAe,CAC9C,CAAA,EAEA9G,EAAA,IAAC,MAAA,CACC,UAAU,2RAST,SAAE8G,EAAA,IAAA,CACL,EAECqqE,GACCnxE,EAAA,IAAC,MAAA,CACC,UAAU,mTAAA,CAAA,CASZ,CAAA,EA5CG8G,EAAE,IA2DT,CAEH,CAAA,CAAA,CAAA,CAAA,CACH,EACF,EA5HsB,IA8H1B,EC9IA,SAAwBsqE,IAAW,CACjC,KAAM,CAACC,EAAcC,CAAe,EAAI/vE,EAAAA,SAAwB,IAAI,EAC9D7B,EAAOC,GAAQ,EAGjB,GAAA,CACI,MAAA,GAAG,OAAAtB,GAAW,oBAAoB,CACtC,OAAQ,OACR,KAAM,OACN,QAAS,CACP,eAAgB,kBAClB,EACA,KAAM,KAAK,UAAU,CACnB,KAAAqB,CACD,CAAA,CAAA,CACF,EACE,KAAMH,GAAQ,CACT,GAAA,CAACA,EAAI,GACP,cAAQ,IAAIA,CAAG,EACT,IAAI,MAAM,6BAA6B,EAE/C,OAAOA,EAAI,KAAK,CAAA,CACjB,EACA,KAAMglE,GAAS,CACV,GAAA,CAACA,EAAK,aACF,MAAA,IAAI,MAAM,qCAAqC,EAEvD+M,EAAgB/M,EAAK,YAAY,CAAA,CAClC,EACA,MAAOiD,GAAU,CACR,QAAA,MAAM,gCAAiCA,CAAK,CAAA,CACrD,QACIA,EAAO,CACd,QAAQ,MAAMA,CAAK,CAAA,CAoBrB,OACIxnE,EAAA,IAAA8B,EAAA,SAAA,EAAA,CA8BN,CCxFO,SAASyvE,GAAWC,EAAiD,CACpE,MAAAC,EAAavgB,SAA8B,IAAI,EAErDvvD,OAAAA,EAAAA,UAAU,IACD,IAAM,CACP8vE,EAAW,UAAY,MACzB,aAAaA,EAAW,OAAO,CAEnC,EACC,EAAE,EAEE,IACE,IAAI,QAAeC,GAAY,CAChCD,EAAW,UAAY,MACzB,aAAaA,EAAW,OAAO,EAEtBA,EAAA,QAAU,WAAWC,EAASF,CAAkB,CAAA,CAC5D,CAEL,CCQO,SAASG,GAAkBpL,EAA0B,CAC1D,OAAOA,EAAS,YAAY,CAC9B,CAMO,MAAMqL,GAAsC,eAE7CC,GAAYrzE,EAAO,SAenBszE,GAAe/xE,GAEjB8B,EAAA,KAAC,MAAA,CACC,UAAU,gFACV,QAAQ,cACR,MAAM,6BACN,cAAa9B,EAAM,OAEnB,SAAA,CAAAC,EAAA,IAAC,SAAA,CACC,UAAU,SACV,WAAW,MACX,KAAK,cACL,YAAY,KACZ,GAAG,MACH,GAAG,MACH,EAAE,KAAA,CACH,EACDA,EAAA,IAAC,SAAA,CACC,UAAU,QACV,WAAW,MACX,KAAK,cACL,YAAY,KACZ,GAAG,MACH,GAAG,MACH,EAAE,KAAA,CAAA,CACH,CAAA,CACH,EAIS+xE,GAA4B,MAAOpK,GAAwB,CAUhE,MAAApD,EAAO,MATD,MAAM,MAAMlmE,GAAc,qBAAsB,CAC1D,OAAQ,OACR,KAAM,OACN,QAAS,CACP,eAAgB,kBAClB,EACA,KAAM,KAAK,UAAU,CAAE,SAAUspE,CAAa,CAAA,CAAA,CAC/C,GAEsB,KAAK,EAI5B,OAAIpD,EAAK,WACP,MAAM9lE,GAAG,KAAK,gBAAgB8lE,EAAK,KAAK,EACxC,QAAQ,IAAI,WAAW,GAIlBA,EAAK,SACd,EAEMyN,GAAiBC,GACdN,GAAkBM,CAAW,EAAE,WACpCL,GACA,EACF,EAGIM,GAAa3M,GAAgD,OAE7DllE,GAAW,KAAK,IACpBZ,EAAA8lE,EAAS,UAAT,MAAA9lE,EAAkB,OACpB,EAEM0yE,GAAcpyE,GAAyB,CACrC,MAAAw8D,EAAUgV,GAAW,GAAI,EAEzBa,EAAUryE,EAAM,SAAS,OAAS,EAClCwlE,EAAWrU,SAAyB,IAAK,EACzCmhB,EAAUnhB,SAA0B,IAAK,EAEzCohB,EAAanwE,EAAA,YAChBiE,GAA0B,CACrBA,IAAQ,OACVm/D,EAAS,QAAUn/D,EACG,sBAAA,IAAM8rE,GAAU3M,CAAQ,CAAC,EAEnD,EACA,CAACA,CAAQ,CACX,EAEAgN,GAAmB,IAAM,CACvBL,GAAU3M,CAAQ,CAAA,CACnB,EAEK,MAAAiN,EAAwB7K,GAAwB,CAGhD,GAFJ5nE,EAAM,YAAY4nE,CAAW,EAEzBA,EAAY,KAAK,IAAM,GAAI,CAC7B5nE,EAAM,SAAS,OAAO,EACtB,MAAA,MAEAA,EAAM,SAAS,SAAS,EAEhBw8D,EAAA,EAAE,KAAK,SAAY,CACjB,QAAA,IAAI,gBAAiBoL,CAAW,EAElC,MAAA8K,EAAc,MAAMV,GAA0BpK,CAAW,EAG3DqK,GAAczM,EAAS,QAAQ,KAAK,IAAMoC,IACxC8K,EACF1yE,EAAM,SAAS,WAAW,EAE1BA,EAAM,SAAS,aAAa,EAEhC,CACD,CAEL,EAEM0xD,EAAQ1xD,EAAM,MAEpB,OAEIC,MAAA8B,EAAAA,SAAA,CAAA,SAAAD,EAAA,KAAC,MAAA,CACC,UAAU,yEACV,cAAa4vD,EAEb,SAAA,CAAA5vD,EAAA,KAAC,MAAA,CACC,UAAU,+IAEV,MAAO,CAAE,eAAgB,IAAK,EAC9B,YAAWuwE,EACZ,SAAA,CAAA,mCAEE,KAAG,EAAA,EAAE,oCAAA,CAAA,CAER,EAEApyE,EAAA,IAACqlE,GAAA,CACC,OAAQ,cACR,gBAAgB,OAChB,UAAU,4OAKV,MAAO,CAAE,eAAgB,OAAQ,EACjC,SAAUiN,EACV,MAAM,MACN,KAAM,OACN,MAAOvyE,EAAM,SACb,WAAa+5C,GAAM,CAGbA,EAAE,MAAQ,SAAW2X,IAAU,aACjC4gB,EAAQ,QAAQ,MAAM,CAE1B,EACA,SAAWv4B,GAAM,CACf04B,EAAqBR,GAAcl4B,EAAE,OAAO,KAAK,CAAC,CACpD,EACA,QAAS,IAAM,CACbyrB,EAAS,QAAQ,MAAM,CACzB,EAGA,SAAA1jE,EAAA,KAAC,MAAI,CAAA,UAAU,cACb,SAAA,CAAA7B,EAAA,IAAC+jE,GAAA,CACC,GAAI,CACF,SAAU8N,GACV,MAAO,CACL,SAAU9xE,EAAM,QAAA,CAEpB,EACA,UAAU,iXAKV,IAAKsyE,EAEL,SAAAryE,EAAAA,IAAC,IAAE,CAAA,UAAU,6BAA8B,CAAA,CAAA,CAC7C,EACAA,EAAA,IAAC,SAAA,CACC,UAAU,+VAIV,QAAS,IAAM,CACbD,EAAM,YAAY,EAAE,EACpBA,EAAM,SAAS,OAAO,EACtBwlE,EAAS,QAAQ,MAAM,CACzB,EACA,SAAU9T,IAAU,cAEpB,SAAAzxD,EAAAA,IAAC,IAAE,CAAA,UAAU,uBAAwB,CAAA,CAAA,CACvC,EACAA,EAAAA,IAAC,OAAI,UAAU,yIACb,eAAC8xE,GAAY,CAAA,OAAQrgB,CAAO,CAAA,CAC9B,CAAA,CAAA,CACF,CAAA,CAAA,CACF,QAEC,MAAI,CAAA,UAAU,iBACb,SAAC5vD,EAAA,KAAA,MAAA,CAAI,UAAU,2FACb,SAAA,CAAC7B,EAAA,IAAA,MAAA,CAAI,UAAU,kBAAkB,SAEjC,oCAAA,EAAM,iCAEL,KAAG,EAAA,EAAE,iDAAA,CAAA,CACR,CACF,CAAA,EAOAA,EAAA,IAAC,MAAA,CACC,UAAU,+HAEV,MAAO,CAAE,eAAgB,KAAM,kBAAmB,IAAK,EAEvD,SAAA6B,EAAA,KAACgiE,GAAA,CACC,UAAU,oEAEV,KAAMrlE,EAAO,MACb,YAAW4zE,EACX,SAAUA,EACV,MAAK,GACL,UAAS,GACT,QAAO,GAEP,SAAA,CAAApyE,EAAA,IAACM,GAAA,CACC,KAAMoyE,GACN,MAAM,eACN,UAAU,qBAAA,CACX,EAAU,QAAA,CAAA,CAAA,CAEb,CAAA,CACF,CAAA,CAAA,EAEJ,CAEJ,EAKMC,GAAQ,CAAC,CACb,SAAAzK,CACF,IAAkE,OAEhE,KAAM,CAAC3B,EAAUqM,CAAW,EAAIrxE,EAAAA,SAAS,EAAE,EACrC,CAACkwD,EAAOohB,CAAQ,EAAItxE,EAAAA,SAA4B,SAAS,EAEzD,CAACuxE,EAAa1K,CAAa,EAAI7mE,EAAAA,SAAS,EAAK,EAE7C+mE,EAA+B,CACnC,cAAAF,EACA,SAAA7B,EACA,YAAAqM,EACA,MAAAnhB,EACA,SAAAohB,CACF,EAEMT,EAAU7L,EAAS,OAAS,EAC5BhD,EAAW9R,IAAU,UAErBshB,GAAiBtzE,EAAAyoE,EAAS,QAAT,YAAAzoE,EAAgB,SAEjC0B,EAAUC,GAAW,EACrB1B,EAAOC,GAAQ,EAErB,OAAA0oE,GAAoB,IAAM,CAEpB3oE,GACFyB,EAAQ,QAAQ,GAAG,EAGjB4xE,EACFH,EAAYG,CAAc,GAE1BH,EAAY,EAAE,EACdC,EAAS,SAAS,EACpB,EACC,CAACE,EAAgBrzE,CAAI,CAAC,EAGvBmC,EAAA,KAACguE,GAAU,CAAA,SAAQ,GACjB,SAAA,CAAAhuE,EAAAA,KAACyhE,IAAU,SAAAC,EACT,SAAA,CAAAvjE,EAAA,IAAC,MAAA,CACC,IAAK,GAAG,OAAA5B,GAAU,uBAClB,UAAU,gLAIV,MAAO,CAAE,eAAgB,OAAQ,EAEjC,YAAWg0E,CAAA,CACb,EACApyE,MAACmyE,GAAY,CAAA,GAAG7J,CAAe,CAAA,CAAA,EACjC,EAEAtoE,EAAA,IAAC,MAAA,CACC,UAAU,kGACV,sBAAqBujE,EAErB,SAACvjE,EAAA,IAAAgwE,GAAA,CAAW,QAAS,GAAM,OAAQzM,CAAU,CAAA,CAAA,CAAA,CAC/C,EACF,CAEJ,EC1WMyP,GAAU,CAAC,CAAE,MAAAzI,EAAO,SAAA7mE,CACxB,IAAA7B,OAAC,MAAI,CAAA,UAAU,oFACZ,SAAA,CAAA0oE,GAAUvqE,EAAA,IAAA,KAAA,CAAG,UAAU,gCAAiC,SAAMuqE,EAAA,EAC9D7mE,CAAA,EACH,ECIIuvE,GAAW,CACf,CAAE,KAAM,kBAAmB,KAAM,IAAK,IAAK,GAAI,EAC/C,CAAE,KAAM,qBAAsB,KAAM,MAAO,IAAK,MAAO,EACvD,CAAE,KAAM,UAAW,KAAM,GAAM,IAAK,EAAK,EACzC,CAAE,KAAM,YAAa,KAAM,GAAM,IAAK,EAAK,EAC3C,CAAE,KAAM,cAAe,KAAM,GAAM,IAAK,EAAK,EAC7C,CAAE,KAAM,mBAAoB,KAAM,GAAM,IAAK,EAAK,EAClD,CACE,KAAM,mDACN,KAAM,GACN,IAAK,EACP,EACA,CAAE,KAAM,oBAAqB,KAAM,GAAM,IAAK,EAAK,EACnD,CAAE,KAAM,uBAAwB,KAAM,GAAO,IAAK,EAAK,EACvD,CAAE,KAAM,gBAAiB,KAAM,GAAO,IAAK,EAAK,EAChD,CAAE,KAAM,kBAAmB,KAAM,GAAO,IAAK,EAAK,EAClD,CAAE,KAAM,qBAAsB,KAAM,GAAO,IAAK,EAAK,EACrD,CACE,KAAM,8DACN,KAAM,GACN,IAAK,EACP,EACA,CAAE,KAAM,qBAAsB,KAAM,GAAO,IAAK,EAAK,EACrD,CACE,KAAM,sCACN,KAAM,GACN,IAAK,EAAA,CAET,EAEMC,GAAchS,GACXA,EAASlhE,MAAAmzE,GAAA,CAAM,UAAU,QAAA,CAAS,EAAOnzE,EAAAA,IAAA8B,EAAA,SAAA,EAAA,EAG5CsxE,GAAe,IAEjBpzE,EAAA,IAAA8B,EAAA,SAAA,CACE,SAAC9B,EAAA,IAAA+vE,GAAA,CACC,SAAC/vE,MAAA,MAAA,CAAI,UAAU,mBACb,SAAA6B,EAAA,KAAC,QAAM,CAAA,UAAU,mCACf,SAAA,CAAC7B,EAAA,IAAA,QAAA,CACC,gBAAC,KACC,CAAA,SAAA,CAACA,EAAA,IAAA,KAAA,CAAG,UAAU,yDAAyD,SAEvE,UAAA,EACCA,EAAA,IAAA,KAAA,CAAG,UAAU,yEAAyE,SAEvF,QAAA,EACCA,EAAA,IAAA,KAAA,CAAG,UAAU,yEAAyE,SAEvF,OAAA,CAAA,CAAA,CAAA,CACF,CACF,CAAA,EACAA,EAAAA,IAAC,SACE,SAASizE,GAAA,IAAI,CAACI,EAAS7lB,WACrB,KACC,CAAA,SAAA,CAAAxtD,EAAA,IAAC,KAAG,CAAA,UAAU,+EACX,SAAAqzE,EAAQ,KACX,EACCrzE,EAAA,IAAA,KAAA,CAAG,UAAU,2FACX,SAAO,OAAAqzE,EAAQ,MAAS,SACrBA,EAAQ,KACRH,GAAWG,EAAQ,IAAI,EAC7B,EACCrzE,EAAA,IAAA,KAAA,CAAG,UAAU,2FACX,SAAO,OAAAqzE,EAAQ,KAAQ,SACpBA,EAAQ,IACRH,GAAWG,EAAQ,GAAG,CAC5B,CAAA,CAAA,CAbO,EAAA7lB,CAcT,CACD,CACH,CAAA,CAAA,EACF,CAAA,CACF,CACF,CAAA,EACF,EAIE8lB,GAAgB,OAChBC,GAAe,QAEfC,GAAgBzzE,GAGhB,CACE,KAAA,CAAC0zE,EAAcC,CAAe,EAAInyE,EAAA,SACtC,SACF,EACA,yBAEI,SAACvB,EAAA,IAAA+vE,GAAA,CACC,SAACluE,EAAA,KAAA,MAAA,CAAI,UAAU,8CACb,SAAA,CAACA,EAAAA,KAAA,MAAA,CAAI,UAAU,sCACb,SAAA,CAAAA,EAAA,KAAC,MAAA,CACC,UAAW,sGACT,OAAA4xE,IAAiB,UACb,mBACA,uBAEN,MAAO,CACL,YAAaA,IAAiB,UAAY,UAAY,SACxD,EACA,QAAS,IAAMC,EAAgB,SAAS,EAExC,SAAA,CAAC7xE,EAAAA,KAAA,MAAA,CAAI,UAAU,oBACb,SAAA,CAAA7B,EAAA,IAAC,MAAA,CACC,UAAW,QACT,OAAAyzE,IAAiB,UACb,iBACA,iBAGL,SAAiBA,IAAA,UACfzzE,EAAA,IAAA2zE,GAAA,CAAY,KAAM,GAAI,OAAO,MAAO,CAAA,EAErC3zE,EAAAA,IAACqF,GAAO,CAAA,KAAM,EAAI,CAAA,CAAA,CAEtB,EACArF,EAAAA,IAAC,OAAI,SAAO,SAAA,CAAA,CAAA,EACd,SACC,MAAI,CAAA,SAAA,CAAA,IAAEszE,EAAA,CAAc,CAAA,CAAA,CAAA,CACvB,EACAzxE,EAAA,KAAC,MAAA,CACC,UAAW,+GACT,OAAA4xE,IAAiB,SACb,mBACA,sBAEN,QAAS,IAAMC,EAAgB,QAAQ,EAEvC,SAAA,CAAC7xE,EAAAA,KAAA,MAAA,CAAI,UAAU,oBACb,SAAA,CAAA7B,EAAA,IAAC,MAAA,CACC,UAAW,QACT,OAAAyzE,IAAiB,SACb,iBACA,iBAGL,SAAiBA,IAAA,SACfzzE,EAAA,IAAA2zE,GAAA,CAAY,KAAM,GAAI,OAAO,MAAO,CAAA,EAErC3zE,EAAAA,IAACqF,GAAO,CAAA,KAAM,EAAI,CAAA,CAAA,CAEtB,EACArF,EAAAA,IAAC,OAAI,SAGL,QAAA,CAAA,CAAA,EACF,SACC,MAAI,CAAA,SAAA,CAAA,IAAEuzE,EAAA,EAAa,EACpBvzE,EAAA,IAAC,MAAA,CACC,UAAW,kEACT,OAAAyzE,IAAiB,SAAW,eAAiB,eAEhD,SAAA,SAAA,CAAA,CAED,CAAA,CAAA,CACF,EACF,EACAzzE,EAAA,IAAC,IAAE,CAAA,KAAK,YAAY,UAAU,SAC5B,SAAAA,EAAA,IAAC,SAAO,CAAA,UAAU,kBAAkB,SAAA,WAAS,CAAA,EAC/C,EACAA,EAAAA,IAAC,MAAI,CAAA,UAAU,uFACb,SAAAA,EAAA,IAAC,OAAA,CACC,UAAU,yCACV,QAAS,IAAM,CACbD,EAAM,iBAAiB,EAAK,CAC9B,EACD,SAAA,mBAAA,CAAA,EAGH,EACA8B,EAAAA,KAAC,MAAI,CAAA,UAAU,yCAAyC,SAAA,CAAA,qBACnC,IAClB4xE,IAAiB,UACd,IAAI,OAAAH,GAAa,cACjB,IAAI,OAAAC,GAAY,aAAa,IAAI,yBACpB,KAAG,EAAA,EAAE,iDACyB,IAC9CvzE,EAAA,IAAA,OAAA,CAAK,UAAU,2BAA2B,SAAU,aAAA,EAAO,GAAA,EAC9D,EACA6B,EAAAA,KAAC,MAAI,CAAA,UAAU,mEACb,SAAA,CAAC7B,EAAA,IAAA,OAAA,CAAK,UAAU,iBAAiB,SAAiB,oBAAA,EACjDA,EAAA,IAAA,OAAA,CAAK,UAAU,iBAAiB,SAAgB,mBAAA,EAChDA,EAAA,IAAA,OAAA,CAAK,UAAU,iBAAiB,SAAc,gBAAA,CAAA,CAAA,CACjD,CAAA,CAAA,CACF,CAAA,CACF,CAAA,EACF,CAEJ,EAEM4zE,GAAqB7zE,GAGrB,CACE,MAAA8zE,EAAQ3iB,SAA4B,IAAI,EAExChwD,EAAQN,GAAU,EAElBkzE,EAAa,IAAM,QACvBr0E,EAAAo0E,EAAM,UAAN,MAAAp0E,EAAe,SACfM,EAAM,QAAQ,EAAK,EACnBg0E,EAAiB,EAAI,CACvB,EAEM,CAACC,EAAeD,CAAgB,EAAIxyE,EAAAA,SAAkB,EAAI,EAEhE,OAEIvB,MAAA8B,EAAAA,SAAA,CAAA,SAAA9B,EAAA,IAACi0E,GAAA,CACC,IAAKJ,EACL,OAAQ9zE,EAAM,KACd,aAAc+zE,EACd,SAAU,GACV,UAAW,kBACX,YAAa,CAAC,EAAG,CAAC,EAClB,kBAAmB,EACnB,OAAQ,GAER,SAAAjyE,EAAA,KAAC,MAAI,CAAA,UAAU,QACb,SAAA,CAAC7B,EAAA,IAAA4B,GAAA,CACC,gBAACsyE,GACC,CAAA,SAAA,CAAAl0E,MAACm0E,GAAW,CAAA,KAAK,QAAQ,UAAU,sBACjC,SAAAn0E,EAAAA,IAAC,SAAO,CAAA,cAAW,GACjB,SAAAA,EAAAA,IAAC,OAAK,CAAA,SAAA,OAAA,CAAK,CACb,CAAA,EACF,QACCo0E,GAAS,CAAA,UAAU,oCACjB,SAAAJ,EAAgB,qBAAuB,gBAC1C,EACCh0E,MAAAm0E,GAAA,CAAW,KAAK,MAAM,UAAU,YAC/B,SAAAn0E,EAAAA,IAAC,SAAO,CAAA,QAAS8zE,EACf,SAAA9zE,MAAC,OAAK,CAAA,SAAA,QAAK,EACb,CACF,CAAA,CAAA,CAAA,CACF,CACF,CAAA,EACCg0E,GAAiB,CAAC9yE,EACjBlB,EAAA,IAACwzE,GAAA,CACC,cAAAQ,EACA,iBAAAD,CAAA,CAAA,QAGDX,GAAa,CAAA,CAAA,CAAA,CAElB,CAAA,CAAA,CAAA,EAEJ,CAEJ,EC3PMiB,GAAuC,CAAC,EAC9C,IAAIC,GAA2B,EAqB/B,MAAMC,GAAqBlwE,GAAqC,CAC1DA,GAAU,MACTA,EAAM,WAAW,MAAM,GAC5B,IAAI,gBAAgBA,CAAK,CAC3B,EAEMmwE,GACJn0E,GAAW,SAAS,GAAKA,GAAW,WAAW,GAAKA,GAAW,SAAS,EACpEo0E,GAAa,OACbA,GAAa,OAENC,GAAc,MACzBC,EACAha,IAOG,CACH,MAAMia,EAAe,EAAEN,GAKvB,IAAIO,EAAcL,GAEf,IAAAn0E,GAAW,KAAK,GAAKA,GAAW,SAAS,IAC1C,CAACA,GAAW,WAAW,EACvB,CACM,MAAAy0E,EAAmB,MAAMC,GAAO,iBAAiB,EAErDD,EAAiB,SAAW,UAC5BA,EAAiB,SAAW,SAE5B,MAAMC,GAAO,mBAAmB,EACvBD,EAAiB,SAAW,SACrCD,EAAcJ,GAAa,OAClBK,EAAiB,SAAW,WACrCD,EAAcJ,GAAa,OAC7B,CAGI,MAAAO,EAAoCD,GAAO,SAAS,CACxD,WAAYE,GAAiB,QAC7B,OAAQJ,CAAA,CACT,EAAE,MAAM,IAAM,CACb,MAAM,IAAI,MAAM,mBAAqBD,EAAe,gBAAgB,CAAA,CACrE,EAEDP,GAAmB,KAAKW,CAAiB,EACzC,MAAMjW,EAAS,MAAM,QAAQ,IAAIsV,EAAkB,EAAE,MAAM,IAAM,CAC/D,MAAM,IAAI,MAAM,mBAAqBO,EAAe,gBAAgB,CAAA,CACrE,EAED,GADAP,GAAmB,OAAS,EACxBO,IAAiBN,GACnB,MAAM,IAAI,MAAM,mBAAqBM,EAAe,gBAAgB,EAIhE,MAAAM,EAAO,MADS,MAAM,MAAMnW,EAAO,OAAsB,GAC9B,KAAK,EAEtC,IAAIoW,GAAWD,EAAM,CACnB,QAAS,GACT,OAAQ,GACR,aAAc,CAAC,YAAa,aAAc,YAAY,EACtD,SAAU,KACV,UAAW,KACX,YAAa,IACb,QAAS,MAAOE,GAAsB,CACpC,MAAMC,EACJH,EAAK,MAAQ,aAAeA,EAAK,MAAQ,KACrCA,EACAE,EAEN,QAAQ,IAAI,qBAAqB,EAC3B,MAAAzG,EAAW,IAAI,gBAAgB0G,CAAS,EAGxCC,EAAiB,SAAY,CAC3B,MAAA1G,EAAmB2G,GAAoBF,CAAS,EAGxC3F,EAAA,eAAef,EAAUC,CAAgB,EACvDA,EAAiB,KAAK,IAAMc,EAAc,kBAAkBf,CAAQ,CAAC,EACrE,MAAME,EAAY,MAAMD,EAEjB,OAAA,IAAI,QAAS8C,GAAY,CACxB/b,MAAAA,EAAM,IAAI,MAChBA,EAAI,OAAS,IAAM,CACjB+b,EAAQ7C,CAAS,EACjB,WAAW,IAAM,IAAI,gBAAgBF,CAAQ,EAAG,GAAI,CACtD,EACAhZ,EAAI,IAAMkZ,CAAA,CACX,CACH,EAgBMlZ,EAAM,IAAI,MAChBA,EAAI,OAAS,IAAM,CACjBgF,EACE,CAAE,MAAOhF,EAAI,MAAO,OAAQA,EAAI,MAAO,EACvCgZ,EACA2G,CACF,EAGAf,GAAkBI,CAAY,CAChC,EACAhf,EAAI,IAAMgZ,CAAA,CACZ,CACD,CACH,EAGA,eAAe4G,GAAoBC,EAAmC,CAC9D,MAAA91E,EAAOd,GAAa,SAAA,EAAW,KACjC,GAAA,CACF,GAAI,CAACc,EACG,MAAA,IAAI,MAAM,eAAe,EAqB3B,MAAA+1E,EAAW,IAAI,SACZA,EAAA,OAAO,QAASD,CAAU,EAGnC,MAAME,EAAW,MAAM,MAAM,GAAG,OAAAr3E,GAAW,WAAW,CACpD,OAAQ,OACR,QAAS,CACP,MAAOqB,EAAK,aACd,EACA,KAAM+1E,CAAA,CACP,EAEG,GAAA,CAACC,EAAS,GACN,MAAA,IAAI,MAAM,wBAAwB,EAIpC,MAAA3W,EAAS,MAAM2W,EAAS,KAAK,EACnC,eAAQ,IAAI3W,CAAM,EACXA,EAAO,gBACPyI,EAAO,CACN,cAAA,MAAM,yBAA0BA,CAAK,EACvCA,CAAA,CAEV,CClNa,MAAAmO,GAA2B,MAAO1P,GAAoB,CAC7D,GAAA,CAII,MAAA,MAAM,4HAA0D,CACpE,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,EACA,KAAM,KAAK,UAAU,CACnB,QAASA,CACV,CAAA,CAAA,CACF,QACM9mE,EAAc,CAErB,QAAQ,IAAIA,CAAG,CAAA,CAEnB,4sjCCEA,MAAMy2E,GAAkC,CACtCrP,EACAC,IACG,CACH,MAAMC,EAAW,CACf,mCACA,+BACA,gCACA,gCACF,EAEMC,EAAgBD,EAAS,KAAK,MAAM,KAAK,OAAO,EAAIA,EAAS,MAAM,CAAC,EAC1EkP,GACE,oBAAoB,OAAAjP,EAAa,4EAA2E,OAAAH,EAAQ,aAAY,OAAAC,EAClI,CACF,EAEA,eAAeqP,IAAgB,CACvB,MAAAn2E,EAAOd,GAAa,SAAA,EAAW,KACrC,GAAI,CAACc,EAAM,OAGX,MAAMH,EAAM,MAAM,MAAMlB,GAAc,mBAAoB,CACxD,OAAQ,SACR,KAAM,OACN,QAAS,CACP,MAAOqB,EAAK,aAAA,CACd,CACD,EAGiCk2E,GAAAl2E,EAAK,SAAUA,EAAK,KAAK,EAGrD,MAAA6kE,EAAO,MAAMhlE,EAAI,KAAK,EAC5B,QAAQ,IAAIglE,CAAI,CAClB,CAEA,SAASuR,IAAe,CAChB,MAAAp2E,EAAOd,GAAa,SAAA,EAAW,KACrC,GAAI,CAACc,EAAM,OAEX,MAAMi1E,EAAej1E,EAAK,OAE1Bg1E,GAAYC,EAAc,CAAC/sE,EAAGmuE,EAAUT,IAAmB,CAE5C12E,GAAA,SACViE,IACE,CACC,KAAM,CACJ,GAAGA,EAAE,KACL,OAAQkzE,CAAA,CAEZ,EACJ,EACeT,EAAA,EAAE,KAAMU,GAAgB,CACrCv3E,GAAG,SAAS,CAAC6oE,GAAG,SAAS5nE,EAAK,EAAE,EAAE,OAAO,CAAE,OAAQs2E,CAAY,CAAC,CAAC,CAAC,EAClE1M,GAAQ,iBAAiB,CAAA,CAC1B,CAAA,CACF,CACH,CAEA,MAAM2M,GAAuB,IAAM,CACjC,MAAMv2E,EAAOC,GAAQ,EACfkB,EAAeL,GAAgB,EAC/B01E,EAAmBr1E,GAAA,YAAAA,EAAc,KAEjC,CAACs1E,EAAuBC,CAAwB,EAAI70E,EAAAA,SAAS,EAAK,EAGtE,OAAAM,EAAA,KAACw0E,GAAA,CACC,MAAM,eACN,YAAa,GACb,KACEH,IAAqB,MACjB,qCACA,sCAEN,SAAQ,GAEP,SAAA,CAAAr1E,EAEGgB,EAAA,KAAAC,WAAA,CAAA,SAAA,CAACD,EAAAA,KAAA,MAAA,CAAI,UAAU,eACZ,SAAA,CAAahB,EAAA,SAAW,SACrB,gBAAgB,OAAAA,EAAa,UAC7B,qCAAqC,OAAAA,EAAa,gBACrD,KAAG,EAAA,EACH,gCACC,OAAAA,EAAa,WAAa,SACtB,UACAA,EAAa,WAAa,SACxB,oBACA,kBACR,EACF,EACAb,EAAA,IAAC6jE,GAAA,CACC,UAAS,GACT,UAAU,YACV,KACEyS,GAAY,eAAiB,qBAAsB52E,GAAA,YAAAA,EAAM,OAE3D,QAAS,IAAM,CACb,QAAQ,IAAI,cAAc,CAC5B,EACD,SAAA,qBAAA,CAAA,CAED,CAAA,CACF,EAEAM,EAAA,IAAC6jE,GAAA,CACC,UAAS,GACT,UAAU,YACV,KAAK,YACL,QAAS,IAAM,CACb,QAAQ,IAAI,UAAU,CACxB,EACD,SAAA,gBAAA,CAED,EAEF7jE,EAAA,IAAC6jE,GAAA,CACC,UAAS,GACT,UAAU,YACV,QAAS,IAAMuS,EAAyB,EAAI,EAC7C,SAAA,eAAA,CAED,EACAp2E,EAAA,IAAC4zE,GAAA,CACC,KAAMuC,EACN,QAASC,CAAA,CAAA,CACX,CAAA,CACF,CAEJ,EAOMG,GAAkB,CAAC,CAAE,KAAA72E,KAA0B,CACnD,MAAMyB,EAAUC,GAAW,EAErBmkE,EAAWrU,SAAyB,IAAI,EACxC,CAACwU,EAAW8Q,CAAY,EAAI/Q,GAAY,EAKxC,CAAE,SAAAc,EAAU,MAAAK,CAAA,EAAUlnE,EAKzB,OAAAM,EAAA,IAAA6vE,GAAA,CACC,gBAACmD,GAAA,CAAQ,MAAM,aACb,SAAA,CAAChzE,EAAAA,IAAA,OAAI,UAAU,oFACb,SAACA,MAAA,IAAA,CAAE,iFAEH,EACF,EAEC6B,EAAAA,KAAA,MAAI,CAAA,UAAU,uDACb,SAAA,OAACw0E,GAAc,CAAA,MAAM,WAAW,SAAQ,GACtC,SAAAr2E,EAAA,IAACqlE,GAAA,CACC,MAAOkB,EACP,SAAQ,GACR,MAAOA,EACP,SAAAhB,EACA,KAAM,MAAA,CAAA,EAEV,QAEC8Q,GAAA,CAAc,MAAM,QAAQ,SAAQ,GACnC,SAAAr2E,EAAA,IAACqlE,GAAY,CAAA,MAAOuB,EAAO,KAAM,OAAQ,SAAQ,EAAC,CAAA,EACpD,QAECqP,GAAqB,EAAA,EAErBj2E,EAAAA,IAAAq2E,GAAc,CAAA,MAAM,SACnB,SAAAx0E,EAAA,KAAC,SAAA,CACC,UACwB,yBAGxB,QAASi0E,GAER,SAAA,OACE,MAAI,CAAA,UAAU,8KACb,SAAC91E,EAAA,IAAA,MAAA,CAAI,yBAAa,EACpB,QAEDE,GAAO,CAAA,CAAA,CAAA,CAAA,CAAA,EAEZ,EAEAF,EAAA,IAACq2E,GAAA,CACC,MAAM,iBACN,UAAU,2BAEV,SAAAr2E,EAAA,IAAC6jE,GAAA,CACC,UAAS,GACT,UAAU,sCACV,QAAS,IAAM,CACH6B,EAAA,CACR,OAAQ,kBACR,QACE,2DACF,QAAS,CACP,CACE,KAAM,SACN,KAAM,QACR,EACA,CACE,KAAM,SACN,QAAS,SAAY,CACnB,MAAMmQ,GAAc,EACpB52E,GAAY,OAAOkC,CAAO,EACbq1E,EAAA,CAAA,CACf,CACF,CACF,CACD,CACH,EACD,SAAA,gBAAA,CAAA,CAED,CAAA,CACF,CACF,CAAA,CAAA,CAAA,CACF,CAAA,CACF,CAEJ,EAUMH,GAAgB,CAAC,CACrB,MAAAI,EACA,UAAA9yE,EACA,SAAAD,EACA,SAAAgzE,EACA,YAAAC,EACA,KAAAC,CACF,IACE/0E,EAAA,KAAC,MAAA,CACC,WACG8B,GAAa,IACd,6FAEF,gBAAe+yE,EAEf,SAAA,CAAC70E,EAAAA,KAAA,MAAA,CAAI,UAAU,mBACb,SAAA,OAAC,KAAA,CAAG,UAAU,OAAQ,SAAM40E,EAAA,EAC3BE,SAAgB,MAAA,CAAI,UAAU,gBAAgB,IAAKC,CAAM,CAAA,CAAA,EAC5D,EACClzE,CAAA,CAAA,CACH,EAGamzE,GAAAh3E,GAAS02E,EAAe,EC/HjCO,GAAc,IACjBj1E,EAAAA,KAAA,MAAA,CAAI,UAAU,YACb,SAAA,CAAC7B,EAAA,IAAA,KAAA,CAAG,UAAU,qBAAqB,SAAU,aAAA,EAE7CA,EAAAA,IAAC,MAAI,CAAA,UAAU,UAA8B,CAAA,CAAA,EAC/C,EAGI+2E,GAAsB,IAExBl1E,EAAA,KAACmxE,GAAQ,CAAA,MAAM,YACb,SAAA,CAAAhzE,MAAC,MAAI,CAAA,UAAU,oFACb,SAAA6B,EAAA,KAAC,IAAE,CAAA,SAAA,CAAA,0CACqE,UACrEkiE,GAAK,CAAA,GAAG,qBAAqB,UAAU,YAAY,SAEpD,YAAA,CAAA,CAAA,CAAA,CACF,CACF,CAAA,EACAliE,EAAA,KAAC,MAAA,CACC,UAAU,kHAGV,SAAA,CAAA7B,EAAA,IAAC82E,GAAY,EAAA,EAEb92E,EAAAA,IAAC,MAAI,CAAA,UAAU,QAA6B,CAAA,EAC5CA,EAAAA,IAAC,MAAI,CAAA,UAAU,kCAEf,CAAA,EAEAA,EAAAA,IAAC,MAAI,CAAA,UAAU,YAAa,CAAA,CAAA,CAAA,CAAA,CAC9B,EACF,EAIJg3E,GAAe,IACbh3E,EAAAA,IAAC6vE,GACC,CAAA,SAAA7vE,EAAAA,IAAC+2E,IAAU,CAAA,EACb,EC3KWE,GAAkBl3E,GASzB,CACJ,KAAM,CAACinE,EAAMC,CAAO,EAAI1lE,EAAAA,SAAS,EAAE,EAC7BilE,EAAYzmE,EAAM,UAGlB,CAACmnE,EAAQC,CAAS,EAAI5lE,EAAAA,SAAS,EAAK,EAEpC6lE,EAAgBttB,GAAwC,CACxD,GAAA,CACFA,EAAE,eAAe,EAEdr7C,GAAA,KACA,oBAAoB,CAAE,MAAO+nE,EAAW,KAAAQ,EAAM,EAC9C,KAAMkQ,GAAiB,CACtB,QAAQ,IAAI,6BAA6B,EACzCz4E,GAAG,SAAS,CACV6oE,GAAG,iBAAiB4P,EAAa,KAAK,EAAE,EAAE,OAAO,CAC/C,WAAY7Q,GAAiB,CAC9B,CAAA,CAAA,CACF,EACDtmE,EAAM,OAAO,KAAKA,EAAM,YAAa,OAAQ,SAAS,CAAA,CACvD,EACA,MAAOZ,GAAQ,OACdY,EAAM,aAAa,YAAYN,EAAAN,EAAI,OAAJ,YAAAM,EAAU,QAAO,EAChDwnE,EAAQ,EAAE,CAAA,CACX,QACIntB,EAAG,CACF,QAAA,MAAM,oBAAqBA,CAAC,EACpC,MAAM0tB,EAAQ1tB,EACR/5C,EAAA,aAAaynE,EAAM,OAAO,CAAA,CAEpC,EAEMC,EAAWT,EAAK,SAAW,EAEjC,OACGnlE,EAAAA,KAAA,OAAA,CAAK,SAAUulE,EAAc,UAAU,YACtC,SAAA,CAACpnE,EAAA,IAAA,MAAA,CAAI,UAAU,oDAAoD,SAEnE,kCAAA,EACCA,EAAA,IAAA,MAAA,CAAI,UAAU,8DACb,SAAC6B,EAAAA,KAAA4gE,GAAA,CAAS,UAAW,EAAG,SAAW3oB,GAAMmtB,EAAQntB,CAAC,EAChD,SAAA,CAAAj4C,OAACghE,GACC,CAAA,SAAA,CAAC7iE,EAAAA,IAAA8iE,GAAA,CAAa,MAAO,CAAG,CAAA,EACxB9iE,EAAAA,IAAC8iE,GAAa,CAAA,MAAO,CAAG,CAAA,EACxB9iE,EAAAA,IAAC8iE,GAAa,CAAA,MAAO,CAAG,CAAA,CAAA,EAC1B,QACCO,GAAkB,EAAA,SAClBR,GACC,CAAA,SAAA,CAAC7iE,EAAAA,IAAA8iE,GAAA,CAAa,MAAO,CAAG,CAAA,EACxB9iE,EAAAA,IAAC8iE,GAAa,CAAA,MAAO,CAAG,CAAA,EACxB9iE,EAAAA,IAAC8iE,GAAa,CAAA,MAAO,CAAG,CAAA,CAAA,CAC1B,CAAA,CAAA,CAAA,CACF,CACF,CAAA,EACC9iE,EAAAA,IAAAkmE,GAAA,CAAU,MAAOnmE,EAAM,SAAW,CAAA,EAEnCC,EAAAA,IAAC,MAAI,CAAA,UAAU,WACb,SAAAA,EAAA,IAAC,MAAA,CACC,UAAU,mNAIV,MACEynE,EACI,CAAE,eAAgB,KAAM,kBAAmB,IAAK,EAChD,CAAE,eAAgB,MAAO,EAE/B,YAAWA,EAEX,eAAC5D,GAAa,CAAA,KAAK,SAAS,UAAU,SAAS,SAE/C,OAAA,CAAA,CAAA,CAAA,EAEJ,EAEA7jE,EAAA,IAAC,MAAA,CACC,UAAU,uHAEV,YAAWgnE,EAAK,OAAS,EAExB,SAACE,oBAsBE,SAAY,cAAA,CAAA,EArBZrlE,EAAA,KAAAC,EAAA,SAAA,CAAA,SAAA,CAAA,qDACwD,IACxD9B,EAAA,IAAC,SAAA,CACC,KAAK,SACL,UAAU,2CACV,QAAS,IAAM,CACbmnE,EAAU,EAAI,EACdR,GACE5mE,EAAM,UACNA,EAAM,aACNA,EAAM,YACR,EACA,WAAW,IAAM,CACfonE,EAAU,EAAK,GACd,IAAK,CACV,EACD,SAAA,2BAAA,CAAA,CAGH,CAAA,CAAA,CAEc,CAAA,CAElB,EACF,CAEJ,EAEMgQ,GAAgBp3E,GAQhB,CACJ,MAAM6mE,EAAQ7mE,EAAM,MAEdqnE,EAAe,MAAOttB,GAAwC,CAElE,GADAA,EAAE,eAAe,EACb,CAAC8sB,EAAO,OAaR,GAAA,EAFS,MATD,MAAM,MAAMvoE,GAAc,sBAAuB,CAC3D,OAAQ,OACR,KAAM,OACN,QAAS,CACP,eAAgB,kBAClB,EACA,KAAM,KAAK,UAAU,CAAE,MAAAuoE,CAAO,CAAA,CAAA,CAC/B,GAEsB,KAAK,GAElB,QAAS,CACjB7mE,EAAM,aAAa,gBAAgB,EACnC,MAAA,CAGFA,EAAM,aAAa6mE,CAAK,EACxB,MAAMD,GAAqBC,EAAO7mE,EAAM,aAAcA,EAAM,YAAY,CAC1E,EAEA,OAEI8B,EAAA,KAAAC,WAAA,CAAA,SAAA,CAAC9B,EAAA,IAAA,MAAA,CAAI,UAAU,oDAAoD,SAEnE,aAAA,EACC6B,EAAA,KAAA,OAAA,CAAK,SAAUulE,EAAc,UAAU,mBACtC,SAAA,CAAApnE,EAAA,IAACqlE,GAAA,CACC,MAAO,WACP,KAAM,OACN,SAAQ,GACR,SAAQ,GACR,MAAOtlE,EAAM,SACb,UAAU,QAAA,CACZ,EACAC,EAAA,IAACqlE,GAAA,CACC,MAAO,QACP,KAAM,QACN,aAAa,QACb,SAAQ,GACR,UAAU,SACV,MAAOuB,EACP,SAAW9sB,GAAM/5C,EAAM,SAAS+5C,EAAE,OAAO,MAAM,YAAa,CAAA,CAAA,CAC9D,EACC95C,EAAAA,IAAAkmE,GAAA,CAAU,MAAOnmE,EAAM,SAAW,CAAA,EAEnC8B,EAAAA,KAAC,MAAI,CAAA,UAAU,WACb,SAAA,CAAA7B,EAAA,IAAC,MAAA,CACC,UAAU,mNAIV,MACE4mE,IAAU,GACN,CAAE,eAAgB,KAAM,kBAAmB,IAAK,EAChD,CAAE,eAAgB,MAAO,EAE/B,YAAWA,IAAU,GAErB,eAAC/C,GAAa,CAAA,KAAK,SAAS,UAAU,SAAS,SAE/C,OAAA,CAAA,CAAA,CACF,EACA7jE,EAAA,IAAC,MAAA,CACC,UAAU,iOAIV,MACE4mE,IAAU,GACN,CAAE,eAAgB,KAAM,kBAAmB,IAAK,EAChD,CAAE,eAAgB,MAAO,EAE/B,YAAWA,IAAU,EAAA,CAAA,CACtB,CACH,CAAA,CAAA,EACF,EAEC5mE,EAAA,IAAA,MAAA,CAAI,UAAU,QAAQ,SAAE,KAAA,EACzBA,EAAAA,IAAC,OAAI,UAAU,sBACb,eAACglE,GAAiB,CAAA,KAAK,QAAS,CAAA,CAClC,CAAA,CAAA,EACF,CAEJ,EAOa6C,GAAY9nE,GAAyB,CAChD,MAAMiB,EAASC,GAAa,EACtB,CAAC2lE,EAAOwQ,CAAS,EAAI71E,EAAAA,SAAiB,EAAE,EACxC,CAACwmE,EAAWC,CAAY,EAAIzmE,EAAAA,SAAwB,IAAI,EACxD,CAACilE,EAAWM,CAAY,EAAIvlE,EAAAA,SAAS,EAAE,EAEvCumE,EAAYlB,GAAkB,CAClCwQ,EAAUxQ,CAAK,EACfoB,EAAa,IAAI,CACnB,EAGE,OAAAhoE,EAAAA,IAAC,MAAI,CAAA,UAAU,uCACb,SAAAA,EAAA,IAAC,MAAA,CACC,UAAU,gKAEV,MAAO,CAAE,eAAgB,MAAO,EAE/B,SACCwmE,EAAAxmE,EAAA,IAACi3E,GAAA,CACC,OAAAj2E,EACA,SAAUjB,EAAM,SAChB,UAAAymE,EACA,UAAAuB,EACA,aAAcC,EACd,aAAAlB,EACA,YAAatoE,EAAO,UAAA,CAAA,EAGtBwB,EAAA,IAACm3E,GAAA,CACC,OAAAn2E,EACA,SAAUjB,EAAM,SAChB,UAAAgoE,EACA,aAAcC,EACd,MAAApB,EACA,SAAAkB,EACA,aAAAhB,CAAA,CAAA,CACF,CAAA,EAGN,CAEJ,EAKMuQ,GAAQ,CAAC,CACb,SAAAnP,CACF,IAAkE,OAChE,KAAM,CAACC,EAAYC,CAAa,EAAI7mE,EAAAA,SAAS,EAAK,EAI5C+mE,EAA+B,CACnC,WAHe7oE,EAAAyoE,EAAS,QAAT,YAAAzoE,EAAgB,WAGT,GACtB,cAAA2oE,CACF,EAEA,cACGG,GAAa,CAAA,WAAU,GAAC,cAAe/pE,EAAO,MAC5C,SAAA,CAAA2pE,SAAeK,GAAY,EAAA,QAE3BlF,GACC,CAAA,SAAAtjE,EAAAA,IAAC6nE,GAAU,CAAA,GAAGS,EAAe,CAC/B,CAAA,CAAA,EACF,CAEJ,EC9TagP,GAAyB,IACzBC,GAA6B,GAiCpCjb,GAAgBl2D,GAAyC,CACzDA,EAAI,UACN,aAAaA,EAAI,OAAO,EACxBA,EAAI,QAAU,KAElB,EAEMoxE,GAAoB,CACxB,cAAeF,GACf,kBAAmBC,GACnB,SAAU,EACZ,EAMME,GAAa13E,GAAwD,CACnE,KAAA,CACJ,aAAA23E,EACA,YAAAC,EACA,cAAAC,EACA,kBAAAC,EACA,SAAAC,EACA,GAAGl0E,CAAA,EACD,CAAE,GAAG4zE,GAAmB,GAAGz3E,CAAM,EAE/Bg4E,EAAsB7mB,SAAgB,IAAI,EAC1C8mB,EAAgB9mB,SAAgC,IAAI,EAEpD+mB,EAAa91E,EAAA,YAChB23C,GAA0C,CACrCg+B,GAAYh+B,EAAE,SAAW,IAI7BwiB,GAAayb,CAAmB,EAEhCC,EAAc,QAAU,CAACl+B,EAAE,QAASA,EAAE,OAAO,EAEzBi+B,EAAA,QAAU,WAAW,IAAM,CAEzCA,EAAoB,UAEtBzb,GAAayb,CAAmB,EAGpBJ,EAAA,IAEbC,CAAa,EAClB,EACA,CAACE,EAAUH,EAAaC,CAAa,CACvC,EAEMM,EAAW/1E,EAAA,YACd23C,GAA0C,CACrCg+B,GAAYh+B,EAAE,SAAW,GAIzBi+B,EAAoB,UACtBzb,GAAayb,CAAmB,EAEnBL,EAAA,EAEjB,EACA,CAACI,EAAUJ,CAAY,CACzB,EAGMS,EAAgBh2E,EAAA,YACnB23C,GAA0C,CACrC,GAAAi+B,EAAoB,SAAWC,EAAc,QAAS,CACxD,MAAMI,EAAQt+B,EAAE,QAAUk+B,EAAc,QAAQ,CAAC,EAC3CK,EAAQv+B,EAAE,QAAUk+B,EAAc,QAAQ,CAAC,EAChCI,EAAQA,EAAQC,EAAQA,EAC1BR,GACbvb,GAAayb,CAAmB,CAClC,CAEJ,EACA,CAACF,CAAiB,CACpB,EAGE,OAAA73E,EAAA,IAAC,MAAA,CACE,GAAG4D,EACJ,cAAgBk2C,GAAMm+B,EAAWn+B,CAAC,EAClC,YAAcA,GAAMo+B,EAASp+B,CAAC,EAC9B,cAAgBA,GAAMq+B,EAAcr+B,CAAC,EAEpC,SAAM/5C,EAAA,QAAA,CACT,CAEJ,ECtHau4E,GACX,CACE54E,EACAouD,EACAyqB,IAEF,SAAY,CACN,GAAA,CAAC74E,GAAQ,CAACouD,EAAM,OAEd,MAAA0qB,EAAW,MAAMC,GAAM,SAAS,EAEhC5T,EAAM3C,GAAaxiE,EAAMouD,CAAI,EAEnC,GAAI0qB,EAAS,MACP,GAAA,CACF,MAAMC,GAAM,MAAM,CAChB,MAAO3qB,EAAK,MACZ,KAAM,sBACN,IAAA+W,EACA,YAAa,OAAA,CACd,QACM1lE,EAAK,CACZ,QAAQ,MAAMA,CAAG,CAAA,MAGnB,UAAU,UACP,UAAU0lE,CAAG,EACb,KAAK,IAAM,CACV,QAAQ,IAAI,yBAAyB,EACrC0T,EAAa,yBAAyB,CAAA,CACvC,EACA,MAAOp5E,GAAQ,CACN,QAAA,MAAM,mCAAoCA,CAAG,CAAA,CACtD,CAEP,ECPIu5E,GAAmB34E,GAAgC,CACjD,KAAA,CAAC44E,CAAY,EAAIlT,GAAY,EAC7B8S,EAAezS,GAAY,EAE3B8S,EAAYhX,GAAehiE,GAAMA,EAAE,KAAK,EACxCkuD,EAAOgU,GAAQ/hE,EAAM,MAAM,EAC3BL,EAAOC,GAAQ,EAEfk5E,EAAS/qB,EAAK,GAEd3sD,EAAUC,GAAW,EAErB03E,EAAgB/X,GAAiB,IACrC5/D,EAAQ,KAAK4/D,EAAM,CAAE,GAAI8X,EAAQ,EAE7BzrB,EAAQ,CACZ,CACE,KAAM,cACN,UAAW,eACX,KAAM2rB,GACN,MAAO,CACL,SAAUF,IAAWD,CACvB,EACA,QAAS,IAAM,CACAD,EAAA,CACX,OAAQ,oBACR,QAAS,GAAG,OAAA7qB,EAAK,MAAK,iEACtB,QAAS,CACP,CACE,KAAM,cACN,QAAS,IAAM,CAEb,GADA/tD,EAAM,QAAQ,EACV+tD,GAAQpuD,EACN,GAAA,CACFurE,GAAa,cAAcnd,CAAI,EAClByqB,EAAA,mBAAmB,OAAAzqB,EAAK,MAAK,WAAU,QAC7C3uD,EAAK,CACN,MAAA,IAAI,MAAM,0BAA2B,CACzC,MAAOA,CAAA,CACR,CAAA,CAEL,CAEJ,EACA,CACE,KAAM,SACN,SAAU,gBACV,KAAM,QAAA,CACR,CACF,CACD,CAAA,CAEL,EACA,CACE,KAAM,OACN,KAAM65E,GACN,UAAW,iBACX,QAASF,EAAa,SAAS,CACjC,EAOA,CACE,KAAM,YACN,KAAM/H,GACN,UAAW,qBACX,QAAS+H,EAAa,YAAY,CACpC,EAOA,CACE,KAAM,QACN,KAAMG,GACN,UAAW,gBACX,QAASX,GAAU54E,EAAMouD,EAAMyqB,CAAY,CAC7C,EACA,CACE,KAAM,YACN,KAAMW,GACN,UAAW,oBACX,QAAS,IAAM,CAEb,GADAn5E,EAAM,QAAQ,EACV+tD,EAAM,CACR,MAAMqrB,EAAa,CACjB,GAAGrrB,EACH,MAAO,MAGT,EACAmd,GAAa,IAAIkO,CAAU,EACdZ,EAAA,sBAAsB,OAAAzqB,EAAK,MAAO,CAAA,CACjD,CAEJ,EACA,CACE,KAAM,SACN,KAAMsrB,GACN,UAAW,qBACX,QAAS,IACPT,EAAa,CACX,OAAQ,eACR,QAAS,+BACT,QAAS,CACP,CACE,KAAM,SACN,QAAS,IAAM,CACb54E,EAAM,QAAQ,EACV+tD,IACFmd,GAAa,OAAOnd,CAAI,EACXyqB,EAAA,wBAAwB,OAAAzqB,EAAK,MAAO,EACnD,CAEJ,EACA,CACE,KAAM,SACN,SAAU,gBACV,KAAM,QAAA,CACR,CAEH,CAAA,CAAA,CAEP,EAEA,OAEI9tD,EAAA,IAAA8B,WAAA,CAAA,SAAAD,EAAAA,KAAC,MAAI,CAAA,UAAU,QACb,SAAA,CAAA7B,MAAC4B,GACC,CAAA,SAAAC,EAAAA,KAACqyE,GAAW,CAAA,UAAU,iBACpB,SAAA,CAACl0E,EAAAA,IAAAm0E,GAAA,CAAW,KAAK,QACf,SAAAn0E,EAAA,IAAC,SAAA,CACC,QAASD,EAAM,QACf,UAAU,qGAEV,SAAAC,EAAAA,IAAC,IAAE,CAAA,UAAU,sBAAuB,CAAA,CAAA,CAAA,EAExC,EAECA,EAAA,IAAAo0E,GAAA,CAAS,UAAU,cAAe,WAAK,MAAM,EAG7Cp0E,EAAA,IAAAm0E,GAAA,CAAW,KAAK,MAAM,UAAU,YAC/B,SAACn0E,EAAA,IAAAq5E,GAAA,CACC,SAACr5E,EAAAA,IAAAs5E,GAAA,CAAQ,KAAK,WAAA,CAAY,EAC5B,CACF,CAAA,CAAA,CAAA,CACF,CACF,CAAA,EAEAt5E,EAAAA,IAACu5E,GAAQ,CAAA,MAAO,CAAE,qBAAsB,mBACrC,SAAAnsB,EAAM,IAAKtT,GACVj4C,EAAA,KAAC23E,GAAA,CAEC,UAAU,8BACV,OAAM,GACN,QAAS1/B,EAAE,QACV,GAAGA,EAAE,MAEN,SAAA,CAAC95C,EAAAA,IAAAy5E,GAAA,CAAU,WAAE,IAAK,CAAA,EAEjBz5E,EAAAA,IAAAM,GAAA,CAAQ,KAAMw5C,EAAE,IAAM,CAAA,CAAA,CAAA,EARlBA,EAAE,IAAA,CAUV,CACH,CAAA,CAAA,CAAA,CACF,CACF,CAAA,CAEJ,EAEe4/B,GAAAA,EAAAA,KAAKhB,EAAe,66oCCvK7BiB,GAAa,GA2BbC,GAAoB75E,GAEtBC,EAAA,IAAC,SAAA,CACC,UAAU,sFACV,QAASD,EAAM,QAEf,SAACC,EAAA,IAAAM,GAAA,CAAQ,KAAMP,EAAM,IAAM,CAAA,CAAA,CAC7B,EAIE85E,GAAgB,CAAC,CAAE,SAAAn2E,KAErB1D,EAAAA,IAAC85E,GAAQ,CAAA,UAAU,mEACjB,SAAA95E,EAAA,IAAC+5E,GAAA,CACC,UAAU,mHAGT,SAAAr2E,CAAA,CAAA,EAEL,EAOEs2E,GAAcN,EAAA,KAClB,CAAC,CACC,OAAAb,EACA,aAAAoB,CAAA,IAII,CACJ,MAAM94E,EAAUC,GAAW,EACrB0sD,EAAOgU,GAAQ+W,CAAM,EAKvB,OAFoCjX,GAAe,GAAM,EAAE,KAAK,EAE/D9T,QAGF+rB,GAEC,CAAA,SAAA75E,EAAA,IAACy3E,GAAA,CACC,UAAU,mFACV,aAAc,IAAM/H,EAAc,eAAevuE,EAAS2sD,EAAK,EAAE,EAEjE,YAAa,IAAM,CACjBmsB,EAAansB,EAAK,EAAE,CACtB,EAEA,SAAC9tD,EAAA,IAAA6xD,GAAA,CAAW,KAAA/D,EAAY,YAAaosB,EAAU,CAAA,CAAA,CAAA,EA0BnD,EAvCgB,IAuChB,CAGN,EAeMC,GAAap6E,GAEfC,EAAA,IAACi0E,GAAA,CACC,UAAU,UACV,OAAQl0E,EAAM,UACd,YAAa,CAAC,EAAG,CAAC,EAClB,kBAAmB,EACnB,OAAQ,GACR,aAAcA,EAAM,QAEpB,eAAC24E,GAAgB,CAAA,QAAS34E,EAAM,QAAS,OAAQA,EAAM,MAAQ,CAAA,CAAA,CACjE,EAQEq6E,GAAer6E,GAAsB,CACzC,MAAML,EAAOC,GAAQ,EACfmuD,EAAOgU,GAAQ/hE,EAAM,MAAM,EAE3Bs6E,EAAUnY,GAAaxiE,EAAMouD,CAAI,EAGrC,OAAA9tD,EAAA,IAACi0E,GAAA,CACC,OAAQl0E,EAAM,UACd,kBAAmB,EACnB,YAAa,CAAC,EAAG,CAAC,EAClB,OAAQ,GACR,aAAcA,EAAM,QACpB,UAAU,UAEV,SAAA8B,EAAA,KAAC,MAAI,CAAA,UAAU,QACb,SAAA,CAAC7B,EAAAA,IAAA,MAAA,CAAI,UAAU,6DACb,SAAAA,EAAA,IAACs6E,IAAU,UAAU,QAAQ,MAAOD,CAAA,CAAS,CAC/C,CAAA,EACCr6E,EAAA,IAAA,MAAA,CAAI,UAAU,wDACb,SAACA,EAAAA,IAAA,IAAA,CAAE,KAAMq6E,EAAU,SAAclY,GAAAziE,EAAMouD,CAAI,CAAA,CAAE,CAC/C,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAEJ,EAKMysB,GAAgB,IAAM,CAC1B,MAAMv5E,EAASC,GAAa,EACtBE,EAAUC,GAAW,EAErBo5E,EAAmBnuB,GACvBqjB,EAAc,gBAAgBvuE,EAASkrD,CAAI,EAEvC,CAACouB,EAAQC,CAAS,EAAIn5E,EAAAA,SAAS,EAAK,EAEpCo5E,EAAiB,IAAM,CACV/Y,GAAc,SAAS,EAAE,QAAU,MAIlD8Y,EAAU,EAAI,EACd,WACE,IAAA,OAAM,OAAAj7E,EAAA,SAAS,eAAe,uBAAuB,IAA/C,YAAAA,EAAkD,SACxD,GACF,GAKOuB,EAAA,KAAKxC,EAAO,UAAU,CAEjC,EAEcmB,GAAQ,EAEtB,KAAM,CAACi7E,EAAUC,CAAY,EAAIt5E,EAAAA,SAAwB,IAAI,EAE7D,OAEIM,EAAA,KAAAC,WAAA,CAAA,SAAA,CAAA9B,EAAA,IAAC86E,GAAA,CACC,OAAAL,EACA,aAAc,IAAM,CAClBC,EAAU,EAAK,EAEb,SAAS,eAAe,uBAAuB,EAC/C,MAAQ,EACZ,EAEA,OAAO,iBACP,QAAS,CACP,CACE,GAAI,qBACJ,SAAU,eACV,eAAgB,CACd,KAAM,SACN,SAAU,MACZ,EACA,KAAM,KACN,QAAUpY,GAAqB,CACbkY,EAAAlY,EAAO,CAAC,CAAC,EAEvB,SAAS,eACP,yBAEF,MAAQ,EAAA,CACZ,CAEJ,EACA,SAAU,YAEV,OAAQ,CACN,CACE,GAAI,wBAEJ,YAAa,YACb,MAAOsY,EACP,WAAY,CAEV,UAAY9gC,GAAqB,CAC3B,GAAAA,EAAE,MAAQ,QAAS,CACf,MAAAihC,EACJ,SAAS,eAAe,oBAAoB,EAE1CA,GAAY,CAACA,EAAS,aAAa,UAAU,GAC/CA,EAAS,MAAM,CACjB,CAEJ,EACA,QAAUjhC,GAAqB,CAC7B,MAAMga,EAASha,EAAE,OAEb,GADAga,IAAW,MACX,CAACA,EAAO,MAAO,OAEb,MAAAqF,EAAU0I,GAAW/N,EAAO,KAAK,EAEjCinB,EAAW,SAAS,eAAe,oBAAoB,EACzDA,IACE5hB,EAAQ,OAAS,GACV4hB,EAAA,UAAU,OAAO,cAAc,EACxCA,EAAS,gBAAgB,UAAU,IAE1BA,EAAA,UAAU,IAAI,cAAc,EAC5BA,EAAA,aAAa,WAAY,EAAE,IAIxCjnB,EAAO,MAAQqF,CACjB,EACA,SAAU,EACV,UAAW,EAAA,CAEb,CACF,CACF,CACD,QACA0gB,GACC,CAAA,SAAA75E,EAAA,IAACy3E,GAAA,CACC,UAAU,kDAEV,aAAckD,EACd,YAAaA,EAEb,SAAA94E,EAAA,KAAC,SAAO,CAAA,UAAU,iDAChB,SAAA,CAAC7B,EAAAA,IAAA,IAAA,CAAE,UAAU,oCAAqC,CAAA,EAClDA,EAAA,IAAC,MAAA,CACC,UAAU,oBACV,QAAQ,cACR,MAAM,6BAEN,SAAAA,EAAA,IAAC,SAAA,CACC,KAAK,cACL,OAAO,wBACP,YAAY,IACZ,gBAAgB,OAChB,GAAG,KACH,GAAG,KACH,EAAE,IAAA,CAAA,CACJ,CAAA,CACF,CACF,CAAA,CAAA,CAAA,CAEJ,CAAA,CAAA,EACF,CAEJ,EAMMg7E,GAAY,IAAM,OACtB,MAAMt7E,EAAOC,GAAQ,EACfypE,EAAQxH,GACZqZ,GAAYr7E,GAAM,OAAO,KAAKA,EAAE,KAAK,CAAgB,CACvD,EAEM,CAACs7E,EAAWC,CAAa,EAAI55E,EAAAA,SAA2B,IAAI,EAC5D,CAAC65E,EAAaC,CAAc,EAAI95E,EAAAA,SAA2B,IAAI,EAC/D,CAAC+5E,EAAYC,CAAa,EAAIh6E,EAAAA,SAAS,CAAC,EAExCi6E,EAAYtqB,SAAkB,IAAI,EAElC+oB,EAAe93E,cAAa02E,GAA6B,OAC7DsC,EAActC,CAAM,EAEd,MAAAnc,GAASj9D,EAAA+7E,GAAA,YAAAA,EAAW,UAAX,YAAA/7E,EAAoB,OAE9Bi9D,IAGDmc,IAAW,KACbnc,EAAO,OAAO,EAEdA,EAAO,QAAQ,EAEnB,EAAG,EAAE,EAECiJ,EAAUxjE,EAAAA,YAAY,IAAM83E,EAAa,IAAI,EAAG,CAAA,CAAE,EAClDwB,EAAYt5E,EAAAA,YAAY,IAAMk5E,EAAe,IAAI,EAAG,CAAA,CAAE,EAEtDK,GAAaj8E,EAAA2pE,EAAMkS,CAAU,IAAhB,KAAA77E,EAAqB,KAClCuvD,EAAc4S,GAAehiE,GAAA,OAAM,OAAAH,EAAAG,EAAE,MAAM87E,CAAU,IAAlB,KAAAj8E,EAAuB,KAAI,EAE9D,CAACsmE,CAAO,EAAIC,GAAY,EAExBuS,EAAgBryE,GAAiB,CAC7B6/D,EAAA,CACN,QAAS7/D,EACT,SAAU,KACV,SAAU,SACV,SAAU,UAAA,CACX,CACH,EAEA,OAAAmiE,GAAoB,IAAM,UACd5nE,GAAAhB,EAAA+7E,EAAA,UAAA,YAAA/7E,EAAS,SAAT,MAAAgB,EAAiB,SACnBklE,EAAA,CAAA,EACP,CAACyD,EAAOkS,CAAU,CAAC,EAEtBK,GAAoB,IAAM,CAChBhW,EAAA,CACV,EAAG,EAAE,EAGH9jE,EAAA,KAAC,MAAI,CAAA,UAAU,mCACZ,SAAA,CAAc83E,GAMf35E,EAAA,IAAC,MAAA,CACC,UAAU,sLAKV,gBAAegvD,IAAgB,KAChC,SAAA,iBAAA,CAED,EAGAntD,EAAA,KAAC,MAAA,CACC,UAAU,8JAGV,gBAAemtD,IAAgB,KAE/B,SAAA,CAAAhvD,EAAA,IAAC,IAAA,CACC,UAAU,2BACV,OAAO,SACP,IAAI,sBACJ,KAAMkiE,GAAaxiE,EAAMsvD,CAAW,EAGpC,SAAAntD,EAAA,KAAC,OAAK,CAAA,UAAU,GACb,SAAA,CAAAkgE,GAAY,IAAEC,GAActiE,CAAI,EAEhCuiE,GAAcjT,CAAW,CAAA,CAC5B,CAAA,CAAA,CAKF,EACAntD,EAAA,KAAC,MAAA,CACC,UAAU,kDAGV,SAAA,CAAA7B,EAAA,IAAC45E,GAAA,CACC,KAAMgC,GACN,QAAS,IAAMP,GAAersB,GAAA,YAAAA,EAAa,KAAM,IAAI,CAAA,CACvD,EACAhvD,EAAA,IAAC45E,GAAA,CACC,KAAMX,GACN,QAASX,GAAU54E,EAAOsvD,EAAaupB,CAAY,CAAA,CACrD,EACAv4E,EAAA,IAAC45E,GAAA,CAGC,KAAMiC,GACN,QAAS,IAAM5B,GAAajrB,GAAA,YAAAA,EAAa,KAAM,IAAI,CAAA,CAAA,CACrD,CAAA,CAAA,CAcF,CAAA,CACF,EAIAntD,EAAAA,KAAC,MAAI,CAAA,UAAU,0BACb,SAAA,CAAAA,EAAA,KAACi6E,GAAA,CACC,IAAKN,EACL,UAAU,2BACV,aAAcF,EACd,cAAe,OACf,eAAgB,GAChB,aAAc,GACd,WAAY,GACZ,QAAS,CAACS,GAAYC,GAAYC,EAAU,EAC5C,WAAY,CACV,UAAW,EACb,EACA,cAAgBvf,GAAW,CACzB6e,EAAc7e,EAAO,WAAW,CAClC,EAEC,SAAA,CAAA0M,EAAM,IAAK1hB,GACV1nD,EAAA,IAACk8E,IAAqB,UAAU,WAC9B,SAACl8E,EAAAA,IAAAg6E,GAAA,CAAY,OAAQtyB,EAAI,aAAAuyB,EAA4B,CAAA,EADrCvyB,CAElB,CACD,EAEA0hB,EAAM,OAAS/L,IACdr9D,EAAAA,IAACk8E,IAAY,UAAU,WACrB,SAACl8E,EAAAA,IAAAu6E,GAAA,CAAc,CAAA,CACjB,CAAA,CAAA,CAAA,CAEJ,EAECW,GACCl7E,EAAA,IAACm6E,GAAA,CACC,UAAWe,IAAc,KACzB,QAAAvV,EACA,OAAQuV,CAAA,CACV,EAGDE,GAAepsB,GACdhvD,EAAA,IAACo6E,GAAA,CACC,UAAWgB,IAAgB,KAC3B,QAASK,EACT,OAAQzsB,EAAY,EAAA,CAAA,CACtB,CAEJ,CAAA,CAAA,EACF,CAEJ,EAEAmtB,GAAe,IACbn8E,EAAAA,IAAC6vE,GACC,CAAA,SAAA7vE,EAAAA,IAACg7E,IAAU,CAAA,EACb,ECniBIoB,GACJ/7E,GAAW,SAAS,GAAK,CAACA,GAAW,WAAW,EAE5Cg8E,GAAgB,IAalBx6E,EAAA,KAAC,MAAI,CAAA,UAAU,yDACZ,SAAA,CACCu6E,IAAAp8E,EAAA,IAAC,IAAA,CACC,UAAU,kCACV,OAAO,SACP,IAAI,aACJ,KAAK,0BAAA,CACP,EAEFA,EAAA,IAAC,SAAA,CACC,IAAI,+DACJ,MAAM,OACN,OAAO,OACP,YAAY,IACZ,QAAQ,0FACR,UAAU,eAAA,CAAA,CACX,EACH,EAIEs8E,GAAe,IAClBt8E,EAAAA,IAAA,MAAA,CAAI,UAAU,iDACb,SAAA6B,EAAA,KAAC,IAAA,CACC,UAAU,sLAGV,MAAO,CACL,UACE,2EAEJ,EACA,KAAK,oCACL,OAAO,SACP,IAAI,aAEJ,SAAA,CAAC7B,EAAAA,IAAA,MAAA,CAAI,IAAI,+CAAgD,CAAA,EAAE,qBAE3DA,EAAAA,IAAC,MAAI,CAAA,UAAU,+DAAgE,CAAA,CAAA,CAAA,CACjF,EACF,EAIIu8E,GAAmBl8E,GAAW,WAAW,GAAKA,GAAW,SAAS,EAMlEm8E,GAAsB,IAGtBx8E,EAAA,IAAA8B,WAAA,CAAA,SAAAD,EAAAA,KAACmxE,GAAQ,CAAA,MAAM,YACb,SAAA,CAAAhzE,EAAA,IAACq8E,GAAc,EAAA,EACdE,IAEG16E,EAAA,KAAAC,WAAA,CAAA,SAAA,CAAA9B,MAAC,KAAG,CAAA,UAAU,qCAAqC,GAAG,UAAU,SAEhE,UAAA,QACCs8E,GAAa,EAAA,EACdz6E,EAAAA,KAAC,MAAI,CAAA,UAAU,uBAAuB,SAAA,CAAA,2KAGO,KAAG,EAAA,QAC7C,KAAG,EAAA,EAAE,sLAGqD,KAAG,EAAA,QAC7D,KAAG,EAAA,EAAE,0BAAA,CACR,CAAA,CAAA,CAIF,CAAA,CAAA,CAAA,CAEJ,CACF,CAAA,EAIJ46E,GAAe,IACbz8E,EAAAA,IAAC6vE,GACC,CAAA,SAAA7vE,EAAAA,IAACw8E,IAAU,CAAA,EACb,EC9Cc,SAAAE,GACdC,EACAC,EACApV,EACA,CACM,MAAAqV,EAAiB3rB,SAAO,EAAK,EACnCvvD,EAAAA,UAAU,IAAM,CACVk7E,EAAe,UACnBA,EAAe,QAAU,GAEXF,EAAA,EACX,KAAM,GAAM,CACXC,EAAQ,CAAC,CAAA,CACV,EACA,MAAMpV,CAAK,EAChB,EAAG,EAAE,CACP,CCtEO,SAASsV,IAAmB,CACjCn7E,EAAAA,UAAU,IAAM,CACR,MAAAo7E,EAAoBjjC,GAAa,CACjC6a,EAAqB,SAAS,EAAE,eAClC7a,EAAE,eAAe,CAErB,EAES,gBAAA,iBAAiB,YAAaijC,EAAkB,CACvD,QAAS,EAAA,CACV,EACM,IAAM,SAAS,oBAAoB,YAAaA,CAAgB,CACzE,EAAG,EAAE,CACP,CCJA,MAAMC,GAAiBC,GAA2B,CACtCt7E,EAAA,UAAAs7E,EAAQ,EAAE,CACtB,EAEMC,GAAcj5D,GAAwB,CACpC,MAAAk5D,EAAQjsB,SAAOjtC,CAAE,EAGvBk5D,EAAM,QAAUl5D,EAEhB+4D,GAAc,IAAM,IAAMG,EAAM,SAAS,CAC3C,EAEMC,GACJz+E,GACqC,CAC/B,MAAA0+E,EAAQnsB,SAAO,CAAC,EAChB,CAACO,EAAOohB,CAAQ,EAAItxE,EAAAA,SAAS5C,CAAY,EAEzC2+E,EAAcn7E,cAAa++D,GAAqC,CACpE,qBAAqBmc,EAAM,OAAO,EAE5BA,EAAA,QAAU,sBAAsB,IAAM,CAC1CxK,EAAS3R,CAAK,CAAA,CACf,CACH,EAAG,EAAE,EAEL,OAAAgc,GAAW,IAAM,CACf,qBAAqBG,EAAM,OAAO,CAAA,CACnC,EAEM,CAAC5rB,EAAO6rB,CAAW,CAC5B,EAIgB,SAAAx4D,GACdsvC,KACGmpB,EACG,CACFnpB,GAAOA,EAAI,kBACTA,EAAA,iBACF,GAAImpB,CACN,CAEJ,CAEgB,SAAAC,GACdppB,KACGmpB,EAGG,CACFnpB,GAAOA,EAAI,qBACTA,EAAA,oBACF,GAAImpB,CACN,CAEJ,CAEa,MAAAE,GAAY,OAAO,OAAW,IA8B9BC,GACX/iB,GACG,CACH,KAAM,CAAClJ,EAAOohB,CAAQ,EAAIuK,GAA+C,CACvE,MAAOK,GAAY,OAAO,WAAa,IACvC,OAAQA,GAAY,OAAO,YAAc,GAAA,CAC1C,EAED97E,OAAAA,EAAAA,UAAU,IAA2B,CACnC,GAAI87E,GAAW,CACb,MAAME,EAAU,IAAM,CACpB,MAAMtuB,EAAQ,OAAO,WACfoG,EAAS,OAAO,YAEhBoF,EAAO,CAAE,MAAAxL,EAAO,OAAAoG,CAAO,EAE7Bod,EAAShY,CAAI,EACbF,EAASE,CAAI,CACf,EAEG,OAAA/1C,GAAA,OAAQ,SAAU64D,CAAO,EAErB,IAAM,CACPH,GAAA,OAAQ,SAAUG,CAAO,CAC/B,CAAA,CAEJ,EAAG,EAAE,EAEElsB,CACT,EC/HA,SAASmsB,GAAgBC,EAAqB,CAC5CA,EAAW,eAAe,CACxB,SAAU,SACV,MAAO,SACP,OAAQ,SAAA,CACT,CACH,CAMA,SAASC,GACPhxB,EACA+wB,EACA,CACAA,EAAW,MAAM,QAAU,IAC3B,WACE,IAAMnO,EAAc,SAAS5iB,EAAQ,GAAI,CAAE,MAAO,EAAG,UAAW,GAAM,EACtE,CACF,EAEA,WAAW,IAAM,CACJ+wB,EAAA,MAAM,YAAY,UAAW,IAAI,EAC5CnO,EAAc,SAAS5iB,EAAQ,GAAI,CAAE,MAAO,EAAG,GAC9C,GAAG,CACR,CAEA,MAAMixB,GAAuB,CAAC,CAC5B,SAAAr6E,EACA,UAAAC,EACA,GAAG5D,CACL,IAA0B,WAGlB,MAAA+sD,EAAU/sD,EAAM,OAAO,QACvBi+E,EACJj+E,EAAM,OAAO,YAAc,IAASA,EAAM,OAAO,YAAc,OAC3Dk+E,EAAYl+E,EAAM,UAAY,OAI9Bm+E,EAAa/7E,EAAA,YAChBy0C,GAAuB,CAClB,CAACqnC,GAAarnC,GAAMkW,EAAQ,OAAS,CAACkxB,IACpClxB,EAAQ,QAAU,YACpBgxB,GAAgBhxB,EAASlW,CAAE,EAC3BgnC,GAAgBhnC,CAAE,GAEpBA,EAAG,MAAM,QAAU,OACHA,EAAG,aACnBA,EAAG,MAAM,QAAU,GACnBA,EAAG,SAAS,EACE84B,EAAA,oBAAoB5iB,EAAQ,GAAIlW,CAAE,EAEpD,EACA,CAACkW,EAASkxB,EAAaC,CAAS,CAClC,EAGE,OAAAj+E,EAAA,IAAC,MAAA,CACC,IAAKk+E,EACL,MAAOn+E,EAAM,MACb,YAAaA,EAAM,YACnB,WACG4D,GAAa,IACd,YACChD,GAAAF,GAAAhB,EAAAM,GAAA,YAAAA,EAAO,SAAP,YAAAN,EAAe,UAAf,YAAAgB,EAAwB,QAAxB,YAAAE,EAA+B,YAAa,IAG9C,SAAA+C,CAAA,CACH,CAEJ,ECrEO,SAASy6E,GAAY53E,EAAyB,CACnD,GAAIA,IAAM,OACF,MAAA,IAAI,MAAM,wCAAwC,EAUnD,OAPiBxG,GACtBC,EAAA,IAACuG,EAAA,CACE,GAAGxG,EACJ,eAAgBg+E,EAAA,CAClB,CAIJ,CCfO,MAAMK,GAAa,OAAO,YAC/B,OAAO,QAAQ7jB,EAAiB,EAAE,IAAI,CAAC,CAACrU,EAAGrJ,CAAC,IAAM,CAChDqJ,EAEAi4B,GAAYthC,EAAE,aAAqC,CACpD,CAAA,CACH,EAEMwhC,GAAuBt+E,GAWvB,CACJ,MAAM2qD,EAAK0zB,GAAWr+E,EAAM,QAAQ,IAAI,EAIlCu+E,EAAS5uB,EAAA,QACb,KAAO,CACL,QAAS3vD,EAAM,QACf,UAAWA,EAAM,SAAA,GAEnB,CAACA,EAAM,QAASA,EAAM,SAAS,CACjC,EAEA,OAEIC,MAAA8B,EAAAA,SAAA,CAAA,SAAA9B,EAAA,IAAC0qD,EAAA,CACC,OAAA4zB,EACA,KAAMv+E,EAAM,QAAQ,KACpB,QAASA,EAAM,QACd,GAAGA,EAAM,QAAQ,MAClB,WACGA,EAAM,UAAYA,EAAM,UAAY,IAAM,KAC1C,cAAeA,EAAM,QAAQ,MAC1BA,EAAM,QAAQ,MAAM,UACpB,IAGL,WAAM,QAAQ,OAAA,CAAA,EAEnB,CAEJ,ECzDMw+E,GAA2B,IAE7B18E,EAAAA,KAAAC,EAAA,SAAA,CAAA,SAAA,CAAC9B,EAAA,IAAA,MAAA,CAAI,UAAU,wBAAwB,kBAAgB,IACrD,SAACA,EAAA,IAAA,MAAA,CAAI,UAAU,eAAe,kBAAgB,GAAI,CAAA,EACpD,EACCA,EAAA,IAAA,MAAA,CAAI,UAAU,wBAAwB,kBAAgB,IACrD,SAACA,EAAA,IAAA,MAAA,CAAI,UAAU,eAAe,kBAAgB,GAAI,CAAA,EACpD,EACCA,EAAA,IAAA,MAAA,CAAI,UAAU,wBAAwB,kBAAgB,IACrD,SAACA,EAAA,IAAA,MAAA,CAAI,UAAU,eAAe,kBAAgB,GAAI,CAAA,EACpD,EACCA,EAAA,IAAA,MAAA,CAAI,UAAU,wBAAwB,kBAAgB,IACrD,SAACA,EAAAA,IAAA,MAAA,CAAI,UAAU,eAAe,kBAAgB,GAAA,CAAI,CACpD,CAAA,CAAA,EACF,ECdIw+E,GAA2B,IAAM,KCAjCC,GAA2B,IAE7B58E,EAAAA,KAAAC,EAAA,SAAA,CAAA,SAAA,CAAC9B,EAAA,IAAA,MAAA,CAAI,UAAU,wBAAwB,kBAAgB,IACrD,SAACA,EAAA,IAAA,MAAA,CAAI,UAAU,cAAc,kBAAgB,GAAI,CAAA,EACnD,EACCA,EAAA,IAAA,MAAA,CAAI,UAAU,wBAAwB,kBAAgB,IACrD,SAACA,EAAAA,IAAA,MAAA,CAAI,UAAU,cAAc,kBAAgB,GAAA,CAAI,CACnD,CAAA,CAAA,EACF,ECEI0+E,GAAc,CAClB,KAAMF,GACN,SAAUG,GACV,KAAMJ,EACR,EAQMK,GAAc7+E,GAAoC,OACtD,MAAM8+E,IACJp/E,EAAA86D,GAAkBx6D,EAAM,IAAyB,IAAjD,YAAAN,EAAoD,aAAc,OAE9Dq/E,EAAcJ,GAAYG,CAAU,EAE1C,aACG,MAAI,CAAA,UAAU,kCACb,SAAA7+E,MAAC8+E,GAAY,CAAA,EACf,CAEJ,EC7BgB,SAAAC,GACd3qB,EACA1sD,EACa,CACb,MAAMq3D,EAAS,CAAC,EAEhB,UAAWtR,KAAO2G,EAChB2K,EAAOtR,CAAG,EAAI/lD,EAAE0sD,EAAI3G,CAAG,CAAC,EAGnB,OAAAsR,CACT,CCEO,MAAMigB,GAAY,CAEvB,QAAS,IACT,SAAU,EACZ,EAQaC,GAAY,CACvB97E,EACAgyD,EACA+pB,EAAY,GACZ3vB,EAAQ,KAED,CACL,EAAG4F,EAAS,cAAchyD,EAAK,CAAC,EAChC,EAAGgyD,EAAS,cAAchyD,EAAK,CAAC,EAChC,MAAAosD,EACA,OAAQ,EACR,UAAA2vB,EACA,MAAO/pB,EAAS,cAAchyD,EAAK,CAAC,EACpC,OAAQgyD,EAAS,cAAchyD,EAAK,GAAK,CAAC,CAC5C,GAGWg8E,GAAS,CACpBh8E,EACAgyD,EACAiqB,EAAS,GACTC,EAAa,GACb35D,EAAI,EACJoB,EAAI,IAEAs4D,GAAUC,EACL,CACL,EAAGlqB,EAAS,cAAchyD,EAAK,CAAC,EAAIgyD,EAAS,kBAAkBzvC,CAAC,EAChE,EAAGyvC,EAAS,cAAchyD,EAAK,CAAC,EAAIgyD,EAAS,kBAAkBruC,CAAC,EAChE,MAAO,KACP,OAAQ,EACR,UAAY2mC,GACVA,IAAQ,UAAYA,IAAQ,KAAOA,IAAQ,IAC7C,OAAQuxB,GACR,MAAO7pB,EAAS,cAAchyD,EAAK,CAAC,EACpC,OAAQgyD,EAAS,cAAchyD,EAAK,GAAK,CAAC,CAC5C,EAGO87E,GAAU97E,EAAMgyD,EAAU,GADnBiqB,EAAS,IAAO,CACe,EAIpCE,GAAW,CACtBn8E,EACAgyD,EACAoqB,EACAH,EAAS,GACTC,EAAa,GACbG,EAA4B,OAExBJ,GAAUC,EACL,CACL,EAAGlqB,EAAS,cAAcoqB,EAAQ,CAAC,EACnC,EAAGpqB,EAAS,cAAcoqB,EAAQ,CAAC,EACnC,MAAO,EACP,OAAQ,IACR,UAAY9xB,GAEVA,IAAQ,KACRA,IAAQ,KACRA,IAAQ,SACP+xB,IAAe,MAAQ/xB,IAAQ,SAClC,OAAQuxB,GACR,MAAO7pB,EAAS,cAAcoqB,EAAQ,CAAC,EACvC,OAAQpqB,EAAS,cAAcoqB,EAAQ,CAAC,CAC1C,EAEON,GAAU97E,EAAMgyD,CAAQ,EC7FtB+Y,GAAS,CACpB,IAAK,CACH,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,SACR,EACA,KAAM,CACJ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,SACR,EACA,OAAQ,CACN,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,SACR,EACA,WAAY,CACV,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,SACR,EACA,OAAQ,CACN,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,SACR,EACA,KAAM,CACJ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,SACR,EACA,UAAW,CACT,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,SACR,EACA,KAAM,CACJ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,SACR,EACA,KAAM,CACJ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,SACR,EACA,MAAO,CACL,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,SACR,EACA,WAAY,CACV,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,SACR,EACA,KAAM,CACJ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,SACR,EACA,OAAQ,CACN,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,SACR,EACA,MAAO,CACL,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,SACR,EACA,OAAQ,CACN,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,KAAM,UACN,KAAM,UACN,KAAM,UACN,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"}