@mw-kit/mw-ui 1.2.0 → 1.2.3
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/components/Input/components/Select/interfaces.d.ts +6 -8
- package/dist/components/Loader/interfaces.d.ts +1 -0
- package/dist/components/Menu/interfaces.d.ts +1 -0
- package/dist/components/ScrollContainer/interfaces.d.ts +1 -0
- package/dist/index.js +229 -182
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +229 -182
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dist/index.modern.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.modern.js","sources":["../src/theme/constants.ts","../src/functions/common.ts","../src/functions/validators.ts","../src/functions/formatters.ts","../src/components/Loader/index.ts","../src/components/Button/constants.ts","../src/components/Button/styles.ts","../src/components/Button/index.tsx","../src/assets/icons/feather/index.ts","../src/components/Icon/styled.ts","../src/components/Icon/index.tsx","../src/components/TextArea/styles.ts","../src/components/TextArea/index.tsx","../src/components/EllipsisContainer/styled.tsx","../src/components/EllipsisContainer/index.tsx","../src/components/ScrollContainer/index.tsx","../src/components/AbsoluteContainer/styles.ts","../src/components/AbsoluteContainer/index.tsx","../src/components/Menu/styles.ts","../src/components/Menu/index.tsx","../src/components/Indicator/styles.ts","../src/components/Indicator/index.tsx","../src/components/ProgressBar/styles.ts","../src/components/ProgressBar/index.tsx","../src/components/Tabs/styles.ts","../src/components/Tabs/index.tsx","../src/components/Input/components/Input/functions.ts","../src/components/Input/components/Input/styles.ts","../src/components/Input/components/Input/index.tsx","../src/components/Input/components/Checkbox/styles.ts","../src/components/Input/components/Checkbox/index.tsx","../src/hooks/onClickOut.ts","../src/components/Input/components/Time/index.tsx","../src/components/Calendar/styles.ts","../src/components/Calendar/index.tsx","../src/components/Input/components/Date/functions.ts","../src/components/Input/components/Date/styles.ts","../src/components/Input/components/Date/index.tsx","../src/components/Input/components/Select/context.ts","../src/components/Input/components/Select/styles.ts","../src/components/Input/components/Select/header.tsx","../src/components/Input/components/Select/footer.tsx","../src/components/Input/components/Select/index.tsx","../src/components/Input/components/Password/index.tsx","../src/assets/icons/flags/flags.png","../src/assets/icons/flags/index.ts","../src/components/Input/components/Phone/countries.ts","../src/components/Input/components/Phone/styles.ts","../src/components/Input/components/Phone/index.tsx","../src/components/Input/components/DatePicker/styles.ts","../src/components/Input/components/DatePicker/index.tsx","../src/components/Input/components/Switch/styles.ts","../src/components/Input/components/Switch/index.tsx","../src/components/Input/components/Range/styles.ts","../src/components/Input/components/Range/index.tsx","../src/components/Input/components/RadioButton/styles.ts","../src/components/Input/components/RadioButton/index.tsx","../src/components/Input/index.tsx","../src/addons/Portal/index.ts","../src/components/Modal/contants.ts","../src/components/Modal/styles.ts","../src/components/Modal/component.tsx","../src/components/Modal/templates/ConfirmDelete/styles.ts","../src/components/Modal/templates/ConfirmDelete/index.tsx","../src/components/Modal/templates/ConfirmEdit/styles.ts","../src/components/Modal/templates/ConfirmEdit/index.tsx","../src/components/Modal/templates/Audit/styles.ts","../src/components/Modal/templates/Audit/index.tsx","../src/components/Modal/index.ts","../src/components/Card/styled.ts","../src/components/Card/index.tsx","../src/components/Toast/styles.ts","../src/components/Toast/index.tsx","../src/components/CalendarInterval/styles.ts","../src/components/CalendarInterval/index.tsx","../src/components/Placeholder/components/Template1/styles.ts","../src/components/Placeholder/components/Template1/index.tsx","../src/components/Placeholder/styles.ts","../src/components/Placeholder/components/Template2/styles.ts","../src/components/Placeholder/components/Template2/index.tsx","../src/components/Placeholder/components/Template3/styles.ts","../src/components/Placeholder/components/Template3/index.tsx","../src/components/Placeholder/components/Template4/styles.ts","../src/components/Placeholder/components/Template4/index.tsx","../src/components/Placeholder/components/Template5/styles.ts","../src/components/Placeholder/components/Template5/index.tsx","../src/components/Placeholder/components/Template6/styles.ts","../src/components/Placeholder/components/Template6/index.tsx","../src/components/Placeholder/components/Template7/styles.ts","../src/components/Placeholder/components/Template7/index.tsx","../src/components/Placeholder/components/Template8/styles.ts","../src/components/Placeholder/components/Template8/index.tsx","../src/components/Placeholder/components/Template9/styles.ts","../src/components/Placeholder/components/Template9/index.tsx","../src/components/Placeholder/components/Template10/styles.ts","../src/components/Placeholder/components/Template10/index.tsx","../src/components/Placeholder/index.tsx","../src/components/Zoom/styles.ts","../src/components/Zoom/index.tsx","../src/components/Button/theme.ts","../src/components/theme.ts","../src/theme/globals.tsx","../src/theme/index.tsx"],"sourcesContent":["export const colors = {\r\n white: '#FFFFFF',\r\n iceWhite: '#F9F8F8',\r\n black: '#000000',\r\n blue: '#3455AB',\r\n lightBlue: '#2D9AFF',\r\n darkestBlue: '#121B2E',\r\n darkBlue: '#192338',\r\n greyishBlue: '#263046',\r\n darkSilver: '#525A6A',\r\n silver: '#B2B2B2',\r\n darkestGrey: '#989898',\r\n darkGrey: '#949494',\r\n grey: '#ADADAD',\r\n lightGrey: '#C8C8C8',\r\n lightestGrey: '#E2E2E3',\r\n purple: '#8E66BB',\r\n orange: '#FB8702',\r\n yellow: '#FBCB01',\r\n red: '#C31717',\r\n darkestGreen: '#1E561F',\r\n darkGreen: '#129105',\r\n green: '#76B100',\r\n lightGreen: '#66BB6A',\r\n pink: '#E23851',\r\n brown: '#9F3A38',\r\n vanilla: '#CCBEA0',\r\n bronze: '#7A4D05',\r\n warningGray: '#E6E6E6',\r\n warningYellow: '#FBCF30',\r\n warningRed: '#EF5350',\r\n floralWhite: '#FFFAF3',\r\n snowWhite: '#FFF6F6',\r\n milkWhite: '#FCFFF5',\r\n} as const\r\n\r\nexport const opacities = {\r\n 100: 'FF',\r\n 95: 'F2',\r\n 90: 'E6',\r\n 85: 'D9',\r\n 80: 'CC',\r\n 75: 'BF',\r\n 70: 'B3',\r\n 65: 'A6',\r\n 60: '99',\r\n 55: '8C',\r\n 50: '80',\r\n 45: '73',\r\n 40: '66',\r\n 35: '59',\r\n 30: '4D',\r\n 25: '40',\r\n 20: '33',\r\n 15: '26',\r\n 10: '1A',\r\n 5: '0D',\r\n 0: '00',\r\n} as const\r\n\r\nexport const spacings = {\r\n s1: '7px',\r\n s2: '8px',\r\n s3: '14px',\r\n s4: '21px',\r\n s5: '28px',\r\n s6: '35px',\r\n} as const\r\n\r\nexport const fonts = {\r\n lato: '\"Lato\", sans-serif',\r\n} as const\r\n\r\ninterface TypographiesInterface {\r\n fontFamily: string\r\n fontWeight:\r\n | 'normal'\r\n | 'bold'\r\n | 'bolder'\r\n | 'lighter'\r\n | '100'\r\n | '200'\r\n | '300'\r\n | '400'\r\n | '500'\r\n | '600'\r\n | '700'\r\n | '800'\r\n | '900'\r\n fontSize: string\r\n}\r\n\r\nexport const typographies = {\r\n h1: {\r\n fontFamily: fonts.lato,\r\n fontWeight: 'bold',\r\n fontSize: '18px',\r\n } as TypographiesInterface,\r\n h2: {\r\n fontFamily: fonts.lato,\r\n fontWeight: 'bold',\r\n fontSize: '16px',\r\n } as TypographiesInterface,\r\n h3: {\r\n fontFamily: fonts.lato,\r\n fontWeight: 'normal',\r\n fontSize: '16px',\r\n } as TypographiesInterface,\r\n h4: {\r\n fontFamily: fonts.lato,\r\n fontWeight: 'bold',\r\n fontSize: '14px',\r\n } as TypographiesInterface,\r\n h5: {\r\n fontFamily: fonts.lato,\r\n fontWeight: 'normal',\r\n fontSize: '14px',\r\n } as TypographiesInterface,\r\n h6: {\r\n fontFamily: fonts.lato,\r\n fontWeight: 'normal',\r\n fontSize: '13px',\r\n } as TypographiesInterface,\r\n p: {\r\n fontFamily: fonts.lato,\r\n fontWeight: 'normal',\r\n fontSize: '14px',\r\n } as TypographiesInterface,\r\n} as const\r\n","export const stripAccents = (value: string): string => {\n return value.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '')\n}\n\nexport const isKeyOf = <T>(\n object: T,\n key: string | number | symbol,\n): key is keyof T => {\n return Object.prototype.hasOwnProperty.call(object, key)\n}\n","import { stripAccents } from './common'\n\nexport const notEmptyString = (value: unknown): value is string => {\n return typeof value === 'string' && value.trim() !== ''\n}\n\nexport const isNumber = (value: unknown): value is number => {\n return typeof value === 'number' && isFinite(value)\n}\n\nexport const isNumeric = (value: unknown): value is number | string => {\n if (isNumber(value)) return true\n\n if (!isString(value)) return false\n\n return !isNaN(parseFloat(value))\n}\n\nexport const isObject = <T = unknown>(value: unknown): value is T => {\n return Object.prototype.toString.call(value) === '[object Object]'\n}\n\nexport const isBoolean = (value: unknown): value is boolean => {\n return typeof value === 'boolean'\n}\n\nexport const isNumericString = (value: unknown): value is string => {\n return notEmptyString(value) && isNumeric(value)\n}\n\nexport const isString = (value: unknown): value is string => {\n return typeof value === 'string'\n}\n\nexport const isDateInstance = (value: unknown): value is Date => {\n return value instanceof Date && !isNaN(value.valueOf())\n}\n\nexport const isDate = (value: unknown): boolean => {\n return (\n (isNumeric(value) || isDateInstance(value)) &&\n isDateInstance(new Date(value))\n )\n}\n\nexport const strCmp = (\n x: string,\n y: string,\n options: {\n ignoreAccents?: boolean\n ignoreCase?: boolean\n trim?: boolean\n contain?: boolean\n } = {},\n): boolean => {\n options = {\n ignoreAccents: true,\n ignoreCase: true,\n trim: true,\n contain: false,\n ...options,\n }\n\n if (options.trim) {\n x = x.trim()\n y = y.trim()\n }\n\n if (options.ignoreCase) {\n x = x.toUpperCase()\n y = y.toUpperCase()\n }\n\n if (options.ignoreAccents) {\n x = stripAccents(x)\n y = stripAccents(y)\n }\n\n return options.contain ? x.includes(y) : x === y\n}\n\nexport const isValidEmail = (value: string): boolean => {\n const emailRegex = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i\n\n return emailRegex.test(value)\n}\n\nexport { isKeyOf } from './common'\n","import { SpacingOrZero, Spacings } from '../interfaces'\nimport { spacings } from '../theme/constants'\nimport {\n isBoolean,\n isNumber,\n isNumericString,\n notEmptyString,\n} from './validators'\nimport { isKeyOf } from './common'\n\nexport const filterObject = <T = unknown, R = unknown>(\n object: T,\n keys: (keyof T)[],\n inital = {} as R,\n): R => {\n const r = (Object.keys(object) as (keyof T)[])\n .filter((key) => !keys.includes(key))\n .reduce(\n (prev, key) => ({\n ...prev,\n [key]: object[key],\n }),\n inital,\n )\n\n return r\n}\n\nexport const phone = (value: string) => {\n let masked = value\n\n if (value.startsWith('+55')) {\n masked = value\n .replace(/\\D/g, '')\n .replace(/(\\d{2})(\\d{2})(\\d)/, '+$1 ($2) $3')\n .replace(/(\\d{5})(\\d{4})$/, '$1-$2')\n .replace(/(\\d{4})(\\d{4})/, '$1-$2')\n }\n\n return masked\n}\n\nexport const cnpj = (value: string) => {\n return value\n .replace(/\\D/g, '')\n .substring(0, 14)\n .replace(/^(\\d{2})(\\d{3})?(\\d{3})?(\\d{4})?(\\d{2})?/, '$1.$2.$3/$4-$5')\n}\n\nexport const cpf = (value: string) => {\n return value\n .replace(/\\D/g, '')\n .replace(/^(\\d{3})(\\d{3})?(\\d{3})?(\\d{2})?/, '$1.$2.$3-$4')\n}\n\nexport const cep = (value: string) => {\n return value\n .replace(/\\D/g, '')\n .substring(0, 8)\n .replace(/^(\\d{5})(\\d{3})/, '$1-$2')\n}\n\ninterface TimeLabels {\n hour?: string\n minute?: string\n join?: string\n}\n\nexport const time = (value: number, labels?: TimeLabels): string => {\n const l: TimeLabels = {\n hour: 'h',\n minute: 'm',\n join: 'e',\n }\n\n if (labels) {\n const keys = Object.keys(labels) as (keyof typeof labels)[]\n keys.forEach((key) => (l[key] = labels[key]))\n }\n\n const hours = Math.floor(value / 60)\n const minutes = value % 60\n\n const result = []\n if (hours > 0) result.push(`${hours}${l.hour}`)\n result.push(`${minutes}${l.minute}`)\n\n return result.join(l.join)\n}\n\nexport const simpleTime = (value: number) => {\n return [Math.floor(value / 60), value % 60]\n .map((num) => num.toString().padStart(2, '0'))\n .join(':')\n}\n\nexport const reverseSimpleTime = (value: string) => {\n const t = value.replace(/\\D/g, '')\n\n if (t.length === 0) return 0\n\n const h = parseInt(t.substring(0, 2).padEnd(2, '0'))\n\n if (t.length < 3) return h * 60\n\n const m = parseInt(t.substring(2, 4).padEnd(2, '0'))\n\n return h * 60 + m\n}\n\nexport const intToBool = (value: 1 | 0): boolean => {\n const values = {\n 1: true,\n 0: false,\n }\n\n return values[value]\n}\n\nexport const boolToInt = (value: boolean): 1 | 0 => {\n return value ? 1 : 0\n}\n\nexport const numberOrDefault = <T = unknown>(\n value: unknown,\n defaultValue: T,\n): number | T => {\n if (isNumber(value)) return value\n if (isNumericString(value)) return parseFloat(value)\n return defaultValue\n}\n\nexport const booleanOrDefault = <T = unknown>(\n value: unknown,\n defaultValue: T,\n): boolean | T => {\n if (isBoolean(value)) return value\n\n if (isNumber(value)) return value > 0\n if (isNumericString(value)) return parseInt(value) > 0\n\n return defaultValue\n}\n\nexport const notEmptyStringOrDefault = <T = unknown>(\n value: unknown,\n defaultValue: T,\n): string | T => {\n if (notEmptyString(value)) return value.trim()\n return defaultValue\n}\n\nexport const capitalize = (value: string): string => {\n return value\n .split(' ')\n .map((word) => `${word[0].toUpperCase()}${word.slice(1).toLowerCase()}`)\n .join(' ')\n}\n\nexport const dateToIsoString = (date: Date): string => {\n return [\n date.getDate().toString().padStart(2, '0'),\n (date.getMonth() + 1).toString().padStart(2, '0'),\n date.getFullYear().toString().padStart(4, '0'),\n ].join('/')\n}\n\nexport const isoStringToDate = (value: string): Date | null => {\n const date = new Date(value.split('/').reverse().join('-') + ' 00:00:00')\n return isNaN(date.getTime()) ? null : date\n}\n\nexport { stripAccents } from './common'\n\nexport const getSpacings = (\n value: SpacingOrZero | Spacings,\n defaults?: SpacingOrZero | Spacings,\n) => {\n let d = {\n top: 's1',\n left: 's1',\n bottom: 's1',\n right: 's1',\n }\n\n if (defaults) {\n if (typeof defaults === 'string') {\n d.top = defaults\n d.left = defaults\n d.bottom = defaults\n d.right = defaults\n } else {\n d = {\n ...d,\n ...defaults,\n }\n }\n }\n\n const spacing =\n typeof value === 'string'\n ? {\n top: value,\n left: value,\n bottom: value,\n right: value,\n }\n : {\n ...d,\n ...value,\n }\n\n const values = {\n top: isKeyOf(spacings, spacing.top) ? spacings[spacing.top] : spacing.top,\n left: isKeyOf(spacings, spacing.left)\n ? spacings[spacing.left]\n : spacing.left,\n bottom: isKeyOf(spacings, spacing.bottom)\n ? spacings[spacing.bottom]\n : spacing.bottom,\n right: isKeyOf(spacings, spacing.right)\n ? spacings[spacing.right]\n : spacing.right,\n }\n\n return `${values.top} ${values.right} ${values.bottom} ${values.left}`\n}\n","import { LoaderProps } from './interfaces'\nimport styled, { css, keyframes } from 'styled-components'\nimport { isKeyOf } from '../../functions/validators'\n\nconst loader = keyframes`\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n`\n\nconst Loader = styled.div<LoaderProps>`\n ${({ size, borderSize, bgColor, color, theme }) => {\n size = size || theme.spacings.s4\n borderSize = borderSize || `calc(${size} * 0.0757)`\n color = color || 'blue'\n bgColor = bgColor || color\n\n const beforeColor = isKeyOf<typeof theme.colors>(theme.colors, bgColor)\n ? theme.getColor(bgColor, 25)\n : color\n\n const afterColor = isKeyOf<typeof theme.colors>(theme.colors, color)\n ? theme.getColor(color)\n : color\n\n return css`\n pointer-events: none;\n\n ::before,\n ::after {\n position: absolute;\n content: '';\n\n top: calc(50% - ${size} / 2);\n left: calc(50% - ${size} / 2);\n width: ${size};\n height: ${size};\n border-radius: 50%;\n border-width: ${borderSize};\n border-style: solid;\n }\n\n ::before {\n border-color: ${beforeColor};\n }\n\n ::after {\n animation: ${loader} 0.6s linear;\n animation-iteration-count: infinite;\n border-color: ${afterColor} transparent transparent;\n }\n `\n }}\n`\n\nexport default Loader\n","export const sizes = {\r\n tiny: '21px' as string | number,\r\n mini: '31px' as string | number,\r\n small: '33px' as string | number,\r\n large: '41px' as string | number,\r\n big: '46px' as string | number,\r\n default: '33px' as string | number,\r\n} as const\r\n\r\nexport const fontSizes: typeof sizes = {\r\n tiny: '10px',\r\n mini: '12px',\r\n small: '14px',\r\n large: '16px',\r\n big: '18px',\r\n default: '14px',\r\n} as const\r\n","import styled, { css } from 'styled-components'\r\n\r\nimport { StyledButtonProps } from './interfaces'\r\n\r\nexport const Button = styled.button<StyledButtonProps>`\r\n padding: 0\r\n ${({ theme, appearance }) =>\r\n appearance === 'link' ? 0 : theme.spacings.s3};\r\n font-family: 'Lato', sans-serif;\r\n font-weight: ${({ appearance }) =>\r\n appearance === 'link' ? 'normal' : 'bold'};\r\n border-radius: 4px;\r\n position: relative;\r\n user-select: none;\r\n\r\n font-size: ${({ size, theme }) => {\r\n const { fontSizes } = theme.components.button\r\n\r\n return size ? fontSizes[size] : fontSizes.default\r\n }};\r\n\r\n height: ${({ size, theme, appearance }) => {\r\n if (appearance === 'link') return 'auto'\r\n\r\n const { sizes } = theme.components.button\r\n\r\n return size ? sizes[size] : sizes.default\r\n }};\r\n\r\n background-color: ${({ appearance, color, theme }) => {\r\n if (['bordered', 'link', 'bordeless'].includes(appearance)) {\r\n return 'transparent'\r\n }\r\n\r\n return theme.getColor(color || 'blue')\r\n }};\r\n\r\n border: ${({ appearance, color, theme }) => {\r\n if (appearance !== 'bordered') {\r\n return 'none'\r\n }\r\n\r\n return `1px solid ${theme.getColor(color || 'blue')}`\r\n }};\r\n\r\n color: ${({ appearance, color, loading, theme }) => {\r\n if (loading) return 'transparent'\r\n\r\n if (['link', 'bordeless'].includes(appearance)) {\r\n return color ? theme.colors[color] : theme.getColor('greyishBlue', 50)\r\n }\r\n\r\n if (appearance === 'bordered') {\r\n return theme.getColor(color || 'blue')\r\n }\r\n\r\n return theme.getColor('white')\r\n }};\r\n\r\n :disabled {\r\n ${({ appearance, loading, theme }) => {\r\n if (['bordered', 'link', 'bordeless'].includes(appearance)) {\r\n return css`\r\n opacity: 0.3;\r\n pointer-events: none;\r\n `\r\n }\r\n\r\n return css`\r\n background-color: ${theme.getColor('greyishBlue', 10)};\r\n color: ${loading ? 'transparent' : theme.getColor('greyishBlue', 30)};\r\n pointer-events: none;\r\n `\r\n }}\r\n }\r\n\r\n :hover {\r\n cursor: ${({ loading, disabled }) =>\r\n loading || disabled ? 'default' : 'pointer'};\r\n\r\n ${({ appearance, color, theme }) => {\r\n if (appearance === 'bordered') {\r\n return css`\r\n color: ${theme.getColor(color || 'blue', 70)};\r\n border: 1px solid ${theme.getColor(color || 'blue', 70)};\r\n `\r\n } else if (['link', 'bordeless'].includes(appearance)) {\r\n return css`\r\n color: ${theme.colors.blue};\r\n `\r\n }\r\n\r\n return css`\r\n background-color: ${theme.getColor(color || 'blue', 70)};\r\n `\r\n }}\r\n }\r\n\r\n :active {\r\n ${({ appearance, color, theme }) => {\r\n if (appearance === 'bordered') {\r\n return css`\r\n background-color: ${theme.getColor('iceWhite')};\r\n `\r\n }\r\n\r\n if (['link', 'bordeless'].includes(appearance)) {\r\n return css`\r\n color: ${theme.getColor('blue', 50)};\r\n `\r\n }\r\n\r\n return css`\r\n color: ${theme.getColor(color || 'blue')};\r\n `\r\n }};\r\n }\r\n\r\n ${({ loading }) => {\r\n if (!loading) return\r\n\r\n return css`\r\n pointer-events: none;\r\n `\r\n }}\r\n`\r\n","import React from 'react'\r\n\r\nimport { filterObject } from '../../functions/formatters'\r\nimport Loader from '../Loader'\r\nimport { sizes } from './constants'\r\n\r\nimport { ButtonProps, StyledButtonProps } from './interfaces'\r\nimport * as S from './styles'\r\n\r\nconst Button = (props: ButtonProps) => {\r\n const { children, content, ...styled } = props\r\n\r\n const defaultValues: StyledButtonProps = {\r\n appearance: styled.appearance || 'solid',\r\n color: styled.color,\r\n loading: styled.loading ? +styled.loading : +false,\r\n size: styled.size || 'small',\r\n type: styled.type || 'button',\r\n }\r\n\r\n const htmlProps = filterObject<\r\n ButtonProps,\r\n Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'color'>\r\n >(props, ['size', 'appearance', 'color', 'loading', 'content'])\r\n\r\n const _size = defaultValues.size ? sizes[defaultValues.size] : sizes.default\r\n\r\n return (\r\n <S.Button {...defaultValues} {...htmlProps}>\r\n <span>{children || content}</span>\r\n {props.loading && (\r\n <Loader\r\n color={\r\n defaultValues.appearance !== 'bordered' &&\r\n defaultValues.appearance !== 'link'\r\n ? 'white'\r\n : 'blue'\r\n }\r\n size={`calc(${_size} * 0.5454)`}\r\n borderSize={`calc(${_size} * 0.0757)`}\r\n />\r\n )}\r\n </S.Button>\r\n )\r\n}\r\n\r\nexport default Button\r\n","/* eslint-disable camelcase */\n\nimport { ReactComponent as activity_icon } from './activity.svg'\nimport { ReactComponent as airplay_icon } from './airplay.svg'\nimport { ReactComponent as alert_circle_icon } from './alert-circle.svg'\nimport { ReactComponent as alert_octagon_icon } from './alert-octagon.svg'\nimport { ReactComponent as alert_triangle_icon } from './alert-triangle.svg'\nimport { ReactComponent as align_center_icon } from './align-center.svg'\nimport { ReactComponent as align_justify_icon } from './align-justify.svg'\nimport { ReactComponent as align_left_icon } from './align-left.svg'\nimport { ReactComponent as align_right_icon } from './align-right.svg'\nimport { ReactComponent as anchor_icon } from './anchor.svg'\nimport { ReactComponent as aperture_icon } from './aperture.svg'\nimport { ReactComponent as archive_icon } from './archive.svg'\nimport { ReactComponent as arrow_down_icon } from './arrow-down.svg'\nimport { ReactComponent as arrow_down_circle_icon } from './arrow-down-circle.svg'\nimport { ReactComponent as arrow_down_left_icon } from './arrow-down-left.svg'\nimport { ReactComponent as arrow_down_right_icon } from './arrow-down-right.svg'\nimport { ReactComponent as arrow_left_icon } from './arrow-left.svg'\nimport { ReactComponent as arrow_left_circle_icon } from './arrow-left-circle.svg'\nimport { ReactComponent as arrow_right_icon } from './arrow-right.svg'\nimport { ReactComponent as arrow_right_circle_icon } from './arrow-right-circle.svg'\nimport { ReactComponent as arrow_up_icon } from './arrow-up.svg'\nimport { ReactComponent as arrow_up_circle_icon } from './arrow-up-circle.svg'\nimport { ReactComponent as arrow_up_left_icon } from './arrow-up-left.svg'\nimport { ReactComponent as arrow_up_right_icon } from './arrow-up-right.svg'\nimport { ReactComponent as at_sign_icon } from './at-sign.svg'\nimport { ReactComponent as award_icon } from './award.svg'\nimport { ReactComponent as bar_chart_icon } from './bar-chart.svg'\nimport { ReactComponent as bar_chart_2_icon } from './bar-chart-2.svg'\nimport { ReactComponent as battery_icon } from './battery.svg'\nimport { ReactComponent as battery_charging_icon } from './battery-charging.svg'\nimport { ReactComponent as bell_icon } from './bell.svg'\nimport { ReactComponent as bell_off_icon } from './bell-off.svg'\nimport { ReactComponent as bluetooth_icon } from './bluetooth.svg'\nimport { ReactComponent as bold_icon } from './bold.svg'\nimport { ReactComponent as book_icon } from './book.svg'\nimport { ReactComponent as book_open_icon } from './book-open.svg'\nimport { ReactComponent as bookmark_icon } from './bookmark.svg'\nimport { ReactComponent as box_icon } from './box.svg'\nimport { ReactComponent as briefcase_icon } from './briefcase.svg'\nimport { ReactComponent as calendar_icon } from './calendar.svg'\nimport { ReactComponent as camera_icon } from './camera.svg'\nimport { ReactComponent as camera_off_icon } from './camera-off.svg'\nimport { ReactComponent as cast_icon } from './cast.svg'\nimport { ReactComponent as check_icon } from './check.svg'\nimport { ReactComponent as check_circle_icon } from './check-circle.svg'\nimport { ReactComponent as check_square_icon } from './check-square.svg'\nimport { ReactComponent as chevron_down_icon } from './chevron-down.svg'\nimport { ReactComponent as chevron_left_icon } from './chevron-left.svg'\nimport { ReactComponent as chevron_right_icon } from './chevron-right.svg'\nimport { ReactComponent as chevron_up_icon } from './chevron-up.svg'\nimport { ReactComponent as chevrons_down_icon } from './chevrons-down.svg'\nimport { ReactComponent as chevrons_left_icon } from './chevrons-left.svg'\nimport { ReactComponent as chevrons_right_icon } from './chevrons-right.svg'\nimport { ReactComponent as chevrons_up_icon } from './chevrons-up.svg'\nimport { ReactComponent as chrome_icon } from './chrome.svg'\nimport { ReactComponent as circle_icon } from './circle.svg'\nimport { ReactComponent as clipboard_icon } from './clipboard.svg'\nimport { ReactComponent as clock_icon } from './clock.svg'\nimport { ReactComponent as cloud_icon } from './cloud.svg'\nimport { ReactComponent as cloud_drizzle_icon } from './cloud-drizzle.svg'\nimport { ReactComponent as cloud_lightning_icon } from './cloud-lightning.svg'\nimport { ReactComponent as cloud_off_icon } from './cloud-off.svg'\nimport { ReactComponent as cloud_rain_icon } from './cloud-rain.svg'\nimport { ReactComponent as cloud_snow_icon } from './cloud-snow.svg'\nimport { ReactComponent as code_icon } from './code.svg'\nimport { ReactComponent as codepen_icon } from './codepen.svg'\nimport { ReactComponent as codesandbox_icon } from './codesandbox.svg'\nimport { ReactComponent as coffee_icon } from './coffee.svg'\nimport { ReactComponent as columns_icon } from './columns.svg'\nimport { ReactComponent as command_icon } from './command.svg'\nimport { ReactComponent as compass_icon } from './compass.svg'\nimport { ReactComponent as copy_icon } from './copy.svg'\nimport { ReactComponent as corner_down_left_icon } from './corner-down-left.svg'\nimport { ReactComponent as corner_down_right_icon } from './corner-down-right.svg'\nimport { ReactComponent as corner_left_down_icon } from './corner-left-down.svg'\nimport { ReactComponent as corner_left_up_icon } from './corner-left-up.svg'\nimport { ReactComponent as corner_right_down_icon } from './corner-right-down.svg'\nimport { ReactComponent as corner_right_up_icon } from './corner-right-up.svg'\nimport { ReactComponent as corner_up_left_icon } from './corner-up-left.svg'\nimport { ReactComponent as corner_up_right_icon } from './corner-up-right.svg'\nimport { ReactComponent as cpu_icon } from './cpu.svg'\nimport { ReactComponent as credit_card_icon } from './credit-card.svg'\nimport { ReactComponent as crop_icon } from './crop.svg'\nimport { ReactComponent as crosshair_icon } from './crosshair.svg'\nimport { ReactComponent as database_icon } from './database.svg'\nimport { ReactComponent as delete_icon } from './delete.svg'\nimport { ReactComponent as disc_icon } from './disc.svg'\nimport { ReactComponent as divide_icon } from './divide.svg'\nimport { ReactComponent as divide_circle_icon } from './divide-circle.svg'\nimport { ReactComponent as divide_square_icon } from './divide-square.svg'\nimport { ReactComponent as dollar_sign_icon } from './dollar-sign.svg'\nimport { ReactComponent as download_icon } from './download.svg'\nimport { ReactComponent as download_cloud_icon } from './download-cloud.svg'\nimport { ReactComponent as dribbble_icon } from './dribbble.svg'\nimport { ReactComponent as droplet_icon } from './droplet.svg'\nimport { ReactComponent as edit_icon } from './edit.svg'\nimport { ReactComponent as edit_2_icon } from './edit-2.svg'\nimport { ReactComponent as edit_3_icon } from './edit-3.svg'\nimport { ReactComponent as external_link_icon } from './external-link.svg'\nimport { ReactComponent as eye_icon } from './eye.svg'\nimport { ReactComponent as eye_off_icon } from './eye-off.svg'\nimport { ReactComponent as facebook_icon } from './facebook.svg'\nimport { ReactComponent as fast_forward_icon } from './fast-forward.svg'\nimport { ReactComponent as feather_icon } from './feather.svg'\nimport { ReactComponent as figma_icon } from './figma.svg'\nimport { ReactComponent as file_icon } from './file.svg'\nimport { ReactComponent as file_minus_icon } from './file-minus.svg'\nimport { ReactComponent as file_plus_icon } from './file-plus.svg'\nimport { ReactComponent as file_text_icon } from './file-text.svg'\nimport { ReactComponent as film_icon } from './film.svg'\nimport { ReactComponent as filter_icon } from './filter.svg'\nimport { ReactComponent as flag_icon } from './flag.svg'\nimport { ReactComponent as folder_icon } from './folder.svg'\nimport { ReactComponent as folder_minus_icon } from './folder-minus.svg'\nimport { ReactComponent as folder_plus_icon } from './folder-plus.svg'\nimport { ReactComponent as framer_icon } from './framer.svg'\nimport { ReactComponent as frown_icon } from './frown.svg'\nimport { ReactComponent as gift_icon } from './gift.svg'\nimport { ReactComponent as git_branch_icon } from './git-branch.svg'\nimport { ReactComponent as git_commit_icon } from './git-commit.svg'\nimport { ReactComponent as git_merge_icon } from './git-merge.svg'\nimport { ReactComponent as git_pull_request_icon } from './git-pull-request.svg'\nimport { ReactComponent as github_icon } from './github.svg'\nimport { ReactComponent as gitlab_icon } from './gitlab.svg'\nimport { ReactComponent as globe_icon } from './globe.svg'\nimport { ReactComponent as grid_icon } from './grid.svg'\nimport { ReactComponent as hard_drive_icon } from './hard-drive.svg'\nimport { ReactComponent as hash_icon } from './hash.svg'\nimport { ReactComponent as headphones_icon } from './headphones.svg'\nimport { ReactComponent as heart_icon } from './heart.svg'\nimport { ReactComponent as help_circle_icon } from './help-circle.svg'\nimport { ReactComponent as hexagon_icon } from './hexagon.svg'\nimport { ReactComponent as home_icon } from './home.svg'\nimport { ReactComponent as image_icon } from './image.svg'\nimport { ReactComponent as inbox_icon } from './inbox.svg'\nimport { ReactComponent as info_icon } from './info.svg'\nimport { ReactComponent as instagram_icon } from './instagram.svg'\nimport { ReactComponent as italic_icon } from './italic.svg'\nimport { ReactComponent as key_icon } from './key.svg'\nimport { ReactComponent as layers_icon } from './layers.svg'\nimport { ReactComponent as layout_icon } from './layout.svg'\nimport { ReactComponent as life_buoy_icon } from './life-buoy.svg'\nimport { ReactComponent as link_icon } from './link.svg'\nimport { ReactComponent as link_2_icon } from './link-2.svg'\nimport { ReactComponent as linkedin_icon } from './linkedin.svg'\nimport { ReactComponent as list_icon } from './list.svg'\nimport { ReactComponent as loader_icon } from './loader.svg'\nimport { ReactComponent as lock_icon } from './lock.svg'\nimport { ReactComponent as log_in_icon } from './log-in.svg'\nimport { ReactComponent as log_out_icon } from './log-out.svg'\nimport { ReactComponent as mail_icon } from './mail.svg'\nimport { ReactComponent as map_icon } from './map.svg'\nimport { ReactComponent as map_pin_icon } from './map-pin.svg'\nimport { ReactComponent as maximize_icon } from './maximize.svg'\nimport { ReactComponent as maximize_2_icon } from './maximize-2.svg'\nimport { ReactComponent as meh_icon } from './meh.svg'\nimport { ReactComponent as menu_icon } from './menu.svg'\nimport { ReactComponent as message_circle_icon } from './message-circle.svg'\nimport { ReactComponent as message_square_icon } from './message-square.svg'\nimport { ReactComponent as mic_icon } from './mic.svg'\nimport { ReactComponent as mic_off_icon } from './mic-off.svg'\nimport { ReactComponent as minimize_icon } from './minimize.svg'\nimport { ReactComponent as minimize_2_icon } from './minimize-2.svg'\nimport { ReactComponent as minus_icon } from './minus.svg'\nimport { ReactComponent as minus_circle_icon } from './minus-circle.svg'\nimport { ReactComponent as minus_square_icon } from './minus-square.svg'\nimport { ReactComponent as monitor_icon } from './monitor.svg'\nimport { ReactComponent as moon_icon } from './moon.svg'\nimport { ReactComponent as more_horizontal_icon } from './more-horizontal.svg'\nimport { ReactComponent as more_vertical_icon } from './more-vertical.svg'\nimport { ReactComponent as mouse_pointer_icon } from './mouse-pointer.svg'\nimport { ReactComponent as move_icon } from './move.svg'\nimport { ReactComponent as music_icon } from './music.svg'\nimport { ReactComponent as navigation_icon } from './navigation.svg'\nimport { ReactComponent as navigation_2_icon } from './navigation-2.svg'\nimport { ReactComponent as octagon_icon } from './octagon.svg'\nimport { ReactComponent as package_icon } from './package.svg'\nimport { ReactComponent as paperclip_icon } from './paperclip.svg'\nimport { ReactComponent as pause_icon } from './pause.svg'\nimport { ReactComponent as pause_circle_icon } from './pause-circle.svg'\nimport { ReactComponent as pen_tool_icon } from './pen-tool.svg'\nimport { ReactComponent as percent_icon } from './percent.svg'\nimport { ReactComponent as phone_icon } from './phone.svg'\nimport { ReactComponent as phone_call_icon } from './phone-call.svg'\nimport { ReactComponent as phone_forwarded_icon } from './phone-forwarded.svg'\nimport { ReactComponent as phone_incoming_icon } from './phone-incoming.svg'\nimport { ReactComponent as phone_missed_icon } from './phone-missed.svg'\nimport { ReactComponent as phone_off_icon } from './phone-off.svg'\nimport { ReactComponent as phone_outgoing_icon } from './phone-outgoing.svg'\nimport { ReactComponent as pie_chart_icon } from './pie-chart.svg'\nimport { ReactComponent as play_icon } from './play.svg'\nimport { ReactComponent as play_circle_icon } from './play-circle.svg'\nimport { ReactComponent as plus_icon } from './plus.svg'\nimport { ReactComponent as plus_circle_icon } from './plus-circle.svg'\nimport { ReactComponent as plus_square_icon } from './plus-square.svg'\nimport { ReactComponent as pocket_icon } from './pocket.svg'\nimport { ReactComponent as power_icon } from './power.svg'\nimport { ReactComponent as printer_icon } from './printer.svg'\nimport { ReactComponent as radio_icon } from './radio.svg'\nimport { ReactComponent as refresh_ccw_icon } from './refresh-ccw.svg'\nimport { ReactComponent as refresh_cw_icon } from './refresh-cw.svg'\nimport { ReactComponent as repeat_icon } from './repeat.svg'\nimport { ReactComponent as rewind_icon } from './rewind.svg'\nimport { ReactComponent as rotate_ccw_icon } from './rotate-ccw.svg'\nimport { ReactComponent as rotate_cw_icon } from './rotate-cw.svg'\nimport { ReactComponent as rss_icon } from './rss.svg'\nimport { ReactComponent as save_icon } from './save.svg'\nimport { ReactComponent as scissors_icon } from './scissors.svg'\nimport { ReactComponent as search_icon } from './search.svg'\nimport { ReactComponent as send_icon } from './send.svg'\nimport { ReactComponent as server_icon } from './server.svg'\nimport { ReactComponent as settings_icon } from './settings.svg'\nimport { ReactComponent as share_icon } from './share.svg'\nimport { ReactComponent as share_2_icon } from './share-2.svg'\nimport { ReactComponent as shield_icon } from './shield.svg'\nimport { ReactComponent as shield_off_icon } from './shield-off.svg'\nimport { ReactComponent as shopping_bag_icon } from './shopping-bag.svg'\nimport { ReactComponent as shopping_cart_icon } from './shopping-cart.svg'\nimport { ReactComponent as shuffle_icon } from './shuffle.svg'\nimport { ReactComponent as sidebar_icon } from './sidebar.svg'\nimport { ReactComponent as skip_back_icon } from './skip-back.svg'\nimport { ReactComponent as skip_forward_icon } from './skip-forward.svg'\nimport { ReactComponent as slack_icon } from './slack.svg'\nimport { ReactComponent as slash_icon } from './slash.svg'\nimport { ReactComponent as sliders_icon } from './sliders.svg'\nimport { ReactComponent as smartphone_icon } from './smartphone.svg'\nimport { ReactComponent as smile_icon } from './smile.svg'\nimport { ReactComponent as speaker_icon } from './speaker.svg'\nimport { ReactComponent as square_icon } from './square.svg'\nimport { ReactComponent as star_icon } from './star.svg'\nimport { ReactComponent as stop_circle_icon } from './stop-circle.svg'\nimport { ReactComponent as sun_icon } from './sun.svg'\nimport { ReactComponent as sunrise_icon } from './sunrise.svg'\nimport { ReactComponent as sunset_icon } from './sunset.svg'\nimport { ReactComponent as table_icon } from './table.svg'\nimport { ReactComponent as tablet_icon } from './tablet.svg'\nimport { ReactComponent as tag_icon } from './tag.svg'\nimport { ReactComponent as target_icon } from './target.svg'\nimport { ReactComponent as terminal_icon } from './terminal.svg'\nimport { ReactComponent as thermometer_icon } from './thermometer.svg'\nimport { ReactComponent as thumbs_down_icon } from './thumbs-down.svg'\nimport { ReactComponent as thumbs_up_icon } from './thumbs-up.svg'\nimport { ReactComponent as toggle_left_icon } from './toggle-left.svg'\nimport { ReactComponent as toggle_right_icon } from './toggle-right.svg'\nimport { ReactComponent as tool_icon } from './tool.svg'\nimport { ReactComponent as trash_icon } from './trash.svg'\nimport { ReactComponent as trash_2_icon } from './trash-2.svg'\nimport { ReactComponent as trello_icon } from './trello.svg'\nimport { ReactComponent as trending_down_icon } from './trending-down.svg'\nimport { ReactComponent as trending_up_icon } from './trending-up.svg'\nimport { ReactComponent as triangle_icon } from './triangle.svg'\nimport { ReactComponent as truck_icon } from './truck.svg'\nimport { ReactComponent as tv_icon } from './tv.svg'\nimport { ReactComponent as twitch_icon } from './twitch.svg'\nimport { ReactComponent as twitter_icon } from './twitter.svg'\nimport { ReactComponent as type_icon } from './type.svg'\nimport { ReactComponent as umbrella_icon } from './umbrella.svg'\nimport { ReactComponent as underline_icon } from './underline.svg'\nimport { ReactComponent as unlock_icon } from './unlock.svg'\nimport { ReactComponent as upload_icon } from './upload.svg'\nimport { ReactComponent as upload_cloud_icon } from './upload-cloud.svg'\nimport { ReactComponent as user_icon } from './user.svg'\nimport { ReactComponent as user_check_icon } from './user-check.svg'\nimport { ReactComponent as user_minus_icon } from './user-minus.svg'\nimport { ReactComponent as user_plus_icon } from './user-plus.svg'\nimport { ReactComponent as user_x_icon } from './user-x.svg'\nimport { ReactComponent as users_icon } from './users.svg'\nimport { ReactComponent as video_icon } from './video.svg'\nimport { ReactComponent as video_off_icon } from './video-off.svg'\nimport { ReactComponent as voicemail_icon } from './voicemail.svg'\nimport { ReactComponent as volume_icon } from './volume.svg'\nimport { ReactComponent as volume_1_icon } from './volume-1.svg'\nimport { ReactComponent as volume_2_icon } from './volume-2.svg'\nimport { ReactComponent as volume_x_icon } from './volume-x.svg'\nimport { ReactComponent as watch_icon } from './watch.svg'\nimport { ReactComponent as wifi_icon } from './wifi.svg'\nimport { ReactComponent as wifi_off_icon } from './wifi-off.svg'\nimport { ReactComponent as wind_icon } from './wind.svg'\nimport { ReactComponent as x_icon } from './x.svg'\nimport { ReactComponent as x_circle_icon } from './x-circle.svg'\nimport { ReactComponent as x_octagon_icon } from './x-octagon.svg'\nimport { ReactComponent as x_square_icon } from './x-square.svg'\nimport { ReactComponent as youtube_icon } from './youtube.svg'\nimport { ReactComponent as zap_icon } from './zap.svg'\nimport { ReactComponent as zap_off_icon } from './zap-off.svg'\nimport { ReactComponent as zoom_in_icon } from './zoom-in.svg'\nimport { ReactComponent as zoom_out_icon } from './zoom-out.svg'\n\nconst icons = {\n activity: activity_icon,\n airplay: airplay_icon,\n alert_circle: alert_circle_icon,\n alert_octagon: alert_octagon_icon,\n alert_triangle: alert_triangle_icon,\n align_center: align_center_icon,\n align_justify: align_justify_icon,\n align_left: align_left_icon,\n align_right: align_right_icon,\n anchor: anchor_icon,\n aperture: aperture_icon,\n archive: archive_icon,\n arrow_down: arrow_down_icon,\n arrow_down_circle: arrow_down_circle_icon,\n arrow_down_left: arrow_down_left_icon,\n arrow_down_right: arrow_down_right_icon,\n arrow_left: arrow_left_icon,\n arrow_left_circle: arrow_left_circle_icon,\n arrow_right: arrow_right_icon,\n arrow_right_circle: arrow_right_circle_icon,\n arrow_up: arrow_up_icon,\n arrow_up_circle: arrow_up_circle_icon,\n arrow_up_left: arrow_up_left_icon,\n arrow_up_right: arrow_up_right_icon,\n at_sign: at_sign_icon,\n award: award_icon,\n bar_chart: bar_chart_icon,\n bar_chart_2: bar_chart_2_icon,\n battery: battery_icon,\n battery_charging: battery_charging_icon,\n bell: bell_icon,\n bell_off: bell_off_icon,\n bluetooth: bluetooth_icon,\n bold: bold_icon,\n book: book_icon,\n book_open: book_open_icon,\n bookmark: bookmark_icon,\n box: box_icon,\n briefcase: briefcase_icon,\n calendar: calendar_icon,\n camera: camera_icon,\n camera_off: camera_off_icon,\n cast: cast_icon,\n check: check_icon,\n check_circle: check_circle_icon,\n check_square: check_square_icon,\n chevron_down: chevron_down_icon,\n chevron_left: chevron_left_icon,\n chevron_right: chevron_right_icon,\n chevron_up: chevron_up_icon,\n chevrons_down: chevrons_down_icon,\n chevrons_left: chevrons_left_icon,\n chevrons_right: chevrons_right_icon,\n chevrons_up: chevrons_up_icon,\n chrome: chrome_icon,\n circle: circle_icon,\n clipboard: clipboard_icon,\n clock: clock_icon,\n cloud: cloud_icon,\n cloud_drizzle: cloud_drizzle_icon,\n cloud_lightning: cloud_lightning_icon,\n cloud_off: cloud_off_icon,\n cloud_rain: cloud_rain_icon,\n cloud_snow: cloud_snow_icon,\n code: code_icon,\n codepen: codepen_icon,\n codesandbox: codesandbox_icon,\n coffee: coffee_icon,\n columns: columns_icon,\n command: command_icon,\n compass: compass_icon,\n copy: copy_icon,\n corner_down_left: corner_down_left_icon,\n corner_down_right: corner_down_right_icon,\n corner_left_down: corner_left_down_icon,\n corner_left_up: corner_left_up_icon,\n corner_right_down: corner_right_down_icon,\n corner_right_up: corner_right_up_icon,\n corner_up_left: corner_up_left_icon,\n corner_up_right: corner_up_right_icon,\n cpu: cpu_icon,\n credit_card: credit_card_icon,\n crop: crop_icon,\n crosshair: crosshair_icon,\n database: database_icon,\n delete: delete_icon,\n disc: disc_icon,\n divide: divide_icon,\n divide_circle: divide_circle_icon,\n divide_square: divide_square_icon,\n dollar_sign: dollar_sign_icon,\n download: download_icon,\n download_cloud: download_cloud_icon,\n dribbble: dribbble_icon,\n droplet: droplet_icon,\n edit: edit_icon,\n edit_2: edit_2_icon,\n edit_3: edit_3_icon,\n external_link: external_link_icon,\n eye: eye_icon,\n eye_off: eye_off_icon,\n facebook: facebook_icon,\n fast_forward: fast_forward_icon,\n feather: feather_icon,\n figma: figma_icon,\n file: file_icon,\n file_minus: file_minus_icon,\n file_plus: file_plus_icon,\n file_text: file_text_icon,\n film: film_icon,\n filter: filter_icon,\n flag: flag_icon,\n folder: folder_icon,\n folder_minus: folder_minus_icon,\n folder_plus: folder_plus_icon,\n framer: framer_icon,\n frown: frown_icon,\n gift: gift_icon,\n git_branch: git_branch_icon,\n git_commit: git_commit_icon,\n git_merge: git_merge_icon,\n git_pull_request: git_pull_request_icon,\n github: github_icon,\n gitlab: gitlab_icon,\n globe: globe_icon,\n grid: grid_icon,\n hard_drive: hard_drive_icon,\n hash: hash_icon,\n headphones: headphones_icon,\n heart: heart_icon,\n help_circle: help_circle_icon,\n hexagon: hexagon_icon,\n home: home_icon,\n image: image_icon,\n inbox: inbox_icon,\n info: info_icon,\n instagram: instagram_icon,\n italic: italic_icon,\n key: key_icon,\n layers: layers_icon,\n layout: layout_icon,\n life_buoy: life_buoy_icon,\n link: link_icon,\n link_2: link_2_icon,\n linkedin: linkedin_icon,\n list: list_icon,\n loader: loader_icon,\n lock: lock_icon,\n log_in: log_in_icon,\n log_out: log_out_icon,\n mail: mail_icon,\n map: map_icon,\n map_pin: map_pin_icon,\n maximize: maximize_icon,\n maximize_2: maximize_2_icon,\n meh: meh_icon,\n menu: menu_icon,\n message_circle: message_circle_icon,\n message_square: message_square_icon,\n mic: mic_icon,\n mic_off: mic_off_icon,\n minimize: minimize_icon,\n minimize_2: minimize_2_icon,\n minus: minus_icon,\n minus_circle: minus_circle_icon,\n minus_square: minus_square_icon,\n monitor: monitor_icon,\n moon: moon_icon,\n more_horizontal: more_horizontal_icon,\n more_vertical: more_vertical_icon,\n mouse_pointer: mouse_pointer_icon,\n move: move_icon,\n music: music_icon,\n navigation: navigation_icon,\n navigation_2: navigation_2_icon,\n octagon: octagon_icon,\n package: package_icon,\n paperclip: paperclip_icon,\n pause: pause_icon,\n pause_circle: pause_circle_icon,\n pen_tool: pen_tool_icon,\n percent: percent_icon,\n phone: phone_icon,\n phone_call: phone_call_icon,\n phone_forwarded: phone_forwarded_icon,\n phone_incoming: phone_incoming_icon,\n phone_missed: phone_missed_icon,\n phone_off: phone_off_icon,\n phone_outgoing: phone_outgoing_icon,\n pie_chart: pie_chart_icon,\n play: play_icon,\n play_circle: play_circle_icon,\n plus: plus_icon,\n plus_circle: plus_circle_icon,\n plus_square: plus_square_icon,\n pocket: pocket_icon,\n power: power_icon,\n printer: printer_icon,\n radio: radio_icon,\n refresh_ccw: refresh_ccw_icon,\n refresh_cw: refresh_cw_icon,\n repeat: repeat_icon,\n rewind: rewind_icon,\n rotate_ccw: rotate_ccw_icon,\n rotate_cw: rotate_cw_icon,\n rss: rss_icon,\n save: save_icon,\n scissors: scissors_icon,\n search: search_icon,\n send: send_icon,\n server: server_icon,\n settings: settings_icon,\n share: share_icon,\n share_2: share_2_icon,\n shield: shield_icon,\n shield_off: shield_off_icon,\n shopping_bag: shopping_bag_icon,\n shopping_cart: shopping_cart_icon,\n shuffle: shuffle_icon,\n sidebar: sidebar_icon,\n skip_back: skip_back_icon,\n skip_forward: skip_forward_icon,\n slack: slack_icon,\n slash: slash_icon,\n sliders: sliders_icon,\n smartphone: smartphone_icon,\n smile: smile_icon,\n speaker: speaker_icon,\n square: square_icon,\n star: star_icon,\n stop_circle: stop_circle_icon,\n sun: sun_icon,\n sunrise: sunrise_icon,\n sunset: sunset_icon,\n table: table_icon,\n tablet: tablet_icon,\n tag: tag_icon,\n target: target_icon,\n terminal: terminal_icon,\n thermometer: thermometer_icon,\n thumbs_down: thumbs_down_icon,\n thumbs_up: thumbs_up_icon,\n toggle_left: toggle_left_icon,\n toggle_right: toggle_right_icon,\n tool: tool_icon,\n trash: trash_icon,\n trash_2: trash_2_icon,\n trello: trello_icon,\n trending_down: trending_down_icon,\n trending_up: trending_up_icon,\n triangle: triangle_icon,\n truck: truck_icon,\n tv: tv_icon,\n twitch: twitch_icon,\n twitter: twitter_icon,\n type: type_icon,\n umbrella: umbrella_icon,\n underline: underline_icon,\n unlock: unlock_icon,\n upload: upload_icon,\n upload_cloud: upload_cloud_icon,\n user: user_icon,\n user_check: user_check_icon,\n user_minus: user_minus_icon,\n user_plus: user_plus_icon,\n user_x: user_x_icon,\n users: users_icon,\n video: video_icon,\n video_off: video_off_icon,\n voicemail: voicemail_icon,\n volume: volume_icon,\n volume_1: volume_1_icon,\n volume_2: volume_2_icon,\n volume_x: volume_x_icon,\n watch: watch_icon,\n wifi: wifi_icon,\n wifi_off: wifi_off_icon,\n wind: wind_icon,\n x: x_icon,\n x_circle: x_circle_icon,\n x_octagon: x_octagon_icon,\n x_square: x_square_icon,\n youtube: youtube_icon,\n zap: zap_icon,\n zap_off: zap_off_icon,\n zoom_in: zoom_in_icon,\n zoom_out: zoom_out_icon,\n} as const\n\nexport default icons\n","import { Icon, IconProps } from 'semantic-ui-react'\nimport styled, { css } from 'styled-components'\n\ninterface SemanticIconProps extends IconProps {\n fontcolor: string\n width?: string | number\n height?: string | number\n}\n\nexport const SemanticIcon = styled(Icon)<SemanticIconProps>`\n &.icon,\n &.icon:before {\n margin: 0;\n color: ${({ fontcolor }) => fontcolor};\n display: flex;\n justify-content: center;\n align-items: center;\n\n ${({ width }) => {\n if (!width) return\n\n return css`\n font-size: ${width};\n width: ${width};\n `\n }}\n\n ${({ height }) => {\n if (!height) return\n\n return css`\n font-size: ${height};\n height: ${height};\n `\n }}\n }\n\n &.icon:before {\n height: 100%;\n }\n`\n\ninterface SVGContainerProps extends React.HtmlHTMLAttributes<HTMLDivElement> {\n color: string\n strokeWidth?: string\n}\n\nexport const SVGContainer = styled.div<SVGContainerProps>`\n display: flex;\n > svg {\n &,\n * {\n stroke: ${({ color }) => color};\n\n ${({ strokeWidth }) => {\n if (!strokeWidth) return\n\n return css`\n stroke-width: ${strokeWidth};\n `\n }}\n }\n }\n`\n","import React from 'react'\nimport { filterObject } from '../../functions/formatters'\n\nimport { isKeyOf } from '../../functions/validators'\nimport { colors } from '../../theme/constants'\nimport feather from '.././../assets/icons/feather'\nimport { CommonProps, ExtendsCommon, IconProps } from './interfaces'\nimport * as S from './styled'\n\nconst getColor = (c?: string): string => {\n if (!c) return colors.grey\n\n return isKeyOf(colors, c) ? colors[c] : c\n}\n\nconst getCommonProps = (props: ExtendsCommon) => {\n const color = getColor(props.color as string)\n const commonProps = filterObject<typeof props, Omit<CommonProps, 'color'>>(\n props,\n ['type', 'icon', 'color'],\n {\n width: '24px',\n },\n )\n\n return { color, commonProps }\n}\n\nconst Icon = (props: IconProps) => {\n switch (props.type) {\n case 'feather': {\n const { color, commonProps } = getCommonProps(props)\n\n const Component = feather[props.icon]\n return (\n <S.SVGContainer color={color} strokeWidth={props.strokeWidth}>\n <Component {...commonProps} />\n </S.SVGContainer>\n )\n }\n case 'semantic': {\n const { color, commonProps } = getCommonProps(props)\n\n return (\n <S.SemanticIcon fontcolor={color} name={props.icon} {...commonProps} />\n )\n }\n case 'svg': {\n const { color, commonProps } = getCommonProps(props)\n\n const Component = props.icon\n return (\n <S.SVGContainer color={color} strokeWidth={props.strokeWidth}>\n <Component {...commonProps} />\n </S.SVGContainer>\n )\n }\n case 'jsx': {\n return props.icon\n }\n default:\n throw new Error('Invalid icon type')\n }\n}\n\nexport default Icon\n","import styled from 'styled-components'\nimport { MwTextAreaProps } from './interfaces'\n\nexport const Container = styled.textarea<MwTextAreaProps>`\n width: ${(props) => `${props.width}`};\n height: ${(props) => `${props.height}`};\n resize: none;\n outline: 0;\n border: 1px solid #c8c8c8;\n padding: 14px;\n border-radius: 4px;\n color: #192338;\n`\n","import React from 'react'\nimport { MwTextAreaProps } from './interfaces'\nimport * as S from './styles'\n\nconst TextArea = (props: MwTextAreaProps): JSX.Element => {\n return <S.Container {...props} />\n}\n\nexport default TextArea\n","import styled from 'styled-components'\n\nexport const EllipsisContainer = styled.div`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`\n","import React from 'react'\n\nimport * as S from './styled'\n\nconst EllipsisContainer = (props: React.HTMLAttributes<HTMLDivElement>) => {\n const myProps: React.HTMLAttributes<HTMLDivElement> = { ...props }\n\n const _onMouseOver = myProps.onMouseOver || (() => {})\n\n myProps.onMouseOver = (event) => {\n _onMouseOver(event)\n\n let target = event.target as HTMLElement | null\n\n while (target && !('ellipsis' in target.dataset)) {\n target = target.parentElement as HTMLElement | null\n }\n\n if (!target) return\n\n if (target.scrollWidth > target.offsetWidth) {\n target.title = target.innerText\n } else target.removeAttribute('title')\n }\n\n return <S.EllipsisContainer {...myProps} data-ellipsis='' />\n}\n\nexport default EllipsisContainer\n","import React, { useState } from 'react'\nimport styled, { css } from 'styled-components'\nimport { filterObject, getSpacings } from '../../functions/formatters'\n\nimport { OverflowContainerProps, ScrollContainerProps } from './interfaces'\n\nconst Container = styled.div`\n ${({ theme }) => theme.useTypography('p')};\n\n padding-right: calc(${({ theme }) => theme.spacings.s1} / 2);\n display: flex;\n width: 100%;\n display: flex;\n flex-direction: column;\n`\n\nconst OverflowContainer = styled.div<OverflowContainerProps>`\n overflow-y: scroll;\n overflow-y: overlay;\n max-height: 100%;\n width: 100%;\n\n ${({ height }) => {\n if (!height) return\n\n return css`\n height: ${height};\n `\n }}\n\n scrollbar-color: ${({ theme }) =>\n `${theme.colors.grey} ${theme.colors.white}`};\n scrollbar-width: auto;\n\n ::-webkit-scrollbar {\n width: 7px;\n }\n ::-webkit-scrollbar-thumb {\n background: ${({ theme }) => theme.colors.grey};\n }\n ::-webkit-scrollbar-track {\n background: ${({ theme }) => theme.colors.white};\n }\n\n ${({ spacing, theme }) => {\n const value = getSpacings(spacing || '0', '0').split(' ')\n\n return css`\n padding: ${value[0]} calc(${theme.spacings.s1} * 1.5) ${value[2]}\n ${value[3]};\n `\n }};\n`\n\nconst ScrollContainer = (props: ScrollContainerProps) => {\n const { before, after } = props\n\n const onScrollEnd = props.onScrollEnd || (() => {})\n\n const [, setLastPagination] = useState<Date>(new Date())\n\n const onScroll = (event: React.UIEvent<HTMLDivElement, UIEvent>) => {\n const target = event.nativeEvent.target as HTMLDivElement | null\n\n if (!target) return\n\n const scrollTopMax = target.scrollHeight - target.clientHeight\n const scrollTop = target.scrollTop\n\n if (scrollTopMax !== 0 && scrollTopMax === scrollTop) {\n setLastPagination((prev) => {\n const now = new Date()\n\n const diff = Math.abs((now.getTime() - prev.getTime()) / 1000)\n\n if (diff < 0.5) return prev\n\n onScrollEnd()\n return now\n })\n }\n }\n\n const _onScroll = props.onScroll || (() => {})\n\n const htmlProps = filterObject<\n ScrollContainerProps,\n React.HTMLAttributes<HTMLDivElement>\n >(props, ['onScrollEnd', 'before', 'after'])\n\n return (\n <Container>\n {before}\n <OverflowContainer\n {...htmlProps}\n onScroll={(event: React.UIEvent<HTMLDivElement, UIEvent>) => {\n _onScroll(event)\n onScroll(event)\n }}\n />\n {after}\n </Container>\n )\n}\n\nexport default ScrollContainer\n","import styled, { css, FlattenSimpleInterpolation } from 'styled-components'\n\nimport { ContainerProps, Position, References } from './interfaces'\n\nconst positions: {\n [key in Position]: (refernce: References) => FlattenSimpleInterpolation\n} = {\n 'top right': ({ left }) => css`\n top: 0;\n left: ${left || '100%'};\n `,\n 'top left': ({ right }) => css`\n top: 0;\n right: ${right || '100%'};\n `,\n 'bottom right': ({ left }) => css`\n bottom: 0;\n left: ${left || '100%'};\n `,\n 'bottom left': ({ right }) => css`\n bottom: 0;\n right: ${right || '100%'};\n `,\n 'right top': ({ bottom }) => css`\n bottom: ${bottom || '100%'};\n right: 0;\n `,\n 'right bottom': ({ top }) => css`\n top: ${top || '100%'};\n right: 0;\n `,\n 'left top': ({ bottom }) => css`\n bottom: ${bottom || '100%'};\n left: 0;\n `,\n 'left bottom': ({ top }) => css`\n top: ${top || '100%'};\n left: 0;\n `,\n}\n\nexport const Container = styled.div<ContainerProps>`\n ${({ theme }) => theme.useTypography('p')};\n\n > div {\n box-shadow: 0px 3px 6px ${({ theme }) => theme.getColor('black', 15)};\n border: 1px solid ${({ theme }) => theme.colors.lightestGrey};\n }\n\n z-index: ${({ zIndex }) => zIndex || 1};\n\n ${({ width }) => {\n if (!width) return\n\n return css`\n width: ${width};\n `\n }}\n\n ${({ height }) => {\n if (!height) return\n\n return css`\n height: ${height};\n `\n }}\n\n ${({ maxWidth }) => {\n if (!maxWidth) return\n\n return css`\n max-width: ${maxWidth};\n `\n }}\n\n ${({ maxHeight }) => {\n if (!maxHeight) return\n\n return css`\n max-height: ${maxHeight};\n `\n }}\n\n position: absolute;\n\n ${({ position, references }) => {\n return positions[position](references || {})\n }}\n\n ${({ firstRender }) => {\n if (!firstRender) return\n\n return css`\n visibility: hidden;\n `\n }}\n`\n","import React, { useEffect, useState } from 'react'\nimport { filterObject } from '../../functions/formatters'\n\nimport { AbsoluteContainerProps, Position } from './interfaces'\nimport * as S from './styles'\n\nexport const AbsoluteContainer = (props: AbsoluteContainerProps) => {\n const disableAutoPosition = props.disableAutoPosition || props.position\n\n const center = props.center || {\n x: 50,\n y: 75,\n }\n\n const axis = props.axis || 'y'\n const defaultPosition = axis === 'y' ? 'right bottom' : 'top right'\n\n const [position, setPosition] = useState<Position>(\n props.position || defaultPosition,\n )\n\n const [ref, setRef] = useState<HTMLDivElement | null>(null)\n const [firstRender, setFirstRender] = useState<boolean>(true)\n\n useEffect(() => {\n if (disableAutoPosition || !ref) return\n\n const width = window.innerWidth\n const height = window.innerHeight\n const { top, left } = ref.getBoundingClientRect()\n\n const x = (left * 100) / width\n const y = (top * 100) / height\n\n const xDirection = x > center.x ? 'left' : 'right'\n const yDirection = y > center.y ? 'top' : 'bottom'\n\n const newPosition: Position =\n axis === 'y'\n ? (`${xDirection} ${yDirection}` as Position)\n : (`${yDirection} ${xDirection}` as Position)\n\n setPosition(newPosition)\n setFirstRender(false)\n }, [ref])\n\n const htmlProps = filterObject<\n AbsoluteContainerProps,\n React.HTMLAttributes<HTMLDivElement>\n >(props, ['center', 'position', 'disableAutoPosition', 'children'])\n\n return (\n <S.Container\n {...htmlProps}\n position={position}\n ref={setRef}\n firstRender={firstRender}\n >\n <div>{props.children}</div>\n </S.Container>\n )\n}\n\nexport default AbsoluteContainer\n","import styled, { css } from 'styled-components'\nimport { getSpacings } from '../../functions/formatters'\nimport AbsoluteContainer from '../AbsoluteContainer'\nimport { ContainerProps, StyledOptionProps } from './interfaces'\n\nexport const Option = styled.div<StyledOptionProps>`\n ${({ theme }) => theme.useTypography('p')};\n line-height: ${({ theme }) => theme.spacings.s3};\n display: flex;\n\n > :nth-child(1) {\n flex: 1;\n }\n\n ${({ disabled }) => {\n if (!disabled) {\n return css`\n cursor: pointer;\n `\n }\n\n return css`\n pointer-events: none;\n opacity: 0.3;\n `\n }};\n\n :hover {\n background-color: ${({ theme }) => theme.colors.iceWhite};\n }\n`\n\nexport const Container = styled(AbsoluteContainer)<ContainerProps>`\n > div {\n > div:nth-child(1) {\n background-color: ${({ theme }) => theme.colors.white};\n border-radius: 4px;\n }\n\n ${({ bordered }) => {\n if (!bordered) return\n\n return css`\n ${Option} {\n :not(:last-child) {\n border-bottom: 1px solid\n ${({ theme }) => theme.getColor('greyishBlue', 10)};\n }\n }\n `\n }}\n\n ${(props) => {\n const { theme } = props\n\n if (!props.spacing) {\n return css`\n ${Delimiter} {\n margin: ${theme.spacings.s1} 0px ${theme.spacings.s1}\n ${theme.spacings.s1};\n }\n `\n }\n\n const spacing = getSpacings(props.spacing, { right: '0' })\n\n return css`\n ${Option} {\n padding: ${spacing};\n }\n ${Delimiter} {\n margin: ${spacing};\n }\n `\n }}\n }\n`\n\nexport const Delimiter = styled.div`\n ${({ theme }) => theme.useTypography('p')};\n\n border-bottom: 1px solid ${({ theme }) => theme.colors.greyishBlue};\n margin: 14px;\n width: calc(100% - 28px);\n`\n","import React, { useEffect, useState } from 'react'\nimport { isString } from '../../functions/validators'\nimport EllipsisContainer from '../EllipsisContainer'\nimport Icon from '../Icon'\nimport ScrollContainer from '../ScrollContainer'\n\nimport { MenuInterface } from './interfaces'\nimport * as S from './styles'\n\nconst Menu: MenuInterface = (props) => {\n const {\n open,\n close,\n options,\n width,\n height,\n maxWidth,\n maxHeight,\n bordered,\n spacing,\n position,\n disableAutoPosition,\n axis,\n references,\n onScrollEnd,\n before,\n after,\n scrollHeight,\n scrollSpacing,\n } = { ...props }\n\n const [activeOption, setActiveOption] = useState<number>(-1)\n\n useEffect(() => {\n setActiveOption(-1)\n }, [options])\n\n const getSubmenu = (index: number) => {\n if (index === -1 || options[index] === undefined) {\n return\n }\n\n const { submenu: submenuProps } = options[index]\n\n if (!submenuProps) {\n return\n }\n\n return (\n <Menu\n {...props}\n {...submenuProps}\n onScrollEnd={submenuProps.onScrollEnd}\n axis='x'\n open\n close={() => setActiveOption(-1)}\n />\n )\n }\n\n if (!open) return <React.Fragment />\n\n return (\n <S.Container\n width={width}\n height={height}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n position={position}\n bordered={bordered}\n spacing={spacing}\n disableAutoPosition={disableAutoPosition}\n axis={axis}\n references={references}\n >\n <ScrollContainer\n onScrollEnd={onScrollEnd}\n before={before}\n after={after}\n height={scrollHeight}\n spacing={scrollSpacing}\n >\n {options.map((option, index) => {\n const { delimiter, keepOpen, submenu } = { ...option }\n\n const label = isString(option.label)\n ? { text: option.label, element: option.label }\n : option.label\n\n const closeMenu = keepOpen || submenu ? () => {} : close\n\n let onClick: React.MouseEventHandler<HTMLDivElement> | undefined\n let disabled: boolean | undefined\n\n if ('data' in option) {\n const rules = option.rules || []\n const rule = rules.find((rule) => {\n return !rule.rule(index, option.data)\n })\n\n if (rule === undefined) {\n const _onClick = option.onClick || (() => {})\n\n onClick = () => {\n setActiveOption((prev) => (prev !== index ? index : -1))\n _onClick(index, option.data)\n closeMenu()\n }\n } else {\n // TODO: exibir popup com a mensagem da regra\n disabled = true\n }\n } else {\n const rules = option.rules || []\n const rule = rules.find((rule) => {\n return !rule.rule(index)\n })\n\n if (rule === undefined) {\n const _onClick = option.onClick || (() => {})\n\n onClick = () => {\n setActiveOption((prev) => (prev !== index ? index : -1))\n _onClick(index)\n closeMenu()\n }\n } else {\n // TODO: exibir popup com a mensagem da regra\n disabled = true\n }\n }\n\n return (\n <React.Fragment key={index}>\n <S.Option onClick={onClick} disabled={disabled}>\n {isString(label.element) ? (\n <EllipsisContainer>{label.element}</EllipsisContainer>\n ) : (\n label.element\n )}\n\n {submenu && (\n <Icon type='semantic' icon='caret right' width='14px' />\n )}\n </S.Option>\n\n {delimiter && <S.Delimiter />}\n </React.Fragment>\n )\n })}\n </ScrollContainer>\n\n {getSubmenu(activeOption)}\n </S.Container>\n )\n}\n\nexport default Menu\n","import styled, { css } from 'styled-components'\nimport { IndicatorProps } from './interfaces'\n\ninterface ContainerProps {\n props: IndicatorProps\n}\n\nexport const Container = styled.div<ContainerProps>`\n display: flex;\n align-items: center;\n div {\n border-radius: 50%;\n width: ${({ props }) => (props.size === 'medium' ? '15px' : '6px')};\n height: ${({ props }) => (props.size === 'medium' ? '15px' : '6px')};\n\n ${({ props }) =>\n props.type === 'default' &&\n css`\n background-color: ${({ theme }) => theme.colors.warningGray};\n `}\n\n ${({ props }) =>\n props.type === 'info' &&\n css`\n background-color: ${({ theme }) => theme.colors.blue};\n `}\n ${({ props }) =>\n props.type === 'danger' &&\n css`\n background-color: ${({ theme }) => theme.colors.warningRed};\n `}\n ${({ props }) =>\n props.type === 'success' &&\n css`\n background-color: ${({ theme }) => theme.colors.green};\n `}\n ${({ props }) =>\n props.type === 'warning' &&\n css`\n background-color: ${({ theme }) => theme.colors.warningYellow};\n `}\n }\n\n span {\n display: inline-block;\n margin-left: 8px;\n color: ${(props) => props.props.labelColor};\n }\n`\n","import React from 'react'\nimport { IndicatorProps } from './interfaces'\nimport * as S from './styles'\n\nconst Indicator = (props: IndicatorProps) => {\n return (\n <S.Container props={props}>\n <div></div>\n <span> {props.description} </span>\n </S.Container>\n )\n}\n\nexport default Indicator\n","import styled, { css } from 'styled-components'\nimport { ProgressBarProps } from './interfaces'\n\nexport const Container = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n span {\n display: inline-block;\n margin-left: 7px;\n color: #000000cc;\n }\n`\n\nexport const Progress = styled.div<ProgressBarProps>`\n width: 64px;\n height: 12px;\n border: 1px solid #e4e4e4;\n div {\n width: ${(props) => `${props.value}%`};\n max-width: 64px;\n height: 100%;\n ${(props) =>\n props.type === 'default' &&\n css`\n background-color: ${({ theme }) => theme.colors.warningGray};\n `}\n\n ${(props) =>\n props.type === 'info' &&\n css`\n background-color: ${({ theme }) => theme.colors.blue};\n `}\n ${(props) =>\n props.type === 'danger' &&\n css`\n background-color: ${({ theme }) => theme.colors.warningRed};\n `}\n ${(props) =>\n props.type === 'success' &&\n css`\n background-color: ${({ theme }) => theme.colors.green};\n `}\n ${(props) =>\n props.type === 'warning' &&\n css`\n background-color: ${({ theme }) => theme.colors.warningYellow};\n `}\n }\n`\n","import React from 'react'\nimport { ProgressBarProps } from './interfaces'\nimport * as S from './styles'\n\nconst ProgressBar = (props: ProgressBarProps) => {\n return (\n <S.Container>\n <S.Progress {...props}>\n <div />\n </S.Progress>\n <span> {props.value || '0'}%</span>\n </S.Container>\n )\n}\n\nexport default ProgressBar\n","import styled, { css } from 'styled-components'\n\nimport { StyledTabsProps } from './interfaces'\n\nexport const Container = styled.div<StyledTabsProps>`\n display: block;\n border-bottom-style: solid;\n\n ${({ theme, internal }) => css`\n margin-bottom: ${theme.spacings.s2};\n border-bottom-width: ${internal ? '1px' : '2px'};\n border-bottom-color: ${internal\n ? theme.getColor('lightestGrey', 50)\n : theme.colors.blue};\n `}\n`\n\nexport const Tabs = styled.ul<StyledTabsProps>`\n user-select: none;\n list-style: none;\n display: inline-flex;\n gap: 1px;\n padding: 0;\n margin: 0;\n\n ${({ theme, internal }) => css`\n height: ${internal ? '41px' : '49px'};\n box-shadow: 0 0 10px 0 ${theme.getColor('black', 10)};\n `}\n`\n\nexport const Tab = styled.li<StyledTabsProps>`\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 4px 4px 0 0;\n\n svg {\n transform: scale(calc(18 / 24));\n stroke-width: 2px;\n }\n\n ${({ theme, active }) => css`\n background-color: ${theme.colors[active ? 'blue' : 'white']};\n padding: 0 ${theme.spacings.s2};\n gap: ${theme.spacings.s2};\n\n span {\n font-family: ${theme.typographies.h2.fontFamily};\n font-size: ${theme.typographies.h2.fontSize};\n font-weight: ${theme.typographies.h2.fontWeight};\n\n color: ${theme.colors[active ? 'white' : 'darkBlue']};\n }\n\n svg {\n stroke: ${theme.colors[active ? 'white' : 'darkBlue']};\n\n &:hover {\n stroke: ${theme.colors.red};\n }\n }\n `}\n`\n","import React, { useState } from 'react'\n\nimport { ReactComponent as CloseIcon } from '../../assets/icons/close.svg'\nimport { TabProps, TabsProps } from './interfaces'\nimport * as S from './styles'\n\nconst Tabs = (props: TabsProps) => {\n const { options, activeState, internal } = props\n\n const [tabs, setTabs] = useState<TabProps[]>(options)\n const [active, setActive] = activeState\n\n const updateActiveTab = (\n index: number,\n event: React.MouseEvent<HTMLLIElement, MouseEvent>,\n ) => {\n const element = event.target as HTMLElement\n if (element.tagName === 'svg') return\n\n setActive(index)\n }\n\n const removeTab = (index: number) => {\n setTabs((prevState) => {\n const aux = [...prevState]\n\n if (index === active) {\n setActive(index > 0 ? index - 1 : 1)\n }\n\n aux.splice(index, 1)\n\n return aux\n })\n }\n\n return (\n <S.Container>\n <S.Tabs internal={+(internal || false)}>\n {tabs.map((tab, index) => (\n <S.Tab\n key={index}\n active={+(active === index)}\n onClick={(event) => updateActiveTab(index, event)}\n >\n <span>{tab.label}</span>\n <CloseIcon onClick={() => removeTab(index)} />\n </S.Tab>\n ))}\n </S.Tabs>\n </S.Container>\n )\n}\n\nexport default Tabs\n","import { Mask, MaskFunction, MaskReplace, MaskReplaceArray } from './interfaces'\n\nconst isMaskFunction = (value?: Mask): value is MaskFunction => {\n return typeof value === 'function'\n}\n\nconst isMaskReplace = (value?: Mask): value is MaskReplace => {\n return Array.isArray(value) && value[0] instanceof RegExp\n}\n\nconst isMaskReplaceArray = (value?: Mask): value is MaskReplaceArray => {\n return Array.isArray(value) && Array.isArray(value[0])\n}\n\nexport const getMask = (mask?: Mask): MaskFunction => {\n if (isMaskFunction(mask)) {\n return mask\n } else if (isMaskReplace(mask)) {\n const [find, replace] = mask\n return (value: string) => value.replace(find, replace)\n } else if (isMaskReplaceArray(mask)) {\n return (value: string) => {\n let newValue = value\n\n mask.forEach((e) => {\n const [find, replace] = e\n newValue = newValue.replace(find, replace)\n })\n\n return newValue\n }\n }\n\n return (value: string) => value\n}\n","import styled, { css } from 'styled-components'\nimport { StyledInputProps, StyledLabelProps } from './interfaces'\n\nexport const IconContainer = styled.button`\n position: absolute;\n bottom: calc(${({ theme }) => theme.spacings.s2} + 1px);\n display: flex;\n justify-content: center;\n align-items: center;\n height: 17px;\n\n background-color: transparent;\n border: none;\n box-shadow: none;\n padding: 0;\n\n ${({ onClick, disabled }) => {\n if (!onClick || disabled) return\n\n return css`\n cursor: pointer;\n `\n }}\n`\n\nexport const Input = styled.input<StyledInputProps>`\n ${({ theme }) => theme.useTypography('p')};\n\n color: ${({ theme, invalid }) => {\n return invalid ? theme.colors.warningRed : theme.colors.darkBlue\n }};\n\n line-height: 17px;\n\n ::placeholder {\n color: ${({ theme, invalid }) => {\n return invalid ? theme.colors.warningRed : theme.colors.darkGrey\n }};\n\n line-height: 17px;\n\n ${({ placeholder }) => {\n if (placeholder !== '••••••••') {\n return css`\n ${({ theme }) => theme.useTypography('p')};\n opacity: 1;\n `\n }\n\n return css`\n opacity: 0.5;\n font-size: 14px;\n letter-spacing: 0px;\n `\n }}\n }\n\n width: 100%;\n box-sizing: border-box;\n\n padding: ${({ theme }) => `${theme.spacings.s2} ${theme.spacings.s3}`};\n\n border-width: 1px;\n border-style: solid;\n border-color: ${({ theme, invalid }) =>\n invalid ? theme.colors.warningRed : theme.colors.lightGrey};\n border-radius: 4px;\n\n background-color: ${({ theme, invalid }) =>\n invalid ? theme.getColor('warningRed', 5) : theme.colors.white};\n\n box-shadow: none;\n outline: none;\n\n ${({ arrows }) => {\n if (arrows) return\n\n return css`\n /* Chrome, Safari, Edge, Opera */\n :-webkit-outer-spin-button,\n :-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n /* Firefox */\n -moz-appearance: textfield;\n `\n }}\n`\n\nexport const Label = styled.label<StyledLabelProps>`\n ${({ theme }) => theme.useTypography('p')};\n\n color: ${({ theme }) => {\n return theme.colors.greyishBlue\n }};\n\n width: ${({ width }) => width || '100%'};\n box-sizing: border-box;\n position: relative;\n display: block;\n\n ${({ disabled }) => {\n if (!disabled) return\n\n return css`\n opacity: 0.5;\n `\n }}\n\n > div:first-child {\n display: inline-block;\n margin-bottom: ${({ theme }) => theme.spacings.s1};\n\n ${({ required }) => {\n if (!required) return\n\n return css`\n :after {\n content: ' *';\n }\n `\n }}\n }\n\n ${({ icon }) => {\n if (!icon) return\n\n const { width, position } = icon\n\n if (position === 'right') {\n return css`\n > ${IconContainer} {\n width: ${width};\n right: calc(${({ theme }) => theme.spacings.s3} / 2);\n }\n\n > ${Input} {\n padding-right: calc(${({ theme }) => theme.spacings.s3} + ${width});\n }\n `\n }\n\n return css`\n > ${IconContainer} {\n width: ${width};\n left: calc(${({ theme }) => theme.spacings.s3} / 2);\n }\n\n > ${Input} {\n padding-left: calc(${({ theme }) => theme.spacings.s3} + ${width});\n }\n `\n }}\n`\n","import React from 'react'\n\nimport MwIcon from '../../../Icon'\n\nimport { filterObject } from '../../../../functions/formatters'\nimport { IconProps } from '../../../Icon/interfaces'\nimport Loader from '../../../Loader'\nimport { getMask } from './functions'\n\nimport { InputProps, StyledInputProps } from './interfaces'\nimport * as S from './styles'\n\nconst Input = React.forwardRef(\n (props: InputProps, ref: React.ForwardedRef<HTMLInputElement>) => {\n const {\n label,\n required,\n invalid,\n disabled,\n loading,\n clearable,\n onPressEnter,\n htmlDisabled,\n width,\n arrows,\n } = {\n ...props,\n }\n\n const mask = getMask(props.mask)\n\n const intInvalid = invalid ? 1 : 0\n const intRequired = required ? 1 : 0\n const intDisabled = disabled ? 1 : 0\n const intArrows = arrows ? 1 : 0\n\n let position\n let iconWidth\n let iconSubmit\n let iconOnClick\n let icon: IconProps | undefined\n\n if (props.icon) {\n icon = { ...props.icon.icon }\n\n position = props.icon.position || 'right'\n\n if (intInvalid) icon.color = 'warningRed'\n\n iconWidth = icon.width\n iconSubmit = props.icon.submit\n iconOnClick = props.icon.onClick\n }\n\n const inputProps = filterObject<InputProps, StyledInputProps>(\n props,\n [\n 'label',\n 'invalid',\n 'required',\n 'icon',\n 'mask',\n 'loading',\n 'clearable',\n 'setValue',\n 'onPressEnter',\n 'htmlDisabled',\n 'width',\n 'arrows',\n ],\n {\n invalid: intInvalid,\n type: 'text',\n arrows: intArrows,\n },\n )\n\n const onChange = inputProps.onChange || (() => {})\n const setValue = props.setValue || (() => {})\n\n inputProps.onChange = (event) => {\n event.target.value = mask(event.target.value)\n onChange(event)\n setValue(event.target.value)\n }\n\n if (inputProps.onKeyDown || onPressEnter) {\n const onKeyDown = inputProps.onKeyDown || (() => {})\n\n const _onPressEnter = onPressEnter\n ? (event: React.KeyboardEvent<HTMLInputElement>) => {\n event.preventDefault()\n onPressEnter(event)\n }\n : () => {}\n\n inputProps.onKeyDown = (event) => {\n const target = event.target as HTMLInputElement\n const v = target.value\n\n onKeyDown(event)\n\n if (v !== target.value) setValue(target.value)\n\n if (event.key === 'Enter') {\n _onPressEnter(event)\n }\n }\n }\n\n if (inputProps.onKeyUp) {\n const onKeyUp = inputProps.onKeyUp\n\n inputProps.onKeyUp = (event) => {\n const target = event.target as HTMLInputElement\n const v = target.value\n\n onKeyUp(event)\n\n if (v !== target.value) setValue(target.value)\n }\n }\n\n if (inputProps.onKeyDownCapture) {\n const onKeyDownCapture = inputProps.onKeyDownCapture\n\n inputProps.onKeyDownCapture = (event) => {\n const target = event.target as HTMLInputElement\n const v = target.value\n\n onKeyDownCapture(event)\n\n if (v !== target.value) setValue(target.value)\n }\n }\n\n if (inputProps.onKeyUpCapture) {\n const onKeyUpCapture = inputProps.onKeyUpCapture\n\n inputProps.onKeyUpCapture = (event) => {\n const target = event.target as HTMLInputElement\n const v = target.value\n\n onKeyUpCapture(event)\n\n if (v !== target.value) setValue(target.value)\n }\n }\n\n if (loading) {\n position = position || 'left'\n icon = {\n type: 'jsx',\n icon: <Loader size='14px' />,\n width: '14px',\n }\n inputProps.disabled = true\n } else if (clearable) {\n position = position || 'right'\n\n iconOnClick =\n typeof clearable === 'function' ? clearable : () => setValue('')\n\n icon = {\n type: 'feather',\n icon: 'x',\n width: '14px',\n }\n }\n\n const iconProps = position\n ? {\n position: position as 'left' | 'right',\n width: iconWidth || '24px',\n }\n : undefined\n\n if (htmlDisabled) inputProps.disabled = true\n\n return (\n <S.Label\n required={intRequired}\n disabled={intDisabled}\n invalid={intInvalid}\n icon={iconProps}\n width={width}\n >\n <div>{label}</div>\n\n <S.Input {...inputProps} ref={ref} />\n\n {icon && (\n <S.IconContainer\n type={iconSubmit ? 'submit' : 'button'}\n onClick={iconOnClick}\n disabled={props.disabled}\n >\n <MwIcon {...icon} />\n </S.IconContainer>\n )}\n </S.Label>\n )\n },\n)\n\nInput.displayName = 'Input'\n\nexport default Input\n","import styled, { css } from 'styled-components'\nimport { isKeyOf } from '../../../../functions/validators'\nimport { LabelProps } from './interfaces'\n\nconst width = '17px'\n\nexport const Checkmark = styled.span`\n position: absolute;\n top: 0px;\n left: 0;\n height: ${width};\n width: ${width};\n background-color: ${({ theme }) => theme.colors.white};\n\n border-style: solid;\n border-color: ${({ theme }) => theme.colors.lightGrey};\n border-width: 1px;\n border-radius: 4px;\n\n transition-property: border-color;\n transition-duration: 0.25s;\n transition-timing-function: cubic-bezier(0.68, -0.55, 0.27, 1.55);\n\n :after {\n content: '';\n position: absolute;\n\n left: 50%;\n top: 50%;\n height: 0;\n width: 0;\n\n border-style: solid;\n border-color: ${({ theme }) => theme.colors.blue};\n border-width: 0;\n transform: rotate(45deg);\n\n transition-property: width height border-width top left;\n transition-duration: 0.25s;\n transition-timing-function: cubic-bezier(0.68, -0.55, 0.27, 1.55);\n }\n`\n\nexport const Label = styled.label<LabelProps>`\n ${({ theme }) => theme.useTypography('p')}\n line-height: 14px;\n\n display: block;\n\n ${({ padding, theme }) => {\n if (!padding) return\n\n const _padding = {\n top: '0',\n left: '0',\n right: '0',\n bottom: '0',\n }\n\n if (padding.top) {\n _padding.top = padding.top\n if (isKeyOf(theme.spacings, padding.top)) {\n _padding.top = theme.spacings[padding.top]\n }\n }\n\n if (padding.left) {\n _padding.left = padding.left\n if (isKeyOf(theme.spacings, padding.left)) {\n _padding.left = theme.spacings[padding.left]\n }\n }\n\n if (padding.bottom) {\n _padding.bottom = padding.bottom\n if (isKeyOf(theme.spacings, padding.bottom)) {\n _padding.bottom = theme.spacings[padding.bottom]\n }\n }\n\n if (padding.right) {\n _padding.right = padding.right\n if (isKeyOf(theme.spacings, padding.right)) {\n _padding.right = theme.spacings[padding.right]\n }\n }\n\n return css`\n padding-top: ${_padding.top};\n padding-left: ${_padding.left};\n padding-right: ${_padding.right};\n padding-bottom: ${_padding.bottom};\n `\n }}\n\n ${({ disabled }) => {\n if (!disabled) {\n return css`\n cursor: pointer;\n `\n }\n\n return css`\n opacity: 0.5;\n `\n }}\n\n > div {\n display: flex;\n align-items: center;\n position: relative;\n\n padding-left: calc(${width} + ${({ theme }) => theme.spacings.s1});\n user-select: none;\n min-height: 17px;\n\n > div:first-child {\n display: inline-block;\n ${({ theme }) => theme.useTypography('p')}\n line-height: 14px;\n\n ${({ required }) => {\n if (!required) return\n\n return css`\n :after {\n content: ' *';\n }\n `\n }}\n }\n\n > input {\n position: absolute;\n opacity: 0;\n height: 0;\n width: 0;\n }\n\n :hover ${Checkmark} {\n background-color: ${({ theme }) => theme.colors.iceWhite};\n }\n\n > input:checked ~ ${Checkmark} {\n border-color: ${({ theme }) => theme.colors.blue};\n\n :after {\n width: 5px;\n height: 9.5px;\n border-width: 0 2px 2px 0;\n left: 5px;\n top: 1px;\n }\n }\n\n ${({ theme, invalid }) => {\n if (!invalid) return\n\n return css`\n ${Checkmark},\n > input:checked ~ ${Checkmark}, \n > input:checked ~ ${Checkmark}:after {\n border-color: ${theme.colors.warningRed};\n }\n `\n }};\n }\n`\n","import React from 'react'\nimport { filterObject } from '../../../../functions/formatters'\n\nimport { CheckboxProps } from './interfaces'\nimport * as S from './styles'\n\nconst Checkbox = React.forwardRef(\n (props: CheckboxProps, ref?: React.ForwardedRef<HTMLInputElement>) => {\n const { label, disabled, required, invalid, padding } = props\n\n const htmlProps = filterObject<\n CheckboxProps,\n React.InputHTMLAttributes<HTMLInputElement>\n >(props, ['label', 'invalid', 'required', 'padding'])\n\n return (\n <S.Label\n disabled={disabled ? 1 : 0}\n required={required ? 1 : 0}\n invalid={invalid ? 1 : 0}\n padding={padding}\n >\n <div>\n <div>{label}</div>\n <input {...htmlProps} type='checkbox' ref={ref} />\n <S.Checkmark />\n </div>\n </S.Label>\n )\n },\n)\n\nCheckbox.displayName = 'Checkbox'\n\nexport default Checkbox\n","import { useEffect, useState } from 'react'\n\nconst useOnClickOut = <T extends HTMLElement>(callback: () => void) => {\n const [ref, setRef] = useState<T | null>(null)\n\n useEffect(() => {\n const listener = (event: MouseEvent | TouchEvent) => {\n // Do nothing if clicking ref's element or descendent elements\n if (!ref || ref.contains(event.target as Node)) {\n return\n }\n\n callback()\n }\n\n document.addEventListener('mousedown', listener)\n document.addEventListener('touchstart', listener)\n\n return () => {\n document.removeEventListener('mousedown', listener)\n document.removeEventListener('touchstart', listener)\n }\n }, [ref, callback])\n\n return setRef\n}\n\nexport default useOnClickOut\n","import React from 'react'\nimport Input from '../Input'\nimport { TimeProps } from './interfaces'\n\nconst mask = (v: string, seconds?: boolean) => {\n v = v.replace(/[^0-9\\s]/g, '')\n\n while (v.length > 0 && parseInt(v[0]) > 2) {\n v = v.substring(1)\n }\n\n if (v.length > 1) {\n if (v[0] === '2') {\n while (v.length > 1 && parseInt(v[1]) > 3) {\n v = v[0] + v.substring(2)\n }\n }\n }\n\n if (v.length > 2) {\n while (v.length > 2 && parseInt(v[2]) > 5) {\n v = v.substring(0, 2) + v.substring(3)\n }\n }\n\n if (v.length > 4) {\n while (v.length > 4 && parseInt(v[4]) > 5) {\n v = v.substring(0, 4) + v.substring(5)\n }\n }\n\n v = v.substring(0, seconds ? 6 : 4)\n\n if (v.length < 3) return v\n else if (v.length < 5) return v.substring(0, 2) + ':' + v.substring(2)\n else return v.substring(0, 2) + ':' + v.substring(2, 4) + ':' + v.substring(4)\n}\n\nconst Time = React.forwardRef(\n (props: TimeProps, ref?: React.ForwardedRef<HTMLInputElement>) => {\n const { seconds } = props\n\n const _onKeyDown = props.onKeyDown || (() => {})\n\n const onKeyDown: React.KeyboardEventHandler<HTMLInputElement> = (event) => {\n const target = event.target as HTMLInputElement\n\n const todayDate = new Date()\n\n const curH = todayDate.getHours()\n const curM = todayDate.getMinutes()\n const curS = todayDate.getSeconds()\n\n const value = target.value.replace(/[^0-9\\s]/g, '')\n\n let tmp = value.substring(0, 2)\n let h = tmp.length === 0 ? curH : parseInt(tmp.padEnd(2, '0'))\n\n tmp = value.substring(2, 4)\n let m = tmp.length === 0 ? curM : parseInt(tmp.padEnd(2, '0'))\n\n tmp = value.substring(4, 6)\n let s = tmp.length === 0 ? curS : parseInt(tmp.padEnd(2, '0'))\n\n if (event.key === 'ArrowUp') {\n const date = new Date()\n date.setHours(h)\n date.setMinutes(m)\n date.setSeconds(s)\n\n if (seconds) {\n date.setSeconds(s + 1)\n\n h = date.getHours()\n m = date.getMinutes()\n s = date.getSeconds()\n\n target.value = [\n h.toString().padStart(2, '0'),\n m.toString().padStart(2, '0'),\n s.toString().padStart(2, '0'),\n ].join(':')\n } else {\n date.setMinutes(m + 1)\n\n h = date.getHours()\n m = date.getMinutes()\n s = date.getSeconds()\n\n target.value = [\n h.toString().padStart(2, '0'),\n m.toString().padStart(2, '0'),\n ].join(':')\n }\n } else if (event.key === 'ArrowDown') {\n const date = new Date()\n date.setHours(h)\n date.setMinutes(m)\n date.setSeconds(s)\n\n if (seconds) {\n date.setSeconds(s - 1)\n\n h = date.getHours()\n m = date.getMinutes()\n s = date.getSeconds()\n\n target.value = [\n h.toString().padStart(2, '0'),\n m.toString().padStart(2, '0'),\n s.toString().padStart(2, '0'),\n ].join(':')\n } else {\n date.setMinutes(m - 1)\n\n h = date.getHours()\n m = date.getMinutes()\n s = date.getSeconds()\n\n target.value = [\n h.toString().padStart(2, '0'),\n m.toString().padStart(2, '0'),\n ].join(':')\n }\n }\n\n _onKeyDown(event)\n }\n\n const placeholder =\n props.placeholder === undefined\n ? seconds\n ? '––:––:––'\n : '––:––'\n : props.placeholder\n\n return (\n <Input\n {...props}\n type='text'\n placeholder={placeholder}\n mask={(v: string) => mask(v, seconds)}\n onKeyDown={onKeyDown}\n ref={ref}\n />\n )\n },\n)\n\nTime.displayName = 'Time'\n\nexport default Time\n","import styled, { css } from 'styled-components'\nimport MwAbsoluteContainer from '../AbsoluteContainer'\n\nexport const Container = styled.div`\n display: inline-block;\n background-color: ${({ theme }) => theme.colors.white};\n padding: ${({ theme }) => theme.spacings.s1};\n\n > div:nth-child(1) {\n border: 1px solid ${({ theme }) => theme.colors.lightestGrey};\n margin-bottom: ${({ theme }) => theme.spacings.s1};\n }\n`\n\nexport const AbsoluteContainer = styled(MwAbsoluteContainer)`\n > ${Container} {\n padding: ${({ theme }) =>\n `${theme.spacings.s3} ${theme.spacings.s3} ${theme.spacings.s1} ${theme.spacings.s3}`};\n }\n`\n\nexport const Footer = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n`\n\nexport const MonthContainer = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n > div {\n margin: ${({ theme }) => theme.spacings.s1} 0;\n }\n`\n\nexport const NavBtn = styled.button`\n ${({ theme }) => theme.useTypography('p')}\n line-height: 14px;\n width: 32px;\n height: 32px;\n box-shadow: none;\n border: 0.5px solid transparent;\n background-color: transparent;\n cursor: pointer;\n border: none;\n\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n\n :disabled {\n visibility: hidden;\n }\n`\n\nexport const WeekContainer = styled.div`\n width: 100%;\n display: flex;\n\n :not(:first-child) {\n border-top: 1px solid ${({ theme }) => theme.colors.lightestGrey};\n }\n\n > * {\n font-family: ${({ theme }) => theme.fonts.lato};\n font-size: ${({ theme }) => theme.spacings.s3};\n line-height: ${({ theme }) => theme.spacings.s3};\n width: 32px;\n height: 32px;\n\n color: ${({ theme }) => theme.colors.darkBlue};\n box-shadow: none;\n\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n\n border: 1px solid transparent;\n :not(:last-child) {\n border-right-color: ${({ theme }) => theme.colors.lightestGrey};\n }\n }\n`\n\nexport const Header = styled.div`\n width: 100%;\n\n background-color: ${({ theme }) => theme.getColor('lightestGrey', 40)};\n font-weight: bolder;\n\n > ${WeekContainer} {\n border-top: none;\n > * {\n border-right-color: transparent;\n }\n }\n`\n\ninterface DayContainerProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n active: 1 | 0\n color?: 'grey' | 'blue'\n}\n\nexport const DayContainer = styled.button<DayContainerProps>`\n ${({ theme, color }) => {\n if (color === 'grey') {\n return css`\n background-color: ${theme.getColor('greyishBlue', 10)};\n `\n } else if (color === 'blue') {\n return css`\n background-color: ${theme.colors.white};\n\n :not(:disabled) {\n background-color: ${theme.getColor('blue', 30)};\n }\n `\n }\n\n return css`\n background-color: ${theme.colors.white};\n `\n }};\n\n :disabled {\n color: ${({ theme }) => theme.colors.silver};\n }\n\n transition-property: background-color color;\n transition-timing-function: ease-in-out;\n transition-duration: 0.25s;\n\n :not(:disabled) {\n cursor: pointer;\n }\n\n ${({ active, theme }) => {\n if (active !== 1) {\n return css`\n :not(:disabled) {\n :hover {\n border-color: ${({ theme }) => theme.colors.blue};\n color: ${({ theme }) => theme.colors.blue};\n }\n }\n `\n }\n return css`\n color: ${theme.colors.white};\n background-color: ${theme.colors.blue};\n\n :not(:last-child) {\n border-right-color: ${({ theme }) => theme.colors.blue};\n }\n `\n }}\n`\n","import React, { useCallback, useEffect, useState } from 'react'\nimport Button from '../Button'\nimport Icon from '../Icon'\nimport Input from '../Input/components/Time'\n\nimport { CalendarProps } from './interfaces'\nimport * as S from './styles'\n\ninterface Calendar {\n month: number\n year: number\n weeks: Date[][]\n}\n\nconst months = [\n 'Janeiro',\n 'Fevereiro',\n 'Março',\n 'Abril',\n 'Maio',\n 'Junho',\n 'Julho',\n 'Agosto',\n 'Setembro',\n 'Outubro',\n 'Novembro',\n 'Dezembro',\n]\n\nconst getCalendar = (d: Date): Calendar => {\n const date = new Date(d.getTime())\n date.setHours(0, 0, 0, 0)\n const month = date.getMonth()\n const year = date.getFullYear()\n\n const days: Date[] = []\n\n date.setDate(1)\n date.setDate(date.getDate() - 1)\n\n while (date.getDay() !== 6 || days.length === 0) {\n const copy = new Date(date.getTime())\n days.unshift(copy)\n date.setDate(date.getDate() - 1)\n }\n\n date.setDate(date.getDate() + days.length + 1)\n\n while (month === date.getMonth()) {\n const copy = new Date(date.getTime())\n days.push(copy)\n date.setDate(date.getDate() + 1)\n }\n\n while (days.length < 42) {\n const copy = new Date(date.getTime())\n days.push(copy)\n date.setDate(date.getDate() + 1)\n }\n\n const weeks: Date[][] = []\n let week: Date[] = [days[0]]\n\n for (let i = 1; i < days.length; i++) {\n if (week.length === 7) {\n weeks.push(week)\n week = []\n }\n week.push(days[i])\n }\n weeks.push(week)\n\n return { month, year, weeks }\n}\n\nconst Calendar = (props: CalendarProps) => {\n const {\n overlay,\n time: timeProps,\n notAbsolute,\n initalValue,\n references,\n } = props\n\n const [value, _setValue] =\n props.value ||\n useState<Date | null>(\n initalValue && !isNaN(initalValue.getTime()) ? initalValue : null,\n )\n\n const withoutTime: { min?: Date; max?: Date } = {}\n\n let max: Date | undefined\n if (props.max) {\n max = new Date(props.max.getTime())\n withoutTime.max = new Date(props.max.getTime())\n withoutTime.max.setHours(0, 0, 0, 0)\n }\n\n let min: Date | undefined\n if (props.min) {\n min = new Date(props.min.getTime())\n withoutTime.min = new Date(props.min.getTime())\n withoutTime.min.setHours(0, 0, 0, 0)\n }\n\n const [invalid, setInvalid] = props.invalid || useState<boolean>(false)\n\n const [calendar, setCalendar] = useState<Calendar>(\n getCalendar(value || max || min || new Date()),\n )\n const [time, setTime] = useState<string>(() => {\n if (!value) return ''\n const h = value.getHours()\n const m = value.getMinutes()\n const s = value.getSeconds()\n\n return [h, m, s].join(':')\n })\n\n useEffect(() => {\n if (!value) return\n setValue(value)\n }, [time])\n\n const updateInvalid = useCallback(\n (value: Date | null) => {\n if (timeProps) {\n if (timeProps.seconds) {\n setInvalid(\n value === null ||\n (timeProps && timeProps.seconds && time.length < 8) ||\n (max !== undefined && value > max) ||\n (min !== undefined && value < min),\n )\n } else {\n setInvalid(\n value === null ||\n time.length < 5 ||\n (max !== undefined && value > max) ||\n (min !== undefined && value < min),\n )\n }\n } else {\n setInvalid(\n value === null ||\n (max !== undefined && value > max) ||\n (min !== undefined && value < min),\n )\n }\n },\n [time, value, max, min],\n )\n\n useEffect(() => {\n updateInvalid(value)\n }, [updateInvalid, value])\n\n const setValue = timeProps\n ? (date: Date | null) => {\n if (date === null) {\n _setValue(date)\n return\n }\n\n const splitted = time.split(':').map((v) => parseInt(v.padEnd(2, '0')))\n\n const copy = new Date(date.getTime())\n copy.setHours(\n splitted[0] || 0,\n splitted[1] || 0,\n splitted[2] || 0,\n splitted[3] || 0,\n )\n\n _setValue(copy)\n updateInvalid(copy)\n }\n : _setValue\n\n const changeMonth = (add: 1 | -1) => {\n setCalendar((prev) => {\n const date = new Date()\n date.setDate(1)\n date.setFullYear(prev.year)\n date.setMonth(prev.month + add)\n\n return getCalendar(date)\n })\n }\n\n const getPrev = () => {\n const disabled =\n min !== undefined &&\n (calendar.year < min.getFullYear() ||\n (calendar.year === min.getFullYear() &&\n calendar.month <= min.getMonth()))\n\n return (\n <S.NavBtn\n type='button'\n onClick={() => changeMonth(-1)}\n disabled={disabled}\n >\n <Icon\n type='feather'\n icon='chevron_left'\n color='darkBlue'\n strokeWidth='3px'\n />\n </S.NavBtn>\n )\n }\n\n const getNext = () => {\n const disabled =\n max !== undefined &&\n (calendar.year > max.getFullYear() ||\n (calendar.year === max.getFullYear() &&\n calendar.month >= max.getMonth()))\n\n return (\n <S.NavBtn\n type='button'\n onClick={() => changeMonth(1)}\n disabled={disabled}\n >\n <Icon\n type='feather'\n icon='chevron_right'\n color='darkBlue'\n strokeWidth='3px'\n />\n </S.NavBtn>\n )\n }\n\n let hasHighlight: (date: Date) => boolean = () => false\n\n if (value && overlay && overlay.value !== null) {\n const d = new Date(overlay.value.getTime())\n d.setHours(0, 0, 0, 0)\n\n const withoutTimeValue = new Date(value.getTime())\n withoutTimeValue.setHours(0, 0, 0, 0)\n\n hasHighlight =\n overlay.type === 'after'\n ? (date: Date) => {\n return date > withoutTimeValue && date <= d\n }\n : (date: Date) => {\n return date < withoutTimeValue && date >= d\n }\n }\n\n const _onSubmit = props.onSubmit || {}\n const onSubmit = {\n disabled: invalid,\n onClick: () => {},\n ..._onSubmit,\n }\n\n const content = (\n <S.Container>\n <div>\n <S.Header>\n <S.MonthContainer>\n {getPrev()}\n <div>\n {months[calendar.month]} {calendar.year}\n </div>\n {getNext()}\n </S.MonthContainer>\n\n <S.WeekContainer>\n <div>D</div>\n <div>S</div>\n <div>T</div>\n <div>Q</div>\n <div>Q</div>\n <div>S</div>\n <div>S</div>\n </S.WeekContainer>\n </S.Header>\n\n {calendar.weeks.map((week, index) => {\n return (\n <S.WeekContainer key={index}>\n {week.map((date, index) => {\n const day = date.getDate()\n const month = date.getMonth()\n\n let disabled: boolean | undefined\n let color: 'grey' | 'blue' | undefined\n\n if (month !== calendar.month) disabled = true\n if (\n (withoutTime.max && date > withoutTime.max) ||\n (withoutTime.min && date < withoutTime.min)\n ) {\n disabled = true\n color = 'grey'\n } else if (hasHighlight(date)) {\n color = 'blue'\n }\n\n const active =\n value &&\n date.toLocaleDateString() === value.toLocaleDateString()\n ? 1\n : 0\n\n const onClick =\n active === 0 ? () => setValue(date) : () => setValue(null)\n\n return (\n <S.DayContainer\n key={index}\n type='button'\n onClick={disabled ? undefined : onClick}\n disabled={disabled}\n active={active}\n color={color}\n >\n {day}\n </S.DayContainer>\n )\n })}\n </S.WeekContainer>\n )\n })}\n </div>\n\n {timeProps !== undefined || props.onSubmit !== undefined ? (\n <S.Footer>\n {timeProps ? (\n <Input\n {...timeProps}\n type='time'\n value={time}\n setValue={setTime}\n invalid={\n time.length !== 0 &&\n ((value !== null && invalid) || time.length < 5)\n }\n width={timeProps.seconds ? '86px' : '66px'}\n />\n ) : (\n <div />\n )}\n\n {props.onSubmit && (\n <Button\n onClick={() => onSubmit.onClick(value)}\n disabled={onSubmit.disabled}\n type='button'\n content='Aplicar'\n />\n )}\n </S.Footer>\n ) : undefined}\n </S.Container>\n )\n\n return notAbsolute ? (\n content\n ) : (\n <S.AbsoluteContainer axis='y' references={references}>\n {content}\n </S.AbsoluteContainer>\n )\n}\n\nexport default Calendar\n","export const JSDate = Date\n","import styled from 'styled-components'\n\nexport const RelativeContainer = styled.div`\n position: relative;\n`\n","import React, { useState } from 'react'\n\nimport {\n dateToIsoString,\n filterObject,\n isoStringToDate,\n} from '../../../../functions/formatters'\nimport useOnClickOut from '../../../../hooks/onClickOut'\n\nimport Calendar from '../../../Calendar'\nimport { IconProps } from '../../../Icon/interfaces'\n\nimport Input from '../Input'\nimport { InputProps } from '../Input/interfaces'\n\nimport { JSDate } from './functions'\nimport { DateProps } from './interfaces'\nimport * as S from './styles'\n\nconst isLeapYear = (year: number): boolean => {\n if (year % 4 !== 0) return false\n else if (year % 100 !== 0) return true\n else if (year % 400 !== 0) return false\n else return true\n}\n\nconst mask = (v: string) => {\n v = v.replace(/[^0-9\\s]/g, '')\n\n while (v.length > 0 && parseInt(v[0]) > 3) {\n v = v.substring(1)\n }\n\n if (v.length > 1) {\n if (v[0] === '3') {\n while (v.length > 1 && parseInt(v[1]) > 1) {\n v = v[0] + v.substring(2)\n }\n }\n }\n\n if (v.length > 2) {\n while (v.length > 2 && parseInt(v[2]) > 1) {\n v = v.substring(0, 2) + v.substring(3)\n }\n }\n\n if (v.length > 3) {\n if (v[2] === '1') {\n while (v.length > 3 && parseInt(v[3]) > 2) {\n v = v.substring(0, 3) + v.substring(4)\n }\n }\n }\n\n v = v.substring(0, 8)\n\n const date = [v.substring(0, 2), v.substring(2, 4), v.substring(4)]\n\n if (date[1] === '02') {\n const d = parseInt(date[0])\n\n if (date[2].length < 4 || isLeapYear(parseInt(date[2]))) {\n // se for ano nao estiver setado, ou se for bissexto, o dia maximo de fevereiro deve ser 29\n if (d > 29) {\n date[0] = '29'\n }\n } else if (d > 28) {\n // se for ano estiver setado e nao for bissexto, o dia maximo de fevereiro deve ser 28\n date[0] = '28'\n }\n } else if (['04', '06', '09', '11'].includes(date[1]) && date[0] === '31') {\n // meses com 30 dias\n date[0] = '30'\n }\n\n v = date.join('')\n\n if (v.length < 3) return v\n else if (v.length < 5) return v.substring(0, 2) + '/' + v.substring(2)\n else return v.substring(0, 2) + '/' + v.substring(2, 4) + '/' + v.substring(4)\n}\n\nconst Date = React.forwardRef(\n (props: DateProps, ref?: React.ForwardedRef<HTMLInputElement>) => {\n const { picker, value, min, max } = props\n\n const setValue = props.setValue || (() => {})\n\n const [open, setOpen] = useState<boolean>(false)\n\n const _onKeyDown = props.onKeyDown || (() => {})\n\n const onKeyDown: React.KeyboardEventHandler<HTMLInputElement> = (event) => {\n const target = event.target as HTMLInputElement\n\n const todayDate = new JSDate()\n\n const curD = todayDate.getDate()\n const curM = todayDate.getMonth() + 1\n const curY = todayDate.getFullYear()\n\n const value = target.value.replace(/[^0-9\\s]/g, '')\n\n let tmp = value.substring(0, 2)\n const d = tmp.length === 0 ? curD : parseInt(tmp.padEnd(2, '0'))\n\n tmp = value.substring(2, 4)\n const m = tmp.length === 0 ? curM : parseInt(tmp.padEnd(2, '0'))\n\n tmp = value.substring(4, 8)\n const y = tmp.length === 0 ? curY : parseInt(tmp.padEnd(2, '0'))\n\n if (event.key === 'ArrowUp') {\n const date = new JSDate(`${y}-${m}-${d} 00:00:00`)\n date.setDate(date.getDate() + 1)\n\n if (!max || date <= max) {\n target.value = dateToIsoString(date)\n }\n } else if (event.key === 'ArrowDown') {\n const date = new JSDate(`${y}-${m}-${d} 00:00:00`)\n date.setDate(date.getDate() - 1)\n\n if (!min || date >= min) {\n target.value = dateToIsoString(date)\n }\n }\n\n _onKeyDown(event)\n }\n\n const placeholder =\n props.placeholder === undefined ? 'dd/mm/aaaa' : props.placeholder\n\n const icon = picker\n ? {\n icon: {\n type: 'feather',\n icon: 'calendar',\n } as IconProps,\n position: 'right' as 'right' | 'left',\n onClick: () => setOpen((prev) => !prev),\n }\n : undefined\n\n const inputProps = filterObject<DateProps, InputProps>(props, [\n 'picker',\n 'min',\n 'max',\n ])\n\n return (\n <S.RelativeContainer ref={useOnClickOut(() => setOpen(false))}>\n <Input\n {...inputProps}\n type='text'\n placeholder={placeholder}\n mask={mask}\n onKeyDown={onKeyDown}\n icon={icon}\n ref={ref}\n />\n\n {open && (\n <Calendar\n initalValue={value ? isoStringToDate(value) : undefined}\n onSubmit={{\n onClick: (date) => {\n if (!date) return\n const newValue = dateToIsoString(date)\n setValue(newValue)\n setOpen(false)\n },\n }}\n min={min}\n max={max}\n references={{ bottom: '35px' }}\n />\n )}\n </S.RelativeContainer>\n )\n },\n)\n\nDate.displayName = 'Date'\n\nexport default Date\n","import React from 'react'\nimport { ContextInterface } from './interfaces'\n\nconst Provider = React.createContext<ContextInterface>({} as ContextInterface)\n\nexport const useContext = () => React.useContext(Provider)\n\nexport default Provider\n","import styled, { css } from 'styled-components'\n\nexport const RelativeContainer = styled.div`\n position: relative;\n`\nexport const HeaderContainer = styled.div`\n ${({ theme }) => css`\n padding: ${theme.spacings.s3} calc(${theme.spacings.s3} * 0.75)\n ${theme.spacings.s1} ${theme.spacings.s3};\n `}\n`\n\nexport const SelectAllContainer = styled.div`\n margin-bottom: ${({ theme }) => theme.spacings.s1};\n display: flex;\n justify-content: space-between;\n`\n","import React, { useState } from 'react'\n\nimport Button from '../../../Button'\nimport Input from '../Input'\n\nimport { useContext } from './context'\nimport * as S from './styles'\n\nconst Header = () => {\n const context = useContext()\n const [search, setSearch] = useState<string>('')\n\n if (!context.props.loader) {\n return <React.Fragment />\n }\n\n const {\n props: { options },\n checked,\n setChecked,\n searched,\n setSearched,\n setPage,\n } = context\n\n const onClick = () => {\n setChecked((prev) =>\n prev.length === options.length\n ? []\n : options.map((option) => option.value),\n )\n }\n\n const onSearch = () => {\n setSearched(search)\n setPage(1)\n }\n\n return (\n <S.HeaderContainer>\n {context.props.type === 'select-multiple' && context.props.selectAll && (\n <S.SelectAllContainer>\n <b>Selecionados ({checked.length})</b>\n\n <Button\n type='button'\n content='Selecionar todos'\n appearance='link'\n onClick={onClick}\n color='darkBlue'\n />\n </S.SelectAllContainer>\n )}\n\n <Input\n type='search'\n placeholder='Pesquisa'\n setValue={setSearch}\n value={search}\n onPressEnter={onSearch}\n clearable={search !== '' && search === searched}\n icon={{\n icon: {\n type: 'feather',\n icon: 'search',\n },\n onClick: onSearch,\n }}\n />\n </S.HeaderContainer>\n )\n}\n\nexport default Header\n","import React from 'react'\n\nimport Button from '../../../Button'\n\nimport { useContext } from './context'\n\nconst Footer = () => {\n const context = useContext()\n\n if (context.props.type !== 'select-multiple') return <React.Fragment />\n\n const {\n props: { setValue },\n checked,\n setOpen,\n } = context\n\n const onClick = () => {\n setValue([...checked])\n setOpen(false)\n }\n\n return (\n <Button\n type='button'\n content='Aplicar'\n onClick={onClick}\n style={{ marginRight: '-3.5px' }}\n />\n )\n}\n\nexport default Footer\n","import React, { useCallback, useEffect, useState } from 'react'\nimport { filterObject } from '../../../../functions/formatters'\n\nimport useOnClickOut from '../../../../hooks/onClickOut'\nimport Checkbox from '../Checkbox'\nimport Input from '../Input'\nimport { InputProps } from '../../components/Input/interfaces'\nimport Menu from '../../../Menu'\nimport { Option1 } from '../../../Menu/interfaces'\nimport Provider from './context'\nimport { SelectProps } from './interfaces'\nimport * as S from './styles'\nimport { isString } from '../../../../functions/validators'\nimport { ElementOrString } from '../../../../interfaces'\nimport Header from './header'\nimport Footer from './footer'\n\ninterface ParsedOption extends Option1<{ value: string }> {\n label: {\n text: string\n element: ElementOrString\n }\n}\n\nconst getOptions = (\n props: SelectProps,\n checked: string[],\n setChecked: React.Dispatch<React.SetStateAction<string[]>>,\n): ParsedOption[] => {\n if (props.type === 'select-multiple') {\n return props.options.map((option) => {\n const label = isString(option.label)\n ? {\n text: option.label,\n element: option.label,\n }\n : option.label\n\n return {\n label: {\n text: label.text,\n element: (\n <Checkbox\n type='checkbox'\n checked={checked.includes(option.value)}\n label={label.element}\n onChange={(event) => {\n const isChecked = event.target.checked\n\n setChecked((prev) => {\n const newState = prev.filter((v) => v !== option.value)\n\n if (isChecked) newState.push(option.value)\n\n return newState\n })\n }}\n padding={{\n top: 's3',\n left: 's3',\n right: 's3',\n bottom: 's3',\n }}\n />\n ),\n },\n onClick: () => {},\n data: {\n value: option.value,\n },\n keepOpen: true,\n }\n })\n }\n\n return props.options.map((option) => {\n const label = isString(option.label)\n ? {\n text: option.label,\n element: option.label,\n }\n : option.label\n\n return {\n label,\n onClick:\n option.onClick ||\n ((_index: number, data) => {\n props.setValue(data.value)\n }),\n data: {\n value: option.value,\n },\n }\n })\n}\n\nconst Select = React.forwardRef(\n (props: SelectProps, ref?: React.ForwardedRef<HTMLInputElement>) => {\n const { position, disableAutoPosition, loader, type } = props\n\n const [loading, setLoading] = useState<boolean>(false)\n const [searched, setSearched] = useState<string>('')\n const [page, setPage] = useState<number>(1)\n const [lastPage, setLastPage] = useState<boolean>(false)\n const [open, setOpen] = useState<boolean>(false)\n const [checked, setChecked] = useState<string[]>(\n Array.isArray(props.value) ? [...props.value] : [],\n )\n\n const options = getOptions(props, checked, setChecked)\n\n const inputProps = filterObject<SelectProps, InputProps>(props, [\n 'type',\n 'onScrollEnd',\n 'options',\n 'position',\n 'disableAutoPosition',\n 'value',\n ])\n\n if (props.type === 'select-multiple') {\n if (props.value.length > 0) {\n inputProps.value =\n props.value.length > 1\n ? `Há ${props.value.length} seleções`\n : `Há ${props.value.length} seleção`\n } else {\n inputProps.value = ''\n }\n } else {\n const selected = options.find(\n (option) => option.data.value === props.value,\n )\n\n inputProps.value = selected ? selected.label.text : ''\n }\n\n const _onScrollEnd = props.onScrollEnd || (() => {})\n\n const onScrollEnd = () => {\n if (!lastPage) {\n setPage((prev) => prev + 1)\n }\n\n _onScrollEnd()\n }\n\n const onSubmit = useCallback(async () => {\n if (!props.loader) return\n\n setLoading(true)\n\n const optionsResult = await props.loader(searched, page)\n\n if (Array.isArray(optionsResult)) {\n props.setOptions(\n page === 1 ? optionsResult : (prev) => prev.concat(optionsResult),\n )\n setLastPage(true)\n } else {\n props.setOptions(\n page === 1\n ? optionsResult.options\n : (prev) => prev.concat(optionsResult.options),\n )\n setLastPage(optionsResult.lastPage)\n }\n\n setLoading(false)\n }, [searched, page])\n\n useEffect(() => {\n onSubmit()\n }, [onSubmit])\n\n return (\n <Provider.Provider\n value={{\n props,\n setOpen,\n checked,\n setPage,\n setChecked,\n searched,\n setSearched,\n }}\n >\n <S.RelativeContainer ref={useOnClickOut(() => setOpen(false))}>\n <Input\n {...inputProps}\n type='search'\n readOnly\n onClick={() => {\n setOpen((prev) => !prev)\n }}\n loading={props.loading || loading}\n icon={{\n position: 'right',\n icon: {\n type: 'semantic',\n icon: open ? 'caret up' : 'caret down',\n width: '14px',\n },\n }}\n ref={ref}\n />\n <Menu\n open={open}\n close={() => setOpen(false)}\n options={options}\n onScrollEnd={onScrollEnd}\n width='100%'\n bordered\n spacing={type === 'select-multiple' ? undefined : 's3'}\n position={position}\n disableAutoPosition={disableAutoPosition}\n references={{ bottom: '35px' }}\n before={<Header />}\n after={<Footer />}\n scrollHeight={loader ? '135px' : '165px'}\n />\n </S.RelativeContainer>\n </Provider.Provider>\n )\n },\n)\n\nSelect.displayName = 'Select'\n\nexport default Select\n","import React, { useState } from 'react'\nimport feather from '../../../../assets/icons/feather'\nimport { IconProps } from '../../../Icon/interfaces'\n\nimport Input from '../Input'\n\nimport { PasswordProps } from './interfaces'\n\nconst Password = React.forwardRef(\n (props: PasswordProps, ref?: React.ForwardedRef<HTMLInputElement>) => {\n const [visibility, setVisibility] = useState<'none' | 'visible' | 'hidden'>(\n 'none',\n )\n\n const icons = {\n none: {\n icon: 'edit' as keyof typeof feather,\n onClick: () => setVisibility('hidden'),\n },\n visible: {\n icon: 'eye_off' as keyof typeof feather,\n onClick: () => setVisibility('hidden'),\n },\n hidden: {\n icon: 'eye' as keyof typeof feather,\n onClick: () => setVisibility('visible'),\n },\n }\n\n const icon: IconProps = {\n type: 'feather',\n icon: icons[visibility].icon,\n width: '19px',\n }\n\n const _onBlur = props.onBlur || (() => {})\n\n const onBlur: React.FocusEventHandler<HTMLInputElement> = (event) => {\n if (!event.target.value) setVisibility('none')\n _onBlur(event)\n }\n\n return (\n <Input\n {...props}\n type={visibility === 'visible' ? 'text' : 'PASSWORD'}\n icon={{\n icon,\n position: 'right',\n onClick: icons[visibility].onClick,\n }}\n onBlur={onBlur}\n placeholder='••••••••'\n htmlDisabled={visibility === 'none'}\n ref={ref}\n />\n )\n },\n)\n\nPassword.displayName = 'Password'\n\nexport default Password\n","/* loaded by smart-asset */\nexport default \"flags~SpNmyrlX.png\"","import styled, { css } from 'styled-components'\nimport img from './flags.png'\n\ninterface Coordinate {\n s1: string\n s2: string\n s3: string\n s4: string\n s5: string\n s6: string\n}\n\ninterface Coordinates {\n ar: Coordinate\n br: Coordinate\n cl: Coordinate\n es: Coordinate\n us: Coordinate\n mx: Coordinate\n py: Coordinate\n pt: Coordinate\n uy: Coordinate\n}\n\nexport const coordinates: Coordinates = {\n ar: {\n s1: '0px 0px',\n s2: '0px 0px',\n s3: '3607px 1px',\n s4: '5410px 1px',\n s5: '0px 0px',\n s6: '0px 0px',\n },\n br: {\n s1: '0px 0px',\n s2: '0px 0px',\n s3: '3300.3px 0px',\n s4: '4950px 0px',\n s5: '0px 0px',\n s6: '0px 0px',\n },\n cl: {\n s1: '0px 0px',\n s2: '0px 0px',\n s3: '3084px 0px',\n s4: '4625px 0px',\n s5: '0px 0px',\n s6: '0px 0px',\n },\n es: {\n s1: '0px 0px',\n s2: '0px 0px',\n s3: '2717px 0px',\n s4: '4075px 0px',\n s5: '0px 0px',\n s6: '0px 0px',\n },\n us: {\n s1: '0px 0px',\n s2: '0px 0px',\n s3: '274.3px 1px',\n s4: '389px 2px',\n s5: '0px 0px',\n s6: '0px 0px',\n },\n mx: {\n s1: '0px 0px',\n s2: '0px 0px',\n s3: '1383px 1px',\n s4: '2074px 1px',\n s5: '0px 0px',\n s6: '0px 0px',\n },\n py: {\n s1: '0px 0px',\n s2: '0px 0px',\n s3: '963.5px 1.4px',\n s4: '1445px 2px',\n s5: '0px 0px',\n s6: '0px 0px',\n },\n pt: {\n s1: '0px 0px',\n s2: '0px 0px',\n s3: '993px 0px',\n s4: '1489px 0px',\n s5: '0px 0px',\n s6: '0px 0px',\n },\n uy: {\n s1: '0px 0px',\n s2: '0px 0px',\n s3: '3998px 0.3px',\n s4: '367px 0px',\n s5: '0px 0px',\n s6: '0px 0px',\n },\n}\n\ninterface FlagProps {\n iso: keyof typeof coordinates\n width?: keyof Coordinate\n}\n\nconst Flag = styled.div<FlagProps>`\n background-image: url(${img});\n background-size: auto 100%;\n\n ${({ iso, width, theme }) => {\n width = width || 's4'\n\n return css`\n background-position: ${coordinates[iso][width]};\n width: ${theme.spacings[width]};\n height: calc(${theme.spacings[width]} / 1.4);\n `\n }}\n`\n\nexport default Flag\n","import { Countries } from './interfaces'\n\nconst countries: Countries = {\n ar: {\n name: 'Argentina',\n iso: 'ar',\n ddi: 54,\n placeholder: '011 15-2345-678',\n validation: /^[0-9]{12}$/i,\n charLimit: 12,\n mask: (value: string) => {\n return value.replace(/(\\d{3})(\\d{2})(\\d{4})(\\d{3})$/, '$1 $2-$3-$4')\n },\n },\n br: {\n name: 'Brasil',\n iso: 'br',\n ddi: 55,\n placeholder: '(11) 96123-4567',\n validation: /^[0-9]{2}(?:[2-8]|9[0-9])[0-9]{7}$/i,\n charLimit: 11,\n mask: (value: string) => {\n return value\n .replace(/(\\d{2})(\\d)/, '($1) $2')\n .replace(/(\\d{5})(\\d{4})$/, '$1-$2')\n .replace(/(\\d{4})(\\d{4})/, '$1-$2')\n },\n },\n cl: {\n name: 'Chile',\n iso: 'cl',\n ddi: 56,\n placeholder: '(2) 2123 4567',\n validation: /^[0-9]{9}$/i,\n charLimit: 9,\n mask: (value: string) => {\n return value.replace(/(\\d{1})(\\d{4})(\\d{4})$/, '($1) $2 $3')\n },\n },\n es: {\n name: 'Espanha',\n iso: 'es',\n ddi: 34,\n placeholder: '612 34 56 78',\n validation: /^[0-9]{9}$/i,\n charLimit: 9,\n mask: (value: string) => {\n return value.replace(/(\\d{3})(\\d{2})(\\d{2})(\\d{2})$/, '$1 $2 $3 $4')\n },\n },\n us: {\n name: 'Estados Unidos',\n iso: 'us',\n ddi: 1,\n placeholder: '(201) 555-01',\n validation: /^[0-9]{8}$/i,\n charLimit: 8,\n mask: (value: string) => {\n return value.replace(/(\\d{3})(\\d{3})(\\d{2})$/, '($1) $2-$3')\n },\n },\n mx: {\n name: 'México',\n iso: 'mx',\n ddi: 52,\n placeholder: '044 222 123 45',\n validation: /^[0-9]{11}$/i,\n charLimit: 11,\n mask: (value: string) => {\n return value.replace(/(\\d{3})(\\d{3})(\\d{3})(\\d{2})$/, '$1 $2 $3 $4')\n },\n },\n py: {\n name: 'Paraguai',\n iso: 'py',\n ddi: 595,\n validation: /^[0-9]{9}$/i,\n charLimit: 9,\n mask: (value: string) => {\n return value.replace(/(\\d{3})(\\d{6})$/, '$1 $2')\n },\n },\n pt: {\n name: 'Portugal',\n iso: 'pt',\n ddi: 351,\n placeholder: '912 345 678',\n validation: /^[0-9]{9}$/i,\n charLimit: 9,\n mask: (value: string) => {\n return value.replace(/(\\d{3})(\\d{3})(\\d{3})$/, '$1 $2 $3')\n },\n },\n uy: {\n name: 'Uruguai',\n iso: 'uy',\n ddi: 598,\n placeholder: '094 231 234',\n validation: /^[0-9]{9}$/i,\n charLimit: 9,\n mask: (value: string) => {\n return value.replace(/(\\d{3})(\\d{3})(\\d{3})$/, '$1 $2 $3')\n },\n },\n}\n\nexport default countries\n","import styled from 'styled-components'\n\nexport const IconContainer = styled.div`\n display: flex;\n align-items: center;\n\n > i.icon {\n margin-top: -1px;\n }\n`\n\nexport const RelativeContainer = styled.div`\n position: relative;\n`\n\nexport const Label = styled.div`\n ${({ theme }) => theme.useTypography('p')}\n\n color: ${({ theme }) => theme.colors.greyishBlue};\n\n display: flex;\n gap: ${({ theme }) => theme.spacings.s1};\n\n > span {\n color: ${({ theme }) => theme.colors.darkestGrey};\n }\n`\n","import React, { useEffect, useState } from 'react'\nimport Flag from '../../../../assets/icons/flags'\n\nimport { notEmptyString } from '../../../../functions/validators'\nimport useOnClickOut from '../../../../hooks/onClickOut'\nimport Input from '../Input'\nimport Icon from '../../../Icon'\nimport { Option } from '../../../Menu/interfaces'\n\nimport countries from './countries'\nimport { Country, Details, IconProps, PhoneProps } from './interfaces'\nimport * as S from './styles'\nimport Menu from '../../../Menu'\n\nexport const getDetails = (phone: string): Details | null => {\n if (!notEmptyString(phone)) return null\n\n // mantendo apenas numeros e espacoes e separando por espacos\n const splitted = phone.replace(/[^0-9\\s]/g, '').split(' ')\n // se tem pelo menos 2 posicoes a primeira deve ser o ddi e a segunda o restante do numero\n if (splitted.length < 2) return null\n\n // pegando o ddi na primeira posicao\n const ddi = parseInt(splitted[0])\n splitted.shift()\n\n // verificando se existe algum pais com o ddi correspondente\n const iso = (Object.keys(countries) as (keyof typeof countries)[]).find(\n (k) => {\n return countries[k].ddi === ddi\n },\n )\n\n const country = !iso ? countries.br : countries[iso]\n\n // juntando o restante do numero do telefone e mantendo apenas digitos\n let masked = splitted.join(' ').replace(/\\D+/g, '')\n const value = masked\n // mantendo o limite de caracteres especificado pelo pais selecionado\n masked = masked.substring(0, country.charLimit)\n // se o pais selecionado possui mascara, aplica a mascara\n if (country.mask) masked = country.mask(masked)\n\n // se o pais selecionado nao tem validacao, considera valido\n let valid = true\n const validation = country.validation\n if (validation instanceof RegExp) {\n // se a validacao for do tipo regex, faz o teste\n valid = validation.test(value)\n } else if (typeof validation === 'function') {\n // se for do tipo funcao chama a funcao pra fazer o teste\n valid = validation(value)\n }\n\n return {\n country,\n masked,\n value,\n withDDI: `${country.ddi} ${value}`,\n valid,\n }\n}\n\nconst Button = (props: IconProps) => {\n const {\n country: [country],\n open: [open],\n } = props\n\n return (\n <S.IconContainer>\n <Flag iso={country.iso} />\n <Icon\n type='semantic'\n icon={open ? 'caret up' : 'caret down'}\n width='14px'\n color='lightGrey'\n />\n </S.IconContainer>\n )\n}\n\nconst Phone = React.forwardRef(\n (props: PhoneProps, ref?: React.ForwardedRef<HTMLInputElement>) => {\n const { value, setValue } = props\n\n const [inputValue, setInputValue] = useState<string>('')\n const [country, setCountry] = useState<Country>(countries.br)\n const [open, setOpen] = useState<boolean>(false)\n\n useEffect(() => {\n const details = getDetails(value || '')\n\n setCountry(details ? details.country : countries.br)\n }, [value])\n\n const options: Option<Country>[] = (\n Object.keys(countries) as (keyof typeof countries)[]\n ).map((iso) => ({\n label: {\n text: countries[iso].name,\n element: (\n <S.Label>\n <Flag iso={iso} />\n {countries[iso].name}\n <span>+{countries[iso].ddi}</span>\n </S.Label>\n ),\n },\n onClick: (_index, country) => {\n setCountry(country)\n },\n data: countries[iso],\n }))\n\n const mask = (value: string): string => {\n value = value.replace(/\\D+/g, '')\n value = value.substring(0, country.charLimit)\n if (country.mask) value = country.mask(value)\n return value\n }\n\n useEffect(() => {\n const details = getDetails(value || '')\n setCountry(details ? details.country : countries.br)\n }, [value])\n\n useEffect(() => {\n setInputValue((prev) => mask(prev))\n }, [country])\n\n useEffect(() => {\n const v = inputValue.replace(/\\D+/g, '').substring(0, country.charLimit)\n\n setValue(`${country.ddi} ${v}`)\n }, [inputValue])\n\n return (\n <S.RelativeContainer\n ref={useOnClickOut<HTMLDivElement>(() => setOpen(false))}\n >\n <Input\n {...props}\n type='text'\n placeholder={country.placeholder}\n mask={mask}\n value={inputValue}\n setValue={setInputValue}\n icon={{\n icon: {\n icon: (\n <Button\n country={[country, setCountry]}\n open={[open, setOpen]}\n />\n ),\n type: 'jsx',\n width: '35px',\n },\n onClick: () => setOpen((prev) => !prev),\n position: 'left',\n }}\n ref={ref}\n />\n\n <Menu\n open={open}\n close={() => setOpen(false)}\n options={options}\n width='100%'\n maxHeight='165px'\n bordered\n spacing='s3'\n />\n </S.RelativeContainer>\n )\n },\n)\n\nPhone.displayName = 'Phone'\n\nexport default Phone\n","import React from 'react'\nimport styled, { css } from 'styled-components'\n\nexport const RelativeContainer = styled.div`\n position: relative;\n\n input {\n color: transparent;\n }\n`\n\ninterface ContainerProps extends React.HTMLAttributes<HTMLDivElement> {\n iconWidth: string\n invalid: 1 | 0\n disabled: 1 | 0\n}\n\nexport const Container = styled.div<ContainerProps>`\n position: absolute;\n bottom: 1px;\n left: 1px;\n width: calc(100% - 2px - ${({ iconWidth, theme }) => `${iconWidth} - ${theme.spacings.s3}`});\n height: 33px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: ${({ theme }) =>\n `${theme.spacings.s2} 0 ${theme.spacings.s2} ${theme.spacings.s3}`};\n border-radius: 4px;\n\n ${({ invalid, theme }) => {\n if (!invalid) return\n\n return css`\n color: ${theme.colors.warningRed};\n `\n }}\n\n ${({ disabled }) => {\n if (!disabled) return\n\n return css`\n opacity: 0.5;\n `\n }}\n`\n\nexport const Button = styled.button`\n display: flex;\n background-color: transparent;\n border: none;\n padding: 0;\n box-shadow: none;\n\n ${({ onClick }) => {\n if (!onClick) return\n\n return css`\n :not(:disabled) {\n cursor: pointer;\n }\n `\n }};\n`\n","import React, { useEffect, useState } from 'react'\nimport {\n dateToIsoString,\n filterObject,\n isoStringToDate,\n} from '../../../../functions/formatters'\nimport useOnClickOut from '../../../../hooks/onClickOut'\nimport Calendar from '../../../Calendar'\nimport Icon from '../../../Icon'\nimport { IconProps } from '../../../Icon/interfaces'\nimport Input from '../Input'\nimport { InputProps } from '../Input/interfaces'\nimport { DatePickerProps } from './interfaces'\nimport * as S from './styles'\n\nconst DatePicker = React.forwardRef(\n (props: DatePickerProps, ref?: React.ForwardedRef<HTMLInputElement>) => {\n const { picker, value, setValue, min, max } = props\n\n const disabled = props.disabled || props.loading\n\n const today = dateToIsoString(new Date())\n\n const [open, setOpen] = useState<boolean>(false)\n\n useEffect(() => {\n const date = isoStringToDate(value)\n if (!date) {\n setValue(dateToIsoString(new Date()))\n }\n }, [value])\n\n const onAdd = () => {\n const date = isoStringToDate(value) || new Date()\n date.setDate(date.getDate() + 1)\n if (max && date > max) return\n setValue(dateToIsoString(date))\n }\n\n const onSub = () => {\n const date = isoStringToDate(value) || new Date()\n date.setDate(date.getDate() - 1)\n if (min && date < min) return\n setValue(dateToIsoString(date))\n }\n\n const icon = picker\n ? {\n icon: {\n type: 'feather',\n icon: 'calendar',\n width: '24px',\n } as IconProps,\n position: 'right' as 'right' | 'left',\n onClick: () => setOpen((prev) => !prev),\n }\n : undefined\n\n const inputProps = filterObject<DatePickerProps, InputProps>(props, [\n 'picker',\n 'min',\n 'max',\n ])\n\n return (\n <S.RelativeContainer ref={useOnClickOut(() => setOpen(false))}>\n <Input {...inputProps} type='text' icon={icon} ref={ref} htmlDisabled />\n\n <S.Container\n iconWidth={picker ? '24px' : '0px'}\n invalid={props.invalid ? 1 : 0}\n disabled={props.disabled ? 1 : 0}\n >\n <S.Button\n type='button'\n onClick={disabled ? undefined : onSub}\n disabled={\n disabled ||\n (() => {\n if (!min) return undefined\n const v = isoStringToDate(value)\n if (!v) return undefined\n\n return v <= min\n })()\n }\n >\n <Icon\n type='feather'\n icon='chevron_left'\n color={props.invalid ? 'warningRed' : 'grey'}\n strokeWidth='3px'\n />\n </S.Button>\n\n <div>{today === value ? 'Hoje' : value}</div>\n\n <S.Button\n type='button'\n onClick={disabled ? undefined : onAdd}\n disabled={\n disabled ||\n (() => {\n if (!max) return undefined\n const v = isoStringToDate(value)\n if (!v) return undefined\n\n return v >= max\n })()\n }\n >\n <Icon\n type='feather'\n icon='chevron_right'\n color={props.invalid ? 'warningRed' : 'grey'}\n strokeWidth='3px'\n />\n </S.Button>\n </S.Container>\n\n {open && (\n <Calendar\n initalValue={value ? isoStringToDate(value) : undefined}\n onSubmit={{\n onClick: (date) => {\n if (!date) return\n setValue(dateToIsoString(date))\n setOpen(false)\n },\n }}\n min={min}\n max={max}\n references={{ bottom: '35px' }}\n />\n )}\n </S.RelativeContainer>\n )\n },\n)\n\nDatePicker.displayName = 'DatePicker'\n\nexport default DatePicker\n","import styled, { css } from 'styled-components'\nimport { LabelProps } from './interfaces'\n\nexport const LabelContainer = styled.div`\n ${({ theme }) => theme.useTypography('p')}\n line-height: 14px;\n display: flex;\n align-items: center;\n`\n\nexport const Label = styled.label<LabelProps>`\n display: flex;\n gap: ${({ theme }) => theme.spacings.s1};\n position: relative;\n\n ${({ disabled }) => {\n if (!disabled) {\n return css`\n > span {\n cursor: pointer;\n }\n `\n }\n return css`\n opacity: 0.5;\n `\n }}\n\n ${({ required }) => {\n if (!required) return\n return css`\n > ${LabelContainer} {\n :after {\n content: '*';\n }\n }\n `\n }}\n\n ${({ invalid }) => {\n if (!invalid) {\n return css`\n > span:before {\n border-color: ${({ theme }) => theme.colors.lightGrey};\n }\n > input:checked + span {\n background-color: ${({ theme }) => theme.colors.blue};\n }\n `\n }\n return css`\n > span:before {\n border-color: ${({ theme }) => theme.colors.warningRed};\n }\n > input:checked + span {\n background-color: ${({ theme }) => theme.colors.warningRed};\n }\n `\n }}\n\n > input {\n position: absolute;\n height: 0%;\n width: 0%;\n opacity: 0;\n }\n\n > span {\n position: relative;\n width: 50px;\n height: calc(${({ theme }) => theme.spacings.s4} + 1px);\n background-color: ${({ theme }) => theme.colors.warningGray};\n border-radius: 20px;\n transition-property: background-color;\n transition-duration: 0.4s;\n transition-timing-function: ease-in-out;\n box-sizing: content-box;\n :before {\n content: '';\n transition-property: left;\n transition-duration: 0.4s;\n transition-timing-function: ease-in-out;\n position: absolute;\n border-width: 1px;\n border-style: solid;\n border-radius: 100%;\n left: 0;\n box-shadow: 0px 1px 3px ${({ theme }) => theme.getColor('black', 10)};\n width: calc(${({ theme }) => theme.spacings.s4} - 1px);\n height: calc(${({ theme }) => theme.spacings.s4} - 1px);\n background-color: ${({ theme }) => theme.colors.white};\n }\n }\n\n > input:checked + span {\n :before {\n left: calc(100% - ${({ theme }) => theme.spacings.s4} - 1px);\n }\n }\n`\n","import React from 'react'\nimport { filterObject } from '../../../../functions/formatters'\nimport { SwitchProps } from './interfaces'\nimport * as S from './styles'\n\nconst Switch = (props: SwitchProps) => {\n const { label, disabled, required, invalid } = props\n\n const htmlProps = filterObject<\n SwitchProps,\n React.InputHTMLAttributes<HTMLInputElement>\n >(props, ['label', 'invalid', 'required'])\n\n return (\n <S.Label\n disabled={disabled ? 1 : 0}\n required={required ? 1 : 0}\n invalid={invalid ? 1 : 0}\n >\n <input {...htmlProps} type='checkbox' />\n <span></span>\n\n {label && <S.LabelContainer>{label}</S.LabelContainer>}\n </S.Label>\n )\n}\n\nexport default Switch\n","import React from 'react'\nimport styled, { css } from 'styled-components'\n\nconst bullet = css`\n appearance: none;\n width: ${({ theme }) => theme.spacings.s4};\n height: ${({ theme }) => theme.spacings.s4};\n border-radius: 100%;\n border-width: 1px;\n border-style: solid;\n background-color: ${({ theme }) => theme.colors.white};\n box-shadow: 0px 1px 3px ${({ theme }) => theme.getColor('black', 10)};\n`\n\nexport const Input = styled.input`\n appearance: none;\n width: 100%;\n height: 10px;\n background-color: transparent;\n outline: none;\n position: relative;\n z-index: 3;\n margin: 0;\n\n :not(:disabled) {\n cursor: pointer;\n }\n\n /** firefox */\n ::-moz-range-thumb {\n ${bullet}\n }\n /** ie */\n ::-ms-thumb {\n ${bullet}\n }\n /** chrome */\n ::-webkit-slider-thumb {\n ${bullet}\n }\n`\n\ninterface StyledLabelProps extends React.HtmlHTMLAttributes<HTMLDivElement> {\n disabled: 1 | 0\n required: 1 | 0\n width?: string\n}\n\nexport const Label = styled.label<StyledLabelProps>`\n ${({ theme }) => theme.useTypography('p')};\n\n width: ${({ width }) => width || '100%'};\n box-sizing: border-box;\n display: block;\n position: relative;\n\n ${({ disabled }) => {\n if (!disabled) return\n\n return css`\n opacity: 0.5;\n `\n }}\n\n > div:first-child {\n display: inline-block;\n margin-bottom: ${({ theme }) => theme.spacings.s1};\n\n ${({ required }) => {\n if (!required) return\n\n return css`\n :after {\n content: ' *';\n }\n `\n }}\n }\n`\n\ninterface InputContainerProps extends React.HtmlHTMLAttributes<HTMLDivElement> {\n invalid: 1 | 0\n}\n\nexport const InputContainer = styled.div<InputContainerProps>`\n flex: 1;\n display: flex;\n gap: 6px;\n\n > div {\n position: relative;\n }\n\n ${({ theme, invalid }) => {\n if (!invalid) {\n return css`\n ${SelectedArea} > span {\n background-color: ${theme.colors.blue};\n }\n\n ${Input} {\n /** firefox */\n ::-moz-range-thumb {\n border-color: ${theme.colors.lightestGrey};\n }\n /** ie */\n ::-ms-thumb {\n border-color: ${theme.colors.lightestGrey};\n }\n /** chrome */\n ::-webkit-slider-thumb {\n border-color: ${theme.colors.lightestGrey};\n }\n }\n `\n }\n\n return css`\n ${SelectedArea} > span {\n background-color: ${theme.colors.warningRed};\n }\n\n ${Input} {\n /** firefox */\n ::-moz-range-thumb {\n border-color: ${theme.colors.warningRed};\n }\n /** ie */\n ::-ms-thumb {\n border-color: ${theme.colors.warningRed};\n }\n /** chrome */\n ::-webkit-slider-thumb {\n border-color: ${theme.colors.warningRed};\n }\n }\n `\n }}\n`\n\nexport const MinMaxLabelContainer = styled.div`\n display: flex;\n padding-bottom: 2px;\n`\n\ninterface LabelsContainerProps extends React.HTMLAttributes<HTMLDivElement> {\n position: 'bottom' | 'top'\n}\n\nexport const LabelsContainer = styled.div<LabelsContainerProps>`\n display: flex;\n gap: 7px;\n\n ${({ position }) => {\n if (position === 'bottom') {\n return css`\n ${InputContainer} {\n flex-direction: column-reverse;\n }\n\n ${Marker} {\n :after {\n bottom: calc(100% + 10.5px);\n }\n }\n\n ${MinMaxLabelContainer} {\n align-items: start;\n }\n `\n }\n\n return css`\n ${InputContainer} {\n flex-direction: column;\n }\n\n ${Marker} {\n :after {\n top: calc(100% + 8px);\n }\n }\n\n ${MinMaxLabelContainer} {\n align-items: end;\n }\n `\n }}\n`\n\ninterface SelectedAreaProps extends React.HtmlHTMLAttributes<HTMLDivElement> {\n percent: number\n}\n\nexport const SelectedArea = styled.div<SelectedAreaProps>`\n background-color: ${({ theme }) => theme.getColor('greyishBlue', 10)};\n\n height: 3px;\n width: 100%;\n position: absolute;\n bottom: calc(50% - 2px);\n left: 0;\n display: flex;\n z-index: 1;\n\n > span {\n width: ${({ percent }) => percent}%;\n display: block;\n box-sizing: border-box;\n height: 100%;\n }\n`\n\nexport const MarkersContainer = styled.div`\n height: 17px;\n`\n\ninterface MarkerProps extends React.HtmlHTMLAttributes<HTMLDivElement> {\n left: string\n bullet: 1 | 0\n}\n\nexport const Marker = styled.div<MarkerProps>`\n position: absolute;\n top: 0;\n width: 40px;\n text-align: center;\n left: ${({ left }) => left};\n z-index: 2;\n\n :first-child {\n left: 0;\n text-align: left;\n\n :after {\n left: 0;\n }\n }\n :last-child {\n right: 0;\n left: unset;\n text-align: right;\n\n :after {\n right: 0;\n left: unset;\n }\n }\n\n ${({ bullet, theme }) => {\n if (!bullet) return\n return css`\n :after {\n content: '';\n position: absolute;\n left: calc(50% - 5px);\n width: 10px;\n height: 10px;\n border-radius: 100%;\n border: 1px solid ${theme.colors.lightestGrey};\n background-color: ${theme.colors.white};\n box-shadow: 0px 1px 3px ${theme.getColor('black', 10)};\n }\n `\n }}\n`\n","import React from 'react'\nimport { filterObject } from '../../../../functions/formatters'\nimport { isObject } from '../../../../functions/validators'\n\nimport { Marker, RangeProps } from './interfaces'\nimport * as S from './styles'\n\nconst getMarkers = (\n props: RangeProps,\n): {\n min: number\n max: number\n step: number\n strict: boolean | undefined\n markers: Marker[]\n position: 'bottom' | 'top'\n} => {\n if (props.markers && 'markers' in props.markers) {\n const { strict } = props.markers\n const position = props.markers.position || 'bottom'\n\n const markers = props.markers.markers.map((m): Marker => {\n return isObject<Marker>(m) ? m : { label: m.toString(), value: m }\n })\n\n markers.sort((a, b) => a.value - b.value)\n\n if (strict) {\n const min = 0\n const max = markers.length - 1\n const step = 1\n\n return {\n min,\n max,\n step,\n strict,\n markers,\n position,\n }\n }\n\n const min = markers[0].value\n const max = markers[markers.length - 1].value\n const step = props.step\n ? parseFloat(`${props.step}`)\n : markers[1].value - markers[0].value\n\n return {\n min,\n max,\n step,\n strict,\n markers,\n position,\n }\n }\n\n const markers = props.markers || {}\n const step = props.step ? parseFloat(`${props.step}`) : 1\n const min = markers.min || 0\n const max = markers.max || 100\n const strict = false\n\n return {\n min,\n max,\n step,\n strict,\n markers: [],\n position: 'bottom',\n }\n}\n\nconst Range = React.forwardRef(\n (props: RangeProps, ref?: React.ForwardedRef<HTMLInputElement>) => {\n const { label, minLabel, maxLabel, invalid, disabled, required, width } =\n props\n\n const { min, max, strict, markers, step, position } = getMarkers(props)\n\n const range = max - min\n const percent = 100 / range\n const value = props.value !== undefined ? parseFloat(`${props.value}`) : min\n const spans = value - min\n\n if (value < min || value > max) {\n throw new Error('Invalid value')\n }\n\n const _onChange = props.onChange || (() => {})\n const onChange: React.ChangeEventHandler<HTMLInputElement> = strict\n ? (event) => {\n const index = parseInt(event.target.value)\n const value = markers[index].value\n _onChange(event, value)\n }\n : (event) => {\n const value = parseFloat(event.target.value)\n _onChange(event, value)\n }\n\n const inputProps = filterObject<\n RangeProps,\n React.InputHTMLAttributes<HTMLInputElement>\n >(\n props,\n [\n 'label',\n 'minLabel',\n 'maxLabel',\n 'invalid',\n 'required',\n 'width',\n 'onChange',\n 'step',\n ],\n {\n min,\n max,\n step,\n onChange,\n },\n )\n\n return (\n <S.Label\n required={required ? 1 : 0}\n disabled={disabled ? 1 : 0}\n width={width}\n >\n <div>{label}</div>\n\n <S.LabelsContainer position={position}>\n {minLabel && (\n <S.MinMaxLabelContainer>{minLabel}</S.MinMaxLabelContainer>\n )}\n\n <S.InputContainer invalid={invalid ? 1 : 0}>\n {markers.length > 0 && (\n <S.MarkersContainer>\n {markers.map((marker, index) => {\n let z = markers.length - 2\n if (z < markers.length - 1) z = markers.length - 1\n const y = 20 / z\n const x = 20 - y * (z - index)\n const p = index * percent\n const left = `calc(${p}% - 10px - ${x}px)`\n\n const bullet = marker.value > value ? 1 : 0\n\n return (\n <S.Marker key={marker.value} left={left} bullet={bullet}>\n {marker.label}\n </S.Marker>\n )\n })}\n </S.MarkersContainer>\n )}\n\n <div>\n <S.Input ref={ref} {...inputProps} />\n\n <S.SelectedArea percent={percent}>\n {Array(spans)\n .fill(1)\n .map((_value, index) => (\n <span key={index} />\n ))}\n </S.SelectedArea>\n </div>\n </S.InputContainer>\n\n {maxLabel && (\n <S.MinMaxLabelContainer>{maxLabel}</S.MinMaxLabelContainer>\n )}\n </S.LabelsContainer>\n </S.Label>\n )\n },\n)\n\nRange.displayName = 'input'\n\nexport default Range\n","import styled, { css } from 'styled-components'\nimport { LabelProps } from './interfaces'\n\nexport const LabelContainer = styled.div`\n ${({ theme }) => theme.useTypography('p')}\n display: flex;\n align-items: center;\n`\n\nexport const Label = styled.label<LabelProps>`\n display: flex;\n gap: ${({ theme }) => theme.spacings.s1};\n\n ${({ disabled }) => {\n if (!disabled) {\n return css`\n > span {\n cursor: pointer;\n }\n `\n }\n return css`\n opacity: 0.5;\n `\n }}\n\n ${({ required }) => {\n if (!required) return\n return css`\n > ${LabelContainer} {\n :after {\n content: ' *';\n }\n }\n `\n }}\n\n${({ invalid }) => {\n if (!invalid) {\n return css`\n > span {\n border-color: ${({ theme }) => theme.colors.blue};\n :before {\n background-color: ${({ theme }) => theme.colors.blue};\n }\n }\n `\n }\n return css`\n > span {\n border-color: ${({ theme }) => theme.colors.warningRed};\n :before {\n background-color: ${({ theme }) => theme.colors.warningRed};\n }\n }\n `\n }}\n\n > input {\n height: 0;\n width: 0;\n }\n\n > span {\n height: 17px;\n width: 17px;\n border-radius: 100%;\n border-width: 1px;\n border-style: solid;\n background-color: ${({ theme }) => theme.colors.white};\n position: relative;\n transition-property: border-color;\n transition-duration: 0.5s;\n transition-timing-function: ease-in-out;\n :before {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n height: 0;\n width: 0;\n border-radius: 100%;\n transition-property: top, left, width, height, background-color;\n transition-duration: 0.5s;\n transition-timing-function: cubic-bezier(0.68, -0.55, 0.27, 1.55);\n }\n }\n > input:checked + span {\n :before {\n top: calc(50% - 4.5px);\n left: calc(50% - 4.5px);\n height: 9px;\n width: 9px;\n }\n }\n`\n","import React from 'react'\nimport { filterObject } from '../../../../functions/formatters'\nimport { RadioButtonProps } from './interfaces'\nimport * as S from './styles'\n\nconst RadioButton = (props: RadioButtonProps) => {\n const { label, disabled, required, invalid } = props\n\n const htmlProps = filterObject<\n RadioButtonProps,\n React.InputHTMLAttributes<HTMLInputElement>\n >(props, ['label', 'invalid', 'required'])\n\n return (\n <S.Label\n disabled={disabled ? 1 : 0}\n required={required ? 1 : 0}\n invalid={invalid ? 1 : 0}\n >\n <input {...htmlProps} type='radio' />\n <span></span>\n\n {label && <S.LabelContainer>{label}</S.LabelContainer>}\n </S.Label>\n )\n}\n\nexport default RadioButton\n","import React from 'react'\n\nimport DefaultInput from './components/Input'\nimport { InputProps as DefaultInputProps } from './components/Input/interfaces'\n\nimport Checkbox from './components/Checkbox'\nimport { CheckboxProps } from './components/Checkbox/interfaces'\n\nimport Date from './components/Date'\nimport { DateProps } from './components/Date/interfaces'\n\nimport Time from './components/Time'\nimport { TimeProps } from './components/Time/interfaces'\n\nimport Select from './components/Select'\nimport { MultSelectProps, OneSelectProps } from './components/Select/interfaces'\n\nimport Password from './components/Password'\nimport { PasswordProps } from './components/Password/interfaces'\n\nimport Phone from './components/Phone'\nimport { PhoneProps } from './components/Phone/interfaces'\n\nimport DatePicker from './components/DatePicker'\nimport { DatePickerProps } from './components/DatePicker/interfaces'\n\nimport { SwitchProps } from './components/Switch/interfaces'\nimport Switch from './components/Switch'\n\nimport Range from './components/Range'\nimport { RangeProps } from './components/Range/interfaces'\n\nimport { RadioButtonProps } from './components/RadioButton/interfaces'\nimport RadioButton from './components/RadioButton'\n\nexport type Props =\n | DateProps\n | TimeProps\n | CheckboxProps\n | OneSelectProps\n | MultSelectProps\n | PasswordProps\n | PhoneProps\n | DatePickerProps\n | RangeProps\n | DefaultInputProps\n | SwitchProps\n | RadioButtonProps\n\nconst Input = React.forwardRef(\n (props: Props, ref?: React.ForwardedRef<HTMLInputElement>) => {\n switch (props.type) {\n case 'date': {\n return <Date {...props} ref={ref} />\n }\n case 'time': {\n return <Time {...props} ref={ref} />\n }\n case 'checkbox': {\n return <Checkbox {...props} ref={ref} />\n }\n case 'select': {\n return <Select {...props} ref={ref} />\n }\n case 'select-multiple': {\n return <Select {...props} ref={ref} />\n }\n case 'password': {\n return <Password {...props} ref={ref} />\n }\n case 'phone': {\n return <Phone {...props} ref={ref} />\n }\n case 'datepicker': {\n return <DatePicker {...props} ref={ref} />\n }\n case 'range': {\n return <Range {...props} ref={ref} />\n }\n case 'switch': {\n return <Switch {...props} />\n }\n case 'radio': {\n return <RadioButton {...props} />\n }\n default: {\n return <DefaultInput {...props} ref={ref} />\n }\n }\n },\n)\n\nInput.displayName = 'Input'\n\nexport default Input\n","import { useEffect } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { PortalProps } from './interfaces'\n\nconst Portal = (props: PortalProps) => {\n const { id, opened, children } = props\n\n const portalRoot = document.createElement('div')\n\n useEffect(() => {\n if (opened) {\n portalRoot.id = id + '-root'\n\n document.body.appendChild(portalRoot)\n\n return () => {\n document.body.removeChild(portalRoot)\n }\n }\n }, [opened])\n\n return opened ? createPortal(children, portalRoot) : null\n}\n\nexport default Portal\n","export const heights = {\n small: '356.4px' as string | number,\n medium: '549px' as string | number,\n large: '600px' as string | number,\n custom: '100%' as string | number,\n default: '356.4px' as string | number,\n} as const\n\nexport const widths = {\n small: '642.5px' as string | number,\n medium: '1010px' as string | number,\n large: '1095px' as string | number,\n custom: '100%' as string | number,\n default: '642.5px' as string | number,\n} as const\n","import styled, { css } from 'styled-components'\n\nimport { StyledModalProps } from './interfaces'\nimport { heights, widths } from './contants'\n\nexport const Background = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n backdrop-filter: blur(3px);\n background-color: ${({ theme }) => theme.getColor('black', 25)};\n`\n\nexport const Content = styled.div`\n flex: 1;\n position: relative;\n`\n\nexport const Header = styled.div`\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n ${({ theme: { colors, spacings, useTypography } }) => css`\n border-bottom: 1px solid ${colors.lightestGrey};\n padding: ${spacings.s4};\n\n ${useTypography('h1')}\n `}\n`\n\nexport const Footer = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n ${({ theme: { spacings, colors } }) => css`\n border-top: 1px solid ${colors.lightestGrey};\n padding: ${spacings.s3};\n `}\n`\n\nexport const FooterMessage = styled.div`\n max-width: 75%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n span {\n font-size: 14px;\n color: ${({ theme }) => theme.getColor('darkBlue', 75)};\n }\n`\n\nexport const FooterButtons = styled.div`\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: ${({ theme }) => theme.spacings.s3};\n`\n\nexport const Container = styled.div<StyledModalProps>`\n display: flex;\n flex-direction: column;\n\n ${({ theme, size, customSize, color, inverted }) => css`\n background-color: ${theme.colors.white};\n box-shadow: 0 0 21px 7px ${theme.getColor('black', 15)};\n\n width: ${size === 'custom' && customSize\n ? customSize.width || 'auto'\n : widths[size]};\n\n height: ${size === 'custom' && customSize\n ? customSize.height || 'auto'\n : heights[size]};\n\n ${Header} {\n background-color: ${inverted\n ? theme.isDarkColor(color)\n : theme.colors[color]};\n color: ${inverted ? theme.colors[color] : theme.isDarkColor(color)};\n }\n `}\n`\n","import React, { useEffect } from 'react'\n\nimport Portal from '../../addons/Portal'\nimport Button from '../Button'\nimport Loader from '../Loader'\n\nimport { ModalProps } from './interfaces'\nimport { heights } from './contants'\nimport * as S from './styles'\n\nconst Modal = (props: ModalProps) => {\n const {\n openState,\n title,\n size,\n color,\n inverted,\n children,\n content,\n footer,\n footerMessage,\n loading,\n closeOnEsc,\n closeOnClickOutside,\n customSize,\n } = props\n\n const [open, setOpen] = openState\n\n const onClickOutside = (\n event: React.MouseEvent<HTMLDivElement, MouseEvent>,\n ) => {\n if (\n closeOnClickOutside &&\n (event.target as HTMLDivElement).parentElement?.id\n ) {\n setOpen(false)\n }\n }\n\n useEffect(() => {\n const onEscDown = (event: KeyboardEvent) => {\n if (closeOnEsc && event.key === 'Escape') {\n event.preventDefault()\n\n setOpen(false)\n }\n }\n\n document.addEventListener('keydown', onEscDown)\n\n return () => {\n document.removeEventListener('keydown', onEscDown)\n }\n }, [])\n\n const _size = size ? heights[size] : heights.default\n\n return (\n <Portal opened={open || false} id='modal'>\n <S.Background onClick={onClickOutside}>\n <S.Container\n size={size || 'small'}\n color={color || 'blue'}\n inverted={+(inverted || false)}\n customSize={customSize}\n >\n <S.Header>{title}</S.Header>\n\n <S.Content>\n {loading ? (\n <Loader\n color='blue'\n size={`calc(${_size} * 0.1454)`}\n borderSize='3px'\n />\n ) : (\n children || content\n )}\n </S.Content>\n\n <S.Footer>\n <S.FooterMessage>\n {footerMessage &&\n (typeof footerMessage === 'string' ? (\n <span>{footerMessage}</span>\n ) : (\n footerMessage\n ))}\n </S.FooterMessage>\n\n <S.FooterButtons>\n {footer ? (\n footer.map(({ children, ...buttonProps }, index) => (\n <Button key={index} {...buttonProps}>\n {children}\n </Button>\n ))\n ) : (\n <Button\n content='OK'\n color={color || 'blue'}\n onClick={() => setOpen(false)}\n />\n )}\n </S.FooterButtons>\n </S.Footer>\n </S.Container>\n </S.Background>\n </Portal>\n )\n}\n\nexport default Modal\n","import styled from 'styled-components'\n\nexport const Content = styled.div`\n padding: ${({ theme }) => `${theme.spacings.s5} ${theme.spacings.s4}`};\n`\n","import React from 'react'\nimport Modal from '../../component'\n\nimport { ConfirmDeleteProps } from './interfaces'\nimport * as S from './styles'\n\nconst ConfirmDelete = (props: ConfirmDeleteProps) => {\n const {\n cancelAction,\n confirmAction,\n openState,\n content,\n children,\n title,\n closeOnClickOutside,\n closeOnEsc,\n } = props\n\n return (\n <Modal\n title={'Deletar ' + title}\n closeOnClickOutside={closeOnClickOutside}\n closeOnEsc={closeOnEsc}\n openState={openState}\n size='custom'\n customSize={{ width: '500px' }}\n color='greyishBlue'\n inverted\n footer={[\n {\n appearance: 'bordeless',\n content: 'Cancelar',\n onClick: cancelAction,\n },\n {\n color: 'pink',\n content: 'Deletar',\n onClick: confirmAction,\n },\n ]}\n >\n <S.Content>{children || content}</S.Content>\n </Modal>\n )\n}\n\nexport default ConfirmDelete\n","import styled from 'styled-components'\n\nexport const Content = styled.div`\n padding: ${({ theme }) => `${theme.spacings.s5} ${theme.spacings.s4}`};\n`\n","import React from 'react'\nimport Modal from '../../component'\n\nimport { ConfirmSuccessProps } from './interfaces'\nimport * as S from './styles'\n\nconst ConfirmSuccess = (props: ConfirmSuccessProps) => {\n const {\n homeAction,\n cancelAction,\n confirmAction,\n openState,\n content,\n children,\n closeOnClickOutside,\n closeOnEsc,\n } = props\n\n return (\n <Modal\n title='Confirmação!'\n closeOnClickOutside={closeOnClickOutside}\n closeOnEsc={closeOnEsc}\n openState={openState}\n size='custom'\n customSize={{ width: '630px' }}\n color='greyishBlue'\n inverted\n footer={[\n {\n appearance: 'bordered',\n content: 'Ir para Home',\n onClick: homeAction,\n },\n {\n appearance: 'bordered',\n content: 'Continuar edição',\n onClick: cancelAction,\n },\n {\n content: 'Novo Cadastro',\n onClick: confirmAction,\n },\n ]}\n >\n <S.Content>{children || content}</S.Content>\n </Modal>\n )\n}\n\nexport default ConfirmSuccess\n","import styled from 'styled-components'\n\nexport const Content = styled.div`\n padding: ${({ theme }) => `${theme.spacings.s5} ${theme.spacings.s4}`};\n`\n","import React from 'react'\nimport Modal from '../../component'\n\nimport { AuditProps } from './interfaces'\nimport * as S from './styles'\n\nconst Audit = (props: AuditProps) => {\n const {\n cancelAction,\n confirmAction,\n openState,\n content,\n children,\n closeOnClickOutside,\n closeOnEsc,\n } = props\n\n return (\n <Modal\n title='Auditoria'\n closeOnClickOutside={closeOnClickOutside}\n closeOnEsc={closeOnEsc}\n openState={openState}\n size='custom'\n customSize={{ width: '500px' }}\n color='greyishBlue'\n inverted\n footer={[\n {\n appearance: 'bordeless',\n content: 'Cancelar',\n onClick: cancelAction,\n },\n {\n content: 'Enviar',\n onClick: confirmAction,\n },\n ]}\n >\n <S.Content>{children || content}</S.Content>\n </Modal>\n )\n}\n\nexport default Audit\n","import Component from './component'\nimport { ModalProps } from './interfaces'\nimport { ConfirmDelete, ConfirmEdit, Audit } from './templates'\n\ninterface ModalInteface {\n (props: ModalProps): JSX.Element\n ConfirmDelete: typeof ConfirmDelete\n ConfirmEdit: typeof ConfirmEdit\n Audit: typeof Audit\n}\n\nconst Modal = <ModalInteface>Component\n\nModal.ConfirmDelete = ConfirmDelete\nModal.ConfirmEdit = ConfirmEdit\nModal.Audit = Audit\n\nexport default Modal\n","import styled, { css } from 'styled-components'\nimport { CardProps } from './interfaces'\nexport const Container = styled.div<CardProps>`\n width: 100%;\n background: #fff;\n border: 1px solid #d4d4d5;\n border-radius: 4px;\n border-left-width: 5px;\n padding: 14px;\n ${(props) =>\n props.size === 'mini' &&\n css`\n width: 394px;\n height: 99px;\n `}\n ${(props) =>\n props.size === 'small' &&\n css`\n width: 394px;\n height: 131px;\n `}\n ${(props) =>\n props.size === 'medium' &&\n css`\n width: 394px;\n `}\n ${(props) =>\n props.size === 'big' &&\n css`\n width: 414px;\n height: 324px;\n `}\n\n ${(props) =>\n props.borderType === 'info' &&\n css`\n border-left-color: #4d6dbe;\n `}\n ${(props) =>\n props.borderType === 'success' &&\n css`\n border-left-color: #66bb6a;\n `}\n ${(props) =>\n props.borderType === 'warning' &&\n css`\n border-left-color: #fbcb01;\n `}\n\n ${(props) =>\n props.borderType === 'danger' &&\n css`\n border-left-color: #e23851;\n `}\n ${(props) =>\n props.borderType === 'none' &&\n css`\n border: 1px solid #d4d4d5;\n `}\n`\n","import React from 'react'\nimport { CardProps } from './interfaces'\nimport * as S from './styled'\n\nconst Card = ({ children, ...rest }: CardProps) => {\n return <S.Container {...rest}>{children}</S.Container>\n}\n\nexport default Card\n","import styled, { css } from 'styled-components'\nimport { ToasterTypes } from './interfaces'\n\nexport const Container = styled.div<ToasterTypes>`\n border-radius: 4px;\n width: ${(props) => (props.size === 'large' ? '837px' : '460px')};\n height: 88px;\n border: 1px solid transparent;\n position: relative;\n\n ${(props) =>\n props.color === 'success' &&\n css`\n background-color: #fcfff5;\n opacity: 1;\n border-color: #a8c599;\n h4 {\n color: #1e561f;\n }\n p {\n color: #1e561fcc;\n }\n `}\n\n ${(props) =>\n props.color === 'error' &&\n css`\n background-color: #fff6f6;\n opacity: 1;\n border-color: #973937;\n h4 {\n color: #973937;\n }\n p {\n color: #973937;\n }\n `}\n\n ${(props) =>\n props.color === 'warning' &&\n css`\n background-color: #fffaf3;\n opacity: 1;\n border-color: #ccbea0;\n h4 {\n color: #7a4d05;\n }\n p {\n color: #7a4d05cc;\n }\n `}\n\n svg {\n cursor: pointer;\n position: absolute;\n top: 14px;\n right: 14px;\n width: 13px;\n height: 13px;\n }\n`\n\nexport const IconContainer = styled.div`\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 14px 14px 0 0;\n margin: 0;\n`\n\nexport const IconContent = styled.div`\n width: 100%;\n padding: 13px 0 21px 28px;\n display: flex;\n flex: 1;\n flex-direction: column;\n\n h4 {\n margin-bottom: 7px;\n font-size: 18p;\n }\n p {\n margin: 0;\n font-size: 14px;\n max-width: 380px;\n }\n`\n","import React from 'react'\nimport { ToasterTypes } from './interfaces'\nimport MwIcon from '../../components/Icon'\nimport * as S from './styles'\n\nconst Toast = (props: ToasterTypes) => {\n return (\n <S.Container {...props}>\n <S.IconContainer>\n <MwIcon type='feather' icon='x' onClick={() => props.handlClose()} />\n </S.IconContainer>\n <S.IconContent>\n <h4>{props.title}</h4>\n <p> {props.description}</p>\n </S.IconContent>\n </S.Container>\n )\n}\n\nexport default Toast\n","import styled from 'styled-components'\n\nexport const Container = styled.div`\n padding: ${({ theme }) =>\n `${theme.spacings.s1} ${theme.spacings.s1} 0px ${theme.spacings.s1}`};\n background-color: ${({ theme }) => theme.colors.white};\n display: flex;\n width: min-content;\n`\n","import React, { useState } from 'react'\nimport AbsoluteContainer from '../AbsoluteContainer'\nimport Calendar from '../Calendar'\nimport { CalendarIntervalProps } from './interfaces'\nimport * as S from './styles'\n\nconst CalendarInterval = (props: CalendarIntervalProps) => {\n const { time, references } = props\n\n const [start, setStart] = props.value\n ? props.value.start\n : useState<Date | null>(null)\n const [end, setEnd] = props.value\n ? props.value.end\n : useState<Date | null>(null)\n\n const [startInvalid, setStartInvalid] = useState<boolean>(false)\n const [endInvalid, setEndInvalid] = useState<boolean>(false)\n\n let min: Date | undefined\n if (props.min) {\n min = new Date(props.min.getTime())\n }\n\n let max: Date | undefined\n if (props.max) {\n max = new Date(props.max.getTime())\n }\n\n let minEnd: Date | undefined\n if (start) {\n minEnd = start\n if (min) {\n minEnd = start >= min ? start : min\n }\n } else if (min) {\n minEnd = min\n }\n\n let maxStart: Date | undefined\n if (end) {\n maxStart = end\n if (max) {\n maxStart = end <= max ? end : max\n }\n } else if (max) {\n maxStart = max\n }\n\n const _onSubmit = props.onSubmit || {}\n const onSubmit = {\n disabled: startInvalid || endInvalid,\n onClick: () => {},\n ..._onSubmit,\n }\n\n return (\n <AbsoluteContainer axis='y' references={references}>\n <S.Container>\n <Calendar\n value={[start, setStart]}\n min={min}\n max={maxStart}\n overlay={{\n type: 'after',\n value: end,\n }}\n time={time}\n invalid={[startInvalid, setStartInvalid]}\n notAbsolute\n />\n <Calendar\n value={[end, setEnd]}\n min={minEnd}\n max={max}\n overlay={{\n type: 'before',\n value: start,\n }}\n time={time}\n invalid={[endInvalid, setEndInvalid]}\n notAbsolute\n onSubmit={{\n onClick: () => onSubmit.onClick(start, end),\n disabled: onSubmit.disabled,\n }}\n />\n </S.Container>\n </AbsoluteContainer>\n )\n}\n\nexport default CalendarInterval\n","import styled, { css } from 'styled-components'\nimport { HeaderLineProps } from '../../interfaces'\n\nexport const Container = styled.div`\n width: 100%;\n height: 300px;\n position: absolute;\n padding: 14px;\n`\n\nexport const Header = styled.div`\n display: flex;\n`\n\nexport const HeaderImage = styled.div`\n width: 43px;\n height: 44px;\n background-color: #ebebeb;\n`\n\nexport const HeaderContent = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n flex: 1;\n`\n\nexport const MainContent = styled.div`\n margin-top: 8px;\n`\n\nexport const HeaderLine = styled.div<HeaderLineProps>`\n height: ${(props) => props.height};\n background-color: #ebebeb;\n margin-left: 7px;\n\n & + div {\n margin-top: 14px;\n }\n\n ${(props) =>\n props.size === 'mini' &&\n css`\n width: 15%;\n `}\n ${(props) =>\n props.size === 'small' &&\n css`\n width: 25%;\n `}\n\n ${(props) =>\n props.size === 'medium' &&\n css`\n width: 45%;\n `}\n\n ${(props) =>\n props.size === 'large' &&\n css`\n width: 75%;\n `}\n`\n\nexport const MainLine = styled(HeaderLine)<HeaderLineProps>`\n margin-bottom: 14px;\n margin-left: 0;\n`\n","import React from 'react'\nimport { PlaceholderProps } from '../../interfaces'\nimport * as S from './styles'\n\nconst Template1 = (props: PlaceholderProps) => {\n if (!props.loading) return <React.Fragment />\n return (\n <S.Container>\n <S.Header>\n <S.HeaderImage />\n <S.HeaderContent>\n <S.HeaderLine size='medium' height='9px' color='#E6E6E6' />\n <S.HeaderLine size='small' height='9px' color='#E6E6E6' />\n </S.HeaderContent>\n </S.Header>\n <S.MainContent>\n <S.MainLine size='medium' height='9px' color='#E6E6E6' />\n <S.MainLine size='small' height='9px' color='#E6E6E6' />\n <S.MainLine size='mini' height='9px' color='#E6E6E6' />\n <S.MainLine size='medium' height='9px' color='#E6E6E6' />\n <S.MainLine size='small' height='9px' color='#E6E6E6' />\n </S.MainContent>\n </S.Container>\n )\n}\n\nexport default Template1\n","import styled, { css } from 'styled-components'\nimport { HeaderLineProps } from './interfaces'\n\nexport const HeaderLine = styled.div<HeaderLineProps>`\n height: ${(props) => props.height};\n background-color: #ebebeb;\n margin-left: 7px;\n\n & + div {\n margin-top: 14px;\n }\n\n ${(props) =>\n props.size === 'mini' &&\n css`\n width: 15%;\n `}\n ${(props) =>\n props.size === 'small' &&\n css`\n width: 25%;\n `}\n\n ${(props) =>\n props.size === 'medium' &&\n css`\n width: 45%;\n `}\n\n ${(props) =>\n props.size === 'large' &&\n css`\n width: 75%;\n `}\n`\n","import styled from 'styled-components'\nimport { HeaderLineProps } from '../../interfaces'\nimport { HeaderLine as HeaderLineStyle } from '../../styles'\n\nexport const Container = styled.div`\n width: 100%;\n max-height: 100%;\n position: absolute;\n padding: 14px;\n`\n\nexport const Template2Container = styled(Container)`\n background: #fff;\n border: 2px solid #ebebeb;\n`\n\nexport const Header = styled.div`\n display: flex;\n`\n\nexport const HeaderImage = styled.div`\n width: 43px;\n height: 44px;\n background-color: #ebebeb;\n`\n\nexport const HeaderContent = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n flex: 1;\n`\n\nexport const MainContent = styled.div`\n margin-top: 8px;\n`\n\nexport const MainLine = styled(HeaderLineStyle)<HeaderLineProps>`\n margin-bottom: 14px;\n margin-left: 0;\n`\n\nexport const HeaderLine = styled(HeaderLineStyle)``\n","import React from 'react'\nimport * as S from './styles'\n\nimport { PlaceholderProps } from '../../interfaces'\n\nconst Template2 = (props: PlaceholderProps) => {\n if (!props.loading) return <React.Fragment />\n return (\n <S.Template2Container>\n <S.Header>\n <S.HeaderImage />\n <S.HeaderContent>\n <S.HeaderLine size='mini' height='9px' color='#E6E6E6' />\n <S.HeaderLine size='mini' height='9px' color='#E6E6E6' />\n </S.HeaderContent>\n </S.Header>\n <S.MainContent>\n <S.MainLine size='mini' height='9px' color='#E6E6E6' />\n <S.MainLine size='mini' height='9px' color='#E6E6E6' />\n </S.MainContent>\n </S.Template2Container>\n )\n}\n\nexport default Template2\n","import styled from 'styled-components'\nimport { HeaderLine } from '../../styles'\n\nexport const Container = styled.div`\n width: 100%;\n max-height: 100%;\n position: absolute;\n padding: 14px;\n`\n\nexport const Template3Container = styled(Container)``\nexport const Template3Line = styled(HeaderLine)`\n background-color: #dadada;\n height: ${(props) => props.height};\n`\n","import React from 'react'\nimport { PlaceholderProps } from '../../interfaces'\nimport * as S from './styles'\n\nconst Template3 = (props: PlaceholderProps) => {\n if (!props.loading) return <React.Fragment />\n return (\n <S.Template3Container>\n <S.Template3Line size='large' height='7px' color='#DADADA' />\n <S.Template3Line size='small' height='7px' color='#DADADA' />\n <S.Template3Line size='medium' height='7px' color='#DADADA' />\n <S.Template3Line size='small' height='7px' color='#DADADA' />\n <S.Template3Line size='mini' height='7px' color='#DADADA' />\n </S.Template3Container>\n )\n}\n\nexport default Template3\n","import styled, { css } from 'styled-components'\nimport { HeaderLineProps } from '../../interfaces'\n\nexport const Container = styled.div`\n width: 100%;\n max-height: 100%;\n position: absolute;\n padding: 14px;\n`\nexport const HeaderLine = styled.div<HeaderLineProps>`\n height: ${(props) => props.height};\n background-color: #ebebeb;\n margin-left: 7px;\n\n & + div {\n margin-top: 14px;\n }\n\n ${(props) =>\n props.size === 'mini' &&\n css`\n width: 15%;\n `}\n ${(props) =>\n props.size === 'small' &&\n css`\n width: 25%;\n `}\n\n ${(props) =>\n props.size === 'medium' &&\n css`\n width: 45%;\n `}\n\n ${(props) =>\n props.size === 'large' &&\n css`\n width: 75%;\n `}\n`\nexport const Template4Container = styled(Container)`\n border: 1px solid #e6e6e7;\n border-radius: 4px;\n`\nexport const CustomLine = styled(HeaderLine)`\n width: ${(props) => props.width};\n height: ${(props) => props.height};\n background-color: ${(props) => props.color};\n`\n","import React from 'react'\nimport { PlaceholderProps } from '../../interfaces'\nimport * as S from './styles'\nconst Template4 = (props: PlaceholderProps) => {\n if (!props.loading) return <React.Fragment />\n return (\n <S.Template4Container>\n <S.CustomLine size='large' height='12px' color='#DDDEDF' width='594px' />\n <S.CustomLine size='large' height='12px' color='#DDDEDF' width='572px' />\n <S.CustomLine size='large' height='12px' color='#DDDEDF' width='624px' />\n <S.CustomLine size='large' height='12px' color='#DDDEDF' width='544px' />\n <S.CustomLine size='large' height='12px' color='#DDDEDF' width=' 607px' />\n <S.CustomLine size='large' height='12px' color='#DDDEDF' width='581px' />\n <S.CustomLine size='large' height='12px' color='#DDDEDF' width='601px' />\n <S.CustomLine size='large' height='12px' color='#DDDEDF' width='251px' />\n </S.Template4Container>\n )\n}\n\nexport default Template4\n","import styled, { css } from 'styled-components'\nimport { HeaderLineProps } from '../../interfaces'\nexport const Container = styled.div`\n position: absolute;\n width: 746px;\n height: 169px;\n border: 1px solid #e6e6e7;\n border-radius: 4px;\n padding: 14px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n`\n\nexport const Circle = styled.div`\n width: 141px;\n height: 141px;\n background-color: #dddedf;\n border-radius: 50%;\n`\n\nexport const HeaderLine = styled.div<HeaderLineProps>`\n height: ${(props) => props.height};\n background-color: #ebebeb;\n margin-left: 7px;\n\n & + div {\n margin-top: 14px;\n }\n\n ${(props) =>\n props.size === 'mini' &&\n css`\n width: 15%;\n `}\n ${(props) =>\n props.size === 'small' &&\n css`\n width: 25%;\n `}\n\n ${(props) =>\n props.size === 'medium' &&\n css`\n width: 45%;\n `}\n\n ${(props) =>\n props.size === 'large' &&\n css`\n width: 75%;\n `}\n`\n\nexport const CustomLine = styled(HeaderLine)`\n width: ${(props) => props.width};\n height: ${(props) => props.height};\n background-color: ${(props) => props.color};\n`\n\nexport const MainContent = styled.div`\n flex: 1;\n margin-left: 35px;\n`\n","import React from 'react'\nimport { PlaceholderProps } from '../../interfaces'\nimport * as S from './styles'\n\nconst Template5 = (props: PlaceholderProps) => {\n if (!props.loading) return <React.Fragment />\n return (\n <S.Container>\n <S.Circle />\n <S.MainContent>\n <S.CustomLine\n width='406px'\n height='16px'\n color='#DDDEDF'\n size='large'\n />\n <S.CustomLine\n width='387px'\n height='16px'\n color='#DDDEDF'\n size='large'\n />\n <S.CustomLine\n width='426px'\n height='16px'\n color='#DDDEDF'\n size='large'\n />\n <S.CustomLine\n width='189px'\n height='16px'\n color='#DDDEDF'\n size='large'\n />\n </S.MainContent>\n </S.Container>\n )\n}\n\nexport default Template5\n","import styled, { css } from 'styled-components'\nimport { HeaderLineProps } from '../../interfaces'\nexport const Container = styled.div`\n width: 395px;\n\n display: flex;\n align-items: center;\n justify-content: space-between;\n background-color: #f5f5f5;\n`\n\nexport const Header = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 14px;\n`\n\nexport const Footer = styled.div`\n width: 100%;\n border-top: 1px solid #b1b1b3;\n height: 50px;\n`\n\nexport const HeaderLine = styled.div<HeaderLineProps>`\n height: ${(props) => props.height};\n background-color: #ebebeb;\n margin-left: 7px;\n\n & + div {\n margin-top: 14px;\n }\n\n ${(props) =>\n props.size === 'mini' &&\n css`\n width: 15%;\n `}\n ${(props) =>\n props.size === 'small' &&\n css`\n width: 25%;\n `}\n\n ${(props) =>\n props.size === 'medium' &&\n css`\n width: 45%;\n `}\n\n ${(props) =>\n props.size === 'large' &&\n css`\n width: 75%;\n `}\n`\n\nexport const CustomLine = styled(HeaderLine)`\n width: ${(props) => props.width};\n height: ${(props) => props.height};\n background-color: ${(props) => props.color};\n border: 1px solid #dedede5e;\n`\n","import React from 'react'\nimport { PlaceholderProps } from '../../interfaces'\nimport * as S from './styles'\n\nconst Template6 = (props: PlaceholderProps) => {\n if (!props.loading) return <React.Fragment />\n return (\n <S.Container>\n <S.Header>\n <S.CustomLine\n width='274px'\n height='10px'\n color='#EBEBEB'\n size='large'\n />\n <S.CustomLine\n width='274px'\n height='10px'\n color='#EBEBEB'\n size='large'\n />\n <S.CustomLine\n width='274px'\n height='10px'\n color='#EBEBEB'\n size='large'\n />\n </S.Header>\n </S.Container>\n )\n}\n\nexport default Template6\n","import styled, { css } from 'styled-components'\nimport { HeaderLineProps } from '../../interfaces'\nexport const Container = styled.div`\n width: 395px;\n height: 110px;\n display: flex;\n flex-direction: column;\n align-items: center;\n background: #f5f5f5 0% 0% no-repeat padding-box;\n`\n\nexport const Header = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 14px;\n width: 100%;\n`\n\nexport const HeaderLine = styled.div<HeaderLineProps>`\n height: ${(props) => props.height};\n background-color: #ebebeb;\n margin-left: 7px;\n\n & + div {\n margin-top: 14px;\n }\n\n ${(props) =>\n props.size === 'mini' &&\n css`\n width: 15%;\n `}\n ${(props) =>\n props.size === 'small' &&\n css`\n width: 25%;\n `}\n\n ${(props) =>\n props.size === 'medium' &&\n css`\n width: 45%;\n `}\n\n ${(props) =>\n props.size === 'large' &&\n css`\n width: 75%;\n `}\n`\n\nexport const CustomLine = styled(HeaderLine)`\n width: ${(props) => props.width};\n height: ${(props) => props.height};\n background-color: ${(props) => props.color};\n border: 1px solid #dedede5e;\n`\n\nexport const Main = styled.div`\n margin: 10px 0;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-evenly;\n`\nexport const Circle = styled.div`\n width: 30px;\n height: 30px;\n background-color: #ebebeb;\n border-radius: 50%;\n margin: 0 16px;\n`\n","import React from 'react'\nimport { PlaceholderProps } from '../../interfaces'\nimport * as S from './styles'\n\nconst Template7 = (props: PlaceholderProps) => {\n if (!props.loading) return <React.Fragment />\n return (\n <S.Container>\n <S.Header>\n <S.CustomLine width='89px' height='10px' color='#EBEBEB' size='large' />\n </S.Header>\n <S.Main>\n <S.Circle />\n <S.Circle />\n <S.Circle />\n <S.Circle />\n <S.Circle />\n </S.Main>\n </S.Container>\n )\n}\n\nexport default Template7\n","import styled, { css } from 'styled-components'\nimport { HeaderLineProps } from '../../interfaces'\nexport const Container = styled.div`\n width: 395px;\n height: 110px;\n display: flex;\n flex-direction: column;\n align-items: center;\n background: #f5f5f5 0% 0% no-repeat padding-box;\n`\n\nexport const Header = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 14px;\n width: 100%;\n`\n\nexport const HeaderLine = styled.div<HeaderLineProps>`\n height: ${(props) => props.height};\n background-color: #ebebeb;\n margin-left: 7px;\n\n & + div {\n margin-top: 14px;\n }\n\n ${(props) =>\n props.size === 'mini' &&\n css`\n width: 15%;\n `}\n ${(props) =>\n props.size === 'small' &&\n css`\n width: 25%;\n `}\n\n ${(props) =>\n props.size === 'medium' &&\n css`\n width: 45%;\n `}\n\n ${(props) =>\n props.size === 'large' &&\n css`\n width: 75%;\n `}\n`\n\nexport const CustomLine = styled(HeaderLine)`\n width: ${(props) => props.width};\n height: ${(props) => props.height};\n background-color: ${(props) => props.color};\n border: 1px solid #dedede5e;\n`\n\nexport const Main = styled.div`\n padding: 14px;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n`\n","import React from 'react'\nimport { PlaceholderProps } from '../../interfaces'\nimport * as S from './styles'\n\nconst Template8 = (props: PlaceholderProps) => {\n if (!props.loading) return <React.Fragment />\n return (\n <S.Container>\n <S.Header>\n <S.CustomLine width='89px' height='10px' color='#EBEBEB' size='large' />\n </S.Header>\n <S.Main>\n <S.CustomLine\n width='217px'\n height='10px'\n color='#EBEBEB'\n size='large'\n />\n <S.CustomLine\n width='217px'\n height='10px'\n color='#EBEBEB'\n size='large'\n />\n </S.Main>\n </S.Container>\n )\n}\n\nexport default Template8\n","import styled, { css } from 'styled-components'\nimport { HeaderLineProps } from '../../interfaces'\nexport const Container = styled.div`\n width: 395px;\n height: 245px;\n display: flex;\n flex-direction: column;\n align-items: center;\n background: #f5f5f5 0% 0% no-repeat padding-box;\n`\n\nexport const Header = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 14px;\n width: 100%;\n`\n\nexport const HeaderLine = styled.div<HeaderLineProps>`\n height: ${(props) => props.height};\n background-color: #ebebeb;\n margin-left: 7px;\n\n & + div {\n margin-top: 7px;\n }\n\n ${(props) =>\n props.size === 'mini' &&\n css`\n width: 15%;\n `}\n ${(props) =>\n props.size === 'small' &&\n css`\n width: 25%;\n `}\n\n ${(props) =>\n props.size === 'medium' &&\n css`\n width: 45%;\n `}\n\n ${(props) =>\n props.size === 'large' &&\n css`\n width: 75%;\n `}\n`\n\nexport const CustomLine = styled(HeaderLine)`\n width: ${(props) => props.width};\n height: ${(props) => props.height};\n background-color: ${(props) => props.color};\n border: 1px solid #dedede5e;\n`\n\nexport const Main = styled.div`\n padding: 14px;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n`\n\nexport const Circle = styled.div`\n width: 128px;\n height: 128px;\n background-color: #ebebeb;\n border-radius: 50%;\n`\n","import React from 'react'\nimport { PlaceholderProps } from '../../interfaces'\nimport * as S from './styles'\n\nconst Template8 = (props: PlaceholderProps) => {\n if (!props.loading) return <React.Fragment />\n return (\n <S.Container>\n <S.Header>\n <S.CustomLine width='89px' height='10px' color='#EBEBEB' size='large' />\n <S.CustomLine width='50px' height='10px' color='#EBEBEB' size='large' />\n </S.Header>\n <S.Main>\n <S.Circle />\n </S.Main>\n </S.Container>\n )\n}\n\nexport default Template8\n","import styled, { css } from 'styled-components'\nimport { HeaderLineProps } from '../../interfaces'\nexport const Container = styled.div`\n width: 395px;\n height: 245px;\n display: flex;\n flex-direction: column;\n align-items: center;\n background: #f5f5f5 0% 0% no-repeat padding-box;\n`\n\nexport const Header = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 14px;\n width: 100%;\n`\n\nexport const HeaderLine = styled.div<HeaderLineProps>`\n height: ${(props) => props.height};\n background-color: #ebebeb;\n margin-left: 7px;\n\n & + div {\n margin-top: 7px;\n }\n\n ${(props) =>\n props.size === 'mini' &&\n css`\n width: 15%;\n `}\n ${(props) =>\n props.size === 'small' &&\n css`\n width: 25%;\n `}\n\n ${(props) =>\n props.size === 'medium' &&\n css`\n width: 45%;\n `}\n\n ${(props) =>\n props.size === 'large' &&\n css`\n width: 75%;\n `}\n`\n\nexport const CustomLine = styled(HeaderLine)`\n width: ${(props) => props.width};\n height: ${(props) => props.height};\n background-color: ${(props) => props.color};\n border: 1px solid #dedede5e;\n`\n\nexport const GraphLine = styled(CustomLine)`\n margin: 0 7px;\n`\n\nexport const Main = styled.div`\n flex: 1;\n padding: 0 7px 72px 7px;\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: flex-end;\n justify-content: center;\n`\n\nexport const Circle = styled.div`\n width: 128px;\n height: 128px;\n background-color: #ebebeb;\n border-radius: 50%;\n`\n","import React from 'react'\nimport { PlaceholderProps } from '../../interfaces'\nimport * as S from './styles'\n\nconst Template10 = (props: PlaceholderProps) => {\n if (!props.loading) return <React.Fragment />\n return (\n <S.Container>\n <S.Header>\n <S.CustomLine width='89px' height='10px' color='#EBEBEB' size='large' />\n <S.CustomLine width='50px' height='10px' color='#EBEBEB' size='large' />\n </S.Header>\n <S.Main>\n <S.GraphLine width='27px' height='56px' color='#EBEBEB' size='large' />\n <S.GraphLine width='27px' height='73px' color='#EBEBEB' size='large' />\n <S.GraphLine width='27px' height='61px' color='#EBEBEB' size='large' />\n <S.GraphLine width='27px' height='56px' color='#EBEBEB' size='large' />\n <S.GraphLine width='27px' height='73px' color='#EBEBEB' size='large' />\n <S.GraphLine width='27px' height='61px' color='#EBEBEB' size='large' />\n <S.GraphLine width='27px' height='27px' color='#EBEBEB' size='large' />\n <S.GraphLine width='27px' height='90px' color='#EBEBEB' size='large' />\n <S.GraphLine width='27px' height='56px' color='#EBEBEB' size='large' />\n <S.GraphLine width='27px' height='56px' color='#EBEBEB' size='large' />\n </S.Main>\n </S.Container>\n )\n}\n\nexport default Template10\n","import React from 'react'\n\nimport Template1 from './components/Template1'\nimport Template2 from './components/Template2'\nimport Template3 from './components/Template3'\nimport Template4 from './components/Template4'\nimport Template5 from './components/Template5'\nimport Template6 from './components/Template6'\nimport Template7 from './components/Template7'\nimport Template8 from './components/Template8'\nimport Template9 from './components/Template9'\nimport Template10 from './components/Template10'\n\nimport { PlaceholderProps } from './interfaces'\n\nconst Placeholder = (props: PlaceholderProps) => {\n switch (props.type) {\n case 'template1': {\n return <Template1 {...props} />\n }\n\n case 'template2': {\n return <Template2 {...props} />\n }\n case 'template3': {\n return <Template3 {...props} />\n }\n case 'template4': {\n return <Template4 {...props} />\n }\n\n case 'template5': {\n return <Template5 {...props} />\n }\n\n case 'template6': {\n return <Template6 {...props} />\n }\n case 'template7': {\n return <Template7 {...props} />\n }\n\n case 'template8': {\n return <Template8 {...props} />\n }\n case 'template9': {\n return <Template9 {...props} />\n }\n\n case 'template10': {\n return <Template10 {...props} />\n }\n }\n}\n\nexport default Placeholder\n","import styled from 'styled-components'\n\nimport MwButton from '../Button'\nimport { StyledZoomProps } from './interfaces'\n\nexport const Image = styled.img`\n max-width: 100%;\n max-height: 100%;\n`\n\nexport const Container = styled.div<StyledZoomProps>`\n position: relative;\n display: inline-flex;\n\n &,\n ${Image} {\n width: ${({ width }) => {\n switch (typeof width) {\n case 'string':\n return width\n case 'number':\n return `${width}px`\n default:\n return 'auto'\n }\n }};\n\n height: ${({ height }) => {\n switch (typeof height) {\n case 'string':\n return height\n case 'number':\n return `${height}px`\n default:\n return 'auto'\n }\n }};\n }\n`\n\nexport const Dimmer = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: ${({ theme }) => theme.getColor('greyishBlue', 50)};\n opacity: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n transition: opacity 0.5s;\n cursor: pointer;\n\n :hover {\n opacity: 1;\n }\n`\n\nexport const Button = styled(MwButton)`\n background-color: ${({ theme }) => theme.getColor('white', 50)};\n`\n\nexport const ModalContent = styled.div`\n position: absolute;\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n\n img {\n max-height: 100%;\n max-width: 100%;\n }\n`\n","import React, { useState } from 'react'\nimport Modal from '../Modal'\n\nimport { ZoomProps } from './interfaces'\nimport * as S from './styles'\n\nconst Zoom = (props: ZoomProps) => {\n const { src, defaultClickOptions, ...imgProps } = props\n const [modalOpened, setModalOpened] = useState<boolean>(false)\n\n return (\n <React.Fragment>\n <S.Container {...imgProps} onClick={() => setModalOpened(true)}>\n <S.Image src={src} alt='zoom' />\n\n <S.Dimmer>\n <S.Button\n content='Zoom'\n color='white'\n onClick={() => setModalOpened(true)}\n />\n </S.Dimmer>\n </S.Container>\n\n <Modal\n openState={[modalOpened, setModalOpened]}\n size='large'\n title='Zoom'\n closeOnClickOutside\n // {...defaultClickOptions}\n >\n <S.ModalContent>\n <img src={src} alt='zoom' />\n </S.ModalContent>\n </Modal>\n </React.Fragment>\n )\n}\n\nexport default Zoom\n","import { fontSizes, sizes } from './constants'\r\n\r\nconst theme = {\r\n sizes,\r\n fontSizes,\r\n} as const\r\n\r\nexport default theme\r\n","import button from './Button/theme'\n\nconst theme = {\n button,\n} as const\n\nexport default theme\n","import React from 'react'\nimport { createGlobalStyle } from 'styled-components'\n\nconst FontStyles = createGlobalStyle`\n`\n\nconst Globals = () => {\n return (\n <React.Fragment>\n <FontStyles />\n </React.Fragment>\n )\n}\n\nexport default Globals\n","import React from 'react'\r\nimport { ThemeProvider as Provider, css } from 'styled-components'\r\n\r\nimport { colors, opacities, typographies, spacings, fonts } from './constants'\r\nimport components from '../components/theme'\r\nimport Globals from './globals'\r\n\r\nimport {\r\n ColorOptions,\r\n OpacitiyOptions,\r\n ThemeInterface,\r\n TypographyOptions,\r\n} from './interfaces'\r\n\r\nconst getColor = (\r\n color: ColorOptions,\r\n opacity: OpacitiyOptions = 100,\r\n): string => `${colors[color]}${opacities[opacity]}`\r\n\r\nconst useTypography = (typography: TypographyOptions) => {\r\n const { fontFamily, fontWeight, fontSize } = typographies[typography]\r\n\r\n return css`\r\n font-family: ${fontFamily};\r\n font-weight: ${fontWeight};\r\n font-size: ${fontSize};\r\n `\r\n}\r\n\r\nconst isDarkColor = (\r\n color: ColorOptions,\r\n ifDark: ColorOptions = 'white',\r\n ifLight: ColorOptions = 'black',\r\n): ColorOptions => {\r\n const hex = theme.colors[color].replace('#', '')\r\n\r\n const red = parseInt(hex.substring(0, 2), 16)\r\n const green = parseInt(hex.substring(2, 4), 16)\r\n const blue = parseInt(hex.substring(4, 6), 16)\r\n\r\n const luminosity = (red * 299 + green * 587 + blue * 114) / 1000\r\n\r\n return luminosity <= 128 ? ifDark : ifLight\r\n}\r\n\r\nexport const theme: ThemeInterface = {\r\n colors,\r\n fonts,\r\n spacings,\r\n typographies,\r\n getColor,\r\n useTypography,\r\n isDarkColor,\r\n components,\r\n}\r\n\r\nconst ThemeProvider = (props: {\r\n children: JSX.Element | string | (JSX.Element | string)[]\r\n}) => {\r\n return (\r\n <Provider theme={theme}>\r\n <Globals />\r\n {props.children}\r\n </Provider>\r\n )\r\n}\r\n\r\nexport default ThemeProvider\r\n"],"names":["colors","white","iceWhite","black","blue","lightBlue","darkestBlue","darkBlue","greyishBlue","darkSilver","silver","darkestGrey","darkGrey","grey","lightGrey","lightestGrey","purple","orange","yellow","red","darkestGreen","darkGreen","green","lightGreen","pink","brown","vanilla","bronze","warningGray","warningYellow","warningRed","floralWhite","snowWhite","milkWhite","opacities","spacings","s1","s2","s3","s4","s5","s6","fonts","lato","typographies","h1","fontFamily","fontWeight","fontSize","h2","h3","h4","h5","h6","p","isKeyOf","object","key","Object","prototype","hasOwnProperty","call","notEmptyString","value","trim","isObject","toString","isString","filterObject","keys","inital","r","filter","includes","reduce","prev","dateToIsoString","date","getDate","padStart","getMonth","getFullYear","join","isoStringToDate","Date","split","reverse","isNaN","getTime","getSpacings","defaults","d","top","left","bottom","right","spacing","values","loader","keyframes","Loader","styled","div","size","borderSize","bgColor","color","theme","beforeColor","getColor","afterColor","css","sizes","tiny","mini","small","large","big","default","fontSizes","Button","button","appearance","components","loading","disabled","props","children","content","defaultValues","type","htmlProps","_size","React","S","icons","activity","activity_icon","airplay","airplay_icon","alert_circle","alert_circle_icon","alert_octagon","alert_octagon_icon","alert_triangle","alert_triangle_icon","align_center","align_center_icon","align_justify","align_justify_icon","align_left","align_left_icon","align_right","align_right_icon","anchor","anchor_icon","aperture","aperture_icon","archive","archive_icon","arrow_down","arrow_down_icon","arrow_down_circle","arrow_down_circle_icon","arrow_down_left","arrow_down_left_icon","arrow_down_right","arrow_down_right_icon","arrow_left","arrow_left_icon","arrow_left_circle","arrow_left_circle_icon","arrow_right","arrow_right_icon","arrow_right_circle","arrow_right_circle_icon","arrow_up","arrow_up_icon","arrow_up_circle","arrow_up_circle_icon","arrow_up_left","arrow_up_left_icon","arrow_up_right","arrow_up_right_icon","at_sign","at_sign_icon","award","award_icon","bar_chart","bar_chart_icon","bar_chart_2","bar_chart_2_icon","battery","battery_icon","battery_charging","battery_charging_icon","bell","bell_icon","bell_off","bell_off_icon","bluetooth","bluetooth_icon","bold","bold_icon","book","book_icon","book_open","book_open_icon","bookmark","bookmark_icon","box","box_icon","briefcase","briefcase_icon","calendar","calendar_icon","camera","camera_icon","camera_off","camera_off_icon","cast","cast_icon","check","check_icon","check_circle","check_circle_icon","check_square","check_square_icon","chevron_down","chevron_down_icon","chevron_left","chevron_left_icon","chevron_right","chevron_right_icon","chevron_up","chevron_up_icon","chevrons_down","chevrons_down_icon","chevrons_left","chevrons_left_icon","chevrons_right","chevrons_right_icon","chevrons_up","chevrons_up_icon","chrome","chrome_icon","circle","circle_icon","clipboard","clipboard_icon","clock","clock_icon","cloud","cloud_icon","cloud_drizzle","cloud_drizzle_icon","cloud_lightning","cloud_lightning_icon","cloud_off","cloud_off_icon","cloud_rain","cloud_rain_icon","cloud_snow","cloud_snow_icon","code","code_icon","codepen","codepen_icon","codesandbox","codesandbox_icon","coffee","coffee_icon","columns","columns_icon","command","command_icon","compass","compass_icon","copy","copy_icon","corner_down_left","corner_down_left_icon","corner_down_right","corner_down_right_icon","corner_left_down","corner_left_down_icon","corner_left_up","corner_left_up_icon","corner_right_down","corner_right_down_icon","corner_right_up","corner_right_up_icon","corner_up_left","corner_up_left_icon","corner_up_right","corner_up_right_icon","cpu","cpu_icon","credit_card","credit_card_icon","crop","crop_icon","crosshair","crosshair_icon","database","database_icon","delete","delete_icon","disc","disc_icon","divide","divide_icon","divide_circle","divide_circle_icon","divide_square","divide_square_icon","dollar_sign","dollar_sign_icon","download","download_icon","download_cloud","download_cloud_icon","dribbble","dribbble_icon","droplet","droplet_icon","edit","edit_icon","edit_2","edit_2_icon","edit_3","edit_3_icon","external_link","external_link_icon","eye","eye_icon","eye_off","eye_off_icon","facebook","facebook_icon","fast_forward","fast_forward_icon","feather","feather_icon","figma","figma_icon","file","file_icon","file_minus","file_minus_icon","file_plus","file_plus_icon","file_text","file_text_icon","film","film_icon","filter_icon","flag","flag_icon","folder","folder_icon","folder_minus","folder_minus_icon","folder_plus","folder_plus_icon","framer","framer_icon","frown","frown_icon","gift","gift_icon","git_branch","git_branch_icon","git_commit","git_commit_icon","git_merge","git_merge_icon","git_pull_request","git_pull_request_icon","github","github_icon","gitlab","gitlab_icon","globe","globe_icon","grid","grid_icon","hard_drive","hard_drive_icon","hash","hash_icon","headphones","headphones_icon","heart","heart_icon","help_circle","help_circle_icon","hexagon","hexagon_icon","home","home_icon","image","image_icon","inbox","inbox_icon","info","info_icon","instagram","instagram_icon","italic","italic_icon","key_icon","layers","layers_icon","layout","layout_icon","life_buoy","life_buoy_icon","link","link_icon","link_2","link_2_icon","linkedin","linkedin_icon","list","list_icon","loader_icon","lock","lock_icon","log_in","log_in_icon","log_out","log_out_icon","mail","mail_icon","map","map_icon","map_pin","map_pin_icon","maximize","maximize_icon","maximize_2","maximize_2_icon","meh","meh_icon","menu","menu_icon","message_circle","message_circle_icon","message_square","message_square_icon","mic","mic_icon","mic_off","mic_off_icon","minimize","minimize_icon","minimize_2","minimize_2_icon","minus","minus_icon","minus_circle","minus_circle_icon","minus_square","minus_square_icon","monitor","monitor_icon","moon","moon_icon","more_horizontal","more_horizontal_icon","more_vertical","more_vertical_icon","mouse_pointer","mouse_pointer_icon","move","move_icon","music","music_icon","navigation","navigation_icon","navigation_2","navigation_2_icon","octagon","octagon_icon","package","package_icon","paperclip","paperclip_icon","pause","pause_icon","pause_circle","pause_circle_icon","pen_tool","pen_tool_icon","percent","percent_icon","phone","phone_icon","phone_call","phone_call_icon","phone_forwarded","phone_forwarded_icon","phone_incoming","phone_incoming_icon","phone_missed","phone_missed_icon","phone_off","phone_off_icon","phone_outgoing","phone_outgoing_icon","pie_chart","pie_chart_icon","play","play_icon","play_circle","play_circle_icon","plus","plus_icon","plus_circle","plus_circle_icon","plus_square","plus_square_icon","pocket","pocket_icon","power","power_icon","printer","printer_icon","radio","radio_icon","refresh_ccw","refresh_ccw_icon","refresh_cw","refresh_cw_icon","repeat","repeat_icon","rewind","rewind_icon","rotate_ccw","rotate_ccw_icon","rotate_cw","rotate_cw_icon","rss","rss_icon","save","save_icon","scissors","scissors_icon","search","search_icon","send","send_icon","server","server_icon","settings","settings_icon","share","share_icon","share_2","share_2_icon","shield","shield_icon","shield_off","shield_off_icon","shopping_bag","shopping_bag_icon","shopping_cart","shopping_cart_icon","shuffle","shuffle_icon","sidebar","sidebar_icon","skip_back","skip_back_icon","skip_forward","skip_forward_icon","slack","slack_icon","slash","slash_icon","sliders","sliders_icon","smartphone","smartphone_icon","smile","smile_icon","speaker","speaker_icon","square","square_icon","star","star_icon","stop_circle","stop_circle_icon","sun","sun_icon","sunrise","sunrise_icon","sunset","sunset_icon","table","table_icon","tablet","tablet_icon","tag","tag_icon","target","target_icon","terminal","terminal_icon","thermometer","thermometer_icon","thumbs_down","thumbs_down_icon","thumbs_up","thumbs_up_icon","toggle_left","toggle_left_icon","toggle_right","toggle_right_icon","tool","tool_icon","trash","trash_icon","trash_2","trash_2_icon","trello","trello_icon","trending_down","trending_down_icon","trending_up","trending_up_icon","triangle","triangle_icon","truck","truck_icon","tv","tv_icon","twitch","twitch_icon","twitter","twitter_icon","type_icon","umbrella","umbrella_icon","underline","underline_icon","unlock","unlock_icon","upload","upload_icon","upload_cloud","upload_cloud_icon","user","user_icon","user_check","user_check_icon","user_minus","user_minus_icon","user_plus","user_plus_icon","user_x","user_x_icon","users","users_icon","video","video_icon","video_off","video_off_icon","voicemail","voicemail_icon","volume","volume_icon","volume_1","volume_1_icon","volume_2","volume_2_icon","volume_x","volume_x_icon","watch","watch_icon","wifi","wifi_icon","wifi_off","wifi_off_icon","wind","wind_icon","x","x_icon","x_circle","x_circle_icon","x_octagon","x_octagon_icon","x_square","x_square_icon","youtube","youtube_icon","zap","zap_icon","zap_off","zap_off_icon","zoom_in","zoom_in_icon","zoom_out","zoom_out_icon","SemanticIcon","Icon","fontcolor","width","height","SVGContainer","strokeWidth","c","getCommonProps","commonProps","Component","icon","name","Error","Container","textarea","TextArea","EllipsisContainer","myProps","_onMouseOver","onMouseOver","event","dataset","parentElement","scrollWidth","offsetWidth","title","innerText","removeAttribute","useTypography","OverflowContainer","ScrollContainer","before","after","onScrollEnd","useState","setLastPagination","onScroll","nativeEvent","scrollTopMax","scrollHeight","clientHeight","scrollTop","now","diff","Math","abs","_onScroll","positions","zIndex","maxWidth","maxHeight","position","references","firstRender","AbsoluteContainer","disableAutoPosition","center","y","axis","defaultPosition","setPosition","ref","setRef","setFirstRender","useEffect","window","innerWidth","innerHeight","getBoundingClientRect","xDirection","yDirection","newPosition","Option","bordered","Delimiter","Menu","open","close","options","scrollSpacing","activeOption","setActiveOption","getSubmenu","index","undefined","submenuProps","submenu","Fragment","option","delimiter","keepOpen","label","text","element","closeMenu","onClick","rules","rule","find","data","_onClick","labelColor","Indicator","description","Progress","ProgressBar","internal","Tabs","ul","Tab","li","active","activeState","tabs","setTabs","setActive","updateActiveTab","tagName","removeTab","prevState","aux","splice","tab","CloseIcon","isMaskFunction","isMaskReplace","Array","isArray","RegExp","isMaskReplaceArray","getMask","mask","replace","newValue","forEach","e","IconContainer","Input","input","invalid","placeholder","arrows","Label","required","forwardRef","clearable","onPressEnter","htmlDisabled","intInvalid","intRequired","intDisabled","intArrows","iconWidth","iconSubmit","iconOnClick","submit","inputProps","onChange","setValue","onKeyDown","_onPressEnter","preventDefault","v","onKeyUp","onKeyDownCapture","onKeyUpCapture","iconProps","MwIcon","displayName","Checkmark","span","padding","_padding","Checkbox","useOnClickOut","callback","listener","contains","document","addEventListener","removeEventListener","seconds","length","parseInt","substring","Time","_onKeyDown","todayDate","curH","getHours","curM","getMinutes","curS","getSeconds","tmp","h","padEnd","m","s","setHours","setMinutes","setSeconds","MwAbsoluteContainer","Footer","MonthContainer","NavBtn","WeekContainer","Header","DayContainer","months","getCalendar","month","year","days","setDate","getDay","unshift","push","weeks","week","i","Calendar","overlay","timeProps","time","notAbsolute","initalValue","_setValue","withoutTime","max","min","setInvalid","setCalendar","setTime","updateInvalid","useCallback","splitted","changeMonth","add","setFullYear","setMonth","getPrev","getNext","hasHighlight","withoutTimeValue","_onSubmit","onSubmit","day","toLocaleDateString","JSDate","RelativeContainer","isLeapYear","picker","setOpen","curD","curY","Provider","createContext","useContext","HeaderContainer","SelectAllContainer","context","setSearch","checked","setChecked","searched","setSearched","setPage","onSearch","selectAll","style","marginRight","getOptions","isChecked","newState","_index","Select","setLoading","page","lastPage","setLastPage","selected","_onScrollEnd","optionsResult","setOptions","concat","readOnly","Password","visibility","setVisibility","none","visible","hidden","_onBlur","onBlur","coordinates","ar","br","cl","es","us","mx","py","pt","uy","Flag","img","iso","countries","ddi","validation","charLimit","getDetails","shift","k","country","masked","valid","test","withDDI","Phone","inputValue","setInputValue","setCountry","details","DatePicker","today","onAdd","onSub","LabelContainer","Switch","bullet","InputContainer","SelectedArea","MinMaxLabelContainer","LabelsContainer","Marker","MarkersContainer","getMarkers","markers","strict","sort","a","b","step","parseFloat","Range","minLabel","maxLabel","range","spans","_onChange","marker","z","fill","_value","RadioButton","DefaultInput","Portal","id","opened","portalRoot","createElement","body","appendChild","removeChild","createPortal","heights","medium","custom","widths","Background","Content","FooterMessage","FooterButtons","customSize","inverted","isDarkColor","Modal","openState","footer","footerMessage","closeOnEsc","closeOnClickOutside","onClickOutside","onEscDown","buttonProps","ConfirmDelete","cancelAction","confirmAction","ConfirmSuccess","homeAction","Audit","ConfirmEdit","borderType","Card","rest","IconContent","Toast","handlClose","CalendarInterval","start","setStart","end","setEnd","startInvalid","setStartInvalid","endInvalid","setEndInvalid","minEnd","maxStart","HeaderImage","HeaderContent","MainContent","HeaderLine","MainLine","Template1","Template2Container","HeaderLineStyle","Template2","Template3Container","Template3Line","Template3","Template4Container","CustomLine","Template4","Circle","Template5","Template6","Main","Template7","Template8","GraphLine","Template10","Placeholder","Template9","Image","Dimmer","MwButton","ModalContent","Zoom","src","defaultClickOptions","imgProps","modalOpened","setModalOpened","alt","FontStyles","createGlobalStyle","Globals","opacity","typography","ifDark","ifLight","hex","luminosity","ThemeProvider"],"mappings":"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AU,YAAU4B,KAAV;GARZ,CAHJ,CADF;AAiBD,CAnCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACyRA,IAAMG,KAAK,GAAG;EACZC,QAAQ,EAAEC,WADE;EAEZC,OAAO,EAAEC,UAFG;EAGZC,YAAY,EAAEC,cAHF;EAIZC,aAAa,EAAEC,eAJH;EAKZC,cAAc,EAAEC,gBALJ;EAMZC,YAAY,EAAEC,cANF;EAOZC,aAAa,EAAEC,eAPH;EAQZC,UAAU,EAAEC,YARA;EASZC,WAAW,EAAEC,aATD;EAUZC,MAAM,EAAEC,SAVI;EAWZC,QAAQ,EAAEC,WAXE;EAYZC,OAAO,EAAEC,UAZG;EAaZC,UAAU,EAAEC,YAbA;EAcZC,iBAAiB,EAAEC,kBAdP;EAeZC,eAAe,EAAEC,gBAfL;EAgBZC,gBAAgB,EAAEC,iBAhBN;EAiBZC,UAAU,EAAEC,YAjBA;EAkBZC,iBAAiB,EAAEC,kBAlBP;EAmBZC,WAAW,EAAEC,aAnBD;EAoBZC,kBAAkB,EAAEC,mBApBR;EAqBZC,QAAQ,EAAEC,UArBE;EAsBZC,eAAe,EAAEC,gBAtBL;EAuBZC,aAAa,EAAEC,cAvBH;EAwBZC,cAAc,EAAEC,eAxBJ;EAyBZC,OAAO,EAAEC,SAzBG;EA0BZC,KAAK,EAAEC,QA1BK;EA2BZC,SAAS,EAAEC,WA3BC;EA4BZC,WAAW,EAAEC,YA5BD;EA6BZC,OAAO,EAAEC,UA7BG;EA8BZC,gBAAgB,EAAEC,kBA9BN;EA+BZC,IAAI,EAAEC,OA/BM;EAgCZC,QAAQ,EAAEC,UAhCE;EAiCZC,SAAS,EAAEC,YAjCC;EAkCZC,IAAI,EAAEC,OAlCM;EAmCZC,IAAI,EAAEC,OAnCM;EAoCZC,SAAS,EAAEC,WApCC;EAqCZC,QAAQ,EAAEC,WArCE;EAsCZC,GAAG,EAAEC,MAtCO;EAuCZC,SAAS,EAAEC,YAvCC;EAwCZC,QAAQ,EAAEC,WAxCE;EAyCZC,MAAM,EAAEC,SAzCI;EA0CZC,UAAU,EAAEC,YA1CA;EA2CZC,IAAI,EAAEC,OA3CM;EA4CZC,KAAK,EAAEC,QA5CK;EA6CZC,YAAY,EAAEC,cA7CF;EA8CZC,YAAY,EAAEC,cA9CF;EA+CZC,YAAY,EAAEC,cA/CF;EAgDZC,YAAY,EAAEC,cAhDF;EAiDZC,aAAa,EAAEC,eAjDH;EAkDZC,UAAU,EAAEC,YAlDA;EAmDZC,aAAa,EAAEC,eAnDH;EAoDZC,aAAa,EAAEC,eApDH;EAqDZC,cAAc,EAAEC,gBArDJ;EAsDZC,WAAW,EAAEC,aAtDD;EAuDZC,MAAM,EAAEC,SAvDI;EAwDZC,MAAM,EAAEC,SAxDI;EAyDZC,SAAS,EAAEC,YAzDC;EA0DZC,KAAK,EAAEC,QA1DK;EA2DZC,KAAK,EAAEC,QA3DK;EA4DZC,aAAa,EAAEC,eA5DH;EA6DZC,eAAe,EAAEC,iBA7DL;EA8DZC,SAAS,EAAEC,WA9DC;EA+DZC,UAAU,EAAEC,YA/DA;EAgEZC,UAAU,EAAEC,YAhEA;EAiEZC,IAAI,EAAEC,OAjEM;EAkEZC,OAAO,EAAEC,UAlEG;EAmEZC,WAAW,EAAEC,cAnED;EAoEZC,MAAM,EAAEC,SApEI;EAqEZC,OAAO,EAAEC,UArEG;EAsEZC,OAAO,EAAEC,UAtEG;EAuEZC,OAAO,EAAEC,UAvEG;EAwEZC,IAAI,EAAEC,OAxEM;EAyEZC,gBAAgB,EAAEC,iBAzEN;EA0EZC,iBAAiB,EAAEC,kBA1EP;EA2EZC,gBAAgB,EAAEC,iBA3EN;EA4EZC,cAAc,EAAEC,eA5EJ;EA6EZC,iBAAiB,EAAEC,kBA7EP;EA8EZC,eAAe,EAAEC,gBA9EL;EA+EZC,cAAc,EAAEC,eA/EJ;EAgFZC,eAAe,EAAEC,gBAhFL;EAiFZC,GAAG,EAAEC,MAjFO;EAkFZC,WAAW,EAAEC,aAlFD;EAmFZC,IAAI,EAAEC,OAnFM;EAoFZC,SAAS,EAAEC,YApFC;EAqFZC,QAAQ,EAAEC,WArFE;EAsFZC,MAAM,EAAEC,SAtFI;EAuFZC,IAAI,EAAEC,OAvFM;EAwFZC,MAAM,EAAEC,SAxFI;EAyFZC,aAAa,EAAEC,eAzFH;EA0FZC,aAAa,EAAEC,eA1FH;EA2FZC,WAAW,EAAEC,aA3FD;EA4FZC,QAAQ,EAAEC,WA5FE;EA6FZC,cAAc,EAAEC,gBA7FJ;EA8FZC,QAAQ,EAAEC,WA9FE;EA+FZC,OAAO,EAAEC,UA/FG;EAgGZC,IAAI,EAAEC,OAhGM;EAiGZC,MAAM,EAAEC,QAjGI;EAkGZC,MAAM,EAAEC,QAlGI;EAmGZC,aAAa,EAAEC,eAnGH;EAoGZC,GAAG,EAAEC,MApGO;EAqGZC,OAAO,EAAEC,SArGG;EAsGZC,QAAQ,EAAEC,WAtGE;EAuGZC,YAAY,EAAEC,cAvGF;EAwGZC,OAAO,EAAEC,UAxGG;EAyGZC,KAAK,EAAEC,QAzGK;EA0GZC,IAAI,EAAEC,OA1GM;EA2GZC,UAAU,EAAEC,YA3GA;EA4GZC,SAAS,EAAEC,WA5GC;EA6GZC,SAAS,EAAEC,WA7GC;EA8GZC,IAAI,EAAEC,OA9GM;EA+GZ3R,MAAM,EAAE4R,SA/GI;EAgHZC,IAAI,EAAEC,OAhHM;EAiHZC,MAAM,EAAEC,SAjHI;EAkHZC,YAAY,EAAEC,cAlHF;EAmHZC,WAAW,EAAEC,aAnHD;EAoHZC,MAAM,EAAEC,SApHI;EAqHZC,KAAK,EAAEC,QArHK;EAsHZC,IAAI,EAAEC,OAtHM;EAuHZC,UAAU,EAAEC,YAvHA;EAwHZC,UAAU,EAAEC,YAxHA;EAyHZC,SAAS,EAAEC,WAzHC;EA0HZC,gBAAgB,EAAEC,iBA1HN;EA2HZC,MAAM,EAAEC,SA3HI;EA4HZC,MAAM,EAAEC,SA5HI;EA6HZC,KAAK,EAAEC,QA7HK;EA8HZC,IAAI,EAAEC,OA9HM;EA+HZC,UAAU,EAAEC,YA/HA;EAgIZC,IAAI,EAAEC,OAhIM;EAiIZC,UAAU,EAAEC,aAjIA;EAkIZC,KAAK,EAAEC,QAlIK;EAmIZC,WAAW,EAAEC,aAnID;EAoIZC,OAAO,EAAEC,UApIG;EAqIZC,IAAI,EAAEC,OArIM;EAsIZC,KAAK,EAAEC,QAtIK;EAuIZC,KAAK,EAAEC,QAvIK;EAwIZC,IAAI,EAAEC,OAxIM;EAyIZC,SAAS,EAAEC,YAzIC;EA0IZC,MAAM,EAAEC,SA1II;EA2IZjW,GAAG,EAAEkW,MA3IO;EA4IZC,MAAM,EAAEC,SA5II;EA6IZC,MAAM,EAAEC,SA7II;EA8IZC,SAAS,EAAEC,WA9IC;EA+IZC,IAAI,EAAEC,OA/IM;EAgJZC,MAAM,EAAEC,QAhJI;EAiJZC,QAAQ,EAAEC,WAjJE;EAkJZC,IAAI,EAAEC,OAlJM;EAmJZvU,MAAM,EAAEwU,SAnJI;EAoJZC,IAAI,EAAEC,OApJM;EAqJZC,MAAM,EAAEC,QArJI;EAsJZC,OAAO,EAAEC,SAtJG;EAuJZC,IAAI,EAAEC,OAvJM;EAwJZC,GAAG,EAAEC,MAxJO;EAyJZC,OAAO,EAAEC,SAzJG;EA0JZC,QAAQ,EAAEC,WA1JE;EA2JZC,UAAU,EAAEC,YA3JA;EA4JZC,GAAG,EAAEC,MA5JO;EA6JZC,IAAI,EAAEC,OA7JM;EA8JZC,cAAc,EAAEC,gBA9JJ;EA+JZC,cAAc,EAAEC,gBA/JJ;EAgKZC,GAAG,EAAEC,MAhKO;EAiKZC,OAAO,EAAEC,SAjKG;EAkKZC,QAAQ,EAAEC,WAlKE;EAmKZC,UAAU,EAAEC,YAnKA;EAoKZC,KAAK,EAAEC,QApKK;EAqKZC,YAAY,EAAEC,cArKF;EAsKZC,YAAY,EAAEC,cAtKF;EAuKZC,OAAO,EAAEC,UAvKG;EAwKZC,IAAI,EAAEC,OAxKM;EAyKZC,eAAe,EAAEC,iBAzKL;EA0KZC,aAAa,EAAEC,eA1KH;EA2KZC,aAAa,EAAEC,eA3KH;EA4KZC,IAAI,EAAEC,OA5KM;EA6KZC,KAAK,EAAEC,QA7KK;EA8KZC,UAAU,EAAEC,aA9KA;EA+KZC,YAAY,EAAEC,cA/KF;EAgLZC,OAAO,EAAEC,UAhLG;EAiLZC,OAAO,EAAEC,UAjLG;EAkLZC,SAAS,EAAEC,YAlLC;EAmLZC,KAAK,EAAEC,QAnLK;EAoLZC,YAAY,EAAEC,cApLF;EAqLZC,QAAQ,EAAEC,UArLE;EAsLZC,OAAO,EAAEC,UAtLG;EAuLZC,KAAK,EAAEC,QAvLK;EAwLZC,UAAU,EAAEC,YAxLA;EAyLZC,eAAe,EAAEC,iBAzLL;EA0LZC,cAAc,EAAEC,gBA1LJ;EA2LZC,YAAY,EAAEC,cA3LF;EA4LZC,SAAS,EAAEC,WA5LC;EA6LZC,cAAc,EAAEC,gBA7LJ;EA8LZC,SAAS,EAAEC,WA9LC;EA+LZC,IAAI,EAAEC,OA/LM;EAgMZC,WAAW,EAAEC,aAhMD;EAiMZC,IAAI,EAAEC,OAjMM;EAkMZC,WAAW,EAAEC,aAlMD;EAmMZC,WAAW,EAAEC,aAnMD;EAoMZC,MAAM,EAAEC,SApMI;EAqMZC,KAAK,EAAEC,QArMK;EAsMZC,OAAO,EAAEC,UAtMG;EAuMZC,KAAK,EAAEC,QAvMK;EAwMZC,WAAW,EAAEC,aAxMD;EAyMZC,UAAU,EAAEC,YAzMA;EA0MZC,MAAM,EAAEC,SA1MI;EA2MZC,MAAM,EAAEC,SA3MI;EA4MZC,UAAU,EAAEC,YA5MA;EA6MZC,SAAS,EAAEC,WA7MC;EA8MZC,GAAG,EAAEC,MA9MO;EA+MZC,IAAI,EAAEC,OA/MM;EAgNZC,QAAQ,EAAEC,WAhNE;EAiNZC,MAAM,EAAEC,SAjNI;EAkNZC,IAAI,EAAEC,OAlNM;EAmNZC,MAAM,EAAEC,SAnNI;EAoNZC,QAAQ,EAAEC,WApNE;EAqNZC,KAAK,EAAEC,QArNK;EAsNZC,OAAO,EAAEC,SAtNG;EAuNZC,MAAM,EAAEC,SAvNI;EAwNZC,UAAU,EAAEC,YAxNA;EAyNZC,YAAY,EAAEC,cAzNF;EA0NZC,aAAa,EAAEC,eA1NH;EA2NZC,OAAO,EAAEC,UA3NG;EA4NZC,OAAO,EAAEC,UA5NG;EA6NZC,SAAS,EAAEC,WA7NC;EA8NZC,YAAY,EAAEC,cA9NF;EA+NZC,KAAK,EAAEC,QA/NK;EAgOZC,KAAK,EAAEC,QAhOK;EAiOZC,OAAO,EAAEC,UAjOG;EAkOZC,UAAU,EAAEC,aAlOA;EAmOZC,KAAK,EAAEC,QAnOK;EAoOZC,OAAO,EAAEC,UApOG;EAqOZC,MAAM,EAAEC,SArOI;EAsOZC,IAAI,EAAEC,OAtOM;EAuOZC,WAAW,EAAEC,aAvOD;EAwOZC,GAAG,EAAEC,MAxOO;EAyOZC,OAAO,EAAEC,UAzOG;EA0OZC,MAAM,EAAEC,SA1OI;EA2OZC,KAAK,EAAEC,QA3OK;EA4OZC,MAAM,EAAEC,SA5OI;EA6OZC,GAAG,EAAEC,MA7OO;EA8OZC,MAAM,EAAEC,SA9OI;EA+OZC,QAAQ,EAAEC,WA/OE;EAgPZC,WAAW,EAAEC,cAhPD;EAiPZC,WAAW,EAAEC,aAjPD;EAkPZC,SAAS,EAAEC,WAlPC;EAmPZC,WAAW,EAAEC,aAnPD;EAoPZC,YAAY,EAAEC,cApPF;EAqPZC,IAAI,EAAEC,OArPM;EAsPZC,KAAK,EAAEC,QAtPK;EAuPZC,OAAO,EAAEC,SAvPG;EAwPZC,MAAM,EAAEC,SAxPI;EAyPZC,aAAa,EAAEC,eAzPH;EA0PZC,WAAW,EAAEC,aA1PD;EA2PZC,QAAQ,EAAEC,WA3PE;EA4PZC,KAAK,EAAEC,QA5PK;EA6PZC,EAAE,EAAEC,KA7PQ;EA8PZC,MAAM,EAAEC,SA9PI;EA+PZC,OAAO,EAAEC,UA/PG;EAgQZhgB,IAAI,EAAEigB,OAhQM;EAiQZC,QAAQ,EAAEC,WAjQE;EAkQZC,SAAS,EAAEC,YAlQC;EAmQZC,MAAM,EAAEC,SAnQI;EAoQZC,MAAM,EAAEC,SApQI;EAqQZC,YAAY,EAAEC,cArQF;EAsQZC,IAAI,EAAEC,OAtQM;EAuQZC,UAAU,EAAEC,YAvQA;EAwQZC,UAAU,EAAEC,YAxQA;EAyQZC,SAAS,EAAEC,WAzQC;EA0QZC,MAAM,EAAEC,QA1QI;EA2QZC,KAAK,EAAEC,QA3QK;EA4QZC,KAAK,EAAEC,QA5QK;EA6QZC,SAAS,EAAEC,WA7QC;EA8QZC,SAAS,EAAEC,YA9QC;EA+QZC,MAAM,EAAEC,SA/QI;EAgRZC,QAAQ,EAAEC,UAhRE;EAiRZC,QAAQ,EAAEC,UAjRE;EAkRZC,QAAQ,EAAEC,UAlRE;EAmRZC,KAAK,EAAEC,QAnRK;EAoRZC,IAAI,EAAEC,OApRM;EAqRZC,QAAQ,EAAEC,UArRE;EAsRZC,IAAI,EAAEC,OAtRM;EAuRZC,CAAC,EAAEC,IAvRS;EAwRZC,QAAQ,EAAEC,UAxRE;EAyRZC,SAAS,EAAEC,WAzRC;EA0RZC,QAAQ,EAAEC,UA1RE;EA2RZC,OAAO,EAAEC,UA3RG;EA4RZC,GAAG,EAAEC,MA5RO;EA6RZC,OAAO,EAAEC,SA7RG;EA8RZC,OAAO,EAAEC,SA9RG;EA+RZC,QAAQ,EAAEC;AA/RE,CAAd;;;ACzRO,IAAMC,YAAY,GAAG7lB,MAAM,CAAC8lB,MAAD,CAAT,uSAIZ;EAAA,IAAGC,SAAH,QAAGA,SAAH;EAAA,OAAmBA,SAAnB;AAAA,CAJY,EASnB;MAAGC,cAAAA;EACH,IAAI,CAACA,KAAL,EAAY;EAEZ,OAAOtlB,GAAP,yIACeslB,KADf,EAEWA,KAFX;AAID,CAhBoB,EAkBnB;MAAGC,eAAAA;EACH,IAAI,CAACA,MAAL,EAAa;EAEb,OAAOvlB,GAAP,0IACeulB,MADf,EAEYA,MAFZ;AAID,CAzBoB,CAAlB;AAsCP,AAAO,IAAMC,YAAY,GAAGlmB,MAAM,CAACC,GAAV,gLAKT;EAAA,IAAGI,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAf;AAAA,CALS,EAOjB;MAAG8lB,oBAAAA;EACH,IAAI,CAACA,WAAL,EAAkB;EAElB,OAAOzlB,GAAP,0HACkBylB,WADlB;AAGD,CAbkB,CAAlB;;ACtCP,IAAM3lB,QAAQ,GAAG,SAAXA,QAAW,CAAC4lB,CAAD;EACf,IAAI,CAACA,CAAL,EAAQ,OAAOzsB,MAAM,CAACa,IAAd;EAER,OAAO0C,OAAO,CAACvD,MAAD,EAASysB,CAAT,CAAP,GAAqBzsB,MAAM,CAACysB,CAAD,CAA3B,GAAiCA,CAAxC;AACD,CAJD;;AAMA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAAC5kB,KAAD;EACrB,IAAMpB,KAAK,GAAGG,QAAQ,CAACiB,KAAK,CAACpB,KAAP,CAAtB;EACA,IAAMimB,WAAW,GAAGvoB,YAAY,CAC9B0D,KAD8B,EAE9B,CAAC,MAAD,EAAS,MAAT,EAAiB,OAAjB,CAF8B,EAG9B;IACEukB,KAAK,EAAE;GAJqB,CAAhC;EAQA,OAAO;IAAE3lB,KAAK,EAALA,KAAF;IAASimB,WAAW,EAAXA;GAAhB;AACD,CAXD;;AAaA,IAAMR,IAAI,GAAG,SAAPA,IAAO,CAACrkB,KAAD;EACX,QAAQA,KAAK,CAACI,IAAd;IACE,KAAK,SAAL;MAAgB;QACd,sBAA+BwkB,cAAc,CAAC5kB,KAAD,CAA7C;YAAQpB,KAAR,mBAAQA,KAAR;YAAeimB,WAAf,mBAAeA,WAAf;;QAEA,IAAMC,SAAS,GAAGtX,KAAO,CAACxN,KAAK,CAAC+kB,IAAP,CAAzB;QACA,OACExkB,4BAAA,CAACC,YAAD;UAAgB5B,KAAK,EAAEA;UAAO8lB,WAAW,EAAE1kB,KAAK,CAAC0kB;SAAjD,EACEnkB,4BAAA,CAACukB,SAAD,oBAAeD,YAAf,CADF,CADF;;;IAMF,KAAK,UAAL;MAAiB;QACf,uBAA+BD,cAAc,CAAC5kB,KAAD,CAA7C;YAAQpB,MAAR,oBAAQA,KAAR;YAAeimB,YAAf,oBAAeA,WAAf;;QAEA,OACEtkB,4BAAA,CAACC,YAAD;UAAgB8jB,SAAS,EAAE1lB;UAAOomB,IAAI,EAAEhlB,KAAK,CAAC+kB;WAAUF,aAAxD,CADF;;;IAIF,KAAK,KAAL;MAAY;QACV,uBAA+BD,cAAc,CAAC5kB,KAAD,CAA7C;YAAQpB,OAAR,oBAAQA,KAAR;YAAeimB,aAAf,oBAAeA,WAAf;;QAEA,IAAMC,UAAS,GAAG9kB,KAAK,CAAC+kB,IAAxB;QACA,OACExkB,4BAAA,CAACC,YAAD;UAAgB5B,KAAK,EAAEA;UAAO8lB,WAAW,EAAE1kB,KAAK,CAAC0kB;SAAjD,EACEnkB,4BAAA,CAACukB,UAAD,oBAAeD,cAAf,CADF,CADF;;;IAMF,KAAK,KAAL;MAAY;QACV,OAAO7kB,KAAK,CAAC+kB,IAAb;;;IAEF;MACE,MAAM,IAAIE,KAAJ,CAAU,mBAAV,CAAN;;AAEL,CAnCD;;;ACzBO,IAAMC,SAAS,GAAG3mB,MAAM,CAAC4mB,QAAV,4OACX,UAACnlB,KAAD;EAAA,YAAcA,KAAK,CAACukB,KAApB;AAAA,CADW,EAEV,UAACvkB,KAAD;EAAA,YAAcA,KAAK,CAACwkB,MAApB;AAAA,CAFU,CAAf;;ACCP,IAAMY,QAAQ,GAAG,SAAXA,QAAW,CAACplB,KAAD;EACf,OAAOO,4BAAA,CAACC,SAAD,oBAAiBR,MAAjB,CAAP;AACD,CAFD;;;ACFO,IAAMqlB,iBAAiB,GAAG9mB,MAAM,CAACC,GAAV,yJAAvB;;ACEP,IAAM6mB,mBAAiB,GAAG,SAApBA,mBAAoB,CAACrlB,KAAD;EACxB,IAAMslB,OAAO,gBAA8CtlB,KAA9C,CAAb;;EAEA,IAAMulB,YAAY,GAAGD,OAAO,CAACE,WAAR,IAAwB,cAA7C;;EAEAF,OAAO,CAACE,WAAR,GAAsB,UAACC,KAAD;IACpBF,YAAY,CAACE,KAAD,CAAZ;;IAEA,IAAIxH,MAAM,GAAGwH,KAAK,CAACxH,MAAnB;;IAEA,OAAOA,MAAM,IAAI,EAAE,cAAcA,MAAM,CAACyH,OAAvB,CAAjB,EAAkD;MAChDzH,MAAM,GAAGA,MAAM,CAAC0H,aAAhB;;;IAGF,IAAI,CAAC1H,MAAL,EAAa;;IAEb,IAAIA,MAAM,CAAC2H,WAAP,GAAqB3H,MAAM,CAAC4H,WAAhC,EAA6C;MAC3C5H,MAAM,CAAC6H,KAAP,GAAe7H,MAAM,CAAC8H,SAAtB;KADF,MAEO9H,MAAM,CAAC+H,eAAP,CAAuB,OAAvB;GAbT;;EAgBA,OAAOzlB,4BAAA,CAACC,iBAAD,oBAAyB8kB;qBAAuB;IAAhD,CAAP;AACD,CAtBD;;;ACEA,IAAMJ,WAAS,GAAG3mB,MAAM,CAACC,GAAV,6MACX;EAAA,IAAGK,KAAH,QAAGA,KAAH;EAAA,OAAeA,KAAK,CAAConB,aAAN,CAAoB,GAApB,CAAf;AAAA,CADW,EAGS;EAAA,IAAGpnB,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeC,EAA9B;AAAA,CAHT,CAAf;AAUA,IAAM4rB,iBAAiB,GAAG3nB,MAAM,CAACC,GAAV,yZAMnB;MAAGgmB,eAAAA;EACH,IAAI,CAACA,MAAL,EAAa;EAEb,OAAOvlB,GAAP,4GACYulB,MADZ;AAGD,CAZoB,EAcF;EAAA,IAAG3lB,KAAH,SAAGA,KAAH;EAAA,OACdA,KAAK,CAAC3G,MAAN,CAAaa,IADC,SACO8F,KAAK,CAAC3G,MAAN,CAAaC,KADpB;AAAA,CAdE,EAsBL;EAAA,IAAG0G,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaa,IAA5B;AAAA,CAtBK,EAyBL;EAAA,IAAG8F,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaC,KAA5B;AAAA,CAzBK,EA4BnB;MAAG+F,gBAAAA;MAASW,cAAAA;EACZ,IAAM5C,KAAK,GAAG0B,WAAW,CAACO,OAAO,IAAI,GAAZ,EAAiB,GAAjB,CAAX,CAAiCX,KAAjC,CAAuC,GAAvC,CAAd;EAEA,OAAO0B,GAAP,iJACahD,KAAK,CAAC,CAAD,CADlB,EAC8B4C,KAAK,CAACxE,QAAN,CAAeC,EAD7C,EAC0D2B,KAAK,CAAC,CAAD,CAD/D,EAEMA,KAAK,CAAC,CAAD,CAFX;AAID,CAnCoB,CAAvB;;AAsCA,IAAMkqB,eAAe,GAAG,SAAlBA,eAAkB,CAACnmB,KAAD;EACtB,IAAQomB,MAAR,GAA0BpmB,KAA1B,CAAQomB,MAAR;MAAgBC,KAAhB,GAA0BrmB,KAA1B,CAAgBqmB,KAAhB;;EAEA,IAAMC,WAAW,GAAGtmB,KAAK,CAACsmB,WAAN,IAAsB,cAA1C;;EAEA,gBAA8BC,QAAQ,CAAO,IAAIjpB,IAAJ,EAAP,CAAtC;MAASkpB,iBAAT;;EAEA,IAAMC,UAAQ,GAAG,SAAXA,QAAW,CAAChB,KAAD;IACf,IAAMxH,MAAM,GAAGwH,KAAK,CAACiB,WAAN,CAAkBzI,MAAjC;IAEA,IAAI,CAACA,MAAL,EAAa;IAEb,IAAM0I,YAAY,GAAG1I,MAAM,CAAC2I,YAAP,GAAsB3I,MAAM,CAAC4I,YAAlD;IACA,IAAMC,SAAS,GAAG7I,MAAM,CAAC6I,SAAzB;;IAEA,IAAIH,YAAY,KAAK,CAAjB,IAAsBA,YAAY,KAAKG,SAA3C,EAAsD;MACpDN,iBAAiB,CAAC,UAAC3pB,IAAD;QAChB,IAAMkqB,GAAG,GAAG,IAAIzpB,IAAJ,EAAZ;QAEA,IAAM0pB,IAAI,GAAGC,IAAI,CAACC,GAAL,CAAS,CAACH,GAAG,CAACrpB,OAAJ,KAAgBb,IAAI,CAACa,OAAL,EAAjB,IAAmC,IAA5C,CAAb;QAEA,IAAIspB,IAAI,GAAG,GAAX,EAAgB,OAAOnqB,IAAP;QAEhBypB,WAAW;QACX,OAAOS,GAAP;OARe,CAAjB;;GATJ;;EAsBA,IAAMI,SAAS,GAAGnnB,KAAK,CAACymB,QAAN,IAAmB,cAArC;;EAEA,IAAMpmB,SAAS,GAAG/D,YAAY,CAG5B0D,KAH4B,EAGrB,CAAC,aAAD,EAAgB,QAAhB,EAA0B,OAA1B,CAHqB,CAA9B;EAKA,OACEO,4BAAA,CAAC2kB,WAAD,MAAA,EACGkB,MADH,EAEE7lB,4BAAA,CAAC2lB,iBAAD,oBACM7lB;IACJomB,QAAQ,EAAE,kBAAChB,KAAD;MACR0B,SAAS,CAAC1B,KAAD,CAAT;;MACAgB,UAAQ,CAAChB,KAAD,CAAR;;IAJJ,CAFF,EASGY,KATH,CADF;AAaD,CAjDD;;;AClDA,IAAMe,SAAS,GAEX;EACF,aAAa;IAAA,IAAGrpB,IAAH,QAAGA,IAAH;IAAA,OAAckB,GAAd,iHAEHlB,IAAI,IAAI,MAFL;GADX;EAKF,YAAY;IAAA,IAAGE,KAAH,SAAGA,KAAH;IAAA,OAAegB,GAAf,oHAEDhB,KAAK,IAAI,MAFR;GALV;EASF,gBAAgB;IAAA,IAAGF,IAAH,SAAGA,IAAH;IAAA,OAAckB,GAAd,sHAENlB,IAAI,IAAI,MAFF;GATd;EAaF,eAAe;IAAA,IAAGE,KAAH,SAAGA,KAAH;IAAA,OAAegB,GAAf,uHAEJhB,KAAK,IAAI,MAFL;GAbb;EAiBF,aAAa;IAAA,IAAGD,MAAH,SAAGA,MAAH;IAAA,OAAgBiB,GAAhB,uHACDjB,MAAM,IAAI,MADT;GAjBX;EAqBF,gBAAgB;IAAA,IAAGF,GAAH,SAAGA,GAAH;IAAA,OAAamB,GAAb,oHACPnB,GAAG,IAAI,MADA;GArBd;EAyBF,YAAY;IAAA,IAAGE,MAAH,SAAGA,MAAH;IAAA,OAAgBiB,GAAhB,sHACAjB,MAAM,IAAI,MADV;GAzBV;EA6BF,eAAe;IAAA,IAAGF,GAAH,SAAGA,GAAH;IAAA,OAAamB,GAAb,mHACNnB,GAAG,IAAI,MADD;;AA7Bb,CAFJ;AAqCA,AAAO,IAAMonB,WAAS,GAAG3mB,MAAM,CAACC,GAAV,uRAClB;EAAA,IAAGK,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAAConB,aAAN,CAAoB,GAApB,CAAf;AAAA,CADkB,EAIQ;EAAA,IAAGpnB,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,CAACE,QAAN,CAAe,OAAf,EAAwB,EAAxB,CAAf;AAAA,CAJR,EAKE;EAAA,IAAGF,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAae,YAA5B;AAAA,CALF,EAQT;EAAA,IAAGouB,MAAH,UAAGA,MAAH;EAAA,OAAgBA,MAAM,IAAI,CAA1B;AAAA,CARS,EAUlB;MAAG9C,eAAAA;EACH,IAAI,CAACA,KAAL,EAAY;EAEZ,OAAOtlB,GAAP,6GACWslB,KADX;AAGD,CAhBmB,EAkBlB;MAAGC,gBAAAA;EACH,IAAI,CAACA,MAAL,EAAa;EAEb,OAAOvlB,GAAP,0GACYulB,MADZ;AAGD,CAxBmB,EA0BlB;MAAG8C,kBAAAA;EACH,IAAI,CAACA,QAAL,EAAe;EAEf,OAAOroB,GAAP,6GACeqoB,QADf;AAGD,CAhCmB,EAkClB;MAAGC,mBAAAA;EACH,IAAI,CAACA,SAAL,EAAgB;EAEhB,OAAOtoB,GAAP,8GACgBsoB,SADhB;AAGD,CAxCmB,EA4ClB;MAAGC,kBAAAA;MAAUC,oBAAAA;EACb,OAAOL,SAAS,CAACI,QAAD,CAAT,CAAoBC,UAAU,IAAI,EAAlC,CAAP;AACD,CA9CmB,EAgDlB;MAAGC,qBAAAA;EACH,IAAI,CAACA,WAAL,EAAkB;EAElB,OAAOzoB,GAAP;AAGD,CAtDmB,CAAf;;ACnCA,IAAM0oB,iBAAiB,GAAG,SAApBA,iBAAoB,CAAC3nB,KAAD;EAC/B,IAAM4nB,mBAAmB,GAAG5nB,KAAK,CAAC4nB,mBAAN,IAA6B5nB,KAAK,CAACwnB,QAA/D;EAEA,IAAMK,MAAM,GAAG7nB,KAAK,CAAC6nB,MAAN,IAAgB;IAC7B3E,CAAC,EAAE,EAD0B;IAE7B4E,CAAC,EAAE;GAFL;EAKA,IAAMC,IAAI,GAAG/nB,KAAK,CAAC+nB,IAAN,IAAc,GAA3B;EACA,IAAMC,eAAe,GAAGD,IAAI,KAAK,GAAT,GAAe,cAAf,GAAgC,WAAxD;;EAEA,gBAAgCxB,QAAQ,CACtCvmB,KAAK,CAACwnB,QAAN,IAAkBQ,eADoB,CAAxC;MAAOR,QAAP;MAAiBS,WAAjB;;EAIA,iBAAsB1B,QAAQ,CAAwB,IAAxB,CAA9B;MAAO2B,GAAP;MAAYC,MAAZ;;EACA,iBAAsC5B,QAAQ,CAAU,IAAV,CAA9C;MAAOmB,WAAP;MAAoBU,cAApB;;EAEAC,SAAS,CAAC;IACR,IAAIT,mBAAmB,IAAI,CAACM,GAA5B,EAAiC;IAEjC,IAAM3D,KAAK,GAAG+D,MAAM,CAACC,UAArB;IACA,IAAM/D,MAAM,GAAG8D,MAAM,CAACE,WAAtB;;IACA,4BAAsBN,GAAG,CAACO,qBAAJ,EAAtB;QAAQ3qB,GAAR,yBAAQA,GAAR;QAAaC,IAAb,yBAAaA,IAAb;;IAEA,IAAMmlB,CAAC,GAAInlB,IAAI,GAAG,GAAR,GAAewmB,KAAzB;IACA,IAAMuD,CAAC,GAAIhqB,GAAG,GAAG,GAAP,GAAc0mB,MAAxB;IAEA,IAAMkE,UAAU,GAAGxF,CAAC,GAAG2E,MAAM,CAAC3E,CAAX,GAAe,MAAf,GAAwB,OAA3C;IACA,IAAMyF,UAAU,GAAGb,CAAC,GAAGD,MAAM,CAACC,CAAX,GAAe,KAAf,GAAuB,QAA1C;IAEA,IAAMc,WAAW,GACfb,IAAI,KAAK,GAAT,GACQW,UADR,SACsBC,UADtB,GAEQA,UAFR,SAEsBD,UAHxB;IAKAT,WAAW,CAACW,WAAD,CAAX;IACAR,cAAc,CAAC,KAAD,CAAd;GAnBO,EAoBN,CAACF,GAAD,CApBM,CAAT;EAsBA,IAAM7nB,SAAS,GAAG/D,YAAY,CAG5B0D,KAH4B,EAGrB,CAAC,QAAD,EAAW,UAAX,EAAuB,qBAAvB,EAA8C,UAA9C,CAHqB,CAA9B;EAKA,OACEO,4BAAA,CAACC,WAAD,oBACMH;IACJmnB,QAAQ,EAAEA;IACVU,GAAG,EAAEC;IACLT,WAAW,EAAEA;IAJf,EAMEnnB,4BAAA,MAAA,MAAA,EAAMP,KAAK,CAACC,QAAZ,CANF,CADF;AAUD,CAvDM;;;ACDA,IAAM4oB,MAAM,GAAGtqB,MAAM,CAACC,GAAV,uOACf;EAAA,IAAGK,KAAH,QAAGA,KAAH;EAAA,OAAeA,KAAK,CAAConB,aAAN,CAAoB,GAApB,CAAf;AAAA,CADe,EAEF;EAAA,IAAGpnB,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeG,EAA9B;AAAA,CAFE,EASf;MAAGuF,iBAAAA;;EACH,IAAI,CAACA,QAAL,EAAe;IACb,OAAOd,GAAP;;;EAKF,OAAOA,GAAP;AAID,CApBgB,EAuBK;EAAA,IAAGJ,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaE,QAA5B;AAAA,CAvBL,CAAZ;AA2BP,AAAO,IAAM8sB,WAAS,GAAG3mB,MAAM,CAACopB,iBAAD,CAAT,sNAGI;EAAA,IAAG9oB,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaC,KAA5B;AAAA,CAHJ,EAOhB;MAAG2wB,iBAAAA;EACH,IAAI,CAACA,QAAL,EAAe;EAEf,OAAO7pB,GAAP,2NACI4pB,MADJ,EAIU;IAAA,IAAGhqB,KAAH,SAAGA,KAAH;IAAA,OAAeA,KAAK,CAACE,QAAN,CAAe,aAAf,EAA8B,EAA9B,CAAf;GAJV;AAQD,CAlBiB,EAoBhB,UAACiB,KAAD;EACA,IAAQnB,KAAR,GAAkBmB,KAAlB,CAAQnB,KAAR;;EAEA,IAAI,CAACmB,KAAK,CAAC9B,OAAX,EAAoB;IAClB,OAAOe,GAAP,kLACI8pB,SADJ,EAEclqB,KAAK,CAACxE,QAAN,CAAeC,EAF7B,EAEuCuE,KAAK,CAACxE,QAAN,CAAeC,EAFtD,EAGQuE,KAAK,CAACxE,QAAN,CAAeC,EAHvB;;;EAQF,IAAM4D,OAAO,GAAGP,WAAW,CAACqC,KAAK,CAAC9B,OAAP,EAAgB;IAAED,KAAK,EAAE;GAAzB,CAA3B;EAEA,OAAOgB,GAAP,kMACI4pB,MADJ,EAEe3qB,OAFf,EAII6qB,SAJJ,EAKc7qB,OALd;AAQD,CA1CiB,CAAf;AA8CP,AAAO,IAAM6qB,SAAS,GAAGxqB,MAAM,CAACC,GAAV,8KAClB;EAAA,IAAGK,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAAConB,aAAN,CAAoB,GAApB,CAAf;AAAA,CADkB,EAGO;EAAA,IAAGpnB,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaQ,WAA5B;AAAA,CAHP,CAAf;;ACrEP,IAAMswB,IAAI,GAAkB,SAAtBA,IAAsB,CAAChpB,KAAD;EAC1B,0BAmBSA,KAnBT;MACEipB,IADF,UACEA,IADF;MAEEC,KAFF,UAEEA,KAFF;MAGEC,OAHF,UAGEA,OAHF;MAIE5E,KAJF,UAIEA,KAJF;MAKEC,MALF,UAKEA,MALF;MAME8C,QANF,UAMEA,QANF;MAOEC,SAPF,UAOEA,SAPF;MAQEuB,QARF,UAQEA,QARF;MASE5qB,OATF,UASEA,OATF;MAUEspB,QAVF,UAUEA,QAVF;MAWEI,mBAXF,UAWEA,mBAXF;MAYEG,IAZF,UAYEA,IAZF;MAaEN,UAbF,UAaEA,UAbF;MAcEnB,WAdF,UAcEA,WAdF;MAeEF,MAfF,UAeEA,MAfF;MAgBEC,KAhBF,UAgBEA,KAhBF;MAiBEO,YAjBF,UAiBEA,YAjBF;MAkBEwC,aAlBF,UAkBEA,aAlBF;;EAqBA,gBAAwC7C,QAAQ,CAAS,CAAC,CAAV,CAAhD;MAAO8C,YAAP;MAAqBC,eAArB;;EAEAjB,SAAS,CAAC;IACRiB,eAAe,CAAC,CAAC,CAAF,CAAf;GADO,EAEN,CAACH,OAAD,CAFM,CAAT;;EAIA,IAAMI,UAAU,GAAG,SAAbA,UAAa,CAACC,KAAD;IACjB,IAAIA,KAAK,KAAK,CAAC,CAAX,IAAgBL,OAAO,CAACK,KAAD,CAAP,KAAmBC,SAAvC,EAAkD;MAChD;;;IAGF,IAAiBC,YAAjB,GAAkCP,OAAO,CAACK,KAAD,CAAzC,CAAQG,OAAR;;IAEA,IAAI,CAACD,YAAL,EAAmB;MACjB;;;IAGF,OACEnpB,4BAAA,CAACyoB,IAAD,oBACMhpB,OACA0pB;MACJpD,WAAW,EAAEoD,YAAY,CAACpD;MAC1ByB,IAAI,EAAC;MACLkB,IAAI;MACJC,KAAK,EAAE;QAAA,OAAMI,eAAe,CAAC,CAAC,CAAF,CAArB;;MANT,CADF;GAXF;;EAuBA,IAAI,CAACL,IAAL,EAAW,OAAO1oB,4BAAA,CAACA,cAAK,CAACqpB,QAAP,MAAA,CAAP;EAEX,OACErpB,4BAAA,CAACC,WAAD;IACE+jB,KAAK,EAAEA;IACPC,MAAM,EAAEA;IACR8C,QAAQ,EAAEA;IACVC,SAAS,EAAEA;IACXC,QAAQ,EAAEA;IACVsB,QAAQ,EAAEA;IACV5qB,OAAO,EAAEA;IACT0pB,mBAAmB,EAAEA;IACrBG,IAAI,EAAEA;IACNN,UAAU,EAAEA;GAVd,EAYElnB,4BAAA,CAAC4lB,eAAD;IACEG,WAAW,EAAEA;IACbF,MAAM,EAAEA;IACRC,KAAK,EAAEA;IACP7B,MAAM,EAAEoC;IACR1oB,OAAO,EAAEkrB;GALX,EAOGD,OAAO,CAAC9V,GAAR,CAAY,UAACwW,MAAD,EAASL,KAAT;IACX,2BAA8CK,MAA9C;QAAQC,SAAR,WAAQA,SAAR;QAAmBC,QAAnB,WAAmBA,QAAnB;QAA6BJ,OAA7B,WAA6BA,OAA7B;;IAEA,IAAMK,KAAK,GAAG3tB,QAAQ,CAACwtB,MAAM,CAACG,KAAR,CAAR,GACV;MAAEC,IAAI,EAAEJ,MAAM,CAACG,KAAf;MAAsBE,OAAO,EAAEL,MAAM,CAACG;KAD5B,GAEVH,MAAM,CAACG,KAFX;IAIA,IAAMG,SAAS,GAAGJ,QAAQ,IAAIJ,OAAZ,GAAsB,cAAtB,GAAiCT,KAAnD;IAEA,IAAIkB,OAAJ;IACA,IAAIrqB,QAAJ;;IAEA,IAAI,UAAU8pB,MAAd,EAAsB;MACpB,IAAMQ,KAAK,GAAGR,MAAM,CAACQ,KAAP,IAAgB,EAA9B;MACA,IAAMC,IAAI,GAAGD,KAAK,CAACE,IAAN,CAAW,UAACD,IAAD;QACtB,OAAO,CAACA,IAAI,CAACA,IAAL,CAAUd,KAAV,EAAiBK,MAAM,CAACW,IAAxB,CAAR;OADW,CAAb;;MAIA,IAAIF,IAAI,KAAKb,SAAb,EAAwB;QACtB,IAAMgB,QAAQ,GAAGZ,MAAM,CAACO,OAAP,IAAmB,cAApC;;QAEAA,OAAO,GAAG;UACRd,eAAe,CAAC,UAACzsB,IAAD;YAAA,OAAWA,IAAI,KAAK2sB,KAAT,GAAiBA,KAAjB,GAAyB,CAAC,CAArC;WAAD,CAAf;;UACAiB,QAAQ,CAACjB,KAAD,EAAQK,MAAM,CAACW,IAAf,CAAR;;UACAL,SAAS;SAHX;OAHF,MAQO;QAELpqB,QAAQ,GAAG,IAAX;;KAhBJ,MAkBO;MACL,IAAMsqB,MAAK,GAAGR,MAAM,CAACQ,KAAP,IAAgB,EAA9B;;MACA,IAAMC,KAAI,GAAGD,MAAK,CAACE,IAAN,CAAW,UAACD,IAAD;QACtB,OAAO,CAACA,IAAI,CAACA,IAAL,CAAUd,KAAV,CAAR;OADW,CAAb;;MAIA,IAAIc,KAAI,KAAKb,SAAb,EAAwB;QACtB,IAAMgB,SAAQ,GAAGZ,MAAM,CAACO,OAAP,IAAmB,cAApC;;QAEAA,OAAO,GAAG;UACRd,eAAe,CAAC,UAACzsB,IAAD;YAAA,OAAWA,IAAI,KAAK2sB,KAAT,GAAiBA,KAAjB,GAAyB,CAAC,CAArC;WAAD,CAAf;;UACAiB,SAAQ,CAACjB,KAAD,CAAR;;UACAW,SAAS;SAHX;OAHF,MAQO;QAELpqB,QAAQ,GAAG,IAAX;;;;IAIJ,OACEQ,4BAAA,CAACA,cAAK,CAACqpB,QAAP;MAAgBjuB,GAAG,EAAE6tB;KAArB,EACEjpB,4BAAA,CAACC,MAAD;MAAU4pB,OAAO,EAAEA;MAASrqB,QAAQ,EAAEA;KAAtC,EACG1D,QAAQ,CAAC2tB,KAAK,CAACE,OAAP,CAAR,GACC3pB,4BAAA,CAAC8kB,mBAAD,MAAA,EAAoB2E,KAAK,CAACE,OAA1B,CADD,GAGCF,KAAK,CAACE,OAJV,EAOGP,OAAO,IACNppB,4BAAA,CAAC8jB,IAAD;MAAMjkB,IAAI,EAAC;MAAW2kB,IAAI,EAAC;MAAcR,KAAK,EAAC;KAA/C,CARJ,CADF,EAaGuF,SAAS,IAAIvpB,4BAAA,CAACC,SAAD,MAAA,CAbhB,CADF;GAlDD,CAPH,CAZF,EAyFG+oB,UAAU,CAACF,YAAD,CAzFb,CADF;AA6FD,CAlJD;;;ACFO,IAAMnE,WAAS,GAAG3mB,MAAM,CAACC,GAAV,uVAKT;EAAA,IAAGwB,KAAH,QAAGA,KAAH;EAAA,OAAgBA,KAAK,CAACvB,IAAN,KAAe,QAAf,GAA0B,MAA1B,GAAmC,KAAnD;AAAA,CALS,EAMR;EAAA,IAAGuB,KAAH,SAAGA,KAAH;EAAA,OAAgBA,KAAK,CAACvB,IAAN,KAAe,QAAf,GAA0B,MAA1B,GAAmC,KAAnD;AAAA,CANQ,EAQhB;EAAA,IAAGuB,KAAH,SAAGA,KAAH;EAAA,OACAA,KAAK,CAACI,IAAN,KAAe,SAAf,IACAnB,GADA,0HAEsB;IAAA,IAAGJ,KAAH,SAAGA,KAAH;IAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAa4B,WAA5B;GAFtB,CADA;AAAA,CARgB,EAchB;EAAA,IAAGkG,KAAH,SAAGA,KAAH;EAAA,OACAA,KAAK,CAACI,IAAN,KAAe,MAAf,IACAnB,GADA,0HAEsB;IAAA,IAAGJ,KAAH,SAAGA,KAAH;IAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaI,IAA5B;GAFtB,CADA;AAAA,CAdgB,EAmBhB;EAAA,IAAG0H,KAAH,SAAGA,KAAH;EAAA,OACAA,KAAK,CAACI,IAAN,KAAe,QAAf,IACAnB,GADA,0HAEsB;IAAA,IAAGJ,KAAH,SAAGA,KAAH;IAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAa8B,UAA5B;GAFtB,CADA;AAAA,CAnBgB,EAwBd;EAAA,IAAGgG,KAAH,SAAGA,KAAH;EAAA,OACFA,KAAK,CAACI,IAAN,KAAe,SAAf,IACAnB,GADA,0HAEsB;IAAA,IAAGJ,KAAH,UAAGA,KAAH;IAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAasB,KAA5B;GAFtB,CADE;AAAA,CAxBc,EA6Bd;EAAA,IAAGwG,KAAH,UAAGA,KAAH;EAAA,OACFA,KAAK,CAACI,IAAN,KAAe,SAAf,IACAnB,GADA,0HAEsB;IAAA,IAAGJ,KAAH,UAAGA,KAAH;IAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAa6B,aAA5B;GAFtB,CADE;AAAA,CA7Bc,EAuCT,UAACiG,KAAD;EAAA,OAAWA,KAAK,CAACA,KAAN,CAAY0qB,UAAvB;AAAA,CAvCS,CAAf;;ACHP,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAAC3qB,KAAD;EAChB,OACEO,4BAAA,CAACC,WAAD;IAAaR,KAAK,EAAEA;GAApB,EACEO,4BAAA,MAAA,MAAA,CADF,EAEEA,4BAAA,OAAA,MAAA,KAAA,EAAQP,KAAK,CAAC4qB,WAAd,KAAA,CAFF,CADF;AAMD,CAPD;;;ACDO,IAAM1F,WAAS,GAAG3mB,MAAM,CAACC,GAAV,6OAAf;AAYP,AAAO,IAAMqsB,QAAQ,GAAGtsB,MAAM,CAACC,GAAV,mRAKR,UAACwB,KAAD;EAAA,OAAcA,KAAK,CAAC/D,KAApB;AAAA,CALQ,EAQf,UAAC+D,KAAD;EAAA,OACAA,KAAK,CAACI,IAAN,KAAe,SAAf,IACAnB,GADA,0HAEsB;IAAA,IAAGJ,KAAH,QAAGA,KAAH;IAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAa4B,WAA5B;GAFtB,CADA;AAAA,CARe,EAcf,UAACkG,KAAD;EAAA,OACAA,KAAK,CAACI,IAAN,KAAe,MAAf,IACAnB,GADA,0HAEsB;IAAA,IAAGJ,KAAH,SAAGA,KAAH;IAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaI,IAA5B;GAFtB,CADA;AAAA,CAde,EAmBf,UAAC0H,KAAD;EAAA,OACAA,KAAK,CAACI,IAAN,KAAe,QAAf,IACAnB,GADA,0HAEsB;IAAA,IAAGJ,KAAH,SAAGA,KAAH;IAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAa8B,UAA5B;GAFtB,CADA;AAAA,CAnBe,EAwBb,UAACgG,KAAD;EAAA,OACFA,KAAK,CAACI,IAAN,KAAe,SAAf,IACAnB,GADA,0HAEsB;IAAA,IAAGJ,KAAH,SAAGA,KAAH;IAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAasB,KAA5B;GAFtB,CADE;AAAA,CAxBa,EA6Bb,UAACwG,KAAD;EAAA,OACFA,KAAK,CAACI,IAAN,KAAe,SAAf,IACAnB,GADA,0HAEsB;IAAA,IAAGJ,KAAH,SAAGA,KAAH;IAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAa6B,aAA5B;GAFtB,CADE;AAAA,CA7Ba,CAAd;;ACXP,IAAM+wB,WAAW,GAAG,SAAdA,WAAc,CAAC9qB,KAAD;EAClB,OACEO,4BAAA,CAACC,WAAD,MAAA,EACED,4BAAA,CAACC,QAAD,oBAAgBR,MAAhB,EACEO,4BAAA,MAAA,MAAA,CADF,CADF,EAIEA,4BAAA,OAAA,MAAA,KAAA,EAAQP,KAAK,CAAC/D,KAAN,IAAe,GAAvB,KAAA,CAJF,CADF;AAQD,CATD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAO,IAAMipB,WAAS,GAAG3mB,MAAM,CAACC,GAAV,6IAIlB;EAAA,IAAGK,KAAH,QAAGA,KAAH;MAAUksB,QAAV,QAAUA,QAAV;EAAA,OAAyB9rB,GAAzB,+KACiBJ,KAAK,CAACxE,QAAN,CAAeE,EADhC,EAEuBwwB,QAAQ,GAAG,KAAH,GAAW,KAF1C,EAGuBA,QAAQ,GAC3BlsB,KAAK,CAACE,QAAN,CAAe,cAAf,EAA+B,EAA/B,CAD2B,GAE3BF,KAAK,CAAC3G,MAAN,CAAaI,IALjB;AAAA,CAJkB,CAAf;AAaP,AAAO,IAAM0yB,IAAI,GAAGzsB,MAAM,CAAC0sB,EAAV,2MAQb;EAAA,IAAGpsB,KAAH,SAAGA,KAAH;MAAUksB,QAAV,SAAUA,QAAV;EAAA,OAAyB9rB,GAAzB,0IACU8rB,QAAQ,GAAG,MAAH,GAAY,MAD9B,EAEyBlsB,KAAK,CAACE,QAAN,CAAe,OAAf,EAAwB,EAAxB,CAFzB;AAAA,CARa,CAAV;AAcP,AAAO,IAAMmsB,GAAG,GAAG3sB,MAAM,CAAC4sB,EAAV,2SAYZ;EAAA,IAAGtsB,KAAH,SAAGA,KAAH;MAAUusB,MAAV,SAAUA,MAAV;EAAA,OAAuBnsB,GAAvB,2WACoBJ,KAAK,CAAC3G,MAAN,CAAakzB,MAAM,GAAG,MAAH,GAAY,OAA/B,CADpB,EAEavsB,KAAK,CAACxE,QAAN,CAAeE,EAF5B,EAGOsE,KAAK,CAACxE,QAAN,CAAeE,EAHtB,EAMiBsE,KAAK,CAAC/D,YAAN,CAAmBK,EAAnB,CAAsBH,UANvC,EAOe6D,KAAK,CAAC/D,YAAN,CAAmBK,EAAnB,CAAsBD,QAPrC,EAQiB2D,KAAK,CAAC/D,YAAN,CAAmBK,EAAnB,CAAsBF,UARvC,EAUW4D,KAAK,CAAC3G,MAAN,CAAakzB,MAAM,GAAG,OAAH,GAAa,UAAhC,CAVX,EAcYvsB,KAAK,CAAC3G,MAAN,CAAakzB,MAAM,GAAG,OAAH,GAAa,UAAhC,CAdZ,EAiBcvsB,KAAK,CAAC3G,MAAN,CAAamB,GAjB3B;AAAA,CAZY,CAAT;;ACzBP,IAAM2xB,MAAI,GAAG,SAAPA,MAAO,CAAChrB,KAAD;EACX,IAAQmpB,OAAR,GAA2CnpB,KAA3C,CAAQmpB,OAAR;MAAiBkC,WAAjB,GAA2CrrB,KAA3C,CAAiBqrB,WAAjB;MAA8BN,QAA9B,GAA2C/qB,KAA3C,CAA8B+qB,QAA9B;;EAEA,gBAAwBxE,QAAQ,CAAa4C,OAAb,CAAhC;MAAOmC,IAAP;MAAaC,OAAb;;EACA,IAAOH,MAAP,GAA4BC,WAA5B;MAAeG,SAAf,GAA4BH,WAA5B;;EAEA,IAAMI,eAAe,GAAG,SAAlBA,eAAkB,CACtBjC,KADsB,EAEtB/D,KAFsB;IAItB,IAAMyE,OAAO,GAAGzE,KAAK,CAACxH,MAAtB;IACA,IAAIiM,OAAO,CAACwB,OAAR,KAAoB,KAAxB,EAA+B;IAE/BF,SAAS,CAAChC,KAAD,CAAT;GAPF;;EAUA,IAAMmC,SAAS,GAAG,SAAZA,SAAY,CAACnC,KAAD;IAChB+B,OAAO,CAAC,UAACK,SAAD;MACN,IAAMC,GAAG,aAAOD,SAAP,CAAT;;MAEA,IAAIpC,KAAK,KAAK4B,MAAd,EAAsB;QACpBI,SAAS,CAAChC,KAAK,GAAG,CAAR,GAAYA,KAAK,GAAG,CAApB,GAAwB,CAAzB,CAAT;;;MAGFqC,GAAG,CAACC,MAAJ,CAAWtC,KAAX,EAAkB,CAAlB;MAEA,OAAOqC,GAAP;KATK,CAAP;GADF;;EAcA,OACEtrB,4BAAA,CAACC,WAAD,MAAA,EACED,4BAAA,CAACC,IAAD;IAAQuqB,QAAQ,EAAE,EAAEA,QAAQ,IAAI,KAAd;GAAlB,EACGO,IAAI,CAACjY,GAAL,CAAS,UAAC0Y,GAAD,EAAMvC,KAAN;IAAA,OACRjpB,4BAAA,CAACC,GAAD;MACE7E,GAAG,EAAE6tB;MACL4B,MAAM,EAAE,EAAEA,MAAM,KAAK5B,KAAb;MACRY,OAAO,EAAE,iBAAC3E,KAAD;QAAA,OAAWgG,eAAe,CAACjC,KAAD,EAAQ/D,KAAR,CAA1B;;KAHX,EAKEllB,4BAAA,OAAA,MAAA,EAAOwrB,GAAG,CAAC/B,KAAX,CALF,EAMEzpB,4BAAA,CAACyrB,QAAD;MAAW5B,OAAO,EAAE;QAAA,OAAMuB,SAAS,CAACnC,KAAD,CAAf;;KAApB,CANF,CADQ;GAAT,CADH,CADF,CADF;AAgBD,CA9CD;;ACJA,IAAMyC,cAAc,GAAG,SAAjBA,cAAiB,CAAChwB,KAAD;EACrB,OAAO,OAAOA,KAAP,KAAiB,UAAxB;AACD,CAFD;;AAIA,IAAMiwB,aAAa,GAAG,SAAhBA,aAAgB,CAACjwB,KAAD;EACpB,OAAOkwB,KAAK,CAACC,OAAN,CAAcnwB,KAAd,KAAwBA,KAAK,CAAC,CAAD,CAAL,YAAoBowB,MAAnD;AACD,CAFD;;AAIA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,CAACrwB,KAAD;EACzB,OAAOkwB,KAAK,CAACC,OAAN,CAAcnwB,KAAd,KAAwBkwB,KAAK,CAACC,OAAN,CAAcnwB,KAAK,CAAC,CAAD,CAAnB,CAA/B;AACD,CAFD;;AAIA,AAAO,IAAMswB,OAAO,GAAG,SAAVA,OAAU,CAACC,IAAD;EACrB,IAAIP,cAAc,CAACO,IAAD,CAAlB,EAA0B;IACxB,OAAOA,IAAP;GADF,MAEO,IAAIN,aAAa,CAACM,IAAD,CAAjB,EAAyB;IAC9B,IAAOjC,IAAP,GAAwBiC,IAAxB;QAAaC,OAAb,GAAwBD,IAAxB;IACA,OAAO,UAACvwB,KAAD;MAAA,OAAmBA,KAAK,CAACwwB,OAAN,CAAclC,IAAd,EAAoBkC,OAApB,CAAnB;KAAP;GAFK,MAGA,IAAIH,kBAAkB,CAACE,IAAD,CAAtB,EAA8B;IACnC,OAAO,UAACvwB,KAAD;MACL,IAAIywB,QAAQ,GAAGzwB,KAAf;MAEAuwB,IAAI,CAACG,OAAL,CAAa,UAACC,CAAD;QACX,IAAOrC,IAAP,GAAwBqC,CAAxB;YAAaH,OAAb,GAAwBG,CAAxB;QACAF,QAAQ,GAAGA,QAAQ,CAACD,OAAT,CAAiBlC,IAAjB,EAAuBkC,OAAvB,CAAX;OAFF;MAKA,OAAOC,QAAP;KARF;;;EAYF,OAAO,UAACzwB,KAAD;IAAA,OAAmBA,KAAnB;GAAP;AACD,CApBM;;;ACXA,IAAM4wB,aAAa,GAAGtuB,MAAM,CAACoB,MAAV,+TAET;EAAA,IAAGd,KAAH,QAAGA,KAAH;EAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeE,EAA9B;AAAA,CAFS,EAatB;MAAG6vB,gBAAAA;MAASrqB,iBAAAA;EACZ,IAAI,CAACqqB,OAAD,IAAYrqB,QAAhB,EAA0B;EAE1B,OAAOd,GAAP;AAGD,CAnBuB,CAAnB;AAsBP,AAAO,IAAM6tB,KAAK,GAAGvuB,MAAM,CAACwuB,KAAV,ucACd;EAAA,IAAGluB,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAAConB,aAAN,CAAoB,GAApB,CAAf;AAAA,CADc,EAGP;MAAGpnB,cAAAA;MAAOmuB,gBAAAA;EACjB,OAAOA,OAAO,GAAGnuB,KAAK,CAAC3G,MAAN,CAAa8B,UAAhB,GAA6B6E,KAAK,CAAC3G,MAAN,CAAaO,QAAxD;AACD,CALe,EAUL;MAAGoG,cAAAA;MAAOmuB,gBAAAA;EACjB,OAAOA,OAAO,GAAGnuB,KAAK,CAAC3G,MAAN,CAAa8B,UAAhB,GAA6B6E,KAAK,CAAC3G,MAAN,CAAaY,QAAxD;AACD,CAZa,EAgBZ;MAAGm0B,oBAAAA;;EACH,IAAIA,WAAW,KAAK,UAApB,EAAgC;IAC9B,OAAOhuB,GAAP,mIACI;MAAA,IAAGJ,KAAH,SAAGA,KAAH;MAAA,OAAeA,KAAK,CAAConB,aAAN,CAAoB,GAApB,CAAf;KADJ;;;EAMF,OAAOhnB,GAAP;AAKD,CA7Ba,EAmCL;EAAA,IAAGJ,KAAH,SAAGA,KAAH;EAAA,OAAkBA,KAAK,CAACxE,QAAN,CAAeE,EAAjC,SAAuCsE,KAAK,CAACxE,QAAN,CAAeG,EAAtD;AAAA,CAnCK,EAuCA;EAAA,IAAGqE,KAAH,SAAGA,KAAH;MAAUmuB,OAAV,SAAUA,OAAV;EAAA,OACdA,OAAO,GAAGnuB,KAAK,CAAC3G,MAAN,CAAa8B,UAAhB,GAA6B6E,KAAK,CAAC3G,MAAN,CAAac,SADnC;AAAA,CAvCA,EA2CI;EAAA,IAAG6F,KAAH,UAAGA,KAAH;MAAUmuB,OAAV,UAAUA,OAAV;EAAA,OAClBA,OAAO,GAAGnuB,KAAK,CAACE,QAAN,CAAe,YAAf,EAA6B,CAA7B,CAAH,GAAqCF,KAAK,CAAC3G,MAAN,CAAaC,KADvC;AAAA,CA3CJ,EAiDd;MAAG+0B,gBAAAA;EACH,IAAIA,MAAJ,EAAY;EAEZ,OAAOjuB,GAAP;AAWD,CA/De,CAAX;AAkEP,AAAO,IAAMkuB,KAAK,GAAG5uB,MAAM,CAACyrB,KAAV,yTACd;EAAA,IAAGnrB,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,CAAConB,aAAN,CAAoB,GAApB,CAAf;AAAA,CADc,EAGP;MAAGpnB,eAAAA;EACV,OAAOA,KAAK,CAAC3G,MAAN,CAAaQ,WAApB;AACD,CALe,EAOP;EAAA,IAAG6rB,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,IAAI,MAAxB;AAAA,CAPO,EAYd;MAAGxkB,kBAAAA;EACH,IAAI,CAACA,QAAL,EAAe;EAEf,OAAOd,GAAP;AAGD,CAlBe,EAsBG;EAAA,IAAGJ,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeC,EAA9B;AAAA,CAtBH,EAwBZ;MAAG8yB,kBAAAA;EACH,IAAI,CAACA,QAAL,EAAe;EAEf,OAAOnuB,GAAP;AAKD,CAhCa,EAmCd;MAAG8lB,cAAAA;EACH,IAAI,CAACA,IAAL,EAAW;EAEX,IAAQR,KAAR,GAA4BQ,IAA5B,CAAQR,KAAR;MAAeiD,QAAf,GAA4BzC,IAA5B,CAAeyC,QAAf;;EAEA,IAAIA,QAAQ,KAAK,OAAjB,EAA0B;IACxB,OAAOvoB,GAAP,8PACM4tB,aADN,EAEatI,KAFb,EAGkB;MAAA,IAAG1lB,KAAH,UAAGA,KAAH;MAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeG,EAA9B;KAHlB,EAMMsyB,KANN,EAO0B;MAAA,IAAGjuB,KAAH,UAAGA,KAAH;MAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeG,EAA9B;KAP1B,EAOgE+pB,KAPhE;;;EAYF,OAAOtlB,GAAP,4OACM4tB,aADN,EAEatI,KAFb,EAGiB;IAAA,IAAG1lB,KAAH,UAAGA,KAAH;IAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeG,EAA9B;GAHjB,EAMMsyB,KANN,EAOyB;IAAA,IAAGjuB,KAAH,UAAGA,KAAH;IAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeG,EAA9B;GAPzB,EAO+D+pB,KAP/D;AAUD,CA/De,CAAX;;AC/EP,IAAMuI,OAAK,GAAGvsB,cAAK,CAAC8sB,UAAN,CACZ,UAACrtB,KAAD,EAAoBkoB,GAApB;EACE,0BAYKloB,KAZL;MACEgqB,KADF,UACEA,KADF;MAEEoD,QAFF,UAEEA,QAFF;MAGEJ,OAHF,UAGEA,OAHF;MAIEjtB,QAJF,UAIEA,QAJF;MAKED,OALF,UAKEA,OALF;MAMEwtB,SANF,UAMEA,SANF;MAOEC,YAPF,UAOEA,YAPF;MAQEC,YARF,UAQEA,YARF;MASEjJ,KATF,UASEA,KATF;MAUE2I,MAVF,UAUEA,MAVF;;EAeA,IAAMV,IAAI,GAAGD,OAAO,CAACvsB,KAAK,CAACwsB,IAAP,CAApB;EAEA,IAAMiB,UAAU,GAAGT,OAAO,GAAG,CAAH,GAAO,CAAjC;EACA,IAAMU,WAAW,GAAGN,QAAQ,GAAG,CAAH,GAAO,CAAnC;EACA,IAAMO,WAAW,GAAG5tB,QAAQ,GAAG,CAAH,GAAO,CAAnC;EACA,IAAM6tB,SAAS,GAAGV,MAAM,GAAG,CAAH,GAAO,CAA/B;EAEA,IAAI1F,QAAJ;EACA,IAAIqG,SAAJ;EACA,IAAIC,UAAJ;EACA,IAAIC,WAAJ;EACA,IAAIhJ,IAAJ;;EAEA,IAAI/kB,KAAK,CAAC+kB,IAAV,EAAgB;IACdA,IAAI,gBAAQ/kB,KAAK,CAAC+kB,IAAN,CAAWA,IAAnB,CAAJ;IAEAyC,QAAQ,GAAGxnB,KAAK,CAAC+kB,IAAN,CAAWyC,QAAX,IAAuB,OAAlC;IAEA,IAAIiG,UAAJ,EAAgB1I,IAAI,CAACnmB,KAAL,GAAa,YAAb;IAEhBivB,SAAS,GAAG9I,IAAI,CAACR,KAAjB;IACAuJ,UAAU,GAAG9tB,KAAK,CAAC+kB,IAAN,CAAWiJ,MAAxB;IACAD,WAAW,GAAG/tB,KAAK,CAAC+kB,IAAN,CAAWqF,OAAzB;;;EAGF,IAAM6D,UAAU,GAAG3xB,YAAY,CAC7B0D,KAD6B,EAE7B,CACE,OADF,EAEE,SAFF,EAGE,UAHF,EAIE,MAJF,EAKE,MALF,EAME,SANF,EAOE,WAPF,EAQE,UARF,EASE,cATF,EAUE,cAVF,EAWE,OAXF,EAYE,QAZF,CAF6B,EAgB7B;IACEgtB,OAAO,EAAES,UADX;IAEErtB,IAAI,EAAE,MAFR;IAGE8sB,MAAM,EAAEU;GAnBmB,CAA/B;;EAuBA,IAAMM,QAAQ,GAAGD,UAAU,CAACC,QAAX,IAAwB,cAAzC;;EACA,IAAMC,QAAQ,GAAGnuB,KAAK,CAACmuB,QAAN,IAAmB,cAApC;;EAEAF,UAAU,CAACC,QAAX,GAAsB,UAACzI,KAAD;IACpBA,KAAK,CAACxH,MAAN,CAAahiB,KAAb,GAAqBuwB,IAAI,CAAC/G,KAAK,CAACxH,MAAN,CAAahiB,KAAd,CAAzB;IACAiyB,QAAQ,CAACzI,KAAD,CAAR;IACA0I,QAAQ,CAAC1I,KAAK,CAACxH,MAAN,CAAahiB,KAAd,CAAR;GAHF;;EAMA,IAAIgyB,UAAU,CAACG,SAAX,IAAwBb,YAA5B,EAA0C;IACxC,IAAMa,SAAS,GAAGH,UAAU,CAACG,SAAX,IAAyB,cAA3C;;IAEA,IAAMC,aAAa,GAAGd,YAAY,GAC9B,UAAC9H,KAAD;MACEA,KAAK,CAAC6I,cAAN;MACAf,YAAY,CAAC9H,KAAD,CAAZ;KAH4B,GAK9B,cALJ;;IAOAwI,UAAU,CAACG,SAAX,GAAuB,UAAC3I,KAAD;MACrB,IAAMxH,MAAM,GAAGwH,KAAK,CAACxH,MAArB;MACA,IAAMsQ,CAAC,GAAGtQ,MAAM,CAAChiB,KAAjB;MAEAmyB,SAAS,CAAC3I,KAAD,CAAT;MAEA,IAAI8I,CAAC,KAAKtQ,MAAM,CAAChiB,KAAjB,EAAwBkyB,QAAQ,CAAClQ,MAAM,CAAChiB,KAAR,CAAR;;MAExB,IAAIwpB,KAAK,CAAC9pB,GAAN,KAAc,OAAlB,EAA2B;QACzB0yB,aAAa,CAAC5I,KAAD,CAAb;;KATJ;;;EAcF,IAAIwI,UAAU,CAACO,OAAf,EAAwB;IACtB,IAAMA,OAAO,GAAGP,UAAU,CAACO,OAA3B;;IAEAP,UAAU,CAACO,OAAX,GAAqB,UAAC/I,KAAD;MACnB,IAAMxH,MAAM,GAAGwH,KAAK,CAACxH,MAArB;MACA,IAAMsQ,CAAC,GAAGtQ,MAAM,CAAChiB,KAAjB;MAEAuyB,OAAO,CAAC/I,KAAD,CAAP;MAEA,IAAI8I,CAAC,KAAKtQ,MAAM,CAAChiB,KAAjB,EAAwBkyB,QAAQ,CAAClQ,MAAM,CAAChiB,KAAR,CAAR;KAN1B;;;EAUF,IAAIgyB,UAAU,CAACQ,gBAAf,EAAiC;IAC/B,IAAMA,gBAAgB,GAAGR,UAAU,CAACQ,gBAApC;;IAEAR,UAAU,CAACQ,gBAAX,GAA8B,UAAChJ,KAAD;MAC5B,IAAMxH,MAAM,GAAGwH,KAAK,CAACxH,MAArB;MACA,IAAMsQ,CAAC,GAAGtQ,MAAM,CAAChiB,KAAjB;MAEAwyB,gBAAgB,CAAChJ,KAAD,CAAhB;MAEA,IAAI8I,CAAC,KAAKtQ,MAAM,CAAChiB,KAAjB,EAAwBkyB,QAAQ,CAAClQ,MAAM,CAAChiB,KAAR,CAAR;KAN1B;;;EAUF,IAAIgyB,UAAU,CAACS,cAAf,EAA+B;IAC7B,IAAMA,cAAc,GAAGT,UAAU,CAACS,cAAlC;;IAEAT,UAAU,CAACS,cAAX,GAA4B,UAACjJ,KAAD;MAC1B,IAAMxH,MAAM,GAAGwH,KAAK,CAACxH,MAArB;MACA,IAAMsQ,CAAC,GAAGtQ,MAAM,CAAChiB,KAAjB;MAEAyyB,cAAc,CAACjJ,KAAD,CAAd;MAEA,IAAI8I,CAAC,KAAKtQ,MAAM,CAAChiB,KAAjB,EAAwBkyB,QAAQ,CAAClQ,MAAM,CAAChiB,KAAR,CAAR;KAN1B;;;EAUF,IAAI6D,OAAJ,EAAa;IACX0nB,QAAQ,GAAGA,QAAQ,IAAI,MAAvB;IACAzC,IAAI,GAAG;MACL3kB,IAAI,EAAE,KADD;MAEL2kB,IAAI,EAAExkB,4BAAA,CAACjC,MAAD;QAAQG,IAAI,EAAC;OAAb,CAFD;MAGL8lB,KAAK,EAAE;KAHT;IAKA0J,UAAU,CAACluB,QAAX,GAAsB,IAAtB;GAPF,MAQO,IAAIutB,SAAJ,EAAe;IACpB9F,QAAQ,GAAGA,QAAQ,IAAI,OAAvB;IAEAuG,WAAW,GACT,OAAOT,SAAP,KAAqB,UAArB,GAAkCA,SAAlC,GAA8C;MAAA,OAAMa,QAAQ,CAAC,EAAD,CAAd;KADhD;IAGApJ,IAAI,GAAG;MACL3kB,IAAI,EAAE,SADD;MAEL2kB,IAAI,EAAE,GAFD;MAGLR,KAAK,EAAE;KAHT;;;EAOF,IAAMoK,SAAS,GAAGnH,QAAQ,GACtB;IACEA,QAAQ,EAAEA,QADZ;IAEEjD,KAAK,EAAEsJ,SAAS,IAAI;GAHA,GAKtBpE,SALJ;EAOA,IAAI+D,YAAJ,EAAkBS,UAAU,CAACluB,QAAX,GAAsB,IAAtB;EAElB,OACEQ,4BAAA,CAACC,KAAD;IACE4sB,QAAQ,EAAEM;IACV3tB,QAAQ,EAAE4tB;IACVX,OAAO,EAAES;IACT1I,IAAI,EAAE4J;IACNpK,KAAK,EAAEA;GALT,EAOEhkB,4BAAA,MAAA,MAAA,EAAMypB,KAAN,CAPF,EASEzpB,4BAAA,CAACC,KAAD,oBAAaytB;IAAY/F,GAAG,EAAEA;IAA9B,CATF,EAWGnD,IAAI,IACHxkB,4BAAA,CAACC,aAAD;IACEJ,IAAI,EAAE0tB,UAAU,GAAG,QAAH,GAAc;IAC9B1D,OAAO,EAAE2D;IACThuB,QAAQ,EAAEC,KAAK,CAACD;GAHlB,EAKEQ,4BAAA,CAACquB,IAAD,oBAAY7J,KAAZ,CALF,CAZJ,CADF;AAuBD,CA9LW,CAAd;AAiMA+H,OAAK,CAAC+B,WAAN,GAAoB,OAApB;;;ACzMA,IAAMtK,KAAK,GAAG,MAAd;AAEA,AAAO,IAAMuK,SAAS,GAAGvwB,MAAM,CAACwwB,IAAV,yzBAIVxK,KAJU,EAKXA,KALW,EAMA;EAAA,IAAG1lB,KAAH,QAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaC,KAA5B;AAAA,CANA,EASJ;EAAA,IAAG0G,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAac,SAA5B;AAAA,CATI,EA2BF;EAAA,IAAG6F,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaI,IAA5B;AAAA,CA3BE,CAAf;AAqCP,AAAO,IAAM60B,OAAK,GAAG5uB,MAAM,CAACyrB,KAAV,o0BACd;EAAA,IAAGnrB,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAAConB,aAAN,CAAoB,GAApB,CAAf;AAAA,CADc,EAMd;MAAG+I,gBAAAA;MAASnwB,cAAAA;EACZ,IAAI,CAACmwB,OAAL,EAAc;EAEd,IAAMC,QAAQ,GAAG;IACfnxB,GAAG,EAAE,GADU;IAEfC,IAAI,EAAE,GAFS;IAGfE,KAAK,EAAE,GAHQ;IAIfD,MAAM,EAAE;GAJV;;EAOA,IAAIgxB,OAAO,CAAClxB,GAAZ,EAAiB;IACfmxB,QAAQ,CAACnxB,GAAT,GAAekxB,OAAO,CAAClxB,GAAvB;;IACA,IAAIrC,OAAO,CAACoD,KAAK,CAACxE,QAAP,EAAiB20B,OAAO,CAAClxB,GAAzB,CAAX,EAA0C;MACxCmxB,QAAQ,CAACnxB,GAAT,GAAee,KAAK,CAACxE,QAAN,CAAe20B,OAAO,CAAClxB,GAAvB,CAAf;;;;EAIJ,IAAIkxB,OAAO,CAACjxB,IAAZ,EAAkB;IAChBkxB,QAAQ,CAAClxB,IAAT,GAAgBixB,OAAO,CAACjxB,IAAxB;;IACA,IAAItC,OAAO,CAACoD,KAAK,CAACxE,QAAP,EAAiB20B,OAAO,CAACjxB,IAAzB,CAAX,EAA2C;MACzCkxB,QAAQ,CAAClxB,IAAT,GAAgBc,KAAK,CAACxE,QAAN,CAAe20B,OAAO,CAACjxB,IAAvB,CAAhB;;;;EAIJ,IAAIixB,OAAO,CAAChxB,MAAZ,EAAoB;IAClBixB,QAAQ,CAACjxB,MAAT,GAAkBgxB,OAAO,CAAChxB,MAA1B;;IACA,IAAIvC,OAAO,CAACoD,KAAK,CAACxE,QAAP,EAAiB20B,OAAO,CAAChxB,MAAzB,CAAX,EAA6C;MAC3CixB,QAAQ,CAACjxB,MAAT,GAAkBa,KAAK,CAACxE,QAAN,CAAe20B,OAAO,CAAChxB,MAAvB,CAAlB;;;;EAIJ,IAAIgxB,OAAO,CAAC/wB,KAAZ,EAAmB;IACjBgxB,QAAQ,CAAChxB,KAAT,GAAiB+wB,OAAO,CAAC/wB,KAAzB;;IACA,IAAIxC,OAAO,CAACoD,KAAK,CAACxE,QAAP,EAAiB20B,OAAO,CAAC/wB,KAAzB,CAAX,EAA4C;MAC1CgxB,QAAQ,CAAChxB,KAAT,GAAiBY,KAAK,CAACxE,QAAN,CAAe20B,OAAO,CAAC/wB,KAAvB,CAAjB;;;;EAIJ,OAAOgB,GAAP,qMACiBgwB,QAAQ,CAACnxB,GAD1B,EAEkBmxB,QAAQ,CAAClxB,IAF3B,EAGmBkxB,QAAQ,CAAChxB,KAH5B,EAIoBgxB,QAAQ,CAACjxB,MAJ7B;AAMD,CAlDe,EAoDd;MAAG+B,iBAAAA;;EACH,IAAI,CAACA,QAAL,EAAe;IACb,OAAOd,GAAP;;;EAKF,OAAOA,GAAP;AAGD,CA9De,EAqEOslB,KArEP,EAqEkB;EAAA,IAAG1lB,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeC,EAA9B;AAAA,CArElB,EA2EV;EAAA,IAAGuE,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAAConB,aAAN,CAAoB,GAApB,CAAf;AAAA,CA3EU,EA8EV;MAAGmH,iBAAAA;EACH,IAAI,CAACA,QAAL,EAAe;EAEf,OAAOnuB,GAAP;AAKD,CAtFW,EAgGL6vB,SAhGK,EAiGQ;EAAA,IAAGjwB,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaE,QAA5B;AAAA,CAjGR,EAoGM02B,SApGN,EAqGI;EAAA,IAAGjwB,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaI,IAA5B;AAAA,CArGJ,EAgHZ;MAAGuG,eAAAA;MAAOmuB,iBAAAA;EACV,IAAI,CAACA,OAAL,EAAc;EAEd,OAAO/tB,GAAP,0NACI6vB,SADJ,EAEsBA,SAFtB,EAGoBA,SAHpB,EAIoBjwB,KAAK,CAAC3G,MAAN,CAAa8B,UAJjC;AAOD,CA1Ha,CAAX;;ACrCP,IAAMk1B,QAAQ,GAAG3uB,cAAK,CAAC8sB,UAAN,CACf,UAACrtB,KAAD,EAAuBkoB,GAAvB;EACE,IAAQ8B,KAAR,GAAwDhqB,KAAxD,CAAQgqB,KAAR;MAAejqB,QAAf,GAAwDC,KAAxD,CAAeD,QAAf;MAAyBqtB,QAAzB,GAAwDptB,KAAxD,CAAyBotB,QAAzB;MAAmCJ,OAAnC,GAAwDhtB,KAAxD,CAAmCgtB,OAAnC;MAA4CgC,OAA5C,GAAwDhvB,KAAxD,CAA4CgvB,OAA5C;EAEA,IAAM3uB,SAAS,GAAG/D,YAAY,CAG5B0D,KAH4B,EAGrB,CAAC,OAAD,EAAU,SAAV,EAAqB,UAArB,EAAiC,SAAjC,CAHqB,CAA9B;EAKA,OACEO,4BAAA,CAACC,OAAD;IACET,QAAQ,EAAEA,QAAQ,GAAG,CAAH,GAAO;IACzBqtB,QAAQ,EAAEA,QAAQ,GAAG,CAAH,GAAO;IACzBJ,OAAO,EAAEA,OAAO,GAAG,CAAH,GAAO;IACvBgC,OAAO,EAAEA;GAJX,EAMEzuB,4BAAA,MAAA,MAAA,EACEA,4BAAA,MAAA,MAAA,EAAMypB,KAAN,CADF,EAEEzpB,4BAAA,QAAA,oBAAWF;IAAWD,IAAI,EAAC;IAAW8nB,GAAG,EAAEA;IAA3C,CAFF,EAGE3nB,4BAAA,CAACC,SAAD,MAAA,CAHF,CANF,CADF;AAcD,CAvBc,CAAjB;AA0BA0uB,QAAQ,CAACL,WAAT,GAAuB,UAAvB;;AC9BA,IAAMM,aAAa,GAAG,SAAhBA,aAAgB,CAAwBC,QAAxB;EACpB,gBAAsB7I,QAAQ,CAAW,IAAX,CAA9B;MAAO2B,GAAP;MAAYC,MAAZ;;EAEAE,SAAS,CAAC;IACR,IAAMgH,QAAQ,GAAG,SAAXA,QAAW,CAAC5J,KAAD;MAEf,IAAI,CAACyC,GAAD,IAAQA,GAAG,CAACoH,QAAJ,CAAa7J,KAAK,CAACxH,MAAnB,CAAZ,EAAgD;QAC9C;;;MAGFmR,QAAQ;KANV;;IASAG,QAAQ,CAACC,gBAAT,CAA0B,WAA1B,EAAuCH,QAAvC;IACAE,QAAQ,CAACC,gBAAT,CAA0B,YAA1B,EAAwCH,QAAxC;IAEA,OAAO;MACLE,QAAQ,CAACE,mBAAT,CAA6B,WAA7B,EAA0CJ,QAA1C;MACAE,QAAQ,CAACE,mBAAT,CAA6B,YAA7B,EAA2CJ,QAA3C;KAFF;GAbO,EAiBN,CAACnH,GAAD,EAAMkH,QAAN,CAjBM,CAAT;EAmBA,OAAOjH,MAAP;AACD,CAvBD;;ACEA,IAAMqE,KAAI,GAAG,SAAPA,IAAO,CAAC+B,CAAD,EAAYmB,OAAZ;EACXnB,CAAC,GAAGA,CAAC,CAAC9B,OAAF,CAAU,WAAV,EAAuB,EAAvB,CAAJ;;EAEA,OAAO8B,CAAC,CAACoB,MAAF,GAAW,CAAX,IAAgBC,QAAQ,CAACrB,CAAC,CAAC,CAAD,CAAF,CAAR,GAAiB,CAAxC,EAA2C;IACzCA,CAAC,GAAGA,CAAC,CAACsB,SAAF,CAAY,CAAZ,CAAJ;;;EAGF,IAAItB,CAAC,CAACoB,MAAF,GAAW,CAAf,EAAkB;IAChB,IAAIpB,CAAC,CAAC,CAAD,CAAD,KAAS,GAAb,EAAkB;MAChB,OAAOA,CAAC,CAACoB,MAAF,GAAW,CAAX,IAAgBC,QAAQ,CAACrB,CAAC,CAAC,CAAD,CAAF,CAAR,GAAiB,CAAxC,EAA2C;QACzCA,CAAC,GAAGA,CAAC,CAAC,CAAD,CAAD,GAAOA,CAAC,CAACsB,SAAF,CAAY,CAAZ,CAAX;;;;;EAKN,IAAItB,CAAC,CAACoB,MAAF,GAAW,CAAf,EAAkB;IAChB,OAAOpB,CAAC,CAACoB,MAAF,GAAW,CAAX,IAAgBC,QAAQ,CAACrB,CAAC,CAAC,CAAD,CAAF,CAAR,GAAiB,CAAxC,EAA2C;MACzCA,CAAC,GAAGA,CAAC,CAACsB,SAAF,CAAY,CAAZ,EAAe,CAAf,IAAoBtB,CAAC,CAACsB,SAAF,CAAY,CAAZ,CAAxB;;;;EAIJ,IAAItB,CAAC,CAACoB,MAAF,GAAW,CAAf,EAAkB;IAChB,OAAOpB,CAAC,CAACoB,MAAF,GAAW,CAAX,IAAgBC,QAAQ,CAACrB,CAAC,CAAC,CAAD,CAAF,CAAR,GAAiB,CAAxC,EAA2C;MACzCA,CAAC,GAAGA,CAAC,CAACsB,SAAF,CAAY,CAAZ,EAAe,CAAf,IAAoBtB,CAAC,CAACsB,SAAF,CAAY,CAAZ,CAAxB;;;;EAIJtB,CAAC,GAAGA,CAAC,CAACsB,SAAF,CAAY,CAAZ,EAAeH,OAAO,GAAG,CAAH,GAAO,CAA7B,CAAJ;EAEA,IAAInB,CAAC,CAACoB,MAAF,GAAW,CAAf,EAAkB,OAAOpB,CAAP,CAAlB,KACK,IAAIA,CAAC,CAACoB,MAAF,GAAW,CAAf,EAAkB,OAAOpB,CAAC,CAACsB,SAAF,CAAY,CAAZ,EAAe,CAAf,IAAoB,GAApB,GAA0BtB,CAAC,CAACsB,SAAF,CAAY,CAAZ,CAAjC,CAAlB,KACA,OAAOtB,CAAC,CAACsB,SAAF,CAAY,CAAZ,EAAe,CAAf,IAAoB,GAApB,GAA0BtB,CAAC,CAACsB,SAAF,CAAY,CAAZ,EAAe,CAAf,CAA1B,GAA8C,GAA9C,GAAoDtB,CAAC,CAACsB,SAAF,CAAY,CAAZ,CAA3D;AACN,CAhCD;;AAkCA,IAAMC,IAAI,GAAGvvB,cAAK,CAAC8sB,UAAN,CACX,UAACrtB,KAAD,EAAmBkoB,GAAnB;EACE,IAAQwH,OAAR,GAAoB1vB,KAApB,CAAQ0vB,OAAR;;EAEA,IAAMK,UAAU,GAAG/vB,KAAK,CAACouB,SAAN,IAAoB,cAAvC;;EAEA,IAAMA,SAAS,GAAiD,SAA1DA,SAA0D,CAAC3I,KAAD;IAC9D,IAAMxH,MAAM,GAAGwH,KAAK,CAACxH,MAArB;IAEA,IAAM+R,SAAS,GAAG,IAAI1yB,IAAJ,EAAlB;IAEA,IAAM2yB,IAAI,GAAGD,SAAS,CAACE,QAAV,EAAb;IACA,IAAMC,IAAI,GAAGH,SAAS,CAACI,UAAV,EAAb;IACA,IAAMC,IAAI,GAAGL,SAAS,CAACM,UAAV,EAAb;IAEA,IAAMr0B,KAAK,GAAGgiB,MAAM,CAAChiB,KAAP,CAAawwB,OAAb,CAAqB,WAArB,EAAkC,EAAlC,CAAd;IAEA,IAAI8D,GAAG,GAAGt0B,KAAK,CAAC4zB,SAAN,CAAgB,CAAhB,EAAmB,CAAnB,CAAV;IACA,IAAIW,CAAC,GAAGD,GAAG,CAACZ,MAAJ,KAAe,CAAf,GAAmBM,IAAnB,GAA0BL,QAAQ,CAACW,GAAG,CAACE,MAAJ,CAAW,CAAX,EAAc,GAAd,CAAD,CAA1C;IAEAF,GAAG,GAAGt0B,KAAK,CAAC4zB,SAAN,CAAgB,CAAhB,EAAmB,CAAnB,CAAN;IACA,IAAIa,CAAC,GAAGH,GAAG,CAACZ,MAAJ,KAAe,CAAf,GAAmBQ,IAAnB,GAA0BP,QAAQ,CAACW,GAAG,CAACE,MAAJ,CAAW,CAAX,EAAc,GAAd,CAAD,CAA1C;IAEAF,GAAG,GAAGt0B,KAAK,CAAC4zB,SAAN,CAAgB,CAAhB,EAAmB,CAAnB,CAAN;IACA,IAAIc,CAAC,GAAGJ,GAAG,CAACZ,MAAJ,KAAe,CAAf,GAAmBU,IAAnB,GAA0BT,QAAQ,CAACW,GAAG,CAACE,MAAJ,CAAW,CAAX,EAAc,GAAd,CAAD,CAA1C;;IAEA,IAAIhL,KAAK,CAAC9pB,GAAN,KAAc,SAAlB,EAA6B;MAC3B,IAAMoB,IAAI,GAAG,IAAIO,IAAJ,EAAb;MACAP,IAAI,CAAC6zB,QAAL,CAAcJ,CAAd;MACAzzB,IAAI,CAAC8zB,UAAL,CAAgBH,CAAhB;MACA3zB,IAAI,CAAC+zB,UAAL,CAAgBH,CAAhB;;MAEA,IAAIjB,OAAJ,EAAa;QACX3yB,IAAI,CAAC+zB,UAAL,CAAgBH,CAAC,GAAG,CAApB;QAEAH,CAAC,GAAGzzB,IAAI,CAACmzB,QAAL,EAAJ;QACAQ,CAAC,GAAG3zB,IAAI,CAACqzB,UAAL,EAAJ;QACAO,CAAC,GAAG5zB,IAAI,CAACuzB,UAAL,EAAJ;QAEArS,MAAM,CAAChiB,KAAP,GAAe,CACbu0B,CAAC,CAACp0B,QAAF,GAAaa,QAAb,CAAsB,CAAtB,EAAyB,GAAzB,CADa,EAEbyzB,CAAC,CAACt0B,QAAF,GAAaa,QAAb,CAAsB,CAAtB,EAAyB,GAAzB,CAFa,EAGb0zB,CAAC,CAACv0B,QAAF,GAAaa,QAAb,CAAsB,CAAtB,EAAyB,GAAzB,CAHa,EAIbG,IAJa,CAIR,GAJQ,CAAf;OAPF,MAYO;QACLL,IAAI,CAAC8zB,UAAL,CAAgBH,CAAC,GAAG,CAApB;QAEAF,CAAC,GAAGzzB,IAAI,CAACmzB,QAAL,EAAJ;QACAQ,CAAC,GAAG3zB,IAAI,CAACqzB,UAAL,EAAJ;QACAO,CAAC,GAAG5zB,IAAI,CAACuzB,UAAL,EAAJ;QAEArS,MAAM,CAAChiB,KAAP,GAAe,CACbu0B,CAAC,CAACp0B,QAAF,GAAaa,QAAb,CAAsB,CAAtB,EAAyB,GAAzB,CADa,EAEbyzB,CAAC,CAACt0B,QAAF,GAAaa,QAAb,CAAsB,CAAtB,EAAyB,GAAzB,CAFa,EAGbG,IAHa,CAGR,GAHQ,CAAf;;KAzBJ,MA8BO,IAAIqoB,KAAK,CAAC9pB,GAAN,KAAc,WAAlB,EAA+B;MACpC,IAAMoB,KAAI,GAAG,IAAIO,IAAJ,EAAb;;MACAP,KAAI,CAAC6zB,QAAL,CAAcJ,CAAd;;MACAzzB,KAAI,CAAC8zB,UAAL,CAAgBH,CAAhB;;MACA3zB,KAAI,CAAC+zB,UAAL,CAAgBH,CAAhB;;MAEA,IAAIjB,OAAJ,EAAa;QACX3yB,KAAI,CAAC+zB,UAAL,CAAgBH,CAAC,GAAG,CAApB;;QAEAH,CAAC,GAAGzzB,KAAI,CAACmzB,QAAL,EAAJ;QACAQ,CAAC,GAAG3zB,KAAI,CAACqzB,UAAL,EAAJ;QACAO,CAAC,GAAG5zB,KAAI,CAACuzB,UAAL,EAAJ;QAEArS,MAAM,CAAChiB,KAAP,GAAe,CACbu0B,CAAC,CAACp0B,QAAF,GAAaa,QAAb,CAAsB,CAAtB,EAAyB,GAAzB,CADa,EAEbyzB,CAAC,CAACt0B,QAAF,GAAaa,QAAb,CAAsB,CAAtB,EAAyB,GAAzB,CAFa,EAGb0zB,CAAC,CAACv0B,QAAF,GAAaa,QAAb,CAAsB,CAAtB,EAAyB,GAAzB,CAHa,EAIbG,IAJa,CAIR,GAJQ,CAAf;OAPF,MAYO;QACLL,KAAI,CAAC8zB,UAAL,CAAgBH,CAAC,GAAG,CAApB;;QAEAF,CAAC,GAAGzzB,KAAI,CAACmzB,QAAL,EAAJ;QACAQ,CAAC,GAAG3zB,KAAI,CAACqzB,UAAL,EAAJ;QACAO,CAAC,GAAG5zB,KAAI,CAACuzB,UAAL,EAAJ;QAEArS,MAAM,CAAChiB,KAAP,GAAe,CACbu0B,CAAC,CAACp0B,QAAF,GAAaa,QAAb,CAAsB,CAAtB,EAAyB,GAAzB,CADa,EAEbyzB,CAAC,CAACt0B,QAAF,GAAaa,QAAb,CAAsB,CAAtB,EAAyB,GAAzB,CAFa,EAGbG,IAHa,CAGR,GAHQ,CAAf;;;;IAOJ2yB,UAAU,CAACtK,KAAD,CAAV;GAlFF;;EAqFA,IAAMwH,WAAW,GACfjtB,KAAK,CAACitB,WAAN,KAAsBxD,SAAtB,GACIiG,OAAO,GACL,UADK,GAEL,OAHN,GAII1vB,KAAK,CAACitB,WALZ;EAOA,OACE1sB,4BAAA,CAACusB,OAAD,oBACM9sB;IACJI,IAAI,EAAC;IACL6sB,WAAW,EAAEA;IACbT,IAAI,EAAE,cAAC+B,CAAD;MAAA,OAAe/B,KAAI,CAAC+B,CAAD,EAAImB,OAAJ,CAAnB;;IACNtB,SAAS,EAAEA;IACXlG,GAAG,EAAEA;IANP,CADF;AAUD,CA5GU,CAAb;AA+GA4H,IAAI,CAACjB,WAAL,GAAmB,MAAnB;;;AClJO,IAAM3J,WAAS,GAAG3mB,MAAM,CAACC,GAAV,8OAEA;EAAA,IAAGK,KAAH,QAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaC,KAA5B;AAAA,CAFA,EAGT;EAAA,IAAG0G,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeC,EAA9B;AAAA,CAHS,EAME;EAAA,IAAGuE,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAae,YAA5B;AAAA,CANF,EAOD;EAAA,IAAG4F,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeC,EAA9B;AAAA,CAPC,CAAf;AAWP,AAAO,IAAMqtB,mBAAiB,GAAGppB,MAAM,CAACwyB,iBAAD,CAAT,wHACxB7L,WADwB,EAEf;EAAA,IAAGrmB,KAAH,SAAGA,KAAH;EAAA,OACNA,KAAK,CAACxE,QAAN,CAAeG,EADT,SACeqE,KAAK,CAACxE,QAAN,CAAeG,EAD9B,SACoCqE,KAAK,CAACxE,QAAN,CAAeC,EADnD,SACyDuE,KAAK,CAACxE,QAAN,CAAeG,EADxE;AAAA,CAFe,CAAvB;AAOP,AAAO,IAAMw2B,MAAM,GAAGzyB,MAAM,CAACC,GAAV,+JAAZ;AAMP,AAAO,IAAMyyB,cAAc,GAAG1yB,MAAM,CAACC,GAAV,qMAKb;EAAA,IAAGK,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeC,EAA9B;AAAA,CALa,CAApB;AASP,AAAO,IAAM42B,MAAM,GAAG3yB,MAAM,CAACoB,MAAV,wZACf;EAAA,IAAGd,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAAConB,aAAN,CAAoB,GAApB,CAAf;AAAA,CADe,CAAZ;AAqBP,AAAO,IAAMkL,aAAa,GAAG5yB,MAAM,CAACC,GAAV,yiBAKE;EAAA,IAAGK,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAae,YAA5B;AAAA,CALF,EASP;EAAA,IAAG4F,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACjE,KAAN,CAAYC,IAA3B;AAAA,CATO,EAUT;EAAA,IAAGgE,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeG,EAA9B;AAAA,CAVS,EAWP;EAAA,IAAGqE,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeG,EAA9B;AAAA,CAXO,EAeb;EAAA,IAAGqE,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaO,QAA5B;AAAA,CAfa,EAyBE;EAAA,IAAGoG,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAae,YAA5B;AAAA,CAzBF,CAAnB;AA8BP,AAAO,IAAMm4B,MAAM,GAAG7yB,MAAM,CAACC,GAAV,4PAGG;EAAA,IAAGK,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,CAACE,QAAN,CAAe,cAAf,EAA+B,EAA/B,CAAf;AAAA,CAHH,EAMboyB,aANa,CAAZ;AAoBP,AAAO,IAAME,YAAY,GAAG9yB,MAAM,CAACoB,MAAV,6TACrB;MAAGd,eAAAA;MAAOD,eAAAA;;EACV,IAAIA,KAAK,KAAK,MAAd,EAAsB;IACpB,OAAOK,GAAP,0HACsBJ,KAAK,CAACE,QAAN,CAAe,aAAf,EAA8B,EAA9B,CADtB;GADF,MAIO,IAAIH,KAAK,KAAK,MAAd,EAAsB;IAC3B,OAAOK,GAAP,uMACsBJ,KAAK,CAAC3G,MAAN,CAAaC,KADnC,EAIwB0G,KAAK,CAACE,QAAN,CAAe,MAAf,EAAuB,EAAvB,CAJxB;;;EASF,OAAOE,GAAP,wHACsBJ,KAAK,CAAC3G,MAAN,CAAaC,KADnC;AAGD,CAnBsB,EAsBZ;EAAA,IAAG0G,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaU,MAA5B;AAAA,CAtBY,EAiCrB;MAAGwyB,gBAAAA;MAAQvsB,eAAAA;;EACX,IAAIusB,MAAM,KAAK,CAAf,EAAkB;IAChB,OAAOnsB,GAAP,6NAGsB;MAAA,IAAGJ,KAAH,UAAGA,KAAH;MAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaI,IAA5B;KAHtB,EAIe;MAAA,IAAGuG,KAAH,UAAGA,KAAH;MAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaI,IAA5B;KAJf;;;EASF,OAAO2G,GAAP,qNACWJ,KAAK,CAAC3G,MAAN,CAAaC,KADxB,EAEsB0G,KAAK,CAAC3G,MAAN,CAAaI,IAFnC,EAK0B;IAAA,IAAGuG,KAAH,UAAGA,KAAH;IAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaI,IAA5B;GAL1B;AAQD,CApDsB,CAAlB;;AC7FP,IAAMg5B,MAAM,GAAG,CACb,SADa,EAEb,WAFa,EAGb,OAHa,EAIb,OAJa,EAKb,MALa,EAMb,OANa,EAOb,OAPa,EAQb,QARa,EASb,UATa,EAUb,SAVa,EAWb,UAXa,EAYb,UAZa,CAAf;;AAeA,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAAC1zB,CAAD;EAClB,IAAMd,IAAI,GAAG,IAAIO,IAAJ,CAASO,CAAC,CAACH,OAAF,EAAT,CAAb;EACAX,IAAI,CAAC6zB,QAAL,CAAc,CAAd,EAAiB,CAAjB,EAAoB,CAApB,EAAuB,CAAvB;EACA,IAAMY,KAAK,GAAGz0B,IAAI,CAACG,QAAL,EAAd;EACA,IAAMu0B,IAAI,GAAG10B,IAAI,CAACI,WAAL,EAAb;EAEA,IAAMu0B,IAAI,GAAW,EAArB;EAEA30B,IAAI,CAAC40B,OAAL,CAAa,CAAb;EACA50B,IAAI,CAAC40B,OAAL,CAAa50B,IAAI,CAACC,OAAL,KAAiB,CAA9B;;EAEA,OAAOD,IAAI,CAAC60B,MAAL,OAAkB,CAAlB,IAAuBF,IAAI,CAAC/B,MAAL,KAAgB,CAA9C,EAAiD;IAC/C,IAAMnmB,IAAI,GAAG,IAAIlM,IAAJ,CAASP,IAAI,CAACW,OAAL,EAAT,CAAb;IACAg0B,IAAI,CAACG,OAAL,CAAaroB,IAAb;IACAzM,IAAI,CAAC40B,OAAL,CAAa50B,IAAI,CAACC,OAAL,KAAiB,CAA9B;;;EAGFD,IAAI,CAAC40B,OAAL,CAAa50B,IAAI,CAACC,OAAL,KAAiB00B,IAAI,CAAC/B,MAAtB,GAA+B,CAA5C;;EAEA,OAAO6B,KAAK,KAAKz0B,IAAI,CAACG,QAAL,EAAjB,EAAkC;IAChC,IAAMsM,KAAI,GAAG,IAAIlM,IAAJ,CAASP,IAAI,CAACW,OAAL,EAAT,CAAb;;IACAg0B,IAAI,CAACI,IAAL,CAAUtoB,KAAV;IACAzM,IAAI,CAAC40B,OAAL,CAAa50B,IAAI,CAACC,OAAL,KAAiB,CAA9B;;;EAGF,OAAO00B,IAAI,CAAC/B,MAAL,GAAc,EAArB,EAAyB;IACvB,IAAMnmB,MAAI,GAAG,IAAIlM,IAAJ,CAASP,IAAI,CAACW,OAAL,EAAT,CAAb;;IACAg0B,IAAI,CAACI,IAAL,CAAUtoB,MAAV;IACAzM,IAAI,CAAC40B,OAAL,CAAa50B,IAAI,CAACC,OAAL,KAAiB,CAA9B;;;EAGF,IAAM+0B,KAAK,GAAa,EAAxB;EACA,IAAIC,IAAI,GAAW,CAACN,IAAI,CAAC,CAAD,CAAL,CAAnB;;EAEA,KAAK,IAAIO,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGP,IAAI,CAAC/B,MAAzB,EAAiCsC,CAAC,EAAlC,EAAsC;IACpC,IAAID,IAAI,CAACrC,MAAL,KAAgB,CAApB,EAAuB;MACrBoC,KAAK,CAACD,IAAN,CAAWE,IAAX;MACAA,IAAI,GAAG,EAAP;;;IAEFA,IAAI,CAACF,IAAL,CAAUJ,IAAI,CAACO,CAAD,CAAd;;;EAEFF,KAAK,CAACD,IAAN,CAAWE,IAAX;EAEA,OAAO;IAAER,KAAK,EAALA,KAAF;IAASC,IAAI,EAAJA,IAAT;IAAeM,KAAK,EAALA;GAAtB;AACD,CA5CD;;AA8CA,IAAMG,QAAQ,GAAG,SAAXA,QAAW,CAAClyB,KAAD;EACf,IACEmyB,OADF,GAMInyB,KANJ,CACEmyB,OADF;MAEQC,SAFR,GAMIpyB,KANJ,CAEEqyB,IAFF;MAGEC,WAHF,GAMItyB,KANJ,CAGEsyB,WAHF;MAIEC,WAJF,GAMIvyB,KANJ,CAIEuyB,WAJF;MAKE9K,UALF,GAMIznB,KANJ,CAKEynB,UALF;;EAQA,WACEznB,KAAK,CAAC/D,KAAN,IACAsqB,QAAQ,CACNgM,WAAW,IAAI,CAAC90B,KAAK,CAAC80B,WAAW,CAAC70B,OAAZ,EAAD,CAArB,GAA+C60B,WAA/C,GAA6D,IADvD,CAFV;MAAOt2B,KAAP;MAAcu2B,SAAd;;EAMA,IAAMC,WAAW,GAA+B,EAAhD;EAEA,IAAIC,GAAJ;;EACA,IAAI1yB,KAAK,CAAC0yB,GAAV,EAAe;IACbA,GAAG,GAAG,IAAIp1B,IAAJ,CAAS0C,KAAK,CAAC0yB,GAAN,CAAUh1B,OAAV,EAAT,CAAN;IACA+0B,WAAW,CAACC,GAAZ,GAAkB,IAAIp1B,IAAJ,CAAS0C,KAAK,CAAC0yB,GAAN,CAAUh1B,OAAV,EAAT,CAAlB;IACA+0B,WAAW,CAACC,GAAZ,CAAgB9B,QAAhB,CAAyB,CAAzB,EAA4B,CAA5B,EAA+B,CAA/B,EAAkC,CAAlC;;;EAGF,IAAI+B,GAAJ;;EACA,IAAI3yB,KAAK,CAAC2yB,GAAV,EAAe;IACbA,GAAG,GAAG,IAAIr1B,IAAJ,CAAS0C,KAAK,CAAC2yB,GAAN,CAAUj1B,OAAV,EAAT,CAAN;IACA+0B,WAAW,CAACE,GAAZ,GAAkB,IAAIr1B,IAAJ,CAAS0C,KAAK,CAAC2yB,GAAN,CAAUj1B,OAAV,EAAT,CAAlB;IACA+0B,WAAW,CAACE,GAAZ,CAAgB/B,QAAhB,CAAyB,CAAzB,EAA4B,CAA5B,EAA+B,CAA/B,EAAkC,CAAlC;;;EAGF,YAA8B5wB,KAAK,CAACgtB,OAAN,IAAiBzG,QAAQ,CAAU,KAAV,CAAvD;MAAOyG,OAAP;MAAgB4F,UAAhB;;EAEA,gBAAgCrM,QAAQ,CACtCgL,WAAW,CAACt1B,KAAK,IAAIy2B,GAAT,IAAgBC,GAAhB,IAAuB,IAAIr1B,IAAJ,EAAxB,CAD2B,CAAxC;MAAOkI,QAAP;MAAiBqtB,WAAjB;;EAGA,iBAAwBtM,QAAQ,CAAS;IACvC,IAAI,CAACtqB,KAAL,EAAY,OAAO,EAAP;IACZ,IAAMu0B,CAAC,GAAGv0B,KAAK,CAACi0B,QAAN,EAAV;IACA,IAAMQ,CAAC,GAAGz0B,KAAK,CAACm0B,UAAN,EAAV;IACA,IAAMO,CAAC,GAAG10B,KAAK,CAACq0B,UAAN,EAAV;IAEA,OAAO,CAACE,CAAD,EAAIE,CAAJ,EAAOC,CAAP,EAAUvzB,IAAV,CAAe,GAAf,CAAP;GAN8B,CAAhC;MAAOi1B,IAAP;MAAaS,OAAb;;EASAzK,SAAS,CAAC;IACR,IAAI,CAACpsB,KAAL,EAAY;IACZkyB,QAAQ,CAAClyB,KAAD,CAAR;GAFO,EAGN,CAACo2B,IAAD,CAHM,CAAT;EAKA,IAAMU,aAAa,GAAGC,WAAW,CAC/B,UAAC/2B,KAAD;IACE,IAAIm2B,SAAJ,EAAe;MACb,IAAIA,SAAS,CAAC1C,OAAd,EAAuB;QACrBkD,UAAU,CACR32B,KAAK,KAAK,IAAV,IACGm2B,SAAS,IAAIA,SAAS,CAAC1C,OAAvB,IAAkC2C,IAAI,CAAC1C,MAAL,GAAc,CADnD,IAEG+C,GAAG,KAAKjJ,SAAR,IAAqBxtB,KAAK,GAAGy2B,GAFhC,IAGGC,GAAG,KAAKlJ,SAAR,IAAqBxtB,KAAK,GAAG02B,GAJxB,CAAV;OADF,MAOO;QACLC,UAAU,CACR32B,KAAK,KAAK,IAAV,IACEo2B,IAAI,CAAC1C,MAAL,GAAc,CADhB,IAEG+C,GAAG,KAAKjJ,SAAR,IAAqBxtB,KAAK,GAAGy2B,GAFhC,IAGGC,GAAG,KAAKlJ,SAAR,IAAqBxtB,KAAK,GAAG02B,GAJxB,CAAV;;KATJ,MAgBO;MACLC,UAAU,CACR32B,KAAK,KAAK,IAAV,IACGy2B,GAAG,KAAKjJ,SAAR,IAAqBxtB,KAAK,GAAGy2B,GADhC,IAEGC,GAAG,KAAKlJ,SAAR,IAAqBxtB,KAAK,GAAG02B,GAHxB,CAAV;;GAnB2B,EA0B/B,CAACN,IAAD,EAAOp2B,KAAP,EAAcy2B,GAAd,EAAmBC,GAAnB,CA1B+B,CAAjC;EA6BAtK,SAAS,CAAC;IACR0K,aAAa,CAAC92B,KAAD,CAAb;GADO,EAEN,CAAC82B,aAAD,EAAgB92B,KAAhB,CAFM,CAAT;EAIA,IAAMkyB,QAAQ,GAAGiE,SAAS,GACtB,UAACr1B,IAAD;IACE,IAAIA,IAAI,KAAK,IAAb,EAAmB;MACjBy1B,SAAS,CAACz1B,IAAD,CAAT;;MACA;;;IAGF,IAAMk2B,QAAQ,GAAGZ,IAAI,CAAC90B,KAAL,CAAW,GAAX,EAAgB8V,GAAhB,CAAoB,UAACkb,CAAD;MAAA,OAAOqB,QAAQ,CAACrB,CAAC,CAACkC,MAAF,CAAS,CAAT,EAAY,GAAZ,CAAD,CAAf;KAApB,CAAjB;IAEA,IAAMjnB,IAAI,GAAG,IAAIlM,IAAJ,CAASP,IAAI,CAACW,OAAL,EAAT,CAAb;IACA8L,IAAI,CAAConB,QAAL,CACEqC,QAAQ,CAAC,CAAD,CAAR,IAAe,CADjB,EAEEA,QAAQ,CAAC,CAAD,CAAR,IAAe,CAFjB,EAGEA,QAAQ,CAAC,CAAD,CAAR,IAAe,CAHjB,EAIEA,QAAQ,CAAC,CAAD,CAAR,IAAe,CAJjB;;IAOAT,SAAS,CAAChpB,IAAD,CAAT;;IACAupB,aAAa,CAACvpB,IAAD,CAAb;GAlBoB,GAoBtBgpB,SApBJ;;EAsBA,IAAMU,WAAW,GAAG,SAAdA,WAAc,CAACC,GAAD;IAClBN,WAAW,CAAC,UAACh2B,IAAD;MACV,IAAME,IAAI,GAAG,IAAIO,IAAJ,EAAb;MACAP,IAAI,CAAC40B,OAAL,CAAa,CAAb;MACA50B,IAAI,CAACq2B,WAAL,CAAiBv2B,IAAI,CAAC40B,IAAtB;MACA10B,IAAI,CAACs2B,QAAL,CAAcx2B,IAAI,CAAC20B,KAAL,GAAa2B,GAA3B;MAEA,OAAO5B,WAAW,CAACx0B,IAAD,CAAlB;KANS,CAAX;GADF;;EAWA,IAAMu2B,OAAO,GAAG,SAAVA,OAAU;IACd,IAAMvzB,QAAQ,GACZ4yB,GAAG,KAAKlJ,SAAR,KACCjkB,QAAQ,CAACisB,IAAT,GAAgBkB,GAAG,CAACx1B,WAAJ,EAAhB,IACEqI,QAAQ,CAACisB,IAAT,KAAkBkB,GAAG,CAACx1B,WAAJ,EAAlB,IACCqI,QAAQ,CAACgsB,KAAT,IAAkBmB,GAAG,CAACz1B,QAAJ,EAHtB,CADF;IAMA,OACEqD,4BAAA,CAACC,MAAD;MACEJ,IAAI,EAAC;MACLgqB,OAAO,EAAE;QAAA,OAAM8I,WAAW,CAAC,CAAC,CAAF,CAAjB;;MACTnzB,QAAQ,EAAEA;KAHZ,EAKEQ,4BAAA,CAAC8jB,IAAD;MACEjkB,IAAI,EAAC;MACL2kB,IAAI,EAAC;MACLnmB,KAAK,EAAC;MACN8lB,WAAW,EAAC;KAJd,CALF,CADF;GAPF;;EAuBA,IAAM6O,OAAO,GAAG,SAAVA,OAAU;IACd,IAAMxzB,QAAQ,GACZ2yB,GAAG,KAAKjJ,SAAR,KACCjkB,QAAQ,CAACisB,IAAT,GAAgBiB,GAAG,CAACv1B,WAAJ,EAAhB,IACEqI,QAAQ,CAACisB,IAAT,KAAkBiB,GAAG,CAACv1B,WAAJ,EAAlB,IACCqI,QAAQ,CAACgsB,KAAT,IAAkBkB,GAAG,CAACx1B,QAAJ,EAHtB,CADF;IAMA,OACEqD,4BAAA,CAACC,MAAD;MACEJ,IAAI,EAAC;MACLgqB,OAAO,EAAE;QAAA,OAAM8I,WAAW,CAAC,CAAD,CAAjB;;MACTnzB,QAAQ,EAAEA;KAHZ,EAKEQ,4BAAA,CAAC8jB,IAAD;MACEjkB,IAAI,EAAC;MACL2kB,IAAI,EAAC;MACLnmB,KAAK,EAAC;MACN8lB,WAAW,EAAC;KAJd,CALF,CADF;GAPF;;EAuBA,IAAI8O,YAAY,GAA4B;IAAA,OAAM,KAAN;GAA5C;;EAEA,IAAIv3B,KAAK,IAAIk2B,OAAT,IAAoBA,OAAO,CAACl2B,KAAR,KAAkB,IAA1C,EAAgD;IAC9C,IAAM4B,CAAC,GAAG,IAAIP,IAAJ,CAAS60B,OAAO,CAACl2B,KAAR,CAAcyB,OAAd,EAAT,CAAV;IACAG,CAAC,CAAC+yB,QAAF,CAAW,CAAX,EAAc,CAAd,EAAiB,CAAjB,EAAoB,CAApB;IAEA,IAAM6C,gBAAgB,GAAG,IAAIn2B,IAAJ,CAASrB,KAAK,CAACyB,OAAN,EAAT,CAAzB;IACA+1B,gBAAgB,CAAC7C,QAAjB,CAA0B,CAA1B,EAA6B,CAA7B,EAAgC,CAAhC,EAAmC,CAAnC;IAEA4C,YAAY,GACVrB,OAAO,CAAC/xB,IAAR,KAAiB,OAAjB,GACI,UAACrD,IAAD;MACE,OAAOA,IAAI,GAAG02B,gBAAP,IAA2B12B,IAAI,IAAIc,CAA1C;KAFN,GAII,UAACd,IAAD;MACE,OAAOA,IAAI,GAAG02B,gBAAP,IAA2B12B,IAAI,IAAIc,CAA1C;KANR;;;EAUF,IAAM61B,SAAS,GAAG1zB,KAAK,CAAC2zB,QAAN,IAAkB,EAApC;;EACA,IAAMA,QAAQ;IACZ5zB,QAAQ,EAAEitB,OADE;IAEZ5C,OAAO,EAAE;KACNsJ,SAHS,CAAd;;EAMA,IAAMxzB,OAAO,GACXK,4BAAA,CAACC,WAAD,MAAA,EACED,4BAAA,MAAA,MAAA,EACEA,4BAAA,CAACC,MAAD,MAAA,EACED,4BAAA,CAACC,cAAD,MAAA,EACG8yB,OAAO,EADV,EAEE/yB,4BAAA,MAAA,MAAA,EACG+wB,MAAM,CAAC9rB,QAAQ,CAACgsB,KAAV,CADT,KAAA,EAC4BhsB,QAAQ,CAACisB,IADrC,CAFF,EAKG8B,OAAO,EALV,CADF,EASEhzB,4BAAA,CAACC,aAAD,MAAA,EACED,4BAAA,MAAA,MAAA,KAAA,CADF,EAEEA,4BAAA,MAAA,MAAA,KAAA,CAFF,EAGEA,4BAAA,MAAA,MAAA,KAAA,CAHF,EAIEA,4BAAA,MAAA,MAAA,KAAA,CAJF,EAKEA,4BAAA,MAAA,MAAA,KAAA,CALF,EAMEA,4BAAA,MAAA,MAAA,KAAA,CANF,EAOEA,4BAAA,MAAA,MAAA,KAAA,CAPF,CATF,CADF,EAqBGiF,QAAQ,CAACusB,KAAT,CAAe1e,GAAf,CAAmB,UAAC2e,IAAD,EAAOxI,KAAP;IAClB,OACEjpB,4BAAA,CAACC,aAAD;MAAiB7E,GAAG,EAAE6tB;KAAtB,EACGwI,IAAI,CAAC3e,GAAL,CAAS,UAACtW,IAAD,EAAOysB,KAAP;MACR,IAAMoK,GAAG,GAAG72B,IAAI,CAACC,OAAL,EAAZ;MACA,IAAMw0B,KAAK,GAAGz0B,IAAI,CAACG,QAAL,EAAd;MAEA,IAAI6C,QAAJ;MACA,IAAInB,KAAJ;MAEA,IAAI4yB,KAAK,KAAKhsB,QAAQ,CAACgsB,KAAvB,EAA8BzxB,QAAQ,GAAG,IAAX;;MAC9B,IACG0yB,WAAW,CAACC,GAAZ,IAAmB31B,IAAI,GAAG01B,WAAW,CAACC,GAAvC,IACCD,WAAW,CAACE,GAAZ,IAAmB51B,IAAI,GAAG01B,WAAW,CAACE,GAFzC,EAGE;QACA5yB,QAAQ,GAAG,IAAX;QACAnB,KAAK,GAAG,MAAR;OALF,MAMO,IAAI40B,YAAY,CAACz2B,IAAD,CAAhB,EAAwB;QAC7B6B,KAAK,GAAG,MAAR;;;MAGF,IAAMwsB,MAAM,GACVnvB,KAAK,IACLc,IAAI,CAAC82B,kBAAL,OAA8B53B,KAAK,CAAC43B,kBAAN,EAD9B,GAEI,CAFJ,GAGI,CAJN;MAMA,IAAMzJ,OAAO,GACXgB,MAAM,KAAK,CAAX,GAAe;QAAA,OAAM+C,QAAQ,CAACpxB,IAAD,CAAd;OAAf,GAAsC;QAAA,OAAMoxB,QAAQ,CAAC,IAAD,CAAd;OADxC;MAGA,OACE5tB,4BAAA,CAACC,YAAD;QACE7E,GAAG,EAAE6tB;QACLppB,IAAI,EAAC;QACLgqB,OAAO,EAAErqB,QAAQ,GAAG0pB,SAAH,GAAeW;QAChCrqB,QAAQ,EAAEA;QACVqrB,MAAM,EAAEA;QACRxsB,KAAK,EAAEA;OANT,EAQGg1B,GARH,CADF;KA3BD,CADH,CADF;GADD,CArBH,CADF,EAsEGxB,SAAS,KAAK3I,SAAd,IAA2BzpB,KAAK,CAAC2zB,QAAN,KAAmBlK,SAA9C,GACClpB,4BAAA,CAACC,MAAD,MAAA,EACG4xB,SAAS,GACR7xB,4BAAA,CAACusB,IAAD,oBACMsF;IACJhyB,IAAI,EAAC;IACLnE,KAAK,EAAEo2B;IACPlE,QAAQ,EAAE2E;IACV9F,OAAO,EACLqF,IAAI,CAAC1C,MAAL,KAAgB,CAAhB,KACE1zB,KAAK,KAAK,IAAV,IAAkB+wB,OAAnB,IAA+BqF,IAAI,CAAC1C,MAAL,GAAc,CAD9C;IAGFpL,KAAK,EAAE6N,SAAS,CAAC1C,OAAV,GAAoB,MAApB,GAA6B;IATtC,CADQ,GAaRnvB,4BAAA,MAAA,MAAA,CAdJ,EAiBGP,KAAK,CAAC2zB,QAAN,IACCpzB,4BAAA,CAACb,QAAD;IACE0qB,OAAO,EAAE;MAAA,OAAMuJ,QAAQ,CAACvJ,OAAT,CAAiBnuB,KAAjB,CAAN;;IACT8D,QAAQ,EAAE4zB,QAAQ,CAAC5zB;IACnBK,IAAI,EAAC;IACLF,OAAO,EAAC;GAJV,CAlBJ,CADD,GA2BGupB,SAjGN,CADF;EAsGA,OAAO6I,WAAW,GAChBpyB,OADgB,GAGhBK,4BAAA,CAACC,mBAAD;IAAqBunB,IAAI,EAAC;IAAIN,UAAU,EAAEA;GAA1C,EACGvnB,OADH,CAHF;AAOD,CAzSD;;AC3EO,IAAM4zB,MAAM,GAAGx2B,IAAf;;;ACEA,IAAMy2B,iBAAiB,GAAGx1B,MAAM,CAACC,GAAV,uGAAvB;;ACiBP,IAAMw1B,UAAU,GAAG,SAAbA,UAAa,CAACvC,IAAD;EACjB,IAAIA,IAAI,GAAG,CAAP,KAAa,CAAjB,EAAoB,OAAO,KAAP,CAApB,KACK,IAAIA,IAAI,GAAG,GAAP,KAAe,CAAnB,EAAsB,OAAO,IAAP,CAAtB,KACA,IAAIA,IAAI,GAAG,GAAP,KAAe,CAAnB,EAAsB,OAAO,KAAP,CAAtB,KACA,OAAO,IAAP;AACN,CALD;;AAOA,IAAMjF,IAAI,GAAG,SAAPA,IAAO,CAAC+B,CAAD;EACXA,CAAC,GAAGA,CAAC,CAAC9B,OAAF,CAAU,WAAV,EAAuB,EAAvB,CAAJ;;EAEA,OAAO8B,CAAC,CAACoB,MAAF,GAAW,CAAX,IAAgBC,QAAQ,CAACrB,CAAC,CAAC,CAAD,CAAF,CAAR,GAAiB,CAAxC,EAA2C;IACzCA,CAAC,GAAGA,CAAC,CAACsB,SAAF,CAAY,CAAZ,CAAJ;;;EAGF,IAAItB,CAAC,CAACoB,MAAF,GAAW,CAAf,EAAkB;IAChB,IAAIpB,CAAC,CAAC,CAAD,CAAD,KAAS,GAAb,EAAkB;MAChB,OAAOA,CAAC,CAACoB,MAAF,GAAW,CAAX,IAAgBC,QAAQ,CAACrB,CAAC,CAAC,CAAD,CAAF,CAAR,GAAiB,CAAxC,EAA2C;QACzCA,CAAC,GAAGA,CAAC,CAAC,CAAD,CAAD,GAAOA,CAAC,CAACsB,SAAF,CAAY,CAAZ,CAAX;;;;;EAKN,IAAItB,CAAC,CAACoB,MAAF,GAAW,CAAf,EAAkB;IAChB,OAAOpB,CAAC,CAACoB,MAAF,GAAW,CAAX,IAAgBC,QAAQ,CAACrB,CAAC,CAAC,CAAD,CAAF,CAAR,GAAiB,CAAxC,EAA2C;MACzCA,CAAC,GAAGA,CAAC,CAACsB,SAAF,CAAY,CAAZ,EAAe,CAAf,IAAoBtB,CAAC,CAACsB,SAAF,CAAY,CAAZ,CAAxB;;;;EAIJ,IAAItB,CAAC,CAACoB,MAAF,GAAW,CAAf,EAAkB;IAChB,IAAIpB,CAAC,CAAC,CAAD,CAAD,KAAS,GAAb,EAAkB;MAChB,OAAOA,CAAC,CAACoB,MAAF,GAAW,CAAX,IAAgBC,QAAQ,CAACrB,CAAC,CAAC,CAAD,CAAF,CAAR,GAAiB,CAAxC,EAA2C;QACzCA,CAAC,GAAGA,CAAC,CAACsB,SAAF,CAAY,CAAZ,EAAe,CAAf,IAAoBtB,CAAC,CAACsB,SAAF,CAAY,CAAZ,CAAxB;;;;;EAKNtB,CAAC,GAAGA,CAAC,CAACsB,SAAF,CAAY,CAAZ,EAAe,CAAf,CAAJ;EAEA,IAAM9yB,IAAI,GAAG,CAACwxB,CAAC,CAACsB,SAAF,CAAY,CAAZ,EAAe,CAAf,CAAD,EAAoBtB,CAAC,CAACsB,SAAF,CAAY,CAAZ,EAAe,CAAf,CAApB,EAAuCtB,CAAC,CAACsB,SAAF,CAAY,CAAZ,CAAvC,CAAb;;EAEA,IAAI9yB,IAAI,CAAC,CAAD,CAAJ,KAAY,IAAhB,EAAsB;IACpB,IAAMc,CAAC,GAAG+xB,QAAQ,CAAC7yB,IAAI,CAAC,CAAD,CAAL,CAAlB;;IAEA,IAAIA,IAAI,CAAC,CAAD,CAAJ,CAAQ4yB,MAAR,GAAiB,CAAjB,IAAsBqE,UAAU,CAACpE,QAAQ,CAAC7yB,IAAI,CAAC,CAAD,CAAL,CAAT,CAApC,EAAyD;MAEvD,IAAIc,CAAC,GAAG,EAAR,EAAY;QACVd,IAAI,CAAC,CAAD,CAAJ,GAAU,IAAV;;KAHJ,MAKO,IAAIc,CAAC,GAAG,EAAR,EAAY;MAEjBd,IAAI,CAAC,CAAD,CAAJ,GAAU,IAAV;;GAVJ,MAYO,IAAI,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,EAAyBJ,QAAzB,CAAkCI,IAAI,CAAC,CAAD,CAAtC,KAA8CA,IAAI,CAAC,CAAD,CAAJ,KAAY,IAA9D,EAAoE;IAEzEA,IAAI,CAAC,CAAD,CAAJ,GAAU,IAAV;;;EAGFwxB,CAAC,GAAGxxB,IAAI,CAACK,IAAL,CAAU,EAAV,CAAJ;EAEA,IAAImxB,CAAC,CAACoB,MAAF,GAAW,CAAf,EAAkB,OAAOpB,CAAP,CAAlB,KACK,IAAIA,CAAC,CAACoB,MAAF,GAAW,CAAf,EAAkB,OAAOpB,CAAC,CAACsB,SAAF,CAAY,CAAZ,EAAe,CAAf,IAAoB,GAApB,GAA0BtB,CAAC,CAACsB,SAAF,CAAY,CAAZ,CAAjC,CAAlB,KACA,OAAOtB,CAAC,CAACsB,SAAF,CAAY,CAAZ,EAAe,CAAf,IAAoB,GAApB,GAA0BtB,CAAC,CAACsB,SAAF,CAAY,CAAZ,EAAe,CAAf,CAA1B,GAA8C,GAA9C,GAAoDtB,CAAC,CAACsB,SAAF,CAAY,CAAZ,CAA3D;AACN,CAvDD;;AAyDA,IAAMvyB,MAAI,GAAGiD,cAAK,CAAC8sB,UAAN,CACX,UAACrtB,KAAD,EAAmBkoB,GAAnB;EACE,IAAQ+L,MAAR,GAAoCj0B,KAApC,CAAQi0B,MAAR;MAAgBh4B,KAAhB,GAAoC+D,KAApC,CAAgB/D,KAAhB;MAAuB02B,GAAvB,GAAoC3yB,KAApC,CAAuB2yB,GAAvB;MAA4BD,GAA5B,GAAoC1yB,KAApC,CAA4B0yB,GAA5B;;EAEA,IAAMvE,QAAQ,GAAGnuB,KAAK,CAACmuB,QAAN,IAAmB,cAApC;;EAEA,gBAAwB5H,QAAQ,CAAU,KAAV,CAAhC;MAAO0C,IAAP;MAAaiL,OAAb;;EAEA,IAAMnE,UAAU,GAAG/vB,KAAK,CAACouB,SAAN,IAAoB,cAAvC;;EAEA,IAAMA,SAAS,GAAiD,SAA1DA,SAA0D,CAAC3I,KAAD;IAC9D,IAAMxH,MAAM,GAAGwH,KAAK,CAACxH,MAArB;IAEA,IAAM+R,SAAS,GAAG,IAAI8D,MAAJ,EAAlB;IAEA,IAAMK,IAAI,GAAGnE,SAAS,CAAChzB,OAAV,EAAb;IACA,IAAMmzB,IAAI,GAAGH,SAAS,CAAC9yB,QAAV,KAAuB,CAApC;IACA,IAAMk3B,IAAI,GAAGpE,SAAS,CAAC7yB,WAAV,EAAb;IAEA,IAAMlB,KAAK,GAAGgiB,MAAM,CAAChiB,KAAP,CAAawwB,OAAb,CAAqB,WAArB,EAAkC,EAAlC,CAAd;IAEA,IAAI8D,GAAG,GAAGt0B,KAAK,CAAC4zB,SAAN,CAAgB,CAAhB,EAAmB,CAAnB,CAAV;IACA,IAAMhyB,CAAC,GAAG0yB,GAAG,CAACZ,MAAJ,KAAe,CAAf,GAAmBwE,IAAnB,GAA0BvE,QAAQ,CAACW,GAAG,CAACE,MAAJ,CAAW,CAAX,EAAc,GAAd,CAAD,CAA5C;IAEAF,GAAG,GAAGt0B,KAAK,CAAC4zB,SAAN,CAAgB,CAAhB,EAAmB,CAAnB,CAAN;IACA,IAAMa,CAAC,GAAGH,GAAG,CAACZ,MAAJ,KAAe,CAAf,GAAmBQ,IAAnB,GAA0BP,QAAQ,CAACW,GAAG,CAACE,MAAJ,CAAW,CAAX,EAAc,GAAd,CAAD,CAA5C;IAEAF,GAAG,GAAGt0B,KAAK,CAAC4zB,SAAN,CAAgB,CAAhB,EAAmB,CAAnB,CAAN;IACA,IAAM/H,CAAC,GAAGyI,GAAG,CAACZ,MAAJ,KAAe,CAAf,GAAmByE,IAAnB,GAA0BxE,QAAQ,CAACW,GAAG,CAACE,MAAJ,CAAW,CAAX,EAAc,GAAd,CAAD,CAA5C;;IAEA,IAAIhL,KAAK,CAAC9pB,GAAN,KAAc,SAAlB,EAA6B;MAC3B,IAAMoB,IAAI,GAAG,IAAI+2B,MAAJ,CAAchM,CAAd,SAAmB4I,CAAnB,SAAwB7yB,CAAxB,eAAb;MACAd,IAAI,CAAC40B,OAAL,CAAa50B,IAAI,CAACC,OAAL,KAAiB,CAA9B;;MAEA,IAAI,CAAC01B,GAAD,IAAQ31B,IAAI,IAAI21B,GAApB,EAAyB;QACvBzU,MAAM,CAAChiB,KAAP,GAAea,eAAe,CAACC,IAAD,CAA9B;;KALJ,MAOO,IAAI0oB,KAAK,CAAC9pB,GAAN,KAAc,WAAlB,EAA+B;MACpC,IAAMoB,KAAI,GAAG,IAAI+2B,MAAJ,CAAchM,CAAd,SAAmB4I,CAAnB,SAAwB7yB,CAAxB,eAAb;;MACAd,KAAI,CAAC40B,OAAL,CAAa50B,KAAI,CAACC,OAAL,KAAiB,CAA9B;;MAEA,IAAI,CAAC21B,GAAD,IAAQ51B,KAAI,IAAI41B,GAApB,EAAyB;QACvB1U,MAAM,CAAChiB,KAAP,GAAea,eAAe,CAACC,KAAD,CAA9B;;;;IAIJgzB,UAAU,CAACtK,KAAD,CAAV;GApCF;;EAuCA,IAAMwH,WAAW,GACfjtB,KAAK,CAACitB,WAAN,KAAsBxD,SAAtB,GAAkC,YAAlC,GAAiDzpB,KAAK,CAACitB,WADzD;EAGA,IAAMlI,IAAI,GAAGkP,MAAM,GACf;IACElP,IAAI,EAAE;MACJ3kB,IAAI,EAAE,SADF;MAEJ2kB,IAAI,EAAE;KAHV;IAKEyC,QAAQ,EAAE,OALZ;IAME4C,OAAO,EAAE;MAAA,OAAM8J,OAAO,CAAC,UAACr3B,IAAD;QAAA,OAAU,CAACA,IAAX;OAAD,CAAb;;GAPI,GASf4sB,SATJ;EAWA,IAAMwE,UAAU,GAAG3xB,YAAY,CAAwB0D,KAAxB,EAA+B,CAC5D,QAD4D,EAE5D,KAF4D,EAG5D,KAH4D,CAA/B,CAA/B;EAMA,OACEO,4BAAA,CAACC,iBAAD;IAAqB0nB,GAAG,EAAEiH,aAAa,CAAC;MAAA,OAAM+E,OAAO,CAAC,KAAD,CAAb;KAAD;GAAvC,EACE3zB,4BAAA,CAACusB,OAAD,oBACMmB;IACJ7tB,IAAI,EAAC;IACL6sB,WAAW,EAAEA;IACbT,IAAI,EAAEA;IACN4B,SAAS,EAAEA;IACXrJ,IAAI,EAAEA;IACNmD,GAAG,EAAEA;IAPP,CADF,EAWGe,IAAI,IACH1oB,4BAAA,CAAC2xB,QAAD;IACEK,WAAW,EAAEt2B,KAAK,GAAGoB,eAAe,CAACpB,KAAD,CAAlB,GAA4BwtB;IAC9CkK,QAAQ,EAAE;MACRvJ,OAAO,EAAE,iBAACrtB,IAAD;QACP,IAAI,CAACA,IAAL,EAAW;QACX,IAAM2vB,QAAQ,GAAG5vB,eAAe,CAACC,IAAD,CAAhC;QACAoxB,QAAQ,CAACzB,QAAD,CAAR;QACAwH,OAAO,CAAC,KAAD,CAAP;;;IAGJvB,GAAG,EAAEA;IACLD,GAAG,EAAEA;IACLjL,UAAU,EAAE;MAAEzpB,MAAM,EAAE;;GAZxB,CAZJ,CADF;AA8BD,CAnGU,CAAb;AAsGAV,MAAI,CAACuxB,WAAL,GAAmB,MAAnB;;ACtLA,IAAMwF,QAAQ,GAAG9zB,cAAK,CAAC+zB,aAAN,CAAsC,EAAtC,CAAjB;AAEA,AAAO,IAAMC,UAAU,GAAG,SAAbA,UAAa;EAAA,OAAMh0B,cAAK,CAACg0B,UAAN,CAAiBF,QAAjB,CAAN;AAAA,CAAnB;;;ACHA,IAAMN,mBAAiB,GAAGx1B,MAAM,CAACC,GAAV,uGAAvB;AAGP,AAAO,IAAMg2B,eAAe,GAAGj2B,MAAM,CAACC,GAAV,2FACxB;EAAA,IAAGK,KAAH,QAAGA,KAAH;EAAA,OAAeI,GAAf,4IACWJ,KAAK,CAACxE,QAAN,CAAeG,EAD1B,EACqCqE,KAAK,CAACxE,QAAN,CAAeG,EADpD,EAEIqE,KAAK,CAACxE,QAAN,CAAeC,EAFnB,EAEyBuE,KAAK,CAACxE,QAAN,CAAeG,EAFxC;AAAA,CADwB,CAArB;AAOP,AAAO,IAAMi6B,kBAAkB,GAAGl2B,MAAM,CAACC,GAAV,gKACZ;EAAA,IAAGK,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeC,EAA9B;AAAA,CADY,CAAxB;;ACJP,IAAM82B,QAAM,GAAG,SAATA,MAAS;EACb,IAAMsD,OAAO,GAAGH,UAAU,EAA1B;;EACA,gBAA4BhO,QAAQ,CAAS,EAAT,CAApC;MAAOhM,MAAP;MAAeoa,SAAf;;EAEA,IAAI,CAACD,OAAO,CAAC10B,KAAR,CAAc5B,MAAnB,EAA2B;IACzB,OAAOmC,4BAAA,CAACA,cAAK,CAACqpB,QAAP,MAAA,CAAP;;;EAGF,IACWT,OADX,GAOIuL,OAPJ,CACE10B,KADF,CACWmpB,OADX;MAEEyL,OAFF,GAOIF,OAPJ,CAEEE,OAFF;MAGEC,UAHF,GAOIH,OAPJ,CAGEG,UAHF;MAIEC,QAJF,GAOIJ,OAPJ,CAIEI,QAJF;MAKEC,WALF,GAOIL,OAPJ,CAKEK,WALF;MAMEC,OANF,GAOIN,OAPJ,CAMEM,OANF;;EASA,IAAM5K,OAAO,GAAG,SAAVA,OAAU;IACdyK,UAAU,CAAC,UAACh4B,IAAD;MAAA,OACTA,IAAI,CAAC8yB,MAAL,KAAgBxG,OAAO,CAACwG,MAAxB,GACI,EADJ,GAEIxG,OAAO,CAAC9V,GAAR,CAAY,UAACwW,MAAD;QAAA,OAAYA,MAAM,CAAC5tB,KAAnB;OAAZ,CAHK;KAAD,CAAV;GADF;;EAQA,IAAMg5B,QAAQ,GAAG,SAAXA,QAAW;IACfF,WAAW,CAACxa,MAAD,CAAX;IACAya,OAAO,CAAC,CAAD,CAAP;GAFF;;EAKA,OACEz0B,4BAAA,CAACC,eAAD,MAAA,EACGk0B,OAAO,CAAC10B,KAAR,CAAcI,IAAd,KAAuB,iBAAvB,IAA4Cs0B,OAAO,CAAC10B,KAAR,CAAck1B,SAA1D,IACC30B,4BAAA,CAACC,kBAAD,MAAA,EACED,4BAAA,IAAA,MAAA,kBAAA,EAAkBq0B,OAAO,CAACjF,MAA1B,KAAA,CADF,EAGEpvB,4BAAA,CAACb,QAAD;IACEU,IAAI,EAAC;IACLF,OAAO,EAAC;IACRN,UAAU,EAAC;IACXwqB,OAAO,EAAEA;IACTxrB,KAAK,EAAC;GALR,CAHF,CAFJ,EAeE2B,4BAAA,CAACusB,OAAD;IACE1sB,IAAI,EAAC;IACL6sB,WAAW,EAAC;IACZkB,QAAQ,EAAEwG;IACV14B,KAAK,EAAEse;IACPgT,YAAY,EAAE0H;IACd3H,SAAS,EAAE/S,MAAM,KAAK,EAAX,IAAiBA,MAAM,KAAKua;IACvC/P,IAAI,EAAE;MACJA,IAAI,EAAE;QACJ3kB,IAAI,EAAE,SADF;QAEJ2kB,IAAI,EAAE;OAHJ;MAKJqF,OAAO,EAAE6K;;GAZb,CAfF,CADF;AAiCD,CA/DD;;ACFA,IAAMjE,QAAM,GAAG,SAATA,MAAS;EACb,IAAM0D,OAAO,GAAGH,UAAU,EAA1B;EAEA,IAAIG,OAAO,CAAC10B,KAAR,CAAcI,IAAd,KAAuB,iBAA3B,EAA8C,OAAOG,4BAAA,CAACA,cAAK,CAACqpB,QAAP,MAAA,CAAP;EAE9C,IACWuE,QADX,GAIIuG,OAJJ,CACE10B,KADF,CACWmuB,QADX;MAEEyG,OAFF,GAIIF,OAJJ,CAEEE,OAFF;MAGEV,OAHF,GAIIQ,OAJJ,CAGER,OAHF;;EAMA,IAAM9J,OAAO,GAAG,SAAVA,OAAU;IACd+D,QAAQ,WAAKyG,OAAL,EAAR;IACAV,OAAO,CAAC,KAAD,CAAP;GAFF;;EAKA,OACE3zB,4BAAA,CAACb,QAAD;IACEU,IAAI,EAAC;IACLF,OAAO,EAAC;IACRkqB,OAAO,EAAEA;IACT+K,KAAK,EAAE;MAAEC,WAAW,EAAE;;GAJxB,CADF;AAQD,CAxBD;;ACkBA,IAAMC,UAAU,GAAG,SAAbA,UAAa,CACjBr1B,KADiB,EAEjB40B,OAFiB,EAGjBC,UAHiB;EAKjB,IAAI70B,KAAK,CAACI,IAAN,KAAe,iBAAnB,EAAsC;IACpC,OAAOJ,KAAK,CAACmpB,OAAN,CAAc9V,GAAd,CAAkB,UAACwW,MAAD;MACvB,IAAMG,KAAK,GAAG3tB,QAAQ,CAACwtB,MAAM,CAACG,KAAR,CAAR,GACV;QACEC,IAAI,EAAEJ,MAAM,CAACG,KADf;QAEEE,OAAO,EAAEL,MAAM,CAACG;OAHR,GAKVH,MAAM,CAACG,KALX;MAOA,OAAO;QACLA,KAAK,EAAE;UACLC,IAAI,EAAED,KAAK,CAACC,IADP;UAELC,OAAO,EACL3pB,4BAAA,CAAC2uB,QAAD;YACE9uB,IAAI,EAAC;YACLw0B,OAAO,EAAEA,OAAO,CAACj4B,QAAR,CAAiBktB,MAAM,CAAC5tB,KAAxB;YACT+tB,KAAK,EAAEA,KAAK,CAACE;YACbgE,QAAQ,EAAE,kBAACzI,KAAD;cACR,IAAM6P,SAAS,GAAG7P,KAAK,CAACxH,MAAN,CAAa2W,OAA/B;cAEAC,UAAU,CAAC,UAACh4B,IAAD;gBACT,IAAM04B,QAAQ,GAAG14B,IAAI,CAACH,MAAL,CAAY,UAAC6xB,CAAD;kBAAA,OAAOA,CAAC,KAAK1E,MAAM,CAAC5tB,KAApB;iBAAZ,CAAjB;gBAEA,IAAIq5B,SAAJ,EAAeC,QAAQ,CAACzD,IAAT,CAAcjI,MAAM,CAAC5tB,KAArB;gBAEf,OAAOs5B,QAAP;eALQ,CAAV;;YAQFvG,OAAO,EAAE;cACPlxB,GAAG,EAAE,IADE;cAEPC,IAAI,EAAE,IAFC;cAGPE,KAAK,EAAE,IAHA;cAIPD,MAAM,EAAE;;WAnBZ;SAJC;QA4BLosB,OAAO,EAAE,qBA5BJ;QA6BLI,IAAI,EAAE;UACJvuB,KAAK,EAAE4tB,MAAM,CAAC5tB;SA9BX;QAgCL8tB,QAAQ,EAAE;OAhCZ;KARK,CAAP;;;EA6CF,OAAO/pB,KAAK,CAACmpB,OAAN,CAAc9V,GAAd,CAAkB,UAACwW,MAAD;IACvB,IAAMG,KAAK,GAAG3tB,QAAQ,CAACwtB,MAAM,CAACG,KAAR,CAAR,GACV;MACEC,IAAI,EAAEJ,MAAM,CAACG,KADf;MAEEE,OAAO,EAAEL,MAAM,CAACG;KAHR,GAKVH,MAAM,CAACG,KALX;IAOA,OAAO;MACLA,KAAK,EAALA,KADK;MAELI,OAAO,EACLP,MAAM,CAACO,OAAP,IACC,UAACoL,MAAD,EAAiBhL,IAAjB;QACCxqB,KAAK,CAACmuB,QAAN,CAAe3D,IAAI,CAACvuB,KAApB;OALC;MAOLuuB,IAAI,EAAE;QACJvuB,KAAK,EAAE4tB,MAAM,CAAC5tB;;KARlB;GARK,CAAP;AAoBD,CAvED;;AAyEA,IAAMw5B,MAAM,GAAGl1B,cAAK,CAAC8sB,UAAN,CACb,UAACrtB,KAAD,EAAqBkoB,GAArB;EACE,IAAQV,QAAR,GAAwDxnB,KAAxD,CAAQwnB,QAAR;MAAkBI,mBAAlB,GAAwD5nB,KAAxD,CAAkB4nB,mBAAlB;MAAuCxpB,MAAvC,GAAwD4B,KAAxD,CAAuC5B,MAAvC;MAA+CgC,IAA/C,GAAwDJ,KAAxD,CAA+CI,IAA/C;;EAEA,gBAA8BmmB,QAAQ,CAAU,KAAV,CAAtC;MAAOzmB,OAAP;MAAgB41B,UAAhB;;EACA,iBAAgCnP,QAAQ,CAAS,EAAT,CAAxC;MAAOuO,QAAP;MAAiBC,WAAjB;;EACA,iBAAwBxO,QAAQ,CAAS,CAAT,CAAhC;MAAOoP,IAAP;MAAaX,OAAb;;EACA,iBAAgCzO,QAAQ,CAAU,KAAV,CAAxC;MAAOqP,QAAP;MAAiBC,WAAjB;;EACA,iBAAwBtP,QAAQ,CAAU,KAAV,CAAhC;MAAO0C,IAAP;MAAaiL,OAAb;;EACA,iBAA8B3N,QAAQ,CACpC4F,KAAK,CAACC,OAAN,CAAcpsB,KAAK,CAAC/D,KAApB,cAAiC+D,KAAK,CAAC/D,KAAvC,IAAgD,EADZ,CAAtC;MAAO24B,OAAP;MAAgBC,UAAhB;;EAIA,IAAM1L,OAAO,GAAGkM,UAAU,CAACr1B,KAAD,EAAQ40B,OAAR,EAAiBC,UAAjB,CAA1B;EAEA,IAAM5G,UAAU,GAAG3xB,YAAY,CAA0B0D,KAA1B,EAAiC,CAC9D,MAD8D,EAE9D,aAF8D,EAG9D,SAH8D,EAI9D,UAJ8D,EAK9D,qBAL8D,EAM9D,OAN8D,CAAjC,CAA/B;;EASA,IAAIA,KAAK,CAACI,IAAN,KAAe,iBAAnB,EAAsC;IACpC,IAAIJ,KAAK,CAAC/D,KAAN,CAAY0zB,MAAZ,GAAqB,CAAzB,EAA4B;MAC1B1B,UAAU,CAAChyB,KAAX,GACE+D,KAAK,CAAC/D,KAAN,CAAY0zB,MAAZ,GAAqB,CAArB,cACU3vB,KAAK,CAAC/D,KAAN,CAAY0zB,MADtB,kCAEU3vB,KAAK,CAAC/D,KAAN,CAAY0zB,MAFtB,mBADF;KADF,MAKO;MACL1B,UAAU,CAAChyB,KAAX,GAAmB,EAAnB;;GAPJ,MASO;IACL,IAAM65B,QAAQ,GAAG3M,OAAO,CAACoB,IAAR,CACf,UAACV,MAAD;MAAA,OAAYA,MAAM,CAACW,IAAP,CAAYvuB,KAAZ,KAAsB+D,KAAK,CAAC/D,KAAxC;KADe,CAAjB;IAIAgyB,UAAU,CAAChyB,KAAX,GAAmB65B,QAAQ,GAAGA,QAAQ,CAAC9L,KAAT,CAAeC,IAAlB,GAAyB,EAApD;;;EAGF,IAAM8L,YAAY,GAAG/1B,KAAK,CAACsmB,WAAN,IAAsB,cAA3C;;EAEA,IAAMA,WAAW,GAAG,SAAdA,WAAc;IAClB,IAAI,CAACsP,QAAL,EAAe;MACbZ,OAAO,CAAC,UAACn4B,IAAD;QAAA,OAAUA,IAAI,GAAG,CAAjB;OAAD,CAAP;;;IAGFk5B,YAAY;GALd;;EAQA,IAAMpC,QAAQ,GAAGX,WAAW;IAAA;MAC1B,IAAI,CAAChzB,KAAK,CAAC5B,MAAX,EAAmB;MAEnBs3B,UAAU,CAAC,IAAD,CAAV;6BAE4B11B,KAAK,CAAC5B,MAAN,CAAa02B,QAAb,EAAuBa,IAAvB,kBAAtBK;QAEN,IAAI7J,KAAK,CAACC,OAAN,CAAc4J,aAAd,CAAJ,EAAkC;UAChCh2B,KAAK,CAACi2B,UAAN,CACEN,IAAI,KAAK,CAAT,GAAaK,aAAb,GAA6B,UAACn5B,IAAD;YAAA,OAAUA,IAAI,CAACq5B,MAAL,CAAYF,aAAZ,CAAV;WAD/B;UAGAH,WAAW,CAAC,IAAD,CAAX;SAJF,MAKO;UACL71B,KAAK,CAACi2B,UAAN,CACEN,IAAI,KAAK,CAAT,GACIK,aAAa,CAAC7M,OADlB,GAEI,UAACtsB,IAAD;YAAA,OAAUA,IAAI,CAACq5B,MAAL,CAAYF,aAAa,CAAC7M,OAA1B,CAAV;WAHN;UAKA0M,WAAW,CAACG,aAAa,CAACJ,QAAf,CAAX;;;QAGFF,UAAU,CAAC,KAAD,CAAV;;KArB0B;MAAA;;KAsBzB,CAACZ,QAAD,EAAWa,IAAX,CAtByB,CAA5B;EAwBAtN,SAAS,CAAC;IACRsL,QAAQ;GADD,EAEN,CAACA,QAAD,CAFM,CAAT;EAIA,OACEpzB,4BAAA,CAAC8zB,QAAQ,CAACA,QAAV;IACEp4B,KAAK,EAAE;MACL+D,KAAK,EAALA,KADK;MAELk0B,OAAO,EAAPA,OAFK;MAGLU,OAAO,EAAPA,OAHK;MAILI,OAAO,EAAPA,OAJK;MAKLH,UAAU,EAAVA,UALK;MAMLC,QAAQ,EAARA,QANK;MAOLC,WAAW,EAAXA;;GARJ,EAWEx0B,4BAAA,CAACC,mBAAD;IAAqB0nB,GAAG,EAAEiH,aAAa,CAAC;MAAA,OAAM+E,OAAO,CAAC,KAAD,CAAb;KAAD;GAAvC,EACE3zB,4BAAA,CAACusB,OAAD,oBACMmB;IACJ7tB,IAAI,EAAC;IACL+1B,QAAQ;IACR/L,OAAO,EAAE;MACP8J,OAAO,CAAC,UAACr3B,IAAD;QAAA,OAAU,CAACA,IAAX;OAAD,CAAP;;IAEFiD,OAAO,EAAEE,KAAK,CAACF,OAAN,IAAiBA;IAC1BilB,IAAI,EAAE;MACJyC,QAAQ,EAAE,OADN;MAEJzC,IAAI,EAAE;QACJ3kB,IAAI,EAAE,UADF;QAEJ2kB,IAAI,EAAEkE,IAAI,GAAG,UAAH,GAAgB,YAFtB;QAGJ1E,KAAK,EAAE;;;IAGX2D,GAAG,EAAEA;IAhBP,CADF,EAmBE3nB,4BAAA,CAACyoB,IAAD;IACEC,IAAI,EAAEA;IACNC,KAAK,EAAE;MAAA,OAAMgL,OAAO,CAAC,KAAD,CAAb;;IACP/K,OAAO,EAAEA;IACT7C,WAAW,EAAEA;IACb/B,KAAK,EAAC;IACNuE,QAAQ;IACR5qB,OAAO,EAAEkC,IAAI,KAAK,iBAAT,GAA6BqpB,SAA7B,GAAyC;IAClDjC,QAAQ,EAAEA;IACVI,mBAAmB,EAAEA;IACrBH,UAAU,EAAE;MAAEzpB,MAAM,EAAE;;IACtBooB,MAAM,EAAE7lB,4BAAA,CAAC6wB,QAAD,MAAA;IACR/K,KAAK,EAAE9lB,4BAAA,CAACywB,QAAD,MAAA;IACPpK,YAAY,EAAExoB,MAAM,GAAG,OAAH,GAAa;GAbnC,CAnBF,CAXF,CADF;AAiDD,CAhIY,CAAf;AAmIAq3B,MAAM,CAAC5G,WAAP,GAAqB,QAArB;;AC5NA,IAAMuH,QAAQ,GAAG71B,cAAK,CAAC8sB,UAAN,CACf,UAACrtB,KAAD,EAAuBkoB,GAAvB;EACE,gBAAoC3B,QAAQ,CAC1C,MAD0C,CAA5C;MAAO8P,UAAP;MAAmBC,aAAnB;;EAIA,IAAM71B,KAAK,GAAG;IACZ81B,IAAI,EAAE;MACJxR,IAAI,EAAE,MADF;MAEJqF,OAAO,EAAE;QAAA,OAAMkM,aAAa,CAAC,QAAD,CAAnB;;KAHC;IAKZE,OAAO,EAAE;MACPzR,IAAI,EAAE,SADC;MAEPqF,OAAO,EAAE;QAAA,OAAMkM,aAAa,CAAC,QAAD,CAAnB;;KAPC;IASZG,MAAM,EAAE;MACN1R,IAAI,EAAE,KADA;MAENqF,OAAO,EAAE;QAAA,OAAMkM,aAAa,CAAC,SAAD,CAAnB;;;GAXb;EAeA,IAAMvR,IAAI,GAAc;IACtB3kB,IAAI,EAAE,SADgB;IAEtB2kB,IAAI,EAAEtkB,KAAK,CAAC41B,UAAD,CAAL,CAAkBtR,IAFF;IAGtBR,KAAK,EAAE;GAHT;;EAMA,IAAMmS,OAAO,GAAG12B,KAAK,CAAC22B,MAAN,IAAiB,cAAjC;;EAEA,IAAMA,MAAM,GAA8C,SAApDA,MAAoD,CAAClR,KAAD;IACxD,IAAI,CAACA,KAAK,CAACxH,MAAN,CAAahiB,KAAlB,EAAyBq6B,aAAa,CAAC,MAAD,CAAb;;IACzBI,OAAO,CAACjR,KAAD,CAAP;GAFF;;EAKA,OACEllB,4BAAA,CAACusB,OAAD,oBACM9sB;IACJI,IAAI,EAAEi2B,UAAU,KAAK,SAAf,GAA2B,MAA3B,GAAoC;IAC1CtR,IAAI,EAAE;MACJA,IAAI,EAAJA,IADI;MAEJyC,QAAQ,EAAE,OAFN;MAGJ4C,OAAO,EAAE3pB,KAAK,CAAC41B,UAAD,CAAL,CAAkBjM;;IAE7BuM,MAAM,EAAEA;IACR1J,WAAW,EAAC;IACZO,YAAY,EAAE6I,UAAU,KAAK;IAC7BnO,GAAG,EAAEA;IAXP,CADF;AAeD,CAjDc,CAAjB;AAoDAkO,QAAQ,CAACvH,WAAT,GAAuB,UAAvB;;AC3DA,UAAe,oBAAf;;;ACuBO,IAAM+H,WAAW,GAAgB;EACtCC,EAAE,EAAE;IACFv8B,EAAE,EAAE,SADF;IAEFC,EAAE,EAAE,SAFF;IAGFC,EAAE,EAAE,YAHF;IAIFC,EAAE,EAAE,YAJF;IAKFC,EAAE,EAAE,SALF;IAMFC,EAAE,EAAE;GAPgC;EAStCm8B,EAAE,EAAE;IACFx8B,EAAE,EAAE,SADF;IAEFC,EAAE,EAAE,SAFF;IAGFC,EAAE,EAAE,cAHF;IAIFC,EAAE,EAAE,YAJF;IAKFC,EAAE,EAAE,SALF;IAMFC,EAAE,EAAE;GAfgC;EAiBtCo8B,EAAE,EAAE;IACFz8B,EAAE,EAAE,SADF;IAEFC,EAAE,EAAE,SAFF;IAGFC,EAAE,EAAE,YAHF;IAIFC,EAAE,EAAE,YAJF;IAKFC,EAAE,EAAE,SALF;IAMFC,EAAE,EAAE;GAvBgC;EAyBtCq8B,EAAE,EAAE;IACF18B,EAAE,EAAE,SADF;IAEFC,EAAE,EAAE,SAFF;IAGFC,EAAE,EAAE,YAHF;IAIFC,EAAE,EAAE,YAJF;IAKFC,EAAE,EAAE,SALF;IAMFC,EAAE,EAAE;GA/BgC;EAiCtCs8B,EAAE,EAAE;IACF38B,EAAE,EAAE,SADF;IAEFC,EAAE,EAAE,SAFF;IAGFC,EAAE,EAAE,aAHF;IAIFC,EAAE,EAAE,WAJF;IAKFC,EAAE,EAAE,SALF;IAMFC,EAAE,EAAE;GAvCgC;EAyCtCu8B,EAAE,EAAE;IACF58B,EAAE,EAAE,SADF;IAEFC,EAAE,EAAE,SAFF;IAGFC,EAAE,EAAE,YAHF;IAIFC,EAAE,EAAE,YAJF;IAKFC,EAAE,EAAE,SALF;IAMFC,EAAE,EAAE;GA/CgC;EAiDtCw8B,EAAE,EAAE;IACF78B,EAAE,EAAE,SADF;IAEFC,EAAE,EAAE,SAFF;IAGFC,EAAE,EAAE,eAHF;IAIFC,EAAE,EAAE,YAJF;IAKFC,EAAE,EAAE,SALF;IAMFC,EAAE,EAAE;GAvDgC;EAyDtCy8B,EAAE,EAAE;IACF98B,EAAE,EAAE,SADF;IAEFC,EAAE,EAAE,SAFF;IAGFC,EAAE,EAAE,WAHF;IAIFC,EAAE,EAAE,YAJF;IAKFC,EAAE,EAAE,SALF;IAMFC,EAAE,EAAE;GA/DgC;EAiEtC08B,EAAE,EAAE;IACF/8B,EAAE,EAAE,SADF;IAEFC,EAAE,EAAE,SAFF;IAGFC,EAAE,EAAE,cAHF;IAIFC,EAAE,EAAE,WAJF;IAKFC,EAAE,EAAE,SALF;IAMFC,EAAE,EAAE;;AAvEgC,CAAjC;AAgFP,IAAM28B,IAAI,GAAG/4B,MAAM,CAACC,GAAV,0JACgB+4B,GADhB,EAIN;MAAGC,WAAAA;MAAKjT,aAAAA;MAAO1lB,aAAAA;EACf0lB,KAAK,GAAGA,KAAK,IAAI,IAAjB;EAEA,OAAOtlB,GAAP,8KACyB23B,WAAW,CAACY,GAAD,CAAX,CAAiBjT,KAAjB,CADzB,EAEW1lB,KAAK,CAACxE,QAAN,CAAekqB,KAAf,CAFX,EAGiB1lB,KAAK,CAACxE,QAAN,CAAekqB,KAAf,CAHjB;AAKD,CAZO,CAAV;;ACtGA,IAAMkT,SAAS,GAAc;EAC3BZ,EAAE,EAAE;IACF7R,IAAI,EAAE,WADJ;IAEFwS,GAAG,EAAE,IAFH;IAGFE,GAAG,EAAE,EAHH;IAIFzK,WAAW,EAAE,iBAJX;IAKF0K,UAAU,EAAE,cALV;IAMFC,SAAS,EAAE,EANT;IAOFpL,IAAI,EAAE,cAACvwB,KAAD;MACJ,OAAOA,KAAK,CAACwwB,OAAN,CAAc,+BAAd,EAA+C,aAA/C,CAAP;;GATuB;EAY3BqK,EAAE,EAAE;IACF9R,IAAI,EAAE,QADJ;IAEFwS,GAAG,EAAE,IAFH;IAGFE,GAAG,EAAE,EAHH;IAIFzK,WAAW,EAAE,iBAJX;IAKF0K,UAAU,EAAE,qCALV;IAMFC,SAAS,EAAE,EANT;IAOFpL,IAAI,EAAE,cAACvwB,KAAD;MACJ,OAAOA,KAAK,CACTwwB,OADI,CACI,aADJ,EACmB,SADnB,EAEJA,OAFI,CAEI,iBAFJ,EAEuB,OAFvB,EAGJA,OAHI,CAGI,gBAHJ,EAGsB,OAHtB,CAAP;;GApBuB;EA0B3BsK,EAAE,EAAE;IACF/R,IAAI,EAAE,OADJ;IAEFwS,GAAG,EAAE,IAFH;IAGFE,GAAG,EAAE,EAHH;IAIFzK,WAAW,EAAE,eAJX;IAKF0K,UAAU,EAAE,aALV;IAMFC,SAAS,EAAE,CANT;IAOFpL,IAAI,EAAE,cAACvwB,KAAD;MACJ,OAAOA,KAAK,CAACwwB,OAAN,CAAc,wBAAd,EAAwC,YAAxC,CAAP;;GAlCuB;EAqC3BuK,EAAE,EAAE;IACFhS,IAAI,EAAE,SADJ;IAEFwS,GAAG,EAAE,IAFH;IAGFE,GAAG,EAAE,EAHH;IAIFzK,WAAW,EAAE,cAJX;IAKF0K,UAAU,EAAE,aALV;IAMFC,SAAS,EAAE,CANT;IAOFpL,IAAI,EAAE,cAACvwB,KAAD;MACJ,OAAOA,KAAK,CAACwwB,OAAN,CAAc,+BAAd,EAA+C,aAA/C,CAAP;;GA7CuB;EAgD3BwK,EAAE,EAAE;IACFjS,IAAI,EAAE,gBADJ;IAEFwS,GAAG,EAAE,IAFH;IAGFE,GAAG,EAAE,CAHH;IAIFzK,WAAW,EAAE,cAJX;IAKF0K,UAAU,EAAE,aALV;IAMFC,SAAS,EAAE,CANT;IAOFpL,IAAI,EAAE,cAACvwB,KAAD;MACJ,OAAOA,KAAK,CAACwwB,OAAN,CAAc,wBAAd,EAAwC,YAAxC,CAAP;;GAxDuB;EA2D3ByK,EAAE,EAAE;IACFlS,IAAI,EAAE,QADJ;IAEFwS,GAAG,EAAE,IAFH;IAGFE,GAAG,EAAE,EAHH;IAIFzK,WAAW,EAAE,gBAJX;IAKF0K,UAAU,EAAE,cALV;IAMFC,SAAS,EAAE,EANT;IAOFpL,IAAI,EAAE,cAACvwB,KAAD;MACJ,OAAOA,KAAK,CAACwwB,OAAN,CAAc,+BAAd,EAA+C,aAA/C,CAAP;;GAnEuB;EAsE3B0K,EAAE,EAAE;IACFnS,IAAI,EAAE,UADJ;IAEFwS,GAAG,EAAE,IAFH;IAGFE,GAAG,EAAE,GAHH;IAIFC,UAAU,EAAE,aAJV;IAKFC,SAAS,EAAE,CALT;IAMFpL,IAAI,EAAE,cAACvwB,KAAD;MACJ,OAAOA,KAAK,CAACwwB,OAAN,CAAc,iBAAd,EAAiC,OAAjC,CAAP;;GA7EuB;EAgF3B2K,EAAE,EAAE;IACFpS,IAAI,EAAE,UADJ;IAEFwS,GAAG,EAAE,IAFH;IAGFE,GAAG,EAAE,GAHH;IAIFzK,WAAW,EAAE,aAJX;IAKF0K,UAAU,EAAE,aALV;IAMFC,SAAS,EAAE,CANT;IAOFpL,IAAI,EAAE,cAACvwB,KAAD;MACJ,OAAOA,KAAK,CAACwwB,OAAN,CAAc,wBAAd,EAAwC,UAAxC,CAAP;;GAxFuB;EA2F3B4K,EAAE,EAAE;IACFrS,IAAI,EAAE,SADJ;IAEFwS,GAAG,EAAE,IAFH;IAGFE,GAAG,EAAE,GAHH;IAIFzK,WAAW,EAAE,aAJX;IAKF0K,UAAU,EAAE,aALV;IAMFC,SAAS,EAAE,CANT;IAOFpL,IAAI,EAAE,cAACvwB,KAAD;MACJ,OAAOA,KAAK,CAACwwB,OAAN,CAAc,wBAAd,EAAwC,UAAxC,CAAP;;;AAnGuB,CAA7B;;;ACAO,IAAMI,eAAa,GAAGtuB,MAAM,CAACC,GAAV,sKAAnB;AASP,AAAO,IAAMu1B,mBAAiB,GAAGx1B,MAAM,CAACC,GAAV,yGAAvB;AAIP,AAAO,IAAM2uB,OAAK,GAAG5uB,MAAM,CAACC,GAAV,oLACd;EAAA,IAAGK,KAAH,QAAGA,KAAH;EAAA,OAAeA,KAAK,CAAConB,aAAN,CAAoB,GAApB,CAAf;AAAA,CADc,EAGP;EAAA,IAAGpnB,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaQ,WAA5B;AAAA,CAHO,EAMT;EAAA,IAAGmG,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeC,EAA9B;AAAA,CANS,EASL;EAAA,IAAGuE,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaW,WAA5B;AAAA,CATK,CAAX;;ACDA,IAAMg/B,UAAU,GAAG,SAAbA,UAAa,CAAC1gB,KAAD;EACxB,IAAI,CAACnb,cAAc,CAACmb,KAAD,CAAnB,EAA4B,OAAO,IAAP;EAG5B,IAAM8b,QAAQ,GAAG9b,KAAK,CAACsV,OAAN,CAAc,WAAd,EAA2B,EAA3B,EAA+BlvB,KAA/B,CAAqC,GAArC,CAAjB;EAEA,IAAI01B,QAAQ,CAACtD,MAAT,GAAkB,CAAtB,EAAyB,OAAO,IAAP;EAGzB,IAAM+H,GAAG,GAAG9H,QAAQ,CAACqD,QAAQ,CAAC,CAAD,CAAT,CAApB;EACAA,QAAQ,CAAC6E,KAAT;EAGA,IAAMN,GAAG,GAAI57B,MAAM,CAACW,IAAP,CAAYk7B,SAAZ,EAAsDlN,IAAtD,CACX,UAACwN,CAAD;IACE,OAAON,SAAS,CAACM,CAAD,CAAT,CAAaL,GAAb,KAAqBA,GAA5B;GAFS,CAAb;EAMA,IAAMM,OAAO,GAAG,CAACR,GAAD,GAAOC,SAAS,CAACX,EAAjB,GAAsBW,SAAS,CAACD,GAAD,CAA/C;EAGA,IAAIS,MAAM,GAAGhF,QAAQ,CAAC71B,IAAT,CAAc,GAAd,EAAmBqvB,OAAnB,CAA2B,MAA3B,EAAmC,EAAnC,CAAb;EACA,IAAMxwB,KAAK,GAAGg8B,MAAd;EAEAA,MAAM,GAAGA,MAAM,CAACpI,SAAP,CAAiB,CAAjB,EAAoBmI,OAAO,CAACJ,SAA5B,CAAT;EAEA,IAAII,OAAO,CAACxL,IAAZ,EAAkByL,MAAM,GAAGD,OAAO,CAACxL,IAAR,CAAayL,MAAb,CAAT;EAGlB,IAAIC,KAAK,GAAG,IAAZ;EACA,IAAMP,UAAU,GAAGK,OAAO,CAACL,UAA3B;;EACA,IAAIA,UAAU,YAAYtL,MAA1B,EAAkC;IAEhC6L,KAAK,GAAGP,UAAU,CAACQ,IAAX,CAAgBl8B,KAAhB,CAAR;GAFF,MAGO,IAAI,OAAO07B,UAAP,KAAsB,UAA1B,EAAsC;IAE3CO,KAAK,GAAGP,UAAU,CAAC17B,KAAD,CAAlB;;;EAGF,OAAO;IACL+7B,OAAO,EAAPA,OADK;IAELC,MAAM,EAANA,MAFK;IAGLh8B,KAAK,EAALA,KAHK;IAILm8B,OAAO,EAAKJ,OAAO,CAACN,GAAb,SAAoBz7B,KAJtB;IAKLi8B,KAAK,EAALA;GALF;AAOD,CA/CM;;AAiDP,IAAMx4B,QAAM,GAAG,SAATA,MAAS,CAACM,KAAD;EACb,qBAGIA,KAHJ,CACEg4B,OADF;MACYA,OADZ;oBAGIh4B,KAHJ,CAEEipB,IAFF;MAESA,IAFT;EAKA,OACE1oB,4BAAA,CAACC,eAAD,MAAA,EACED,4BAAA,CAAC+2B,IAAD;IAAME,GAAG,EAAEQ,OAAO,CAACR;GAAnB,CADF,EAEEj3B,4BAAA,CAAC8jB,IAAD;IACEjkB,IAAI,EAAC;IACL2kB,IAAI,EAAEkE,IAAI,GAAG,UAAH,GAAgB;IAC1B1E,KAAK,EAAC;IACN3lB,KAAK,EAAC;GAJR,CAFF,CADF;AAWD,CAjBD;;AAmBA,IAAMy5B,KAAK,GAAG93B,cAAK,CAAC8sB,UAAN,CACZ,UAACrtB,KAAD,EAAoBkoB,GAApB;EACE,IAAQjsB,KAAR,GAA4B+D,KAA5B,CAAQ/D,KAAR;MAAekyB,QAAf,GAA4BnuB,KAA5B,CAAemuB,QAAf;;EAEA,gBAAoC5H,QAAQ,CAAS,EAAT,CAA5C;MAAO+R,UAAP;MAAmBC,aAAnB;;EACA,iBAA8BhS,QAAQ,CAAUkR,SAAS,CAACX,EAApB,CAAtC;MAAOkB,OAAP;MAAgBQ,UAAhB;;EACA,iBAAwBjS,QAAQ,CAAU,KAAV,CAAhC;MAAO0C,IAAP;MAAaiL,OAAb;;EAEA7L,SAAS,CAAC;IACR,IAAMoQ,OAAO,GAAGZ,UAAU,CAAC57B,KAAK,IAAI,EAAV,CAA1B;IAEAu8B,UAAU,CAACC,OAAO,GAAGA,OAAO,CAACT,OAAX,GAAqBP,SAAS,CAACX,EAAvC,CAAV;GAHO,EAIN,CAAC76B,KAAD,CAJM,CAAT;EAMA,IAAMktB,OAAO,GACXvtB,MAAM,CAACW,IAAP,CAAYk7B,SAAZ,EACApkB,GADA,CACI,UAACmkB,GAAD;IAAA,OAAU;MACdxN,KAAK,EAAE;QACLC,IAAI,EAAEwN,SAAS,CAACD,GAAD,CAAT,CAAexS,IADhB;QAELkF,OAAO,EACL3pB,4BAAA,CAACC,OAAD,MAAA,EACED,4BAAA,CAAC+2B,IAAD;UAAME,GAAG,EAAEA;SAAX,CADF,EAEGC,SAAS,CAACD,GAAD,CAAT,CAAexS,IAFlB,EAGEzkB,4BAAA,OAAA,MAAA,KAAA,EAAQk3B,SAAS,CAACD,GAAD,CAAT,CAAeE,GAAvB,CAHF;OAJU;MAWdtN,OAAO,EAAE,iBAACoL,MAAD,EAASwC,OAAT;QACPQ,UAAU,CAACR,OAAD,CAAV;OAZY;MAcdxN,IAAI,EAAEiN,SAAS,CAACD,GAAD;KAdX;GADJ,CADF;;EAmBA,IAAMhL,IAAI,GAAG,SAAPA,IAAO,CAACvwB,KAAD;IACXA,KAAK,GAAGA,KAAK,CAACwwB,OAAN,CAAc,MAAd,EAAsB,EAAtB,CAAR;IACAxwB,KAAK,GAAGA,KAAK,CAAC4zB,SAAN,CAAgB,CAAhB,EAAmBmI,OAAO,CAACJ,SAA3B,CAAR;IACA,IAAII,OAAO,CAACxL,IAAZ,EAAkBvwB,KAAK,GAAG+7B,OAAO,CAACxL,IAAR,CAAavwB,KAAb,CAAR;IAClB,OAAOA,KAAP;GAJF;;EAOAosB,SAAS,CAAC;IACR,IAAMoQ,OAAO,GAAGZ,UAAU,CAAC57B,KAAK,IAAI,EAAV,CAA1B;IACAu8B,UAAU,CAACC,OAAO,GAAGA,OAAO,CAACT,OAAX,GAAqBP,SAAS,CAACX,EAAvC,CAAV;GAFO,EAGN,CAAC76B,KAAD,CAHM,CAAT;EAKAosB,SAAS,CAAC;IACRkQ,aAAa,CAAC,UAAC17B,IAAD;MAAA,OAAU2vB,IAAI,CAAC3vB,IAAD,CAAd;KAAD,CAAb;GADO,EAEN,CAACm7B,OAAD,CAFM,CAAT;EAIA3P,SAAS,CAAC;IACR,IAAMkG,CAAC,GAAG+J,UAAU,CAAC7L,OAAX,CAAmB,MAAnB,EAA2B,EAA3B,EAA+BoD,SAA/B,CAAyC,CAAzC,EAA4CmI,OAAO,CAACJ,SAApD,CAAV;IAEAzJ,QAAQ,CAAI6J,OAAO,CAACN,GAAZ,SAAmBnJ,CAAnB,CAAR;GAHO,EAIN,CAAC+J,UAAD,CAJM,CAAT;EAMA,OACE/3B,4BAAA,CAACC,mBAAD;IACE0nB,GAAG,EAAEiH,aAAa,CAAiB;MAAA,OAAM+E,OAAO,CAAC,KAAD,CAAb;KAAjB;GADpB,EAGE3zB,4BAAA,CAACusB,OAAD,oBACM9sB;IACJI,IAAI,EAAC;IACL6sB,WAAW,EAAE+K,OAAO,CAAC/K;IACrBT,IAAI,EAAEA;IACNvwB,KAAK,EAAEq8B;IACPnK,QAAQ,EAAEoK;IACVxT,IAAI,EAAE;MACJA,IAAI,EAAE;QACJA,IAAI,EACFxkB,4BAAA,CAACb,QAAD;UACEs4B,OAAO,EAAE,CAACA,OAAD,EAAUQ,UAAV;UACTvP,IAAI,EAAE,CAACA,IAAD,EAAOiL,OAAP;SAFR,CAFE;QAOJ9zB,IAAI,EAAE,KAPF;QAQJmkB,KAAK,EAAE;OATL;MAWJ6F,OAAO,EAAE;QAAA,OAAM8J,OAAO,CAAC,UAACr3B,IAAD;UAAA,OAAU,CAACA,IAAX;SAAD,CAAb;OAXL;MAYJ2qB,QAAQ,EAAE;;IAEZU,GAAG,EAAEA;IArBP,CAHF,EA2BE3nB,4BAAA,CAACyoB,IAAD;IACEC,IAAI,EAAEA;IACNC,KAAK,EAAE;MAAA,OAAMgL,OAAO,CAAC,KAAD,CAAb;;IACP/K,OAAO,EAAEA;IACT5E,KAAK,EAAC;IACNgD,SAAS,EAAC;IACVuB,QAAQ;IACR5qB,OAAO,EAAC;GAPV,CA3BF,CADF;AAuCD,CA9FW,CAAd;AAiGAm6B,KAAK,CAACxJ,WAAN,GAAoB,OAApB;;;AChLO,IAAMkF,mBAAiB,GAAGx1B,MAAM,CAACC,GAAV,kJAAvB;AAcP,AAAO,IAAM0mB,WAAS,GAAG3mB,MAAM,CAACC,GAAV,sUAIO;EAAA,IAAGqvB,SAAH,QAAGA,SAAH;MAAchvB,KAAd,QAAcA,KAAd;EAAA,OAA6BgvB,SAA7B,WAA4ChvB,KAAK,CAACxE,QAAN,CAAeG,EAA3D;AAAA,CAJP,EAST;EAAA,IAAGqE,KAAH,SAAGA,KAAH;EAAA,OACNA,KAAK,CAACxE,QAAN,CAAeE,EADT,WACiBsE,KAAK,CAACxE,QAAN,CAAeE,EADhC,SACsCsE,KAAK,CAACxE,QAAN,CAAeG,EADrD;AAAA,CATS,EAalB;MAAGwyB,gBAAAA;MAASnuB,cAAAA;EACZ,IAAI,CAACmuB,OAAL,EAAc;EAEd,OAAO/tB,GAAP,2GACWJ,KAAK,CAAC3G,MAAN,CAAa8B,UADxB;AAGD,CAnBmB,EAqBlB;MAAG+F,iBAAAA;EACH,IAAI,CAACA,QAAL,EAAe;EAEf,OAAOd,GAAP;AAGD,CA3BmB,CAAf;AA8BP,AAAO,IAAMS,QAAM,GAAGnB,MAAM,CAACoB,MAAV,uMAOf;MAAGyqB,gBAAAA;EACH,IAAI,CAACA,OAAL,EAAc;EAEd,OAAOnrB,GAAP;AAKD,CAfgB,CAAZ;;AChCP,IAAMy5B,UAAU,GAAGn4B,cAAK,CAAC8sB,UAAN,CACjB,UAACrtB,KAAD,EAAyBkoB,GAAzB;EACE,IAAQ+L,MAAR,GAA8Cj0B,KAA9C,CAAQi0B,MAAR;MAAgBh4B,KAAhB,GAA8C+D,KAA9C,CAAgB/D,KAAhB;MAAuBkyB,QAAvB,GAA8CnuB,KAA9C,CAAuBmuB,QAAvB;MAAiCwE,GAAjC,GAA8C3yB,KAA9C,CAAiC2yB,GAAjC;MAAsCD,GAAtC,GAA8C1yB,KAA9C,CAAsC0yB,GAAtC;EAEA,IAAM3yB,QAAQ,GAAGC,KAAK,CAACD,QAAN,IAAkBC,KAAK,CAACF,OAAzC;EAEA,IAAM64B,KAAK,GAAG77B,eAAe,CAAC,IAAIQ,IAAJ,EAAD,CAA7B;;EAEA,gBAAwBipB,QAAQ,CAAU,KAAV,CAAhC;MAAO0C,IAAP;MAAaiL,OAAb;;EAEA7L,SAAS,CAAC;IACR,IAAMtrB,IAAI,GAAGM,eAAe,CAACpB,KAAD,CAA5B;;IACA,IAAI,CAACc,IAAL,EAAW;MACToxB,QAAQ,CAACrxB,eAAe,CAAC,IAAIQ,IAAJ,EAAD,CAAhB,CAAR;;GAHK,EAKN,CAACrB,KAAD,CALM,CAAT;;EAOA,IAAM28B,KAAK,GAAG,SAARA,KAAQ;IACZ,IAAM77B,IAAI,GAAGM,eAAe,CAACpB,KAAD,CAAf,IAA0B,IAAIqB,IAAJ,EAAvC;IACAP,IAAI,CAAC40B,OAAL,CAAa50B,IAAI,CAACC,OAAL,KAAiB,CAA9B;IACA,IAAI01B,GAAG,IAAI31B,IAAI,GAAG21B,GAAlB,EAAuB;IACvBvE,QAAQ,CAACrxB,eAAe,CAACC,IAAD,CAAhB,CAAR;GAJF;;EAOA,IAAM87B,KAAK,GAAG,SAARA,KAAQ;IACZ,IAAM97B,IAAI,GAAGM,eAAe,CAACpB,KAAD,CAAf,IAA0B,IAAIqB,IAAJ,EAAvC;IACAP,IAAI,CAAC40B,OAAL,CAAa50B,IAAI,CAACC,OAAL,KAAiB,CAA9B;IACA,IAAI21B,GAAG,IAAI51B,IAAI,GAAG41B,GAAlB,EAAuB;IACvBxE,QAAQ,CAACrxB,eAAe,CAACC,IAAD,CAAhB,CAAR;GAJF;;EAOA,IAAMgoB,IAAI,GAAGkP,MAAM,GACf;IACElP,IAAI,EAAE;MACJ3kB,IAAI,EAAE,SADF;MAEJ2kB,IAAI,EAAE,UAFF;MAGJR,KAAK,EAAE;KAJX;IAMEiD,QAAQ,EAAE,OANZ;IAOE4C,OAAO,EAAE;MAAA,OAAM8J,OAAO,CAAC,UAACr3B,IAAD;QAAA,OAAU,CAACA,IAAX;OAAD,CAAb;;GARI,GAUf4sB,SAVJ;EAYA,IAAMwE,UAAU,GAAG3xB,YAAY,CAA8B0D,KAA9B,EAAqC,CAClE,QADkE,EAElE,KAFkE,EAGlE,KAHkE,CAArC,CAA/B;EAMA,OACEO,4BAAA,CAACC,mBAAD;IAAqB0nB,GAAG,EAAEiH,aAAa,CAAC;MAAA,OAAM+E,OAAO,CAAC,KAAD,CAAb;KAAD;GAAvC,EACE3zB,4BAAA,CAACusB,OAAD,oBAAWmB;IAAY7tB,IAAI,EAAC;IAAO2kB,IAAI,EAAEA;IAAMmD,GAAG,EAAEA;IAAKsF,YAAY;IAArE,CADF,EAGEjtB,4BAAA,CAACC,WAAD;IACEqtB,SAAS,EAAEoG,MAAM,GAAG,MAAH,GAAY;IAC7BjH,OAAO,EAAEhtB,KAAK,CAACgtB,OAAN,GAAgB,CAAhB,GAAoB;IAC7BjtB,QAAQ,EAAEC,KAAK,CAACD,QAAN,GAAiB,CAAjB,GAAqB;GAHjC,EAKEQ,4BAAA,CAACC,QAAD;IACEJ,IAAI,EAAC;IACLgqB,OAAO,EAAErqB,QAAQ,GAAG0pB,SAAH,GAAeoP;IAChC94B,QAAQ,EACNA,QAAQ,IACP;MACC,IAAI,CAAC4yB,GAAL,EAAU,OAAOlJ,SAAP;MACV,IAAM8E,CAAC,GAAGlxB,eAAe,CAACpB,KAAD,CAAzB;MACA,IAAI,CAACsyB,CAAL,EAAQ,OAAO9E,SAAP;MAER,OAAO8E,CAAC,IAAIoE,GAAZ;KALF;GALJ,EAcEpyB,4BAAA,CAAC8jB,IAAD;IACEjkB,IAAI,EAAC;IACL2kB,IAAI,EAAC;IACLnmB,KAAK,EAAEoB,KAAK,CAACgtB,OAAN,GAAgB,YAAhB,GAA+B;IACtCtI,WAAW,EAAC;GAJd,CAdF,CALF,EA2BEnkB,4BAAA,MAAA,MAAA,EAAMo4B,KAAK,KAAK18B,KAAV,GAAkB,MAAlB,GAA2BA,KAAjC,CA3BF,EA6BEsE,4BAAA,CAACC,QAAD;IACEJ,IAAI,EAAC;IACLgqB,OAAO,EAAErqB,QAAQ,GAAG0pB,SAAH,GAAemP;IAChC74B,QAAQ,EACNA,QAAQ,IACP;MACC,IAAI,CAAC2yB,GAAL,EAAU,OAAOjJ,SAAP;MACV,IAAM8E,CAAC,GAAGlxB,eAAe,CAACpB,KAAD,CAAzB;MACA,IAAI,CAACsyB,CAAL,EAAQ,OAAO9E,SAAP;MAER,OAAO8E,CAAC,IAAImE,GAAZ;KALF;GALJ,EAcEnyB,4BAAA,CAAC8jB,IAAD;IACEjkB,IAAI,EAAC;IACL2kB,IAAI,EAAC;IACLnmB,KAAK,EAAEoB,KAAK,CAACgtB,OAAN,GAAgB,YAAhB,GAA+B;IACtCtI,WAAW,EAAC;GAJd,CAdF,CA7BF,CAHF,EAuDGuE,IAAI,IACH1oB,4BAAA,CAAC2xB,QAAD;IACEK,WAAW,EAAEt2B,KAAK,GAAGoB,eAAe,CAACpB,KAAD,CAAlB,GAA4BwtB;IAC9CkK,QAAQ,EAAE;MACRvJ,OAAO,EAAE,iBAACrtB,IAAD;QACP,IAAI,CAACA,IAAL,EAAW;QACXoxB,QAAQ,CAACrxB,eAAe,CAACC,IAAD,CAAhB,CAAR;QACAm3B,OAAO,CAAC,KAAD,CAAP;;;IAGJvB,GAAG,EAAEA;IACLD,GAAG,EAAEA;IACLjL,UAAU,EAAE;MAAEzpB,MAAM,EAAE;;GAXxB,CAxDJ,CADF;AAyED,CA1HgB,CAAnB;AA6HA06B,UAAU,CAAC7J,WAAX,GAAyB,YAAzB;;;ACzIO,IAAMiK,cAAc,GAAGv6B,MAAM,CAACC,GAAV,yJACvB;EAAA,IAAGK,KAAH,QAAGA,KAAH;EAAA,OAAeA,KAAK,CAAConB,aAAN,CAAoB,GAApB,CAAf;AAAA,CADuB,CAApB;AAOP,AAAO,IAAMkH,OAAK,GAAG5uB,MAAM,CAACyrB,KAAV,kjCAET;EAAA,IAAGnrB,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeC,EAA9B;AAAA,CAFS,EAKd;MAAGyF,iBAAAA;;EACH,IAAI,CAACA,QAAL,EAAe;IACb,OAAOd,GAAP;;;EAMF,OAAOA,GAAP;AAGD,CAhBe,EAkBd;MAAGmuB,iBAAAA;EACH,IAAI,CAACA,QAAL,EAAe;EACf,OAAOnuB,GAAP,sKACM65B,cADN;AAOD,CA3Be,EA6Bd;MAAG9L,gBAAAA;;EACH,IAAI,CAACA,OAAL,EAAc;IACZ,OAAO/tB,GAAP,4OAEoB;MAAA,IAAGJ,KAAH,SAAGA,KAAH;MAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAac,SAA5B;KAFpB,EAKwB;MAAA,IAAG6F,KAAH,SAAGA,KAAH;MAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaI,IAA5B;KALxB;;;EASF,OAAO2G,GAAP,8NAEoB;IAAA,IAAGJ,KAAH,SAAGA,KAAH;IAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAa8B,UAA5B;GAFpB,EAKwB;IAAA,IAAG6E,KAAH,SAAGA,KAAH;IAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAa8B,UAA5B;GALxB;AAQD,CAhDe,EA4DC;EAAA,IAAG6E,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeI,EAA9B;AAAA,CA5DD,EA6DM;EAAA,IAAGoE,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAa4B,WAA5B;AAAA,CA7DN,EA6Ec;EAAA,IAAG+E,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,CAACE,QAAN,CAAe,OAAf,EAAwB,EAAxB,CAAf;AAAA,CA7Ed,EA8EE;EAAA,IAAGF,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeI,EAA9B;AAAA,CA9EF,EA+EG;EAAA,IAAGoE,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeI,EAA9B;AAAA,CA/EH,EAgFQ;EAAA,IAAGoE,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaC,KAA5B;AAAA,CAhFR,EAsFQ;EAAA,IAAG0G,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeI,EAA9B;AAAA,CAtFR,CAAX;;ACLP,IAAMs+B,MAAM,GAAG,SAATA,MAAS,CAAC/4B,KAAD;EACb,IAAQgqB,KAAR,GAA+ChqB,KAA/C,CAAQgqB,KAAR;MAAejqB,QAAf,GAA+CC,KAA/C,CAAeD,QAAf;MAAyBqtB,QAAzB,GAA+CptB,KAA/C,CAAyBotB,QAAzB;MAAmCJ,OAAnC,GAA+ChtB,KAA/C,CAAmCgtB,OAAnC;EAEA,IAAM3sB,SAAS,GAAG/D,YAAY,CAG5B0D,KAH4B,EAGrB,CAAC,OAAD,EAAU,SAAV,EAAqB,UAArB,CAHqB,CAA9B;EAKA,OACEO,4BAAA,CAACC,OAAD;IACET,QAAQ,EAAEA,QAAQ,GAAG,CAAH,GAAO;IACzBqtB,QAAQ,EAAEA,QAAQ,GAAG,CAAH,GAAO;IACzBJ,OAAO,EAAEA,OAAO,GAAG,CAAH,GAAO;GAHzB,EAKEzsB,4BAAA,QAAA,oBAAWF;IAAWD,IAAI,EAAC;IAA3B,CALF,EAMEG,4BAAA,OAAA,MAAA,CANF,EAQGypB,KAAK,IAAIzpB,4BAAA,CAACC,cAAD,MAAA,EAAmBwpB,KAAnB,CARZ,CADF;AAYD,CApBD;;;ACFA,IAAMgP,MAAM,GAAG/5B,GAAH,yQAED;EAAA,IAAGJ,KAAH,QAAGA,KAAH;EAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeI,EAA9B;AAAA,CAFC,EAGA;EAAA,IAAGoE,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeI,EAA9B;AAAA,CAHA,EAOU;EAAA,IAAGoE,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaC,KAA5B;AAAA,CAPV,EAQgB;EAAA,IAAG0G,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACE,QAAN,CAAe,OAAf,EAAwB,EAAxB,CAAf;AAAA,CARhB,CAAZ;AAWA,AAAO,IAAM+tB,OAAK,GAAGvuB,MAAM,CAACwuB,KAAV,ucAgBZiM,MAhBY,EAoBZA,MApBY,EAwBZA,MAxBY,CAAX;AAkCP,AAAO,IAAM7L,OAAK,GAAG5uB,MAAM,CAACyrB,KAAV,6RACd;EAAA,IAAGnrB,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAAConB,aAAN,CAAoB,GAApB,CAAf;AAAA,CADc,EAGP;EAAA,IAAG1B,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,IAAI,MAAxB;AAAA,CAHO,EAQd;MAAGxkB,iBAAAA;EACH,IAAI,CAACA,QAAL,EAAe;EAEf,OAAOd,GAAP;AAGD,CAde,EAkBG;EAAA,IAAGJ,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeC,EAA9B;AAAA,CAlBH,EAoBZ;MAAG8yB,iBAAAA;EACH,IAAI,CAACA,QAAL,EAAe;EAEf,OAAOnuB,GAAP;AAKD,CA5Ba,CAAX;AAoCP,AAAO,IAAMg6B,cAAc,GAAG16B,MAAM,CAACC,GAAV,mLASvB;MAAGK,eAAAA;MAAOmuB,iBAAAA;;EACV,IAAI,CAACA,OAAL,EAAc;IACZ,OAAO/tB,GAAP,0eACIi6B,YADJ,EAEwBr6B,KAAK,CAAC3G,MAAN,CAAaI,IAFrC,EAKIw0B,OALJ,EAQsBjuB,KAAK,CAAC3G,MAAN,CAAae,YARnC,EAYsB4F,KAAK,CAAC3G,MAAN,CAAae,YAZnC,EAgBsB4F,KAAK,CAAC3G,MAAN,CAAae,YAhBnC;;;EAsBF,OAAOgG,GAAP,scACIi6B,YADJ,EAEwBr6B,KAAK,CAAC3G,MAAN,CAAa8B,UAFrC,EAKI8yB,OALJ,EAQsBjuB,KAAK,CAAC3G,MAAN,CAAa8B,UARnC,EAYsB6E,KAAK,CAAC3G,MAAN,CAAa8B,UAZnC,EAgBsB6E,KAAK,CAAC3G,MAAN,CAAa8B,UAhBnC;AAoBD,CArDwB,CAApB;AAwDP,AAAO,IAAMm/B,oBAAoB,GAAG56B,MAAM,CAACC,GAAV,4HAA1B;AASP,AAAO,IAAM46B,eAAe,GAAG76B,MAAM,CAACC,GAAV,8HAIxB;MAAGgpB,kBAAAA;;EACH,IAAIA,QAAQ,KAAK,QAAjB,EAA2B;IACzB,OAAOvoB,GAAP,qUACIg6B,cADJ,EAKII,MALJ,EAWIF,oBAXJ;;;EAiBF,OAAOl6B,GAAP,6RACIg6B,cADJ,EAKII,MALJ,EAWIF,oBAXJ;AAeD,CAtCyB,CAArB;AA6CP,AAAO,IAAMD,YAAY,GAAG36B,MAAM,CAACC,GAAV,6VACH;EAAA,IAAGK,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,CAACE,QAAN,CAAe,aAAf,EAA8B,EAA9B,CAAf;AAAA,CADG,EAYZ;EAAA,IAAGkY,OAAH,UAAGA,OAAH;EAAA,OAAiBA,OAAjB;AAAA,CAZY,CAAlB;AAmBP,AAAO,IAAMqiB,gBAAgB,GAAG/6B,MAAM,CAACC,GAAV,qGAAtB;AASP,AAAO,IAAM66B,MAAM,GAAG96B,MAAM,CAACC,GAAV,kbAKT;EAAA,IAAGT,IAAH,UAAGA,IAAH;EAAA,OAAcA,IAAd;AAAA,CALS,EA2Bf;MAAGi7B,gBAAAA;MAAQn6B,eAAAA;EACX,IAAI,CAACm6B,MAAL,EAAa;EACb,OAAO/5B,GAAP,qXAQwBJ,KAAK,CAAC3G,MAAN,CAAae,YARrC,EASwB4F,KAAK,CAAC3G,MAAN,CAAaC,KATrC,EAU8B0G,KAAK,CAACE,QAAN,CAAe,OAAf,EAAwB,EAAxB,CAV9B;AAaD,CA1CgB,CAAZ;;ACvNP,IAAMw6B,UAAU,GAAG,SAAbA,UAAa,CACjBv5B,KADiB;EAUjB,IAAIA,KAAK,CAACw5B,OAAN,IAAiB,aAAax5B,KAAK,CAACw5B,OAAxC,EAAiD;IAC/C,IAAQC,OAAR,GAAmBz5B,KAAK,CAACw5B,OAAzB,CAAQC,MAAR;IACA,IAAMjS,QAAQ,GAAGxnB,KAAK,CAACw5B,OAAN,CAAchS,QAAd,IAA0B,QAA3C;;IAEA,IAAMgS,QAAO,GAAGx5B,KAAK,CAACw5B,OAAN,CAAcA,OAAd,CAAsBnmB,GAAtB,CAA0B,UAACqd,CAAD;MACxC,OAAOv0B,QAAQ,CAASu0B,CAAT,CAAR,GAAsBA,CAAtB,GAA0B;QAAE1G,KAAK,EAAE0G,CAAC,CAACt0B,QAAF,EAAT;QAAuBH,KAAK,EAAEy0B;OAA/D;KADc,CAAhB;;IAIA8I,QAAO,CAACE,IAAR,CAAa,UAACC,CAAD,EAAIC,CAAJ;MAAA,OAAUD,CAAC,CAAC19B,KAAF,GAAU29B,CAAC,CAAC39B,KAAtB;KAAb;;IAEA,IAAIw9B,OAAJ,EAAY;MACV,IAAM9G,KAAG,GAAG,CAAZ;;MACA,IAAMD,KAAG,GAAG8G,QAAO,CAAC7J,MAAR,GAAiB,CAA7B;;MACA,IAAMkK,MAAI,GAAG,CAAb;MAEA,OAAO;QACLlH,GAAG,EAAHA,KADK;QAELD,GAAG,EAAHA,KAFK;QAGLmH,IAAI,EAAJA,MAHK;QAILJ,MAAM,EAANA,OAJK;QAKLD,OAAO,EAAPA,QALK;QAMLhS,QAAQ,EAARA;OANF;;;IAUF,IAAMmL,IAAG,GAAG6G,QAAO,CAAC,CAAD,CAAP,CAAWv9B,KAAvB;IACA,IAAMy2B,IAAG,GAAG8G,QAAO,CAACA,QAAO,CAAC7J,MAAR,GAAiB,CAAlB,CAAP,CAA4B1zB,KAAxC;;IACA,IAAM49B,KAAI,GAAG75B,KAAK,CAAC65B,IAAN,GACTC,UAAU,MAAI95B,KAAK,CAAC65B,IAAV,CADD,GAETL,QAAO,CAAC,CAAD,CAAP,CAAWv9B,KAAX,GAAmBu9B,QAAO,CAAC,CAAD,CAAP,CAAWv9B,KAFlC;;IAIA,OAAO;MACL02B,GAAG,EAAHA,IADK;MAELD,GAAG,EAAHA,IAFK;MAGLmH,IAAI,EAAJA,KAHK;MAILJ,MAAM,EAANA,OAJK;MAKLD,OAAO,EAAPA,QALK;MAMLhS,QAAQ,EAARA;KANF;;;EAUF,IAAMgS,OAAO,GAAGx5B,KAAK,CAACw5B,OAAN,IAAiB,EAAjC;EACA,IAAMK,IAAI,GAAG75B,KAAK,CAAC65B,IAAN,GAAaC,UAAU,MAAI95B,KAAK,CAAC65B,IAAV,CAAvB,GAA2C,CAAxD;EACA,IAAMlH,GAAG,GAAG6G,OAAO,CAAC7G,GAAR,IAAe,CAA3B;EACA,IAAMD,GAAG,GAAG8G,OAAO,CAAC9G,GAAR,IAAe,GAA3B;EACA,IAAM+G,MAAM,GAAG,KAAf;EAEA,OAAO;IACL9G,GAAG,EAAHA,GADK;IAELD,GAAG,EAAHA,GAFK;IAGLmH,IAAI,EAAJA,IAHK;IAILJ,MAAM,EAANA,MAJK;IAKLD,OAAO,EAAE,EALJ;IAMLhS,QAAQ,EAAE;GANZ;AAQD,CAjED;;AAmEA,IAAMuS,KAAK,GAAGx5B,cAAK,CAAC8sB,UAAN,CACZ,UAACrtB,KAAD,EAAoBkoB,GAApB;EACE,IAAQ8B,KAAR,GACEhqB,KADF,CAAQgqB,KAAR;MAAegQ,QAAf,GACEh6B,KADF,CAAeg6B,QAAf;MAAyBC,QAAzB,GACEj6B,KADF,CAAyBi6B,QAAzB;MAAmCjN,OAAnC,GACEhtB,KADF,CAAmCgtB,OAAnC;MAA4CjtB,QAA5C,GACEC,KADF,CAA4CD,QAA5C;MAAsDqtB,QAAtD,GACEptB,KADF,CAAsDotB,QAAtD;MAAgE7I,KAAhE,GACEvkB,KADF,CAAgEukB,KAAhE;;EAGA,kBAAsDgV,UAAU,CAACv5B,KAAD,CAAhE;MAAQ2yB,GAAR,eAAQA,GAAR;MAAaD,GAAb,eAAaA,GAAb;MAAkB+G,MAAlB,eAAkBA,MAAlB;MAA0BD,OAA1B,eAA0BA,OAA1B;MAAmCK,IAAnC,eAAmCA,IAAnC;MAAyCrS,QAAzC,eAAyCA,QAAzC;;EAEA,IAAM0S,KAAK,GAAGxH,GAAG,GAAGC,GAApB;EACA,IAAM1b,OAAO,GAAG,MAAMijB,KAAtB;EACA,IAAMj+B,KAAK,GAAG+D,KAAK,CAAC/D,KAAN,KAAgBwtB,SAAhB,GAA4BqQ,UAAU,MAAI95B,KAAK,CAAC/D,KAAV,CAAtC,GAA2D02B,GAAzE;EACA,IAAMwH,KAAK,GAAGl+B,KAAK,GAAG02B,GAAtB;;EAEA,IAAI12B,KAAK,GAAG02B,GAAR,IAAe12B,KAAK,GAAGy2B,GAA3B,EAAgC;IAC9B,MAAM,IAAIzN,KAAJ,CAAU,eAAV,CAAN;;;EAGF,IAAMmV,SAAS,GAAGp6B,KAAK,CAACkuB,QAAN,IAAmB,cAArC;;EACA,IAAMA,QAAQ,GAA+CuL,MAAM,GAC/D,UAAChU,KAAD;IACE,IAAM+D,KAAK,GAAGoG,QAAQ,CAACnK,KAAK,CAACxH,MAAN,CAAahiB,KAAd,CAAtB;IACA,IAAMA,KAAK,GAAGu9B,OAAO,CAAChQ,KAAD,CAAP,CAAevtB,KAA7B;;IACAm+B,SAAS,CAAC3U,KAAD,EAAQxpB,KAAR,CAAT;GAJ6D,GAM/D,UAACwpB,KAAD;IACE,IAAMxpB,KAAK,GAAG69B,UAAU,CAACrU,KAAK,CAACxH,MAAN,CAAahiB,KAAd,CAAxB;;IACAm+B,SAAS,CAAC3U,KAAD,EAAQxpB,KAAR,CAAT;GARN;EAWA,IAAMgyB,UAAU,GAAG3xB,YAAY,CAI7B0D,KAJ6B,EAK7B,CACE,OADF,EAEE,UAFF,EAGE,UAHF,EAIE,SAJF,EAKE,UALF,EAME,OANF,EAOE,UAPF,EAQE,MARF,CAL6B,EAe7B;IACE2yB,GAAG,EAAHA,GADF;IAEED,GAAG,EAAHA,GAFF;IAGEmH,IAAI,EAAJA,IAHF;IAIE3L,QAAQ,EAARA;GAnB2B,CAA/B;EAuBA,OACE3tB,4BAAA,CAACC,OAAD;IACE4sB,QAAQ,EAAEA,QAAQ,GAAG,CAAH,GAAO;IACzBrtB,QAAQ,EAAEA,QAAQ,GAAG,CAAH,GAAO;IACzBwkB,KAAK,EAAEA;GAHT,EAKEhkB,4BAAA,MAAA,MAAA,EAAMypB,KAAN,CALF,EAOEzpB,4BAAA,CAACC,eAAD;IAAmBgnB,QAAQ,EAAEA;GAA7B,EACGwS,QAAQ,IACPz5B,4BAAA,CAACC,oBAAD,MAAA,EAAyBw5B,QAAzB,CAFJ,EAKEz5B,4BAAA,CAACC,cAAD;IAAkBwsB,OAAO,EAAEA,OAAO,GAAG,CAAH,GAAO;GAAzC,EACGwM,OAAO,CAAC7J,MAAR,GAAiB,CAAjB,IACCpvB,4BAAA,CAACC,gBAAD,MAAA,EACGg5B,OAAO,CAACnmB,GAAR,CAAY,UAACgnB,MAAD,EAAS7Q,KAAT;IACX,IAAI8Q,CAAC,GAAGd,OAAO,CAAC7J,MAAR,GAAiB,CAAzB;IACA,IAAI2K,CAAC,GAAGd,OAAO,CAAC7J,MAAR,GAAiB,CAAzB,EAA4B2K,CAAC,GAAGd,OAAO,CAAC7J,MAAR,GAAiB,CAArB;IAC5B,IAAM7H,CAAC,GAAG,KAAKwS,CAAf;IACA,IAAMpX,CAAC,GAAG,KAAK4E,CAAC,IAAIwS,CAAC,GAAG9Q,KAAR,CAAhB;IACA,IAAMhuB,CAAC,GAAGguB,KAAK,GAAGvS,OAAlB;IACA,IAAMlZ,IAAI,aAAWvC,CAAX,mBAA0B0nB,CAA1B,QAAV;IAEA,IAAM8V,MAAM,GAAGqB,MAAM,CAACp+B,KAAP,GAAeA,KAAf,GAAuB,CAAvB,GAA2B,CAA1C;IAEA,OACEsE,4BAAA,CAACC,MAAD;MAAU7E,GAAG,EAAE0+B,MAAM,CAACp+B;MAAO8B,IAAI,EAAEA;MAAMi7B,MAAM,EAAEA;KAAjD,EACGqB,MAAM,CAACrQ,KADV,CADF;GAVD,CADH,CAFJ,EAsBEzpB,4BAAA,MAAA,MAAA,EACEA,4BAAA,CAACC,OAAD;IAAS0nB,GAAG,EAAEA;KAAS+F,WAAvB,CADF,EAGE1tB,4BAAA,CAACC,YAAD;IAAgByW,OAAO,EAAEA;GAAzB,EACGkV,KAAK,CAACgO,KAAD,CAAL,CACEI,IADF,CACO,CADP,EAEElnB,GAFF,CAEM,UAACmnB,MAAD,EAAShR,KAAT;IAAA,OACHjpB,4BAAA,OAAA;MAAM5E,GAAG,EAAE6tB;KAAX,CADG;GAFN,CADH,CAHF,CAtBF,CALF,EAwCGyQ,QAAQ,IACP15B,4BAAA,CAACC,oBAAD,MAAA,EAAyBy5B,QAAzB,CAzCJ,CAPF,CADF;AAsDD,CAzGW,CAAd;AA4GAF,KAAK,CAAClL,WAAN,GAAoB,OAApB;;;ACnLO,IAAMiK,gBAAc,GAAGv6B,MAAM,CAACC,GAAV,mIACvB;EAAA,IAAGK,KAAH,QAAGA,KAAH;EAAA,OAAeA,KAAK,CAAConB,aAAN,CAAoB,GAApB,CAAf;AAAA,CADuB,CAApB;AAMP,AAAO,IAAMkH,OAAK,GAAG5uB,MAAM,CAACyrB,KAAV,0+BAET;EAAA,IAAGnrB,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeC,EAA9B;AAAA,CAFS,EAId;MAAGyF,iBAAAA;;EACH,IAAI,CAACA,QAAL,EAAe;IACb,OAAOd,GAAP;;;EAMF,OAAOA,GAAP;AAGD,CAfe,EAiBd;MAAGmuB,iBAAAA;EACH,IAAI,CAACA,QAAL,EAAe;EACf,OAAOnuB,GAAP,uKACM65B,gBADN;AAOD,CA1Be,EA4BhB;MAAG9L,gBAAAA;;EACD,IAAI,CAACA,OAAL,EAAc;IACZ,OAAO/tB,GAAP,4NAEoB;MAAA,IAAGJ,KAAH,SAAGA,KAAH;MAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaI,IAA5B;KAFpB,EAI0B;MAAA,IAAGuG,KAAH,SAAGA,KAAH;MAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaI,IAA5B;KAJ1B;;;EASF,OAAO2G,GAAP,8MAEoB;IAAA,IAAGJ,KAAH,SAAGA,KAAH;IAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAa8B,UAA5B;GAFpB,EAI0B;IAAA,IAAG6E,KAAH,SAAGA,KAAH;IAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAa8B,UAA5B;GAJ1B;AAQD,CA/Ce,EA4DM;EAAA,IAAG6E,KAAH,UAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaC,KAA5B;AAAA,CA5DN,CAAX;;ACJP,IAAMsiC,WAAW,GAAG,SAAdA,WAAc,CAACz6B,KAAD;EAClB,IAAQgqB,KAAR,GAA+ChqB,KAA/C,CAAQgqB,KAAR;MAAejqB,QAAf,GAA+CC,KAA/C,CAAeD,QAAf;MAAyBqtB,QAAzB,GAA+CptB,KAA/C,CAAyBotB,QAAzB;MAAmCJ,OAAnC,GAA+ChtB,KAA/C,CAAmCgtB,OAAnC;EAEA,IAAM3sB,SAAS,GAAG/D,YAAY,CAG5B0D,KAH4B,EAGrB,CAAC,OAAD,EAAU,SAAV,EAAqB,UAArB,CAHqB,CAA9B;EAKA,OACEO,4BAAA,CAACC,OAAD;IACET,QAAQ,EAAEA,QAAQ,GAAG,CAAH,GAAO;IACzBqtB,QAAQ,EAAEA,QAAQ,GAAG,CAAH,GAAO;IACzBJ,OAAO,EAAEA,OAAO,GAAG,CAAH,GAAO;GAHzB,EAKEzsB,4BAAA,QAAA,oBAAWF;IAAWD,IAAI,EAAC;IAA3B,CALF,EAMEG,4BAAA,OAAA,MAAA,CANF,EAQGypB,KAAK,IAAIzpB,4BAAA,CAACC,gBAAD,MAAA,EAAmBwpB,KAAnB,CARZ,CADF;AAYD,CApBD;;AC4CA,IAAM8C,OAAK,GAAGvsB,cAAK,CAAC8sB,UAAN,CACZ,UAACrtB,KAAD,EAAekoB,GAAf;EACE,QAAQloB,KAAK,CAACI,IAAd;IACE,KAAK,MAAL;MAAa;QACX,OAAOG,4BAAA,CAACjD,MAAD,oBAAU0C;UAAOkoB,GAAG,EAAEA;UAAtB,CAAP;;;IAEF,KAAK,MAAL;MAAa;QACX,OAAO3nB,4BAAA,CAACuvB,IAAD,oBAAU9vB;UAAOkoB,GAAG,EAAEA;UAAtB,CAAP;;;IAEF,KAAK,UAAL;MAAiB;QACf,OAAO3nB,4BAAA,CAAC2uB,QAAD,oBAAclvB;UAAOkoB,GAAG,EAAEA;UAA1B,CAAP;;;IAEF,KAAK,QAAL;MAAe;QACb,OAAO3nB,4BAAA,CAACk1B,MAAD,oBAAYz1B;UAAOkoB,GAAG,EAAEA;UAAxB,CAAP;;;IAEF,KAAK,iBAAL;MAAwB;QACtB,OAAO3nB,4BAAA,CAACk1B,MAAD,oBAAYz1B;UAAOkoB,GAAG,EAAEA;UAAxB,CAAP;;;IAEF,KAAK,UAAL;MAAiB;QACf,OAAO3nB,4BAAA,CAAC61B,QAAD,oBAAcp2B;UAAOkoB,GAAG,EAAEA;UAA1B,CAAP;;;IAEF,KAAK,OAAL;MAAc;QACZ,OAAO3nB,4BAAA,CAAC83B,KAAD,oBAAWr4B;UAAOkoB,GAAG,EAAEA;UAAvB,CAAP;;;IAEF,KAAK,YAAL;MAAmB;QACjB,OAAO3nB,4BAAA,CAACm4B,UAAD,oBAAgB14B;UAAOkoB,GAAG,EAAEA;UAA5B,CAAP;;;IAEF,KAAK,OAAL;MAAc;QACZ,OAAO3nB,4BAAA,CAACw5B,KAAD,oBAAW/5B;UAAOkoB,GAAG,EAAEA;UAAvB,CAAP;;;IAEF,KAAK,QAAL;MAAe;QACb,OAAO3nB,4BAAA,CAACw4B,MAAD,oBAAY/4B,MAAZ,CAAP;;;IAEF,KAAK,OAAL;MAAc;QACZ,OAAOO,4BAAA,CAACk6B,WAAD,oBAAiBz6B,MAAjB,CAAP;;;IAEF;MAAS;QACP,OAAOO,4BAAA,CAACm6B,OAAD,oBAAkB16B;UAAOkoB,GAAG,EAAEA;UAA9B,CAAP;;;AAGL,CAxCW,CAAd;AA2CA4E,OAAK,CAAC+B,WAAN,GAAoB,OAApB;;ACvFA,IAAM8L,MAAM,GAAG,SAATA,MAAS,CAAC36B,KAAD;EACb,IAAQ46B,EAAR,GAAiC56B,KAAjC,CAAQ46B,EAAR;MAAYC,MAAZ,GAAiC76B,KAAjC,CAAY66B,MAAZ;MAAoB56B,QAApB,GAAiCD,KAAjC,CAAoBC,QAApB;EAEA,IAAM66B,UAAU,GAAGvL,QAAQ,CAACwL,aAAT,CAAuB,KAAvB,CAAnB;EAEA1S,SAAS,CAAC;IACR,IAAIwS,MAAJ,EAAY;MACVC,UAAU,CAACF,EAAX,GAAgBA,EAAE,GAAG,OAArB;MAEArL,QAAQ,CAACyL,IAAT,CAAcC,WAAd,CAA0BH,UAA1B;MAEA,OAAO;QACLvL,QAAQ,CAACyL,IAAT,CAAcE,WAAd,CAA0BJ,UAA1B;OADF;;GANK,EAUN,CAACD,MAAD,CAVM,CAAT;EAYA,OAAOA,MAAM,GAAGM,YAAY,CAACl7B,QAAD,EAAW66B,UAAX,CAAf,GAAwC,IAArD;AACD,CAlBD;;ACLO,IAAMM,OAAO,GAAG;EACrB/7B,KAAK,EAAE,SADc;EAErBg8B,MAAM,EAAE,OAFa;EAGrB/7B,KAAK,EAAE,OAHc;EAIrBg8B,MAAM,EAAE,MAJa;EAKrB97B,OAAO,EAAE;AALY,CAAhB;AAQP,AAAO,IAAM+7B,MAAM,GAAG;EACpBl8B,KAAK,EAAE,SADa;EAEpBg8B,MAAM,EAAE,QAFY;EAGpB/7B,KAAK,EAAE,QAHa;EAIpBg8B,MAAM,EAAE,MAJY;EAKpB97B,OAAO,EAAE;AALW,CAAf;;;ACHA,IAAMg8B,UAAU,GAAGj9B,MAAM,CAACC,GAAV,+RAUD;EAAA,IAAGK,KAAH,QAAGA,KAAH;EAAA,OAAeA,KAAK,CAACE,QAAN,CAAe,OAAf,EAAwB,EAAxB,CAAf;AAAA,CAVC,CAAhB;AAaP,AAAO,IAAM08B,OAAO,GAAGl9B,MAAM,CAACC,GAAV,qHAAb;AAKP,AAAO,IAAM4yB,QAAM,GAAG7yB,MAAM,CAACC,GAAV,sKAKf;EAAA,wBAAGK,KAAH;MAAY3G,MAAZ,eAAYA,MAAZ;MAAoBmC,QAApB,eAAoBA,QAApB;MAA8B4rB,aAA9B,eAA8BA,aAA9B;EAAA,OAAoDhnB,GAApD,yJAC2B/G,MAAM,CAACe,YADlC,EAEWoB,QAAQ,CAACI,EAFpB,EAIEwrB,aAAa,CAAC,IAAD,CAJf;AAAA,CALe,CAAZ;AAaP,AAAO,IAAM+K,QAAM,GAAGzyB,MAAM,CAACC,GAAV,0KAKf;EAAA,wBAAGK,KAAH;MAAYxE,QAAZ,eAAYA,QAAZ;MAAsBnC,MAAtB,eAAsBA,MAAtB;EAAA,OAAqC+G,GAArC,0IACwB/G,MAAM,CAACe,YAD/B,EAEWoB,QAAQ,CAACG,EAFpB;AAAA,CALe,CAAZ;AAWP,AAAO,IAAMkhC,aAAa,GAAGn9B,MAAM,CAACC,GAAV,wOAQb;EAAA,IAAGK,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACE,QAAN,CAAe,UAAf,EAA2B,EAA3B,CAAf;AAAA,CARa,CAAnB;AAYP,AAAO,IAAM48B,aAAa,GAAGp9B,MAAM,CAACC,GAAV,qLAKjB;EAAA,IAAGK,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACxE,QAAN,CAAeG,EAA9B;AAAA,CALiB,CAAnB;AAQP,AAAO,IAAM0qB,WAAS,GAAG3mB,MAAM,CAACC,GAAV,0IAIlB;EAAA,IAAGK,KAAH,SAAGA,KAAH;MAAUJ,IAAV,SAAUA,IAAV;MAAgBm9B,UAAhB,SAAgBA,UAAhB;MAA4Bh9B,KAA5B,SAA4BA,KAA5B;MAAmCi9B,QAAnC,SAAmCA,QAAnC;EAAA,OAAkD58B,GAAlD,yQACoBJ,KAAK,CAAC3G,MAAN,CAAaC,KADjC,EAE2B0G,KAAK,CAACE,QAAN,CAAe,OAAf,EAAwB,EAAxB,CAF3B,EAISN,IAAI,KAAK,QAAT,IAAqBm9B,UAArB,GACLA,UAAU,CAACrX,KAAX,IAAoB,MADf,GAELgX,MAAM,CAAC98B,IAAD,CANV,EAQUA,IAAI,KAAK,QAAT,IAAqBm9B,UAArB,GACNA,UAAU,CAACpX,MAAX,IAAqB,MADf,GAEN4W,OAAO,CAAC38B,IAAD,CAVX,EAYE2yB,QAZF,EAasByK,QAAQ,GACxBh9B,KAAK,CAACi9B,WAAN,CAAkBl9B,KAAlB,CADwB,GAExBC,KAAK,CAAC3G,MAAN,CAAa0G,KAAb,CAfN,EAgBWi9B,QAAQ,GAAGh9B,KAAK,CAAC3G,MAAN,CAAa0G,KAAb,CAAH,GAAyBC,KAAK,CAACi9B,WAAN,CAAkBl9B,KAAlB,CAhB5C;AAAA,CAJkB,CAAf;;;ACnEP;AAUA,IAAMm9B,KAAK,GAAG,SAARA,KAAQ,CAAC/7B,KAAD;EACZ,IACEg8B,SADF,GAcIh8B,KAdJ,CACEg8B,SADF;MAEElW,KAFF,GAcI9lB,KAdJ,CAEE8lB,KAFF;MAGErnB,IAHF,GAcIuB,KAdJ,CAGEvB,IAHF;MAIEG,KAJF,GAcIoB,KAdJ,CAIEpB,KAJF;MAKEi9B,QALF,GAcI77B,KAdJ,CAKE67B,QALF;MAME57B,QANF,GAcID,KAdJ,CAMEC,QANF;MAOEC,OAPF,GAcIF,KAdJ,CAOEE,OAPF;MAQE+7B,MARF,GAcIj8B,KAdJ,CAQEi8B,MARF;MASEC,aATF,GAcIl8B,KAdJ,CASEk8B,aATF;MAUEp8B,OAVF,GAcIE,KAdJ,CAUEF,OAVF;MAWEq8B,UAXF,GAcIn8B,KAdJ,CAWEm8B,UAXF;MAYEC,mBAZF,GAcIp8B,KAdJ,CAYEo8B,mBAZF;MAaER,UAbF,GAcI57B,KAdJ,CAaE47B,UAbF;EAgBA,IAAO3S,IAAP,GAAwB+S,SAAxB;MAAa9H,OAAb,GAAwB8H,SAAxB;;EAEA,IAAMK,cAAc,GAAG,SAAjBA,cAAiB,CACrB5W,KADqB;;;IAGrB,IACE2W,mBAAmB,6BAClB3W,KAAK,CAACxH,MAAN,CAAgC0H,aADd,kDAClB,sBAA+CiV,EAFlD,EAGE;MACA1G,OAAO,CAAC,KAAD,CAAP;;GAPJ;;EAWA7L,SAAS,CAAC;IACR,IAAMiU,SAAS,GAAG,SAAZA,SAAY,CAAC7W,KAAD;MAChB,IAAI0W,UAAU,IAAI1W,KAAK,CAAC9pB,GAAN,KAAc,QAAhC,EAA0C;QACxC8pB,KAAK,CAAC6I,cAAN;QAEA4F,OAAO,CAAC,KAAD,CAAP;;KAJJ;;IAQA3E,QAAQ,CAACC,gBAAT,CAA0B,SAA1B,EAAqC8M,SAArC;IAEA,OAAO;MACL/M,QAAQ,CAACE,mBAAT,CAA6B,SAA7B,EAAwC6M,SAAxC;KADF;GAXO,EAcN,EAdM,CAAT;;EAgBA,IAAMh8B,KAAK,GAAG7B,IAAI,GAAG28B,OAAO,CAAC38B,IAAD,CAAV,GAAmB28B,OAAO,CAAC57B,OAA7C;;EAEA,OACEe,4BAAA,CAACo6B,MAAD;IAAQE,MAAM,EAAE5R,IAAI,IAAI;IAAO2R,EAAE,EAAC;GAAlC,EACEr6B,4BAAA,CAACC,UAAD;IAAc4pB,OAAO,EAAEiS;GAAvB,EACE97B,4BAAA,CAACC,WAAD;IACE/B,IAAI,EAAEA,IAAI,IAAI;IACdG,KAAK,EAAEA,KAAK,IAAI;IAChBi9B,QAAQ,EAAE,EAAEA,QAAQ,IAAI,KAAd;IACVD,UAAU,EAAEA;GAJd,EAMEr7B,4BAAA,CAACC,QAAD,MAAA,EAAWslB,KAAX,CANF,EAQEvlB,4BAAA,CAACC,OAAD,MAAA,EACGV,OAAO,GACNS,4BAAA,CAACjC,MAAD;IACEM,KAAK,EAAC;IACNH,IAAI,YAAU6B,KAAV;IACJ5B,UAAU,EAAC;GAHb,CADM,GAONuB,QAAQ,IAAIC,OARhB,CARF,EAoBEK,4BAAA,CAACC,QAAD,MAAA,EACED,4BAAA,CAACC,aAAD,MAAA,EACG07B,aAAa,KACX,OAAOA,aAAP,KAAyB,QAAzB,GACC37B,4BAAA,OAAA,MAAA,EAAO27B,aAAP,CADD,GAGCA,aAJU,CADhB,CADF,EAUE37B,4BAAA,CAACC,aAAD,MAAA,EACGy7B,MAAM,GACLA,MAAM,CAAC5oB,GAAP,CAAW,gBAA+BmW,KAA/B;IAAA,IAAGvpB,QAAH,QAAGA,QAAH;QAAgBs8B,WAAhB;;IAAA,OACTh8B,4BAAA,CAACb,QAAD;MAAQ/D,GAAG,EAAE6tB;OAAW+S,YAAxB,EACGt8B,QADH,CADS;GAAX,CADK,GAOLM,4BAAA,CAACb,QAAD;IACEQ,OAAO,EAAC;IACRtB,KAAK,EAAEA,KAAK,IAAI;IAChBwrB,OAAO,EAAE;MAAA,OAAM8J,OAAO,CAAC,KAAD,CAAb;;GAHX,CARJ,CAVF,CApBF,CADF,CADF,CADF;AAqDD,CArGD;;;ACRO,IAAMuH,SAAO,GAAGl9B,MAAM,CAACC,GAAV,mGACP;EAAA,IAAGK,KAAH,QAAGA,KAAH;EAAA,OAAkBA,KAAK,CAACxE,QAAN,CAAeK,EAAjC,SAAuCmE,KAAK,CAACxE,QAAN,CAAeI,EAAtD;AAAA,CADO,CAAb;;ACIP,IAAM+hC,aAAa,GAAG,SAAhBA,aAAgB,CAACx8B,KAAD;EACpB,IACEy8B,YADF,GASIz8B,KATJ,CACEy8B,YADF;MAEEC,aAFF,GASI18B,KATJ,CAEE08B,aAFF;MAGEV,SAHF,GASIh8B,KATJ,CAGEg8B,SAHF;MAIE97B,OAJF,GASIF,KATJ,CAIEE,OAJF;MAKED,QALF,GASID,KATJ,CAKEC,QALF;MAME6lB,KANF,GASI9lB,KATJ,CAME8lB,KANF;MAOEsW,mBAPF,GASIp8B,KATJ,CAOEo8B,mBAPF;MAQED,UARF,GASIn8B,KATJ,CAQEm8B,UARF;EAWA,OACE57B,4BAAA,CAACw7B,KAAD;IACEjW,KAAK,EAAE,aAAaA;IACpBsW,mBAAmB,EAAEA;IACrBD,UAAU,EAAEA;IACZH,SAAS,EAAEA;IACXv9B,IAAI,EAAC;IACLm9B,UAAU,EAAE;MAAErX,KAAK,EAAE;;IACrB3lB,KAAK,EAAC;IACNi9B,QAAQ;IACRI,MAAM,EAAE,CACN;MACEr8B,UAAU,EAAE,WADd;MAEEM,OAAO,EAAE,UAFX;MAGEkqB,OAAO,EAAEqS;KAJL,EAMN;MACE79B,KAAK,EAAE,MADT;MAEEsB,OAAO,EAAE,SAFX;MAGEkqB,OAAO,EAAEsS;KATL;GATV,EAsBEn8B,4BAAA,CAACC,SAAD,MAAA,EAAYP,QAAQ,IAAIC,OAAxB,CAtBF,CADF;AA0BD,CAtCD;;;ACJO,IAAMu7B,SAAO,GAAGl9B,MAAM,CAACC,GAAV,mGACP;EAAA,IAAGK,KAAH,QAAGA,KAAH;EAAA,OAAkBA,KAAK,CAACxE,QAAN,CAAeK,EAAjC,SAAuCmE,KAAK,CAACxE,QAAN,CAAeI,EAAtD;AAAA,CADO,CAAb;;ACIP,IAAMkiC,cAAc,GAAG,SAAjBA,cAAiB,CAAC38B,KAAD;EACrB,IACE48B,UADF,GASI58B,KATJ,CACE48B,UADF;MAEEH,YAFF,GASIz8B,KATJ,CAEEy8B,YAFF;MAGEC,aAHF,GASI18B,KATJ,CAGE08B,aAHF;MAIEV,SAJF,GASIh8B,KATJ,CAIEg8B,SAJF;MAKE97B,OALF,GASIF,KATJ,CAKEE,OALF;MAMED,QANF,GASID,KATJ,CAMEC,QANF;MAOEm8B,mBAPF,GASIp8B,KATJ,CAOEo8B,mBAPF;MAQED,UARF,GASIn8B,KATJ,CAQEm8B,UARF;EAWA,OACE57B,4BAAA,CAACw7B,KAAD;IACEjW,KAAK,EAAC;IACNsW,mBAAmB,EAAEA;IACrBD,UAAU,EAAEA;IACZH,SAAS,EAAEA;IACXv9B,IAAI,EAAC;IACLm9B,UAAU,EAAE;MAAErX,KAAK,EAAE;;IACrB3lB,KAAK,EAAC;IACNi9B,QAAQ;IACRI,MAAM,EAAE,CACN;MACEr8B,UAAU,EAAE,UADd;MAEEM,OAAO,EAAE,cAFX;MAGEkqB,OAAO,EAAEwS;KAJL,EAMN;MACEh9B,UAAU,EAAE,UADd;MAEEM,OAAO,EAAE,kBAFX;MAGEkqB,OAAO,EAAEqS;KATL,EAWN;MACEv8B,OAAO,EAAE,eADX;MAEEkqB,OAAO,EAAEsS;KAbL;GATV,EA0BEn8B,4BAAA,CAACC,SAAD,MAAA,EAAYP,QAAQ,IAAIC,OAAxB,CA1BF,CADF;AA8BD,CA1CD;;;ACJO,IAAMu7B,SAAO,GAAGl9B,MAAM,CAACC,GAAV,mGACP;EAAA,IAAGK,KAAH,QAAGA,KAAH;EAAA,OAAkBA,KAAK,CAACxE,QAAN,CAAeK,EAAjC,SAAuCmE,KAAK,CAACxE,QAAN,CAAeI,EAAtD;AAAA,CADO,CAAb;;ACIP,IAAMoiC,KAAK,GAAG,SAARA,KAAQ,CAAC78B,KAAD;EACZ,IACEy8B,YADF,GAQIz8B,KARJ,CACEy8B,YADF;MAEEC,aAFF,GAQI18B,KARJ,CAEE08B,aAFF;MAGEV,SAHF,GAQIh8B,KARJ,CAGEg8B,SAHF;MAIE97B,OAJF,GAQIF,KARJ,CAIEE,OAJF;MAKED,QALF,GAQID,KARJ,CAKEC,QALF;MAMEm8B,mBANF,GAQIp8B,KARJ,CAMEo8B,mBANF;MAOED,UAPF,GAQIn8B,KARJ,CAOEm8B,UAPF;EAUA,OACE57B,4BAAA,CAACw7B,KAAD;IACEjW,KAAK,EAAC;IACNsW,mBAAmB,EAAEA;IACrBD,UAAU,EAAEA;IACZH,SAAS,EAAEA;IACXv9B,IAAI,EAAC;IACLm9B,UAAU,EAAE;MAAErX,KAAK,EAAE;;IACrB3lB,KAAK,EAAC;IACNi9B,QAAQ;IACRI,MAAM,EAAE,CACN;MACEr8B,UAAU,EAAE,WADd;MAEEM,OAAO,EAAE,UAFX;MAGEkqB,OAAO,EAAEqS;KAJL,EAMN;MACEv8B,OAAO,EAAE,QADX;MAEEkqB,OAAO,EAAEsS;KARL;GATV,EAqBEn8B,4BAAA,CAACC,SAAD,MAAA,EAAYP,QAAQ,IAAIC,OAAxB,CArBF,CADF;AAyBD,CApCD;;ACKA,IAAM67B,OAAK,GAAkBjX,KAA7B;AAEAiX,OAAK,CAACS,aAAN,GAAsBA,aAAtB;AACAT,OAAK,CAACe,WAAN,GAAoBA,cAApB;AACAf,OAAK,CAACc,KAAN,GAAcA,KAAd;;;ACbO,IAAM3X,WAAS,GAAG3mB,MAAM,CAACC,GAAV,8SAOlB,UAACwB,KAAD;EAAA,OACAA,KAAK,CAACvB,IAAN,KAAe,MAAf,IACAQ,GADA,gIADA;AAAA,CAPkB,EAalB,UAACe,KAAD;EAAA,OACAA,KAAK,CAACvB,IAAN,KAAe,OAAf,IACAQ,GADA,iIADA;AAAA,CAbkB,EAmBhB,UAACe,KAAD;EAAA,OACFA,KAAK,CAACvB,IAAN,KAAe,QAAf,IACAQ,GADA,2GADE;AAAA,CAnBgB,EAwBlB,UAACe,KAAD;EAAA,OACAA,KAAK,CAACvB,IAAN,KAAe,KAAf,IACAQ,GADA,iIADA;AAAA,CAxBkB,EA+BlB,UAACe,KAAD;EAAA,OACAA,KAAK,CAAC+8B,UAAN,KAAqB,MAArB,IACA99B,GADA,yHADA;AAAA,CA/BkB,EAoChB,UAACe,KAAD;EAAA,OACFA,KAAK,CAAC+8B,UAAN,KAAqB,SAArB,IACA99B,GADA,yHADE;AAAA,CApCgB,EAyChB,UAACe,KAAD;EAAA,OACFA,KAAK,CAAC+8B,UAAN,KAAqB,SAArB,IACA99B,GADA,yHADE;AAAA,CAzCgB,EA+ChB,UAACe,KAAD;EAAA,OACFA,KAAK,CAAC+8B,UAAN,KAAqB,QAArB,IACA99B,GADA,yHADE;AAAA,CA/CgB,EAoDhB,UAACe,KAAD;EAAA,OACFA,KAAK,CAAC+8B,UAAN,KAAqB,MAArB,IACA99B,GADA,0HADE;AAAA,CApDgB,CAAf;;;ACFP;AAIA,IAAM+9B,IAAI,GAAG,SAAPA,IAAO;MAAG/8B,gBAAAA;MAAag9B;;EAC3B,OAAO18B,4BAAA,CAACC,WAAD,oBAAiBy8B,KAAjB,EAAwBh9B,QAAxB,CAAP;AACD,CAFD;;;ACDO,IAAMilB,WAAS,GAAG3mB,MAAM,CAACC,GAAV,wWAEX,UAACwB,KAAD;EAAA,OAAYA,KAAK,CAACvB,IAAN,KAAe,OAAf,GAAyB,OAAzB,GAAmC,OAA/C;AAAA,CAFW,EAOlB,UAACuB,KAAD;EAAA,OACAA,KAAK,CAACpB,KAAN,KAAgB,SAAhB,IACAK,GADA,sQADA;AAAA,CAPkB,EAqBlB,UAACe,KAAD;EAAA,OACAA,KAAK,CAACpB,KAAN,KAAgB,OAAhB,IACAK,GADA,oQADA;AAAA,CArBkB,EAmChB,UAACe,KAAD;EAAA,OACFA,KAAK,CAACpB,KAAN,KAAgB,SAAhB,IACAK,GADA,sQADE;AAAA,CAnCgB,CAAf;AA2DP,AAAO,IAAM4tB,eAAa,GAAGtuB,MAAM,CAACC,GAAV,mNAAnB;AASP,AAAO,IAAM0+B,WAAW,GAAG3+B,MAAM,CAACC,GAAV,+TAAjB;;AClEP,IAAM2+B,KAAK,GAAG,SAARA,KAAQ,CAACn9B,KAAD;EACZ,OACEO,4BAAA,CAACC,WAAD,oBAAiBR,MAAjB,EACEO,4BAAA,CAACC,eAAD,MAAA,EACED,4BAAA,CAACquB,IAAD;IAAQxuB,IAAI,EAAC;IAAU2kB,IAAI,EAAC;IAAIqF,OAAO,EAAE;MAAA,OAAMpqB,KAAK,CAACo9B,UAAN,EAAN;;GAAzC,CADF,CADF,EAIE78B,4BAAA,CAACC,WAAD,MAAA,EACED,4BAAA,KAAA,MAAA,EAAKP,KAAK,CAAC8lB,KAAX,CADF,EAEEvlB,4BAAA,IAAA,MAAA,KAAA,EAAKP,KAAK,CAAC4qB,WAAX,CAFF,CAJF,CADF;AAWD,CAZD;;;ACHO,IAAM1F,WAAS,GAAG3mB,MAAM,CAACC,GAAV,uKACT;EAAA,IAAGK,KAAH,QAAGA,KAAH;EAAA,OACNA,KAAK,CAACxE,QAAN,CAAeC,EADT,SACeuE,KAAK,CAACxE,QAAN,CAAeC,EAD9B,aACwCuE,KAAK,CAACxE,QAAN,CAAeC,EADvD;AAAA,CADS,EAGA;EAAA,IAAGuE,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAAC3G,MAAN,CAAaC,KAA5B;AAAA,CAHA,CAAf;;ACIP,IAAMklC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACr9B,KAAD;EACvB,IAAQqyB,IAAR,GAA6BryB,KAA7B,CAAQqyB,IAAR;MAAc5K,UAAd,GAA6BznB,KAA7B,CAAcynB,UAAd;;EAEA,WAA0BznB,KAAK,CAAC/D,KAAN,GACtB+D,KAAK,CAAC/D,KAAN,CAAYqhC,KADU,GAEtB/W,QAAQ,CAAc,IAAd,CAFZ;MAAO+W,KAAP;MAAcC,QAAd;;EAGA,YAAsBv9B,KAAK,CAAC/D,KAAN,GAClB+D,KAAK,CAAC/D,KAAN,CAAYuhC,GADM,GAElBjX,QAAQ,CAAc,IAAd,CAFZ;MAAOiX,GAAP;MAAYC,MAAZ;;EAIA,gBAAwClX,QAAQ,CAAU,KAAV,CAAhD;MAAOmX,YAAP;MAAqBC,eAArB;;EACA,iBAAoCpX,QAAQ,CAAU,KAAV,CAA5C;MAAOqX,UAAP;MAAmBC,aAAnB;;EAEA,IAAIlL,GAAJ;;EACA,IAAI3yB,KAAK,CAAC2yB,GAAV,EAAe;IACbA,GAAG,GAAG,IAAIr1B,IAAJ,CAAS0C,KAAK,CAAC2yB,GAAN,CAAUj1B,OAAV,EAAT,CAAN;;;EAGF,IAAIg1B,GAAJ;;EACA,IAAI1yB,KAAK,CAAC0yB,GAAV,EAAe;IACbA,GAAG,GAAG,IAAIp1B,IAAJ,CAAS0C,KAAK,CAAC0yB,GAAN,CAAUh1B,OAAV,EAAT,CAAN;;;EAGF,IAAIogC,MAAJ;;EACA,IAAIR,KAAJ,EAAW;IACTQ,MAAM,GAAGR,KAAT;;IACA,IAAI3K,GAAJ,EAAS;MACPmL,MAAM,GAAGR,KAAK,IAAI3K,GAAT,GAAe2K,KAAf,GAAuB3K,GAAhC;;GAHJ,MAKO,IAAIA,GAAJ,EAAS;IACdmL,MAAM,GAAGnL,GAAT;;;EAGF,IAAIoL,QAAJ;;EACA,IAAIP,GAAJ,EAAS;IACPO,QAAQ,GAAGP,GAAX;;IACA,IAAI9K,GAAJ,EAAS;MACPqL,QAAQ,GAAGP,GAAG,IAAI9K,GAAP,GAAa8K,GAAb,GAAmB9K,GAA9B;;GAHJ,MAKO,IAAIA,GAAJ,EAAS;IACdqL,QAAQ,GAAGrL,GAAX;;;EAGF,IAAMgB,SAAS,GAAG1zB,KAAK,CAAC2zB,QAAN,IAAkB,EAApC;;EACA,IAAMA,QAAQ;IACZ5zB,QAAQ,EAAE29B,YAAY,IAAIE,UADd;IAEZxT,OAAO,EAAE;KACNsJ,SAHS,CAAd;;EAMA,OACEnzB,4BAAA,CAAConB,iBAAD;IAAmBI,IAAI,EAAC;IAAIN,UAAU,EAAEA;GAAxC,EACElnB,4BAAA,CAACC,WAAD,MAAA,EACED,4BAAA,CAAC2xB,QAAD;IACEj2B,KAAK,EAAE,CAACqhC,KAAD,EAAQC,QAAR;IACP5K,GAAG,EAAEA;IACLD,GAAG,EAAEqL;IACL5L,OAAO,EAAE;MACP/xB,IAAI,EAAE,OADC;MAEPnE,KAAK,EAAEuhC;;IAETnL,IAAI,EAAEA;IACNrF,OAAO,EAAE,CAAC0Q,YAAD,EAAeC,eAAf;IACTrL,WAAW;GAVb,CADF,EAaE/xB,4BAAA,CAAC2xB,QAAD;IACEj2B,KAAK,EAAE,CAACuhC,GAAD,EAAMC,MAAN;IACP9K,GAAG,EAAEmL;IACLpL,GAAG,EAAEA;IACLP,OAAO,EAAE;MACP/xB,IAAI,EAAE,QADC;MAEPnE,KAAK,EAAEqhC;;IAETjL,IAAI,EAAEA;IACNrF,OAAO,EAAE,CAAC4Q,UAAD,EAAaC,aAAb;IACTvL,WAAW;IACXqB,QAAQ,EAAE;MACRvJ,OAAO,EAAE;QAAA,OAAMuJ,QAAQ,CAACvJ,OAAT,CAAiBkT,KAAjB,EAAwBE,GAAxB,CAAN;OADD;MAERz9B,QAAQ,EAAE4zB,QAAQ,CAAC5zB;;GAbvB,CAbF,CADF,CADF;AAkCD,CApFD;;;ACHO,IAAMmlB,WAAS,GAAG3mB,MAAM,CAACC,GAAV,2JAAf;AAOP,AAAO,IAAM4yB,QAAM,GAAG7yB,MAAM,CAACC,GAAV,oGAAZ;AAIP,AAAO,IAAMw/B,WAAW,GAAGz/B,MAAM,CAACC,GAAV,iJAAjB;AAMP,AAAO,IAAMy/B,aAAa,GAAG1/B,MAAM,CAACC,GAAV,uKAAnB;AAOP,AAAO,IAAM0/B,WAAW,GAAG3/B,MAAM,CAACC,GAAV,sGAAjB;AAIP,AAAO,IAAM2/B,UAAU,GAAG5/B,MAAM,CAACC,GAAV,4OACX,UAACwB,KAAD;EAAA,OAAWA,KAAK,CAACwkB,MAAjB;AAAA,CADW,EASnB,UAACxkB,KAAD;EAAA,OACAA,KAAK,CAACvB,IAAN,KAAe,MAAf,IACAQ,GADA,yGADA;AAAA,CATmB,EAcnB,UAACe,KAAD;EAAA,OACAA,KAAK,CAACvB,IAAN,KAAe,OAAf,IACAQ,GADA,yGADA;AAAA,CAdmB,EAoBjB,UAACe,KAAD;EAAA,OACFA,KAAK,CAACvB,IAAN,KAAe,QAAf,IACAQ,GADA,yGADE;AAAA,CApBiB,EA0BjB,UAACe,KAAD;EAAA,OACFA,KAAK,CAACvB,IAAN,KAAe,OAAf,IACAQ,GADA,2GADE;AAAA,CA1BiB,CAAhB;AAiCP,AAAO,IAAMm/B,QAAQ,GAAG7/B,MAAM,CAAC4/B,UAAD,CAAT,+HAAd;;AC5DP,IAAME,SAAS,GAAG,SAAZA,SAAY,CAACr+B,KAAD;EAChB,IAAI,CAACA,KAAK,CAACF,OAAX,EAAoB,OAAOS,4BAAA,CAACA,cAAK,CAACqpB,QAAP,MAAA,CAAP;EACpB,OACErpB,4BAAA,CAACC,WAAD,MAAA,EACED,4BAAA,CAACC,QAAD,MAAA,EACED,4BAAA,CAACC,WAAD,MAAA,CADF,EAEED,4BAAA,CAACC,aAAD,MAAA,EACED,4BAAA,CAACC,UAAD;IAAc/B,IAAI,EAAC;IAAS+lB,MAAM,EAAC;IAAM5lB,KAAK,EAAC;GAA/C,CADF,EAEE2B,4BAAA,CAACC,UAAD;IAAc/B,IAAI,EAAC;IAAQ+lB,MAAM,EAAC;IAAM5lB,KAAK,EAAC;GAA9C,CAFF,CAFF,CADF,EAQE2B,4BAAA,CAACC,WAAD,MAAA,EACED,4BAAA,CAACC,QAAD;IAAY/B,IAAI,EAAC;IAAS+lB,MAAM,EAAC;IAAM5lB,KAAK,EAAC;GAA7C,CADF,EAEE2B,4BAAA,CAACC,QAAD;IAAY/B,IAAI,EAAC;IAAQ+lB,MAAM,EAAC;IAAM5lB,KAAK,EAAC;GAA5C,CAFF,EAGE2B,4BAAA,CAACC,QAAD;IAAY/B,IAAI,EAAC;IAAO+lB,MAAM,EAAC;IAAM5lB,KAAK,EAAC;GAA3C,CAHF,EAIE2B,4BAAA,CAACC,QAAD;IAAY/B,IAAI,EAAC;IAAS+lB,MAAM,EAAC;IAAM5lB,KAAK,EAAC;GAA7C,CAJF,EAKE2B,4BAAA,CAACC,QAAD;IAAY/B,IAAI,EAAC;IAAQ+lB,MAAM,EAAC;IAAM5lB,KAAK,EAAC;GAA5C,CALF,CARF,CADF;AAkBD,CApBD;;;ACDO,IAAMu/B,YAAU,GAAG5/B,MAAM,CAACC,GAAV,0OACX,UAACwB,KAAD;EAAA,OAAWA,KAAK,CAACwkB,MAAjB;AAAA,CADW,EASnB,UAACxkB,KAAD;EAAA,OACAA,KAAK,CAACvB,IAAN,KAAe,MAAf,IACAQ,GADA,yGADA;AAAA,CATmB,EAcnB,UAACe,KAAD;EAAA,OACAA,KAAK,CAACvB,IAAN,KAAe,OAAf,IACAQ,GADA,yGADA;AAAA,CAdmB,EAoBjB,UAACe,KAAD;EAAA,OACFA,KAAK,CAACvB,IAAN,KAAe,QAAf,IACAQ,GADA,yGADE;AAAA,CApBiB,EA0BjB,UAACe,KAAD;EAAA,OACFA,KAAK,CAACvB,IAAN,KAAe,OAAf,IACAQ,GADA,yGADE;AAAA,CA1BiB,CAAhB;;;ACCA,IAAMimB,WAAS,GAAG3mB,MAAM,CAACC,GAAV,8JAAf;AAOP,AAAO,IAAM8/B,kBAAkB,GAAG//B,MAAM,CAAC2mB,WAAD,CAAT,qIAAxB;AAKP,AAAO,IAAMkM,QAAM,GAAG7yB,MAAM,CAACC,GAAV,oGAAZ;AAIP,AAAO,IAAMw/B,aAAW,GAAGz/B,MAAM,CAACC,GAAV,iJAAjB;AAMP,AAAO,IAAMy/B,eAAa,GAAG1/B,MAAM,CAACC,GAAV,uKAAnB;AAOP,AAAO,IAAM0/B,aAAW,GAAG3/B,MAAM,CAACC,GAAV,sGAAjB;AAIP,AAAO,IAAM4/B,UAAQ,GAAG7/B,MAAM,CAACggC,YAAD,CAAT,6HAAd;AAKP,AAAO,IAAMJ,YAAU,GAAG5/B,MAAM,CAACggC,YAAD,CAAT,gFAAhB;;ACrCP,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACx+B,KAAD;EAChB,IAAI,CAACA,KAAK,CAACF,OAAX,EAAoB,OAAOS,4BAAA,CAACA,cAAK,CAACqpB,QAAP,MAAA,CAAP;EACpB,OACErpB,4BAAA,CAACC,kBAAD,MAAA,EACED,4BAAA,CAACC,QAAD,MAAA,EACED,4BAAA,CAACC,aAAD,MAAA,CADF,EAEED,4BAAA,CAACC,eAAD,MAAA,EACED,4BAAA,CAACC,YAAD;IAAc/B,IAAI,EAAC;IAAO+lB,MAAM,EAAC;IAAM5lB,KAAK,EAAC;GAA7C,CADF,EAEE2B,4BAAA,CAACC,YAAD;IAAc/B,IAAI,EAAC;IAAO+lB,MAAM,EAAC;IAAM5lB,KAAK,EAAC;GAA7C,CAFF,CAFF,CADF,EAQE2B,4BAAA,CAACC,aAAD,MAAA,EACED,4BAAA,CAACC,UAAD;IAAY/B,IAAI,EAAC;IAAO+lB,MAAM,EAAC;IAAM5lB,KAAK,EAAC;GAA3C,CADF,EAEE2B,4BAAA,CAACC,UAAD;IAAY/B,IAAI,EAAC;IAAO+lB,MAAM,EAAC;IAAM5lB,KAAK,EAAC;GAA3C,CAFF,CARF,CADF;AAeD,CAjBD;;;ACFO,IAAMsmB,WAAS,GAAG3mB,MAAM,CAACC,GAAV,8JAAf;AAOP,AAAO,IAAMigC,kBAAkB,GAAGlgC,MAAM,CAAC2mB,WAAD,CAAT,gFAAxB;AACP,AAAO,IAAMwZ,aAAa,GAAGngC,MAAM,CAAC4/B,YAAD,CAAT,kIAEd,UAACn+B,KAAD;EAAA,OAAWA,KAAK,CAACwkB,MAAjB;AAAA,CAFc,CAAnB;;ACPP,IAAMma,SAAS,GAAG,SAAZA,SAAY,CAAC3+B,KAAD;EAChB,IAAI,CAACA,KAAK,CAACF,OAAX,EAAoB,OAAOS,4BAAA,CAACA,cAAK,CAACqpB,QAAP,MAAA,CAAP;EACpB,OACErpB,4BAAA,CAACC,kBAAD,MAAA,EACED,4BAAA,CAACC,aAAD;IAAiB/B,IAAI,EAAC;IAAQ+lB,MAAM,EAAC;IAAM5lB,KAAK,EAAC;GAAjD,CADF,EAEE2B,4BAAA,CAACC,aAAD;IAAiB/B,IAAI,EAAC;IAAQ+lB,MAAM,EAAC;IAAM5lB,KAAK,EAAC;GAAjD,CAFF,EAGE2B,4BAAA,CAACC,aAAD;IAAiB/B,IAAI,EAAC;IAAS+lB,MAAM,EAAC;IAAM5lB,KAAK,EAAC;GAAlD,CAHF,EAIE2B,4BAAA,CAACC,aAAD;IAAiB/B,IAAI,EAAC;IAAQ+lB,MAAM,EAAC;IAAM5lB,KAAK,EAAC;GAAjD,CAJF,EAKE2B,4BAAA,CAACC,aAAD;IAAiB/B,IAAI,EAAC;IAAO+lB,MAAM,EAAC;IAAM5lB,KAAK,EAAC;GAAhD,CALF,CADF;AASD,CAXD;;;ACDO,IAAMsmB,WAAS,GAAG3mB,MAAM,CAACC,GAAV,8JAAf;AAMP,AAAO,IAAM2/B,YAAU,GAAG5/B,MAAM,CAACC,GAAV,4OACX,UAACwB,KAAD;EAAA,OAAWA,KAAK,CAACwkB,MAAjB;AAAA,CADW,EASnB,UAACxkB,KAAD;EAAA,OACAA,KAAK,CAACvB,IAAN,KAAe,MAAf,IACAQ,GADA,yGADA;AAAA,CATmB,EAcnB,UAACe,KAAD;EAAA,OACAA,KAAK,CAACvB,IAAN,KAAe,OAAf,IACAQ,GADA,yGADA;AAAA,CAdmB,EAoBjB,UAACe,KAAD;EAAA,OACFA,KAAK,CAACvB,IAAN,KAAe,QAAf,IACAQ,GADA,yGADE;AAAA,CApBiB,EA0BjB,UAACe,KAAD;EAAA,OACFA,KAAK,CAACvB,IAAN,KAAe,OAAf,IACAQ,GADA,yGADE;AAAA,CA1BiB,CAAhB;AAgCP,AAAO,IAAM2/B,kBAAkB,GAAGrgC,MAAM,CAAC2mB,WAAD,CAAT,uIAAxB;AAIP,AAAO,IAAM2Z,UAAU,GAAGtgC,MAAM,CAAC4/B,YAAD,CAAT,+IACZ,UAACn+B,KAAD;EAAA,OAAWA,KAAK,CAACukB,KAAjB;AAAA,CADY,EAEX,UAACvkB,KAAD;EAAA,OAAWA,KAAK,CAACwkB,MAAjB;AAAA,CAFW,EAGD,UAACxkB,KAAD;EAAA,OAAWA,KAAK,CAACpB,KAAjB;AAAA,CAHC,CAAhB;;AC1CP,IAAMkgC,SAAS,GAAG,SAAZA,SAAY,CAAC9+B,KAAD;EAChB,IAAI,CAACA,KAAK,CAACF,OAAX,EAAoB,OAAOS,4BAAA,CAACA,cAAK,CAACqpB,QAAP,MAAA,CAAP;EACpB,OACErpB,4BAAA,CAACC,kBAAD,MAAA,EACED,4BAAA,CAACC,UAAD;IAAc/B,IAAI,EAAC;IAAQ+lB,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAU2lB,KAAK,EAAC;GAA/D,CADF,EAEEhkB,4BAAA,CAACC,UAAD;IAAc/B,IAAI,EAAC;IAAQ+lB,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAU2lB,KAAK,EAAC;GAA/D,CAFF,EAGEhkB,4BAAA,CAACC,UAAD;IAAc/B,IAAI,EAAC;IAAQ+lB,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAU2lB,KAAK,EAAC;GAA/D,CAHF,EAIEhkB,4BAAA,CAACC,UAAD;IAAc/B,IAAI,EAAC;IAAQ+lB,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAU2lB,KAAK,EAAC;GAA/D,CAJF,EAKEhkB,4BAAA,CAACC,UAAD;IAAc/B,IAAI,EAAC;IAAQ+lB,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAU2lB,KAAK,EAAC;GAA/D,CALF,EAMEhkB,4BAAA,CAACC,UAAD;IAAc/B,IAAI,EAAC;IAAQ+lB,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAU2lB,KAAK,EAAC;GAA/D,CANF,EAOEhkB,4BAAA,CAACC,UAAD;IAAc/B,IAAI,EAAC;IAAQ+lB,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAU2lB,KAAK,EAAC;GAA/D,CAPF,EAQEhkB,4BAAA,CAACC,UAAD;IAAc/B,IAAI,EAAC;IAAQ+lB,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAU2lB,KAAK,EAAC;GAA/D,CARF,CADF;AAYD,CAdD;;;ACDO,IAAMW,WAAS,GAAG3mB,MAAM,CAACC,GAAV,8RAAf;AAYP,AAAO,IAAMugC,MAAM,GAAGxgC,MAAM,CAACC,GAAV,0KAAZ;AAOP,AAAO,IAAM2/B,YAAU,GAAG5/B,MAAM,CAACC,GAAV,4OACX,UAACwB,KAAD;EAAA,OAAWA,KAAK,CAACwkB,MAAjB;AAAA,CADW,EASnB,UAACxkB,KAAD;EAAA,OACAA,KAAK,CAACvB,IAAN,KAAe,MAAf,IACAQ,GADA,yGADA;AAAA,CATmB,EAcnB,UAACe,KAAD;EAAA,OACAA,KAAK,CAACvB,IAAN,KAAe,OAAf,IACAQ,GADA,yGADA;AAAA,CAdmB,EAoBjB,UAACe,KAAD;EAAA,OACFA,KAAK,CAACvB,IAAN,KAAe,QAAf,IACAQ,GADA,yGADE;AAAA,CApBiB,EA0BjB,UAACe,KAAD;EAAA,OACFA,KAAK,CAACvB,IAAN,KAAe,OAAf,IACAQ,GADA,yGADE;AAAA,CA1BiB,CAAhB;AAiCP,AAAO,IAAM4/B,YAAU,GAAGtgC,MAAM,CAAC4/B,YAAD,CAAT,+IACZ,UAACn+B,KAAD;EAAA,OAAWA,KAAK,CAACukB,KAAjB;AAAA,CADY,EAEX,UAACvkB,KAAD;EAAA,OAAWA,KAAK,CAACwkB,MAAjB;AAAA,CAFW,EAGD,UAACxkB,KAAD;EAAA,OAAWA,KAAK,CAACpB,KAAjB;AAAA,CAHC,CAAhB;AAMP,AAAO,IAAMs/B,aAAW,GAAG3/B,MAAM,CAACC,GAAV,oHAAjB;;ACxDP,IAAMwgC,SAAS,GAAG,SAAZA,SAAY,CAACh/B,KAAD;EAChB,IAAI,CAACA,KAAK,CAACF,OAAX,EAAoB,OAAOS,4BAAA,CAACA,cAAK,CAACqpB,QAAP,MAAA,CAAP;EACpB,OACErpB,4BAAA,CAACC,WAAD,MAAA,EACED,4BAAA,CAACC,MAAD,MAAA,CADF,EAEED,4BAAA,CAACC,aAAD,MAAA,EACED,4BAAA,CAACC,YAAD;IACE+jB,KAAK,EAAC;IACNC,MAAM,EAAC;IACP5lB,KAAK,EAAC;IACNH,IAAI,EAAC;GAJP,CADF,EAOE8B,4BAAA,CAACC,YAAD;IACE+jB,KAAK,EAAC;IACNC,MAAM,EAAC;IACP5lB,KAAK,EAAC;IACNH,IAAI,EAAC;GAJP,CAPF,EAaE8B,4BAAA,CAACC,YAAD;IACE+jB,KAAK,EAAC;IACNC,MAAM,EAAC;IACP5lB,KAAK,EAAC;IACNH,IAAI,EAAC;GAJP,CAbF,EAmBE8B,4BAAA,CAACC,YAAD;IACE+jB,KAAK,EAAC;IACNC,MAAM,EAAC;IACP5lB,KAAK,EAAC;IACNH,IAAI,EAAC;GAJP,CAnBF,CAFF,CADF;AA+BD,CAjCD;;;ACFO,IAAMymB,WAAS,GAAG3mB,MAAM,CAACC,GAAV,8MAAf;AASP,AAAO,IAAM4yB,QAAM,GAAG7yB,MAAM,CAACC,GAAV,6KAAZ;AAOP,AAAO,IAAMwyB,QAAM,GAAGzyB,MAAM,CAACC,GAAV,qJAAZ;AAMP,AAAO,IAAM2/B,YAAU,GAAG5/B,MAAM,CAACC,GAAV,4OACX,UAACwB,KAAD;EAAA,OAAWA,KAAK,CAACwkB,MAAjB;AAAA,CADW,EASnB,UAACxkB,KAAD;EAAA,OACAA,KAAK,CAACvB,IAAN,KAAe,MAAf,IACAQ,GADA,yGADA;AAAA,CATmB,EAcnB,UAACe,KAAD;EAAA,OACAA,KAAK,CAACvB,IAAN,KAAe,OAAf,IACAQ,GADA,yGADA;AAAA,CAdmB,EAoBjB,UAACe,KAAD;EAAA,OACFA,KAAK,CAACvB,IAAN,KAAe,QAAf,IACAQ,GADA,yGADE;AAAA,CApBiB,EA0BjB,UAACe,KAAD;EAAA,OACFA,KAAK,CAACvB,IAAN,KAAe,OAAf,IACAQ,GADA,yGADE;AAAA,CA1BiB,CAAhB;AAiCP,AAAO,IAAM4/B,YAAU,GAAGtgC,MAAM,CAAC4/B,YAAD,CAAT,+KACZ,UAACn+B,KAAD;EAAA,OAAWA,KAAK,CAACukB,KAAjB;AAAA,CADY,EAEX,UAACvkB,KAAD;EAAA,OAAWA,KAAK,CAACwkB,MAAjB;AAAA,CAFW,EAGD,UAACxkB,KAAD;EAAA,OAAWA,KAAK,CAACpB,KAAjB;AAAA,CAHC,CAAhB;;ACrDP,IAAMqgC,SAAS,GAAG,SAAZA,SAAY,CAACj/B,KAAD;EAChB,IAAI,CAACA,KAAK,CAACF,OAAX,EAAoB,OAAOS,4BAAA,CAACA,cAAK,CAACqpB,QAAP,MAAA,CAAP;EACpB,OACErpB,4BAAA,CAACC,WAAD,MAAA,EACED,4BAAA,CAACC,QAAD,MAAA,EACED,4BAAA,CAACC,YAAD;IACE+jB,KAAK,EAAC;IACNC,MAAM,EAAC;IACP5lB,KAAK,EAAC;IACNH,IAAI,EAAC;GAJP,CADF,EAOE8B,4BAAA,CAACC,YAAD;IACE+jB,KAAK,EAAC;IACNC,MAAM,EAAC;IACP5lB,KAAK,EAAC;IACNH,IAAI,EAAC;GAJP,CAPF,EAaE8B,4BAAA,CAACC,YAAD;IACE+jB,KAAK,EAAC;IACNC,MAAM,EAAC;IACP5lB,KAAK,EAAC;IACNH,IAAI,EAAC;GAJP,CAbF,CADF,CADF;AAwBD,CA1BD;;;ACFO,IAAMymB,WAAS,GAAG3mB,MAAM,CAACC,GAAV,4OAAf;AASP,AAAO,IAAM4yB,QAAM,GAAG7yB,MAAM,CAACC,GAAV,6LAAZ;AAQP,AAAO,IAAM2/B,YAAU,GAAG5/B,MAAM,CAACC,GAAV,4OACX,UAACwB,KAAD;EAAA,OAAWA,KAAK,CAACwkB,MAAjB;AAAA,CADW,EASnB,UAACxkB,KAAD;EAAA,OACAA,KAAK,CAACvB,IAAN,KAAe,MAAf,IACAQ,GADA,yGADA;AAAA,CATmB,EAcnB,UAACe,KAAD;EAAA,OACAA,KAAK,CAACvB,IAAN,KAAe,OAAf,IACAQ,GADA,yGADA;AAAA,CAdmB,EAoBjB,UAACe,KAAD;EAAA,OACFA,KAAK,CAACvB,IAAN,KAAe,QAAf,IACAQ,GADA,yGADE;AAAA,CApBiB,EA0BjB,UAACe,KAAD;EAAA,OACFA,KAAK,CAACvB,IAAN,KAAe,OAAf,IACAQ,GADA,yGADE;AAAA,CA1BiB,CAAhB;AAiCP,AAAO,IAAM4/B,YAAU,GAAGtgC,MAAM,CAAC4/B,YAAD,CAAT,+KACZ,UAACn+B,KAAD;EAAA,OAAWA,KAAK,CAACukB,KAAjB;AAAA,CADY,EAEX,UAACvkB,KAAD;EAAA,OAAWA,KAAK,CAACwkB,MAAjB;AAAA,CAFW,EAGD,UAACxkB,KAAD;EAAA,OAAWA,KAAK,CAACpB,KAAjB;AAAA,CAHC,CAAhB;AAOP,AAAO,IAAMsgC,IAAI,GAAG3gC,MAAM,CAACC,GAAV,yMAAV;AAOP,AAAO,IAAMugC,QAAM,GAAGxgC,MAAM,CAACC,GAAV,6LAAZ;;AC9DP,IAAM2gC,SAAS,GAAG,SAAZA,SAAY,CAACn/B,KAAD;EAChB,IAAI,CAACA,KAAK,CAACF,OAAX,EAAoB,OAAOS,4BAAA,CAACA,cAAK,CAACqpB,QAAP,MAAA,CAAP;EACpB,OACErpB,4BAAA,CAACC,WAAD,MAAA,EACED,4BAAA,CAACC,QAAD,MAAA,EACED,4BAAA,CAACC,YAAD;IAAc+jB,KAAK,EAAC;IAAOC,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAUH,IAAI,EAAC;GAA9D,CADF,CADF,EAIE8B,4BAAA,CAACC,IAAD,MAAA,EACED,4BAAA,CAACC,QAAD,MAAA,CADF,EAEED,4BAAA,CAACC,QAAD,MAAA,CAFF,EAGED,4BAAA,CAACC,QAAD,MAAA,CAHF,EAIED,4BAAA,CAACC,QAAD,MAAA,CAJF,EAKED,4BAAA,CAACC,QAAD,MAAA,CALF,CAJF,CADF;AAcD,CAhBD;;;ACFO,IAAM0kB,WAAS,GAAG3mB,MAAM,CAACC,GAAV,4OAAf;AASP,AAAO,IAAM4yB,QAAM,GAAG7yB,MAAM,CAACC,GAAV,6LAAZ;AAQP,AAAO,IAAM2/B,YAAU,GAAG5/B,MAAM,CAACC,GAAV,4OACX,UAACwB,KAAD;EAAA,OAAWA,KAAK,CAACwkB,MAAjB;AAAA,CADW,EASnB,UAACxkB,KAAD;EAAA,OACAA,KAAK,CAACvB,IAAN,KAAe,MAAf,IACAQ,GADA,yGADA;AAAA,CATmB,EAcnB,UAACe,KAAD;EAAA,OACAA,KAAK,CAACvB,IAAN,KAAe,OAAf,IACAQ,GADA,yGADA;AAAA,CAdmB,EAoBjB,UAACe,KAAD;EAAA,OACFA,KAAK,CAACvB,IAAN,KAAe,QAAf,IACAQ,GADA,yGADE;AAAA,CApBiB,EA0BjB,UAACe,KAAD;EAAA,OACFA,KAAK,CAACvB,IAAN,KAAe,OAAf,IACAQ,GADA,yGADE;AAAA,CA1BiB,CAAhB;AAiCP,AAAO,IAAM4/B,YAAU,GAAGtgC,MAAM,CAAC4/B,YAAD,CAAT,+KACZ,UAACn+B,KAAD;EAAA,OAAWA,KAAK,CAACukB,KAAjB;AAAA,CADY,EAEX,UAACvkB,KAAD;EAAA,OAAWA,KAAK,CAACwkB,MAAjB;AAAA,CAFW,EAGD,UAACxkB,KAAD;EAAA,OAAWA,KAAK,CAACpB,KAAjB;AAAA,CAHC,CAAhB;AAOP,AAAO,IAAMsgC,MAAI,GAAG3gC,MAAM,CAACC,GAAV,6LAAV;;ACvDP,IAAM4gC,SAAS,GAAG,SAAZA,SAAY,CAACp/B,KAAD;EAChB,IAAI,CAACA,KAAK,CAACF,OAAX,EAAoB,OAAOS,4BAAA,CAACA,cAAK,CAACqpB,QAAP,MAAA,CAAP;EACpB,OACErpB,4BAAA,CAACC,WAAD,MAAA,EACED,4BAAA,CAACC,QAAD,MAAA,EACED,4BAAA,CAACC,YAAD;IAAc+jB,KAAK,EAAC;IAAOC,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAUH,IAAI,EAAC;GAA9D,CADF,CADF,EAIE8B,4BAAA,CAACC,MAAD,MAAA,EACED,4BAAA,CAACC,YAAD;IACE+jB,KAAK,EAAC;IACNC,MAAM,EAAC;IACP5lB,KAAK,EAAC;IACNH,IAAI,EAAC;GAJP,CADF,EAOE8B,4BAAA,CAACC,YAAD;IACE+jB,KAAK,EAAC;IACNC,MAAM,EAAC;IACP5lB,KAAK,EAAC;IACNH,IAAI,EAAC;GAJP,CAPF,CAJF,CADF;AAqBD,CAvBD;;;ACFO,IAAMymB,WAAS,GAAG3mB,MAAM,CAACC,GAAV,4OAAf;AASP,AAAO,IAAM4yB,QAAM,GAAG7yB,MAAM,CAACC,GAAV,6LAAZ;AAQP,AAAO,IAAM2/B,YAAU,GAAG5/B,MAAM,CAACC,GAAV,2OACX,UAACwB,KAAD;EAAA,OAAWA,KAAK,CAACwkB,MAAjB;AAAA,CADW,EASnB,UAACxkB,KAAD;EAAA,OACAA,KAAK,CAACvB,IAAN,KAAe,MAAf,IACAQ,GADA,yGADA;AAAA,CATmB,EAcnB,UAACe,KAAD;EAAA,OACAA,KAAK,CAACvB,IAAN,KAAe,OAAf,IACAQ,GADA,yGADA;AAAA,CAdmB,EAoBjB,UAACe,KAAD;EAAA,OACFA,KAAK,CAACvB,IAAN,KAAe,QAAf,IACAQ,GADA,yGADE;AAAA,CApBiB,EA0BjB,UAACe,KAAD;EAAA,OACFA,KAAK,CAACvB,IAAN,KAAe,OAAf,IACAQ,GADA,yGADE;AAAA,CA1BiB,CAAhB;AAiCP,AAAO,IAAM4/B,YAAU,GAAGtgC,MAAM,CAAC4/B,YAAD,CAAT,+KACZ,UAACn+B,KAAD;EAAA,OAAWA,KAAK,CAACukB,KAAjB;AAAA,CADY,EAEX,UAACvkB,KAAD;EAAA,OAAWA,KAAK,CAACwkB,MAAjB;AAAA,CAFW,EAGD,UAACxkB,KAAD;EAAA,OAAWA,KAAK,CAACpB,KAAjB;AAAA,CAHC,CAAhB;AAOP,AAAO,IAAMsgC,MAAI,GAAG3gC,MAAM,CAACC,GAAV,qNAAV;AASP,AAAO,IAAMugC,QAAM,GAAGxgC,MAAM,CAACC,GAAV,4KAAZ;;AChEP,IAAM4gC,WAAS,GAAG,SAAZA,SAAY,CAACp/B,KAAD;EAChB,IAAI,CAACA,KAAK,CAACF,OAAX,EAAoB,OAAOS,4BAAA,CAACA,cAAK,CAACqpB,QAAP,MAAA,CAAP;EACpB,OACErpB,4BAAA,CAACC,WAAD,MAAA,EACED,4BAAA,CAACC,QAAD,MAAA,EACED,4BAAA,CAACC,YAAD;IAAc+jB,KAAK,EAAC;IAAOC,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAUH,IAAI,EAAC;GAA9D,CADF,EAEE8B,4BAAA,CAACC,YAAD;IAAc+jB,KAAK,EAAC;IAAOC,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAUH,IAAI,EAAC;GAA9D,CAFF,CADF,EAKE8B,4BAAA,CAACC,MAAD,MAAA,EACED,4BAAA,CAACC,QAAD,MAAA,CADF,CALF,CADF;AAWD,CAbD;;;ACFO,IAAM0kB,WAAS,GAAG3mB,MAAM,CAACC,GAAV,4OAAf;AASP,AAAO,IAAM4yB,QAAM,GAAG7yB,MAAM,CAACC,GAAV,6LAAZ;AAQP,AAAO,IAAM2/B,YAAU,GAAG5/B,MAAM,CAACC,GAAV,2OACX,UAACwB,KAAD;EAAA,OAAWA,KAAK,CAACwkB,MAAjB;AAAA,CADW,EASnB,UAACxkB,KAAD;EAAA,OACAA,KAAK,CAACvB,IAAN,KAAe,MAAf,IACAQ,GADA,yGADA;AAAA,CATmB,EAcnB,UAACe,KAAD;EAAA,OACAA,KAAK,CAACvB,IAAN,KAAe,OAAf,IACAQ,GADA,yGADA;AAAA,CAdmB,EAoBjB,UAACe,KAAD;EAAA,OACFA,KAAK,CAACvB,IAAN,KAAe,QAAf,IACAQ,GADA,yGADE;AAAA,CApBiB,EA0BjB,UAACe,KAAD;EAAA,OACFA,KAAK,CAACvB,IAAN,KAAe,OAAf,IACAQ,GADA,yGADE;AAAA,CA1BiB,CAAhB;AAiCP,AAAO,IAAM4/B,YAAU,GAAGtgC,MAAM,CAAC4/B,YAAD,CAAT,+KACZ,UAACn+B,KAAD;EAAA,OAAWA,KAAK,CAACukB,KAAjB;AAAA,CADY,EAEX,UAACvkB,KAAD;EAAA,OAAWA,KAAK,CAACwkB,MAAjB;AAAA,CAFW,EAGD,UAACxkB,KAAD;EAAA,OAAWA,KAAK,CAACpB,KAAjB;AAAA,CAHC,CAAhB;AAOP,AAAO,IAAMygC,SAAS,GAAG9gC,MAAM,CAACsgC,YAAD,CAAT,oGAAf;AAIP,AAAO,IAAMK,MAAI,GAAG3gC,MAAM,CAACC,GAAV,4OAAV;AAUP,AAAO,IAAMugC,QAAM,GAAGxgC,MAAM,CAACC,GAAV,4KAAZ;;ACrEP,IAAM8gC,UAAU,GAAG,SAAbA,UAAa,CAACt/B,KAAD;EACjB,IAAI,CAACA,KAAK,CAACF,OAAX,EAAoB,OAAOS,4BAAA,CAACA,cAAK,CAACqpB,QAAP,MAAA,CAAP;EACpB,OACErpB,4BAAA,CAACC,WAAD,MAAA,EACED,4BAAA,CAACC,QAAD,MAAA,EACED,4BAAA,CAACC,YAAD;IAAc+jB,KAAK,EAAC;IAAOC,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAUH,IAAI,EAAC;GAA9D,CADF,EAEE8B,4BAAA,CAACC,YAAD;IAAc+jB,KAAK,EAAC;IAAOC,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAUH,IAAI,EAAC;GAA9D,CAFF,CADF,EAKE8B,4BAAA,CAACC,MAAD,MAAA,EACED,4BAAA,CAACC,SAAD;IAAa+jB,KAAK,EAAC;IAAOC,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAUH,IAAI,EAAC;GAA7D,CADF,EAEE8B,4BAAA,CAACC,SAAD;IAAa+jB,KAAK,EAAC;IAAOC,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAUH,IAAI,EAAC;GAA7D,CAFF,EAGE8B,4BAAA,CAACC,SAAD;IAAa+jB,KAAK,EAAC;IAAOC,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAUH,IAAI,EAAC;GAA7D,CAHF,EAIE8B,4BAAA,CAACC,SAAD;IAAa+jB,KAAK,EAAC;IAAOC,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAUH,IAAI,EAAC;GAA7D,CAJF,EAKE8B,4BAAA,CAACC,SAAD;IAAa+jB,KAAK,EAAC;IAAOC,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAUH,IAAI,EAAC;GAA7D,CALF,EAME8B,4BAAA,CAACC,SAAD;IAAa+jB,KAAK,EAAC;IAAOC,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAUH,IAAI,EAAC;GAA7D,CANF,EAOE8B,4BAAA,CAACC,SAAD;IAAa+jB,KAAK,EAAC;IAAOC,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAUH,IAAI,EAAC;GAA7D,CAPF,EAQE8B,4BAAA,CAACC,SAAD;IAAa+jB,KAAK,EAAC;IAAOC,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAUH,IAAI,EAAC;GAA7D,CARF,EASE8B,4BAAA,CAACC,SAAD;IAAa+jB,KAAK,EAAC;IAAOC,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAUH,IAAI,EAAC;GAA7D,CATF,EAUE8B,4BAAA,CAACC,SAAD;IAAa+jB,KAAK,EAAC;IAAOC,MAAM,EAAC;IAAO5lB,KAAK,EAAC;IAAUH,IAAI,EAAC;GAA7D,CAVF,CALF,CADF;AAoBD,CAtBD;;ACWA,IAAM8gC,WAAW,GAAG,SAAdA,WAAc,CAACv/B,KAAD;EAClB,QAAQA,KAAK,CAACI,IAAd;IACE,KAAK,WAAL;MAAkB;QAChB,OAAOG,4BAAA,CAAC89B,SAAD,oBAAer+B,MAAf,CAAP;;;IAGF,KAAK,WAAL;MAAkB;QAChB,OAAOO,4BAAA,CAACi+B,SAAD,oBAAex+B,MAAf,CAAP;;;IAEF,KAAK,WAAL;MAAkB;QAChB,OAAOO,4BAAA,CAACo+B,SAAD,oBAAe3+B,MAAf,CAAP;;;IAEF,KAAK,WAAL;MAAkB;QAChB,OAAOO,4BAAA,CAACu+B,SAAD,oBAAe9+B,MAAf,CAAP;;;IAGF,KAAK,WAAL;MAAkB;QAChB,OAAOO,4BAAA,CAACy+B,SAAD,oBAAeh/B,MAAf,CAAP;;;IAGF,KAAK,WAAL;MAAkB;QAChB,OAAOO,4BAAA,CAAC0+B,SAAD,oBAAej/B,MAAf,CAAP;;;IAEF,KAAK,WAAL;MAAkB;QAChB,OAAOO,4BAAA,CAAC4+B,SAAD,oBAAen/B,MAAf,CAAP;;;IAGF,KAAK,WAAL;MAAkB;QAChB,OAAOO,4BAAA,CAAC6+B,SAAD,oBAAep/B,MAAf,CAAP;;;IAEF,KAAK,WAAL;MAAkB;QAChB,OAAOO,4BAAA,CAACi/B,WAAD,oBAAex/B,MAAf,CAAP;;;IAGF,KAAK,YAAL;MAAmB;QACjB,OAAOO,4BAAA,CAAC++B,UAAD,oBAAgBt/B,MAAhB,CAAP;;;AAGL,CAtCD;;;ACVO,IAAMy/B,KAAK,GAAGlhC,MAAM,CAACg5B,GAAV,yHAAX;AAKP,AAAO,IAAMrS,WAAS,GAAG3mB,MAAM,CAACC,GAAV,iMAKlBihC,KALkB,EAMT;MAAGlb,aAAAA;;EACV,QAAQ,OAAOA,KAAf;IACE,KAAK,QAAL;MACE,OAAOA,KAAP;;IACF,KAAK,QAAL;MACE,OAAUA,KAAV;;IACF;MACE,OAAO,MAAP;;AAEL,CAfiB,EAiBR;MAAGC,eAAAA;;EACX,QAAQ,OAAOA,MAAf;IACE,KAAK,QAAL;MACE,OAAOA,MAAP;;IACF,KAAK,QAAL;MACE,OAAUA,MAAV;;IACF;MACE,OAAO,MAAP;;AAEL,CA1BiB,CAAf;AA8BP,AAAO,IAAMkb,MAAM,GAAGnhC,MAAM,CAACC,GAAV,uWAMG;EAAA,IAAGK,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACE,QAAN,CAAe,aAAf,EAA8B,EAA9B,CAAf;AAAA,CANH,CAAZ;AAmBP,AAAO,IAAMW,QAAM,GAAGnB,MAAM,CAACohC,QAAD,CAAT,8GACG;EAAA,IAAG9gC,KAAH,SAAGA,KAAH;EAAA,OAAeA,KAAK,CAACE,QAAN,CAAe,OAAf,EAAwB,EAAxB,CAAf;AAAA,CADH,CAAZ;AAIP,AAAO,IAAM6gC,YAAY,GAAGrhC,MAAM,CAACC,GAAV,qPAAlB;;;AC/DP;AAMA,IAAMqhC,IAAI,GAAG,SAAPA,IAAO,CAAC7/B,KAAD;EACX,IAAQ8/B,GAAR,GAAkD9/B,KAAlD,CAAQ8/B,GAAR;MAAaC,AAAwBC,QAArC,iCAAkDhgC,KAAlD;;EACA,gBAAsCumB,QAAQ,CAAU,KAAV,CAA9C;MAAO0Z,WAAP;MAAoBC,cAApB;;EAEA,OACE3/B,4BAAA,CAACA,cAAK,CAACqpB,QAAP,MAAA,EACErpB,4BAAA,CAACC,WAAD,oBAAiBw/B;IAAU5V,OAAO,EAAE;MAAA,OAAM8V,cAAc,CAAC,IAAD,CAApB;;IAApC,EACE3/B,4BAAA,CAACC,KAAD;IAASs/B,GAAG,EAAEA;IAAKK,GAAG,EAAC;GAAvB,CADF,EAGE5/B,4BAAA,CAACC,MAAD,MAAA,EACED,4BAAA,CAACC,QAAD;IACEN,OAAO,EAAC;IACRtB,KAAK,EAAC;IACNwrB,OAAO,EAAE;MAAA,OAAM8V,cAAc,CAAC,IAAD,CAApB;;GAHX,CADF,CAHF,CADF,EAaE3/B,4BAAA,CAACw7B,OAAD;IACEC,SAAS,EAAE,CAACiE,WAAD,EAAcC,cAAd;IACXzhC,IAAI,EAAC;IACLqnB,KAAK,EAAC;IACNsW,mBAAmB;GAJrB,EAOE77B,4BAAA,CAACC,YAAD,MAAA,EACED,4BAAA,MAAA;IAAKu/B,GAAG,EAAEA;IAAKK,GAAG,EAAC;GAAnB,CADF,CAPF,CAbF,CADF;AA2BD,CA/BD;;ACJA,IAAMthC,KAAK,GAAG;EACZK,KAAK,EAALA,KADY;EAEZO,SAAS,EAATA;AAFY,CAAd;;ACAA,IAAMZ,OAAK,GAAG;EACZc,MAAM,EAANA;AADY,CAAd;;;ACCA,IAAMygC,UAAU,GAAGC,iBAAH,gFAAhB;;AAGA,IAAMC,OAAO,GAAG,SAAVA,OAAU;EACd,OACE//B,4BAAA,CAACA,cAAK,CAACqpB,QAAP,MAAA,EACErpB,4BAAA,CAAC6/B,UAAD,MAAA,CADF,CADF;AAKD,CAND;;;;ACQA,IAAMrhC,UAAQ,GAAG,SAAXA,QAAW,CACfH,KADe,EAEf2hC,OAFe;EAAA,IAEfA,OAFe;IAEfA,OAFe,GAEY,GAFZ;;;EAAA,YAGDroC,MAAM,CAAC0G,KAAD,CAHL,GAGexE,SAAS,CAACmmC,OAAD,CAHxB;AAAA,CAAjB;;AAKA,IAAMta,aAAa,GAAG,SAAhBA,aAAgB,CAACua,UAAD;EACpB,4BAA6C1lC,YAAY,CAAC0lC,UAAD,CAAzD;MAAQxlC,UAAR,yBAAQA,UAAR;MAAoBC,UAApB,yBAAoBA,UAApB;MAAgCC,QAAhC,yBAAgCA,QAAhC;EAEA,OAAO+D,GAAP,yJACiBjE,UADjB,EAEiBC,UAFjB,EAGeC,QAHf;AAKD,CARD;;AAUA,IAAM4gC,WAAW,GAAG,SAAdA,WAAc,CAClBl9B,KADkB,EAElB6hC,MAFkB,EAGlBC,OAHkB;MAElBD;IAAAA,SAAuB;;;MACvBC;IAAAA,UAAwB;;;EAExB,IAAMC,GAAG,GAAG9hC,OAAK,CAAC3G,MAAN,CAAa0G,KAAb,EAAoB6tB,OAApB,CAA4B,GAA5B,EAAiC,EAAjC,CAAZ;EAEA,IAAMpzB,GAAG,GAAGu2B,QAAQ,CAAC+Q,GAAG,CAAC9Q,SAAJ,CAAc,CAAd,EAAiB,CAAjB,CAAD,EAAsB,EAAtB,CAApB;EACA,IAAMr2B,KAAK,GAAGo2B,QAAQ,CAAC+Q,GAAG,CAAC9Q,SAAJ,CAAc,CAAd,EAAiB,CAAjB,CAAD,EAAsB,EAAtB,CAAtB;EACA,IAAMv3B,IAAI,GAAGs3B,QAAQ,CAAC+Q,GAAG,CAAC9Q,SAAJ,CAAc,CAAd,EAAiB,CAAjB,CAAD,EAAsB,EAAtB,CAArB;EAEA,IAAM+Q,UAAU,GAAG,CAACvnC,GAAG,GAAG,GAAN,GAAYG,KAAK,GAAG,GAApB,GAA0BlB,IAAI,GAAG,GAAlC,IAAyC,IAA5D;EAEA,OAAOsoC,UAAU,IAAI,GAAd,GAAoBH,MAApB,GAA6BC,OAApC;AACD,CAdD;;AAgBA,AAAO,IAAM7hC,OAAK,GAAmB;EACnC3G,MAAM,EAANA,MADmC;EAEnC0C,KAAK,EAALA,KAFmC;EAGnCP,QAAQ,EAARA,QAHmC;EAInCS,YAAY,EAAZA,YAJmC;EAKnCiE,QAAQ,EAARA,UALmC;EAMnCknB,aAAa,EAAbA,aANmC;EAOnC6V,WAAW,EAAXA,WAPmC;EAQnCj8B,UAAU,EAAVA;AARmC,CAA9B;;AAWP,IAAMghC,aAAa,GAAG,SAAhBA,aAAgB,CAAC7gC,KAAD;EAGpB,OACEO,4BAAA,CAAC8zB,eAAD;IAAUx1B,KAAK,EAAEA;GAAjB,EACE0B,4BAAA,CAAC+/B,OAAD,MAAA,CADF,EAEGtgC,KAAK,CAACC,QAFT,CADF;AAMD,CATD;;;;"}
|
|
1
|
+
{"version":3,"file":"index.modern.js","sources":["../src/theme/constants.ts","../src/functions/common.ts","../src/functions/validators.ts","../src/functions/formatters.ts","../src/components/Loader/index.ts","../src/components/Button/constants.ts","../src/components/Button/styles.ts","../src/components/Button/index.tsx","../src/assets/icons/feather/index.ts","../src/components/Icon/styled.ts","../src/components/Icon/index.tsx","../src/components/TextArea/styles.ts","../src/components/TextArea/index.tsx","../src/components/EllipsisContainer/styled.tsx","../src/components/EllipsisContainer/index.tsx","../src/components/ScrollContainer/index.tsx","../src/components/AbsoluteContainer/styles.ts","../src/components/AbsoluteContainer/index.tsx","../src/components/Menu/styles.ts","../src/components/Menu/index.tsx","../src/components/Indicator/styles.ts","../src/components/Indicator/index.tsx","../src/components/ProgressBar/styles.ts","../src/components/ProgressBar/index.tsx","../src/components/Tabs/styles.ts","../src/components/Tabs/index.tsx","../src/components/Input/components/Input/functions.ts","../src/components/Input/components/Input/styles.ts","../src/components/Input/components/Input/index.tsx","../src/components/Input/components/Checkbox/styles.ts","../src/components/Input/components/Checkbox/index.tsx","../src/hooks/onClickOut.ts","../src/components/Input/components/Time/index.tsx","../src/components/Calendar/styles.ts","../src/components/Calendar/index.tsx","../src/components/Input/components/Date/functions.ts","../src/components/Input/components/Date/styles.ts","../src/components/Input/components/Date/index.tsx","../src/components/Input/components/Select/context.ts","../src/components/Input/components/Select/styles.ts","../src/components/Input/components/Select/header.tsx","../src/components/Input/components/Select/footer.tsx","../src/components/Input/components/Select/index.tsx","../src/components/Input/components/Password/index.tsx","../src/assets/icons/flags/flags.png","../src/assets/icons/flags/index.ts","../src/components/Input/components/Phone/countries.ts","../src/components/Input/components/Phone/styles.ts","../src/components/Input/components/Phone/index.tsx","../src/components/Input/components/DatePicker/styles.ts","../src/components/Input/components/DatePicker/index.tsx","../src/components/Input/components/Switch/styles.ts","../src/components/Input/components/Switch/index.tsx","../src/components/Input/components/Range/styles.ts","../src/components/Input/components/Range/index.tsx","../src/components/Input/components/RadioButton/styles.ts","../src/components/Input/components/RadioButton/index.tsx","../src/components/Input/index.tsx","../src/addons/Portal/index.ts","../src/components/Modal/contants.ts","../src/components/Modal/styles.ts","../src/components/Modal/component.tsx","../src/components/Modal/templates/ConfirmDelete/styles.ts","../src/components/Modal/templates/ConfirmDelete/index.tsx","../src/components/Modal/templates/ConfirmEdit/styles.ts","../src/components/Modal/templates/ConfirmEdit/index.tsx","../src/components/Modal/templates/Audit/styles.ts","../src/components/Modal/templates/Audit/index.tsx","../src/components/Modal/index.ts","../src/components/Card/styled.ts","../src/components/Card/index.tsx","../src/components/Toast/styles.ts","../src/components/Toast/index.tsx","../src/components/CalendarInterval/styles.ts","../src/components/CalendarInterval/index.tsx","../src/components/Placeholder/components/Template1/styles.ts","../src/components/Placeholder/components/Template1/index.tsx","../src/components/Placeholder/styles.ts","../src/components/Placeholder/components/Template2/styles.ts","../src/components/Placeholder/components/Template2/index.tsx","../src/components/Placeholder/components/Template3/styles.ts","../src/components/Placeholder/components/Template3/index.tsx","../src/components/Placeholder/components/Template4/styles.ts","../src/components/Placeholder/components/Template4/index.tsx","../src/components/Placeholder/components/Template5/styles.ts","../src/components/Placeholder/components/Template5/index.tsx","../src/components/Placeholder/components/Template6/styles.ts","../src/components/Placeholder/components/Template6/index.tsx","../src/components/Placeholder/components/Template7/styles.ts","../src/components/Placeholder/components/Template7/index.tsx","../src/components/Placeholder/components/Template8/styles.ts","../src/components/Placeholder/components/Template8/index.tsx","../src/components/Placeholder/components/Template9/styles.ts","../src/components/Placeholder/components/Template9/index.tsx","../src/components/Placeholder/components/Template10/styles.ts","../src/components/Placeholder/components/Template10/index.tsx","../src/components/Placeholder/index.tsx","../src/components/Zoom/styles.ts","../src/components/Zoom/index.tsx","../src/components/Button/theme.ts","../src/components/theme.ts","../src/theme/globals.tsx","../src/theme/index.tsx"],"sourcesContent":["export const colors = {\r\n white: '#FFFFFF',\r\n iceWhite: '#F9F8F8',\r\n black: '#000000',\r\n blue: '#3455AB',\r\n lightBlue: '#2D9AFF',\r\n darkestBlue: '#121B2E',\r\n darkBlue: '#192338',\r\n greyishBlue: '#263046',\r\n darkSilver: '#525A6A',\r\n silver: '#B2B2B2',\r\n darkestGrey: '#989898',\r\n darkGrey: '#949494',\r\n grey: '#ADADAD',\r\n lightGrey: '#C8C8C8',\r\n lightestGrey: '#E2E2E3',\r\n purple: '#8E66BB',\r\n orange: '#FB8702',\r\n yellow: '#FBCB01',\r\n red: '#C31717',\r\n darkestGreen: '#1E561F',\r\n darkGreen: '#129105',\r\n green: '#76B100',\r\n lightGreen: '#66BB6A',\r\n pink: '#E23851',\r\n brown: '#9F3A38',\r\n vanilla: '#CCBEA0',\r\n bronze: '#7A4D05',\r\n warningGray: '#E6E6E6',\r\n warningYellow: '#FBCF30',\r\n warningRed: '#EF5350',\r\n floralWhite: '#FFFAF3',\r\n snowWhite: '#FFF6F6',\r\n milkWhite: '#FCFFF5',\r\n} as const\r\n\r\nexport const opacities = {\r\n 100: 'FF',\r\n 95: 'F2',\r\n 90: 'E6',\r\n 85: 'D9',\r\n 80: 'CC',\r\n 75: 'BF',\r\n 70: 'B3',\r\n 65: 'A6',\r\n 60: '99',\r\n 55: '8C',\r\n 50: '80',\r\n 45: '73',\r\n 40: '66',\r\n 35: '59',\r\n 30: '4D',\r\n 25: '40',\r\n 20: '33',\r\n 15: '26',\r\n 10: '1A',\r\n 5: '0D',\r\n 0: '00',\r\n} as const\r\n\r\nexport const spacings = {\r\n s1: '7px',\r\n s2: '8px',\r\n s3: '14px',\r\n s4: '21px',\r\n s5: '28px',\r\n s6: '35px',\r\n} as const\r\n\r\nexport const fonts = {\r\n lato: '\"Lato\", sans-serif',\r\n} as const\r\n\r\ninterface TypographiesInterface {\r\n fontFamily: string\r\n fontWeight:\r\n | 'normal'\r\n | 'bold'\r\n | 'bolder'\r\n | 'lighter'\r\n | '100'\r\n | '200'\r\n | '300'\r\n | '400'\r\n | '500'\r\n | '600'\r\n | '700'\r\n | '800'\r\n | '900'\r\n fontSize: string\r\n}\r\n\r\nexport const typographies = {\r\n h1: {\r\n fontFamily: fonts.lato,\r\n fontWeight: 'bold',\r\n fontSize: '18px',\r\n } as TypographiesInterface,\r\n h2: {\r\n fontFamily: fonts.lato,\r\n fontWeight: 'bold',\r\n fontSize: '16px',\r\n } as TypographiesInterface,\r\n h3: {\r\n fontFamily: fonts.lato,\r\n fontWeight: 'normal',\r\n fontSize: '16px',\r\n } as TypographiesInterface,\r\n h4: {\r\n fontFamily: fonts.lato,\r\n fontWeight: 'bold',\r\n fontSize: '14px',\r\n } as TypographiesInterface,\r\n h5: {\r\n fontFamily: fonts.lato,\r\n fontWeight: 'normal',\r\n fontSize: '14px',\r\n } as TypographiesInterface,\r\n h6: {\r\n fontFamily: fonts.lato,\r\n fontWeight: 'normal',\r\n fontSize: '13px',\r\n } as TypographiesInterface,\r\n p: {\r\n fontFamily: fonts.lato,\r\n fontWeight: 'normal',\r\n fontSize: '14px',\r\n } as TypographiesInterface,\r\n} as const\r\n","export const stripAccents = (value: string): string => {\n return value.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '')\n}\n\nexport const isKeyOf = <T>(\n object: T,\n key: string | number | symbol,\n): key is keyof T => {\n return Object.prototype.hasOwnProperty.call(object, key)\n}\n","import { stripAccents } from './common'\n\nexport const notEmptyString = (value: unknown): value is string => {\n return typeof value === 'string' && value.trim() !== ''\n}\n\nexport const isNumber = (value: unknown): value is number => {\n return typeof value === 'number' && isFinite(value)\n}\n\nexport const isNumeric = (value: unknown): value is number | string => {\n if (isNumber(value)) return true\n\n if (!isString(value)) return false\n\n return !isNaN(parseFloat(value))\n}\n\nexport const isObject = <T = unknown>(value: unknown): value is T => {\n return Object.prototype.toString.call(value) === '[object Object]'\n}\n\nexport const isBoolean = (value: unknown): value is boolean => {\n return typeof value === 'boolean'\n}\n\nexport const isNumericString = (value: unknown): value is string => {\n return notEmptyString(value) && isNumeric(value)\n}\n\nexport const isString = (value: unknown): value is string => {\n return typeof value === 'string'\n}\n\nexport const isDateInstance = (value: unknown): value is Date => {\n return value instanceof Date && !isNaN(value.valueOf())\n}\n\nexport const isDate = (value: unknown): boolean => {\n return (\n (isNumeric(value) || isDateInstance(value)) &&\n isDateInstance(new Date(value))\n )\n}\n\nexport const strCmp = (\n x: string,\n y: string,\n options: {\n ignoreAccents?: boolean\n ignoreCase?: boolean\n trim?: boolean\n contain?: boolean\n } = {},\n): boolean => {\n options = {\n ignoreAccents: true,\n ignoreCase: true,\n trim: true,\n contain: false,\n ...options,\n }\n\n if (options.trim) {\n x = x.trim()\n y = y.trim()\n }\n\n if (options.ignoreCase) {\n x = x.toUpperCase()\n y = y.toUpperCase()\n }\n\n if (options.ignoreAccents) {\n x = stripAccents(x)\n y = stripAccents(y)\n }\n\n return options.contain ? x.includes(y) : x === y\n}\n\nexport const isValidEmail = (value: string): boolean => {\n const emailRegex = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i\n\n return emailRegex.test(value)\n}\n\nexport { isKeyOf } from './common'\n","import { SpacingOrZero, Spacings } from '../interfaces'\nimport { spacings } from '../theme/constants'\nimport {\n isBoolean,\n isNumber,\n isNumericString,\n notEmptyString,\n} from './validators'\nimport { isKeyOf } from './common'\n\nexport const filterObject = <T = unknown, R = unknown>(\n object: T,\n keys: (keyof T)[],\n inital = {} as R,\n): R => {\n const r = (Object.keys(object) as (keyof T)[])\n .filter((key) => !keys.includes(key))\n .reduce(\n (prev, key) => ({\n ...prev,\n [key]: object[key],\n }),\n inital,\n )\n\n return r\n}\n\nexport const phone = (value: string) => {\n let masked = value\n\n if (value.startsWith('+55')) {\n masked = value\n .replace(/\\D/g, '')\n .replace(/(\\d{2})(\\d{2})(\\d)/, '+$1 ($2) $3')\n .replace(/(\\d{5})(\\d{4})$/, '$1-$2')\n .replace(/(\\d{4})(\\d{4})/, '$1-$2')\n }\n\n return masked\n}\n\nexport const cnpj = (value: string) => {\n return value\n .replace(/\\D/g, '')\n .substring(0, 14)\n .replace(/^(\\d{2})(\\d{3})?(\\d{3})?(\\d{4})?(\\d{2})?/, '$1.$2.$3/$4-$5')\n}\n\nexport const cpf = (value: string) => {\n return value\n .replace(/\\D/g, '')\n .replace(/^(\\d{3})(\\d{3})?(\\d{3})?(\\d{2})?/, '$1.$2.$3-$4')\n}\n\nexport const cep = (value: string) => {\n return value\n .replace(/\\D/g, '')\n .substring(0, 8)\n .replace(/^(\\d{5})(\\d{3})/, '$1-$2')\n}\n\ninterface TimeLabels {\n hour?: string\n minute?: string\n join?: string\n}\n\nexport const time = (value: number, labels?: TimeLabels): string => {\n const l: TimeLabels = {\n hour: 'h',\n minute: 'm',\n join: 'e',\n }\n\n if (labels) {\n const keys = Object.keys(labels) as (keyof typeof labels)[]\n keys.forEach((key) => (l[key] = labels[key]))\n }\n\n const hours = Math.floor(value / 60)\n const minutes = value % 60\n\n const result = []\n if (hours > 0) result.push(`${hours}${l.hour}`)\n result.push(`${minutes}${l.minute}`)\n\n return result.join(l.join)\n}\n\nexport const simpleTime = (value: number) => {\n return [Math.floor(value / 60), value % 60]\n .map((num) => num.toString().padStart(2, '0'))\n .join(':')\n}\n\nexport const reverseSimpleTime = (value: string) => {\n const t = value.replace(/\\D/g, '')\n\n if (t.length === 0) return 0\n\n const h = parseInt(t.substring(0, 2).padEnd(2, '0'))\n\n if (t.length < 3) return h * 60\n\n const m = parseInt(t.substring(2, 4).padEnd(2, '0'))\n\n return h * 60 + m\n}\n\nexport const intToBool = (value: 1 | 0): boolean => {\n const values = {\n 1: true,\n 0: false,\n }\n\n return values[value]\n}\n\nexport const boolToInt = (value: boolean): 1 | 0 => {\n return value ? 1 : 0\n}\n\nexport const numberOrDefault = <T = unknown>(\n value: unknown,\n defaultValue: T,\n): number | T => {\n if (isNumber(value)) return value\n if (isNumericString(value)) return parseFloat(value)\n return defaultValue\n}\n\nexport const booleanOrDefault = <T = unknown>(\n value: unknown,\n defaultValue: T,\n): boolean | T => {\n if (isBoolean(value)) return value\n\n if (isNumber(value)) return value > 0\n if (isNumericString(value)) return parseInt(value) > 0\n\n return defaultValue\n}\n\nexport const notEmptyStringOrDefault = <T = unknown>(\n value: unknown,\n defaultValue: T,\n): string | T => {\n if (notEmptyString(value)) return value.trim()\n return defaultValue\n}\n\nexport const capitalize = (value: string): string => {\n return value\n .split(' ')\n .map((word) => `${word[0].toUpperCase()}${word.slice(1).toLowerCase()}`)\n .join(' ')\n}\n\nexport const dateToIsoString = (date: Date): string => {\n return [\n date.getDate().toString().padStart(2, '0'),\n (date.getMonth() + 1).toString().padStart(2, '0'),\n date.getFullYear().toString().padStart(4, '0'),\n ].join('/')\n}\n\nexport const isoStringToDate = (value: string): Date | null => {\n const date = new Date(value.split('/').reverse().join('-') + ' 00:00:00')\n return isNaN(date.getTime()) ? null : date\n}\n\nexport { stripAccents } from './common'\n\nexport const getSpacings = (\n value: SpacingOrZero | Spacings,\n defaults?: SpacingOrZero | Spacings,\n) => {\n let d = {\n top: 's1',\n left: 's1',\n bottom: 's1',\n right: 's1',\n }\n\n if (defaults) {\n if (typeof defaults === 'string') {\n d.top = defaults\n d.left = defaults\n d.bottom = defaults\n d.right = defaults\n } else {\n d = {\n ...d,\n ...defaults,\n }\n }\n }\n\n const spacing =\n typeof value === 'string'\n ? {\n top: value,\n left: value,\n bottom: value,\n right: value,\n }\n : {\n ...d,\n ...value,\n }\n\n const values = {\n top: isKeyOf(spacings, spacing.top) ? spacings[spacing.top] : spacing.top,\n left: isKeyOf(spacings, spacing.left)\n ? spacings[spacing.left]\n : spacing.left,\n bottom: isKeyOf(spacings, spacing.bottom)\n ? spacings[spacing.bottom]\n : spacing.bottom,\n right: isKeyOf(spacings, spacing.right)\n ? spacings[spacing.right]\n : spacing.right,\n }\n\n return `${values.top} ${values.right} ${values.bottom} ${values.left}`\n}\n","import { LoaderProps } from './interfaces'\nimport styled, { css, keyframes } from 'styled-components'\nimport { isKeyOf } from '../../functions/validators'\n\nconst loader = keyframes`\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n`\n\nconst Loader = styled.div<LoaderProps>`\n ${({ size, borderSize, bgColor, color, theme, filled }) => {\n size = size || theme.spacings.s4\n borderSize = borderSize || `calc(${size} * 0.0757)`\n color = color || 'blue'\n bgColor = bgColor || color\n\n const beforeColor = isKeyOf<typeof theme.colors>(theme.colors, bgColor)\n ? theme.getColor(bgColor, 25)\n : color\n\n const afterColor = isKeyOf<typeof theme.colors>(theme.colors, color)\n ? theme.getColor(color)\n : color\n\n const fill = !filled\n ? css``\n : css`\n position: absolute;\n left: 0;\n top: 0;\n background-color: ${theme.colors.white};\n width: 100%;\n height: 100%;\n `\n\n return css`\n ${fill}\n\n pointer-events: none;\n\n ::before,\n ::after {\n position: absolute;\n content: '';\n\n top: calc(50% - ${size} / 2);\n left: calc(50% - ${size} / 2);\n width: ${size};\n height: ${size};\n border-radius: 50%;\n border-width: ${borderSize};\n border-style: solid;\n }\n\n ::before {\n border-color: ${beforeColor};\n }\n\n ::after {\n animation: ${loader} 0.6s linear;\n animation-iteration-count: infinite;\n border-color: ${afterColor} transparent transparent;\n }\n `\n }}\n`\n\nexport default Loader\n","export const sizes = {\r\n tiny: '21px' as string | number,\r\n mini: '31px' as string | number,\r\n small: '33px' as string | number,\r\n large: '41px' as string | number,\r\n big: '46px' as string | number,\r\n default: '33px' as string | number,\r\n} as const\r\n\r\nexport const fontSizes: typeof sizes = {\r\n tiny: '10px',\r\n mini: '12px',\r\n small: '14px',\r\n large: '16px',\r\n big: '18px',\r\n default: '14px',\r\n} as const\r\n","import styled, { css } from 'styled-components'\r\n\r\nimport { StyledButtonProps } from './interfaces'\r\n\r\nexport const Button = styled.button<StyledButtonProps>`\r\n padding: 0\r\n ${({ theme, appearance }) =>\r\n appearance === 'link' ? 0 : theme.spacings.s3};\r\n font-family: 'Lato', sans-serif;\r\n font-weight: ${({ appearance }) =>\r\n appearance === 'link' ? 'normal' : 'bold'};\r\n border-radius: 4px;\r\n position: relative;\r\n user-select: none;\r\n\r\n font-size: ${({ size, theme }) => {\r\n const { fontSizes } = theme.components.button\r\n\r\n return size ? fontSizes[size] : fontSizes.default\r\n }};\r\n\r\n height: ${({ size, theme, appearance }) => {\r\n if (appearance === 'link') return 'auto'\r\n\r\n const { sizes } = theme.components.button\r\n\r\n return size ? sizes[size] : sizes.default\r\n }};\r\n\r\n background-color: ${({ appearance, color, theme }) => {\r\n if (['bordered', 'link', 'bordeless'].includes(appearance)) {\r\n return 'transparent'\r\n }\r\n\r\n return theme.getColor(color || 'blue')\r\n }};\r\n\r\n border: ${({ appearance, color, theme }) => {\r\n if (appearance !== 'bordered') {\r\n return 'none'\r\n }\r\n\r\n return `1px solid ${theme.getColor(color || 'blue')}`\r\n }};\r\n\r\n color: ${({ appearance, color, loading, theme }) => {\r\n if (loading) return 'transparent'\r\n\r\n if (['link', 'bordeless'].includes(appearance)) {\r\n return color ? theme.colors[color] : theme.getColor('greyishBlue', 50)\r\n }\r\n\r\n if (appearance === 'bordered') {\r\n return theme.getColor(color || 'blue')\r\n }\r\n\r\n return theme.getColor('white')\r\n }};\r\n\r\n :disabled {\r\n ${({ appearance, loading, theme }) => {\r\n if (['bordered', 'link', 'bordeless'].includes(appearance)) {\r\n return css`\r\n opacity: 0.3;\r\n pointer-events: none;\r\n `\r\n }\r\n\r\n return css`\r\n background-color: ${theme.getColor('greyishBlue', 10)};\r\n color: ${loading ? 'transparent' : theme.getColor('greyishBlue', 30)};\r\n pointer-events: none;\r\n `\r\n }}\r\n }\r\n\r\n :hover {\r\n cursor: ${({ loading, disabled }) =>\r\n loading || disabled ? 'default' : 'pointer'};\r\n\r\n ${({ appearance, color, theme }) => {\r\n if (appearance === 'bordered') {\r\n return css`\r\n color: ${theme.getColor(color || 'blue', 70)};\r\n border: 1px solid ${theme.getColor(color || 'blue', 70)};\r\n `\r\n } else if (['link', 'bordeless'].includes(appearance)) {\r\n return css`\r\n color: ${theme.colors.blue};\r\n `\r\n }\r\n\r\n return css`\r\n background-color: ${theme.getColor(color || 'blue', 70)};\r\n `\r\n }}\r\n }\r\n\r\n :active {\r\n ${({ appearance, color, theme }) => {\r\n if (appearance === 'bordered') {\r\n return css`\r\n background-color: ${theme.getColor('iceWhite')};\r\n `\r\n }\r\n\r\n if (['link', 'bordeless'].includes(appearance)) {\r\n return css`\r\n color: ${theme.getColor('blue', 50)};\r\n `\r\n }\r\n\r\n return css`\r\n color: ${theme.getColor(color || 'blue')};\r\n `\r\n }};\r\n }\r\n\r\n ${({ loading }) => {\r\n if (!loading) return\r\n\r\n return css`\r\n pointer-events: none;\r\n `\r\n }}\r\n`\r\n","import React from 'react'\r\n\r\nimport { filterObject } from '../../functions/formatters'\r\nimport Loader from '../Loader'\r\nimport { sizes } from './constants'\r\n\r\nimport { ButtonProps, StyledButtonProps } from './interfaces'\r\nimport * as S from './styles'\r\n\r\nconst Button = (props: ButtonProps) => {\r\n const { children, content, ...styled } = props\r\n\r\n const defaultValues: StyledButtonProps = {\r\n appearance: styled.appearance || 'solid',\r\n color: styled.color,\r\n loading: styled.loading ? +styled.loading : +false,\r\n size: styled.size || 'small',\r\n type: styled.type || 'button',\r\n }\r\n\r\n const htmlProps = filterObject<\r\n ButtonProps,\r\n Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'color'>\r\n >(props, ['size', 'appearance', 'color', 'loading', 'content'])\r\n\r\n const _size = defaultValues.size ? sizes[defaultValues.size] : sizes.default\r\n\r\n return (\r\n <S.Button {...defaultValues} {...htmlProps}>\r\n <span>{children || content}</span>\r\n {props.loading && (\r\n <Loader\r\n color={\r\n defaultValues.appearance !== 'bordered' &&\r\n defaultValues.appearance !== 'link'\r\n ? 'white'\r\n : 'blue'\r\n }\r\n size={`calc(${_size} * 0.5454)`}\r\n borderSize={`calc(${_size} * 0.0757)`}\r\n />\r\n )}\r\n </S.Button>\r\n )\r\n}\r\n\r\nexport default Button\r\n","/* eslint-disable camelcase */\n\nimport { ReactComponent as activity_icon } from './activity.svg'\nimport { ReactComponent as airplay_icon } from './airplay.svg'\nimport { ReactComponent as alert_circle_icon } from './alert-circle.svg'\nimport { ReactComponent as alert_octagon_icon } from './alert-octagon.svg'\nimport { ReactComponent as alert_triangle_icon } from './alert-triangle.svg'\nimport { ReactComponent as align_center_icon } from './align-center.svg'\nimport { ReactComponent as align_justify_icon } from './align-justify.svg'\nimport { ReactComponent as align_left_icon } from './align-left.svg'\nimport { ReactComponent as align_right_icon } from './align-right.svg'\nimport { ReactComponent as anchor_icon } from './anchor.svg'\nimport { ReactComponent as aperture_icon } from './aperture.svg'\nimport { ReactComponent as archive_icon } from './archive.svg'\nimport { ReactComponent as arrow_down_icon } from './arrow-down.svg'\nimport { ReactComponent as arrow_down_circle_icon } from './arrow-down-circle.svg'\nimport { ReactComponent as arrow_down_left_icon } from './arrow-down-left.svg'\nimport { ReactComponent as arrow_down_right_icon } from './arrow-down-right.svg'\nimport { ReactComponent as arrow_left_icon } from './arrow-left.svg'\nimport { ReactComponent as arrow_left_circle_icon } from './arrow-left-circle.svg'\nimport { ReactComponent as arrow_right_icon } from './arrow-right.svg'\nimport { ReactComponent as arrow_right_circle_icon } from './arrow-right-circle.svg'\nimport { ReactComponent as arrow_up_icon } from './arrow-up.svg'\nimport { ReactComponent as arrow_up_circle_icon } from './arrow-up-circle.svg'\nimport { ReactComponent as arrow_up_left_icon } from './arrow-up-left.svg'\nimport { ReactComponent as arrow_up_right_icon } from './arrow-up-right.svg'\nimport { ReactComponent as at_sign_icon } from './at-sign.svg'\nimport { ReactComponent as award_icon } from './award.svg'\nimport { ReactComponent as bar_chart_icon } from './bar-chart.svg'\nimport { ReactComponent as bar_chart_2_icon } from './bar-chart-2.svg'\nimport { ReactComponent as battery_icon } from './battery.svg'\nimport { ReactComponent as battery_charging_icon } from './battery-charging.svg'\nimport { ReactComponent as bell_icon } from './bell.svg'\nimport { ReactComponent as bell_off_icon } from './bell-off.svg'\nimport { ReactComponent as bluetooth_icon } from './bluetooth.svg'\nimport { ReactComponent as bold_icon } from './bold.svg'\nimport { ReactComponent as book_icon } from './book.svg'\nimport { ReactComponent as book_open_icon } from './book-open.svg'\nimport { ReactComponent as bookmark_icon } from './bookmark.svg'\nimport { ReactComponent as box_icon } from './box.svg'\nimport { ReactComponent as briefcase_icon } from './briefcase.svg'\nimport { ReactComponent as calendar_icon } from './calendar.svg'\nimport { ReactComponent as camera_icon } from './camera.svg'\nimport { ReactComponent as camera_off_icon } from './camera-off.svg'\nimport { ReactComponent as cast_icon } from './cast.svg'\nimport { ReactComponent as check_icon } from './check.svg'\nimport { ReactComponent as check_circle_icon } from './check-circle.svg'\nimport { ReactComponent as check_square_icon } from './check-square.svg'\nimport { ReactComponent as chevron_down_icon } from './chevron-down.svg'\nimport { ReactComponent as chevron_left_icon } from './chevron-left.svg'\nimport { ReactComponent as chevron_right_icon } from './chevron-right.svg'\nimport { ReactComponent as chevron_up_icon } from './chevron-up.svg'\nimport { ReactComponent as chevrons_down_icon } from './chevrons-down.svg'\nimport { ReactComponent as chevrons_left_icon } from './chevrons-left.svg'\nimport { ReactComponent as chevrons_right_icon } from './chevrons-right.svg'\nimport { ReactComponent as chevrons_up_icon } from './chevrons-up.svg'\nimport { ReactComponent as chrome_icon } from './chrome.svg'\nimport { ReactComponent as circle_icon } from './circle.svg'\nimport { ReactComponent as clipboard_icon } from './clipboard.svg'\nimport { ReactComponent as clock_icon } from './clock.svg'\nimport { ReactComponent as cloud_icon } from './cloud.svg'\nimport { ReactComponent as cloud_drizzle_icon } from './cloud-drizzle.svg'\nimport { ReactComponent as cloud_lightning_icon } from './cloud-lightning.svg'\nimport { ReactComponent as cloud_off_icon } from './cloud-off.svg'\nimport { ReactComponent as cloud_rain_icon } from './cloud-rain.svg'\nimport { ReactComponent as cloud_snow_icon } from './cloud-snow.svg'\nimport { ReactComponent as code_icon } from './code.svg'\nimport { ReactComponent as codepen_icon } from './codepen.svg'\nimport { ReactComponent as codesandbox_icon } from './codesandbox.svg'\nimport { ReactComponent as coffee_icon } from './coffee.svg'\nimport { ReactComponent as columns_icon } from './columns.svg'\nimport { ReactComponent as command_icon } from './command.svg'\nimport { ReactComponent as compass_icon } from './compass.svg'\nimport { ReactComponent as copy_icon } from './copy.svg'\nimport { ReactComponent as corner_down_left_icon } from './corner-down-left.svg'\nimport { ReactComponent as corner_down_right_icon } from './corner-down-right.svg'\nimport { ReactComponent as corner_left_down_icon } from './corner-left-down.svg'\nimport { ReactComponent as corner_left_up_icon } from './corner-left-up.svg'\nimport { ReactComponent as corner_right_down_icon } from './corner-right-down.svg'\nimport { ReactComponent as corner_right_up_icon } from './corner-right-up.svg'\nimport { ReactComponent as corner_up_left_icon } from './corner-up-left.svg'\nimport { ReactComponent as corner_up_right_icon } from './corner-up-right.svg'\nimport { ReactComponent as cpu_icon } from './cpu.svg'\nimport { ReactComponent as credit_card_icon } from './credit-card.svg'\nimport { ReactComponent as crop_icon } from './crop.svg'\nimport { ReactComponent as crosshair_icon } from './crosshair.svg'\nimport { ReactComponent as database_icon } from './database.svg'\nimport { ReactComponent as delete_icon } from './delete.svg'\nimport { ReactComponent as disc_icon } from './disc.svg'\nimport { ReactComponent as divide_icon } from './divide.svg'\nimport { ReactComponent as divide_circle_icon } from './divide-circle.svg'\nimport { ReactComponent as divide_square_icon } from './divide-square.svg'\nimport { ReactComponent as dollar_sign_icon } from './dollar-sign.svg'\nimport { ReactComponent as download_icon } from './download.svg'\nimport { ReactComponent as download_cloud_icon } from './download-cloud.svg'\nimport { ReactComponent as dribbble_icon } from './dribbble.svg'\nimport { ReactComponent as droplet_icon } from './droplet.svg'\nimport { ReactComponent as edit_icon } from './edit.svg'\nimport { ReactComponent as edit_2_icon } from './edit-2.svg'\nimport { ReactComponent as edit_3_icon } from './edit-3.svg'\nimport { ReactComponent as external_link_icon } from './external-link.svg'\nimport { ReactComponent as eye_icon } from './eye.svg'\nimport { ReactComponent as eye_off_icon } from './eye-off.svg'\nimport { ReactComponent as facebook_icon } from './facebook.svg'\nimport { ReactComponent as fast_forward_icon } from './fast-forward.svg'\nimport { ReactComponent as feather_icon } from './feather.svg'\nimport { ReactComponent as figma_icon } from './figma.svg'\nimport { ReactComponent as file_icon } from './file.svg'\nimport { ReactComponent as file_minus_icon } from './file-minus.svg'\nimport { ReactComponent as file_plus_icon } from './file-plus.svg'\nimport { ReactComponent as file_text_icon } from './file-text.svg'\nimport { ReactComponent as film_icon } from './film.svg'\nimport { ReactComponent as filter_icon } from './filter.svg'\nimport { ReactComponent as flag_icon } from './flag.svg'\nimport { ReactComponent as folder_icon } from './folder.svg'\nimport { ReactComponent as folder_minus_icon } from './folder-minus.svg'\nimport { ReactComponent as folder_plus_icon } from './folder-plus.svg'\nimport { ReactComponent as framer_icon } from './framer.svg'\nimport { ReactComponent as frown_icon } from './frown.svg'\nimport { ReactComponent as gift_icon } from './gift.svg'\nimport { ReactComponent as git_branch_icon } from './git-branch.svg'\nimport { ReactComponent as git_commit_icon } from './git-commit.svg'\nimport { ReactComponent as git_merge_icon } from './git-merge.svg'\nimport { ReactComponent as git_pull_request_icon } from './git-pull-request.svg'\nimport { ReactComponent as github_icon } from './github.svg'\nimport { ReactComponent as gitlab_icon } from './gitlab.svg'\nimport { ReactComponent as globe_icon } from './globe.svg'\nimport { ReactComponent as grid_icon } from './grid.svg'\nimport { ReactComponent as hard_drive_icon } from './hard-drive.svg'\nimport { ReactComponent as hash_icon } from './hash.svg'\nimport { ReactComponent as headphones_icon } from './headphones.svg'\nimport { ReactComponent as heart_icon } from './heart.svg'\nimport { ReactComponent as help_circle_icon } from './help-circle.svg'\nimport { ReactComponent as hexagon_icon } from './hexagon.svg'\nimport { ReactComponent as home_icon } from './home.svg'\nimport { ReactComponent as image_icon } from './image.svg'\nimport { ReactComponent as inbox_icon } from './inbox.svg'\nimport { ReactComponent as info_icon } from './info.svg'\nimport { ReactComponent as instagram_icon } from './instagram.svg'\nimport { ReactComponent as italic_icon } from './italic.svg'\nimport { ReactComponent as key_icon } from './key.svg'\nimport { ReactComponent as layers_icon } from './layers.svg'\nimport { ReactComponent as layout_icon } from './layout.svg'\nimport { ReactComponent as life_buoy_icon } from './life-buoy.svg'\nimport { ReactComponent as link_icon } from './link.svg'\nimport { ReactComponent as link_2_icon } from './link-2.svg'\nimport { ReactComponent as linkedin_icon } from './linkedin.svg'\nimport { ReactComponent as list_icon } from './list.svg'\nimport { ReactComponent as loader_icon } from './loader.svg'\nimport { ReactComponent as lock_icon } from './lock.svg'\nimport { ReactComponent as log_in_icon } from './log-in.svg'\nimport { ReactComponent as log_out_icon } from './log-out.svg'\nimport { ReactComponent as mail_icon } from './mail.svg'\nimport { ReactComponent as map_icon } from './map.svg'\nimport { ReactComponent as map_pin_icon } from './map-pin.svg'\nimport { ReactComponent as maximize_icon } from './maximize.svg'\nimport { ReactComponent as maximize_2_icon } from './maximize-2.svg'\nimport { ReactComponent as meh_icon } from './meh.svg'\nimport { ReactComponent as menu_icon } from './menu.svg'\nimport { ReactComponent as message_circle_icon } from './message-circle.svg'\nimport { ReactComponent as message_square_icon } from './message-square.svg'\nimport { ReactComponent as mic_icon } from './mic.svg'\nimport { ReactComponent as mic_off_icon } from './mic-off.svg'\nimport { ReactComponent as minimize_icon } from './minimize.svg'\nimport { ReactComponent as minimize_2_icon } from './minimize-2.svg'\nimport { ReactComponent as minus_icon } from './minus.svg'\nimport { ReactComponent as minus_circle_icon } from './minus-circle.svg'\nimport { ReactComponent as minus_square_icon } from './minus-square.svg'\nimport { ReactComponent as monitor_icon } from './monitor.svg'\nimport { ReactComponent as moon_icon } from './moon.svg'\nimport { ReactComponent as more_horizontal_icon } from './more-horizontal.svg'\nimport { ReactComponent as more_vertical_icon } from './more-vertical.svg'\nimport { ReactComponent as mouse_pointer_icon } from './mouse-pointer.svg'\nimport { ReactComponent as move_icon } from './move.svg'\nimport { ReactComponent as music_icon } from './music.svg'\nimport { ReactComponent as navigation_icon } from './navigation.svg'\nimport { ReactComponent as navigation_2_icon } from './navigation-2.svg'\nimport { ReactComponent as octagon_icon } from './octagon.svg'\nimport { ReactComponent as package_icon } from './package.svg'\nimport { ReactComponent as paperclip_icon } from './paperclip.svg'\nimport { ReactComponent as pause_icon } from './pause.svg'\nimport { ReactComponent as pause_circle_icon } from './pause-circle.svg'\nimport { ReactComponent as pen_tool_icon } from './pen-tool.svg'\nimport { ReactComponent as percent_icon } from './percent.svg'\nimport { ReactComponent as phone_icon } from './phone.svg'\nimport { ReactComponent as phone_call_icon } from './phone-call.svg'\nimport { ReactComponent as phone_forwarded_icon } from './phone-forwarded.svg'\nimport { ReactComponent as phone_incoming_icon } from './phone-incoming.svg'\nimport { ReactComponent as phone_missed_icon } from './phone-missed.svg'\nimport { ReactComponent as phone_off_icon } from './phone-off.svg'\nimport { ReactComponent as phone_outgoing_icon } from './phone-outgoing.svg'\nimport { ReactComponent as pie_chart_icon } from './pie-chart.svg'\nimport { ReactComponent as play_icon } from './play.svg'\nimport { ReactComponent as play_circle_icon } from './play-circle.svg'\nimport { ReactComponent as plus_icon } from './plus.svg'\nimport { ReactComponent as plus_circle_icon } from './plus-circle.svg'\nimport { ReactComponent as plus_square_icon } from './plus-square.svg'\nimport { ReactComponent as pocket_icon } from './pocket.svg'\nimport { ReactComponent as power_icon } from './power.svg'\nimport { ReactComponent as printer_icon } from './printer.svg'\nimport { ReactComponent as radio_icon } from './radio.svg'\nimport { ReactComponent as refresh_ccw_icon } from './refresh-ccw.svg'\nimport { ReactComponent as refresh_cw_icon } from './refresh-cw.svg'\nimport { ReactComponent as repeat_icon } from './repeat.svg'\nimport { ReactComponent as rewind_icon } from './rewind.svg'\nimport { ReactComponent as rotate_ccw_icon } from './rotate-ccw.svg'\nimport { ReactComponent as rotate_cw_icon } from './rotate-cw.svg'\nimport { ReactComponent as rss_icon } from './rss.svg'\nimport { ReactComponent as save_icon } from './save.svg'\nimport { ReactComponent as scissors_icon } from './scissors.svg'\nimport { ReactComponent as search_icon } from './search.svg'\nimport { ReactComponent as send_icon } from './send.svg'\nimport { ReactComponent as server_icon } from './server.svg'\nimport { ReactComponent as settings_icon } from './settings.svg'\nimport { ReactComponent as share_icon } from './share.svg'\nimport { ReactComponent as share_2_icon } from './share-2.svg'\nimport { ReactComponent as shield_icon } from './shield.svg'\nimport { ReactComponent as shield_off_icon } from './shield-off.svg'\nimport { ReactComponent as shopping_bag_icon } from './shopping-bag.svg'\nimport { ReactComponent as shopping_cart_icon } from './shopping-cart.svg'\nimport { ReactComponent as shuffle_icon } from './shuffle.svg'\nimport { ReactComponent as sidebar_icon } from './sidebar.svg'\nimport { ReactComponent as skip_back_icon } from './skip-back.svg'\nimport { ReactComponent as skip_forward_icon } from './skip-forward.svg'\nimport { ReactComponent as slack_icon } from './slack.svg'\nimport { ReactComponent as slash_icon } from './slash.svg'\nimport { ReactComponent as sliders_icon } from './sliders.svg'\nimport { ReactComponent as smartphone_icon } from './smartphone.svg'\nimport { ReactComponent as smile_icon } from './smile.svg'\nimport { ReactComponent as speaker_icon } from './speaker.svg'\nimport { ReactComponent as square_icon } from './square.svg'\nimport { ReactComponent as star_icon } from './star.svg'\nimport { ReactComponent as stop_circle_icon } from './stop-circle.svg'\nimport { ReactComponent as sun_icon } from './sun.svg'\nimport { ReactComponent as sunrise_icon } from './sunrise.svg'\nimport { ReactComponent as sunset_icon } from './sunset.svg'\nimport { ReactComponent as table_icon } from './table.svg'\nimport { ReactComponent as tablet_icon } from './tablet.svg'\nimport { ReactComponent as tag_icon } from './tag.svg'\nimport { ReactComponent as target_icon } from './target.svg'\nimport { ReactComponent as terminal_icon } from './terminal.svg'\nimport { ReactComponent as thermometer_icon } from './thermometer.svg'\nimport { ReactComponent as thumbs_down_icon } from './thumbs-down.svg'\nimport { ReactComponent as thumbs_up_icon } from './thumbs-up.svg'\nimport { ReactComponent as toggle_left_icon } from './toggle-left.svg'\nimport { ReactComponent as toggle_right_icon } from './toggle-right.svg'\nimport { ReactComponent as tool_icon } from './tool.svg'\nimport { ReactComponent as trash_icon } from './trash.svg'\nimport { ReactComponent as trash_2_icon } from './trash-2.svg'\nimport { ReactComponent as trello_icon } from './trello.svg'\nimport { ReactComponent as trending_down_icon } from './trending-down.svg'\nimport { ReactComponent as trending_up_icon } from './trending-up.svg'\nimport { ReactComponent as triangle_icon } from './triangle.svg'\nimport { ReactComponent as truck_icon } from './truck.svg'\nimport { ReactComponent as tv_icon } from './tv.svg'\nimport { ReactComponent as twitch_icon } from './twitch.svg'\nimport { ReactComponent as twitter_icon } from './twitter.svg'\nimport { ReactComponent as type_icon } from './type.svg'\nimport { ReactComponent as umbrella_icon } from './umbrella.svg'\nimport { ReactComponent as underline_icon } from './underline.svg'\nimport { ReactComponent as unlock_icon } from './unlock.svg'\nimport { ReactComponent as upload_icon } from './upload.svg'\nimport { ReactComponent as upload_cloud_icon } from './upload-cloud.svg'\nimport { ReactComponent as user_icon } from './user.svg'\nimport { ReactComponent as user_check_icon } from './user-check.svg'\nimport { ReactComponent as user_minus_icon } from './user-minus.svg'\nimport { ReactComponent as user_plus_icon } from './user-plus.svg'\nimport { ReactComponent as user_x_icon } from './user-x.svg'\nimport { ReactComponent as users_icon } from './users.svg'\nimport { ReactComponent as video_icon } from './video.svg'\nimport { ReactComponent as video_off_icon } from './video-off.svg'\nimport { ReactComponent as voicemail_icon } from './voicemail.svg'\nimport { ReactComponent as volume_icon } from './volume.svg'\nimport { ReactComponent as volume_1_icon } from './volume-1.svg'\nimport { ReactComponent as volume_2_icon } from './volume-2.svg'\nimport { ReactComponent as volume_x_icon } from './volume-x.svg'\nimport { ReactComponent as watch_icon } from './watch.svg'\nimport { ReactComponent as wifi_icon } from './wifi.svg'\nimport { ReactComponent as wifi_off_icon } from './wifi-off.svg'\nimport { ReactComponent as wind_icon } from './wind.svg'\nimport { ReactComponent as x_icon } from './x.svg'\nimport { ReactComponent as x_circle_icon } from './x-circle.svg'\nimport { ReactComponent as x_octagon_icon } from './x-octagon.svg'\nimport { ReactComponent as x_square_icon } from './x-square.svg'\nimport { ReactComponent as youtube_icon } from './youtube.svg'\nimport { ReactComponent as zap_icon } from './zap.svg'\nimport { ReactComponent as zap_off_icon } from './zap-off.svg'\nimport { ReactComponent as zoom_in_icon } from './zoom-in.svg'\nimport { ReactComponent as zoom_out_icon } from './zoom-out.svg'\n\nconst icons = {\n activity: activity_icon,\n airplay: airplay_icon,\n alert_circle: alert_circle_icon,\n alert_octagon: alert_octagon_icon,\n alert_triangle: alert_triangle_icon,\n align_center: align_center_icon,\n align_justify: align_justify_icon,\n align_left: align_left_icon,\n align_right: align_right_icon,\n anchor: anchor_icon,\n aperture: aperture_icon,\n archive: archive_icon,\n arrow_down: arrow_down_icon,\n arrow_down_circle: arrow_down_circle_icon,\n arrow_down_left: arrow_down_left_icon,\n arrow_down_right: arrow_down_right_icon,\n arrow_left: arrow_left_icon,\n arrow_left_circle: arrow_left_circle_icon,\n arrow_right: arrow_right_icon,\n arrow_right_circle: arrow_right_circle_icon,\n arrow_up: arrow_up_icon,\n arrow_up_circle: arrow_up_circle_icon,\n arrow_up_left: arrow_up_left_icon,\n arrow_up_right: arrow_up_right_icon,\n at_sign: at_sign_icon,\n award: award_icon,\n bar_chart: bar_chart_icon,\n bar_chart_2: bar_chart_2_icon,\n battery: battery_icon,\n battery_charging: battery_charging_icon,\n bell: bell_icon,\n bell_off: bell_off_icon,\n bluetooth: bluetooth_icon,\n bold: bold_icon,\n book: book_icon,\n book_open: book_open_icon,\n bookmark: bookmark_icon,\n box: box_icon,\n briefcase: briefcase_icon,\n calendar: calendar_icon,\n camera: camera_icon,\n camera_off: camera_off_icon,\n cast: cast_icon,\n check: check_icon,\n check_circle: check_circle_icon,\n check_square: check_square_icon,\n chevron_down: chevron_down_icon,\n chevron_left: chevron_left_icon,\n chevron_right: chevron_right_icon,\n chevron_up: chevron_up_icon,\n chevrons_down: chevrons_down_icon,\n chevrons_left: chevrons_left_icon,\n chevrons_right: chevrons_right_icon,\n chevrons_up: chevrons_up_icon,\n chrome: chrome_icon,\n circle: circle_icon,\n clipboard: clipboard_icon,\n clock: clock_icon,\n cloud: cloud_icon,\n cloud_drizzle: cloud_drizzle_icon,\n cloud_lightning: cloud_lightning_icon,\n cloud_off: cloud_off_icon,\n cloud_rain: cloud_rain_icon,\n cloud_snow: cloud_snow_icon,\n code: code_icon,\n codepen: codepen_icon,\n codesandbox: codesandbox_icon,\n coffee: coffee_icon,\n columns: columns_icon,\n command: command_icon,\n compass: compass_icon,\n copy: copy_icon,\n corner_down_left: corner_down_left_icon,\n corner_down_right: corner_down_right_icon,\n corner_left_down: corner_left_down_icon,\n corner_left_up: corner_left_up_icon,\n corner_right_down: corner_right_down_icon,\n corner_right_up: corner_right_up_icon,\n corner_up_left: corner_up_left_icon,\n corner_up_right: corner_up_right_icon,\n cpu: cpu_icon,\n credit_card: credit_card_icon,\n crop: crop_icon,\n crosshair: crosshair_icon,\n database: database_icon,\n delete: delete_icon,\n disc: disc_icon,\n divide: divide_icon,\n divide_circle: divide_circle_icon,\n divide_square: divide_square_icon,\n dollar_sign: dollar_sign_icon,\n download: download_icon,\n download_cloud: download_cloud_icon,\n dribbble: dribbble_icon,\n droplet: droplet_icon,\n edit: edit_icon,\n edit_2: edit_2_icon,\n edit_3: edit_3_icon,\n external_link: external_link_icon,\n eye: eye_icon,\n eye_off: eye_off_icon,\n facebook: facebook_icon,\n fast_forward: fast_forward_icon,\n feather: feather_icon,\n figma: figma_icon,\n file: file_icon,\n file_minus: file_minus_icon,\n file_plus: file_plus_icon,\n file_text: file_text_icon,\n film: film_icon,\n filter: filter_icon,\n flag: flag_icon,\n folder: folder_icon,\n folder_minus: folder_minus_icon,\n folder_plus: folder_plus_icon,\n framer: framer_icon,\n frown: frown_icon,\n gift: gift_icon,\n git_branch: git_branch_icon,\n git_commit: git_commit_icon,\n git_merge: git_merge_icon,\n git_pull_request: git_pull_request_icon,\n github: github_icon,\n gitlab: gitlab_icon,\n globe: globe_icon,\n grid: grid_icon,\n hard_drive: hard_drive_icon,\n hash: hash_icon,\n headphones: headphones_icon,\n heart: heart_icon,\n help_circle: help_circle_icon,\n hexagon: hexagon_icon,\n home: home_icon,\n image: image_icon,\n inbox: inbox_icon,\n info: info_icon,\n instagram: instagram_icon,\n italic: italic_icon,\n key: key_icon,\n layers: layers_icon,\n layout: layout_icon,\n life_buoy: life_buoy_icon,\n link: link_icon,\n link_2: link_2_icon,\n linkedin: linkedin_icon,\n list: list_icon,\n loader: loader_icon,\n lock: lock_icon,\n log_in: log_in_icon,\n log_out: log_out_icon,\n mail: mail_icon,\n map: map_icon,\n map_pin: map_pin_icon,\n maximize: maximize_icon,\n maximize_2: maximize_2_icon,\n meh: meh_icon,\n menu: menu_icon,\n message_circle: message_circle_icon,\n message_square: message_square_icon,\n mic: mic_icon,\n mic_off: mic_off_icon,\n minimize: minimize_icon,\n minimize_2: minimize_2_icon,\n minus: minus_icon,\n minus_circle: minus_circle_icon,\n minus_square: minus_square_icon,\n monitor: monitor_icon,\n moon: moon_icon,\n more_horizontal: more_horizontal_icon,\n more_vertical: more_vertical_icon,\n mouse_pointer: mouse_pointer_icon,\n move: move_icon,\n music: music_icon,\n navigation: navigation_icon,\n navigation_2: navigation_2_icon,\n octagon: octagon_icon,\n package: package_icon,\n paperclip: paperclip_icon,\n pause: pause_icon,\n pause_circle: pause_circle_icon,\n pen_tool: pen_tool_icon,\n percent: percent_icon,\n phone: phone_icon,\n phone_call: phone_call_icon,\n phone_forwarded: phone_forwarded_icon,\n phone_incoming: phone_incoming_icon,\n phone_missed: phone_missed_icon,\n phone_off: phone_off_icon,\n phone_outgoing: phone_outgoing_icon,\n pie_chart: pie_chart_icon,\n play: play_icon,\n play_circle: play_circle_icon,\n plus: plus_icon,\n plus_circle: plus_circle_icon,\n plus_square: plus_square_icon,\n pocket: pocket_icon,\n power: power_icon,\n printer: printer_icon,\n radio: radio_icon,\n refresh_ccw: refresh_ccw_icon,\n refresh_cw: refresh_cw_icon,\n repeat: repeat_icon,\n rewind: rewind_icon,\n rotate_ccw: rotate_ccw_icon,\n rotate_cw: rotate_cw_icon,\n rss: rss_icon,\n save: save_icon,\n scissors: scissors_icon,\n search: search_icon,\n send: send_icon,\n server: server_icon,\n settings: settings_icon,\n share: share_icon,\n share_2: share_2_icon,\n shield: shield_icon,\n shield_off: shield_off_icon,\n shopping_bag: shopping_bag_icon,\n shopping_cart: shopping_cart_icon,\n shuffle: shuffle_icon,\n sidebar: sidebar_icon,\n skip_back: skip_back_icon,\n skip_forward: skip_forward_icon,\n slack: slack_icon,\n slash: slash_icon,\n sliders: sliders_icon,\n smartphone: smartphone_icon,\n smile: smile_icon,\n speaker: speaker_icon,\n square: square_icon,\n star: star_icon,\n stop_circle: stop_circle_icon,\n sun: sun_icon,\n sunrise: sunrise_icon,\n sunset: sunset_icon,\n table: table_icon,\n tablet: tablet_icon,\n tag: tag_icon,\n target: target_icon,\n terminal: terminal_icon,\n thermometer: thermometer_icon,\n thumbs_down: thumbs_down_icon,\n thumbs_up: thumbs_up_icon,\n toggle_left: toggle_left_icon,\n toggle_right: toggle_right_icon,\n tool: tool_icon,\n trash: trash_icon,\n trash_2: trash_2_icon,\n trello: trello_icon,\n trending_down: trending_down_icon,\n trending_up: trending_up_icon,\n triangle: triangle_icon,\n truck: truck_icon,\n tv: tv_icon,\n twitch: twitch_icon,\n twitter: twitter_icon,\n type: type_icon,\n umbrella: umbrella_icon,\n underline: underline_icon,\n unlock: unlock_icon,\n upload: upload_icon,\n upload_cloud: upload_cloud_icon,\n user: user_icon,\n user_check: user_check_icon,\n user_minus: user_minus_icon,\n user_plus: user_plus_icon,\n user_x: user_x_icon,\n users: users_icon,\n video: video_icon,\n video_off: video_off_icon,\n voicemail: voicemail_icon,\n volume: volume_icon,\n volume_1: volume_1_icon,\n volume_2: volume_2_icon,\n volume_x: volume_x_icon,\n watch: watch_icon,\n wifi: wifi_icon,\n wifi_off: wifi_off_icon,\n wind: wind_icon,\n x: x_icon,\n x_circle: x_circle_icon,\n x_octagon: x_octagon_icon,\n x_square: x_square_icon,\n youtube: youtube_icon,\n zap: zap_icon,\n zap_off: zap_off_icon,\n zoom_in: zoom_in_icon,\n zoom_out: zoom_out_icon,\n} as const\n\nexport default icons\n","import { Icon, IconProps } from 'semantic-ui-react'\nimport styled, { css } from 'styled-components'\n\ninterface SemanticIconProps extends IconProps {\n fontcolor: string\n width?: string | number\n height?: string | number\n}\n\nexport const SemanticIcon = styled(Icon)<SemanticIconProps>`\n &.icon,\n &.icon:before {\n margin: 0;\n color: ${({ fontcolor }) => fontcolor};\n display: flex;\n justify-content: center;\n align-items: center;\n\n ${({ width }) => {\n if (!width) return\n\n return css`\n font-size: ${width};\n width: ${width};\n `\n }}\n\n ${({ height }) => {\n if (!height) return\n\n return css`\n font-size: ${height};\n height: ${height};\n `\n }}\n }\n\n &.icon:before {\n height: 100%;\n }\n`\n\ninterface SVGContainerProps extends React.HtmlHTMLAttributes<HTMLDivElement> {\n color: string\n strokeWidth?: string\n}\n\nexport const SVGContainer = styled.div<SVGContainerProps>`\n display: flex;\n > svg {\n &,\n * {\n stroke: ${({ color }) => color};\n\n ${({ strokeWidth }) => {\n if (!strokeWidth) return\n\n return css`\n stroke-width: ${strokeWidth};\n `\n }}\n }\n }\n`\n","import React from 'react'\nimport { filterObject } from '../../functions/formatters'\n\nimport { isKeyOf } from '../../functions/validators'\nimport { colors } from '../../theme/constants'\nimport feather from '.././../assets/icons/feather'\nimport { CommonProps, ExtendsCommon, IconProps } from './interfaces'\nimport * as S from './styled'\n\nconst getColor = (c?: string): string => {\n if (!c) return colors.grey\n\n return isKeyOf(colors, c) ? colors[c] : c\n}\n\nconst getCommonProps = (props: ExtendsCommon) => {\n const color = getColor(props.color as string)\n const commonProps = filterObject<typeof props, Omit<CommonProps, 'color'>>(\n props,\n ['type', 'icon', 'color'],\n {\n width: '24px',\n },\n )\n\n return { color, commonProps }\n}\n\nconst Icon = (props: IconProps) => {\n switch (props.type) {\n case 'feather': {\n const { color, commonProps } = getCommonProps(props)\n\n const Component = feather[props.icon]\n return (\n <S.SVGContainer color={color} strokeWidth={props.strokeWidth}>\n <Component {...commonProps} />\n </S.SVGContainer>\n )\n }\n case 'semantic': {\n const { color, commonProps } = getCommonProps(props)\n\n return (\n <S.SemanticIcon fontcolor={color} name={props.icon} {...commonProps} />\n )\n }\n case 'svg': {\n const { color, commonProps } = getCommonProps(props)\n\n const Component = props.icon\n return (\n <S.SVGContainer color={color} strokeWidth={props.strokeWidth}>\n <Component {...commonProps} />\n </S.SVGContainer>\n )\n }\n case 'jsx': {\n return props.icon\n }\n default:\n throw new Error('Invalid icon type')\n }\n}\n\nexport default Icon\n","import styled from 'styled-components'\nimport { MwTextAreaProps } from './interfaces'\n\nexport const Container = styled.textarea<MwTextAreaProps>`\n width: ${(props) => `${props.width}`};\n height: ${(props) => `${props.height}`};\n resize: none;\n outline: 0;\n border: 1px solid #c8c8c8;\n padding: 14px;\n border-radius: 4px;\n color: #192338;\n`\n","import React from 'react'\nimport { MwTextAreaProps } from './interfaces'\nimport * as S from './styles'\n\nconst TextArea = (props: MwTextAreaProps): JSX.Element => {\n return <S.Container {...props} />\n}\n\nexport default TextArea\n","import styled from 'styled-components'\n\nexport const EllipsisContainer = styled.div`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`\n","import React from 'react'\n\nimport * as S from './styled'\n\nconst EllipsisContainer = (props: React.HTMLAttributes<HTMLDivElement>) => {\n const myProps: React.HTMLAttributes<HTMLDivElement> = { ...props }\n\n const _onMouseOver = myProps.onMouseOver || (() => {})\n\n myProps.onMouseOver = (event) => {\n _onMouseOver(event)\n\n let target = event.target as HTMLElement | null\n\n while (target && !('ellipsis' in target.dataset)) {\n target = target.parentElement as HTMLElement | null\n }\n\n if (!target) return\n\n if (target.scrollWidth > target.offsetWidth) {\n target.title = target.innerText\n } else target.removeAttribute('title')\n }\n\n return <S.EllipsisContainer {...myProps} data-ellipsis='' />\n}\n\nexport default EllipsisContainer\n","import React, { useState } from 'react'\nimport styled, { css } from 'styled-components'\nimport { filterObject, getSpacings } from '../../functions/formatters'\nimport Loader from '../Loader'\n\nimport { OverflowContainerProps, ScrollContainerProps } from './interfaces'\n\nconst Container = styled.div`\n ${({ theme }) => theme.useTypography('p')};\n\n padding-right: calc(${({ theme }) => theme.spacings.s1} / 2);\n display: flex;\n width: 100%;\n display: flex;\n flex-direction: column;\n`\n\nconst OverflowContainer = styled.div<OverflowContainerProps>`\n overflow-y: scroll;\n overflow-y: overlay;\n max-height: 100%;\n width: 100%;\n\n ${({ height }) => {\n if (!height) return\n\n return css`\n height: ${height};\n `\n }}\n\n scrollbar-color: ${({ theme }) =>\n `${theme.colors.grey} ${theme.colors.white}`};\n scrollbar-width: auto;\n\n ::-webkit-scrollbar {\n width: 7px;\n }\n ::-webkit-scrollbar-thumb {\n background: ${({ theme }) => theme.colors.grey};\n }\n ::-webkit-scrollbar-track {\n background: ${({ theme }) => theme.colors.white};\n }\n\n ${({ spacing, theme }) => {\n const value = getSpacings(spacing || '0', '0').split(' ')\n\n return css`\n padding: ${value[0]} calc(${theme.spacings.s1} * 1.5) ${value[2]}\n ${value[3]};\n `\n }};\n`\n\nconst RelativeContainer = styled.div`\n position: relative;\n flex: 1;\n`\n\nconst ScrollContainer = (props: ScrollContainerProps) => {\n const { before, after, loading } = props\n\n const onScrollEnd = props.onScrollEnd || (() => {})\n\n const [, setLastPagination] = useState<Date>(new Date())\n\n const onScroll = (event: React.UIEvent<HTMLDivElement, UIEvent>) => {\n const target = event.nativeEvent.target as HTMLDivElement | null\n\n if (!target) return\n\n const scrollTopMax = target.scrollHeight - target.clientHeight\n const scrollTop = target.scrollTop\n\n if (scrollTopMax !== 0 && scrollTopMax === scrollTop) {\n setLastPagination((prev) => {\n const now = new Date()\n\n const diff = Math.abs((now.getTime() - prev.getTime()) / 1000)\n\n if (diff < 0.5) return prev\n\n onScrollEnd()\n return now\n })\n }\n }\n\n const _onScroll = props.onScroll || (() => {})\n\n const htmlProps = filterObject<\n ScrollContainerProps,\n React.HTMLAttributes<HTMLDivElement>\n >(props, ['onScrollEnd', 'before', 'after', 'loading'])\n\n return (\n <Container>\n {before}\n <RelativeContainer>\n <OverflowContainer\n {...htmlProps}\n onScroll={(event: React.UIEvent<HTMLDivElement, UIEvent>) => {\n _onScroll(event)\n onScroll(event)\n }}\n />\n\n {loading && <Loader filled />}\n </RelativeContainer>\n {after}\n </Container>\n )\n}\n\nexport default ScrollContainer\n","import styled, { css, FlattenSimpleInterpolation } from 'styled-components'\n\nimport { ContainerProps, Position, References } from './interfaces'\n\nconst positions: {\n [key in Position]: (refernce: References) => FlattenSimpleInterpolation\n} = {\n 'top right': ({ left }) => css`\n top: 0;\n left: ${left || '100%'};\n `,\n 'top left': ({ right }) => css`\n top: 0;\n right: ${right || '100%'};\n `,\n 'bottom right': ({ left }) => css`\n bottom: 0;\n left: ${left || '100%'};\n `,\n 'bottom left': ({ right }) => css`\n bottom: 0;\n right: ${right || '100%'};\n `,\n 'right top': ({ bottom }) => css`\n bottom: ${bottom || '100%'};\n right: 0;\n `,\n 'right bottom': ({ top }) => css`\n top: ${top || '100%'};\n right: 0;\n `,\n 'left top': ({ bottom }) => css`\n bottom: ${bottom || '100%'};\n left: 0;\n `,\n 'left bottom': ({ top }) => css`\n top: ${top || '100%'};\n left: 0;\n `,\n}\n\nexport const Container = styled.div<ContainerProps>`\n ${({ theme }) => theme.useTypography('p')};\n\n > div {\n box-shadow: 0px 3px 6px ${({ theme }) => theme.getColor('black', 15)};\n border: 1px solid ${({ theme }) => theme.colors.lightestGrey};\n }\n\n z-index: ${({ zIndex }) => zIndex || 1};\n\n ${({ width }) => {\n if (!width) return\n\n return css`\n width: ${width};\n `\n }}\n\n ${({ height }) => {\n if (!height) return\n\n return css`\n height: ${height};\n `\n }}\n\n ${({ maxWidth }) => {\n if (!maxWidth) return\n\n return css`\n max-width: ${maxWidth};\n `\n }}\n\n ${({ maxHeight }) => {\n if (!maxHeight) return\n\n return css`\n max-height: ${maxHeight};\n `\n }}\n\n position: absolute;\n\n ${({ position, references }) => {\n return positions[position](references || {})\n }}\n\n ${({ firstRender }) => {\n if (!firstRender) return\n\n return css`\n visibility: hidden;\n `\n }}\n`\n","import React, { useEffect, useState } from 'react'\nimport { filterObject } from '../../functions/formatters'\n\nimport { AbsoluteContainerProps, Position } from './interfaces'\nimport * as S from './styles'\n\nexport const AbsoluteContainer = (props: AbsoluteContainerProps) => {\n const disableAutoPosition = props.disableAutoPosition || props.position\n\n const center = props.center || {\n x: 50,\n y: 75,\n }\n\n const axis = props.axis || 'y'\n const defaultPosition = axis === 'y' ? 'right bottom' : 'top right'\n\n const [position, setPosition] = useState<Position>(\n props.position || defaultPosition,\n )\n\n const [ref, setRef] = useState<HTMLDivElement | null>(null)\n const [firstRender, setFirstRender] = useState<boolean>(true)\n\n useEffect(() => {\n if (disableAutoPosition || !ref) return\n\n const width = window.innerWidth\n const height = window.innerHeight\n const { top, left } = ref.getBoundingClientRect()\n\n const x = (left * 100) / width\n const y = (top * 100) / height\n\n const xDirection = x > center.x ? 'left' : 'right'\n const yDirection = y > center.y ? 'top' : 'bottom'\n\n const newPosition: Position =\n axis === 'y'\n ? (`${xDirection} ${yDirection}` as Position)\n : (`${yDirection} ${xDirection}` as Position)\n\n setPosition(newPosition)\n setFirstRender(false)\n }, [ref])\n\n const htmlProps = filterObject<\n AbsoluteContainerProps,\n React.HTMLAttributes<HTMLDivElement>\n >(props, ['center', 'position', 'disableAutoPosition', 'children'])\n\n return (\n <S.Container\n {...htmlProps}\n position={position}\n ref={setRef}\n firstRender={firstRender}\n >\n <div>{props.children}</div>\n </S.Container>\n )\n}\n\nexport default AbsoluteContainer\n","import styled, { css } from 'styled-components'\nimport { getSpacings } from '../../functions/formatters'\nimport AbsoluteContainer from '../AbsoluteContainer'\nimport { ContainerProps, StyledOptionProps } from './interfaces'\n\nexport const Option = styled.div<StyledOptionProps>`\n ${({ theme }) => theme.useTypography('p')};\n line-height: ${({ theme }) => theme.spacings.s3};\n display: flex;\n\n > :nth-child(1) {\n flex: 1;\n }\n\n ${({ disabled }) => {\n if (!disabled) {\n return css`\n cursor: pointer;\n `\n }\n\n return css`\n pointer-events: none;\n opacity: 0.3;\n `\n }};\n\n :hover {\n background-color: ${({ theme }) => theme.colors.iceWhite};\n }\n`\n\nexport const Container = styled(AbsoluteContainer)<ContainerProps>`\n > div {\n > div:nth-child(1) {\n background-color: ${({ theme }) => theme.colors.white};\n border-radius: 4px;\n }\n\n ${({ bordered }) => {\n if (!bordered) return\n\n return css`\n ${Option} {\n :not(:last-child) {\n border-bottom: 1px solid\n ${({ theme }) => theme.getColor('greyishBlue', 10)};\n }\n }\n `\n }}\n\n ${(props) => {\n const { theme } = props\n\n if (!props.spacing) {\n return css`\n ${Delimiter} {\n margin: ${theme.spacings.s1} 0px ${theme.spacings.s1}\n ${theme.spacings.s1};\n }\n `\n }\n\n const spacing = getSpacings(props.spacing, { right: '0' })\n\n return css`\n ${Option} {\n padding: ${spacing};\n }\n ${Delimiter} {\n margin: ${spacing};\n }\n `\n }}\n }\n`\n\nexport const Delimiter = styled.div`\n ${({ theme }) => theme.useTypography('p')};\n\n border-bottom: 1px solid ${({ theme }) => theme.colors.greyishBlue};\n margin: 14px;\n width: calc(100% - 28px);\n`\n","import React, { useEffect, useState } from 'react'\nimport { isString } from '../../functions/validators'\nimport EllipsisContainer from '../EllipsisContainer'\nimport Icon from '../Icon'\nimport ScrollContainer from '../ScrollContainer'\n\nimport { MenuInterface } from './interfaces'\nimport * as S from './styles'\n\nconst Menu: MenuInterface = (props) => {\n const {\n open,\n close,\n options,\n width,\n height,\n maxWidth,\n maxHeight,\n bordered,\n spacing,\n position,\n disableAutoPosition,\n axis,\n references,\n onScrollEnd,\n before,\n after,\n scrollHeight,\n scrollSpacing,\n loading,\n } = { ...props }\n\n const [activeOption, setActiveOption] = useState<number>(-1)\n\n useEffect(() => {\n setActiveOption(-1)\n }, [options])\n\n const getSubmenu = (index: number) => {\n if (index === -1 || options[index] === undefined) {\n return\n }\n\n const { submenu: submenuProps } = options[index]\n\n if (!submenuProps) {\n return\n }\n\n return (\n <Menu\n {...props}\n {...submenuProps}\n onScrollEnd={submenuProps.onScrollEnd}\n axis='x'\n open\n close={() => setActiveOption(-1)}\n />\n )\n }\n\n if (!open) return <React.Fragment />\n\n return (\n <S.Container\n width={width}\n height={height}\n maxWidth={maxWidth}\n maxHeight={maxHeight}\n position={position}\n bordered={bordered}\n spacing={spacing}\n disableAutoPosition={disableAutoPosition}\n axis={axis}\n references={references}\n >\n <ScrollContainer\n onScrollEnd={onScrollEnd}\n before={before}\n after={after}\n height={scrollHeight}\n spacing={scrollSpacing}\n loading={loading}\n >\n {options.map((option, index) => {\n const { delimiter, keepOpen, submenu } = { ...option }\n\n const label = isString(option.label)\n ? { text: option.label, element: option.label }\n : option.label\n\n const closeMenu = keepOpen || submenu ? () => {} : close\n\n let onClick: React.MouseEventHandler<HTMLDivElement> | undefined\n let disabled: boolean | undefined\n\n if ('data' in option) {\n const rules = option.rules || []\n const rule = rules.find((rule) => {\n return !rule.rule(index, option.data)\n })\n\n if (rule === undefined) {\n const _onClick = option.onClick || (() => {})\n\n onClick = () => {\n setActiveOption((prev) => (prev !== index ? index : -1))\n _onClick(index, option.data)\n closeMenu()\n }\n } else {\n // TODO: exibir popup com a mensagem da regra\n disabled = true\n }\n } else {\n const rules = option.rules || []\n const rule = rules.find((rule) => {\n return !rule.rule(index)\n })\n\n if (rule === undefined) {\n const _onClick = option.onClick || (() => {})\n\n onClick = () => {\n setActiveOption((prev) => (prev !== index ? index : -1))\n _onClick(index)\n closeMenu()\n }\n } else {\n // TODO: exibir popup com a mensagem da regra\n disabled = true\n }\n }\n\n return (\n <React.Fragment key={index}>\n <S.Option onClick={onClick} disabled={disabled}>\n {isString(label.element) ? (\n <EllipsisContainer>{label.element}</EllipsisContainer>\n ) : (\n label.element\n )}\n\n {submenu && (\n <Icon type='semantic' icon='caret right' width='14px' />\n )}\n </S.Option>\n\n {delimiter && <S.Delimiter />}\n </React.Fragment>\n )\n })}\n </ScrollContainer>\n\n {getSubmenu(activeOption)}\n </S.Container>\n )\n}\n\nexport default Menu\n","import styled, { css } from 'styled-components'\nimport { IndicatorProps } from './interfaces'\n\ninterface ContainerProps {\n props: IndicatorProps\n}\n\nexport const Container = styled.div<ContainerProps>`\n display: flex;\n align-items: center;\n div {\n border-radius: 50%;\n width: ${({ props }) => (props.size === 'medium' ? '15px' : '6px')};\n height: ${({ props }) => (props.size === 'medium' ? '15px' : '6px')};\n\n ${({ props }) =>\n props.type === 'default' &&\n css`\n background-color: ${({ theme }) => theme.colors.warningGray};\n `}\n\n ${({ props }) =>\n props.type === 'info' &&\n css`\n background-color: ${({ theme }) => theme.colors.blue};\n `}\n ${({ props }) =>\n props.type === 'danger' &&\n css`\n background-color: ${({ theme }) => theme.colors.warningRed};\n `}\n ${({ props }) =>\n props.type === 'success' &&\n css`\n background-color: ${({ theme }) => theme.colors.green};\n `}\n ${({ props }) =>\n props.type === 'warning' &&\n css`\n background-color: ${({ theme }) => theme.colors.warningYellow};\n `}\n }\n\n span {\n display: inline-block;\n margin-left: 8px;\n color: ${(props) => props.props.labelColor};\n }\n`\n","import React from 'react'\nimport { IndicatorProps } from './interfaces'\nimport * as S from './styles'\n\nconst Indicator = (props: IndicatorProps) => {\n return (\n <S.Container props={props}>\n <div></div>\n <span> {props.description} </span>\n </S.Container>\n )\n}\n\nexport default Indicator\n","import styled, { css } from 'styled-components'\nimport { ProgressBarProps } from './interfaces'\n\nexport const Container = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n span {\n display: inline-block;\n margin-left: 7px;\n color: #000000cc;\n }\n`\n\nexport const Progress = styled.div<ProgressBarProps>`\n width: 64px;\n height: 12px;\n border: 1px solid #e4e4e4;\n div {\n width: ${(props) => `${props.value}%`};\n max-width: 64px;\n height: 100%;\n ${(props) =>\n props.type === 'default' &&\n css`\n background-color: ${({ theme }) => theme.colors.warningGray};\n `}\n\n ${(props) =>\n props.type === 'info' &&\n css`\n background-color: ${({ theme }) => theme.colors.blue};\n `}\n ${(props) =>\n props.type === 'danger' &&\n css`\n background-color: ${({ theme }) => theme.colors.warningRed};\n `}\n ${(props) =>\n props.type === 'success' &&\n css`\n background-color: ${({ theme }) => theme.colors.green};\n `}\n ${(props) =>\n props.type === 'warning' &&\n css`\n background-color: ${({ theme }) => theme.colors.warningYellow};\n `}\n }\n`\n","import React from 'react'\nimport { ProgressBarProps } from './interfaces'\nimport * as S from './styles'\n\nconst ProgressBar = (props: ProgressBarProps) => {\n return (\n <S.Container>\n <S.Progress {...props}>\n <div />\n </S.Progress>\n <span> {props.value || '0'}%</span>\n </S.Container>\n )\n}\n\nexport default ProgressBar\n","import styled, { css } from 'styled-components'\n\nimport { StyledTabsProps } from './interfaces'\n\nexport const Container = styled.div<StyledTabsProps>`\n display: block;\n border-bottom-style: solid;\n\n ${({ theme, internal }) => css`\n margin-bottom: ${theme.spacings.s2};\n border-bottom-width: ${internal ? '1px' : '2px'};\n border-bottom-color: ${internal\n ? theme.getColor('lightestGrey', 50)\n : theme.colors.blue};\n `}\n`\n\nexport const Tabs = styled.ul<StyledTabsProps>`\n user-select: none;\n list-style: none;\n display: inline-flex;\n gap: 1px;\n padding: 0;\n margin: 0;\n\n ${({ theme, internal }) => css`\n height: ${internal ? '41px' : '49px'};\n box-shadow: 0 0 10px 0 ${theme.getColor('black', 10)};\n `}\n`\n\nexport const Tab = styled.li<StyledTabsProps>`\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 4px 4px 0 0;\n\n svg {\n transform: scale(calc(18 / 24));\n stroke-width: 2px;\n }\n\n ${({ theme, active }) => css`\n background-color: ${theme.colors[active ? 'blue' : 'white']};\n padding: 0 ${theme.spacings.s2};\n gap: ${theme.spacings.s2};\n\n span {\n font-family: ${theme.typographies.h2.fontFamily};\n font-size: ${theme.typographies.h2.fontSize};\n font-weight: ${theme.typographies.h2.fontWeight};\n\n color: ${theme.colors[active ? 'white' : 'darkBlue']};\n }\n\n svg {\n stroke: ${theme.colors[active ? 'white' : 'darkBlue']};\n\n &:hover {\n stroke: ${theme.colors.red};\n }\n }\n `}\n`\n","import React, { useState } from 'react'\n\nimport { ReactComponent as CloseIcon } from '../../assets/icons/close.svg'\nimport { TabProps, TabsProps } from './interfaces'\nimport * as S from './styles'\n\nconst Tabs = (props: TabsProps) => {\n const { options, activeState, internal } = props\n\n const [tabs, setTabs] = useState<TabProps[]>(options)\n const [active, setActive] = activeState\n\n const updateActiveTab = (\n index: number,\n event: React.MouseEvent<HTMLLIElement, MouseEvent>,\n ) => {\n const element = event.target as HTMLElement\n if (element.tagName === 'svg') return\n\n setActive(index)\n }\n\n const removeTab = (index: number) => {\n setTabs((prevState) => {\n const aux = [...prevState]\n\n if (index === active) {\n setActive(index > 0 ? index - 1 : 1)\n }\n\n aux.splice(index, 1)\n\n return aux\n })\n }\n\n return (\n <S.Container>\n <S.Tabs internal={+(internal || false)}>\n {tabs.map((tab, index) => (\n <S.Tab\n key={index}\n active={+(active === index)}\n onClick={(event) => updateActiveTab(index, event)}\n >\n <span>{tab.label}</span>\n <CloseIcon onClick={() => removeTab(index)} />\n </S.Tab>\n ))}\n </S.Tabs>\n </S.Container>\n )\n}\n\nexport default Tabs\n","import { Mask, MaskFunction, MaskReplace, MaskReplaceArray } from './interfaces'\n\nconst isMaskFunction = (value?: Mask): value is MaskFunction => {\n return typeof value === 'function'\n}\n\nconst isMaskReplace = (value?: Mask): value is MaskReplace => {\n return Array.isArray(value) && value[0] instanceof RegExp\n}\n\nconst isMaskReplaceArray = (value?: Mask): value is MaskReplaceArray => {\n return Array.isArray(value) && Array.isArray(value[0])\n}\n\nexport const getMask = (mask?: Mask): MaskFunction => {\n if (isMaskFunction(mask)) {\n return mask\n } else if (isMaskReplace(mask)) {\n const [find, replace] = mask\n return (value: string) => value.replace(find, replace)\n } else if (isMaskReplaceArray(mask)) {\n return (value: string) => {\n let newValue = value\n\n mask.forEach((e) => {\n const [find, replace] = e\n newValue = newValue.replace(find, replace)\n })\n\n return newValue\n }\n }\n\n return (value: string) => value\n}\n","import styled, { css } from 'styled-components'\nimport { StyledInputProps, StyledLabelProps } from './interfaces'\n\nexport const IconContainer = styled.button`\n position: absolute;\n bottom: calc(${({ theme }) => theme.spacings.s2} + 1px);\n display: flex;\n justify-content: center;\n align-items: center;\n height: 17px;\n\n background-color: transparent;\n border: none;\n box-shadow: none;\n padding: 0;\n\n ${({ onClick, disabled }) => {\n if (!onClick || disabled) return\n\n return css`\n cursor: pointer;\n `\n }}\n`\n\nexport const Input = styled.input<StyledInputProps>`\n ${({ theme }) => theme.useTypography('p')};\n\n color: ${({ theme, invalid }) => {\n return invalid ? theme.colors.warningRed : theme.colors.darkBlue\n }};\n\n line-height: 17px;\n\n ::placeholder {\n color: ${({ theme, invalid }) => {\n return invalid ? theme.colors.warningRed : theme.colors.darkGrey\n }};\n\n line-height: 17px;\n\n ${({ placeholder }) => {\n if (placeholder !== '••••••••') {\n return css`\n ${({ theme }) => theme.useTypography('p')};\n opacity: 1;\n `\n }\n\n return css`\n opacity: 0.5;\n font-size: 14px;\n letter-spacing: 0px;\n `\n }}\n }\n\n width: 100%;\n box-sizing: border-box;\n\n padding: ${({ theme }) => `${theme.spacings.s2} ${theme.spacings.s3}`};\n\n border-width: 1px;\n border-style: solid;\n border-color: ${({ theme, invalid }) =>\n invalid ? theme.colors.warningRed : theme.colors.lightGrey};\n border-radius: 4px;\n\n background-color: ${({ theme, invalid }) =>\n invalid ? theme.getColor('warningRed', 5) : theme.colors.white};\n\n box-shadow: none;\n outline: none;\n\n ${({ arrows }) => {\n if (arrows) return\n\n return css`\n /* Chrome, Safari, Edge, Opera */\n :-webkit-outer-spin-button,\n :-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n /* Firefox */\n -moz-appearance: textfield;\n `\n }}\n\n ${({ readOnly, onClick, disabled }) => {\n if (!readOnly) return\n\n return css`\n cursor: ${!onClick || disabled ? 'unset' : 'pointer'};\n `\n }}\n`\n\nexport const Label = styled.label<StyledLabelProps>`\n ${({ theme }) => theme.useTypography('p')};\n\n color: ${({ theme }) => {\n return theme.colors.greyishBlue\n }};\n\n width: ${({ width }) => width || '100%'};\n box-sizing: border-box;\n position: relative;\n display: block;\n\n ${({ disabled }) => {\n if (!disabled) return\n\n return css`\n opacity: 0.5;\n `\n }}\n\n > div:first-child {\n display: inline-block;\n margin-bottom: ${({ theme }) => theme.spacings.s1};\n\n ${({ required }) => {\n if (!required) return\n\n return css`\n :after {\n content: ' *';\n }\n `\n }}\n }\n\n ${({ icon }) => {\n if (!icon) return\n\n const { width, position } = icon\n\n if (position === 'right') {\n return css`\n > ${IconContainer} {\n width: ${width};\n right: calc(${({ theme }) => theme.spacings.s3} / 2);\n }\n\n > ${Input} {\n padding-right: calc(${({ theme }) => theme.spacings.s3} + ${width});\n }\n `\n }\n\n return css`\n > ${IconContainer} {\n width: ${width};\n left: calc(${({ theme }) => theme.spacings.s3} / 2);\n }\n\n > ${Input} {\n padding-left: calc(${({ theme }) => theme.spacings.s3} + ${width});\n }\n `\n }}\n`\n","import React from 'react'\n\nimport MwIcon from '../../../Icon'\n\nimport { filterObject } from '../../../../functions/formatters'\nimport { IconProps } from '../../../Icon/interfaces'\nimport Loader from '../../../Loader'\nimport { getMask } from './functions'\n\nimport { InputProps, StyledInputProps } from './interfaces'\nimport * as S from './styles'\n\nconst Input = React.forwardRef(\n (props: InputProps, ref: React.ForwardedRef<HTMLInputElement>) => {\n const {\n label,\n required,\n invalid,\n disabled,\n loading,\n clearable,\n onPressEnter,\n htmlDisabled,\n width,\n arrows,\n } = {\n ...props,\n }\n\n const mask = getMask(props.mask)\n\n const intInvalid = invalid ? 1 : 0\n const intRequired = required ? 1 : 0\n const intDisabled = disabled ? 1 : 0\n const intArrows = arrows ? 1 : 0\n\n let position\n let iconWidth\n let iconSubmit\n let iconOnClick\n let icon: IconProps | undefined\n\n if (props.icon) {\n icon = { ...props.icon.icon }\n\n position = props.icon.position || 'right'\n\n if (intInvalid) icon.color = 'warningRed'\n\n iconWidth = icon.width\n iconSubmit = props.icon.submit\n iconOnClick = props.icon.onClick\n }\n\n const inputProps = filterObject<InputProps, StyledInputProps>(\n props,\n [\n 'label',\n 'invalid',\n 'required',\n 'icon',\n 'mask',\n 'loading',\n 'clearable',\n 'setValue',\n 'onPressEnter',\n 'htmlDisabled',\n 'width',\n 'arrows',\n ],\n {\n invalid: intInvalid,\n type: 'text',\n arrows: intArrows,\n },\n )\n\n const onChange = inputProps.onChange || (() => {})\n const setValue = props.setValue || (() => {})\n\n inputProps.onChange = (event) => {\n event.target.value = mask(event.target.value)\n onChange(event)\n setValue(event.target.value)\n }\n\n if (inputProps.onKeyDown || onPressEnter) {\n const onKeyDown = inputProps.onKeyDown || (() => {})\n\n const _onPressEnter = onPressEnter\n ? (event: React.KeyboardEvent<HTMLInputElement>) => {\n event.preventDefault()\n onPressEnter(event)\n }\n : () => {}\n\n inputProps.onKeyDown = (event) => {\n const target = event.target as HTMLInputElement\n const v = target.value\n\n onKeyDown(event)\n\n if (v !== target.value) setValue(target.value)\n\n if (event.key === 'Enter') {\n _onPressEnter(event)\n }\n }\n }\n\n if (inputProps.onKeyUp) {\n const onKeyUp = inputProps.onKeyUp\n\n inputProps.onKeyUp = (event) => {\n const target = event.target as HTMLInputElement\n const v = target.value\n\n onKeyUp(event)\n\n if (v !== target.value) setValue(target.value)\n }\n }\n\n if (inputProps.onKeyDownCapture) {\n const onKeyDownCapture = inputProps.onKeyDownCapture\n\n inputProps.onKeyDownCapture = (event) => {\n const target = event.target as HTMLInputElement\n const v = target.value\n\n onKeyDownCapture(event)\n\n if (v !== target.value) setValue(target.value)\n }\n }\n\n if (inputProps.onKeyUpCapture) {\n const onKeyUpCapture = inputProps.onKeyUpCapture\n\n inputProps.onKeyUpCapture = (event) => {\n const target = event.target as HTMLInputElement\n const v = target.value\n\n onKeyUpCapture(event)\n\n if (v !== target.value) setValue(target.value)\n }\n }\n\n if (loading) {\n position = position || 'left'\n icon = {\n type: 'jsx',\n icon: <Loader size='14px' />,\n width: '14px',\n }\n inputProps.disabled = true\n } else if (clearable) {\n position = position || 'right'\n\n iconOnClick =\n typeof clearable === 'function' ? clearable : () => setValue('')\n\n icon = {\n type: 'feather',\n icon: 'x',\n width: '14px',\n }\n }\n\n const iconProps = position\n ? {\n position: position as 'left' | 'right',\n width: iconWidth || '24px',\n }\n : undefined\n\n if (htmlDisabled) inputProps.disabled = true\n\n return (\n <S.Label\n required={intRequired}\n disabled={intDisabled}\n invalid={intInvalid}\n icon={iconProps}\n width={width}\n >\n <div>{label}</div>\n\n <S.Input {...inputProps} ref={ref} />\n\n {icon && (\n <S.IconContainer\n type={iconSubmit ? 'submit' : 'button'}\n onClick={iconOnClick}\n disabled={props.disabled}\n >\n <MwIcon {...icon} />\n </S.IconContainer>\n )}\n </S.Label>\n )\n },\n)\n\nInput.displayName = 'Input'\n\nexport default Input\n","import styled, { css } from 'styled-components'\nimport { isKeyOf } from '../../../../functions/validators'\nimport { LabelProps } from './interfaces'\n\nconst width = '17px'\n\nexport const Checkmark = styled.span`\n position: absolute;\n top: 0px;\n left: 0;\n height: ${width};\n width: ${width};\n background-color: ${({ theme }) => theme.colors.white};\n\n border-style: solid;\n border-color: ${({ theme }) => theme.colors.lightGrey};\n border-width: 1px;\n border-radius: 4px;\n\n transition-property: border-color;\n transition-duration: 0.25s;\n transition-timing-function: cubic-bezier(0.68, -0.55, 0.27, 1.55);\n\n :after {\n content: '';\n position: absolute;\n\n left: 50%;\n top: 50%;\n height: 0;\n width: 0;\n\n border-style: solid;\n border-color: ${({ theme }) => theme.colors.blue};\n border-width: 0;\n transform: rotate(45deg);\n\n transition-property: width height border-width top left;\n transition-duration: 0.25s;\n transition-timing-function: cubic-bezier(0.68, -0.55, 0.27, 1.55);\n }\n`\n\nexport const Label = styled.label<LabelProps>`\n ${({ theme }) => theme.useTypography('p')}\n line-height: 14px;\n\n display: block;\n\n ${({ padding, theme }) => {\n if (!padding) return\n\n const _padding = {\n top: '0',\n left: '0',\n right: '0',\n bottom: '0',\n }\n\n if (padding.top) {\n _padding.top = padding.top\n if (isKeyOf(theme.spacings, padding.top)) {\n _padding.top = theme.spacings[padding.top]\n }\n }\n\n if (padding.left) {\n _padding.left = padding.left\n if (isKeyOf(theme.spacings, padding.left)) {\n _padding.left = theme.spacings[padding.left]\n }\n }\n\n if (padding.bottom) {\n _padding.bottom = padding.bottom\n if (isKeyOf(theme.spacings, padding.bottom)) {\n _padding.bottom = theme.spacings[padding.bottom]\n }\n }\n\n if (padding.right) {\n _padding.right = padding.right\n if (isKeyOf(theme.spacings, padding.right)) {\n _padding.right = theme.spacings[padding.right]\n }\n }\n\n return css`\n padding-top: ${_padding.top};\n padding-left: ${_padding.left};\n padding-right: ${_padding.right};\n padding-bottom: ${_padding.bottom};\n `\n }}\n\n ${({ disabled }) => {\n if (!disabled) {\n return css`\n cursor: pointer;\n `\n }\n\n return css`\n opacity: 0.5;\n `\n }}\n\n > div {\n display: flex;\n align-items: center;\n position: relative;\n\n padding-left: calc(${width} + ${({ theme }) => theme.spacings.s1});\n user-select: none;\n min-height: 17px;\n\n > div:first-child {\n display: inline-block;\n ${({ theme }) => theme.useTypography('p')}\n line-height: 14px;\n\n ${({ required }) => {\n if (!required) return\n\n return css`\n :after {\n content: ' *';\n }\n `\n }}\n }\n\n > input {\n position: absolute;\n opacity: 0;\n height: 0;\n width: 0;\n }\n\n :hover ${Checkmark} {\n background-color: ${({ theme }) => theme.colors.iceWhite};\n }\n\n > input:checked ~ ${Checkmark} {\n border-color: ${({ theme }) => theme.colors.blue};\n\n :after {\n width: 5px;\n height: 9.5px;\n border-width: 0 2px 2px 0;\n left: 5px;\n top: 1px;\n }\n }\n\n ${({ theme, invalid }) => {\n if (!invalid) return\n\n return css`\n ${Checkmark},\n > input:checked ~ ${Checkmark}, \n > input:checked ~ ${Checkmark}:after {\n border-color: ${theme.colors.warningRed};\n }\n `\n }};\n }\n`\n","import React from 'react'\nimport { filterObject } from '../../../../functions/formatters'\n\nimport { CheckboxProps } from './interfaces'\nimport * as S from './styles'\n\nconst Checkbox = React.forwardRef(\n (props: CheckboxProps, ref?: React.ForwardedRef<HTMLInputElement>) => {\n const { label, disabled, required, invalid, padding } = props\n\n const htmlProps = filterObject<\n CheckboxProps,\n React.InputHTMLAttributes<HTMLInputElement>\n >(props, ['label', 'invalid', 'required', 'padding'])\n\n return (\n <S.Label\n disabled={disabled ? 1 : 0}\n required={required ? 1 : 0}\n invalid={invalid ? 1 : 0}\n padding={padding}\n >\n <div>\n <div>{label}</div>\n <input {...htmlProps} type='checkbox' ref={ref} />\n <S.Checkmark />\n </div>\n </S.Label>\n )\n },\n)\n\nCheckbox.displayName = 'Checkbox'\n\nexport default Checkbox\n","import { useEffect, useState } from 'react'\n\nconst useOnClickOut = <T extends HTMLElement>(callback: () => void) => {\n const [ref, setRef] = useState<T | null>(null)\n\n useEffect(() => {\n const listener = (event: MouseEvent | TouchEvent) => {\n // Do nothing if clicking ref's element or descendent elements\n if (!ref || ref.contains(event.target as Node)) {\n return\n }\n\n callback()\n }\n\n document.addEventListener('mousedown', listener)\n document.addEventListener('touchstart', listener)\n\n return () => {\n document.removeEventListener('mousedown', listener)\n document.removeEventListener('touchstart', listener)\n }\n }, [ref, callback])\n\n return setRef\n}\n\nexport default useOnClickOut\n","import React from 'react'\nimport Input from '../Input'\nimport { TimeProps } from './interfaces'\n\nconst mask = (v: string, seconds?: boolean) => {\n v = v.replace(/[^0-9\\s]/g, '')\n\n while (v.length > 0 && parseInt(v[0]) > 2) {\n v = v.substring(1)\n }\n\n if (v.length > 1) {\n if (v[0] === '2') {\n while (v.length > 1 && parseInt(v[1]) > 3) {\n v = v[0] + v.substring(2)\n }\n }\n }\n\n if (v.length > 2) {\n while (v.length > 2 && parseInt(v[2]) > 5) {\n v = v.substring(0, 2) + v.substring(3)\n }\n }\n\n if (v.length > 4) {\n while (v.length > 4 && parseInt(v[4]) > 5) {\n v = v.substring(0, 4) + v.substring(5)\n }\n }\n\n v = v.substring(0, seconds ? 6 : 4)\n\n if (v.length < 3) return v\n else if (v.length < 5) return v.substring(0, 2) + ':' + v.substring(2)\n else return v.substring(0, 2) + ':' + v.substring(2, 4) + ':' + v.substring(4)\n}\n\nconst Time = React.forwardRef(\n (props: TimeProps, ref?: React.ForwardedRef<HTMLInputElement>) => {\n const { seconds } = props\n\n const _onKeyDown = props.onKeyDown || (() => {})\n\n const onKeyDown: React.KeyboardEventHandler<HTMLInputElement> = (event) => {\n const target = event.target as HTMLInputElement\n\n const todayDate = new Date()\n\n const curH = todayDate.getHours()\n const curM = todayDate.getMinutes()\n const curS = todayDate.getSeconds()\n\n const value = target.value.replace(/[^0-9\\s]/g, '')\n\n let tmp = value.substring(0, 2)\n let h = tmp.length === 0 ? curH : parseInt(tmp.padEnd(2, '0'))\n\n tmp = value.substring(2, 4)\n let m = tmp.length === 0 ? curM : parseInt(tmp.padEnd(2, '0'))\n\n tmp = value.substring(4, 6)\n let s = tmp.length === 0 ? curS : parseInt(tmp.padEnd(2, '0'))\n\n if (event.key === 'ArrowUp') {\n const date = new Date()\n date.setHours(h)\n date.setMinutes(m)\n date.setSeconds(s)\n\n if (seconds) {\n date.setSeconds(s + 1)\n\n h = date.getHours()\n m = date.getMinutes()\n s = date.getSeconds()\n\n target.value = [\n h.toString().padStart(2, '0'),\n m.toString().padStart(2, '0'),\n s.toString().padStart(2, '0'),\n ].join(':')\n } else {\n date.setMinutes(m + 1)\n\n h = date.getHours()\n m = date.getMinutes()\n s = date.getSeconds()\n\n target.value = [\n h.toString().padStart(2, '0'),\n m.toString().padStart(2, '0'),\n ].join(':')\n }\n } else if (event.key === 'ArrowDown') {\n const date = new Date()\n date.setHours(h)\n date.setMinutes(m)\n date.setSeconds(s)\n\n if (seconds) {\n date.setSeconds(s - 1)\n\n h = date.getHours()\n m = date.getMinutes()\n s = date.getSeconds()\n\n target.value = [\n h.toString().padStart(2, '0'),\n m.toString().padStart(2, '0'),\n s.toString().padStart(2, '0'),\n ].join(':')\n } else {\n date.setMinutes(m - 1)\n\n h = date.getHours()\n m = date.getMinutes()\n s = date.getSeconds()\n\n target.value = [\n h.toString().padStart(2, '0'),\n m.toString().padStart(2, '0'),\n ].join(':')\n }\n }\n\n _onKeyDown(event)\n }\n\n const placeholder =\n props.placeholder === undefined\n ? seconds\n ? '––:––:––'\n : '––:––'\n : props.placeholder\n\n return (\n <Input\n {...props}\n type='text'\n placeholder={placeholder}\n mask={(v: string) => mask(v, seconds)}\n onKeyDown={onKeyDown}\n ref={ref}\n />\n )\n },\n)\n\nTime.displayName = 'Time'\n\nexport default Time\n","import styled, { css } from 'styled-components'\nimport MwAbsoluteContainer from '../AbsoluteContainer'\n\nexport const Container = styled.div`\n display: inline-block;\n background-color: ${({ theme }) => theme.colors.white};\n padding: ${({ theme }) => theme.spacings.s1};\n\n > div:nth-child(1) {\n border: 1px solid ${({ theme }) => theme.colors.lightestGrey};\n margin-bottom: ${({ theme }) => theme.spacings.s1};\n }\n`\n\nexport const AbsoluteContainer = styled(MwAbsoluteContainer)`\n > ${Container} {\n padding: ${({ theme }) =>\n `${theme.spacings.s3} ${theme.spacings.s3} ${theme.spacings.s1} ${theme.spacings.s3}`};\n }\n`\n\nexport const Footer = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n`\n\nexport const MonthContainer = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n > div {\n margin: ${({ theme }) => theme.spacings.s1} 0;\n }\n`\n\nexport const NavBtn = styled.button`\n ${({ theme }) => theme.useTypography('p')}\n line-height: 14px;\n width: 32px;\n height: 32px;\n box-shadow: none;\n border: 0.5px solid transparent;\n background-color: transparent;\n cursor: pointer;\n border: none;\n\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n\n :disabled {\n visibility: hidden;\n }\n`\n\nexport const WeekContainer = styled.div`\n width: 100%;\n display: flex;\n\n :not(:first-child) {\n border-top: 1px solid ${({ theme }) => theme.colors.lightestGrey};\n }\n\n > * {\n font-family: ${({ theme }) => theme.fonts.lato};\n font-size: ${({ theme }) => theme.spacings.s3};\n line-height: ${({ theme }) => theme.spacings.s3};\n width: 32px;\n height: 32px;\n\n color: ${({ theme }) => theme.colors.darkBlue};\n box-shadow: none;\n\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n\n border: 1px solid transparent;\n :not(:last-child) {\n border-right-color: ${({ theme }) => theme.colors.lightestGrey};\n }\n }\n`\n\nexport const Header = styled.div`\n width: 100%;\n\n background-color: ${({ theme }) => theme.getColor('lightestGrey', 40)};\n font-weight: bolder;\n\n > ${WeekContainer} {\n border-top: none;\n > * {\n border-right-color: transparent;\n }\n }\n`\n\ninterface DayContainerProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n active: 1 | 0\n color?: 'grey' | 'blue'\n}\n\nexport const DayContainer = styled.button<DayContainerProps>`\n ${({ theme, color }) => {\n if (color === 'grey') {\n return css`\n background-color: ${theme.getColor('greyishBlue', 10)};\n `\n } else if (color === 'blue') {\n return css`\n background-color: ${theme.colors.white};\n\n :not(:disabled) {\n background-color: ${theme.getColor('blue', 30)};\n }\n `\n }\n\n return css`\n background-color: ${theme.colors.white};\n `\n }};\n\n :disabled {\n color: ${({ theme }) => theme.colors.silver};\n }\n\n transition-property: background-color color;\n transition-timing-function: ease-in-out;\n transition-duration: 0.25s;\n\n :not(:disabled) {\n cursor: pointer;\n }\n\n ${({ active, theme }) => {\n if (active !== 1) {\n return css`\n :not(:disabled) {\n :hover {\n border-color: ${({ theme }) => theme.colors.blue};\n color: ${({ theme }) => theme.colors.blue};\n }\n }\n `\n }\n return css`\n color: ${theme.colors.white};\n background-color: ${theme.colors.blue};\n\n :not(:last-child) {\n border-right-color: ${({ theme }) => theme.colors.blue};\n }\n `\n }}\n`\n","import React, { useCallback, useEffect, useState } from 'react'\nimport Button from '../Button'\nimport Icon from '../Icon'\nimport Input from '../Input/components/Time'\n\nimport { CalendarProps } from './interfaces'\nimport * as S from './styles'\n\ninterface Calendar {\n month: number\n year: number\n weeks: Date[][]\n}\n\nconst months = [\n 'Janeiro',\n 'Fevereiro',\n 'Março',\n 'Abril',\n 'Maio',\n 'Junho',\n 'Julho',\n 'Agosto',\n 'Setembro',\n 'Outubro',\n 'Novembro',\n 'Dezembro',\n]\n\nconst getCalendar = (d: Date): Calendar => {\n const date = new Date(d.getTime())\n date.setHours(0, 0, 0, 0)\n const month = date.getMonth()\n const year = date.getFullYear()\n\n const days: Date[] = []\n\n date.setDate(1)\n date.setDate(date.getDate() - 1)\n\n while (date.getDay() !== 6 || days.length === 0) {\n const copy = new Date(date.getTime())\n days.unshift(copy)\n date.setDate(date.getDate() - 1)\n }\n\n date.setDate(date.getDate() + days.length + 1)\n\n while (month === date.getMonth()) {\n const copy = new Date(date.getTime())\n days.push(copy)\n date.setDate(date.getDate() + 1)\n }\n\n while (days.length < 42) {\n const copy = new Date(date.getTime())\n days.push(copy)\n date.setDate(date.getDate() + 1)\n }\n\n const weeks: Date[][] = []\n let week: Date[] = [days[0]]\n\n for (let i = 1; i < days.length; i++) {\n if (week.length === 7) {\n weeks.push(week)\n week = []\n }\n week.push(days[i])\n }\n weeks.push(week)\n\n return { month, year, weeks }\n}\n\nconst Calendar = (props: CalendarProps) => {\n const {\n overlay,\n time: timeProps,\n notAbsolute,\n initalValue,\n references,\n } = props\n\n const [value, _setValue] =\n props.value ||\n useState<Date | null>(\n initalValue && !isNaN(initalValue.getTime()) ? initalValue : null,\n )\n\n const withoutTime: { min?: Date; max?: Date } = {}\n\n let max: Date | undefined\n if (props.max) {\n max = new Date(props.max.getTime())\n withoutTime.max = new Date(props.max.getTime())\n withoutTime.max.setHours(0, 0, 0, 0)\n }\n\n let min: Date | undefined\n if (props.min) {\n min = new Date(props.min.getTime())\n withoutTime.min = new Date(props.min.getTime())\n withoutTime.min.setHours(0, 0, 0, 0)\n }\n\n const [invalid, setInvalid] = props.invalid || useState<boolean>(false)\n\n const [calendar, setCalendar] = useState<Calendar>(\n getCalendar(value || max || min || new Date()),\n )\n const [time, setTime] = useState<string>(() => {\n if (!value) return ''\n const h = value.getHours()\n const m = value.getMinutes()\n const s = value.getSeconds()\n\n return [h, m, s].join(':')\n })\n\n useEffect(() => {\n if (!value) return\n setValue(value)\n }, [time])\n\n const updateInvalid = useCallback(\n (value: Date | null) => {\n if (timeProps) {\n if (timeProps.seconds) {\n setInvalid(\n value === null ||\n (timeProps && timeProps.seconds && time.length < 8) ||\n (max !== undefined && value > max) ||\n (min !== undefined && value < min),\n )\n } else {\n setInvalid(\n value === null ||\n time.length < 5 ||\n (max !== undefined && value > max) ||\n (min !== undefined && value < min),\n )\n }\n } else {\n setInvalid(\n value === null ||\n (max !== undefined && value > max) ||\n (min !== undefined && value < min),\n )\n }\n },\n [time, value, max, min],\n )\n\n useEffect(() => {\n updateInvalid(value)\n }, [updateInvalid, value])\n\n const setValue = timeProps\n ? (date: Date | null) => {\n if (date === null) {\n _setValue(date)\n return\n }\n\n const splitted = time.split(':').map((v) => parseInt(v.padEnd(2, '0')))\n\n const copy = new Date(date.getTime())\n copy.setHours(\n splitted[0] || 0,\n splitted[1] || 0,\n splitted[2] || 0,\n splitted[3] || 0,\n )\n\n _setValue(copy)\n updateInvalid(copy)\n }\n : _setValue\n\n const changeMonth = (add: 1 | -1) => {\n setCalendar((prev) => {\n const date = new Date()\n date.setDate(1)\n date.setFullYear(prev.year)\n date.setMonth(prev.month + add)\n\n return getCalendar(date)\n })\n }\n\n const getPrev = () => {\n const disabled =\n min !== undefined &&\n (calendar.year < min.getFullYear() ||\n (calendar.year === min.getFullYear() &&\n calendar.month <= min.getMonth()))\n\n return (\n <S.NavBtn\n type='button'\n onClick={() => changeMonth(-1)}\n disabled={disabled}\n >\n <Icon\n type='feather'\n icon='chevron_left'\n color='darkBlue'\n strokeWidth='3px'\n />\n </S.NavBtn>\n )\n }\n\n const getNext = () => {\n const disabled =\n max !== undefined &&\n (calendar.year > max.getFullYear() ||\n (calendar.year === max.getFullYear() &&\n calendar.month >= max.getMonth()))\n\n return (\n <S.NavBtn\n type='button'\n onClick={() => changeMonth(1)}\n disabled={disabled}\n >\n <Icon\n type='feather'\n icon='chevron_right'\n color='darkBlue'\n strokeWidth='3px'\n />\n </S.NavBtn>\n )\n }\n\n let hasHighlight: (date: Date) => boolean = () => false\n\n if (value && overlay && overlay.value !== null) {\n const d = new Date(overlay.value.getTime())\n d.setHours(0, 0, 0, 0)\n\n const withoutTimeValue = new Date(value.getTime())\n withoutTimeValue.setHours(0, 0, 0, 0)\n\n hasHighlight =\n overlay.type === 'after'\n ? (date: Date) => {\n return date > withoutTimeValue && date <= d\n }\n : (date: Date) => {\n return date < withoutTimeValue && date >= d\n }\n }\n\n const _onSubmit = props.onSubmit || {}\n const onSubmit = {\n disabled: invalid,\n onClick: () => {},\n ..._onSubmit,\n }\n\n const content = (\n <S.Container>\n <div>\n <S.Header>\n <S.MonthContainer>\n {getPrev()}\n <div>\n {months[calendar.month]} {calendar.year}\n </div>\n {getNext()}\n </S.MonthContainer>\n\n <S.WeekContainer>\n <div>D</div>\n <div>S</div>\n <div>T</div>\n <div>Q</div>\n <div>Q</div>\n <div>S</div>\n <div>S</div>\n </S.WeekContainer>\n </S.Header>\n\n {calendar.weeks.map((week, index) => {\n return (\n <S.WeekContainer key={index}>\n {week.map((date, index) => {\n const day = date.getDate()\n const month = date.getMonth()\n\n let disabled: boolean | undefined\n let color: 'grey' | 'blue' | undefined\n\n if (month !== calendar.month) disabled = true\n if (\n (withoutTime.max && date > withoutTime.max) ||\n (withoutTime.min && date < withoutTime.min)\n ) {\n disabled = true\n color = 'grey'\n } else if (hasHighlight(date)) {\n color = 'blue'\n }\n\n const active =\n value &&\n date.toLocaleDateString() === value.toLocaleDateString()\n ? 1\n : 0\n\n const onClick =\n active === 0 ? () => setValue(date) : () => setValue(null)\n\n return (\n <S.DayContainer\n key={index}\n type='button'\n onClick={disabled ? undefined : onClick}\n disabled={disabled}\n active={active}\n color={color}\n >\n {day}\n </S.DayContainer>\n )\n })}\n </S.WeekContainer>\n )\n })}\n </div>\n\n {timeProps !== undefined || props.onSubmit !== undefined ? (\n <S.Footer>\n {timeProps ? (\n <Input\n {...timeProps}\n type='time'\n value={time}\n setValue={setTime}\n invalid={\n time.length !== 0 &&\n ((value !== null && invalid) || time.length < 5)\n }\n width={timeProps.seconds ? '86px' : '66px'}\n />\n ) : (\n <div />\n )}\n\n {props.onSubmit && (\n <Button\n onClick={() => onSubmit.onClick(value)}\n disabled={onSubmit.disabled}\n type='button'\n content='Aplicar'\n />\n )}\n </S.Footer>\n ) : undefined}\n </S.Container>\n )\n\n return notAbsolute ? (\n content\n ) : (\n <S.AbsoluteContainer axis='y' references={references}>\n {content}\n </S.AbsoluteContainer>\n )\n}\n\nexport default Calendar\n","export const JSDate = Date\n","import styled from 'styled-components'\n\nexport const RelativeContainer = styled.div`\n position: relative;\n`\n","import React, { useState } from 'react'\n\nimport {\n dateToIsoString,\n filterObject,\n isoStringToDate,\n} from '../../../../functions/formatters'\nimport useOnClickOut from '../../../../hooks/onClickOut'\n\nimport Calendar from '../../../Calendar'\nimport { IconProps } from '../../../Icon/interfaces'\n\nimport Input from '../Input'\nimport { InputProps } from '../Input/interfaces'\n\nimport { JSDate } from './functions'\nimport { DateProps } from './interfaces'\nimport * as S from './styles'\n\nconst isLeapYear = (year: number): boolean => {\n if (year % 4 !== 0) return false\n else if (year % 100 !== 0) return true\n else if (year % 400 !== 0) return false\n else return true\n}\n\nconst mask = (v: string) => {\n v = v.replace(/[^0-9\\s]/g, '')\n\n while (v.length > 0 && parseInt(v[0]) > 3) {\n v = v.substring(1)\n }\n\n if (v.length > 1) {\n if (v[0] === '3') {\n while (v.length > 1 && parseInt(v[1]) > 1) {\n v = v[0] + v.substring(2)\n }\n }\n }\n\n if (v.length > 2) {\n while (v.length > 2 && parseInt(v[2]) > 1) {\n v = v.substring(0, 2) + v.substring(3)\n }\n }\n\n if (v.length > 3) {\n if (v[2] === '1') {\n while (v.length > 3 && parseInt(v[3]) > 2) {\n v = v.substring(0, 3) + v.substring(4)\n }\n }\n }\n\n v = v.substring(0, 8)\n\n const date = [v.substring(0, 2), v.substring(2, 4), v.substring(4)]\n\n if (date[1] === '02') {\n const d = parseInt(date[0])\n\n if (date[2].length < 4 || isLeapYear(parseInt(date[2]))) {\n // se for ano nao estiver setado, ou se for bissexto, o dia maximo de fevereiro deve ser 29\n if (d > 29) {\n date[0] = '29'\n }\n } else if (d > 28) {\n // se for ano estiver setado e nao for bissexto, o dia maximo de fevereiro deve ser 28\n date[0] = '28'\n }\n } else if (['04', '06', '09', '11'].includes(date[1]) && date[0] === '31') {\n // meses com 30 dias\n date[0] = '30'\n }\n\n v = date.join('')\n\n if (v.length < 3) return v\n else if (v.length < 5) return v.substring(0, 2) + '/' + v.substring(2)\n else return v.substring(0, 2) + '/' + v.substring(2, 4) + '/' + v.substring(4)\n}\n\nconst Date = React.forwardRef(\n (props: DateProps, ref?: React.ForwardedRef<HTMLInputElement>) => {\n const { picker, value, min, max } = props\n\n const setValue = props.setValue || (() => {})\n\n const [open, setOpen] = useState<boolean>(false)\n\n const _onKeyDown = props.onKeyDown || (() => {})\n\n const onKeyDown: React.KeyboardEventHandler<HTMLInputElement> = (event) => {\n const target = event.target as HTMLInputElement\n\n const todayDate = new JSDate()\n\n const curD = todayDate.getDate()\n const curM = todayDate.getMonth() + 1\n const curY = todayDate.getFullYear()\n\n const value = target.value.replace(/[^0-9\\s]/g, '')\n\n let tmp = value.substring(0, 2)\n const d = tmp.length === 0 ? curD : parseInt(tmp.padEnd(2, '0'))\n\n tmp = value.substring(2, 4)\n const m = tmp.length === 0 ? curM : parseInt(tmp.padEnd(2, '0'))\n\n tmp = value.substring(4, 8)\n const y = tmp.length === 0 ? curY : parseInt(tmp.padEnd(2, '0'))\n\n if (event.key === 'ArrowUp') {\n const date = new JSDate(`${y}-${m}-${d} 00:00:00`)\n date.setDate(date.getDate() + 1)\n\n if (!max || date <= max) {\n target.value = dateToIsoString(date)\n }\n } else if (event.key === 'ArrowDown') {\n const date = new JSDate(`${y}-${m}-${d} 00:00:00`)\n date.setDate(date.getDate() - 1)\n\n if (!min || date >= min) {\n target.value = dateToIsoString(date)\n }\n }\n\n _onKeyDown(event)\n }\n\n const placeholder =\n props.placeholder === undefined ? 'dd/mm/aaaa' : props.placeholder\n\n const icon = picker\n ? {\n icon: {\n type: 'feather',\n icon: 'calendar',\n } as IconProps,\n position: 'right' as 'right' | 'left',\n onClick: () => setOpen((prev) => !prev),\n }\n : undefined\n\n const inputProps = filterObject<DateProps, InputProps>(props, [\n 'picker',\n 'min',\n 'max',\n ])\n\n return (\n <S.RelativeContainer ref={useOnClickOut(() => setOpen(false))}>\n <Input\n {...inputProps}\n type='text'\n placeholder={placeholder}\n mask={mask}\n onKeyDown={onKeyDown}\n icon={icon}\n ref={ref}\n />\n\n {open && (\n <Calendar\n initalValue={value ? isoStringToDate(value) : undefined}\n onSubmit={{\n onClick: (date) => {\n if (!date) return\n const newValue = dateToIsoString(date)\n setValue(newValue)\n setOpen(false)\n },\n }}\n min={min}\n max={max}\n references={{ bottom: '35px' }}\n />\n )}\n </S.RelativeContainer>\n )\n },\n)\n\nDate.displayName = 'Date'\n\nexport default Date\n","import React from 'react'\nimport { ContextInterface } from './interfaces'\n\nconst Provider = React.createContext<ContextInterface>({} as ContextInterface)\n\nexport const useContext = () => React.useContext(Provider)\n\nexport default Provider\n","import styled, { css } from 'styled-components'\n\nexport const RelativeContainer = styled.div`\n position: relative;\n`\nexport const HeaderContainer = styled.div`\n ${({ theme }) => css`\n padding: ${theme.spacings.s3} calc(${theme.spacings.s3} * 0.75)\n ${theme.spacings.s1} ${theme.spacings.s3};\n `}\n`\n\nexport const SelectAllContainer = styled.div`\n margin-bottom: ${({ theme }) => theme.spacings.s1};\n display: flex;\n justify-content: space-between;\n`\n","import React, { useState } from 'react'\n\nimport Button from '../../../Button'\nimport Input from '../Input'\n\nimport { useContext } from './context'\nimport * as S from './styles'\n\nconst Header = () => {\n const context = useContext()\n\n if (!context.props.search) {\n return <React.Fragment />\n }\n\n const [search, setSearch] = useState<string>('')\n\n const {\n checked: [checked, setChecked],\n search: [searched, setSearched],\n loading,\n options,\n } = context\n\n const onClick = () => {\n setChecked((prev) =>\n prev.length === options.length\n ? []\n : options.map((option) => option.value),\n )\n }\n\n const onSearch = () => {\n setSearched(search)\n }\n\n const onClear = () => {\n setSearch('')\n setSearched('')\n }\n\n return (\n <S.HeaderContainer>\n {context.props.type === 'select-multiple' && context.props.selectAll && (\n <S.SelectAllContainer>\n <b>Selecionados ({checked.length})</b>\n\n <Button\n type='button'\n content='Selecionar todos'\n appearance='link'\n onClick={onClick}\n color='darkBlue'\n />\n </S.SelectAllContainer>\n )}\n\n <Input\n type='search'\n placeholder='Pesquisa'\n setValue={setSearch}\n value={search}\n onPressEnter={onSearch}\n clearable={search !== '' && search === searched ? onClear : undefined}\n icon={{\n icon: {\n type: 'feather',\n icon: 'search',\n },\n onClick: onSearch,\n }}\n loading={loading}\n />\n </S.HeaderContainer>\n )\n}\n\nexport default Header\n","import React from 'react'\n\nimport Button from '../../../Button'\n\nimport { useContext } from './context'\n\nconst Footer = () => {\n const context = useContext()\n\n if (context.props.type !== 'select-multiple') return <React.Fragment />\n\n const {\n props: { setValue },\n checked: [checked],\n setOpen,\n } = context\n\n const onClick = () => {\n setValue([...checked])\n setOpen(false)\n }\n\n return (\n <Button\n type='button'\n content='Aplicar'\n onClick={onClick}\n style={{ marginRight: '-3.5px' }}\n />\n )\n}\n\nexport default Footer\n","import React, { useCallback, useEffect, useState } from 'react'\nimport { filterObject } from '../../../../functions/formatters'\n\nimport useOnClickOut from '../../../../hooks/onClickOut'\nimport Checkbox from '../Checkbox'\nimport Input from '../Input'\nimport { InputProps } from '../../components/Input/interfaces'\nimport Menu from '../../../Menu'\nimport { Option1 } from '../../../Menu/interfaces'\nimport Provider from './context'\nimport { Option, SelectProps } from './interfaces'\nimport * as S from './styles'\nimport { isString } from '../../../../functions/validators'\nimport { ElementOrString } from '../../../../interfaces'\nimport Header from './header'\nimport Footer from './footer'\n\ninterface ParsedOption extends Option1<{ value: string }> {\n label: {\n text: string\n element: ElementOrString\n }\n}\n\nconst getOptions = (\n props: SelectProps,\n options: Option[],\n checked: string[],\n setChecked: React.Dispatch<React.SetStateAction<string[]>>,\n): ParsedOption[] => {\n if (props.type === 'select-multiple') {\n return options.map((option) => {\n const label = isString(option.label)\n ? {\n text: option.label,\n element: option.label,\n }\n : option.label\n\n return {\n label: {\n text: label.text,\n element: (\n <Checkbox\n type='checkbox'\n checked={checked.includes(option.value)}\n label={label.element}\n onChange={(event) => {\n const isChecked = event.target.checked\n\n setChecked((prev) => {\n const newState = prev.filter((v) => v !== option.value)\n\n if (isChecked) newState.push(option.value)\n\n return newState\n })\n }}\n padding={{\n top: 's3',\n left: 's3',\n right: 's3',\n bottom: 's3',\n }}\n />\n ),\n },\n onClick: () => {},\n data: {\n value: option.value,\n },\n keepOpen: true,\n }\n })\n }\n\n return options.map((option) => {\n const label = isString(option.label)\n ? {\n text: option.label,\n element: option.label,\n }\n : option.label\n\n return {\n label,\n onClick:\n option.onClick ||\n ((_index: number, data) => {\n props.setValue(data.value)\n }),\n data: {\n value: option.value,\n },\n }\n })\n}\n\nconst Select = React.forwardRef(\n (props: SelectProps, ref?: React.ForwardedRef<HTMLInputElement>) => {\n const { position, disableAutoPosition, loader, type } = props\n\n const [options, setOptions] = useState<Option[]>([])\n const [_loading, setLoading] = useState<boolean>(false)\n const [search, _setSearch] = useState<string>('')\n const [page, setPage] = useState<number>(1)\n const [lastPage, setLastPage] = useState<boolean>(false)\n const [open, setOpen] = useState<boolean>(false)\n const [checked, setChecked] = useState<string[]>(\n Array.isArray(props.value) ? [...props.value] : [],\n )\n\n const loading = props.loading || _loading\n\n const setSearch: React.Dispatch<React.SetStateAction<string>> = (value) => {\n _setSearch(value)\n setPage(1)\n }\n\n const parsedOptions = getOptions(props, options, checked, setChecked)\n\n const inputProps = filterObject<SelectProps, InputProps>(props, [\n 'type',\n 'onScrollEnd',\n 'position',\n 'disableAutoPosition',\n 'value',\n ])\n\n if (props.type === 'select-multiple') {\n if (props.value.length > 0) {\n inputProps.value =\n props.value.length > 1\n ? `Há ${props.value.length} seleções`\n : `Há ${props.value.length} seleção`\n } else {\n inputProps.value = ''\n }\n } else {\n const selected = parsedOptions.find(\n (option) => option.data.value === props.value,\n )\n\n inputProps.value = selected ? selected.label.text : ''\n }\n\n const _onScrollEnd = props.onScrollEnd || (() => {})\n\n const onScrollEnd = () => {\n if (!lastPage && !loading) {\n setPage((prev) => prev + 1)\n }\n\n _onScrollEnd()\n }\n\n const onSubmit = useCallback(async () => {\n setLoading(true)\n\n const optionsResult = await loader(search, page)\n\n if (Array.isArray(optionsResult)) {\n setOptions(\n page === 1 ? optionsResult : (prev) => prev.concat(optionsResult),\n )\n setLastPage(true)\n } else {\n setOptions(\n page === 1\n ? optionsResult.options\n : (prev) => prev.concat(optionsResult.options),\n )\n setLastPage(optionsResult.lastPage)\n }\n\n setLoading(false)\n }, [search, page])\n\n useEffect(() => {\n let changed = false\n _setSearch((prev) => {\n if (prev !== '') changed = true\n return ''\n })\n setPage((prev) => {\n if (prev !== 1) changed = true\n return 1\n })\n if (!changed) onSubmit()\n }, [loader])\n\n useEffect(() => {\n onSubmit()\n }, [onSubmit])\n\n return (\n <Provider.Provider\n value={{\n props,\n setOpen,\n checked: [checked, setChecked],\n search: [search, setSearch],\n loading,\n options,\n }}\n >\n <S.RelativeContainer ref={useOnClickOut(() => setOpen(false))}>\n <Input\n {...inputProps}\n type='search'\n readOnly\n onClick={() => {\n setOpen((prev) => !prev)\n }}\n loading={loading}\n icon={{\n position: 'right',\n icon: {\n type: 'semantic',\n icon: open ? 'caret up' : 'caret down',\n width: '14px',\n },\n }}\n ref={ref}\n />\n <Menu\n open={open}\n close={() => setOpen(false)}\n options={parsedOptions}\n onScrollEnd={onScrollEnd}\n width='100%'\n bordered\n spacing={type === 'select-multiple' ? undefined : 's3'}\n position={position}\n disableAutoPosition={disableAutoPosition}\n references={{ bottom: '35px' }}\n before={<Header />}\n after={<Footer />}\n scrollHeight={props.search ? '135px' : '165px'}\n loading={loading}\n />\n </S.RelativeContainer>\n </Provider.Provider>\n )\n },\n)\n\nSelect.displayName = 'Select'\n\nexport default Select\n","import React, { useState } from 'react'\nimport feather from '../../../../assets/icons/feather'\nimport { IconProps } from '../../../Icon/interfaces'\n\nimport Input from '../Input'\n\nimport { PasswordProps } from './interfaces'\n\nconst Password = React.forwardRef(\n (props: PasswordProps, ref?: React.ForwardedRef<HTMLInputElement>) => {\n const [visibility, setVisibility] = useState<'none' | 'visible' | 'hidden'>(\n 'none',\n )\n\n const icons = {\n none: {\n icon: 'edit' as keyof typeof feather,\n onClick: () => setVisibility('hidden'),\n },\n visible: {\n icon: 'eye_off' as keyof typeof feather,\n onClick: () => setVisibility('hidden'),\n },\n hidden: {\n icon: 'eye' as keyof typeof feather,\n onClick: () => setVisibility('visible'),\n },\n }\n\n const icon: IconProps = {\n type: 'feather',\n icon: icons[visibility].icon,\n width: '19px',\n }\n\n const _onBlur = props.onBlur || (() => {})\n\n const onBlur: React.FocusEventHandler<HTMLInputElement> = (event) => {\n if (!event.target.value) setVisibility('none')\n _onBlur(event)\n }\n\n return (\n <Input\n {...props}\n type={visibility === 'visible' ? 'text' : 'PASSWORD'}\n icon={{\n icon,\n position: 'right',\n onClick: icons[visibility].onClick,\n }}\n onBlur={onBlur}\n placeholder='••••••••'\n htmlDisabled={visibility === 'none'}\n ref={ref}\n />\n )\n },\n)\n\nPassword.displayName = 'Password'\n\nexport default Password\n","/* loaded by smart-asset */\nexport default \"flags~SpNmyrlX.png\"","import styled, { css } from 'styled-components'\nimport img from './flags.png'\n\ninterface Coordinate {\n s1: string\n s2: string\n s3: string\n s4: string\n s5: string\n s6: string\n}\n\ninterface Coordinates {\n ar: Coordinate\n br: Coordinate\n cl: Coordinate\n es: Coordinate\n us: Coordinate\n mx: Coordinate\n py: Coordinate\n pt: Coordinate\n uy: Coordinate\n}\n\nexport const coordinates: Coordinates = {\n ar: {\n s1: '0px 0px',\n s2: '0px 0px',\n s3: '3607px 1px',\n s4: '5410px 1px',\n s5: '0px 0px',\n s6: '0px 0px',\n },\n br: {\n s1: '0px 0px',\n s2: '0px 0px',\n s3: '3300.3px 0px',\n s4: '4950px 0px',\n s5: '0px 0px',\n s6: '0px 0px',\n },\n cl: {\n s1: '0px 0px',\n s2: '0px 0px',\n s3: '3084px 0px',\n s4: '4625px 0px',\n s5: '0px 0px',\n s6: '0px 0px',\n },\n es: {\n s1: '0px 0px',\n s2: '0px 0px',\n s3: '2717px 0px',\n s4: '4075px 0px',\n s5: '0px 0px',\n s6: '0px 0px',\n },\n us: {\n s1: '0px 0px',\n s2: '0px 0px',\n s3: '274.3px 1px',\n s4: '389px 2px',\n s5: '0px 0px',\n s6: '0px 0px',\n },\n mx: {\n s1: '0px 0px',\n s2: '0px 0px',\n s3: '1383px 1px',\n s4: '2074px 1px',\n s5: '0px 0px',\n s6: '0px 0px',\n },\n py: {\n s1: '0px 0px',\n s2: '0px 0px',\n s3: '963.5px 1.4px',\n s4: '1445px 2px',\n s5: '0px 0px',\n s6: '0px 0px',\n },\n pt: {\n s1: '0px 0px',\n s2: '0px 0px',\n s3: '993px 0px',\n s4: '1489px 0px',\n s5: '0px 0px',\n s6: '0px 0px',\n },\n uy: {\n s1: '0px 0px',\n s2: '0px 0px',\n s3: '3998px 0.3px',\n s4: '367px 0px',\n s5: '0px 0px',\n s6: '0px 0px',\n },\n}\n\ninterface FlagProps {\n iso: keyof typeof coordinates\n width?: keyof Coordinate\n}\n\nconst Flag = styled.div<FlagProps>`\n background-image: url(${img});\n background-size: auto 100%;\n\n ${({ iso, width, theme }) => {\n width = width || 's4'\n\n return css`\n background-position: ${coordinates[iso][width]};\n width: ${theme.spacings[width]};\n height: calc(${theme.spacings[width]} / 1.4);\n `\n }}\n`\n\nexport default Flag\n","import { Countries } from './interfaces'\n\nconst countries: Countries = {\n ar: {\n name: 'Argentina',\n iso: 'ar',\n ddi: 54,\n placeholder: '011 15-2345-678',\n validation: /^[0-9]{12}$/i,\n charLimit: 12,\n mask: (value: string) => {\n return value.replace(/(\\d{3})(\\d{2})(\\d{4})(\\d{3})$/, '$1 $2-$3-$4')\n },\n },\n br: {\n name: 'Brasil',\n iso: 'br',\n ddi: 55,\n placeholder: '(11) 96123-4567',\n validation: /^[0-9]{2}(?:[2-8]|9[0-9])[0-9]{7}$/i,\n charLimit: 11,\n mask: (value: string) => {\n return value\n .replace(/(\\d{2})(\\d)/, '($1) $2')\n .replace(/(\\d{5})(\\d{4})$/, '$1-$2')\n .replace(/(\\d{4})(\\d{4})/, '$1-$2')\n },\n },\n cl: {\n name: 'Chile',\n iso: 'cl',\n ddi: 56,\n placeholder: '(2) 2123 4567',\n validation: /^[0-9]{9}$/i,\n charLimit: 9,\n mask: (value: string) => {\n return value.replace(/(\\d{1})(\\d{4})(\\d{4})$/, '($1) $2 $3')\n },\n },\n es: {\n name: 'Espanha',\n iso: 'es',\n ddi: 34,\n placeholder: '612 34 56 78',\n validation: /^[0-9]{9}$/i,\n charLimit: 9,\n mask: (value: string) => {\n return value.replace(/(\\d{3})(\\d{2})(\\d{2})(\\d{2})$/, '$1 $2 $3 $4')\n },\n },\n us: {\n name: 'Estados Unidos',\n iso: 'us',\n ddi: 1,\n placeholder: '(201) 555-01',\n validation: /^[0-9]{8}$/i,\n charLimit: 8,\n mask: (value: string) => {\n return value.replace(/(\\d{3})(\\d{3})(\\d{2})$/, '($1) $2-$3')\n },\n },\n mx: {\n name: 'México',\n iso: 'mx',\n ddi: 52,\n placeholder: '044 222 123 45',\n validation: /^[0-9]{11}$/i,\n charLimit: 11,\n mask: (value: string) => {\n return value.replace(/(\\d{3})(\\d{3})(\\d{3})(\\d{2})$/, '$1 $2 $3 $4')\n },\n },\n py: {\n name: 'Paraguai',\n iso: 'py',\n ddi: 595,\n validation: /^[0-9]{9}$/i,\n charLimit: 9,\n mask: (value: string) => {\n return value.replace(/(\\d{3})(\\d{6})$/, '$1 $2')\n },\n },\n pt: {\n name: 'Portugal',\n iso: 'pt',\n ddi: 351,\n placeholder: '912 345 678',\n validation: /^[0-9]{9}$/i,\n charLimit: 9,\n mask: (value: string) => {\n return value.replace(/(\\d{3})(\\d{3})(\\d{3})$/, '$1 $2 $3')\n },\n },\n uy: {\n name: 'Uruguai',\n iso: 'uy',\n ddi: 598,\n placeholder: '094 231 234',\n validation: /^[0-9]{9}$/i,\n charLimit: 9,\n mask: (value: string) => {\n return value.replace(/(\\d{3})(\\d{3})(\\d{3})$/, '$1 $2 $3')\n },\n },\n}\n\nexport default countries\n","import styled from 'styled-components'\n\nexport const IconContainer = styled.div`\n display: flex;\n align-items: center;\n\n > i.icon {\n margin-top: -1px;\n }\n`\n\nexport const RelativeContainer = styled.div`\n position: relative;\n`\n\nexport const Label = styled.div`\n ${({ theme }) => theme.useTypography('p')}\n\n color: ${({ theme }) => theme.colors.greyishBlue};\n\n display: flex;\n gap: ${({ theme }) => theme.spacings.s1};\n\n > span {\n color: ${({ theme }) => theme.colors.darkestGrey};\n }\n`\n","import React, { useEffect, useState } from 'react'\nimport Flag from '../../../../assets/icons/flags'\n\nimport { notEmptyString } from '../../../../functions/validators'\nimport useOnClickOut from '../../../../hooks/onClickOut'\nimport Input from '../Input'\nimport Icon from '../../../Icon'\nimport { Option } from '../../../Menu/interfaces'\n\nimport countries from './countries'\nimport { Country, Details, IconProps, PhoneProps } from './interfaces'\nimport * as S from './styles'\nimport Menu from '../../../Menu'\n\nexport const getDetails = (phone: string): Details | null => {\n if (!notEmptyString(phone)) return null\n\n // mantendo apenas numeros e espacoes e separando por espacos\n const splitted = phone.replace(/[^0-9\\s]/g, '').split(' ')\n // se tem pelo menos 2 posicoes a primeira deve ser o ddi e a segunda o restante do numero\n if (splitted.length < 2) return null\n\n // pegando o ddi na primeira posicao\n const ddi = parseInt(splitted[0])\n splitted.shift()\n\n // verificando se existe algum pais com o ddi correspondente\n const iso = (Object.keys(countries) as (keyof typeof countries)[]).find(\n (k) => {\n return countries[k].ddi === ddi\n },\n )\n\n const country = !iso ? countries.br : countries[iso]\n\n // juntando o restante do numero do telefone e mantendo apenas digitos\n let masked = splitted.join(' ').replace(/\\D+/g, '')\n const value = masked\n // mantendo o limite de caracteres especificado pelo pais selecionado\n masked = masked.substring(0, country.charLimit)\n // se o pais selecionado possui mascara, aplica a mascara\n if (country.mask) masked = country.mask(masked)\n\n // se o pais selecionado nao tem validacao, considera valido\n let valid = true\n const validation = country.validation\n if (validation instanceof RegExp) {\n // se a validacao for do tipo regex, faz o teste\n valid = validation.test(value)\n } else if (typeof validation === 'function') {\n // se for do tipo funcao chama a funcao pra fazer o teste\n valid = validation(value)\n }\n\n return {\n country,\n masked,\n value,\n withDDI: `${country.ddi} ${value}`,\n valid,\n }\n}\n\nconst Button = (props: IconProps) => {\n const {\n country: [country],\n open: [open],\n } = props\n\n return (\n <S.IconContainer>\n <Flag iso={country.iso} />\n <Icon\n type='semantic'\n icon={open ? 'caret up' : 'caret down'}\n width='14px'\n color='lightGrey'\n />\n </S.IconContainer>\n )\n}\n\nconst Phone = React.forwardRef(\n (props: PhoneProps, ref?: React.ForwardedRef<HTMLInputElement>) => {\n const { value, setValue } = props\n\n const [inputValue, setInputValue] = useState<string>('')\n const [country, setCountry] = useState<Country>(countries.br)\n const [open, setOpen] = useState<boolean>(false)\n\n useEffect(() => {\n const details = getDetails(value || '')\n\n setCountry(details ? details.country : countries.br)\n }, [value])\n\n const options: Option<Country>[] = (\n Object.keys(countries) as (keyof typeof countries)[]\n ).map((iso) => ({\n label: {\n text: countries[iso].name,\n element: (\n <S.Label>\n <Flag iso={iso} />\n {countries[iso].name}\n <span>+{countries[iso].ddi}</span>\n </S.Label>\n ),\n },\n onClick: (_index, country) => {\n setCountry(country)\n },\n data: countries[iso],\n }))\n\n const mask = (value: string): string => {\n value = value.replace(/\\D+/g, '')\n value = value.substring(0, country.charLimit)\n if (country.mask) value = country.mask(value)\n return value\n }\n\n useEffect(() => {\n const details = getDetails(value || '')\n setCountry(details ? details.country : countries.br)\n }, [value])\n\n useEffect(() => {\n setInputValue((prev) => mask(prev))\n }, [country])\n\n useEffect(() => {\n const v = inputValue.replace(/\\D+/g, '').substring(0, country.charLimit)\n\n setValue(`${country.ddi} ${v}`)\n }, [inputValue])\n\n return (\n <S.RelativeContainer\n ref={useOnClickOut<HTMLDivElement>(() => setOpen(false))}\n >\n <Input\n {...props}\n type='text'\n placeholder={country.placeholder}\n mask={mask}\n value={inputValue}\n setValue={setInputValue}\n icon={{\n icon: {\n icon: (\n <Button\n country={[country, setCountry]}\n open={[open, setOpen]}\n />\n ),\n type: 'jsx',\n width: '35px',\n },\n onClick: () => setOpen((prev) => !prev),\n position: 'left',\n }}\n ref={ref}\n />\n\n <Menu\n open={open}\n close={() => setOpen(false)}\n options={options}\n width='100%'\n maxHeight='165px'\n bordered\n spacing='s3'\n />\n </S.RelativeContainer>\n )\n },\n)\n\nPhone.displayName = 'Phone'\n\nexport default Phone\n","import React from 'react'\nimport styled, { css } from 'styled-components'\n\nexport const RelativeContainer = styled.div`\n position: relative;\n\n input {\n color: transparent;\n }\n`\n\ninterface ContainerProps extends React.HTMLAttributes<HTMLDivElement> {\n iconWidth: string\n invalid: 1 | 0\n disabled: 1 | 0\n}\n\nexport const Container = styled.div<ContainerProps>`\n position: absolute;\n bottom: 1px;\n left: 1px;\n width: calc(100% - 2px - ${({ iconWidth, theme }) => `${iconWidth} - ${theme.spacings.s3}`});\n height: 33px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: ${({ theme }) =>\n `${theme.spacings.s2} 0 ${theme.spacings.s2} ${theme.spacings.s3}`};\n border-radius: 4px;\n\n ${({ invalid, theme }) => {\n if (!invalid) return\n\n return css`\n color: ${theme.colors.warningRed};\n `\n }}\n\n ${({ disabled }) => {\n if (!disabled) return\n\n return css`\n opacity: 0.5;\n `\n }}\n`\n\nexport const Button = styled.button`\n display: flex;\n background-color: transparent;\n border: none;\n padding: 0;\n box-shadow: none;\n\n ${({ onClick }) => {\n if (!onClick) return\n\n return css`\n :not(:disabled) {\n cursor: pointer;\n }\n `\n }};\n`\n","import React, { useEffect, useState } from 'react'\nimport {\n dateToIsoString,\n filterObject,\n isoStringToDate,\n} from '../../../../functions/formatters'\nimport useOnClickOut from '../../../../hooks/onClickOut'\nimport Calendar from '../../../Calendar'\nimport Icon from '../../../Icon'\nimport { IconProps } from '../../../Icon/interfaces'\nimport Input from '../Input'\nimport { InputProps } from '../Input/interfaces'\nimport { DatePickerProps } from './interfaces'\nimport * as S from './styles'\n\nconst DatePicker = React.forwardRef(\n (props: DatePickerProps, ref?: React.ForwardedRef<HTMLInputElement>) => {\n const { picker, value, setValue, min, max } = props\n\n const disabled = props.disabled || props.loading\n\n const today = dateToIsoString(new Date())\n\n const [open, setOpen] = useState<boolean>(false)\n\n useEffect(() => {\n const date = isoStringToDate(value)\n if (!date) {\n setValue(dateToIsoString(new Date()))\n }\n }, [value])\n\n const onAdd = () => {\n const date = isoStringToDate(value) || new Date()\n date.setDate(date.getDate() + 1)\n if (max && date > max) return\n setValue(dateToIsoString(date))\n }\n\n const onSub = () => {\n const date = isoStringToDate(value) || new Date()\n date.setDate(date.getDate() - 1)\n if (min && date < min) return\n setValue(dateToIsoString(date))\n }\n\n const icon = picker\n ? {\n icon: {\n type: 'feather',\n icon: 'calendar',\n width: '24px',\n } as IconProps,\n position: 'right' as 'right' | 'left',\n onClick: () => setOpen((prev) => !prev),\n }\n : undefined\n\n const inputProps = filterObject<DatePickerProps, InputProps>(props, [\n 'picker',\n 'min',\n 'max',\n ])\n\n return (\n <S.RelativeContainer ref={useOnClickOut(() => setOpen(false))}>\n <Input {...inputProps} type='text' icon={icon} ref={ref} htmlDisabled />\n\n <S.Container\n iconWidth={picker ? '24px' : '0px'}\n invalid={props.invalid ? 1 : 0}\n disabled={props.disabled ? 1 : 0}\n >\n <S.Button\n type='button'\n onClick={disabled ? undefined : onSub}\n disabled={\n disabled ||\n (() => {\n if (!min) return undefined\n const v = isoStringToDate(value)\n if (!v) return undefined\n\n return v <= min\n })()\n }\n >\n <Icon\n type='feather'\n icon='chevron_left'\n color={props.invalid ? 'warningRed' : 'grey'}\n strokeWidth='3px'\n />\n </S.Button>\n\n <div>{today === value ? 'Hoje' : value}</div>\n\n <S.Button\n type='button'\n onClick={disabled ? undefined : onAdd}\n disabled={\n disabled ||\n (() => {\n if (!max) return undefined\n const v = isoStringToDate(value)\n if (!v) return undefined\n\n return v >= max\n })()\n }\n >\n <Icon\n type='feather'\n icon='chevron_right'\n color={props.invalid ? 'warningRed' : 'grey'}\n strokeWidth='3px'\n />\n </S.Button>\n </S.Container>\n\n {open && (\n <Calendar\n initalValue={value ? isoStringToDate(value) : undefined}\n onSubmit={{\n onClick: (date) => {\n if (!date) return\n setValue(dateToIsoString(date))\n setOpen(false)\n },\n }}\n min={min}\n max={max}\n references={{ bottom: '35px' }}\n />\n )}\n </S.RelativeContainer>\n )\n },\n)\n\nDatePicker.displayName = 'DatePicker'\n\nexport default DatePicker\n","import styled, { css } from 'styled-components'\nimport { LabelProps } from './interfaces'\n\nexport const LabelContainer = styled.div`\n ${({ theme }) => theme.useTypography('p')}\n line-height: 14px;\n display: flex;\n align-items: center;\n`\n\nexport const Label = styled.label<LabelProps>`\n display: flex;\n gap: ${({ theme }) => theme.spacings.s1};\n position: relative;\n\n ${({ disabled }) => {\n if (!disabled) {\n return css`\n > span {\n cursor: pointer;\n }\n `\n }\n return css`\n opacity: 0.5;\n `\n }}\n\n ${({ required }) => {\n if (!required) return\n return css`\n > ${LabelContainer} {\n :after {\n content: '*';\n }\n }\n `\n }}\n\n ${({ invalid }) => {\n if (!invalid) {\n return css`\n > span:before {\n border-color: ${({ theme }) => theme.colors.lightGrey};\n }\n > input:checked + span {\n background-color: ${({ theme }) => theme.colors.blue};\n }\n `\n }\n return css`\n > span:before {\n border-color: ${({ theme }) => theme.colors.warningRed};\n }\n > input:checked + span {\n background-color: ${({ theme }) => theme.colors.warningRed};\n }\n `\n }}\n\n > input {\n position: absolute;\n height: 0%;\n width: 0%;\n opacity: 0;\n }\n\n > span {\n position: relative;\n width: 50px;\n height: calc(${({ theme }) => theme.spacings.s4} + 1px);\n background-color: ${({ theme }) => theme.colors.warningGray};\n border-radius: 20px;\n transition-property: background-color;\n transition-duration: 0.4s;\n transition-timing-function: ease-in-out;\n box-sizing: content-box;\n :before {\n content: '';\n transition-property: left;\n transition-duration: 0.4s;\n transition-timing-function: ease-in-out;\n position: absolute;\n border-width: 1px;\n border-style: solid;\n border-radius: 100%;\n left: 0;\n box-shadow: 0px 1px 3px ${({ theme }) => theme.getColor('black', 10)};\n width: calc(${({ theme }) => theme.spacings.s4} - 1px);\n height: calc(${({ theme }) => theme.spacings.s4} - 1px);\n background-color: ${({ theme }) => theme.colors.white};\n }\n }\n\n > input:checked + span {\n :before {\n left: calc(100% - ${({ theme }) => theme.spacings.s4} - 1px);\n }\n }\n`\n","import React from 'react'\nimport { filterObject } from '../../../../functions/formatters'\nimport { SwitchProps } from './interfaces'\nimport * as S from './styles'\n\nconst Switch = (props: SwitchProps) => {\n const { label, disabled, required, invalid } = props\n\n const htmlProps = filterObject<\n SwitchProps,\n React.InputHTMLAttributes<HTMLInputElement>\n >(props, ['label', 'invalid', 'required'])\n\n return (\n <S.Label\n disabled={disabled ? 1 : 0}\n required={required ? 1 : 0}\n invalid={invalid ? 1 : 0}\n >\n <input {...htmlProps} type='checkbox' />\n <span></span>\n\n {label && <S.LabelContainer>{label}</S.LabelContainer>}\n </S.Label>\n )\n}\n\nexport default Switch\n","import React from 'react'\nimport styled, { css } from 'styled-components'\n\nconst bullet = css`\n appearance: none;\n width: ${({ theme }) => theme.spacings.s4};\n height: ${({ theme }) => theme.spacings.s4};\n border-radius: 100%;\n border-width: 1px;\n border-style: solid;\n background-color: ${({ theme }) => theme.colors.white};\n box-shadow: 0px 1px 3px ${({ theme }) => theme.getColor('black', 10)};\n`\n\nexport const Input = styled.input`\n appearance: none;\n width: 100%;\n height: 10px;\n background-color: transparent;\n outline: none;\n position: relative;\n z-index: 3;\n margin: 0;\n\n :not(:disabled) {\n cursor: pointer;\n }\n\n /** firefox */\n ::-moz-range-thumb {\n ${bullet}\n }\n /** ie */\n ::-ms-thumb {\n ${bullet}\n }\n /** chrome */\n ::-webkit-slider-thumb {\n ${bullet}\n }\n`\n\ninterface StyledLabelProps extends React.HtmlHTMLAttributes<HTMLDivElement> {\n disabled: 1 | 0\n required: 1 | 0\n width?: string\n}\n\nexport const Label = styled.label<StyledLabelProps>`\n ${({ theme }) => theme.useTypography('p')};\n\n width: ${({ width }) => width || '100%'};\n box-sizing: border-box;\n display: block;\n position: relative;\n\n ${({ disabled }) => {\n if (!disabled) return\n\n return css`\n opacity: 0.5;\n `\n }}\n\n > div:first-child {\n display: inline-block;\n margin-bottom: ${({ theme }) => theme.spacings.s1};\n\n ${({ required }) => {\n if (!required) return\n\n return css`\n :after {\n content: ' *';\n }\n `\n }}\n }\n`\n\ninterface InputContainerProps extends React.HtmlHTMLAttributes<HTMLDivElement> {\n invalid: 1 | 0\n}\n\nexport const InputContainer = styled.div<InputContainerProps>`\n flex: 1;\n display: flex;\n gap: 6px;\n\n > div {\n position: relative;\n }\n\n ${({ theme, invalid }) => {\n if (!invalid) {\n return css`\n ${SelectedArea} > span {\n background-color: ${theme.colors.blue};\n }\n\n ${Input} {\n /** firefox */\n ::-moz-range-thumb {\n border-color: ${theme.colors.lightestGrey};\n }\n /** ie */\n ::-ms-thumb {\n border-color: ${theme.colors.lightestGrey};\n }\n /** chrome */\n ::-webkit-slider-thumb {\n border-color: ${theme.colors.lightestGrey};\n }\n }\n `\n }\n\n return css`\n ${SelectedArea} > span {\n background-color: ${theme.colors.warningRed};\n }\n\n ${Input} {\n /** firefox */\n ::-moz-range-thumb {\n border-color: ${theme.colors.warningRed};\n }\n /** ie */\n ::-ms-thumb {\n border-color: ${theme.colors.warningRed};\n }\n /** chrome */\n ::-webkit-slider-thumb {\n border-color: ${theme.colors.warningRed};\n }\n }\n `\n }}\n`\n\nexport const MinMaxLabelContainer = styled.div`\n display: flex;\n padding-bottom: 2px;\n`\n\ninterface LabelsContainerProps extends React.HTMLAttributes<HTMLDivElement> {\n position: 'bottom' | 'top'\n}\n\nexport const LabelsContainer = styled.div<LabelsContainerProps>`\n display: flex;\n gap: 7px;\n\n ${({ position }) => {\n if (position === 'bottom') {\n return css`\n ${InputContainer} {\n flex-direction: column-reverse;\n }\n\n ${Marker} {\n :after {\n bottom: calc(100% + 10.5px);\n }\n }\n\n ${MinMaxLabelContainer} {\n align-items: start;\n }\n `\n }\n\n return css`\n ${InputContainer} {\n flex-direction: column;\n }\n\n ${Marker} {\n :after {\n top: calc(100% + 8px);\n }\n }\n\n ${MinMaxLabelContainer} {\n align-items: end;\n }\n `\n }}\n`\n\ninterface SelectedAreaProps extends React.HtmlHTMLAttributes<HTMLDivElement> {\n percent: number\n}\n\nexport const SelectedArea = styled.div<SelectedAreaProps>`\n background-color: ${({ theme }) => theme.getColor('greyishBlue', 10)};\n\n height: 3px;\n width: 100%;\n position: absolute;\n bottom: calc(50% - 2px);\n left: 0;\n display: flex;\n z-index: 1;\n\n > span {\n width: ${({ percent }) => percent}%;\n display: block;\n box-sizing: border-box;\n height: 100%;\n }\n`\n\nexport const MarkersContainer = styled.div`\n height: 17px;\n`\n\ninterface MarkerProps extends React.HtmlHTMLAttributes<HTMLDivElement> {\n left: string\n bullet: 1 | 0\n}\n\nexport const Marker = styled.div<MarkerProps>`\n position: absolute;\n top: 0;\n width: 40px;\n text-align: center;\n left: ${({ left }) => left};\n z-index: 2;\n\n :first-child {\n left: 0;\n text-align: left;\n\n :after {\n left: 0;\n }\n }\n :last-child {\n right: 0;\n left: unset;\n text-align: right;\n\n :after {\n right: 0;\n left: unset;\n }\n }\n\n ${({ bullet, theme }) => {\n if (!bullet) return\n return css`\n :after {\n content: '';\n position: absolute;\n left: calc(50% - 5px);\n width: 10px;\n height: 10px;\n border-radius: 100%;\n border: 1px solid ${theme.colors.lightestGrey};\n background-color: ${theme.colors.white};\n box-shadow: 0px 1px 3px ${theme.getColor('black', 10)};\n }\n `\n }}\n`\n","import React from 'react'\nimport { filterObject } from '../../../../functions/formatters'\nimport { isObject } from '../../../../functions/validators'\n\nimport { Marker, RangeProps } from './interfaces'\nimport * as S from './styles'\n\nconst getMarkers = (\n props: RangeProps,\n): {\n min: number\n max: number\n step: number\n strict: boolean | undefined\n markers: Marker[]\n position: 'bottom' | 'top'\n} => {\n if (props.markers && 'markers' in props.markers) {\n const { strict } = props.markers\n const position = props.markers.position || 'bottom'\n\n const markers = props.markers.markers.map((m): Marker => {\n return isObject<Marker>(m) ? m : { label: m.toString(), value: m }\n })\n\n markers.sort((a, b) => a.value - b.value)\n\n if (strict) {\n const min = 0\n const max = markers.length - 1\n const step = 1\n\n return {\n min,\n max,\n step,\n strict,\n markers,\n position,\n }\n }\n\n const min = markers[0].value\n const max = markers[markers.length - 1].value\n const step = props.step\n ? parseFloat(`${props.step}`)\n : markers[1].value - markers[0].value\n\n return {\n min,\n max,\n step,\n strict,\n markers,\n position,\n }\n }\n\n const markers = props.markers || {}\n const step = props.step ? parseFloat(`${props.step}`) : 1\n const min = markers.min || 0\n const max = markers.max || 100\n const strict = false\n\n return {\n min,\n max,\n step,\n strict,\n markers: [],\n position: 'bottom',\n }\n}\n\nconst Range = React.forwardRef(\n (props: RangeProps, ref?: React.ForwardedRef<HTMLInputElement>) => {\n const { label, minLabel, maxLabel, invalid, disabled, required, width } =\n props\n\n const { min, max, strict, markers, step, position } = getMarkers(props)\n\n const range = max - min\n const percent = 100 / range\n const value = props.value !== undefined ? parseFloat(`${props.value}`) : min\n const spans = value - min\n\n if (value < min || value > max) {\n throw new Error('Invalid value')\n }\n\n const _onChange = props.onChange || (() => {})\n const onChange: React.ChangeEventHandler<HTMLInputElement> = strict\n ? (event) => {\n const index = parseInt(event.target.value)\n const value = markers[index].value\n _onChange(event, value)\n }\n : (event) => {\n const value = parseFloat(event.target.value)\n _onChange(event, value)\n }\n\n const inputProps = filterObject<\n RangeProps,\n React.InputHTMLAttributes<HTMLInputElement>\n >(\n props,\n [\n 'label',\n 'minLabel',\n 'maxLabel',\n 'invalid',\n 'required',\n 'width',\n 'onChange',\n 'step',\n ],\n {\n min,\n max,\n step,\n onChange,\n },\n )\n\n return (\n <S.Label\n required={required ? 1 : 0}\n disabled={disabled ? 1 : 0}\n width={width}\n >\n <div>{label}</div>\n\n <S.LabelsContainer position={position}>\n {minLabel && (\n <S.MinMaxLabelContainer>{minLabel}</S.MinMaxLabelContainer>\n )}\n\n <S.InputContainer invalid={invalid ? 1 : 0}>\n {markers.length > 0 && (\n <S.MarkersContainer>\n {markers.map((marker, index) => {\n let z = markers.length - 2\n if (z < markers.length - 1) z = markers.length - 1\n const y = 20 / z\n const x = 20 - y * (z - index)\n const p = index * percent\n const left = `calc(${p}% - 10px - ${x}px)`\n\n const bullet = marker.value > value ? 1 : 0\n\n return (\n <S.Marker key={marker.value} left={left} bullet={bullet}>\n {marker.label}\n </S.Marker>\n )\n })}\n </S.MarkersContainer>\n )}\n\n <div>\n <S.Input ref={ref} {...inputProps} />\n\n <S.SelectedArea percent={percent}>\n {Array(spans)\n .fill(1)\n .map((_value, index) => (\n <span key={index} />\n ))}\n </S.SelectedArea>\n </div>\n </S.InputContainer>\n\n {maxLabel && (\n <S.MinMaxLabelContainer>{maxLabel}</S.MinMaxLabelContainer>\n )}\n </S.LabelsContainer>\n </S.Label>\n )\n },\n)\n\nRange.displayName = 'input'\n\nexport default Range\n","import styled, { css } from 'styled-components'\nimport { LabelProps } from './interfaces'\n\nexport const LabelContainer = styled.div`\n ${({ theme }) => theme.useTypography('p')}\n display: flex;\n align-items: center;\n`\n\nexport const Label = styled.label<LabelProps>`\n display: flex;\n gap: ${({ theme }) => theme.spacings.s1};\n\n ${({ disabled }) => {\n if (!disabled) {\n return css`\n > span {\n cursor: pointer;\n }\n `\n }\n return css`\n opacity: 0.5;\n `\n }}\n\n ${({ required }) => {\n if (!required) return\n return css`\n > ${LabelContainer} {\n :after {\n content: ' *';\n }\n }\n `\n }}\n\n${({ invalid }) => {\n if (!invalid) {\n return css`\n > span {\n border-color: ${({ theme }) => theme.colors.blue};\n :before {\n background-color: ${({ theme }) => theme.colors.blue};\n }\n }\n `\n }\n return css`\n > span {\n border-color: ${({ theme }) => theme.colors.warningRed};\n :before {\n background-color: ${({ theme }) => theme.colors.warningRed};\n }\n }\n `\n }}\n\n > input {\n height: 0;\n width: 0;\n }\n\n > span {\n height: 17px;\n width: 17px;\n border-radius: 100%;\n border-width: 1px;\n border-style: solid;\n background-color: ${({ theme }) => theme.colors.white};\n position: relative;\n transition-property: border-color;\n transition-duration: 0.5s;\n transition-timing-function: ease-in-out;\n :before {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n height: 0;\n width: 0;\n border-radius: 100%;\n transition-property: top, left, width, height, background-color;\n transition-duration: 0.5s;\n transition-timing-function: cubic-bezier(0.68, -0.55, 0.27, 1.55);\n }\n }\n > input:checked + span {\n :before {\n top: calc(50% - 4.5px);\n left: calc(50% - 4.5px);\n height: 9px;\n width: 9px;\n }\n }\n`\n","import React from 'react'\nimport { filterObject } from '../../../../functions/formatters'\nimport { RadioButtonProps } from './interfaces'\nimport * as S from './styles'\n\nconst RadioButton = (props: RadioButtonProps) => {\n const { label, disabled, required, invalid } = props\n\n const htmlProps = filterObject<\n RadioButtonProps,\n React.InputHTMLAttributes<HTMLInputElement>\n >(props, ['label', 'invalid', 'required'])\n\n return (\n <S.Label\n disabled={disabled ? 1 : 0}\n required={required ? 1 : 0}\n invalid={invalid ? 1 : 0}\n >\n <input {...htmlProps} type='radio' />\n <span></span>\n\n {label && <S.LabelContainer>{label}</S.LabelContainer>}\n </S.Label>\n )\n}\n\nexport default RadioButton\n","import React from 'react'\n\nimport DefaultInput from './components/Input'\nimport { InputProps as DefaultInputProps } from './components/Input/interfaces'\n\nimport Checkbox from './components/Checkbox'\nimport { CheckboxProps } from './components/Checkbox/interfaces'\n\nimport Date from './components/Date'\nimport { DateProps } from './components/Date/interfaces'\n\nimport Time from './components/Time'\nimport { TimeProps } from './components/Time/interfaces'\n\nimport Select from './components/Select'\nimport { MultSelectProps, OneSelectProps } from './components/Select/interfaces'\n\nimport Password from './components/Password'\nimport { PasswordProps } from './components/Password/interfaces'\n\nimport Phone from './components/Phone'\nimport { PhoneProps } from './components/Phone/interfaces'\n\nimport DatePicker from './components/DatePicker'\nimport { DatePickerProps } from './components/DatePicker/interfaces'\n\nimport { SwitchProps } from './components/Switch/interfaces'\nimport Switch from './components/Switch'\n\nimport Range from './components/Range'\nimport { RangeProps } from './components/Range/interfaces'\n\nimport { RadioButtonProps } from './components/RadioButton/interfaces'\nimport RadioButton from './components/RadioButton'\n\nexport type Props =\n | DateProps\n | TimeProps\n | CheckboxProps\n | OneSelectProps\n | MultSelectProps\n | PasswordProps\n | PhoneProps\n | DatePickerProps\n | RangeProps\n | DefaultInputProps\n | SwitchProps\n | RadioButtonProps\n\nconst Input = React.forwardRef(\n (props: Props, ref?: React.ForwardedRef<HTMLInputElement>) => {\n switch (props.type) {\n case 'date': {\n return <Date {...props} ref={ref} />\n }\n case 'time': {\n return <Time {...props} ref={ref} />\n }\n case 'checkbox': {\n return <Checkbox {...props} ref={ref} />\n }\n case 'select': {\n return <Select {...props} ref={ref} />\n }\n case 'select-multiple': {\n return <Select {...props} ref={ref} />\n }\n case 'password': {\n return <Password {...props} ref={ref} />\n }\n case 'phone': {\n return <Phone {...props} ref={ref} />\n }\n case 'datepicker': {\n return <DatePicker {...props} ref={ref} />\n }\n case 'range': {\n return <Range {...props} ref={ref} />\n }\n case 'switch': {\n return <Switch {...props} />\n }\n case 'radio': {\n return <RadioButton {...props} />\n }\n default: {\n return <DefaultInput {...props} ref={ref} />\n }\n }\n },\n)\n\nInput.displayName = 'Input'\n\nexport default Input\n","import { useEffect } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { PortalProps } from './interfaces'\n\nconst Portal = (props: PortalProps) => {\n const { id, opened, children } = props\n\n const portalRoot = document.createElement('div')\n\n useEffect(() => {\n if (opened) {\n portalRoot.id = id + '-root'\n\n document.body.appendChild(portalRoot)\n\n return () => {\n document.body.removeChild(portalRoot)\n }\n }\n }, [opened])\n\n return opened ? createPortal(children, portalRoot) : null\n}\n\nexport default Portal\n","export const heights = {\n small: '356.4px' as string | number,\n medium: '549px' as string | number,\n large: '600px' as string | number,\n custom: '100%' as string | number,\n default: '356.4px' as string | number,\n} as const\n\nexport const widths = {\n small: '642.5px' as string | number,\n medium: '1010px' as string | number,\n large: '1095px' as string | number,\n custom: '100%' as string | number,\n default: '642.5px' as string | number,\n} as const\n","import styled, { css } from 'styled-components'\n\nimport { StyledModalProps } from './interfaces'\nimport { heights, widths } from './contants'\n\nexport const Background = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n backdrop-filter: blur(3px);\n background-color: ${({ theme }) => theme.getColor('black', 25)};\n`\n\nexport const Content = styled.div`\n flex: 1;\n position: relative;\n`\n\nexport const Header = styled.div`\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n ${({ theme: { colors, spacings, useTypography } }) => css`\n border-bottom: 1px solid ${colors.lightestGrey};\n padding: ${spacings.s4};\n\n ${useTypography('h1')}\n `}\n`\n\nexport const Footer = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n ${({ theme: { spacings, colors } }) => css`\n border-top: 1px solid ${colors.lightestGrey};\n padding: ${spacings.s3};\n `}\n`\n\nexport const FooterMessage = styled.div`\n max-width: 75%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n span {\n font-size: 14px;\n color: ${({ theme }) => theme.getColor('darkBlue', 75)};\n }\n`\n\nexport const FooterButtons = styled.div`\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: ${({ theme }) => theme.spacings.s3};\n`\n\nexport const Container = styled.div<StyledModalProps>`\n display: flex;\n flex-direction: column;\n\n ${({ theme, size, customSize, color, inverted }) => css`\n background-color: ${theme.colors.white};\n box-shadow: 0 0 21px 7px ${theme.getColor('black', 15)};\n\n width: ${size === 'custom' && customSize\n ? customSize.width || 'auto'\n : widths[size]};\n\n height: ${size === 'custom' && customSize\n ? customSize.height || 'auto'\n : heights[size]};\n\n ${Header} {\n background-color: ${inverted\n ? theme.isDarkColor(color)\n : theme.colors[color]};\n color: ${inverted ? theme.colors[color] : theme.isDarkColor(color)};\n }\n `}\n`\n","import React, { useEffect } from 'react'\n\nimport Portal from '../../addons/Portal'\nimport Button from '../Button'\nimport Loader from '../Loader'\n\nimport { ModalProps } from './interfaces'\nimport { heights } from './contants'\nimport * as S from './styles'\n\nconst Modal = (props: ModalProps) => {\n const {\n openState,\n title,\n size,\n color,\n inverted,\n children,\n content,\n footer,\n footerMessage,\n loading,\n closeOnEsc,\n closeOnClickOutside,\n customSize,\n } = props\n\n const [open, setOpen] = openState\n\n const onClickOutside = (\n event: React.MouseEvent<HTMLDivElement, MouseEvent>,\n ) => {\n if (\n closeOnClickOutside &&\n (event.target as HTMLDivElement).parentElement?.id\n ) {\n setOpen(false)\n }\n }\n\n useEffect(() => {\n const onEscDown = (event: KeyboardEvent) => {\n if (closeOnEsc && event.key === 'Escape') {\n event.preventDefault()\n\n setOpen(false)\n }\n }\n\n document.addEventListener('keydown', onEscDown)\n\n return () => {\n document.removeEventListener('keydown', onEscDown)\n }\n }, [])\n\n const _size = size ? heights[size] : heights.default\n\n return (\n <Portal opened={open || false} id='modal'>\n <S.Background onClick={onClickOutside}>\n <S.Container\n size={size || 'small'}\n color={color || 'blue'}\n inverted={+(inverted || false)}\n customSize={customSize}\n >\n <S.Header>{title}</S.Header>\n\n <S.Content>\n {loading ? (\n <Loader\n color='blue'\n size={`calc(${_size} * 0.1454)`}\n borderSize='3px'\n />\n ) : (\n children || content\n )}\n </S.Content>\n\n <S.Footer>\n <S.FooterMessage>\n {footerMessage &&\n (typeof footerMessage === 'string' ? (\n <span>{footerMessage}</span>\n ) : (\n footerMessage\n ))}\n </S.FooterMessage>\n\n <S.FooterButtons>\n {footer ? (\n footer.map(({ children, ...buttonProps }, index) => (\n <Button key={index} {...buttonProps}>\n {children}\n </Button>\n ))\n ) : (\n <Button\n content='OK'\n color={color || 'blue'}\n onClick={() => setOpen(false)}\n />\n )}\n </S.FooterButtons>\n </S.Footer>\n </S.Container>\n </S.Background>\n </Portal>\n )\n}\n\nexport default Modal\n","import styled from 'styled-components'\n\nexport const Content = styled.div`\n padding: ${({ theme }) => `${theme.spacings.s5} ${theme.spacings.s4}`};\n`\n","import React from 'react'\nimport Modal from '../../component'\n\nimport { ConfirmDeleteProps } from './interfaces'\nimport * as S from './styles'\n\nconst ConfirmDelete = (props: ConfirmDeleteProps) => {\n const {\n cancelAction,\n confirmAction,\n openState,\n content,\n children,\n title,\n closeOnClickOutside,\n closeOnEsc,\n } = props\n\n return (\n <Modal\n title={'Deletar ' + title}\n closeOnClickOutside={closeOnClickOutside}\n closeOnEsc={closeOnEsc}\n openState={openState}\n size='custom'\n customSize={{ width: '500px' }}\n color='greyishBlue'\n inverted\n footer={[\n {\n appearance: 'bordeless',\n content: 'Cancelar',\n onClick: cancelAction,\n },\n {\n color: 'pink',\n content: 'Deletar',\n onClick: confirmAction,\n },\n ]}\n >\n <S.Content>{children || content}</S.Content>\n </Modal>\n )\n}\n\nexport default ConfirmDelete\n","import styled from 'styled-components'\n\nexport const Content = styled.div`\n padding: ${({ theme }) => `${theme.spacings.s5} ${theme.spacings.s4}`};\n`\n","import React from 'react'\nimport Modal from '../../component'\n\nimport { ConfirmSuccessProps } from './interfaces'\nimport * as S from './styles'\n\nconst ConfirmSuccess = (props: ConfirmSuccessProps) => {\n const {\n homeAction,\n cancelAction,\n confirmAction,\n openState,\n content,\n children,\n closeOnClickOutside,\n closeOnEsc,\n } = props\n\n return (\n <Modal\n title='Confirmação!'\n closeOnClickOutside={closeOnClickOutside}\n closeOnEsc={closeOnEsc}\n openState={openState}\n size='custom'\n customSize={{ width: '630px' }}\n color='greyishBlue'\n inverted\n footer={[\n {\n appearance: 'bordered',\n content: 'Ir para Home',\n onClick: homeAction,\n },\n {\n appearance: 'bordered',\n content: 'Continuar edição',\n onClick: cancelAction,\n },\n {\n content: 'Novo Cadastro',\n onClick: confirmAction,\n },\n ]}\n >\n <S.Content>{children || content}</S.Content>\n </Modal>\n )\n}\n\nexport default ConfirmSuccess\n","import styled from 'styled-components'\n\nexport const Content = styled.div`\n padding: ${({ theme }) => `${theme.spacings.s5} ${theme.spacings.s4}`};\n`\n","import React from 'react'\nimport Modal from '../../component'\n\nimport { AuditProps } from './interfaces'\nimport * as S from './styles'\n\nconst Audit = (props: AuditProps) => {\n const {\n cancelAction,\n confirmAction,\n openState,\n content,\n children,\n closeOnClickOutside,\n closeOnEsc,\n } = props\n\n return (\n <Modal\n title='Auditoria'\n closeOnClickOutside={closeOnClickOutside}\n closeOnEsc={closeOnEsc}\n openState={openState}\n size='custom'\n customSize={{ width: '500px' }}\n color='greyishBlue'\n inverted\n footer={[\n {\n appearance: 'bordeless',\n content: 'Cancelar',\n onClick: cancelAction,\n },\n {\n content: 'Enviar',\n onClick: confirmAction,\n },\n ]}\n >\n <S.Content>{children || content}</S.Content>\n </Modal>\n )\n}\n\nexport default Audit\n","import Component from './component'\nimport { ModalProps } from './interfaces'\nimport { ConfirmDelete, ConfirmEdit, Audit } from './templates'\n\ninterface ModalInteface {\n (props: ModalProps): JSX.Element\n ConfirmDelete: typeof ConfirmDelete\n ConfirmEdit: typeof ConfirmEdit\n Audit: typeof Audit\n}\n\nconst Modal = <ModalInteface>Component\n\nModal.ConfirmDelete = ConfirmDelete\nModal.ConfirmEdit = ConfirmEdit\nModal.Audit = Audit\n\nexport default Modal\n","import styled, { css } from 'styled-components'\nimport { CardProps } from './interfaces'\nexport const Container = styled.div<CardProps>`\n width: 100%;\n background: #fff;\n border: 1px solid #d4d4d5;\n border-radius: 4px;\n border-left-width: 5px;\n padding: 14px;\n ${(props) =>\n props.size === 'mini' &&\n css`\n width: 394px;\n height: 99px;\n `}\n ${(props) =>\n props.size === 'small' &&\n css`\n width: 394px;\n height: 131px;\n `}\n ${(props) =>\n props.size === 'medium' &&\n css`\n width: 394px;\n `}\n ${(props) =>\n props.size === 'big' &&\n css`\n width: 414px;\n height: 324px;\n `}\n\n ${(props) =>\n props.borderType === 'info' &&\n css`\n border-left-color: #4d6dbe;\n `}\n ${(props) =>\n props.borderType === 'success' &&\n css`\n border-left-color: #66bb6a;\n `}\n ${(props) =>\n props.borderType === 'warning' &&\n css`\n border-left-color: #fbcb01;\n `}\n\n ${(props) =>\n props.borderType === 'danger' &&\n css`\n border-left-color: #e23851;\n `}\n ${(props) =>\n props.borderType === 'none' &&\n css`\n border: 1px solid #d4d4d5;\n `}\n`\n","import React from 'react'\nimport { CardProps } from './interfaces'\nimport * as S from './styled'\n\nconst Card = ({ children, ...rest }: CardProps) => {\n return <S.Container {...rest}>{children}</S.Container>\n}\n\nexport default Card\n","import styled, { css } from 'styled-components'\nimport { ToasterTypes } from './interfaces'\n\nexport const Container = styled.div<ToasterTypes>`\n border-radius: 4px;\n width: ${(props) => (props.size === 'large' ? '837px' : '460px')};\n height: 88px;\n border: 1px solid transparent;\n position: relative;\n\n ${(props) =>\n props.color === 'success' &&\n css`\n background-color: #fcfff5;\n opacity: 1;\n border-color: #a8c599;\n h4 {\n color: #1e561f;\n }\n p {\n color: #1e561fcc;\n }\n `}\n\n ${(props) =>\n props.color === 'error' &&\n css`\n background-color: #fff6f6;\n opacity: 1;\n border-color: #973937;\n h4 {\n color: #973937;\n }\n p {\n color: #973937;\n }\n `}\n\n ${(props) =>\n props.color === 'warning' &&\n css`\n background-color: #fffaf3;\n opacity: 1;\n border-color: #ccbea0;\n h4 {\n color: #7a4d05;\n }\n p {\n color: #7a4d05cc;\n }\n `}\n\n svg {\n cursor: pointer;\n position: absolute;\n top: 14px;\n right: 14px;\n width: 13px;\n height: 13px;\n }\n`\n\nexport const IconContainer = styled.div`\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 14px 14px 0 0;\n margin: 0;\n`\n\nexport const IconContent = styled.div`\n width: 100%;\n padding: 13px 0 21px 28px;\n display: flex;\n flex: 1;\n flex-direction: column;\n\n h4 {\n margin-bottom: 7px;\n font-size: 18p;\n }\n p {\n margin: 0;\n font-size: 14px;\n max-width: 380px;\n }\n`\n","import React from 'react'\nimport { ToasterTypes } from './interfaces'\nimport MwIcon from '../../components/Icon'\nimport * as S from './styles'\n\nconst Toast = (props: ToasterTypes) => {\n return (\n <S.Container {...props}>\n <S.IconContainer>\n <MwIcon type='feather' icon='x' onClick={() => props.handlClose()} />\n </S.IconContainer>\n <S.IconContent>\n <h4>{props.title}</h4>\n <p> {props.description}</p>\n </S.IconContent>\n </S.Container>\n )\n}\n\nexport default Toast\n","import styled from 'styled-components'\n\nexport const Container = styled.div`\n padding: ${({ theme }) =>\n `${theme.spacings.s1} ${theme.spacings.s1} 0px ${theme.spacings.s1}`};\n background-color: ${({ theme }) => theme.colors.white};\n display: flex;\n width: min-content;\n`\n","import React, { useState } from 'react'\nimport AbsoluteContainer from '../AbsoluteContainer'\nimport Calendar from '../Calendar'\nimport { CalendarIntervalProps } from './interfaces'\nimport * as S from './styles'\n\nconst CalendarInterval = (props: CalendarIntervalProps) => {\n const { time, references } = props\n\n const [start, setStart] = props.value\n ? props.value.start\n : useState<Date | null>(null)\n const [end, setEnd] = props.value\n ? props.value.end\n : useState<Date | null>(null)\n\n const [startInvalid, setStartInvalid] = useState<boolean>(false)\n const [endInvalid, setEndInvalid] = useState<boolean>(false)\n\n let min: Date | undefined\n if (props.min) {\n min = new Date(props.min.getTime())\n }\n\n let max: Date | undefined\n if (props.max) {\n max = new Date(props.max.getTime())\n }\n\n let minEnd: Date | undefined\n if (start) {\n minEnd = start\n if (min) {\n minEnd = start >= min ? start : min\n }\n } else if (min) {\n minEnd = min\n }\n\n let maxStart: Date | undefined\n if (end) {\n maxStart = end\n if (max) {\n maxStart = end <= max ? end : max\n }\n } else if (max) {\n maxStart = max\n }\n\n const _onSubmit = props.onSubmit || {}\n const onSubmit = {\n disabled: startInvalid || endInvalid,\n onClick: () => {},\n ..._onSubmit,\n }\n\n return (\n <AbsoluteContainer axis='y' references={references}>\n <S.Container>\n <Calendar\n value={[start, setStart]}\n min={min}\n max={maxStart}\n overlay={{\n type: 'after',\n value: end,\n }}\n time={time}\n invalid={[startInvalid, setStartInvalid]}\n notAbsolute\n />\n <Calendar\n value={[end, setEnd]}\n min={minEnd}\n max={max}\n overlay={{\n type: 'before',\n value: start,\n }}\n time={time}\n invalid={[endInvalid, setEndInvalid]}\n notAbsolute\n onSubmit={{\n onClick: () => onSubmit.onClick(start, end),\n disabled: onSubmit.disabled,\n }}\n />\n </S.Container>\n </AbsoluteContainer>\n )\n}\n\nexport default CalendarInterval\n","import styled, { css } from 'styled-components'\nimport { HeaderLineProps } from '../../interfaces'\n\nexport const Container = styled.div`\n width: 100%;\n height: 300px;\n position: absolute;\n padding: 14px;\n`\n\nexport const Header = styled.div`\n display: flex;\n`\n\nexport const HeaderImage = styled.div`\n width: 43px;\n height: 44px;\n background-color: #ebebeb;\n`\n\nexport const HeaderContent = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n flex: 1;\n`\n\nexport const MainContent = styled.div`\n margin-top: 8px;\n`\n\nexport const HeaderLine = styled.div<HeaderLineProps>`\n height: ${(props) => props.height};\n background-color: #ebebeb;\n margin-left: 7px;\n\n & + div {\n margin-top: 14px;\n }\n\n ${(props) =>\n props.size === 'mini' &&\n css`\n width: 15%;\n `}\n ${(props) =>\n props.size === 'small' &&\n css`\n width: 25%;\n `}\n\n ${(props) =>\n props.size === 'medium' &&\n css`\n width: 45%;\n `}\n\n ${(props) =>\n props.size === 'large' &&\n css`\n width: 75%;\n `}\n`\n\nexport const MainLine = styled(HeaderLine)<HeaderLineProps>`\n margin-bottom: 14px;\n margin-left: 0;\n`\n","import React from 'react'\nimport { PlaceholderProps } from '../../interfaces'\nimport * as S from './styles'\n\nconst Template1 = (props: PlaceholderProps) => {\n if (!props.loading) return <React.Fragment />\n return (\n <S.Container>\n <S.Header>\n <S.HeaderImage />\n <S.HeaderContent>\n <S.HeaderLine size='medium' height='9px' color='#E6E6E6' />\n <S.HeaderLine size='small' height='9px' color='#E6E6E6' />\n </S.HeaderContent>\n </S.Header>\n <S.MainContent>\n <S.MainLine size='medium' height='9px' color='#E6E6E6' />\n <S.MainLine size='small' height='9px' color='#E6E6E6' />\n <S.MainLine size='mini' height='9px' color='#E6E6E6' />\n <S.MainLine size='medium' height='9px' color='#E6E6E6' />\n <S.MainLine size='small' height='9px' color='#E6E6E6' />\n </S.MainContent>\n </S.Container>\n )\n}\n\nexport default Template1\n","import styled, { css } from 'styled-components'\nimport { HeaderLineProps } from './interfaces'\n\nexport const HeaderLine = styled.div<HeaderLineProps>`\n height: ${(props) => props.height};\n background-color: #ebebeb;\n margin-left: 7px;\n\n & + div {\n margin-top: 14px;\n }\n\n ${(props) =>\n props.size === 'mini' &&\n css`\n width: 15%;\n `}\n ${(props) =>\n props.size === 'small' &&\n css`\n width: 25%;\n `}\n\n ${(props) =>\n props.size === 'medium' &&\n css`\n width: 45%;\n `}\n\n ${(props) =>\n props.size === 'large' &&\n css`\n width: 75%;\n `}\n`\n","import styled from 'styled-components'\nimport { HeaderLineProps } from '../../interfaces'\nimport { HeaderLine as HeaderLineStyle } from '../../styles'\n\nexport const Container = styled.div`\n width: 100%;\n max-height: 100%;\n position: absolute;\n padding: 14px;\n`\n\nexport const Template2Container = styled(Container)`\n background: #fff;\n border: 2px solid #ebebeb;\n`\n\nexport const Header = styled.div`\n display: flex;\n`\n\nexport const HeaderImage = styled.div`\n width: 43px;\n height: 44px;\n background-color: #ebebeb;\n`\n\nexport const HeaderContent = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n flex: 1;\n`\n\nexport const MainContent = styled.div`\n margin-top: 8px;\n`\n\nexport const MainLine = styled(HeaderLineStyle)<HeaderLineProps>`\n margin-bottom: 14px;\n margin-left: 0;\n`\n\nexport const HeaderLine = styled(HeaderLineStyle)``\n","import React from 'react'\nimport * as S from './styles'\n\nimport { PlaceholderProps } from '../../interfaces'\n\nconst Template2 = (props: PlaceholderProps) => {\n if (!props.loading) return <React.Fragment />\n return (\n <S.Template2Container>\n <S.Header>\n <S.HeaderImage />\n <S.HeaderContent>\n <S.HeaderLine size='mini' height='9px' color='#E6E6E6' />\n <S.HeaderLine size='mini' height='9px' color='#E6E6E6' />\n </S.HeaderContent>\n </S.Header>\n <S.MainContent>\n <S.MainLine size='mini' height='9px' color='#E6E6E6' />\n <S.MainLine size='mini' height='9px' color='#E6E6E6' />\n </S.MainContent>\n </S.Template2Container>\n )\n}\n\nexport default Template2\n","import styled from 'styled-components'\nimport { HeaderLine } from '../../styles'\n\nexport const Container = styled.div`\n width: 100%;\n max-height: 100%;\n position: absolute;\n padding: 14px;\n`\n\nexport const Template3Container = styled(Container)``\nexport const Template3Line = styled(HeaderLine)`\n background-color: #dadada;\n height: ${(props) => props.height};\n`\n","import React from 'react'\nimport { PlaceholderProps } from '../../interfaces'\nimport * as S from './styles'\n\nconst Template3 = (props: PlaceholderProps) => {\n if (!props.loading) return <React.Fragment />\n return (\n <S.Template3Container>\n <S.Template3Line size='large' height='7px' color='#DADADA' />\n <S.Template3Line size='small' height='7px' color='#DADADA' />\n <S.Template3Line size='medium' height='7px' color='#DADADA' />\n <S.Template3Line size='small' height='7px' color='#DADADA' />\n <S.Template3Line size='mini' height='7px' color='#DADADA' />\n </S.Template3Container>\n )\n}\n\nexport default Template3\n","import styled, { css } from 'styled-components'\nimport { HeaderLineProps } from '../../interfaces'\n\nexport const Container = styled.div`\n width: 100%;\n max-height: 100%;\n position: absolute;\n padding: 14px;\n`\nexport const HeaderLine = styled.div<HeaderLineProps>`\n height: ${(props) => props.height};\n background-color: #ebebeb;\n margin-left: 7px;\n\n & + div {\n margin-top: 14px;\n }\n\n ${(props) =>\n props.size === 'mini' &&\n css`\n width: 15%;\n `}\n ${(props) =>\n props.size === 'small' &&\n css`\n width: 25%;\n `}\n\n ${(props) =>\n props.size === 'medium' &&\n css`\n width: 45%;\n `}\n\n ${(props) =>\n props.size === 'large' &&\n css`\n width: 75%;\n `}\n`\nexport const Template4Container = styled(Container)`\n border: 1px solid #e6e6e7;\n border-radius: 4px;\n`\nexport const CustomLine = styled(HeaderLine)`\n width: ${(props) => props.width};\n height: ${(props) => props.height};\n background-color: ${(props) => props.color};\n`\n","import React from 'react'\nimport { PlaceholderProps } from '../../interfaces'\nimport * as S from './styles'\nconst Template4 = (props: PlaceholderProps) => {\n if (!props.loading) return <React.Fragment />\n return (\n <S.Template4Container>\n <S.CustomLine size='large' height='12px' color='#DDDEDF' width='594px' />\n <S.CustomLine size='large' height='12px' color='#DDDEDF' width='572px' />\n <S.CustomLine size='large' height='12px' color='#DDDEDF' width='624px' />\n <S.CustomLine size='large' height='12px' color='#DDDEDF' width='544px' />\n <S.CustomLine size='large' height='12px' color='#DDDEDF' width=' 607px' />\n <S.CustomLine size='large' height='12px' color='#DDDEDF' width='581px' />\n <S.CustomLine size='large' height='12px' color='#DDDEDF' width='601px' />\n <S.CustomLine size='large' height='12px' color='#DDDEDF' width='251px' />\n </S.Template4Container>\n )\n}\n\nexport default Template4\n","import styled, { css } from 'styled-components'\nimport { HeaderLineProps } from '../../interfaces'\nexport const Container = styled.div`\n position: absolute;\n width: 746px;\n height: 169px;\n border: 1px solid #e6e6e7;\n border-radius: 4px;\n padding: 14px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n`\n\nexport const Circle = styled.div`\n width: 141px;\n height: 141px;\n background-color: #dddedf;\n border-radius: 50%;\n`\n\nexport const HeaderLine = styled.div<HeaderLineProps>`\n height: ${(props) => props.height};\n background-color: #ebebeb;\n margin-left: 7px;\n\n & + div {\n margin-top: 14px;\n }\n\n ${(props) =>\n props.size === 'mini' &&\n css`\n width: 15%;\n `}\n ${(props) =>\n props.size === 'small' &&\n css`\n width: 25%;\n `}\n\n ${(props) =>\n props.size === 'medium' &&\n css`\n width: 45%;\n `}\n\n ${(props) =>\n props.size === 'large' &&\n css`\n width: 75%;\n `}\n`\n\nexport const CustomLine = styled(HeaderLine)`\n width: ${(props) => props.width};\n height: ${(props) => props.height};\n background-color: ${(props) => props.color};\n`\n\nexport const MainContent = styled.div`\n flex: 1;\n margin-left: 35px;\n`\n","import React from 'react'\nimport { PlaceholderProps } from '../../interfaces'\nimport * as S from './styles'\n\nconst Template5 = (props: PlaceholderProps) => {\n if (!props.loading) return <React.Fragment />\n return (\n <S.Container>\n <S.Circle />\n <S.MainContent>\n <S.CustomLine\n width='406px'\n height='16px'\n color='#DDDEDF'\n size='large'\n />\n <S.CustomLine\n width='387px'\n height='16px'\n color='#DDDEDF'\n size='large'\n />\n <S.CustomLine\n width='426px'\n height='16px'\n color='#DDDEDF'\n size='large'\n />\n <S.CustomLine\n width='189px'\n height='16px'\n color='#DDDEDF'\n size='large'\n />\n </S.MainContent>\n </S.Container>\n )\n}\n\nexport default Template5\n","import styled, { css } from 'styled-components'\nimport { HeaderLineProps } from '../../interfaces'\nexport const Container = styled.div`\n width: 395px;\n\n display: flex;\n align-items: center;\n justify-content: space-between;\n background-color: #f5f5f5;\n`\n\nexport const Header = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 14px;\n`\n\nexport const Footer = styled.div`\n width: 100%;\n border-top: 1px solid #b1b1b3;\n height: 50px;\n`\n\nexport const HeaderLine = styled.div<HeaderLineProps>`\n height: ${(props) => props.height};\n background-color: #ebebeb;\n margin-left: 7px;\n\n & + div {\n margin-top: 14px;\n }\n\n ${(props) =>\n props.size === 'mini' &&\n css`\n width: 15%;\n `}\n ${(props) =>\n props.size === 'small' &&\n css`\n width: 25%;\n `}\n\n ${(props) =>\n props.size === 'medium' &&\n css`\n width: 45%;\n `}\n\n ${(props) =>\n props.size === 'large' &&\n css`\n width: 75%;\n `}\n`\n\nexport const CustomLine = styled(HeaderLine)`\n width: ${(props) => props.width};\n height: ${(props) => props.height};\n background-color: ${(props) => props.color};\n border: 1px solid #dedede5e;\n`\n","import React from 'react'\nimport { PlaceholderProps } from '../../interfaces'\nimport * as S from './styles'\n\nconst Template6 = (props: PlaceholderProps) => {\n if (!props.loading) return <React.Fragment />\n return (\n <S.Container>\n <S.Header>\n <S.CustomLine\n width='274px'\n height='10px'\n color='#EBEBEB'\n size='large'\n />\n <S.CustomLine\n width='274px'\n height='10px'\n color='#EBEBEB'\n size='large'\n />\n <S.CustomLine\n width='274px'\n height='10px'\n color='#EBEBEB'\n size='large'\n />\n </S.Header>\n </S.Container>\n )\n}\n\nexport default Template6\n","import styled, { css } from 'styled-components'\nimport { HeaderLineProps } from '../../interfaces'\nexport const Container = styled.div`\n width: 395px;\n height: 110px;\n display: flex;\n flex-direction: column;\n align-items: center;\n background: #f5f5f5 0% 0% no-repeat padding-box;\n`\n\nexport const Header = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 14px;\n width: 100%;\n`\n\nexport const HeaderLine = styled.div<HeaderLineProps>`\n height: ${(props) => props.height};\n background-color: #ebebeb;\n margin-left: 7px;\n\n & + div {\n margin-top: 14px;\n }\n\n ${(props) =>\n props.size === 'mini' &&\n css`\n width: 15%;\n `}\n ${(props) =>\n props.size === 'small' &&\n css`\n width: 25%;\n `}\n\n ${(props) =>\n props.size === 'medium' &&\n css`\n width: 45%;\n `}\n\n ${(props) =>\n props.size === 'large' &&\n css`\n width: 75%;\n `}\n`\n\nexport const CustomLine = styled(HeaderLine)`\n width: ${(props) => props.width};\n height: ${(props) => props.height};\n background-color: ${(props) => props.color};\n border: 1px solid #dedede5e;\n`\n\nexport const Main = styled.div`\n margin: 10px 0;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-evenly;\n`\nexport const Circle = styled.div`\n width: 30px;\n height: 30px;\n background-color: #ebebeb;\n border-radius: 50%;\n margin: 0 16px;\n`\n","import React from 'react'\nimport { PlaceholderProps } from '../../interfaces'\nimport * as S from './styles'\n\nconst Template7 = (props: PlaceholderProps) => {\n if (!props.loading) return <React.Fragment />\n return (\n <S.Container>\n <S.Header>\n <S.CustomLine width='89px' height='10px' color='#EBEBEB' size='large' />\n </S.Header>\n <S.Main>\n <S.Circle />\n <S.Circle />\n <S.Circle />\n <S.Circle />\n <S.Circle />\n </S.Main>\n </S.Container>\n )\n}\n\nexport default Template7\n","import styled, { css } from 'styled-components'\nimport { HeaderLineProps } from '../../interfaces'\nexport const Container = styled.div`\n width: 395px;\n height: 110px;\n display: flex;\n flex-direction: column;\n align-items: center;\n background: #f5f5f5 0% 0% no-repeat padding-box;\n`\n\nexport const Header = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 14px;\n width: 100%;\n`\n\nexport const HeaderLine = styled.div<HeaderLineProps>`\n height: ${(props) => props.height};\n background-color: #ebebeb;\n margin-left: 7px;\n\n & + div {\n margin-top: 14px;\n }\n\n ${(props) =>\n props.size === 'mini' &&\n css`\n width: 15%;\n `}\n ${(props) =>\n props.size === 'small' &&\n css`\n width: 25%;\n `}\n\n ${(props) =>\n props.size === 'medium' &&\n css`\n width: 45%;\n `}\n\n ${(props) =>\n props.size === 'large' &&\n css`\n width: 75%;\n `}\n`\n\nexport const CustomLine = styled(HeaderLine)`\n width: ${(props) => props.width};\n height: ${(props) => props.height};\n background-color: ${(props) => props.color};\n border: 1px solid #dedede5e;\n`\n\nexport const Main = styled.div`\n padding: 14px;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n`\n","import React from 'react'\nimport { PlaceholderProps } from '../../interfaces'\nimport * as S from './styles'\n\nconst Template8 = (props: PlaceholderProps) => {\n if (!props.loading) return <React.Fragment />\n return (\n <S.Container>\n <S.Header>\n <S.CustomLine width='89px' height='10px' color='#EBEBEB' size='large' />\n </S.Header>\n <S.Main>\n <S.CustomLine\n width='217px'\n height='10px'\n color='#EBEBEB'\n size='large'\n />\n <S.CustomLine\n width='217px'\n height='10px'\n color='#EBEBEB'\n size='large'\n />\n </S.Main>\n </S.Container>\n )\n}\n\nexport default Template8\n","import styled, { css } from 'styled-components'\nimport { HeaderLineProps } from '../../interfaces'\nexport const Container = styled.div`\n width: 395px;\n height: 245px;\n display: flex;\n flex-direction: column;\n align-items: center;\n background: #f5f5f5 0% 0% no-repeat padding-box;\n`\n\nexport const Header = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 14px;\n width: 100%;\n`\n\nexport const HeaderLine = styled.div<HeaderLineProps>`\n height: ${(props) => props.height};\n background-color: #ebebeb;\n margin-left: 7px;\n\n & + div {\n margin-top: 7px;\n }\n\n ${(props) =>\n props.size === 'mini' &&\n css`\n width: 15%;\n `}\n ${(props) =>\n props.size === 'small' &&\n css`\n width: 25%;\n `}\n\n ${(props) =>\n props.size === 'medium' &&\n css`\n width: 45%;\n `}\n\n ${(props) =>\n props.size === 'large' &&\n css`\n width: 75%;\n `}\n`\n\nexport const CustomLine = styled(HeaderLine)`\n width: ${(props) => props.width};\n height: ${(props) => props.height};\n background-color: ${(props) => props.color};\n border: 1px solid #dedede5e;\n`\n\nexport const Main = styled.div`\n padding: 14px;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n`\n\nexport const Circle = styled.div`\n width: 128px;\n height: 128px;\n background-color: #ebebeb;\n border-radius: 50%;\n`\n","import React from 'react'\nimport { PlaceholderProps } from '../../interfaces'\nimport * as S from './styles'\n\nconst Template8 = (props: PlaceholderProps) => {\n if (!props.loading) return <React.Fragment />\n return (\n <S.Container>\n <S.Header>\n <S.CustomLine width='89px' height='10px' color='#EBEBEB' size='large' />\n <S.CustomLine width='50px' height='10px' color='#EBEBEB' size='large' />\n </S.Header>\n <S.Main>\n <S.Circle />\n </S.Main>\n </S.Container>\n )\n}\n\nexport default Template8\n","import styled, { css } from 'styled-components'\nimport { HeaderLineProps } from '../../interfaces'\nexport const Container = styled.div`\n width: 395px;\n height: 245px;\n display: flex;\n flex-direction: column;\n align-items: center;\n background: #f5f5f5 0% 0% no-repeat padding-box;\n`\n\nexport const Header = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 14px;\n width: 100%;\n`\n\nexport const HeaderLine = styled.div<HeaderLineProps>`\n height: ${(props) => props.height};\n background-color: #ebebeb;\n margin-left: 7px;\n\n & + div {\n margin-top: 7px;\n }\n\n ${(props) =>\n props.size === 'mini' &&\n css`\n width: 15%;\n `}\n ${(props) =>\n props.size === 'small' &&\n css`\n width: 25%;\n `}\n\n ${(props) =>\n props.size === 'medium' &&\n css`\n width: 45%;\n `}\n\n ${(props) =>\n props.size === 'large' &&\n css`\n width: 75%;\n `}\n`\n\nexport const CustomLine = styled(HeaderLine)`\n width: ${(props) => props.width};\n height: ${(props) => props.height};\n background-color: ${(props) => props.color};\n border: 1px solid #dedede5e;\n`\n\nexport const GraphLine = styled(CustomLine)`\n margin: 0 7px;\n`\n\nexport const Main = styled.div`\n flex: 1;\n padding: 0 7px 72px 7px;\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: flex-end;\n justify-content: center;\n`\n\nexport const Circle = styled.div`\n width: 128px;\n height: 128px;\n background-color: #ebebeb;\n border-radius: 50%;\n`\n","import React from 'react'\nimport { PlaceholderProps } from '../../interfaces'\nimport * as S from './styles'\n\nconst Template10 = (props: PlaceholderProps) => {\n if (!props.loading) return <React.Fragment />\n return (\n <S.Container>\n <S.Header>\n <S.CustomLine width='89px' height='10px' color='#EBEBEB' size='large' />\n <S.CustomLine width='50px' height='10px' color='#EBEBEB' size='large' />\n </S.Header>\n <S.Main>\n <S.GraphLine width='27px' height='56px' color='#EBEBEB' size='large' />\n <S.GraphLine width='27px' height='73px' color='#EBEBEB' size='large' />\n <S.GraphLine width='27px' height='61px' color='#EBEBEB' size='large' />\n <S.GraphLine width='27px' height='56px' color='#EBEBEB' size='large' />\n <S.GraphLine width='27px' height='73px' color='#EBEBEB' size='large' />\n <S.GraphLine width='27px' height='61px' color='#EBEBEB' size='large' />\n <S.GraphLine width='27px' height='27px' color='#EBEBEB' size='large' />\n <S.GraphLine width='27px' height='90px' color='#EBEBEB' size='large' />\n <S.GraphLine width='27px' height='56px' color='#EBEBEB' size='large' />\n <S.GraphLine width='27px' height='56px' color='#EBEBEB' size='large' />\n </S.Main>\n </S.Container>\n )\n}\n\nexport default Template10\n","import React from 'react'\n\nimport Template1 from './components/Template1'\nimport Template2 from './components/Template2'\nimport Template3 from './components/Template3'\nimport Template4 from './components/Template4'\nimport Template5 from './components/Template5'\nimport Template6 from './components/Template6'\nimport Template7 from './components/Template7'\nimport Template8 from './components/Template8'\nimport Template9 from './components/Template9'\nimport Template10 from './components/Template10'\n\nimport { PlaceholderProps } from './interfaces'\n\nconst Placeholder = (props: PlaceholderProps) => {\n switch (props.type) {\n case 'template1': {\n return <Template1 {...props} />\n }\n\n case 'template2': {\n return <Template2 {...props} />\n }\n case 'template3': {\n return <Template3 {...props} />\n }\n case 'template4': {\n return <Template4 {...props} />\n }\n\n case 'template5': {\n return <Template5 {...props} />\n }\n\n case 'template6': {\n return <Template6 {...props} />\n }\n case 'template7': {\n return <Template7 {...props} />\n }\n\n case 'template8': {\n return <Template8 {...props} />\n }\n case 'template9': {\n return <Template9 {...props} />\n }\n\n case 'template10': {\n return <Template10 {...props} />\n }\n }\n}\n\nexport default Placeholder\n","import styled from 'styled-components'\n\nimport MwButton from '../Button'\nimport { StyledZoomProps } from './interfaces'\n\nexport const Image = styled.img`\n max-width: 100%;\n max-height: 100%;\n`\n\nexport const Container = styled.div<StyledZoomProps>`\n position: relative;\n display: inline-flex;\n\n &,\n ${Image} {\n width: ${({ width }) => {\n switch (typeof width) {\n case 'string':\n return width\n case 'number':\n return `${width}px`\n default:\n return 'auto'\n }\n }};\n\n height: ${({ height }) => {\n switch (typeof height) {\n case 'string':\n return height\n case 'number':\n return `${height}px`\n default:\n return 'auto'\n }\n }};\n }\n`\n\nexport const Dimmer = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: ${({ theme }) => theme.getColor('greyishBlue', 50)};\n opacity: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n transition: opacity 0.5s;\n cursor: pointer;\n\n :hover {\n opacity: 1;\n }\n`\n\nexport const Button = styled(MwButton)`\n background-color: ${({ theme }) => theme.getColor('white', 50)};\n`\n\nexport const ModalContent = styled.div`\n position: absolute;\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n\n img {\n max-height: 100%;\n max-width: 100%;\n }\n`\n","import React, { useState } from 'react'\nimport Modal from '../Modal'\n\nimport { ZoomProps } from './interfaces'\nimport * as S from './styles'\n\nconst Zoom = (props: ZoomProps) => {\n const { src, defaultClickOptions, ...imgProps } = props\n const [modalOpened, setModalOpened] = useState<boolean>(false)\n\n return (\n <React.Fragment>\n <S.Container {...imgProps} onClick={() => setModalOpened(true)}>\n <S.Image src={src} alt='zoom' />\n\n <S.Dimmer>\n <S.Button\n content='Zoom'\n color='white'\n onClick={() => setModalOpened(true)}\n />\n </S.Dimmer>\n </S.Container>\n\n <Modal\n openState={[modalOpened, setModalOpened]}\n size='large'\n title='Zoom'\n closeOnClickOutside\n // {...defaultClickOptions}\n >\n <S.ModalContent>\n <img src={src} alt='zoom' />\n </S.ModalContent>\n </Modal>\n </React.Fragment>\n )\n}\n\nexport default Zoom\n","import { fontSizes, sizes } from './constants'\r\n\r\nconst theme = {\r\n sizes,\r\n fontSizes,\r\n} as const\r\n\r\nexport default theme\r\n","import button from './Button/theme'\n\nconst theme = {\n button,\n} as const\n\nexport default theme\n","import React from 'react'\nimport { createGlobalStyle } from 'styled-components'\n\nconst FontStyles = createGlobalStyle`\n`\n\nconst Globals = () => {\n return (\n <React.Fragment>\n <FontStyles />\n </React.Fragment>\n )\n}\n\nexport default Globals\n","import React from 'react'\r\nimport { ThemeProvider as Provider, css } from 'styled-components'\r\n\r\nimport { colors, opacities, typographies, spacings, fonts } from './constants'\r\nimport components from '../components/theme'\r\nimport Globals from './globals'\r\n\r\nimport {\r\n ColorOptions,\r\n OpacitiyOptions,\r\n ThemeInterface,\r\n TypographyOptions,\r\n} from './interfaces'\r\n\r\nconst getColor = (\r\n color: ColorOptions,\r\n opacity: OpacitiyOptions = 100,\r\n): string => `${colors[color]}${opacities[opacity]}`\r\n\r\nconst useTypography = (typography: TypographyOptions) => {\r\n const { fontFamily, fontWeight, fontSize } = typographies[typography]\r\n\r\n return css`\r\n font-family: ${fontFamily};\r\n font-weight: ${fontWeight};\r\n font-size: ${fontSize};\r\n `\r\n}\r\n\r\nconst isDarkColor = (\r\n color: ColorOptions,\r\n ifDark: ColorOptions = 'white',\r\n ifLight: ColorOptions = 'black',\r\n): ColorOptions => {\r\n const hex = theme.colors[color].replace('#', '')\r\n\r\n const red = parseInt(hex.substring(0, 2), 16)\r\n const green = parseInt(hex.substring(2, 4), 16)\r\n const blue = parseInt(hex.substring(4, 6), 16)\r\n\r\n const luminosity = (red * 299 + green * 587 + blue * 114) / 1000\r\n\r\n return luminosity <= 128 ? ifDark : ifLight\r\n}\r\n\r\nexport const theme: ThemeInterface = {\r\n colors,\r\n fonts,\r\n spacings,\r\n typographies,\r\n getColor,\r\n useTypography,\r\n isDarkColor,\r\n components,\r\n}\r\n\r\nconst ThemeProvider = (props: {\r\n children: JSX.Element | string | (JSX.Element | string)[]\r\n}) => {\r\n return (\r\n <Provider theme={theme}>\r\n <Globals />\r\n {props.children}\r\n </Provider>\r\n )\r\n}\r\n\r\nexport default ThemeProvider\r\n"],"names":["colors","white","iceWhite","black","blue","lightBlue","darkestBlue","darkBlue","greyishBlue","darkSilver","silver","darkestGrey","darkGrey","grey","lightGrey","lightestGrey","purple","orange","yellow","red","darkestGreen","darkGreen","green","lightGreen","pink","brown","vanilla","bronze","warningGray","warningYellow","warningRed","floralWhite","snowWhite","milkWhite","opacities","spacings","s1","s2","s3","s4","s5","s6","fonts","lato","typographies","h1","fontFamily","fontWeight","fontSize","h2","h3","h4","h5","h6","p","isKeyOf","object","key","Object","prototype","hasOwnProperty","call","notEmptyString","value","trim","isObject","toString","isString","filterObject","keys","inital","r","filter","includes","reduce","prev","dateToIsoString","date","getDate","padStart","getMonth","getFullYear","join","isoStringToDate","Date","split","reverse","isNaN","getTime","getSpacings","defaults","d","top","left","bottom","right","spacing","values","loader","keyframes","Loader","styled","div","size","borderSize","bgColor","color","theme","filled","beforeColor","getColor","afterColor","fill","css","sizes","tiny","mini","small","large","big","default","fontSizes","Button","button","appearance","components","loading","disabled","props","children","content","defaultValues","type","htmlProps","_size","React","S","icons","activity","activity_icon","airplay","airplay_icon","alert_circle","alert_circle_icon","alert_octagon","alert_octagon_icon","alert_triangle","alert_triangle_icon","align_center","align_center_icon","align_justify","align_justify_icon","align_left","align_left_icon","align_right","align_right_icon","anchor","anchor_icon","aperture","aperture_icon","archive","archive_icon","arrow_down","arrow_down_icon","arrow_down_circle","arrow_down_circle_icon","arrow_down_left","arrow_down_left_icon","arrow_down_right","arrow_down_right_icon","arrow_left","arrow_left_icon","arrow_left_circle","arrow_left_circle_icon","arrow_right","arrow_right_icon","arrow_right_circle","arrow_right_circle_icon","arrow_up","arrow_up_icon","arrow_up_circle","arrow_up_circle_icon","arrow_up_left","arrow_up_left_icon","arrow_up_right","arrow_up_right_icon","at_sign","at_sign_icon","award","award_icon","bar_chart","bar_chart_icon","bar_chart_2","bar_chart_2_icon","battery","battery_icon","battery_charging","battery_charging_icon","bell","bell_icon","bell_off","bell_off_icon","bluetooth","bluetooth_icon","bold","bold_icon","book","book_icon","book_open","book_open_icon","bookmark","bookmark_icon","box","box_icon","briefcase","briefcase_icon","calendar","calendar_icon","camera","camera_icon","camera_off","camera_off_icon","cast","cast_icon","check","check_icon","check_circle","check_circle_icon","check_square","check_square_icon","chevron_down","chevron_down_icon","chevron_left","chevron_left_icon","chevron_right","chevron_right_icon","chevron_up","chevron_up_icon","chevrons_down","chevrons_down_icon","chevrons_left","chevrons_left_icon","chevrons_right","chevrons_right_icon","chevrons_up","chevrons_up_icon","chrome","chrome_icon","circle","circle_icon","clipboard","clipboard_icon","clock","clock_icon","cloud","cloud_icon","cloud_drizzle","cloud_drizzle_icon","cloud_lightning","cloud_lightning_icon","cloud_off","cloud_off_icon","cloud_rain","cloud_rain_icon","cloud_snow","cloud_snow_icon","code","code_icon","codepen","codepen_icon","codesandbox","codesandbox_icon","coffee","coffee_icon","columns","columns_icon","command","command_icon","compass","compass_icon","copy","copy_icon","corner_down_left","corner_down_left_icon","corner_down_right","corner_down_right_icon","corner_left_down","corner_left_down_icon","corner_left_up","corner_left_up_icon","corner_right_down","corner_right_down_icon","corner_right_up","corner_right_up_icon","corner_up_left","corner_up_left_icon","corner_up_right","corner_up_right_icon","cpu","cpu_icon","credit_card","credit_card_icon","crop","crop_icon","crosshair","crosshair_icon","database","database_icon","delete","delete_icon","disc","disc_icon","divide","divide_icon","divide_circle","divide_circle_icon","divide_square","divide_square_icon","dollar_sign","dollar_sign_icon","download","download_icon","download_cloud","download_cloud_icon","dribbble","dribbble_icon","droplet","droplet_icon","edit","edit_icon","edit_2","edit_2_icon","edit_3","edit_3_icon","external_link","external_link_icon","eye","eye_icon","eye_off","eye_off_icon","facebook","facebook_icon","fast_forward","fast_forward_icon","feather","feather_icon","figma","figma_icon","file","file_icon","file_minus","file_minus_icon","file_plus","file_plus_icon","file_text","file_text_icon","film","film_icon","filter_icon","flag","flag_icon","folder","folder_icon","folder_minus","folder_minus_icon","folder_plus","folder_plus_icon","framer","framer_icon","frown","frown_icon","gift","gift_icon","git_branch","git_branch_icon","git_commit","git_commit_icon","git_merge","git_merge_icon","git_pull_request","git_pull_request_icon","github","github_icon","gitlab","gitlab_icon","globe","globe_icon","grid","grid_icon","hard_drive","hard_drive_icon","hash","hash_icon","headphones","headphones_icon","heart","heart_icon","help_circle","help_circle_icon","hexagon","hexagon_icon","home","home_icon","image","image_icon","inbox","inbox_icon","info","info_icon","instagram","instagram_icon","italic","italic_icon","key_icon","layers","layers_icon","layout","layout_icon","life_buoy","life_buoy_icon","link","link_icon","link_2","link_2_icon","linkedin","linkedin_icon","list","list_icon","loader_icon","lock","lock_icon","log_in","log_in_icon","log_out","log_out_icon","mail","mail_icon","map","map_icon","map_pin","map_pin_icon","maximize","maximize_icon","maximize_2","maximize_2_icon","meh","meh_icon","menu","menu_icon","message_circle","message_circle_icon","message_square","message_square_icon","mic","mic_icon","mic_off","mic_off_icon","minimize","minimize_icon","minimize_2","minimize_2_icon","minus","minus_icon","minus_circle","minus_circle_icon","minus_square","minus_square_icon","monitor","monitor_icon","moon","moon_icon","more_horizontal","more_horizontal_icon","more_vertical","more_vertical_icon","mouse_pointer","mouse_pointer_icon","move","move_icon","music","music_icon","navigation","navigation_icon","navigation_2","navigation_2_icon","octagon","octagon_icon","package","package_icon","paperclip","paperclip_icon","pause","pause_icon","pause_circle","pause_circle_icon","pen_tool","pen_tool_icon","percent","percent_icon","phone","phone_icon","phone_call","phone_call_icon","phone_forwarded","phone_forwarded_icon","phone_incoming","phone_incoming_icon","phone_missed","phone_missed_icon","phone_off","phone_off_icon","phone_outgoing","phone_outgoing_icon","pie_chart","pie_chart_icon","play","play_icon","play_circle","play_circle_icon","plus","plus_icon","plus_circle","plus_circle_icon","plus_square","plus_square_icon","pocket","pocket_icon","power","power_icon","printer","printer_icon","radio","radio_icon","refresh_ccw","refresh_ccw_icon","refresh_cw","refresh_cw_icon","repeat","repeat_icon","rewind","rewind_icon","rotate_ccw","rotate_ccw_icon","rotate_cw","rotate_cw_icon","rss","rss_icon","save","save_icon","scissors","scissors_icon","search","search_icon","send","send_icon","server","server_icon","settings","settings_icon","share","share_icon","share_2","share_2_icon","shield","shield_icon","shield_off","shield_off_icon","shopping_bag","shopping_bag_icon","shopping_cart","shopping_cart_icon","shuffle","shuffle_icon","sidebar","sidebar_icon","skip_back","skip_back_icon","skip_forward","skip_forward_icon","slack","slack_icon","slash","slash_icon","sliders","sliders_icon","smartphone","smartphone_icon","smile","smile_icon","speaker","speaker_icon","square","square_icon","star","star_icon","stop_circle","stop_circle_icon","sun","sun_icon","sunrise","sunrise_icon","sunset","sunset_icon","table","table_icon","tablet","tablet_icon","tag","tag_icon","target","target_icon","terminal","terminal_icon","thermometer","thermometer_icon","thumbs_down","thumbs_down_icon","thumbs_up","thumbs_up_icon","toggle_left","toggle_left_icon","toggle_right","toggle_right_icon","tool","tool_icon","trash","trash_icon","trash_2","trash_2_icon","trello","trello_icon","trending_down","trending_down_icon","trending_up","trending_up_icon","triangle","triangle_icon","truck","truck_icon","tv","tv_icon","twitch","twitch_icon","twitter","twitter_icon","type_icon","umbrella","umbrella_icon","underline","underline_icon","unlock","unlock_icon","upload","upload_icon","upload_cloud","upload_cloud_icon","user","user_icon","user_check","user_check_icon","user_minus","user_minus_icon","user_plus","user_plus_icon","user_x","user_x_icon","users","users_icon","video","video_icon","video_off","video_off_icon","voicemail","voicemail_icon","volume","volume_icon","volume_1","volume_1_icon","volume_2","volume_2_icon","volume_x","volume_x_icon","watch","watch_icon","wifi","wifi_icon","wifi_off","wifi_off_icon","wind","wind_icon","x","x_icon","x_circle","x_circle_icon","x_octagon","x_octagon_icon","x_square","x_square_icon","youtube","youtube_icon","zap","zap_icon","zap_off","zap_off_icon","zoom_in","zoom_in_icon","zoom_out","zoom_out_icon","SemanticIcon","Icon","fontcolor","width","height","SVGContainer","strokeWidth","c","getCommonProps","commonProps","Component","icon","name","Error","Container","textarea","TextArea","EllipsisContainer","myProps","_onMouseOver","onMouseOver","event","dataset","parentElement","scrollWidth","offsetWidth","title","innerText","removeAttribute","useTypography","OverflowContainer","RelativeContainer","ScrollContainer","before","after","onScrollEnd","useState","setLastPagination","onScroll","nativeEvent","scrollTopMax","scrollHeight","clientHeight","scrollTop","now","diff","Math","abs","_onScroll","positions","zIndex","maxWidth","maxHeight","position","references","firstRender","AbsoluteContainer","disableAutoPosition","center","y","axis","defaultPosition","setPosition","ref","setRef","setFirstRender","useEffect","window","innerWidth","innerHeight","getBoundingClientRect","xDirection","yDirection","newPosition","Option","bordered","Delimiter","Menu","open","close","options","scrollSpacing","activeOption","setActiveOption","getSubmenu","index","undefined","submenuProps","submenu","Fragment","option","delimiter","keepOpen","label","text","element","closeMenu","onClick","rules","rule","find","data","_onClick","labelColor","Indicator","description","Progress","ProgressBar","internal","Tabs","ul","Tab","li","active","activeState","tabs","setTabs","setActive","updateActiveTab","tagName","removeTab","prevState","aux","splice","tab","CloseIcon","isMaskFunction","isMaskReplace","Array","isArray","RegExp","isMaskReplaceArray","getMask","mask","replace","newValue","forEach","e","IconContainer","Input","input","invalid","placeholder","arrows","readOnly","Label","required","forwardRef","clearable","onPressEnter","htmlDisabled","intInvalid","intRequired","intDisabled","intArrows","iconWidth","iconSubmit","iconOnClick","submit","inputProps","onChange","setValue","onKeyDown","_onPressEnter","preventDefault","v","onKeyUp","onKeyDownCapture","onKeyUpCapture","iconProps","MwIcon","displayName","Checkmark","span","padding","_padding","Checkbox","useOnClickOut","callback","listener","contains","document","addEventListener","removeEventListener","seconds","length","parseInt","substring","Time","_onKeyDown","todayDate","curH","getHours","curM","getMinutes","curS","getSeconds","tmp","h","padEnd","m","s","setHours","setMinutes","setSeconds","MwAbsoluteContainer","Footer","MonthContainer","NavBtn","WeekContainer","Header","DayContainer","months","getCalendar","month","year","days","setDate","getDay","unshift","push","weeks","week","i","Calendar","overlay","timeProps","time","notAbsolute","initalValue","_setValue","withoutTime","max","min","setInvalid","setCalendar","setTime","updateInvalid","useCallback","splitted","changeMonth","add","setFullYear","setMonth","getPrev","getNext","hasHighlight","withoutTimeValue","_onSubmit","onSubmit","day","toLocaleDateString","JSDate","isLeapYear","picker","setOpen","curD","curY","Provider","createContext","useContext","HeaderContainer","SelectAllContainer","context","setSearch","checked","setChecked","searched","setSearched","onSearch","onClear","selectAll","style","marginRight","getOptions","isChecked","newState","_index","Select","setOptions","_loading","setLoading","_setSearch","page","setPage","lastPage","setLastPage","parsedOptions","selected","_onScrollEnd","optionsResult","concat","changed","Password","visibility","setVisibility","none","visible","hidden","_onBlur","onBlur","coordinates","ar","br","cl","es","us","mx","py","pt","uy","Flag","img","iso","countries","ddi","validation","charLimit","getDetails","shift","k","country","masked","valid","test","withDDI","Phone","inputValue","setInputValue","setCountry","details","DatePicker","today","onAdd","onSub","LabelContainer","Switch","bullet","InputContainer","SelectedArea","MinMaxLabelContainer","LabelsContainer","Marker","MarkersContainer","getMarkers","markers","strict","sort","a","b","step","parseFloat","Range","minLabel","maxLabel","range","spans","_onChange","marker","z","_value","RadioButton","DefaultInput","Portal","id","opened","portalRoot","createElement","body","appendChild","removeChild","createPortal","heights","medium","custom","widths","Background","Content","FooterMessage","FooterButtons","customSize","inverted","isDarkColor","Modal","openState","footer","footerMessage","closeOnEsc","closeOnClickOutside","onClickOutside","onEscDown","buttonProps","ConfirmDelete","cancelAction","confirmAction","ConfirmSuccess","homeAction","Audit","ConfirmEdit","borderType","Card","rest","IconContent","Toast","handlClose","CalendarInterval","start","setStart","end","setEnd","startInvalid","setStartInvalid","endInvalid","setEndInvalid","minEnd","maxStart","HeaderImage","HeaderContent","MainContent","HeaderLine","MainLine","Template1","Template2Container","HeaderLineStyle","Template2","Template3Container","Template3Line","Template3","Template4Container","CustomLine","Template4","Circle","Template5","Template6","Main","Template7","Template8","GraphLine","Template10","Placeholder","Template9","Image","Dimmer","MwButton","ModalContent","Zoom","src","defaultClickOptions","imgProps","modalOpened","setModalOpened","alt","FontStyles","createGlobalStyle","Globals","opacity","typography","ifDark","ifLight","hex","luminosity","ThemeProvider"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|