@scbt-ecom/ui 0.34.3 → 0.34.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"widget.js","sources":["../lib/widgets/benefit/ui/BenefitItem.tsx","../lib/widgets/benefit/Benefit.tsx","../lib/widgets/pageHeader/model/helpers.tsx","../lib/widgets/pageHeader/PageHeader.tsx","../lib/widgets/banner/ui/BannerButtonsGroup.tsx","../lib/widgets/banner/ui/banners/BannerImageFull.tsx","../lib/widgets/banner/ui/banners/BannerWithSeparateImg.tsx","../lib/widgets/banner/Banner.tsx","../lib/widgets/advantages/Advantages.tsx","../lib/widgets/footer/model/defaultValues.tsx","../lib/widgets/footer/ui/SocialLinks.tsx","../lib/widgets/footer/ui/PhonesBlock.tsx","../lib/widgets/footer/ui/NavLinks.tsx","../lib/widgets/footer/ui/Copyright.tsx","../lib/widgets/footer/ui/FooterLogo.tsx","../lib/widgets/footer/ui/SiteMap.tsx","../lib/widgets/footer/Footer.tsx","../node_modules/domelementtype/lib/index.js","../node_modules/domhandler/lib/node.js","../node_modules/domhandler/lib/index.js","../node_modules/html-dom-parser/lib/client/constants.js","../node_modules/html-dom-parser/lib/client/utilities.js","../node_modules/html-dom-parser/lib/client/domparser.js","../node_modules/html-dom-parser/lib/client/html-to-dom.js","../node_modules/react-property/lib/possibleStandardNamesOptimized.js","../node_modules/react-property/lib/index.js","../node_modules/inline-style-parser/index.js","../node_modules/style-to-object/cjs/index.js","../node_modules/style-to-js/cjs/utilities.js","../node_modules/style-to-js/cjs/index.js","../node_modules/html-react-parser/lib/utilities.js","../node_modules/html-react-parser/lib/attributes-to-props.js","../node_modules/html-react-parser/lib/dom-to-react.js","../node_modules/html-react-parser/lib/index.js","../node_modules/html-react-parser/esm/index.mjs","../lib/widgets/stepper/ui/SingleStep.tsx","../lib/widgets/stepper/Stepper.tsx","../lib/widgets/longBanner/model/cva.ts","../lib/widgets/longBanner/ui/TextItem.tsx","../lib/widgets/longBanner/ui/Title.tsx","../lib/widgets/longBanner/ui/TextList.tsx","../lib/widgets/longBanner/LongBanner.tsx","../lib/widgets/authProvider/model/helpers.ts","../lib/widgets/authProvider/ui/ui/AuthWrapper.tsx","../lib/widgets/authProvider/ui/ui/EsiaLogo.tsx","../lib/widgets/authProvider/ui/ui/Links.tsx","../lib/widgets/authProvider/ui/MobileId.tsx","../lib/widgets/authProvider/ui/Esia.tsx","../lib/widgets/authProvider/AuthProvider.tsx","../lib/widgets/interLinking/ui/LinksList.tsx","../lib/widgets/interLinking/ui/ColumnGroup.tsx","../lib/widgets/interLinking/ui/Column.tsx","../lib/widgets/interLinking/InterLinking.tsx"],"sourcesContent":["import { type ReactElement } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { useDevice } from '$/shared/hooks'\nimport { Button, Heading } from '$/shared/ui'\nimport { cn, scrollToElement } from '$/shared/utils'\nimport { type AllowedBannerBackgroundColor } from '$/widgets/benefit/model'\n\nexport type BenefitItemClasses = {\n root?: string\n button?: string\n wrapper?: string\n textContainer?: string\n description?: string\n img?: string\n imgContainer?: string\n title?: string\n}\n\nconst itemConfig = cva(\n 'flex flex-col justify-between overflow-hidden rounded-md bg-color-blue-grey-100 py-6 desktop:flex-row desktop:px-0 desktop:py-0',\n {\n variants: {\n intent: {\n twoCards: '',\n threeCards: 'desktop:first:col-span-full',\n fourCards: 'desktop:first:col-span-2 desktop:last:col-span-2'\n }\n }\n }\n)\n\nexport interface BenefitItemProps extends VariantProps<typeof itemConfig> {\n title: string\n description: string | ReactElement\n img?: string\n mobileImg?: boolean\n classes?: BenefitItemClasses\n withButton?: boolean\n buttonText?: string\n cardColor?: AllowedBannerBackgroundColor\n}\n\nexport const BenefitItem = ({\n description,\n title,\n img,\n mobileImg,\n classes,\n withButton,\n buttonText,\n intent,\n cardColor\n}: BenefitItemProps) => {\n const { isDesktop } = useDevice()\n\n const button = (\n <>\n <Button\n intent='primary'\n className={cn('desktop:w-[200px]', classes?.button)}\n onClick={() => scrollToElement('personal_form')}\n size='lg'\n >\n {buttonText}\n </Button>\n </>\n )\n\n return (\n <li\n key={img}\n className={cn(itemConfig({ intent }), { 'pb-0': mobileImg }, { 'pb-12': !mobileImg }, cardColor, classes?.root)}\n >\n <div className={cn('flex flex-col items-start justify-between px-4 desktop:px-8 desktop:py-8', classes?.wrapper)}>\n <div className={cn('flex flex-col gap-4', classes?.textContainer)}>\n <Heading as='h4' className={cn('desktop:desk-title-bold-s', classes?.title)}>\n {title}\n </Heading>\n <p className={cn('mob-body-regular-l text-icon-blue-grey-800 desktop:desk-body-regular-l', classes?.description)}>\n {description}\n </p>\n </div>\n {withButton && isDesktop && button}\n </div>\n\n {(mobileImg || isDesktop) && img && (\n <div className={cn('flex w-full justify-end', classes?.imgContainer)}>\n <img className={cn('h-[246px] object-cover', classes?.img)} src={img} alt={title} />\n </div>\n )}\n </li>\n )\n}\n","'use client'\n\nimport { type ReactElement } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { BenefitItem, type BenefitItemClasses, type BenefitItemProps } from './ui/BenefitItem'\nimport { Heading, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type BenefitClasses = {\n root?: string\n container?: string\n item?: BenefitItemClasses\n heading?: string\n grid?: string\n}\n\nconst gridConfig = cva('grid gap-4', {\n variants: {\n intent: {\n twoCards: 'grid-cols-1 mobile:grid-rows-[repeat(2,400px)] desktop:grid-cols-2',\n threeCards: 'grid-cols-1 desktop:grid-cols-2',\n fourCards: 'grid-cols-1 mobile:grid-rows-[400px,1fr,1fr,400px] desktop:grid-cols-3'\n }\n }\n})\n\nexport interface BenefitProps extends VariantProps<typeof gridConfig> {\n heading: string | ReactElement\n cards: BenefitItemProps[]\n classes?: BenefitClasses\n}\n\nexport const Benefit = ({ heading, cards, classes, intent }: BenefitProps) => {\n return (\n <section className={cn('pb-20', classes?.root)}>\n <ResponsiveContainer className={classes?.container}>\n <Heading className={cn('mb-8', classes?.heading)} as='h2'>\n {heading}\n </Heading>\n <ul className={cn(gridConfig({ intent }), classes?.grid)}>\n {cards?.map((card) => <BenefitItem intent={intent} key={card.img} classes={classes?.item} {...card} />)}\n </ul>\n </ResponsiveContainer>\n </section>\n )\n}\n","import type { PageHeaderProps } from './types'\nimport { Button, PhoneView } from '$/shared/ui'\n\nexport const renderContentVariant = (props: PageHeaderProps) => {\n switch (props.variant) {\n case 'withButton':\n return (\n <Button intent='secondary' size='sm' {...props.buttonProps}>\n {props.buttonProps?.children || 'Оформить заявку'}\n </Button>\n )\n case 'withPhone':\n return <PhoneView {...props.phoneProps} />\n default:\n return null\n }\n}\n","import { renderContentVariant } from './model/helpers'\nimport type { PageHeaderProps } from './model/types'\nimport { brandLogos, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport const PageHeader = (props: PageHeaderProps) => {\n const { logoPath = '/', logoType = 'main', classes } = props\n\n return (\n <header className={cn('flex h-[64px] items-center justify-center bg-color-white desktop:h-[72px]', classes?.header)}>\n <ResponsiveContainer className={cn(classes?.container)}>\n <div className={cn('flex items-center justify-between gap-5', classes?.wrapper)}>\n <a\n href={logoPath}\n aria-label='logo'\n target='_blank'\n rel='noreferrer'\n className={cn(\n 'flex items-center justify-center [&_svg]:w-[132px] desktop:[&_svg]:h-[32px] desktop:[&_svg]:w-[192px]',\n classes?.logo\n )}\n >\n {brandLogos[logoType]}\n </a>\n {renderContentVariant(props)}\n </div>\n </ResponsiveContainer>\n </header>\n )\n}\n","import { type ButtonsConfig } from '../model'\nimport { Button } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport interface BannerButtonsGroupClasses {\n group?: string\n primary?: string\n secondary?: string\n}\ninterface BannerButtonsGroupProps {\n buttonsConfig: ButtonsConfig\n classes?: Partial<BannerButtonsGroupClasses>\n className?: string\n}\n\nexport const BannerButtonsGroup = ({ buttonsConfig, classes, className }: BannerButtonsGroupProps) => {\n const withSecondaryBtn = buttonsConfig?.secondary && buttonsConfig.secondary.children\n\n return (\n <div\n data-id='banner-buttons-group'\n className={cn(\n 'grid-buttons-apply absolute bottom-6 left-1/2 flex w-full -translate-x-1/2 flex-col justify-self-center px-4 desktop:static desktop:left-auto desktop:max-w-full desktop:translate-x-0 desktop:flex-row desktop:justify-normal desktop:px-0',\n { 'flex items-center gap-4': withSecondaryBtn },\n classes?.group,\n className\n )}\n >\n <Button intent='primary' {...buttonsConfig.primary} isFull className={cn('desktop:max-w-[216px]', classes?.primary)}>\n {buttonsConfig.primary.children}\n </Button>\n {withSecondaryBtn && (\n <Button\n intent='secondary'\n {...buttonsConfig?.secondary}\n isFull\n className={cn('desktop:max-w-[216px]', classes?.secondary)}\n >\n {buttonsConfig?.secondary?.children}\n </Button>\n )}\n </div>\n )\n}\n","'use client'\n\nimport { BannerButtonsGroup } from '../BannerButtonsGroup'\nimport { useDevice } from '$/shared/hooks'\nimport { Heading, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { Advantages, type BannerProps } from '$/widgets'\n\nexport const BannerImageFull = ({\n headTitle,\n subtitle,\n buttonsConfig,\n advantagesConfig,\n classes,\n img,\n imgSets\n}: Omit<BannerProps, 'bannerVariant'>) => {\n const { isDesktop, isMobile } = useDevice()\n const advantage = (\n <div\n data-id='banner-advantages'\n className={cn(\n 'flex items-center justify-center pt-4 desktop:absolute desktop:bottom-[-50px] desktop:right-1/2 desktop:translate-x-1/2 desktop:pt-0',\n classes?.advantageContainer\n )}\n >\n {advantagesConfig?.advantagesList && advantagesConfig?.advantagesList?.length > 0 && <Advantages {...advantagesConfig} />}\n </div>\n )\n\n return (\n <>\n <section data-id='banner-section' className={cn('relative h-[552px] desktop:h-[456px]', classes?.root)}>\n <div\n data-id='banner-img-wrapper'\n className='absolute bottom-0 left-0 right-0 top-0 z-[-1] mx-auto h-full max-w-[1920px] desktop:h-[456px]'\n >\n <picture>\n <source media='(min-width: 1128px)' srcSet={imgSets?.large} />\n <source media='(max-width: 1127px)' srcSet={imgSets?.mob} />\n <img\n data-id='banner-image'\n src={img}\n alt='Картинка баннера'\n className={cn('h-full w-full object-cover object-center', classes?.image)}\n />\n </picture>\n </div>\n <ResponsiveContainer data-id='banner-container' className={cn('h-full', classes?.container)}>\n <div data-id='banner' className={cn('flex h-full', classes?.wrapper)}>\n <div\n data-id='banner-text-block'\n className={cn('flex w-[328px] flex-col gap-10 pt-6 desktop:w-full desktop:pt-20', classes?.textBlock)}\n >\n <div className='flex flex-col gap-4'>\n <Heading data-id='banner-title' as='h1' className={cn('text-color-white', classes?.title)}>\n {headTitle}\n </Heading>\n <p data-id='banner-subtitle' className={cn('desk-body-regular-l text-color-white', classes?.subtitle)}>\n {subtitle}\n </p>\n </div>\n <BannerButtonsGroup\n className='self-end desktop:self-center'\n data-id='banner-buttons-group'\n buttonsConfig={buttonsConfig}\n classes={classes}\n />\n </div>\n </div>\n\n {isDesktop && advantage}\n </ResponsiveContainer>\n </section>\n {isMobile && advantage}\n </>\n )\n}\n","import { BannerButtonsGroup } from '../BannerButtonsGroup'\nimport { useDevice } from '$/shared/hooks'\nimport { Heading, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { Advantages, type BannerProps } from '$/widgets'\n\nexport const BannerWithSeparateImg = ({\n headTitle,\n subtitle,\n buttonsConfig,\n advantagesConfig,\n classes,\n img,\n imgSets\n}: Omit<BannerProps, 'bannerVariant'>) => {\n const { isDesktop, isMobile } = useDevice()\n const advantage = (\n <div\n data-id='banner-advantages'\n className={cn(\n 'flex items-center justify-center rounded-md bg-color-blue-grey-100 p-4 pb-8 desktop:absolute desktop:bottom-[-50px] desktop:right-1/2 desktop:translate-x-1/2 desktop:p-0',\n classes?.advantageContainer\n )}\n >\n {advantagesConfig?.advantagesList && advantagesConfig?.advantagesList?.length > 0 && <Advantages {...advantagesConfig} />}\n </div>\n )\n return (\n <>\n <section data-id='banner-section' className={cn('bg-banner-skyblue-300 desktop:h-[456px]', classes?.root)}>\n <ResponsiveContainer data-id='banner-container' className={cn('relative', classes?.container)}>\n <div data-id='banner' className={cn('flex flex-col desktop:flex-row desktop:justify-between', classes?.wrapper)}>\n <div className='flex flex-col desktop:gap-10 desktop:pt-20'>\n <div data-id='banner-text-block' className={cn('flex flex-col gap-4 pt-6 desktop:pt-0', classes?.textBlock)}>\n <Heading data-id='banner-title' as='h1' className={cn('text-color-dark', classes?.title)}>\n {headTitle}\n </Heading>\n <p data-id='banner-subtitle' className={cn('desk-body-regular-l text-color-dark', classes?.subtitle)}>\n {subtitle}\n </p>\n </div>\n\n <BannerButtonsGroup buttonsConfig={buttonsConfig} classes={classes} />\n </div>\n\n <div\n data-id='banner-image-wrapper'\n className={cn('flex h-[356px] justify-center desktop:h-[456px] desktop:w-[550px]', classes?.imageContainer)}\n >\n <picture>\n <source media='(min-width: 1128px)' srcSet={imgSets?.large} />\n <source media='(max-width: 1127px)' srcSet={imgSets?.mob} />\n <img\n data-id='banner-image'\n src={img}\n alt='Картинка баннера'\n className={cn('h-full object-cover', classes?.image)}\n />\n </picture>\n </div>\n </div>\n\n {isDesktop && advantage}\n </ResponsiveContainer>\n </section>\n {isMobile && advantage}\n </>\n )\n}\n","'use client'\n\nimport { type ReactElement } from 'react'\nimport { type AdvantageClasses, type AdvantagesProps } from '../advantages/Advantages'\nimport { type BannerClasses, type ButtonsConfig } from './model/types'\nimport { BannerWithSeparateImg } from './ui/banners'\nimport { BannerImageFull } from './ui/banners'\n\nexport interface BannerProps {\n headTitle: string | ReactElement\n subtitle: string | ReactElement\n img?: string\n imgSets?: {\n large: string\n mob: string\n type?: string\n }\n buttonsConfig: ButtonsConfig\n advantagesConfig?: AdvantagesProps\n classes?: BannerClasses & {\n advantages?: AdvantageClasses\n }\n bannerVariant?: 'separateImg' | 'fullImg'\n}\n\nexport const Banner = ({ bannerVariant, ...props }: BannerProps) => {\n switch (bannerVariant) {\n case 'separateImg':\n return <BannerWithSeparateImg {...props} />\n case 'fullImg':\n return <BannerImageFull {...props} />\n default:\n return <BannerWithSeparateImg {...props} />\n }\n}\n","'use client'\n\nimport { type AdvantageItem } from './model/types'\nimport { Heading } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport interface AdvantageClasses {\n root?: string\n item?: string\n title?: string\n description?: string\n}\n\nexport interface AdvantagesProps {\n advantagesList: AdvantageItem[]\n variant: 'threeCards' | 'fourCards'\n classes?: AdvantageClasses\n}\n\nexport const Advantages = ({ variant, advantagesList, classes }: AdvantagesProps) => {\n return (\n <div\n className={cn(\n 'm-auto flex w-full min-w-[328px] max-w-[636px] flex-col gap-8 rounded-md bg-color-white p-6 shadow-sm desktop:w-full desktop:flex-row desktop:items-start desktop:gap-0 desktop:p-0 desktop:py-6',\n { 'desktop:max-w-[860px]': variant === 'threeCards' },\n { 'desktop:max-w-[1140px]': variant === 'fourCards' },\n classes?.root\n )}\n >\n {advantagesList?.map(({ title, description }) => (\n <div\n key={title}\n className={cn(\n 'after:content-[\" \"] relative flex h-full w-full flex-col gap-1 after:absolute after:-bottom-4 after:left-1/2 after:h-[1px] after:w-full after:-translate-x-1/2 after:bg-color-blue-grey-300 last:after:hidden desktop:w-[285px] desktop:px-8 desktop:after:bottom-auto desktop:after:left-auto desktop:after:right-0 desktop:after:top-1/2 desktop:after:h-10 desktop:after:w-[1px] desktop:after:-translate-y-1/2 desktop:after:translate-x-0',\n classes?.item\n )}\n >\n <Heading as='h4' className={cn('text-color-dark', classes?.title)}>\n {title}\n </Heading>\n <p className={cn('desk-body-regular-l text-color-secondary', classes?.description)}>{description}</p>\n </div>\n ))}\n </div>\n )\n}\n","import type { FooterNavLinks, FooterPhones, FooterSocialLinks } from './types'\n\nexport const defaultCopyright = (\n <>\n © 2004-2024, ПАО «Совкомбанк». Все права защищены. <br className='mobile:hidden' /> Генеральная лицензия Банка России №963 от\n 5 декабря 2014 г.\n </>\n)\n\nexport const defaultPhones: FooterPhones[] = [\n { phone: '8 800 100-00-06', text: 'Звонок по России (бесплатно)' },\n { phone: '+7 (495) 988 00 00', text: 'Для звонков из-за рубежа (платно)' }\n]\n\nexport const defaultSocialsLinks: FooterSocialLinks[] = [\n { iconName: 'social/vk', href: 'https://vk.com/sovcombank' },\n { iconName: 'social/telegram', href: 'https://t.me/sovcombankofficial' },\n { iconName: 'social/classmates', href: 'https://ok.ru/paosovcombank' }\n]\n\nexport const defaultNavigationLinks: FooterNavLinks[] = [\n {\n groupLabel: 'Совкомбанк',\n links: [\n { text: 'О банке', href: '/' },\n { text: 'Реквизиты и лицензии', href: '/' },\n { text: 'Пресс-центр', href: '/' },\n { text: 'Удостоверяющий центр ПАО «Совкомбанк»', href: '/' },\n { text: 'Работа у нас', href: '/' },\n { text: 'Контакты', href: '/' },\n { text: 'Раскрытие информации', href: '/' },\n { text: 'Страница раскрытия информации в Интерфакс', href: '/' },\n { text: 'Реализация залогового имущества', href: '/' },\n { text: 'Клиентам и партнерам', href: '/' },\n { text: 'Биометрия', href: '/' },\n { text: 'Стандарты безопасности', href: '/' },\n { text: 'Информация о процентных ставках по договорам банковского вклада с физическими лицами', href: '/' },\n { text: 'ООО «Совком Финанс»', href: '/' },\n { text: 'Безопасность', href: '/' }\n ]\n },\n {\n groupLabel: 'Сервисы',\n links: [\n { text: 'Подарочная карта «Халва»', href: '/' },\n { text: 'Страховые продукты', href: '/' },\n { text: 'МультиЮрист', href: '/' },\n { text: 'Единая социальная карта «Уралочка»', href: '/' },\n { text: 'Единая Карта Жителя Мурманской области', href: '/' },\n { text: 'Безопасные расчёты', href: '/' },\n { text: 'Улучшение кредитной истории', href: '/' },\n { text: 'Дистанционные сервисы Совкомбанка', href: '/' },\n { text: 'Программы реструктуризации долга', href: '/' }\n ]\n },\n {\n groupLabel: 'Услуги банка',\n links: [\n { text: 'Карты', href: '/' },\n { text: 'Кредиты', href: '/' },\n { text: 'Кредиты наличными', href: '/' },\n { text: 'Ипотека', href: '/' },\n { text: 'Автокредиты', href: '/' },\n { text: 'Кредитный калькулятор', href: '/' },\n { text: 'Вклады', href: '/' },\n { text: 'Инвестиции', href: '/' },\n { text: 'Платежи', href: '/' },\n { text: 'Сервисы', href: '/' },\n { text: 'Малому бизнесу и ИП', href: '/' },\n { text: 'Корпоративным клиентам', href: '/' },\n { text: 'CIB', href: '/' },\n { text: 'Драгоценные металлы в слитках', href: '/' },\n { text: 'Счета в драгоценных металлах', href: '/' }\n ]\n },\n {\n groupLabel: 'Клиентам других банков',\n links: [\n { text: 'Держателям карт рассрочки Банка Хоум Кредит', href: '/' },\n { text: 'ПАО КБ «Восточный»', href: '/' },\n { text: 'Держателям карт «Совесть»', href: '/' },\n { text: 'АО «Нордеа Банк»', href: '/' },\n { text: 'ЗАО «ДжиИ Мани банк»', href: '/' },\n { text: 'АО «Меткомбанк»', href: '/' },\n { text: 'АКБ «РосЕвроБанк» (АО)', href: '/' },\n { text: 'ПАО «Татфондбанк»', href: '/' },\n { text: 'АО АКБ «Экспресс-Волга»', href: '/' },\n { text: 'АО «ВКАБАНК»', href: '/' },\n { text: 'ООО «ОНЕЙ БАНК»', href: '/' },\n { text: 'АО «Евразийский»', href: '/' },\n { text: 'АО «НФК»', href: '/' },\n { text: 'ООО «РТС-Капитал»', href: '/' },\n { text: 'ООО «ИК Септем Капитал»', href: '/' },\n { text: 'Помощь', href: '/' },\n { text: 'Офисы и банкоматы', href: '/' }\n ]\n }\n]\n","import type { FooterSocialLinks } from '../model/types'\nimport { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type SocialLinksClasses = {\n socialRoot?: string\n socialLink?: string\n socialIcon?: string\n}\n\ninterface ISocialLinksProps {\n socialsLinks: FooterSocialLinks[]\n classes?: SocialLinksClasses\n}\n\nexport const SocialLinks = ({ socialsLinks, classes }: ISocialLinksProps) => {\n return (\n <div className={cn('mt-4 flex items-center gap-2 desktop:mt-6', classes?.socialRoot)}>\n {socialsLinks?.map(({ iconName, href }) => (\n <a\n className={cn('flex size-8 items-center justify-center rounded-full bg-[#52576a] p-2', classes?.socialLink)}\n href={href}\n key={href}\n aria-label={iconName.replace('social/', '')}\n >\n <Icon name={iconName} className={cn('h-full w-full text-icon-white', classes?.socialIcon)} />\n </a>\n ))}\n </div>\n )\n}\n","import type { FooterPhones } from '../model/types'\nimport { PhoneView } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type PhoneBlockClasses = {\n phonesRoot?: string\n phoneWrapper?: string\n phoneText?: string\n phoneLink?: string\n}\n\ninterface PhonesBlockProps {\n phones: FooterPhones[]\n classes?: PhoneBlockClasses\n}\n\nexport const PhonesBlock = ({ phones, classes }: PhonesBlockProps) => {\n return (\n <div className={cn('flex flex-col gap-4 desktop:items-end', classes?.phonesRoot)}>\n {phones?.map(({ phone, text }) => (\n <PhoneView\n key={phone}\n phone={phone}\n text={text}\n classes={{\n wrapper: cn(classes?.phoneWrapper),\n text: cn('text-color-footer', classes?.phoneText),\n link: cn('text-color-white mobile:m-0', classes?.phoneLink)\n }}\n />\n ))}\n </div>\n )\n}\n","import type { FooterNavLinks } from '../model/types'\nimport { CustomLink } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type NavigationLinksClasses = {\n navRoot?: string\n navGroup?: string\n navLabel?: string\n navLinks?: string\n navLink?: string\n navLinkIcon?: string\n}\n\ninterface NavLinksProps {\n navigationLinks: FooterNavLinks[]\n classes?: NavigationLinksClasses\n}\n\nexport const NavLinks = ({ navigationLinks, classes }: NavLinksProps) => {\n return (\n <div\n className={cn(\n 'mt-6 grid grid-cols-1 gap-6 border-b border-blue-grey-500 pb-6 desktop:my-8 desktop:grid-cols-4 desktop:gap-10 desktop:pb-8',\n classes?.navRoot\n )}\n >\n {navigationLinks?.map(({ groupLabel, links }) => (\n <div key={groupLabel} className={cn('flex flex-col gap-4', classes?.navGroup)}>\n <div className={cn('desk-body-medium-l text-color-white', classes?.navLabel)}>{groupLabel}</div>\n <div className={cn('flex flex-col gap-1', classes?.navLinks)}>\n {links?.map(({ text, href }) => (\n <CustomLink\n key={text}\n href={href}\n aria-label={text}\n intent='white'\n classes={{\n link: classes?.navLink,\n icon: classes?.navLinkIcon\n }}\n >\n {text}\n </CustomLink>\n ))}\n </div>\n </div>\n ))}\n </div>\n )\n}\n","import * as React from 'react'\nimport { cn } from '$/shared/utils'\n\nexport type CopyrightClasses = {\n copyRight?: string\n}\n\ninterface CopyrightProps {\n text?: string | React.ReactElement\n classes?: CopyrightClasses\n}\n\nexport const Copyright = ({ text, classes }: CopyrightProps) => {\n return <div className={cn('desk-body-regular-m text-color-footer', classes?.copyRight)}>{text}</div>\n}\n","import { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type FooterLogoClasses = {\n footerLogo?: string\n footerLogoIcon?: string\n}\n\nexport interface FooterLogoProps {\n classes?: FooterLogoClasses\n}\n\nexport const FooterLogo = ({ classes }: FooterLogoProps) => {\n return (\n <a\n aria-label='logo'\n href='https://sovcombank.ru/'\n className={cn('block h-[24px] w-[132px] desktop:h-[32px] desktop:w-[194px]', classes?.footerLogo)}\n >\n <Icon name='brandLogos/logoWhite' className={cn('size-full', classes?.footerLogoIcon)} />\n </a>\n )\n}\n","import { CustomLink } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type SiteMapClasses = {\n siteMapLink?: string\n siteMapLinkIcon?: string\n}\n\nexport interface SiteMapProps {\n classes?: SiteMapClasses\n}\n\nexport const SiteMap = ({ classes }: SiteMapProps) => {\n return (\n <CustomLink\n intent='white'\n href='https://sovcombank.ru/site-map'\n target='_blank'\n aria-label='site-map'\n rel='noreferrer'\n classes={{\n link: cn('mobile:mt-6', classes?.siteMapLink),\n icon: classes?.siteMapLinkIcon\n }}\n >\n Карта сайта\n </CustomLink>\n )\n}\n","import * as React from 'react'\nimport { defaultCopyright, defaultNavigationLinks, defaultPhones, defaultSocialsLinks } from './model/defaultValues'\nimport type { FooterClasses, FooterNavLinks, FooterPhones, FooterRenderBlocks, FooterSocialLinks } from './model/types'\nimport { Copyright, FooterLogo, NavLinks, PhonesBlock, SiteMap, SocialLinks } from './ui'\nimport { ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport interface FooterProps {\n classes?: FooterClasses\n renderBlocks?: FooterRenderBlocks\n socialsLinks?: FooterSocialLinks[]\n phones?: FooterPhones[]\n navigationLinks?: FooterNavLinks[]\n ligal?: string | React.ReactElement\n copyright?: string | React.ReactElement\n}\n\nexport const Footer = ({\n renderBlocks: { withSocial = true, withPhones = true, withNavLinks = true, withCopyright = true, withSiteMap = true } = {},\n socialsLinks = defaultSocialsLinks,\n phones = defaultPhones,\n navigationLinks = defaultNavigationLinks,\n ligal,\n copyright = defaultCopyright,\n classes\n}: FooterProps) => {\n return (\n <footer className={cn('w-full bg-color-footer py-8 desktop:py-10', classes?.root)}>\n <ResponsiveContainer className={cn(classes?.footerContainer)}>\n <div className={cn('mobile:pb-[176px]', classes?.footerWrapper)}>\n <div\n className={cn(\n 'flex flex-col items-start justify-between gap-4 border-b border-solid border-blue-grey-500 pb-6 desktop:flex-row desktop:gap-6 desktop:pb-8',\n classes?.footerHead\n )}\n >\n <div className={cn(classes?.footerSocialBlock)}>\n <FooterLogo classes={classes?.footerLogo} />\n {withSocial && <SocialLinks socialsLinks={socialsLinks} classes={classes?.socialLinks} />}\n </div>\n\n {withPhones && <PhonesBlock phones={phones} classes={classes?.phonesBlock} />}\n </div>\n\n {withNavLinks && <NavLinks navigationLinks={navigationLinks} classes={classes?.navLinks} />}\n {ligal && ligal}\n\n <div\n className={cn(\n 'mt-6 flex flex-col-reverse items-start justify-between gap-4 desktop:mt-8 desktop:flex-row desktop:gap-6',\n classes?.footerBottom\n )}\n >\n {withCopyright && <Copyright text={copyright} classes={classes?.copyright} />}\n {withSiteMap && <SiteMap classes={classes?.siteMap} />}\n </div>\n </div>\n </ResponsiveContainer>\n </footer>\n )\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0;\n/** Types of elements found in htmlparser2's DOM */\nvar ElementType;\n(function (ElementType) {\n /** Type for the root element of a document */\n ElementType[\"Root\"] = \"root\";\n /** Type for Text */\n ElementType[\"Text\"] = \"text\";\n /** Type for <? ... ?> */\n ElementType[\"Directive\"] = \"directive\";\n /** Type for <!-- ... --> */\n ElementType[\"Comment\"] = \"comment\";\n /** Type for <script> tags */\n ElementType[\"Script\"] = \"script\";\n /** Type for <style> tags */\n ElementType[\"Style\"] = \"style\";\n /** Type for Any tag */\n ElementType[\"Tag\"] = \"tag\";\n /** Type for <![CDATA[ ... ]]> */\n ElementType[\"CDATA\"] = \"cdata\";\n /** Type for <!doctype ...> */\n ElementType[\"Doctype\"] = \"doctype\";\n})(ElementType = exports.ElementType || (exports.ElementType = {}));\n/**\n * Tests whether an element is a tag or not.\n *\n * @param elem Element to test\n */\nfunction isTag(elem) {\n return (elem.type === ElementType.Tag ||\n elem.type === ElementType.Script ||\n elem.type === ElementType.Style);\n}\nexports.isTag = isTag;\n// Exports for backwards compatibility\n/** Type for the root element of a document */\nexports.Root = ElementType.Root;\n/** Type for Text */\nexports.Text = ElementType.Text;\n/** Type for <? ... ?> */\nexports.Directive = ElementType.Directive;\n/** Type for <!-- ... --> */\nexports.Comment = ElementType.Comment;\n/** Type for <script> tags */\nexports.Script = ElementType.Script;\n/** Type for <style> tags */\nexports.Style = ElementType.Style;\n/** Type for Any tag */\nexports.Tag = ElementType.Tag;\n/** Type for <![CDATA[ ... ]]> */\nexports.CDATA = ElementType.CDATA;\n/** Type for <!doctype ...> */\nexports.Doctype = ElementType.Doctype;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.cloneNode = exports.hasChildren = exports.isDocument = exports.isDirective = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = exports.Element = exports.Document = exports.CDATA = exports.NodeWithChildren = exports.ProcessingInstruction = exports.Comment = exports.Text = exports.DataNode = exports.Node = void 0;\nvar domelementtype_1 = require(\"domelementtype\");\n/**\n * This object will be used as the prototype for Nodes when creating a\n * DOM-Level-1-compliant structure.\n */\nvar Node = /** @class */ (function () {\n function Node() {\n /** Parent of the node */\n this.parent = null;\n /** Previous sibling */\n this.prev = null;\n /** Next sibling */\n this.next = null;\n /** The start index of the node. Requires `withStartIndices` on the handler to be `true. */\n this.startIndex = null;\n /** The end index of the node. Requires `withEndIndices` on the handler to be `true. */\n this.endIndex = null;\n }\n Object.defineProperty(Node.prototype, \"parentNode\", {\n // Read-write aliases for properties\n /**\n * Same as {@link parent}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.parent;\n },\n set: function (parent) {\n this.parent = parent;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Node.prototype, \"previousSibling\", {\n /**\n * Same as {@link prev}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.prev;\n },\n set: function (prev) {\n this.prev = prev;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Node.prototype, \"nextSibling\", {\n /**\n * Same as {@link next}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.next;\n },\n set: function (next) {\n this.next = next;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Clone this node, and optionally its children.\n *\n * @param recursive Clone child nodes as well.\n * @returns A clone of the node.\n */\n Node.prototype.cloneNode = function (recursive) {\n if (recursive === void 0) { recursive = false; }\n return cloneNode(this, recursive);\n };\n return Node;\n}());\nexports.Node = Node;\n/**\n * A node that contains some data.\n */\nvar DataNode = /** @class */ (function (_super) {\n __extends(DataNode, _super);\n /**\n * @param data The content of the data node\n */\n function DataNode(data) {\n var _this = _super.call(this) || this;\n _this.data = data;\n return _this;\n }\n Object.defineProperty(DataNode.prototype, \"nodeValue\", {\n /**\n * Same as {@link data}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.data;\n },\n set: function (data) {\n this.data = data;\n },\n enumerable: false,\n configurable: true\n });\n return DataNode;\n}(Node));\nexports.DataNode = DataNode;\n/**\n * Text within the document.\n */\nvar Text = /** @class */ (function (_super) {\n __extends(Text, _super);\n function Text() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.Text;\n return _this;\n }\n Object.defineProperty(Text.prototype, \"nodeType\", {\n get: function () {\n return 3;\n },\n enumerable: false,\n configurable: true\n });\n return Text;\n}(DataNode));\nexports.Text = Text;\n/**\n * Comments within the document.\n */\nvar Comment = /** @class */ (function (_super) {\n __extends(Comment, _super);\n function Comment() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.Comment;\n return _this;\n }\n Object.defineProperty(Comment.prototype, \"nodeType\", {\n get: function () {\n return 8;\n },\n enumerable: false,\n configurable: true\n });\n return Comment;\n}(DataNode));\nexports.Comment = Comment;\n/**\n * Processing instructions, including doc types.\n */\nvar ProcessingInstruction = /** @class */ (function (_super) {\n __extends(ProcessingInstruction, _super);\n function ProcessingInstruction(name, data) {\n var _this = _super.call(this, data) || this;\n _this.name = name;\n _this.type = domelementtype_1.ElementType.Directive;\n return _this;\n }\n Object.defineProperty(ProcessingInstruction.prototype, \"nodeType\", {\n get: function () {\n return 1;\n },\n enumerable: false,\n configurable: true\n });\n return ProcessingInstruction;\n}(DataNode));\nexports.ProcessingInstruction = ProcessingInstruction;\n/**\n * A `Node` that can have children.\n */\nvar NodeWithChildren = /** @class */ (function (_super) {\n __extends(NodeWithChildren, _super);\n /**\n * @param children Children of the node. Only certain node types can have children.\n */\n function NodeWithChildren(children) {\n var _this = _super.call(this) || this;\n _this.children = children;\n return _this;\n }\n Object.defineProperty(NodeWithChildren.prototype, \"firstChild\", {\n // Aliases\n /** First child of the node. */\n get: function () {\n var _a;\n return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(NodeWithChildren.prototype, \"lastChild\", {\n /** Last child of the node. */\n get: function () {\n return this.children.length > 0\n ? this.children[this.children.length - 1]\n : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(NodeWithChildren.prototype, \"childNodes\", {\n /**\n * Same as {@link children}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.children;\n },\n set: function (children) {\n this.children = children;\n },\n enumerable: false,\n configurable: true\n });\n return NodeWithChildren;\n}(Node));\nexports.NodeWithChildren = NodeWithChildren;\nvar CDATA = /** @class */ (function (_super) {\n __extends(CDATA, _super);\n function CDATA() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.CDATA;\n return _this;\n }\n Object.defineProperty(CDATA.prototype, \"nodeType\", {\n get: function () {\n return 4;\n },\n enumerable: false,\n configurable: true\n });\n return CDATA;\n}(NodeWithChildren));\nexports.CDATA = CDATA;\n/**\n * The root node of the document.\n */\nvar Document = /** @class */ (function (_super) {\n __extends(Document, _super);\n function Document() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.Root;\n return _this;\n }\n Object.defineProperty(Document.prototype, \"nodeType\", {\n get: function () {\n return 9;\n },\n enumerable: false,\n configurable: true\n });\n return Document;\n}(NodeWithChildren));\nexports.Document = Document;\n/**\n * An element within the DOM.\n */\nvar Element = /** @class */ (function (_super) {\n __extends(Element, _super);\n /**\n * @param name Name of the tag, eg. `div`, `span`.\n * @param attribs Object mapping attribute names to attribute values.\n * @param children Children of the node.\n */\n function Element(name, attribs, children, type) {\n if (children === void 0) { children = []; }\n if (type === void 0) { type = name === \"script\"\n ? domelementtype_1.ElementType.Script\n : name === \"style\"\n ? domelementtype_1.ElementType.Style\n : domelementtype_1.ElementType.Tag; }\n var _this = _super.call(this, children) || this;\n _this.name = name;\n _this.attribs = attribs;\n _this.type = type;\n return _this;\n }\n Object.defineProperty(Element.prototype, \"nodeType\", {\n get: function () {\n return 1;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Element.prototype, \"tagName\", {\n // DOM Level 1 aliases\n /**\n * Same as {@link name}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.name;\n },\n set: function (name) {\n this.name = name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Element.prototype, \"attributes\", {\n get: function () {\n var _this = this;\n return Object.keys(this.attribs).map(function (name) {\n var _a, _b;\n return ({\n name: name,\n value: _this.attribs[name],\n namespace: (_a = _this[\"x-attribsNamespace\"]) === null || _a === void 0 ? void 0 : _a[name],\n prefix: (_b = _this[\"x-attribsPrefix\"]) === null || _b === void 0 ? void 0 : _b[name],\n });\n });\n },\n enumerable: false,\n configurable: true\n });\n return Element;\n}(NodeWithChildren));\nexports.Element = Element;\n/**\n * @param node Node to check.\n * @returns `true` if the node is a `Element`, `false` otherwise.\n */\nfunction isTag(node) {\n return (0, domelementtype_1.isTag)(node);\n}\nexports.isTag = isTag;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `CDATA`, `false` otherwise.\n */\nfunction isCDATA(node) {\n return node.type === domelementtype_1.ElementType.CDATA;\n}\nexports.isCDATA = isCDATA;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `Text`, `false` otherwise.\n */\nfunction isText(node) {\n return node.type === domelementtype_1.ElementType.Text;\n}\nexports.isText = isText;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `Comment`, `false` otherwise.\n */\nfunction isComment(node) {\n return node.type === domelementtype_1.ElementType.Comment;\n}\nexports.isComment = isComment;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.\n */\nfunction isDirective(node) {\n return node.type === domelementtype_1.ElementType.Directive;\n}\nexports.isDirective = isDirective;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.\n */\nfunction isDocument(node) {\n return node.type === domelementtype_1.ElementType.Root;\n}\nexports.isDocument = isDocument;\n/**\n * @param node Node to check.\n * @returns `true` if the node has children, `false` otherwise.\n */\nfunction hasChildren(node) {\n return Object.prototype.hasOwnProperty.call(node, \"children\");\n}\nexports.hasChildren = hasChildren;\n/**\n * Clone a node, and optionally its children.\n *\n * @param recursive Clone child nodes as well.\n * @returns A clone of the node.\n */\nfunction cloneNode(node, recursive) {\n if (recursive === void 0) { recursive = false; }\n var result;\n if (isText(node)) {\n result = new Text(node.data);\n }\n else if (isComment(node)) {\n result = new Comment(node.data);\n }\n else if (isTag(node)) {\n var children = recursive ? cloneChildren(node.children) : [];\n var clone_1 = new Element(node.name, __assign({}, node.attribs), children);\n children.forEach(function (child) { return (child.parent = clone_1); });\n if (node.namespace != null) {\n clone_1.namespace = node.namespace;\n }\n if (node[\"x-attribsNamespace\"]) {\n clone_1[\"x-attribsNamespace\"] = __assign({}, node[\"x-attribsNamespace\"]);\n }\n if (node[\"x-attribsPrefix\"]) {\n clone_1[\"x-attribsPrefix\"] = __assign({}, node[\"x-attribsPrefix\"]);\n }\n result = clone_1;\n }\n else if (isCDATA(node)) {\n var children = recursive ? cloneChildren(node.children) : [];\n var clone_2 = new CDATA(children);\n children.forEach(function (child) { return (child.parent = clone_2); });\n result = clone_2;\n }\n else if (isDocument(node)) {\n var children = recursive ? cloneChildren(node.children) : [];\n var clone_3 = new Document(children);\n children.forEach(function (child) { return (child.parent = clone_3); });\n if (node[\"x-mode\"]) {\n clone_3[\"x-mode\"] = node[\"x-mode\"];\n }\n result = clone_3;\n }\n else if (isDirective(node)) {\n var instruction = new ProcessingInstruction(node.name, node.data);\n if (node[\"x-name\"] != null) {\n instruction[\"x-name\"] = node[\"x-name\"];\n instruction[\"x-publicId\"] = node[\"x-publicId\"];\n instruction[\"x-systemId\"] = node[\"x-systemId\"];\n }\n result = instruction;\n }\n else {\n throw new Error(\"Not implemented yet: \".concat(node.type));\n }\n result.startIndex = node.startIndex;\n result.endIndex = node.endIndex;\n if (node.sourceCodeLocation != null) {\n result.sourceCodeLocation = node.sourceCodeLocation;\n }\n return result;\n}\nexports.cloneNode = cloneNode;\nfunction cloneChildren(childs) {\n var children = childs.map(function (child) { return cloneNode(child, true); });\n for (var i = 1; i < children.length; i++) {\n children[i].prev = children[i - 1];\n children[i - 1].next = children[i];\n }\n return children;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DomHandler = void 0;\nvar domelementtype_1 = require(\"domelementtype\");\nvar node_js_1 = require(\"./node.js\");\n__exportStar(require(\"./node.js\"), exports);\n// Default options\nvar defaultOpts = {\n withStartIndices: false,\n withEndIndices: false,\n xmlMode: false,\n};\nvar DomHandler = /** @class */ (function () {\n /**\n * @param callback Called once parsing has completed.\n * @param options Settings for the handler.\n * @param elementCB Callback whenever a tag is closed.\n */\n function DomHandler(callback, options, elementCB) {\n /** The elements of the DOM */\n this.dom = [];\n /** The root element for the DOM */\n this.root = new node_js_1.Document(this.dom);\n /** Indicated whether parsing has been completed. */\n this.done = false;\n /** Stack of open tags. */\n this.tagStack = [this.root];\n /** A data node that is still being written to. */\n this.lastNode = null;\n /** Reference to the parser instance. Used for location information. */\n this.parser = null;\n // Make it possible to skip arguments, for backwards-compatibility\n if (typeof options === \"function\") {\n elementCB = options;\n options = defaultOpts;\n }\n if (typeof callback === \"object\") {\n options = callback;\n callback = undefined;\n }\n this.callback = callback !== null && callback !== void 0 ? callback : null;\n this.options = options !== null && options !== void 0 ? options : defaultOpts;\n this.elementCB = elementCB !== null && elementCB !== void 0 ? elementCB : null;\n }\n DomHandler.prototype.onparserinit = function (parser) {\n this.parser = parser;\n };\n // Resets the handler back to starting state\n DomHandler.prototype.onreset = function () {\n this.dom = [];\n this.root = new node_js_1.Document(this.dom);\n this.done = false;\n this.tagStack = [this.root];\n this.lastNode = null;\n this.parser = null;\n };\n // Signals the handler that parsing is done\n DomHandler.prototype.onend = function () {\n if (this.done)\n return;\n this.done = true;\n this.parser = null;\n this.handleCallback(null);\n };\n DomHandler.prototype.onerror = function (error) {\n this.handleCallback(error);\n };\n DomHandler.prototype.onclosetag = function () {\n this.lastNode = null;\n var elem = this.tagStack.pop();\n if (this.options.withEndIndices) {\n elem.endIndex = this.parser.endIndex;\n }\n if (this.elementCB)\n this.elementCB(elem);\n };\n DomHandler.prototype.onopentag = function (name, attribs) {\n var type = this.options.xmlMode ? domelementtype_1.ElementType.Tag : undefined;\n var element = new node_js_1.Element(name, attribs, undefined, type);\n this.addNode(element);\n this.tagStack.push(element);\n };\n DomHandler.prototype.ontext = function (data) {\n var lastNode = this.lastNode;\n if (lastNode && lastNode.type === domelementtype_1.ElementType.Text) {\n lastNode.data += data;\n if (this.options.withEndIndices) {\n lastNode.endIndex = this.parser.endIndex;\n }\n }\n else {\n var node = new node_js_1.Text(data);\n this.addNode(node);\n this.lastNode = node;\n }\n };\n DomHandler.prototype.oncomment = function (data) {\n if (this.lastNode && this.lastNode.type === domelementtype_1.ElementType.Comment) {\n this.lastNode.data += data;\n return;\n }\n var node = new node_js_1.Comment(data);\n this.addNode(node);\n this.lastNode = node;\n };\n DomHandler.prototype.oncommentend = function () {\n this.lastNode = null;\n };\n DomHandler.prototype.oncdatastart = function () {\n var text = new node_js_1.Text(\"\");\n var node = new node_js_1.CDATA([text]);\n this.addNode(node);\n text.parent = node;\n this.lastNode = text;\n };\n DomHandler.prototype.oncdataend = function () {\n this.lastNode = null;\n };\n DomHandler.prototype.onprocessinginstruction = function (name, data) {\n var node = new node_js_1.ProcessingInstruction(name, data);\n this.addNode(node);\n };\n DomHandler.prototype.handleCallback = function (error) {\n if (typeof this.callback === \"function\") {\n this.callback(error, this.dom);\n }\n else if (error) {\n throw error;\n }\n };\n DomHandler.prototype.addNode = function (node) {\n var parent = this.tagStack[this.tagStack.length - 1];\n var previousSibling = parent.children[parent.children.length - 1];\n if (this.options.withStartIndices) {\n node.startIndex = this.parser.startIndex;\n }\n if (this.options.withEndIndices) {\n node.endIndex = this.parser.endIndex;\n }\n parent.children.push(node);\n if (previousSibling) {\n node.prev = previousSibling;\n previousSibling.next = node;\n }\n node.parent = parent;\n this.lastNode = null;\n };\n return DomHandler;\n}());\nexports.DomHandler = DomHandler;\nexports.default = DomHandler;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CARRIAGE_RETURN_PLACEHOLDER_REGEX = exports.CARRIAGE_RETURN_PLACEHOLDER = exports.CARRIAGE_RETURN_REGEX = exports.CARRIAGE_RETURN = exports.CASE_SENSITIVE_TAG_NAMES_MAP = exports.CASE_SENSITIVE_TAG_NAMES = void 0;\n/**\n * SVG elements are case-sensitive.\n *\n * @see https://developer.mozilla.org/docs/Web/SVG/Element#svg_elements_a_to_z\n */\nexports.CASE_SENSITIVE_TAG_NAMES = [\n 'animateMotion',\n 'animateTransform',\n 'clipPath',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDropShadow',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n 'foreignObject',\n 'linearGradient',\n 'radialGradient',\n 'textPath',\n];\nexports.CASE_SENSITIVE_TAG_NAMES_MAP = exports.CASE_SENSITIVE_TAG_NAMES.reduce(function (accumulator, tagName) {\n accumulator[tagName.toLowerCase()] = tagName;\n return accumulator;\n}, {});\nexports.CARRIAGE_RETURN = '\\r';\nexports.CARRIAGE_RETURN_REGEX = new RegExp(exports.CARRIAGE_RETURN, 'g');\nexports.CARRIAGE_RETURN_PLACEHOLDER = \"__HTML_DOM_PARSER_CARRIAGE_RETURN_PLACEHOLDER_\".concat(Date.now(), \"__\");\nexports.CARRIAGE_RETURN_PLACEHOLDER_REGEX = new RegExp(exports.CARRIAGE_RETURN_PLACEHOLDER, 'g');\n//# sourceMappingURL=constants.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.formatAttributes = formatAttributes;\nexports.escapeSpecialCharacters = escapeSpecialCharacters;\nexports.revertEscapedCharacters = revertEscapedCharacters;\nexports.formatDOM = formatDOM;\nvar domhandler_1 = require(\"domhandler\");\nvar constants_1 = require(\"./constants\");\n/**\n * Gets case-sensitive tag name.\n *\n * @param tagName - Tag name in lowercase.\n * @returns - Case-sensitive tag name.\n */\nfunction getCaseSensitiveTagName(tagName) {\n return constants_1.CASE_SENSITIVE_TAG_NAMES_MAP[tagName];\n}\n/**\n * Formats DOM attributes to a hash map.\n *\n * @param attributes - List of attributes.\n * @returns - Map of attribute name to value.\n */\nfunction formatAttributes(attributes) {\n var map = {};\n var index = 0;\n var attributesLength = attributes.length;\n // `NamedNodeMap` is array-like\n for (; index < attributesLength; index++) {\n var attribute = attributes[index];\n map[attribute.name] = attribute.value;\n }\n return map;\n}\n/**\n * Corrects the tag name if it is case-sensitive (SVG).\n * Otherwise, returns the lowercase tag name (HTML).\n *\n * @param tagName - Lowercase tag name.\n * @returns - Formatted tag name.\n */\nfunction formatTagName(tagName) {\n tagName = tagName.toLowerCase();\n var caseSensitiveTagName = getCaseSensitiveTagName(tagName);\n if (caseSensitiveTagName) {\n return caseSensitiveTagName;\n }\n return tagName;\n}\n/**\n * Escapes special characters before parsing.\n *\n * @param html - The HTML string.\n * @returns - HTML string with escaped special characters.\n */\nfunction escapeSpecialCharacters(html) {\n return html.replace(constants_1.CARRIAGE_RETURN_REGEX, constants_1.CARRIAGE_RETURN_PLACEHOLDER);\n}\n/**\n * Reverts escaped special characters back to actual characters.\n *\n * @param text - The text with escaped characters.\n * @returns - Text with escaped characters reverted.\n */\nfunction revertEscapedCharacters(text) {\n return text.replace(constants_1.CARRIAGE_RETURN_PLACEHOLDER_REGEX, constants_1.CARRIAGE_RETURN);\n}\n/**\n * Transforms DOM nodes to `domhandler` nodes.\n *\n * @param nodes - DOM nodes.\n * @param parent - Parent node.\n * @param directive - Directive.\n * @returns - Nodes.\n */\nfunction formatDOM(nodes, parent, directive) {\n if (parent === void 0) { parent = null; }\n var domNodes = [];\n var current;\n var index = 0;\n var nodesLength = nodes.length;\n for (; index < nodesLength; index++) {\n var node = nodes[index];\n // set the node data given the type\n switch (node.nodeType) {\n case 1: {\n var tagName = formatTagName(node.nodeName);\n // script, style, or tag\n current = new domhandler_1.Element(tagName, formatAttributes(node.attributes));\n current.children = formatDOM(\n // template children are on content\n tagName === 'template'\n ? node.content.childNodes\n : node.childNodes, current);\n break;\n }\n case 3:\n current = new domhandler_1.Text(revertEscapedCharacters(node.nodeValue));\n break;\n case 8:\n current = new domhandler_1.Comment(node.nodeValue);\n break;\n default:\n continue;\n }\n // set previous node next\n var prev = domNodes[index - 1] || null;\n if (prev) {\n prev.next = current;\n }\n // set properties for current node\n current.parent = parent;\n current.prev = prev;\n current.next = null;\n domNodes.push(current);\n }\n if (directive) {\n current = new domhandler_1.ProcessingInstruction(directive.substring(0, directive.indexOf(' ')).toLowerCase(), directive);\n current.next = domNodes[0] || null;\n current.parent = parent;\n domNodes.unshift(current);\n if (domNodes[1]) {\n domNodes[1].prev = domNodes[0];\n }\n }\n return domNodes;\n}\n//# sourceMappingURL=utilities.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = domparser;\nvar utilities_1 = require(\"./utilities\");\n// constants\nvar HTML = 'html';\nvar HEAD = 'head';\nvar BODY = 'body';\nvar FIRST_TAG_REGEX = /<([a-zA-Z]+[0-9]?)/; // e.g., <h1>\n// match-all-characters in case of newlines (DOTALL)\nvar HEAD_TAG_REGEX = /<head[^]*>/i;\nvar BODY_TAG_REGEX = /<body[^]*>/i;\n// falls back to `parseFromString` if `createHTMLDocument` cannot be used\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nvar parseFromDocument = function (html, tagName) {\n /* istanbul ignore next */\n throw new Error('This browser does not support `document.implementation.createHTMLDocument`');\n};\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nvar parseFromString = function (html, tagName) {\n /* istanbul ignore next */\n throw new Error('This browser does not support `DOMParser.prototype.parseFromString`');\n};\nvar DOMParser = typeof window === 'object' && window.DOMParser;\n/**\n * DOMParser (performance: slow).\n *\n * @see https://developer.mozilla.org/docs/Web/API/DOMParser#Parsing_an_SVG_or_HTML_document\n */\nif (typeof DOMParser === 'function') {\n var domParser_1 = new DOMParser();\n var mimeType_1 = 'text/html';\n /**\n * Creates an HTML document using `DOMParser.parseFromString`.\n *\n * @param html - The HTML string.\n * @param tagName - The element to render the HTML (with 'body' as fallback).\n * @returns - Document.\n */\n parseFromString = function (html, tagName) {\n if (tagName) {\n /* istanbul ignore next */\n html = \"<\".concat(tagName, \">\").concat(html, \"</\").concat(tagName, \">\");\n }\n return domParser_1.parseFromString(html, mimeType_1);\n };\n parseFromDocument = parseFromString;\n}\n/**\n * DOMImplementation (performance: fair).\n *\n * @see https://developer.mozilla.org/docs/Web/API/DOMImplementation/createHTMLDocument\n */\nif (typeof document === 'object' && document.implementation) {\n var htmlDocument_1 = document.implementation.createHTMLDocument();\n /**\n * Use HTML document created by `document.implementation.createHTMLDocument`.\n *\n * @param html - The HTML string.\n * @param tagName - The element to render the HTML (with 'body' as fallback).\n * @returns - Document\n */\n parseFromDocument = function (html, tagName) {\n if (tagName) {\n var element = htmlDocument_1.documentElement.querySelector(tagName);\n if (element) {\n element.innerHTML = html;\n }\n return htmlDocument_1;\n }\n htmlDocument_1.documentElement.innerHTML = html;\n return htmlDocument_1;\n };\n}\n/**\n * Template (performance: fast).\n *\n * @see https://developer.mozilla.org/docs/Web/HTML/Element/template\n */\nvar template = typeof document === 'object' && document.createElement('template');\nvar parseFromTemplate;\nif (template && template.content) {\n /**\n * Uses a template element (content fragment) to parse HTML.\n *\n * @param html - HTML string.\n * @returns - Nodes.\n */\n parseFromTemplate = function (html) {\n template.innerHTML = html;\n return template.content.childNodes;\n };\n}\n/**\n * Parses HTML string to DOM nodes.\n *\n * @param html - HTML markup.\n * @returns - DOM nodes.\n */\nfunction domparser(html) {\n var _a, _b;\n // Escape special characters before parsing\n html = (0, utilities_1.escapeSpecialCharacters)(html);\n var match = html.match(FIRST_TAG_REGEX);\n var firstTagName = match && match[1] ? match[1].toLowerCase() : '';\n switch (firstTagName) {\n case HTML: {\n var doc = parseFromString(html);\n // the created document may come with filler head/body elements,\n // so make sure to remove them if they don't actually exist\n if (!HEAD_TAG_REGEX.test(html)) {\n var element = doc.querySelector(HEAD);\n (_a = element === null || element === void 0 ? void 0 : element.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(element);\n }\n if (!BODY_TAG_REGEX.test(html)) {\n var element = doc.querySelector(BODY);\n (_b = element === null || element === void 0 ? void 0 : element.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(element);\n }\n return doc.querySelectorAll(HTML);\n }\n case HEAD:\n case BODY: {\n var elements = parseFromDocument(html).querySelectorAll(firstTagName);\n // if there's a sibling element, then return both elements\n if (BODY_TAG_REGEX.test(html) && HEAD_TAG_REGEX.test(html)) {\n return elements[0].parentNode.childNodes;\n }\n return elements;\n }\n // low-level tag or text\n default: {\n if (parseFromTemplate) {\n return parseFromTemplate(html);\n }\n var element = parseFromDocument(html, BODY).querySelector(BODY);\n return element.childNodes;\n }\n }\n}\n//# sourceMappingURL=domparser.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = HTMLDOMParser;\nvar domparser_1 = __importDefault(require(\"./domparser\"));\nvar utilities_1 = require(\"./utilities\");\nvar DIRECTIVE_REGEX = /<(![a-zA-Z\\s]+)>/; // e.g., <!doctype html>\n/**\n * Parses HTML string to DOM nodes in browser.\n *\n * @param html - HTML markup.\n * @returns - DOM elements.\n */\nfunction HTMLDOMParser(html) {\n if (typeof html !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n if (!html) {\n return [];\n }\n // match directive\n var match = html.match(DIRECTIVE_REGEX);\n var directive = match ? match[1] : undefined;\n return (0, utilities_1.formatDOM)((0, domparser_1.default)(html), null, directive);\n}\n//# sourceMappingURL=html-to-dom.js.map","// An attribute in which the DOM/SVG standard name is the same as the React prop name (e.g., 'accept').\nvar SAME = 0;\nexports.SAME = SAME;\n\n// An attribute in which the React prop name is the camelcased version of the DOM/SVG standard name (e.g., 'acceptCharset').\nvar CAMELCASE = 1;\nexports.CAMELCASE = CAMELCASE;\n\nexports.possibleStandardNames = {\n accept: 0,\n acceptCharset: 1,\n 'accept-charset': 'acceptCharset',\n accessKey: 1,\n action: 0,\n allowFullScreen: 1,\n alt: 0,\n as: 0,\n async: 0,\n autoCapitalize: 1,\n autoComplete: 1,\n autoCorrect: 1,\n autoFocus: 1,\n autoPlay: 1,\n autoSave: 1,\n capture: 0,\n cellPadding: 1,\n cellSpacing: 1,\n challenge: 0,\n charSet: 1,\n checked: 0,\n children: 0,\n cite: 0,\n class: 'className',\n classID: 1,\n className: 1,\n cols: 0,\n colSpan: 1,\n content: 0,\n contentEditable: 1,\n contextMenu: 1,\n controls: 0,\n controlsList: 1,\n coords: 0,\n crossOrigin: 1,\n dangerouslySetInnerHTML: 1,\n data: 0,\n dateTime: 1,\n default: 0,\n defaultChecked: 1,\n defaultValue: 1,\n defer: 0,\n dir: 0,\n disabled: 0,\n disablePictureInPicture: 1,\n disableRemotePlayback: 1,\n download: 0,\n draggable: 0,\n encType: 1,\n enterKeyHint: 1,\n for: 'htmlFor',\n form: 0,\n formMethod: 1,\n formAction: 1,\n formEncType: 1,\n formNoValidate: 1,\n formTarget: 1,\n frameBorder: 1,\n headers: 0,\n height: 0,\n hidden: 0,\n high: 0,\n href: 0,\n hrefLang: 1,\n htmlFor: 1,\n httpEquiv: 1,\n 'http-equiv': 'httpEquiv',\n icon: 0,\n id: 0,\n innerHTML: 1,\n inputMode: 1,\n integrity: 0,\n is: 0,\n itemID: 1,\n itemProp: 1,\n itemRef: 1,\n itemScope: 1,\n itemType: 1,\n keyParams: 1,\n keyType: 1,\n kind: 0,\n label: 0,\n lang: 0,\n list: 0,\n loop: 0,\n low: 0,\n manifest: 0,\n marginWidth: 1,\n marginHeight: 1,\n max: 0,\n maxLength: 1,\n media: 0,\n mediaGroup: 1,\n method: 0,\n min: 0,\n minLength: 1,\n multiple: 0,\n muted: 0,\n name: 0,\n noModule: 1,\n nonce: 0,\n noValidate: 1,\n open: 0,\n optimum: 0,\n pattern: 0,\n placeholder: 0,\n playsInline: 1,\n poster: 0,\n preload: 0,\n profile: 0,\n radioGroup: 1,\n readOnly: 1,\n referrerPolicy: 1,\n rel: 0,\n required: 0,\n reversed: 0,\n role: 0,\n rows: 0,\n rowSpan: 1,\n sandbox: 0,\n scope: 0,\n scoped: 0,\n scrolling: 0,\n seamless: 0,\n selected: 0,\n shape: 0,\n size: 0,\n sizes: 0,\n span: 0,\n spellCheck: 1,\n src: 0,\n srcDoc: 1,\n srcLang: 1,\n srcSet: 1,\n start: 0,\n step: 0,\n style: 0,\n summary: 0,\n tabIndex: 1,\n target: 0,\n title: 0,\n type: 0,\n useMap: 1,\n value: 0,\n width: 0,\n wmode: 0,\n wrap: 0,\n about: 0,\n accentHeight: 1,\n 'accent-height': 'accentHeight',\n accumulate: 0,\n additive: 0,\n alignmentBaseline: 1,\n 'alignment-baseline': 'alignmentBaseline',\n allowReorder: 1,\n alphabetic: 0,\n amplitude: 0,\n arabicForm: 1,\n 'arabic-form': 'arabicForm',\n ascent: 0,\n attributeName: 1,\n attributeType: 1,\n autoReverse: 1,\n azimuth: 0,\n baseFrequency: 1,\n baselineShift: 1,\n 'baseline-shift': 'baselineShift',\n baseProfile: 1,\n bbox: 0,\n begin: 0,\n bias: 0,\n by: 0,\n calcMode: 1,\n capHeight: 1,\n 'cap-height': 'capHeight',\n clip: 0,\n clipPath: 1,\n 'clip-path': 'clipPath',\n clipPathUnits: 1,\n clipRule: 1,\n 'clip-rule': 'clipRule',\n color: 0,\n colorInterpolation: 1,\n 'color-interpolation': 'colorInterpolation',\n colorInterpolationFilters: 1,\n 'color-interpolation-filters': 'colorInterpolationFilters',\n colorProfile: 1,\n 'color-profile': 'colorProfile',\n colorRendering: 1,\n 'color-rendering': 'colorRendering',\n contentScriptType: 1,\n contentStyleType: 1,\n cursor: 0,\n cx: 0,\n cy: 0,\n d: 0,\n datatype: 0,\n decelerate: 0,\n descent: 0,\n diffuseConstant: 1,\n direction: 0,\n display: 0,\n divisor: 0,\n dominantBaseline: 1,\n 'dominant-baseline': 'dominantBaseline',\n dur: 0,\n dx: 0,\n dy: 0,\n edgeMode: 1,\n elevation: 0,\n enableBackground: 1,\n 'enable-background': 'enableBackground',\n end: 0,\n exponent: 0,\n externalResourcesRequired: 1,\n fill: 0,\n fillOpacity: 1,\n 'fill-opacity': 'fillOpacity',\n fillRule: 1,\n 'fill-rule': 'fillRule',\n filter: 0,\n filterRes: 1,\n filterUnits: 1,\n floodOpacity: 1,\n 'flood-opacity': 'floodOpacity',\n floodColor: 1,\n 'flood-color': 'floodColor',\n focusable: 0,\n fontFamily: 1,\n 'font-family': 'fontFamily',\n fontSize: 1,\n 'font-size': 'fontSize',\n fontSizeAdjust: 1,\n 'font-size-adjust': 'fontSizeAdjust',\n fontStretch: 1,\n 'font-stretch': 'fontStretch',\n fontStyle: 1,\n 'font-style': 'fontStyle',\n fontVariant: 1,\n 'font-variant': 'fontVariant',\n fontWeight: 1,\n 'font-weight': 'fontWeight',\n format: 0,\n from: 0,\n fx: 0,\n fy: 0,\n g1: 0,\n g2: 0,\n glyphName: 1,\n 'glyph-name': 'glyphName',\n glyphOrientationHorizontal: 1,\n 'glyph-orientation-horizontal': 'glyphOrientationHorizontal',\n glyphOrientationVertical: 1,\n 'glyph-orientation-vertical': 'glyphOrientationVertical',\n glyphRef: 1,\n gradientTransform: 1,\n gradientUnits: 1,\n hanging: 0,\n horizAdvX: 1,\n 'horiz-adv-x': 'horizAdvX',\n horizOriginX: 1,\n 'horiz-origin-x': 'horizOriginX',\n ideographic: 0,\n imageRendering: 1,\n 'image-rendering': 'imageRendering',\n in2: 0,\n in: 0,\n inlist: 0,\n intercept: 0,\n k1: 0,\n k2: 0,\n k3: 0,\n k4: 0,\n k: 0,\n kernelMatrix: 1,\n kernelUnitLength: 1,\n kerning: 0,\n keyPoints: 1,\n keySplines: 1,\n keyTimes: 1,\n lengthAdjust: 1,\n letterSpacing: 1,\n 'letter-spacing': 'letterSpacing',\n lightingColor: 1,\n 'lighting-color': 'lightingColor',\n limitingConeAngle: 1,\n local: 0,\n markerEnd: 1,\n 'marker-end': 'markerEnd',\n markerHeight: 1,\n markerMid: 1,\n 'marker-mid': 'markerMid',\n markerStart: 1,\n 'marker-start': 'markerStart',\n markerUnits: 1,\n markerWidth: 1,\n mask: 0,\n maskContentUnits: 1,\n maskUnits: 1,\n mathematical: 0,\n mode: 0,\n numOctaves: 1,\n offset: 0,\n opacity: 0,\n operator: 0,\n order: 0,\n orient: 0,\n orientation: 0,\n origin: 0,\n overflow: 0,\n overlinePosition: 1,\n 'overline-position': 'overlinePosition',\n overlineThickness: 1,\n 'overline-thickness': 'overlineThickness',\n paintOrder: 1,\n 'paint-order': 'paintOrder',\n panose1: 0,\n 'panose-1': 'panose1',\n pathLength: 1,\n patternContentUnits: 1,\n patternTransform: 1,\n patternUnits: 1,\n pointerEvents: 1,\n 'pointer-events': 'pointerEvents',\n points: 0,\n pointsAtX: 1,\n pointsAtY: 1,\n pointsAtZ: 1,\n prefix: 0,\n preserveAlpha: 1,\n preserveAspectRatio: 1,\n primitiveUnits: 1,\n property: 0,\n r: 0,\n radius: 0,\n refX: 1,\n refY: 1,\n renderingIntent: 1,\n 'rendering-intent': 'renderingIntent',\n repeatCount: 1,\n repeatDur: 1,\n requiredExtensions: 1,\n requiredFeatures: 1,\n resource: 0,\n restart: 0,\n result: 0,\n results: 0,\n rotate: 0,\n rx: 0,\n ry: 0,\n scale: 0,\n security: 0,\n seed: 0,\n shapeRendering: 1,\n 'shape-rendering': 'shapeRendering',\n slope: 0,\n spacing: 0,\n specularConstant: 1,\n specularExponent: 1,\n speed: 0,\n spreadMethod: 1,\n startOffset: 1,\n stdDeviation: 1,\n stemh: 0,\n stemv: 0,\n stitchTiles: 1,\n stopColor: 1,\n 'stop-color': 'stopColor',\n stopOpacity: 1,\n 'stop-opacity': 'stopOpacity',\n strikethroughPosition: 1,\n 'strikethrough-position': 'strikethroughPosition',\n strikethroughThickness: 1,\n 'strikethrough-thickness': 'strikethroughThickness',\n string: 0,\n stroke: 0,\n strokeDasharray: 1,\n 'stroke-dasharray': 'strokeDasharray',\n strokeDashoffset: 1,\n 'stroke-dashoffset': 'strokeDashoffset',\n strokeLinecap: 1,\n 'stroke-linecap': 'strokeLinecap',\n strokeLinejoin: 1,\n 'stroke-linejoin': 'strokeLinejoin',\n strokeMiterlimit: 1,\n 'stroke-miterlimit': 'strokeMiterlimit',\n strokeWidth: 1,\n 'stroke-width': 'strokeWidth',\n strokeOpacity: 1,\n 'stroke-opacity': 'strokeOpacity',\n suppressContentEditableWarning: 1,\n suppressHydrationWarning: 1,\n surfaceScale: 1,\n systemLanguage: 1,\n tableValues: 1,\n targetX: 1,\n targetY: 1,\n textAnchor: 1,\n 'text-anchor': 'textAnchor',\n textDecoration: 1,\n 'text-decoration': 'textDecoration',\n textLength: 1,\n textRendering: 1,\n 'text-rendering': 'textRendering',\n to: 0,\n transform: 0,\n typeof: 0,\n u1: 0,\n u2: 0,\n underlinePosition: 1,\n 'underline-position': 'underlinePosition',\n underlineThickness: 1,\n 'underline-thickness': 'underlineThickness',\n unicode: 0,\n unicodeBidi: 1,\n 'unicode-bidi': 'unicodeBidi',\n unicodeRange: 1,\n 'unicode-range': 'unicodeRange',\n unitsPerEm: 1,\n 'units-per-em': 'unitsPerEm',\n unselectable: 0,\n vAlphabetic: 1,\n 'v-alphabetic': 'vAlphabetic',\n values: 0,\n vectorEffect: 1,\n 'vector-effect': 'vectorEffect',\n version: 0,\n vertAdvY: 1,\n 'vert-adv-y': 'vertAdvY',\n vertOriginX: 1,\n 'vert-origin-x': 'vertOriginX',\n vertOriginY: 1,\n 'vert-origin-y': 'vertOriginY',\n vHanging: 1,\n 'v-hanging': 'vHanging',\n vIdeographic: 1,\n 'v-ideographic': 'vIdeographic',\n viewBox: 1,\n viewTarget: 1,\n visibility: 0,\n vMathematical: 1,\n 'v-mathematical': 'vMathematical',\n vocab: 0,\n widths: 0,\n wordSpacing: 1,\n 'word-spacing': 'wordSpacing',\n writingMode: 1,\n 'writing-mode': 'writingMode',\n x1: 0,\n x2: 0,\n x: 0,\n xChannelSelector: 1,\n xHeight: 1,\n 'x-height': 'xHeight',\n xlinkActuate: 1,\n 'xlink:actuate': 'xlinkActuate',\n xlinkArcrole: 1,\n 'xlink:arcrole': 'xlinkArcrole',\n xlinkHref: 1,\n 'xlink:href': 'xlinkHref',\n xlinkRole: 1,\n 'xlink:role': 'xlinkRole',\n xlinkShow: 1,\n 'xlink:show': 'xlinkShow',\n xlinkTitle: 1,\n 'xlink:title': 'xlinkTitle',\n xlinkType: 1,\n 'xlink:type': 'xlinkType',\n xmlBase: 1,\n 'xml:base': 'xmlBase',\n xmlLang: 1,\n 'xml:lang': 'xmlLang',\n xmlns: 0,\n 'xml:space': 'xmlSpace',\n xmlnsXlink: 1,\n 'xmlns:xlink': 'xmlnsXlink',\n xmlSpace: 1,\n y1: 0,\n y2: 0,\n y: 0,\n yChannelSelector: 1,\n z: 0,\n zoomAndPan: 1\n};\n","'use strict';\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n\n\n\n// A reserved attribute.\n// It is handled by React separately and shouldn't be written to the DOM.\nconst RESERVED = 0;\n\n// A simple string attribute.\n// Attributes that aren't in the filter are presumed to have this type.\nconst STRING = 1;\n\n// A string attribute that accepts booleans in React. In HTML, these are called\n// \"enumerated\" attributes with \"true\" and \"false\" as possible values.\n// When true, it should be set to a \"true\" string.\n// When false, it should be set to a \"false\" string.\nconst BOOLEANISH_STRING = 2;\n\n// A real boolean attribute.\n// When true, it should be present (set either to an empty string or its name).\n// When false, it should be omitted.\nconst BOOLEAN = 3;\n\n// An attribute that can be used as a flag as well as with a value.\n// When true, it should be present (set either to an empty string or its name).\n// When false, it should be omitted.\n// For any other value, should be present with that value.\nconst OVERLOADED_BOOLEAN = 4;\n\n// An attribute that must be numeric or parse as a numeric.\n// When falsy, it should be removed.\nconst NUMERIC = 5;\n\n// An attribute that must be positive numeric or parse as a positive numeric.\n// When falsy, it should be removed.\nconst POSITIVE_NUMERIC = 6;\n\nfunction getPropertyInfo(name) {\n return properties.hasOwnProperty(name) ? properties[name] : null;\n}\n\nfunction PropertyInfoRecord(\n name,\n type,\n mustUseProperty,\n attributeName,\n attributeNamespace,\n sanitizeURL,\n removeEmptyString,\n) {\n this.acceptsBooleans =\n type === BOOLEANISH_STRING ||\n type === BOOLEAN ||\n type === OVERLOADED_BOOLEAN;\n this.attributeName = attributeName;\n this.attributeNamespace = attributeNamespace;\n this.mustUseProperty = mustUseProperty;\n this.propertyName = name;\n this.type = type;\n this.sanitizeURL = sanitizeURL;\n this.removeEmptyString = removeEmptyString;\n}\n\n// When adding attributes to this list, be sure to also add them to\n// the `possibleStandardNames` module to ensure casing and incorrect\n// name warnings.\nconst properties = {};\n\n// These props are reserved by React. They shouldn't be written to the DOM.\nconst reservedProps = [\n 'children',\n 'dangerouslySetInnerHTML',\n // TODO: This prevents the assignment of defaultValue to regular\n // elements (not just inputs). Now that ReactDOMInput assigns to the\n // defaultValue property -- do we need this?\n 'defaultValue',\n 'defaultChecked',\n 'innerHTML',\n 'suppressContentEditableWarning',\n 'suppressHydrationWarning',\n 'style',\n];\n\nreservedProps.forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n RESERVED,\n false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// A few React string attributes have a different name.\n// This is a mapping from React prop names to the attribute names.\n[\n ['acceptCharset', 'accept-charset'],\n ['className', 'class'],\n ['htmlFor', 'for'],\n ['httpEquiv', 'http-equiv'],\n].forEach(([name, attributeName]) => {\n properties[name] = new PropertyInfoRecord(\n name,\n STRING,\n false, // mustUseProperty\n attributeName, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are \"enumerated\" HTML attributes that accept \"true\" and \"false\".\n// In React, we let users pass `true` and `false` even though technically\n// these aren't boolean attributes (they are coerced to strings).\n['contentEditable', 'draggable', 'spellCheck', 'value'].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n BOOLEANISH_STRING,\n false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are \"enumerated\" SVG attributes that accept \"true\" and \"false\".\n// In React, we let users pass `true` and `false` even though technically\n// these aren't boolean attributes (they are coerced to strings).\n// Since these are SVG attributes, their attribute names are case-sensitive.\n[\n 'autoReverse',\n 'externalResourcesRequired',\n 'focusable',\n 'preserveAlpha',\n].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n BOOLEANISH_STRING,\n false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are HTML boolean attributes.\n[\n 'allowFullScreen',\n 'async',\n // Note: there is a special case that prevents it from being written to the DOM\n // on the client side because the browsers are inconsistent. Instead we call focus().\n 'autoFocus',\n 'autoPlay',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'disablePictureInPicture',\n 'disableRemotePlayback',\n 'formNoValidate',\n 'hidden',\n 'loop',\n 'noModule',\n 'noValidate',\n 'open',\n 'playsInline',\n 'readOnly',\n 'required',\n 'reversed',\n 'scoped',\n 'seamless',\n // Microdata\n 'itemScope',\n].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n BOOLEAN,\n false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are the few React props that we set as DOM properties\n// rather than attributes. These are all booleans.\n[\n 'checked',\n // Note: `option.selected` is not updated if `select.multiple` is\n // disabled with `removeAttribute`. We have special logic for handling this.\n 'multiple',\n 'muted',\n 'selected',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n BOOLEAN,\n true, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are HTML attributes that are \"overloaded booleans\": they behave like\n// booleans, but can also accept a string value.\n[\n 'capture',\n 'download',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n OVERLOADED_BOOLEAN,\n false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are HTML attributes that must be positive numbers.\n[\n 'cols',\n 'rows',\n 'size',\n 'span',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n POSITIVE_NUMERIC,\n false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are HTML attributes that must be numbers.\n['rowSpan', 'start'].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n NUMERIC,\n false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\nconst CAMELIZE = /[\\-\\:]([a-z])/g;\nconst capitalize = token => token[1].toUpperCase();\n\n// This is a list of all SVG attributes that need special casing, namespacing,\n// or boolean value assignment. Regular attributes that just accept strings\n// and have the same names are omitted, just like in the HTML attribute filter.\n// Some of these attributes can be hard to find. This list was created by\n// scraping the MDN documentation.\n[\n 'accent-height',\n 'alignment-baseline',\n 'arabic-form',\n 'baseline-shift',\n 'cap-height',\n 'clip-path',\n 'clip-rule',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'dominant-baseline',\n 'enable-background',\n 'fill-opacity',\n 'fill-rule',\n 'flood-color',\n 'flood-opacity',\n 'font-family',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-style',\n 'font-variant',\n 'font-weight',\n 'glyph-name',\n 'glyph-orientation-horizontal',\n 'glyph-orientation-vertical',\n 'horiz-adv-x',\n 'horiz-origin-x',\n 'image-rendering',\n 'letter-spacing',\n 'lighting-color',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'overline-position',\n 'overline-thickness',\n 'paint-order',\n 'panose-1',\n 'pointer-events',\n 'rendering-intent',\n 'shape-rendering',\n 'stop-color',\n 'stop-opacity',\n 'strikethrough-position',\n 'strikethrough-thickness',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke-width',\n 'text-anchor',\n 'text-decoration',\n 'text-rendering',\n 'underline-position',\n 'underline-thickness',\n 'unicode-bidi',\n 'unicode-range',\n 'units-per-em',\n 'v-alphabetic',\n 'v-hanging',\n 'v-ideographic',\n 'v-mathematical',\n 'vector-effect',\n 'vert-adv-y',\n 'vert-origin-x',\n 'vert-origin-y',\n 'word-spacing',\n 'writing-mode',\n 'xmlns:xlink',\n 'x-height',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(attributeName => {\n const name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(\n name,\n STRING,\n false, // mustUseProperty\n attributeName,\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// String SVG attributes with the xlink namespace.\n[\n 'xlink:actuate',\n 'xlink:arcrole',\n 'xlink:role',\n 'xlink:show',\n 'xlink:title',\n 'xlink:type',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(attributeName => {\n const name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(\n name,\n STRING,\n false, // mustUseProperty\n attributeName,\n 'http://www.w3.org/1999/xlink',\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// String SVG attributes with the xml namespace.\n[\n 'xml:base',\n 'xml:lang',\n 'xml:space',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(attributeName => {\n const name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(\n name,\n STRING,\n false, // mustUseProperty\n attributeName,\n 'http://www.w3.org/XML/1998/namespace',\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These attribute exists both in HTML and SVG.\n// The attribute name is case-sensitive in SVG so we can't just use\n// the React name like we do for attributes that exist only in HTML.\n['tabIndex', 'crossOrigin'].forEach(attributeName => {\n properties[attributeName] = new PropertyInfoRecord(\n attributeName,\n STRING,\n false, // mustUseProperty\n attributeName.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These attributes accept URLs. These must not allow javascript: URLS.\n// These will also need to accept Trusted Types object in the future.\nconst xlinkHref = 'xlinkHref';\nproperties[xlinkHref] = new PropertyInfoRecord(\n 'xlinkHref',\n STRING,\n false, // mustUseProperty\n 'xlink:href',\n 'http://www.w3.org/1999/xlink',\n true, // sanitizeURL\n false, // removeEmptyString\n);\n\n['src', 'href', 'action', 'formAction'].forEach(attributeName => {\n properties[attributeName] = new PropertyInfoRecord(\n attributeName,\n STRING,\n false, // mustUseProperty\n attributeName.toLowerCase(), // attributeName\n null, // attributeNamespace\n true, // sanitizeURL\n true, // removeEmptyString\n );\n});\n\n// \nconst {\n CAMELCASE,\n SAME,\n possibleStandardNames: possibleStandardNamesOptimized\n} = require('../lib/possibleStandardNamesOptimized');\n\nconst ATTRIBUTE_NAME_START_CHAR =\n ':A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\n\nconst ATTRIBUTE_NAME_CHAR =\n ATTRIBUTE_NAME_START_CHAR + '\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\n\n/**\n * Checks whether a property name is a custom attribute.\n *\n * @see https://github.com/facebook/react/blob/15-stable/src/renderers/dom/shared/HTMLDOMPropertyConfig.js#L23-L25\n *\n * @type {(attribute: string) => boolean}\n */\nconst isCustomAttribute =\n RegExp.prototype.test.bind(\n // eslint-disable-next-line no-misleading-character-class\n new RegExp('^(data|aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$')\n );\n\n/**\n * @type {Record<string, string>}\n */\nconst possibleStandardNames = Object.keys(\n possibleStandardNamesOptimized\n).reduce((accumulator, standardName) => {\n const propName = possibleStandardNamesOptimized[standardName];\n if (propName === SAME) {\n accumulator[standardName] = standardName;\n } else if (propName === CAMELCASE) {\n accumulator[standardName.toLowerCase()] = standardName;\n } else {\n accumulator[standardName] = propName;\n }\n return accumulator;\n}, {});\n\nexports.BOOLEAN = BOOLEAN;\nexports.BOOLEANISH_STRING = BOOLEANISH_STRING;\nexports.NUMERIC = NUMERIC;\nexports.OVERLOADED_BOOLEAN = OVERLOADED_BOOLEAN;\nexports.POSITIVE_NUMERIC = POSITIVE_NUMERIC;\nexports.RESERVED = RESERVED;\nexports.STRING = STRING;\nexports.getPropertyInfo = getPropertyInfo;\nexports.isCustomAttribute = isCustomAttribute;\nexports.possibleStandardNames = possibleStandardNames;\n","// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function (style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function (node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = StyleToObject;\nvar inline_style_parser_1 = __importDefault(require(\"inline-style-parser\"));\n/**\n * Parses inline style to object.\n *\n * @param style - Inline style.\n * @param iterator - Iterator.\n * @returns - Style object or null.\n *\n * @example Parsing inline style to object:\n *\n * ```js\n * import parse from 'style-to-object';\n * parse('line-height: 42;'); // { 'line-height': '42' }\n * ```\n */\nfunction StyleToObject(style, iterator) {\n var styleObject = null;\n if (!style || typeof style !== 'string') {\n return styleObject;\n }\n var declarations = (0, inline_style_parser_1.default)(style);\n var hasIterator = typeof iterator === 'function';\n declarations.forEach(function (declaration) {\n if (declaration.type !== 'declaration') {\n return;\n }\n var property = declaration.property, value = declaration.value;\n if (hasIterator) {\n iterator(property, value, declaration);\n }\n else if (value) {\n styleObject = styleObject || {};\n styleObject[property] = value;\n }\n });\n return styleObject;\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.camelCase = void 0;\nvar CUSTOM_PROPERTY_REGEX = /^--[a-zA-Z0-9_-]+$/;\nvar HYPHEN_REGEX = /-([a-z])/g;\nvar NO_HYPHEN_REGEX = /^[^-]+$/;\nvar VENDOR_PREFIX_REGEX = /^-(webkit|moz|ms|o|khtml)-/;\nvar MS_VENDOR_PREFIX_REGEX = /^-(ms)-/;\n/**\n * Checks whether to skip camelCase.\n */\nvar skipCamelCase = function (property) {\n return !property ||\n NO_HYPHEN_REGEX.test(property) ||\n CUSTOM_PROPERTY_REGEX.test(property);\n};\n/**\n * Replacer that capitalizes first character.\n */\nvar capitalize = function (match, character) {\n return character.toUpperCase();\n};\n/**\n * Replacer that removes beginning hyphen of vendor prefix property.\n */\nvar trimHyphen = function (match, prefix) { return \"\".concat(prefix, \"-\"); };\n/**\n * CamelCases a CSS property.\n */\nvar camelCase = function (property, options) {\n if (options === void 0) { options = {}; }\n if (skipCamelCase(property)) {\n return property;\n }\n property = property.toLowerCase();\n if (options.reactCompat) {\n // `-ms` vendor prefix should not be capitalized\n property = property.replace(MS_VENDOR_PREFIX_REGEX, trimHyphen);\n }\n else {\n // for non-React, remove first hyphen so vendor prefix is not capitalized\n property = property.replace(VENDOR_PREFIX_REGEX, trimHyphen);\n }\n return property.replace(HYPHEN_REGEX, capitalize);\n};\nexports.camelCase = camelCase;\n//# sourceMappingURL=utilities.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar style_to_object_1 = __importDefault(require(\"style-to-object\"));\nvar utilities_1 = require(\"./utilities\");\n/**\n * Parses CSS inline style to JavaScript object (camelCased).\n */\nfunction StyleToJS(style, options) {\n var output = {};\n if (!style || typeof style !== 'string') {\n return output;\n }\n (0, style_to_object_1.default)(style, function (property, value) {\n // skip CSS comment\n if (property && value) {\n output[(0, utilities_1.camelCase)(property, options)] = value;\n }\n });\n return output;\n}\nStyleToJS.default = StyleToJS;\nmodule.exports = StyleToJS;\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.returnFirstArg = exports.canTextBeChildOfNode = exports.ELEMENTS_WITH_NO_TEXT_CHILDREN = exports.PRESERVE_CUSTOM_ATTRIBUTES = void 0;\nexports.isCustomComponent = isCustomComponent;\nexports.setStyleProp = setStyleProp;\nvar react_1 = require(\"react\");\nvar style_to_js_1 = __importDefault(require(\"style-to-js\"));\nvar RESERVED_SVG_MATHML_ELEMENTS = new Set([\n 'annotation-xml',\n 'color-profile',\n 'font-face',\n 'font-face-src',\n 'font-face-uri',\n 'font-face-format',\n 'font-face-name',\n 'missing-glyph',\n]);\n/**\n * Check if a tag is a custom component.\n *\n * @see {@link https://github.com/facebook/react/blob/v16.6.3/packages/react-dom/src/shared/isCustomComponent.js}\n *\n * @param tagName - Tag name.\n * @param props - Props passed to the element.\n * @returns - Whether the tag is custom component.\n */\nfunction isCustomComponent(tagName, props) {\n if (!tagName.includes('-')) {\n return Boolean(props && typeof props.is === 'string');\n }\n // These are reserved SVG and MathML elements.\n // We don't mind this whitelist too much because we expect it to never grow.\n // The alternative is to track the namespace in a few places which is convoluted.\n // https://w3c.github.io/webcomponents/spec/custom/#custom-elements-core-concepts\n if (RESERVED_SVG_MATHML_ELEMENTS.has(tagName)) {\n return false;\n }\n return true;\n}\nvar styleOptions = {\n reactCompat: true,\n};\n/**\n * Sets style prop.\n *\n * @param style - Inline style.\n * @param props - Props object.\n */\nfunction setStyleProp(style, props) {\n if (typeof style !== 'string') {\n return;\n }\n if (!style.trim()) {\n props.style = {};\n return;\n }\n try {\n props.style = (0, style_to_js_1.default)(style, styleOptions);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (error) {\n props.style = {};\n }\n}\n/**\n * @see https://reactjs.org/blog/2017/09/08/dom-attributes-in-react-16.html\n */\nexports.PRESERVE_CUSTOM_ATTRIBUTES = Number(react_1.version.split('.')[0]) >= 16;\n/**\n * @see https://github.com/facebook/react/blob/cae635054e17a6f107a39d328649137b83f25972/packages/react-dom/src/client/validateDOMNesting.js#L213\n */\nexports.ELEMENTS_WITH_NO_TEXT_CHILDREN = new Set([\n 'tr',\n 'tbody',\n 'thead',\n 'tfoot',\n 'colgroup',\n 'table',\n 'head',\n 'html',\n 'frameset',\n]);\n/**\n * Checks if the given node can contain text nodes\n *\n * @param node - Element node.\n * @returns - Whether the node can contain text nodes.\n */\nvar canTextBeChildOfNode = function (node) {\n return !exports.ELEMENTS_WITH_NO_TEXT_CHILDREN.has(node.name);\n};\nexports.canTextBeChildOfNode = canTextBeChildOfNode;\n/**\n * Returns the first argument as is.\n *\n * @param arg - The argument to be returned.\n * @returns - The input argument `arg`.\n */\nvar returnFirstArg = function (arg) { return arg; };\nexports.returnFirstArg = returnFirstArg;\n//# sourceMappingURL=utilities.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = attributesToProps;\nvar react_property_1 = require(\"react-property\");\nvar utilities_1 = require(\"./utilities\");\n// https://react.dev/learn/sharing-state-between-components#controlled-and-uncontrolled-components\n// https://developer.mozilla.org/docs/Web/HTML/Attributes\nvar UNCONTROLLED_COMPONENT_ATTRIBUTES = ['checked', 'value'];\nvar UNCONTROLLED_COMPONENT_NAMES = ['input', 'select', 'textarea'];\nvar valueOnlyInputs = {\n reset: true,\n submit: true,\n};\n/**\n * Converts HTML/SVG DOM attributes to React props.\n *\n * @param attributes - HTML/SVG DOM attributes.\n * @param nodeName - DOM node name.\n * @returns - React props.\n */\nfunction attributesToProps(attributes, nodeName) {\n if (attributes === void 0) { attributes = {}; }\n var props = {};\n var isInputValueOnly = Boolean(attributes.type && valueOnlyInputs[attributes.type]);\n for (var attributeName in attributes) {\n var attributeValue = attributes[attributeName];\n // ARIA (aria-*) or custom data (data-*) attribute\n if ((0, react_property_1.isCustomAttribute)(attributeName)) {\n props[attributeName] = attributeValue;\n continue;\n }\n // convert HTML/SVG attribute to React prop\n var attributeNameLowerCased = attributeName.toLowerCase();\n var propName = getPropName(attributeNameLowerCased);\n if (propName) {\n var propertyInfo = (0, react_property_1.getPropertyInfo)(propName);\n // convert attribute to uncontrolled component prop (e.g., `value` to `defaultValue`)\n if (UNCONTROLLED_COMPONENT_ATTRIBUTES.includes(propName) &&\n UNCONTROLLED_COMPONENT_NAMES.includes(nodeName) &&\n !isInputValueOnly) {\n propName = getPropName('default' + attributeNameLowerCased);\n }\n props[propName] = attributeValue;\n switch (propertyInfo && propertyInfo.type) {\n case react_property_1.BOOLEAN:\n props[propName] = true;\n break;\n case react_property_1.OVERLOADED_BOOLEAN:\n if (attributeValue === '') {\n props[propName] = true;\n }\n break;\n }\n continue;\n }\n // preserve custom attribute if React >=16\n if (utilities_1.PRESERVE_CUSTOM_ATTRIBUTES) {\n props[attributeName] = attributeValue;\n }\n }\n // transform inline style to object\n (0, utilities_1.setStyleProp)(attributes.style, props);\n return props;\n}\n/**\n * Gets prop name from lowercased attribute name.\n *\n * @param attributeName - Lowercased attribute name.\n * @returns - Prop name.\n */\nfunction getPropName(attributeName) {\n return react_property_1.possibleStandardNames[attributeName];\n}\n//# sourceMappingURL=attributes-to-props.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = domToReact;\nvar react_1 = require(\"react\");\nvar attributes_to_props_1 = __importDefault(require(\"./attributes-to-props\"));\nvar utilities_1 = require(\"./utilities\");\nvar React = {\n cloneElement: react_1.cloneElement,\n createElement: react_1.createElement,\n isValidElement: react_1.isValidElement,\n};\n/**\n * Converts DOM nodes to JSX element(s).\n *\n * @param nodes - DOM nodes.\n * @param options - Options.\n * @returns - String or JSX element(s).\n */\nfunction domToReact(nodes, options) {\n if (options === void 0) { options = {}; }\n var reactElements = [];\n var hasReplace = typeof options.replace === 'function';\n var transform = options.transform || utilities_1.returnFirstArg;\n var _a = options.library || React, cloneElement = _a.cloneElement, createElement = _a.createElement, isValidElement = _a.isValidElement;\n var nodesLength = nodes.length;\n for (var index = 0; index < nodesLength; index++) {\n var node = nodes[index];\n // replace with custom React element (if present)\n if (hasReplace) {\n var replaceElement = options.replace(node, index);\n if (isValidElement(replaceElement)) {\n // set \"key\" prop for sibling elements\n // https://react.dev/learn/rendering-lists#rules-of-keys\n if (nodesLength > 1) {\n replaceElement = cloneElement(replaceElement, {\n key: replaceElement.key || index,\n });\n }\n reactElements.push(transform(replaceElement, node, index));\n continue;\n }\n }\n if (node.type === 'text') {\n var isWhitespace = !node.data.trim().length;\n // We have a whitespace node that can't be nested in its parent\n // so skip it\n if (isWhitespace &&\n node.parent &&\n !(0, utilities_1.canTextBeChildOfNode)(node.parent)) {\n continue;\n }\n // Trim is enabled and we have a whitespace node\n // so skip it\n if (options.trim && isWhitespace) {\n continue;\n }\n // We have a text node that's not whitespace and it can be nested\n // in its parent so add it to the results\n reactElements.push(transform(node.data, node, index));\n continue;\n }\n var element = node;\n var props = {};\n if (skipAttributesToProps(element)) {\n (0, utilities_1.setStyleProp)(element.attribs.style, element.attribs);\n props = element.attribs;\n }\n else if (element.attribs) {\n props = (0, attributes_to_props_1.default)(element.attribs, element.name);\n }\n var children = void 0;\n switch (node.type) {\n case 'script':\n case 'style':\n // prevent text in <script> or <style> from being escaped\n // https://react.dev/reference/react-dom/components/common#dangerously-setting-the-inner-html\n if (node.children[0]) {\n props.dangerouslySetInnerHTML = {\n __html: node.children[0].data,\n };\n }\n break;\n case 'tag':\n // setting textarea value in children is an antipattern in React\n // https://react.dev/reference/react-dom/components/textarea#caveats\n if (node.name === 'textarea' && node.children[0]) {\n props.defaultValue = node.children[0].data;\n }\n else if (node.children && node.children.length) {\n // continue recursion of creating React elements (if applicable)\n children = domToReact(node.children, options);\n }\n break;\n // skip all other cases (e.g., comment)\n default:\n continue;\n }\n // set \"key\" prop for sibling elements\n // https://react.dev/learn/rendering-lists#rules-of-keys\n if (nodesLength > 1) {\n props.key = index;\n }\n reactElements.push(transform(createElement(node.name, props, children), node, index));\n }\n return reactElements.length === 1 ? reactElements[0] : reactElements;\n}\n/**\n * Determines whether DOM element attributes should be transformed to props.\n * Web Components should not have their attributes transformed except for `style`.\n *\n * @param node - Element node.\n * @returns - Whether the node attributes should be converted to props.\n */\nfunction skipAttributesToProps(node) {\n return (utilities_1.PRESERVE_CUSTOM_ATTRIBUTES &&\n node.type === 'tag' &&\n (0, utilities_1.isCustomComponent)(node.name, node.attribs));\n}\n//# sourceMappingURL=dom-to-react.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.htmlToDOM = exports.domToReact = exports.attributesToProps = exports.Text = exports.ProcessingInstruction = exports.Element = exports.Comment = void 0;\nexports.default = HTMLReactParser;\nvar html_dom_parser_1 = __importDefault(require(\"html-dom-parser\"));\nexports.htmlToDOM = html_dom_parser_1.default;\nvar attributes_to_props_1 = __importDefault(require(\"./attributes-to-props\"));\nexports.attributesToProps = attributes_to_props_1.default;\nvar dom_to_react_1 = __importDefault(require(\"./dom-to-react\"));\nexports.domToReact = dom_to_react_1.default;\nvar domhandler_1 = require(\"domhandler\");\nObject.defineProperty(exports, \"Comment\", { enumerable: true, get: function () { return domhandler_1.Comment; } });\nObject.defineProperty(exports, \"Element\", { enumerable: true, get: function () { return domhandler_1.Element; } });\nObject.defineProperty(exports, \"ProcessingInstruction\", { enumerable: true, get: function () { return domhandler_1.ProcessingInstruction; } });\nObject.defineProperty(exports, \"Text\", { enumerable: true, get: function () { return domhandler_1.Text; } });\nvar domParserOptions = { lowerCaseAttributeNames: false };\n/**\n * Converts HTML string to React elements.\n *\n * @param html - HTML string.\n * @param options - Parser options.\n * @returns - React element(s), empty array, or string.\n */\nfunction HTMLReactParser(html, options) {\n if (typeof html !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n if (!html) {\n return [];\n }\n return (0, dom_to_react_1.default)((0, html_dom_parser_1.default)(html, (options === null || options === void 0 ? void 0 : options.htmlparser2) || domParserOptions), options);\n}\n//# sourceMappingURL=index.js.map","import HTMLReactParser from '../lib/index.js';\n\nexport {\n attributesToProps,\n Comment,\n domToReact,\n Element,\n htmlToDOM,\n ProcessingInstruction,\n Text,\n} from '../lib/index.js';\n\nexport default HTMLReactParser.default || HTMLReactParser;\n","import parse from 'html-react-parser'\nimport type { SingleStepProps } from '../model/types'\nimport { Heading } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type SingleStepClasses = {\n singleStep?: string\n numeric?: string\n textBlock?: string\n title?: string\n description?: string\n}\n\nexport const SingleStep = ({ classes, index, variant, title, description }: SingleStepProps) => {\n const withTitles = variant === 'withTitleAndDescription' && title\n\n return (\n <div\n className={cn(\n 'flex w-[328px] max-w-[328px] flex-col gap-4 rounded-md border border-solid border-blue-grey-500 p-4 desktop:w-[348px] desktop:max-w-[348px] desktop:border-none desktop:p-0',\n classes?.singleStep\n )}\n >\n <div\n className={cn(\n 'mob-headline-bold-s flex size-10 items-center justify-center rounded-sm bg-color-blue-grey-500 text-color-white desktop:desk-title-bold-l desktop:size-12',\n classes?.numeric\n )}\n >\n {index}\n </div>\n\n <div className={cn('flex flex-col gap-2')}>\n {withTitles && (\n <Heading as='h4' className={cn('text-color-dark', classes?.title)}>\n {title}\n </Heading>\n )}\n <div className={cn('desk-body-regular-l text-color-tetriary', classes?.description)}>{parse(description)}</div>\n </div>\n </div>\n )\n}\n","import { type HTMLAttributes } from 'react'\nimport type { SingleStepItem, StepperVariant } from './model/types'\nimport { SingleStep, type SingleStepClasses } from './ui/SingleStep'\nimport { Heading, ResponsiveContainer, Section } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type StepperClasses = {\n root?: string\n container?: string\n wrapper?: string\n headline?: string\n stepsWrapper?: string\n step?: SingleStepClasses\n}\n\nexport interface StepperProps extends HTMLAttributes<HTMLDivElement> {\n headline: string\n variant: StepperVariant\n stepsList: SingleStepItem[]\n classes?: StepperClasses\n}\n\nexport const Stepper = ({ headline, variant, stepsList, classes }: StepperProps) => {\n return (\n <Section className={classes?.root}>\n <ResponsiveContainer className={classes?.container}>\n <div className={cn('flex flex-col gap-6 desktop:items-start desktop:gap-12', classes?.wrapper)}>\n <Heading as='h2' className={cn('text-color-dark', classes?.headline)}>\n {headline}\n </Heading>\n <div\n className={cn(\n 'flex w-full flex-col items-start gap-6 desktop:flex-row desktop:items-start desktop:gap-12',\n classes?.stepsWrapper\n )}\n >\n {stepsList?.map((step, index) => (\n <SingleStep variant={variant} key={step.description} {...step} index={index + 1} classes={classes?.step} />\n ))}\n </div>\n </div>\n </ResponsiveContainer>\n </Section>\n )\n}\n","import { cva } from 'class-variance-authority'\r\n\r\nexport const titleConfig = cva('', {\r\n variants: {\r\n intent: {\r\n twoItems: 'mob-headline-bold-s mb-6 desktop:desk-headline-bold-m desktop:mb-12',\r\n fourItems: 'mob-title-bold-l desktop:desk-title-bold-l mb-8'\r\n },\r\n desktopHidden: {\r\n true: 'desktop:hidden'\r\n },\r\n mobileHidden: {\r\n true: 'mobile:hidden'\r\n }\r\n },\r\n defaultVariants: {\r\n intent: 'twoItems'\r\n }\r\n})\r\n\r\nexport const listItemConfig = cva('', {\r\n variants: {\r\n intent: {\r\n twoItems: '',\r\n fourItems: ''\r\n },\r\n withButton: {\r\n true: ''\r\n }\r\n },\r\n compoundVariants: [\r\n {\r\n intent: 'twoItems',\r\n withButton: true,\r\n class: 'mb-8 desktop:flex'\r\n },\r\n {\r\n intent: 'twoItems',\r\n withButton: false,\r\n class: 'desktop:flex'\r\n },\r\n {\r\n intent: 'fourItems',\r\n withButton: true,\r\n class: 'desktop:grid grid-rows-2 mb-8 desktop:gap-x-10 desktop:gap-y-4 grid-flow-col'\r\n },\r\n {\r\n intent: 'fourItems',\r\n withButton: false,\r\n class: 'desktop:grid grid-rows-2 desktop:gap-x-10 desktop:gap-y-4 grid-flow-col'\r\n }\r\n ]\r\n})\r\n\r\nexport const itemConfig = cva('border-blue-grey-500 pb-6 mobile:mb-6 mobile:border-b mobile:last:pb-0 mobile:last:mb-0', {\r\n variants: {\r\n intent: {\r\n twoItems:\r\n 'last:border-none relative desktop:first:after:top-1/2 desktop:first:after:-translate-y-1/2 desktop:first:after:right-0 desktop:first:after:content-[\"\"] desktop:first:after:block desktop:first:after:absolute desktop:first:after:w-[1px] desktop:first:after:h-[64px] desktop:first:after:bg-color-blue-grey-500 desktop:ml-8 desktop:pr-8 desktop:first:ml-0 desktop:last:pr-0 desktop:pb-3',\r\n fourItems: ' mobile:last:border-none desktop:w-[264px] desktop:odd:border-b desktop:pb-0 desktop:odd:pb-3'\r\n }\r\n },\r\n defaultVariants: {\r\n intent: 'twoItems'\r\n }\r\n})\r\n\r\nexport const containerImgConfig = cva('mobile:mx-auto mobile:mb-8, h-[172px] w-[280px] ', {\r\n variants: {\r\n intent: {\r\n twoItems: 'desktop:h-[232px] desktop:w-[500px]',\r\n fourItems: ' '\r\n },\r\n withButton: {\r\n true: true,\r\n false: false\r\n }\r\n },\r\n defaultVariants: {\r\n intent: 'twoItems'\r\n },\r\n compoundVariants: [\r\n {\r\n intent: 'fourItems',\r\n withButton: true,\r\n class: 'desktop:h-[360px] desktop:w-[500px]'\r\n },\r\n {\r\n intent: 'fourItems',\r\n withButton: false,\r\n class: 'desktop:h-[272px] desktop:w-[500px]'\r\n }\r\n ]\r\n})\r\n","import { itemConfig } from '../model/cva'\r\nimport { type TextItemProps } from '../model/types'\r\nimport { Icon, Popover } from '$/shared/ui'\r\nimport { cn } from '$/shared/utils'\r\n\r\nexport const TextItem = ({ data, intent }: TextItemProps) => {\r\n const { title, description, popoverText } = data\r\n return (\r\n <li className={cn(itemConfig({ intent }))}>\r\n <div className='desktop:max-w-[264px]'>\r\n <div className={cn('mb-2 flex items-center gap-2')}>\r\n <h4 className={cn('mob-title-bold-m text-color-dark')}>{title}</h4>\r\n {popoverText && (\r\n <Popover triggerElement={<Icon className={cn('size-5 text-icon-blue-grey-600')} name='info/helpCircle' />}>\r\n {popoverText}\r\n </Popover>\r\n )}\r\n </div>\r\n\r\n <p className={cn('mob-body-regular-l text-color-secondary')}>{description}</p>\r\n </div>\r\n </li>\r\n )\r\n}\r\n","import { type ReactElement } from 'react'\r\nimport { titleConfig } from '../model/cva'\r\nimport { type LongBannerConfig } from '../model/types'\r\nimport { cn } from '$/shared/utils'\r\n\r\ninterface TitleProps {\r\n intent: LongBannerConfig['intent']\r\n title: string | ReactElement\r\n desktopHidden?: boolean\r\n mobileHidden?: boolean\r\n}\r\n\r\nexport const Title = ({ intent, title, desktopHidden = false, mobileHidden = false }: TitleProps) => {\r\n return <h2 className={cn(titleConfig({ intent, desktopHidden, mobileHidden }))}>{title}</h2>\r\n}\r\n","import { listItemConfig } from '../model/cva'\r\nimport { type ITextContent, type LongBannerConfig } from '../model/types'\r\nimport { TextItem } from './TextItem'\r\nimport { cn } from '$/shared/utils'\r\n\r\ninterface ListItemsProps {\r\n textContent: ITextContent[]\r\n intent: LongBannerConfig['intent']\r\n withButton: boolean\r\n}\r\n\r\nexport const TextList = ({ textContent, intent, withButton }: ListItemsProps) => {\r\n return (\r\n <ul className={cn(listItemConfig({ intent, withButton }))}>\r\n {textContent?.map((element, index) => <TextItem intent={intent} data={element} key={index} />)}\r\n </ul>\r\n )\r\n}\r\n","import { type ReactElement } from 'react'\r\nimport { containerImgConfig } from './model/cva'\r\nimport { type IButtonConfig, type ILongBannerClasses, type ITextContent, type LongBannerConfig } from './model/types'\r\nimport { TextList, Title } from './ui'\r\nimport { Button, ResponsiveContainer } from '$/shared/ui'\r\nimport { cn } from '$/shared/utils'\r\n\r\nexport interface LongBannerProps extends LongBannerConfig {\r\n title: string | ReactElement\r\n buttonConfig?: IButtonConfig\r\n textContent: ITextContent[]\r\n imageComponent: ReactElement\r\n classes?: ILongBannerClasses\r\n}\r\n\r\nexport const LongBanner = ({\r\n title,\r\n buttonConfig,\r\n intent = 'twoItems',\r\n textContent,\r\n imageComponent,\r\n classes\r\n}: LongBannerProps) => {\r\n const withButton = !!buttonConfig\r\n const isFourItems = intent === 'fourItems'\r\n const isTwoItems = intent === 'twoItems'\r\n\r\n return (\r\n <section className={cn(classes?.root)}>\r\n <ResponsiveContainer className={cn(classes?.container)}>\r\n {isTwoItems && <Title intent={intent} title={title} />}\r\n\r\n <div\r\n className={cn(\r\n 'bg-banner-skyblue-100 px-6 pb-8 pt-6 desktop:flex desktop:flex-row-reverse desktop:justify-between desktop:px-0 desktop:py-0 desktop:pl-12',\r\n classes?.contentContainer\r\n )}\r\n >\r\n {isFourItems && <Title intent={intent} title={title} desktopHidden={true} />}\r\n <div className={cn(containerImgConfig({ intent, withButton }), classes?.imgContainer)}>{imageComponent}</div>\r\n <div\r\n className={cn('desktop:flex desktop:flex-col desktop:justify-center desktop:py-10', classes?.textWithBtnContainer)}\r\n >\r\n {isFourItems && <Title intent={intent} title={title} mobileHidden={true} />}\r\n <TextList textContent={textContent} intent={intent} withButton={withButton} />\r\n {withButton && (\r\n <Button\r\n className={cn('w-full px-4 desktop:w-max', classes?.button)}\r\n size='lg'\r\n onClick={buttonConfig.onClick}\r\n intent='secondary'\r\n >\r\n {buttonConfig.text}\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n </ResponsiveContainer>\r\n </section>\r\n )\r\n}\r\n","export const AUTH_PROVIDER_MODE = {\n ESIA: 'esia',\n MOBILE_ID: 'mobileId',\n COMBINE: 'combine'\n} as const\n","import { Loader, type LoaderProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type AuthWrapperClasses = {\n root?: string\n wrapper?: string\n}\n\nexport interface AuthWrapperProps {\n children: React.ReactElement\n classes?: AuthWrapperClasses\n isLoading?: boolean\n loaderProps?: LoaderProps\n}\n\nexport const AuthWrapper = ({ children, isLoading, classes, loaderProps }: AuthWrapperProps) => {\n return (\n <div\n tabIndex={0}\n className={cn(\n 'relative flex h-[90px] w-full max-w-[328px] items-center justify-center rounded-sm p-2 desktop:max-w-[524px]',\n 'bg-color-white outline outline-1 outline-warm-grey-200 transition-colors focus-visible:outline-primary-focus',\n classes?.root\n )}\n >\n <div\n className={cn(\n 'flex h-[74px] flex-1 cursor-pointer rounded-sm px-2 py-3 transition-colors desktop:px-4 desktop:py-3',\n 'bg-color-blue-grey-100 hover:bg-color-blue-grey-200 active:bg-color-blue-grey-300',\n { 'items-center': isLoading },\n classes?.wrapper\n )}\n >\n {isLoading ? <Loader position='static' classes={{ wrapper: 'size-8 m-auto' }} {...loaderProps} /> : children}\n </div>\n </div>\n )\n}\n","import { type SVGProps } from 'react'\n\nexport const EsiaLogo = ({ ...props }: SVGProps<SVGSVGElement>) => {\n return (\n <svg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg' {...props}>\n <path\n d='M30.3986 10.6149C30.2728 8.96576 29.014 6.85155 27.7553 5.83672C26.3398 4.79816 24.8691 3.83828 23.3497 2.96139C21.8418 2.06068 20.2871 1.24201 18.6923 0.508895C17.8404 0.15868 16.927 -0.0139306 16.007 0.00148264C15.0868 -0.0180029 14.1725 0.154761 13.3217 0.508895C11.7272 1.24253 10.1725 2.06119 8.66438 2.96139C6.23081 4.44134 4.25878 5.83672 4.25878 5.83672C3.22329 6.71008 2.43892 7.83418 1.97146 9.09195C1.87834 9.34251 2.07032 9.59987 2.33762 9.59987H4.2568C4.55401 9.59987 4.82321 9.43281 4.98085 9.18085C5.33539 8.61417 5.77902 8.10202 6.29948 7.66607C6.29948 7.66607 7.92774 6.52186 9.93709 5.3083C11.1823 4.57013 12.466 3.89884 13.7826 3.29725C14.485 3.00687 15.2399 2.8652 15.9998 2.88118C16.7593 2.86854 17.5136 3.01008 18.217 3.29725C19.5337 3.89841 20.8174 4.56972 22.0624 5.3083C23.317 6.02735 24.5313 6.81445 25.7 7.66607C26.7394 8.49823 27.7787 10.2319 27.8826 11.5841C27.8826 11.5841 28.1251 13.5952 28.1598 15.9772C28.1576 17.4483 28.0767 18.9183 27.9173 20.3807C27.6755 21.912 26.8879 23.3038 25.7 24.2988C25.7 24.2988 24.0718 25.4777 22.0624 26.6912C20.8172 27.4294 19.5335 28.1007 18.217 28.7023C17.5145 28.9927 16.7596 29.1343 15.9998 29.1184C15.2409 29.1343 14.4867 28.9963 13.7826 28.7127C12.4658 28.1115 11.1821 27.4402 9.93709 26.7016C7.92774 25.5228 6.29948 24.3092 6.29948 24.3092C5.84515 23.9454 5.39081 23.4094 5.01172 22.8082C4.85581 22.561 4.5896 22.3997 4.2973 22.3997H2.34718C2.07645 22.3997 1.88475 22.6629 1.98611 22.914C2.49249 24.168 3.37564 25.4212 4.25878 26.1332C4.25878 26.1332 6.23081 27.6132 8.66438 29.0508C10.1723 29.9515 11.7269 30.7702 13.3217 31.5033C14.1745 31.8492 15.088 32.0175 16.007 31.998C16.9273 32.0175 17.8416 31.8448 18.6923 31.4906C20.2869 30.757 21.8415 29.9383 23.3497 29.0381C25.7833 27.5582 27.7553 26.1205 27.7553 26.1205C29.1939 24.9072 30.1478 23.2098 30.4406 21.3424C30.6337 19.5589 30.7317 17.7663 30.7343 15.9723C30.6923 13.0673 30.3986 10.6149 30.3986 10.6149Z'\n fill='url(#paint0_linear_6493_452)'\n />\n <path\n d='M1.27985 12.4821C1.27985 12.1286 1.56638 11.8421 1.91985 11.8421H11.8398C12.1933 11.8421 12.4798 12.1286 12.4798 12.4821V14.4021C12.4798 14.7555 12.1933 15.0421 11.8398 15.0421H1.27985V12.4821Z'\n fill='#0066B3'\n />\n <path\n d='M1.27985 16.9618H21.4398C21.7933 16.9618 22.0798 17.2484 22.0798 17.6018V19.5218C22.0798 19.8752 21.7933 20.1618 21.4398 20.1618H1.91985C1.56638 20.1618 1.27985 19.8752 1.27985 19.5218V16.9618Z'\n fill='#EE2F53'\n />\n <defs>\n <linearGradient id='paint0_linear_6493_452' x1='16.0071' y1='0' x2='16.0071' y2='31.9996' gradientUnits='userSpaceOnUse'>\n <stop stopColor='#0066B3' />\n <stop offset='0.354167' stopColor='#0066B3' />\n <stop offset='0.6875' stopColor='#EE2F53' />\n <stop offset='1' stopColor='#EE2F53' />\n </linearGradient>\n </defs>\n </svg>\n )\n}\n","import type { SingleAuthSchema } from '../../model/types'\nimport { CustomLink } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type TLinksClasses = {\n linksWrapper?: string\n linksMainLink?: string\n linksSubLink?: string\n}\n\ninterface ILinksProps extends Pick<SingleAuthSchema, 'subLink' | 'mainLink'> {\n isMobile: boolean\n classes?: TLinksClasses\n}\n\nexport const Links = ({ mainLink, subLink, isMobile, classes }: ILinksProps) => {\n return (\n <div className={cn('flex flex-col', classes?.linksWrapper)}>\n <a\n href={mainLink.href}\n target='_blank'\n rel='noreferrer'\n className={cn(\n 'before:content=[\" \"] desk-body-medium-l z-[4] text-color-dark before:absolute before:left-1/2 before:top-1/2 before:h-full before:w-full before:-translate-x-1/2 before:-translate-y-1/2',\n classes?.linksMainLink\n )}\n >\n {isMobile ? mainLink.mobileTitle : mainLink.title}\n </a>\n\n {subLink?.text && subLink?.href && (\n <CustomLink\n intent='blue'\n withUnderline\n href={subLink?.href}\n target='_blank'\n rel='noreferrer'\n classes={{\n link: cn('w-max relative z-[6] p-0 desk-body-regular-m text-color-tetriary', classes?.linksSubLink)\n }}\n >\n {subLink?.text}\n </CustomLink>\n )}\n </div>\n )\n}\n","import { type TMobileIdProps } from '../model/types'\nimport { AuthWrapper, Links } from './ui/'\nimport { useDevice } from '$/shared/hooks'\nimport { Badge, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport const MobileId = ({ mainLink, subLink, isLoading, badge, loaderProps, classes }: TMobileIdProps) => {\n const { isMobile } = useDevice()\n\n return (\n <AuthWrapper isLoading={isLoading} loaderProps={loaderProps} classes={classes?.authWrapper}>\n <div\n className={cn(\n 'flex flex-1 items-center justify-between gap-1',\n { 'justify-center': !badge && isMobile },\n classes?.innerWrapper\n )}\n >\n <div className={cn('flex items-center gap-1 desktop:gap-4', classes?.textContent)}>\n <div>\n <Icon name='logos/mts' className={cn('relative z-[9] size-7 desktop:size-8', classes?.mtsLogo)} />\n <Icon name='logos/megafon' className={cn('relative z-[8] -ml-4 size-7 desktop:size-8', classes?.megafonLogo)} />\n <Icon name='logos/beeline' className={cn('relative z-[7] -ml-4 size-7 desktop:size-8', classes?.beelineLogo)} />\n </div>\n <Links mainLink={mainLink} subLink={subLink} isMobile={isMobile} classes={classes?.links} />\n <Icon name='arrows/arrowRight' className={cn('mobile:hidden', classes?.arrowIcon)} />\n </div>\n {badge && <Badge className={cn('bg-color-positive', classes?.badge)}>{badge}</Badge>}\n </div>\n </AuthWrapper>\n )\n}\n","import type { TEsiaProps } from '../model/types'\nimport { AuthWrapper, EsiaLogo, Links } from './ui'\nimport { useDevice } from '$/shared/hooks'\nimport { Badge, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport const Esia = ({ mainLink, subLink, isLoading, badge, loaderProps, classes }: TEsiaProps) => {\n const { isMobile } = useDevice()\n\n return (\n <AuthWrapper isLoading={isLoading} loaderProps={loaderProps} classes={classes?.authWrapper}>\n <div\n className={cn(\n 'flex flex-1 items-center justify-between gap-1',\n { 'justify-center': !badge && isMobile },\n classes?.innerWrapper\n )}\n >\n <div className={cn('flex items-center gap-1 desktop:gap-4', classes?.textContent)}>\n <EsiaLogo className={cn('size-7 desktop:size-8', classes?.esiaLogo)} />\n <Links mainLink={mainLink} subLink={subLink} isMobile={isMobile} classes={classes?.links} />\n <Icon name='arrows/arrowRight' className={cn('mobile:hidden', classes?.arrowIcon)} />\n </div>\n {badge && <Badge className={cn('bg-color-positive', classes?.badge)}>{badge}</Badge>}\n </div>\n </AuthWrapper>\n )\n}\n","import * as React from 'react'\nimport { AUTH_PROVIDER_MODE } from './model/helpers'\nimport type { AuthProviderProps } from './model/types'\nimport { Esia, MobileId } from './ui'\nimport { Badge } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nconst renderProvider = (props: AuthProviderProps): React.ReactElement => {\n switch (props.mode) {\n case AUTH_PROVIDER_MODE.ESIA:\n return <Esia {...props} />\n case AUTH_PROVIDER_MODE.MOBILE_ID:\n return <MobileId {...props} />\n case AUTH_PROVIDER_MODE.COMBINE:\n default:\n const { esiaConfig, mobileIdConfig, subtitle, badge, classes } = props\n\n const HeadWrapper = !subtitle && !badge ? React.Fragment : 'div'\n\n return (\n <div\n className={cn(\n 'flex w-[328px] flex-col items-center justify-center gap-2 rounded-sm bg-color-white px-2 py-4 outline outline-1 outline-warm-grey-200 desktop:w-[524px] desktop:p-4',\n classes?.root\n )}\n >\n <HeadWrapper className={cn('flex w-full items-center justify-between gap-2', classes?.topContent)}>\n {subtitle && <h5 className={cn('desk-body-regular-l flex flex-1 text-color-dark', classes?.subtitle)}>{subtitle}</h5>}\n {badge && <Badge className={cn('bg-color-positive', classes?.badge)}>{badge}</Badge>}\n </HeadWrapper>\n <div className={cn('grid w-full grid-cols-2 gap-2 desktop:gap-4', classes?.authWrapper)}>\n <Esia\n {...esiaConfig}\n classes={{\n root: 'p-0 outline-0 h-[74px]',\n arrowIcon: 'hidden',\n ...esiaConfig.classes\n }}\n />\n <MobileId\n {...mobileIdConfig}\n classes={{\n root: 'p-0 outline-0 h-[74px]',\n arrowIcon: 'hidden',\n ...mobileIdConfig.classes\n }}\n />\n </div>\n </div>\n )\n }\n}\n\nexport const AuthProvider = (props: AuthProviderProps) => {\n return renderProvider(props)\n}\n","import type { GroupLinkSchema } from '../model/types'\nimport { CustomLink } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type LinksListClasses = {\n linksWrapper?: string\n linkText?: string\n linkIcon?: string\n}\n\nexport interface LinksListProps {\n links: GroupLinkSchema[]\n classes?: LinksListClasses\n}\n\nexport const LinksList = ({ links, classes }: LinksListProps) => {\n return (\n <nav className={cn('flex flex-col gap-1', classes?.linksWrapper)}>\n {links?.map(({ path, label }) => (\n <CustomLink\n classes={{\n link: cn('w-max', classes?.linkText),\n icon: cn(classes?.linkIcon)\n }}\n key={path}\n href={path}\n >\n {label}\n </CustomLink>\n ))}\n </nav>\n )\n}\n","import type { ColumnGroupSchema } from '../model/types'\nimport { LinksList, type LinksListClasses } from './LinksList'\nimport { useDevice } from '$/shared/hooks'\nimport { Accordion, type AccordionProps, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type ColumnGroupClasses = {\n columnGroup?: string\n columnGroupHeading?: string\n linksList?: LinksListClasses\n}\n\nexport interface ColumnGroupProps extends ColumnGroupSchema {\n mobileAccordionProps?: AccordionProps\n classes?: ColumnGroupClasses\n}\n\nexport const ColumnGroup = ({ groupLabel, links, mobileAccordionProps, classes }: ColumnGroupProps) => {\n const { isMobile } = useDevice()\n\n return (\n <div className={cn('flex flex-col gap-2', classes?.columnGroup)}>\n {!isMobile && (\n <>\n <h5 className={cn('mob-body-medium-l text-color-dark desktop:desk-body-medium-l', classes?.columnGroupHeading)}>\n {groupLabel}\n </h5>\n <LinksList key='desktop' links={links} classes={classes?.linksList} />\n </>\n )}\n\n {isMobile && (\n <Accordion\n defaultOpen\n label={groupLabel}\n icon={\n <Icon name='arrows/arrowRight' className={cn('rotate-90 transition-transform group-data-[state=open]:-rotate-90')} />\n }\n {...mobileAccordionProps}\n classes={{\n ...mobileAccordionProps?.classes,\n header: {\n trigger: cn('p-0', mobileAccordionProps?.classes?.header?.trigger)\n },\n contentInner: cn('py-2 px-4', mobileAccordionProps?.classes?.contentInner)\n }}\n >\n <LinksList key='mobile' links={links} classes={classes?.linksList} />\n </Accordion>\n )}\n </div>\n )\n}\n","import type { ColumnGroupSchema } from '../model/types'\nimport { ColumnGroup, type ColumnGroupClasses } from './ColumnGroup'\nimport type { AccordionProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type ColumnClasses = {\n column?: string\n columnGroup?: ColumnGroupClasses\n}\n\nexport interface ColumnProps {\n column: ColumnGroupSchema[]\n mobileAccordionProps?: AccordionProps\n classes?: ColumnClasses\n}\n\nexport const Column = ({ column, mobileAccordionProps, classes }: ColumnProps) => {\n return (\n <div className={cn('flex flex-col gap-4 desktop:gap-6', classes?.column)}>\n {column?.map((group) => (\n <ColumnGroup key={group.groupLabel} {...mobileAccordionProps} {...group} classes={classes?.columnGroup} />\n ))}\n </div>\n )\n}\n","import { cva } from 'class-variance-authority'\nimport type { InterLinkingSchema } from './model/types'\nimport { Column, type ColumnClasses } from './ui'\nimport { Accordion, type AccordionProps, Heading, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nconst columnsWrapper = cva('grid gap-4 grid-cols-1', {\n variants: {\n variant: {\n twoCols: 'desktop:grid-cols-2',\n threeCols: 'desktop:grid-cols-3',\n fourCols: 'desktop:grid-cols-4'\n }\n },\n defaultVariants: {\n variant: 'fourCols'\n }\n})\n\nexport type InterLinkingClasses = {\n root?: string\n headline?: string\n columnsWrapper?: string\n column?: ColumnClasses\n}\n\nexport interface InterLinkingProps extends InterLinkingSchema {\n mobileAccordionProps?: AccordionProps\n rootAccordionProps?: AccordionProps\n classes?: InterLinkingClasses\n}\n\nexport const InterLinking = ({\n columns,\n variant,\n headline,\n mobileAccordionProps,\n rootAccordionProps,\n classes\n}: InterLinkingProps) => {\n return (\n <section id='inter-linking' className={cn('min-w-full desktop:min-w-[1140px]', classes?.root)}>\n <ResponsiveContainer>\n <Accordion\n defaultOpen\n label={\n <Heading as='h4' className={cn('text-left', classes?.headline)}>\n {headline}\n </Heading>\n }\n {...rootAccordionProps}\n classes={{\n ...rootAccordionProps?.classes,\n content: cn('max-w-full bg-color-blue-grey-100 relative', rootAccordionProps?.classes?.content)\n }}\n >\n <div className={cn(columnsWrapper({ variant: variant }), classes?.columnsWrapper)}>\n {columns?.map((column, index) => (\n <Column key={index} {...column} {...mobileAccordionProps} classes={classes?.column} />\n ))}\n </div>\n </Accordion>\n </ResponsiveContainer>\n </section>\n )\n}\n"],"names":["itemConfig","cva","BenefitItem","description","title","img","mobileImg","classes","withButton","buttonText","intent","cardColor","isDesktop","useDevice","button","jsx","Fragment","Button","cn","scrollToElement","jsxs","Heading","gridConfig","Benefit","heading","cards","ResponsiveContainer","card","renderContentVariant","props","_a","PhoneView","PageHeader","logoPath","logoType","BannerButtonsGroup","buttonsConfig","className","withSecondaryBtn","BannerImageFull","headTitle","subtitle","advantagesConfig","imgSets","isMobile","advantage","Advantages","BannerWithSeparateImg","Banner","bannerVariant","variant","advantagesList","defaultCopyright","defaultPhones","defaultSocialsLinks","defaultNavigationLinks","SocialLinks","socialsLinks","iconName","href","Icon","PhonesBlock","phones","phone","text","NavLinks","navigationLinks","groupLabel","links","CustomLink","Copyright","FooterLogo","SiteMap","Footer","withSocial","withPhones","withNavLinks","withCopyright","withSiteMap","ligal","copyright","exports","ElementType","isTag","elem","__extends","this","extendStatics","d","b","p","__","__assign","t","s","i","node","domelementtype_1","require$$0","Node","parent","prev","next","recursive","cloneNode","DataNode","_super","data","_this","Text","Comment","ProcessingInstruction","name","NodeWithChildren","children","CDATA","Document","Element","attribs","type","_b","isCDATA","isText","isComment","isDirective","isDocument","hasChildren","result","cloneChildren","clone_1","child","clone_2","clone_3","instruction","childs","__createBinding","o","m","k","k2","desc","__exportStar","node_js_1","require$$1","defaultOpts","DomHandler","callback","options","elementCB","parser","error","element","lastNode","previousSibling","accumulator","tagName","utilities","formatAttributes","escapeSpecialCharacters","revertEscapedCharacters","formatDOM","domhandler_1","constants_1","getCaseSensitiveTagName","attributes","map","index","attributesLength","attribute","formatTagName","caseSensitiveTagName","html","nodes","directive","domNodes","current","nodesLength","domparser_1","domparser","utilities_1","HTML","HEAD","BODY","FIRST_TAG_REGEX","HEAD_TAG_REGEX","BODY_TAG_REGEX","parseFromDocument","parseFromString","DOMParser","domParser_1","mimeType_1","htmlDocument_1","template","parseFromTemplate","match","firstTagName","doc","elements","__importDefault","mod","htmlToDom","HTMLDOMParser","DIRECTIVE_REGEX","SAME","possibleStandardNamesOptimized","CAMELCASE","RESERVED","STRING","BOOLEANISH_STRING","BOOLEAN","OVERLOADED_BOOLEAN","NUMERIC","POSITIVE_NUMERIC","getPropertyInfo","properties","PropertyInfoRecord","mustUseProperty","attributeName","attributeNamespace","sanitizeURL","removeEmptyString","reservedProps","CAMELIZE","capitalize","token","xlinkHref","ATTRIBUTE_NAME_START_CHAR","ATTRIBUTE_NAME_CHAR","isCustomAttribute","possibleStandardNames","standardName","propName","lib","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","NEWLINE","FORWARD_SLASH","ASTERISK","EMPTY_STRING","TYPE_COMMENT","TYPE_DECLARATION","inlineStyleParser","style","lineno","column","updatePosition","str","lines","position","start","Position","whitespace","msg","err","re","comments","rules","comment","pos","declaration","prop","val","ret","trim","declarations","decls","decl","cjs","StyleToObject","inline_style_parser_1","iterator","styleObject","hasIterator","property","value","CUSTOM_PROPERTY_REGEX","HYPHEN_REGEX","NO_HYPHEN_REGEX","VENDOR_PREFIX_REGEX","MS_VENDOR_PREFIX_REGEX","skipCamelCase","character","trimHyphen","prefix","camelCase","style_to_object_1","StyleToJS","output","isCustomComponent","setStyleProp","react_1","style_to_js_1","RESERVED_SVG_MATHML_ELEMENTS","styleOptions","canTextBeChildOfNode","returnFirstArg","arg","attributesToProps_1","attributesToProps","react_property_1","UNCONTROLLED_COMPONENT_ATTRIBUTES","UNCONTROLLED_COMPONENT_NAMES","valueOnlyInputs","nodeName","isInputValueOnly","attributeValue","attributeNameLowerCased","getPropName","propertyInfo","domToReact_1","domToReact","attributes_to_props_1","require$$2","React","reactElements","hasReplace","transform","cloneElement","createElement","isValidElement","replaceElement","isWhitespace","skipAttributesToProps","HTMLReactParser","html_dom_parser_1","dom_to_react_1","require$$3","domParserOptions","parse","SingleStep","withTitles","Stepper","headline","stepsList","Section","step","titleConfig","listItemConfig","containerImgConfig","TextItem","popoverText","Popover","Title","desktopHidden","mobileHidden","TextList","textContent","LongBanner","buttonConfig","imageComponent","isFourItems","isTwoItems","AUTH_PROVIDER_MODE","AuthWrapper","isLoading","loaderProps","Loader","EsiaLogo","Links","mainLink","subLink","MobileId","badge","Badge","Esia","renderProvider","esiaConfig","mobileIdConfig","HeadWrapper","AuthProvider","LinksList","path","label","ColumnGroup","mobileAccordionProps","Accordion","_c","Column","group","columnsWrapper","InterLinking","columns","rootAccordionProps"],"mappings":"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","x_google_ignoreList":[17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]}
1
+ {"version":3,"file":"widget.js","sources":["../lib/widgets/benefit/ui/BenefitItem.tsx","../lib/widgets/benefit/Benefit.tsx","../lib/widgets/pageHeader/model/helpers.tsx","../lib/widgets/pageHeader/PageHeader.tsx","../lib/widgets/banner/ui/BannerButtonsGroup.tsx","../lib/widgets/banner/ui/banners/BannerImageFull.tsx","../lib/widgets/banner/ui/banners/BannerWithSeparateImg.tsx","../lib/widgets/banner/Banner.tsx","../lib/widgets/advantages/Advantages.tsx","../lib/widgets/footer/model/defaultValues.tsx","../lib/widgets/footer/ui/SocialLinks.tsx","../lib/widgets/footer/ui/PhonesBlock.tsx","../lib/widgets/footer/ui/NavLinks.tsx","../lib/widgets/footer/ui/Copyright.tsx","../lib/widgets/footer/ui/FooterLogo.tsx","../lib/widgets/footer/ui/SiteMap.tsx","../lib/widgets/footer/Footer.tsx","../lib/widgets/stepper/ui/SingleStep.tsx","../lib/widgets/stepper/Stepper.tsx","../lib/widgets/longBanner/model/cva.ts","../lib/widgets/longBanner/ui/TextItem.tsx","../lib/widgets/longBanner/ui/Title.tsx","../lib/widgets/longBanner/ui/TextList.tsx","../lib/widgets/longBanner/LongBanner.tsx","../lib/widgets/authProvider/model/helpers.ts","../lib/widgets/authProvider/ui/ui/AuthWrapper.tsx","../lib/widgets/authProvider/ui/ui/EsiaLogo.tsx","../lib/widgets/authProvider/ui/ui/Links.tsx","../lib/widgets/authProvider/ui/MobileId.tsx","../lib/widgets/authProvider/ui/Esia.tsx","../lib/widgets/authProvider/AuthProvider.tsx","../lib/widgets/interLinking/ui/LinksList.tsx","../lib/widgets/interLinking/ui/ColumnGroup.tsx","../lib/widgets/interLinking/ui/Column.tsx","../lib/widgets/interLinking/InterLinking.tsx"],"sourcesContent":["import { type ReactElement } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { useDevice } from '$/shared/hooks'\nimport { Button, Heading } from '$/shared/ui'\nimport { cn, scrollToElement } from '$/shared/utils'\nimport { type AllowedBannerBackgroundColor } from '$/widgets/benefit/model'\n\nexport type BenefitItemClasses = {\n root?: string\n button?: string\n wrapper?: string\n textContainer?: string\n description?: string\n img?: string\n imgContainer?: string\n title?: string\n}\n\nconst itemConfig = cva(\n 'flex flex-col justify-between overflow-hidden rounded-md bg-color-blue-grey-100 py-6 desktop:flex-row desktop:px-0 desktop:py-0',\n {\n variants: {\n intent: {\n twoCards: '',\n threeCards: 'desktop:first:col-span-full',\n fourCards: 'desktop:first:col-span-2 desktop:last:col-span-2'\n }\n }\n }\n)\n\nexport interface BenefitItemProps extends VariantProps<typeof itemConfig> {\n title: string\n description: string | ReactElement\n img?: string\n mobileImg?: boolean\n classes?: BenefitItemClasses\n withButton?: boolean\n buttonText?: string\n cardColor?: AllowedBannerBackgroundColor\n}\n\nexport const BenefitItem = ({\n description,\n title,\n img,\n mobileImg,\n classes,\n withButton,\n buttonText,\n intent,\n cardColor\n}: BenefitItemProps) => {\n const { isDesktop } = useDevice()\n\n const button = (\n <>\n <Button\n intent='primary'\n className={cn('desktop:w-[200px]', classes?.button)}\n onClick={() => scrollToElement('personal_form')}\n size='lg'\n >\n {buttonText}\n </Button>\n </>\n )\n\n return (\n <li\n key={img}\n className={cn(itemConfig({ intent }), { 'pb-0': mobileImg }, { 'pb-12': !mobileImg }, cardColor, classes?.root)}\n >\n <div className={cn('flex flex-col items-start justify-between px-4 desktop:px-8 desktop:py-8', classes?.wrapper)}>\n <div className={cn('flex flex-col gap-4', classes?.textContainer)}>\n <Heading as='h4' className={cn('desktop:desk-title-bold-s', classes?.title)}>\n {title}\n </Heading>\n <p className={cn('mob-body-regular-l text-icon-blue-grey-800 desktop:desk-body-regular-l', classes?.description)}>\n {description}\n </p>\n </div>\n {withButton && isDesktop && button}\n </div>\n\n {(mobileImg || isDesktop) && img && (\n <div className={cn('flex w-full justify-end', classes?.imgContainer)}>\n <img className={cn('h-[246px] object-cover', classes?.img)} src={img} alt={title} />\n </div>\n )}\n </li>\n )\n}\n","'use client'\n\nimport { type ReactElement } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { BenefitItem, type BenefitItemClasses, type BenefitItemProps } from './ui/BenefitItem'\nimport { Heading, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type BenefitClasses = {\n root?: string\n container?: string\n item?: BenefitItemClasses\n heading?: string\n grid?: string\n}\n\nconst gridConfig = cva('grid gap-4', {\n variants: {\n intent: {\n twoCards: 'grid-cols-1 mobile:grid-rows-[repeat(2,400px)] desktop:grid-cols-2',\n threeCards: 'grid-cols-1 desktop:grid-cols-2',\n fourCards: 'grid-cols-1 mobile:grid-rows-[400px,1fr,1fr,400px] desktop:grid-cols-3'\n }\n }\n})\n\nexport interface BenefitProps extends VariantProps<typeof gridConfig> {\n heading: string | ReactElement\n cards: BenefitItemProps[]\n classes?: BenefitClasses\n}\n\nexport const Benefit = ({ heading, cards, classes, intent }: BenefitProps) => {\n return (\n <section className={cn('pb-20', classes?.root)}>\n <ResponsiveContainer className={classes?.container}>\n <Heading className={cn('mb-8', classes?.heading)} as='h2'>\n {heading}\n </Heading>\n <ul className={cn(gridConfig({ intent }), classes?.grid)}>\n {cards?.map((card) => <BenefitItem intent={intent} key={card.img} classes={classes?.item} {...card} />)}\n </ul>\n </ResponsiveContainer>\n </section>\n )\n}\n","import type { PageHeaderProps } from './types'\nimport { Button, PhoneView } from '$/shared/ui'\n\nexport const renderContentVariant = (props: PageHeaderProps) => {\n switch (props.variant) {\n case 'withButton':\n return (\n <Button intent='secondary' size='sm' {...props.buttonProps}>\n {props.buttonProps?.children || 'Оформить заявку'}\n </Button>\n )\n case 'withPhone':\n return <PhoneView {...props.phoneProps} />\n default:\n return null\n }\n}\n","import { renderContentVariant } from './model/helpers'\nimport type { PageHeaderProps } from './model/types'\nimport { brandLogos, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport const PageHeader = (props: PageHeaderProps) => {\n const { logoPath = '/', logoType = 'main', classes } = props\n\n return (\n <header className={cn('flex h-[64px] items-center justify-center bg-color-white desktop:h-[72px]', classes?.header)}>\n <ResponsiveContainer className={cn(classes?.container)}>\n <div className={cn('flex items-center justify-between gap-5', classes?.wrapper)}>\n <a\n href={logoPath}\n aria-label='logo'\n target='_blank'\n rel='noreferrer'\n className={cn(\n 'flex items-center justify-center [&_svg]:w-[132px] desktop:[&_svg]:h-[32px] desktop:[&_svg]:w-[192px]',\n classes?.logo\n )}\n >\n {brandLogos[logoType]}\n </a>\n {renderContentVariant(props)}\n </div>\n </ResponsiveContainer>\n </header>\n )\n}\n","import { type ButtonsConfig } from '../model'\nimport { Button } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport interface BannerButtonsGroupClasses {\n group?: string\n primary?: string\n secondary?: string\n}\ninterface BannerButtonsGroupProps {\n buttonsConfig: ButtonsConfig\n classes?: Partial<BannerButtonsGroupClasses>\n className?: string\n}\n\nexport const BannerButtonsGroup = ({ buttonsConfig, classes, className }: BannerButtonsGroupProps) => {\n const withSecondaryBtn = buttonsConfig?.secondary && buttonsConfig.secondary.children\n\n return (\n <div\n data-id='banner-buttons-group'\n className={cn(\n 'grid-buttons-apply absolute bottom-6 left-1/2 flex w-full -translate-x-1/2 flex-col justify-self-center px-4 desktop:static desktop:left-auto desktop:max-w-full desktop:translate-x-0 desktop:flex-row desktop:justify-normal desktop:px-0',\n { 'flex items-center gap-4': withSecondaryBtn },\n classes?.group,\n className\n )}\n >\n <Button intent='primary' {...buttonsConfig.primary} isFull className={cn('desktop:max-w-[216px]', classes?.primary)}>\n {buttonsConfig.primary.children}\n </Button>\n {withSecondaryBtn && (\n <Button\n intent='secondary'\n {...buttonsConfig?.secondary}\n isFull\n className={cn('desktop:max-w-[216px]', classes?.secondary)}\n >\n {buttonsConfig?.secondary?.children}\n </Button>\n )}\n </div>\n )\n}\n","'use client'\n\nimport { BannerButtonsGroup } from '../BannerButtonsGroup'\nimport { useDevice } from '$/shared/hooks'\nimport { Heading, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { Advantages, type BannerProps } from '$/widgets'\n\nexport const BannerImageFull = ({\n headTitle,\n subtitle,\n buttonsConfig,\n advantagesConfig,\n classes,\n img,\n imgSets\n}: Omit<BannerProps, 'bannerVariant'>) => {\n const { isDesktop, isMobile } = useDevice()\n const advantage = (\n <div\n data-id='banner-advantages'\n className={cn(\n 'flex items-center justify-center pt-4 desktop:absolute desktop:bottom-[-50px] desktop:right-1/2 desktop:translate-x-1/2 desktop:pt-0',\n classes?.advantageContainer\n )}\n >\n {advantagesConfig?.advantagesList && advantagesConfig?.advantagesList?.length > 0 && <Advantages {...advantagesConfig} />}\n </div>\n )\n\n return (\n <>\n <section data-id='banner-section' className={cn('relative h-[552px] desktop:h-[456px]', classes?.root)}>\n <div\n data-id='banner-img-wrapper'\n className='absolute bottom-0 left-0 right-0 top-0 z-[-1] mx-auto h-full max-w-[1920px] desktop:h-[456px]'\n >\n <picture>\n <source media='(min-width: 1128px)' srcSet={imgSets?.large} />\n <source media='(max-width: 1127px)' srcSet={imgSets?.mob} />\n <img\n data-id='banner-image'\n src={img}\n alt='Картинка баннера'\n className={cn('h-full w-full object-cover object-center', classes?.image)}\n />\n </picture>\n </div>\n <ResponsiveContainer data-id='banner-container' className={cn('h-full', classes?.container)}>\n <div data-id='banner' className={cn('flex h-full', classes?.wrapper)}>\n <div\n data-id='banner-text-block'\n className={cn('flex w-[328px] flex-col gap-10 pt-6 desktop:w-full desktop:pt-20', classes?.textBlock)}\n >\n <div className='flex flex-col gap-4'>\n <Heading data-id='banner-title' as='h1' className={cn('text-color-white', classes?.title)}>\n {headTitle}\n </Heading>\n <p data-id='banner-subtitle' className={cn('desk-body-regular-l text-color-white', classes?.subtitle)}>\n {subtitle}\n </p>\n </div>\n <BannerButtonsGroup\n className='self-end desktop:self-center'\n data-id='banner-buttons-group'\n buttonsConfig={buttonsConfig}\n classes={classes}\n />\n </div>\n </div>\n\n {isDesktop && advantage}\n </ResponsiveContainer>\n </section>\n {isMobile && advantage}\n </>\n )\n}\n","import { BannerButtonsGroup } from '../BannerButtonsGroup'\nimport { useDevice } from '$/shared/hooks'\nimport { Heading, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { Advantages, type BannerProps } from '$/widgets'\n\nexport const BannerWithSeparateImg = ({\n headTitle,\n subtitle,\n buttonsConfig,\n advantagesConfig,\n classes,\n img,\n imgSets\n}: Omit<BannerProps, 'bannerVariant'>) => {\n const { isDesktop, isMobile } = useDevice()\n const advantage = (\n <div\n data-id='banner-advantages'\n className={cn(\n 'flex items-center justify-center rounded-md bg-color-blue-grey-100 p-4 pb-8 desktop:absolute desktop:bottom-[-50px] desktop:right-1/2 desktop:translate-x-1/2 desktop:p-0',\n classes?.advantageContainer\n )}\n >\n {advantagesConfig?.advantagesList && advantagesConfig?.advantagesList?.length > 0 && <Advantages {...advantagesConfig} />}\n </div>\n )\n return (\n <>\n <section data-id='banner-section' className={cn('bg-banner-skyblue-300 desktop:h-[456px]', classes?.root)}>\n <ResponsiveContainer data-id='banner-container' className={cn('relative', classes?.container)}>\n <div data-id='banner' className={cn('flex flex-col desktop:flex-row desktop:justify-between', classes?.wrapper)}>\n <div className='flex flex-col desktop:gap-10 desktop:pt-20'>\n <div data-id='banner-text-block' className={cn('flex flex-col gap-4 pt-6 desktop:pt-0', classes?.textBlock)}>\n <Heading data-id='banner-title' as='h1' className={cn('text-color-dark', classes?.title)}>\n {headTitle}\n </Heading>\n <p data-id='banner-subtitle' className={cn('desk-body-regular-l text-color-dark', classes?.subtitle)}>\n {subtitle}\n </p>\n </div>\n\n <BannerButtonsGroup buttonsConfig={buttonsConfig} classes={classes} />\n </div>\n\n <div\n data-id='banner-image-wrapper'\n className={cn('flex h-[356px] justify-center desktop:h-[456px] desktop:w-[550px]', classes?.imageContainer)}\n >\n <picture>\n <source media='(min-width: 1128px)' srcSet={imgSets?.large} />\n <source media='(max-width: 1127px)' srcSet={imgSets?.mob} />\n <img\n data-id='banner-image'\n src={img}\n alt='Картинка баннера'\n className={cn('h-full object-cover', classes?.image)}\n />\n </picture>\n </div>\n </div>\n\n {isDesktop && advantage}\n </ResponsiveContainer>\n </section>\n {isMobile && advantage}\n </>\n )\n}\n","'use client'\n\nimport { type ReactElement } from 'react'\nimport { type AdvantageClasses, type AdvantagesProps } from '../advantages/Advantages'\nimport { type BannerClasses, type ButtonsConfig } from './model/types'\nimport { BannerWithSeparateImg } from './ui/banners'\nimport { BannerImageFull } from './ui/banners'\n\nexport interface BannerProps {\n headTitle: string | ReactElement\n subtitle: string | ReactElement\n img?: string\n imgSets?: {\n large: string\n mob: string\n type?: string\n }\n buttonsConfig: ButtonsConfig\n advantagesConfig?: AdvantagesProps\n classes?: BannerClasses & {\n advantages?: AdvantageClasses\n }\n bannerVariant?: 'separateImg' | 'fullImg'\n}\n\nexport const Banner = ({ bannerVariant, ...props }: BannerProps) => {\n switch (bannerVariant) {\n case 'separateImg':\n return <BannerWithSeparateImg {...props} />\n case 'fullImg':\n return <BannerImageFull {...props} />\n default:\n return <BannerWithSeparateImg {...props} />\n }\n}\n","'use client'\n\nimport { type AdvantageItem } from './model/types'\nimport { Heading } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport interface AdvantageClasses {\n root?: string\n item?: string\n title?: string\n description?: string\n}\n\nexport interface AdvantagesProps {\n advantagesList: AdvantageItem[]\n variant: 'threeCards' | 'fourCards'\n classes?: AdvantageClasses\n}\n\nexport const Advantages = ({ variant, advantagesList, classes }: AdvantagesProps) => {\n return (\n <div\n className={cn(\n 'm-auto flex w-full min-w-[328px] max-w-[636px] flex-col gap-8 rounded-md bg-color-white p-6 shadow-sm desktop:w-full desktop:flex-row desktop:items-start desktop:gap-0 desktop:p-0 desktop:py-6',\n { 'desktop:max-w-[860px]': variant === 'threeCards' },\n { 'desktop:max-w-[1140px]': variant === 'fourCards' },\n classes?.root\n )}\n >\n {advantagesList?.map(({ title, description }) => (\n <div\n key={title}\n className={cn(\n 'after:content-[\" \"] relative flex h-full w-full flex-col gap-1 after:absolute after:-bottom-4 after:left-1/2 after:h-[1px] after:w-full after:-translate-x-1/2 after:bg-color-blue-grey-300 last:after:hidden desktop:w-[285px] desktop:px-8 desktop:after:bottom-auto desktop:after:left-auto desktop:after:right-0 desktop:after:top-1/2 desktop:after:h-10 desktop:after:w-[1px] desktop:after:-translate-y-1/2 desktop:after:translate-x-0',\n classes?.item\n )}\n >\n <Heading as='h4' className={cn('text-color-dark', classes?.title)}>\n {title}\n </Heading>\n <p className={cn('desk-body-regular-l text-color-secondary', classes?.description)}>{description}</p>\n </div>\n ))}\n </div>\n )\n}\n","import type { FooterNavLinks, FooterPhones, FooterSocialLinks } from './types'\n\nexport const defaultCopyright = (\n <>\n © 2004-2024, ПАО «Совкомбанк». Все права защищены. <br className='mobile:hidden' /> Генеральная лицензия Банка России №963 от\n 5 декабря 2014 г.\n </>\n)\n\nexport const defaultPhones: FooterPhones[] = [\n { phone: '8 800 100-00-06', text: 'Звонок по России (бесплатно)' },\n { phone: '+7 (495) 988 00 00', text: 'Для звонков из-за рубежа (платно)' }\n]\n\nexport const defaultSocialsLinks: FooterSocialLinks[] = [\n { iconName: 'social/vk', href: 'https://vk.com/sovcombank' },\n { iconName: 'social/telegram', href: 'https://t.me/sovcombankofficial' },\n { iconName: 'social/classmates', href: 'https://ok.ru/paosovcombank' }\n]\n\nexport const defaultNavigationLinks: FooterNavLinks[] = [\n {\n groupLabel: 'Совкомбанк',\n links: [\n { text: 'О банке', href: '/' },\n { text: 'Реквизиты и лицензии', href: '/' },\n { text: 'Пресс-центр', href: '/' },\n { text: 'Удостоверяющий центр ПАО «Совкомбанк»', href: '/' },\n { text: 'Работа у нас', href: '/' },\n { text: 'Контакты', href: '/' },\n { text: 'Раскрытие информации', href: '/' },\n { text: 'Страница раскрытия информации в Интерфакс', href: '/' },\n { text: 'Реализация залогового имущества', href: '/' },\n { text: 'Клиентам и партнерам', href: '/' },\n { text: 'Биометрия', href: '/' },\n { text: 'Стандарты безопасности', href: '/' },\n { text: 'Информация о процентных ставках по договорам банковского вклада с физическими лицами', href: '/' },\n { text: 'ООО «Совком Финанс»', href: '/' },\n { text: 'Безопасность', href: '/' }\n ]\n },\n {\n groupLabel: 'Сервисы',\n links: [\n { text: 'Подарочная карта «Халва»', href: '/' },\n { text: 'Страховые продукты', href: '/' },\n { text: 'МультиЮрист', href: '/' },\n { text: 'Единая социальная карта «Уралочка»', href: '/' },\n { text: 'Единая Карта Жителя Мурманской области', href: '/' },\n { text: 'Безопасные расчёты', href: '/' },\n { text: 'Улучшение кредитной истории', href: '/' },\n { text: 'Дистанционные сервисы Совкомбанка', href: '/' },\n { text: 'Программы реструктуризации долга', href: '/' }\n ]\n },\n {\n groupLabel: 'Услуги банка',\n links: [\n { text: 'Карты', href: '/' },\n { text: 'Кредиты', href: '/' },\n { text: 'Кредиты наличными', href: '/' },\n { text: 'Ипотека', href: '/' },\n { text: 'Автокредиты', href: '/' },\n { text: 'Кредитный калькулятор', href: '/' },\n { text: 'Вклады', href: '/' },\n { text: 'Инвестиции', href: '/' },\n { text: 'Платежи', href: '/' },\n { text: 'Сервисы', href: '/' },\n { text: 'Малому бизнесу и ИП', href: '/' },\n { text: 'Корпоративным клиентам', href: '/' },\n { text: 'CIB', href: '/' },\n { text: 'Драгоценные металлы в слитках', href: '/' },\n { text: 'Счета в драгоценных металлах', href: '/' }\n ]\n },\n {\n groupLabel: 'Клиентам других банков',\n links: [\n { text: 'Держателям карт рассрочки Банка Хоум Кредит', href: '/' },\n { text: 'ПАО КБ «Восточный»', href: '/' },\n { text: 'Держателям карт «Совесть»', href: '/' },\n { text: 'АО «Нордеа Банк»', href: '/' },\n { text: 'ЗАО «ДжиИ Мани банк»', href: '/' },\n { text: 'АО «Меткомбанк»', href: '/' },\n { text: 'АКБ «РосЕвроБанк» (АО)', href: '/' },\n { text: 'ПАО «Татфондбанк»', href: '/' },\n { text: 'АО АКБ «Экспресс-Волга»', href: '/' },\n { text: 'АО «ВКАБАНК»', href: '/' },\n { text: 'ООО «ОНЕЙ БАНК»', href: '/' },\n { text: 'АО «Евразийский»', href: '/' },\n { text: 'АО «НФК»', href: '/' },\n { text: 'ООО «РТС-Капитал»', href: '/' },\n { text: 'ООО «ИК Септем Капитал»', href: '/' },\n { text: 'Помощь', href: '/' },\n { text: 'Офисы и банкоматы', href: '/' }\n ]\n }\n]\n","import type { FooterSocialLinks } from '../model/types'\nimport { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type SocialLinksClasses = {\n socialRoot?: string\n socialLink?: string\n socialIcon?: string\n}\n\ninterface ISocialLinksProps {\n socialsLinks: FooterSocialLinks[]\n classes?: SocialLinksClasses\n}\n\nexport const SocialLinks = ({ socialsLinks, classes }: ISocialLinksProps) => {\n return (\n <div className={cn('mt-4 flex items-center gap-2 desktop:mt-6', classes?.socialRoot)}>\n {socialsLinks?.map(({ iconName, href }) => (\n <a\n className={cn('flex size-8 items-center justify-center rounded-full bg-[#52576a] p-2', classes?.socialLink)}\n href={href}\n key={href}\n aria-label={iconName.replace('social/', '')}\n >\n <Icon name={iconName} className={cn('h-full w-full text-icon-white', classes?.socialIcon)} />\n </a>\n ))}\n </div>\n )\n}\n","import type { FooterPhones } from '../model/types'\nimport { PhoneView } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type PhoneBlockClasses = {\n phonesRoot?: string\n phoneWrapper?: string\n phoneText?: string\n phoneLink?: string\n}\n\ninterface PhonesBlockProps {\n phones: FooterPhones[]\n classes?: PhoneBlockClasses\n}\n\nexport const PhonesBlock = ({ phones, classes }: PhonesBlockProps) => {\n return (\n <div className={cn('flex flex-col gap-4 desktop:items-end', classes?.phonesRoot)}>\n {phones?.map(({ phone, text }) => (\n <PhoneView\n key={phone}\n phone={phone}\n text={text}\n classes={{\n wrapper: cn(classes?.phoneWrapper),\n text: cn('text-color-footer', classes?.phoneText),\n link: cn('text-color-white mobile:m-0', classes?.phoneLink)\n }}\n />\n ))}\n </div>\n )\n}\n","import type { FooterNavLinks } from '../model/types'\nimport { CustomLink } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type NavigationLinksClasses = {\n navRoot?: string\n navGroup?: string\n navLabel?: string\n navLinks?: string\n navLink?: string\n navLinkIcon?: string\n}\n\ninterface NavLinksProps {\n navigationLinks: FooterNavLinks[]\n classes?: NavigationLinksClasses\n}\n\nexport const NavLinks = ({ navigationLinks, classes }: NavLinksProps) => {\n return (\n <div\n className={cn(\n 'mt-6 grid grid-cols-1 gap-6 border-b border-blue-grey-500 pb-6 desktop:my-8 desktop:grid-cols-4 desktop:gap-10 desktop:pb-8',\n classes?.navRoot\n )}\n >\n {navigationLinks?.map(({ groupLabel, links }) => (\n <div key={groupLabel} className={cn('flex flex-col gap-4', classes?.navGroup)}>\n <div className={cn('desk-body-medium-l text-color-white', classes?.navLabel)}>{groupLabel}</div>\n <div className={cn('flex flex-col gap-1', classes?.navLinks)}>\n {links?.map(({ text, href }) => (\n <CustomLink\n key={text}\n href={href}\n aria-label={text}\n intent='white'\n classes={{\n link: classes?.navLink,\n icon: classes?.navLinkIcon\n }}\n >\n {text}\n </CustomLink>\n ))}\n </div>\n </div>\n ))}\n </div>\n )\n}\n","import * as React from 'react'\nimport { cn } from '$/shared/utils'\n\nexport type CopyrightClasses = {\n copyRight?: string\n}\n\ninterface CopyrightProps {\n text?: string | React.ReactElement\n classes?: CopyrightClasses\n}\n\nexport const Copyright = ({ text, classes }: CopyrightProps) => {\n return <div className={cn('desk-body-regular-m text-color-footer', classes?.copyRight)}>{text}</div>\n}\n","import { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type FooterLogoClasses = {\n footerLogo?: string\n footerLogoIcon?: string\n}\n\nexport interface FooterLogoProps {\n classes?: FooterLogoClasses\n}\n\nexport const FooterLogo = ({ classes }: FooterLogoProps) => {\n return (\n <a\n aria-label='logo'\n href='https://sovcombank.ru/'\n className={cn('block h-[24px] w-[132px] desktop:h-[32px] desktop:w-[194px]', classes?.footerLogo)}\n >\n <Icon name='brandLogos/logoWhite' className={cn('size-full', classes?.footerLogoIcon)} />\n </a>\n )\n}\n","import { CustomLink } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type SiteMapClasses = {\n siteMapLink?: string\n siteMapLinkIcon?: string\n}\n\nexport interface SiteMapProps {\n classes?: SiteMapClasses\n}\n\nexport const SiteMap = ({ classes }: SiteMapProps) => {\n return (\n <CustomLink\n intent='white'\n href='https://sovcombank.ru/site-map'\n target='_blank'\n aria-label='site-map'\n rel='noreferrer'\n classes={{\n link: cn('mobile:mt-6', classes?.siteMapLink),\n icon: classes?.siteMapLinkIcon\n }}\n >\n Карта сайта\n </CustomLink>\n )\n}\n","import * as React from 'react'\nimport { defaultCopyright, defaultNavigationLinks, defaultPhones, defaultSocialsLinks } from './model/defaultValues'\nimport type { FooterClasses, FooterNavLinks, FooterPhones, FooterRenderBlocks, FooterSocialLinks } from './model/types'\nimport { Copyright, FooterLogo, NavLinks, PhonesBlock, SiteMap, SocialLinks } from './ui'\nimport { ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport interface FooterProps {\n classes?: FooterClasses\n renderBlocks?: FooterRenderBlocks\n socialsLinks?: FooterSocialLinks[]\n phones?: FooterPhones[]\n navigationLinks?: FooterNavLinks[]\n ligal?: string | React.ReactElement\n copyright?: string | React.ReactElement\n}\n\nexport const Footer = ({\n renderBlocks: { withSocial = true, withPhones = true, withNavLinks = true, withCopyright = true, withSiteMap = true } = {},\n socialsLinks = defaultSocialsLinks,\n phones = defaultPhones,\n navigationLinks = defaultNavigationLinks,\n ligal,\n copyright = defaultCopyright,\n classes\n}: FooterProps) => {\n return (\n <footer className={cn('w-full bg-color-footer py-8 desktop:py-10', classes?.root)}>\n <ResponsiveContainer className={cn(classes?.footerContainer)}>\n <div className={cn('mobile:pb-[176px]', classes?.footerWrapper)}>\n <div\n className={cn(\n 'flex flex-col items-start justify-between gap-4 border-b border-solid border-blue-grey-500 pb-6 desktop:flex-row desktop:gap-6 desktop:pb-8',\n classes?.footerHead\n )}\n >\n <div className={cn(classes?.footerSocialBlock)}>\n <FooterLogo classes={classes?.footerLogo} />\n {withSocial && <SocialLinks socialsLinks={socialsLinks} classes={classes?.socialLinks} />}\n </div>\n\n {withPhones && <PhonesBlock phones={phones} classes={classes?.phonesBlock} />}\n </div>\n\n {withNavLinks && <NavLinks navigationLinks={navigationLinks} classes={classes?.navLinks} />}\n {ligal && ligal}\n\n <div\n className={cn(\n 'mt-6 flex flex-col-reverse items-start justify-between gap-4 desktop:mt-8 desktop:flex-row desktop:gap-6',\n classes?.footerBottom\n )}\n >\n {withCopyright && <Copyright text={copyright} classes={classes?.copyright} />}\n {withSiteMap && <SiteMap classes={classes?.siteMap} />}\n </div>\n </div>\n </ResponsiveContainer>\n </footer>\n )\n}\n","import DOMPurify from 'isomorphic-dompurify'\nimport type { SingleStepProps } from '../model/types'\nimport { Heading } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type SingleStepClasses = {\n singleStep?: string\n numeric?: string\n textBlock?: string\n title?: string\n description?: string\n}\n\nexport const SingleStep = ({ classes, index, variant, title, description }: SingleStepProps) => {\n const withTitles = variant === 'withTitleAndDescription' && title\n const cleanedHTML = DOMPurify.sanitize(description ?? '')\n\n return (\n <div\n className={cn(\n 'flex w-[328px] max-w-[328px] flex-col gap-4 rounded-md border border-solid border-blue-grey-500 p-4 desktop:w-[348px] desktop:max-w-[348px] desktop:border-none desktop:p-0',\n classes?.singleStep\n )}\n >\n <div\n className={cn(\n 'mob-headline-bold-s flex size-10 items-center justify-center rounded-sm bg-color-blue-grey-500 text-color-white desktop:desk-title-bold-l desktop:size-12',\n classes?.numeric\n )}\n >\n {index}\n </div>\n\n <div className={cn('flex flex-col gap-2')}>\n {withTitles && (\n <Heading as='h4' className={cn('text-color-dark', classes?.title)}>\n {title}\n </Heading>\n )}\n <div\n dangerouslySetInnerHTML={{ __html: cleanedHTML }}\n className={cn('desk-body-regular-l text-color-tetriary', classes?.description)}\n />\n </div>\n </div>\n )\n}\n","import { type HTMLAttributes } from 'react'\nimport type { SingleStepItem, StepperVariant } from './model/types'\nimport { SingleStep, type SingleStepClasses } from './ui/SingleStep'\nimport { Heading, ResponsiveContainer, Section } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type StepperClasses = {\n root?: string\n container?: string\n wrapper?: string\n headline?: string\n stepsWrapper?: string\n step?: SingleStepClasses\n}\n\nexport interface StepperProps extends HTMLAttributes<HTMLDivElement> {\n headline: string\n variant: StepperVariant\n stepsList: SingleStepItem[]\n classes?: StepperClasses\n}\n\nexport const Stepper = ({ headline, variant, stepsList, classes }: StepperProps) => {\n return (\n <Section className={classes?.root}>\n <ResponsiveContainer className={classes?.container}>\n <div className={cn('flex flex-col gap-6 desktop:items-start desktop:gap-12', classes?.wrapper)}>\n <Heading as='h2' className={cn('text-color-dark', classes?.headline)}>\n {headline}\n </Heading>\n <div\n className={cn(\n 'flex w-full flex-col items-start gap-6 desktop:flex-row desktop:items-start desktop:gap-12',\n classes?.stepsWrapper\n )}\n >\n {stepsList?.map((step, index) => (\n <SingleStep variant={variant} key={step.description} {...step} index={index + 1} classes={classes?.step} />\n ))}\n </div>\n </div>\n </ResponsiveContainer>\n </Section>\n )\n}\n","import { cva } from 'class-variance-authority'\r\n\r\nexport const titleConfig = cva('', {\r\n variants: {\r\n intent: {\r\n twoItems: 'mob-headline-bold-s mb-6 desktop:desk-headline-bold-m desktop:mb-12',\r\n fourItems: 'mob-title-bold-l desktop:desk-title-bold-l mb-8'\r\n },\r\n desktopHidden: {\r\n true: 'desktop:hidden'\r\n },\r\n mobileHidden: {\r\n true: 'mobile:hidden'\r\n }\r\n },\r\n defaultVariants: {\r\n intent: 'twoItems'\r\n }\r\n})\r\n\r\nexport const listItemConfig = cva('', {\r\n variants: {\r\n intent: {\r\n twoItems: '',\r\n fourItems: ''\r\n },\r\n withButton: {\r\n true: ''\r\n }\r\n },\r\n compoundVariants: [\r\n {\r\n intent: 'twoItems',\r\n withButton: true,\r\n class: 'mb-8 desktop:flex'\r\n },\r\n {\r\n intent: 'twoItems',\r\n withButton: false,\r\n class: 'desktop:flex'\r\n },\r\n {\r\n intent: 'fourItems',\r\n withButton: true,\r\n class: 'desktop:grid grid-rows-2 mb-8 desktop:gap-x-10 desktop:gap-y-4 grid-flow-col'\r\n },\r\n {\r\n intent: 'fourItems',\r\n withButton: false,\r\n class: 'desktop:grid grid-rows-2 desktop:gap-x-10 desktop:gap-y-4 grid-flow-col'\r\n }\r\n ]\r\n})\r\n\r\nexport const itemConfig = cva('border-blue-grey-500 pb-6 mobile:mb-6 mobile:border-b mobile:last:pb-0 mobile:last:mb-0', {\r\n variants: {\r\n intent: {\r\n twoItems:\r\n 'last:border-none relative desktop:first:after:top-1/2 desktop:first:after:-translate-y-1/2 desktop:first:after:right-0 desktop:first:after:content-[\"\"] desktop:first:after:block desktop:first:after:absolute desktop:first:after:w-[1px] desktop:first:after:h-[64px] desktop:first:after:bg-color-blue-grey-500 desktop:ml-8 desktop:pr-8 desktop:first:ml-0 desktop:last:pr-0 desktop:pb-3',\r\n fourItems: ' mobile:last:border-none desktop:w-[264px] desktop:odd:border-b desktop:pb-0 desktop:odd:pb-3'\r\n }\r\n },\r\n defaultVariants: {\r\n intent: 'twoItems'\r\n }\r\n})\r\n\r\nexport const containerImgConfig = cva('mobile:mx-auto mobile:mb-8, h-[172px] w-[280px] ', {\r\n variants: {\r\n intent: {\r\n twoItems: 'desktop:h-[232px] desktop:w-[500px]',\r\n fourItems: ' '\r\n },\r\n withButton: {\r\n true: true,\r\n false: false\r\n }\r\n },\r\n defaultVariants: {\r\n intent: 'twoItems'\r\n },\r\n compoundVariants: [\r\n {\r\n intent: 'fourItems',\r\n withButton: true,\r\n class: 'desktop:h-[360px] desktop:w-[500px]'\r\n },\r\n {\r\n intent: 'fourItems',\r\n withButton: false,\r\n class: 'desktop:h-[272px] desktop:w-[500px]'\r\n }\r\n ]\r\n})\r\n","import { itemConfig } from '../model/cva'\r\nimport { type TextItemProps } from '../model/types'\r\nimport { Icon, Popover } from '$/shared/ui'\r\nimport { cn } from '$/shared/utils'\r\n\r\nexport const TextItem = ({ data, intent }: TextItemProps) => {\r\n const { title, description, popoverText } = data\r\n return (\r\n <li className={cn(itemConfig({ intent }))}>\r\n <div className='desktop:max-w-[264px]'>\r\n <div className={cn('mb-2 flex items-center gap-2')}>\r\n <h4 className={cn('mob-title-bold-m text-color-dark')}>{title}</h4>\r\n {popoverText && (\r\n <Popover triggerElement={<Icon className={cn('size-5 text-icon-blue-grey-600')} name='info/helpCircle' />}>\r\n {popoverText}\r\n </Popover>\r\n )}\r\n </div>\r\n\r\n <p className={cn('mob-body-regular-l text-color-secondary')}>{description}</p>\r\n </div>\r\n </li>\r\n )\r\n}\r\n","import { type ReactElement } from 'react'\r\nimport { titleConfig } from '../model/cva'\r\nimport { type LongBannerConfig } from '../model/types'\r\nimport { cn } from '$/shared/utils'\r\n\r\ninterface TitleProps {\r\n intent: LongBannerConfig['intent']\r\n title: string | ReactElement\r\n desktopHidden?: boolean\r\n mobileHidden?: boolean\r\n}\r\n\r\nexport const Title = ({ intent, title, desktopHidden = false, mobileHidden = false }: TitleProps) => {\r\n return <h2 className={cn(titleConfig({ intent, desktopHidden, mobileHidden }))}>{title}</h2>\r\n}\r\n","import { listItemConfig } from '../model/cva'\r\nimport { type ITextContent, type LongBannerConfig } from '../model/types'\r\nimport { TextItem } from './TextItem'\r\nimport { cn } from '$/shared/utils'\r\n\r\ninterface ListItemsProps {\r\n textContent: ITextContent[]\r\n intent: LongBannerConfig['intent']\r\n withButton: boolean\r\n}\r\n\r\nexport const TextList = ({ textContent, intent, withButton }: ListItemsProps) => {\r\n return (\r\n <ul className={cn(listItemConfig({ intent, withButton }))}>\r\n {textContent?.map((element, index) => <TextItem intent={intent} data={element} key={index} />)}\r\n </ul>\r\n )\r\n}\r\n","import { type ReactElement } from 'react'\r\nimport { containerImgConfig } from './model/cva'\r\nimport { type IButtonConfig, type ILongBannerClasses, type ITextContent, type LongBannerConfig } from './model/types'\r\nimport { TextList, Title } from './ui'\r\nimport { Button, ResponsiveContainer } from '$/shared/ui'\r\nimport { cn } from '$/shared/utils'\r\n\r\nexport interface LongBannerProps extends LongBannerConfig {\r\n title: string | ReactElement\r\n buttonConfig?: IButtonConfig\r\n textContent: ITextContent[]\r\n imageComponent: ReactElement\r\n classes?: ILongBannerClasses\r\n}\r\n\r\nexport const LongBanner = ({\r\n title,\r\n buttonConfig,\r\n intent = 'twoItems',\r\n textContent,\r\n imageComponent,\r\n classes\r\n}: LongBannerProps) => {\r\n const withButton = !!buttonConfig\r\n const isFourItems = intent === 'fourItems'\r\n const isTwoItems = intent === 'twoItems'\r\n\r\n return (\r\n <section className={cn(classes?.root)}>\r\n <ResponsiveContainer className={cn(classes?.container)}>\r\n {isTwoItems && <Title intent={intent} title={title} />}\r\n\r\n <div\r\n className={cn(\r\n 'bg-banner-skyblue-100 px-6 pb-8 pt-6 desktop:flex desktop:flex-row-reverse desktop:justify-between desktop:px-0 desktop:py-0 desktop:pl-12',\r\n classes?.contentContainer\r\n )}\r\n >\r\n {isFourItems && <Title intent={intent} title={title} desktopHidden={true} />}\r\n <div className={cn(containerImgConfig({ intent, withButton }), classes?.imgContainer)}>{imageComponent}</div>\r\n <div\r\n className={cn('desktop:flex desktop:flex-col desktop:justify-center desktop:py-10', classes?.textWithBtnContainer)}\r\n >\r\n {isFourItems && <Title intent={intent} title={title} mobileHidden={true} />}\r\n <TextList textContent={textContent} intent={intent} withButton={withButton} />\r\n {withButton && (\r\n <Button\r\n className={cn('w-full px-4 desktop:w-max', classes?.button)}\r\n size='lg'\r\n onClick={buttonConfig.onClick}\r\n intent='secondary'\r\n >\r\n {buttonConfig.text}\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n </ResponsiveContainer>\r\n </section>\r\n )\r\n}\r\n","export const AUTH_PROVIDER_MODE = {\n ESIA: 'esia',\n MOBILE_ID: 'mobileId',\n COMBINE: 'combine'\n} as const\n","import { Loader, type LoaderProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type AuthWrapperClasses = {\n root?: string\n wrapper?: string\n}\n\nexport interface AuthWrapperProps {\n children: React.ReactElement\n classes?: AuthWrapperClasses\n isLoading?: boolean\n loaderProps?: LoaderProps\n}\n\nexport const AuthWrapper = ({ children, isLoading, classes, loaderProps }: AuthWrapperProps) => {\n return (\n <div\n tabIndex={0}\n className={cn(\n 'relative flex h-[90px] w-full max-w-[328px] items-center justify-center rounded-sm p-2 desktop:max-w-[524px]',\n 'bg-color-white outline outline-1 outline-warm-grey-200 transition-colors focus-visible:outline-primary-focus',\n classes?.root\n )}\n >\n <div\n className={cn(\n 'flex h-[74px] flex-1 cursor-pointer rounded-sm px-2 py-3 transition-colors desktop:px-4 desktop:py-3',\n 'bg-color-blue-grey-100 hover:bg-color-blue-grey-200 active:bg-color-blue-grey-300',\n { 'items-center': isLoading },\n classes?.wrapper\n )}\n >\n {isLoading ? <Loader position='static' classes={{ wrapper: 'size-8 m-auto' }} {...loaderProps} /> : children}\n </div>\n </div>\n )\n}\n","import { type SVGProps } from 'react'\n\nexport const EsiaLogo = ({ ...props }: SVGProps<SVGSVGElement>) => {\n return (\n <svg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg' {...props}>\n <path\n d='M30.3986 10.6149C30.2728 8.96576 29.014 6.85155 27.7553 5.83672C26.3398 4.79816 24.8691 3.83828 23.3497 2.96139C21.8418 2.06068 20.2871 1.24201 18.6923 0.508895C17.8404 0.15868 16.927 -0.0139306 16.007 0.00148264C15.0868 -0.0180029 14.1725 0.154761 13.3217 0.508895C11.7272 1.24253 10.1725 2.06119 8.66438 2.96139C6.23081 4.44134 4.25878 5.83672 4.25878 5.83672C3.22329 6.71008 2.43892 7.83418 1.97146 9.09195C1.87834 9.34251 2.07032 9.59987 2.33762 9.59987H4.2568C4.55401 9.59987 4.82321 9.43281 4.98085 9.18085C5.33539 8.61417 5.77902 8.10202 6.29948 7.66607C6.29948 7.66607 7.92774 6.52186 9.93709 5.3083C11.1823 4.57013 12.466 3.89884 13.7826 3.29725C14.485 3.00687 15.2399 2.8652 15.9998 2.88118C16.7593 2.86854 17.5136 3.01008 18.217 3.29725C19.5337 3.89841 20.8174 4.56972 22.0624 5.3083C23.317 6.02735 24.5313 6.81445 25.7 7.66607C26.7394 8.49823 27.7787 10.2319 27.8826 11.5841C27.8826 11.5841 28.1251 13.5952 28.1598 15.9772C28.1576 17.4483 28.0767 18.9183 27.9173 20.3807C27.6755 21.912 26.8879 23.3038 25.7 24.2988C25.7 24.2988 24.0718 25.4777 22.0624 26.6912C20.8172 27.4294 19.5335 28.1007 18.217 28.7023C17.5145 28.9927 16.7596 29.1343 15.9998 29.1184C15.2409 29.1343 14.4867 28.9963 13.7826 28.7127C12.4658 28.1115 11.1821 27.4402 9.93709 26.7016C7.92774 25.5228 6.29948 24.3092 6.29948 24.3092C5.84515 23.9454 5.39081 23.4094 5.01172 22.8082C4.85581 22.561 4.5896 22.3997 4.2973 22.3997H2.34718C2.07645 22.3997 1.88475 22.6629 1.98611 22.914C2.49249 24.168 3.37564 25.4212 4.25878 26.1332C4.25878 26.1332 6.23081 27.6132 8.66438 29.0508C10.1723 29.9515 11.7269 30.7702 13.3217 31.5033C14.1745 31.8492 15.088 32.0175 16.007 31.998C16.9273 32.0175 17.8416 31.8448 18.6923 31.4906C20.2869 30.757 21.8415 29.9383 23.3497 29.0381C25.7833 27.5582 27.7553 26.1205 27.7553 26.1205C29.1939 24.9072 30.1478 23.2098 30.4406 21.3424C30.6337 19.5589 30.7317 17.7663 30.7343 15.9723C30.6923 13.0673 30.3986 10.6149 30.3986 10.6149Z'\n fill='url(#paint0_linear_6493_452)'\n />\n <path\n d='M1.27985 12.4821C1.27985 12.1286 1.56638 11.8421 1.91985 11.8421H11.8398C12.1933 11.8421 12.4798 12.1286 12.4798 12.4821V14.4021C12.4798 14.7555 12.1933 15.0421 11.8398 15.0421H1.27985V12.4821Z'\n fill='#0066B3'\n />\n <path\n d='M1.27985 16.9618H21.4398C21.7933 16.9618 22.0798 17.2484 22.0798 17.6018V19.5218C22.0798 19.8752 21.7933 20.1618 21.4398 20.1618H1.91985C1.56638 20.1618 1.27985 19.8752 1.27985 19.5218V16.9618Z'\n fill='#EE2F53'\n />\n <defs>\n <linearGradient id='paint0_linear_6493_452' x1='16.0071' y1='0' x2='16.0071' y2='31.9996' gradientUnits='userSpaceOnUse'>\n <stop stopColor='#0066B3' />\n <stop offset='0.354167' stopColor='#0066B3' />\n <stop offset='0.6875' stopColor='#EE2F53' />\n <stop offset='1' stopColor='#EE2F53' />\n </linearGradient>\n </defs>\n </svg>\n )\n}\n","import type { SingleAuthSchema } from '../../model/types'\nimport { CustomLink } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type TLinksClasses = {\n linksWrapper?: string\n linksMainLink?: string\n linksSubLink?: string\n}\n\ninterface ILinksProps extends Pick<SingleAuthSchema, 'subLink' | 'mainLink'> {\n isMobile: boolean\n classes?: TLinksClasses\n}\n\nexport const Links = ({ mainLink, subLink, isMobile, classes }: ILinksProps) => {\n return (\n <div className={cn('flex flex-col', classes?.linksWrapper)}>\n <a\n href={mainLink.href}\n target='_blank'\n rel='noreferrer'\n className={cn(\n 'before:content=[\" \"] desk-body-medium-l z-[4] text-color-dark before:absolute before:left-1/2 before:top-1/2 before:h-full before:w-full before:-translate-x-1/2 before:-translate-y-1/2',\n classes?.linksMainLink\n )}\n >\n {isMobile ? mainLink.mobileTitle : mainLink.title}\n </a>\n\n {subLink?.text && subLink?.href && (\n <CustomLink\n intent='blue'\n withUnderline\n href={subLink?.href}\n target='_blank'\n rel='noreferrer'\n classes={{\n link: cn('w-max relative z-[6] p-0 desk-body-regular-m text-color-tetriary', classes?.linksSubLink)\n }}\n >\n {subLink?.text}\n </CustomLink>\n )}\n </div>\n )\n}\n","import { type TMobileIdProps } from '../model/types'\nimport { AuthWrapper, Links } from './ui/'\nimport { useDevice } from '$/shared/hooks'\nimport { Badge, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport const MobileId = ({ mainLink, subLink, isLoading, badge, loaderProps, classes }: TMobileIdProps) => {\n const { isMobile } = useDevice()\n\n return (\n <AuthWrapper isLoading={isLoading} loaderProps={loaderProps} classes={classes?.authWrapper}>\n <div\n className={cn(\n 'flex flex-1 items-center justify-between gap-1',\n { 'justify-center': !badge && isMobile },\n classes?.innerWrapper\n )}\n >\n <div className={cn('flex items-center gap-1 desktop:gap-4', classes?.textContent)}>\n <div>\n <Icon name='logos/mts' className={cn('relative z-[9] size-7 desktop:size-8', classes?.mtsLogo)} />\n <Icon name='logos/megafon' className={cn('relative z-[8] -ml-4 size-7 desktop:size-8', classes?.megafonLogo)} />\n <Icon name='logos/beeline' className={cn('relative z-[7] -ml-4 size-7 desktop:size-8', classes?.beelineLogo)} />\n </div>\n <Links mainLink={mainLink} subLink={subLink} isMobile={isMobile} classes={classes?.links} />\n <Icon name='arrows/arrowRight' className={cn('mobile:hidden', classes?.arrowIcon)} />\n </div>\n {badge && <Badge className={cn('bg-color-positive', classes?.badge)}>{badge}</Badge>}\n </div>\n </AuthWrapper>\n )\n}\n","import type { TEsiaProps } from '../model/types'\nimport { AuthWrapper, EsiaLogo, Links } from './ui'\nimport { useDevice } from '$/shared/hooks'\nimport { Badge, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport const Esia = ({ mainLink, subLink, isLoading, badge, loaderProps, classes }: TEsiaProps) => {\n const { isMobile } = useDevice()\n\n return (\n <AuthWrapper isLoading={isLoading} loaderProps={loaderProps} classes={classes?.authWrapper}>\n <div\n className={cn(\n 'flex flex-1 items-center justify-between gap-1',\n { 'justify-center': !badge && isMobile },\n classes?.innerWrapper\n )}\n >\n <div className={cn('flex items-center gap-1 desktop:gap-4', classes?.textContent)}>\n <EsiaLogo className={cn('size-7 desktop:size-8', classes?.esiaLogo)} />\n <Links mainLink={mainLink} subLink={subLink} isMobile={isMobile} classes={classes?.links} />\n <Icon name='arrows/arrowRight' className={cn('mobile:hidden', classes?.arrowIcon)} />\n </div>\n {badge && <Badge className={cn('bg-color-positive', classes?.badge)}>{badge}</Badge>}\n </div>\n </AuthWrapper>\n )\n}\n","import * as React from 'react'\nimport { AUTH_PROVIDER_MODE } from './model/helpers'\nimport type { AuthProviderProps } from './model/types'\nimport { Esia, MobileId } from './ui'\nimport { Badge } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nconst renderProvider = (props: AuthProviderProps): React.ReactElement => {\n switch (props.mode) {\n case AUTH_PROVIDER_MODE.ESIA:\n return <Esia {...props} />\n case AUTH_PROVIDER_MODE.MOBILE_ID:\n return <MobileId {...props} />\n case AUTH_PROVIDER_MODE.COMBINE:\n default:\n const { esiaConfig, mobileIdConfig, subtitle, badge, classes } = props\n\n const HeadWrapper = !subtitle && !badge ? React.Fragment : 'div'\n\n return (\n <div\n className={cn(\n 'flex w-[328px] flex-col items-center justify-center gap-2 rounded-sm bg-color-white px-2 py-4 outline outline-1 outline-warm-grey-200 desktop:w-[524px] desktop:p-4',\n classes?.root\n )}\n >\n <HeadWrapper className={cn('flex w-full items-center justify-between gap-2', classes?.topContent)}>\n {subtitle && <h5 className={cn('desk-body-regular-l flex flex-1 text-color-dark', classes?.subtitle)}>{subtitle}</h5>}\n {badge && <Badge className={cn('bg-color-positive', classes?.badge)}>{badge}</Badge>}\n </HeadWrapper>\n <div className={cn('grid w-full grid-cols-2 gap-2 desktop:gap-4', classes?.authWrapper)}>\n <Esia\n {...esiaConfig}\n classes={{\n root: 'p-0 outline-0 h-[74px]',\n arrowIcon: 'hidden',\n ...esiaConfig.classes\n }}\n />\n <MobileId\n {...mobileIdConfig}\n classes={{\n root: 'p-0 outline-0 h-[74px]',\n arrowIcon: 'hidden',\n ...mobileIdConfig.classes\n }}\n />\n </div>\n </div>\n )\n }\n}\n\nexport const AuthProvider = (props: AuthProviderProps) => {\n return renderProvider(props)\n}\n","import type { GroupLinkSchema } from '../model/types'\nimport { CustomLink } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type LinksListClasses = {\n linksWrapper?: string\n linkText?: string\n linkIcon?: string\n}\n\nexport interface LinksListProps {\n links: GroupLinkSchema[]\n classes?: LinksListClasses\n}\n\nexport const LinksList = ({ links, classes }: LinksListProps) => {\n return (\n <nav className={cn('flex flex-col gap-1', classes?.linksWrapper)}>\n {links?.map(({ path, label }) => (\n <CustomLink\n classes={{\n link: cn('w-max', classes?.linkText),\n icon: cn(classes?.linkIcon)\n }}\n key={path}\n href={path}\n >\n {label}\n </CustomLink>\n ))}\n </nav>\n )\n}\n","import type { ColumnGroupSchema } from '../model/types'\nimport { LinksList, type LinksListClasses } from './LinksList'\nimport { useDevice } from '$/shared/hooks'\nimport { Accordion, type AccordionProps, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type ColumnGroupClasses = {\n columnGroup?: string\n columnGroupHeading?: string\n linksList?: LinksListClasses\n}\n\nexport interface ColumnGroupProps extends ColumnGroupSchema {\n mobileAccordionProps?: AccordionProps\n classes?: ColumnGroupClasses\n}\n\nexport const ColumnGroup = ({ groupLabel, links, mobileAccordionProps, classes }: ColumnGroupProps) => {\n const { isMobile } = useDevice()\n\n return (\n <div className={cn('flex flex-col gap-2', classes?.columnGroup)}>\n {!isMobile && (\n <>\n <h5 className={cn('mob-body-medium-l text-color-dark desktop:desk-body-medium-l', classes?.columnGroupHeading)}>\n {groupLabel}\n </h5>\n <LinksList key='desktop' links={links} classes={classes?.linksList} />\n </>\n )}\n\n {isMobile && (\n <Accordion\n defaultOpen\n label={groupLabel}\n icon={\n <Icon name='arrows/arrowRight' className={cn('rotate-90 transition-transform group-data-[state=open]:-rotate-90')} />\n }\n {...mobileAccordionProps}\n classes={{\n ...mobileAccordionProps?.classes,\n header: {\n trigger: cn('p-0', mobileAccordionProps?.classes?.header?.trigger)\n },\n contentInner: cn('py-2 px-4', mobileAccordionProps?.classes?.contentInner)\n }}\n >\n <LinksList key='mobile' links={links} classes={classes?.linksList} />\n </Accordion>\n )}\n </div>\n )\n}\n","import type { ColumnGroupSchema } from '../model/types'\nimport { ColumnGroup, type ColumnGroupClasses } from './ColumnGroup'\nimport type { AccordionProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type ColumnClasses = {\n column?: string\n columnGroup?: ColumnGroupClasses\n}\n\nexport interface ColumnProps {\n column: ColumnGroupSchema[]\n mobileAccordionProps?: AccordionProps\n classes?: ColumnClasses\n}\n\nexport const Column = ({ column, mobileAccordionProps, classes }: ColumnProps) => {\n return (\n <div className={cn('flex flex-col gap-4 desktop:gap-6', classes?.column)}>\n {column?.map((group) => (\n <ColumnGroup key={group.groupLabel} {...mobileAccordionProps} {...group} classes={classes?.columnGroup} />\n ))}\n </div>\n )\n}\n","import { cva } from 'class-variance-authority'\nimport type { InterLinkingSchema } from './model/types'\nimport { Column, type ColumnClasses } from './ui'\nimport { Accordion, type AccordionProps, Heading, ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nconst columnsWrapper = cva('grid gap-4 grid-cols-1', {\n variants: {\n variant: {\n twoCols: 'desktop:grid-cols-2',\n threeCols: 'desktop:grid-cols-3',\n fourCols: 'desktop:grid-cols-4'\n }\n },\n defaultVariants: {\n variant: 'fourCols'\n }\n})\n\nexport type InterLinkingClasses = {\n root?: string\n headline?: string\n columnsWrapper?: string\n column?: ColumnClasses\n}\n\nexport interface InterLinkingProps extends InterLinkingSchema {\n mobileAccordionProps?: AccordionProps\n rootAccordionProps?: AccordionProps\n classes?: InterLinkingClasses\n}\n\nexport const InterLinking = ({\n columns,\n variant,\n headline,\n mobileAccordionProps,\n rootAccordionProps,\n classes\n}: InterLinkingProps) => {\n return (\n <section id='inter-linking' className={cn('min-w-full desktop:min-w-[1140px]', classes?.root)}>\n <ResponsiveContainer>\n <Accordion\n defaultOpen\n label={\n <Heading as='h4' className={cn('text-left', classes?.headline)}>\n {headline}\n </Heading>\n }\n {...rootAccordionProps}\n classes={{\n ...rootAccordionProps?.classes,\n content: cn('max-w-full bg-color-blue-grey-100 relative', rootAccordionProps?.classes?.content)\n }}\n >\n <div className={cn(columnsWrapper({ variant: variant }), classes?.columnsWrapper)}>\n {columns?.map((column, index) => (\n <Column key={index} {...column} {...mobileAccordionProps} classes={classes?.column} />\n ))}\n </div>\n </Accordion>\n </ResponsiveContainer>\n </section>\n )\n}\n"],"names":["itemConfig","cva","BenefitItem","description","title","img","mobileImg","classes","withButton","buttonText","intent","cardColor","isDesktop","useDevice","button","jsx","Fragment","Button","cn","scrollToElement","jsxs","Heading","gridConfig","Benefit","heading","cards","ResponsiveContainer","card","renderContentVariant","props","_a","PhoneView","PageHeader","logoPath","logoType","BannerButtonsGroup","buttonsConfig","className","withSecondaryBtn","BannerImageFull","headTitle","subtitle","advantagesConfig","imgSets","isMobile","advantage","Advantages","BannerWithSeparateImg","Banner","bannerVariant","variant","advantagesList","defaultCopyright","defaultPhones","defaultSocialsLinks","defaultNavigationLinks","SocialLinks","socialsLinks","iconName","href","Icon","PhonesBlock","phones","phone","text","NavLinks","navigationLinks","groupLabel","links","CustomLink","Copyright","FooterLogo","SiteMap","Footer","withSocial","withPhones","withNavLinks","withCopyright","withSiteMap","ligal","copyright","SingleStep","index","withTitles","cleanedHTML","DOMPurify","Stepper","headline","stepsList","Section","step","titleConfig","listItemConfig","containerImgConfig","TextItem","data","popoverText","Popover","Title","desktopHidden","mobileHidden","TextList","textContent","element","LongBanner","buttonConfig","imageComponent","isFourItems","isTwoItems","AUTH_PROVIDER_MODE","AuthWrapper","children","isLoading","loaderProps","Loader","EsiaLogo","Links","mainLink","subLink","MobileId","badge","Badge","Esia","renderProvider","esiaConfig","mobileIdConfig","HeadWrapper","React","AuthProvider","LinksList","path","label","ColumnGroup","mobileAccordionProps","Accordion","_b","_c","Column","column","group","columnsWrapper","InterLinking","columns","rootAccordionProps"],"mappings":";;;;;;AAkBA,MAAMA,IAAaC;AAAA,EACjB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,QAAQ;AAAA,QACN,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,EACF;AAEJ,GAaaC,IAAc,CAAC;AAAA,EAC1B,aAAAC;AAAA,EACA,OAAAC;AAAA,EACA,KAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AACF,MAAwB;AAChB,QAAA,EAAE,WAAAC,EAAU,IAAIC,EAAU,GAE1BC,IAEFC,gBAAAA,EAAA,IAAAC,YAAA,EAAA,UAAAD,gBAAAA,EAAA;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,QAAO;AAAA,MACP,WAAWC,EAAG,qBAAqBX,KAAA,gBAAAA,EAAS,MAAM;AAAA,MAClD,SAAS,MAAMY,EAAgB,eAAe;AAAA,MAC9C,MAAK;AAAA,MAEJ,UAAAV;AAAA,IAAA;AAAA,EAAA,GAEL;AAIA,SAAAW,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,WAAWF,EAAGlB,EAAW,EAAE,QAAAU,EAAQ,CAAA,GAAG,EAAE,QAAQJ,EAAU,GAAG,EAAE,SAAS,CAACA,EAAa,GAAAK,GAAWJ,KAAA,gBAAAA,EAAS,IAAI;AAAA,MAE9G,UAAA;AAAA,QAAAa,gBAAAA,OAAC,SAAI,WAAWF,EAAG,4EAA4EX,KAAA,gBAAAA,EAAS,OAAO,GAC7G,UAAA;AAAA,UAAAa,gBAAAA,OAAC,SAAI,WAAWF,EAAG,uBAAuBX,KAAA,gBAAAA,EAAS,aAAa,GAC9D,UAAA;AAAA,YAACQ,gBAAAA,EAAAA,IAAAM,GAAA,EAAQ,IAAG,MAAK,WAAWH,EAAG,6BAA6BX,KAAA,gBAAAA,EAAS,KAAK,GACvE,UACHH,EAAA,CAAA;AAAA,YACAW,gBAAAA,MAAC,OAAE,WAAWG,EAAG,0EAA0EX,KAAA,gBAAAA,EAAS,WAAW,GAC5G,UACHJ,EAAA,CAAA;AAAA,UAAA,GACF;AAAA,UACCK,KAAcI,KAAaE;AAAA,QAAA,GAC9B;AAAA,SAEER,KAAaM,MAAcP,KAC3BU,gBAAAA,EAAA,IAAC,SAAI,WAAWG,EAAG,2BAA2BX,KAAA,gBAAAA,EAAS,YAAY,GACjE,gCAAC,OAAI,EAAA,WAAWW,EAAG,0BAA0BX,KAAA,gBAAAA,EAAS,GAAG,GAAG,KAAKF,GAAK,KAAKD,EAAO,CAAA,EACpF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAlBGC;AAAA,EAoBP;AAEJ,GC5EMiB,IAAarB,EAAI,cAAc;AAAA,EACnC,UAAU;AAAA,IACR,QAAQ;AAAA,MACN,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,WAAW;AAAA,IAAA;AAAA,EACb;AAEJ,CAAC,GAQYsB,KAAU,CAAC,EAAE,SAAAC,GAAS,OAAAC,GAAO,SAAAlB,GAAS,QAAAG,QAE9CK,gBAAAA,EAAAA,IAAA,WAAA,EAAQ,WAAWG,EAAG,SAASX,KAAA,gBAAAA,EAAS,IAAI,GAC3C,UAACa,gBAAAA,EAAA,KAAAM,GAAA,EAAoB,WAAWnB,KAAA,gBAAAA,EAAS,WACvC,UAAA;AAAA,EAACQ,gBAAAA,EAAAA,IAAAM,GAAA,EAAQ,WAAWH,EAAG,QAAQX,KAAA,gBAAAA,EAAS,OAAO,GAAG,IAAG,MAClD,UACHiB,EAAA,CAAA;AAAA,EACAT,gBAAAA,EAAAA,IAAC,MAAG,EAAA,WAAWG,EAAGI,EAAW,EAAE,QAAAZ,EAAQ,CAAA,GAAGH,KAAA,gBAAAA,EAAS,IAAI,GACpD,UAAAkB,KAAA,gBAAAA,EAAO,IAAI,CAACE,MAASZ,gBAAAA,EAAAA,IAACb,GAAY,EAAA,QAAAQ,GAA+B,SAASH,KAAA,gBAAAA,EAAS,MAAO,GAAGoB,EAAtC,GAAAA,EAAK,GAAuC,GACtG,CAAA;AAAA,EAAA,CACF,EACF,CAAA,GCxCSC,IAAuB,CAACC,MAA2B;;AAC9D,UAAQA,EAAM,SAAS;AAAA,IACrB,KAAK;AACH,aACGd,gBAAAA,EAAAA,IAAAE,GAAA,EAAO,QAAO,aAAY,MAAK,MAAM,GAAGY,EAAM,aAC5C,YAAAC,IAAAD,EAAM,gBAAN,gBAAAC,EAAmB,aAAY,mBAClC;AAAA,IAEJ,KAAK;AACH,aAAQf,gBAAAA,EAAA,IAAAgB,GAAA,EAAW,GAAGF,EAAM,WAAY,CAAA;AAAA,IAC1C;AACS,aAAA;AAAA,EAAA;AAEb,GCXaG,KAAa,CAACH,MAA2B;AACpD,QAAM,EAAE,UAAAI,IAAW,KAAK,UAAAC,IAAW,QAAQ,SAAA3B,MAAYsB;AAGrD,SAAAd,gBAAAA,EAAA,IAAC,YAAO,WAAWG,EAAG,6EAA6EX,KAAA,gBAAAA,EAAS,MAAM,GAChH,UAAAQ,gBAAAA,MAACW,GAAoB,EAAA,WAAWR,EAAGX,KAAA,gBAAAA,EAAS,SAAS,GACnD,UAACa,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAWF,EAAG,2CAA2CX,KAAA,gBAAAA,EAAS,OAAO,GAC5E,UAAA;AAAA,IAAAQ,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAMkB;AAAA,QACN,cAAW;AAAA,QACX,QAAO;AAAA,QACP,KAAI;AAAA,QACJ,WAAWf;AAAA,UACT;AAAA,UACAX,KAAA,gBAAAA,EAAS;AAAA,QACX;AAAA,QAEC,YAAW2B,CAAQ;AAAA,MAAA;AAAA,IACtB;AAAA,IACCN,EAAqBC,CAAK;AAAA,EAAA,EAC7B,CAAA,EACF,CAAA,GACF;AAEJ,GCdaM,IAAqB,CAAC,EAAE,eAAAC,GAAe,SAAA7B,GAAS,WAAA8B,QAAyC;;AACpG,QAAMC,KAAmBF,KAAA,gBAAAA,EAAe,cAAaA,EAAc,UAAU;AAG3E,SAAAhB,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAQ;AAAA,MACR,WAAWF;AAAA,QACT;AAAA,QACA,EAAE,2BAA2BoB,EAAiB;AAAA,QAC9C/B,KAAA,gBAAAA,EAAS;AAAA,QACT8B;AAAA,MACF;AAAA,MAEA,UAAA;AAAA,QAAAtB,gBAAAA,MAACE,KAAO,QAAO,WAAW,GAAGmB,EAAc,SAAS,QAAM,IAAC,WAAWlB,EAAG,yBAAyBX,KAAA,gBAAAA,EAAS,OAAO,GAC/G,UAAA6B,EAAc,QAAQ,UACzB;AAAA,QACCE,KACCvB,gBAAAA,EAAA;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,QAAO;AAAA,YACN,GAAGmB,KAAA,gBAAAA,EAAe;AAAA,YACnB,QAAM;AAAA,YACN,WAAWlB,EAAG,yBAAyBX,KAAA,gBAAAA,EAAS,SAAS;AAAA,YAExD,sCAAe,gCAAW;AAAA,UAAA;AAAA,QAAA;AAAA,MAC7B;AAAA,IAAA;AAAA,EAEJ;AAEJ,GCnCagC,IAAkB,CAAC;AAAA,EAC9B,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,eAAAL;AAAA,EACA,kBAAAM;AAAA,EACA,SAAAnC;AAAA,EACA,KAAAF;AAAA,EACA,SAAAsC;AACF,MAA0C;;AACxC,QAAM,EAAE,WAAA/B,GAAW,UAAAgC,EAAS,IAAI/B,EAAU,GACpCgC,IACJ9B,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAQ;AAAA,MACR,WAAWG;AAAA,QACT;AAAA,QACAX,KAAA,gBAAAA,EAAS;AAAA,MACX;AAAA,MAEC,WAAAmC,KAAA,gBAAAA,EAAkB,qBAAkBZ,IAAAY,KAAA,gBAAAA,EAAkB,mBAAlB,gBAAAZ,EAAkC,UAAS,KAAKf,gBAAAA,EAAA,IAAC+B,GAAY,EAAA,GAAGJ,EAAkB,CAAA;AAAA,IAAA;AAAA,EACzH;AAGF,SAEItB,gBAAAA,EAAA,KAAAJ,YAAA,EAAA,UAAA;AAAA,IAACI,gBAAAA,EAAAA,KAAA,WAAA,EAAQ,WAAQ,kBAAiB,WAAWF,EAAG,wCAAwCX,KAAA,gBAAAA,EAAS,IAAI,GACnG,UAAA;AAAA,MAAAQ,gBAAAA,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAQ;AAAA,UACR,WAAU;AAAA,UAEV,iCAAC,WACC,EAAA,UAAA;AAAA,YAAAA,gBAAAA,EAAA,IAAC,UAAO,EAAA,OAAM,uBAAsB,QAAQ4B,KAAA,gBAAAA,EAAS,OAAO;AAAA,kCAC3D,UAAO,EAAA,OAAM,uBAAsB,QAAQA,KAAA,gBAAAA,EAAS,KAAK;AAAA,YAC1D5B,gBAAAA,EAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAQ;AAAA,gBACR,KAAKV;AAAA,gBACL,KAAI;AAAA,gBACJ,WAAWa,EAAG,4CAA4CX,KAAA,gBAAAA,EAAS,KAAK;AAAA,cAAA;AAAA,YAAA;AAAA,UAC1E,EACF,CAAA;AAAA,QAAA;AAAA,MACF;AAAA,MACAa,gBAAAA,EAAAA,KAACM,KAAoB,WAAQ,oBAAmB,WAAWR,EAAG,UAAUX,KAAA,gBAAAA,EAAS,SAAS,GACxF,UAAA;AAAA,QAACQ,gBAAAA,EAAAA,IAAA,OAAA,EAAI,WAAQ,UAAS,WAAWG,EAAG,eAAeX,KAAA,gBAAAA,EAAS,OAAO,GACjE,UAAAa,gBAAAA,EAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAQ;AAAA,YACR,WAAWF,EAAG,oEAAoEX,KAAA,gBAAAA,EAAS,SAAS;AAAA,YAEpG,UAAA;AAAA,cAACa,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAU,uBACb,UAAA;AAAA,gBAACL,gBAAAA,EAAA,IAAAM,GAAA,EAAQ,WAAQ,gBAAe,IAAG,MAAK,WAAWH,EAAG,oBAAoBX,KAAA,gBAAAA,EAAS,KAAK,GACrF,UACHiC,EAAA,CAAA;AAAA,gBACAzB,gBAAAA,EAAAA,IAAC,KAAE,EAAA,WAAQ,mBAAkB,WAAWG,EAAG,wCAAwCX,KAAA,gBAAAA,EAAS,QAAQ,GACjG,UACHkC,EAAA,CAAA;AAAA,cAAA,GACF;AAAA,cACA1B,gBAAAA,EAAA;AAAA,gBAACoB;AAAA,gBAAA;AAAA,kBACC,WAAU;AAAA,kBACV,WAAQ;AAAA,kBACR,eAAAC;AAAA,kBACA,SAAA7B;AAAA,gBAAA;AAAA,cAAA;AAAA,YACF;AAAA,UAAA;AAAA,QAAA,GAEJ;AAAA,QAECK,KAAaiC;AAAA,MAAA,EAChB,CAAA;AAAA,IAAA,GACF;AAAA,IACCD,KAAYC;AAAA,EAAA,GACf;AAEJ,GCvEaE,IAAwB,CAAC;AAAA,EACpC,WAAAP;AAAA,EACA,UAAAC;AAAA,EACA,eAAAL;AAAA,EACA,kBAAAM;AAAA,EACA,SAAAnC;AAAA,EACA,KAAAF;AAAA,EACA,SAAAsC;AACF,MAA0C;;AACxC,QAAM,EAAE,WAAA/B,GAAW,UAAAgC,EAAS,IAAI/B,EAAU,GACpCgC,IACJ9B,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAQ;AAAA,MACR,WAAWG;AAAA,QACT;AAAA,QACAX,KAAA,gBAAAA,EAAS;AAAA,MACX;AAAA,MAEC,WAAAmC,KAAA,gBAAAA,EAAkB,qBAAkBZ,IAAAY,KAAA,gBAAAA,EAAkB,mBAAlB,gBAAAZ,EAAkC,UAAS,KAAKf,gBAAAA,EAAA,IAAC+B,GAAY,EAAA,GAAGJ,EAAkB,CAAA;AAAA,IAAA;AAAA,EACzH;AAEF,SAEItB,gBAAAA,EAAA,KAAAJ,YAAA,EAAA,UAAA;AAAA,IAAAD,gBAAAA,MAAC,aAAQ,WAAQ,kBAAiB,WAAWG,EAAG,2CAA2CX,KAAA,gBAAAA,EAAS,IAAI,GACtG,UAACa,gBAAAA,EAAA,KAAAM,GAAA,EAAoB,WAAQ,oBAAmB,WAAWR,EAAG,YAAYX,KAAA,gBAAAA,EAAS,SAAS,GAC1F,UAAA;AAAA,MAACa,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAQ,UAAS,WAAWF,EAAG,0DAA0DX,KAAA,gBAAAA,EAAS,OAAO,GAC5G,UAAA;AAAA,QAACa,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAU,8CACb,UAAA;AAAA,UAACA,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAQ,qBAAoB,WAAWF,EAAG,yCAAyCX,KAAA,gBAAAA,EAAS,SAAS,GACxG,UAAA;AAAA,YAACQ,gBAAAA,EAAA,IAAAM,GAAA,EAAQ,WAAQ,gBAAe,IAAG,MAAK,WAAWH,EAAG,mBAAmBX,KAAA,gBAAAA,EAAS,KAAK,GACpF,UACHiC,EAAA,CAAA;AAAA,YACAzB,gBAAAA,EAAAA,IAAC,KAAE,EAAA,WAAQ,mBAAkB,WAAWG,EAAG,uCAAuCX,KAAA,gBAAAA,EAAS,QAAQ,GAChG,UACHkC,EAAA,CAAA;AAAA,UAAA,GACF;AAAA,UAEA1B,gBAAAA,EAAAA,IAACoB,GAAmB,EAAA,eAAAC,GAA8B,SAAA7B,EAAkB,CAAA;AAAA,QAAA,GACtE;AAAA,QAEAQ,gBAAAA,EAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAQ;AAAA,YACR,WAAWG,EAAG,qEAAqEX,KAAA,gBAAAA,EAAS,cAAc;AAAA,YAE1G,iCAAC,WACC,EAAA,UAAA;AAAA,cAAAQ,gBAAAA,EAAA,IAAC,UAAO,EAAA,OAAM,uBAAsB,QAAQ4B,KAAA,gBAAAA,EAAS,OAAO;AAAA,oCAC3D,UAAO,EAAA,OAAM,uBAAsB,QAAQA,KAAA,gBAAAA,EAAS,KAAK;AAAA,cAC1D5B,gBAAAA,EAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAQ;AAAA,kBACR,KAAKV;AAAA,kBACL,KAAI;AAAA,kBACJ,WAAWa,EAAG,uBAAuBX,KAAA,gBAAAA,EAAS,KAAK;AAAA,gBAAA;AAAA,cAAA;AAAA,YACrD,EACF,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACF,GACF;AAAA,MAECK,KAAaiC;AAAA,IAAA,EAAA,CAChB,EACF,CAAA;AAAA,IACCD,KAAYC;AAAA,EAAA,GACf;AAEJ,GC3CaG,KAAS,CAAC,EAAE,eAAAC,GAAe,GAAGpB,QAAyB;AAClE,UAAQoB,GAAe;AAAA,IACrB,KAAK;AACI,aAAAlC,gBAAAA,MAACgC,GAAuB,EAAA,GAAGlB,EAAO,CAAA;AAAA,IAC3C,KAAK;AACI,aAAAd,gBAAAA,MAACwB,GAAiB,EAAA,GAAGV,EAAO,CAAA;AAAA,IACrC;AACS,aAAAd,gBAAAA,MAACgC,GAAuB,EAAA,GAAGlB,EAAO,CAAA;AAAA,EAAA;AAE/C,GCfaiB,IAAa,CAAC,EAAE,SAAAI,GAAS,gBAAAC,GAAgB,SAAA5C,QAElDQ,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWG;AAAA,MACT;AAAA,MACA,EAAE,yBAAyBgC,MAAY,aAAa;AAAA,MACpD,EAAE,0BAA0BA,MAAY,YAAY;AAAA,MACpD3C,KAAA,gBAAAA,EAAS;AAAA,IACX;AAAA,IAEC,iCAAgB,IAAI,CAAC,EAAE,OAAAH,GAAO,aAAAD,QAC7BiB,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,WAAWF;AAAA,UACT;AAAA,UACAX,KAAA,gBAAAA,EAAS;AAAA,QACX;AAAA,QAEA,UAAA;AAAA,UAACQ,gBAAAA,EAAAA,IAAAM,GAAA,EAAQ,IAAG,MAAK,WAAWH,EAAG,mBAAmBX,KAAA,gBAAAA,EAAS,KAAK,GAC7D,UACHH,EAAA,CAAA;AAAA,UACAW,gBAAAA,MAAC,OAAE,WAAWG,EAAG,4CAA4CX,KAAA,gBAAAA,EAAS,WAAW,GAAI,UAAYJ,EAAA,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,MAT5FC;AAAA,IAWR;AAAA,EAAA;AACH,GCzCSgD,IACThC,gBAAAA,EAAA,KAAAJ,YAAA,EAAA,UAAA;AAAA,EAAA;AAAA,EACmDD,gBAAAA,EAAAA,IAAC,MAAG,EAAA,WAAU,gBAAgB,CAAA;AAAA,EAAE;AAAA,GAErF,GAGWsC,IAAgC;AAAA,EAC3C,EAAE,OAAO,mBAAmB,MAAM,+BAA+B;AAAA,EACjE,EAAE,OAAO,sBAAsB,MAAM,oCAAoC;AAC3E,GAEaC,IAA2C;AAAA,EACtD,EAAE,UAAU,aAAa,MAAM,4BAA4B;AAAA,EAC3D,EAAE,UAAU,mBAAmB,MAAM,kCAAkC;AAAA,EACvE,EAAE,UAAU,qBAAqB,MAAM,8BAA8B;AACvE,GAEaC,IAA2C;AAAA,EACtD;AAAA,IACE,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,EAAE,MAAM,WAAW,MAAM,IAAI;AAAA,MAC7B,EAAE,MAAM,wBAAwB,MAAM,IAAI;AAAA,MAC1C,EAAE,MAAM,eAAe,MAAM,IAAI;AAAA,MACjC,EAAE,MAAM,yCAAyC,MAAM,IAAI;AAAA,MAC3D,EAAE,MAAM,gBAAgB,MAAM,IAAI;AAAA,MAClC,EAAE,MAAM,YAAY,MAAM,IAAI;AAAA,MAC9B,EAAE,MAAM,wBAAwB,MAAM,IAAI;AAAA,MAC1C,EAAE,MAAM,6CAA6C,MAAM,IAAI;AAAA,MAC/D,EAAE,MAAM,mCAAmC,MAAM,IAAI;AAAA,MACrD,EAAE,MAAM,wBAAwB,MAAM,IAAI;AAAA,MAC1C,EAAE,MAAM,aAAa,MAAM,IAAI;AAAA,MAC/B,EAAE,MAAM,0BAA0B,MAAM,IAAI;AAAA,MAC5C,EAAE,MAAM,wFAAwF,MAAM,IAAI;AAAA,MAC1G,EAAE,MAAM,uBAAuB,MAAM,IAAI;AAAA,MACzC,EAAE,MAAM,gBAAgB,MAAM,IAAI;AAAA,IAAA;AAAA,EAEtC;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,EAAE,MAAM,4BAA4B,MAAM,IAAI;AAAA,MAC9C,EAAE,MAAM,sBAAsB,MAAM,IAAI;AAAA,MACxC,EAAE,MAAM,eAAe,MAAM,IAAI;AAAA,MACjC,EAAE,MAAM,sCAAsC,MAAM,IAAI;AAAA,MACxD,EAAE,MAAM,0CAA0C,MAAM,IAAI;AAAA,MAC5D,EAAE,MAAM,sBAAsB,MAAM,IAAI;AAAA,MACxC,EAAE,MAAM,+BAA+B,MAAM,IAAI;AAAA,MACjD,EAAE,MAAM,qCAAqC,MAAM,IAAI;AAAA,MACvD,EAAE,MAAM,oCAAoC,MAAM,IAAI;AAAA,IAAA;AAAA,EAE1D;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,EAAE,MAAM,SAAS,MAAM,IAAI;AAAA,MAC3B,EAAE,MAAM,WAAW,MAAM,IAAI;AAAA,MAC7B,EAAE,MAAM,qBAAqB,MAAM,IAAI;AAAA,MACvC,EAAE,MAAM,WAAW,MAAM,IAAI;AAAA,MAC7B,EAAE,MAAM,eAAe,MAAM,IAAI;AAAA,MACjC,EAAE,MAAM,yBAAyB,MAAM,IAAI;AAAA,MAC3C,EAAE,MAAM,UAAU,MAAM,IAAI;AAAA,MAC5B,EAAE,MAAM,cAAc,MAAM,IAAI;AAAA,MAChC,EAAE,MAAM,WAAW,MAAM,IAAI;AAAA,MAC7B,EAAE,MAAM,WAAW,MAAM,IAAI;AAAA,MAC7B,EAAE,MAAM,uBAAuB,MAAM,IAAI;AAAA,MACzC,EAAE,MAAM,0BAA0B,MAAM,IAAI;AAAA,MAC5C,EAAE,MAAM,OAAO,MAAM,IAAI;AAAA,MACzB,EAAE,MAAM,iCAAiC,MAAM,IAAI;AAAA,MACnD,EAAE,MAAM,gCAAgC,MAAM,IAAI;AAAA,IAAA;AAAA,EAEtD;AAAA,EACA;AAAA,IACE,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,EAAE,MAAM,+CAA+C,MAAM,IAAI;AAAA,MACjE,EAAE,MAAM,sBAAsB,MAAM,IAAI;AAAA,MACxC,EAAE,MAAM,6BAA6B,MAAM,IAAI;AAAA,MAC/C,EAAE,MAAM,oBAAoB,MAAM,IAAI;AAAA,MACtC,EAAE,MAAM,wBAAwB,MAAM,IAAI;AAAA,MAC1C,EAAE,MAAM,mBAAmB,MAAM,IAAI;AAAA,MACrC,EAAE,MAAM,0BAA0B,MAAM,IAAI;AAAA,MAC5C,EAAE,MAAM,qBAAqB,MAAM,IAAI;AAAA,MACvC,EAAE,MAAM,2BAA2B,MAAM,IAAI;AAAA,MAC7C,EAAE,MAAM,gBAAgB,MAAM,IAAI;AAAA,MAClC,EAAE,MAAM,mBAAmB,MAAM,IAAI;AAAA,MACrC,EAAE,MAAM,oBAAoB,MAAM,IAAI;AAAA,MACtC,EAAE,MAAM,YAAY,MAAM,IAAI;AAAA,MAC9B,EAAE,MAAM,qBAAqB,MAAM,IAAI;AAAA,MACvC,EAAE,MAAM,2BAA2B,MAAM,IAAI;AAAA,MAC7C,EAAE,MAAM,UAAU,MAAM,IAAI;AAAA,MAC5B,EAAE,MAAM,qBAAqB,MAAM,IAAI;AAAA,IAAA;AAAA,EACzC;AAEJ,GClFaC,IAAc,CAAC,EAAE,cAAAC,GAAc,SAAAlD,QAEvCQ,gBAAAA,EAAAA,IAAA,OAAA,EAAI,WAAWG,EAAG,6CAA6CX,KAAA,gBAAAA,EAAS,UAAU,GAChF,UAAAkD,KAAA,gBAAAA,EAAc,IAAI,CAAC,EAAE,UAAAC,GAAU,MAAAC,QAC9B5C,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWG,EAAG,yEAAyEX,KAAA,gBAAAA,EAAS,UAAU;AAAA,IAC1G,MAAAoD;AAAA,IAEA,cAAYD,EAAS,QAAQ,WAAW,EAAE;AAAA,IAE1C,UAAA3C,gBAAAA,EAAA,IAAC6C,KAAK,MAAMF,GAAU,WAAWxC,EAAG,iCAAiCX,KAAA,gBAAAA,EAAS,UAAU,EAAG,CAAA;AAAA,EAAA;AAAA,EAHtFoD;AAKR,IACH,GCZSE,IAAc,CAAC,EAAE,QAAAC,GAAQ,SAAAvD,QAEjCQ,gBAAAA,EAAAA,IAAA,OAAA,EAAI,WAAWG,EAAG,yCAAyCX,KAAA,gBAAAA,EAAS,UAAU,GAC5E,UAAAuD,KAAA,gBAAAA,EAAQ,IAAI,CAAC,EAAE,OAAAC,GAAO,MAAAC,QACrBjD,gBAAAA,EAAA;AAAA,EAACgB;AAAA,EAAA;AAAA,IAEC,OAAAgC;AAAA,IACA,MAAAC;AAAA,IACA,SAAS;AAAA,MACP,SAAS9C,EAAGX,KAAA,gBAAAA,EAAS,YAAY;AAAA,MACjC,MAAMW,EAAG,qBAAqBX,KAAA,gBAAAA,EAAS,SAAS;AAAA,MAChD,MAAMW,EAAG,+BAA+BX,KAAA,gBAAAA,EAAS,SAAS;AAAA,IAAA;AAAA,EAC5D;AAAA,EAPKwD;AASR,IACH,GCbSE,IAAW,CAAC,EAAE,iBAAAC,GAAiB,SAAA3D,QAExCQ,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWG;AAAA,MACT;AAAA,MACAX,KAAA,gBAAAA,EAAS;AAAA,IACX;AAAA,IAEC,UAAiB2D,KAAA,gBAAAA,EAAA,IAAI,CAAC,EAAE,YAAAC,GAAY,OAAAC,EAAM,MACxChD,gBAAAA,EAAA,KAAA,OAAA,EAAqB,WAAWF,EAAG,uBAAuBX,KAAA,gBAAAA,EAAS,QAAQ,GAC1E,UAAA;AAAA,MAAAQ,gBAAAA,EAAAA,IAAC,SAAI,WAAWG,EAAG,uCAAuCX,KAAA,gBAAAA,EAAS,QAAQ,GAAI,UAAW4D,GAAA;AAAA,MACzFpD,gBAAAA,EAAA,IAAA,OAAA,EAAI,WAAWG,EAAG,uBAAuBX,KAAA,gBAAAA,EAAS,QAAQ,GACxD,UAAA6D,KAAA,gBAAAA,EAAO,IAAI,CAAC,EAAE,MAAAJ,GAAM,MAAAL,QACnB5C,gBAAAA,EAAA;AAAA,QAACsD;AAAA,QAAA;AAAA,UAEC,MAAAV;AAAA,UACA,cAAYK;AAAA,UACZ,QAAO;AAAA,UACP,SAAS;AAAA,YACP,MAAMzD,KAAA,gBAAAA,EAAS;AAAA,YACf,MAAMA,KAAA,gBAAAA,EAAS;AAAA,UACjB;AAAA,UAEC,UAAAyD;AAAA,QAAA;AAAA,QATIA;AAAA,MAAA,GAYX,CAAA;AAAA,IAAA,EAAA,GAjBQG,CAkBV;AAAA,EACD;AACH,GCnCSG,IAAY,CAAC,EAAE,MAAAN,GAAM,SAAAzD,QACzBQ,gBAAAA,MAAC,SAAI,WAAWG,EAAG,yCAAyCX,KAAA,gBAAAA,EAAS,SAAS,GAAI,UAAKyD,EAAA,CAAA,GCDnFO,IAAa,CAAC,EAAE,SAAAhE,QAEzBQ,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,cAAW;AAAA,IACX,MAAK;AAAA,IACL,WAAWG,EAAG,+DAA+DX,KAAA,gBAAAA,EAAS,UAAU;AAAA,IAEhG,UAAAQ,gBAAAA,EAAA,IAAC6C,KAAK,MAAK,wBAAuB,WAAW1C,EAAG,aAAaX,KAAA,gBAAAA,EAAS,cAAc,EAAG,CAAA;AAAA,EAAA;AACzF,GCRSiE,KAAU,CAAC,EAAE,SAAAjE,QAEtBQ,gBAAAA,EAAA;AAAA,EAACsD;AAAA,EAAA;AAAA,IACC,QAAO;AAAA,IACP,MAAK;AAAA,IACL,QAAO;AAAA,IACP,cAAW;AAAA,IACX,KAAI;AAAA,IACJ,SAAS;AAAA,MACP,MAAMnD,EAAG,eAAeX,KAAA,gBAAAA,EAAS,WAAW;AAAA,MAC5C,MAAMA,KAAA,gBAAAA,EAAS;AAAA,IACjB;AAAA,IACD,UAAA;AAAA,EAAA;AAED,GCTSkE,KAAS,CAAC;AAAA,EACrB,cAAc,EAAE,YAAAC,IAAa,IAAM,YAAAC,IAAa,IAAM,cAAAC,IAAe,IAAM,eAAAC,IAAgB,IAAM,aAAAC,IAAc,OAAS,CAAC;AAAA,EACzH,cAAArB,IAAeH;AAAA,EACf,QAAAQ,IAAST;AAAA,EACT,iBAAAa,IAAkBX;AAAA,EAClB,OAAAwB;AAAA,EACA,WAAAC,IAAY5B;AAAA,EACZ,SAAA7C;AACF,MAEIQ,gBAAAA,EAAA,IAAC,YAAO,WAAWG,EAAG,6CAA6CX,KAAA,gBAAAA,EAAS,IAAI,GAC9E,UAAAQ,gBAAAA,MAACW,GAAoB,EAAA,WAAWR,EAAGX,KAAA,gBAAAA,EAAS,eAAe,GACzD,UAACa,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAWF,EAAG,qBAAqBX,KAAA,gBAAAA,EAAS,aAAa,GAC5D,UAAA;AAAA,EAAAa,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWF;AAAA,QACT;AAAA,QACAX,KAAA,gBAAAA,EAAS;AAAA,MACX;AAAA,MAEA,UAAA;AAAA,QAAAa,gBAAAA,EAAA,KAAC,OAAI,EAAA,WAAWF,EAAGX,KAAA,gBAAAA,EAAS,iBAAiB,GAC3C,UAAA;AAAA,UAACQ,gBAAAA,EAAAA,IAAAwD,GAAA,EAAW,SAAShE,KAAA,gBAAAA,EAAS,WAAY,CAAA;AAAA,UACzCmE,KAAe3D,gBAAAA,EAAA,IAAAyC,GAAA,EAAY,cAAAC,GAA4B,SAASlD,KAAA,gBAAAA,EAAS,YAAa,CAAA;AAAA,QAAA,GACzF;AAAA,QAECoE,KAAe5D,gBAAAA,EAAA,IAAA8C,GAAA,EAAY,QAAAC,GAAgB,SAASvD,KAAA,gBAAAA,EAAS,YAAa,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAC7E;AAAA,EAECqE,KAAiB7D,gBAAAA,EAAA,IAAAkD,GAAA,EAAS,iBAAAC,GAAkC,SAAS3D,KAAA,gBAAAA,EAAS,UAAU;AAAA,EACxFwE,KAASA;AAAA,EAEV3D,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWF;AAAA,QACT;AAAA,QACAX,KAAA,gBAAAA,EAAS;AAAA,MACX;AAAA,MAEC,UAAA;AAAA,QAAAsE,2BAAkBP,GAAU,EAAA,MAAMU,GAAW,SAASzE,KAAA,gBAAAA,EAAS,WAAW;AAAA,QAC1EuE,KAAe/D,gBAAAA,EAAA,IAACyD,IAAQ,EAAA,SAASjE,KAAA,gBAAAA,EAAS,QAAS,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AACtD,EACF,CAAA,EACF,CAAA,GACF,GC7CS0E,KAAa,CAAC,EAAE,SAAA1E,GAAS,OAAA2E,GAAO,SAAAhC,GAAS,OAAA9C,GAAO,aAAAD,QAAmC;AACxF,QAAAgF,IAAajC,MAAY,6BAA6B9C,GACtDgF,IAAcC,EAAU,SAASlF,KAAe,EAAE;AAGtD,SAAAiB,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWF;AAAA,QACT;AAAA,QACAX,KAAA,gBAAAA,EAAS;AAAA,MACX;AAAA,MAEA,UAAA;AAAA,QAAAQ,gBAAAA,EAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWG;AAAA,cACT;AAAA,cACAX,KAAA,gBAAAA,EAAS;AAAA,YACX;AAAA,YAEC,UAAA2E;AAAA,UAAA;AAAA,QACH;AAAA,QAEC9D,gBAAAA,EAAA,KAAA,OAAA,EAAI,WAAWF,EAAG,qBAAqB,GACrC,UAAA;AAAA,UACCiE,KAAApE,gBAAAA,EAAAA,IAACM,GAAQ,EAAA,IAAG,MAAK,WAAWH,EAAG,mBAAmBX,KAAA,gBAAAA,EAAS,KAAK,GAC7D,UACHH,EAAA,CAAA;AAAA,UAEFW,gBAAAA,EAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,yBAAyB,EAAE,QAAQqE,EAAY;AAAA,cAC/C,WAAWlE,EAAG,2CAA2CX,KAAA,gBAAAA,EAAS,WAAW;AAAA,YAAA;AAAA,UAAA;AAAA,QAC/E,EACF,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAEJ,GCxBa+E,KAAU,CAAC,EAAE,UAAAC,GAAU,SAAArC,GAAS,WAAAsC,GAAW,SAAAjF,8BAEnDkF,GAAQ,EAAA,WAAWlF,KAAA,gBAAAA,EAAS,MAC3B,gCAACmB,GAAoB,EAAA,WAAWnB,KAAA,gBAAAA,EAAS,WACvC,iCAAC,OAAI,EAAA,WAAWW,EAAG,0DAA0DX,KAAA,gBAAAA,EAAS,OAAO,GAC3F,UAAA;AAAA,EAACQ,gBAAAA,EAAAA,IAAAM,GAAA,EAAQ,IAAG,MAAK,WAAWH,EAAG,mBAAmBX,KAAA,gBAAAA,EAAS,QAAQ,GAChE,UACHgF,EAAA,CAAA;AAAA,EACAxE,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWG;AAAA,QACT;AAAA,QACAX,KAAA,gBAAAA,EAAS;AAAA,MACX;AAAA,MAEC,iCAAW,IAAI,CAACmF,GAAMR,MACrBnE,gBAAAA,EAAA,IAACkE,MAAW,SAAA/B,GAA0C,GAAGwC,GAAM,OAAOR,IAAQ,GAAG,SAAS3E,KAAA,gBAAAA,EAAS,KAAhE,GAAAmF,EAAK,WAAiE;AAAA,IAC1G;AAAA,EAAA;AACH,EACF,CAAA,EACF,CAAA,GACF,GCxCSC,KAAc1F,EAAI,IAAI;AAAA,EACjC,UAAU;AAAA,IACR,QAAQ;AAAA,MACN,UAAU;AAAA,MACV,WAAW;AAAA,IACb;AAAA,IACA,eAAe;AAAA,MACb,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,IAAA;AAAA,EAEV;AAAA,EACA,iBAAiB;AAAA,IACf,QAAQ;AAAA,EAAA;AAEZ,CAAC,GAEY2F,KAAiB3F,EAAI,IAAI;AAAA,EACpC,UAAU;AAAA,IACR,QAAQ;AAAA,MACN,UAAU;AAAA,MACV,WAAW;AAAA,IACb;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,IAAA;AAAA,EAEV;AAAA,EACA,kBAAkB;AAAA,IAChB;AAAA,MACE,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ,CAAC,GAEYD,KAAaC,EAAI,2FAA2F;AAAA,EACvH,UAAU;AAAA,IACR,QAAQ;AAAA,MACN,UACE;AAAA,MACF,WAAW;AAAA,IAAA;AAAA,EAEf;AAAA,EACA,iBAAiB;AAAA,IACf,QAAQ;AAAA,EAAA;AAEZ,CAAC,GAEY4F,KAAqB5F,EAAI,oDAAoD;AAAA,EACxF,UAAU;AAAA,IACR,QAAQ;AAAA,MACN,UAAU;AAAA,MACV,WAAW;AAAA,IACb;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,EAEX;AAAA,EACA,iBAAiB;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,kBAAkB;AAAA,IAChB;AAAA,MACE,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ,CAAC,GCxFY6F,KAAW,CAAC,EAAE,MAAAC,GAAM,QAAArF,QAA4B;AAC3D,QAAM,EAAE,OAAAN,GAAO,aAAAD,GAAa,aAAA6F,EAAgB,IAAAD;AAC5C,SACGhF,gBAAAA,EAAAA,IAAA,MAAA,EAAG,WAAWG,EAAGlB,GAAW,EAAE,QAAAU,EAAO,CAAC,CAAC,GACtC,UAACU,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAU,yBACb,UAAA;AAAA,IAAAA,gBAAAA,EAAA,KAAC,OAAI,EAAA,WAAWF,EAAG,8BAA8B,GAC/C,UAAA;AAAA,MAAAH,gBAAAA,MAAC,MAAG,EAAA,WAAWG,EAAG,kCAAkC,GAAI,UAAMd,GAAA;AAAA,MAC7D4F,KACCjF,gBAAAA,EAAA,IAACkF,GAAQ,EAAA,gBAAiBlF,gBAAAA,EAAAA,IAAA6C,GAAA,EAAK,WAAW1C,EAAG,gCAAgC,GAAG,MAAK,kBAAA,CAAkB,GACpG,UACH8E,EAAA,CAAA;AAAA,IAAA,GAEJ;AAAA,0BAEC,KAAE,EAAA,WAAW9E,EAAG,yCAAyC,GAAI,UAAYf,EAAA,CAAA;AAAA,EAAA,EAAA,CAC5E,EACF,CAAA;AAEJ,GCXa+F,IAAQ,CAAC,EAAE,QAAAxF,GAAQ,OAAAN,GAAO,eAAA+F,IAAgB,IAAO,cAAAC,IAAe,SACnErF,gBAAAA,EAAA,IAAA,MAAA,EAAG,WAAWG,EAAGyE,GAAY,EAAE,QAAAjF,GAAQ,eAAAyF,GAAe,cAAAC,EAAc,CAAA,CAAC,GAAI,UAAMhG,EAAA,CAAA,GCF5EiG,KAAW,CAAC,EAAE,aAAAC,GAAa,QAAA5F,GAAQ,YAAAF,QAE5CO,gBAAAA,MAAC,QAAG,WAAWG,EAAG0E,GAAe,EAAE,QAAAlF,GAAQ,YAAAF,GAAY,CAAC,GACrD,iCAAa,IAAI,CAAC+F,GAASrB,MAAWnE,gBAAAA,EAAAA,IAAA+E,IAAA,EAAS,QAAApF,GAAgB,MAAM6F,EAAA,GAAcrB,CAAO,GAC7F,CAAA,GCASsB,KAAa,CAAC;AAAA,EACzB,OAAApG;AAAA,EACA,cAAAqG;AAAA,EACA,QAAA/F,IAAS;AAAA,EACT,aAAA4F;AAAA,EACA,gBAAAI;AAAA,EACA,SAAAnG;AACF,MAAuB;AACf,QAAAC,IAAa,CAAC,CAACiG,GACfE,IAAcjG,MAAW,aACzBkG,IAAalG,MAAW;AAE9B,SACGK,gBAAAA,EAAAA,IAAA,WAAA,EAAQ,WAAWG,EAAGX,KAAA,gBAAAA,EAAS,IAAI,GAClC,UAAAa,gBAAAA,EAAAA,KAACM,GAAoB,EAAA,WAAWR,EAAGX,KAAA,gBAAAA,EAAS,SAAS,GAClD,UAAA;AAAA,IAAcqG,KAAA7F,gBAAAA,EAAAA,IAACmF,GAAM,EAAA,QAAAxF,GAAgB,OAAAN,EAAc,CAAA;AAAA,IAEpDgB,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWF;AAAA,UACT;AAAA,UACAX,KAAA,gBAAAA,EAAS;AAAA,QACX;AAAA,QAEC,UAAA;AAAA,UAAAoG,KAAgB5F,gBAAAA,EAAA,IAAAmF,GAAA,EAAM,QAAAxF,GAAgB,OAAAN,GAAc,eAAe,IAAM;AAAA,UACzEW,gBAAAA,EAAAA,IAAA,OAAA,EAAI,WAAWG,EAAG2E,GAAmB,EAAE,QAAAnF,GAAQ,YAAAF,EAAY,CAAA,GAAGD,KAAA,gBAAAA,EAAS,YAAY,GAAI,UAAemG,EAAA,CAAA;AAAA,UACvGtF,gBAAAA,EAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWF,EAAG,sEAAsEX,KAAA,gBAAAA,EAAS,oBAAoB;AAAA,cAEhH,UAAA;AAAA,gBAAAoG,KAAgB5F,gBAAAA,EAAA,IAAAmF,GAAA,EAAM,QAAAxF,GAAgB,OAAAN,GAAc,cAAc,IAAM;AAAA,gBACxEW,gBAAAA,EAAAA,IAAAsF,IAAA,EAAS,aAAAC,GAA0B,QAAA5F,GAAgB,YAAAF,EAAwB,CAAA;AAAA,gBAC3EA,KACCO,gBAAAA,EAAA;AAAA,kBAACE;AAAA,kBAAA;AAAA,oBACC,WAAWC,EAAG,6BAA6BX,KAAA,gBAAAA,EAAS,MAAM;AAAA,oBAC1D,MAAK;AAAA,oBACL,SAASkG,EAAa;AAAA,oBACtB,QAAO;AAAA,oBAEN,UAAaA,EAAA;AAAA,kBAAA;AAAA,gBAAA;AAAA,cAChB;AAAA,YAAA;AAAA,UAAA;AAAA,QAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,EAAA,CACF,EACF,CAAA;AAEJ,GC5DaI,IAAqB;AAAA,EAChC,MAAM;AAAA,EACN,WAAW;AAAA,EACX,SAAS;AACX,GCWaC,IAAc,CAAC,EAAE,UAAAC,GAAU,WAAAC,GAAW,SAAAzG,GAAS,aAAA0G,QAExDlG,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,UAAU;AAAA,IACV,WAAWG;AAAA,MACT;AAAA,MACA;AAAA,MACAX,KAAA,gBAAAA,EAAS;AAAA,IACX;AAAA,IAEA,UAAAQ,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWG;AAAA,UACT;AAAA,UACA;AAAA,UACA,EAAE,gBAAgB8F,EAAU;AAAA,UAC5BzG,KAAA,gBAAAA,EAAS;AAAA,QACX;AAAA,QAEC,UAAYyG,IAAAjG,gBAAAA,EAAAA,IAACmG,GAAO,EAAA,UAAS,UAAS,SAAS,EAAE,SAAS,gBAAgB,GAAI,GAAGD,EAAa,CAAA,IAAKF;AAAA,MAAA;AAAA,IAAA;AAAA,EACtG;AACF,GCjCSI,KAAW,CAAC,EAAE,GAAGtF,QAEzBT,gBAAAA,EAAAA,KAAA,OAAA,EAAI,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,MAAK,QAAO,OAAM,8BAA8B,GAAGS,GACjG,UAAA;AAAA,EAAAd,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAK;AAAA,IAAA;AAAA,EACP;AAAA,EACAA,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAK;AAAA,IAAA;AAAA,EACP;AAAA,EACAA,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,GAAE;AAAA,MACF,MAAK;AAAA,IAAA;AAAA,EACP;AAAA,EACCA,gBAAAA,MAAA,QAAA,EACC,UAACK,gBAAAA,EAAAA,KAAA,kBAAA,EAAe,IAAG,0BAAyB,IAAG,WAAU,IAAG,KAAI,IAAG,WAAU,IAAG,WAAU,eAAc,kBACtG,UAAA;AAAA,IAACL,gBAAAA,EAAAA,IAAA,QAAA,EAAK,WAAU,UAAU,CAAA;AAAA,IACzBA,gBAAAA,EAAA,IAAA,QAAA,EAAK,QAAO,YAAW,WAAU,WAAU;AAAA,IAC3CA,gBAAAA,EAAA,IAAA,QAAA,EAAK,QAAO,UAAS,WAAU,WAAU;AAAA,IACzCA,gBAAAA,EAAA,IAAA,QAAA,EAAK,QAAO,KAAI,WAAU,UAAU,CAAA;AAAA,EAAA,EAAA,CACvC,EACF,CAAA;AAAA,GACF,GCVSqG,IAAQ,CAAC,EAAE,UAAAC,GAAU,SAAAC,GAAS,UAAA1E,GAAU,SAAArC,+BAEhD,OAAI,EAAA,WAAWW,EAAG,iBAAiBX,KAAA,gBAAAA,EAAS,YAAY,GACvD,UAAA;AAAA,EAAAQ,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAMsG,EAAS;AAAA,MACf,QAAO;AAAA,MACP,KAAI;AAAA,MACJ,WAAWnG;AAAA,QACT;AAAA,QACAX,KAAA,gBAAAA,EAAS;AAAA,MACX;AAAA,MAEC,UAAAqC,IAAWyE,EAAS,cAAcA,EAAS;AAAA,IAAA;AAAA,EAC9C;AAAA,GAECC,KAAA,gBAAAA,EAAS,UAAQA,KAAA,gBAAAA,EAAS,SACzBvG,gBAAAA,EAAA;AAAA,IAACsD;AAAA,IAAA;AAAA,MACC,QAAO;AAAA,MACP,eAAa;AAAA,MACb,MAAMiD,KAAA,gBAAAA,EAAS;AAAA,MACf,QAAO;AAAA,MACP,KAAI;AAAA,MACJ,SAAS;AAAA,QACP,MAAMpG,EAAG,oEAAoEX,KAAA,gBAAAA,EAAS,YAAY;AAAA,MACpG;AAAA,MAEC,UAAS+G,KAAA,gBAAAA,EAAA;AAAA,IAAA;AAAA,EAAA;AACZ,GAEJ,GCtCSC,IAAW,CAAC,EAAE,UAAAF,GAAU,SAAAC,GAAS,WAAAN,GAAW,OAAAQ,GAAO,aAAAP,GAAa,SAAA1G,QAA8B;AACnG,QAAA,EAAE,UAAAqC,EAAS,IAAI/B,EAAU;AAE/B,+BACGiG,GAAY,EAAA,WAAAE,GAAsB,aAAAC,GAA0B,SAAS1G,KAAA,gBAAAA,EAAS,aAC7E,UAAAa,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWF;AAAA,QACT;AAAA,QACA,EAAE,kBAAkB,CAACsG,KAAS5E,EAAS;AAAA,QACvCrC,KAAA,gBAAAA,EAAS;AAAA,MACX;AAAA,MAEA,UAAA;AAAA,QAAAa,gBAAAA,OAAC,SAAI,WAAWF,EAAG,yCAAyCX,KAAA,gBAAAA,EAAS,WAAW,GAC9E,UAAA;AAAA,UAAAa,gBAAAA,OAAC,OACC,EAAA,UAAA;AAAA,YAACL,gBAAAA,EAAAA,IAAA6C,GAAA,EAAK,MAAK,aAAY,WAAW1C,EAAG,wCAAwCX,KAAA,gBAAAA,EAAS,OAAO,GAAG;AAAA,YAChGQ,gBAAAA,EAAAA,IAAC6C,KAAK,MAAK,iBAAgB,WAAW1C,EAAG,8CAA8CX,KAAA,gBAAAA,EAAS,WAAW,GAAG;AAAA,YAC9GQ,gBAAAA,MAAC6C,KAAK,MAAK,iBAAgB,WAAW1C,EAAG,8CAA8CX,KAAA,gBAAAA,EAAS,WAAW,EAAG,CAAA;AAAA,UAAA,GAChH;AAAA,gCACC6G,GAAM,EAAA,UAAAC,GAAoB,SAAAC,GAAkB,UAAA1E,GAAoB,SAASrC,KAAA,gBAAAA,EAAS,OAAO;AAAA,UAC1FQ,gBAAAA,MAAC6C,KAAK,MAAK,qBAAoB,WAAW1C,EAAG,iBAAiBX,KAAA,gBAAAA,EAAS,SAAS,EAAG,CAAA;AAAA,QAAA,GACrF;AAAA,QACCiH,2BAAUC,GAAM,EAAA,WAAWvG,EAAG,qBAAqBX,KAAA,gBAAAA,EAAS,KAAK,GAAI,UAAMiH,EAAA,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAEhF;AAEJ,GCzBaE,IAAO,CAAC,EAAE,UAAAL,GAAU,SAAAC,GAAS,WAAAN,GAAW,OAAAQ,GAAO,aAAAP,GAAa,SAAA1G,QAA0B;AAC3F,QAAA,EAAE,UAAAqC,EAAS,IAAI/B,EAAU;AAE/B,+BACGiG,GAAY,EAAA,WAAAE,GAAsB,aAAAC,GAA0B,SAAS1G,KAAA,gBAAAA,EAAS,aAC7E,UAAAa,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWF;AAAA,QACT;AAAA,QACA,EAAE,kBAAkB,CAACsG,KAAS5E,EAAS;AAAA,QACvCrC,KAAA,gBAAAA,EAAS;AAAA,MACX;AAAA,MAEA,UAAA;AAAA,QAAAa,gBAAAA,OAAC,SAAI,WAAWF,EAAG,yCAAyCX,KAAA,gBAAAA,EAAS,WAAW,GAC9E,UAAA;AAAA,UAAAQ,gBAAAA,MAACoG,MAAS,WAAWjG,EAAG,yBAAyBX,KAAA,gBAAAA,EAAS,QAAQ,GAAG;AAAA,gCACpE6G,GAAM,EAAA,UAAAC,GAAoB,SAAAC,GAAkB,UAAA1E,GAAoB,SAASrC,KAAA,gBAAAA,EAAS,OAAO;AAAA,UAC1FQ,gBAAAA,MAAC6C,KAAK,MAAK,qBAAoB,WAAW1C,EAAG,iBAAiBX,KAAA,gBAAAA,EAAS,SAAS,EAAG,CAAA;AAAA,QAAA,GACrF;AAAA,QACCiH,2BAAUC,GAAM,EAAA,WAAWvG,EAAG,qBAAqBX,KAAA,gBAAAA,EAAS,KAAK,GAAI,UAAMiH,EAAA,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAEhF;AAEJ,GCpBMG,KAAiB,CAAC9F,MAAiD;AACvE,UAAQA,EAAM,MAAM;AAAA,IAClB,KAAKgF,EAAmB;AACf,aAAA9F,gBAAAA,MAAC2G,GAAM,EAAA,GAAG7F,EAAO,CAAA;AAAA,IAC1B,KAAKgF,EAAmB;AACf,aAAA9F,gBAAAA,MAACwG,GAAU,EAAA,GAAG1F,EAAO,CAAA;AAAA,IAC9B,KAAKgF,EAAmB;AAAA,IACxB;AACE,YAAM,EAAE,YAAAe,GAAY,gBAAAC,GAAgB,UAAApF,GAAU,OAAA+E,GAAO,SAAAjH,MAAYsB,GAE3DiG,IAAc,CAACrF,KAAY,CAAC+E,IAAQO,EAAM,WAAW;AAGzD,aAAA3G,gBAAAA,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAWF;AAAA,YACT;AAAA,YACAX,KAAA,gBAAAA,EAAS;AAAA,UACX;AAAA,UAEA,UAAA;AAAA,YAAAa,gBAAAA,OAAC0G,KAAY,WAAW5G,EAAG,kDAAkDX,KAAA,gBAAAA,EAAS,UAAU,GAC7F,UAAA;AAAA,cAAYkC,KAAA1B,gBAAAA,EAAA,IAAC,QAAG,WAAWG,EAAG,mDAAmDX,KAAA,gBAAAA,EAAS,QAAQ,GAAI,UAASkC,EAAA,CAAA;AAAA,cAC/G+E,2BAAUC,GAAM,EAAA,WAAWvG,EAAG,qBAAqBX,KAAA,gBAAAA,EAAS,KAAK,GAAI,UAAMiH,EAAA,CAAA;AAAA,YAAA,GAC9E;AAAA,mCACC,OAAI,EAAA,WAAWtG,EAAG,+CAA+CX,KAAA,gBAAAA,EAAS,WAAW,GACpF,UAAA;AAAA,cAAAQ,gBAAAA,EAAA;AAAA,gBAAC2G;AAAA,gBAAA;AAAA,kBACE,GAAGE;AAAA,kBACJ,SAAS;AAAA,oBACP,MAAM;AAAA,oBACN,WAAW;AAAA,oBACX,GAAGA,EAAW;AAAA,kBAAA;AAAA,gBAChB;AAAA,cACF;AAAA,cACA7G,gBAAAA,EAAA;AAAA,gBAACwG;AAAA,gBAAA;AAAA,kBACE,GAAGM;AAAA,kBACJ,SAAS;AAAA,oBACP,MAAM;AAAA,oBACN,WAAW;AAAA,oBACX,GAAGA,EAAe;AAAA,kBAAA;AAAA,gBACpB;AAAA,cAAA;AAAA,YACF,EACF,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,EAAA;AAGR,GAEaG,KAAe,CAACnG,MACpB8F,GAAe9F,CAAK,GCvChBoG,IAAY,CAAC,EAAE,OAAA7D,GAAO,SAAA7D,QAE9BQ,gBAAAA,EAAAA,IAAA,OAAA,EAAI,WAAWG,EAAG,uBAAuBX,KAAA,gBAAAA,EAAS,YAAY,GAC5D,UAAA6D,KAAA,gBAAAA,EAAO,IAAI,CAAC,EAAE,MAAA8D,GAAM,OAAAC,QACnBpH,gBAAAA,EAAA;AAAA,EAACsD;AAAA,EAAA;AAAA,IACC,SAAS;AAAA,MACP,MAAMnD,EAAG,SAASX,KAAA,gBAAAA,EAAS,QAAQ;AAAA,MACnC,MAAMW,EAAGX,KAAA,gBAAAA,EAAS,QAAQ;AAAA,IAC5B;AAAA,IAEA,MAAM2H;AAAA,IAEL,UAAAC;AAAA,EAAA;AAAA,EAHID;AAKR,IACH,GCbSE,KAAc,CAAC,EAAE,YAAAjE,GAAY,OAAAC,GAAO,sBAAAiE,GAAsB,SAAA9H,QAAgC;;AAC/F,QAAA,EAAE,UAAAqC,EAAS,IAAI/B,EAAU;AAE/B,gCACG,OAAI,EAAA,WAAWK,EAAG,uBAAuBX,KAAA,gBAAAA,EAAS,WAAW,GAC3D,UAAA;AAAA,IAAA,CAACqC,KAEExB,gBAAAA,EAAAA,KAAAJ,EAAA,UAAA,EAAA,UAAA;AAAA,MAAAD,gBAAAA,EAAAA,IAAC,QAAG,WAAWG,EAAG,gEAAgEX,KAAA,gBAAAA,EAAS,kBAAkB,GAC1G,UACH4D,GAAA;AAAA,4BACC8D,GAAwB,EAAA,OAAA7D,GAAc,SAAS7D,KAAA,gBAAAA,EAAS,aAA1C,SAAqD;AAAA,IAAA,GACtE;AAAA,IAGDqC,KACC7B,gBAAAA,EAAA;AAAA,MAACuH;AAAA,MAAA;AAAA,QACC,aAAW;AAAA,QACX,OAAOnE;AAAA,QACP,4BACGP,GAAK,EAAA,MAAK,qBAAoB,WAAW1C,EAAG,mEAAmE,GAAG;AAAA,QAEpH,GAAGmH;AAAA,QACJ,SAAS;AAAA,UACP,GAAGA,KAAA,gBAAAA,EAAsB;AAAA,UACzB,QAAQ;AAAA,YACN,SAASnH,EAAG,QAAOqH,KAAAzG,IAAAuG,KAAA,gBAAAA,EAAsB,YAAtB,gBAAAvG,EAA+B,WAA/B,gBAAAyG,EAAuC,OAAO;AAAA,UACnE;AAAA,UACA,cAAcrH,EAAG,cAAasH,IAAAH,KAAA,gBAAAA,EAAsB,YAAtB,gBAAAG,EAA+B,YAAY;AAAA,QAC3E;AAAA,QAEA,gCAACP,GAAuB,EAAA,OAAA7D,GAAc,SAAS7D,KAAA,gBAAAA,EAAS,aAAzC,QAAoD;AAAA,MAAA;AAAA,IAAA;AAAA,EACrE,GAEJ;AAEJ,GCpCakI,KAAS,CAAC,EAAE,QAAAC,GAAQ,sBAAAL,GAAsB,SAAA9H,QAEnDQ,gBAAAA,MAAC,OAAI,EAAA,WAAWG,EAAG,qCAAqCX,KAAA,gBAAAA,EAAS,MAAM,GACpE,UAAQmI,KAAA,gBAAAA,EAAA,IAAI,CAACC,4BACXP,IAAoC,EAAA,GAAGC,GAAuB,GAAGM,GAAO,SAASpI,KAAA,gBAAAA,EAAS,YAAzE,GAAAoI,EAAM,UAAgF,GAE5G,CAAA,GChBEC,KAAiB3I,EAAI,0BAA0B;AAAA,EACnD,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA,MACX,UAAU;AAAA,IAAA;AAAA,EAEd;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EAAA;AAEb,CAAC,GAeY4I,KAAe,CAAC;AAAA,EAC3B,SAAAC;AAAA,EACA,SAAA5F;AAAA,EACA,UAAAqC;AAAA,EACA,sBAAA8C;AAAA,EACA,oBAAAU;AAAA,EACA,SAAAxI;AACF,MAAyB;;AAErB,SAAAQ,gBAAAA,EAAAA,IAAC,WAAQ,EAAA,IAAG,iBAAgB,WAAWG,EAAG,qCAAqCX,KAAA,gBAAAA,EAAS,IAAI,GAC1F,UAAAQ,gBAAAA,EAAA,IAACW,GACC,EAAA,UAAAX,gBAAAA,EAAA;AAAA,IAACuH;AAAA,IAAA;AAAA,MACC,aAAW;AAAA,MACX,OACGvH,gBAAAA,EAAAA,IAAAM,GAAA,EAAQ,IAAG,MAAK,WAAWH,EAAG,aAAaX,KAAA,gBAAAA,EAAS,QAAQ,GAC1D,UACHgF,EAAA,CAAA;AAAA,MAED,GAAGwD;AAAA,MACJ,SAAS;AAAA,QACP,GAAGA,KAAA,gBAAAA,EAAoB;AAAA,QACvB,SAAS7H,EAAG,+CAA8CY,IAAAiH,KAAA,gBAAAA,EAAoB,YAApB,gBAAAjH,EAA6B,OAAO;AAAA,MAChG;AAAA,MAEA,UAACf,gBAAAA,EAAAA,IAAA,OAAA,EAAI,WAAWG,EAAG0H,GAAe,EAAE,SAAA1F,EAAkB,CAAA,GAAG3C,KAAA,gBAAAA,EAAS,cAAc,GAC7E,UAASuI,KAAA,gBAAAA,EAAA,IAAI,CAACJ,GAAQxD,MACrBnE,gBAAAA,EAAA,IAAC0H,IAAoB,EAAA,GAAGC,GAAS,GAAGL,GAAsB,SAAS9H,KAAA,gBAAAA,EAAS,OAAA,GAA/D2E,CAAuE,GAExF,CAAA;AAAA,IAAA;AAAA,KAEJ,EACF,CAAA;AAEJ;"}