@ornikar/kitt-universal 2.5.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/definitions/Avatar/Avatar.d.ts.map +1 -1
- package/dist/definitions/Button/Button.d.ts +4 -4
- package/dist/definitions/Button/Button.d.ts.map +1 -1
- package/dist/definitions/Button/ButtonContent.d.ts.map +1 -1
- package/dist/definitions/Button/ButtonPressable.d.ts +4 -3
- package/dist/definitions/Button/ButtonPressable.d.ts.map +1 -1
- package/dist/definitions/Card/Card.d.ts.map +1 -1
- package/dist/definitions/Emoji/Emoji.d.ts +3 -3
- package/dist/definitions/Emoji/Emoji.d.ts.map +1 -1
- package/dist/definitions/ExternalLink/ExternalLink.d.ts +3 -3
- package/dist/definitions/ExternalLink/ExternalLink.d.ts.map +1 -1
- package/dist/definitions/ExternalLink/ExternalLink.web.d.ts.map +1 -1
- package/dist/definitions/FullScreenModal/Body.d.ts.map +1 -1
- package/dist/definitions/FullScreenModal/FullScreenModal.d.ts.map +1 -1
- package/dist/definitions/FullScreenModal/Header.d.ts.map +1 -1
- package/dist/definitions/Icon/Icon.d.ts.map +1 -1
- package/dist/definitions/Icon/SpinningIcon.web.d.ts +3 -2
- package/dist/definitions/Icon/SpinningIcon.web.d.ts.map +1 -1
- package/dist/definitions/IconButton/IconButton.d.ts.map +1 -1
- package/dist/definitions/IconButton/PressableAnimatedContainer.d.ts.map +1 -1
- package/dist/definitions/IconButton/PressableAnimatedContainer.web.d.ts.map +1 -1
- package/dist/definitions/IconButton/PressableIconButton.d.ts +4 -4
- package/dist/definitions/IconButton/PressableIconButton.d.ts.map +1 -1
- package/dist/definitions/ListItem/ListItem.d.ts +3 -4
- package/dist/definitions/ListItem/ListItem.d.ts.map +1 -1
- package/dist/definitions/ListItem/ListItemContent.d.ts +2 -2
- package/dist/definitions/ListItem/ListItemContent.d.ts.map +1 -1
- package/dist/definitions/ListItem/ListItemSideContent.d.ts +3 -4
- package/dist/definitions/ListItem/ListItemSideContent.d.ts.map +1 -1
- package/dist/definitions/Loader/LargeLoader.d.ts.map +1 -1
- package/dist/definitions/Loader/LargeLoader.web.d.ts.map +1 -1
- package/dist/definitions/Loader/Loader.d.ts.map +1 -1
- package/dist/definitions/Loader/Loader.web.d.ts.map +1 -1
- package/dist/definitions/Message/Message.d.ts.map +1 -1
- package/dist/definitions/Modal/Body.d.ts.map +1 -1
- package/dist/definitions/Modal/Footer.d.ts.map +1 -1
- package/dist/definitions/Modal/Header.d.ts.map +1 -1
- package/dist/definitions/Modal/Modal.d.ts.map +1 -1
- package/dist/definitions/Notification/Notification.d.ts.map +1 -1
- package/dist/definitions/Overlay/Overlay.d.ts +2 -2
- package/dist/definitions/Overlay/Overlay.d.ts.map +1 -1
- package/dist/definitions/Tag/Tag.d.ts.map +1 -1
- package/dist/definitions/TimePicker/ModalDateTimePicker.d.ts +12 -0
- package/dist/definitions/TimePicker/ModalDateTimePicker.d.ts.map +1 -0
- package/dist/definitions/TimePicker/TimePicker.d.ts +15 -0
- package/dist/definitions/TimePicker/TimePicker.d.ts.map +1 -0
- package/dist/definitions/TimePicker/TimePicker.web.d.ts +3 -0
- package/dist/definitions/TimePicker/TimePicker.web.d.ts.map +1 -0
- package/dist/definitions/TimePicker/useTimePicker.d.ts +14 -0
- package/dist/definitions/TimePicker/useTimePicker.d.ts.map +1 -0
- package/dist/definitions/Tooltip/Tooltip.d.ts +23 -3
- package/dist/definitions/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/definitions/Tooltip/Tooltip.web.d.ts +8 -0
- package/dist/definitions/Tooltip/Tooltip.web.d.ts.map +1 -0
- package/dist/definitions/Tooltip/TooltipView.d.ts +8 -0
- package/dist/definitions/Tooltip/TooltipView.d.ts.map +1 -0
- package/dist/definitions/Tooltip/tooltipUtils.d.ts +5 -0
- package/dist/definitions/Tooltip/tooltipUtils.d.ts.map +1 -0
- package/dist/definitions/forms/InputFeedback/InputFeedback.d.ts.map +1 -1
- package/dist/definitions/forms/InputField/InputField.d.ts.map +1 -1
- package/dist/definitions/forms/InputText/InputText.d.ts +3 -2
- package/dist/definitions/forms/InputText/InputText.d.ts.map +1 -1
- package/dist/definitions/forms/Label/Label.d.ts.map +1 -1
- package/dist/definitions/forms/Radio/Radio.d.ts.map +1 -1
- package/dist/definitions/forms/TextArea/TextArea.d.ts.map +1 -1
- package/dist/definitions/index.d.ts +3 -15
- package/dist/definitions/index.d.ts.map +1 -1
- package/dist/definitions/story-components/Flex.d.ts +2 -2
- package/dist/definitions/story-components/Flex.d.ts.map +1 -1
- package/dist/definitions/story-components/Story.d.ts.map +1 -1
- package/dist/definitions/story-components/StoryBlock.d.ts +1 -2
- package/dist/definitions/story-components/StoryBlock.d.ts.map +1 -1
- package/dist/definitions/story-components/StoryContainer.d.ts.map +1 -1
- package/dist/definitions/story-components/StoryContainer.web.d.ts.map +1 -1
- package/dist/definitions/story-components/StoryDecorator.d.ts.map +1 -1
- package/dist/definitions/story-components/StoryGrid.d.ts.map +1 -1
- package/dist/definitions/story-components/StorySection.d.ts +7 -9
- package/dist/definitions/story-components/StorySection.d.ts.map +1 -1
- package/dist/definitions/story-components/StoryTitle.d.ts.map +1 -1
- package/dist/definitions/themes/default.d.ts +3 -6
- package/dist/definitions/themes/default.d.ts.map +1 -1
- package/dist/definitions/themes/late-ocean/colorsLateOceanTheme.d.ts +1 -0
- package/dist/definitions/themes/late-ocean/colorsLateOceanTheme.d.ts.map +1 -1
- package/dist/definitions/themes/late-ocean/tooltip.d.ts +10 -0
- package/dist/definitions/themes/late-ocean/tooltip.d.ts.map +1 -0
- package/dist/definitions/themes/late-ocean/typographyLateOceanTheme.d.ts +6 -8
- package/dist/definitions/themes/late-ocean/typographyLateOceanTheme.d.ts.map +1 -1
- package/dist/definitions/typography/Typography.d.ts +16 -4
- package/dist/definitions/typography/Typography.d.ts.map +1 -1
- package/dist/definitions/typography/TypographyEmoji.d.ts +3 -4
- package/dist/definitions/typography/TypographyEmoji.d.ts.map +1 -1
- package/dist/definitions/typography/TypographyIcon.d.ts.map +1 -1
- package/dist/definitions/typography/TypographyLink.d.ts +6 -9
- package/dist/definitions/typography/TypographyLink.d.ts.map +1 -1
- package/dist/definitions/useKittTheme.d.ts +8 -1
- package/dist/definitions/useKittTheme.d.ts.map +1 -1
- package/dist/definitions/utils/StyleWebWrapper.d.ts +7 -0
- package/dist/definitions/utils/StyleWebWrapper.d.ts.map +1 -0
- package/dist/definitions/utils/storybook/{decorators/KittThemeDecorator.d.ts → KittThemeDecorator.d.ts} +1 -1
- package/dist/definitions/utils/storybook/KittThemeDecorator.d.ts.map +1 -0
- package/dist/definitions/utils/tests/renderWithProvidersUtils.d.ts +2 -2
- package/dist/definitions/utils/tests/renderWithProvidersUtils.d.ts.map +1 -1
- package/dist/definitions/utils/tests/styled-component-typing-test.d.ts +1 -0
- package/dist/definitions/utils/tests/styled-component-typing-test.d.ts.map +1 -1
- package/dist/definitions/utils/windowSize/MatchWindowSize.d.ts.map +1 -1
- package/dist/definitions/utils/windowSize/createWindowSizeHelper.d.ts +2 -2
- package/dist/definitions/utils/withTheme.d.ts +7 -0
- package/dist/definitions/utils/withTheme.d.ts.map +1 -0
- package/dist/index-browser-all.es.android.js +1299 -622
- package/dist/index-browser-all.es.android.js.map +1 -1
- package/dist/index-browser-all.es.css +2 -0
- package/dist/index-browser-all.es.ios.js +1300 -623
- package/dist/index-browser-all.es.ios.js.map +1 -1
- package/dist/index-browser-all.es.js +1262 -696
- package/dist/index-browser-all.es.js.map +1 -1
- package/dist/index-browser-all.es.web.js +1113 -851
- package/dist/index-browser-all.es.web.js.map +1 -1
- package/dist/index-node-14.17.cjs.css +2 -0
- package/dist/index-node-14.17.cjs.js +1113 -598
- package/dist/index-node-14.17.cjs.js.map +1 -1
- package/dist/index-node-14.17.cjs.web.css +4 -0
- package/dist/index-node-14.17.cjs.web.js +2979 -0
- package/dist/index-node-14.17.cjs.web.js.map +1 -0
- package/dist/styles.css +4 -0
- package/dist/tsbuildinfo +1 -1
- package/package.json +16 -6
- package/translations/es-ES.json +3 -0
- package/translations/fr-FR.json +3 -0
- package/dist/definitions/primitives/PrimitiveImage.d.ts +0 -13
- package/dist/definitions/primitives/PrimitiveImage.d.ts.map +0 -1
- package/dist/definitions/primitives/PrimitiveImage.web.d.ts +0 -4
- package/dist/definitions/primitives/PrimitiveImage.web.d.ts.map +0 -1
- package/dist/definitions/primitives/PrimitiveLink.d.ts +0 -13
- package/dist/definitions/primitives/PrimitiveLink.d.ts.map +0 -1
- package/dist/definitions/primitives/PrimitiveLink.web.d.ts +0 -4
- package/dist/definitions/primitives/PrimitiveLink.web.d.ts.map +0 -1
- package/dist/definitions/primitives/PrimitivePressable.d.ts +0 -19
- package/dist/definitions/primitives/PrimitivePressable.d.ts.map +0 -1
- package/dist/definitions/primitives/PrimitivePressable.web.d.ts +0 -4
- package/dist/definitions/primitives/PrimitivePressable.web.d.ts.map +0 -1
- package/dist/definitions/primitives/PrimitiveScrollView.d.ts +0 -9
- package/dist/definitions/primitives/PrimitiveScrollView.d.ts.map +0 -1
- package/dist/definitions/primitives/PrimitiveScrollView.web.d.ts +0 -4
- package/dist/definitions/primitives/PrimitiveScrollView.web.d.ts.map +0 -1
- package/dist/definitions/primitives/PrimitiveText.d.ts +0 -14
- package/dist/definitions/primitives/PrimitiveText.d.ts.map +0 -1
- package/dist/definitions/primitives/PrimitiveText.web.d.ts +0 -6
- package/dist/definitions/primitives/PrimitiveText.web.d.ts.map +0 -1
- package/dist/definitions/primitives/PrimitiveView.d.ts +0 -24
- package/dist/definitions/primitives/PrimitiveView.d.ts.map +0 -1
- package/dist/definitions/primitives/PrimitiveView.web.d.ts +0 -27
- package/dist/definitions/primitives/PrimitiveView.web.d.ts.map +0 -1
- package/dist/definitions/primitives/helpers.d.ts +0 -7
- package/dist/definitions/primitives/helpers.d.ts.map +0 -1
- package/dist/definitions/primitives/reset.d.ts +0 -2
- package/dist/definitions/primitives/reset.d.ts.map +0 -1
- package/dist/definitions/utils/storybook/decorators/KittThemeDecorator.d.ts.map +0 -1
- package/dist/definitions/utils/storybook/decorators/SafeAreaProviderDecorator.d.ts +0 -2
- package/dist/definitions/utils/storybook/decorators/SafeAreaProviderDecorator.d.ts.map +0 -1
- package/dist/definitions/utils/storybook/setup-global-decorators.d.ts +0 -2
- package/dist/definitions/utils/storybook/setup-global-decorators.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-node-14.17.cjs.web.js","sources":["../src/utils/withTheme.tsx","../src/Icon/SpinningIcon.web.tsx","../src/Icon/Icon.tsx","../src/KittBreakpoints.ts","../src/typography/Typography.tsx","../src/Avatar/Avatar.tsx","../src/typography/TypographyIcon.tsx","../src/Button/ButtonContent.tsx","../src/Button/ButtonPressable.tsx","../src/Button/Button.tsx","../src/Card/Card.tsx","../src/Emoji/Emoji.tsx","../src/ExternalLink/ExternalLinkOpenLinkBehavior.ts","../src/ExternalLink/ExternalLink.web.tsx","../src/forms/InputFeedback/InputFeedback.tsx","../src/forms/InputField/InputField.tsx","../src/forms/InputText/useInputText.ts","../src/forms/InputText/InputText.tsx","../src/forms/Label/Label.tsx","../src/forms/Radio/Radio.tsx","../src/forms/TextArea/TextArea.tsx","../src/FullScreenModal/Body.tsx","../src/FullScreenModal/Header.tsx","../src/FullScreenModal/FullScreenModal.tsx","../src/utils/StyleWebWrapper.tsx","../src/IconButton/PressableIconButton.tsx","../src/IconButton/PressableAnimatedContainer.web.tsx","../src/IconButton/IconButton.tsx","../src/ListItem/ListItemContent.tsx","../src/ListItem/ListItemSideContent.tsx","../src/ListItem/ListItem.tsx","../src/Loader/LargeLoader.web.tsx","../src/Loader/Loader.web.tsx","../src/Message/Message.tsx","../src/Overlay/Overlay.tsx","../src/Modal/Body.tsx","../src/Modal/Footer.tsx","../src/Modal/OnCloseContext.ts","../src/Modal/Header.tsx","../src/Modal/Modal.tsx","../src/Notification/Notification.tsx","../src/story-components/Flex.tsx","../src/story-components/theme.ts","../src/story-components/StoryBlock.tsx","../src/story-components/StoryTitle.tsx","../src/story-components/Story.tsx","../src/story-components/StorySection.tsx","../src/story-components/StoryContainer.web.tsx","../src/story-components/StoryDecorator.tsx","../src/story-components/StoryGrid.tsx","../src/Tag/Tag.tsx","../src/themes/palettes/lateOceanColorPalette.ts","../src/themes/late-ocean/avatarLateOceanTheme.ts","../src/themes/late-ocean/buttonLateOceanTheme.ts","../src/themes/late-ocean/cardLateOceanTheme.ts","../src/themes/late-ocean/colorsLateOceanTheme.ts","../src/themes/late-ocean/feedbackMessageLateOceanTheme.ts","../src/themes/late-ocean/inputFieldLateOceanTheme.ts","../src/themes/late-ocean/inputLateOceanTheme.ts","../src/themes/late-ocean/radioLateOceanTheme.ts","../src/themes/late-ocean/formLateOceanTheme.ts","../src/themes/late-ocean/fullScreenModalLateOceanTheme.ts","../src/themes/late-ocean/iconButton.ts","../src/themes/late-ocean/listItemLateOceanTheme.ts","../src/themes/late-ocean/shadowsLateOceanTheme.ts","../src/themes/late-ocean/tagLateOceanTheme.ts","../src/themes/late-ocean/tooltip.ts","../src/themes/late-ocean/typographyLateOceanTheme.ts","../src/themes/default.ts","../src/TimePicker/TimePicker.web.tsx","../src/Tooltip/TooltipView.tsx","../src/Tooltip/tooltipUtils.ts","../src/Tooltip/Tooltip.web.tsx","../src/typography/TypographyEmoji.tsx","../src/typography/TypographyLink.tsx","../src/utils/windowSize/useMatchWindowSize.ts","../src/utils/windowSize/createWindowSizeHelper.ts","../src/useKittTheme.tsx","../src/utils/storybook/KittThemeDecorator.tsx","../src/utils/windowSize/MatchWindowSize.tsx"],"sourcesContent":["import type { ComponentType } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { DefaultTheme } from 'styled-components/native';\nimport type { SetOptional } from 'type-fest';\n\n// type $Without<T, K extends keyof any> = T extends any ? Pick<T, Exclude<keyof T, K>> : never;\n// type $DeepPartial<T> = { [P in keyof T]?: $DeepPartial<T[P]> };\n\n// export function withTheme<Props extends { theme: DefaultTheme }, C>(\n// WrappedComponent: ComponentType<Props> & C,\n// ): ComponentType<SetOptional<Props, 'theme'>> & hoistNonReactStatics.NonReactStatics<typeof WrappedComponent> {\n// return function ThemedComponent(props) {\n// const theme = useTheme();\n\n// return (<WrappedComponent theme={theme} {...(props as any)} />) as any;\n// };\n// }\n\nexport function withTheme<Props extends { theme: DefaultTheme }>(\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n WrappedComponent: any,\n): ComponentType<SetOptional<Props, 'theme'>> {\n return function ThemedComponent(props) {\n const theme = useTheme();\n\n return (<WrappedComponent theme={theme} {...(props as any)} />) as any;\n };\n}\n","import { styled } from '@linaria/react';\nimport type { ReactElement } from 'react';\nimport { withTheme } from '../utils/withTheme';\nimport type { SpinningIconProps } from './SpinningIcon';\n\nconst StyledSpinningIconContainer = withTheme(styled.div`\n & {\n display: inline-flex;\n }\n\n & > svg {\n animation: spin 1.1s infinite linear;\n }\n\n @keyframes spin {\n 0% {\n transform: rotate(-1deg);\n }\n\n 100% {\n transform: rotate(359deg);\n }\n }\n`);\n\nexport function SpinningIcon({ children }: SpinningIconProps): ReactElement {\n return <StyledSpinningIconContainer>{children}</StyledSpinningIconContainer>;\n}\n","import type { ReactElement } from 'react';\nimport { cloneElement } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport styled from 'styled-components/native';\nimport { SpinningIcon } from './SpinningIcon';\n\nexport interface IconProps {\n icon: ReactElement;\n size?: number;\n color: string;\n spin?: boolean;\n align?: ViewStyle['alignSelf'];\n testID?: ViewStyle['testID'];\n}\n\ninterface IconContainerProps {\n size?: number;\n color: string;\n align?: ViewStyle['alignSelf'];\n}\n\nconst IconContainer = styled.View<IconContainerProps>`\n color: ${({ color }) => color};\n width: ${({ size }) => size}px;\n height: ${({ size }) => size}px;\n align-self: ${({ align = 'auto' }) => align};\n`;\n\nexport function Icon({ icon, size = 20, spin, align, color }: IconProps): ReactElement {\n const clonedIcon = cloneElement(icon, { color });\n\n return (\n <IconContainer align={align} size={size} color={color}>\n {spin ? <SpinningIcon>{clonedIcon}</SpinningIcon> : clonedIcon}\n </IconContainer>\n );\n}\n","export const KittBreakpoints = {\n /**\n * min-width: 0\n */\n BASE: 0,\n /**\n * min-width: 480px\n */\n SMALL: 480,\n /**\n * min-width: 768px\n */\n MEDIUM: 768,\n /**\n * min-width: 1024px\n */\n LARGE: 1024,\n /**\n * min-width: 1280px\n */\n WIDE: 1280,\n};\n\nexport const KittBreakpointsMax = {\n /**\n * max-width: 479px\n */\n BASE: KittBreakpoints.SMALL - 1,\n /**\n * max-width: 767px\n */\n SMALL: KittBreakpoints.MEDIUM - 1,\n /**\n * max-width: 1023px\n */\n MEDIUM: KittBreakpoints.LARGE - 1,\n /**\n * max-width: 1279px\n */\n LARGE: KittBreakpoints.WIDE - 1,\n};\n\nexport type KittBreakpoint = typeof KittBreakpoints[keyof typeof KittBreakpoints];\nexport type KittBreakpointMax = typeof KittBreakpointsMax[keyof typeof KittBreakpointsMax];\n","import type { FC, ReactElement, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { TextProps } from 'react-native';\nimport { useWindowDimensions } from 'react-native';\nimport type { DefaultTheme } from 'styled-components/native';\nimport styled from 'styled-components/native';\nimport type { Except, SetOptional } from 'type-fest';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport type { TypographyTypeConfig } from '../themes/late-ocean/typographyLateOceanTheme';\nimport type { KittTheme } from '../useKittTheme';\n\nexport type TypographyHeaderType = `header${'1' | '2' | '3' | '4' | '5'}`;\nexport type TypographyBodyType = 'body' | `body-${'large' | 'medium' | 'small' | 'xsmall'}`;\nexport type TypographyType = TypographyHeaderType | TypographyBodyType;\ntype TypographyVariant = 'regular' | 'bold';\nexport type TypographyColor =\n | 'black'\n | 'black-light'\n | 'white'\n | 'white-light'\n | 'primary'\n | 'primary-light'\n | 'accent'\n | 'success'\n | 'danger';\n\nconst IsHeaderTypographyContext = createContext<boolean | undefined>(undefined);\nconst TypographyColorContext = createContext<TypographyColor>('black');\n\nexport function useTypographyColor(): TypographyColor {\n return useContext(TypographyColorContext);\n}\n\nexport const getTypographyTypeConfigKey = (theme: KittTheme): keyof TypographyTypeConfig => {\n const isMediumOrAbove = theme.responsive.matchWindowSize({ minWidth: KittBreakpoints.MEDIUM });\n return isMediumOrAbove ? 'mediumAndWide' : 'baseAndSmall';\n};\n\nconst isTypeHeader = (type: TypographyType): type is TypographyHeaderType => type.startsWith('header');\nexport const isTypographyHeader = (\n type: TypographyType | undefined,\n typographyIsHeaderInContext: boolean | undefined,\n): type is TypographyHeaderType => {\n if (type) return isTypeHeader(type);\n if (typographyIsHeaderInContext != null) return typographyIsHeaderInContext;\n throw new Error('You must set a \"base\" prop or wrap this Typography in one that does.');\n};\n\nexport function getTypographyTypeConfig(type: TypographyType, theme: DefaultTheme): TypographyTypeConfig {\n if (isTypographyHeader(type, undefined)) {\n return theme.kitt.typography.types.headers.configs[type];\n }\n\n return theme.kitt.typography.types.bodies.configs[type];\n}\n\ninterface StyledTypographyProps {\n accessibilityRole: TextProps['accessibilityRole'] | 'paragraph';\n $isHeader: boolean;\n $typeForCurrentWindowSize?: TypographyType;\n $variant: TypographyVariant;\n $color?: TypographyColor;\n}\n\nconst StyledTypography = styled.Text<StyledTypographyProps>`\n /* font */\n ${({ theme, $isHeader, $typeForCurrentWindowSize, $variant }) => {\n const { headers, bodies } = theme.kitt.typography.types;\n const typeConfigKey = getTypographyTypeConfigKey(theme);\n\n return `\n /* type */\n ${\n !$typeForCurrentWindowSize\n ? ''\n : `\n font-family: ${$isHeader ? headers.fontFamily[$variant] : bodies.fontFamily[$variant]};\n font-size: ${\n $isHeader\n ? headers.configs[$typeForCurrentWindowSize as TypographyHeaderType][typeConfigKey].fontSize\n : bodies.configs[$typeForCurrentWindowSize as TypographyBodyType][typeConfigKey].fontSize\n };\n line-height: ${\n $isHeader\n ? headers.configs[$typeForCurrentWindowSize as TypographyHeaderType][typeConfigKey].lineHeight\n : bodies.configs[$typeForCurrentWindowSize as TypographyBodyType][typeConfigKey].lineHeight\n };\n `\n }\n\n /* variant */\n font-weight: ${$isHeader ? headers.fontWeight : bodies.fontWeight[$variant]};\n font-style: ${$isHeader ? headers.fontStyle : bodies.fontStyle[$variant]};\n `;\n }}\n\n /* color */\n ${({ theme, $color }) =>\n !$color\n ? ''\n : `\n color: ${theme.kitt.typography.colors[$color]};\n text-decoration-color: ${theme.kitt.typography.colors[$color]};\n `}\n`;\n\nexport interface TypographyBreakpointTypesProps {\n /** base type. Inherited from parent Typography if not specified */\n base?: TypographyType;\n /** small type. use base if undefined */\n small?: TypographyType;\n /** medium type. use small or base if undefined */\n medium?: TypographyType;\n /** large type. use medium or small or base if undefined */\n large?: TypographyType;\n}\n\nexport interface TypographyProps extends TypographyBreakpointTypesProps, Except<TextProps, 'accessibilityRole'> {\n // Find mapping for web here: https://www.w3.org/TR/html-aria/\n accessibilityRole: NonNullable<TextProps['accessibilityRole']> | 'paragraph' | null;\n /** Default to regular for bodies and bold of headers. Is not inherited. */\n variant?: TypographyVariant;\n /** Inherited from parent Typography if not specified, or black if no Typography parent found. */\n color?: TypographyColor;\n children: ReactNode;\n}\nexport type TypographyPropsWithoutRole = Except<TypographyProps, 'accessibilityRole'>;\n\nexport function useTypographyTypeForCurrentWindowSize(\n base: TypographyType | undefined,\n small: TypographyType | undefined,\n medium: TypographyType | undefined,\n large: TypographyType | undefined,\n): TypographyType | undefined {\n const { width } = useWindowDimensions();\n if (large && width >= KittBreakpoints.LARGE) return large;\n if (medium && width >= KittBreakpoints.MEDIUM) return medium;\n if (small && width >= KittBreakpoints.SMALL) return small;\n return base;\n}\n\nexport function Typography({\n accessibilityRole,\n base,\n small,\n medium,\n large,\n variant,\n color,\n ...otherProps\n}: TypographyProps): ReactElement | null {\n const isHeaderTypographyInContext = useContext(IsHeaderTypographyContext);\n const typeForCurrentWindowSize = useTypographyTypeForCurrentWindowSize(base, small, medium, large);\n const isHeader = isTypographyHeader(typeForCurrentWindowSize, isHeaderTypographyInContext);\n const nonNullableVariant: TypographyVariant = variant ?? (isHeader ? 'bold' : 'regular');\n // if isHeaderTypographyInContext exists, it means we are inside another typography so we don't want to\n // redefine the color, just inherit from it\n const colorWithDefaultToBlack: TypographyColor | undefined =\n color ?? (isHeaderTypographyInContext !== undefined ? undefined : 'black');\n\n const content = base ? (\n <IsHeaderTypographyContext.Provider value={isHeader}>\n <StyledTypography\n $color={colorWithDefaultToBlack}\n $isHeader={isHeader}\n $typeForCurrentWindowSize={typeForCurrentWindowSize}\n $variant={nonNullableVariant}\n accessibilityRole={(accessibilityRole as TextProps['accessibilityRole']) || undefined}\n {...otherProps}\n />\n </IsHeaderTypographyContext.Provider>\n ) : (\n <StyledTypography\n $color={colorWithDefaultToBlack}\n $isHeader={isHeader}\n $variant={nonNullableVariant}\n accessibilityRole={(accessibilityRole as TextProps['accessibilityRole']) || undefined}\n {...otherProps}\n />\n );\n\n return color ? <TypographyColorContext.Provider value={color}>{content}</TypographyColorContext.Provider> : content;\n}\n\nexport type TypographyTextProps = SetOptional<TypographyProps, 'accessibilityRole'>;\nfunction TypographyText(props: TypographyTextProps): ReactElement {\n return <Typography accessibilityRole={null} {...props} />;\n}\n\nfunction TypographyParagraph(props: TypographyTextProps): ReactElement {\n return <Typography accessibilityRole=\"paragraph\" {...props} />;\n}\n\nexport type TypographyHeadingProps = TypographyPropsWithoutRole;\n\nconst createHeading = (\n level: number,\n /** @deprecated accessibility and design should be independent */\n defaultBase?: TypographyHeadingProps['base'],\n): FC<TypographyHeadingProps> => {\n // https://github.com/necolas/react-native-web/issues/401\n function TypographyHeading(props: TypographyHeadingProps): ReactElement {\n return <Typography accessibilityRole=\"header\" base={defaultBase} {...props} accessibilityLevel={level} />;\n }\n TypographyHeading.displayName = `TypographyHeading${level}`;\n return TypographyHeading;\n};\n\nTypography.Text = TypographyText;\nTypography.Paragraph = TypographyParagraph;\nTypography.Header1 = createHeading(1);\nTypography.Header2 = createHeading(2);\nTypography.Header3 = createHeading(3);\nTypography.Header4 = createHeading(4);\nTypography.Header5 = createHeading(5);\nTypography.Header6 = createHeading(6);\n\n/** @deprecated use Typography.Header1 */\nTypography.h1 = createHeading(1, 'header1');\n/** @deprecated use Typography.Header2 */\nTypography.h2 = createHeading(2, 'header2');\n/** @deprecated use Typography.Header3 */\nTypography.h3 = createHeading(3, 'header3');\n/** @deprecated use Typography.Header4 */\nTypography.h4 = createHeading(4, 'header4');\n/** @deprecated use Typography.Header6 */\nTypography.h5 = createHeading(5, 'header5');\n","import { UserIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { Image } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Icon } from '../Icon/Icon';\nimport { Typography } from '../typography/Typography';\n\nconst getFirstCharacter = (string: string): string => (string ? string[0] : '');\n\nconst getInitials = (firstname: string, lastname: string): string =>\n (getFirstCharacter(firstname) + getFirstCharacter(lastname)).toUpperCase();\n\nexport interface AvatarProps {\n size?: number;\n src?: string | null;\n firstname?: string | null;\n lastname?: string | null;\n round?: boolean;\n light?: boolean;\n}\n\nexport interface StyledAvatarViewProps extends Pick<AvatarProps, 'round' | 'light'> {\n size: number;\n}\n\nconst StyledAvatarView = styled.View<StyledAvatarViewProps>`\n border-radius: ${({ round, size }) => (round ? size / 2 : 10)}px;\n background-color: ${({ theme, light }) =>\n light ? theme.kitt.avatar.light.backgroundColor : theme.kitt.avatar.default.backgroundColor};\n height: ${({ size }) => size}px;\n width: ${({ size }) => size}px;\n overflow: hidden;\n align-items: center;\n justify-content: center;\n`;\n\nfunction AvatarContent({ size = 40, src, firstname, lastname, light }: AvatarProps): ReactElement {\n if (src) {\n return <Image source={{ uri: src }} style={{ width: size, height: size }} />;\n }\n\n if (firstname && lastname) {\n return (\n <Typography.Text base=\"body-small\" variant=\"bold\" color={light ? 'black' : 'white'}>\n {getInitials(firstname, lastname)}\n </Typography.Text>\n );\n }\n\n return <Icon icon={<UserIcon />} color={light ? 'black' : 'white'} size={size / 2} />;\n}\n\nexport function Avatar({ size = 40, ...rest }: AvatarProps): ReactElement {\n return (\n <StyledAvatarView {...rest} size={size}>\n <AvatarContent {...rest} size={size} />\n </StyledAvatarView>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport type { IconProps } from '../Icon/Icon';\nimport { Icon } from '../Icon/Icon';\nimport type { SetNonNullable } from '../utils/typeUtils';\nimport type { TypographyProps } from './Typography';\nimport { useTypographyColor } from './Typography';\n\nexport interface TypographyIconProps extends Except<IconProps, 'color'> {\n color?: TypographyProps['color'];\n}\n\nfunction TypographyIconInheritColor(props: TypographyIconProps): ReactElement {\n const color = useTypographyColor();\n const theme = useTheme();\n return <Icon {...props} color={theme.kitt.typography.colors[color]} />;\n}\n\nfunction TypographyIconSpecifiedColor({\n color,\n ...otherProps\n}: SetNonNullable<TypographyIconProps, 'color'>): ReactElement {\n const theme = useTheme();\n return <Icon {...otherProps} color={theme.kitt.typography.colors[color]} />;\n}\n\nexport function TypographyIcon({ color, ...otherProps }: TypographyIconProps): ReactElement {\n if (color) {\n return <TypographyIconSpecifiedColor color={color} {...otherProps} />;\n }\n\n return <TypographyIconInheritColor {...otherProps} />;\n}\n","import type { ReactElement } from 'react';\nimport styled, { useTheme } from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport type { TypographyColor } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport type { ButtonProps, ButtonType } from './Button';\n\nconst getTextColorByType = (type: ButtonType, isPressed: boolean, disabled: boolean): TypographyColor => {\n if (disabled) return 'black-light';\n switch (type) {\n case 'primary':\n return 'white';\n case 'subtle':\n return isPressed ? 'primary-light' : 'primary';\n case 'subtle-dark':\n return isPressed ? 'black-light' : 'black';\n case 'secondary':\n default:\n return 'black';\n }\n};\n\nconst ButtonText = styled(Typography.Text)`\n /* On native code, this is the only way to ensure that the text is centered */\n text-align: center;\n`;\n\ninterface ContentProps {\n stretch?: boolean;\n iconOnly?: boolean;\n}\n\nconst Content = styled.View<ContentProps>`\n flex-direction: row;\n align-items: center;\n justify-content: center;\n\n /*\n On native code flex grow does not work as expected which cause an issue with the flex props.\n In order to occupy only the needed space, we enable flex grow only when stretched\n */\n flex: ${({ stretch, iconOnly }) => `${stretch || iconOnly ? 1 : 0} 1 auto`};\n`;\n\ninterface IconContainerProps {\n iconPosition?: ButtonProps['iconPosition'];\n}\n\nconst IconContainer = styled.View<IconContainerProps>`\n ${({ theme, iconPosition }) => {\n const value = theme.kitt.spacing * 3;\n\n if (iconPosition === 'left') {\n return `margin: 0 ${value}px 0 0;`;\n }\n\n return `margin: 0 0 0 ${value}px;`;\n }}\n`;\n\ninterface ButtonIconProps {\n icon: NonNullable<ButtonContentProps['icon']>;\n spin: ButtonProps['iconSpin'];\n color: TypographyColor;\n size: number;\n iconPosition: ButtonContentProps['iconPosition'];\n testID?: string;\n}\n\nfunction ButtonIcon({ icon, spin, color, size, iconPosition, testID }: ButtonIconProps): ReactElement | null {\n return (\n <IconContainer iconPosition={iconPosition}>\n <TypographyIcon icon={icon} spin={spin} color={color} size={size} testID={testID} />\n </IconContainer>\n );\n}\n\ninterface ButtonContentProps extends Except<ButtonProps, 'onPress'> {\n isPressed?: boolean;\n type: NonNullable<ButtonType>;\n}\n\nexport function ButtonContent({\n type,\n isPressed,\n stretch,\n icon,\n iconPosition,\n iconSpin,\n disabled,\n children,\n}: ButtonContentProps): ReactElement | null {\n const color = getTextColorByType(type, Boolean(isPressed), Boolean(disabled));\n const theme = useTheme();\n\n const sharedIconProps = {\n spin: iconSpin,\n color,\n size: theme.kitt.button.iconSize,\n };\n\n if (__DEV__) {\n if (!(children || icon)) {\n throw new Error('kitt(Button): You should provide at least a children or a icon');\n }\n }\n\n if (!children) {\n return (\n <Content iconOnly stretch={stretch}>\n {/* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */}\n <TypographyIcon {...sharedIconProps} icon={icon!} />\n </Content>\n );\n }\n\n return (\n <Content stretch={stretch}>\n {icon && iconPosition === 'left' ? (\n <ButtonIcon {...sharedIconProps} icon={icon} iconPosition={iconPosition} testID=\"button-left-icon\" />\n ) : null}\n\n <ButtonText base=\"body\" color={color} variant=\"bold\">\n {children}\n </ButtonText>\n\n {icon && iconPosition === 'right' ? (\n <ButtonIcon {...sharedIconProps} icon={icon} iconPosition={iconPosition} />\n ) : null}\n </Content>\n );\n}\n","import type { PressableProps } from 'react-native';\nimport styled from 'styled-components/native';\nimport type { ButtonType } from './Button';\n\ninterface ButtonPressableProps extends PressableProps {\n type: ButtonType;\n isPressed?: boolean;\n disabled?: boolean;\n stretch?: boolean;\n}\n\nexport const ButtonPressable = styled.Pressable<ButtonPressableProps>`\n min-width: ${({ theme }) => theme.kitt.button.minWidth};\n max-width: ${({ theme, stretch }) => (stretch ? 'auto' : theme.kitt.button.maxWidth)};\n width: ${({ stretch }) => (stretch ? '100%' : 'auto')};\n min-height: ${({ theme }) => theme.kitt.button.minHeight};\n background-color: ${({ theme, isPressed, disabled, type }) => {\n if (disabled) {\n return theme.kitt.button[type].disabledBackgroundColor;\n }\n\n return isPressed ? theme.kitt.button[type].pressedBackgroundColor : theme.kitt.button[type].backgroundColor;\n }};\n padding: ${({ theme }) => theme.kitt.button.contentPadding.default};\n flex-direction: row;\n\n /* Emulate inline-* css display by making the button taking only its necessary space */\n align-self: flex-start;\n border-radius: ${({ theme }) => theme.kitt.button.borderRadius};\n border-color: ${({ theme, disabled, type }) =>\n disabled ? theme.kitt.button[type].disabledBorderColor : 'transparent'};\n border-width: ${({ theme }) => theme.kitt.button.borderWidth};\n`;\n","import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { ButtonContent } from './ButtonContent';\nimport { ButtonPressable } from './ButtonPressable';\n\nexport type ButtonType = 'primary' | 'secondary' | 'subtle' | 'subtle-dark';\n\ntype IconPosition = 'right' | 'left';\n\nexport interface ButtonProps {\n children?: ReactNode;\n type?: ButtonType;\n disabled?: boolean;\n icon?: ReactElement;\n iconPosition?: IconPosition;\n iconSpin?: boolean;\n stretch?: boolean;\n testID?: PressableProps['testID'];\n href?: PressableProps['href'];\n hrefAttrs?: PressableProps['hrefAttrs'];\n onPress?: () => void;\n}\n\nexport function Button({\n children,\n type = 'secondary',\n icon,\n iconPosition = 'left',\n iconSpin,\n stretch,\n disabled,\n testID,\n href,\n hrefAttrs,\n onPress,\n}: ButtonProps): ReactElement {\n const [isPressed, setIsPressed] = useState<boolean>(false);\n\n const handleButtonPressIn = (): void => setIsPressed(true);\n const handleButtonPressOut = (): void => setIsPressed(false);\n\n const sharedProps = {\n type,\n stretch,\n disabled,\n };\n\n return (\n <ButtonPressable\n // eslint-disable-next-line unicorn/expiring-todo-comments\n // TODO: When designs are defined, update with the proper onPress styles to mimic TouchableHighlight\n // underlayColor={globalTheme.button[type].pressedBackgroundColor}\n {...sharedProps}\n isPressed={isPressed}\n accessibilityRole=\"button\"\n testID={testID}\n href={href}\n hrefAttrs={hrefAttrs}\n onPress={onPress}\n onPressIn={handleButtonPressIn}\n onPressOut={handleButtonPressOut}\n >\n <ButtonContent {...sharedProps} icon={icon} iconPosition={iconPosition} iconSpin={iconSpin}>\n {children}\n </ButtonContent>\n </ButtonPressable>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\n\ntype CardType = 'primary' | 'secondary' | 'subtle';\n\nexport interface CardProps {\n children: NonNullable<ReactNode>;\n type: CardType;\n}\ninterface ContainerProps {\n type: CardType;\n}\n\nconst Container = styled.View<ContainerProps>`\n background-color: ${({ theme, type }) => theme.kitt.card[type].backgroundColor};\n padding: ${({ theme }) => theme.kitt.card.padding};\n border-radius: ${({ theme }) => theme.kitt.card.borderRadius};\n border-width: ${({ theme }) => theme.kitt.card.borderWidth};\n border-color: ${({ theme, type }) => theme.kitt.card[type].borderColor};\n`;\n\nexport function Card({ children, type }: CardProps): ReactElement {\n return <Container type={type}>{children}</Container>;\n}\n","import type { ReactElement } from 'react';\nimport { useMemo } from 'react';\nimport type { ImageProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport styled from 'styled-components/native';\nimport { parse } from 'twemoji-parser';\n\ninterface StyledEmojiProps {\n size: number;\n}\n\nconst StyledEmoji = styled.Image<StyledEmojiProps>`\n width: ${({ size }) => size}px;\n height: ${({ size }) => size}px;\n`;\n\nexport interface EmojiProps extends Pick<ImageProps, 'style'> {\n emoji: string;\n size: number;\n}\n\nexport function Emoji({ emoji, size, style }: EmojiProps): ReactElement | null {\n const [emojiData] = useMemo(\n () =>\n parse(emoji, {\n // on native plaforms, you can't display svg as Image\n assetType: Platform.OS === 'web' ? 'svg' : 'png',\n }),\n [emoji],\n );\n\n if (!emojiData) return null;\n\n return <StyledEmoji size={size} accessibilityLabel={emojiData.text} source={{ uri: emojiData.url }} style={style} />;\n}\n","export interface ExternalLinkOpenLinkBehavior {\n /**\n * @default 'openInModal'\n *\n * @description open link behavior in native\n *\n * \"openInModal\": open via [expo-web-browser](https://docs.expo.dev/versions/latest/sdk/webbrowser/)\n *\n * \"openBrowserApp\": open via [Linking](https://docs.expo.dev/guides/linking/#opening-links-from-your-app)\n */\n native?: 'openInModal' | 'openBrowserApp';\n\n /**\n * @default 'targetBlank'\n *\n * @description open link behavior in native\n *\n * \"targetSelf\": no dom attributes added, behave like `target=\"_self\"`\n *\n * \"targetBlank\": dome attributes: `target=\"_blank\" rel=\"noopener noreferrer\"`\n */\n web?: 'targetSelf' | 'targetBlank';\n}\n\nexport const defaultOpenLinkBehavior: ExternalLinkOpenLinkBehavior = {\n native: 'openInModal',\n web: 'targetBlank',\n};\n","import type { ReactElement, VoidFunctionComponent } from 'react';\nimport type { ExternalLinkProps, ExternalLinkSendableComponentProps } from './ExternalLink';\nimport { defaultOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\n\nexport function ExternalLink<C extends VoidFunctionComponent<any>>({\n as: Component,\n href,\n openLinkBehavior = defaultOpenLinkBehavior,\n onPress,\n ...rest\n}: ExternalLinkProps<C> & ExternalLinkSendableComponentProps<C>): ReactElement {\n return (\n <Component\n {...(rest as any)}\n href={href}\n hrefAttrs={openLinkBehavior?.web === 'targetSelf' ? undefined : { target: '_blank', rel: 'noopener noreferrer' }}\n onPress={onPress}\n />\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { TypographyColor, TypographyProps } from '../../typography/Typography';\nimport { Typography } from '../../typography/Typography';\nimport type { InputFormState } from '../InputFormState';\n\nexport interface InputFeedbackProps {\n state?: InputFormState;\n testID?: TypographyProps['testID'];\n children: NonNullable<ReactNode>;\n}\n\nconst getColorFromState = (state?: InputFormState): TypographyColor => {\n switch (state) {\n case 'invalid':\n return 'danger';\n default:\n return 'black-light';\n }\n};\n\nexport function InputFeedback({ state, testID, children }: InputFeedbackProps): ReactElement {\n return (\n <Typography.Text base=\"body-small\" color={getColorFromState(state)} testID={testID}>\n {children}\n </Typography.Text>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { KittBreakpoints } from '../../KittBreakpoints';\n\nconst FieldContainer = styled.View`\n padding: 5px 0 10px;\n`;\n\nconst FeedbackContainer = styled.View`\n ${({ theme }) =>\n theme.responsive.ifWindowSizeMatches({ minWidth: KittBreakpoints.SMALL }, 'padding-top: 10px', 'padding-top: 5px')};\n`;\n\nconst FieldLabelContainer = styled.View`\n flex-direction: row;\n align-items: center;\n padding-bottom: ${({ theme }) => theme.kitt.forms.inputField.labelContainerPaddingBottom}px;\n`;\n\nconst LabelContainer = styled.View`\n margin-right: ${({ theme }) => theme.kitt.forms.inputField.iconMarginLeft}px;\n`;\n\nexport interface InputFieldProps {\n label?: ReactNode;\n labelFeedback?: ReactNode;\n input: NonNullable<ReactNode>;\n feedback?: ReactNode;\n}\n\nexport function InputField({ label, labelFeedback, input, feedback }: InputFieldProps): ReactElement {\n return (\n <FieldContainer>\n {label ? (\n <FieldLabelContainer>\n <LabelContainer>{label}</LabelContainer>\n {labelFeedback}\n </FieldLabelContainer>\n ) : null}\n {input}\n {feedback ? <FeedbackContainer>{feedback}</FeedbackContainer> : null}\n </FieldContainer>\n );\n}\n","import { useState } from 'react';\n\nexport const useInputText = (): {\n isFocused: boolean;\n handleInputFocus: () => void;\n handleInputBlur: () => void;\n isPasswordVisible: boolean;\n togglePasswordVisibility: () => void;\n} => {\n const [isFocused, setIsFocused] = useState<boolean>(false);\n const [isPasswordVisible, setIsPasswordVisible] = useState<boolean>(false);\n\n const handleInputFocus = (): void => setIsFocused(true);\n const handleInputBlur = (): void => setIsFocused(false);\n\n const togglePasswordVisibility = (): void => setIsPasswordVisible((isVisible) => !isVisible);\n\n return { isFocused, handleInputFocus, handleInputBlur, togglePasswordVisibility, isPasswordVisible };\n};\n","import { EyeIcon, EyeOffIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { KeyboardTypeOptions, TextInput as RNTextInput, TextInputProps as RNTextInputProps } from 'react-native';\nimport { Platform, TextInput } from 'react-native';\nimport styled, { css, useTheme } from 'styled-components/native';\nimport { getTypographyTypeConfigKey } from '../../typography/Typography';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\nimport type { InputFormState } from '../InputFormState';\nimport { useInputText } from './useInputText';\n\ntype InputTextType = 'text' | 'email' | 'password' | 'username';\nexport type InputTextState = 'default' | 'invalid' | 'disabled' | 'hover' | 'focus';\n\nexport interface InputTextProps extends Exclude<RNTextInputProps, 'nativeID'> {\n id?: string;\n name?: string;\n disabled?: boolean;\n type: InputTextType;\n minHeight?: number;\n state?: InputFormState;\n /** @internal */\n internalForceState?: InputTextState;\n}\n\nexport interface TextInputMixinProps {\n state: InputTextState;\n}\ninterface InputProps extends TextInputMixinProps {\n minHeight: number;\n}\n\nexport const styledTextInputMixin = css<TextInputMixinProps>`\n /* stylelint-disable declaration-property-value-allowed-list */\n background-color: ${({ theme, state }) =>\n state === 'disabled'\n ? theme.kitt.forms.input.states.disabled.backgroundColor\n : theme.kitt.forms.input.states.default.backgroundColor};\n border-width: ${({ theme }) => theme.kitt.forms.input.borderWidth};\n border-radius: ${({ theme }) => theme.kitt.forms.input.borderRadius};\n border-color: ${({ theme, state }) => theme.kitt.forms.input.states[state].borderColor};\n font-size: ${({ theme }) => {\n const typeConfigKey = getTypographyTypeConfigKey(theme);\n return theme.kitt.typography.types.bodies.configs.body[typeConfigKey].fontSize;\n }};\n color: ${({ theme, state }) => theme.kitt.typography.colors[theme.kitt.forms.input.states[state].color]};\n font-family: ${({ theme }) => theme.kitt.typography.types.bodies.fontFamily.regular};\n`;\n\nconst Input = styled(TextInput)<InputProps>`\n /* stylelint-disable declaration-bang-space-before */\n /* stylelint-disable comment-word-disallowed-list */\n\n /* FIXME: text input is not vertically centered on iOS because of bigger line-height */\n ${styledTextInputMixin}\n padding: ${({ theme, multiline }) =>\n !multiline && Platform.OS === 'ios' ? theme.kitt.forms.input.paddingSingleLineIOS : theme.kitt.forms.input.padding};\n line-height: ${({ theme, multiline }) => {\n if (!multiline && Platform.OS === 'ios') return 0;\n const typeConfigKey = getTypographyTypeConfigKey(theme);\n return theme.kitt.typography.types.bodies.configs.body[typeConfigKey].lineHeight;\n }};\n min-height: ${({ minHeight }) => minHeight}px;\n`;\n\nconst Container = styled.View`\n margin-top: ${({ theme }) => theme.kitt.forms.input.marginTop};\n margin-bottom: ${({ theme }) => theme.kitt.forms.input.marginBottom};\n`;\n\nconst PasswordButtonContainer = styled.Pressable`\n position: absolute;\n right: 0;\n top: 0;\n bottom: 0;\n justify-content: center;\n padding: ${({ theme }) => theme.kitt.forms.input.passwordButtonIconSize / 2}px;\n`;\n\nconst getInputState = ({\n isDisabled,\n isFocused,\n formState,\n}: {\n isFocused: boolean;\n formState: InputFormState;\n isDisabled: boolean;\n}): InputTextState => {\n if (isDisabled) return 'disabled';\n if (isFocused) return 'focus';\n if (formState === 'invalid') return 'invalid';\n return 'default';\n};\n\nconst keyboardTypeByTextInputType: Record<InputTextType, KeyboardTypeOptions> = {\n text: 'default',\n email: 'email-address',\n password: 'default',\n username: 'default',\n};\n\nconst autoCompleteTypeByType: Record<InputTextType, 'off' | 'email' | 'password' | 'name'> = {\n text: 'off',\n email: 'email',\n password: 'password',\n username: 'name',\n};\n\nconst autoCorrectByType: Record<InputTextType, boolean> = {\n text: true,\n email: false,\n password: false,\n username: false,\n};\n\nconst textContentTypeByType: Record<InputTextType, 'none' | 'emailAddress' | 'password' | 'username'> = {\n text: 'none',\n email: 'emailAddress',\n password: 'password',\n username: 'username',\n};\n\nexport const InputText = forwardRef<RNTextInput, InputTextProps>(\n (\n {\n id,\n minHeight = 0,\n type,\n state: formState,\n internalForceState,\n disabled = false,\n onFocus,\n onBlur,\n ...props\n }: InputTextProps,\n ref,\n ): ReactElement => {\n const { isFocused, handleInputBlur, handleInputFocus, isPasswordVisible, togglePasswordVisibility } =\n useInputText();\n const theme = useTheme();\n const state = internalForceState || getInputState({ isFocused, isDisabled: disabled, formState });\n return (\n <Container>\n <Input\n ref={ref}\n nativeID={id}\n editable={!disabled}\n keyboardType={keyboardTypeByTextInputType[type]}\n autoCompleteType={autoCompleteTypeByType[type]}\n autoCorrect={autoCorrectByType[type]}\n minHeight={minHeight}\n textContentType={textContentTypeByType[type]}\n placeholderTextColor={theme.kitt.typography.colors[theme.kitt.forms.input.placeholderColor]}\n selectionColor={theme.kitt.forms.input.selectionColor}\n secureTextEntry={type === 'password' && !isPasswordVisible}\n {...props}\n state={state}\n onFocus={(e) => {\n handleInputFocus();\n if (onFocus) onFocus(e);\n }}\n onBlur={(e) => {\n handleInputBlur();\n if (onBlur) onBlur(e);\n }}\n />\n {type === 'password' && !disabled && (\n <PasswordButtonContainer accessibilityRole=\"button\" onPress={togglePasswordVisibility}>\n <TypographyIcon\n icon={isPasswordVisible ? <EyeIcon /> : <EyeOffIcon />}\n size={theme.kitt.forms.input.passwordButtonIconSize}\n color={theme.kitt.forms.input.states[state].passwordButtonIconColor}\n />\n </PasswordButtonContainer>\n )}\n </Container>\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\nimport { Typography } from '../../typography/Typography';\n\nexport interface LabelProps {\n htmlFor: string;\n children: NonNullable<ReactNode>;\n}\n\nexport function Label({ htmlFor, children }: LabelProps): ReactElement {\n return (\n <Typography.Text base=\"body\">\n {Platform.OS === 'web' ? <label htmlFor={htmlFor}>{children}</label> : children}\n </Typography.Text>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { PressableProps } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Typography } from '../../typography/Typography';\n\nexport interface RadioProps {\n id: string;\n name: string;\n checked?: boolean;\n disabled?: boolean;\n right?: boolean;\n children?: NonNullable<ReactNode>;\n value: string;\n onChange: (newValue: string) => void;\n}\n\ninterface OuterRadioProps {\n disabled: boolean;\n}\n\nconst OuterRadio = styled.View<OuterRadioProps>`\n background-color: ${({ theme, disabled }) =>\n theme.kitt.forms.radio[disabled ? 'disabled' : 'unchecked'].backgroundColor};\n width: ${({ theme }) => theme.kitt.forms.radio.size}px;\n height: ${({ theme }) => theme.kitt.forms.radio.size}px;\n border-radius: ${({ theme }) => theme.kitt.forms.radio.size / 2}px;\n border-width: ${({ theme }) => theme.kitt.forms.radio.unchecked.borderWidth};\n border-color: ${({ theme, disabled }) => theme.kitt.forms.radio[disabled ? 'disabled' : 'unchecked'].borderColor};\n`;\nconst SelectedOuterRadio = styled.View`\n background-color: ${({ theme }) => theme.kitt.forms.radio.checked.backgroundColor};\n width: ${({ theme }) => theme.kitt.forms.radio.size}px;\n height: ${({ theme }) => theme.kitt.forms.radio.size}px;\n border-radius: ${({ theme }) => theme.kitt.forms.radio.size / 2}px;\n justify-content: center;\n align-items: center;\n`;\nconst SelectedInnerRadio = styled.View`\n background-color: ${({ theme }) => theme.kitt.forms.radio.checked.innerBackgroundColor};\n width: ${({ theme }) => theme.kitt.forms.radio.checked.innerSize}px;\n height: ${({ theme }) => theme.kitt.forms.radio.checked.innerSize}px;\n border-radius: ${({ theme }) => theme.kitt.forms.radio.checked.innerSize / 2}px;\n`;\nconst Container = styled.Pressable`\n flex-direction: row;\n align-items: center;\n`;\n\nconst Text = styled(Typography.Text)`\n margin-left: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\nexport function Radio({ id, checked, onChange, value, disabled = false, children }: RadioProps): ReactElement {\n const handlePress: PressableProps['onPress'] = () => {\n onChange(value);\n };\n\n return (\n <Container\n nativeID={id}\n disabled={disabled}\n accessibilityRole=\"radio\"\n aria-checked={checked}\n focusable={checked && !disabled}\n onPress={handlePress}\n >\n {checked && !disabled ? (\n <SelectedOuterRadio>\n <SelectedInnerRadio />\n </SelectedOuterRadio>\n ) : (\n <OuterRadio disabled={disabled} />\n )}\n\n <Text base=\"body\" color={disabled ? 'black-light' : 'black'}>\n {children}\n </Text>\n </Container>\n );\n}\n","import type { ReactElement } from 'react';\nimport { useTheme } from 'styled-components/native';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface TextAreaProps extends Omit<InputTextProps, 'type'> {}\n\nexport function TextArea({ ...props }: TextAreaProps): ReactElement {\n const theme = useTheme();\n return <InputText multiline {...props} type=\"text\" minHeight={theme.kitt.forms.input.textAreaMinHeight} />;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { KittBreakpoints } from '../KittBreakpoints';\n\nconst Body = styled.View`\n ${({ theme }) =>\n theme.responsive.ifWindowSizeMatches(\n { minWidth: KittBreakpoints.MEDIUM },\n `padding-right: ${theme.kitt.spacing * 12}px;\n padding-left: ${theme.kitt.spacing * 12}px;`,\n `padding-right: ${theme.kitt.spacing * 6}px;\n padding-left: ${theme.kitt.spacing * 6}px;`,\n )}\n background-color: ${({ theme }) => theme.kitt.colors.uiBackgroundLight};\n flex: 1;\n`;\n\ninterface BodyProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function FullScreenModalBody({ children }: BodyProps): ReactElement {\n return <Body>{children}</Body>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport type { LayoutChangeEvent } from 'react-native';\nimport { Platform, useWindowDimensions } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport styled from 'styled-components/native';\nimport { KittBreakpoints } from '../KittBreakpoints';\n\ninterface SideContainerProps {\n side?: 'left' | 'right';\n}\n\nconst SideContainer = styled.View<SideContainerProps>`\n ${({ theme, side = 'left' }) => {\n const padding = theme.kitt.spacing * 2;\n\n if (side === 'left') {\n return `padding-right: ${padding}px;`;\n }\n\n return `padding-left: ${padding}px;`;\n }}\n`;\n\nfunction getHeaderHorizontalMediumPadding(spacing: number): number {\n return spacing * 6;\n}\n\ninterface HeaderProps {\n insetTop?: number;\n}\n\nconst Header = styled.View<HeaderProps>`\n ${({ theme, insetTop = 0 }) => {\n const paddingTop = insetTop + theme.kitt.fullScreenModal.header.paddingVertical;\n const { paddingVertical, paddingHorizontal } = theme.kitt.fullScreenModal.header;\n\n return theme.responsive.ifWindowSizeMatches(\n { minWidth: KittBreakpoints.MEDIUM },\n `padding: ${paddingTop}px ${getHeaderHorizontalMediumPadding(theme.kitt.spacing)}px ${paddingVertical}px;`,\n `padding: ${paddingTop}px ${paddingHorizontal}px ${paddingVertical}px;`,\n );\n }};\n border-bottom-color: ${({ theme }) => theme.kitt.fullScreenModal.header.borderColor};\n border-bottom-width: 1px;\n flex-direction: row;\n align-items: center;\n`;\n\ninterface HeaderContentProps {\n windowWidth: number;\n leftWidth: number;\n rightWidth: number;\n}\n\nconst HeaderContent = styled.View<HeaderContentProps>`\n ${({ theme, leftWidth, rightWidth, windowWidth }) => {\n /*\n * Since we don't have controll over the rendered left and right elements,\n * we must apply some logic to give the title all the available space\n */\n const sideElementMaxWidth = Math.max(leftWidth, rightWidth);\n\n const parentHorizontalPadding = theme.kitt.fullScreenModal.header.paddingHorizontal * 2;\n const parentHorizontalPaddingMedium = getHeaderHorizontalMediumPadding(theme.kitt.spacing) * 2;\n\n const computeWidth = (breakpointPadding: number): number =>\n windowWidth - breakpointPadding - sideElementMaxWidth * 2;\n\n return theme.responsive.ifWindowSizeMatches(\n { minWidth: KittBreakpoints.MEDIUM },\n `width: ${computeWidth(parentHorizontalPaddingMedium)}px;`,\n `width: ${computeWidth(parentHorizontalPadding)}px;`,\n );\n }};\n ${({ leftWidth, rightWidth }) => {\n // Depending of the wider element, we must add a margin to fill the diff in space between elements\n const deltaMargin = Math.abs(leftWidth - rightWidth);\n\n if (leftWidth > rightWidth) {\n return `margin-right: ${deltaMargin}px;`;\n }\n\n return `margin-left: ${deltaMargin}px;`;\n }};\n justify-content: center;\n align-items: center;\n`;\n\nexport interface FullScreenModalHeaderProps {\n children: NonNullable<ReactNode>;\n right?: ReactNode;\n left?: ReactNode;\n}\n\nexport function FullScreenModalHeader({ children, right, left }: FullScreenModalHeaderProps): ReactElement {\n const { top } = useSafeAreaInsets();\n const dimensions = useWindowDimensions();\n const [leftWidth, setLeftWidth] = useState(0);\n const [rightWidth, setRightWidth] = useState(0);\n\n const handleLayoutChange = (event: LayoutChangeEvent, side: 'left' | 'right'): void => {\n // Prevents react to nullify event on rerenders\n event.persist();\n\n if (side === 'left') {\n setLeftWidth(event.nativeEvent.layout.width);\n return;\n }\n\n setRightWidth(event.nativeEvent.layout.width);\n };\n\n return (\n <Header insetTop={Platform.OS === 'ios' ? undefined : top}>\n {left ? <SideContainer onLayout={(e) => handleLayoutChange(e, 'left')}>{left}</SideContainer> : null}\n\n <HeaderContent windowWidth={dimensions.width} leftWidth={leftWidth} rightWidth={rightWidth}>\n {children}\n </HeaderContent>\n\n {right ? (\n <SideContainer side=\"right\" onLayout={(e) => handleLayoutChange(e, 'right')}>\n {right}\n </SideContainer>\n ) : null}\n </Header>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport { FullScreenModalBody } from './Body';\nimport { FullScreenModalHeader } from './Header';\n\nconst Container = styled.View`\n flex: 1;\n background-color: ${({ theme }) => theme.kitt.colors.uiBackground};\n`;\n\nexport interface FullScreenModalProps {\n children: ReactNode;\n}\n\nexport function FullScreenModal({ children }: FullScreenModalProps): ReactElement {\n return <Container>{children}</Container>;\n}\n\nFullScreenModal.Header = FullScreenModalHeader;\nFullScreenModal.Body = FullScreenModalBody;\n","import type { ComponentProps, ElementType, ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\n\nexport interface StyleWebWrapperProps<T extends ElementType> {\n as: T;\n children: ReactNode;\n}\n\nexport function StyleWebWrapper<T extends ElementType = 'div'>({\n as,\n children,\n ...props\n}: StyleWebWrapperProps<T> & ComponentProps<T>): ReactElement {\n if (Platform.OS !== 'web') return children as ReactElement;\n const Component: T = as || ('div' as T); // as or default to div. If as is undefined, T is div but typescript is not sure\n return <Component {...(props as any)}>{children}</Component>;\n}\n","import { styled as styledLinaria } from '@linaria/react';\nimport type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport styled from 'styled-components/native';\nimport { StyleWebWrapper } from '../utils/StyleWebWrapper';\nimport { withTheme } from '../utils/withTheme';\nimport type { IconButtonContentProps } from './IconButton';\n\nconst PressableIconButtonWebWrapper = withTheme(styledLinaria.div`\n & > *:hover,\n .kitt-hover & > * {\n @media (hover: none) and (pointer: coarse) {\n transform: scale(${({ theme }) => theme.kitt.iconButton.scale.base.hover});\n }\n\n @media (${({ theme }) => theme.breakpoints.min.mediumBreakpoint}) {\n transform: scale(${({ theme }) => theme.kitt.iconButton.scale.medium.hover});\n }\n }\n\n & > *:active,\n .kitt-active & > * {\n transform: scale(${({ theme }) => theme.kitt.iconButton.scale.base.active});\n }\n\n & > *:hover,\n .kitt-hover & > *,\n & > *:focus,\n .kitt-focus & > *,\n & > *:active,\n .kitt-active & > * {\n background-color: ${({ theme }) => theme.kitt.iconButton.default.pressedBackgroundColor};\n }\n\n &[data-color-white=true] > *:hover,\n .kitt-hover &[data-color-white] > *,\n &[data-color-white=true] > *:focus,\n .kitt-focus &[data-color-white=true] > *,\n &[data-color-white=true] > *:active,\n .kitt-active &[data-color-white=true] > * {\n background-color: ${({ theme }) => theme.kitt.iconButton.white.pressedBackgroundColor};\n }\n`);\n\nconst StyledPressableIconButton = styled.Pressable`\n border-radius: ${({ theme }) => theme.kitt.iconButton.borderRadius}px;\n width: ${({ theme }) => theme.kitt.iconButton.width}px;\n height: ${({ theme }) => theme.kitt.iconButton.height}px;\n align-items: center;\n justify-content: center;\n position: relative;\n background-color: transparent;\n\n ${({ theme, disabled }) => {\n const { iconButton } = theme.kitt;\n\n if (Platform.OS !== 'web') {\n return undefined;\n }\n\n const { transition } = iconButton;\n\n if (disabled) {\n return `\n background-color: ${iconButton.disabled.backgroundColor};\n `;\n }\n\n return `\n transition: ${transition.property} ${transition.duration} ${transition.timingFunction};\n `;\n }};\n`;\n\nexport interface PressableIconButtonProps extends PressableProps {\n color: IconButtonContentProps['color'];\n}\n\nexport function PressableIconButton({ color, ...props }: PressableIconButtonProps): ReactElement {\n return (\n <StyleWebWrapper as={PressableIconButtonWebWrapper} data-color-white={color === 'white' ? true : undefined}>\n <StyledPressableIconButton {...props} />\n </StyleWebWrapper>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { PressableAnimatedContainerProps } from './PressableAnimatedContainer';\nimport { PressableIconButton } from './PressableIconButton';\n\nexport function PressableAnimatedContainer({\n children,\n color,\n disabled,\n onPress,\n}: PressableAnimatedContainerProps): ReactElement {\n return (\n <PressableIconButton accessibilityRole=\"button\" color={color} disabled={disabled} onPress={onPress}>\n {children}\n </PressableIconButton>\n );\n}\n","import type { ReactElement } from 'react';\nimport styled from 'styled-components/native';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { PressableAnimatedContainer } from './PressableAnimatedContainer';\n\ninterface IconButtonContentBorderProps {\n disabled?: boolean;\n}\n\nconst IconButtonContentBorder = styled.View<IconButtonContentBorderProps>`\n border: ${({ theme }) => `${theme.kitt.iconButton.borderWidth}px solid`};\n border-color: ${({ theme, disabled }) =>\n disabled ? theme.kitt.iconButton.disabled.borderColor : theme.kitt.iconButton.borderColor};\n width: ${({ theme }) => theme.kitt.iconButton.width - theme.kitt.iconButton.borderWidth}px;\n height: ${({ theme }) => theme.kitt.iconButton.height - theme.kitt.iconButton.borderWidth}px;\n align-items: center;\n justify-content: center;\n border-radius: ${({ theme }) => theme.kitt.iconButton.borderRadius}px;\n`;\nexport interface IconButtonContentProps {\n icon: NonNullable<ReactElement>;\n color?: 'black' | 'white';\n disabled?: boolean;\n}\n\nfunction IconButtonContent({ disabled, color, icon }: IconButtonContentProps): ReactElement {\n return (\n <IconButtonContentBorder disabled={disabled}>\n <TypographyIcon color={disabled ? 'black-light' : color} icon={icon} />\n </IconButtonContentBorder>\n );\n}\n\nexport interface IconButtonProps extends IconButtonContentProps {\n onPress: () => void;\n}\n\nexport function IconButton({ icon, color, disabled, onPress }: IconButtonProps): ReactElement {\n return (\n <PressableAnimatedContainer color={color} disabled={disabled} onPress={onPress}>\n <IconButtonContent disabled={disabled} color={color} icon={icon} />\n </PressableAnimatedContainer>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport styled from 'styled-components/native';\n\nexport interface ListItemContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n}\n\nconst ContentView = styled.View`\n flex: 1 0 0%;\n align-self: center;\n`;\n\nexport function ListItemContent({ children, ...rest }: ListItemContentProps): ReactElement {\n return <ContentView {...rest}>{children}</ContentView>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps, ViewStyle } from 'react-native';\nimport styled from 'styled-components/native';\n\nexport interface ListItemSideContainerProps extends ViewProps {\n children: NonNullable<ReactNode>;\n side?: 'left' | 'right';\n}\n\nconst SideContainerView = styled.View<ListItemSideContainerProps>`\n flex-direction: row;\n margin-left: ${({ theme, side }) => (side === 'right' ? theme.kitt.listItem.innerMargin : 0)};\n margin-right: ${({ theme, side }) => (side === 'left' ? theme.kitt.listItem.innerMargin : 0)};\n`;\n\n// Handles the vertical alignment of the side elements of the list item\nexport function ListItemSideContainer({ children, side = 'left', ...rest }: ListItemSideContainerProps): ReactElement {\n return (\n <SideContainerView side={side} {...rest}>\n {children}\n </SideContainerView>\n );\n}\n\nexport interface ListItemSideContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n align?: ViewStyle['alignSelf'];\n}\n\nconst SideContentView = styled.View<ListItemSideContentProps>`\n align-self: ${({ align }) => align};\n`;\n\nexport function ListItemSideContent({ children, align = 'auto', ...rest }: ListItemSideContentProps): ReactElement {\n return (\n <SideContentView align={align} {...rest}>\n {children}\n </SideContentView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Fragment } from 'react';\nimport type { PressableProps, ViewProps } from 'react-native';\nimport { Pressable } from 'react-native';\nimport styled from 'styled-components/native';\nimport { ListItemContent } from './ListItemContent';\nimport { ListItemSideContainer, ListItemSideContent } from './ListItemSideContent';\n\ntype Borders = 'top' | 'bottom' | 'both';\n\nexport interface ListItemProps extends ViewProps {\n children: NonNullable<ReactNode>;\n left?: ReactNode;\n right?: ReactNode;\n borders?: Borders;\n withPadding?: boolean;\n onPress?: PressableProps['onPress'];\n}\n\ninterface ContainerViewProps extends Pick<ListItemProps, 'borders' | 'withPadding'> {}\n\nconst ContainerView = styled.View<ContainerViewProps>`\n flex-direction: row;\n padding: ${({ withPadding, theme }) => (withPadding ? theme.kitt.listItem.padding : 0)};\n ${({ theme, borders }) => {\n const { borderWidth } = theme.kitt.listItem;\n\n if (borders === 'top') {\n return `border-top-width: ${borderWidth}`;\n }\n\n if (borders === 'bottom') {\n return `border-bottom-width: ${borderWidth}`;\n }\n\n if (borders === 'both') {\n return `border-top-width: ${borderWidth}; border-bottom-width: ${borderWidth}`;\n }\n\n return 'border: none';\n }};\n border-color: ${({ theme }) => theme.kitt.listItem.borderColor};\n background-color: ${({ theme }) => theme.kitt.colors.uiBackgroundLight};\n`;\n\nexport function ListItem({\n children,\n withPadding,\n borders,\n left,\n right,\n onPress,\n ...rest\n}: ListItemProps): ReactElement {\n const Wrapper = onPress ? Pressable : Fragment;\n const wrapperProps = onPress ? { accessibilityRole: 'button', onPress, ...rest } : undefined;\n const containerProps = onPress ? undefined : rest;\n\n return (\n <Wrapper {...(wrapperProps as any)}>\n <ContainerView withPadding={withPadding} borders={borders} {...containerProps}>\n {left ? <ListItemSideContainer side=\"left\">{left}</ListItemSideContainer> : null}\n\n <ListItemContent>{children}</ListItemContent>\n\n {right ? <ListItemSideContainer side=\"right\">{right}</ListItemSideContainer> : null}\n </ContainerView>\n </Wrapper>\n );\n}\n\nListItem.Content = ListItemContent;\nListItem.SideContent = ListItemSideContent;\nListItem.SideContainer = ListItemSideContainer;\n","import { styled } from '@linaria/react';\nimport type { ReactElement } from 'react';\nimport { withTheme } from '../utils/withTheme';\n\nconst LargeLoaderContainer = withTheme(styled.div`\n @keyframes LargeLoaderInit {\n /**\n * 169.64 is the perimeter of each svg circle with a 27 radius\n * P = 2 * Pi * radius\n */\n 0% {\n stroke-dashoffset: 169.64px;\n }\n\n /* Edges <= 15 needs a px value */\n 100% {\n /* stylelint-disable */\n stroke-dashoffset: 0;\n /* stylelint-enable */\n }\n }\n\n /** Primary circle animation **/\n @keyframes LargeLoaderOffset {\n 0% {\n stroke-dashoffset: 169.64px;\n }\n\n /**\n * 34 equals 20% of this radius and represent the min offset part of the animated circle\n */\n 100% {\n stroke-dashoffset: 34px;\n }\n }\n\n @keyframes LargeLoaderRotation {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n }\n\n width: 60px;\n height: 60px;\n\n /* Needed to make the animation starting from the top of the circles */\n transform: scale(-1) rotate(90deg);\n\n & circle,\n & g {\n transform-origin: center center;\n }\n\n & circle {\n stroke-width: 3px;\n stroke-dasharray: 169.64px;\n stroke-dashoffset: 169.64px;\n stroke-linecap: round;\n }\n\n & g[data-large-loader='base'] circle {\n stroke: ${({ theme }) => theme.kitt.colors.separator};\n animation: LargeLoaderInit 1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.5s forwards;\n }\n\n & g[data-large-loader='fill'] {\n transform-origin: center center;\n animation: LargeLoaderRotation 1.8s linear 0.5s infinite;\n }\n & g[data-large-loader='fill'] circle {\n stroke: ${({ theme }) => theme.kitt.colors.primary};\n animation: LargeLoaderOffset 1.8s cubic-bezier(0.39, 0.575, 0.565, 1) 0.5s infinite alternate,\n LargeLoaderRotation 2.16s linear 0.5s infinite;\n }\n`);\n\nexport function LargeLoader(props: Record<string, never>): ReactElement {\n return (\n <LargeLoaderContainer>\n <svg width=\"60\" height=\"60\">\n <g data-large-loader=\"base\">\n <circle cx=\"30\" cy=\"30\" r=\"27\" fill=\"none\" />\n </g>\n <g data-large-loader=\"fill\">\n <circle cx=\"30\" cy=\"30\" r=\"27\" fill=\"none\" />\n </g>\n </svg>\n </LargeLoaderContainer>\n );\n}\n","import { LoaderIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement } from 'react';\nimport type { TypographyIconProps } from '../typography/TypographyIcon';\nimport { TypographyIcon } from '../typography/TypographyIcon';\n\nexport interface LoaderProps {\n color?: TypographyIconProps['color'];\n size?: TypographyIconProps['size'];\n}\n\nexport function Loader({ color = 'primary', size = 20 }: LoaderProps): ReactElement {\n return <TypographyIcon spin color={color} size={size} icon={<LoaderIcon />} />;\n}\n","import { AlertCircleIcon, AlertTriangleIcon, CheckIcon, InfoIcon, XIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { TouchableOpacity } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Icon } from '../Icon/Icon';\nimport type { TypographyColor } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\n\nexport type MessageType = 'success' | 'warning' | 'danger' | 'info';\n\nconst xIconSize = 14;\nconst mainIconSize = 20;\n\nexport interface MessageProps {\n type?: MessageType;\n children: NonNullable<ReactNode>;\n noRadius?: boolean;\n centeredText?: boolean;\n insets?: { top?: number };\n onDismiss?: () => void;\n}\n\ninterface ContainerProps {\n type: MessageType;\n noRadius: boolean;\n insets: MessageProps['insets'];\n}\n\nconst Container = styled.View<ContainerProps>`\n border-radius: ${({ theme, noRadius }) => (noRadius ? 0 : theme.kitt.spacing * 5)}px;\n background-color: ${({ theme, type }) => theme.kitt.feedbackMessage.backgroundColors[type]};\n padding-bottom: ${({ theme }) => theme.kitt.spacing * 4}px;\n padding-left: ${({ theme }) => theme.kitt.spacing * 4}px;\n padding-right: ${({ theme }) => theme.kitt.spacing * 4}px;\n padding-top: ${({ theme, insets }) => (insets?.top ?? 0) + theme.kitt.spacing * 4}px;\n flex-direction: row;\n align-items: flex-start;\n justify-content: space-between;\n`;\n\nconst CloseContainer = styled(TouchableOpacity)`\n margin-left: ${({ theme }) => theme.kitt.spacing * 4}px;\n padding: ${({ theme }) => theme.kitt.spacing}px;\n`;\n\nconst IconContainer = styled.View`\n margin-right: ${({ theme }) => theme.kitt.spacing * 4}px;\n`;\n\ninterface ContentProps {\n type: MessageType;\n centeredText: boolean;\n}\n\nconst Content = styled.Text<ContentProps>`\n text-align: ${({ centeredText }) => (centeredText ? 'center' : 'left')};\n flex: 1;\n`;\n\nconst getColorByType = (type: MessageType): TypographyColor => {\n switch (type) {\n case 'success':\n return 'white';\n case 'danger':\n return 'white';\n case 'warning':\n default:\n return 'black';\n }\n};\n\nfunction getIconContent(type: MessageType): ReactElement {\n switch (type) {\n case 'warning':\n return <AlertCircleIcon />;\n case 'success':\n return <CheckIcon />;\n case 'danger':\n return <AlertTriangleIcon />;\n default:\n return <InfoIcon />;\n }\n}\n\nexport function Message({\n type = 'info',\n children,\n noRadius = false,\n centeredText = false,\n onDismiss,\n insets,\n}: MessageProps): ReactElement {\n const color = getColorByType(type);\n\n return (\n <Container type={type} noRadius={noRadius} insets={insets}>\n {!centeredText ? (\n <IconContainer>\n <Icon size={mainIconSize} color={color} icon={getIconContent(type)} />\n </IconContainer>\n ) : null}\n <Content type={type} centeredText={centeredText}>\n <Typography.Text base=\"body-small\" color={color}>\n {children}\n </Typography.Text>\n </Content>\n {onDismiss ? (\n <CloseContainer onPress={onDismiss}>\n <Icon icon={<XIcon />} size={xIconSize} color={color} />\n </CloseContainer>\n ) : null}\n </Container>\n );\n}\n","import type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable, StyleSheet, View } from 'react-native';\nimport styled from 'styled-components/native';\n\ninterface OverlayProps {\n onPress: PressableProps['onPress'];\n}\n\n// Don't use styled.Pressable here - babel-plugin-styled-components-react-native-web only supports tagged templates\nconst OverlayPressable = styled(Pressable)(({ theme }) => ({\n ...StyleSheet.absoluteFillObject,\n backgroundColor: theme.kitt.colors.overlay.dark,\n}));\n\nexport function Overlay({ onPress }: OverlayProps): ReactElement {\n return (\n <OverlayPressable accessibilityRole=\"none\" onPress={onPress}>\n <View />\n </OverlayPressable>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { ScrollView } from 'react-native';\nimport styled from 'styled-components/native';\n\nconst BodyView = styled.View`\n padding: ${({ theme }) => theme.kitt.spacing * 6}px ${({ theme }) => theme.kitt.spacing * 4}px;\n`;\n\nexport interface BodyProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function ModalBody({ children }: BodyProps): ReactElement {\n return (\n <ScrollView>\n <BodyView>{children}</BodyView>\n </ScrollView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\n\nexport interface FooterProps {\n children: NonNullable<ReactNode>;\n}\n\nconst FooterView = styled.View`\n flex: 0 0 auto;\n padding: ${({ theme }) => theme.kitt.spacing * 4}px;\n border-top-width: 1px;\n border-top-color: ${({ theme }) => theme.kitt.colors.separator};\n`;\n\nexport function ModalFooter({ children }: FooterProps): ReactElement {\n return <FooterView>{children}</FooterView>;\n}\n","import { createContext } from 'react';\n\nexport const OnCloseContext = createContext<() => void>(() => {});\n","import { XIcon } from '@ornikar/kitt-icons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useContext } from 'react';\nimport styled from 'styled-components/native';\nimport { Button } from '../Button/Button';\nimport { OnCloseContext } from './OnCloseContext';\n\nexport interface HeaderProps {\n children: NonNullable<ReactNode>;\n left?: ReactNode;\n right?: ReactNode;\n}\n\nconst HeaderView = styled.View`\n position: relative;\n padding: ${({ theme }) => theme.kitt.spacing * 2}px;\n display: flex;\n flex: 0 0 auto;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n border-bottom-width: 1px;\n border-bottom-color: ${({ theme }) => theme.kitt.colors.separator};\n min-height: 57px;\n`;\n\nconst LeftIconView = styled.View`\n align-self: flex-start;\n margin-right: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\nconst RightIconView = styled.View`\n align-self: flex-start;\n margin-left: ${({ theme }) => theme.kitt.spacing * 2}px;\n`;\n\ninterface TitleViewProps {\n isIconLeft?: boolean;\n}\n\nconst TitleView = styled.View<TitleViewProps>`\n padding-left: ${({ theme, isIconLeft }) => (isIconLeft ? 0 : theme.kitt.spacing * 2)}px;\n flex-shrink: 1;\n`;\n\nexport function ModalHeader({ left, right, children }: HeaderProps): ReactElement {\n const onClose = useContext(OnCloseContext);\n\n const isIconLeft = !!left;\n\n return (\n <HeaderView>\n {isIconLeft && <LeftIconView>{left}</LeftIconView>}\n\n <TitleView isIconLeft={isIconLeft}>{children}</TitleView>\n\n {right !== undefined ? (\n right\n ) : (\n <RightIconView>\n <Button type=\"subtle-dark\" icon={<XIcon />} onPress={onClose} />\n </RightIconView>\n )}\n </HeaderView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Modal as NativeModal } from 'react-native';\nimport styled from 'styled-components/native';\nimport { Overlay } from '../Overlay/Overlay';\nimport { ModalBody } from './Body';\nimport { ModalFooter } from './Footer';\nimport { ModalHeader } from './Header';\nimport { OnCloseContext } from './OnCloseContext';\n\nexport interface ModalProps {\n visible: boolean;\n children: ReactNode;\n onClose: () => void;\n onEntered?: () => void;\n onExited?: () => void;\n}\n\nconst ModalView = styled.View`\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ${({ theme }) => theme.kitt.spacing * 20}px ${({ theme }) => theme.kitt.spacing * 4}px;\n`;\n\nconst ContentView = styled.View`\n position: relative;\n display: flex;\n flex-direction: column;\n max-height: 100%;\n max-width: 540px;\n height: auto;\n width: 100%;\n border-radius: ${({ theme }) => theme.kitt.card.borderRadius};\n background-color: ${({ theme }) => theme.kitt.palettes.lateOcean.white};\n`;\n\nexport function Modal({ visible, children, onClose, onEntered, onExited }: ModalProps): ReactElement {\n return (\n <OnCloseContext.Provider value={onClose}>\n <NativeModal\n transparent\n animationType=\"fade\"\n visible={visible}\n onShow={onEntered}\n onDismiss={onExited}\n onRequestClose={onClose}\n >\n <ModalView>\n <Overlay onPress={onClose} />\n\n <ContentView>{children}</ContentView>\n </ModalView>\n </NativeModal>\n </OnCloseContext.Provider>\n );\n}\n\nModal.Header = ModalHeader;\nModal.Body = ModalBody;\nModal.Footer = ModalFooter;\n","import type { ReactElement, ReactNode } from 'react';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport type { MessageProps } from '../Message/Message';\nimport { Message } from '../Message/Message';\n\nexport interface NotificationProps {\n children: NonNullable<ReactNode>;\n type?: MessageProps['type'];\n centeredText?: MessageProps['centeredText'];\n onDelete?: MessageProps['onDismiss'];\n}\n\nexport function Notification({ type, children, centeredText, onDelete }: NotificationProps): ReactElement {\n const { top } = useSafeAreaInsets();\n return (\n <Message noRadius type={type} centeredText={centeredText} insets={{ top }} onDismiss={onDelete}>\n {children}\n </Message>\n );\n}\n","import type { ViewStyle } from 'react-native';\nimport styled from 'styled-components/native';\n\ninterface FlexProps {\n direction: ViewStyle['flexDirection'];\n padding?: number;\n}\n\nexport const Flex = styled.View.withConfig<FlexProps>({\n shouldForwardProp: (prop, defaultValidatorFn) => !['direction', 'padding'].includes(prop) && defaultValidatorFn(prop),\n})`\n display: flex;\n flex-direction: ${({ direction }) => direction};\n flex-wrap: wrap;\n padding: ${({ theme, padding = 0 }) => padding * theme.kitt.spacing}px;\n`;\n","export const storyPadding = 16;\n","import type { ReactElement, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { DefaultTheme } from 'styled-components/native';\nimport styled from 'styled-components/native';\nimport type { TypographyColor } from '../typography/Typography';\nimport { storyPadding } from './theme';\n\nexport interface StoryBlockProps {\n background?: 'dark' | 'light' | 'primary' | 'transparent';\n children: ReactNode;\n}\n\nconst getBackgroundColorFromBlockColor = (\n theme: DefaultTheme,\n color: StoryBlockProps['background'] = 'transparent',\n): string => {\n switch (color) {\n case 'dark':\n return '#293033';\n case 'light':\n return '#ffffff';\n case 'primary':\n return theme.kitt.palettes.lateOcean.lateOcean;\n default:\n return 'transparent';\n }\n};\n\nconst getTypographyColorFromBlockColor = (color: StoryBlockProps['background'] = 'transparent'): TypographyColor => {\n switch (color) {\n case 'dark':\n case 'primary':\n return 'white';\n case 'light':\n default:\n return 'black';\n }\n};\n\nexport const StoryBlockBackgroundContext = createContext<StoryBlockProps['background']>('transparent');\nconst StoryBlockColorContext = createContext<TypographyColor>('black');\n\nexport const useStoryBlockColor = (color?: TypographyColor | undefined): TypographyColor => {\n const storyBlockColor = useContext(StoryBlockColorContext);\n return color || storyBlockColor;\n};\n\nconst StyledStoryBlockView = styled.View<StoryBlockProps>`\n padding: 16px ${storyPadding}px 0;\n margin: 0 -${storyPadding}px;\n background: ${({ theme, background }) => getBackgroundColorFromBlockColor(theme, background)};\n`;\n\nexport function StoryBlock({ children, background }: StoryBlockProps): ReactElement {\n return (\n <StyledStoryBlockView background={background}>\n <StoryBlockColorContext.Provider value={getTypographyColorFromBlockColor(background)}>\n <StoryBlockBackgroundContext.Provider value={background}>{children}</StoryBlockBackgroundContext.Provider>\n </StoryBlockColorContext.Provider>\n </StyledStoryBlockView>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport type { TypographyProps } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\nimport { useStoryBlockColor } from './StoryBlock';\n\ninterface StoryTitleProps {\n color?: TypographyProps['color'];\n numberOfLines?: TypographyProps['numberOfLines'];\n children: ReactNode;\n}\n\nconst StoryTitleContainer = styled.View`\n margin-bottom: 30px;\n`;\n\nconst StorySubTitleContainer = styled.View`\n margin-bottom: 10px;\n`;\n\nexport function StoryTitle({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StoryTitleContainer>\n <Typography.Header1 variant=\"bold\" base=\"header1\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header1>\n </StoryTitleContainer>\n );\n}\n\nfunction StoryTitleLevel2({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StoryTitleContainer>\n <Typography.Header2 variant=\"bold\" base=\"header2\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header2>\n </StoryTitleContainer>\n );\n}\n\nStoryTitleLevel2.displayName = 'StoryTitle.Level2';\n\nfunction StoryTitleLevel3({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StorySubTitleContainer>\n <Typography.Header3\n variant=\"bold\"\n base=\"header3\"\n medium=\"header4\"\n color={useStoryBlockColor(color)}\n numberOfLines={numberOfLines}\n >\n {children}\n </Typography.Header3>\n </StorySubTitleContainer>\n );\n}\n\nStoryTitleLevel3.displayName = 'StoryTitle.Level3';\n\nfunction StoryTitleLevel4({ color, children, numberOfLines }: StoryTitleProps): ReactElement {\n return (\n <StorySubTitleContainer>\n <Typography.Header4\n variant=\"bold\"\n base=\"header4\"\n medium=\"header5\"\n color={useStoryBlockColor(color)}\n numberOfLines={numberOfLines}\n >\n {children}\n </Typography.Header4>\n </StorySubTitleContainer>\n );\n}\n\nStoryTitleLevel4.displayName = 'StoryTitle.Level3';\n\nStoryTitle.Level2 = StoryTitleLevel2;\nStoryTitle.Level3 = StoryTitleLevel3;\nStoryTitle.Level4 = StoryTitleLevel4;\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ScrollViewProps } from 'react-native';\nimport styled from 'styled-components/native';\nimport { StoryTitle } from './StoryTitle';\nimport { storyPadding } from './theme';\n\nexport interface StoryProps {\n title: ReactNode;\n children: ReactNode;\n contentContainerStyle?: ScrollViewProps['contentContainerStyle'];\n}\n\nconst StoryContainer = styled.ScrollView`\n padding: ${storyPadding}px;\n`;\n\nexport function Story({ title, contentContainerStyle, children }: StoryProps): ReactElement {\n return (\n <StoryContainer contentContainerStyle={contentContainerStyle}>\n <StoryTitle>{title}</StoryTitle>\n {children}\n </StoryContainer>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport styled from 'styled-components/native';\nimport { StoryTitle } from './StoryTitle';\n\ninterface StyledSectionProps extends ViewProps {}\n\nconst StyledSection = styled.View<StyledSectionProps>`\n margin-bottom: 32px;\n`;\n\nexport interface StorySectionProps extends ViewProps {\n title: ReactNode;\n children: ReactNode;\n /** @private */\n internalIsDemoSection?: boolean;\n}\n\nexport function StorySection({ title, children, internalIsDemoSection, ...props }: StorySectionProps): ReactElement {\n if (title === 'Demo' && !internalIsDemoSection) throw new Error('Use StorySection.Demo instead');\n return (\n <StyledSection {...props}>\n <StoryTitle.Level2>{title}</StoryTitle.Level2>\n {children}\n </StyledSection>\n );\n}\n\nconst StyledSubSection = styled.View`\n margin-bottom: 16px;\n`;\n\nfunction SubSection({ title, children, ...props }: StorySectionProps): ReactElement {\n return (\n <StyledSubSection {...props}>\n <StoryTitle.Level3>{title}</StoryTitle.Level3>\n {children}\n </StyledSubSection>\n );\n}\n\nconst StyledBlockSection = styled.View`\n margin-bottom: 16px;\n`;\n\nfunction BlockSection({ title, children, ...props }: StorySectionProps): ReactElement {\n return (\n <StyledBlockSection {...props}>\n <StoryTitle.Level4>{title}</StoryTitle.Level4>\n {children}\n </StyledBlockSection>\n );\n}\n\nexport interface DemoSectionProps {\n children: ReactNode;\n}\n\nconst StyledDemoSection = styled.View`\n margin-bottom: 64px;\n`;\n\nfunction DemoSection({ children }: DemoSectionProps): ReactElement {\n return (\n <StyledDemoSection>\n <StorySection internalIsDemoSection title=\"Demo\">\n {children}\n </StorySection>\n </StyledDemoSection>\n );\n}\n\nStorySection.SubSection = SubSection;\nStorySection.BlockSection = BlockSection;\n/** @deprecated use StorySection.Demo instead */\nStorySection.DemoSection = DemoSection;\nStorySection.Demo = DemoSection;\n\n/** @deprecated use StorySection instead */\nexport const DeprecatedSection = StorySection;\n","import type { ReactElement } from 'react';\nimport type { StoryContainerProps } from './StoryContainer';\nimport { StorySection } from './StorySection';\n\nexport function StoryContainer({ children, state, title, platform }: StoryContainerProps): ReactElement | null {\n if (platform === 'native') return null;\n\n return (\n <StorySection.BlockSection testID={state} title={title}>\n <div className={state ? `kitt-${state}` : undefined}>{children}</div>\n </StorySection.BlockSection>\n );\n}\n","import type { StoryContext } from '@storybook/addons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Story as StoryContainer } from './Story';\n\nexport function StoryDecorator(storyFn: () => ReactNode, context: StoryContext): ReactElement {\n return <StoryContainer title={context.name}>{storyFn()}</StoryContainer>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children } from 'react';\nimport { Platform, useWindowDimensions } from 'react-native';\nimport styled from 'styled-components/native';\nimport type { TypographyProps } from '..';\nimport { StoryTitle } from './StoryTitle';\n\nconst SmallScreenRow = styled.View`\n flex-direction: column;\n margin: 0;\n`;\n\nconst SmallScreenCol = styled.View`\n padding: 8px 0 16px;\n`;\n\nconst FlexRow = styled.View`\n flex-direction: row;\n margin: 0 -4px 16px;\n`;\n\nconst FlexCol = styled.View`\n flex-grow: 1;\n flex-basis: 0;\n margin: 0 8px;\n`;\n\nexport interface StoryGridRowProps {\n children: NonNullable<ReactNode>;\n breakpoint?: 'small' | 'medium';\n}\n\nfunction StoryGridRow({ children, breakpoint = 'small' }: StoryGridRowProps): ReactElement {\n // eslint-disable-next-line unicorn/expiring-todo-comments\n // TODO use useBreakpoint instead\n const { width } = useWindowDimensions();\n const breakpointValue = breakpoint === 'small' ? 480 : 768;\n\n if (width < breakpointValue) {\n return (\n <SmallScreenRow>\n {Children.map(children, (child) => (\n <SmallScreenCol>{child}</SmallScreenCol>\n ))}\n </SmallScreenRow>\n );\n }\n\n return (\n <FlexRow>\n {Children.map(children, (child) => (\n <FlexCol>{child}</FlexCol>\n ))}\n </FlexRow>\n );\n}\n\nexport interface StoryGridColProps {\n children: NonNullable<ReactNode>;\n title?: string;\n titleColor?: TypographyProps['color'];\n platform?: 'all' | 'native' | 'web';\n}\n\nfunction StoryGridCol({ title, titleColor, children, platform = 'all' }: StoryGridColProps): ReactElement | null {\n const isNative = Platform.OS === 'ios' || Platform.OS === 'android';\n\n if (Platform.OS === 'web' && platform === 'native') {\n return null;\n }\n\n if (isNative && platform === 'web') {\n return null;\n }\n\n return (\n <>\n {title ? (\n <StoryTitle.Level4 numberOfLines={1} color={titleColor}>\n {title}\n </StoryTitle.Level4>\n ) : null}\n {children}\n </>\n );\n}\n\nexport const StoryGrid = {\n Row: StoryGridRow,\n Col: StoryGridCol,\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport styled from 'styled-components/native';\nimport type { TypographyColor } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\n\nexport type TagType = 'primary' | 'default' | 'danger';\n\nexport type TagVariant = 'outline' | 'fill';\n\nexport interface TagProps {\n label: ReactNode;\n type?: TagType;\n variant?: TagVariant;\n}\n\ninterface ContainerProps {\n type: TagType;\n variant: TagVariant;\n}\n\nconst Container = styled.View<ContainerProps>`\n background-color: ${({ theme, type, variant }) => theme.kitt.tag[type][variant].backgroundColor};\n border-width: ${({ theme, type, variant }) => theme.kitt.tag[type][variant].borderWidth};\n border-color: ${({ theme, type, variant }) => theme.kitt.tag[type][variant].borderColor};\n padding: ${({ theme }) => theme.kitt.tag.padding};\n border-radius: ${({ theme }) => theme.kitt.tag.borderRadius};\n align-self: flex-start;\n`;\n\nexport const getLabelColor = (type: TagType, variant: TagVariant): TypographyColor => {\n switch (type) {\n case 'danger': {\n return variant === 'outline' ? 'danger' : 'black';\n }\n case 'primary': {\n return 'primary';\n }\n case 'default': {\n return 'black';\n }\n default: {\n return 'black';\n }\n }\n};\n\nexport function Tag({ label, type = 'default', variant = 'fill' }: TagProps): ReactElement {\n return (\n <Container type={type} variant={variant}>\n <Typography.Text base=\"body-xsmall\" color={getLabelColor(type, variant)}>\n {label}\n </Typography.Text>\n </Container>\n );\n}\n","export const lateOceanColorPalette = {\n lateOcean: '#4C34E0',\n lateOceanLight1: '#705DE6',\n lateOceanLight2: '#9485EC',\n lateOceanLight3: '#D6BAF9',\n\n warmEmbrace: '#F4D3CE',\n warmEmbraceLight1: '#FFEDE6',\n\n black1000: '#000000',\n black555: '#737373',\n black200: '#CCCCCC',\n black100: '#E5E5E5',\n black50: '#F2F2F2',\n black25: '#F9F9F9',\n white: '#FFFFFF',\n\n viride: '#38836D',\n englishVermillon: '#D44148',\n goldCrayola: '#F8C583',\n aero: '#89BDDD',\n\n transparent: 'transparent',\n\n moonPurple: '#DBD6F9',\n moonPurpleLight1: '#EDEBFC',\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const avatarLateOceanTheme = {\n default: {\n color: lateOceanColorPalette.white,\n backgroundColor: lateOceanColorPalette.lateOcean,\n },\n light: {\n color: lateOceanColorPalette.black1000,\n backgroundColor: lateOceanColorPalette.black100,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const buttonLateOceanTheme = {\n borderRadius: '30px',\n borderWidth: '2px',\n minHeight: '42px',\n minWidth: '40px',\n maxWidth: '335px',\n iconSize: 18,\n contentPadding: {\n default: '8px 16px',\n },\n primary: {\n backgroundColor: lateOceanColorPalette.lateOcean,\n disabledBackgroundColor: lateOceanColorPalette.black50,\n pressedBackgroundColor: lateOceanColorPalette.lateOceanLight1,\n disabledBorderColor: lateOceanColorPalette.black100,\n },\n secondary: {\n backgroundColor: 'rgba(0, 0, 0, 0.05)',\n disabledBackgroundColor: lateOceanColorPalette.black50,\n pressedBackgroundColor: 'rgba(0, 0, 0, 0.1)',\n disabledBorderColor: lateOceanColorPalette.black100,\n },\n subtle: {\n backgroundColor: lateOceanColorPalette.transparent,\n disabledBackgroundColor: lateOceanColorPalette.transparent,\n pressedBackgroundColor: lateOceanColorPalette.transparent,\n disabledBorderColor: lateOceanColorPalette.transparent,\n },\n 'subtle-dark': {\n backgroundColor: lateOceanColorPalette.transparent,\n disabledBackgroundColor: lateOceanColorPalette.transparent,\n pressedBackgroundColor: lateOceanColorPalette.transparent,\n disabledBorderColor: lateOceanColorPalette.transparent,\n },\n white: {\n backgroundColor: 'rgba(255, 255, 255, 0.05)',\n disabledBackgroundColor: lateOceanColorPalette.transparent,\n hoverBackgroundColor: 'rgba(255, 255, 255, 0.1)',\n pressedBackgroundColor: 'rgba(255, 255, 255, 0.1)',\n focusBorderColor: 'rgba(255, 255, 255, 0.1)',\n disabledBorderColor: lateOceanColorPalette.transparent,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const cardLateOceanTheme = {\n borderRadius: '20px',\n borderWidth: '2px',\n padding: '16px',\n primary: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette.lateOcean,\n },\n secondary: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette.black100,\n },\n subtle: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const colorsLateOceanTheme = {\n primary: lateOceanColorPalette.lateOcean,\n primaryLight: lateOceanColorPalette.lateOceanLight1,\n accent: lateOceanColorPalette.warmEmbrace,\n accentLight: lateOceanColorPalette.warmEmbraceLight1,\n success: lateOceanColorPalette.viride,\n correct: lateOceanColorPalette.viride,\n danger: lateOceanColorPalette.englishVermillon,\n separator: lateOceanColorPalette.black100,\n hover: lateOceanColorPalette.black100,\n black: lateOceanColorPalette.black1000,\n uiBackground: lateOceanColorPalette.black25,\n uiBackgroundLight: lateOceanColorPalette.white,\n overlay: {\n dark: 'rgba(41, 48, 51, 0.25)',\n light: 'rgba(255, 255, 255, 0.90)',\n fullscreenLoader: 'rgba(0, 0, 0, 0.25)',\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const feedbackMessageLateOceanTheme = {\n backgroundColors: {\n success: lateOceanColorPalette.viride,\n danger: lateOceanColorPalette.englishVermillon,\n warning: lateOceanColorPalette.goldCrayola,\n info: lateOceanColorPalette.aero,\n },\n};\n","export const inputFieldLateOceanTheme = {\n labelContainerPaddingBottom: 5,\n iconMarginLeft: 6,\n};\n","import type { InputTextState } from '../../forms/InputText/InputText';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport type { typographyLateOceanTheme } from './typographyLateOceanTheme';\n\nexport type TypographyColor = keyof typeof typographyLateOceanTheme.colors;\nexport interface InputStateStyle {\n backgroundColor?: string;\n borderColor: string;\n color: TypographyColor;\n passwordButtonIconColor: TypographyColor;\n}\n\nconst inputStatesStyle: Record<InputTextState, InputStateStyle> = {\n default: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette.black100,\n color: 'black',\n passwordButtonIconColor: 'black',\n },\n hover: {\n borderColor: lateOceanColorPalette.black200,\n color: 'black',\n passwordButtonIconColor: 'black',\n },\n focus: {\n borderColor: lateOceanColorPalette.lateOcean,\n color: 'black',\n passwordButtonIconColor: 'black',\n },\n disabled: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n color: 'black-light',\n passwordButtonIconColor: 'black-light',\n },\n invalid: {\n borderColor: lateOceanColorPalette.englishVermillon,\n color: 'black',\n passwordButtonIconColor: 'black',\n },\n};\n\nexport const inputLateOceanTheme = {\n marginTop: '2px',\n marginBottom: '4px',\n borderWidth: '2px',\n borderRadius: '10px',\n passwordButtonIconSize: 20,\n padding: '7px 16px',\n paddingSingleLineIOS: '12px 16px',\n selectionColor: lateOceanColorPalette.lateOcean,\n placeholderColor: 'black-light' as const,\n textAreaMinHeight: 120,\n states: inputStatesStyle,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const radioLateOceanTheme = {\n size: 18,\n unchecked: {\n backgroundColor: lateOceanColorPalette.white,\n borderWidth: '2px',\n borderColor: lateOceanColorPalette.black200,\n },\n checked: {\n backgroundColor: lateOceanColorPalette.lateOcean,\n innerSize: 5,\n innerBackgroundColor: lateOceanColorPalette.white,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n },\n};\n","import { inputFieldLateOceanTheme } from './inputFieldLateOceanTheme';\nimport { inputLateOceanTheme } from './inputLateOceanTheme';\nimport { radioLateOceanTheme } from './radioLateOceanTheme';\n\nexport const formsLateOceanTheme = {\n input: inputLateOceanTheme,\n radio: radioLateOceanTheme,\n inputField: inputFieldLateOceanTheme,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const fullScreenModalLateOceanTheme = {\n header: {\n paddingVertical: 12,\n paddingHorizontal: 16,\n borderColor: lateOceanColorPalette.black100,\n },\n};\n","import { buttonLateOceanTheme } from './buttonLateOceanTheme';\n\ninterface IconButtonVariationValues {\n pressedBackgroundColor: string;\n}\n\nexport interface IconButtonTheme {\n backgroundColor: string;\n width: number;\n height: number;\n borderRadius: number;\n borderWidth: number;\n borderColor: string;\n transition: {\n property: string;\n duration: string;\n timingFunction: string;\n };\n scale: {\n base: {\n default: number;\n hover: number;\n active: number;\n };\n medium: {\n hover: number;\n };\n };\n disabled: {\n scale: number;\n backgroundColor: string;\n borderColor: string;\n };\n default: IconButtonVariationValues;\n white: IconButtonVariationValues;\n}\n\nexport const iconButton: IconButtonTheme = {\n backgroundColor: 'transparent',\n width: 40,\n height: 40,\n borderRadius: 20,\n borderWidth: 2,\n borderColor: 'transparent',\n transition: {\n property: 'all',\n duration: '200ms',\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1);',\n },\n scale: {\n base: {\n default: 1,\n hover: 0.95,\n active: 0.95,\n },\n medium: {\n hover: 1.05,\n },\n },\n disabled: {\n scale: 1,\n backgroundColor: buttonLateOceanTheme.secondary.disabledBackgroundColor,\n borderColor: buttonLateOceanTheme.secondary.disabledBorderColor,\n },\n default: {\n pressedBackgroundColor: buttonLateOceanTheme.secondary.pressedBackgroundColor,\n },\n white: {\n pressedBackgroundColor: buttonLateOceanTheme.white.hoverBackgroundColor,\n },\n};\n","import { colorsLateOceanTheme } from './colorsLateOceanTheme';\n\nexport const listItemLateOceanTheme = {\n padding: '12px 16px',\n borderColor: colorsLateOceanTheme.separator,\n borderWidth: '1px',\n innerMargin: '8px',\n};\n","export const shadowsLateOceanTheme = {\n medium: '0px 10px 20px rgba(41, 48, 51, 0.25)',\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colorsLateOceanTheme } from './colorsLateOceanTheme';\n\nexport const tagLateOceanTheme = {\n borderRadius: '10px',\n padding: '2px 12px',\n primary: {\n fill: {\n backgroundColor: lateOceanColorPalette.moonPurpleLight1,\n borderWidth: '0',\n borderColor: lateOceanColorPalette.transparent,\n },\n outline: {\n backgroundColor: lateOceanColorPalette.transparent,\n borderWidth: '1px',\n borderColor: lateOceanColorPalette.lateOcean,\n },\n },\n default: {\n fill: {\n backgroundColor: lateOceanColorPalette.black50,\n borderWidth: '0',\n borderColor: lateOceanColorPalette.transparent,\n },\n outline: {\n backgroundColor: lateOceanColorPalette.transparent,\n borderWidth: '1px',\n borderColor: lateOceanColorPalette.black1000,\n },\n },\n danger: {\n fill: {\n backgroundColor: lateOceanColorPalette.warmEmbrace,\n borderWidth: '0',\n borderColor: lateOceanColorPalette.transparent,\n },\n outline: {\n backgroundColor: lateOceanColorPalette.transparent,\n borderWidth: '1px',\n borderColor: colorsLateOceanTheme.danger,\n },\n },\n};\n","import { colorsLateOceanTheme } from './colorsLateOceanTheme';\n\nexport interface TooltipTheme {\n backgroundColor: string;\n borderRadius: number;\n opacity: number;\n horizontalPadding: number;\n verticalPadding: number;\n floatingPadding: number;\n}\n\nexport const tooltip: TooltipTheme = {\n backgroundColor: colorsLateOceanTheme.black,\n borderRadius: 10,\n opacity: 0.95,\n horizontalPadding: 16,\n verticalPadding: 4,\n floatingPadding: 8,\n};\n","import { Platform } from 'react-native';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nconst calcLineHeight = (fontSize: number, lineHeightMultiplier: number): number =>\n Math.round(fontSize * lineHeightMultiplier);\n\nexport interface TypographyTypeBreakpointRangeConfig {\n fontSize: string;\n lineHeight: string;\n}\n\nexport interface TypographyTypeConfig {\n baseAndSmall: TypographyTypeBreakpointRangeConfig;\n mediumAndWide: TypographyTypeBreakpointRangeConfig;\n}\n\nconst createTypographyTypeConfig = (\n lineHeightMultiplier: number,\n baseAndSmallFontSize: number,\n mediumAndWideFontSize: number,\n): TypographyTypeConfig => ({\n baseAndSmall: {\n fontSize: `${baseAndSmallFontSize}px`,\n lineHeight: `${calcLineHeight(lineHeightMultiplier, baseAndSmallFontSize)}px`,\n },\n mediumAndWide: {\n fontSize: `${mediumAndWideFontSize}px`,\n lineHeight: `${calcLineHeight(lineHeightMultiplier, baseAndSmallFontSize)}px`,\n },\n});\n\nexport const typographyLateOceanTheme = {\n colors: {\n black: lateOceanColorPalette.black1000,\n 'black-light': lateOceanColorPalette.black555,\n white: lateOceanColorPalette.white,\n 'white-light': lateOceanColorPalette.white,\n primary: lateOceanColorPalette.lateOcean,\n 'primary-light': lateOceanColorPalette.lateOceanLight1,\n accent: lateOceanColorPalette.warmEmbrace,\n success: lateOceanColorPalette.viride,\n danger: lateOceanColorPalette.englishVermillon,\n },\n types: {\n headers: {\n fontFamily: {\n regular: Platform.OS === 'web' ? 'Moderat' : 'Moderat-Extended-Bold',\n bold: Platform.OS === 'web' ? 'Moderat' : 'Moderat-Extended-Bold',\n },\n fontWeight: 400,\n fontStyle: 'normal',\n configs: {\n // also known as xxlarge\n header1: createTypographyTypeConfig(1.3, 38, 62),\n // also known as xlarge\n header2: createTypographyTypeConfig(1.3, 32, 48),\n // also known as medium\n header3: createTypographyTypeConfig(1.3, 24, 36),\n // also known as xsmall\n header4: createTypographyTypeConfig(1.3, 18, 24),\n // also known as xxsmall\n header5: createTypographyTypeConfig(1.3, 18, 18),\n },\n },\n bodies: {\n fontFamily: {\n regular: Platform.OS === 'web' ? 'Noto Sans' : 'NotoSans',\n bold: Platform.OS === 'web' ? 'Noto Sans' : 'NotoSans-Bold',\n },\n fontWeight: {\n regular: 400,\n bold: 700,\n },\n fontStyle: {\n regular: 'normal',\n bold: 'normal',\n },\n configs: {\n 'body-large': createTypographyTypeConfig(1.6, 18, 24),\n 'body-medium': createTypographyTypeConfig(1.6, 18, 18),\n body: createTypographyTypeConfig(1.6, 16, 16),\n 'body-small': createTypographyTypeConfig(1.6, 14, 14),\n 'body-xsmall': createTypographyTypeConfig(1.6, 12, 12),\n },\n },\n },\n link: {\n disabledColor: lateOceanColorPalette.black200,\n },\n};\n","import { avatarLateOceanTheme } from './late-ocean/avatarLateOceanTheme';\nimport { buttonLateOceanTheme } from './late-ocean/buttonLateOceanTheme';\nimport { cardLateOceanTheme } from './late-ocean/cardLateOceanTheme';\nimport { colorsLateOceanTheme } from './late-ocean/colorsLateOceanTheme';\nimport { feedbackMessageLateOceanTheme } from './late-ocean/feedbackMessageLateOceanTheme';\nimport { formsLateOceanTheme } from './late-ocean/formLateOceanTheme';\nimport { fullScreenModalLateOceanTheme } from './late-ocean/fullScreenModalLateOceanTheme';\nimport { iconButton } from './late-ocean/iconButton';\nimport { listItemLateOceanTheme } from './late-ocean/listItemLateOceanTheme';\nimport { shadowsLateOceanTheme } from './late-ocean/shadowsLateOceanTheme';\nimport { tagLateOceanTheme } from './late-ocean/tagLateOceanTheme';\nimport { tooltip } from './late-ocean/tooltip';\nimport { typographyLateOceanTheme } from './late-ocean/typographyLateOceanTheme';\nimport { lateOceanColorPalette } from './palettes/lateOceanColorPalette';\n\nexport const breakpoints = {\n values: {\n base: 0,\n small: 480,\n medium: 768,\n large: 1024,\n wide: 1280,\n },\n min: {\n smallBreakpoint: 'min-width: 480px',\n mediumBreakpoint: 'min-width: 768px',\n largeBreakpoint: 'min-width: 1024px',\n wideBreakpoint: 'min-width: 1280px',\n },\n max: {\n smallBreakpoint: 'max-width: 479px',\n mediumBreakpoint: 'max-width: 767px',\n largeBreakpoint: 'max-width: 1023px',\n wideBreakpoint: 'max-width: 1279px',\n },\n};\n\n// eslint-disable-next-line unicorn/expiring-todo-comments\n// TODO : seperate brand color usage definition from proper theme definition and add typings - https://ornikar.atlassian.net/browse/CME-156\nexport const theme = {\n spacing: 4,\n colors: colorsLateOceanTheme,\n palettes: { lateOcean: lateOceanColorPalette },\n avatar: avatarLateOceanTheme,\n button: buttonLateOceanTheme,\n card: cardLateOceanTheme,\n feedbackMessage: feedbackMessageLateOceanTheme,\n forms: formsLateOceanTheme,\n typography: typographyLateOceanTheme,\n tag: tagLateOceanTheme,\n shadows: shadowsLateOceanTheme,\n fullScreenModal: fullScreenModalLateOceanTheme,\n iconButton,\n listItem: listItemLateOceanTheme,\n tooltip,\n};\n\nexport type Theme = typeof theme;\n","import type { ReactElement } from 'react';\nimport { Typography } from '../typography/Typography';\n\n// This is not yet implemented\nexport function TimePicker(): ReactElement {\n return <Typography.Text base=\"body\">TimePicker is not implemented for the web</Typography.Text>;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { View } from 'react-native';\nimport styled, { useTheme } from 'styled-components/native';\nimport { Typography } from '../typography/Typography';\nimport type { TooltipPosition } from './Tooltip';\nimport Arrow from './arrow.inline.svg';\n\nconst StyledTooltipView = styled.View`\n align-items: center;\n`;\n\nconst StyledTooltipContent = styled.View`\n background-color: ${({ theme }) => theme.kitt.tooltip.backgroundColor};\n border-radius: ${({ theme }) => theme.kitt.tooltip.borderRadius}px;\n opacity: ${({ theme }) => theme.kitt.tooltip.opacity};\n padding: ${({ theme }) => `${theme.kitt.tooltip.verticalPadding}px ${theme.kitt.tooltip.horizontalPadding}px`};\n`;\n\ninterface StyledArrowProps {\n $position: TooltipPosition;\n}\n\nfunction ArrowView(props: ViewProps): ReactElement {\n const theme = useTheme();\n return (\n <View {...props}>\n <Arrow color={theme.kitt.tooltip.backgroundColor} />\n </View>\n );\n}\n\nconst StyledArrow = styled(ArrowView)<StyledArrowProps>`\n color: ${({ theme }) => theme.kitt.tooltip.backgroundColor};\n transform: ${({ $position }) => `rotate(${$position === 'bottom' ? 180 : 0}deg)`};\n`;\n\nexport interface TooltipViewProps {\n children: NonNullable<ReactNode>;\n position: TooltipPosition;\n}\n\nexport function TooltipView({ children, position }: TooltipViewProps): ReactElement {\n return (\n <StyledTooltipView>\n {position === 'bottom' ? <StyledArrow $position={position} /> : null}\n <StyledTooltipContent>\n <Typography.Text base=\"body\" color=\"white\">\n {children}\n </Typography.Text>\n </StyledTooltipContent>\n {position === 'top' ? <StyledArrow $position={position} /> : null}\n </StyledTooltipView>\n );\n}\n","import type { TooltipProps } from '..';\nimport type { TooltipPosition } from './Tooltip';\n\nexport const tooltipDefaultPosition: TooltipPosition = 'top';\nexport const tooltipDefaultFloatingStrategy: TooltipProps['floatingStrategy'] = {\n web: 'absolute',\n};\n","import { flip, getScrollParents, offset, shift, useFloating } from '@floating-ui/react-dom';\nimport type { ReactElement } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { PressableProps, ViewProps } from 'react-native';\nimport styled, { useTheme } from 'styled-components/native';\nimport type { TooltipPosition, TooltipProps } from './Tooltip';\nimport { TooltipView } from './TooltipView';\nimport { tooltipDefaultFloatingStrategy, tooltipDefaultPosition } from './tooltipUtils';\n\ninterface StyledTooltipTriggerProps extends PressableProps {\n ref: (node: Element | null) => void;\n}\n\nconst StyledTooltipTrigger = styled.Pressable<StyledTooltipTriggerProps>`\n display: inline-flex;\n align-self: baseline;\n`;\n\ninterface WebAnimatedTooltipProps extends ViewProps {\n $visible: boolean;\n ref: (node: HTMLDivElement | null) => void;\n}\n\nconst WebAnimatedTooltip = styled.View<WebAnimatedTooltipProps>`\n opacity: ${({ theme, $visible }) => ($visible ? theme.kitt.tooltip.opacity : 0)};\n transition: opacity 200ms;\n visibility: ${({ $visible }) => ($visible ? 'visible' : 'hidden')};\n`;\n\nfunction getActualPosition(\n originalPosition: TooltipPosition,\n offsetMiddlewareData?: { x: number; y: number },\n): TooltipPosition {\n if (!offsetMiddlewareData) return originalPosition;\n\n if (originalPosition === 'top') {\n return offsetMiddlewareData.y > 0 ? 'bottom' : originalPosition;\n }\n\n if (originalPosition === 'bottom') {\n return offsetMiddlewareData.y < 0 ? 'top' : originalPosition;\n }\n\n return originalPosition;\n}\n\nexport function Tooltip({\n children,\n defaultVisible,\n position = tooltipDefaultPosition,\n content,\n floatingStrategy = tooltipDefaultFloatingStrategy,\n floatingPadding,\n onUpdate,\n}: TooltipProps): ReactElement {\n const theme = useTheme();\n const padding = floatingPadding || theme.kitt.tooltip.floatingPadding;\n\n const [visible, setVisible] = useState(Boolean(defaultVisible));\n\n const { x, y, reference, floating, strategy, update, refs, middlewareData } = useFloating({\n placement: position,\n strategy: floatingStrategy?.web,\n middleware: [offset(padding), shift(), flip()],\n });\n\n // Update on scroll and resize for all relevant nodes\n useEffect(() => {\n if (!refs.reference.current || !refs.floating.current) {\n return () => undefined;\n }\n const parents = [...getScrollParents(refs.reference.current), ...getScrollParents(refs.floating.current)];\n parents.forEach((parent) => {\n parent.addEventListener('scroll', update);\n parent.addEventListener('resize', update);\n });\n\n return () => {\n parents.forEach((parent) => {\n parent.removeEventListener('scroll', update);\n parent.removeEventListener('resize', update);\n });\n };\n }, [refs.reference, refs.floating, update]);\n\n useEffect(() => {\n if (!onUpdate) return;\n onUpdate({\n x,\n y,\n reference,\n floating,\n strategy,\n update,\n refs,\n middlewareData,\n });\n }, [x, y, reference, floating, strategy, update, refs, middlewareData, onUpdate]);\n\n return (\n <>\n <StyledTooltipTrigger\n ref={reference as any}\n accessibilityRole=\"button\"\n onPress={() => setVisible((prev) => !prev)}\n onMouseEnter={() => {\n setVisible(true);\n }}\n onFocus={() => {\n setVisible(true);\n }}\n >\n {children}\n </StyledTooltipTrigger>\n\n <WebAnimatedTooltip\n ref={floating as any}\n $visible={visible}\n accessibilityHidden={!visible}\n style={{\n position: strategy as any,\n top: 0,\n left: 0,\n transform: [\n {\n // @ts-expect-error translate3d is missing in react-native definitions, only supported in web\n translate3d: `${Math.round(x ?? 0)}px, ${Math.round(y ?? 0)}px, 0`,\n },\n ],\n }}\n >\n <TooltipView position={getActualPosition(position, middlewareData.offset)}>{content}</TooltipView>\n </WebAnimatedTooltip>\n </>\n );\n}\n\nTooltip.View = TooltipView;\n","import type { ReactElement } from 'react';\nimport { Platform } from 'react-native';\nimport styled, { useTheme } from 'styled-components/native';\nimport { Emoji } from '../Emoji/Emoji';\nimport type { TypographyBreakpointTypesProps } from './Typography';\nimport {\n getTypographyTypeConfig,\n getTypographyTypeConfigKey,\n useTypographyTypeForCurrentWindowSize,\n} from './Typography';\n\nconst StyledTypographyEmoji = styled(Emoji)`\n align-self: center;\n\n ${({ size }) => {\n if (Platform.OS !== 'web') return undefined;\n\n /* Style Twemoji: https://github.com/twitter/twemoji#inline-styles */\n return `\n margin: 0 ${size / 20}px 0 ${size / 10}px;\n transform: translateY(${(size / 10) * 2}px);\n `;\n }}\n`;\n\nexport interface TypographyEmojiProps extends TypographyBreakpointTypesProps {\n emoji: string;\n}\n\nexport function TypographyEmoji({ emoji, base, small, medium, large }: TypographyEmojiProps): ReactElement {\n const theme = useTheme();\n const typeForCurrentWindowSize = useTypographyTypeForCurrentWindowSize(base, small, medium, large);\n const typeConfig = getTypographyTypeConfig(typeForCurrentWindowSize || 'body', theme);\n const typeConfigKey = getTypographyTypeConfigKey(theme);\n const { fontSize } = typeConfig[typeConfigKey];\n\n if (__DEV__) {\n if (!fontSize.endsWith('px')) throw new Error(`Unexpected font-size value: ${fontSize}`);\n }\n\n return <StyledTypographyEmoji size={parseInt(fontSize.slice(0, -2), 10)} emoji={emoji} />;\n}\n","import { styled as styledLinaria } from '@linaria/react';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { TextProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport styled from 'styled-components/native';\nimport type { Except } from 'type-fest';\nimport { StyleWebWrapper } from '../utils/StyleWebWrapper';\nimport { withTheme } from '../utils/withTheme';\nimport type { TypographyPropsWithoutRole } from './Typography';\nimport { Typography } from './Typography';\n\nconst TypographyLinkWebWrapper = withTheme(styledLinaria.span`\n & > *:hover,\n & > *:active,\n .kitt-hover & > * {\n text-decoration: none;\n }\n\n &[data-nounderline] > *:hover,\n &[data-nounderline] > *:active,\n .kitt-hover &[data-nounderline] > * {\n text-decoration: underline;\n }\n`);\n\ninterface StyledLinkProps {\n $disabled?: boolean;\n $noUnderline?: boolean;\n}\n\nconst StyledLink = styled.Text<StyledLinkProps & TextProps>`\n text-decoration: ${({ $noUnderline }) => ($noUnderline ? 'none' : 'underline')};\n\n ${({ $disabled }) => {\n if (Platform.OS !== 'web') return undefined;\n\n return `\n text-decoration-color: inherit;\n transition: color 0.2s ease-in-out;\n cursor: ${$disabled ? 'not-allowed' : 'pointer'};\n `;\n }};\n\n ${({ $disabled, theme }) => {\n if (!$disabled) return undefined;\n return `color: ${theme.kitt.typography.link.disabledColor};`;\n }};\n`;\n\nexport interface TypographyLinkProps extends Except<TypographyPropsWithoutRole, 'children'> {\n children: NonNullable<ReactNode>;\n disabled?: boolean;\n noUnderline?: boolean;\n variant: NonNullable<TypographyPropsWithoutRole['variant']>;\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress: TextProps['onPress'];\n}\n\nexport function TypographyLink({\n children,\n disabled,\n noUnderline,\n href,\n hrefAttrs,\n onPress,\n ...otherProps\n}: TypographyLinkProps): ReactElement {\n return (\n <Typography {...otherProps} accessibilityRole=\"none\">\n <StyleWebWrapper as={TypographyLinkWebWrapper} data-nounderline={noUnderline ? true : undefined}>\n <StyledLink\n $disabled={disabled}\n $noUnderline={noUnderline}\n href={href}\n hrefAttrs={hrefAttrs}\n accessibilityRole=\"link\"\n dataSet={{\n // remove data-kitt-universal when we delete kitt web. See See :global(a) in Link styles.module.css\n 'kitt-universal': 'true',\n }}\n onPress={disabled ? undefined : onPress}\n >\n {children}\n </StyledLink>\n </StyleWebWrapper>\n </Typography>\n );\n}\n","import { useWindowDimensions } from 'react-native';\n\nexport interface MatchWindowSizeOptions {\n minWidth: number;\n maxWidth?: number;\n}\nexport function matchWindowSize(currentWidth: number, { minWidth, maxWidth }: MatchWindowSizeOptions): boolean {\n return currentWidth >= minWidth && (!maxWidth || currentWidth <= maxWidth);\n}\n\nexport function useMatchWindowSize(options: MatchWindowSizeOptions): boolean {\n const { width } = useWindowDimensions();\n return matchWindowSize(width, options);\n}\n","import type { MatchWindowSizeOptions } from './useMatchWindowSize';\nimport { matchWindowSize } from './useMatchWindowSize';\n\nexport interface WindowSizeHelper {\n /** Prefer using if or map variants, at it should be more web friendly */\n matchWindowSize: (options: MatchWindowSizeOptions) => boolean;\n\n /**\n * @example\n * ```typescript\n * const Container = styled.View`\n * ${({ theme }) =>\n * theme.responsive.ifWindowSizeMatches(\n * { minWidth: KittBreakpoints.SMALL },\n * 'padding: 5px 0 10px;'\n * )\n * )};\n * `;\n * ```\n */\n ifWindowSizeMatches: <T extends string | null>(options: MatchWindowSizeOptions, valueIfTrue: T, valueIfFalse: T) => T;\n\n /**\n *\n * @example\n * ```typescript\n * const Container = styled.View`\n * ${({ theme }) =>\n * theme.responsive.mapWindowWidth(\n * [KittBreakpoints.BASE, 'padding: 5px 0 10px;'],\n * [KittBreakpoints.SMALL, 'padding: 10px 0;'],\n * )\n * )};\n * `;\n * ```\n */\n mapWindowWidth: <V extends string>(...widthList: [number, V][]) => V | null;\n}\n\nexport function createWindowSizeHelper(currentWidth: number): WindowSizeHelper {\n return {\n matchWindowSize: (options) => matchWindowSize(currentWidth, options),\n\n ifWindowSizeMatches: (options, valueIfTrue, valueIfFalse) =>\n matchWindowSize(currentWidth, options) ? valueIfTrue : valueIfFalse,\n\n mapWindowWidth: <V extends string>(...widthList: [number, V][]): V | null => {\n if (__DEV__) {\n widthList.slice(1).forEach(([minWidth], index) => {\n const previousMinWidth = widthList[index][0];\n if (previousMinWidth > minWidth) {\n throw new Error(\n `mapWindowWidth: sort your values to be mobile first. ${minWidth} is < ${previousMinWidth}, so ${minWidth} should be before ${previousMinWidth}.`,\n );\n }\n });\n }\n const found = widthList.find(([minWidth, value]) =>\n matchWindowSize(currentWidth, { minWidth: Number(minWidth) }),\n );\n if (!found) return null;\n return found[1];\n },\n };\n}\n","import { useMemo } from 'react';\nimport type { Theme } from './themes/default';\nimport { breakpoints, theme as kittTheme } from './themes/default';\nimport type { WindowSizeHelper } from './utils/windowSize/createWindowSizeHelper';\nimport { createWindowSizeHelper } from './utils/windowSize/createWindowSizeHelper';\nimport { useWindowSize } from './utils/windowSize/useWindowSize';\n\nexport interface KittTheme {\n kitt: Theme;\n responsive: WindowSizeHelper;\n breakpoints: typeof breakpoints;\n}\n\nexport function useKittTheme(): KittTheme {\n const { width } = useWindowSize();\n return useMemo(() => {\n return { kitt: kittTheme, responsive: createWindowSizeHelper(width), breakpoints };\n }, [width]);\n}\n","import { makeDecorator } from '@storybook/addons';\nimport type { ReactElement, ReactNode } from 'react';\nimport { ThemeProvider } from 'styled-components/native';\nimport type { KittTheme } from '../../useKittTheme';\nimport { useKittTheme } from '../../useKittTheme';\n\ndeclare module 'styled-components' {\n export interface DefaultTheme extends KittTheme {}\n}\n\ninterface KittThemeProviderProps {\n children: ReactNode;\n}\n\nexport function KittThemeProvider({ children }: KittThemeProviderProps): ReactElement {\n const theme = useKittTheme();\n return <ThemeProvider theme={theme}>{children}</ThemeProvider>;\n}\n\nexport const KittThemeDecorator = makeDecorator({\n name: 'ThemeDecorator',\n parameterName: 'theme',\n wrapper: (storyFn, context, { options = {}, parameters = {} }) => {\n return <KittThemeProvider>{storyFn(context) as ReactNode}</KittThemeProvider>;\n },\n});\n","import type { ReactElement, ReactNode } from 'react';\nimport type { MatchWindowSizeOptions } from './useMatchWindowSize';\nimport { useMatchWindowSize } from './useMatchWindowSize';\n\ninterface MatchWindowSizeProps extends MatchWindowSizeOptions {\n children: ReactNode;\n}\n\nexport function MatchWindowSize({ children, ...matchWindowSizeOptions }: MatchWindowSizeProps): ReactElement | null {\n const match = useMatchWindowSize(matchWindowSizeOptions);\n if (!match) return null;\n return <>{children}</>;\n}\n"],"names":["withTheme","WrappedComponent","props","theme","useTheme","_jsx","StyledSpinningIconContainer","SpinningIcon","children","IconContainer","styled","color","size","align","Icon","icon","spin","clonedIcon","cloneElement","KittBreakpoints","BASE","SMALL","MEDIUM","LARGE","WIDE","KittBreakpointsMax","IsHeaderTypographyContext","createContext","undefined","TypographyColorContext","useTypographyColor","useContext","getTypographyTypeConfigKey","isMediumOrAbove","responsive","matchWindowSize","minWidth","isTypeHeader","type","startsWith","isTypographyHeader","typographyIsHeaderInContext","Error","getTypographyTypeConfig","kitt","typography","types","headers","configs","bodies","StyledTypography","$isHeader","$typeForCurrentWindowSize","$variant","typeConfigKey","fontFamily","fontSize","lineHeight","fontWeight","fontStyle","$color","colors","useTypographyTypeForCurrentWindowSize","base","small","medium","large","width","useWindowDimensions","Typography","accessibilityRole","variant","otherProps","isHeaderTypographyInContext","typeForCurrentWindowSize","isHeader","nonNullableVariant","colorWithDefaultToBlack","content","TypographyText","TypographyParagraph","createHeading","level","defaultBase","TypographyHeading","displayName","Text","Paragraph","Header1","Header2","Header3","Header4","Header5","Header6","h1","h2","h3","h4","h5","getFirstCharacter","string","getInitials","firstname","lastname","toUpperCase","StyledAvatarView","round","light","avatar","backgroundColor","default","AvatarContent","src","Image","uri","height","UserIcon","Avatar","rest","TypographyIconInheritColor","TypographyIconSpecifiedColor","TypographyIcon","getTextColorByType","isPressed","disabled","ButtonText","Content","stretch","iconOnly","iconPosition","value","spacing","ButtonIcon","testID","ButtonContent","iconSpin","Boolean","sharedIconProps","button","iconSize","_jsxs","ButtonPressable","maxWidth","minHeight","disabledBackgroundColor","pressedBackgroundColor","contentPadding","borderRadius","disabledBorderColor","borderWidth","Button","href","hrefAttrs","onPress","setIsPressed","useState","sharedProps","Container","card","padding","borderColor","Card","StyledEmoji","Emoji","emoji","style","emojiData","useMemo","parse","assetType","text","url","defaultOpenLinkBehavior","native","web","ExternalLink","as","Component","openLinkBehavior","target","rel","getColorFromState","state","InputFeedback","FieldContainer","FeedbackContainer","ifWindowSizeMatches","FieldLabelContainer","forms","inputField","labelContainerPaddingBottom","LabelContainer","iconMarginLeft","InputField","label","labelFeedback","input","feedback","useInputText","isFocused","setIsFocused","isPasswordVisible","setIsPasswordVisible","handleInputFocus","handleInputBlur","togglePasswordVisibility","isVisible","styledTextInputMixin","css","states","body","regular","Input","TextInput","multiline","paddingSingleLineIOS","marginTop","marginBottom","PasswordButtonContainer","passwordButtonIconSize","getInputState","isDisabled","formState","keyboardTypeByTextInputType","email","password","username","autoCompleteTypeByType","autoCorrectByType","textContentTypeByType","InputText","forwardRef","id","internalForceState","onFocus","onBlur","ref","placeholderColor","selectionColor","e","EyeIcon","EyeOffIcon","passwordButtonIconColor","Label","htmlFor","OuterRadio","radio","unchecked","SelectedOuterRadio","checked","SelectedInnerRadio","innerBackgroundColor","innerSize","Radio","onChange","TextArea","textAreaMinHeight","Body","uiBackgroundLight","FullScreenModalBody","SideContainer","side","getHeaderHorizontalMediumPadding","Header","insetTop","paddingTop","fullScreenModal","header","paddingVertical","paddingHorizontal","HeaderContent","leftWidth","rightWidth","windowWidth","sideElementMaxWidth","Math","max","parentHorizontalPadding","parentHorizontalPaddingMedium","computeWidth","breakpointPadding","deltaMargin","abs","FullScreenModalHeader","right","left","top","useSafeAreaInsets","dimensions","setLeftWidth","setRightWidth","handleLayoutChange","event","persist","nativeEvent","layout","uiBackground","FullScreenModal","StyleWebWrapper","PressableIconButtonWebWrapper","iconButton","scale","hover","breakpoints","min","mediumBreakpoint","active","white","StyledPressableIconButton","transition","property","duration","timingFunction","PressableIconButton","PressableAnimatedContainer","IconButtonContentBorder","IconButtonContent","IconButton","ContentView","ListItemContent","SideContainerView","listItem","innerMargin","ListItemSideContainer","SideContentView","ListItemSideContent","ContainerView","withPadding","borders","ListItem","Wrapper","Pressable","Fragment","wrapperProps","containerProps","SideContent","LargeLoaderContainer","separator","primary","LargeLoader","Loader","LoaderIcon","xIconSize","mainIconSize","noRadius","feedbackMessage","backgroundColors","insets","CloseContainer","TouchableOpacity","centeredText","getColorByType","getIconContent","AlertCircleIcon","CheckIcon","AlertTriangleIcon","InfoIcon","Message","onDismiss","XIcon","OverlayPressable","StyleSheet","absoluteFillObject","overlay","dark","Overlay","View","BodyView","ModalBody","ScrollView","FooterView","ModalFooter","OnCloseContext","HeaderView","LeftIconView","RightIconView","TitleView","isIconLeft","ModalHeader","onClose","ModalView","palettes","lateOcean","Modal","visible","onEntered","onExited","NativeModal","Footer","Notification","onDelete","Flex","withConfig","shouldForwardProp","prop","defaultValidatorFn","includes","direction","storyPadding","getBackgroundColorFromBlockColor","getTypographyColorFromBlockColor","StoryBlockBackgroundContext","StoryBlockColorContext","useStoryBlockColor","storyBlockColor","StyledStoryBlockView","background","StoryBlock","StoryTitleContainer","StorySubTitleContainer","StoryTitle","numberOfLines","StoryTitleLevel2","StoryTitleLevel3","StoryTitleLevel4","Level2","Level3","Level4","StoryContainer","Story","title","contentContainerStyle","StyledSection","StorySection","internalIsDemoSection","StyledSubSection","SubSection","StyledBlockSection","BlockSection","StyledDemoSection","DemoSection","Demo","DeprecatedSection","platform","StoryDecorator","storyFn","context","name","SmallScreenRow","SmallScreenCol","FlexRow","FlexCol","StoryGridRow","breakpoint","breakpointValue","Children","map","child","StoryGridCol","titleColor","StoryGrid","Row","Col","tag","getLabelColor","Tag","lateOceanColorPalette","lateOceanLight1","lateOceanLight2","lateOceanLight3","warmEmbrace","warmEmbraceLight1","black1000","black555","black200","black100","black50","black25","viride","englishVermillon","goldCrayola","aero","transparent","moonPurple","moonPurpleLight1","avatarLateOceanTheme","buttonLateOceanTheme","secondary","subtle","hoverBackgroundColor","focusBorderColor","cardLateOceanTheme","colorsLateOceanTheme","primaryLight","accent","accentLight","success","correct","danger","black","fullscreenLoader","feedbackMessageLateOceanTheme","warning","info","inputFieldLateOceanTheme","inputStatesStyle","focus","invalid","inputLateOceanTheme","radioLateOceanTheme","formsLateOceanTheme","fullScreenModalLateOceanTheme","listItemLateOceanTheme","shadowsLateOceanTheme","tagLateOceanTheme","fill","outline","tooltip","opacity","horizontalPadding","verticalPadding","floatingPadding","calcLineHeight","lineHeightMultiplier","createTypographyTypeConfig","baseAndSmallFontSize","mediumAndWideFontSize","baseAndSmall","mediumAndWide","typographyLateOceanTheme","bold","header1","header2","header3","header4","header5","link","disabledColor","values","wide","smallBreakpoint","largeBreakpoint","wideBreakpoint","shadows","TimePicker","Arrow","StyledTooltipView","StyledTooltipContent","ArrowView","StyledArrow","$position","TooltipView","position","tooltipDefaultPosition","tooltipDefaultFloatingStrategy","StyledTooltipTrigger","WebAnimatedTooltip","$visible","getActualPosition","originalPosition","offsetMiddlewareData","y","Tooltip","defaultVisible","floatingStrategy","onUpdate","setVisible","x","reference","floating","strategy","update","refs","middlewareData","useFloating","placement","middleware","offset","shift","flip","useEffect","current","parents","getScrollParents","forEach","parent","addEventListener","removeEventListener","prev","transform","translate3d","StyledTypographyEmoji","TypographyEmoji","typeConfig","endsWith","parseInt","slice","TypographyLinkWebWrapper","StyledLink","$noUnderline","$disabled","TypographyLink","noUnderline","currentWidth","useMatchWindowSize","options","createWindowSizeHelper","valueIfTrue","valueIfFalse","mapWindowWidth","widthList","index","previousMinWidth","found","find","Number","useKittTheme","useWindowSize","kittTheme","KittThemeProvider","ThemeProvider","KittThemeDecorator","makeDecorator","parameterName","wrapper","parameters","MatchWindowSize","matchWindowSizeOptions","match"],"mappings":";;;;;;;;;;;;;;;;;;;AAKA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEO,SAASA,SAAT;AAELC,gBAFK,EAGuC;AAC5C,SAAO,UAAyBC,KAAzB,EAAgC;AACrC,UAAMC,KAAK,gBAAGC,eAAQ,EAAtB;AAEA,wBAAQC,eAAC,gBAAD;AAAkB,MAAA,KAAK,EAAEF,KAAzB;AAAA,SAAqCD;AAArC,MAAR;AACD,GAJD;AAKD;;ACtBD,MAAMI,2BAA2B,GAAGN,SAAS;;;EAAA,CAA7C;AAoBO,SAASO,YAAT,CAAsB;AAAEC,EAAAA;AAAF,CAAtB,EAAqE;sBACnEH,eAAC,2BAAD;AAAA,cAA8BG;AAA9B;;;ACLT,MAAMC,eAAa,gBAAGC,eAAH,4CAAA;AAAA;AAAA;AAAA,+DACR,CAAC;AAAEC,EAAAA;AAAF,CAAD,KAAeA,KADP,EAER,CAAC;AAAEC,EAAAA;AAAF,CAAD,KAAcA,IAFN,EAGP,CAAC;AAAEA,EAAAA;AAAF,CAAD,KAAcA,IAHP,EAIH,CAAC;AAAEC,EAAAA,KAAK,GAAG;AAAV,CAAD,KAAwBA,KAJrB,CAAnB;AAOO,SAASC,IAAT,CAAc;AAAEC,EAAAA,IAAF;AAAQH,EAAAA,IAAI,GAAG,EAAf;AAAmBI,EAAAA,IAAnB;AAAyBH,EAAAA,KAAzB;AAAgCF,EAAAA;AAAhC,CAAd,EAAgF;AACrF,QAAMM,UAAU,gBAAGC,oBAAY,CAACH,IAAD,EAAO;AAAEJ,IAAAA;AAAF,GAAP,CAA/B;AAEA,sBACEN,eAACI,eAAD;AAAe,IAAA,KAAK,EAAEI,KAAtB;AAA6B,IAAA,IAAI,EAAED,IAAnC;AAAyC,IAAA,KAAK,EAAED,KAAhD;AAAA,cACGK,IAAI,gBAAGX,eAAC,YAAD;AAAA,gBAAeY;AAAf,MAAH,GAA+CA;AADtD,IADF;AAKD;;MCpCYE,eAAe,GAAG;AAC7B;AACF;AACA;AACEC,EAAAA,IAAI,EAAE,CAJuB;;AAK7B;AACF;AACA;AACEC,EAAAA,KAAK,EAAE,GARsB;;AAS7B;AACF;AACA;AACEC,EAAAA,MAAM,EAAE,GAZqB;;AAa7B;AACF;AACA;AACEC,EAAAA,KAAK,EAAE,IAhBsB;;AAiB7B;AACF;AACA;AACEC,EAAAA,IAAI,EAAE;AApBuB;MAuBlBC,kBAAkB,GAAG;AAChC;AACF;AACA;AACEL,EAAAA,IAAI,EAAED,eAAe,CAACE,KAAhB,GAAwB,CAJE;;AAKhC;AACF;AACA;AACEA,EAAAA,KAAK,EAAEF,eAAe,CAACG,MAAhB,GAAyB,CARA;;AAShC;AACF;AACA;AACEA,EAAAA,MAAM,EAAEH,eAAe,CAACI,KAAhB,GAAwB,CAZA;;AAahC;AACF;AACA;AACEA,EAAAA,KAAK,EAAEJ,eAAe,CAACK,IAAhB,GAAuB;AAhBE;;ACGlC,MAAME,yBAAyB,gBAAGC,qBAAa,CAAsBC,SAAtB,CAA/C;AACA,MAAMC,sBAAsB,gBAAGF,qBAAa,CAAkB,OAAlB,CAA5C;AAEO,SAASG,kBAAT,GAA+C;AACpD,SAAOC,kBAAU,CAACF,sBAAD,CAAjB;AACD;AAEM,MAAMG,0BAA0B,GAAI7B,KAAD,IAAkD;AAC1F,QAAM8B,eAAe,GAAG9B,KAAK,CAAC+B,UAAN,CAAiBC,eAAjB,CAAiC;AAAEC,IAAAA,QAAQ,EAAEjB,eAAe,CAACG;AAA5B,GAAjC,CAAxB;AACA,SAAOW,eAAe,GAAG,eAAH,GAAqB,cAA3C;AACD,CAHM;;AAKP,MAAMI,YAAY,GAAIC,IAAD,IAAwDA,IAAI,CAACC,UAAL,CAAgB,QAAhB,CAA7E;;AACO,MAAMC,kBAAkB,GAAG,CAChCF,IADgC,EAEhCG,2BAFgC,KAGC;AACjC,MAAIH,IAAJ,EAAU,OAAOD,YAAY,CAACC,IAAD,CAAnB;AACV,MAAIG,2BAA2B,IAAI,IAAnC,EAAyC,OAAOA,2BAAP;AACzC,QAAM,IAAIC,KAAJ,CAAU,sEAAV,CAAN;AACD,CAPM;AASA,SAASC,uBAAT,CAAiCL,IAAjC,EAAuDnC,KAAvD,EAAkG;AACvG,MAAIqC,kBAAkB,CAACF,IAAD,EAAOV,SAAP,CAAtB,EAAyC;AACvC,WAAOzB,KAAK,CAACyC,IAAN,CAAWC,UAAX,CAAsBC,KAAtB,CAA4BC,OAA5B,CAAoCC,OAApC,CAA4CV,IAA5C,CAAP;AACD;;AAED,SAAOnC,KAAK,CAACyC,IAAN,CAAWC,UAAX,CAAsBC,KAAtB,CAA4BG,MAA5B,CAAmCD,OAAnC,CAA2CV,IAA3C,CAAP;AACD;AAUD,MAAMY,gBAAgB,gBAAGxC,eAAH,4CAAA;AAAA;AAAA;AAAA,kBAElB,CAAC;AAAEP,EAAAA,KAAF;AAASgD,EAAAA,SAAT;AAAoBC,EAAAA,yBAApB;AAA+CC,EAAAA;AAA/C,CAAD,KAA+D;AAC/D,QAAM;AAAEN,IAAAA,OAAF;AAAWE,IAAAA;AAAX,MAAsB9C,KAAK,CAACyC,IAAN,CAAWC,UAAX,CAAsBC,KAAlD;AACA,QAAMQ,aAAa,GAAGtB,0BAA0B,CAAC7B,KAAD,CAAhD;AAEA,SAAQ;AACZ;AACA,QACQ,CAACiD,yBAAD,GACI,EADJ,GAEK;AACb,iBAAiBD,SAAS,GAAGJ,OAAO,CAACQ,UAAR,CAAmBF,QAAnB,CAAH,GAAkCJ,MAAM,CAACM,UAAP,CAAkBF,QAAlB,CAA4B;AACxF,eACIF,SAAS,GACLJ,OAAO,CAACC,OAAR,CAAgBI,yBAAhB,EAAmEE,aAAnE,EAAkFE,QAD7E,GAELP,MAAM,CAACD,OAAP,CAAeI,yBAAf,EAAgEE,aAAhE,EAA+EE,QACpF;AACH,iBACIL,SAAS,GACLJ,OAAO,CAACC,OAAR,CAAgBI,yBAAhB,EAAmEE,aAAnE,EAAkFG,UAD7E,GAELR,MAAM,CAACD,OAAP,CAAeI,yBAAf,EAAgEE,aAAhE,EAA+EG,UACpF;AACH,KACO;AACP;AACA;AACA,mBAAmBN,SAAS,GAAGJ,OAAO,CAACW,UAAX,GAAwBT,MAAM,CAACS,UAAP,CAAkBL,QAAlB,CAA4B;AAChF,kBAAkBF,SAAS,GAAGJ,OAAO,CAACY,SAAX,GAAuBV,MAAM,CAACU,SAAP,CAAiBN,QAAjB,CAA2B;AAC7E,GAvBI;AAwBD,CA9BmB,EAiClB,CAAC;AAAElD,EAAAA,KAAF;AAASyD,EAAAA;AAAT,CAAD,KACA,CAACA,MAAD,GACI,EADJ,GAEK;AACT,WAAWzD,KAAK,CAACyC,IAAN,CAAWC,UAAX,CAAsBgB,MAAtB,CAA6BD,MAA7B,CAAqC;AAChD,2BAA2BzD,KAAK,CAACyC,IAAN,CAAWC,UAAX,CAAsBgB,MAAtB,CAA6BD,MAA7B,CAAqC;AAChE,GAvCsB,CAAtB;AAgEO,SAASE,qCAAT,CACLC,IADK,EAELC,KAFK,EAGLC,MAHK,EAILC,KAJK,EAKuB;AAC5B,QAAM;AAAEC,IAAAA;AAAF,MAAYC,0DAAmB,EAArC;AACA,MAAIF,KAAK,IAAIC,KAAK,IAAIhD,eAAe,CAACI,KAAtC,EAA6C,OAAO2C,KAAP;AAC7C,MAAID,MAAM,IAAIE,KAAK,IAAIhD,eAAe,CAACG,MAAvC,EAA+C,OAAO2C,MAAP;AAC/C,MAAID,KAAK,IAAIG,KAAK,IAAIhD,eAAe,CAACE,KAAtC,EAA6C,OAAO2C,KAAP;AAC7C,SAAOD,IAAP;AACD;AAEM,SAASM,UAAT,CAAoB;AACzBC,EAAAA,iBADyB;AAEzBP,EAAAA,IAFyB;AAGzBC,EAAAA,KAHyB;AAIzBC,EAAAA,MAJyB;AAKzBC,EAAAA,KALyB;AAMzBK,EAAAA,OANyB;AAOzB5D,EAAAA,KAPyB;AAQzB,KAAG6D;AARsB,CAApB,EASkC;AACvC,QAAMC,2BAA2B,GAAG1C,kBAAU,CAACL,yBAAD,CAA9C;AACA,QAAMgD,wBAAwB,GAAGZ,qCAAqC,CAACC,IAAD,EAAOC,KAAP,EAAcC,MAAd,EAAsBC,KAAtB,CAAtE;AACA,QAAMS,QAAQ,GAAGnC,kBAAkB,CAACkC,wBAAD,EAA2BD,2BAA3B,CAAnC;AACA,QAAMG,kBAAqC,GAAGL,OAAO,KAAKI,QAAQ,GAAG,MAAH,GAAY,SAAzB,CAArD,CAJuC;AAMvC;;AACA,QAAME,uBAAoD,GACxDlE,KAAK,KAAK8D,2BAA2B,KAAK7C,SAAhC,GAA4CA,SAA5C,GAAwD,OAA7D,CADP;AAGA,QAAMkD,OAAO,GAAGf,IAAI,gBAClB1D,eAAC,yBAAD,CAA2B,QAA3B;AAAoC,IAAA,KAAK,EAAEsE,QAA3C;AAAA,2BACEtE,eAAC,gBAAD;AACE,MAAA,MAAM,EAAEwE,uBADV;AAEE,MAAA,SAAS,EAAEF,QAFb;AAGE,MAAA,yBAAyB,EAAED,wBAH7B;AAIE,MAAA,QAAQ,EAAEE,kBAJZ;AAKE,MAAA,iBAAiB,EAAGN,iBAAD,IAAyD1C,SAL9E;AAAA,SAMM4C;AANN;AADF,IADkB,gBAYlBnE,eAAC,gBAAD;AACE,IAAA,MAAM,EAAEwE,uBADV;AAEE,IAAA,SAAS,EAAEF,QAFb;AAGE,IAAA,QAAQ,EAAEC,kBAHZ;AAIE,IAAA,iBAAiB,EAAGN,iBAAD,IAAyD1C,SAJ9E;AAAA,OAKM4C;AALN,IAZF;AAqBA,SAAO7D,KAAK,gBAAGN,eAAC,sBAAD,CAAwB,QAAxB;AAAiC,IAAA,KAAK,EAAEM,KAAxC;AAAA,cAAgDmE;AAAhD,IAAH,GAAgGA,OAA5G;AACD;;AAGD,SAASC,cAAT,CAAwB7E,KAAxB,EAAkE;AAChE,sBAAOG,eAAC,UAAD;AAAY,IAAA,iBAAiB,EAAE,IAA/B;AAAA,OAAyCH;AAAzC,IAAP;AACD;;AAED,SAAS8E,mBAAT,CAA6B9E,KAA7B,EAAuE;AACrE,sBAAOG,eAAC,UAAD;AAAY,IAAA,iBAAiB,EAAC,WAA9B;AAAA,OAA8CH;AAA9C,IAAP;AACD;;AAID,MAAM+E,aAAa,GAAG,CACpBC,KADoB,EAGpBC,WAHoB,KAIW;AAC/B;AACA,WAASC,iBAAT,CAA2BlF,KAA3B,EAAwE;AACtE,wBAAOG,eAAC,UAAD;AAAY,MAAA,iBAAiB,EAAC,QAA9B;AAAuC,MAAA,IAAI,EAAE8E,WAA7C;AAAA,SAA8DjF,KAA9D;AAAqE,MAAA,kBAAkB,EAAEgF;AAAzF,MAAP;AACD;;AACDE,EAAAA,iBAAiB,CAACC,WAAlB,GAAiC,oBAAmBH,KAAM,EAA1D;AACA,SAAOE,iBAAP;AACD,CAXD;;AAaAf,UAAU,CAACiB,IAAX,GAAkBP,cAAlB;AACAV,UAAU,CAACkB,SAAX,GAAuBP,mBAAvB;AACAX,UAAU,CAACmB,OAAX,GAAqBP,aAAa,CAAC,CAAD,CAAlC;AACAZ,UAAU,CAACoB,OAAX,GAAqBR,aAAa,CAAC,CAAD,CAAlC;AACAZ,UAAU,CAACqB,OAAX,GAAqBT,aAAa,CAAC,CAAD,CAAlC;AACAZ,UAAU,CAACsB,OAAX,GAAqBV,aAAa,CAAC,CAAD,CAAlC;AACAZ,UAAU,CAACuB,OAAX,GAAqBX,aAAa,CAAC,CAAD,CAAlC;AACAZ,UAAU,CAACwB,OAAX,GAAqBZ,aAAa,CAAC,CAAD,CAAlC;AAEA;;AACAZ,UAAU,CAACyB,EAAX,GAAgBb,aAAa,CAAC,CAAD,EAAI,SAAJ,CAA7B;AACA;;AACAZ,UAAU,CAAC0B,EAAX,GAAgBd,aAAa,CAAC,CAAD,EAAI,SAAJ,CAA7B;AACA;;AACAZ,UAAU,CAAC2B,EAAX,GAAgBf,aAAa,CAAC,CAAD,EAAI,SAAJ,CAA7B;AACA;;AACAZ,UAAU,CAAC4B,EAAX,GAAgBhB,aAAa,CAAC,CAAD,EAAI,SAAJ,CAA7B;AACA;;AACAZ,UAAU,CAAC6B,EAAX,GAAgBjB,aAAa,CAAC,CAAD,EAAI,SAAJ,CAA7B;;AC3NA,MAAMkB,iBAAiB,GAAIC,MAAD,IAA6BA,MAAM,GAAGA,MAAM,CAAC,CAAD,CAAT,GAAe,EAA5E;;AAEA,MAAMC,WAAW,GAAG,CAACC,SAAD,EAAoBC,QAApB,KAClB,CAACJ,iBAAiB,CAACG,SAAD,CAAjB,GAA+BH,iBAAiB,CAACI,QAAD,CAAjD,EAA6DC,WAA7D,EADF;;AAgBA,MAAMC,gBAAgB,gBAAG/F,eAAH,4CAAA;AAAA;AAAA;AAAA,yIACH,CAAC;AAAEgG,EAAAA,KAAF;AAAS9F,EAAAA;AAAT,CAAD,KAAsB8F,KAAK,GAAG9F,IAAI,GAAG,CAAV,GAAc,EADtC,EAEA,CAAC;AAAET,EAAAA,KAAF;AAASwG,EAAAA;AAAT,CAAD,KAClBA,KAAK,GAAGxG,KAAK,CAACyC,IAAN,CAAWgE,MAAX,CAAkBD,KAAlB,CAAwBE,eAA3B,GAA6C1G,KAAK,CAACyC,IAAN,CAAWgE,MAAX,CAAkBE,OAAlB,CAA0BD,eAH1D,EAIV,CAAC;AAAEjG,EAAAA;AAAF,CAAD,KAAcA,IAJJ,EAKX,CAAC;AAAEA,EAAAA;AAAF,CAAD,KAAcA,IALH,CAAtB;;AAWA,SAASmG,aAAT,CAAuB;AAAEnG,EAAAA,IAAI,GAAG,EAAT;AAAaoG,EAAAA,GAAb;AAAkBV,EAAAA,SAAlB;AAA6BC,EAAAA,QAA7B;AAAuCI,EAAAA;AAAvC,CAAvB,EAAkG;AAChG,MAAIK,GAAJ,EAAS;AACP,wBAAO3G,eAAC4G,4CAAD;AAAO,MAAA,MAAM,EAAE;AAAEC,QAAAA,GAAG,EAAEF;AAAP,OAAf;AAA6B,MAAA,KAAK,EAAE;AAAE7C,QAAAA,KAAK,EAAEvD,IAAT;AAAeuG,QAAAA,MAAM,EAAEvG;AAAvB;AAApC,MAAP;AACD;;AAED,MAAI0F,SAAS,IAAIC,QAAjB,EAA2B;AACzB,wBACElG,eAAC,UAAD,CAAY,IAAZ;AAAiB,MAAA,IAAI,EAAC,YAAtB;AAAmC,MAAA,OAAO,EAAC,MAA3C;AAAkD,MAAA,KAAK,EAAEsG,KAAK,GAAG,OAAH,GAAa,OAA3E;AAAA,gBACGN,WAAW,CAACC,SAAD,EAAYC,QAAZ;AADd,MADF;AAKD;;AAED,sBAAOlG,eAAC,IAAD;AAAM,IAAA,IAAI,eAAEA,eAAC+G,kBAAD,KAAZ;AAA0B,IAAA,KAAK,EAAET,KAAK,GAAG,OAAH,GAAa,OAAnD;AAA4D,IAAA,IAAI,EAAE/F,IAAI,GAAG;AAAzE,IAAP;AACD;;AAEM,SAASyG,MAAT,CAAgB;AAAEzG,EAAAA,IAAI,GAAG,EAAT;AAAa,KAAG0G;AAAhB,CAAhB,EAAmE;AACxE,sBACEjH,eAAC,gBAAD,OAAsBiH,IAAtB;AAA4B,IAAA,IAAI,EAAE1G,IAAlC;AAAA,2BACEP,eAAC,aAAD,OAAmBiH,IAAnB;AAAyB,MAAA,IAAI,EAAE1G;AAA/B;AADF,IADF;AAKD;;AC7CD,SAAS2G,0BAAT,CAAoCrH,KAApC,EAA8E;AAC5E,QAAMS,KAAK,GAAGmB,kBAAkB,EAAhC;AACA,QAAM3B,KAAK,gBAAGC,eAAQ,EAAtB;AACA,sBAAOC,eAAC,IAAD,OAAUH,KAAV;AAAiB,IAAA,KAAK,EAAEC,KAAK,CAACyC,IAAN,CAAWC,UAAX,CAAsBgB,MAAtB,CAA6BlD,KAA7B;AAAxB,IAAP;AACD;;AAED,SAAS6G,4BAAT,CAAsC;AACpC7G,EAAAA,KADoC;AAEpC,KAAG6D;AAFiC,CAAtC,EAG+D;AAC7D,QAAMrE,KAAK,gBAAGC,eAAQ,EAAtB;AACA,sBAAOC,eAAC,IAAD,OAAUmE,UAAV;AAAsB,IAAA,KAAK,EAAErE,KAAK,CAACyC,IAAN,CAAWC,UAAX,CAAsBgB,MAAtB,CAA6BlD,KAA7B;AAA7B,IAAP;AACD;;AAEM,SAAS8G,cAAT,CAAwB;AAAE9G,EAAAA,KAAF;AAAS,KAAG6D;AAAZ,CAAxB,EAAqF;AAC1F,MAAI7D,KAAJ,EAAW;AACT,wBAAON,eAAC,4BAAD;AAA8B,MAAA,KAAK,EAAEM,KAArC;AAAA,SAAgD6D;AAAhD,MAAP;AACD;;AAED,sBAAOnE,eAAC,0BAAD,OAAgCmE;AAAhC,IAAP;AACD;;ACzBD,MAAMkD,kBAAkB,GAAG,CAACpF,IAAD,EAAmBqF,SAAnB,EAAuCC,QAAvC,KAA8E;AACvG,MAAIA,QAAJ,EAAc,OAAO,aAAP;;AACd,UAAQtF,IAAR;AACE,SAAK,SAAL;AACE,aAAO,OAAP;;AACF,SAAK,QAAL;AACE,aAAOqF,SAAS,GAAG,eAAH,GAAqB,SAArC;;AACF,SAAK,aAAL;AACE,aAAOA,SAAS,GAAG,aAAH,GAAmB,OAAnC;;AACF,SAAK,WAAL;AACA;AACE,aAAO,OAAP;AATJ;AAWD,CAbD;;AAeA,MAAME,UAAU,gBAAGnH,eAAM,CAAC2D,UAAU,CAACiB,IAAZ,CAAT;AAAA;AAAA;AAAA,0BAAhB;AAUA,MAAMwC,SAAO,gBAAGpH,eAAH,4CAAA;AAAA;AAAA;AAAA,gFASH,CAAC;AAAEqH,EAAAA,OAAF;AAAWC,EAAAA;AAAX,CAAD,KAA4B,GAAED,OAAO,IAAIC,QAAX,GAAsB,CAAtB,GAA0B,CAAE,SATvD,CAAb;AAgBA,MAAMvH,eAAa,gBAAGC,eAAH,4CAAA;AAAA;AAAA;AAAA,aACf,CAAC;AAAEP,EAAAA,KAAF;AAAS8H,EAAAA;AAAT,CAAD,KAA6B;AAC7B,QAAMC,KAAK,GAAG/H,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,CAAnC;;AAEA,MAAIF,YAAY,KAAK,MAArB,EAA6B;AAC3B,WAAQ,aAAYC,KAAM,SAA1B;AACD;;AAED,SAAQ,iBAAgBA,KAAM,KAA9B;AACD,CATgB,CAAnB;;AAqBA,SAASE,UAAT,CAAoB;AAAErH,EAAAA,IAAF;AAAQC,EAAAA,IAAR;AAAcL,EAAAA,KAAd;AAAqBC,EAAAA,IAArB;AAA2BqH,EAAAA,YAA3B;AAAyCI,EAAAA;AAAzC,CAApB,EAA6G;AAC3G,sBACEhI,eAACI,eAAD;AAAe,IAAA,YAAY,EAAEwH,YAA7B;AAAA,2BACE5H,eAAC,cAAD;AAAgB,MAAA,IAAI,EAAEU,IAAtB;AAA4B,MAAA,IAAI,EAAEC,IAAlC;AAAwC,MAAA,KAAK,EAAEL,KAA/C;AAAsD,MAAA,IAAI,EAAEC,IAA5D;AAAkE,MAAA,MAAM,EAAEyH;AAA1E;AADF,IADF;AAKD;;AAOM,SAASC,aAAT,CAAuB;AAC5BhG,EAAAA,IAD4B;AAE5BqF,EAAAA,SAF4B;AAG5BI,EAAAA,OAH4B;AAI5BhH,EAAAA,IAJ4B;AAK5BkH,EAAAA,YAL4B;AAM5BM,EAAAA,QAN4B;AAO5BX,EAAAA,QAP4B;AAQ5BpH,EAAAA;AAR4B,CAAvB,EASqC;AAC1C,QAAMG,KAAK,GAAG+G,kBAAkB,CAACpF,IAAD,EAAOkG,OAAO,CAACb,SAAD,CAAd,EAA2Ba,OAAO,CAACZ,QAAD,CAAlC,CAAhC;AACA,QAAMzH,KAAK,gBAAGC,eAAQ,EAAtB;AAEA,QAAMqI,eAAe,GAAG;AACtBzH,IAAAA,IAAI,EAAEuH,QADgB;AAEtB5H,IAAAA,KAFsB;AAGtBC,IAAAA,IAAI,EAAET,KAAK,CAACyC,IAAN,CAAW8F,MAAX,CAAkBC;AAHF,GAAxB;;AAMA,+CAAa;AACX,QAAI,EAAEnI,QAAQ,IAAIO,IAAd,CAAJ,EAAyB;AACvB,YAAM,IAAI2B,KAAJ,CAAU,gEAAV,CAAN;AACD;AACF;;AAED,MAAI,CAAClC,QAAL,EAAe;AACb,wBACEH,eAACyH,SAAD;AAAS,MAAA,QAAQ,MAAjB;AAAkB,MAAA,OAAO,EAAEC,OAA3B;AAAA,6BAEE1H,eAAC,cAAD,OAAoBoI,eAApB;AAAqC,QAAA,IAAI,EAAE1H;AAA3C;AAFF,MADF;AAMD;;AAED,sBACE6H,gBAACd,SAAD;AAAS,IAAA,OAAO,EAAEC,OAAlB;AAAA,eACGhH,IAAI,IAAIkH,YAAY,KAAK,MAAzB,gBACC5H,eAAC,UAAD,OAAgBoI,eAAhB;AAAiC,MAAA,IAAI,EAAE1H,IAAvC;AAA6C,MAAA,YAAY,EAAEkH,YAA3D;AAAyE,MAAA,MAAM,EAAC;AAAhF,MADD,GAEG,IAHN,eAKE5H,eAAC,UAAD;AAAY,MAAA,IAAI,EAAC,MAAjB;AAAwB,MAAA,KAAK,EAAEM,KAA/B;AAAsC,MAAA,OAAO,EAAC,MAA9C;AAAA,gBACGH;AADH,MALF,EASGO,IAAI,IAAIkH,YAAY,KAAK,OAAzB,gBACC5H,eAAC,UAAD,OAAgBoI,eAAhB;AAAiC,MAAA,IAAI,EAAE1H,IAAvC;AAA6C,MAAA,YAAY,EAAEkH;AAA3D,MADD,GAEG,IAXN;AAAA,IADF;AAeD;;ACzHM,MAAMY,eAAe,gBAAGnI,eAAH,iDAAA;AAAA;AAAA;AAAA,qMACb,CAAC;AAAEP,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAW8F,MAAX,CAAkBtG,QADpB,EAEb,CAAC;AAAEjC,EAAAA,KAAF;AAAS4H,EAAAA;AAAT,CAAD,KAAyBA,OAAO,GAAG,MAAH,GAAY5H,KAAK,CAACyC,IAAN,CAAW8F,MAAX,CAAkBI,QAFjD,EAGjB,CAAC;AAAEf,EAAAA;AAAF,CAAD,KAAkBA,OAAO,GAAG,MAAH,GAAY,MAHpB,EAIZ,CAAC;AAAE5H,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAW8F,MAAX,CAAkBK,SAJrB,EAKN,CAAC;AAAE5I,EAAAA,KAAF;AAASwH,EAAAA,SAAT;AAAoBC,EAAAA,QAApB;AAA8BtF,EAAAA;AAA9B,CAAD,KAA0C;AAC5D,MAAIsF,QAAJ,EAAc;AACZ,WAAOzH,KAAK,CAACyC,IAAN,CAAW8F,MAAX,CAAkBpG,IAAlB,EAAwB0G,uBAA/B;AACD;;AAED,SAAOrB,SAAS,GAAGxH,KAAK,CAACyC,IAAN,CAAW8F,MAAX,CAAkBpG,IAAlB,EAAwB2G,sBAA3B,GAAoD9I,KAAK,CAACyC,IAAN,CAAW8F,MAAX,CAAkBpG,IAAlB,EAAwBuE,eAA5F;AACD,CAXyB,EAYf,CAAC;AAAE1G,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAW8F,MAAX,CAAkBQ,cAAlB,CAAiCpC,OAZjC,EAiBT,CAAC;AAAE3G,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAW8F,MAAX,CAAkBS,YAjBxB,EAkBV,CAAC;AAAEhJ,EAAAA,KAAF;AAASyH,EAAAA,QAAT;AAAmBtF,EAAAA;AAAnB,CAAD,KACdsF,QAAQ,GAAGzH,KAAK,CAACyC,IAAN,CAAW8F,MAAX,CAAkBpG,IAAlB,EAAwB8G,mBAA3B,GAAiD,aAnBjC,EAoBV,CAAC;AAAEjJ,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAW8F,MAAX,CAAkBW,WApBvB,CAArB;;ACaA,SAASC,MAAT,CAAgB;AACrB9I,EAAAA,QADqB;AAErB8B,EAAAA,IAAI,GAAG,WAFc;AAGrBvB,EAAAA,IAHqB;AAIrBkH,EAAAA,YAAY,GAAG,MAJM;AAKrBM,EAAAA,QALqB;AAMrBR,EAAAA,OANqB;AAOrBH,EAAAA,QAPqB;AAQrBS,EAAAA,MARqB;AASrBkB,EAAAA,IATqB;AAUrBC,EAAAA,SAVqB;AAWrBC,EAAAA;AAXqB,CAAhB,EAYuB;AAC5B,QAAM,CAAC9B,SAAD,EAAY+B,YAAZ,IAA4BC,gBAAQ,CAAU,KAAV,CAA1C;AAKA,QAAMC,WAAW,GAAG;AAClBtH,IAAAA,IADkB;AAElByF,IAAAA,OAFkB;AAGlBH,IAAAA;AAHkB,GAApB;AAMA,sBACEvH,eAAC,eAAD;AAEE;AACA;AAHF,SAIMuJ,WAJN;AAKE,IAAA,SAAS,EAAEjC,SALb;AAME,IAAA,iBAAiB,EAAC,QANpB;AAOE,IAAA,MAAM,EAAEU,MAPV;AAQE,IAAA,IAAI,EAAEkB,IARR;AASE,IAAA,SAAS,EAAEC,SATb;AAUE,IAAA,OAAO,EAAEC,OAVX;AAWE,IAAA,SAAS,EArBe,MAAYC,YAAY,CAAC,IAAD,CAUlD;AAYE,IAAA,UAAU,EArBe,MAAYA,YAAY,CAAC,KAAD,CASnD;AAAA,2BAcErJ,eAAC,aAAD,OAAmBuJ,WAAnB;AAAgC,MAAA,IAAI,EAAE7I,IAAtC;AAA4C,MAAA,YAAY,EAAEkH,YAA1D;AAAwE,MAAA,QAAQ,EAAEM,QAAlF;AAAA,gBACG/H;AADH;AAdF,IADF;AAoBD;;ACvDD,MAAMqJ,WAAS,gBAAGnJ,eAAH,4CAAA;AAAA;AAAA;AAAA,mGACO,CAAC;AAAEP,EAAAA,KAAF;AAASmC,EAAAA;AAAT,CAAD,KAAqBnC,KAAK,CAACyC,IAAN,CAAWkH,IAAX,CAAgBxH,IAAhB,EAAsBuE,eADlD,EAEF,CAAC;AAAE1G,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWkH,IAAX,CAAgBC,OAF7B,EAGI,CAAC;AAAE5J,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWkH,IAAX,CAAgBX,YAHnC,EAIG,CAAC;AAAEhJ,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWkH,IAAX,CAAgBT,WAJlC,EAKG,CAAC;AAAElJ,EAAAA,KAAF;AAASmC,EAAAA;AAAT,CAAD,KAAqBnC,KAAK,CAACyC,IAAN,CAAWkH,IAAX,CAAgBxH,IAAhB,EAAsB0H,WAL9C,CAAf;AAQO,SAASC,IAAT,CAAc;AAAEzJ,EAAAA,QAAF;AAAY8B,EAAAA;AAAZ,CAAd,EAA2D;AAChE,sBAAOjC,eAACwJ,WAAD;AAAW,IAAA,IAAI,EAAEvH,IAAjB;AAAA,cAAwB9B;AAAxB,IAAP;AACD;;ACZD,MAAM0J,WAAW,gBAAGxJ,eAAH,6CAAA;AAAA;AAAA;AAAA,oCACN,CAAC;AAAEE,EAAAA;AAAF,CAAD,KAAcA,IADR,EAEL,CAAC;AAAEA,EAAAA;AAAF,CAAD,KAAcA,IAFT,CAAjB;AAUO,SAASuJ,KAAT,CAAe;AAAEC,EAAAA,KAAF;AAASxJ,EAAAA,IAAT;AAAeyJ,EAAAA;AAAf,CAAf,EAAwE;AAC7E,QAAM,CAACC,SAAD,IAAcC,eAAO,CACzB,MACEC,mBAAK,CAACJ,KAAD,EAAQ;AACX;AACAK,IAAAA,SAAS,EAA0B;AAFxB,GAAR,CAFkB,EAMzB,CAACL,KAAD,CANyB,CAA3B;AASA,MAAI,CAACE,SAAL,EAAgB,OAAO,IAAP;AAEhB,sBAAOjK,eAAC,WAAD;AAAa,IAAA,IAAI,EAAEO,IAAnB;AAAyB,IAAA,kBAAkB,EAAE0J,SAAS,CAACI,IAAvD;AAA6D,IAAA,MAAM,EAAE;AAAExD,MAAAA,GAAG,EAAEoD,SAAS,CAACK;AAAjB,KAArE;AAA6F,IAAA,KAAK,EAAEN;AAApG,IAAP;AACD;;ACVM,MAAMO,uBAAqD,GAAG;AACnEC,EAAAA,MAAM,EAAE,aAD2D;AAEnEC,EAAAA,GAAG,EAAE;AAF8D,CAA9D;;ACpBA,SAASC,YAAT,CAA4D;AACjEC,EAAAA,EAAE,EAAEC,SAD6D;AAEjE1B,EAAAA,IAFiE;AAGjE2B,EAAAA,gBAAgB,GAAGN,uBAH8C;AAIjEnB,EAAAA,OAJiE;AAKjE,KAAGnC;AAL8D,CAA5D,EAMwE;AAC7E,sBACEjH,eAAC,SAAD,OACOiH,IADP;AAEE,IAAA,IAAI,EAAEiC,IAFR;AAGE,IAAA,SAAS,EAAE2B,gBAAgB,EAAEJ,GAAlB,KAA0B,YAA1B,GAAyClJ,SAAzC,GAAqD;AAAEuJ,MAAAA,MAAM,EAAE,QAAV;AAAoBC,MAAAA,GAAG,EAAE;AAAzB,KAHlE;AAIE,IAAA,OAAO,EAAE3B;AAJX,IADF;AAQD;;ACRD,MAAM4B,iBAAiB,GAAIC,KAAD,IAA6C;AACrE,UAAQA,KAAR;AACE,SAAK,SAAL;AACE,aAAO,QAAP;;AACF;AACE,aAAO,aAAP;AAJJ;AAMD,CAPD;;AASO,SAASC,aAAT,CAAuB;AAAED,EAAAA,KAAF;AAASjD,EAAAA,MAAT;AAAiB7H,EAAAA;AAAjB,CAAvB,EAAsF;AAC3F,sBACEH,eAAC,UAAD,CAAY,IAAZ;AAAiB,IAAA,IAAI,EAAC,YAAtB;AAAmC,IAAA,KAAK,EAAEgL,iBAAiB,CAACC,KAAD,CAA3D;AAAoE,IAAA,MAAM,EAAEjD,MAA5E;AAAA,cACG7H;AADH,IADF;AAKD;;ACtBD,MAAMgL,cAAc,gBAAG9K,eAAH,4CAAA;AAAA;AAAA;AAAA,2BAApB;AAIA,MAAM+K,iBAAiB,gBAAG/K,eAAH,4CAAA;AAAA;AAAA;AAAA,cACnB,CAAC;AAAEP,EAAAA;AAAF,CAAD,KACAA,KAAK,CAAC+B,UAAN,CAAiBwJ,mBAAjB,CAAqC;AAAEtJ,EAAAA,QAAQ,EAAEjB,eAAe,CAACE;AAA5B,CAArC,EAA0E,mBAA1E,EAA+F,kBAA/F,CAFmB,CAAvB;AAKA,MAAMsK,mBAAmB,gBAAGjL,eAAH,4CAAA;AAAA;AAAA;AAAA,qEAGL,CAAC;AAAEP,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiBC,UAAjB,CAA4BC,2BAHtC,CAAzB;AAMA,MAAMC,cAAc,gBAAGrL,eAAH,4CAAA;AAAA;AAAA;AAAA,6BACF,CAAC;AAAEP,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiBC,UAAjB,CAA4BG,cADzC,CAApB;AAWO,SAASC,UAAT,CAAoB;AAAEC,EAAAA,KAAF;AAASC,EAAAA,aAAT;AAAwBC,EAAAA,KAAxB;AAA+BC,EAAAA;AAA/B,CAApB,EAA8F;AACnG,sBACEzD,gBAAC,cAAD;AAAA,eACGsD,KAAK,gBACJtD,gBAAC,mBAAD;AAAA,8BACEvI,eAAC,cAAD;AAAA,kBAAiB6L;AAAjB,QADF,EAEGC,aAFH;AAAA,MADI,GAKF,IANN,EAOGC,KAPH,EAQGC,QAAQ,gBAAGhM,eAAC,iBAAD;AAAA,gBAAoBgM;AAApB,MAAH,GAAuD,IARlE;AAAA,IADF;AAYD;;ACzCM,MAAMC,YAAY,GAAG,MAMvB;AACH,QAAM,CAACC,SAAD,EAAYC,YAAZ,IAA4B7C,gBAAQ,CAAU,KAAV,CAA1C;AACA,QAAM,CAAC8C,iBAAD,EAAoBC,oBAApB,IAA4C/C,gBAAQ,CAAU,KAAV,CAA1D;AAOA,SAAO;AAAE4C,IAAAA,SAAF;AAAaI,IAAAA,gBAAgB,EALX,MAAYH,YAAY,CAAC,IAAD,CAK1C;AAA+BI,IAAAA,eAAe,EAJ7B,MAAYJ,YAAY,CAAC,KAAD,CAIzC;AAAgDK,IAAAA,wBAAwB,EAF9C,MAAYH,oBAAoB,CAAEI,SAAD,IAAe,CAACA,SAAjB,CAE1D;AAA0EL,IAAAA;AAA1E,GAAP;AACD,CAhBM;;MC8BMM,oBAAoB,gBAAGC,UAAH,+HAEX,CAAC;AAAE7M,EAAAA,KAAF;AAASmL,EAAAA;AAAT,CAAD,KAClBA,KAAK,KAAK,UAAV,GACInL,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiBQ,KAAjB,CAAuBa,MAAvB,CAA8BrF,QAA9B,CAAuCf,eAD3C,GAEI1G,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiBQ,KAAjB,CAAuBa,MAAvB,CAA8BnG,OAA9B,CAAsCD,eALb,EAMf,CAAC;AAAE1G,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiBQ,KAAjB,CAAuB/C,WANvB,EAOd,CAAC;AAAElJ,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiBQ,KAAjB,CAAuBjD,YAPxB,EAQf,CAAC;AAAEhJ,EAAAA,KAAF;AAASmL,EAAAA;AAAT,CAAD,KAAsBnL,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiBQ,KAAjB,CAAuBa,MAAvB,CAA8B3B,KAA9B,EAAqCtB,WAR5C,EASlB,CAAC;AAAE7J,EAAAA;AAAF,CAAD,KAAe;AAC1B,QAAMmD,aAAa,GAAGtB,0BAA0B,CAAC7B,KAAD,CAAhD;AACA,SAAOA,KAAK,CAACyC,IAAN,CAAWC,UAAX,CAAsBC,KAAtB,CAA4BG,MAA5B,CAAmCD,OAAnC,CAA2CkK,IAA3C,CAAgD5J,aAAhD,EAA+DE,QAAtE;AACD,CAZ8B,EAatB,CAAC;AAAErD,EAAAA,KAAF;AAASmL,EAAAA;AAAT,CAAD,KAAsBnL,KAAK,CAACyC,IAAN,CAAWC,UAAX,CAAsBgB,MAAtB,CAA6B1D,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiBQ,KAAjB,CAAuBa,MAAvB,CAA8B3B,KAA9B,EAAqC3K,KAAlE,CAbA,EAchB,CAAC;AAAER,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWC,UAAX,CAAsBC,KAAtB,CAA4BG,MAA5B,CAAmCM,UAAnC,CAA8C4J,OAd7C;AAiBjC,MAAMC,KAAK,gBAAG1M,eAAM,CAAC2M,gDAAD,CAAT;AAAA;AAAA;AAAA,8DAKPN,oBALO,EAME,CAAC;AAAE5M,EAAAA,KAAF;AAASmN,EAAAA;AAAT,CAAD,KACT,CAACA,SAAD,IAAc,UAAgB,KAA9B,GAAsCnN,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiBQ,KAAjB,CAAuBmB,oBAA7D,GAAoFpN,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiBQ,KAAjB,CAAuBrC,OAPpG,EAQM,CAAC;AAAE5J,EAAAA,KAAF;AAASmN,EAAAA;AAAT,CAAD,KAA0B;AACvC,MAAI,CAACA,SAAD,IAAc,UAAgB,KAAlC,EAAyC,OAAO,CAAP;AACzC,QAAMhK,aAAa,GAAGtB,0BAA0B,CAAC7B,KAAD,CAAhD;AACA,SAAOA,KAAK,CAACyC,IAAN,CAAWC,UAAX,CAAsBC,KAAtB,CAA4BG,MAA5B,CAAmCD,OAAnC,CAA2CkK,IAA3C,CAAgD5J,aAAhD,EAA+DG,UAAtE;AACD,CAZQ,EAaK,CAAC;AAAEsF,EAAAA;AAAF,CAAD,KAAmBA,SAbxB,CAAX;AAgBA,MAAMc,WAAS,gBAAGnJ,eAAH,4CAAA;AAAA;AAAA;AAAA,4CACC,CAAC;AAAEP,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiBQ,KAAjB,CAAuBoB,SADvC,EAEI,CAAC;AAAErN,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiBQ,KAAjB,CAAuBqB,YAF1C,CAAf;AAKA,MAAMC,uBAAuB,gBAAGhN,eAAH,iDAAA;AAAA;AAAA;AAAA,wFAMhB,CAAC;AAAEP,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiBQ,KAAjB,CAAuBuB,sBAAvB,GAAgD,CAN/C,CAA7B;;AASA,MAAMC,aAAa,GAAG,CAAC;AACrBC,EAAAA,UADqB;AAErBtB,EAAAA,SAFqB;AAGrBuB,EAAAA;AAHqB,CAAD,KAQA;AACpB,MAAID,UAAJ,EAAgB,OAAO,UAAP;AAChB,MAAItB,SAAJ,EAAe,OAAO,OAAP;AACf,MAAIuB,SAAS,KAAK,SAAlB,EAA6B,OAAO,SAAP;AAC7B,SAAO,SAAP;AACD,CAbD;;AAeA,MAAMC,2BAAuE,GAAG;AAC9ErD,EAAAA,IAAI,EAAE,SADwE;AAE9EsD,EAAAA,KAAK,EAAE,eAFuE;AAG9EC,EAAAA,QAAQ,EAAE,SAHoE;AAI9EC,EAAAA,QAAQ,EAAE;AAJoE,CAAhF;AAOA,MAAMC,sBAAoF,GAAG;AAC3FzD,EAAAA,IAAI,EAAE,KADqF;AAE3FsD,EAAAA,KAAK,EAAE,OAFoF;AAG3FC,EAAAA,QAAQ,EAAE,UAHiF;AAI3FC,EAAAA,QAAQ,EAAE;AAJiF,CAA7F;AAOA,MAAME,iBAAiD,GAAG;AACxD1D,EAAAA,IAAI,EAAE,IADkD;AAExDsD,EAAAA,KAAK,EAAE,KAFiD;AAGxDC,EAAAA,QAAQ,EAAE,KAH8C;AAIxDC,EAAAA,QAAQ,EAAE;AAJ8C,CAA1D;AAOA,MAAMG,qBAA+F,GAAG;AACtG3D,EAAAA,IAAI,EAAE,MADgG;AAEtGsD,EAAAA,KAAK,EAAE,cAF+F;AAGtGC,EAAAA,QAAQ,EAAE,UAH4F;AAItGC,EAAAA,QAAQ,EAAE;AAJ4F,CAAxG;MAOaI,SAAS,gBAAGC,kBAAU,CACjC,CACE;AACEC,EAAAA,EADF;AAEEzF,EAAAA,SAAS,GAAG,CAFd;AAGEzG,EAAAA,IAHF;AAIEgJ,EAAAA,KAAK,EAAEwC,SAJT;AAKEW,EAAAA,kBALF;AAME7G,EAAAA,QAAQ,GAAG,KANb;AAOE8G,EAAAA,OAPF;AAQEC,EAAAA,MARF;AASE,KAAGzO;AATL,CADF,EAYE0O,GAZF,KAamB;AACjB,QAAM;AAAErC,IAAAA,SAAF;AAAaK,IAAAA,eAAb;AAA8BD,IAAAA,gBAA9B;AAAgDF,IAAAA,iBAAhD;AAAmEI,IAAAA;AAAnE,MACJP,YAAY,EADd;AAEA,QAAMnM,KAAK,gBAAGC,eAAQ,EAAtB;AACA,QAAMkL,KAAK,GAAGmD,kBAAkB,IAAIb,aAAa,CAAC;AAAErB,IAAAA,SAAF;AAAasB,IAAAA,UAAU,EAAEjG,QAAzB;AAAmCkG,IAAAA;AAAnC,GAAD,CAAjD;AACA,sBACElF,gBAACiB,WAAD;AAAA,4BACExJ,eAAC,KAAD;AACE,MAAA,GAAG,EAAEuO,GADP;AAEE,MAAA,QAAQ,EAAEJ,EAFZ;AAGE,MAAA,QAAQ,EAAE,CAAC5G,QAHb;AAIE,MAAA,YAAY,EAAEmG,2BAA2B,CAACzL,IAAD,CAJ3C;AAKE,MAAA,gBAAgB,EAAE6L,sBAAsB,CAAC7L,IAAD,CAL1C;AAME,MAAA,WAAW,EAAE8L,iBAAiB,CAAC9L,IAAD,CANhC;AAOE,MAAA,SAAS,EAAEyG,SAPb;AAQE,MAAA,eAAe,EAAEsF,qBAAqB,CAAC/L,IAAD,CARxC;AASE,MAAA,oBAAoB,EAAEnC,KAAK,CAACyC,IAAN,CAAWC,UAAX,CAAsBgB,MAAtB,CAA6B1D,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiBQ,KAAjB,CAAuByC,gBAApD,CATxB;AAUE,MAAA,cAAc,EAAE1O,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiBQ,KAAjB,CAAuB0C,cAVzC;AAWE,MAAA,eAAe,EAAExM,IAAI,KAAK,UAAT,IAAuB,CAACmK,iBAX3C;AAAA,SAYMvM,KAZN;AAaE,MAAA,KAAK,EAAEoL,KAbT;AAcE,MAAA,OAAO,EAAGyD,CAAD,IAAO;AACdpC,QAAAA,gBAAgB;AAChB,YAAI+B,OAAJ,EAAaA,OAAO,CAACK,CAAD,CAAP;AACd,OAjBH;AAkBE,MAAA,MAAM,EAAGA,CAAD,IAAO;AACbnC,QAAAA,eAAe;AACf,YAAI+B,MAAJ,EAAYA,MAAM,CAACI,CAAD,CAAN;AACb;AArBH,MADF,EAwBGzM,IAAI,KAAK,UAAT,IAAuB,CAACsF,QAAxB,iBACCvH,eAAC,uBAAD;AAAyB,MAAA,iBAAiB,EAAC,QAA3C;AAAoD,MAAA,OAAO,EAAEwM,wBAA7D;AAAA,6BACExM,eAAC,cAAD;AACE,QAAA,IAAI,EAAEoM,iBAAiB,gBAAGpM,eAAC2O,iBAAD,KAAH,gBAAiB3O,eAAC4O,oBAAD,KAD1C;AAEE,QAAA,IAAI,EAAE9O,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiBQ,KAAjB,CAAuBuB,sBAF/B;AAGE,QAAA,KAAK,EAAExN,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiBQ,KAAjB,CAAuBa,MAAvB,CAA8B3B,KAA9B,EAAqC4D;AAH9C;AADF,MAzBJ;AAAA,IADF;AAoCD,CAvDgC;;ACjH5B,SAASC,KAAT,CAAe;AAAEC,EAAAA,OAAF;AAAW5O,EAAAA;AAAX,CAAf,EAAgE;AACrE,sBACEH,eAAC,UAAD,CAAY,IAAZ;AAAiB,IAAA,IAAI,EAAC,MAAtB;AAAA,2BAC2BA;AAAO,MAAA,OAAO,EAAE+O,OAAhB;AAAA,gBAA0B5O;AAA1B;AAD3B,IADF;AAKD;;ACKD,MAAM6O,UAAU,gBAAG3O,eAAH,4CAAA;AAAA;AAAA;AAAA,mHACM,CAAC;AAAEP,EAAAA,KAAF;AAASyH,EAAAA;AAAT,CAAD,KAClBzH,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiB0D,KAAjB,CAAuB1H,QAAQ,GAAG,UAAH,GAAgB,WAA/C,EAA4Df,eAFhD,EAGL,CAAC;AAAE1G,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiB0D,KAAjB,CAAuB1O,IAHjC,EAIJ,CAAC;AAAET,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiB0D,KAAjB,CAAuB1O,IAJlC,EAKG,CAAC;AAAET,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiB0D,KAAjB,CAAuB1O,IAAvB,GAA8B,CALhD,EAME,CAAC;AAAET,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiB0D,KAAjB,CAAuBC,SAAvB,CAAiClG,WANlD,EAOE,CAAC;AAAElJ,EAAAA,KAAF;AAASyH,EAAAA;AAAT,CAAD,KAAyBzH,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiB0D,KAAjB,CAAuB1H,QAAQ,GAAG,UAAH,GAAgB,WAA/C,EAA4DoC,WAPvF,CAAhB;AASA,MAAMwF,kBAAkB,gBAAG9O,eAAH,4CAAA;AAAA;AAAA;AAAA,yHACF,CAAC;AAAEP,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiB0D,KAAjB,CAAuBG,OAAvB,CAA+B5I,eAD5C,EAEb,CAAC;AAAE1G,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiB0D,KAAjB,CAAuB1O,IAFzB,EAGZ,CAAC;AAAET,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiB0D,KAAjB,CAAuB1O,IAH1B,EAIL,CAAC;AAAET,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiB0D,KAAjB,CAAuB1O,IAAvB,GAA8B,CAJxC,CAAxB;AAQA,MAAM8O,kBAAkB,gBAAGhP,eAAH,4CAAA;AAAA;AAAA;AAAA,+EACF,CAAC;AAAEP,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiB0D,KAAjB,CAAuBG,OAAvB,CAA+BE,oBAD5C,EAEb,CAAC;AAAExP,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiB0D,KAAjB,CAAuBG,OAAvB,CAA+BG,SAFjC,EAGZ,CAAC;AAAEzP,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiB0D,KAAjB,CAAuBG,OAAvB,CAA+BG,SAHlC,EAIL,CAAC;AAAEzP,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiB0D,KAAjB,CAAuBG,OAAvB,CAA+BG,SAA/B,GAA2C,CAJrD,CAAxB;AAMA,MAAM/F,WAAS,gBAAGnJ,eAAH,iDAAA;AAAA;AAAA;AAAA,8CAAf;AAKA,MAAM4E,IAAI,gBAAG5E,eAAM,CAAC2D,UAAU,CAACiB,IAAZ,CAAT;AAAA;AAAA;AAAA,4BACO,CAAC;AAAEnF,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,CAD3C,CAAV;AAIO,SAAS0H,KAAT,CAAe;AAAErB,EAAAA,EAAF;AAAMiB,EAAAA,OAAN;AAAeK,EAAAA,QAAf;AAAyB5H,EAAAA,KAAzB;AAAgCN,EAAAA,QAAQ,GAAG,KAA3C;AAAkDpH,EAAAA;AAAlD,CAAf,EAAuG;AAK5G,sBACEoI,gBAACiB,WAAD;AACE,IAAA,QAAQ,EAAE2E,EADZ;AAEE,IAAA,QAAQ,EAAE5G,QAFZ;AAGE,IAAA,iBAAiB,EAAC,OAHpB;AAIE,oBAAc6H,OAJhB;AAKE,IAAA,SAAS,EAAEA,OAAO,IAAI,CAAC7H,QALzB;AAME,IAAA,OAAO,EAXoC,MAAM;AACnDkI,MAAAA,QAAQ,CAAC5H,KAAD,CAAR;AACD,KAGC;AAAA,eAQGuH,OAAO,IAAI,CAAC7H,QAAZ,gBACCvH,eAAC,kBAAD;AAAA,6BACEA,eAAC,kBAAD;AADF,MADD,gBAKCA,eAAC,UAAD;AAAY,MAAA,QAAQ,EAAEuH;AAAtB,MAbJ,eAgBEvH,eAAC,IAAD;AAAM,MAAA,IAAI,EAAC,MAAX;AAAkB,MAAA,KAAK,EAAEuH,QAAQ,GAAG,aAAH,GAAmB,OAApD;AAAA,gBACGpH;AADH,MAhBF;AAAA,IADF;AAsBD;;ACxEM,SAASuP,QAAT,CAAkB,EAAE,GAAG7P;AAAL,CAAlB,EAA6D;AAClE,QAAMC,KAAK,gBAAGC,eAAQ,EAAtB;AACA,sBAAOC,eAAC,SAAD;AAAW,IAAA,SAAS,MAApB;AAAA,OAAyBH,KAAzB;AAAgC,IAAA,IAAI,EAAC,MAArC;AAA4C,IAAA,SAAS,EAAEC,KAAK,CAACyC,IAAN,CAAWgJ,KAAX,CAAiBQ,KAAjB,CAAuB4D;AAA9E,IAAP;AACD;;ACND,MAAMC,IAAI,gBAAGvP,eAAH,4CAAA;AAAA;AAAA;AAAA,2CACN,CAAC;AAAEP,EAAAA;AAAF,CAAD,KACAA,KAAK,CAAC+B,UAAN,CAAiBwJ,mBAAjB,CACE;AAAEtJ,EAAAA,QAAQ,EAAEjB,eAAe,CAACG;AAA5B,CADF,EAEG,kBAAiBnB,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,EAAG;AAChD,sBAAsBhI,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,EAAG,KAH1C,EAIG,kBAAiBhI,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,CAAE;AAC/C,sBAAsBhI,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,CAAE,KALzC,CAFM,EASY,CAAC;AAAEhI,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWiB,MAAX,CAAkBqM,iBAT7C,CAAV;AAiBO,SAASC,mBAAT,CAA6B;AAAE3P,EAAAA;AAAF,CAA7B,EAAoE;AACzE,sBAAOH,eAAC,IAAD;AAAA,cAAOG;AAAP,IAAP;AACD;;ACXD,MAAM4P,aAAa,gBAAG1P,eAAH,4CAAA;AAAA;AAAA;AAAA,aACf,CAAC;AAAEP,EAAAA,KAAF;AAASkQ,EAAAA,IAAI,GAAG;AAAhB,CAAD,KAA8B;AAC9B,QAAMtG,OAAO,GAAG5J,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,CAArC;;AAEA,MAAIkI,IAAI,KAAK,MAAb,EAAqB;AACnB,WAAQ,kBAAiBtG,OAAQ,KAAjC;AACD;;AAED,SAAQ,iBAAgBA,OAAQ,KAAhC;AACD,CATgB,CAAnB;;AAYA,SAASuG,gCAAT,CAA0CnI,OAA1C,EAAmE;AACjE,SAAOA,OAAO,GAAG,CAAjB;AACD;;AAMD,MAAMoI,MAAM,gBAAG7P,eAAH,4CAAA;AAAA;AAAA;AAAA,qGACR,CAAC;AAAEP,EAAAA,KAAF;AAASqQ,EAAAA,QAAQ,GAAG;AAApB,CAAD,KAA6B;AAC7B,QAAMC,UAAU,GAAGD,QAAQ,GAAGrQ,KAAK,CAACyC,IAAN,CAAW8N,eAAX,CAA2BC,MAA3B,CAAkCC,eAAhE;AACA,QAAM;AAAEA,IAAAA,eAAF;AAAmBC,IAAAA;AAAnB,MAAyC1Q,KAAK,CAACyC,IAAN,CAAW8N,eAAX,CAA2BC,MAA1E;AAEA,SAAOxQ,KAAK,CAAC+B,UAAN,CAAiBwJ,mBAAjB,CACL;AAAEtJ,IAAAA,QAAQ,EAAEjB,eAAe,CAACG;AAA5B,GADK,EAEJ,YAAWmP,UAAW,MAAKH,gCAAgC,CAACnQ,KAAK,CAACyC,IAAN,CAAWuF,OAAZ,CAAqB,MAAKyI,eAAgB,KAFjG,EAGJ,YAAWH,UAAW,MAAKI,iBAAkB,MAAKD,eAAgB,KAH9D,CAAP;AAKD,CAVS,EAWa,CAAC;AAAEzQ,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAW8N,eAAX,CAA2BC,MAA3B,CAAkC3G,WAX9D,CAAZ;AAuBA,MAAM8G,aAAa,gBAAGpQ,eAAH,4CAAA;AAAA;AAAA;AAAA,6DACf,CAAC;AAAEP,EAAAA,KAAF;AAAS4Q,EAAAA,SAAT;AAAoBC,EAAAA,UAApB;AAAgCC,EAAAA;AAAhC,CAAD,KAAmD;AACnD;AACJ;AACA;AACA;AACI,QAAMC,mBAAmB,GAAGC,IAAI,CAACC,GAAL,CAASL,SAAT,EAAoBC,UAApB,CAA5B;AAEA,QAAMK,uBAAuB,GAAGlR,KAAK,CAACyC,IAAN,CAAW8N,eAAX,CAA2BC,MAA3B,CAAkCE,iBAAlC,GAAsD,CAAtF;AACA,QAAMS,6BAA6B,GAAGhB,gCAAgC,CAACnQ,KAAK,CAACyC,IAAN,CAAWuF,OAAZ,CAAhC,GAAuD,CAA7F;;AAEA,QAAMoJ,YAAY,GAAIC,iBAAD,IACnBP,WAAW,GAAGO,iBAAd,GAAkCN,mBAAmB,GAAG,CAD1D;;AAGA,SAAO/Q,KAAK,CAAC+B,UAAN,CAAiBwJ,mBAAjB,CACL;AAAEtJ,IAAAA,QAAQ,EAAEjB,eAAe,CAACG;AAA5B,GADK,EAEJ,UAASiQ,YAAY,CAACD,6BAAD,CAAgC,KAFjD,EAGJ,UAASC,YAAY,CAACF,uBAAD,CAA0B,KAH3C,CAAP;AAKD,CAnBgB,EAoBf,CAAC;AAAEN,EAAAA,SAAF;AAAaC,EAAAA;AAAb,CAAD,KAA+B;AAC/B;AACA,QAAMS,WAAW,GAAGN,IAAI,CAACO,GAAL,CAASX,SAAS,GAAGC,UAArB,CAApB;;AAEA,MAAID,SAAS,GAAGC,UAAhB,EAA4B;AAC1B,WAAQ,iBAAgBS,WAAY,KAApC;AACD;;AAED,SAAQ,gBAAeA,WAAY,KAAnC;AACD,CA7BgB,CAAnB;AAwCO,SAASE,qBAAT,CAA+B;AAAEnR,EAAAA,QAAF;AAAYoR,EAAAA,KAAZ;AAAmBC,EAAAA;AAAnB,CAA/B,EAAoG;AACzG,QAAM;AAAEC,IAAAA;AAAF,MAAUC,4CAAiB,EAAjC;AACA,QAAMC,UAAU,GAAG5N,0DAAmB,EAAtC;AACA,QAAM,CAAC2M,SAAD,EAAYkB,YAAZ,IAA4BtI,gBAAQ,CAAC,CAAD,CAA1C;AACA,QAAM,CAACqH,UAAD,EAAakB,aAAb,IAA8BvI,gBAAQ,CAAC,CAAD,CAA5C;;AAEA,QAAMwI,kBAAkB,GAAG,CAACC,KAAD,EAA2B/B,IAA3B,KAA4D;AACrF;AACA+B,IAAAA,KAAK,CAACC,OAAN;;AAEA,QAAIhC,IAAI,KAAK,MAAb,EAAqB;AACnB4B,MAAAA,YAAY,CAACG,KAAK,CAACE,WAAN,CAAkBC,MAAlB,CAAyBpO,KAA1B,CAAZ;AACA;AACD;;AAED+N,IAAAA,aAAa,CAACE,KAAK,CAACE,WAAN,CAAkBC,MAAlB,CAAyBpO,KAA1B,CAAb;AACD,GAVD;;AAYA,sBACEyE,gBAAC,MAAD;AAAQ,IAAA,QAAQ,EAAsCkJ,GAAtD;AAAA,eACGD,IAAI,gBAAGxR,eAAC,aAAD;AAAe,MAAA,QAAQ,EAAG0O,CAAD,IAAOoD,kBAAkB,CAACpD,CAAD,EAAI,MAAJ,CAAlD;AAAA,gBAAgE8C;AAAhE,MAAH,GAA2F,IADlG,eAGExR,eAAC,aAAD;AAAe,MAAA,WAAW,EAAE2R,UAAU,CAAC7N,KAAvC;AAA8C,MAAA,SAAS,EAAE4M,SAAzD;AAAoE,MAAA,UAAU,EAAEC,UAAhF;AAAA,gBACGxQ;AADH,MAHF,EAOGoR,KAAK,gBACJvR,eAAC,aAAD;AAAe,MAAA,IAAI,EAAC,OAApB;AAA4B,MAAA,QAAQ,EAAG0O,CAAD,IAAOoD,kBAAkB,CAACpD,CAAD,EAAI,OAAJ,CAA/D;AAAA,gBACG6C;AADH,MADI,GAIF,IAXN;AAAA,IADF;AAeD;;AC3HD,MAAM/H,WAAS,gBAAGnJ,eAAH,4CAAA;AAAA;AAAA;AAAA,sCAEO,CAAC;AAAEP,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWiB,MAAX,CAAkB2O,YAFxC,CAAf;AASO,SAASC,eAAT,CAAyB;AAAEjS,EAAAA;AAAF,CAAzB,EAA2E;AAChF,sBAAOH,eAACwJ,WAAD;AAAA,cAAYrJ;AAAZ,IAAP;AACD;AAEDiS,eAAe,CAAClC,MAAhB,GAAyBoB,qBAAzB;AACAc,eAAe,CAACxC,IAAhB,GAAuBE,mBAAvB;;ACXO,SAASuC,eAAT,CAAwD;AAC7D1H,EAAAA,EAD6D;AAE7DxK,EAAAA,QAF6D;AAG7D,KAAGN;AAH0D,CAAxD,EAIuD;AAEnB;AACzC,sBAAOG,eADc2K,EAAE,IAAK,KACrB,OAAgB9K,KAAhB;AAAA,cAAgCM;AAAhC,IAAP;AACD;;ACPD,MAAMmS,6BAA6B,GAAG3S,SAAS;;;;mBAItB,CAAC;AAAEG,MAAAA;AAAF,KAAD,KAAeA,KAAK,CAACyC,IAANzC,CAAWyS,UAAXzS,CAAsB0S,KAAtB1S,CAA4B4D,IAA5B5D,CAAiC2S;mBAG3D,CAAC;AAAE3S,MAAAA;AAAF,KAAD,KAAeA,KAAK,CAAC4S,WAAN5S,CAAkB6S,GAAlB7S,CAAsB8S;mBAC1B,CAAC;AAAE9S,MAAAA;AAAF,KAAD,KAAeA,KAAK,CAACyC,IAANzC,CAAWyS,UAAXzS,CAAsB0S,KAAtB1S,CAA4B8D,MAA5B9D,CAAmC2S;mBAMpD,CAAC;AAAE3S,MAAAA;AAAF,KAAD,KAAeA,KAAK,CAACyC,IAANzC,CAAWyS,UAAXzS,CAAsB0S,KAAtB1S,CAA4B4D,IAA5B5D,CAAiC+S;mBAS/C,CAAC;AAAE/S,MAAAA;AAAF,KAAD,KAAeA,KAAK,CAACyC,IAANzC,CAAWyS,UAAXzS,CAAsB2G,OAAtB3G,CAA8B8I;mBAS7C,CAAC;AAAE9I,MAAAA;AAAF,KAAD,KAAeA,KAAK,CAACyC,IAANzC,CAAWyS,UAAXzS,CAAsBgT,KAAtBhT,CAA4B8I;;EAhCpB,CAA/C;AAoCA,MAAMmK,yBAAyB,gBAAG1S,eAAH,iDAAA;AAAA;AAAA;AAAA,uJACZ,CAAC;AAAEP,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAANzC,CAAWyS,UAAXzS,CAAsBgJ,YADzB,EAEpB,CAAC;AAAEhJ,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAANzC,CAAWyS,UAAXzS,CAAsBgE,KAFjB,EAGnB,CAAC;AAAEhE,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAANzC,CAAWyS,UAAXzS,CAAsBgH,MAHlB,EAS3B,CAAC;AAAEhH,EAAAA,KAAF;AAASyH,EAAAA;AAAT,CAAD,KAAyB;QACnB;AAAEgL,IAAAA;AAAF,MAAiBzS,KAAK,CAACyC;QAMvB;AAAEyQ,IAAAA;AAAF,MAAiBT;;MAEnBhL,UAAU;;AAElB,4BAA4BgL,UAAU,CAAChL,QAAXgL,CAAoB/L;AAChD;;;;AAIA,oBAAoBwM,UAAU,CAACC,YAAYD,UAAU,CAACE,YAAYF,UAAU,CAACG;AAC7E;AACI,CA3B2B,CAA/B;AAkCO,SAASC,mBAAT,CAA6B;AAAE9S,EAAAA,KAAF;KAAYT;AAAZ,CAA7B,EAA0F;sBAE7FG,eAAC,eAAD;AAAiB,IAAA,IAAIsS,6BAArB;AAAoD,wBAAkBhS,KAAK,KAAK,OAAVA,GAAoB,IAApBA,GAA2BiB,SAAjG;AAAA,2BACEvB,eAAC,yBAAD,OAA+BH;AAA/B;AADF;;;AC7EG,SAASwT,0BAAT,CAAoC;AACzClT,EAAAA,QADyC;AAEzCG,EAAAA,KAFyC;AAGzCiH,EAAAA,QAHyC;AAIzC6B,EAAAA;AAJyC,CAApC,EAK2C;AAChD,sBACEpJ,eAAC,mBAAD;AAAqB,IAAA,iBAAiB,EAAC,QAAvC;AAAgD,IAAA,KAAK,EAAEM,KAAvD;AAA8D,IAAA,QAAQ,EAAEiH,QAAxE;AAAkF,IAAA,OAAO,EAAE6B,OAA3F;AAAA,cACGjJ;AADH,IADF;AAKD;;ACND,MAAMmT,uBAAuB,gBAAGjT,eAAH,4CAAA;AAAA;AAAA;AAAA,iIACjB,CAAC;AAAEP,EAAAA;AAAF,CAAD,KAAgB,GAAEA,KAAK,CAACyC,IAAN,CAAWgQ,UAAX,CAAsBvJ,WAAY,UADnC,EAEX,CAAC;AAAElJ,EAAAA,KAAF;AAASyH,EAAAA;AAAT,CAAD,KACdA,QAAQ,GAAGzH,KAAK,CAACyC,IAAN,CAAWgQ,UAAX,CAAsBhL,QAAtB,CAA+BoC,WAAlC,GAAgD7J,KAAK,CAACyC,IAAN,CAAWgQ,UAAX,CAAsB5I,WAHrD,EAIlB,CAAC;AAAE7J,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWgQ,UAAX,CAAsBzO,KAAtB,GAA8BhE,KAAK,CAACyC,IAAN,CAAWgQ,UAAX,CAAsBvJ,WAJjD,EAKjB,CAAC;AAAElJ,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWgQ,UAAX,CAAsBzL,MAAtB,GAA+BhH,KAAK,CAACyC,IAAN,CAAWgQ,UAAX,CAAsBvJ,WALnD,EAQV,CAAC;AAAElJ,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWgQ,UAAX,CAAsBzJ,YAR3B,CAA7B;;AAgBA,SAASyK,iBAAT,CAA2B;AAAEhM,EAAAA,QAAF;AAAYjH,EAAAA,KAAZ;AAAmBI,EAAAA;AAAnB,CAA3B,EAA4F;AAC1F,sBACEV,eAAC,uBAAD;AAAyB,IAAA,QAAQ,EAAEuH,QAAnC;AAAA,2BACEvH,eAAC,cAAD;AAAgB,MAAA,KAAK,EAAEuH,QAAQ,GAAG,aAAH,GAAmBjH,KAAlD;AAAyD,MAAA,IAAI,EAAEI;AAA/D;AADF,IADF;AAKD;;AAMM,SAAS8S,UAAT,CAAoB;AAAE9S,EAAAA,IAAF;AAAQJ,EAAAA,KAAR;AAAeiH,EAAAA,QAAf;AAAyB6B,EAAAA;AAAzB,CAApB,EAAuF;AAC5F,sBACEpJ,eAAC,0BAAD;AAA4B,IAAA,KAAK,EAAEM,KAAnC;AAA0C,IAAA,QAAQ,EAAEiH,QAApD;AAA8D,IAAA,OAAO,EAAE6B,OAAvE;AAAA,2BACEpJ,eAAC,iBAAD;AAAmB,MAAA,QAAQ,EAAEuH,QAA7B;AAAuC,MAAA,KAAK,EAAEjH,KAA9C;AAAqD,MAAA,IAAI,EAAEI;AAA3D;AADF,IADF;AAKD;;ACnCD,MAAM+S,aAAW,gBAAGpT,eAAH,4CAAA;AAAA;AAAA;AAAA,sCAAjB;AAKO,SAASqT,eAAT,CAAyB;AAAEvT,EAAAA,QAAF;AAAY,KAAG8G;AAAf,CAAzB,EAAoF;AACzF,sBAAOjH,eAACyT,aAAD,OAAiBxM,IAAjB;AAAA,cAAwB9G;AAAxB,IAAP;AACD;;ACND,MAAMwT,iBAAiB,gBAAGtT,eAAH,4CAAA;AAAA;AAAA;AAAA,+DAEN,CAAC;AAAEP,EAAAA,KAAF;AAASkQ,EAAAA;AAAT,CAAD,KAAsBA,IAAI,KAAK,OAAT,GAAmBlQ,KAAK,CAACyC,IAAN,CAAWqR,QAAX,CAAoBC,WAAvC,GAAqD,CAFrE,EAGL,CAAC;AAAE/T,EAAAA,KAAF;AAASkQ,EAAAA;AAAT,CAAD,KAAsBA,IAAI,KAAK,MAAT,GAAkBlQ,KAAK,CAACyC,IAAN,CAAWqR,QAAX,CAAoBC,WAAtC,GAAoD,CAHrE,CAAvB;;AAOO,SAASC,qBAAT,CAA+B;AAAE3T,EAAAA,QAAF;AAAY6P,EAAAA,IAAI,GAAG,MAAnB;AAA2B,KAAG/I;AAA9B,CAA/B,EAA+G;AACpH,sBACEjH,eAAC,iBAAD;AAAmB,IAAA,IAAI,EAAEgQ,IAAzB;AAAA,OAAmC/I,IAAnC;AAAA,cACG9G;AADH,IADF;AAKD;AAOD,MAAM4T,eAAe,gBAAG1T,eAAH,4CAAA;AAAA;AAAA;AAAA,yBACL,CAAC;AAAEG,EAAAA;AAAF,CAAD,KAAeA,KADV,CAArB;AAIO,SAASwT,mBAAT,CAA6B;AAAE7T,EAAAA,QAAF;AAAYK,EAAAA,KAAK,GAAG,MAApB;AAA4B,KAAGyG;AAA/B,CAA7B,EAA4G;AACjH,sBACEjH,eAAC,eAAD;AAAiB,IAAA,KAAK,EAAEQ,KAAxB;AAAA,OAAmCyG,IAAnC;AAAA,cACG9G;AADH,IADF;AAKD;;AClBD,MAAM8T,aAAa,gBAAG5T,eAAH,4CAAA;AAAA;AAAA;AAAA,sFAEN,CAAC;AAAE6T,EAAAA,WAAF;AAAepU,EAAAA;AAAf,CAAD,KAA6BoU,WAAW,GAAGpU,KAAK,CAACyC,IAAN,CAAWqR,QAAX,CAAoBlK,OAAvB,GAAiC,CAFnE,EAGf,CAAC;AAAE5J,EAAAA,KAAF;AAASqU,EAAAA;AAAT,CAAD,KAAwB;AACxB,QAAM;AAAEnL,IAAAA;AAAF,MAAkBlJ,KAAK,CAACyC,IAAN,CAAWqR,QAAnC;;AAEA,MAAIO,OAAO,KAAK,KAAhB,EAAuB;AACrB,WAAQ,qBAAoBnL,WAAY,EAAxC;AACD;;AAED,MAAImL,OAAO,KAAK,QAAhB,EAA0B;AACxB,WAAQ,wBAAuBnL,WAAY,EAA3C;AACD;;AAED,MAAImL,OAAO,KAAK,MAAhB,EAAwB;AACtB,WAAQ,qBAAoBnL,WAAY,0BAAyBA,WAAY,EAA7E;AACD;;AAED,SAAO,cAAP;AACD,CAnBgB,EAoBD,CAAC;AAAElJ,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWqR,QAAX,CAAoBjK,WApBlC,EAqBG,CAAC;AAAE7J,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWiB,MAAX,CAAkBqM,iBArBpC,CAAnB;AAwBO,SAASuE,QAAT,CAAkB;AACvBjU,EAAAA,QADuB;AAEvB+T,EAAAA,WAFuB;AAGvBC,EAAAA,OAHuB;AAIvB3C,EAAAA,IAJuB;AAKvBD,EAAAA,KALuB;AAMvBnI,EAAAA,OANuB;AAOvB,KAAGnC;AAPoB,CAAlB,EAQyB;AAC9B,QAAMoN,OAAO,GAAGjL,OAAO,GAAGkL,gDAAH,GAAeC,gBAAtC;AACA,QAAMC,YAAY,GAAGpL,OAAO,GAAG;AAAEnF,IAAAA,iBAAiB,EAAE,QAArB;AAA+BmF,IAAAA,OAA/B;AAAwC,OAAGnC;AAA3C,GAAH,GAAuD1F,SAAnF;AACA,QAAMkT,cAAc,GAAGrL,OAAO,GAAG7H,SAAH,GAAe0F,IAA7C;AAEA,sBACEjH,eAAC,OAAD,OAAcwU,YAAd;AAAA,2BACEjM,gBAAC,aAAD;AAAe,MAAA,WAAW,EAAE2L,WAA5B;AAAyC,MAAA,OAAO,EAAEC,OAAlD;AAAA,SAA+DM,cAA/D;AAAA,iBACGjD,IAAI,gBAAGxR,eAAC,qBAAD;AAAuB,QAAA,IAAI,EAAC,MAA5B;AAAA,kBAAoCwR;AAApC,QAAH,GAAuE,IAD9E,eAGExR,eAAC,eAAD;AAAA,kBAAkBG;AAAlB,QAHF,EAKGoR,KAAK,gBAAGvR,eAAC,qBAAD;AAAuB,QAAA,IAAI,EAAC,OAA5B;AAAA,kBAAqCuR;AAArC,QAAH,GAAyE,IALjF;AAAA;AADF,IADF;AAWD;AAED6C,QAAQ,CAAC3M,OAAT,GAAmBiM,eAAnB;AACAU,QAAQ,CAACM,WAAT,GAAuBV,mBAAvB;AACAI,QAAQ,CAACrE,aAAT,GAAyB+D,qBAAzB;;ACrEA,MAAMa,oBAAoB,GAAGhV,SAAS;;;;kBA6DxB,CAAC;AAAEG,MAAAA;AAAF,KAAD,KAAeA,KAAK,CAACyC,IAANzC,CAAW0D,MAAX1D,CAAkB8U;kBASjC,CAAC;AAAE9U,MAAAA;AAAF,KAAD,KAAeA,KAAK,CAACyC,IAANzC,CAAW0D,MAAX1D,CAAkB+U;;EAtET,CAAtC;AA4EO,SAASC,WAAT,GAAiE;sBAEpE9U,eAAC,oBAAD;AAAA,2BACEuI;AAAK,MAAA,OAAM,IAAX;AAAgB,MAAA,QAAO,IAAvB;AAAA,8BACEvI;AAAG,6BAAkB,MAArB;AAAA,+BACEA;AAAQ,UAAA,IAAG,IAAX;AAAgB,UAAA,IAAG,IAAnB;AAAwB,UAAA,GAAE,IAA1B;AAA+B,UAAA,MAAK;AAApC;AADF,QADF,eAIEA;AAAG,6BAAkB,MAArB;AAAA,+BACEA;AAAQ,UAAA,IAAG,IAAX;AAAgB,UAAA,IAAG,IAAnB;AAAwB,UAAA,GAAE,IAA1B;AAA+B,UAAA,MAAK;AAApC;AADF,QAJF;AAAA;AADF;;;ACxEG,SAAS+U,MAAT,CAAgB;AAAEzU,EAAAA,KAAK,GAAG,SAAV;AAAqBC,EAAAA,IAAI,GAAG;AAA5B,CAAhB,EAA6E;AAClF,sBAAOP,eAAC,cAAD;AAAgB,IAAA,IAAI,MAApB;AAAqB,IAAA,KAAK,EAAEM,KAA5B;AAAmC,IAAA,IAAI,EAAEC,IAAzC;AAA+C,IAAA,IAAI,eAAEP,eAACgV,oBAAD;AAArD,IAAP;AACD;;ACFD,MAAMC,SAAS,GAAG,EAAlB;AACA,MAAMC,YAAY,GAAG,EAArB;AAiBA,MAAM1L,WAAS,gBAAGnJ,eAAH,4CAAA;AAAA;AAAA;AAAA,8MACI,CAAC;AAAEP,EAAAA,KAAF;AAASqV,EAAAA;AAAT,CAAD,KAA0BA,QAAQ,GAAG,CAAH,GAAOrV,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,CADlE,EAEO,CAAC;AAAEhI,EAAAA,KAAF;AAASmC,EAAAA;AAAT,CAAD,KAAqBnC,KAAK,CAACyC,IAAN,CAAW6S,eAAX,CAA2BC,gBAA3B,CAA4CpT,IAA5C,CAF5B,EAGK,CAAC;AAAEnC,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,CAHzC,EAIG,CAAC;AAAEhI,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,CAJvC,EAKI,CAAC;AAAEhI,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,CALxC,EAME,CAAC;AAAEhI,EAAAA,KAAF;AAASwV,EAAAA;AAAT,CAAD,KAAuB,CAACA,MAAM,EAAE7D,GAAR,IAAe,CAAhB,IAAqB3R,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,CANnE,CAAf;AAYA,MAAMyN,cAAc,gBAAGlV,eAAM,CAACmV,uDAAD,CAAT;AAAA;AAAA;AAAA,2CACH,CAAC;AAAE1V,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,CADjC,EAEP,CAAC;AAAEhI,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWuF,OAFnB,CAApB;AAKA,MAAM1H,aAAa,gBAAGC,eAAH,4CAAA;AAAA;AAAA;AAAA,6BACD,CAAC;AAAEP,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,CADnC,CAAnB;AASA,MAAML,OAAO,gBAAGpH,eAAH,4CAAA;AAAA;AAAA;AAAA,gCACG,CAAC;AAAEoV,EAAAA;AAAF,CAAD,KAAuBA,YAAY,GAAG,QAAH,GAAc,MADpD,CAAb;;AAKA,MAAMC,cAAc,GAAIzT,IAAD,IAAwC;AAC7D,UAAQA,IAAR;AACE,SAAK,SAAL;AACE,aAAO,OAAP;;AACF,SAAK,QAAL;AACE,aAAO,OAAP;;AACF,SAAK,SAAL;AACA;AACE,aAAO,OAAP;AAPJ;AASD,CAVD;;AAYA,SAAS0T,cAAT,CAAwB1T,IAAxB,EAAyD;AACvD,UAAQA,IAAR;AACE,SAAK,SAAL;AACE,0BAAOjC,eAAC4V,yBAAD,KAAP;;AACF,SAAK,SAAL;AACE,0BAAO5V,eAAC6V,mBAAD,KAAP;;AACF,SAAK,QAAL;AACE,0BAAO7V,eAAC8V,2BAAD,KAAP;;AACF;AACE,0BAAO9V,eAAC+V,kBAAD,KAAP;AARJ;AAUD;;AAEM,SAASC,OAAT,CAAiB;AACtB/T,EAAAA,IAAI,GAAG,MADe;AAEtB9B,EAAAA,QAFsB;AAGtBgV,EAAAA,QAAQ,GAAG,KAHW;AAItBM,EAAAA,YAAY,GAAG,KAJO;AAKtBQ,EAAAA,SALsB;AAMtBX,EAAAA;AANsB,CAAjB,EAOwB;AAC7B,QAAMhV,KAAK,GAAGoV,cAAc,CAACzT,IAAD,CAA5B;AAEA,sBACEsG,gBAACiB,WAAD;AAAW,IAAA,IAAI,EAAEvH,IAAjB;AAAuB,IAAA,QAAQ,EAAEkT,QAAjC;AAA2C,IAAA,MAAM,EAAEG,MAAnD;AAAA,eACG,CAACG,YAAD,gBACCzV,eAAC,aAAD;AAAA,6BACEA,eAAC,IAAD;AAAM,QAAA,IAAI,EAAEkV,YAAZ;AAA0B,QAAA,KAAK,EAAE5U,KAAjC;AAAwC,QAAA,IAAI,EAAEqV,cAAc,CAAC1T,IAAD;AAA5D;AADF,MADD,GAIG,IALN,eAMEjC,eAAC,OAAD;AAAS,MAAA,IAAI,EAAEiC,IAAf;AAAqB,MAAA,YAAY,EAAEwT,YAAnC;AAAA,6BACEzV,eAAC,UAAD,CAAY,IAAZ;AAAiB,QAAA,IAAI,EAAC,YAAtB;AAAmC,QAAA,KAAK,EAAEM,KAA1C;AAAA,kBACGH;AADH;AADF,MANF,EAWG8V,SAAS,gBACRjW,eAAC,cAAD;AAAgB,MAAA,OAAO,EAAEiW,SAAzB;AAAA,6BACEjW,eAAC,IAAD;AAAM,QAAA,IAAI,eAAEA,eAACkW,eAAD,KAAZ;AAAuB,QAAA,IAAI,EAAEjB,SAA7B;AAAwC,QAAA,KAAK,EAAE3U;AAA/C;AADF,MADQ,GAIN,IAfN;AAAA,IADF;AAmBD;;ACxGD;AACA,MAAM6V,gBAAgB,gBAAG9V,eAAM,CAACiU,gDAAD,CAAT;AAAA;AAAA;AAAA,GAAqB,CAAC;AAAExU,EAAAA;AAAF,CAAD,MAAgB,EACzD,GAAGsW,iDAAU,CAACC,kBAD2C;AAEzD7P,EAAAA,eAAe,EAAE1G,KAAK,CAACyC,IAAN,CAAWiB,MAAX,CAAkB8S,OAAlB,CAA0BC;AAFc,CAAhB,CAArB,CAAtB;AAKO,SAASC,OAAT,CAAiB;AAAEpN,EAAAA;AAAF,CAAjB,EAA0D;AAC/D,sBACEpJ,eAAC,gBAAD;AAAkB,IAAA,iBAAiB,EAAC,MAApC;AAA2C,IAAA,OAAO,EAAEoJ,OAApD;AAAA,2BACEpJ,eAACyW,2CAAD;AADF,IADF;AAKD;;ACjBD,MAAMC,QAAQ,gBAAGrW,eAAH,4CAAA;AAAA;AAAA;AAAA,+BACD,CAAC;AAAEP,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,CADnC,EAC0C,CAAC;AAAEhI,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,CAD9E,CAAd;AAQO,SAAS6O,SAAT,CAAmB;AAAExW,EAAAA;AAAF,CAAnB,EAA0D;AAC/D,sBACEH,eAAC4W,iDAAD;AAAA,2BACE5W,eAAC,QAAD;AAAA,gBAAWG;AAAX;AADF,IADF;AAKD;;ACXD,MAAM0W,UAAU,gBAAGxW,eAAH,4CAAA;AAAA;AAAA;AAAA,iFAEH,CAAC;AAAEP,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,CAFjC,EAIM,CAAC;AAAEhI,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWiB,MAAX,CAAkBoR,SAJvC,CAAhB;AAOO,SAASkC,WAAT,CAAqB;AAAE3W,EAAAA;AAAF,CAArB,EAA8D;AACnE,sBAAOH,eAAC,UAAD;AAAA,cAAaG;AAAb,IAAP;AACD;;ACdM,MAAM4W,cAAc,gBAAGzV,qBAAa,CAAa,MAAM,EAAnB,CAApC;;ACWP,MAAM0V,UAAU,gBAAG3W,eAAH,4CAAA;AAAA;AAAA;AAAA,0MAEH,CAAC;AAAEP,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,CAFjC,EASS,CAAC;AAAEhI,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWiB,MAAX,CAAkBoR,SAT1C,CAAhB;AAaA,MAAMqC,YAAY,gBAAG5W,eAAH,4CAAA;AAAA;AAAA;AAAA,mDAEA,CAAC;AAAEP,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,CAFpC,CAAlB;AAKA,MAAMoP,aAAa,gBAAG7W,eAAH,4CAAA;AAAA;AAAA;AAAA,kDAEF,CAAC;AAAEP,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,CAFlC,CAAnB;AASA,MAAMqP,SAAS,gBAAG9W,eAAH,4CAAA;AAAA;AAAA;AAAA,2CACG,CAAC;AAAEP,EAAAA,KAAF;AAASsX,EAAAA;AAAT,CAAD,KAA4BA,UAAU,GAAG,CAAH,GAAOtX,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,CADrE,CAAf;AAKO,SAASuP,WAAT,CAAqB;AAAE7F,EAAAA,IAAF;AAAQD,EAAAA,KAAR;AAAepR,EAAAA;AAAf,CAArB,EAA2E;AAChF,QAAMmX,OAAO,GAAG5V,kBAAU,CAACqV,cAAD,CAA1B;AAEA,QAAMK,UAAU,GAAG,CAAC,CAAC5F,IAArB;AAEA,sBACEjJ,gBAAC,UAAD;AAAA,eACG6O,UAAU,iBAAIpX,eAAC,YAAD;AAAA,gBAAewR;AAAf,MADjB,eAGExR,eAAC,SAAD;AAAW,MAAA,UAAU,EAAEoX,UAAvB;AAAA,gBAAoCjX;AAApC,MAHF,EAKGoR,KAAK,KAAKhQ,SAAV,GACCgQ,KADD,gBAGCvR,eAAC,aAAD;AAAA,6BACEA,eAAC,MAAD;AAAQ,QAAA,IAAI,EAAC,aAAb;AAA2B,QAAA,IAAI,eAAEA,eAACkW,eAAD,KAAjC;AAA4C,QAAA,OAAO,EAAEoB;AAArD;AADF,MARJ;AAAA,IADF;AAeD;;AChDD,MAAMC,SAAS,gBAAGlX,eAAH,4CAAA;AAAA;AAAA;AAAA,0HASF,CAAC;AAAEP,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,EATlC,EAS0C,CAAC;AAAEhI,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWuF,OAAX,GAAqB,CAT9E,CAAf;AAYA,MAAM2L,WAAW,gBAAGpT,eAAH,4CAAA;AAAA;AAAA;AAAA,8JAQE,CAAC;AAAEP,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWkH,IAAX,CAAgBX,YARjC,EASK,CAAC;AAAEhJ,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWiV,QAAX,CAAoBC,SAApB,CAA8B3E,KATlD,CAAjB;AAYO,SAAS4E,KAAT,CAAe;AAAEC,EAAAA,OAAF;AAAWxX,EAAAA,QAAX;AAAqBmX,EAAAA,OAArB;AAA8BM,EAAAA,SAA9B;AAAyCC,EAAAA;AAAzC,CAAf,EAA8F;AACnG,sBACE7X,eAAC,cAAD,CAAgB,QAAhB;AAAyB,IAAA,KAAK,EAAEsX,OAAhC;AAAA,2BACEtX,eAAC8X,4CAAD;AACE,MAAA,WAAW,MADb;AAEE,MAAA,aAAa,EAAC,MAFhB;AAGE,MAAA,OAAO,EAAEH,OAHX;AAIE,MAAA,MAAM,EAAEC,SAJV;AAKE,MAAA,SAAS,EAAEC,QALb;AAME,MAAA,cAAc,EAAEP,OANlB;AAAA,6BAQE/O,gBAAC,SAAD;AAAA,gCACEvI,eAAC,OAAD;AAAS,UAAA,OAAO,EAAEsX;AAAlB,UADF,eAGEtX,eAAC,WAAD;AAAA,oBAAcG;AAAd,UAHF;AAAA;AARF;AADF,IADF;AAkBD;AAEDuX,KAAK,CAACxH,MAAN,GAAemH,WAAf;AACAK,KAAK,CAAC9H,IAAN,GAAa+G,SAAb;AACAe,KAAK,CAACK,MAAN,GAAejB,WAAf;;ACpDO,SAASkB,YAAT,CAAsB;AAAE/V,EAAAA,IAAF;AAAQ9B,EAAAA,QAAR;AAAkBsV,EAAAA,YAAlB;AAAgCwC,EAAAA;AAAhC,CAAtB,EAAmG;AACxG,QAAM;AAAExG,IAAAA;AAAF,MAAUC,4CAAiB,EAAjC;AACA,sBACE1R,eAAC,OAAD;AAAS,IAAA,QAAQ,MAAjB;AAAkB,IAAA,IAAI,EAAEiC,IAAxB;AAA8B,IAAA,YAAY,EAAEwT,YAA5C;AAA0D,IAAA,MAAM,EAAE;AAAEhE,MAAAA;AAAF,KAAlE;AAA2E,IAAA,SAAS,EAAEwG,QAAtF;AAAA,cACG9X;AADH,IADF;AAKD;;MCXY+X,IAAI,gBAAG7X,eAAM,4CAAA,CAAN,CAAY8X,UAAZ,CAAkC;AACpDC,EAAAA,iBAAiB,EAAE,CAACC,IAAD,EAAOC,kBAAP,KAA8B,CAAC,CAAC,WAAD,EAAc,SAAd,EAAyBC,QAAzB,CAAkCF,IAAlC,CAAD,IAA4CC,kBAAkB,CAACD,IAAD;AAD3D,CAAlC,CAAH;AAAA;AAAA;AAAA,wEAIG,CAAC;AAAEG,EAAAA;AAAF,CAAD,KAAmBA,SAJtB,EAMJ,CAAC;AAAE1Y,EAAAA,KAAF;AAAS4J,EAAAA,OAAO,GAAG;AAAnB,CAAD,KAA4BA,OAAO,GAAG5J,KAAK,CAACyC,IAAN,CAAWuF,OAN7C;;ACRV,MAAM2Q,YAAY,GAAG,EAArB;;ACYP,MAAMC,gCAAgC,GAAG,CACvC5Y,KADuC,EAEvCQ,KAAoC,GAAG,aAFA,KAG5B;AACX,UAAQA,KAAR;AACE,SAAK,MAAL;AACE,aAAO,SAAP;;AACF,SAAK,OAAL;AACE,aAAO,SAAP;;AACF,SAAK,SAAL;AACE,aAAOR,KAAK,CAACyC,IAAN,CAAWiV,QAAX,CAAoBC,SAApB,CAA8BA,SAArC;;AACF;AACE,aAAO,aAAP;AARJ;AAUD,CAdD;;AAgBA,MAAMkB,gCAAgC,GAAG,CAACrY,KAAoC,GAAG,aAAxC,KAA2E;AAClH,UAAQA,KAAR;AACE,SAAK,MAAL;AACA,SAAK,SAAL;AACE,aAAO,OAAP;;AACF,SAAK,OAAL;AACA;AACE,aAAO,OAAP;AANJ;AAQD,CATD;;AAWO,MAAMsY,2BAA2B,gBAAGtX,qBAAa,CAAgC,aAAhC,CAAjD;AACP,MAAMuX,sBAAsB,gBAAGvX,qBAAa,CAAkB,OAAlB,CAA5C;MAEawX,kBAAkB,GAAIxY,KAAD,IAA0D;AAC1F,QAAMyY,eAAe,GAAGrX,kBAAU,CAACmX,sBAAD,CAAlC;AACA,SAAOvY,KAAK,IAAIyY,eAAhB;AACD;AAED,MAAMC,oBAAoB,gBAAG3Y,eAAH,4CAAA;AAAA;AAAA;AAAA,gEACRoY,YADQ,EAEXA,YAFW,EAGV,CAAC;AAAE3Y,EAAAA,KAAF;AAASmZ,EAAAA;AAAT,CAAD,KAA2BP,gCAAgC,CAAC5Y,KAAD,EAAQmZ,UAAR,CAHjD,CAA1B;AAMO,SAASC,UAAT,CAAoB;AAAE/Y,EAAAA,QAAF;AAAY8Y,EAAAA;AAAZ,CAApB,EAA6E;AAClF,sBACEjZ,eAAC,oBAAD;AAAsB,IAAA,UAAU,EAAEiZ,UAAlC;AAAA,2BACEjZ,eAAC,sBAAD,CAAwB,QAAxB;AAAiC,MAAA,KAAK,EAAE2Y,gCAAgC,CAACM,UAAD,CAAxE;AAAA,6BACEjZ,eAAC,2BAAD,CAA6B,QAA7B;AAAsC,QAAA,KAAK,EAAEiZ,UAA7C;AAAA,kBAA0D9Y;AAA1D;AADF;AADF,IADF;AAOD;;ACjDD,MAAMgZ,mBAAmB,gBAAG9Y,eAAH,4CAAA;AAAA;AAAA;AAAA,2BAAzB;AAIA,MAAM+Y,sBAAsB,gBAAG/Y,eAAH,4CAAA;AAAA;AAAA;AAAA,2BAA5B;AAIO,SAASgZ,UAAT,CAAoB;AAAE/Y,EAAAA,KAAF;AAASH,EAAAA,QAAT;AAAmBmZ,EAAAA;AAAnB,CAApB,EAAuF;AAC5F,sBACEtZ,eAAC,mBAAD;AAAA,2BACEA,eAAC,UAAD,CAAY,OAAZ;AAAoB,MAAA,OAAO,EAAC,MAA5B;AAAmC,MAAA,IAAI,EAAC,SAAxC;AAAkD,MAAA,KAAK,EAAE8Y,kBAAkB,CAACxY,KAAD,CAA3E;AAAoF,MAAA,aAAa,EAAEgZ,aAAnG;AAAA,gBACGnZ;AADH;AADF,IADF;AAOD;;AAED,SAASoZ,gBAAT,CAA0B;AAAEjZ,EAAAA,KAAF;AAASH,EAAAA,QAAT;AAAmBmZ,EAAAA;AAAnB,CAA1B,EAA6F;AAC3F,sBACEtZ,eAAC,mBAAD;AAAA,2BACEA,eAAC,UAAD,CAAY,OAAZ;AAAoB,MAAA,OAAO,EAAC,MAA5B;AAAmC,MAAA,IAAI,EAAC,SAAxC;AAAkD,MAAA,KAAK,EAAE8Y,kBAAkB,CAACxY,KAAD,CAA3E;AAAoF,MAAA,aAAa,EAAEgZ,aAAnG;AAAA,gBACGnZ;AADH;AADF,IADF;AAOD;;AAEDoZ,gBAAgB,CAACvU,WAAjB,GAA+B,mBAA/B;;AAEA,SAASwU,gBAAT,CAA0B;AAAElZ,EAAAA,KAAF;AAASH,EAAAA,QAAT;AAAmBmZ,EAAAA;AAAnB,CAA1B,EAA6F;AAC3F,sBACEtZ,eAAC,sBAAD;AAAA,2BACEA,eAAC,UAAD,CAAY,OAAZ;AACE,MAAA,OAAO,EAAC,MADV;AAEE,MAAA,IAAI,EAAC,SAFP;AAGE,MAAA,MAAM,EAAC,SAHT;AAIE,MAAA,KAAK,EAAE8Y,kBAAkB,CAACxY,KAAD,CAJ3B;AAKE,MAAA,aAAa,EAAEgZ,aALjB;AAAA,gBAOGnZ;AAPH;AADF,IADF;AAaD;;AAEDqZ,gBAAgB,CAACxU,WAAjB,GAA+B,mBAA/B;;AAEA,SAASyU,gBAAT,CAA0B;AAAEnZ,EAAAA,KAAF;AAASH,EAAAA,QAAT;AAAmBmZ,EAAAA;AAAnB,CAA1B,EAA6F;AAC3F,sBACEtZ,eAAC,sBAAD;AAAA,2BACEA,eAAC,UAAD,CAAY,OAAZ;AACE,MAAA,OAAO,EAAC,MADV;AAEE,MAAA,IAAI,EAAC,SAFP;AAGE,MAAA,MAAM,EAAC,SAHT;AAIE,MAAA,KAAK,EAAE8Y,kBAAkB,CAACxY,KAAD,CAJ3B;AAKE,MAAA,aAAa,EAAEgZ,aALjB;AAAA,gBAOGnZ;AAPH;AADF,IADF;AAaD;;AAEDsZ,gBAAgB,CAACzU,WAAjB,GAA+B,mBAA/B;AAEAqU,UAAU,CAACK,MAAX,GAAoBH,gBAApB;AACAF,UAAU,CAACM,MAAX,GAAoBH,gBAApB;AACAH,UAAU,CAACO,MAAX,GAAoBH,gBAApB;;ACpEA,MAAMI,gBAAc,gBAAGxZ,eAAH,kDAAA;AAAA;AAAA;AAAA,wBACPoY,YADO,CAApB;AAIO,SAASqB,KAAT,CAAe;AAAEC,EAAAA,KAAF;AAASC,EAAAA,qBAAT;AAAgC7Z,EAAAA;AAAhC,CAAf,EAAqF;AAC1F,sBACEoI,gBAACsR,gBAAD;AAAgB,IAAA,qBAAqB,EAAEG,qBAAvC;AAAA,4BACEha,eAAC,UAAD;AAAA,gBAAa+Z;AAAb,MADF,EAEG5Z,QAFH;AAAA,IADF;AAMD;;AChBD,MAAM8Z,aAAa,gBAAG5Z,eAAH,4CAAA;AAAA;AAAA;AAAA,2BAAnB;AAWO,SAAS6Z,YAAT,CAAsB;AAAEH,EAAAA,KAAF;AAAS5Z,EAAAA,QAAT;AAAmBga,EAAAA,qBAAnB;AAA0C,KAAGta;AAA7C,CAAtB,EAA6G;AAClH,MAAIka,KAAK,KAAK,MAAV,IAAoB,CAACI,qBAAzB,EAAgD,MAAM,IAAI9X,KAAJ,CAAU,+BAAV,CAAN;AAChD,sBACEkG,gBAAC,aAAD,OAAmB1I,KAAnB;AAAA,4BACEG,eAAC,UAAD,CAAY,MAAZ;AAAA,gBAAoB+Z;AAApB,MADF,EAEG5Z,QAFH;AAAA,IADF;AAMD;AAED,MAAMia,gBAAgB,gBAAG/Z,eAAH,4CAAA;AAAA;AAAA;AAAA,2BAAtB;;AAIA,SAASga,UAAT,CAAoB;AAAEN,EAAAA,KAAF;AAAS5Z,EAAAA,QAAT;AAAmB,KAAGN;AAAtB,CAApB,EAAoF;AAClF,sBACE0I,gBAAC,gBAAD,OAAsB1I,KAAtB;AAAA,4BACEG,eAAC,UAAD,CAAY,MAAZ;AAAA,gBAAoB+Z;AAApB,MADF,EAEG5Z,QAFH;AAAA,IADF;AAMD;;AAED,MAAMma,kBAAkB,gBAAGja,eAAH,4CAAA;AAAA;AAAA;AAAA,2BAAxB;;AAIA,SAASka,YAAT,CAAsB;AAAER,EAAAA,KAAF;AAAS5Z,EAAAA,QAAT;AAAmB,KAAGN;AAAtB,CAAtB,EAAsF;AACpF,sBACE0I,gBAAC,kBAAD,OAAwB1I,KAAxB;AAAA,4BACEG,eAAC,UAAD,CAAY,MAAZ;AAAA,gBAAoB+Z;AAApB,MADF,EAEG5Z,QAFH;AAAA,IADF;AAMD;;AAMD,MAAMqa,iBAAiB,gBAAGna,eAAH,4CAAA;AAAA;AAAA;AAAA,2BAAvB;;AAIA,SAASoa,WAAT,CAAqB;AAAEta,EAAAA;AAAF,CAArB,EAAmE;AACjE,sBACEH,eAAC,iBAAD;AAAA,2BACEA,eAAC,YAAD;AAAc,MAAA,qBAAqB,MAAnC;AAAoC,MAAA,KAAK,EAAC,MAA1C;AAAA,gBACGG;AADH;AADF,IADF;AAOD;;AAED+Z,YAAY,CAACG,UAAb,GAA0BA,UAA1B;AACAH,YAAY,CAACK,YAAb,GAA4BA,YAA5B;AACA;;AACAL,YAAY,CAACO,WAAb,GAA2BA,WAA3B;AACAP,YAAY,CAACQ,IAAb,GAAoBD,WAApB;AAEA;;MACaE,iBAAiB,GAAGT;;AC3E1B,SAASL,cAAT,CAAwB;AAAE1Z,EAAAA,QAAF;AAAY8K,EAAAA,KAAZ;AAAmB8O,EAAAA,KAAnB;AAA0Ba,EAAAA;AAA1B,CAAxB,EAAwG;AAC7G,MAAIA,QAAQ,KAAK,QAAjB,EAA2B,OAAO,IAAP;AAE3B,sBACE5a,eAAC,YAAD,CAAc,YAAd;AAA2B,IAAA,MAAM,EAAEiL,KAAnC;AAA0C,IAAA,KAAK,EAAE8O,KAAjD;AAAA,2BACE/Z;AAAK,MAAA,SAAS,EAAEiL,KAAK,GAAI,QAAOA,KAAM,EAAjB,GAAqB1J,SAA1C;AAAA,gBAAsDpB;AAAtD;AADF,IADF;AAKD;;ACRM,SAAS0a,cAAT,CAAwBC,OAAxB,EAAkDC,OAAlD,EAAuF;AAC5F,sBAAO/a,eAAC6Z,KAAD;AAAgB,IAAA,KAAK,EAAEkB,OAAO,CAACC,IAA/B;AAAA,cAAsCF,OAAO;AAA7C,IAAP;AACD;;ACCD,MAAMG,cAAc,gBAAG5a,eAAH,4CAAA;AAAA;AAAA;AAAA,uCAApB;AAKA,MAAM6a,cAAc,gBAAG7a,eAAH,4CAAA;AAAA;AAAA;AAAA,2BAApB;AAIA,MAAM8a,OAAO,gBAAG9a,eAAH,4CAAA;AAAA;AAAA;AAAA,8CAAb;AAKA,MAAM+a,OAAO,gBAAG/a,eAAH,4CAAA;AAAA;AAAA;AAAA,8CAAb;;AAWA,SAASgb,YAAT,CAAsB;AAAElb,EAAAA,QAAF;AAAYmb,EAAAA,UAAU,GAAG;AAAzB,CAAtB,EAA2F;AACzF;AACA;AACA,QAAM;AAAExX,IAAAA;AAAF,MAAYC,0DAAmB,EAArC;AACA,QAAMwX,eAAe,GAAGD,UAAU,KAAK,OAAf,GAAyB,GAAzB,GAA+B,GAAvD;;AAEA,MAAIxX,KAAK,GAAGyX,eAAZ,EAA6B;AAC3B,wBACEvb,eAAC,cAAD;AAAA,gBACGwb,gBAAQ,CAACC,GAAT,CAAatb,QAAb,EAAwBub,KAAD,iBACtB1b,eAAC,cAAD;AAAA,kBAAiB0b;AAAjB,QADD;AADH,MADF;AAOD;;AAED,sBACE1b,eAAC,OAAD;AAAA,cACGwb,gBAAQ,CAACC,GAAT,CAAatb,QAAb,EAAwBub,KAAD,iBACtB1b,eAAC,OAAD;AAAA,gBAAU0b;AAAV,MADD;AADH,IADF;AAOD;;AASD,SAASC,YAAT,CAAsB;AAAE5B,EAAAA,KAAF;AAAS6B,EAAAA,UAAT;AAAqBzb,EAAAA,QAArB;AAA+Bya,EAAAA,QAAQ,GAAG;AAA1C,CAAtB,EAAiH;AAG/G,MAA6BA,QAAQ,KAAK,QAA1C,EAAoD;AAClD,WAAO,IAAP;AACD;;AAMD,sBACErS;AAAA,eACGwR,KAAK,gBACJ/Z,eAAC,UAAD,CAAY,MAAZ;AAAmB,MAAA,aAAa,EAAE,CAAlC;AAAqC,MAAA,KAAK,EAAE4b,UAA5C;AAAA,gBACG7B;AADH,MADI,GAIF,IALN,EAMG5Z,QANH;AAAA,IADF;AAUD;;MAEY0b,SAAS,GAAG;AACvBC,EAAAA,GAAG,EAAET,YADkB;AAEvBU,EAAAA,GAAG,EAAEJ;AAFkB;;ACnEzB,MAAMnS,SAAS,gBAAGnJ,eAAH,4CAAA;AAAA;AAAA;AAAA,yHACO,CAAC;AAAEP,EAAAA,KAAF;AAASmC,EAAAA,IAAT;AAAeiC,EAAAA;AAAf,CAAD,KAA8BpE,KAAK,CAACyC,IAAN,CAAWyZ,GAAX,CAAe/Z,IAAf,EAAqBiC,OAArB,EAA8BsC,eADnE,EAEG,CAAC;AAAE1G,EAAAA,KAAF;AAASmC,EAAAA,IAAT;AAAeiC,EAAAA;AAAf,CAAD,KAA8BpE,KAAK,CAACyC,IAAN,CAAWyZ,GAAX,CAAe/Z,IAAf,EAAqBiC,OAArB,EAA8B8E,WAF/D,EAGG,CAAC;AAAElJ,EAAAA,KAAF;AAASmC,EAAAA,IAAT;AAAeiC,EAAAA;AAAf,CAAD,KAA8BpE,KAAK,CAACyC,IAAN,CAAWyZ,GAAX,CAAe/Z,IAAf,EAAqBiC,OAArB,EAA8ByF,WAH/D,EAIF,CAAC;AAAE7J,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWyZ,GAAX,CAAetS,OAJ5B,EAKI,CAAC;AAAE5J,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAWyZ,GAAX,CAAelT,YALlC,CAAf;AASO,MAAMmT,aAAa,GAAG,CAACha,IAAD,EAAgBiC,OAAhB,KAAyD;AACpF,UAAQjC,IAAR;AACE,SAAK,QAAL;AAAe;AACb,eAAOiC,OAAO,KAAK,SAAZ,GAAwB,QAAxB,GAAmC,OAA1C;AACD;;AACD,SAAK,SAAL;AAAgB;AACd,eAAO,SAAP;AACD;;AACD,SAAK,SAAL;AAAgB;AACd,eAAO,OAAP;AACD;;AACD;AAAS;AACP,eAAO,OAAP;AACD;AAZH;AAcD,CAfM;AAiBA,SAASgY,GAAT,CAAa;AAAErQ,EAAAA,KAAF;AAAS5J,EAAAA,IAAI,GAAG,SAAhB;AAA2BiC,EAAAA,OAAO,GAAG;AAArC,CAAb,EAAoF;AACzF,sBACElE,eAAC,SAAD;AAAW,IAAA,IAAI,EAAEiC,IAAjB;AAAuB,IAAA,OAAO,EAAEiC,OAAhC;AAAA,2BACElE,eAAC,UAAD,CAAY,IAAZ;AAAiB,MAAA,IAAI,EAAC,aAAtB;AAAoC,MAAA,KAAK,EAAEic,aAAa,CAACha,IAAD,EAAOiC,OAAP,CAAxD;AAAA,gBACG2H;AADH;AADF,IADF;AAOD;;ACtDM,MAAMsQ,qBAAqB,GAAG;AACnC1E,EAAAA,SAAS,EAAE,SADwB;AAEnC2E,EAAAA,eAAe,EAAE,SAFkB;AAGnCC,EAAAA,eAAe,EAAE,SAHkB;AAInCC,EAAAA,eAAe,EAAE,SAJkB;AAMnCC,EAAAA,WAAW,EAAE,SANsB;AAOnCC,EAAAA,iBAAiB,EAAE,SAPgB;AASnCC,EAAAA,SAAS,EAAE,SATwB;AAUnCC,EAAAA,QAAQ,EAAE,SAVyB;AAWnCC,EAAAA,QAAQ,EAAE,SAXyB;AAYnCC,EAAAA,QAAQ,EAAE,SAZyB;AAanCC,EAAAA,OAAO,EAAE,SAb0B;AAcnCC,EAAAA,OAAO,EAAE,SAd0B;AAenChK,EAAAA,KAAK,EAAE,SAf4B;AAiBnCiK,EAAAA,MAAM,EAAE,SAjB2B;AAkBnCC,EAAAA,gBAAgB,EAAE,SAlBiB;AAmBnCC,EAAAA,WAAW,EAAE,SAnBsB;AAoBnCC,EAAAA,IAAI,EAAE,SApB6B;AAsBnCC,EAAAA,WAAW,EAAE,aAtBsB;AAwBnCC,EAAAA,UAAU,EAAE,SAxBuB;AAyBnCC,EAAAA,gBAAgB,EAAE;AAzBiB,CAA9B;;ACEA,MAAMC,oBAAoB,GAAG;AAClC7W,EAAAA,OAAO,EAAE;AACPnG,IAAAA,KAAK,EAAE6b,qBAAqB,CAACrJ,KADtB;AAEPtM,IAAAA,eAAe,EAAE2V,qBAAqB,CAAC1E;AAFhC,GADyB;AAKlCnR,EAAAA,KAAK,EAAE;AACLhG,IAAAA,KAAK,EAAE6b,qBAAqB,CAACM,SADxB;AAELjW,IAAAA,eAAe,EAAE2V,qBAAqB,CAACS;AAFlC;AAL2B,CAA7B;;ACAA,MAAMW,oBAAoB,GAAG;AAClCzU,EAAAA,YAAY,EAAE,MADoB;AAElCE,EAAAA,WAAW,EAAE,KAFqB;AAGlCN,EAAAA,SAAS,EAAE,MAHuB;AAIlC3G,EAAAA,QAAQ,EAAE,MAJwB;AAKlC0G,EAAAA,QAAQ,EAAE,OALwB;AAMlCH,EAAAA,QAAQ,EAAE,EANwB;AAOlCO,EAAAA,cAAc,EAAE;AACdpC,IAAAA,OAAO,EAAE;AADK,GAPkB;AAUlCoO,EAAAA,OAAO,EAAE;AACPrO,IAAAA,eAAe,EAAE2V,qBAAqB,CAAC1E,SADhC;AAEP9O,IAAAA,uBAAuB,EAAEwT,qBAAqB,CAACU,OAFxC;AAGPjU,IAAAA,sBAAsB,EAAEuT,qBAAqB,CAACC,eAHvC;AAIPrT,IAAAA,mBAAmB,EAAEoT,qBAAqB,CAACS;AAJpC,GAVyB;AAgBlCY,EAAAA,SAAS,EAAE;AACThX,IAAAA,eAAe,EAAE,qBADR;AAETmC,IAAAA,uBAAuB,EAAEwT,qBAAqB,CAACU,OAFtC;AAGTjU,IAAAA,sBAAsB,EAAE,oBAHf;AAITG,IAAAA,mBAAmB,EAAEoT,qBAAqB,CAACS;AAJlC,GAhBuB;AAsBlCa,EAAAA,MAAM,EAAE;AACNjX,IAAAA,eAAe,EAAE2V,qBAAqB,CAACgB,WADjC;AAENxU,IAAAA,uBAAuB,EAAEwT,qBAAqB,CAACgB,WAFzC;AAGNvU,IAAAA,sBAAsB,EAAEuT,qBAAqB,CAACgB,WAHxC;AAINpU,IAAAA,mBAAmB,EAAEoT,qBAAqB,CAACgB;AAJrC,GAtB0B;AA4BlC,iBAAe;AACb3W,IAAAA,eAAe,EAAE2V,qBAAqB,CAACgB,WAD1B;AAEbxU,IAAAA,uBAAuB,EAAEwT,qBAAqB,CAACgB,WAFlC;AAGbvU,IAAAA,sBAAsB,EAAEuT,qBAAqB,CAACgB,WAHjC;AAIbpU,IAAAA,mBAAmB,EAAEoT,qBAAqB,CAACgB;AAJ9B,GA5BmB;AAkClCrK,EAAAA,KAAK,EAAE;AACLtM,IAAAA,eAAe,EAAE,2BADZ;AAELmC,IAAAA,uBAAuB,EAAEwT,qBAAqB,CAACgB,WAF1C;AAGLO,IAAAA,oBAAoB,EAAE,0BAHjB;AAIL9U,IAAAA,sBAAsB,EAAE,0BAJnB;AAKL+U,IAAAA,gBAAgB,EAAE,0BALb;AAML5U,IAAAA,mBAAmB,EAAEoT,qBAAqB,CAACgB;AANtC;AAlC2B,CAA7B;;ACAA,MAAMS,kBAAkB,GAAG;AAChC9U,EAAAA,YAAY,EAAE,MADkB;AAEhCE,EAAAA,WAAW,EAAE,KAFmB;AAGhCU,EAAAA,OAAO,EAAE,MAHuB;AAIhCmL,EAAAA,OAAO,EAAE;AACPrO,IAAAA,eAAe,EAAE2V,qBAAqB,CAACrJ,KADhC;AAEPnJ,IAAAA,WAAW,EAAEwS,qBAAqB,CAAC1E;AAF5B,GAJuB;AAQhC+F,EAAAA,SAAS,EAAE;AACThX,IAAAA,eAAe,EAAE2V,qBAAqB,CAACrJ,KAD9B;AAETnJ,IAAAA,WAAW,EAAEwS,qBAAqB,CAACS;AAF1B,GARqB;AAYhCa,EAAAA,MAAM,EAAE;AACNjX,IAAAA,eAAe,EAAE2V,qBAAqB,CAACU,OADjC;AAENlT,IAAAA,WAAW,EAAEwS,qBAAqB,CAACS;AAF7B;AAZwB,CAA3B;;ACAA,MAAMiB,oBAAoB,GAAG;AAClChJ,EAAAA,OAAO,EAAEsH,qBAAqB,CAAC1E,SADG;AAElCqG,EAAAA,YAAY,EAAE3B,qBAAqB,CAACC,eAFF;AAGlC2B,EAAAA,MAAM,EAAE5B,qBAAqB,CAACI,WAHI;AAIlCyB,EAAAA,WAAW,EAAE7B,qBAAqB,CAACK,iBAJD;AAKlCyB,EAAAA,OAAO,EAAE9B,qBAAqB,CAACY,MALG;AAMlCmB,EAAAA,OAAO,EAAE/B,qBAAqB,CAACY,MANG;AAOlCoB,EAAAA,MAAM,EAAEhC,qBAAqB,CAACa,gBAPI;AAQlCpI,EAAAA,SAAS,EAAEuH,qBAAqB,CAACS,QARC;AASlCnK,EAAAA,KAAK,EAAE0J,qBAAqB,CAACS,QATK;AAUlCwB,EAAAA,KAAK,EAAEjC,qBAAqB,CAACM,SAVK;AAWlCtK,EAAAA,YAAY,EAAEgK,qBAAqB,CAACW,OAXF;AAYlCjN,EAAAA,iBAAiB,EAAEsM,qBAAqB,CAACrJ,KAZP;AAalCwD,EAAAA,OAAO,EAAE;AACPC,IAAAA,IAAI,EAAE,wBADC;AAEPjQ,IAAAA,KAAK,EAAE,2BAFA;AAGP+X,IAAAA,gBAAgB,EAAE;AAHX;AAbyB,CAA7B;;ACAA,MAAMC,6BAA6B,GAAG;AAC3CjJ,EAAAA,gBAAgB,EAAE;AAChB4I,IAAAA,OAAO,EAAE9B,qBAAqB,CAACY,MADf;AAEhBoB,IAAAA,MAAM,EAAEhC,qBAAqB,CAACa,gBAFd;AAGhBuB,IAAAA,OAAO,EAAEpC,qBAAqB,CAACc,WAHf;AAIhBuB,IAAAA,IAAI,EAAErC,qBAAqB,CAACe;AAJZ;AADyB,CAAtC;;ACFA,MAAMuB,wBAAwB,GAAG;AACtChT,EAAAA,2BAA2B,EAAE,CADS;AAEtCE,EAAAA,cAAc,EAAE;AAFsB,CAAjC;;ACYP,MAAM+S,gBAAyD,GAAG;AAChEjY,EAAAA,OAAO,EAAE;AACPD,IAAAA,eAAe,EAAE2V,qBAAqB,CAACrJ,KADhC;AAEPnJ,IAAAA,WAAW,EAAEwS,qBAAqB,CAACS,QAF5B;AAGPtc,IAAAA,KAAK,EAAE,OAHA;AAIPuO,IAAAA,uBAAuB,EAAE;AAJlB,GADuD;AAOhE4D,EAAAA,KAAK,EAAE;AACL9I,IAAAA,WAAW,EAAEwS,qBAAqB,CAACQ,QAD9B;AAELrc,IAAAA,KAAK,EAAE,OAFF;AAGLuO,IAAAA,uBAAuB,EAAE;AAHpB,GAPyD;AAYhE8P,EAAAA,KAAK,EAAE;AACLhV,IAAAA,WAAW,EAAEwS,qBAAqB,CAAC1E,SAD9B;AAELnX,IAAAA,KAAK,EAAE,OAFF;AAGLuO,IAAAA,uBAAuB,EAAE;AAHpB,GAZyD;AAiBhEtH,EAAAA,QAAQ,EAAE;AACRf,IAAAA,eAAe,EAAE2V,qBAAqB,CAACU,OAD/B;AAERlT,IAAAA,WAAW,EAAEwS,qBAAqB,CAACS,QAF3B;AAGRtc,IAAAA,KAAK,EAAE,aAHC;AAIRuO,IAAAA,uBAAuB,EAAE;AAJjB,GAjBsD;AAuBhE+P,EAAAA,OAAO,EAAE;AACPjV,IAAAA,WAAW,EAAEwS,qBAAqB,CAACa,gBAD5B;AAEP1c,IAAAA,KAAK,EAAE,OAFA;AAGPuO,IAAAA,uBAAuB,EAAE;AAHlB;AAvBuD,CAAlE;AA8BO,MAAMgQ,mBAAmB,GAAG;AACjC1R,EAAAA,SAAS,EAAE,KADsB;AAEjCC,EAAAA,YAAY,EAAE,KAFmB;AAGjCpE,EAAAA,WAAW,EAAE,KAHoB;AAIjCF,EAAAA,YAAY,EAAE,MAJmB;AAKjCwE,EAAAA,sBAAsB,EAAE,EALS;AAMjC5D,EAAAA,OAAO,EAAE,UANwB;AAOjCwD,EAAAA,oBAAoB,EAAE,WAPW;AAQjCuB,EAAAA,cAAc,EAAE0N,qBAAqB,CAAC1E,SARL;AASjCjJ,EAAAA,gBAAgB,EAAE,aATe;AAUjCmB,EAAAA,iBAAiB,EAAE,GAVc;AAWjC/C,EAAAA,MAAM,EAAE8R;AAXyB,CAA5B;;ACxCA,MAAMI,mBAAmB,GAAG;AACjCve,EAAAA,IAAI,EAAE,EAD2B;AAEjC2O,EAAAA,SAAS,EAAE;AACT1I,IAAAA,eAAe,EAAE2V,qBAAqB,CAACrJ,KAD9B;AAET9J,IAAAA,WAAW,EAAE,KAFJ;AAGTW,IAAAA,WAAW,EAAEwS,qBAAqB,CAACQ;AAH1B,GAFsB;AAOjCvN,EAAAA,OAAO,EAAE;AACP5I,IAAAA,eAAe,EAAE2V,qBAAqB,CAAC1E,SADhC;AAEPlI,IAAAA,SAAS,EAAE,CAFJ;AAGPD,IAAAA,oBAAoB,EAAE6M,qBAAqB,CAACrJ;AAHrC,GAPwB;AAYjCvL,EAAAA,QAAQ,EAAE;AACRf,IAAAA,eAAe,EAAE2V,qBAAqB,CAACU,OAD/B;AAERlT,IAAAA,WAAW,EAAEwS,qBAAqB,CAACS;AAF3B;AAZuB,CAA5B;;ACEA,MAAMmC,mBAAmB,GAAG;AACjChT,EAAAA,KAAK,EAAE8S,mBAD0B;AAEjC5P,EAAAA,KAAK,EAAE6P,mBAF0B;AAGjCtT,EAAAA,UAAU,EAAEiT;AAHqB,CAA5B;;ACFA,MAAMO,6BAA6B,GAAG;AAC3C1O,EAAAA,MAAM,EAAE;AACNC,IAAAA,eAAe,EAAE,EADX;AAENC,IAAAA,iBAAiB,EAAE,EAFb;AAGN7G,IAAAA,WAAW,EAAEwS,qBAAqB,CAACS;AAH7B;AADmC,CAAtC;;ACmCA,MAAMrK,UAA2B,GAAG;AACzC/L,EAAAA,eAAe,EAAE,aADwB;AAEzC1C,EAAAA,KAAK,EAAE,EAFkC;AAGzCgD,EAAAA,MAAM,EAAE,EAHiC;AAIzCgC,EAAAA,YAAY,EAAE,EAJ2B;AAKzCE,EAAAA,WAAW,EAAE,CAL4B;AAMzCW,EAAAA,WAAW,EAAE,aAN4B;AAOzCqJ,EAAAA,UAAU,EAAE;AACVC,IAAAA,QAAQ,EAAE,KADA;AAEVC,IAAAA,QAAQ,EAAE,OAFA;AAGVC,IAAAA,cAAc,EAAE;AAHN,GAP6B;AAYzCX,EAAAA,KAAK,EAAE;AACL9O,IAAAA,IAAI,EAAE;AACJ+C,MAAAA,OAAO,EAAE,CADL;AAEJgM,MAAAA,KAAK,EAAE,IAFH;AAGJI,MAAAA,MAAM,EAAE;AAHJ,KADD;AAMLjP,IAAAA,MAAM,EAAE;AACN6O,MAAAA,KAAK,EAAE;AADD;AANH,GAZkC;AAsBzClL,EAAAA,QAAQ,EAAE;AACRiL,IAAAA,KAAK,EAAE,CADC;AAERhM,IAAAA,eAAe,EAAE+W,oBAAoB,CAACC,SAArB,CAA+B7U,uBAFxC;AAGRgB,IAAAA,WAAW,EAAE4T,oBAAoB,CAACC,SAArB,CAA+BzU;AAHpC,GAtB+B;AA2BzCtC,EAAAA,OAAO,EAAE;AACPmC,IAAAA,sBAAsB,EAAE2U,oBAAoB,CAACC,SAArB,CAA+B5U;AADhD,GA3BgC;AA8BzCkK,EAAAA,KAAK,EAAE;AACLlK,IAAAA,sBAAsB,EAAE2U,oBAAoB,CAACzK,KAArB,CAA2B4K;AAD9C;AA9BkC,CAApC;;ACnCA,MAAMuB,sBAAsB,GAAG;AACpCvV,EAAAA,OAAO,EAAE,WAD2B;AAEpCC,EAAAA,WAAW,EAAEkU,oBAAoB,CAACjJ,SAFE;AAGpC5L,EAAAA,WAAW,EAAE,KAHuB;AAIpC6K,EAAAA,WAAW,EAAE;AAJuB,CAA/B;;ACFA,MAAMqL,qBAAqB,GAAG;AACnCtb,EAAAA,MAAM,EAAE;AAD2B,CAA9B;;ACGA,MAAMub,iBAAiB,GAAG;AAC/BrW,EAAAA,YAAY,EAAE,MADiB;AAE/BY,EAAAA,OAAO,EAAE,UAFsB;AAG/BmL,EAAAA,OAAO,EAAE;AACPuK,IAAAA,IAAI,EAAE;AACJ5Y,MAAAA,eAAe,EAAE2V,qBAAqB,CAACkB,gBADnC;AAEJrU,MAAAA,WAAW,EAAE,GAFT;AAGJW,MAAAA,WAAW,EAAEwS,qBAAqB,CAACgB;AAH/B,KADC;AAMPkC,IAAAA,OAAO,EAAE;AACP7Y,MAAAA,eAAe,EAAE2V,qBAAqB,CAACgB,WADhC;AAEPnU,MAAAA,WAAW,EAAE,KAFN;AAGPW,MAAAA,WAAW,EAAEwS,qBAAqB,CAAC1E;AAH5B;AANF,GAHsB;AAe/BhR,EAAAA,OAAO,EAAE;AACP2Y,IAAAA,IAAI,EAAE;AACJ5Y,MAAAA,eAAe,EAAE2V,qBAAqB,CAACU,OADnC;AAEJ7T,MAAAA,WAAW,EAAE,GAFT;AAGJW,MAAAA,WAAW,EAAEwS,qBAAqB,CAACgB;AAH/B,KADC;AAMPkC,IAAAA,OAAO,EAAE;AACP7Y,MAAAA,eAAe,EAAE2V,qBAAqB,CAACgB,WADhC;AAEPnU,MAAAA,WAAW,EAAE,KAFN;AAGPW,MAAAA,WAAW,EAAEwS,qBAAqB,CAACM;AAH5B;AANF,GAfsB;AA2B/B0B,EAAAA,MAAM,EAAE;AACNiB,IAAAA,IAAI,EAAE;AACJ5Y,MAAAA,eAAe,EAAE2V,qBAAqB,CAACI,WADnC;AAEJvT,MAAAA,WAAW,EAAE,GAFT;AAGJW,MAAAA,WAAW,EAAEwS,qBAAqB,CAACgB;AAH/B,KADA;AAMNkC,IAAAA,OAAO,EAAE;AACP7Y,MAAAA,eAAe,EAAE2V,qBAAqB,CAACgB,WADhC;AAEPnU,MAAAA,WAAW,EAAE,KAFN;AAGPW,MAAAA,WAAW,EAAEkU,oBAAoB,CAACM;AAH3B;AANH;AA3BuB,CAA1B;;ACQA,MAAMmB,OAAqB,GAAG;AACnC9Y,EAAAA,eAAe,EAAEqX,oBAAoB,CAACO,KADH;AAEnCtV,EAAAA,YAAY,EAAE,EAFqB;AAGnCyW,EAAAA,OAAO,EAAE,IAH0B;AAInCC,EAAAA,iBAAiB,EAAE,EAJgB;AAKnCC,EAAAA,eAAe,EAAE,CALkB;AAMnCC,EAAAA,eAAe,EAAE;AANkB,CAA9B;;ACRP,MAAMC,cAAc,GAAG,CAACxc,QAAD,EAAmByc,oBAAnB,KACrB9O,IAAI,CAACzK,KAAL,CAAWlD,QAAQ,GAAGyc,oBAAtB,CADF;;AAaA,MAAMC,0BAA0B,GAAG,CACjCD,oBADiC,EAEjCE,oBAFiC,EAGjCC,qBAHiC,MAIP;AAC1BC,EAAAA,YAAY,EAAE;AACZ7c,IAAAA,QAAQ,EAAG,GAAE2c,oBAAqB,IADtB;AAEZ1c,IAAAA,UAAU,EAAG,GAAEuc,cAAc,CAACC,oBAAD,EAAuBE,oBAAvB,CAA6C;AAF9D,GADY;AAK1BG,EAAAA,aAAa,EAAE;AACb9c,IAAAA,QAAQ,EAAG,GAAE4c,qBAAsB,IADtB;AAEb3c,IAAAA,UAAU,EAAG,GAAEuc,cAAc,CAACC,oBAAD,EAAuBE,oBAAvB,CAA6C;AAF7D;AALW,CAJO,CAAnC;;AAeO,MAAMI,wBAAwB,GAAG;AACtC1c,EAAAA,MAAM,EAAE;AACN4a,IAAAA,KAAK,EAAEjC,qBAAqB,CAACM,SADvB;AAEN,mBAAeN,qBAAqB,CAACO,QAF/B;AAGN5J,IAAAA,KAAK,EAAEqJ,qBAAqB,CAACrJ,KAHvB;AAIN,mBAAeqJ,qBAAqB,CAACrJ,KAJ/B;AAKN+B,IAAAA,OAAO,EAAEsH,qBAAqB,CAAC1E,SALzB;AAMN,qBAAiB0E,qBAAqB,CAACC,eANjC;AAON2B,IAAAA,MAAM,EAAE5B,qBAAqB,CAACI,WAPxB;AAQN0B,IAAAA,OAAO,EAAE9B,qBAAqB,CAACY,MARzB;AASNoB,IAAAA,MAAM,EAAEhC,qBAAqB,CAACa;AATxB,GAD8B;AAYtCva,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE;AACPQ,MAAAA,UAAU,EAAE;AACV4J,QAAAA,OAAO,EAA0B,SADvB;AAEVqT,QAAAA,IAAI,EAA0B;AAFpB,OADL;AAKP9c,MAAAA,UAAU,EAAE,GALL;AAMPC,MAAAA,SAAS,EAAE,QANJ;AAOPX,MAAAA,OAAO,EAAE;AACP;AACAyd,QAAAA,OAAO,EAAEP,0BAA0B,CAAC,GAAD,EAAM,EAAN,EAAU,EAAV,CAF5B;AAGP;AACAQ,QAAAA,OAAO,EAAER,0BAA0B,CAAC,GAAD,EAAM,EAAN,EAAU,EAAV,CAJ5B;AAKP;AACAS,QAAAA,OAAO,EAAET,0BAA0B,CAAC,GAAD,EAAM,EAAN,EAAU,EAAV,CAN5B;AAOP;AACAU,QAAAA,OAAO,EAAEV,0BAA0B,CAAC,GAAD,EAAM,EAAN,EAAU,EAAV,CAR5B;AASP;AACAW,QAAAA,OAAO,EAAEX,0BAA0B,CAAC,GAAD,EAAM,EAAN,EAAU,EAAV;AAV5B;AAPF,KADJ;AAqBLjd,IAAAA,MAAM,EAAE;AACNM,MAAAA,UAAU,EAAE;AACV4J,QAAAA,OAAO,EAA0B,WADvB;AAEVqT,QAAAA,IAAI,EAA0B;AAFpB,OADN;AAKN9c,MAAAA,UAAU,EAAE;AACVyJ,QAAAA,OAAO,EAAE,GADC;AAEVqT,QAAAA,IAAI,EAAE;AAFI,OALN;AASN7c,MAAAA,SAAS,EAAE;AACTwJ,QAAAA,OAAO,EAAE,QADA;AAETqT,QAAAA,IAAI,EAAE;AAFG,OATL;AAaNxd,MAAAA,OAAO,EAAE;AACP,sBAAckd,0BAA0B,CAAC,GAAD,EAAM,EAAN,EAAU,EAAV,CADjC;AAEP,uBAAeA,0BAA0B,CAAC,GAAD,EAAM,EAAN,EAAU,EAAV,CAFlC;AAGPhT,QAAAA,IAAI,EAAEgT,0BAA0B,CAAC,GAAD,EAAM,EAAN,EAAU,EAAV,CAHzB;AAIP,sBAAcA,0BAA0B,CAAC,GAAD,EAAM,EAAN,EAAU,EAAV,CAJjC;AAKP,uBAAeA,0BAA0B,CAAC,GAAD,EAAM,EAAN,EAAU,EAAV;AALlC;AAbH;AArBH,GAZ+B;AAuDtCY,EAAAA,IAAI,EAAE;AACJC,IAAAA,aAAa,EAAEvE,qBAAqB,CAACQ;AADjC;AAvDgC,CAAjC;;AChBA,MAAMjK,WAAW,GAAG;AACzBiO,EAAAA,MAAM,EAAE;AACNjd,IAAAA,IAAI,EAAE,CADA;AAENC,IAAAA,KAAK,EAAE,GAFD;AAGNC,IAAAA,MAAM,EAAE,GAHF;AAINC,IAAAA,KAAK,EAAE,IAJD;AAKN+c,IAAAA,IAAI,EAAE;AALA,GADiB;AAQzBjO,EAAAA,GAAG,EAAE;AACHkO,IAAAA,eAAe,EAAE,kBADd;AAEHjO,IAAAA,gBAAgB,EAAE,kBAFf;AAGHkO,IAAAA,eAAe,EAAE,mBAHd;AAIHC,IAAAA,cAAc,EAAE;AAJb,GARoB;AAczBhQ,EAAAA,GAAG,EAAE;AACH8P,IAAAA,eAAe,EAAE,kBADd;AAEHjO,IAAAA,gBAAgB,EAAE,kBAFf;AAGHkO,IAAAA,eAAe,EAAE,mBAHd;AAIHC,IAAAA,cAAc,EAAE;AAJb;AAdoB,CAApB;AAuBP;;MACajhB,KAAK,GAAG;AACnBgI,EAAAA,OAAO,EAAE,CADU;AAEnBtE,EAAAA,MAAM,EAAEqa,oBAFW;AAGnBrG,EAAAA,QAAQ,EAAE;AAAEC,IAAAA,SAAS,EAAE0E;AAAb,GAHS;AAInB5V,EAAAA,MAAM,EAAE+W,oBAJW;AAKnBjV,EAAAA,MAAM,EAAEkV,oBALW;AAMnB9T,EAAAA,IAAI,EAAEmU,kBANa;AAOnBxI,EAAAA,eAAe,EAAEkJ,6BAPE;AAQnB/S,EAAAA,KAAK,EAAEwT,mBARY;AASnBvc,EAAAA,UAAU,EAAE0d,wBATO;AAUnBlE,EAAAA,GAAG,EAAEmD,iBAVc;AAWnB6B,EAAAA,OAAO,EAAE9B,qBAXU;AAYnB7O,EAAAA,eAAe,EAAE2O,6BAZE;AAanBzM,EAAAA,UAbmB;AAcnBqB,EAAAA,QAAQ,EAAEqL,sBAdS;AAenBK,EAAAA;AAfmB;;ACnCd,SAAS2B,UAAT,GAAoC;AACzC,sBAAOjhB,eAAC,UAAD,CAAY,IAAZ;AAAiB,IAAA,IAAI,EAAC,MAAtB;AAAA;AAAA,IAAP;AACD;;ICAMkhB;;;;;;;;;;;AAAAA;;;;;;;AAEP,MAAMC,iBAAiB,gBAAG9gB,eAAH,4CAAA;AAAA;AAAA;AAAA,2BAAvB;AAIA,MAAM+gB,oBAAoB,gBAAG/gB,eAAH,4CAAA;AAAA;AAAA;AAAA,8EACJ,CAAC;AAAEP,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAW+c,OAAX,CAAmB9Y,eAD9B,EAEP,CAAC;AAAE1G,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAW+c,OAAX,CAAmBxW,YAF3B,EAGb,CAAC;AAAEhJ,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAW+c,OAAX,CAAmBC,OAHrB,EAIb,CAAC;AAAEzf,EAAAA;AAAF,CAAD,KAAgB,GAAEA,KAAK,CAACyC,IAAN,CAAW+c,OAAX,CAAmBG,eAAgB,MAAK3f,KAAK,CAACyC,IAAN,CAAW+c,OAAX,CAAmBE,iBAAkB,IAJlF,CAA1B;;AAWA,SAAS6B,SAAT,CAAmBxhB,KAAnB,EAAmD;AACjD,QAAMC,KAAK,gBAAGC,eAAQ,EAAtB;AACA,sBACEC,eAACyW,2CAAD,OAAU5W,KAAV;AAAA,2BACEG,eAAC,KAAD;AAAO,MAAA,KAAK,EAAEF,KAAK,CAACyC,IAAN,CAAW+c,OAAX,CAAmB9Y;AAAjC;AADF,IADF;AAKD;;AAED,MAAM8a,WAAW,gBAAGjhB,eAAM,CAACghB,SAAD,CAAT;AAAA;AAAA;AAAA,mCACN,CAAC;AAAEvhB,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACyC,IAAN,CAAW+c,OAAX,CAAmB9Y,eAD5B,EAEF,CAAC;AAAE+a,EAAAA;AAAF,CAAD,KAAoB,UAASA,SAAS,KAAK,QAAd,GAAyB,GAAzB,GAA+B,CAAE,MAF5D,CAAjB;AAUO,SAASC,WAAT,CAAqB;AAAErhB,EAAAA,QAAF;AAAYshB,EAAAA;AAAZ,CAArB,EAA6E;AAClF,sBACElZ,gBAAC,iBAAD;AAAA,eACGkZ,QAAQ,KAAK,QAAb,gBAAwBzhB,eAAC,WAAD;AAAa,MAAA,SAAS,EAAEyhB;AAAxB,MAAxB,GAA+D,IADlE,eAEEzhB,eAAC,oBAAD;AAAA,6BACEA,eAAC,UAAD,CAAY,IAAZ;AAAiB,QAAA,IAAI,EAAC,MAAtB;AAA6B,QAAA,KAAK,EAAC,OAAnC;AAAA,kBACGG;AADH;AADF,MAFF,EAOGshB,QAAQ,KAAK,KAAb,gBAAqBzhB,eAAC,WAAD;AAAa,MAAA,SAAS,EAAEyhB;AAAxB,MAArB,GAA4D,IAP/D;AAAA,IADF;AAWD;;ACnDM,MAAMC,sBAAuC,GAAG,KAAhD;AACA,MAAMC,8BAAgE,GAAG;AAC9ElX,EAAAA,GAAG,EAAE;AADyE,CAAzE;;ACSP,MAAMmX,oBAAoB,gBAAGvhB,eAAH,iDAAA;AAAA;AAAA;AAAA,gDAA1B;AAUA,MAAMwhB,kBAAkB,gBAAGxhB,eAAH,4CAAA;AAAA;AAAA;AAAA,+DACX,CAAC;AAAEP,EAAAA,KAAF;AAASgiB,EAAAA;AAAT,CAAD,KAA0BA,QAAQ,GAAGhiB,KAAK,CAACyC,IAAN,CAAW+c,OAAX,CAAmBC,OAAtB,GAAgC,CADvD,EAGR,CAAC;AAAEuC,EAAAA;AAAF,CAAD,KAAmBA,QAAQ,GAAG,SAAH,GAAe,QAHlC,CAAxB;;AAMA,SAASC,iBAAT,CACEC,gBADF,EAEEC,oBAFF,EAGmB;AACjB,MAAI,CAACA,oBAAL,EAA2B,OAAOD,gBAAP;;AAE3B,MAAIA,gBAAgB,KAAK,KAAzB,EAAgC;AAC9B,WAAOC,oBAAoB,CAACC,CAArB,GAAyB,CAAzB,GAA6B,QAA7B,GAAwCF,gBAA/C;AACD;;AAED,MAAIA,gBAAgB,KAAK,QAAzB,EAAmC;AACjC,WAAOC,oBAAoB,CAACC,CAArB,GAAyB,CAAzB,GAA6B,KAA7B,GAAqCF,gBAA5C;AACD;;AAED,SAAOA,gBAAP;AACD;;AAEM,SAASG,OAAT,CAAiB;AACtBhiB,EAAAA,QADsB;AAEtBiiB,EAAAA,cAFsB;AAGtBX,EAAAA,QAAQ,GAAGC,sBAHW;AAItBjd,EAAAA,OAJsB;AAKtB4d,EAAAA,gBAAgB,GAAGV,8BALG;AAMtBjC,EAAAA,eANsB;AAOtB4C,EAAAA;AAPsB,CAAjB,EAQwB;AAC7B,QAAMxiB,KAAK,gBAAGC,eAAQ,EAAtB;AACA,QAAM2J,OAAO,GAAGgW,eAAe,IAAI5f,KAAK,CAACyC,IAAN,CAAW+c,OAAX,CAAmBI,eAAtD;AAEA,QAAM,CAAC/H,OAAD,EAAU4K,UAAV,IAAwBjZ,gBAAQ,CAACnB,OAAO,CAACia,cAAD,CAAR,CAAtC;AAEA,QAAM;AAAEI,IAAAA,CAAF;AAAKN,IAAAA,CAAL;AAAQO,IAAAA,SAAR;AAAmBC,IAAAA,QAAnB;AAA6BC,IAAAA,QAA7B;AAAuCC,IAAAA,MAAvC;AAA+CC,IAAAA,IAA/C;AAAqDC,IAAAA;AAArD,MAAwEC,oBAAW,CAAC;AACxFC,IAAAA,SAAS,EAAEvB,QAD6E;AAExFkB,IAAAA,QAAQ,EAAEN,gBAAgB,EAAE5X,GAF4D;AAGxFwY,IAAAA,UAAU,EAAE,CAACC,eAAM,CAACxZ,OAAD,CAAP,EAAkByZ,cAAK,EAAvB,EAA2BC,aAAI,EAA/B;AAH4E,GAAD,CAAzF,CAN6B;;AAa7BC,EAAAA,iBAAS,CAAC,MAAM;AACd,QAAI,CAACR,IAAI,CAACJ,SAAL,CAAea,OAAhB,IAA2B,CAACT,IAAI,CAACH,QAAL,CAAcY,OAA9C,EAAuD;AACrD,aAAO,MAAM/hB,SAAb;AACD;;AACD,UAAMgiB,OAAO,GAAG,CAAC,GAAGC,yBAAgB,CAACX,IAAI,CAACJ,SAAL,CAAea,OAAhB,CAApB,EAA8C,GAAGE,yBAAgB,CAACX,IAAI,CAACH,QAAL,CAAcY,OAAf,CAAjE,CAAhB;AACAC,IAAAA,OAAO,CAACE,OAAR,CAAiBC,MAAD,IAAY;AAC1BA,MAAAA,MAAM,CAACC,gBAAP,CAAwB,QAAxB,EAAkCf,MAAlC;AACAc,MAAAA,MAAM,CAACC,gBAAP,CAAwB,QAAxB,EAAkCf,MAAlC;AACD,KAHD;AAKA,WAAO,MAAM;AACXW,MAAAA,OAAO,CAACE,OAAR,CAAiBC,MAAD,IAAY;AAC1BA,QAAAA,MAAM,CAACE,mBAAP,CAA2B,QAA3B,EAAqChB,MAArC;AACAc,QAAAA,MAAM,CAACE,mBAAP,CAA2B,QAA3B,EAAqChB,MAArC;AACD,OAHD;AAID,KALD;AAMD,GAhBQ,EAgBN,CAACC,IAAI,CAACJ,SAAN,EAAiBI,IAAI,CAACH,QAAtB,EAAgCE,MAAhC,CAhBM,CAAT;AAkBAS,EAAAA,iBAAS,CAAC,MAAM;AACd,QAAI,CAACf,QAAL,EAAe;AACfA,IAAAA,QAAQ,CAAC;AACPE,MAAAA,CADO;AAEPN,MAAAA,CAFO;AAGPO,MAAAA,SAHO;AAIPC,MAAAA,QAJO;AAKPC,MAAAA,QALO;AAMPC,MAAAA,MANO;AAOPC,MAAAA,IAPO;AAQPC,MAAAA;AARO,KAAD,CAAR;AAUD,GAZQ,EAYN,CAACN,CAAD,EAAIN,CAAJ,EAAOO,SAAP,EAAkBC,QAAlB,EAA4BC,QAA5B,EAAsCC,MAAtC,EAA8CC,IAA9C,EAAoDC,cAApD,EAAoER,QAApE,CAZM,CAAT;AAcA,sBACE/Z;AAAA,4BACEvI,eAAC,oBAAD;AACE,MAAA,GAAG,EAAEyiB,SADP;AAEE,MAAA,iBAAiB,EAAC,QAFpB;AAGE,MAAA,OAAO,EAAE,MAAMF,UAAU,CAAEsB,IAAD,IAAU,CAACA,IAAZ,CAH3B;AAIE,MAAA,YAAY,EAAE,MAAM;AAClBtB,QAAAA,UAAU,CAAC,IAAD,CAAV;AACD,OANH;AAOE,MAAA,OAAO,EAAE,MAAM;AACbA,QAAAA,UAAU,CAAC,IAAD,CAAV;AACD,OATH;AAAA,gBAWGpiB;AAXH,MADF,eAeEH,eAAC,kBAAD;AACE,MAAA,GAAG,EAAE0iB,QADP;AAEE,MAAA,QAAQ,EAAE/K,OAFZ;AAGE,MAAA,mBAAmB,EAAE,CAACA,OAHxB;AAIE,MAAA,KAAK,EAAE;AACL8J,QAAAA,QAAQ,EAAEkB,QADL;AAELlR,QAAAA,GAAG,EAAE,CAFA;AAGLD,QAAAA,IAAI,EAAE,CAHD;AAILsS,QAAAA,SAAS,EAAE,CACT;AACE;AACAC,UAAAA,WAAW,EAAG,GAAEjT,IAAI,CAACzK,KAAL,CAAWmc,CAAC,IAAI,CAAhB,CAAmB,OAAM1R,IAAI,CAACzK,KAAL,CAAW6b,CAAC,IAAI,CAAhB,CAAmB;AAF9D,SADS;AAJN,OAJT;AAAA,6BAgBEliB,eAAC,WAAD;AAAa,QAAA,QAAQ,EAAE+hB,iBAAiB,CAACN,QAAD,EAAWqB,cAAc,CAACI,MAA1B,CAAxC;AAAA,kBAA4Eze;AAA5E;AAhBF,MAfF;AAAA,IADF;AAoCD;AAED0d,OAAO,CAAC1L,IAAR,GAAe+K,WAAf;;AC9HA,MAAMwC,qBAAqB,gBAAG3jB,eAAM,CAACyJ,KAAD,CAAT;AAAA;AAAA;AAAA,+BAGvB,CAAC;AAAEvJ,EAAAA;AAAF,CAAD,KAAc;AAGd;AACA,SAAQ;AACZ,kBAAkBA,IAAI,GAAG,EAAG,QAAOA,IAAI,GAAG,EAAG;AAC7C,8BAA+BA,IAAI,GAAG,EAAR,GAAc,CAAE;AAC9C,KAHI;AAID,CAXwB,CAA3B;AAkBO,SAAS0jB,eAAT,CAAyB;AAAEla,EAAAA,KAAF;AAASrG,EAAAA,IAAT;AAAeC,EAAAA,KAAf;AAAsBC,EAAAA,MAAtB;AAA8BC,EAAAA;AAA9B,CAAzB,EAAoG;AACzG,QAAM/D,KAAK,gBAAGC,eAAQ,EAAtB;AACA,QAAMsE,wBAAwB,GAAGZ,qCAAqC,CAACC,IAAD,EAAOC,KAAP,EAAcC,MAAd,EAAsBC,KAAtB,CAAtE;AACA,QAAMqgB,UAAU,GAAG5hB,uBAAuB,CAAC+B,wBAAwB,IAAI,MAA7B,EAAqCvE,KAArC,CAA1C;AACA,QAAMmD,aAAa,GAAGtB,0BAA0B,CAAC7B,KAAD,CAAhD;AACA,QAAM;AAAEqD,IAAAA;AAAF,MAAe+gB,UAAU,CAACjhB,aAAD,CAA/B;;AAEA,+CAAa;AACX,QAAI,CAACE,QAAQ,CAACghB,QAAT,CAAkB,IAAlB,CAAL,EAA8B,MAAM,IAAI9hB,KAAJ,CAAW,+BAA8Bc,QAAS,EAAlD,CAAN;AAC/B;;AAED,sBAAOnD,eAAC,qBAAD;AAAuB,IAAA,IAAI,EAAEokB,QAAQ,CAACjhB,QAAQ,CAACkhB,KAAT,CAAe,CAAf,EAAkB,CAAC,CAAnB,CAAD,EAAwB,EAAxB,CAArC;AAAkE,IAAA,KAAK,EAAEta;AAAzE,IAAP;AACD;;AC9BD,MAAMua,wBAAwB,GAAG3kB,SAAS;;;EAAA,CAA1C;AAmBA,MAAM4kB,UAAU,gBAAGlkB,eAAH,4CAAA;AAAA;AAAA;AAAA,wCACK,CAAC;AAAEmkB,EAAAA;AAAF,CAAD,KAAuBA,YAAY,GAAG,MAAH,GAAY,WADpD,EAGZ,CAAC;AAAEC,EAAAA;AAAF,CAAD,KAAmB;;AAIvB;AACA;AACA,gBAAgBA,SAAS,GAAG,aAAH,GAAmB;AAC5C;AACI,CAXY,EAaZ,CAAC;AAAEA,EAAAA,SAAF;AAAa3kB,EAAAA;AAAb,CAAD,KAA0B;MACtB,CAAC2kB,WAAW,OAAOljB,SAAP;mBACCzB,KAAK,CAACyC,IAANzC,CAAW0C,UAAX1C,CAAsB2gB,IAAtB3gB,CAA2B4gB;AAC5C,CAhBY,CAAhB;AA6BO,SAASgE,cAAT,CAAwB;AAC7BvkB,EAAAA,QAD6B;AAE7BoH,EAAAA,QAF6B;AAG7Bod,EAAAA,WAH6B;AAI7Bzb,EAAAA,IAJ6B;AAK7BC,EAAAA,SAL6B;AAM7BC,EAAAA,OAN6B;KAO1BjF;AAP0B,CAAxB,EAQ+B;sBAElCnE,eAAC,UAAD,OAAgBmE,UAAhB;AAA4B,IAAA,mBAAkB,MAA9C;AAAA,2BACEnE,eAAC,eAAD;AAAiB,MAAA,IAAIskB,wBAArB;AAA+C,0BAAkBK,WAAW,GAAG,IAAH,GAAUpjB,SAAtF;AAAA,6BACEvB,eAAC,UAAD;AACE,QAAA,WAAWuH,QADb;AAEE,QAAA,cAAcod,WAFhB;AAGE,QAAA,MAAMzb,IAHR;AAIE,QAAA,WAAWC,SAJb;AAKE,QAAA,mBAAkB,MALpB;AAME,QAAA,SAAS;;4BAEW;AAFX,SANX;AAUE,QAAA,SAAS5B,QAAQ,GAAGhG,SAAH,GAAe6H,OAVlC;AAAA,kBAYGjJ;AAZH;AADF;AADF;;;AC/DG,SAAS2B,eAAT,CAAyB8iB,YAAzB,EAA+C;AAAE7iB,EAAAA,QAAF;AAAY0G,EAAAA;AAAZ,CAA/C,EAAwG;AAC7G,SAAOmc,YAAY,IAAI7iB,QAAhB,KAA6B,CAAC0G,QAAD,IAAamc,YAAY,IAAInc,QAA1D,CAAP;AACD;AAEM,SAASoc,kBAAT,CAA4BC,OAA5B,EAAsE;AAC3E,QAAM;AAAEhhB,IAAAA;AAAF,MAAYC,0DAAmB,EAArC;AACA,SAAOjC,eAAe,CAACgC,KAAD,EAAQghB,OAAR,CAAtB;AACD;;AC0BM,SAASC,sBAAT,CAAgCH,YAAhC,EAAwE;AAC7E,SAAO;AACL9iB,IAAAA,eAAe,EAAGgjB,OAAD,IAAahjB,eAAe,CAAC8iB,YAAD,EAAeE,OAAf,CADxC;AAGLzZ,IAAAA,mBAAmB,EAAE,CAACyZ,OAAD,EAAUE,WAAV,EAAuBC,YAAvB,KACnBnjB,eAAe,CAAC8iB,YAAD,EAAeE,OAAf,CAAf,GAAyCE,WAAzC,GAAuDC,YAJpD;AAMLC,IAAAA,cAAc,EAAE,CAAmB,GAAGC,SAAtB,KAA6D;AAC3E,mDAAa;AACXA,QAAAA,SAAS,CAACd,KAAV,CAAgB,CAAhB,EAAmBZ,OAAnB,CAA2B,CAAC,CAAC1hB,QAAD,CAAD,EAAaqjB,KAAb,KAAuB;AAChD,gBAAMC,gBAAgB,GAAGF,SAAS,CAACC,KAAD,CAAT,CAAiB,CAAjB,CAAzB;;AACA,cAAIC,gBAAgB,GAAGtjB,QAAvB,EAAiC;AAC/B,kBAAM,IAAIM,KAAJ,CACH,wDAAuDN,QAAS,SAAQsjB,gBAAiB,QAAOtjB,QAAS,qBAAoBsjB,gBAAiB,GAD3I,CAAN;AAGD;AACF,SAPD;AAQD;;AACD,YAAMC,KAAK,GAAGH,SAAS,CAACI,IAAV,CAAe,CAAC,CAACxjB,QAAD,EAAW8F,KAAX,CAAD,KAC3B/F,eAAe,CAAC8iB,YAAD,EAAe;AAAE7iB,QAAAA,QAAQ,EAAEyjB,MAAM,CAACzjB,QAAD;AAAlB,OAAf,CADH,CAAd;AAGA,UAAI,CAACujB,KAAL,EAAY,OAAO,IAAP;AACZ,aAAOA,KAAK,CAAC,CAAD,CAAZ;AACD;AAtBI,GAAP;AAwBD;;ACnDM,SAASG,YAAT,GAAmC;AACxC,QAAM;AAAE3hB,IAAAA;AAAF,MAAY4hB,0DAAa,EAA/B;AACA,SAAOxb,eAAO,CAAC,MAAM;AACnB,WAAO;AAAE3H,MAAAA,IAAI,EAAEojB,KAAR;AAAmB9jB,MAAAA,UAAU,EAAEkjB,sBAAsB,CAACjhB,KAAD,CAArD;AAA8D4O,MAAAA;AAA9D,KAAP;AACD,GAFa,EAEX,CAAC5O,KAAD,CAFW,CAAd;AAGD;;ACJM,SAAS8hB,iBAAT,CAA2B;AAAEzlB,EAAAA;AAAF,CAA3B,EAA+E;AACpF,QAAML,KAAK,GAAG2lB,YAAY,EAA1B;AACA,sBAAOzlB,eAAC6lB,oBAAD;AAAe,IAAA,KAAK,EAAE/lB,KAAtB;AAAA,cAA8BK;AAA9B,IAAP;AACD;MAEY2lB,kBAAkB,GAAGC,oBAAa,CAAC;AAC9C/K,EAAAA,IAAI,EAAE,gBADwC;AAE9CgL,EAAAA,aAAa,EAAE,OAF+B;AAG9CC,EAAAA,OAAO,EAAE,CAACnL,OAAD,EAAUC,OAAV,EAAmB;AAAE+J,IAAAA,OAAO,GAAG,EAAZ;AAAgBoB,IAAAA,UAAU,GAAG;AAA7B,GAAnB,KAAyD;AAChE,wBAAOlmB,eAAC,iBAAD;AAAA,gBAAoB8a,OAAO,CAACC,OAAD;AAA3B,MAAP;AACD;AAL6C,CAAD;;ACXxC,SAASoL,eAAT,CAAyB;AAAEhmB,EAAAA,QAAF;AAAY,KAAGimB;AAAf,CAAzB,EAA6G;AAClH,QAAMC,KAAK,GAAGxB,kBAAkB,CAACuB,sBAAD,CAAhC;AACA,MAAI,CAACC,KAAL,EAAY,OAAO,IAAP;AACZ,sBAAOrmB;AAAA,cAAGG;AAAH,IAAP;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/styles.css
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
.ssn8o83{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}.ssn8o83 > svg{-webkit-animation:spin-ssn8o83 1.1s infinite linear;animation:spin-ssn8o83 1.1s infinite linear;}@-webkit-keyframes spin-ssn8o83{0%{-webkit-transform:rotate(-1deg);-ms-transform:rotate(-1deg);transform:rotate(-1deg);}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg);}}@keyframes spin-ssn8o83{0%{-webkit-transform:rotate(-1deg);-ms-transform:rotate(-1deg);transform:rotate(-1deg);}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg);}}
|
|
2
|
+
@media (hover:none) and (pointer:coarse){.p1nlccvg > *:hover,.kitt-hover .p1nlccvg > *{-webkit-transform:scale(var(--p1nlccvg-0));-ms-transform:scale(var(--p1nlccvg-0));transform:scale(var(--p1nlccvg-0));}}@media (var(--p1nlccvg-1)){.p1nlccvg > *:hover,.kitt-hover .p1nlccvg > *{-webkit-transform:scale(var(--p1nlccvg-2));-ms-transform:scale(var(--p1nlccvg-2));transform:scale(var(--p1nlccvg-2));}}.p1nlccvg > *:active,.kitt-active .p1nlccvg > *{-webkit-transform:scale(var(--p1nlccvg-3));-ms-transform:scale(var(--p1nlccvg-3));transform:scale(var(--p1nlccvg-3));}.p1nlccvg > *:hover,.kitt-hover .p1nlccvg > *,.p1nlccvg > *:focus,.kitt-focus .p1nlccvg > *,.p1nlccvg > *:active,.kitt-active .p1nlccvg > *{background-color:var(--p1nlccvg-4);}.p1nlccvg[data-color-white=true] > *:hover,.kitt-hover .p1nlccvg[data-color-white] > *,.p1nlccvg[data-color-white=true] > *:focus,.kitt-focus .p1nlccvg[data-color-white=true] > *,.p1nlccvg[data-color-white=true] > *:active,.kitt-active .p1nlccvg[data-color-white=true] > *{background-color:var(--p1nlccvg-5);}
|
|
3
|
+
.l2im3sa{width:60px;height:60px;-webkit-transform:scale(-1) rotate(90deg);-ms-transform:scale(-1) rotate(90deg);transform:scale(-1) rotate(90deg);}@-webkit-keyframes LargeLoaderInit-l2im3sa{0%{stroke-dashoffset:169.64px;}100%{stroke-dashoffset:0;}}@keyframes LargeLoaderInit-l2im3sa{0%{stroke-dashoffset:169.64px;}100%{stroke-dashoffset:0;}}@-webkit-keyframes LargeLoaderOffset-l2im3sa{0%{stroke-dashoffset:169.64px;}100%{stroke-dashoffset:34px;}}@keyframes LargeLoaderOffset-l2im3sa{0%{stroke-dashoffset:169.64px;}100%{stroke-dashoffset:34px;}}@-webkit-keyframes LargeLoaderRotation-l2im3sa{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}@keyframes LargeLoaderRotation-l2im3sa{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}.l2im3sa circle,.l2im3sa g{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;}.l2im3sa circle{stroke-width:3px;stroke-dasharray:169.64px;stroke-dashoffset:169.64px;stroke-linecap:round;}.l2im3sa g[data-large-loader='base'] circle{stroke:var(--l2im3sa-0);-webkit-animation:LargeLoaderInit-l2im3sa 1s cubic-bezier(0.39,0.575,0.565,1) 0.5s forwards;animation:LargeLoaderInit-l2im3sa 1s cubic-bezier(0.39,0.575,0.565,1) 0.5s forwards;}.l2im3sa g[data-large-loader='fill']{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;-webkit-animation:LargeLoaderRotation-l2im3sa 1.8s linear 0.5s infinite;animation:LargeLoaderRotation-l2im3sa 1.8s linear 0.5s infinite;}.l2im3sa g[data-large-loader='fill'] circle{stroke:var(--l2im3sa-1);-webkit-animation:LargeLoaderOffset-l2im3sa 1.8s cubic-bezier(0.39,0.575,0.565,1) 0.5s infinite alternate,LargeLoaderRotation-l2im3sa 2.16s linear 0.5s infinite;animation:LargeLoaderOffset-l2im3sa 1.8s cubic-bezier(0.39,0.575,0.565,1) 0.5s infinite alternate,LargeLoaderRotation-l2im3sa 2.16s linear 0.5s infinite;}
|
|
4
|
+
.tcwz3nt > *:hover,.tcwz3nt > *:active,.kitt-hover .tcwz3nt > *{-webkit-text-decoration:none;text-decoration:none;}.tcwz3nt[data-nounderline] > *:hover,.tcwz3nt[data-nounderline] > *:active,.kitt-hover .tcwz3nt[data-nounderline] > *{-webkit-text-decoration:underline;text-decoration:underline;}
|