@arbisoft/react-design-tool 1.0.17 → 1.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/cjs/index.js +61 -27
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +61 -27
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/features/Studio/props.js","../../src/theme/color.js","../../src/theme/fonts.js","../../src/theme/index.js","../../src/features/Studio/styled.js","../../src/components/SideBar/props.js","../../src/components/SideBar/styled.js","../../src/components/SideBarPill/props.js","../../src/components/SideBarPill/styled.js","../../src/components/SideBarPill/sideBarPill.jsx","../../src/assets/icons/ic_template.svg","../../src/assets/icons/ic_image.svg","../../src/assets/icons/ic_qr_code.svg","../../src/assets/icons/ic_shape.svg","../../src/assets/icons/ic_text.svg","../../src/assets/icons/ic_white_label.svg","../../src/assets/icons/ic_dropdown.svg","../../src/assets/icons/ic_background-color.svg","../../src/assets/icons/ic_background_image.svg","../../src/assets/icons/ic_background_image_opacity.svg","../../src/assets/icons/ic_dropdown_small.svg","../../src/assets/icons/ic_frame.svg","../../src/assets/icons/ic_zoom_in.svg","../../src/assets/icons/ic_zoom_out.svg","../../src/assets/icons/ic_bring_to_front.svg","../../src/assets/icons/ic_sent_to_back.svg","../../src/assets/icons/ic_lock.svg","../../src/assets/icons/ic_copy.svg","../../src/assets/icons/ic_delete.svg","../../src/assets/icons/ic_undo.svg","../../src/assets/icons/ic_redo.svg","../../src/assets/icons/ic_text_small.svg","../../src/assets/icons/ic_bold.svg","../../src/assets/icons/ic_line_through.svg","../../src/assets/icons/ic_text_italic.svg","../../src/assets/icons/ic_text_underline.svg","../../src/assets/icons/ic_align_text_left.svg","../../src/assets/icons/ic_align_text_center.svg","../../src/assets/icons/ic_align_text_Right.svg","../../src/assets/icons/ic_opacity.svg","../../src/assets/icons/ic_grid.svg","../../src/assets/icons/ic_chevron_left.svg","../../src/assets/icons/ic_add.svg","../../src/assets/icons/ic_add_text.svg","../../src/assets/icons/ic_upload.svg","../../src/assets/icons/ic_graph.svg","../../src/assets/icons/ic_cheveron_down.svg","../../src/assets/icons/ic_info.svg","../../src/assets/icons/ic_tools.svg","../../src/assets/icons/ic_tools_pink.svg","../../src/assets/icons/ic_circle.svg","../../src/assets/icons/ic_square.svg","../../src/assets/icons/ic_triangle.svg","../../src/assets/icons/ic_arrow_right.svg","../../src/assets/icons/ic_horizontal_line.svg","../../src/assets/icons/ic_vertical_line.svg","../../src/assets/icons/ic_star.svg","../../src/assets/icons/ic_heart.svg","../../src/assets/icons/ic_unlock.svg","../../src/assets/icons/ic_cross.svg","../../src/assets/images/small-dots.png","../../src/constants/layoutConstants.js","../../src/constants/index.js","../../src/constants/textConstants.js","../../src/components/SideBar/sideBar.jsx","../../src/components/Editor/props.js","../../src/components/Editor/styled.js","../../src/components/TopToolBar/props.js","../../src/components/TopToolBar/styled.js","../../src/components/TemplateToolBar/props.js","../../src/components/ToolBarButtonWrapper/props.js","../../src/components/ToolBarButtonWrapper/styled.js","../../src/components/Tooltip/props.js","../../src/components/Tooltip/styled.js","../../src/components/Tooltip/tooltip.jsx","../../src/components/ToolBarButtonWrapper/toolBarBottonWrapper.jsx","../../src/components/DropDown/props.js","../../src/components/DropDown/styled.js","../../src/components/DropDown/dropDown.jsx","../../src/components/TemplateToolBar/styled.js","../../src/components/ColorBox/props.js","../../src/components/ColorBox/styled.js","../../src/components/ColorBox/colorBox.jsx","../../src/generic/Styled.js","../../src/utils/index.js","../../src/components/OpacityPicker/props.js","../../src/components/OpacityPicker/opacityPicker.jsx","../../src/components/StrokePicker/props.js","../../src/components/StrokePicker/strokePicker.jsx","../../src/components/TemplateToolBar/templateToolBar.jsx","../../src/components/TextToolBar/props.js","../../src/components/TextToolBar/styled.js","../../src/components/ToolsTabBar/props.js","../../src/components/ToolsTabBar/styled.js","../../src/components/ToolsTabBar/toolsTabBar.jsx","../../src/components/TextToolBar/textToolBar.jsx","../../src/components/ImageToolBar/props.js","../../src/components/ImageToolBar/styled.js","../../src/components/ImageToolBar/imageToolBar.jsx","../../src/components/ShapeToolBar/props.js","../../src/components/ShapeToolBar/styled.js","../../src/components/ShapeToolBar/shapeToolBar.jsx","../../src/components/QrToolBar/props.js","../../src/components/QrToolBar/styled.js","../../src/components/QrToolBar/qrToolBar.jsx","../../src/components/TopToolBar/topToolBar.jsx","../../src/components/BottomToolBar/props.js","../../src/components/ZoomControls/props.js","../../src/components/ZoomControls/styled.js","../../src/components/Button/props.js","../../src/components/Button/styled.js","../../src/components/Button/button.jsx","../../src/components/ZoomControls/zoomControls.jsx","../../src/components/BottomToolBarControls/props.js","../../src/components/BottomToolBarControls/styled.js","../../src/components/BottomToolBarControls/bottomToolBarControls.jsx","../../src/components/BottomToolBar/styled.js","../../src/components/UndoRedoControls/props.js","../../src/components/UndoRedoControls/undoRedoControls.jsx","../../src/components/BottomToolBar/bottomToolBar.jsx","../../src/components/CanvasImage/props.js","../../src/components/CanvasImage/canvasImage.jsx","../../src/components/QrElement/props.js","../../src/components/QrElement/qrElement.jsx","../../src/components/EditableText/props.js","../../src/components/EditableText/textEditor.jsx","../../src/components/EditableText/editableText.jsx","../../src/components/Editor/util.js","../../src/components/Editor/editor.jsx","../../src/components/HelperSideBar/props.js","../../src/components/SideBarHeader/props.js","../../src/components/SideBarHeader/styled.js","../../src/components/SideBarHeader/sideBarHeader.jsx","../../src/components/HelperSideBar/styled.js","../../src/components/TemplateSideBar/props.js","../../src/components/Collapsable/props.js","../../src/components/Collapsable/styled.js","../../src/components/Collapsable/collapsable.jsx","../../src/components/TemplateSideBar/styled.js","../../src/components/TemplateSideBar/templateSideBar.jsx","../../src/components/TextSideBar/props.js","../../src/components/TextSideBar/styled.js","../../src/components/TextSideBar/textSideBar.jsx","../../src/components/ImageSideBar/props.js","../../src/components/ImageSideBar/styled.js","../../src/components/ImageSideBar/imageSideBar.jsx","../../src/components/ShapeSideBar/props.js","../../src/components/ShapeSideBar/styled.js","../../src/components/ShapeSideBar/shapeSideBar.jsx","../../src/components/QrSideBar/props.js","../../src/components/QrSideBar/styled.js","../../src/components/RadioSection/props.js","../../src/components/RadioSection/styled.js","../../src/components/RadioSection/radioSection.jsx","../../src/components/QrSideBar/qrSideBar.jsx","../../src/components/WhiteLabelSideBar/props.js","../../src/components/WhiteLabelSideBar/styled.js","../../src/components/WhiteLabelSideBar/whiteLabelSideBar.jsx","../../src/components/HelperSideBar/helperSideBar.jsx","../../src/components/Overlay/props.js","../../src/components/Overlay/overlay.jsx","../../src/components/LoadingSpinner/props.js","../../src/components/LoadingSpinner/styled.js","../../src/components/LoadingSpinner/loadingSpinner.jsx","../../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../../src/features/Studio/studio.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\n\nexport const propTypes = {\n title: PropTypes.string,\n languageLocale: PropTypes.string,\n elementsList: PropTypes.array,\n customImages: PropTypes.array,\n defaultImages: PropTypes.array,\n disableWhiteLabel: PropTypes.bool,\n defaultTemplatesList: PropTypes.array,\n customTemplatesList: PropTypes.array,\n qrLink: PropTypes.string,\n styleProps: PropTypes.object,\n defaultText: PropTypes.string,\n onSave: PropTypes.func,\n saveButtonText: PropTypes.string,\n locale: PropTypes.oneOf(['en', 'ru', 'pl', 'de', 'es', 'fr', 'it']),\n};\n","/**\n * palette contains the basic colors set\n */\nexport const palette = {\n primary: '#5F98D0',\n secondary: '#F9FAFB',\n gray_700: '#344054',\n white: '#FFFFFF',\n white_F5F5F5: '#F5F5F5',\n white_F7F7F7: '#F7F7F7',\n gray_535354: '#535354',\n gray_545454: '#545454',\n gray_646464: '#646464',\n gray_200: '#E4E7EC',\n gray_788899: '#788899',\n icon_gray: '#4D6277',\n gray_B8B8B8: '#B8B8B8',\n gray_25: '#FCFCFD',\n gray_7A7979: '#7A7979',\n gray_E8E8E8: '#E8E8E8',\n gray_EAEAEA: '#EAEAEA',\n gray_CCC: '#CCC',\n gray_F2F2F2: '#F2F2F2',\n gray_FDFCFC: '#FDFCFC',\n gray_EDEDED: '#EDEDED',\n gray_FBFBFB: '#FBFBFB',\n gray_F5F6F6: '#F5F6F6',\n gray_A1A1A1: '#A1A1A1',\n gray_F0F2F7: '#F0F2F7',\n gray_333: '#333333',\n gray_EFEFEF: '#EFEFEF',\n gray_9DA1A7: '#9DA1A7',\n green_80D965: '#80D965',\n black: '#000000',\n black_transparent: 'rgba(0,0,0,0.4)',\n};\n\nexport const color = {\n ...palette,\n};\n","export const fonts = {\n primary: 'Plus Jakarta Sans, sans-serif',\n secondary: 'Inter, sans-serif',\n tertiary: 'Source Sans Pro, sans-serif',\n};\nexport const fontWeights = {\n 100: 100,\n 200: 200,\n 300: 300,\n 400: 400,\n 500: 500,\n 600: 600,\n 700: 700,\n 800: 800,\n 900: 900,\n};\n","import { color } from './color';\nimport { fonts } from './fonts';\nimport { fontWeights } from './fonts';\n\nexport default { color, fonts, fontWeights };\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StudioWrapper = styled.div`\n background-color: ${theme.color.white};\n display: flex;\n flex: 1;\n flex-direction: row;\n overflow: hidden;\n height: 100%;\n width: 100%;\n position: relative;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n selectedSideBarItem: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n onClickPill: PropTypes.func,\n languageLocale: PropTypes.string,\n disableWhiteLabel: PropTypes.bool,\n styleProps: PropTypes.object,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const SideBarWrapper = styled.div`\n background-color: ${theme.color.white};\n display: flex;\n flex-direction: column;\n width: 100px;\n overflow: auto;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n isSelected: PropTypes.bool,\n onClick: PropTypes.func,\n icon: PropTypes.node,\n text: PropTypes.string,\n pillActiveColor: PropTypes.string,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\n\nexport const SideBarItem = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100px;\n min-height: 100px;\n background-color: ${({ isSelected, pillActiveColor }) =>\n isSelected ? pillActiveColor : theme.color.secondary};\n margin-bottom: 2px;\n cursor: pointer;\n transition: background-color 0.2s ease-in-out;\n\n &:hover {\n background-color: ${({ pillActiveColor }) => pillActiveColor};\n }\n`;\n\nexport const SideBarIcon = styled.img`\n height: 28px;\n width: 28px;\n object-fit: contain;\n margin-bottom: 8px;\n filter: ${({ isSelected = false }) => (isSelected ? 'brightness(0) invert(1)' : 'none')};\n\n ${SideBarItem}:hover & {\n filter: brightness(0) invert(1);\n }\n`;\n\nexport const SideBarText = styled.p`\n color: ${({ isSelected = false }) =>\n isSelected ? theme.color.white : theme.color.gray_535354};\n font-size: 12px;\n font-family: ${theme.fonts.primary};\n font-weight: ${theme.fontWeights[400]};\n line-height: 109.023%;\n text-align: center;\n\n ${SideBarItem}:hover & {\n color: ${theme.color.white};\n }\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { SideBarIcon, SideBarItem, SideBarText } from './styled';\nimport theme from '@/theme';\n\nexport const SideBarPill = ({\n isSelected = false,\n onClick = () => {},\n icon,\n text,\n pillActiveColor,\n id\n}) => (\n <SideBarItem\n key={id}\n isSelected={isSelected}\n onClick={() => onClick()}\n pillActiveColor={pillActiveColor || theme.color.primary}\n >\n <SideBarIcon src={icon} isSelected={isSelected} />\n <SideBarText isSelected={isSelected}>{text}</SideBarText>\n </SideBarItem>\n);\n\nSideBarPill.propTypes = propTypes;\n","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2229%22%20viewBox%3D%220%200%2028%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22layout-dashboard%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.66683%202.83337C3.37816%202.83337%202.3335%203.87804%202.3335%205.16671V13.3334C2.3335%2014.622%203.37816%2015.6667%204.66683%2015.6667H10.5002C11.7888%2015.6667%2012.8335%2014.622%2012.8335%2013.3334V5.16671C12.8335%203.87804%2011.7888%202.83337%2010.5002%202.83337H4.66683ZM4.66683%205.16671H10.5002V13.3334H4.66683V5.16671Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M17.5002%202.83337C16.2115%202.83337%2015.1668%203.87804%2015.1668%205.16671V8.66671C15.1668%209.95537%2016.2115%2011%2017.5002%2011H23.3335C24.6222%2011%2025.6668%209.95537%2025.6668%208.66671V5.16671C25.6668%203.87804%2024.6222%202.83337%2023.3335%202.83337H17.5002ZM17.5002%205.16671H23.3335V8.66671H17.5002V5.16671Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.1668%2015.6667C15.1668%2014.378%2016.2115%2013.3334%2017.5002%2013.3334H23.3335C24.6222%2013.3334%2025.6668%2014.378%2025.6668%2015.6667V23.8334C25.6668%2025.122%2024.6222%2026.1667%2023.3335%2026.1667H17.5002C16.2115%2026.1667%2015.1668%2025.122%2015.1668%2023.8334V15.6667ZM23.3335%2015.6667H17.5002V23.8334H23.3335V15.6667Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.66683%2018C3.37816%2018%202.3335%2019.0447%202.3335%2020.3334V23.8334C2.3335%2025.122%203.37816%2026.1667%204.66683%2026.1667H10.5002C11.7888%2026.1667%2012.8335%2025.122%2012.8335%2023.8334V20.3334C12.8335%2019.0447%2011.7888%2018%2010.5002%2018H4.66683ZM4.66683%2020.3334H10.5002V23.8334H4.66683V20.3334Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2229%22%20viewBox%3D%220%200%2028%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M22.1667%204H5.83333C4.54467%204%203.5%205.04467%203.5%206.33333V22.6667C3.5%2023.9553%204.54467%2025%205.83333%2025H22.1667C23.4553%2025%2024.5%2023.9553%2024.5%2022.6667V6.33333C24.5%205.04467%2023.4553%204%2022.1667%204Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M10.4998%2013.3334C11.7885%2013.3334%2012.8332%2012.2887%2012.8332%2011C12.8332%209.71136%2011.7885%208.66669%2010.4998%208.66669C9.21117%208.66669%208.1665%209.71136%208.1665%2011C8.1665%2012.2887%209.21117%2013.3334%2010.4998%2013.3334Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M24.5%2018L20.8997%2014.3997C20.4621%2013.9622%2019.8687%2013.7165%2019.25%2013.7165C18.6313%2013.7165%2018.0379%2013.9622%2017.6003%2014.3997L7%2025%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2229%22%20viewBox%3D%220%200%2028%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22heroicons-solid%2Fqr-code%22%3E%3Cpath%20id%3D%22Vector%20%28Stroke%29%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M2%205C2%203.61929%203.11929%202.5%204.5%202.5H10.5C11.8807%202.5%2013%203.61929%2013%205V11C13%2012.3807%2011.8807%2013.5%2010.5%2013.5H4.5C3.11929%2013.5%202%2012.3807%202%2011V5ZM4.5%204.5C4.22386%204.5%204%204.72386%204%205V11C4%2011.2761%204.22386%2011.5%204.5%2011.5H10.5C10.7761%2011.5%2011%2011.2761%2011%2011V5C11%204.72386%2010.7761%204.5%2010.5%204.5H4.5ZM15%205C15%203.61929%2016.1193%202.5%2017.5%202.5H23.5C24.8807%202.5%2026%203.61929%2026%205V11C26%2012.3807%2024.8807%2013.5%2023.5%2013.5H17.5C16.1193%2013.5%2015%2012.3807%2015%2011V5ZM17.5%204.5C17.2239%204.5%2017%204.72386%2017%205V11C17%2011.2761%2017.2239%2011.5%2017.5%2011.5H23.5C23.7761%2011.5%2024%2011.2761%2024%2011V5C24%204.72386%2023.7761%204.5%2023.5%204.5H17.5ZM6%207.5C6%206.94772%206.44772%206.5%207%206.5H8C8.55228%206.5%209%206.94772%209%207.5V8.5C9%209.05228%208.55228%209.5%208%209.5H7C6.44772%209.5%206%209.05228%206%208.5V7.5ZM19%207.5C19%206.94772%2019.4477%206.5%2020%206.5H21C21.5523%206.5%2022%206.94772%2022%207.5V8.5C22%209.05228%2021.5523%209.5%2021%209.5H20C19.4477%209.5%2019%209.05228%2019%208.5V7.5ZM2%2018C2%2016.6193%203.11929%2015.5%204.5%2015.5H10.5C11.8807%2015.5%2013%2016.6193%2013%2018V24C13%2025.3807%2011.8807%2026.5%2010.5%2026.5H4.5C3.11929%2026.5%202%2025.3807%202%2024V18ZM4.5%2017.5C4.22386%2017.5%204%2017.7239%204%2018V24C4%2024.2761%204.22386%2024.5%204.5%2024.5H10.5C10.7761%2024.5%2011%2024.2761%2011%2024V18C11%2017.7239%2010.7761%2017.5%2010.5%2017.5H4.5ZM15%2016.5C15%2015.9477%2015.4477%2015.5%2016%2015.5H17C17.5523%2015.5%2018%2015.9477%2018%2016.5V17.5C18%2018.0523%2017.5523%2018.5%2017%2018.5H16C15.4477%2018.5%2015%2018.0523%2015%2017.5V16.5ZM23%2016.5C23%2015.9477%2023.4477%2015.5%2024%2015.5H25C25.5523%2015.5%2026%2015.9477%2026%2016.5V17.5C26%2018.0523%2025.5523%2018.5%2025%2018.5H24C23.4477%2018.5%2023%2018.0523%2023%2017.5V16.5ZM6%2020.5C6%2019.9477%206.44772%2019.5%207%2019.5H8C8.55228%2019.5%209%2019.9477%209%2020.5V21.5C9%2022.0523%208.55228%2022.5%208%2022.5H7C6.44772%2022.5%206%2022.0523%206%2021.5V20.5ZM19%2020.5C19%2019.9477%2019.4477%2019.5%2020%2019.5H21C21.5523%2019.5%2022%2019.9477%2022%2020.5V21.5C22%2022.0523%2021.5523%2022.5%2021%2022.5H20C19.4477%2022.5%2019%2022.0523%2019%2021.5V20.5ZM15%2024.5C15%2023.9477%2015.4477%2023.5%2016%2023.5H17C17.5523%2023.5%2018%2023.9477%2018%2024.5V25.5C18%2026.0523%2017.5523%2026.5%2017%2026.5H16C15.4477%2026.5%2015%2026.0523%2015%2025.5V24.5ZM23%2024.5C23%2023.9477%2023.4477%2023.5%2024%2023.5H25C25.5523%2023.5%2026%2023.9477%2026%2024.5V25.5C26%2026.0523%2025.5523%2026.5%2025%2026.5H24C23.4477%2026.5%2023%2026.0523%2023%2025.5V24.5Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2226%22%20height%3D%2227%22%20viewBox%3D%220%200%2026%2027%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M12.8996%200.305068C13.2791%200.29145%2013.6556%200.376085%2013.9926%200.55077C14.3297%200.725456%2014.616%200.984266%2014.8236%201.30211L14.8386%201.32569L19.6238%209.0076C19.8397%209.33005%2019.9667%209.70402%2019.9917%2010.0917C20.0176%2010.4929%2019.9332%2010.8935%2019.7477%2011.2502C19.5623%2011.6068%2019.2828%2011.906%2018.9395%2012.1152C18.5963%2012.3244%2018.2023%2012.4358%2017.8003%2012.4372L17.7958%2012.4372H8.19452C7.8032%2012.4509%207.41501%2012.3601%207.07005%2012.1737C6.71246%2011.9806%206.41525%2011.6923%206.21129%2011.3407C6.00733%2010.9892%205.90457%2010.588%205.91436%2010.1817C5.92407%209.77863%206.0442%209.38598%206.26157%209.04651L11.0735%201.39989C11.2568%201.08451%2011.5157%200.819365%2011.8271%200.628499C12.1508%200.430098%2012.5202%200.318687%2012.8996%200.305068ZM12.9777%203.24166L8.82255%209.84459H17.0908L12.9777%203.24166Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M0%2017.6223C0%2016.1905%201.16074%2015.0297%202.59259%2015.0297H9.07407C10.5059%2015.0297%2011.6667%2016.1905%2011.6667%2017.6223V24.1038C11.6667%2025.5356%2010.5059%2026.6964%209.07407%2026.6964H2.59259C1.16074%2026.6964%200%2025.5356%200%2024.1038V17.6223ZM9.07407%2017.6223H2.59259V24.1038H9.07407V17.6223Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M20.0926%2015.0297C16.8709%2015.0297%2014.2593%2017.6414%2014.2593%2020.863C14.2593%2024.0847%2016.8709%2026.6964%2020.0926%2026.6964C23.3143%2026.6964%2025.9259%2024.0847%2025.9259%2020.863C25.9259%2017.6414%2023.3143%2015.0297%2020.0926%2015.0297ZM16.8519%2020.863C16.8519%2019.0732%2018.3028%2017.6223%2020.0926%2017.6223C21.8824%2017.6223%2023.3333%2019.0732%2023.3333%2020.863C23.3333%2022.6529%2021.8824%2024.1038%2020.0926%2024.1038C18.3028%2024.1038%2016.8519%2022.6529%2016.8519%2020.863Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2229%22%20viewBox%3D%220%200%2028%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9.81277%2024.83C11.0728%2024.63%2011.8428%2024.43%2012.1228%2024.23C12.4028%2024.01%2012.5428%2023.59%2012.5428%2022.97V6.77C9.96277%206.81%208.58277%206.87%208.40277%206.95C8.22277%207.03%208.08277%207.12%207.98277%207.22C7.74277%207.54%207.45277%208.67%207.11277%2010.61L5.58277%2010.49C5.56277%2010.19%205.55277%209.61%205.55277%208.75C5.55277%207.87%205.64277%206.69%205.82277%205.21H22.1728C22.3528%206.69%2022.4428%207.87%2022.4428%208.75C22.4428%209.61%2022.4328%2010.19%2022.4128%2010.49L20.8828%2010.61C20.5428%208.67%2020.2428%207.54%2019.9828%207.22C19.9028%207.12%2019.7728%207.03%2019.5928%206.95C19.4128%206.87%2018.0328%206.81%2015.4528%206.77V23.69C15.4528%2024.15%2015.6528%2024.41%2016.0528%2024.47L18.3628%2024.83L18.2428%2026H9.99277L9.81277%2024.83Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2229%22%20viewBox%3D%220%200%2028%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%20clip-path%3D%22url%28%23clip0_1597_130%29%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M11.2063%2022.2583H24.7765V12.7095H11.2063V22.2583ZM1.71955%2026.75C0.913059%2026.75%200.230426%2026.4642%20-0.328346%2025.8925C-0.887118%2025.3208%20-1.1665%2024.6224%20-1.1665%2023.7973V5.20266C-1.1665%204.37755%20-0.887118%203.67917%20-0.328346%203.1075C0.230426%202.53583%200.913059%202.25%201.71955%202.25H26.2808C27.0873%202.25%2027.7699%202.53583%2028.3287%203.1075C28.8874%203.67917%2029.1668%204.37755%2029.1668%205.20266V23.7973C29.1668%2024.6224%2028.8874%2025.3208%2028.3287%2025.8925C27.7699%2026.4642%2027.0873%2026.75%2026.2808%2026.75H1.71955ZM1.71955%2024.3H26.2808C26.4037%2024.3%2026.5163%2024.2476%2026.6184%2024.1428C26.7209%2024.0383%2026.7721%2023.9231%2026.7721%2023.7973V5.20266C26.7721%205.07689%2026.7209%204.96174%2026.6184%204.85721C26.5163%204.7524%2026.4037%204.7%2026.2808%204.7H1.71955C1.59662%204.7%201.48407%204.7524%201.3819%204.85721C1.27945%204.96174%201.22823%205.07689%201.22823%205.20266V23.7973C1.22823%2023.9231%201.27945%2024.0383%201.3819%2024.1428C1.48407%2024.2476%201.59662%2024.3%201.71955%2024.3Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_1597_130%22%3E%3Crect%20width%3D%2228%22%20height%3D%2228%22%20fill%3D%22white%22%20transform%3D%22translate%280%200.5%29%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2211%22%20viewBox%3D%220%200%2016%2011%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20id%3D%22Shape%22%20d%3D%22M1.41005%201.71004C1.95679%201.1633%202.84322%201.1633%203.38995%201.71004L8%206.32009L12.6101%201.71004C13.1568%201.1633%2014.0432%201.1633%2014.5899%201.71004C15.1367%202.25677%2015.1367%203.1432%2014.5899%203.68994L8.98995%209.28994C8.44322%209.83667%207.55679%209.83667%207.01005%209.28994L1.41005%203.68994C0.863317%203.1432%200.863317%202.25677%201.41005%201.71004Z%22%20fill%3D%22%2398A2B3%22%20stroke%3D%22white%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2217%22%20height%3D%2218%22%20viewBox%3D%220%200%2017%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22background-color%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M13.5093%2012.1849C13.5093%2012.4144%2013.3232%2012.6005%2013.0937%2012.6005C12.8643%2012.6005%2012.6782%2012.4144%2012.6782%2012.1849C12.6782%2012.1873%2012.6782%2012.1886%2012.6783%2012.1886C12.6793%2012.1887%2012.6927%2012.0751%2012.8642%2011.8179C12.9262%2011.7249%2013.0023%2011.6229%2013.0937%2011.5118C13.1852%2011.6229%2013.2613%2011.7249%2013.3233%2011.8179C13.4948%2012.0751%2013.5082%2012.1887%2013.5092%2012.1886C13.5093%2012.1886%2013.5093%2012.1873%2013.5093%2012.1849Z%22%20fill%3D%22%23344054%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M7.37988%202.45471L8.63103%203.70587%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M8.38058%203.45575L2.87549%208.96086L6.8792%2012.9646L12.3843%207.45945L8.38058%203.45575Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M4.24658%207.61035L10.2488%209.58373%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_5%22%20d%3D%22M1.41553%2015.7238H15.5708%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Group%22%3E%3Cg%20id%3D%22Group_2%22%3E%3Cpath%20id%3D%22Vector%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.34066%204H20.6323C21.1616%204%2021.5907%204.44772%2021.5907%205V19C21.5907%2019.5523%2021.1616%2020%2020.6323%2020H4.34066C3.81138%2020%203.38232%2019.5523%203.38232%2019V5C3.38232%204.44772%203.81138%204%204.34066%204Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M7.93457%208.99994C8.33152%208.99994%208.65332%208.66415%208.65332%208.24994C8.65332%207.83573%208.33152%207.49994%207.93457%207.49994C7.53762%207.49994%207.21582%207.83573%207.21582%208.24994C7.21582%208.66415%207.53762%208.99994%207.93457%208.99994Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M8.17399%2012L10.5698%2014L13.4448%2010.5L21.5907%2017V19C21.5907%2019.5523%2021.1616%2020%2020.6323%2020H4.34066C3.81138%2020%203.38232%2019.5523%203.38232%2019V17L8.17399%2012Z%22%20fill%3D%22white%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Group%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M1.16327%2017.3162V0.683777H17.7957V17.3162H1.16327Z%22%20stroke%3D%22%23344054%22%20stroke-opacity%3D%220.75%22%20stroke-width%3D%220.353881%22%2F%3E%3Cg%20id%3D%22Group_2%22%3E%3Cpath%20id%3D%22Vector_2%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.46362%203.33789H15.4956C15.8865%203.33789%2016.2033%203.65477%2016.2033%204.04565V13.9543C16.2033%2014.3452%2015.8865%2014.6621%2015.4956%2014.6621H3.46362C3.07274%2014.6621%202.75586%2014.3452%202.75586%2013.9543V4.04565C2.75586%203.65477%203.07274%203.33789%203.46362%203.33789Z%22%20stroke%3D%22%23344054%22%20stroke-opacity%3D%220.75%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M6.11774%206.87671C6.4109%206.87671%206.64856%206.63905%206.64856%206.34589C6.64856%206.05272%206.4109%205.81506%206.11774%205.81506C5.82457%205.81506%205.58691%206.05272%205.58691%206.34589C5.58691%206.63905%205.82457%206.87671%206.11774%206.87671Z%22%20stroke%3D%22%23344054%22%20stroke-opacity%3D%220.75%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M6.29467%209L8.06408%2010.4155L10.1874%207.93835L16.2033%2012.5388V13.9543C16.2033%2014.3452%2015.8865%2014.6621%2015.4956%2014.6621H3.46362C3.07274%2014.6621%202.75586%2014.3452%202.75586%2013.9543V12.5388L6.29467%209Z%22%20fill%3D%22white%22%20stroke%3D%22%23344054%22%20stroke-opacity%3D%220.75%22%20stroke-width%3D%222%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2211%22%20height%3D%226%22%20viewBox%3D%220%200%2011%206%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M9.97266%201L5.97266%205L1.97266%201%22%20stroke%3D%22%2398A2B3%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2225%22%20height%3D%2224%22%20viewBox%3D%220%200%2025%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M5.97266%2019H19.9727V5H5.97266V19ZM3.97266%2021V3H21.9727V21H3.97266ZM7.97266%2013V11H9.97266V13H7.97266ZM11.9727%2017V15H13.9727V17H11.9727ZM11.9727%2013V11H13.9727V13H11.9727ZM11.9727%209V7H13.9727V9H11.9727ZM15.9727%2013V11H17.9727V13H15.9727Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2216%22%20viewBox%3D%220%200%2018%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22zoom-in%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20d%3D%22M8.03174%204.73066C8.42294%204.73066%208.74007%205.02339%208.74007%205.3845V6.69219H10.1567C10.5479%206.69219%2010.8651%206.98493%2010.8651%207.34604C10.8651%207.70715%2010.5479%207.99989%2010.1567%207.99989H8.74007V9.30758C8.74007%209.66869%208.42294%209.96143%208.03174%209.96143C7.64054%209.96143%207.3234%209.66869%207.3234%209.30758V7.99989H5.90674C5.51554%207.99989%205.1984%207.70715%205.1984%207.34604C5.1984%206.98493%205.51554%206.69219%205.90674%206.69219H7.3234V5.3845C7.3234%205.02339%207.64054%204.73066%208.03174%204.73066Z%22%20fill%3D%22%234D6277%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M12.0109%2011.9439C10.9203%2012.7491%209.53694%2013.2307%208.03174%2013.2307C4.51092%2013.2307%201.65674%2010.596%201.65674%207.34604C1.65674%204.09606%204.51092%201.46143%208.03174%201.46143C11.5526%201.46143%2014.4067%204.09606%2014.4067%207.34604C14.4067%208.73549%2013.8851%2010.0125%2013.0126%2011.0192L15.6159%2013.4222C15.8925%2013.6775%2015.8925%2014.0915%2015.6159%2014.3468C15.3392%2014.6022%2014.8908%2014.6022%2014.6141%2014.3468L12.0109%2011.9439ZM3.0734%207.34604C3.0734%204.81828%205.29333%202.76912%208.03174%202.76912C10.7702%202.76912%2012.9901%204.81828%2012.9901%207.34604C12.9901%208.57907%2012.4619%209.69821%2011.6029%2010.5212C11.5786%2010.5384%2011.5552%2010.5574%2011.5329%2010.5779C11.5106%2010.5985%2011.4901%2010.6201%2011.4714%2010.6426C10.5799%2011.4354%209.36749%2011.923%208.03174%2011.923C5.29333%2011.923%203.0734%209.87381%203.0734%207.34604Z%22%20fill%3D%22%234D6277%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22zoom-out%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20d%3D%22M5.90674%207.58329C5.51554%207.58329%205.1984%207.90042%205.1984%208.29163C5.1984%208.68283%205.51554%208.99996%205.90674%208.99996H10.1567C10.5479%208.99996%2010.8651%208.68283%2010.8651%208.29163C10.8651%207.90042%2010.5479%207.58329%2010.1567%207.58329H5.90674Z%22%20fill%3D%22%234D6277%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8.03174%2014.6666C9.53694%2014.6666%2010.9203%2014.145%2012.0109%2013.2726L14.6141%2015.8758C14.8908%2016.1525%2015.3392%2016.1525%2015.6159%2015.8758C15.8925%2015.5992%2015.8925%2015.1507%2015.6159%2014.8741L13.0126%2012.2709C13.8851%2011.1803%2014.4067%209.79686%2014.4067%208.29163C14.4067%204.77081%2011.5526%201.91663%208.03174%201.91663C4.51092%201.91663%201.65674%204.77081%201.65674%208.29163C1.65674%2011.8124%204.51092%2014.6666%208.03174%2014.6666ZM8.03174%203.33329C5.29333%203.33329%203.0734%205.55321%203.0734%208.29163C3.0734%2011.03%205.29333%2013.25%208.03174%2013.25C9.36749%2013.25%2010.5799%2012.7218%2011.4714%2011.8629C11.4901%2011.8385%2011.5106%2011.8151%2011.5329%2011.7928C11.5552%2011.7706%2011.5786%2011.7501%2011.6029%2011.7314C12.4619%2010.8398%2012.9901%209.6274%2012.9901%208.29163C12.9901%205.55321%2010.7702%203.33329%208.03174%203.33329Z%22%20fill%3D%22%234D6277%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22bring-to-front%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M17.0833%207.49988H7.91667C7.68654%207.49988%207.5%207.68642%207.5%207.91654V17.0832C7.5%2017.3133%207.68654%2017.4999%207.91667%2017.4999H17.0833C17.3135%2017.4999%2017.5%2017.3133%2017.5%2017.0832V7.91654C17.5%207.68642%2017.3135%207.49988%2017.0833%207.49988Z%22%20fill%3D%22white%22%20stroke%3D%22%23203040%22%20stroke-width%3D%222%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M4.15377%202.5H2.5V4.18067%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M4.16544%2012.4999H2.5V10.8383%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M10.8345%202.5H12.5002V4.173%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_5%22%20d%3D%22M6.67871%202.5H8.33704%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_6%22%20d%3D%22M2.5%206.66675C2.5%207.77241%202.5%208.32796%202.5%208.33341%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_7%22%20d%3D%22M12.5%206.66675C12.5%207.78196%2012.5%208.06075%2012.5%207.50316%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_8%22%20d%3D%22M6.66357%2012.5001H7.49999%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22sent-to-back%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M12.5%207.49988H17.0833C17.3135%207.49988%2017.5%207.68642%2017.5%207.91654V17.0832C17.5%2017.3133%2017.3135%2017.4999%2017.0833%2017.4999H7.91667C7.68654%2017.4999%207.5%2017.3133%207.5%2017.0832V12.4999%22%20stroke%3D%22%23203040%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M4.15377%202.5H2.5V4.18067%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M4.16544%2012.4999H2.5V10.8383%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M10.8335%2012.4999H12.499V10.8383%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_5%22%20d%3D%22M10.8345%202.5H12.5002V4.16577%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_6%22%20d%3D%22M6.67871%202.5H8.33704%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_7%22%20d%3D%22M2.5%206.66675V8.33958%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_8%22%20d%3D%22M12.5%206.66675V8.33958%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_9%22%20d%3D%22M6.66357%2012.5001H8.33332%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2221%22%20height%3D%2220%22%20viewBox%3D%220%200%2021%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22lock%22%3E%3Cpath%20id%3D%22Icon%20color%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5.46566%208.33325V5.83325C5.46566%204.50717%205.99244%203.2354%206.93012%202.29772C7.86781%201.36004%209.13958%200.833252%2010.4657%200.833252C11.7917%200.833252%2013.0635%201.36004%2014.0012%202.29772C14.9389%203.2354%2015.4657%204.50717%2015.4657%205.83325V8.33325H16.299C17.6797%208.33325%2018.799%209.45254%2018.799%2010.8333V16.6666C18.799%2018.0473%2017.6797%2019.1666%2016.299%2019.1666H4.63232C3.25161%2019.1666%202.13232%2018.0473%202.13232%2016.6666V10.8333C2.13232%209.45254%203.25161%208.33325%204.63232%208.33325H5.46566ZM8.10863%203.47623C8.73376%202.85111%209.5816%202.49992%2010.4657%202.49992C11.3497%202.49992%2012.1976%202.85111%2012.8227%203.47623C13.4478%204.10135%2013.799%204.9492%2013.799%205.83325V8.33325H7.13232V5.83325C7.13232%204.9492%207.48351%204.10135%208.10863%203.47623ZM4.63232%209.99992C4.17209%209.99992%203.79899%2010.373%203.79899%2010.8333V16.6666C3.79899%2017.1268%204.17209%2017.4999%204.63232%2017.4999H16.299C16.7592%2017.4999%2017.1323%2017.1268%2017.1323%2016.6666V10.8333C17.1323%2010.373%2016.7592%209.99992%2016.299%209.99992H4.63232Z%22%20fill%3D%22%23383F46%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2221%22%20height%3D%2220%22%20viewBox%3D%220%200%2021%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22copy%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20d%3D%22M3.27653%203.33337C3.27653%202.87694%203.65343%202.50004%204.10986%202.50004H12.4432C12.8996%202.50004%2013.2765%202.87694%2013.2765%203.33337C13.2765%203.79361%2013.6496%204.16671%2014.1099%204.16671C14.5701%204.16671%2014.9432%203.79361%2014.9432%203.33337C14.9432%201.95647%2013.8201%200.833374%2012.4432%200.833374H4.10986C2.73296%200.833374%201.60986%201.95647%201.60986%203.33337V11.6667C1.60986%2013.0436%202.73296%2014.1667%204.10986%2014.1667C4.5701%2014.1667%204.9432%2013.7936%204.9432%2013.3334C4.9432%2012.8731%204.5701%2012.5%204.10986%2012.5C3.65343%2012.5%203.27653%2012.1231%203.27653%2011.6667V3.33337Z%22%20fill%3D%22%2334C276%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9.10986%205.83337C7.72915%205.83337%206.60986%206.95266%206.60986%208.33337V16.6667C6.60986%2018.0474%207.72915%2019.1667%209.10986%2019.1667H17.4432C18.8239%2019.1667%2019.9432%2018.0474%2019.9432%2016.6667V8.33337C19.9432%206.95266%2018.8239%205.83337%2017.4432%205.83337H9.10986ZM8.27653%208.33337C8.27653%207.87314%208.64963%207.50004%209.10986%207.50004H17.4432C17.9034%207.50004%2018.2765%207.87314%2018.2765%208.33337V16.6667C18.2765%2017.1269%2017.9034%2017.5%2017.4432%2017.5H9.10986C8.64963%2017.5%208.27653%2017.1269%208.27653%2016.6667V8.33337Z%22%20fill%3D%22%2334C276%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2225%22%20height%3D%2224%22%20viewBox%3D%220%200%2025%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M9.48691%2016.1537L12.0869%2013.5537L14.6869%2016.1537L15.7407%2015.1L13.1407%2012.5L15.7407%209.89998L14.6869%208.84623L12.0869%2011.4462L9.48691%208.84623L8.43316%209.89998L11.0332%2012.5L8.43316%2015.1L9.48691%2016.1537ZM7.39466%2020.5C6.8895%2020.5%206.46191%2020.325%206.11191%2019.975C5.76191%2019.625%205.58691%2019.1974%205.58691%2018.6922V5.99998H4.58691V4.49998H9.08691V3.61548H15.0869V4.49998H19.5869V5.99998H18.5869V18.6922C18.5869%2019.1974%2018.4119%2019.625%2018.0619%2019.975C17.7119%2020.325%2017.2843%2020.5%2016.7792%2020.5H7.39466ZM17.0869%205.99998H7.08691V18.6922C7.08691%2018.7692%207.119%2018.8397%207.18316%2018.9037C7.24716%2018.9679%207.31766%2019%207.39466%2019H16.7792C16.8562%2019%2016.9267%2018.9679%2016.9907%2018.9037C17.0548%2018.8397%2017.0869%2018.7692%2017.0869%2018.6922V5.99998Z%22%20fill%3D%22%23D91919%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22redo%22%3E%3Cpath%20id%3D%22Icon%20color%22%20d%3D%22M1.66683%205.83333C1.66683%205.3731%202.03993%205%202.50016%205C2.9604%205%203.3335%205.3731%203.3335%205.83333V8.9622L4.44323%207.96344C5.96994%206.59414%207.94893%205.83542%209.99974%205.83333C12.2099%205.83333%2014.3299%206.71131%2015.8927%208.27411C17.4555%209.83691%2018.3335%2011.9565%2018.3335%2014.1667C18.3335%2014.6269%2017.9604%2015%2017.5002%2015C17.0399%2015%2016.6668%2014.6269%2016.6668%2014.1667C16.6668%2012.3986%2015.9645%2010.7029%2014.7142%209.45262C13.4641%208.20248%2011.7685%207.50011%2010.0006%207.5C8.36033%207.50178%206.77775%208.10868%205.55657%209.2037L4.67179%2010H7.50016C7.9604%2010%208.3335%2010.3731%208.3335%2010.8333C8.3335%2011.2936%207.9604%2011.6667%207.50016%2011.6667H2.50016C2.03993%2011.6667%201.66683%2011.2936%201.66683%2010.8333V5.83333Z%22%20fill%3D%22%234D6277%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2221%22%20height%3D%2220%22%20viewBox%3D%220%200%2021%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22redo%22%3E%3Cpath%20id%3D%22Icon%20color%22%20d%3D%22M18.8332%205.83333C18.8332%205.3731%2018.4601%205%2017.9998%205C17.5396%205%2017.1665%205.3731%2017.1665%205.83333V8.9622L16.0568%207.96344C14.5301%206.59414%2012.5511%205.83542%2010.5003%205.83333C8.29012%205.83333%206.17008%206.71131%204.60728%208.27411C3.04448%209.83691%202.1665%2011.9565%202.1665%2014.1667C2.1665%2014.6269%202.5396%2015%202.99984%2015C3.46007%2015%203.83317%2014.6269%203.83317%2014.1667C3.83317%2012.3986%204.53555%2010.7029%205.78579%209.45262C7.03594%208.20248%208.73146%207.50011%2010.4994%207.5C12.1397%207.50178%2013.7222%208.10868%2014.9434%209.2037L15.8282%2010H12.9998C12.5396%2010%2012.1665%2010.3731%2012.1665%2010.8333C12.1665%2011.2936%2012.5396%2011.6667%2012.9998%2011.6667H17.9998C18.4601%2011.6667%2018.8332%2011.2936%2018.8332%2010.8333V5.83333Z%22%20fill%3D%22%234D6277%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2214%22%20height%3D%2217%22%20viewBox%3D%220%200%2014%2017%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M3.78979%2015.7742C4.75579%2015.6209%205.34613%2015.4675%205.56079%2015.3142C5.77546%2015.1455%205.88279%2014.8235%205.88279%2014.3482V1.9282C3.90479%201.95887%202.84679%202.00487%202.70879%202.0662C2.57079%202.12754%202.46346%202.19654%202.38679%202.2732C2.20279%202.51854%201.98046%203.38487%201.71979%204.8722L0.546793%204.7802C0.53146%204.5502%200.523793%204.10554%200.523793%203.4462C0.523793%202.77154%200.592793%201.86687%200.730793%200.732203H13.2658C13.4038%201.86687%2013.4728%202.77154%2013.4728%203.4462C13.4728%204.10554%2013.4651%204.5502%2013.4498%204.7802L12.2768%204.8722C12.0161%203.38487%2011.7861%202.51854%2011.5868%202.2732C11.5255%202.19654%2011.4258%202.12754%2011.2878%202.0662C11.1498%202.00487%2010.0918%201.95887%208.11379%201.9282V14.9002C8.11379%2015.2529%208.26713%2015.4522%208.57379%2015.4982L10.3448%2015.7742L10.2528%2016.6712H3.92779L3.78979%2015.7742Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22text-bold%22%3E%3Cpath%20id%3D%22Vector%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9.1463%208.99999C11.0946%208.99999%2012.6741%207.41559%2012.6741%205.46118C12.6741%203.50674%2011.0946%201.92236%209.1463%201.92236H3.69434V8.99999H9.1463Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222.12329%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M10.4291%2016.0776C12.3775%2016.0776%2013.9569%2014.4932%2013.9569%2012.5388C13.9569%2010.5844%2012.3775%209%2010.4291%209H3.69434V16.0776H10.4291Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222.12329%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2214%22%20height%3D%2216%22%20viewBox%3D%220%200%2014%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.4649%204.09091H12.1695C12.0914%201.89631%2010.0672%200.255681%207.25471%200.255681C4.47061%200.255681%202.28311%201.875%202.28311%204.31818C2.28311%206.27841%203.70357%207.44318%205.9763%208.09659L7.76607%208.60795C9.30016%209.03409%2010.6638%209.57386%2010.6638%2011.0227C10.6638%2012.6136%209.12971%2013.6648%207.11266%2013.6648C5.37971%2013.6648%203.84561%2012.8977%203.70357%2011.25H1.88539C2.05584%2013.6364%203.98766%2015.2557%207.11266%2015.2557C10.4649%2015.2557%2012.3683%2013.4091%2012.3683%2011.0511C12.3683%208.32386%209.78311%207.44318%208.27743%207.04545L6.80016%206.64773C5.72061%206.36364%203.98766%205.79545%203.98766%204.23295C3.98766%202.84091%205.26607%201.81818%207.19789%201.81818C8.95925%201.81818%2010.2945%202.65625%2010.4649%204.09091Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20d%3D%22M0.749023%208.4517H13.5047V9.81534H0.749023V8.4517Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M7.5293%202.63013H13.1914%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M4.69824%2015.3699H10.3603%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M10.7146%202.61328L7.17578%2015.3699%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22text-underline%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M2.89062%2016.0776H14.2148%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M13.1531%202.66443C13.1531%205.02362%2013.1531%205.93299%2013.1531%208.29221C13.1531%2010.833%2011.0934%2012.8927%208.55261%2012.8927C6.01184%2012.8927%203.95215%2010.833%203.95215%208.29221C3.95215%205.93299%203.95215%205.02362%203.95215%202.66443%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M15.2192%203.86304H2.47949%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M12.3882%207.40186H2.47949%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.2192%2010.9407H2.47949%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M12.3882%2014.4795H2.47949%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M13.3926%207.40186H4.89941%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.5161%203.86304H2.77637%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.5161%2010.9407H2.77637%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M13.3926%2014.4795H4.89941%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M15.813%203.86304H3.07324%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.813%207.40186H5.9043%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.813%2010.9407H3.07324%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.813%2014.4795H5.9043%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2217%22%20viewBox%3D%220%200%2018%2017%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%20clip-path%3D%22url%28%23clip0_565_3386%29%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M8.52116%2015.5045C6.65314%2015.5045%205.06461%2014.8885%203.75556%2013.6565C2.44652%2012.4246%201.79199%2010.9167%201.79199%209.13278C1.79199%208.26628%201.96889%207.45244%202.3227%206.69128C2.67635%205.93011%203.15629%205.25038%203.76252%204.6521L8.52116%200.171204L13.2798%204.6521C13.886%205.25038%2014.366%205.93011%2014.7196%206.69128C15.0734%207.45244%2015.2503%208.26628%2015.2503%209.13278C15.2503%2010.9167%2014.5958%2012.4246%2013.2868%2013.6565C11.9777%2014.8885%2010.3892%2015.5045%208.52116%2015.5045ZM3.19121%209.90772H13.8233C14.0027%208.87446%2013.9004%207.98916%2013.5162%207.25182C13.1321%206.51433%2012.7381%205.95903%2012.3344%205.58591L8.52116%201.9695L4.70796%205.58591C4.30421%205.95903%203.90936%206.51433%203.52341%207.25182C3.13745%207.98916%203.02672%208.87446%203.19121%209.90772Z%22%20fill%3D%22%235F6368%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_565_3386%22%3E%3Crect%20width%3D%2217%22%20height%3D%2216%22%20fill%3D%22white%22%20transform%3D%22translate%280.0917969%200.171204%29%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M3.5%2020.5V3.5H20.5V20.5H3.5ZM19%2019V12.75H12.75V19H19ZM19%205H12.75V11.25H19V5ZM5%205V11.25H11.25V5H5ZM5%2019H11.25V12.75H5V19Z%22%20fill%3D%22%235F6368%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2210%22%20height%3D%2218%22%20viewBox%3D%220%200%2010%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9%2016.125L1%208.625L9%201.125%22%20stroke%3D%22%23646464%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2217%22%20height%3D%2217%22%20viewBox%3D%220%200%2017%2017%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M7.83317%2012.5H9.1665V10.5H11.1665V9.16665H9.1665V7.16665H7.83317V9.16665H5.83317V10.5H7.83317V12.5ZM4.49984%2015.1666C4.13317%2015.1666%203.81928%2015.0361%203.55817%2014.775C3.29706%2014.5139%203.1665%2014.2%203.1665%2013.8333V3.16665C3.1665%202.79998%203.29706%202.48609%203.55817%202.22498C3.81928%201.96387%204.13317%201.83331%204.49984%201.83331H9.83317L13.8332%205.83331V13.8333C13.8332%2014.2%2013.7026%2014.5139%2013.4415%2014.775C13.1804%2015.0361%2012.8665%2015.1666%2012.4998%2015.1666H4.49984ZM9.1665%206.49998V3.16665H4.49984V13.8333H12.4998V6.49998H9.1665Z%22%20fill%3D%22%235F98D0%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2217%22%20height%3D%2217%22%20viewBox%3D%220%200%2017%2017%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M7.83366%2011.1667V7.16669H5.83366V5.83335H11.167V7.16669H9.16699V11.1667H7.83366ZM1.16699%2015.8334V11.8334H2.50033V5.16669H1.16699V1.16669H5.16699V2.50002H11.8337V1.16669H15.8337V5.16669H14.5003V11.8334H15.8337V15.8334H11.8337V14.5H5.16699V15.8334H1.16699ZM5.16699%2013.1667H11.8337V11.8334H13.167V5.16669H11.8337V3.83335H5.16699V5.16669H3.83366V11.8334H5.16699V13.1667ZM2.50033%203.83335H3.83366V2.50002H2.50033V3.83335ZM13.167%203.83335H14.5003V2.50002H13.167V3.83335ZM13.167%2014.5H14.5003V13.1667H13.167V14.5ZM2.50033%2014.5H3.83366V13.1667H2.50033V14.5Z%22%20fill%3D%22%235F98D0%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2217%22%20viewBox%3D%220%200%2016%2017%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22upload%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20d%3D%22M8.25486%201.8839C8.33349%201.91643%208.40716%201.96466%208.47108%202.02858L11.8044%205.36191C12.0648%205.62226%2012.0648%206.04437%2011.8044%206.30472C11.5441%206.56507%2011.122%206.56507%2010.8616%206.30472L8.66634%204.10946V10.5C8.66634%2010.8682%208.36786%2011.1666%207.99967%2011.1666C7.63148%2011.1666%207.33301%2010.8682%207.33301%2010.5V4.10946L5.13775%206.30472C4.8774%206.56507%204.45529%206.56507%204.19494%206.30472C3.93459%206.04437%203.93459%205.62226%204.19494%205.36191L7.52792%202.02893%22%20fill%3D%22%235F98D0%22%2F%3E%3Cpath%20d%3D%22M8.25486%201.8839C8.17626%201.8513%208.09007%201.83331%207.99967%201.83331C7.8163%201.83331%207.65021%201.90735%207.52969%202.02716%22%20fill%3D%22%235F98D0%22%2F%3E%3Cpath%20d%3D%22M1.99967%209.83331C2.36786%209.83331%202.66634%2010.1318%202.66634%2010.5V13.1666C2.66634%2013.3435%202.73658%2013.513%202.8616%2013.6381C2.98663%2013.7631%203.1562%2013.8333%203.33301%2013.8333H12.6663C12.8432%2013.8333%2013.0127%2013.7631%2013.1377%2013.6381C13.2628%2013.513%2013.333%2013.3435%2013.333%2013.1666V10.5C13.333%2010.1318%2013.6315%209.83331%2013.9997%209.83331C14.3679%209.83331%2014.6663%2010.1318%2014.6663%2010.5V13.1666C14.6663%2013.6971%2014.4556%2014.2058%2014.0806%2014.5809C13.7055%2014.9559%2013.1968%2015.1666%2012.6663%2015.1666H3.33301C2.80257%2015.1666%202.29387%2014.9559%201.91879%2014.5809C1.54372%2014.2058%201.33301%2013.6971%201.33301%2013.1666V10.5C1.33301%2010.1318%201.63148%209.83331%201.99967%209.83331Z%22%20fill%3D%22%235F98D0%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2221%22%20height%3D%2220%22%20viewBox%3D%220%200%2021%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%20clip-path%3D%22url%28%23clip0_2240_1532%29%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M1.16467%2016L0%2014.8505L7.57326%207.321L11.9943%2011.6846L18.1987%205.63636H14.9211V4H21V10H19.3421V6.78618L11.9943%2014.0385L7.57326%209.67491L1.16467%2016Z%22%20fill%3D%22white%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_2240_1532%22%3E%3Crect%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22white%22%20transform%3D%22translate%280.5%29%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%227%22%20viewBox%3D%220%200%2012%207%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M11%201L6%206L1%201%22%20stroke%3D%22%23646464%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2215%22%20height%3D%2215%22%20viewBox%3D%220%200%2015%2015%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M7.49312%2011.0095C7.67156%2011.0095%207.82229%2010.948%207.94531%2010.8248C8.06833%2010.7016%208.12984%2010.5507%208.12984%2010.3722C8.12984%2010.1938%208.06823%2010.043%207.945%209.92C7.82177%209.79708%207.67094%209.73562%207.4925%209.73562C7.31406%209.73562%207.16333%209.79724%207.04031%209.92047C6.91729%2010.0437%206.85578%2010.1945%206.85578%2010.373C6.85578%2010.5514%206.9174%2010.7021%207.04063%2010.8252C7.16385%2010.9481%207.31469%2011.0095%207.49312%2011.0095ZM7.05047%208.77156H7.93031C7.93833%208.46396%207.98339%208.21818%208.06547%208.03422C8.14766%207.85036%208.34698%207.60661%208.66344%207.30297C8.93833%207.02807%209.14885%206.77422%209.295%206.54141C9.44125%206.3087%209.51437%206.03385%209.51437%205.71688C9.51437%205.17885%209.32109%204.75859%208.93453%204.45609C8.54786%204.1537%208.09052%204.0025%207.5625%204.0025C7.04083%204.0025%206.60917%204.14172%206.2675%204.42016C5.92573%204.69859%205.68193%205.02651%205.53609%205.40391L6.33891%205.72594C6.41505%205.51844%206.54526%205.3163%206.72953%205.11953C6.9138%204.92286%207.18745%204.82453%207.55047%204.82453C7.91984%204.82453%208.19286%204.92568%208.36953%205.12797C8.5463%205.33036%208.63469%205.55292%208.63469%205.79562C8.63469%206.00802%208.57417%206.20234%208.45312%206.37859C8.33219%206.55484%208.17797%206.7251%207.99047%206.88937C7.58016%207.25958%207.32094%207.5549%207.21281%207.77531C7.10458%207.99563%207.05047%208.32771%207.05047%208.77156ZM7.50109%2013.4375C6.67984%2013.4375%205.90792%2013.2817%205.18531%2012.97C4.46271%2012.6583%203.83417%2012.2354%203.29969%2011.7011C2.76521%2011.1668%202.34203%2010.5385%202.03016%209.81625C1.71839%209.09396%201.5625%208.32224%201.5625%207.50109C1.5625%206.67984%201.71833%205.90792%202.03%205.18531C2.34167%204.46271%202.76464%203.83417%203.29891%203.29969C3.83318%202.76521%204.46146%202.34203%205.18375%202.03016C5.90604%201.71839%206.67776%201.5625%207.49891%201.5625C8.32016%201.5625%209.09208%201.71833%209.81469%202.03C10.5373%202.34167%2011.1658%202.76464%2011.7003%203.29891C12.2348%203.83318%2012.658%204.46146%2012.9698%205.18375C13.2816%205.90604%2013.4375%206.67776%2013.4375%207.49891C13.4375%208.32016%2013.2817%209.09208%2012.97%209.81469C12.6583%2010.5373%2012.2354%2011.1658%2011.7011%2011.7003C11.1668%2012.2348%2010.5385%2012.658%209.81625%2012.9698C9.09396%2013.2816%208.32224%2013.4375%207.50109%2013.4375ZM7.5%2012.5C8.89583%2012.5%2010.0781%2012.0156%2011.0469%2011.0469C12.0156%2010.0781%2012.5%208.89583%2012.5%207.5C12.5%206.10417%2012.0156%204.92188%2011.0469%203.95312C10.0781%202.98438%208.89583%202.5%207.5%202.5C6.10417%202.5%204.92188%202.98438%203.95312%203.95312C2.98438%204.92188%202.5%206.10417%202.5%207.5C2.5%208.89583%202.98438%2010.0781%203.95312%2011.0469C4.92188%2012.0156%206.10417%2012.5%207.5%2012.5Z%22%20fill%3D%22%235F6368%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2230%22%20viewBox%3D%220%200%2028%2030%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22logo22%201%22%20clip-path%3D%22url%28%23clip0_2312_1672%29%22%3E%3Cg%20id%3D%22Clip%20path%20group%22%3E%3Cmask%20id%3D%22mask0_2312_1672%22%20style%3D%22mask-type%3Aluminance%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2228%22%20height%3D%2230%22%3E%3Cg%20id%3D%22clip0_8042_16520%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M27.6442%200H0V30H27.6442V0Z%22%20fill%3D%22white%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3Cg%20mask%3D%22url%28%23mask0_2312_1672%29%22%3E%3Cg%20id%3D%22Group%22%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M23.8782%203.46176C24.4391%202.63758%2024.2788%201.56616%2023.4775%200.989232C23.0769%200.741978%2022.6763%200.577144%2022.1955%200.659562C21.7147%200.741978%2021.3141%200.989232%2021.0737%201.40132L12.5801%2013.187L10.657%2015.9068C9.85578%2016.3189%205.04807%2018.5442%201.4423%2018.7914H1.36218C1.12179%2018.7914%200.961536%2018.7914%200.72115%2018.8739C0.24038%2018.9563%200.0801234%2019.3683%20-5.05522e-06%2019.5332C-0.24039%2020.9343%200.480764%2022.665%202.24359%2024.5607C3.44551%2025.9617%204.80769%2026.9508%204.80769%2026.9508C5.1282%2027.198%205.44871%2027.198%205.60897%2026.9508L7.29168%2025.0551L6.41026%2027.6926C6.33011%2027.9398%206.41026%2028.187%206.65065%2028.3519C6.73074%2028.4343%208.73397%2029.6706%2010.0962%2029.9178C10.1763%2029.9178%2010.1763%2029.9178%2010.2564%2029.9178C10.4167%2029.9178%2010.5769%2029.9178%2010.7372%2029.753C11.2179%2029.3409%2011.6186%2028.2695%2011.8589%2027.2804C12.0993%2026.2914%2012.3397%2024.9728%2012.6603%2023.3244C13.0609%2020.9343%2013.3013%2018.6266%2013.3814%2018.0497L15.3045%2015.3299L23.8782%203.46176Z%22%20fill%3D%22%238D8B8B%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M26.2819%2019.451C25.4005%2018.5444%2024.1184%2017.9675%2022.7562%2017.9675C22.1953%2017.9675%2021.6344%2018.0499%2021.0735%2018.2971L17.3876%2014.506C17.1472%2014.2587%2016.7466%2014.2587%2016.5062%2014.5883L14.9037%2016.8136C14.7434%2017.0609%2014.7434%2017.3905%2014.9838%2017.5554L18.3492%2021.0169C17.7082%2022.8301%2018.1088%2025.0554%2019.4709%2026.3741C20.3524%2027.2807%2021.5543%2027.7751%2022.7562%2027.7751C23.237%2027.7751%2023.6376%2027.6928%2024.1184%2027.5279L25.0799%2027.1982L22.035%2023.984C21.7947%2023.7367%2021.7947%2023.3246%2022.035%2023.0774L23.237%2021.7587C23.3171%2021.6763%2023.4774%2021.5938%2023.6376%2021.5938C23.7979%2021.5938%2024.0383%2021.6763%2024.1184%2021.8411L27.2434%2025.0554L27.4838%2023.984C27.9646%2022.418%2027.4838%2020.6873%2026.2819%2019.451Z%22%20fill%3D%22%238D8B8B%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M5.60925%209.8903C6.17014%209.8903%206.73102%209.80786%207.29195%209.56066L10.8977%2013.2694C11.1381%2013.5167%2011.5387%2013.5167%2011.7791%2013.187L13.3817%2010.9617C13.542%2010.7145%2013.542%2010.3848%2013.3016%2010.22L10.0163%206.84086C10.6573%205.02767%2010.2567%202.8024%208.89449%201.48372C7.61244%200.165035%205.84966%20-0.32947%204.24707%200.247452L3.28553%200.494705L6.41054%203.70899C6.65093%203.95624%206.65093%204.36833%206.41054%204.61558L5.12848%205.85185C4.88809%206.09908%204.40733%206.09908%204.24707%205.85185L1.12207%202.63756L0.881685%203.70899C0.481046%205.35734%200.881685%207.1705%202.08361%208.4068C2.96502%209.3134%204.24707%209.8903%205.60925%209.8903Z%22%20fill%3D%22%238D8B8B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_2312_1672%22%3E%3Crect%20width%3D%2228%22%20height%3D%2230%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2230%22%20viewBox%3D%220%200%2028%2030%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22logo22%202%22%20clip-path%3D%22url%28%23clip0_2312_1680%29%22%3E%3Cg%20id%3D%22Clip%20path%20group%22%3E%3Cmask%20id%3D%22mask0_2312_1680%22%20style%3D%22mask-type%3Aluminance%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2228%22%20height%3D%2230%22%3E%3Cg%20id%3D%22clip0_8042_16520%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M27.6442%200H0V30H27.6442V0Z%22%20fill%3D%22white%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3Cg%20mask%3D%22url%28%23mask0_2312_1680%29%22%3E%3Cg%20id%3D%22Group%22%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M23.8782%203.46176C24.4391%202.63758%2024.2788%201.56616%2023.4775%200.989232C23.0769%200.741978%2022.6763%200.577144%2022.1955%200.659562C21.7147%200.741978%2021.3141%200.989232%2021.0737%201.40132L12.5801%2013.187L10.657%2015.9068C9.85578%2016.3189%205.04807%2018.5442%201.4423%2018.7914H1.36218C1.12179%2018.7914%200.961536%2018.7914%200.72115%2018.8739C0.24038%2018.9563%200.0801234%2019.3683%20-5.05522e-06%2019.5332C-0.24039%2020.9343%200.480764%2022.665%202.24359%2024.5607C3.44551%2025.9617%204.80769%2026.9508%204.80769%2026.9508C5.1282%2027.198%205.44871%2027.198%205.60897%2026.9508L7.29168%2025.0551L6.41026%2027.6926C6.33011%2027.9398%206.41026%2028.187%206.65065%2028.3519C6.73074%2028.4343%208.73397%2029.6706%2010.0962%2029.9178C10.1763%2029.9178%2010.1763%2029.9178%2010.2564%2029.9178C10.4167%2029.9178%2010.5769%2029.9178%2010.7372%2029.753C11.2179%2029.3409%2011.6186%2028.2695%2011.8589%2027.2804C12.0993%2026.2914%2012.3397%2024.9728%2012.6603%2023.3244C13.0609%2020.9343%2013.3013%2018.6266%2013.3814%2018.0497L15.3045%2015.3299L23.8782%203.46176Z%22%20fill%3D%22%23AC8EBA%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M26.2819%2019.451C25.4005%2018.5444%2024.1184%2017.9675%2022.7562%2017.9675C22.1953%2017.9675%2021.6344%2018.0499%2021.0735%2018.2971L17.3876%2014.506C17.1472%2014.2587%2016.7466%2014.2587%2016.5062%2014.5883L14.9037%2016.8136C14.7434%2017.0609%2014.7434%2017.3905%2014.9838%2017.5554L18.3492%2021.0169C17.7082%2022.8301%2018.1088%2025.0554%2019.4709%2026.3741C20.3524%2027.2807%2021.5543%2027.7751%2022.7562%2027.7751C23.237%2027.7751%2023.6376%2027.6928%2024.1184%2027.5279L25.0799%2027.1982L22.035%2023.984C21.7947%2023.7367%2021.7947%2023.3246%2022.035%2023.0774L23.237%2021.7587C23.3171%2021.6763%2023.4774%2021.5938%2023.6376%2021.5938C23.7979%2021.5938%2024.0383%2021.6763%2024.1184%2021.8411L27.2434%2025.0554L27.4838%2023.984C27.9646%2022.418%2027.4838%2020.6873%2026.2819%2019.451Z%22%20fill%3D%22%23AC8EBA%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M5.60925%209.8903C6.17014%209.8903%206.73102%209.80786%207.29195%209.56066L10.8977%2013.2694C11.1381%2013.5167%2011.5387%2013.5167%2011.7791%2013.187L13.3817%2010.9617C13.542%2010.7145%2013.542%2010.3848%2013.3016%2010.22L10.0163%206.84086C10.6573%205.02767%2010.2567%202.8024%208.89449%201.48372C7.61244%200.165035%205.84966%20-0.32947%204.24707%200.247452L3.28553%200.494705L6.41054%203.70899C6.65093%203.95624%206.65093%204.36833%206.41054%204.61558L5.12848%205.85185C4.88809%206.09908%204.40733%206.09908%204.24707%205.85185L1.12207%202.63756L0.881685%203.70899C0.481046%205.35734%200.881685%207.1705%202.08361%208.4068C2.96502%209.3134%204.24707%209.8903%205.60925%209.8903Z%22%20fill%3D%22%23AC8EBA%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_2312_1680%22%3E%3Crect%20width%3D%2228%22%20height%3D%2230%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M23.5037%2041.7084C20.9852%2041.7084%2018.6179%2041.2305%2016.402%2040.2747C14.186%2039.3189%2012.2584%2038.0218%2010.6194%2036.3834C8.9803%2034.7449%207.68255%2032.8182%206.72614%2030.6032C5.77004%2028.3882%205.29199%2026.0216%205.29199%2023.5034C5.29199%2020.9849%205.76988%2018.6176%206.72566%2016.4016C7.68144%2014.1857%208.97854%2012.2581%2010.617%2010.6191C12.2554%208.97999%2014.1821%207.68225%2016.3972%206.72583C18.6122%205.76974%2020.9788%205.29169%2023.497%205.29169C26.0155%205.29169%2028.3827%205.76958%2030.5987%206.72535C32.8147%207.68113%2034.7422%208.97824%2036.3813%2010.6167C38.0204%2012.2551%2039.3181%2014.1818%2040.2745%2016.3969C41.2306%2018.6119%2041.7087%2020.9785%2041.7087%2023.4967C41.7087%2026.0152%2041.2308%2028.3824%2040.275%2030.5984C39.3192%2032.8144%2038.0221%2034.7419%2036.3837%2036.381C34.7453%2038.0201%2032.8185%2039.3178%2030.6035%2040.2742C28.3885%2041.2303%2026.0219%2041.7084%2023.5037%2041.7084ZM23.5003%2038.8334C27.7809%2038.8334%2031.4066%2037.3479%2034.3774%2034.3771C37.3482%2031.4063%2038.8337%2027.7806%2038.8337%2023.5C38.8337%2019.2195%2037.3482%2015.5938%2034.3774%2012.6229C31.4066%209.6521%2027.7809%208.16669%2023.5003%208.16669C19.2198%208.16669%2015.5941%209.6521%2012.6232%2012.6229C9.65241%2015.5938%208.16699%2019.2195%208.16699%2023.5C8.16699%2027.7806%209.65241%2031.4063%2012.6232%2034.3771C15.5941%2037.3479%2019.2198%2038.8334%2023.5003%2038.8334Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2237%22%20height%3D%2237%22%20viewBox%3D%220%200%2037%2037%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20x%3D%221.5%22%20y%3D%221.5%22%20width%3D%2234%22%20height%3D%2234%22%20stroke%3D%22%23A7A7A7%22%20stroke-width%3D%223%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5.68652%2038.1875L23.4995%209.67908L41.3125%2038.1875H5.68652ZM10.9662%2035.25H36.0329L23.4995%2015.1771L10.9662%2035.25Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M33.9701%2031.6345L31.8761%2029.5709L36.4782%2024.9688H6.85449V22.0313H36.4782L31.906%2017.4292L33.9999%2015.3656L42.1045%2023.5L33.9701%2031.6345Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8.8125%2024.9688V22.0312H38.1875V24.9688H8.8125Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M24.9688%2038.1875L22.0312%2038.1875L22.0312%208.8125L24.9687%208.8125L24.9688%2038.1875Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M17.3316%2032.949L23.5003%2029.2281L29.6691%2032.9979L28.0534%2025.9479L33.4878%2021.2479L26.3399%2020.6115L23.5003%2013.9531L20.6607%2020.5625L13.5128%2021.199L18.9472%2025.9479L17.3316%2032.949ZM12.8764%2039.0913L15.6822%2027.0098L6.30859%2018.8867L18.676%2017.8135L23.5003%206.42139L28.3247%2017.8135L40.692%2018.8867L31.3185%2027.0098L34.1243%2039.0913L23.5003%2032.6817L12.8764%2039.0913Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M23.4997%2039.8066L21.3382%2037.8634C18.0919%2034.9184%2015.4074%2032.3877%2013.2845%2030.2714C11.1617%2028.1548%209.47948%2026.2711%208.23789%2024.6202C6.99631%2022.9696%206.12893%2021.4638%205.63576%2020.1028C5.14226%2018.7421%204.89551%2017.3613%204.89551%2015.9604C4.89551%2013.1812%205.83257%2010.8544%207.7067%208.97995C9.58115%207.10582%2011.908%206.16876%2014.6872%206.16876C16.3968%206.16876%2018.0124%206.56859%2019.534%207.36824C21.0557%208.16789%2022.3775%209.31466%2023.4997%2010.8085C24.6218%209.31466%2025.9437%208.16789%2027.4653%207.36824C28.9869%206.56859%2030.6025%206.16876%2032.3122%206.16876C35.0914%206.16876%2037.4182%207.10582%2039.2927%208.97995C41.1668%2010.8544%2042.1038%2013.1812%2042.1038%2015.9604C42.1038%2017.3613%2041.8571%2018.7421%2041.3636%2020.1028C40.8704%2021.4638%2040.003%2022.9696%2038.7615%2024.6202C37.5199%2026.2711%2035.8408%2028.1548%2033.7241%2030.2714C31.6078%2032.3877%2028.9202%2034.9184%2025.6612%2037.8634L23.4997%2039.8066ZM23.4997%2035.8375C26.633%2033.0182%2029.2115%2030.6016%2031.2351%2028.5878C33.2587%2026.5743%2034.858%2024.825%2036.033%2023.3399C37.208%2021.8548%2038.024%2020.5361%2038.4809%2019.3836C38.9379%2018.2314%2039.1663%2017.0904%2039.1663%2015.9604C39.1663%2014.0021%2038.5136%2012.3702%2037.208%2011.0646C35.9025%209.75904%2034.2705%209.10626%2032.3122%209.10626C30.7657%209.10626%2029.3365%209.54493%2028.0244%2010.4223C26.7126%2011.2999%2025.6739%2012.5208%2024.9082%2014.0848H22.0911C21.3127%2012.5081%2020.2707%2011.2841%2018.9652%2010.413C17.6596%209.54183%2016.2336%209.10626%2014.6872%209.10626C12.7412%209.10626%2011.1124%209.75904%209.80064%2011.0646C8.48889%2012.3702%207.83301%2014.0021%207.83301%2015.9604C7.83301%2017.0904%208.06148%2018.2314%208.51842%2019.3836C8.97537%2020.5361%209.79134%2021.8548%2010.9663%2023.3399C12.1413%2024.825%2013.7406%2026.5712%2015.7643%2028.5785C17.7879%2030.5858%2020.3663%2033.0054%2023.4997%2035.8375Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2217%22%20height%3D%2216%22%20viewBox%3D%220%200%2017%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8.66368%202.01017C9.32164%201.94371%209.98083%202.1241%2010.5133%202.51632C11.0457%202.90854%2011.4134%203.4846%2011.545%204.13269C11.6183%204.49351%2011.9702%204.72662%2012.331%204.65336C12.6918%204.58009%2012.925%204.22819%2012.8517%203.86736C12.6543%202.89524%2012.1027%202.03114%2011.3041%201.44281C10.5054%200.854482%209.51663%200.583899%208.52969%200.68359C7.54691%200.782861%206.63577%201.24224%205.97161%201.97299L5.96306%201.98228C5.29856%202.71803%204.93098%203.67431%204.93156%204.66567L4.93156%206.66675H4.26489C3.16032%206.66675%202.26489%207.56218%202.26489%208.66675V13.3334C2.26489%2014.438%203.16032%2015.3334%204.26489%2015.3334H13.5982C14.7028%2015.3334%2015.5982%2014.438%2015.5982%2013.3334V8.66675C15.5982%207.56218%2014.7028%206.66675%2013.5982%206.66675H6.26489L6.26489%204.66601C6.26423%204.00811%206.50679%203.37331%206.94572%202.88356L6.95268%202.87597C7.39593%202.3852%208.00572%202.07663%208.66368%202.01017ZM4.26489%208.00008C3.8967%208.00008%203.59823%208.29856%203.59823%208.66675V13.3334C3.59823%2013.7016%203.8967%2014.0001%204.26489%2014.0001H13.5982C13.9664%2014.0001%2014.2649%2013.7016%2014.2649%2013.3334V8.66675C14.2649%208.29856%2013.9664%208.00008%2013.5982%208.00008H4.26489Z%22%20fill%3D%22%234D6277%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20xml%3Aspace%3D%22preserve%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20enable-background%3D%22new%200%200%2024%2024%22%3E%3Cpath%20d%3D%22M5.3%2018.7c.2.2.4.3.7.3s.5-.1.7-.3l5.3-5.3%205.3%205.3c.2.2.5.3.7.3s.5-.1.7-.3c.4-.4.4-1%200-1.4L13.4%2012l5.3-5.3c.4-.4.4-1%200-1.4s-1-.4-1.4%200L12%2010.6%206.7%205.3c-.4-.4-1-.4-1.4%200s-.4%201%200%201.4l5.3%205.3-5.3%205.3c-.4.4-.4%201%200%201.4z%22%20id%3D%22_icons%22%20fill%3D%22%23ffffff%22%20class%3D%22fill-000000%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E\"","export default \"/images/small-dots.png\"","export const topTabBarpadding = '11.51px 14.16px';\nexport const helperSideBarWidth = 280;\nexport const pageSizes = {\n A4: 'A4',\n A3: 'A3',\n A5: 'A5',\n Letter: 'Letter',\n Legal: 'Legal',\n Ledger: 'Ledger',\n B5: 'B5',\n C5: 'C5',\n};\n\nexport const pageSizesDimensions = {\n [pageSizes.A4]: { width: 499, height: 670 },\n [pageSizes.A3]: { width: 531, height: 750 },\n [pageSizes.A5]: { width: 350, height: 499 },\n [pageSizes.Letter]: { width: 510, height: 680 },\n [pageSizes.Legal]: { width: 440, height: 750 },\n [pageSizes.Ledger]: { width: 900, height: 584 },\n [pageSizes.B5]: { width: 518, height: 726 },\n [pageSizes.C5]: { width: 460, height: 648 },\n};\nexport const STANDARD_PAPER_SIZES_MM = {\n A3: { width: 297, height: 420 },\n A4: { width: 210, height: 297 },\n A5: { width: 148, height: 210 },\n Letter: { width: 215.9, height: 279.4 },\n Legal: { width: 215.9, height: 355.6 },\n Ledger: { width: 431.8, height: 279.4 },\n B5: { width: 176, height: 250 },\n C5: { width: 162, height: 229 },\n};\n","import {\n IconArrowRight,\n IconCircle,\n IconHeart,\n IconHorizontalLine,\n IconSquare,\n IconStar,\n IconTools,\n IconToolsPink,\n IconTriangle,\n IconVerticalLine,\n ImageCustomTemplate1,\n ImageCustomTemplate2,\n ImageTemplate1,\n ImageTemplate2,\n} from '@/assets';\nimport theme from '@/theme';\nimport { pageSizes } from './layoutConstants';\n\nexport const sideBarpillsList = {\n template: 'Template',\n text: 'Text',\n image: 'Image',\n shape: 'Shape',\n qr: 'QR',\n whiteLabel: 'White-label',\n};\n\nexport const ButtonVarients = {\n primary: 'primary',\n secondary: 'secondary',\n};\nexport const shapes = {\n circle: 'circle',\n square: 'square',\n triangle: 'triangle',\n arrowRight: 'arrowRight',\n horizontalLine: 'horizontalLine',\n verticalLine: 'verticalLine',\n star: 'star',\n heart: 'heart',\n};\nexport const defaultSideBarImagesList = [IconTools, IconToolsPink];\nexport const textList = [\n {\n text: '+ Heading 1',\n fontFamily: 'Open Sans',\n fontSize: 18,\n color: '#333333',\n fontWeight: theme.fontWeights[700],\n textDecoration: 'normal',\n fontStyle: 'normal',\n textAlign: 'left',\n width: 125,\n },\n {\n text: '+ Heading 2',\n fontFamily: 'Open Sans',\n fontSize: 16,\n color: '#333333',\n fontWeight: theme.fontWeights[700],\n textDecoration: 'normal',\n fontStyle: 'normal',\n textAlign: 'left',\n },\n // {\n // text: 'What problem are you facing in this meeting room?',\n // fontFamily: 'Open Sans Condensed',\n // fontSize: 18,\n // color: '#333333',\n // fontWeight: theme.fontWeights[700],\n // textDecoration: 'normal',\n // fontStyle: 'normal',\n // textAlign: 'left',\n // },\n {\n text: 'Scan this QR code from your mobile to report the issue',\n fontFamily: 'Open Sans',\n fontSize: 16,\n color: '#333333',\n fontWeight: theme.fontWeights[400],\n textDecoration: 'normal',\n fontStyle: 'normal',\n textAlign: 'left',\n width: 220,\n },\n {\n text: 'property 1 > building 2 > Room 2',\n fontFamily: 'Open Sans',\n fontSize: 12,\n color: '#6D737B',\n fontWeight: theme.fontWeights[400],\n textDecoration: 'normal',\n fontStyle: 'normal',\n textAlign: 'left',\n },\n {\n text: 'www.domain.com',\n fontFamily: 'Plus Jakarta Sans',\n fontSize: 10,\n color: '#333333',\n fontWeight: theme.fontWeights[400],\n textDecoration: 'normal',\n fontStyle: 'normal',\n textAlign: 'left',\n },\n];\nexport const elementTypes = {\n pageSize: 'pageSize',\n backgroundColor: 'backgroundColor',\n backgroundImage: 'backgroundImage',\n circle: 'circle',\n square: 'square',\n triangle: 'triangle',\n arrowRight: 'arrowRight',\n horizontalLine: 'horizontalLine',\n verticalLine: 'verticalLine',\n star: 'star',\n heart: 'heart',\n image: 'image',\n qr: 'qr',\n text: 'text',\n};\nexport const shapesList = [\n {\n shape: elementTypes.circle,\n icon: IconCircle,\n },\n {\n shape: elementTypes.square,\n icon: IconSquare,\n },\n {\n shape: elementTypes.triangle,\n icon: IconTriangle,\n },\n {\n shape: elementTypes.arrowRight,\n icon: IconArrowRight,\n },\n {\n shape: elementTypes.horizontalLine,\n icon: IconHorizontalLine,\n },\n {\n shape: elementTypes.verticalLine,\n icon: IconVerticalLine,\n },\n {\n shape: elementTypes.star,\n icon: IconStar,\n },\n {\n shape: elementTypes.heart,\n icon: IconHeart,\n },\n];\n\nexport const defaultElements = [\n {\n type: elementTypes?.pageSize,\n id: `element${Date.now()}`,\n size: pageSizes?.A4,\n cuttingGuideStroke: 0,\n cuttingGuideStrokeColor: theme.color.black,\n },\n];\nexport const basicTextProps = {\n opacity: 1,\n text: 'Enter Text Here',\n fontSize: 16,\n fontFamily: 'Open Sans',\n color: theme.color.black,\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: theme.fontWeights[400],\n textAlign: 'left',\n lineHeight: 1,\n // width: 125,\n};\n\nexport const DEF_TEMPLATE = [\n {\n elements: [\n {\n type: 'pageSize',\n id: 'element-page-size',\n size: 'Ledger',\n cuttingGuideStroke: 50,\n cuttingGuideStrokeColor: '#000000',\n },\n {\n id: 'element-title-text',\n x: 70.86,\n y: 69.25,\n opacity: 1,\n type: 'text',\n draggable: false,\n text: 'What problem are you facing in this room?',\n fontSize: 59,\n fontFamily: 'Open Sans',\n color: '#000000',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 700,\n textAlign: 'left',\n width: 750.7,\n fontVariant: 700,\n align: 'left',\n fill: '#000000',\n visible: true,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n offsetX: 0,\n offsetY: 0,\n skewX: 0,\n skewY: 0,\n },\n {\n type: 'backgroundColor',\n id: 'element-bg-color',\n color: '#ffffff',\n },\n {\n id: 'element-qr',\n type: 'qr',\n height: 110,\n width: 110,\n x: 601.665,\n y: 269.005,\n fill: '#80D965',\n stroke: '#000000',\n strokeWidth: 2,\n draggable: false,\n qrText: 'https://fixalert.io/asbce',\n opacity: 1,\n logoVisible: false,\n rotation: 0,\n scaleX: 1.995,\n scaleY: 1.995,\n skewX: 0,\n skewY: 0,\n offsetX: 0,\n offsetY: 0,\n },\n {\n id: 'element-instruction-text',\n x: 72.25,\n y: 264.32,\n opacity: 1,\n type: 'text',\n draggable: false,\n text: 'Scan the QR code to report directly to the person responsible.',\n fontSize: 36,\n fontFamily: 'Open Sans',\n color: '#000000',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 400,\n textAlign: 'left',\n width: 479.03,\n fontVariant: 400,\n align: 'left',\n fill: '#000000',\n visible: true,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n offsetX: 0,\n offsetY: 0,\n skewX: 0,\n skewY: 0,\n },\n {\n id: 'element-location-text',\n x: 72.25,\n y: 490.45,\n opacity: 1,\n type: 'text',\n draggable: false,\n text: 'ABCE ',\n fontSize: 25,\n fontFamily: 'Open Sans',\n color: '#8c8c8c',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 400,\n textAlign: 'left',\n width: 376.1,\n fontVariant: 400,\n align: 'left',\n fill: '#000000',\n visible: true,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n offsetX: 0,\n offsetY: 0,\n skewX: 0,\n skewY: 0,\n },\n ],\n image: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABwgAAASQCAYAAADoThs1AAAAAXNSR0IArs4c6QAAIABJREFUeF7s3QnYXdPZ//FVEQQVQUypIKRB0RJiiiFiDq0aQkhIzIRqldcsETETYxGNqKh5CPGGJGKKeYo5KkQbFDFVjImg//9v9z3pyZPnnLP3Wvc+Zz3nfNd15dKrz95rr/1Z++xh3Wv4iXPu346EAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAINIfATAoQNUc+cJAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAKJAAFCLgQEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNV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c0T+hX+F31pLeU/1NQnZT9exfmd6dqiNQ1Z6X5CdTGN6fnBPDalp9s1bYM6cOck9SM99/Vff03ru6z228E7LMz/vWiB/BBBAoL4FYnovC5H+iXPu3yEZxLIvAcLa1oRGEGokUGh666233GqrrRaazdz9NX2hGgb0wVqNlMf6O6eddpo744wzgouvIOmee+6ZKR+rBtaDDz7YXX311amO/corr7innnrKPfvss+7xxx+vOLXqz3/+82Ta1BVXXNGts8467je/+Y3r0qVLqmPFtpEaWP7+97+71157zcnhpZdeck8//bTX9JsKoGrU6GabbeY22WQTp1EwHTt2jOqUFfANHXG7/fbbO12noUmNLy2psUrPPN3ffJIadbO+xKgB6JlnnnGPPPKImzBhgnv55ZfL3lf1u1x11VXdxhtv7HbbbTenaRprldTQpn9ZU0hjsrwefPBBd+edd7rHHnvMTZ06tezhdQ878sgj3fHHH5+1mEHbf/LJJ8n99vXXX59735k8eXKqPHWPWW+99dyvfvUrp2mwtYaw/htLsnp+6R4zbty4VKclS3UUeuedd9z06dOT+3mp6ZN1f9Y9Wc8tjbLXvTrkmktVwBIb1WOAUEFu1cerr76aPE9feOGF5L0iTSpc21p/cs0110yeobq2s9430xwryzbVvJfp+aL3D5k999xz7oknnnBvv/12yeKqoXWFFVaY+z62xRZbuF69eiXvZnklBU/uvfde98ADDyS/Nf3myk1XXijjpptu6hT4V73qfbElPfvzskybr4JWel4U/64qvQ+Uylu/L9VB165dk2fJ2muvnQTAap107WdtV9C9Qe9Wvunjjz92Y8eOTd4ZdK+qNO2+3rEuu+wyt9122/keMvN+9XhPzYyQcgd9z1mlWnyfWJa/Wu81eu/WM0vf0FqWRc/9F198MXUbkN7BfvnLXybvZPpm6datW83eyZq7dnzuS03zqca1ZHHtVKOcVr9P8kEAAQQkUOtvRKtaIEBoJdng+Zx11lnu5JNPDlb461//6vbdd9/gfAoZKMCixstqJX3s6sXUMqmR5dFHHw3O8v33308ab7IkqwbW3/3ud+6SSy4peWg1UiuAOXz48CTwEJpUD3369EmChXrRjzWpAULnq0YBNXIpIJpnUqPnrrvu6g466KAkYFjLpJGxmvq3UiNItcqohkyLQGO1yqt1X7X+q09So5KCUWmSOm1cdNFF7oorrkizeclt1Ji13377uT322KPqAfzu3bt7/bb0/Mga2NTv+dxzz3U33nhjZq+jjjrKXXrppZn3y7qDGnf1+7vrrrtMni3Fx1fQSx1RNJJeweFqNQw1Z2D1/NJzRFalknqj6/ml31Xa4Gpzeen+rPef3r17J3bVTPUSIFTwYvz48W706NHmM0eoflQ3elZsu+22QcEA37r1vZfp+tV1nCapYfXmm29O3scUgAtNupZ1T9hll11c586dQ7NLgpR6X9JvzuLdWEHD/v37u6OPPtq0g2LwiUaSgTpyTZw40Y0ZM8Y99NBDub+zKXCrd8Pf/va3JrPTZGVUh1KNdMyadB3JKmuwWR1KLr744qRDUdakpRvUuSTPVO/31Dzs/va3vyUdS6xSpXcQq+MU8lE7hoL1VknP5LwC2R988EHyzNf9Sc99y6TftJ5dv/71r90222xTk/tR4Xz+8Y9/JJ0uLVLWzg9ZjqlOWer0EZryaE8LLRP7I4AAAuUECBBGdn3k+bCL7FSjLI4CG2q4CE2HH354cEN0cRkUlPr9738fWqxM+/sE4kodQL3hLKbRVOP8G2+8kek8tLFVA6tGxZxzzjnzHV/nd+GFF7pTTz01c9nS7qBzV3CjZ8+eaXfJdTtN1adGLQUFFUSwaIDzKbBG+wwcODBp8Kxmj2318NdIW+sPOR+D4n1CpxEMPX7W/UMa9NW4rVGA5ZJGY5xyyilega5K56J78pAhQ6o2Fal6BPt0PLjyyivdYYcdVul0kr/rvq/R3tdcc02q7ZvbSCZ53QvV81iN6gpe5t0RoXBuChbq3t+3b1+T51hWWKvnl+6Rt9xyy3yHV0PymWeemTxfrGcpUBBK+VZr1HfI/aQYJo9ZFNLUu+5XCq6rob0aSdf2scce6zR9ejWfn773Mt3HdD8rl9QZROd0991350aoZ4/WBV955ZUzH0OdiY455hh32223Zd437Q5aC/24445LRkM3ctLvSaOmdS2o8b1WSdftAQccUNUObQqIaRkDn6QRS2kDKxqVq+s5JMitmXu23HJLn6JW3KdR7qkVITw20AiqDh06mH7f6brU1LLVSEOHDjV9F9XoWC1/YZnUGUvtBz6d8XzKoWChOpFouZasna19jtd0H8ugc55tphrNr2BqaNKsKu+++25oNuyPAAIIVE2AAGHVqNMdKM+HXboSNPZWCnponY/Q5BvIKnVcjWJQIKaayWcqz1Lls+qJpQZ5jQLKmqwaWDXSSY3nxUkjWDSKqdyUVVnLW257jc45++yza9YDUFPOqcE3j8bkECd99PzlL39JpoHMM+keoYB9tadQTHtOjRQglIl6urdt27ZZHo0e0QjcPJM+/jTtsNaQzDv5Nqrvs88+7oYbbqhYvMsvv9zp/hKadG9QJxnLpCkJNTJfgaxK05xaHrc4L91jNMOARpJrHcNqJavnV3Nr6KrDjXqV522qa0uN5CFT16XxbqkBQjVi691C13gtkq5t1ZFGR1cj+d7LNPrxww8/bHb6G63LpPuD3o+qldSRYsCAAamm41Fju4wVfK5WUueYQYMG1XQEdLXOtXAcOWs0mxrdq9WJJO05Kkh4/vnnewfu0h5H24UECPVOoyUVyiWNONezMKQzUSF/dXyyniWl0e6pWa6NLNuqw5fuIVbJeoalcuXSdNoaSW6RNAJP7SJWSQF1zaDiM+LWqgx6T9c7rYLA1UoECKslzXEQQAABPwEChH5uue1FgDA32tQZ77DDDiY9Ta16mn333XfOd9FpNab4juxK01M7LeqwYcPcH//4x7Sbl9xOo7U0tWTWZNXAqp79xQ3oaoBQT/VqJ/X6v/76653Wn6lW0rptCoxVq5ej73npI071tPzyy/tmUXI/TUul30XejekhBW+0AKHWudEUXsVJDYRq3FLAuFpJo8s0lZ3FSOlSZQ5pVJ8xY0ZJCo2AVkPBddddZ8Jl2blEBXrzzTfdgQceGDRCweTE/i8T3X9lZTHbQJpyWT2/mj7TNZVV2uka05Sz0jaaolHXxkorrVRpU++/t7QAoUbEXnXVVamnSvaGSbmjgsgKYvlMTZjyEMlmvvcy7dvclMkKGmq0asjUuFnKX7ytOodoNGG5Rtbnn38+GUHmMwLct1yF/bT2qBrlrUe+hJbLen+Nfh41alQyy0csU743d44Kxo8cOTKZpjzPFBIgbK4zSXFZ1VFQ711Wv7d//vOfZmt8Nuo9Na9rSbOlrLLKKmbZa4pmvXvknSwDUSqr3sP0jAlN6tR44oknJs/9GJLuR+p4redTNRqFLeslzzZTRhDGcHVSBgQQqIVANZ4F1Tgv1iCshnKDHEO9O9XIFJqsXiafeOIJpwWnfZJGOWkqNp9kOS2CRnVZTMWoYGf79u0zn45VA2uh56NGs2j6JgU+a5nUkKfpNfNMX331lVPQPLae2OXOWR88mlbKKoCqaRdV37EHR2XSaAFCBY5GjBgxz+WgYFctPr7VUKyApcUo9Oau75BGdQXZVl999fmyVcOcRpBZNfTpAPqw3nrrrYNvS2roU8OFfnsxJo0cV2P0YostlmvxrJ5fJ5xwwtzRVRoNr97r1U4Krqrn/IorrpjLoVtSgFCzDmjEXmzPVtWRpr/Mc3rKkHvZBRdcME+HM42C1VRgtQwKqTPeq6++2uz7qUawKDhuPX1vlh+Q3uf1LZFncD5Leay31bu5psyrpXHWc1KnomuvvTa30Z0hAUJdz6U6Fel+pXcdS2t1UrJ4b2rke2rW6y/L9tazGH322WeuXbt2WYqQeVu9mykQZ5H0Tfnpp5+61q1bB2WnGYe0Tqxvx+2gg1fYWe/s+payWh+w1OEIEOZZi+SNAAIIhAsQIAw3NM0hz94wpgWt48yefvrp5GM+NOnF9KyzzgrNJmnQO+mkk7zyUVBOI/d8p7+cNm2aU2NRSFIwTesNhH5MrrvuuknPcZ9k1cCqta/0Yaz1NnymOvUpe6V9HnnkEbfFFltU2sz77xqN1aVLF+9ryPvAgTvqg0426623XlBOGhlwyCGHBOVRzZ0bLUCoelZDWGHqQt1zNWVOrZJ6R99+++1uoYUWMi9CSKO6RlZoVEBx+uSTT5LOJ9YjYpsb4ZMVY9asWW7//fc3ndIpaxnSbL/hhhsm09ktt9xyaTb32sbq+XXeeeclwVat4abG9FolTcGue3Meo7xbSoDwhRdeSNbcCn0vyrMONRJfQfA8PhRD7mVbbbWV02h+Ja3to2nkYnDUSD0tBVA8ja6CLBtssEFNg5eFa0TfNfrd5fFsyvM6TJO3AoRNn29p9qv1NgoWaIrOBRZYwLwoIQFCFaa57z/NJLLRRhuZl9Wi7aPR76nmlVKUodU7SCFLzYCjAHmeKeQZ07Rceq/w7WxdyEttBmo7iDnpe2rixImuW7duuRWTAGFutGSMAAIImAjk8d1nUrCMmTCCMCMYm5cWmDNnjskHtBpeH3vssWDqHj16OC3g7pPeeuutJLjoO2++erfqAzYkWb0MKtCpnuM+yerjRsFjjbjJe527LOeonr5qkM+jsbVQDgUX1Fjf0pI+drT+5VprreVddMs1LLwLkWHHRgsQikZ1rEarWBoJNfXWLbfcEtzbuGm1hzR4aMpVrStUSBoZrB7Dzz77bIarK92mGskTsqaJpmCSoe9zL10p7bZSJxqNWO7cubNdpkU5WT2/1BC92mqrOQVYap0UJNRIQj2/LFNLCBBqzaGePXtannZueWnKbq3lah3ACLmX6WQV/Fh88cWTe5iuo1hS8TrVWqNNv7U87rG+56sGak2NX29J321rrLFGi+vIpnpQEF7BeOsGmdAAYdO14vQtp8CBdTBez08FI0MS99QQvcr7qqOo3umsRr7lPc2oRpXrfmCVQjq9qZO03kta0n1Xnd40ajSPZNUmpLJZdCwodY5MMZpH7ZMnAgi0BAHr99FanTMBwlrJ1+lxNeWaXpBC09dffx20JpX2VyOIb9IUbQqqaapRn1RpHYo0eWodsAEDBqTZtOw2IS+sVg2s999/fxIctP5ADsVRI5TKtuCCC4Zm1ez+anzRR3wtp/DyPTE1QGvdH98RPgQIfeXT7WfRoK+pEhUYjanRXWuVqtHPMoU0qhc3wqmxR884TXeURwp57ik4qJFVtVirK8RCnRGefPLJZDSTdbJ6fmlKas1sEMvzS6MvNe2h5XPL4n6i+vvDH/6QyxTiLakhu3Ada+SExbT7xb+LkHuZ8tFUzrpH1GKa3Eq/7/Hjx7vtttvO9e7dO5mqNbZktfxBbOelDo1aR6slpjPPPNN7pphS5xsaICxes/aDDz5IgoN5fAOEdqblnlqdK37IkCFu0KBBZgfLc5pRq6VidLKaaltryPokBbB0T6rmeug+5Wxun5tuusntvffeVtnNzYcAoTkpGSKAAAKmAgQITTnDM8uzN0x46Ronh4svvjhpIApN6tncvXt372xCejAVpmGaMGGC09RHPkmNnjNnzgzq2XrQQQclU+iEppCPCasG1tBzyHP/U045xZ1xxhm5HUJ1qLpsiUk9tC+77DKvohMg9GJLvZNFg76CwFrDJpbAR+HkFTCymK66kF9oo7pGP2vtN3UayXNdP9/3GAUud91112SavpaYtM6XGpKsR8XV8/NL92Xdn62Sxf1EZckjQKip3n/1q19Fd59KYx/bvUy/tTyCFWksKm2j92aNXolp5GBxmUMavCudey3//t133yUjpGO9LirZ/OMf/3Arr7xypc1S/z00QKhR3hqJpee5Rnzl9VzWbAEK+Psk7qk+an77TJ8+3a2yyip+OzezV3PT3ltl3rVrV7N1tf/0pz95T8muzjVa+7mlJq03uummm5oWnwChKSeZIYAAAuYCBAjNScMy9G1YCzsqezcVmDx5stMLZmgK7Xl92mmneQd9ClNyquenGoV906uvvho0KkIf7L5rIBbKHNqgUc8NrMX1qjXFll56ad+qLrvf7NmzXceOHc2mmMmlkGUy1UeJ1lLMmggQZhXLtr1Vg362o1Zna62bqoCR1Qip0ACh1kbUb2CdddbJDUAN91oXzCdppLvWyWvJSaMhtIbLIossYnYa9f780vWi68YiWd1PrAOEmtJX0yBPmTLF4jSrnofqRyP22rVrZ3Ls0HuZSSEaOJM8Gn5j4NQ02oceemgMRclcBk3jbznSKDRAqBPQ96PWXj/wwAMzn0/aHbTG9/Dhw9NuPnc77qmZyYJ30LSTVoHiXr16Ob3bWCdNV7v66qubZfvxxx+7ZZZZJnN+9fDeps4uml511VVXzXz+pXYgQGhGSUYIIIBALgIECHNh9c+UAKG/neWeGsmw1FJLBff0Dn0B1pQuvr2QixcB1/SKvmsHhPSee//994PWoirUqXrgnX322d5VXA8v6mlOXo0jWmssr3TVVVe5ww8/PK/sc83Xt5cyAcJcqyWZuk7TAdVr0rojWvfJIoU2qms9WTXyqwNMXkkjJjXaKGtS8FLrndVD8m3wLHXu9f788r03N+dldT+xDhDqt3fddde16Mtb9XTHHXcEzShRAAi9l7VoyAgKv88++7gbbrghgpLYFmHWrFnJKDzf7x3b0mTPTc/m9dZbL/uOzexhESDUrCSnnnqqSXlKZeI7+wn31FyrpdnMrd9FPv3006StxTJddNFFZu/ceie99dZbMxfPOkiZuQCGO6y11lpJR0erTm8ECA0rh6wQQACBHAQIEOaAGpIlAcIQPdt9tdbc6NGjgzJV7yt9pLVq1SpzPqEfd8WLamvatrvvvjtzGbRDSOPdXXfdlewfmrRW1g477OCdjfVHjXdBct4xdC2PSsXTNI6aYqalNr7oI0ejUbMkAoRZtLJva9Wgn/3I1dvDauqwltCorqnIxowZkwlX01hrOrOWel9p7mS1LlKPHj0yOZTauBGeX7pmdO2EJqv7iWWAcNKkScm6mvWQtI7lwIEDg0+lJdzLgk8y8gwKU05HXszMxVOnRstpizMXIGCH3/zmN07fTRYp9BvSogxp8lBA5/e//32aTeduwz01E5fZxuo83aFDB7N3Na0bqkCvZQrpWN20HL7rtVqOtLS08c3r9NNPd5rRyiIRILRQJA8EEEAgPwEChPnZeuVMgNCLLZedrD4yNWLDZ0q30EbBOXPmzJ3a7pxzznEnnniil5OCnFr/z2eaPKsp49SAvMQSS3iVXzuFWnofuAY7vvXWW8k6LHklNRAeddRRXtlrbS6tjdmpU6ek16imQ11yySWd1o75+9//7lR2rXmi6a/ySOoNrd7KWRIBwixa2be1atDPfuTq7aERhBpJGJpaQqO6piIbMWJEplPVdNjDhg3LtE/sG+sep+m527RpE1zURnh+hU4jXkC2up9YBQjVoKrfrfXUonqW6re2zTbbJNPht23bNiH45ptvnGZu0LStCrpqPW3rpPxXWGGFoGxbwr0s6ARbwM4aGVMvo7aLufUb0JR4vh1O1NFO9yNNK6h3VL2rLrroou7DDz90Ghk0derUZERNXmsdfv3118nxQlNLCRAWz3aT5py5p6ZRym+bIUOGuEGDBpkcYMcdd0ymsLVK6oxnNR2m2j40wrF169aZiqfnrgL99ZZef/31ZG3d0ESAMFSQ/RFAAIF8BQgQ5uubOXcChJnJctvhlVdecVpDKjT5TvuoRmX1rPRJm2++uVMPy0LSmkjbbrutT1bJPprmdIMNNsi8v0VPPt8p64oLW4sGVo2I0XpfCtYtv/zyTh/96rGtsvg2XKSpgDPPPNOddNJJaTb12kaNLzqfL7/8suL+Wrdo3333dapDXT9p15l65513kkCeGg4sk8+1pGCoRuOWSgpoWtWnfrehqXv37u6ss84KzaZq+1s16KcpsH6T+j1qCjIFbhZffHGn9UXU4KcRX3kl34aGpuVpCY3qWaeDVgcanVeeSc/xlVZaKblvqbFn+vTpSUeE0LVxK5V58ODBJg1p1Xx+KfCkKaU0UlxrF+t+rw4catTJ8zciS71zrb322pVYy/7d6n5iFSAM6VDT3InqXqJnvIKDaYIIChJoXTOraY5VJjUO69oOSdW8l8lMDZv6p8D9Dz/8kPz2FcDX/afWSb85jTBV0FXLASjNmDEjmarZd4mBNOdUWKc8zbYtbRsFxvUbTpPUmK/vow033DD55kszld6PP/7obrrppuR3ZfX+Vyjr/fffnwT+Q1NLCRAqQKRAUdrEPTWtVD7b6f1J7wdWyXeNv+aOf9lll7nf/e53JkXTu8S5556bKS+9L+m7P6/OAyqMnmGFdgU927ROqDou5P0s0/fpI488EjzFOAHCTJcUGyOAAAJVFyBAWHXy8gckQBhPhegDUKOb0gRCypW6X79+btSoUZlPLGTkUtMXW40AVE9Y36Q1wo499thMu2sBeb28hiatf6EeiyGpWg2s6nWssupjd4EFFmi2yPqNq/expuvQ1KnWSR8P+ljIM2m0jxqXSqUDDjjA7bfffk4fFKUc0pRPjWN9+/ZNAjhWyXrNiz//+c9Oa46FJuuetKHlqdb+Vg365cqr6cb0Tx/upZJGB2h9Lf1+rRv8dEzfqYqKy1vNRnXf+s+65uJee+3ltcZLpfLp3rP//vs7TfVUaHRvuo8CBS+88EKyBqbPOjOVyqC/f/LJJ0HP3sK1YzH9ZrnyKn81dmuEd6mkkWNat0wjsUPfi5o7hmY5CO3cYHU/sQgQKrCqwLTV/UQdHHQf6dy5c5pLb55ttLaZ6tai3vRep/tlmgBlqYJW416m89Vvu1zntqeffjpZ39p3Cv7MFVG0g9aL1lqA6tRTaoYOzayggPA111wTcqhm9817SnrzAmfIUB3yFHAtdb0rECh/jaAs9XxIczgFBM477zynKfiskk9gorljt5QA4TPPPJMEZ9Mk7qlplPLfxnIKTctpRnUvtZqBpniZlrSiw4cPd4cddljazVNvp+96fWeqM0O5UXwK3l5xxRXJPSmPFLrci8pEgDCPmiFPBBBAwE6AAKGdpUlOBAhNGM0ysWi81KgpTfeUJalHmHrv+6bmpg5SjzPfERPbb7+9GzduXKbiqKdZucbGtJlZ9KbNO0CoERdqZFIja5abqkbIKZBmnT7//PO5U45Z5638FPzV9Vnc+LL11lu7AQMGOK13qZFZVkkN+FnXDSx37Ntvv93tvvvuVsVzBAjDKK0a9JsrhdY/1QhuTRWWNqk3s0bn3HPPPWl3SbVd79693S233JJq21IbVaNRPU0BNeKlYPrFF1/M01tanWHUKSZNUi9rBVAsk4IXmh5cHQuy3Is1olDB4RtvvNGyOMlzQaMqQ1Kezy8FnbTm1Zprrpm6iJrGq0+fPu6pp55KvU+aDXVdaZS9z3Tmhfyt7icWAcLbbrvN6XdvkVRPCmap05pvUschvZNZjG5QwEodgXxTnvcyWakTU69evVIX78orr3RHHHFE6u1DNtQ3gUafqTE7bRo7dmzS2cE6zZo1yy288MLW2UaRn4LDuh8Ukp4NarzXs8Fidpjik9TvXL93i6TrV8+j0BRLgFDumgJZU7XqetP3SXGnCd2XFABJk7inplHKfxu9H//61782OZBP+0JzB1Y7S8eOHU3K5DPludrvFLyz7NCqk9H7ozpKZ+mQo46weg+2mgq2gKqR1hMmTAgyJkAYxMfOCCCAQO4CWdpPci9MwAF+8v9nvfl3wP7R7EqAMJqqSApi1fivXl1ZXlxDP4LefPNNt/rqq8+Dqd2FMpsAACAASURBVOCNppryTd9++22qqXcK+ath1GKqSwWjFltsMd9iJ/vl2cCqhobHHnvMe7RkHkFCfaD4jDLIgnzBBRckvw9dV2os1rSNeSV95ISOIi2UzWJEavF5Wt0jGEFoe/Wop606Siy00EKZM9ZzWI3fIffL5g6qkdzt2rXLXJ7CDnk2qpcqlBo+N910U7feeusljarNBSg0Ek9BI334q4xppxLWqIvQqQqLy63jKmjVoUMHL2PV+8CBA52CBVZJQS9NmRzSCJ/X80uNso8++qhXZyStcawOMePHj7eiSvIJ7RAUU4Bwiy22SHxDkxrYNZq+3AjotMd4+OGHXY8ePdJuXnI7Bd90XfqmvO5l+r1pqjWfUWFNA0q+51ZuP3Um0wgXn0CvgooacWiZNLJU9/Z6TOq8oplY9PxSR7ztttsu83piaV00olaBPYsRujqmxTqEtQgQ6l6lZQU0IvBXv/pVMl11c1O2zp49OwmkaN1xvfummdZVLtxT016R+W6ndSD1nmU1Ol75tG/fPqjQGjmn9zeLpOBa1g4jmoK9Z8+eFoefm4fyDHle5/HM8BlZWYxCgND0EiEzBBBAwFyAAKE5aViGBAjD/Kz3tnqRaW5EX7myHn744e6qq67yOh19oM2cOXO+0ROhgQyNCNTHWdq00047BU+h2XQtxbTHbrpdXg2saozSdKFpG8RLlV+NF5br7Slgqemj6iWp17EaenxHwBY7qAe5ZQAg9HdVKBsBQrurVT2SNWVcSFBGHSK0LpTlGlAjR45MAuq+Ka9G9ablUe9pNY7stttuQQHNcuepBkI1CFk1qOq5pxFWWUbCNVc+BTs1gvS6667zrab59tO9XaNWfFMezy+LZ5dGgmy00UamPeb79+/vNOWYb4olQGi5tqbWVdIUyVZJxhbXd0gQI697mToI6Jr0TZtsson5yNhCWXSPUkCuaee9LGW1HKmm4yrAr8AZKVxA962QUbXFJVCnktDR9dUMEGq2Bp27riWfTllp9LmnplGq3jbqtGk1Qi10RLrO2ip4rLx81kXU+/Lo0aPNKkDBvb333js4vxEjRiTTKVslvR8rT99k1a6m4+fZZvrAAw+YrAXrM4uYry37IYAAAhYCBAgtFA3zyPNhZ1jMhslK9bH88ssH95LTotmXXHJJajd9GPpOA6Ve/WPGjJnvWKEfVxrtoXXz0iT1LmzdunWaTctuk+WY5TLKo4FVx7PqfW05NYrKZT2NZnBFGmRw0EEHmazDo4aMO++806BE/8mCAGEYpVWDfnEp9AFqMdpGI7E1KsAqhX5Y59WoXjg/NWDrOaW1+0LWDk3jZfXxXTiWpsnUqFGLpOeXOqdYTaEZGvzP4/ll0SAn69dee82tvfbaFuxJHqGNKVb3k9ApRocOHZpMCxaaLNb7a1qGGTNmJO+1oenee+9NRv/4pDzuZZpOOrQhNK+pPGV08803Oy1bEJJef/31ZFSWVcraedHquPWYj9aLTDtVZqXzt/i2qEaAUNei1l3LMl1upXMv9Xfuqb5y+eynWSNWXXVVk8xDp67U+si+M0c0PQGtS5p1TWrNdKRntVUKff9oWg5NU3ruuedaFS+ZKti3AyYBQrNqICMEEEAgFwEChLmw+mdKgNDfLq89LUZ3aWo2TcuQJmmUlNYL9E16CSxed6OQjxo9tQaE74gNjUjTyLQ0Seeq6WVCk6bD0iie0JRHA+txxx1nuhC4puWxWv/KZ3qUUOO899ei68cff3zwYbJcx2kORoAwjVLpbawa9AtHsFjrr7i0Fvf/Qn5ZngPNieXRqF44jqYM1JSqWdZrDKn5E0880Z1zzjkhWczdV9OZafSg5QutdaAgZKps6+eXxbSnxRVn1XmjkGfIVLxW95PQBjo1mGsqydB0xhlnuFNOOSU0m/n21/pRoeushrwDWd/LFJjRdIWh9wB9gyngPWXKFFNzdTRRnq1atQrOV1PO6d3YIun9Rb9fUriAVcdIlWTixInB0xXmHSDUfUmdIPIaMdi0Rrinhl+j1jloXVS9K1kkdVzRu4lPUpBas8NYJL1vZVm/Vse87777nGZNskohFs2VwapTUCHvkKlPCRBaXSXkgwACCOQjEPotlU+psufKGoTZzdgjpYAaTUOmhSscJm2jV+jxyk0vGToFhtb0SNNLzuplPWQKq+LqtW5gVd5Wo5QK5dQIGI1us0jW6+xZlCk0DysfNSROmzYttDhz9ydAGEZp1aBfKEXo+hhNz+bVV19166yzTthJFu0d0vPWulG9UCyNvLvlllu8ewT74FieSx7T5P34449JvVsFCnwanQqu1s+vyy+/3GytHpXRciSB8ps0aVIygtMnWd1PQgKEmuLdZ4255s73ueeec127dvWhKLuPxXSImsp53LhxXmWz/P2rAOpsYNGBSHlZXUPFMPLW1K4WSaO8f//731tk5bSW9B//+EeTvMjEJVPhWzwzLEab5hkgtPy9pbluuKemUar+Nupkos4mFimks4LW/lPQKjSpfePTTz/NPAOS7qHDhg0LPXyyvwLv6hhknY4++mh36aWXmmSrZ61vBz8ChCZVQCYIIIBAbgIECHOj9cuYEYR+bnnupV7JnTt3Dj5E2kbM0BErWjur1ILvGlkWspaNesntsMMOFS369evn/vrXv1bcrtwGW2+9tdM0dBbJuoE1dDqU5s7JcoqS0KkMLcyt83jllVecRmCFJn0AKtBtlQgQhklaNsZquitNeWidLBuzX3zxRaf8fJJlOQrH15TUmpK4WqMAdNwPPvjArbjiij4E8+0TOiVluUKokbZPnz4m5dRzV2vJ+STr59dHH32UrP9omSxGpBXKExLAtLqfhAQIrUaf6lmlRn6LUWdN6/rDDz90K6ywQtAloNEeGpngk6zvZRZrthXOQ1OQ77777j6nVXKfb775xrVp08YkT6t3IRWmHjuTmSB7ZmK1RqTWoD/00EM9S/Gf3fIKEJ599tlOUxZWM3FPraZ2+mNp1Kym9tQ7RWjy/ea3eJYVyq73B5+pOLWkwdSpU0MJkv01VfEqq6xikldxJpYduTQi/o033vAqIwFCLzZ2QgABBKomQICwatTpDkSAMJ1Ttbdabrnlgl+AtZj34MGDyxZd9d+2bVvvaUAr9egObVhI22vMwuvMM890J510kklVWzewqgHJarRf8QlqallNMRuaNCJII+7qKVkFFQgQxnVVWDXo66yOOOIIp04Q1klrr1r16L3++utd3759vYpo3aiu34LWWdT9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RDMzrbPOOpUOm/rvCqKtvvrqqbevtGHo2n+alcWq853awkJnsSqc7zfffOOWX375oEB0UzsChJWuJv6OAAKxCRAgjKxGCBBGViEVihMyNWfImarnlnpwWSU1XrZp08Yqu0z5hKzJlfZAVg2s9Rwg1MimhRZaKC1p2e223357N27cOJO8lElo79PiglgH4m6//XandS0sUh5rg1mUK888rBr0i8t42mmnudNPPz242FdeeaXTOkVWSWVS2XxT7I3qWc7r448/TkaPWyWtx6t1eS2SOv+sv/76burUqRbZudDAsNXzq/hkdtxxx2SKqAUWWCDoHC+//HIzdxVE7poKyzdZ3U9CA4Rnn322O+mkk3xPY5791MD0wgsvuGWWWcYkvxgyif1eRoAwhqtk/jKceeaZ7pRTTjEpXMio7qYF0JT6Fh0uCvkSIJy/irmnmlz2NclE35d6jlkFhXxOwjKQ1NzxrWa5Ud6//e1vnZaRsWqkHTBggGlH7G+//dYtssgiPtWQ7GMZ7NdSPfpWs0jHHnusu/DCCy2ympsHAUJTTjJDAIEqCFg9e6pQ1LKHYARhrWugQY8fMjVnCFke8+jvsMMObvz48SHF8tr3rbfecquttprXvml3smpgrecAoSytevVZThtrVXeFa8U6QHjfffe5nXbaKe2lWHY7BRutpqkxKVAVMrFq0G9aVI0A23fffb3PQNO9br755t77N7dj6NoisTeqZ8Xadddd3d133511t5Lba1Si8gxJmlpUeeh3bZU03XLIaETre2DhvNSbXr8/3/TEE0+Yr5WjtWY1jaBvsrqfhAYINQJAv1erpCCzRhIuuOCCVllmykfTgj344INuxowZQffVwkFjv5cRIMx0eVRtY3UoPOCAA0yOd80115jkNXv2bLfVVlsFzaTS9IQIEM5fxdxTTS77mmWiDnKDBw+uyfFDOx6lKbTWINQSB1ZJo6UtglWamvXUU0+1KlZyz9S9MyTttttuTu/rVum1115zap8JSVdddZXT7EfWiQChtSj5IYBA3gIECPMWzpg/IwgzgtV485CpOUOK/q9//cstueSSIVnMt+/5558f1FjoU5hqvThZNbDWe4DQslefxWg4rb3ku25XqevROkD4yCOPJI1DFkmB1ddff90ttdRSFtm1iDysGvSbO1nVjc/UydOnT0+m9wlZ76RpeVS3H3zw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CZAACZCANgIUCLWhpWMSIAESIAESIAESIAES8Exg5cqVcuutt1p+KlWqZAl02bJlk6xZs8pVV10lZ86csc4XROpPXHv69GnPdabk4N5775WZM2dq8U2nJEACJEACJJDIBCgQGtb6FAgNaxCGQwIkQAIkoI0ABUJtaOmYBEiABEiABEiABEiABDwTWL58udSoUcOzH68O1q5dKxUqVPDqhuVJgARIgARIgASSEaBAaFiXoEBoWIMwHBIgARIgAW0EKBBqQ0vHJEACJEACJEACJEACJOCZgAkC4auvvio9evTwfC90QAIkQAIkQAIkcDkBCoSG9QoKhIY1CMMhARIgARLQRoACoTa0dEwCJEACJEACJEACJEACngkELRDWrFlTFi5cKGnTpvV8L3RAAiRAAiRAAiRAgdD4PkCB0PgmYoAkQAIkQAKKCFAgVASSbkiABEiABEiABEiABEhAA4EgBUKccbh582YpWLCghjujSxIgARIgARIgARDgDkLD+gEFQsMahOGQAAmQAAloI0CBUBtaOiYBEiABEiABEiABEiABzwSCFAhnzJghDz74oOd7oAMSIAESIAESIIHIBCgQGtY7KBAa1iAMhwRIgARIQBsBCoTa0NIxCZAACZAACZAACZAACXgmEJRA2L17dxk4cKDn+OmABEiABEiABEggdQIUCA3rIRQIDWsQhkMCJEACJKCNAAVCbWjpmARIgARIgARIgARIgAQ8EwhCIIQwCIGQRgIkQAIkQAIkoJ8ABUL9jB3VQIHQES5eTAIkQAIkEMMEKBDGcOMxdBIgARIgARIgARIggbgn4LdA+N5770mbNm3initvkARIgARIgARMIUCB0JSW+F8cFAgNaxCGQwIkQAIkoI0ABUJtaOmYBEiABEiABEiABEiABDwT8FMg/Pe//y3333+/55jpgARIgARIgARIwD4BCoT2WflyJQVCXzCzEhIgARIgAQMIUCA0oBEYAgmQAAmQAAmQAAmQAAlEIOCHQFi2bFl55513pEqVKmwHEiABEiABEiABnwlQIPQZeLTqKBBGI8R/JwESIAESiBcCFAjjpSV5HyRAAiRAAiRAAiRAAvFIQKdAeNVVV8mIESPkn//8p6RNmzYe8fGeSIAESIAESMB4AhQIDWsiCoSGNQjDIQESIAES0EaAAqE2tHRMAiRAAiRAAiRAAiRAAp4J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cme1aygsSAIGEDh16pTgtxtiPn5n8JuN/8bLB74BiBlCCgSwiATfO/jWwTci+iD6Hr4b2ffYZVQRQL86efKk1aewqxriMhc4JKVLRqp6G/34TQBji9AClG3btlnj5yJFiljZgooVK2aJ/zQSIAESIAESIAF/CMTLGO4fIvIff5DprYUCoV6+9E4CJEACphI4duyYNTC2sxM1tXvAitvBgwdbabZ0/sivW7dOHn/8cWs3rVdr1KiRfPzxx17dsDwJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkIBNAjrnDm2GoOQyCoRKMNIJCZAACZBAUARUnFP0z3/+U959913fVthjRT/q9Ho+C9LOffXVV0GhZ70kQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkkHAEKBAa1uTcQWhYgzAcEiABEvCBANLs4HxAL7sH27VrJ6NHj/Y9JbCKnY9Igbp27VofSLMKEiABEiABEiABEiABEiABEiABEiABEiABEiABEKBAaFg/oEBoWIMwHBIgARLwgcD8+fOlXr16rmu69tprrTMBcfZYEPbss8/KyJEjXVddu3ZtWbRokevyLEgCJEACJEACJEACJEACJEACJEACJEACJEACJOCMAAVCZ7y0X02BUDtiVkACJEACxhHo0aOHDBo0yHVcEydOlBYtWrgu77Ugdi4+9dRTrt00adJEPvroI9flWZAESIAESIAESIAESIAESIAESIAESIAESIAESMAZAQqEznhpv5oCoXbErIAESIAEjCNQt25dWbBggeu49u3bJ//P3n2AT1Hd+x//BlFpgqAgIIKCdIKiQdEAgooNa0QRe7miEnsJUVTsLRpL1KBGYwM7WFGjAorYBSsi2BUVUOlig/yfz9y7/H9lZnZmd3b37Oz7PM/vwXuZOXPm9Z2dH5nPnjOtW7fOef98d7zwwgvt3HPPzbmbESNGeMuj0hBAAAEEEEAAAQQQQAABBBBAAAEEEECgOAIEhMVxjnwUAsLIVGyIAAIIpEage/fuNnPmzJzPp9S/O3bffXd74oknch7/pZdeappFSUMAAQQQQAABBBBAAAEEEEAAAQQQQACB4ggQEBbHOfJRSv2QN/JA2RABBBBAIDGBxo0b29KlS3Pub+XKlVanTp2c989nx3nz5lnLli3z6cKef/5569+/f159sDMCCCCAAAIIIIAAAggg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BBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAWHM5hgAACAASURBVAQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGh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2AFhxuu2226zI444ohR8HLMMBAgI8yuSfj+tvfba1TqZNm2abbvttvl1zN4IIIAAAggggAACCCCAAAIIILBagIDQsYuBgNCtgvz73/+2I488MuugWrRo4b2jasCAAab/btasmfet97lz59qXX35pX3zxhSlE+fjjj2369OmB/WkJ07///e9Zj8cGCMQVuPjii72lHau2n3/+2dZaa624XdXanoAwb8KidvDrr7/a8ccfbzfffHPk4+6///7WoUMHa9u2rW200Uam96bqPrd06VL77rvvvJ85c+Z4oZ8e4kdpulc+88wz1rNnzyibB24TFsToSxe9e/f23XfRokXeUqeLFy82/ff8+fNjj+Phhx82zYikIVBTgIAwv2ti6tSp1r9//2qdTJ482ft3Fg0BBBBAAAEEEEAAAQQQQAABBJIRICBMxjGxXggIE6PMuyM9RG/fvr199dVXgX3p76+//nrbZZddLOqH6aeffjI95NLSfvfff7/3gD3TXn/9dfvDH/6Q99jpAIGaAn379q0V3BAQVt51oi8u7LnnnvbEE09kPXmFgKeeeqodfvjh1rRp06zbZzZYsGCBPf300zZ69Gj75JNPsu6nL0306tUr63ZBG4QFMWeddZYpHI/StJxh5kscjz76qE2YMCHKbjZ79mzr2LFjpG3ZqHIECAjzq7XuHxdccEG1TggI8zNlbwQQQAABBBBAAAEEEEAAAQRqCkTNNFyX+52Z/df1QUYZHwFhFKXibHPnnXfaYYcdFngwvX/qxhtvzGsGlpbQmjJlihcWfv755/bUU08V5+Q4SkUJLFy40JvtVbMREFbUZeCd7K233mr/8z//E3ri+uKDllXWzLi6devmjKTr67rrrsu6jKmWG9USuLkeK6mAsOaJarlnOWRbYloharHeUZtzMdix6AIEhPmRb7nllrVWXCAgzM+UvRFAAAEEEEAAAQQQQAABBBCoKUBA6Ng1QUDoTkE6d+7szQzxa/vtt5+NGzcu5wfa7pwlI6kEAc2E+tOf/lTrVAkIK6H6//8ctYTmpptuWm3Wck0BhXVPPvmkt1RyUk1ffth+++1DZxNqaWUtsZxLK1RAmBmLvsAxZMiQwKFpGdOvv/7aGjVqlMvw2SelAgSEuRd23rx51rJly1odEBDmbsqeCCCAAAIIIIAAAggggAACCPgJEBA6dl0QELpRkB9/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99xzY401qY3nz59v+v3h13R/XLRokdWpUyepw4X2c+edd9phhx3mu42+4HH00UcnNo6w9/ptscUW9uabb4YeK2zmpWara3ZiUu2oo46y2267zbe7qAFhJd6vCh0QltP1mtS1SD8IIIAAAggggAACCCCAAAIIBAkQEDp2bRAQOlaQAg5nyZIl1qRJE98j6KGzHj4HtbCHhv369bMXXnihgCP/367DZkfccccdduihh+Y1hq+++spbCsyvERBGpw0LCL///ntr1qxZ9M4Ctvz0009NM6r8WrYl/+IevH///jZ16tRauyk0v/LKK7N2t2rVKi/00fXl1xS8NG/ePGs/5bZBkFvmPPS+tNatWxf8tC699FI766yzAo+TywzoQgWEGuTFF18cGp7OmTPHNt1004K7+R0gbLnMSZMmhS6RmuSAP/roI+vYsaNvl0n/PgoLd0455ZTAmbKZwYXNfO/UqZPp75Noerfn+uuvn/fSvpV4vwoLCB999FHbY4898ipROV2veZ0oOyOAAAIIIIAAAggggAACCCAQQYCAMAJSMTchICymdmmPlc/yYytXrvQe5ivM8GuPP/64DR48uKAnqPeE6YGsX5s4caLtuuuueR1fszn0DkK/RkAYnfaee+4xzUj1a1retlevXtE7C9iynAJCncKoUaPskksu8T2bUs4Ky7sQIR2MHz/e9t1338AttKyxtgl7r2i+43vxxRdNgVFQ22uvvezhhx+OfZhCBoSa8aiZzEGBsu5zut+Voml2mmap+bXevXublswsxixC/bulR48eppmqfu3pp582hZn5tp9//tkLY4NqESUU1e/Opk2bBgZ3SS0zGjbDXg5RZxBW4v0qbOau3h97/PHH53UpldP1mteJsjMCCCCAAAIIIIAAAggggAACEQQICCMgFXMTAsJiapfuWHrQ2bZt28CA7+WXX7Y+ffqEDjBsmVG98+ntt9+2unXrFuwk77vvPjvggAN8+7/uuuvshBNOyPnYYcvnqVMCwui0Ye8qmzBhgu29997ROwvYstwCwnfeecc222yzwPN+4403TO8HTVtTrfWexaCmpVf15YJ111038VP/z3/+Ywohw9rrr79uf/jDH2Ifu5ABoQaj0HKfffYJHNcDDzxgQ4YMiT3ufHdYsGBB6Lsa77//fttvv/3yPUyk/e+++2475JBDfLdVWPnqq69a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PvhAvfTSSwrvJXSvXr26+v333z27g+0WW2yhDjvssEDPpvfff19dc8016sUXXwysf86cOapq1apWfTXpaVVBjIW+/fZb9corr6jZs2ern376ybsXuZ8Zp9wj4NK5c2e14447emMv6IEYVw7CoLmErm644Yaqdu3a1r0uxviwVQ4ieerUqQrc/TmJMJvMc1WqVPHmJMI9cg9tv/32gaEfbdsqtBw6Tp482dPRv8+Zp/nYRk/ubcYwR+PGjdWmm26qOnbsaDX+sc24cePURRdd5I25fIGAZzzaCHjRvk4effRR1a9fv8CfFy9eHDimmBeC3jFq1Kih6tWrZ6OWc5nffvtN/fHHH4HXMe+vu+66znXaXEC7o0aNUv379w8sTmjMSy65xKYq7zlVp04dq7KmQuRB/PLLL735mTHHGOT5zTObZwsH448x16FDB7X55ptHbjOpCtJ6ZhRKEDLXcy3Pw7lz53q4c18wznl/a9CggTf/77DDDooclWlLKcyVaWMi7QkCgoAgEBcCQhDGhaRdPcUmCPneffPNN9Vbb73lnadPn26n+P+W4jts1113Vbvssot33mabbZyuT7uwEIRu60S8C+aOD97BXaRVq1aK9QB/fPD9Us4iBGG61pUQo+niLa2ZERCCMGMjRAjCbBkEEu++++6rpBREC4tN+cIi3y233KKuvfZa7YJo7jWEcmSRylVoe+jQod7hIuecc45HSkKERBUW+VnkzJUBAwaoO+64Y42qIUrPPPNMxeKorWy11VbqpJNO8rxw1l9/fdvLCiqH3SB0sfMzzzzjVAcL/vT7yCOPjI2AZVH7qKOOWkMPFjyDCANIvVNPPXUNewR1ZOzYserAAw/0foKwGj16tLrrrrucP6RMII0fP1717NnTCcc4C69YscKzJV5cn376qXXVEIW33nqr6tatW6VrevXqFUicErbw4Ycftq4/aC7hYj5EJ06caF1PWuPDWiGlFBsGwPu2224LDFGrqwvCGgKHD64kX0Z4rkJcPvbYY57NdISVTk9IXDzR0JfNFpB3ucK9OXz4cHXnnXc69T8MY/SEnAoSV4IQHSE9g4RnGhs4krABGz6YE4IEonannXYKg8Hpd+75e++9Vw0bNszpOlNhSKR33323oPqYZ3mu8LxmE4eL7LXXXur0009X++yzzxpjzqWeuMoW45nhShDyLL/yyivV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QhBmzJpCEGbMIKKOICAICAKCgCAgCAgCKSFgIgjffPNNtcsuu6SkiV0zJn3HjRun9ttvP7uKpJQgIAgIAoKAIBADAkIQxgBiilUIQSgEoRCEQhCmOOWUTVNCEJaNKTPTESEIM2OK/6+IEITZMsiff/6pfv3110pKrb/++qphw4ZaRefPn6/efvtt9d577yn+vXDhQlW1alX1+++/q0aNGqnGjRurpk2bqj322ENts802Ku2bkDH28ccfq7lz56pvv/1Wsbj31VdfqXXWWUetXr1aNW/e3NPv3//+t2rXrp3q2LFjrEYBk1WrVlWqs379+qp69eradtDvueeeUyRt/uGHHzxdwbV27dqqTp06qk2bNmr33XdX3bt3d9IVDL7++mvPTt9//713fPfdd+rHH39U6AQOm2yyiWrSpIl3xnabb765atCggVM7roUZd4wf9KG/nLEVejH2mjVrpjbbbDNPP46uXbsqxmXcEmQrMKhSpYq2KTDlwGazZ89WX375pWevpUuXqrp166p69ep59tphhx28sVWzZs241Y6lviyN09wO/f3332rq1KkV9+4333zjjWE+rrEL9y/3LuNi++239/6dtPz888+enefNm1dxHzFe+Zv7Gh04/HuIM38zjguVIPtwX1arVi2wyhUrVqjp06erSZMmqS+++EItWrRILViwwBuPK1eu9O5t7q3tttvOm5uZV9IW5sUPPvhAYdPc+Yh/gyNzD5j5eHbp0sW7p+KWoOdejRo1PKx0wvMNXBmLc+bM8Y7Fixer3377zbvHwROM0blTp06qRYsWiT/7ijG/B41LMNt0002t+2si3N59911v7swXnt2TJ0/2bIAO/nNj2bJlauONN/aeYZw7d+7sEYym563reEqbIMziHOiKmZQXBAQBQUAQSA4BIQiTwzaJmoUgFILQNK74Lpo4caJ66623FBvl+MZ0Eb45dt11V+/9l7PrtzHrGbTrt897touw7uG3v9tuuxnXEamX9a7c9n755ReX5lT79u0V7fj9NX2/BVX8ySefVGqf7zmRbCIgBGE27VLKWqXNTSSF1b/g1pKqPM16hSBME+3wtk455RR13333VSq4xRZbeIvh+cJi5LnnnqteeOGF8Ir/twQLdscdd5y64IILPEIqSWFRbfTo0eqmm25Sn376qXVTLCiec8456qCDDtIuvttWBvkG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BBBAAAEEEEAAAQQQQICAkD6AAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQBMJEBA2UWNzqAgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggQENIHEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEGgiAQLCJmpsDhUBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABAkL6AAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAJNJEBA2ESNzaEigAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggQEBIH0AAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECgiQQICJuosTlUBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBAgI6QMIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIINJEAAWETNTaHigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABIX0AAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgSYSICBsosbmUBFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBAgIKQPIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIINBEAgSETdTYHCoCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACBIT0AQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSaSICAsIkam0NFAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAgICQPoAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAEwkQEDZRY3OoCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCBAQ0gcQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQaCIBAsImamwOFQEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAECQvoAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAk0kQEDYRI3NoSKAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCBAQEgfQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQKCJBAgIm6ixOVQEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEECAjpAwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgg0kQABYRM1NoeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAEhfQABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBJhIgIGyixuZQEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEECAgpA8ggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg0EQCBIRN1NgcKgIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIEhPQBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBJpIgICwiRqbQ0UAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECAgJA+gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEATCRAQNlFjc6gIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIEBDSBxBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBoIgECwiZqbA4VAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQJC+gACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACTSRAQNhEjc2hIoAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAL/tz07JgAAAEAQ1r81QVgEp58ECDgIbYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDASMBBOCpbVAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIOQhsgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMBJwEI7KFpUAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAg9AGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIwEHISjskUlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg4CC0AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIjAQfhqGxRCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECAS0VvX1w8c1BwAAAABJRU5ErkJggg==',\n },\n];\nexport const defaultTemplates = [\n {\n image: ImageTemplate1,\n title: 'temp-name',\n elements: [\n {\n type: 'pageSize',\n id: 'element1744780067175',\n size: 'Ledger',\n },\n {\n id: 'element1744780116472',\n x: 134.58287570698877,\n y: 95.49999999999956,\n opacity: 1,\n type: 'text',\n draggable: true,\n text: 'Default Template 1',\n fontSize: 16,\n fontFamily: 'Open Sans',\n color: '#eee8e8',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 700,\n textAlign: 'left',\n fontVariant: 700,\n align: 'left',\n fill: '#eee8e8',\n visible: true,\n width: 172.92,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n skewX: 0,\n skewY: 0,\n offsetX: 0,\n offsetY: 0,\n },\n {\n type: 'backgroundColor',\n id: 'element1744780122624',\n color: '#7e1515',\n },\n ],\n },\n {\n image: ImageTemplate2,\n title: 'temp-name',\n elements: [\n {\n type: 'pageSize',\n id: 'element1744780067175',\n size: 'A4',\n },\n {\n id: 'element1744780116472',\n x: 134.58287570698877,\n y: 95.49999999999956,\n opacity: 1,\n type: 'text',\n draggable: true,\n text: 'Default Template 2',\n fontSize: 16,\n fontFamily: 'Open Sans',\n color: '#eee8e8',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 700,\n textAlign: 'left',\n fontVariant: 700,\n align: 'left',\n fill: '#eee8e8',\n visible: true,\n width: 172.92,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n skewX: 0,\n skewY: 0,\n offsetX: 0,\n offsetY: 0,\n },\n {\n type: 'backgroundColor',\n id: 'element1744780122624',\n color: '#7e1515',\n },\n ],\n },\n];\n\nexport const customTemplates = [\n {\n image: ImageCustomTemplate1,\n title: 'Custom temp-1',\n elements: [\n {\n type: 'pageSize',\n id: 'element1744780067175',\n size: 'A4',\n },\n {\n id: 'element1744780116472',\n x: 134.58287570698877,\n y: 95.49999999999956,\n opacity: 1,\n type: 'text',\n draggable: true,\n text: 'Custom Template 1',\n fontSize: 16,\n fontFamily: 'Open Sans',\n color: '#eee8e8',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 700,\n textAlign: 'left',\n fontVariant: 700,\n align: 'left',\n fill: '#eee8e8',\n visible: true,\n width: 172.92,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n skewX: 0,\n skewY: 0,\n offsetX: 0,\n offsetY: 0,\n },\n {\n type: 'backgroundColor',\n id: 'element1744780122624',\n color: '#7e1515',\n },\n ],\n },\n {\n image: ImageCustomTemplate2,\n title: 'Custom2',\n elements: [\n {\n type: 'pageSize',\n id: 'element1744780067175',\n size: 'A4',\n },\n {\n id: 'element1744780116472',\n x: 134.58287570698877,\n y: 95.49999999999956,\n opacity: 1,\n type: 'text',\n draggable: true,\n text: 'Custom Template 2',\n fontSize: 16,\n fontFamily: 'Open Sans',\n color: '#eee8e8',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 700,\n textAlign: 'left',\n fontVariant: 700,\n align: 'left',\n fill: '#eee8e8',\n visible: true,\n width: 172.92,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n skewX: 0,\n skewY: 0,\n offsetX: 0,\n offsetY: 0,\n },\n {\n type: 'backgroundColor',\n id: 'element1744780122624',\n color: '#7e1515',\n },\n ],\n },\n];\n\nexport const normalFonts = [\n 'Open Sans',\n 'Roboto',\n 'Lato',\n 'Montserrat',\n 'Source Sans Pro',\n 'Inter',\n 'Raleway',\n 'Poppins',\n 'Merriweather',\n 'Noto Sans',\n 'Work Sans',\n 'Ubuntu',\n 'Nunito',\n 'Playfair Display',\n 'DM Sans',\n 'PT Sans',\n 'Quicksand',\n 'Baloo 2',\n 'Amatic SC',\n 'Plus Jakarta Sans',\n 'Rubik',\n 'Oswald',\n 'Kalam',\n 'Caveat',\n];\nexport const funkyFonts = [\n 'Open Sans Condensed',\n 'Lobster',\n 'Pacifico',\n 'Bangers',\n 'Shadows Into Light',\n 'Indie Flower',\n 'Fredericka the Great',\n 'Chewy',\n 'Coming Soon',\n 'Gloria Hallelujah',\n 'Luckiest Guy',\n 'Patrick Hand',\n 'Rock Salt',\n 'Architects Daughter',\n 'Boogaloo',\n 'Concert One',\n 'Courgette',\n 'Great Vibes',\n 'Handlee',\n 'Mansalva',\n 'Satisfy',\n 'Special Elite',\n 'Titan One',\n];\n\nexport const fontFamilies = [...normalFonts, ...funkyFonts];\n","/* eslint-disable max-len */\n\nimport enTranslations from '@/assets/locales/en.json'; // English\nimport ruTranslations from '@/assets/locales/ru.json'; // Russian\nimport plTranslations from '@/assets/locales/pl.json'; // Polish\nimport deTranslations from '@/assets/locales/de.json'; // German\nimport esTranslations from '@/assets/locales/es.json'; // Spanish\nimport frTranslations from '@/assets/locales/fr.json'; // French\nimport itTranslations from '@/assets/locales/it.json'; // Italian\nexport const SUPPPORTED_LOCALES = ['en', 'ru', 'pl', 'de', 'es', 'fr', 'it'];\nexport const TEXT_DICTIONARY = {\n en: enTranslations,\n ru: ruTranslations,\n pl: plTranslations,\n de: deTranslations,\n es: esTranslations,\n fr: frTranslations,\n it: itTranslations,\n};\n","import React, { useCallback, useMemo } from 'react';\nimport { propTypes } from './props';\nimport { SideBarWrapper } from './styled';\nimport { SideBarPill } from '../SideBarPill';\nimport { IconImage, IconQrCode, IconShape, IconTemplate, IconText, IconWhiteLabel } from '@/assets';\nimport { sideBarpillsList } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\nexport const SideBar = ({\n selectedSideBarItem,\n onClickPill = () => {},\n disableWhiteLabel,\n styleProps,\n languageLocale,\n}) => {\n const sideBarItems = [\n {\n id: sideBarpillsList.template,\n text: TEXT_DICTIONARY?.[languageLocale]?.TEMPLATE,\n icon: IconTemplate,\n },\n {\n id: sideBarpillsList.text,\n text: TEXT_DICTIONARY?.[languageLocale]?.TEXT,\n icon: IconText,\n },\n {\n id: sideBarpillsList.image,\n text: TEXT_DICTIONARY?.[languageLocale]?.IMAGE,\n icon: IconImage,\n },\n {\n id: sideBarpillsList.shape,\n text: TEXT_DICTIONARY?.[languageLocale]?.SHAPE,\n icon: IconShape,\n },\n {\n id: sideBarpillsList.qr,\n text: TEXT_DICTIONARY?.[languageLocale]?.QR,\n icon: IconQrCode,\n },\n {\n id: sideBarpillsList.whiteLabel,\n text: TEXT_DICTIONARY?.[languageLocale]?.WHITE_LABEL,\n icon: IconWhiteLabel,\n },\n ];\n const onClickSinglePill = useCallback(\n e => {\n onClickPill(e);\n },\n [onClickPill],\n );\n\n const renderPills = useMemo(\n () =>\n sideBarItems?.map(item => {\n if (item?.id === sideBarpillsList?.whiteLabel && disableWhiteLabel) {\n return null;\n }\n return (\n <SideBarPill\n key={item?.id}\n id={item?.id}\n isSelected={selectedSideBarItem === item?.id}\n onClick={() => onClickSinglePill(item?.id)}\n icon={item?.icon}\n text={item?.text}\n languageLocale={languageLocale}\n pillActiveColor={styleProps?.primaryColor}\n />\n );\n }),\n [selectedSideBarItem, onClickSinglePill, languageLocale],\n );\n\n return <SideBarWrapper>{renderPills}</SideBarWrapper>;\n};\n\nSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n selectedTab: PropTypes.string,\n languageLocale: PropTypes.string,\n title: PropTypes.string,\n zoomPercentage: PropTypes.number,\n onChangeZoomPercentage: PropTypes.func,\n editorHeight: PropTypes.number,\n editorWidth: PropTypes.number,\n onSetBackgroundColor: PropTypes.func,\n elements: PropTypes.array,\n history: PropTypes.array,\n redoStack: PropTypes.array,\n onSetBackgroundImage: PropTypes.func,\n onUndo: PropTypes.func,\n onRedo: PropTypes.func,\n shapeStrokeColor: PropTypes.string,\n shapeStrokeWidth: PropTypes.number,\n shapeFillColor: PropTypes.string,\n onChangeShapeStrokeColor: PropTypes.func,\n onChangeShapeStrokeWidth: PropTypes.func,\n onChangeShapeFill: PropTypes.func,\n shapeOpacity: PropTypes.number,\n onChangeShapeOpacity: PropTypes.func,\n selectedElement: PropTypes.object,\n onSelectElement: PropTypes.func,\n stageRef: PropTypes.object,\n saveHistory: PropTypes.func,\n onChangeBackgroundImageOpacity: PropTypes.func,\n backgroundImageOpacity: PropTypes.number,\n onDeleteSelectedElement: PropTypes.func,\n onCopySelectedElement: PropTypes.func,\n onToggleLockElement: PropTypes.func,\n bringSelectedElementToFront: PropTypes.func,\n sendSelectedElementToBack: PropTypes.func,\n imageStrokeWidth: PropTypes.number,\n imageStrokeColor: PropTypes.string,\n imageOpacity: PropTypes.number,\n onChangeImageStrokeWidth: PropTypes.func,\n onChangeImageStrokeColor: PropTypes.func,\n onChangeImageOpacity: PropTypes.func,\n qrStrokeWidth: PropTypes.number,\n qrStrokeColor: PropTypes.string,\n qrOpacity: PropTypes.number,\n onChangeQrStrokeWidth: PropTypes.func,\n onChangeQrStrokeColor: PropTypes.func,\n onChangeQrOpacity: PropTypes.func,\n defaultTextProps: PropTypes.object,\n onChangeTextProperty: PropTypes.func,\n onSetPageSize: PropTypes.func,\n selectedPageSize: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n loadingImages: PropTypes.bool,\n loadingFonts: PropTypes.bool,\n uploadImageCallBack: PropTypes.func,\n setLoadingUploadImage: PropTypes.func,\n cuttingGuideStroke: PropTypes.number,\n cuttingGuideStrokeColor: PropTypes.string,\n onChangeCuttingGuideProp: PropTypes.func,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\nimport EditorBg from '@/assets/images/small-dots.png';\n\nexport const Container = styled.div`\n flex: 1;\n display: flex;\n background-color: ${theme.color.white_F7F7F7};\n background-image: ${({ selectedTab }) => (selectedTab ? 'none' : `url(${EditorBg})`)};\n position: relative;\n flex-direction: column;\n overflow: hidden;\n`;\n\nexport const InnerContainer = styled.div`\n // display: flex;\n // flex-direction: column;\n // overflow: auto;\n // flex: 1;\n // align-items: center;\n // justify-content: center;\n // flex-grow: 1;\n // background: green;\n // // min-height: 100px;\n\n display: grid;\n place-items: center;\n overflow: auto;\n flex: 1;\n position: relative;\n`;\n\nexport const InnerContainerWrapper = styled.div`\n display: flex;\n flex-direction: column;\n overflow: auto;\n flex: 1;\n justify-content: center;\n min-height: ${({ editorHeight }) => editorHeight || 500}px;\n height: ${({ editorHeight }) => editorHeight || 500}px;\n min-width: ${({ editorWidth }) => editorWidth || 400}px;\n width: ${({ editorWidth }) => editorWidth || 400}px;\n`;\n\nexport const Title = styled.p`\n border: 1px solid ${theme.color.gray_E8E8E8};\n align-self: flex-start;\n font-size: 14px;\n font-family: ${theme.fonts.primary};\n font-weight: ${theme.fontWeights[300]};\n color: ${theme.color.gray_7A7979};\n padding: 0 6px;\n border-bottom-width: 0;\n`;\n\nexport const EditorBox = styled.div`\n height: ${({ editorHeight }) => editorHeight || 470}px;\n width: ${({ editorWidth }) => editorWidth || 350}px;\n min-height: ${({ editorHeight }) => editorHeight || 470}px;\n min-width: ${({ editorWidth }) => editorWidth || 350}px;\n background: ${theme.color.gray_25};\n box-shadow: 1.317px 1.317px 1.317px 0px rgba(0, 0, 0, 0.08);\n // transition: all 0.1s ease-in-out;\n overflow: hidden;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n selectedTab: PropTypes.string,\n onSetBackgroundColor: PropTypes.func,\n canvasBackgroundColor: PropTypes.string,\n canvasBackgroundImage: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n onSetBackgroundImage: PropTypes.func,\n shapeStrokeColor: PropTypes.string,\n shapeStrokeWidth: PropTypes.number,\n shapeFillColor: PropTypes.string,\n shapeOpacity: PropTypes.number,\n onChangeShapeStrokeColor: PropTypes.func,\n onChangeShapeStrokeWidth: PropTypes.func,\n onChangeShapeFill: PropTypes.func,\n onChangeShapeOpacity: PropTypes.func,\n selectedElement: PropTypes.object,\n onChangeBackgroundImageOpacity: PropTypes.func,\n backgroundImageOpacity: PropTypes.number,\n imageStrokeWidth: PropTypes.number,\n imageStrokeColor: PropTypes.string,\n imageOpacity: PropTypes.number,\n onChangeImageStrokeWidth: PropTypes.func,\n onChangeImageStrokeColor: PropTypes.func,\n onChangeImageOpacity: PropTypes.func,\n qrStrokeWidth: PropTypes.number,\n qrStrokeColor: PropTypes.string,\n qrOpacity: PropTypes.number,\n onChangeQrStrokeWidth: PropTypes.func,\n onChangeQrStrokeColor: PropTypes.func,\n onChangeQrOpacity: PropTypes.func,\n defaultTextProps: PropTypes.object,\n onChangeTextProperty: PropTypes.func,\n onSetPageSize: PropTypes.func,\n selectedPageSize: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n translation: PropTypes.object,\n uploadImageCallBack: PropTypes.func,\n setLoadingUploadImage: PropTypes.func,\n cuttingGuideStroke: PropTypes.number,\n cuttingGuideStrokeColor: PropTypes.string,\n onChangeCuttingGuideProp: PropTypes.func,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const ToolBarWrapper = styled.div`\n display: flex;\n padding: 10px 30px;\n align-items: center;\n border-bottom: 1px solid ${theme.color.gray_EAEAEA};\n background: ${theme.color.white};\n flex-direction: row;\n opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};\n // pointer-events: ${({ disabled }) => (disabled ? 'none' : 'all')};\n position: relative;\n // overflow: auto;\n`;\nexport const OverlayBlocker = styled.div`\n height: 100%;\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n background: rgba(255, 255, 255, 0.1);\n z-index: 100;\n cursor: not-allowed;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onSetBackgroundColor: PropTypes.func,\n canvasBackgroundColor: PropTypes.string,\n onSetBackgroundImage: PropTypes.func,\n backgroundImageOpacity: PropTypes.number,\n onChangeBackgroundImageOpacity: PropTypes.func,\n onSetPageSize: PropTypes.func,\n selectedPageSize: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n languageLocale: PropTypes.string,\n uploadImageCallBack: PropTypes.func,\n setLoadingUploadImage: PropTypes.func,\n cuttingGuideStroke: PropTypes.number,\n cuttingGuideStrokeColor: PropTypes.string,\n onChangeCuttingGuideProp: PropTypes.func,\n};\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n height: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingTop: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingBottom: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingLeft: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingRight: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n children: PropTypes.node,\n marginLeft: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n marginRight: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n justifyContent: PropTypes.string,\n gap: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n onClick: PropTypes.func,\n disabled: PropTypes.bool,\n tooltip: PropTypes.string,\n tooltipPosition: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n border: 1px solid ${theme.color.gray_200};\n border-radius: 8px;\n background-color: ${theme.color.white};\n height: ${({ height = 40 }) => `${height}px`};\n margin-left: ${({ marginLeft = 0 }) => `${marginLeft}px`};\n margin-right: ${({ marginRight = 12 }) => `${marginRight}px`};\n display: flex;\n align-items: center;\n justify-content: ${({ justifyContent = 'center' }) => justifyContent};\n padding-top: ${({ paddingTop = 0 }) => `${paddingTop}px`};\n padding-right: ${({ paddingRight = 10 }) => `${paddingRight}px`};\n padding-bottom: ${({ paddingBottom = 0 }) => `${paddingBottom}px`};\n padding-left: ${({ paddingLeft = 10 }) => `${paddingLeft}px`};\n cursor: ${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};\n gap: ${({ gap = 0 }) => `${gap}px`};\n opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};\n pointer-events: ${({ disabled }) => (disabled ? 'none' : 'all')};\n position: relative;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n children: PropTypes.node,\n text: PropTypes.string,\n position: PropTypes.oneOf(['top', 'bottom', 'left', 'right']),\n disabled: PropTypes.bool,\n};\n","import styled, { css } from 'styled-components';\nimport theme from '@/theme';\n\nexport const Wrapper = styled.div`\n position: relative;\n display: inline-block;\n cursor: ${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};\n`;\n\nexport const TooltipText = styled.div`\n visibility: hidden;\n background-color: rgba(0, 0, 0, 0.7);\n color: white;\n text-align: center;\n padding: 4px 10px;\n border-radius: 4px;\n position: absolute;\n z-index: 9999;\n white-space: nowrap;\n opacity: 0;\n transition: all 0.1s;\n font-size: 13px;\n font-family: ${theme.fonts.primary};\n font-weight: ${theme.fontWeights[400]};\n\n ${({ position }) =>\n position === 'top' &&\n css`\n bottom: 110%;\n left: 50%;\n transform: translateX(-50%);\n `}\n ${({ position }) =>\n position === 'right' &&\n css`\n top: 50%;\n left: 105%;\n transform: translateY(-50%);\n `}\n ${({ position }) =>\n position === 'bottom' &&\n css`\n top: 110%;\n left: 50%;\n transform: translateX(-50%);\n `}\n ${({ position }) =>\n position === 'left' &&\n css`\n top: 50%;\n right: 105%;\n transform: translateY(-50%);\n `}\n\n ${Wrapper}:hover & {\n visibility: visible;\n opacity: 1;\n }\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { TooltipText, Wrapper } from './styled';\n\nexport const Tooltip = ({ children, text, position = 'top', disabled = false }) => (\n <Wrapper disabled={disabled}>\n {children}\n {!disabled && <TooltipText position={position}>{text}</TooltipText>}\n </Wrapper>\n);\n\nTooltip.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { StyledContainer } from './styled';\nimport { Tooltip } from '../Tooltip';\n\nexport const ToolBarButtonWrapper = ({\n height,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n children,\n marginLeft,\n marginRight,\n justifyContent,\n gap,\n onClick,\n disabled = false,\n tooltip,\n tooltipPosition,\n}) => (\n <Tooltip text={tooltip} position={tooltipPosition} disabled={disabled}>\n <StyledContainer\n height={height}\n paddingTop={paddingTop}\n paddingBottom={paddingBottom}\n paddingLeft={paddingLeft}\n paddingRight={paddingRight}\n marginLeft={marginLeft}\n marginRight={marginRight}\n justifyContent={justifyContent}\n gap={gap}\n onClick={() => {\n if (disabled) {\n return;\n }\n onClick && onClick();\n }}\n disabled={disabled}\n >\n {children}\n </StyledContainer>\n </Tooltip>\n);\n\nToolBarButtonWrapper.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n left: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n right: PropTypes.bool,\n center: PropTypes.bool,\n gap: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingLeft: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingRight: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n list: PropTypes.array,\n onSelect: PropTypes.func,\n fontPicker: PropTypes.any,\n tooltip: PropTypes.string,\n};\n","import styled from 'styled-components';\n\nexport const DropDownItem = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const IconWrapper = styled.img`\n object-fit: contain;\n`;\n\nexport const DropDownList = styled.div`\n position: absolute;\n left: 0;\n top: 50;\n background-color: white;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n border-radius: 4px;\n margin-top: 5px;\n z-index: 10;\n width: 100%;\n max-height: 200px;\n overflow-y: auto;\n z-index: 9999;\n`;\n\n// Individual option in the dropdown\nexport const DropDownOption = styled.div`\n padding: 8px 16px;\n cursor: pointer;\n font-size: 14px;\n color: #333333;\n &:hover {\n background-color: #f0f0f0;\n }\n &:active {\n background-color: #e0e0e0;\n }\n`;\n","import React, { useEffect, useRef, useState } from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { IconDropDown } from '@/assets';\nimport { DropDownItem, DropDownList, DropDownOption, IconWrapper } from './styled';\nimport theme from '@/theme';\n\nexport const DropDown = ({\n left,\n right,\n center,\n gap,\n paddingLeft,\n paddingRight,\n list,\n onSelect,\n fontPicker,\n tooltip,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const dropdownRef = useRef(null);\n\n useEffect(() => {\n const handleClickOutside = event => {\n if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {\n setIsOpen(false);\n }\n };\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n\n const handleSelect = item => {\n onSelect(item);\n setIsOpen(false);\n };\n\n return (\n <div\n ref={dropdownRef}\n style={{\n position: 'relative',\n }}\n onClick={() => {\n setIsOpen(true);\n }}\n >\n <ToolBarButtonWrapper\n justifyContent={center ? 'space-between' : 'center'}\n gap={gap}\n paddingLeft={paddingLeft}\n paddingRight={paddingRight}\n tooltip={tooltip}\n tooltipPosition={'bottom'}\n >\n <DropDownItem>{left}</DropDownItem>\n <DropDownItem>{center}</DropDownItem>\n <DropDownItem>{right ? right : <IconWrapper src={IconDropDown} />}</DropDownItem>\n </ToolBarButtonWrapper>\n {isOpen && (\n <DropDownList>\n {list?.map((item, index) => (\n <DropDownOption\n key={index}\n onClick={e => {\n handleSelect(item);\n e?.stopPropagation();\n }}\n style={{\n padding: '8px 16px',\n cursor: 'pointer',\n borderBottom: index !== list.length - 1 ? '1px solid #eee' : 'none',\n fontFamily: fontPicker ? item : theme.fonts.primary,\n }}\n >\n {item}\n </DropDownOption>\n ))}\n </DropDownList>\n )}\n </div>\n );\n};\n\nDropDown.propTypes = propTypes;\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Label = styled.p`\n color: ${theme.color.gray_700};\n font-size: 14px;\n font-weight: ${theme.fontWeights[400]};\n font-family: ${theme.fonts.primary};\n`;\n\nexport const RowContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n gap: 2px;\n`;\n\nexport const RemoveButton = styled.div`\n height: 20px;\n width: 20px;\n border-radius: 20px;\n position: absolute;\n right: -7px;\n top: -7px;\n background: #ff4d4d;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n backgroundColor: PropTypes.string,\n onChange: PropTypes.func,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\n\nexport const Box = styled.input.attrs({ type: 'color' })`\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: 22px;\n height: 22px;\n border: none;\n border-radius: 4px;\n border: 1px solid ${theme.color.gray_CCC};\n padding: 0;\n cursor: pointer;\n &::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n\n &::-webkit-color-swatch {\n border: none;\n border-radius: 4px;\n }\n\n &::-moz-color-swatch {\n border: none;\n border-radius: 4px;\n }\n`;\n","import React, { useEffect, useState } from 'react';\nimport { propTypes } from './props';\nimport { Box } from './styled';\n\nexport const ColorBox = ({ backgroundColor, onChange }) => {\n const [color, setColor] = useState('');\n\n useEffect(() => {\n const handler = setTimeout(() => {\n if (!color) {\n return;\n }\n onChange(color);\n }, 200);\n\n return () => clearTimeout(handler);\n }, [color]);\n\n const onChangeColor = e => {\n setColor(e.target.value);\n };\n\n return <Box value={backgroundColor} onChange={onChangeColor} />;\n};\n\nColorBox.propTypes = propTypes;\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StyledImage = styled.img`\n width: ${({ width }) => width + 'px' || 'auto'};\n height: ${({ height }) => height + 'px' || 'auto'};\n max-width: ${({ maxWidth }) => maxWidth + 'px' || 'auto'};\n max-height: ${({ maxHeight }) => maxHeight + 'px' || 'auto'};\n object-fit: ${({ objectFit }) => objectFit || 'contain'};\n margin-top: ${({ marginTop = 0 }) => `${marginTop}px`};\n margin-right: ${({ marginRight = 0 }) => `${marginRight}px`};\n margin-bottom: ${({ marginBottom = 0 }) => `${marginBottom}px`};\n margin-left: ${({ marginLeft = 0 }) => `${marginLeft}px`};\n padding-top: ${({ paddingTop = 0 }) => `${paddingTop}px`};\n padding-right: ${({ paddingRight = 0 }) => `${paddingRight}px`};\n padding-bottom: ${({ paddingBottom = 0 }) => `${paddingBottom}px`};\n padding-left: ${({ paddingLeft = 0 }) => `${paddingLeft}px`};\n border-radius: ${({ borderRadius = 0 }) => `${borderRadius}px`};\n`;\nexport const StyledText = styled.p`\n font-family: ${({ fontFamily }) => fontFamily || theme.fonts.primary};\n font-size: ${({ fontSize = 14 }) => `${fontSize}px`};\n color: ${({ color }) => color || theme.color.gray_700};\n font-weight: ${({ fontWeight = 400 }) => fontWeight};\n line-height: ${({ lineHeight }) => lineHeight || 'normal'};\n text-align: ${({ textAlign }) => textAlign || 'left'};\n margin-top: ${({ marginTop = 0 }) => `${marginTop}px`};\n margin-right: ${({ marginRight = 0 }) => `${marginRight}px`};\n margin-bottom: ${({ marginBottom = 0 }) => `${marginBottom}px`};\n margin-left: ${({ marginLeft = 0 }) => `${marginLeft}px`};\n padding-top: ${({ paddingTop = 0 }) => `${paddingTop}px`};\n padding-right: ${({ paddingRight = 0 }) => `${paddingRight}px`};\n padding-bottom: ${({ paddingBottom = 0 }) => `${paddingBottom}px`};\n padding-left: ${({ paddingLeft = 0 }) => `${paddingLeft}px`};\n`;\n","import { elementTypes, fontFamilies } from '@/constants';\nimport { SUPPPORTED_LOCALES } from '@/constants/textConstants';\n\nexport const calculatePercentageValue = (value, percentage) => {\n return (value * percentage) / 100;\n};\nexport const getPercentage = (part, whole) => {\n if (whole === 0) return 0;\n return (part / whole) * 100;\n};\nexport const pickImage = () => {\n return new Promise((resolve, reject) => {\n const input = document.createElement('input');\n input.type = 'file';\n input.accept = 'image/*';\n input.style.display = 'none';\n\n input.addEventListener('change', event => {\n if (event.target.files.length > 0) {\n resolve(event.target.files[0]);\n } else {\n reject(new Error('No file selected'));\n }\n });\n\n input.click();\n });\n};\n\nexport const isElementShape = elem => {\n if (\n elem?.type === elementTypes?.circle ||\n elem?.type === elementTypes?.arrowRight ||\n elem?.type === elementTypes?.heart ||\n elem?.type === elementTypes?.horizontalLine ||\n elem?.type === elementTypes?.square ||\n elem?.type === elementTypes?.star ||\n elem?.type === elementTypes?.triangle ||\n elem?.type === elementTypes?.verticalLine\n ) {\n return true;\n } else {\n return false;\n }\n};\nexport const isElementOfSameType = (elem, type) => {\n if (elem && elem?.type === type) {\n return true;\n } else {\n return false;\n }\n};\n\nexport const debounce = (func, delay) => {\n let timeoutId;\n\n return function (...args) {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => {\n func.apply(this, args);\n }, delay);\n };\n};\n\nexport const sanitizeNumber = (value, defaultValue = 0, precision = 2) => {\n const num = parseFloat(value);\n if (isNaN(num)) return defaultValue;\n return parseFloat(num.toFixed(precision));\n};\n\nexport const loadAllGoogleFonts = () => {\n const weights = [400, 700];\n const italics = [0, 1];\n\n const fontParams = fontFamilies.map(font => {\n const fontName = font.replace(/ /g, '+');\n const variantStr = italics\n .map(ital => weights.map(w => `${ital},${w}`).join(';'))\n .join(';');\n return `family=${fontName}:ital,wght@${variantStr}`;\n });\n\n const fontURL = `https://fonts.googleapis.com/css2?${fontParams.join('&')}&display=swap`;\n\n return new Promise((resolve, reject) => {\n try {\n if (!document.querySelector(`link[href=\"${fontURL}\"]`)) {\n const link = document.createElement('link');\n link.href = fontURL;\n link.rel = 'stylesheet';\n document.head.appendChild(link);\n }\n\n const loadPromises = [];\n fontFamilies.forEach(font => {\n weights.forEach(weight => {\n italics.forEach(ital => {\n loadPromises.push(\n document.fonts.load(\n `${ital ? 'italic' : 'normal'} ${weight} 16px \"${font}\"`,\n ),\n );\n });\n });\n });\n\n Promise.all(loadPromises)\n .then(() => resolve(`✅ All ${fontFamilies?.length} fonts loaded`))\n .catch(err => reject(err));\n } catch (err) {\n reject(err);\n }\n });\n};\nexport const preloadRelevantImages = async (elements = []) => {\n const imagePromises = elements\n ?.map(elem => {\n let src = null;\n\n if (elem?.type === 'image' || elem?.type === 'backgroundImage') {\n src = elem?.src;\n } else if (elem?.type === 'qr') {\n src = elem?.qrLogo;\n }\n\n if (!src) return null;\n\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onload = () => resolve({ src, success: true });\n img.onerror = () => reject({ src, success: false });\n img.src = src;\n });\n })\n .filter(Boolean);\n\n return Promise?.allSettled(imagePromises).then(results => {\n const successes = results?.filter(r => r?.status === 'fulfilled').map(r => r?.value);\n\n const errors = results?.filter(r => r?.status === 'rejected').map(r => r?.reason);\n\n return { successes, errors };\n });\n};\nexport const removeImageProperty = (elements = []) => {\n return elements.map(elem => {\n if ('image' in elem) {\n // eslint-disable-next-line no-unused-vars\n const { image, ...rest } = elem;\n return rest;\n }\n return elem;\n });\n};\n\nexport const exportStageAsImage = async (stageRef, pageSizeKey, scale = 2) => {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n try {\n const stage = stageRef?.current;\n if (!stage) {\n return reject('Stage is not available');\n }\n\n // Create a canvas with the scale factor\n const canvas = await stage.toCanvas({ pixelRatio: scale });\n\n // Convert canvas to data URL\n const dataURL = await canvas.toDataURL('image/png');\n\n // Return the data URL as the resolved value\n resolve(dataURL);\n } catch (error) {\n reject(error);\n }\n });\n};\n\nexport const validateLocale = locale => {\n if (SUPPPORTED_LOCALES.includes(locale)) {\n return locale;\n } else {\n return 'en';\n }\n};\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n value: PropTypes.number,\n onChangeOpacity: PropTypes.func,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n pickerWidth: PropTypes.number,\n leftChild: PropTypes.node,\n rightChild: PropTypes.node,\n gap: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n showLeftChild: PropTypes.bool,\n varient: PropTypes.string,\n fontFamily: PropTypes.string,\n tooltip: PropTypes.string,\n tooltipPosition: PropTypes.string,\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport theme from '@/theme';\nimport { IconOpacity } from '@/assets';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const OpacityPicker = ({\n value = 1,\n onChangeOpacity,\n min = 0,\n max = 1,\n step = 0.1,\n pickerWidth = 100,\n leftChild,\n rightChild,\n gap = 12,\n showLeftChild = true,\n varient = 'opacity',\n fontFamily = theme.fonts.secondary,\n languageLocale = 'en',\n tooltip = TEXT_DICTIONARY?.[languageLocale]?.OPACITY,\n tooltipPosition = 'bottom',\n}) => {\n const pickerRef = useRef(null);\n\n const [opacityPickerVisible, setOpacityPickerVisible] = useState(false);\n useEffect(() => {\n const handleClickOutside = event => {\n if (pickerRef.current && !pickerRef.current.contains(event.target)) {\n setOpacityPickerVisible(false);\n }\n };\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n\n return (\n <div\n ref={pickerRef}\n style={{\n position: 'relative',\n }}\n onClick={() => {\n setOpacityPickerVisible(true);\n }}\n >\n <ToolBarButtonWrapper gap={gap} tooltip={tooltip} tooltipPosition={tooltipPosition}>\n {showLeftChild && (leftChild ? leftChild : <StyledImage src={IconOpacity} />)}\n <StyledText fontFamily={fontFamily}>\n {varient === 'opacity' ? `${value * 100}%` : value}\n </StyledText>\n {rightChild && rightChild}\n </ToolBarButtonWrapper>\n {opacityPickerVisible && (\n <div\n style={{\n position: 'absolute',\n bottom: -50,\n background: 'white',\n padding: 10,\n borderRadius: 5,\n border: 'solid 1px rgba(0,0,0,0.1)',\n zIndex: 9999,\n }}\n >\n <input\n type=\"range\"\n min={min}\n max={max}\n step={step}\n value={value}\n onChange={e => {\n onChangeOpacity(Number(e.target.value));\n }}\n style={{ width: pickerWidth }}\n />\n </div>\n )}\n </div>\n );\n};\n\nOpacityPicker.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n value: PropTypes.number,\n strokeColor: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n onChangeStrokeWidth: PropTypes.func,\n onChangeShapeStrokeColor: PropTypes.func,\n pickerWidth: PropTypes.number,\n languageLocale: PropTypes.string,\n tooltip: PropTypes.string,\n leftIcon: PropTypes.elementType,\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconGrid } from '@/assets';\nimport theme from '@/theme';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const StrokePicker = ({\n value,\n strokeColor,\n min = 0,\n max = 30,\n step = 1,\n onChangeStrokeWidth,\n onChangeShapeStrokeColor,\n pickerWidth = 100,\n languageLocale = 'en',\n tooltip = TEXT_DICTIONARY?.[languageLocale]?.STROKE_WIDTH_AND_COLOR,\n leftIcon = IconGrid,\n}) => {\n const pickerRef = useRef(null);\n const [strokePickerVisible, setStrokePickerVisible] = useState(false);\n const [color, setColor] = useState('');\n\n useEffect(() => {\n const handler = setTimeout(() => {\n if (!color) {\n return;\n }\n onChangeShapeStrokeColor(color);\n }, 200);\n\n return () => clearTimeout(handler);\n }, [color]);\n\n const onChangeColor = e => {\n setColor(e.target.value);\n };\n useEffect(() => {\n const handleClickOutside = event => {\n if (pickerRef.current && !pickerRef.current.contains(event.target)) {\n setStrokePickerVisible(false);\n }\n };\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n\n return (\n <div\n style={{\n position: 'relative',\n }}\n ref={pickerRef}\n >\n <ToolBarButtonWrapper gap={12} tooltip={tooltip} tooltipPosition={'bottom'}>\n <StyledImage src={leftIcon} />\n <StyledText\n fontFamily={theme.fonts.secondary}\n // marginRight={10}\n paddingRight={10}\n onClick={() => {\n setStrokePickerVisible(true);\n }}\n >\n {value}\n </StyledText>\n <div\n style={{\n height: 22,\n width: 22,\n borderRadius: 4,\n background: theme.color.gray_EFEFEF,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n }}\n >\n <input\n type=\"color\"\n value={strokeColor}\n onChange={onChangeColor}\n style={{\n width: '100%',\n height: '100%',\n border: 'none',\n cursor: 'pointer',\n opacity: 0,\n }}\n />\n <div\n style={{\n height: 13,\n width: 1,\n backgroundColor: strokeColor,\n transform: 'rotate(38deg)',\n position: 'absolute',\n pointerEvents: 'none',\n }}\n />\n </div>\n </ToolBarButtonWrapper>\n {strokePickerVisible && (\n <div\n style={{\n position: 'absolute',\n bottom: -50,\n background: 'white',\n padding: 10,\n borderRadius: 5,\n border: 'solid 1px rgba(0,0,0,0.1)',\n zIndex: 9999,\n }}\n >\n <input\n type=\"range\"\n min={min}\n max={max}\n step={step}\n value={value}\n onChange={e => {\n onChangeStrokeWidth(Number(e.target.value));\n }}\n style={{ width: pickerWidth }}\n />\n </div>\n )}\n </div>\n );\n};\n\nStrokePicker.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { DropDown } from '../DropDown';\nimport { Label, RemoveButton, RowContainer } from './styled';\nimport {\n IconBackgroundColor,\n IconBackgroundImage,\n IconBackgroundImageOpacity,\n IconCross,\n IconDropDownSmall,\n IconFrame,\n} from '@/assets';\nimport theme from '@/theme';\nimport { ColorBox } from '../ColorBox';\nimport { StyledImage } from '@/generic/Styled';\nimport { pickImage } from '@/utils';\nimport { OpacityPicker } from '../OpacityPicker';\nimport { pageSizes } from '@/constants/layoutConstants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\nimport { StrokePicker } from '../StrokePicker';\n\nexport const TemplateToolBar = ({\n onSetBackgroundColor,\n canvasBackgroundColor,\n onSetBackgroundImage,\n backgroundImageOpacity,\n onChangeBackgroundImageOpacity,\n onSetPageSize,\n selectedPageSize,\n languageLocale,\n uploadImageCallBack,\n setLoadingUploadImage,\n cuttingGuideStroke,\n cuttingGuideStrokeColor,\n onChangeCuttingGuideProp,\n canvasBackgroundImage,\n onRemoveBackgroundImage,\n}) => {\n const selectBackgroundColor = e => {\n onSetBackgroundColor(e);\n };\n const handleBackgroundUpload = async () => {\n const file = await pickImage();\n if (!file) return;\n if (uploadImageCallBack) {\n setLoadingUploadImage(true);\n const imageUrl = await uploadImageCallBack(file);\n onSetBackgroundImage(imageUrl);\n setLoadingUploadImage(false);\n } else {\n const reader = new FileReader();\n reader.onload = () => {\n onSetBackgroundImage(reader.result);\n };\n reader.readAsDataURL(file);\n }\n };\n\n return (\n <RowContainer>\n <DropDown\n gap={20}\n left={<Label>{selectedPageSize}</Label>}\n list={Object.keys(pageSizes)}\n onSelect={e => {\n onSetPageSize && onSetPageSize(e);\n }}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.PAGE_SIZE}\n />\n <ToolBarButtonWrapper\n gap={11}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.BACKGROUND_COLOR}\n tooltipPosition={'bottom'}\n >\n <StyledImage src={IconBackgroundColor} />\n <ColorBox\n backgroundColor={canvasBackgroundColor || theme.color.white}\n onChange={selectBackgroundColor}\n />\n </ToolBarButtonWrapper>\n <ToolBarButtonWrapper\n paddingRight={17}\n paddingLeft={17}\n onClick={handleBackgroundUpload}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.BACKGROUND_IMAGE}\n tooltipPosition={'bottom'}\n >\n {canvasBackgroundImage && (\n <RemoveButton\n onClick={e => {\n onRemoveBackgroundImage && onRemoveBackgroundImage();\n e.stopPropagation();\n }}\n >\n <StyledImage src={IconCross} height={15} width={15} />\n </RemoveButton>\n )}\n <StyledImage\n src={canvasBackgroundImage?.src || IconBackgroundImage}\n height={24}\n width={24}\n />\n </ToolBarButtonWrapper>\n <OpacityPicker\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.BACKGROUND_IMAGE_OPACITY}\n gap={10}\n value={backgroundImageOpacity}\n onChangeOpacity={onChangeBackgroundImageOpacity}\n leftChild={<StyledImage src={IconBackgroundImageOpacity} />}\n rightChild={<StyledImage src={IconDropDownSmall} />}\n />\n <StrokePicker\n gap={10}\n value={cuttingGuideStroke}\n onChangeStrokeWidth={e => {\n onChangeCuttingGuideProp('cuttingGuideStroke', e);\n }}\n strokeColor={cuttingGuideStrokeColor}\n onChangeShapeStrokeColor={e => {\n onChangeCuttingGuideProp('cuttingGuideStrokeColor', e);\n }}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.CUTTING_GUIDE}\n languageLocale={languageLocale}\n leftIcon={IconFrame}\n max={200}\n />\n </RowContainer>\n );\n};\n\nTemplateToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n fontFamily: PropTypes.string,\n fontSize: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n color: PropTypes.string,\n textDecoration: PropTypes.string,\n fontStyle: PropTypes.string,\n fontWeight: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n textAlign: PropTypes.string,\n textOpacity: PropTypes.number,\n onChangeTextProperty: PropTypes.func,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Label = styled.p`\n color: ${theme.color.gray_700};\n font-size: 14px;\n font-weight: ${theme.fontWeights[400]};\n font-family: ${({ fontFamily = theme.fonts.primary }) => fontFamily};\n width: 100px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const RowContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n gap: 2px;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n tabsData: PropTypes.arrayOf(PropTypes.object),\n height: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n tabPadding: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n marginRight: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n disabled: PropTypes.bool,\n tooltipPosition: PropTypes.string,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\n\nexport const TabBarContainer = styled.div`\n border: 1px solid ${theme.color.gray_200};\n height: ${({ height }) => height}px;\n margin-right: ${({ marginRight = 0 }) => marginRight}px;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n background: ${theme.color.white};\n opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};\n pointer-events: ${({ disabled }) => (disabled ? 'none' : 'all')};\n`;\n\nexport const TabItem = styled.div`\n padding: ${({ tabPadding }) => tabPadding};\n cursor: ${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};\n border-right: ${({ isLast }) => (isLast ? 'none' : `1px solid ${theme.color.gray_200}`)};\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};\n background: ${({ selected = false }) => (selected ? theme.color.gray_200 : theme.color.white)};\n border-top-left-radius: ${({ isFirst }) => (isFirst ? '5' : '0')}px;\n border-bottom-left-radius: ${({ isFirst }) => (isFirst ? '5' : '0')}px;\n border-top-right-radius: ${({ isLast }) => (isLast ? '5' : '0')}px;\n border-bottom-right-radius: ${({ isLast }) => (isLast ? '5' : '0')}px;\n pointer-events: ${({ disabled }) => (disabled ? 'none' : 'all')};\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { TabBarContainer, TabItem } from './styled';\nimport { Tooltip } from '../Tooltip';\n\nexport const ToolsTabBar = ({\n tabsData = [],\n height = 36,\n tabPadding = '8px 12px',\n marginRight = 0,\n disabled = false,\n tooltipPosition = 'bottom',\n}) => (\n <TabBarContainer disabled={disabled} height={height} marginRight={marginRight}>\n {tabsData.map((item, index) => (\n <Tooltip\n key={index}\n position={tooltipPosition}\n text={item?.tooltip}\n disabled={item?.disabled}\n >\n <TabItem\n key={index}\n tabPadding={tabPadding}\n isLast={index === tabsData.length - 1}\n isFirst={index === 0}\n onClick={item?.onClick}\n disabled={item?.disabled}\n selected={item?.selected}\n >\n {item?.element}\n </TabItem>\n </Tooltip>\n ))}\n </TabBarContainer>\n);\n\nToolsTabBar.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { DropDown } from '../DropDown';\nimport { Label, RowContainer } from './styled';\nimport {\n IconAlignCenter,\n IconAlignLeft,\n IconAlignRight,\n IconBold,\n IconDropDown,\n IconLineThrough,\n IconTextItalic,\n IconTextSmall,\n IconTextUnderLine,\n} from '@/assets';\nimport theme from '@/theme';\nimport { ColorBox } from '../ColorBox';\nimport { StyledImage } from '@/generic/Styled';\nimport { ToolsTabBar } from '../ToolsTabBar';\nimport { topTabBarpadding } from '@/constants/layoutConstants';\nimport { OpacityPicker } from '../OpacityPicker';\nimport { fontFamilies, funkyFonts } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const TextToolBar = ({\n fontFamily,\n fontSize,\n lineHeight,\n color,\n textDecoration,\n fontStyle,\n fontWeight,\n textAlign,\n textOpacity,\n onChangeTextProperty,\n languageLocale,\n}) => {\n let TextTabsData = [\n {\n element: <StyledImage src={IconBold} />,\n selected: fontWeight > theme?.fontWeights[500] || fontWeight === 'bold',\n onClick: () => {\n if (fontWeight > theme?.fontWeights[500] || fontWeight === 'bold') {\n onChangeTextProperty('fontWeight', theme?.fontWeights[400]);\n } else {\n onChangeTextProperty('fontWeight', theme?.fontWeights[700]);\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.BOLD,\n disabled: funkyFonts.includes(fontFamily) ? true : false,\n },\n {\n element: <StyledImage src={IconTextItalic} />,\n selected: fontStyle === 'italic',\n onClick: () => {\n if (fontStyle === 'italic') {\n onChangeTextProperty('fontStyle', 'normal');\n } else {\n onChangeTextProperty('fontStyle', 'italic');\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.ITALIC,\n disabled: funkyFonts.includes(fontFamily) ? true : false,\n },\n {\n element: <StyledImage src={IconLineThrough} />,\n selected: textDecoration?.includes('line-through'),\n onClick: () => {\n if (textDecoration?.includes('line-through')) {\n onChangeTextProperty(\n 'textDecoration',\n textDecoration?.includes('underline') ? 'underline' : 'normal',\n );\n } else {\n onChangeTextProperty(\n 'textDecoration',\n textDecoration?.includes('underline')\n ? 'underline line-through'\n : 'line-through',\n );\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.LINE_THROUGH,\n },\n {\n element: <StyledImage src={IconTextUnderLine} />,\n selected: textDecoration?.includes('underline'),\n onClick: () => {\n if (textDecoration?.includes('underline')) {\n onChangeTextProperty(\n 'textDecoration',\n textDecoration?.includes('line-through') ? 'line-through' : 'normal',\n );\n } else {\n onChangeTextProperty(\n 'textDecoration',\n textDecoration?.includes('line-through')\n ? 'underline line-through'\n : 'underline',\n );\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.UNDERLINE,\n },\n ];\n\n let AlignmentTabsData = [\n {\n element: <StyledImage src={IconAlignLeft} />,\n selected: textAlign === 'left',\n onClick: () => {\n if (textAlign !== 'left') {\n onChangeTextProperty('textAlign', 'left');\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.LEFT_ALIGN,\n },\n {\n element: <StyledImage src={IconAlignCenter} />,\n selected: textAlign === 'center',\n onClick: () => {\n if (textAlign !== 'center') {\n onChangeTextProperty('textAlign', 'center');\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.CENTER_ALIGN,\n },\n {\n element: <StyledImage src={IconAlignRight} />,\n selected: textAlign === 'right',\n onClick: () => {\n if (textAlign !== 'right') {\n onChangeTextProperty('textAlign', 'right');\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.RIGHT_ALIGN,\n },\n ];\n\n return (\n <RowContainer>\n <DropDown\n gap={40}\n left={<Label fontFamily={fontFamily}>{fontFamily}</Label>}\n fontPicker={true}\n list={fontFamilies}\n onSelect={e => {\n onChangeTextProperty('fontFamily', e);\n }}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.FONT_FAMILY}\n tooltipPosition={'bottom'}\n />\n <OpacityPicker\n gap={11}\n value={fontSize}\n varient={'size'}\n fontFamily={theme.fonts.primary}\n min={5}\n max={100}\n step={1}\n onChangeOpacity={e => onChangeTextProperty('fontSize', e)}\n showLeftChild={false}\n rightChild={<StyledImage src={IconDropDown} marginLeft={10} />}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.TEXT_SIZE}\n tooltipPosition={'bottom'}\n />\n <OpacityPicker\n gap={11}\n value={lineHeight}\n varient={'size'}\n fontFamily={theme.fonts.primary}\n min={1}\n max={5}\n step={0.5}\n onChangeOpacity={e => onChangeTextProperty('lineHeight', e)}\n showLeftChild={false}\n rightChild={<StyledImage src={IconDropDown} marginLeft={10} />}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.TEXT_LINE_HEIGHT}\n tooltipPosition={'bottom'}\n />\n <ToolBarButtonWrapper\n gap={12}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.TEXT_COLOR}\n tooltipPosition={'bottom'}\n >\n <StyledImage src={IconTextSmall} />\n <ColorBox\n backgroundColor={color}\n onChange={e => onChangeTextProperty('color', e)}\n />\n </ToolBarButtonWrapper>\n <ToolsTabBar\n tabsData={TextTabsData}\n marginRight={12}\n height={40}\n tabPadding={topTabBarpadding}\n tooltipPosition={'bottom'}\n />\n <ToolsTabBar\n tabsData={AlignmentTabsData}\n marginRight={20}\n height={40}\n tabPadding={topTabBarpadding}\n tooltipPosition={'bottom'}\n />\n\n <OpacityPicker\n value={textOpacity}\n onChangeOpacity={e => onChangeTextProperty('opacity', e)}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.TEXT_OPACITY}\n tooltipPosition={'bottom'}\n />\n </RowContainer>\n );\n};\n\nTextToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n imageStrokeWidth: PropTypes.number,\n imageStrokeColor: PropTypes.string,\n imageOpacity: PropTypes.number,\n onChangeImageStrokeWidth: PropTypes.func,\n onChangeImageStrokeColor: PropTypes.func,\n onChangeImageOpacity: PropTypes.func,\n selectedElement: PropTypes.object,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Label = styled.p`\n color: ${theme.color.gray_700};\n font-size: 14px;\n font-weight: ${theme.fontWeights[400]};\n font-family: ${theme.fonts.primary};\n`;\n\nexport const RowContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n gap: 2px;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { RowContainer } from './styled';\nimport { StrokePicker } from '../StrokePicker';\nimport { OpacityPicker } from '../OpacityPicker';\nimport { isElementOfSameType } from '@/utils';\nimport { elementTypes } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const ImageToolBar = ({\n imageStrokeWidth,\n imageStrokeColor,\n imageOpacity,\n onChangeImageStrokeWidth,\n onChangeImageStrokeColor,\n onChangeImageOpacity,\n selectedElement,\n languageLocale,\n}) => {\n return (\n <RowContainer>\n <StrokePicker\n value={\n isElementOfSameType(selectedElement, elementTypes.image)\n ? selectedElement?.strokeWidth\n : imageStrokeWidth\n }\n onChangeStrokeWidth={onChangeImageStrokeWidth}\n strokeColor={\n isElementOfSameType(selectedElement, elementTypes.image)\n ? selectedElement?.stroke\n : imageStrokeColor\n }\n onChangeShapeStrokeColor={onChangeImageStrokeColor}\n languageLocale={languageLocale}\n />\n <OpacityPicker\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.IMAGE_OPACITY}\n value={\n isElementOfSameType(selectedElement, elementTypes.image)\n ? selectedElement?.opacity\n : imageOpacity\n }\n onChangeOpacity={onChangeImageOpacity}\n languageLocale={languageLocale}\n />\n </RowContainer>\n );\n};\n\nImageToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n shapeStrokeColor: PropTypes.string,\n shapeStrokeWidth: PropTypes.number,\n shapeFillColor: PropTypes.string,\n shapeOpacity: PropTypes.number,\n onChangeShapeStrokeColor: PropTypes.func,\n onChangeShapeStrokeWidth: PropTypes.func,\n onChangeShapeFill: PropTypes.func,\n onChangeShapeOpacity: PropTypes.func,\n selectedElement: PropTypes.object,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Label = styled.p`\n color: ${theme.color.gray_700};\n font-size: 14px;\n font-weight: ${theme.fontWeights[400]};\n font-family: ${theme.fonts.primary};\n`;\n\nexport const RowContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n gap: 2px;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { RowContainer } from './styled';\nimport { IconBackgroundColor } from '@/assets';\nimport { StyledImage } from '@/generic/Styled';\nimport { ColorBox } from '../ColorBox';\nimport { isElementShape } from '@/utils';\nimport { StrokePicker } from '../StrokePicker';\nimport { OpacityPicker } from '../OpacityPicker';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const ShapeToolBar = ({\n shapeStrokeColor,\n shapeStrokeWidth,\n shapeFillColor,\n shapeOpacity,\n onChangeShapeStrokeColor,\n onChangeShapeStrokeWidth,\n onChangeShapeFill,\n onChangeShapeOpacity,\n selectedElement,\n languageLocale,\n}) => {\n return (\n <RowContainer>\n <ToolBarButtonWrapper\n gap={11}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.SHAPE_FILL}\n tooltipPosition=\"bottom\"\n >\n <StyledImage src={IconBackgroundColor} />\n <ColorBox\n backgroundColor={\n (isElementShape(selectedElement) && selectedElement?.fill) || shapeFillColor\n }\n onChange={onChangeShapeFill}\n />\n </ToolBarButtonWrapper>\n <StrokePicker\n value={\n isElementShape(selectedElement)\n ? selectedElement?.strokeWidth\n : shapeStrokeWidth\n }\n onChangeStrokeWidth={onChangeShapeStrokeWidth}\n strokeColor={\n isElementShape(selectedElement) ? selectedElement?.stroke : shapeStrokeColor\n }\n onChangeShapeStrokeColor={onChangeShapeStrokeColor}\n languageLocale={languageLocale}\n />\n <OpacityPicker\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.SHAPE_OPACITY}\n value={isElementShape(selectedElement) ? selectedElement?.opacity : shapeOpacity}\n onChangeOpacity={onChangeShapeOpacity}\n languageLocale={languageLocale}\n />\n </RowContainer>\n );\n};\n\nShapeToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n qrStrokeWidth: PropTypes.number,\n qrStrokeColor: PropTypes.string,\n qrOpacity: PropTypes.number,\n onChangeQrStrokeWidth: PropTypes.func,\n onChangeQrStrokeColor: PropTypes.func,\n onChangeQrOpacity: PropTypes.func,\n selectedElement: PropTypes.object,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Label = styled.p`\n color: ${theme.color.gray_700};\n font-size: 14px;\n font-weight: ${theme.fontWeights[400]};\n font-family: ${theme.fonts.primary};\n`;\n\nexport const RowContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n gap: 2px;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { RowContainer } from './styled';\nimport { StrokePicker } from '../StrokePicker';\nimport { OpacityPicker } from '../OpacityPicker';\nimport { elementTypes } from '@/constants';\nimport { isElementOfSameType } from '@/utils';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const QrToolBar = ({\n qrStrokeWidth,\n qrStrokeColor,\n qrOpacity,\n onChangeQrStrokeWidth,\n onChangeQrStrokeColor,\n onChangeQrOpacity,\n selectedElement,\n languageLocale,\n}) => {\n return (\n <RowContainer>\n <StrokePicker\n value={\n isElementOfSameType(selectedElement, elementTypes.qr)\n ? selectedElement?.strokeWidth\n : qrStrokeWidth\n }\n onChangeStrokeWidth={onChangeQrStrokeWidth}\n strokeColor={\n isElementOfSameType(selectedElement, elementTypes.qr)\n ? selectedElement?.stroke\n : qrStrokeColor\n }\n onChangeShapeStrokeColor={onChangeQrStrokeColor}\n languageLocale={languageLocale}\n />\n <OpacityPicker\n value={\n isElementOfSameType(selectedElement, elementTypes.qr)\n ? selectedElement?.opacity\n : qrOpacity\n }\n onChangeOpacity={onChangeQrOpacity}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.OPACITY}\n languageLocale={languageLocale}\n />\n </RowContainer>\n );\n};\n\nQrToolBar.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { OverlayBlocker, ToolBarWrapper } from './styled';\nimport { TemplateToolBar } from '../TemplateToolBar';\nimport { TextToolBar } from '../TextToolBar';\nimport { elementTypes, sideBarpillsList } from '@/constants';\nimport { ImageToolBar } from '../ImageToolBar';\nimport { ShapeToolBar } from '../ShapeToolBar';\nimport { QrToolBar } from '../QrToolBar';\nimport { isElementOfSameType } from '@/utils';\n\nexport const TopToolBar = ({\n selectedTab,\n onSetBackgroundColor,\n canvasBackgroundColor,\n canvasBackgroundImage,\n onSetBackgroundImage,\n shapeStrokeColor,\n shapeStrokeWidth,\n shapeFillColor,\n shapeOpacity,\n onChangeShapeStrokeColor,\n onChangeShapeStrokeWidth,\n onChangeShapeFill,\n onChangeShapeOpacity,\n selectedElement,\n onChangeBackgroundImageOpacity,\n backgroundImageOpacity,\n imageStrokeWidth,\n imageStrokeColor,\n imageOpacity,\n onChangeImageStrokeWidth,\n onChangeImageStrokeColor,\n onChangeImageOpacity,\n qrStrokeWidth,\n qrStrokeColor,\n qrOpacity,\n onChangeQrStrokeWidth,\n onChangeQrStrokeColor,\n onChangeQrOpacity,\n defaultTextProps,\n onChangeTextProperty,\n onSetPageSize,\n selectedPageSize,\n languageLocale,\n uploadImageCallBack,\n setLoadingUploadImage,\n cuttingGuideStroke,\n cuttingGuideStrokeColor,\n onChangeCuttingGuideProp,\n onRemoveBackgroundImage,\n}) => {\n return (\n <ToolBarWrapper disabled={selectedElement && !selectedElement?.draggable}>\n {selectedElement && !selectedElement?.draggable && (\n <OverlayBlocker\n onClick={e => {\n e?.stopPropagation();\n }}\n />\n )}\n {selectedTab === sideBarpillsList?.template ? (\n <TemplateToolBar\n onSetBackgroundColor={onSetBackgroundColor}\n canvasBackgroundColor={canvasBackgroundColor}\n canvasBackgroundImage={canvasBackgroundImage}\n onSetBackgroundImage={onSetBackgroundImage}\n onChangeBackgroundImageOpacity={onChangeBackgroundImageOpacity}\n backgroundImageOpacity={backgroundImageOpacity}\n onSetPageSize={onSetPageSize}\n selectedPageSize={selectedPageSize}\n languageLocale={languageLocale}\n uploadImageCallBack={uploadImageCallBack}\n setLoadingUploadImage={setLoadingUploadImage}\n cuttingGuideStroke={cuttingGuideStroke}\n cuttingGuideStrokeColor={cuttingGuideStrokeColor}\n onChangeCuttingGuideProp={onChangeCuttingGuideProp}\n onRemoveBackgroundImage={onRemoveBackgroundImage}\n />\n ) : selectedTab === sideBarpillsList?.text ? (\n <TextToolBar\n fontFamily={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.fontFamily\n : defaultTextProps?.fontFamily\n }\n fontSize={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.fontSize\n : defaultTextProps?.fontSize\n }\n lineHeight={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.lineHeight\n : defaultTextProps?.lineHeight\n }\n color={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.color\n : defaultTextProps?.color\n }\n textDecoration={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.textDecoration\n : defaultTextProps?.textDecoration\n }\n fontStyle={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.fontStyle\n : defaultTextProps?.fontStyle\n }\n fontWeight={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.fontWeight\n : defaultTextProps?.fontWeight\n }\n textAlign={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.textAlign\n : defaultTextProps?.textAlign\n }\n selectedElement={selectedElement}\n textOpacity={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.opacity\n : defaultTextProps?.opacity\n }\n onChangeTextProperty={onChangeTextProperty}\n languageLocale={languageLocale}\n />\n ) : selectedTab === sideBarpillsList?.image ? (\n <ImageToolBar\n imageStrokeWidth={imageStrokeWidth}\n imageStrokeColor={imageStrokeColor}\n imageOpacity={imageOpacity}\n onChangeImageStrokeWidth={onChangeImageStrokeWidth}\n onChangeImageStrokeColor={onChangeImageStrokeColor}\n onChangeImageOpacity={onChangeImageOpacity}\n selectedElement={selectedElement}\n languageLocale={languageLocale}\n />\n ) : selectedTab === sideBarpillsList?.shape ? (\n <ShapeToolBar\n shapeStrokeColor={shapeStrokeColor}\n shapeStrokeWidth={shapeStrokeWidth}\n shapeFillColor={shapeFillColor}\n onChangeShapeStrokeColor={onChangeShapeStrokeColor}\n onChangeShapeStrokeWidth={onChangeShapeStrokeWidth}\n onChangeShapeFill={onChangeShapeFill}\n shapeOpacity={shapeOpacity}\n onChangeShapeOpacity={onChangeShapeOpacity}\n selectedElement={selectedElement}\n languageLocale={languageLocale}\n />\n ) : selectedTab === sideBarpillsList?.qr ? (\n <QrToolBar\n qrStrokeWidth={qrStrokeWidth}\n qrStrokeColor={qrStrokeColor}\n qrOpacity={qrOpacity}\n onChangeQrStrokeWidth={onChangeQrStrokeWidth}\n onChangeQrStrokeColor={onChangeQrStrokeColor}\n onChangeQrOpacity={onChangeQrOpacity}\n selectedElement={selectedElement}\n languageLocale={languageLocale}\n />\n ) : null}\n </ToolBarWrapper>\n );\n};\n\nTopToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n selectedTab: PropTypes.string,\n zoomPercentage: PropTypes.number,\n onChangeZoomPercentage: PropTypes.func,\n onUndo: PropTypes.func,\n onRedo: PropTypes.func,\n disableUndo: PropTypes.bool,\n disableRedo: PropTypes.bool,\n selectedElement: PropTypes.object,\n onDeleteSelectedElement: PropTypes.func,\n onCopySelectedElement: PropTypes.func,\n onToggleLockElement: PropTypes.func,\n bringSelectedElementToFront: PropTypes.func,\n sendSelectedElementToBack: PropTypes.func,\n languageLocale: PropTypes.string,\n};\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n zoomLevel: PropTypes.number,\n onZoomIn: PropTypes.func,\n onZoomOut: PropTypes.func,\n translation: PropTypes.object,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\n\nexport const Container = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n position: relative;\n`;\n\nexport const ZoomControlWrapper = styled.div`\n border: 1px solid ${theme.color.gray_200};\n border-radius: 6px;\n height: 44px;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n background: white;\n`;\n\nexport const ZoomButton = styled.div`\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0 14px;\n cursor: pointer;\n`;\n\nexport const Divider = styled.div`\n width: 1px;\n height: 80%;\n background: rgba(77, 98, 119, 0.2);\n`;\n\nexport const ZoomPercentage = styled.p`\n padding: 0 14px;\n font-family: ${theme.fonts.primary};\n font-weight: ${theme.fontWeights[500]};\n color: ${theme.color.icon_gray};\n`;\n","import { ButtonVarients } from '@/constants';\nimport PropTypes from 'prop-types';\n\nexport const propTypes = {\n varient: PropTypes.oneOf(Object.values(ButtonVarients)),\n left: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n text: PropTypes.string,\n marginBottom: PropTypes.number,\n marginTop: PropTypes.number,\n onClick: PropTypes.func,\n};\n","import { ButtonVarients } from '@/constants';\nimport theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StyledButton = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n padding: 10px;\n border-radius: 6px;\n border: 1px solid ${theme.color.primary};\n cursor: pointer;\n margin-top: ${({ marginTop }) => marginTop}px;\n margin-bottom: ${({ marginBottom }) => marginBottom}px;\n background: ${({ varient }) =>\n varient === ButtonVarients.primary ? theme.color.primary : theme.color.white};\n`;\n\nexport const IconWrapper = styled.div`\n margin-right: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport theme from '@/theme';\nimport { StyledText } from '@/generic/Styled';\nimport { ButtonVarients } from '@/constants';\nimport { IconWrapper, StyledButton } from './styled';\n\nexport const Button = ({\n varient = ButtonVarients.secondary,\n left,\n text,\n marginBottom = 0,\n marginTop = 0,\n onClick,\n style,\n}) => (\n <StyledButton\n varient={varient}\n marginTop={marginTop}\n marginBottom={marginBottom}\n onClick={onClick}\n style={style}\n >\n {left && <IconWrapper>{left}</IconWrapper>}\n <StyledText\n fontSize={14}\n fontWeight={theme.fontWeights[600]}\n color={varient === ButtonVarients.primary ? theme.color.white : theme.color.primary}\n >\n {text}\n </StyledText>\n </StyledButton>\n);\n\nButton.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { Container, Divider, ZoomButton, ZoomControlWrapper, ZoomPercentage } from './styled';\nimport { StyledImage } from '@/generic/Styled';\nimport { IconZoomIn, IconZoomOut } from '@/assets';\nimport { Tooltip } from '../Tooltip';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\nimport { Button } from '../Button';\nimport { ButtonVarients } from '@/constants';\n\nexport const ZoomControls = ({\n zoomLevel = 60,\n onZoomIn,\n onZoomOut,\n languageLocale,\n onSave,\n showSaveButton,\n saveButtonText,\n}) => (\n <Container>\n {showSaveButton && (\n <Button\n text={saveButtonText || TEXT_DICTIONARY?.[languageLocale]?.SAVE}\n varient={ButtonVarients?.primary}\n marginBottom={10}\n style={{ position: 'absolute', top: -50, zIndex: 400, right: 0 }}\n onClick={onSave}\n />\n )}\n <Tooltip text={TEXT_DICTIONARY?.[languageLocale]?.ZOOM_IN_OUT} position=\"top\">\n <ZoomControlWrapper>\n <ZoomButton onClick={onZoomOut}>\n <StyledImage src={IconZoomOut} />\n </ZoomButton>\n <Divider />\n <ZoomPercentage>{zoomLevel}%</ZoomPercentage>\n <Divider />\n <ZoomButton onClick={onZoomIn}>\n <StyledImage src={IconZoomIn} />\n </ZoomButton>\n </ZoomControlWrapper>\n </Tooltip>\n </Container>\n);\n\nZoomControls.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onDeleteSelectedElement: PropTypes.func,\n onCopySelectedElement: PropTypes.func,\n onToggleLockElement: PropTypes.func,\n selectedElement: PropTypes.object,\n bringSelectedElementToFront: PropTypes.func,\n sendSelectedElementToBack: PropTypes.func,\n languageLocale: PropTypes.string,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\n\nexport const ToolBarContainer = styled.div`\n display: flex;\n padding: 12px 24px;\n background: ${theme.color.gray_FDFCFC};\n gap: 15px;\n border-radius: 10px 10px 0px 0px;\n border: 1px solid ${theme.color.gray_EDEDED};\n border-bottom: none;\n align-items: center;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ToolBarContainer } from './styled';\nimport { ToolsTabBar } from '../ToolsTabBar';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { StyledImage } from '@/generic/Styled';\nimport {\n IconBringFront,\n IconCopy,\n IconDelete,\n // IconGroup,\n // IconGuide,\n IconLock,\n IconSentBack,\n IconUnlock,\n} from '@/assets';\nimport { elementTypes } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const BottomToolBarControls = ({\n onDeleteSelectedElement,\n onCopySelectedElement,\n onToggleLockElement,\n selectedElement,\n bringSelectedElementToFront,\n sendSelectedElementToBack,\n languageLocale,\n}) => {\n let BringFrontBackTabsData = [\n {\n element: <StyledImage src={IconBringFront} />,\n onClick: () => {\n bringSelectedElementToFront && bringSelectedElementToFront();\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.BRING_FORWARD,\n },\n {\n element: <StyledImage src={IconSentBack} />,\n onClick: () => {\n sendSelectedElementToBack && sendSelectedElementToBack();\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.SEND_BACKWARD,\n },\n ];\n\n return (\n <ToolBarContainer>\n <ToolsTabBar\n disabled={!selectedElement?.draggable}\n tabsData={BringFrontBackTabsData}\n tooltipPosition=\"top\"\n />\n {/* <ToolBarButtonWrapper\n paddingRight={14.6}\n paddingLeft={14.6}\n height={36}\n marginRight={0}\n >\n <StyledImage src={IconGuide} />\n </ToolBarButtonWrapper>\n <ToolBarButtonWrapper\n paddingRight={14.6}\n paddingLeft={14.6}\n height={36}\n marginRight={0}\n >\n <StyledImage src={IconGroup} />\n </ToolBarButtonWrapper> */}\n <ToolBarButtonWrapper\n tooltip={\n selectedElement?.draggable\n ? TEXT_DICTIONARY?.[languageLocale]?.LOCK\n : TEXT_DICTIONARY?.[languageLocale]?.UNLOCK\n }\n tooltipPosition=\"top\"\n paddingRight={14.6}\n paddingLeft={14.6}\n height={36}\n marginRight={0}\n onClick={onToggleLockElement}\n >\n <StyledImage\n src={selectedElement?.draggable ? IconUnlock : IconLock}\n height={20}\n width={20}\n />\n </ToolBarButtonWrapper>\n {selectedElement?.type !== elementTypes?.qr && (\n <ToolBarButtonWrapper\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.COPY}\n tooltipPosition=\"top\"\n paddingRight={14.6}\n paddingLeft={14.6}\n height={36}\n marginRight={0}\n onClick={onCopySelectedElement}\n disabled={!selectedElement?.draggable}\n >\n <StyledImage src={IconCopy} />\n </ToolBarButtonWrapper>\n )}\n <ToolBarButtonWrapper\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.DELETE}\n tooltipPosition=\"top\"\n paddingRight={14.6}\n paddingLeft={14.6}\n height={36}\n marginRight={0}\n onClick={onDeleteSelectedElement}\n disabled={!selectedElement?.draggable}\n >\n <StyledImage src={IconDelete} />\n </ToolBarButtonWrapper>\n </ToolBarContainer>\n );\n};\n\nBottomToolBarControls.propTypes = propTypes;\n","import styled from 'styled-components';\n\nexport const BottomToolbarWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: ${({ selectedTab }) => (selectedTab ? 'space-between' : 'flex-end')};\n padding-right: 3%;\n padding-left: 5%;\n padding-bottom: ${({ selectedTab }) => (selectedTab ? '6' : '14')}px;\n flex-wrap: wrap;\n gap: 5px;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onUndo: PropTypes.func,\n onRedo: PropTypes.func,\n disableUndo: PropTypes.bool,\n disableRedo: PropTypes.bool,\n translation: PropTypes.object,\n};\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ToolsTabBar } from '../ToolsTabBar';\nimport { StyledImage } from '@/generic/Styled';\nimport { IconRedo, IconUndo } from '@/assets';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const UndoRedoControls = ({ onUndo, onRedo, disableUndo, disableRedo, languageLocale }) => {\n let UndeRedoTabsData = [\n {\n element: <StyledImage src={IconUndo} />,\n onClick: () => onUndo(),\n disabled: disableUndo,\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.UNDO,\n },\n {\n element: <StyledImage src={IconRedo} />,\n onClick: () => onRedo(),\n disabled: disableRedo,\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.REDO,\n },\n ];\n\n return (\n <ToolsTabBar\n height={44}\n tabPadding=\"12px 17px\"\n tabsData={UndeRedoTabsData}\n tooltipPosition=\"top\"\n />\n );\n};\n\nUndoRedoControls.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ZoomControls } from '../ZoomControls';\nimport { BottomToolBarControls } from '../BottomToolBarControls';\nimport { BottomToolbarWrapper } from './styled';\nimport { UndoRedoControls } from '../UndoRedoControls';\n\nexport const BottomToolBar = ({\n selectedTab,\n zoomPercentage,\n onChangeZoomPercentage,\n onUndo,\n onRedo,\n disableUndo,\n disableRedo,\n selectedElement,\n onDeleteSelectedElement,\n onCopySelectedElement,\n onToggleLockElement,\n bringSelectedElementToFront,\n sendSelectedElementToBack,\n languageLocale,\n onSave,\n showSaveButton,\n saveButtonText,\n}) => {\n const onZoomIn = () => {\n if (zoomPercentage < 300) {\n onChangeZoomPercentage(zoomPercentage + 10);\n }\n };\n const onZoomOut = () => {\n if (zoomPercentage > 20) {\n onChangeZoomPercentage(zoomPercentage - 10);\n }\n };\n return (\n <BottomToolbarWrapper selectedTab={selectedTab}>\n {selectedTab && (\n <>\n <UndoRedoControls\n onUndo={onUndo}\n onRedo={onRedo}\n disableUndo={disableUndo}\n disableRedo={disableRedo}\n languageLocale={languageLocale}\n />\n {selectedElement ? (\n <BottomToolBarControls\n onDeleteSelectedElement={onDeleteSelectedElement}\n onCopySelectedElement={onCopySelectedElement}\n onToggleLockElement={onToggleLockElement}\n selectedElement={selectedElement}\n bringSelectedElementToFront={bringSelectedElementToFront}\n sendSelectedElementToBack={sendSelectedElementToBack}\n languageLocale={languageLocale}\n />\n ) : (\n <div style={{ height: 63 }} />\n )}\n </>\n )}\n <ZoomControls\n zoomLevel={zoomPercentage}\n onZoomIn={onZoomIn}\n onZoomOut={onZoomOut}\n languageLocale={languageLocale}\n onSave={onSave}\n showSaveButton={showSaveButton}\n saveButtonText={saveButtonText}\n />\n </BottomToolbarWrapper>\n );\n};\n\nBottomToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n id: PropTypes.string,\n element: PropTypes.object,\n onClick: PropTypes.func,\n onDragEnd: PropTypes.func,\n onTransformEnd: PropTypes.func,\n onDragMove: PropTypes.func,\n};\n","import React, { useEffect, useState } from 'react';\nimport { propTypes } from './props';\nimport { Image } from 'react-konva';\n\nexport const CanvasImage = ({ id, element, onClick, onDragEnd, onTransformEnd, onDragMove }) => {\n const [loaded, setLoaded] = useState(false);\n const [image, setImage] = useState(null);\n\n useEffect(() => {\n // const reader = new FileReader();\n // reader.onload = () => {\n const img = new window.Image();\n img.crossOrigin = 'anonymous';\n img.src = element?.src;\n img.onload = () => {\n setImage(img);\n setLoaded(true);\n };\n // };\n // reader.readAsDataURL(file);\n }, [element]);\n if (loaded) {\n return (\n <Image\n id={id}\n image={image}\n {...element}\n width={element?.width}\n height={element?.height}\n onClick={() => onClick && onClick()}\n onDragEnd={e => onDragEnd && onDragEnd(e)}\n onDragMove={onDragMove}\n onTransformEnd={e => {\n onTransformEnd && onTransformEnd(e);\n }}\n strokeScaleEnabled={false}\n />\n );\n } else {\n return null;\n }\n};\n\nCanvasImage.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n element: PropTypes.object,\n onClick: PropTypes.func,\n onDragEnd: PropTypes.func,\n onTransformEnd: PropTypes.func,\n onDragMove: PropTypes.func,\n LogoTitle: PropTypes.string,\n};\n","import React, { useEffect, useState } from 'react';\nimport { propTypes } from './props';\nimport { Group, Rect, Text } from 'react-konva';\nimport { calculatePercentageValue } from '@/utils';\nimport theme from '@/theme';\nimport QRCode from 'qrcode';\n\nexport const QrElement = ({\n element,\n onClick,\n onDragEnd,\n onTransformEnd,\n onDragMove,\n LogoTitle,\n}) => {\n let innerRectWidth = calculatePercentageValue(element?.width, 24);\n let innerRectHeight = calculatePercentageValue(element?.height, 24);\n let innerRectX = calculatePercentageValue(element?.width, 38);\n let innerRectY = calculatePercentageValue(element?.height, 38);\n\n const [loaded, setLoaded] = useState(false);\n const [logo, setLogo] = useState(null);\n const [image, setImage] = useState(null);\n\n useEffect(() => {\n if (!element?.qrLogo) {\n return;\n }\n const img = new window.Image();\n img.crossOrigin = 'anonymous';\n img.src = element?.qrLogo;\n img.onload = () => {\n const scaleX = innerRectWidth / img.width;\n const scaleY = innerRectHeight / img.height;\n const scale = Math.min(scaleX, scaleY);\n setLogo({ img, scale });\n };\n }, [element]);\n const addQR = async () => {\n try {\n QRCode.toDataURL(element?.qrText, { margin: 0, width: 110 }, function (err, url) {\n const img = new window.Image();\n img.crossOrigin = 'anonymous';\n img.src = url;\n img.onload = () => {\n const scaleX = element?.width / img.width;\n const scaleY = element.height / img.height;\n const scale = Math.min(scaleX, scaleY);\n setImage({ img, scale });\n setLoaded(true);\n };\n });\n } catch (err) {\n // eslint-disable-next-line no-console\n console.error('Failed to generate QR code', err);\n }\n };\n useEffect(() => {\n addQR();\n }, [element]);\n\n if (loaded) {\n return (\n <Group\n key={element.id}\n {...element}\n id={element.id}\n onClick={() => onClick && onClick()}\n onDragEnd={e => onDragEnd && onDragEnd(e)}\n onDragMove={onDragMove}\n onTransformEnd={e => {\n onTransformEnd && onTransformEnd(e);\n }}\n >\n <Rect\n width={element?.width}\n height={element?.height}\n fillPatternImage={image?.img}\n fillPatternRepeat=\"no-repeat\"\n fillPatternScale={{\n x: element?.width / image?.img.width,\n y: element?.height / image?.img.height,\n }}\n stroke={element?.stroke}\n strokeWidth={element?.strokeWidth}\n opacity={element?.opacity}\n strokeScaleEnabled={false}\n />\n {element?.logoVisible && (\n <Group x={innerRectX} y={innerRectY}>\n <Rect\n width={innerRectWidth}\n height={innerRectHeight}\n fill={theme.color.white}\n />\n\n {logo ? (\n <Rect\n width={innerRectWidth}\n height={innerRectHeight}\n fillPatternImage={logo?.img}\n fillPatternRepeat=\"no-repeat\"\n fillPatternScale={{\n x: innerRectHeight / logo?.img.width,\n y: innerRectHeight / logo?.img.height,\n }}\n />\n ) : (\n <Text\n text={LogoTitle}\n fontSize={8}\n fill={theme.color.gray_9DA1A7}\n x={3}\n y={innerRectHeight / 2 - 3}\n fontFamily={theme.fonts.primary}\n fontStyle={theme.fontWeights[600]}\n />\n )}\n </Group>\n )}\n </Group>\n );\n } else {\n return null;\n }\n};\n\nQrElement.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n element: PropTypes.object,\n onClick: PropTypes.func,\n onDragEnd: PropTypes.func,\n onTransformEnd: PropTypes.func,\n onTransform: PropTypes.func,\n onChangeTextContent: PropTypes.func,\n onChangeTextProperty: PropTypes.func,\n onDragMove: PropTypes.func,\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { propTypes } from './props';\nimport { Html } from 'react-konva-utils';\nimport { element } from 'prop-types';\n\nexport const TextEditor = ({ textNodeRef, value, onBlur, onChange, textWidth }) => {\n const textareaRef = useRef(null);\n const [styles, setStyles] = useState({});\n\n useEffect(() => {\n if (!textNodeRef) return;\n // const position = textNodeRef?.absolutePosition();\n // const scale = textNodeRef?.getAbsoluteScale();\n const stg = textNodeRef?.getStage().findOne(`#${textNodeRef?.attrs?.id}`);\n\n const styleObj = {\n position: 'absolute',\n top: `${stg?.attrs?.y}px`,\n left: `${stg?.attrs?.x}px`,\n width: `${textWidth}px`,\n height: `${textNodeRef?.getHeight()}px`,\n fontSize: `${textNodeRef.fontSize()}px`,\n fontFamily: textNodeRef.fontFamily(),\n lineHeight: textNodeRef.lineHeight(),\n color: textNodeRef.fill(),\n background: 'transparent',\n border: 'none',\n padding: '0px',\n margin: '0px',\n overflow: 'hidden',\n outline: 'none',\n resize: 'none',\n transformOrigin: 'left top',\n textAlign: textNodeRef.align(),\n transform: `rotateZ(${textNodeRef.rotation()}deg)`,\n minHeight: '1em',\n whiteSpace: 'normal',\n userSelect: 'text',\n fontStyle: textNodeRef?.fontStyle?.() || 'normal',\n fontWeight: textNodeRef?.fontVariant?.() || 400,\n textDecoration: textNodeRef?.textDecoration?.() || 'none',\n };\n\n setStyles(styleObj);\n }, [textNodeRef?.current, value, element]);\n useEffect(() => {\n setTimeout(() => {\n if (textareaRef?.current) {\n textareaRef?.current?.focus();\n textareaRef?.current?.select();\n }\n }, 200);\n }, []);\n return (\n <Html>\n <textarea\n ref={textareaRef}\n style={styles}\n value={value}\n onChange={e => {\n onChange(e.target.value);\n }}\n onBlur={onBlur}\n />\n </Html>\n );\n};\n\nTextEditor.propTypes = propTypes;\n","import React, { useEffect, useRef, useState } from 'react';\nimport { propTypes } from './props';\nimport { Text } from 'react-konva';\nimport { sanitizeNumber } from '@/utils';\nimport { TextEditor } from './textEditor';\n\nexport const EditableText = ({\n element,\n onClick,\n onDragEnd,\n onTransformEnd,\n id,\n onTransform,\n onChangeTextContent,\n onChangeTextProperty,\n onDragMove,\n}) => {\n const textRef = useRef();\n const [textWidth, setTextWidth] = useState(element?.width);\n const [isEditing, setIsEditing] = useState(false);\n const [text, setText] = useState(element?.text);\n const [isFontLoaded, setIsFontLoaded] = useState(false);\n\n useEffect(() => {\n setIsFontLoaded(false);\n setTimeout(() => {\n setIsFontLoaded(true);\n }, 150);\n }, [element?.fontFamily, element?.fontWeight, element?.fontStyle]);\n useEffect(() => {\n setTextWidth(element?.width);\n setText(element?.text);\n }, [element]);\n\n const tranform = e => {\n const node = e.target;\n const scaleX = sanitizeNumber(node.scaleX(), 1);\n const updatedWidth = sanitizeNumber(node.width() * scaleX, element.width);\n\n const updatedObject = {\n ...node.attrs,\n width: updatedWidth,\n scaleX: 1,\n scaleY: 1,\n };\n delete updatedObject['ref'];\n setTextWidth(updatedWidth);\n onTransform && onTransform(updatedObject);\n node.scaleX(1);\n node.scaleY(1);\n };\n\n const transformEnd = e => {\n onTransformEnd && onTransformEnd(e);\n };\n const handleTextDblClick = () => {\n setIsEditing(true);\n };\n\n const handleTextChange = newText => {\n setText(newText);\n onChangeTextContent(newText);\n };\n const onSelect = () => {\n // const node = textRef?.current?.target;\n let width = textRef?.current?.getWidth();\n if (width) {\n setTextWidth(width);\n onChangeTextProperty('width', width);\n }\n // const scaleX = sanitizeNumber(node?.scaleX(), 1);\n // const updatedWidth = sanitizeNumber(node?.width() * scaleX, element?.width);\n // console.error(textRef?.current?.getWidth());\n\n onClick && onClick();\n };\n if (!isFontLoaded) {\n return (\n <Text\n ref={textRef}\n key={id}\n {...element}\n id={element.id}\n fontVariant={element?.fontWeight}\n align={element?.textAlign}\n width={textWidth}\n text={text}\n fill={element?.color}\n opacity={0}\n visible={false}\n />\n );\n }\n return (\n <>\n <Text\n ref={textRef}\n key={id}\n {...element}\n id={element.id}\n fontVariant={element?.fontWeight}\n align={element?.textAlign}\n width={textWidth}\n text={text}\n fill={element?.color}\n onClick={() => onSelect()}\n onTransform={e => tranform(e)}\n onDragEnd={e => onDragEnd && onDragEnd(e)}\n onTransformEnd={e => {\n transformEnd(e);\n }}\n onDragMove={onDragMove}\n onDblClick={handleTextDblClick}\n onDblTap={handleTextDblClick}\n visible={!isEditing}\n />\n {isEditing && (\n <TextEditor\n value={text}\n textWidth={textWidth}\n textNodeRef={textRef?.current}\n onChange={handleTextChange}\n onBlur={() => {\n setIsEditing(false);\n // onChangeTextContent(text);\n }}\n />\n )}\n </>\n );\n};\n\nEditableText.propTypes = propTypes;\n","/* eslint-disable func-style */\n/* eslint-disable max-len */\n/* eslint-disable prettier/prettier */\n/* eslint-disable space-before-blocks */\nimport Konva from 'konva';\n\nexport const useKonvaSnapping = params => {\n\n const defaultParams = {\n snapRange:params.snapRange ?? 3,\n guidelineColor: params.guidelineColor ?? 'rgb(0, 161, 255)',\n guidelineDash: params.guidelineDash ?? true,\n showGuidelines:params.showGuidelines ?? true,\n guidelineThickness:params.guidelineThickness ?? 1,\n snapToStageCenter:params.snapToStageCenter ?? true,\n snapToStageBorders:params.snapToStageBorders ?? true,\n snapToShapes:params.snapToShapes ?? true\n };\n const oppositeAnchors = {\n 'top-left': 'bottom-right',\n 'top-right': 'bottom-left',\n 'bottom-right': 'top-left',\n 'bottom-left': 'top-right',\n };\n\n const getSnappingPoints = e => {\n const { snapToStageCenter, snapToStageBorders, snapToShapes } = defaultParams;\n const stage = e.currentTarget.getStage();\n const vertical = [];\n const horizontal = [];\n if (snapToStageCenter){\n vertical.push(stage.attrs.width / 2);\n horizontal.push(stage.attrs.height / 2);\n }\n if (snapToStageBorders){\n horizontal.push(0, stage.attrs.height);\n vertical.push(0, stage.attrs.width);\n }\n if (snapToShapes){\n stage?.children?.forEach(layer => {\n\n layer?.children?.forEach(layerChild => {\n\n layerChild?.children?.forEach(obj=>{\n\n const box = obj.getClientRect();\n if (e.target !== obj && obj.getName() !== 'guid-line' && !(obj instanceof Konva.Transformer)) {\n vertical.push(box.x, box.x + box.width, box.x + box.width / 2);\n horizontal.push(box.y, box.y + box.height, box.y + box.height / 2);\n }\n });\n\n });\n });\n }\n\n return { vertical, horizontal };\n };\n\n const createLine = (Layer, isHorizontal, lineX, lineY) => {\n const { guidelineColor,\n showGuidelines,\n guidelineThickness,\n guidelineDash\n } = defaultParams;\n if (!showGuidelines) return;\n const points = isHorizontal ? [-6000, 0, 6000, 0] : [0, -6000, 0, 6000];\n const line = new Konva.Line({\n points,\n stroke: guidelineColor,\n strokeWidth: guidelineThickness,\n name: 'guid-line',\n dash: guidelineDash ? [4, 6] : [0, 0],\n });\n Layer.add(line);\n line.absolutePosition({ x: lineX, y: lineY });\n };\n function dotProduct(v1, v2) {\n return v1.x * v2.x + v1.y * v2.y;\n }\n\n function vectorProject(a, b) {\n const dotAB = dotProduct(a, b);\n const dotBB = dotProduct(b, b);\n const scalar = dotAB / dotBB;\n return {\n x: scalar * b.x,\n y: scalar * b.y,\n };\n }\n\n function calculateSlope(point1, point2) {\n const deltaX = point2.x - point1.x;\n\n if (deltaX === 0) {\n\n throw new Error(`Slope is undefined for vertical lines (deltaX is zero). ${point2.x}, ${point1.x}`);\n }\n\n const deltaY = point2.y - point1.y;\n return deltaY / deltaX;\n }\n\n const handleDragging = e => {\n const Layer = e.target.parent;\n\n // Clear existing guidelines\n Layer.find('.guid-line').forEach(line => line.destroy());\n const { horizontal, vertical } = getSnappingPoints(e);\n let newPos = { x: e.target.absolutePosition().x, y: e.target.absolutePosition().y };\n let guideLinesX = [];\n let guideLinesY = [];\n const { snapRange } = defaultParams;\n // Snap vertically\n vertical.forEach(breakPoint => {\n if (Math.abs(e.target.getClientRect().x - breakPoint) <= snapRange) {\n newPos.x = breakPoint + e.target.absolutePosition().x - e.target.getClientRect().x;\n guideLinesX.push(breakPoint);\n }\n if (Math.abs(e.target.getClientRect().x - breakPoint + e.target.getClientRect().width / 2) <= snapRange) {\n newPos.x = breakPoint + e.target.absolutePosition().x - e.target.getClientRect().x - e.target.getClientRect().width / 2;\n guideLinesX.push(breakPoint);\n\n }\n if (Math.abs(e.target.getClientRect().x - breakPoint + e.target.getClientRect().width) <= snapRange) {\n newPos.x = breakPoint + e.target.absolutePosition().x - e.target.getClientRect().x - e.target.getClientRect().width;\n guideLinesX.push(breakPoint);\n }\n });\n e.target.absolutePosition(newPos);\n guideLinesX.forEach(line=>{\n if (Math.round(e.target.getClientRect().x - line) === 0 ||\n Math.round(e.target.getClientRect().x - line + e.target.getClientRect().width / 2) === 0 ||\n Math.round(e.target.getClientRect().x - line + e.target.getClientRect().width) === 0) {\n createLine(Layer, false, line, 0);\n }\n });\n // Snap horizontally\n horizontal.forEach(breakPoint => {\n if (Math.abs(e.target.getClientRect().y - breakPoint) <= snapRange) {\n newPos.y = breakPoint + e.target.absolutePosition().y - e.target.getClientRect().y;\n guideLinesY.push(breakPoint);\n }\n if (Math.abs(e.target.getClientRect().y - breakPoint + e.target.getClientRect().height) <= snapRange) {\n newPos.y = breakPoint + e.target.absolutePosition().y - e.target.getClientRect().y - e.target.getClientRect().height;\n guideLinesY.push(breakPoint);\n }\n if (Math.abs(e.target.getClientRect().y - breakPoint + e.target.getClientRect().height / 2) <= snapRange) {\n newPos.y = breakPoint + e.target.absolutePosition().y - e.target.getClientRect().y - e.target.getClientRect().height / 2;\n guideLinesY.push(breakPoint);\n }\n });\n e.target.absolutePosition(newPos);\n guideLinesY.forEach(line=>{\n if (Math.round(e.target.getClientRect().y - line) === 0 ||\n Math.round(e.target.getClientRect().y - line + e.target.getClientRect().height) === 0 ||\n Math.round(e.target.getClientRect().y - line + e.target.getClientRect().height / 2) === 0) {\n createLine(Layer, true, 0, line);\n }\n });\n };\n\n const handleResizing = e => {\n const Layer = e.target.parent;\n const { snapRange } = defaultParams;\n\n let { horizontal, vertical } = getSnappingPoints(e);\n if (!e.currentTarget.keepRatio() || (e.currentTarget.keepRatio() && !!!oppositeAnchors[e.currentTarget._movingAnchorName])){\n e.currentTarget.anchorDragBoundFunc((oldAbsPos, newAbsPos) => {\n\n Layer.find('.guid-line').forEach(line => line.destroy());\n let bounds = { x: newAbsPos.x, y: newAbsPos.y };\n //console.log(Konva.Util.haveIntersection(e.target.getClientRect(),breakPoint))\n if (e.currentTarget.getActiveAnchor() === 'rotater') return bounds;\n for (let breakPoint of vertical) {\n if (Math.abs(newAbsPos.x - breakPoint) <= snapRange &&\n Math.abs(oldAbsPos.x - breakPoint) <= snapRange + 1\n ) {\n bounds.x = breakPoint;\n createLine(Layer, false, breakPoint, 0);\n break;\n }\n }\n for (let breakPoint of horizontal) {\n if (Math.abs(newAbsPos.y - breakPoint) <= snapRange &&\n Math.abs(oldAbsPos.y - breakPoint) <= snapRange + 1\n ) {\n bounds.y = breakPoint;\n createLine(Layer, true, 0, breakPoint);\n break;\n }\n }\n\n return bounds;\n });\n } else {\n e.currentTarget.anchorDragBoundFunc((oldAbsPos, newPos) => {\n Layer.find('.guid-line').forEach(line => line.destroy());\n const currentAnchorName = e.currentTarget._movingAnchorName;\n const oppositeAnchorName = oppositeAnchors[currentAnchorName];\n\n const movingAnchor = e.currentTarget.findOne(`.${currentAnchorName}`);\n // Capture the anchor's starting absolute position:\n const anchorStartPosition = movingAnchor.getAbsolutePosition();\n\n // Do nothing for the rotater anchor.\n if (currentAnchorName === 'rotater') {\n return newPos;\n }\n\n const oppositeElement = e.currentTarget.findOne(`.${oppositeAnchorName}`);\n if (!oppositeElement) return newPos;\n const oppositePoint = oppositeElement.getAbsolutePosition();\n\n const slope = calculateSlope(anchorStartPosition, oppositePoint);\n\n\n // Calculate the vector from the starting anchor position to the opposite anchor.\n const transformVector = {\n x: anchorStartPosition.x - oppositePoint.x,\n y: anchorStartPosition.y - oppositePoint.y,\n };\n\n // Compute the movement delta from the starting position.\n const delta = {\n x: newPos.x - anchorStartPosition.x,\n y: newPos.y - anchorStartPosition.y,\n };\n\n // Project the delta onto the transform vector.\n const projectedDelta = vectorProject(delta, transformVector);\n\n // Compute the candidate new position (before snapping).\n const nextPos = {\n x: anchorStartPosition.x + projectedDelta.x,\n y: anchorStartPosition.y + projectedDelta.y,\n };\n\n for (let breakPoint of horizontal) {\n if (Math.abs(nextPos.y - breakPoint) <= snapRange) {\n nextPos.y = breakPoint;\n nextPos.x = anchorStartPosition.x + (breakPoint - anchorStartPosition.y) / slope;\n createLine(Layer, true, 0, breakPoint);\n break;\n }\n }\n for (let breakPoint of vertical) {\n if (Math.abs(nextPos.x - breakPoint) <= snapRange) {\n nextPos.x = breakPoint;\n nextPos.y = anchorStartPosition.y + slope * (breakPoint - anchorStartPosition.x);\n createLine(Layer, false, breakPoint, 0);\n break;\n }\n }\n\n return nextPos;\n });\n }\n\n };\n\n const handleResizeEnd = e =>{\n const Layer = e.target.parent;\n e.currentTarget.anchorDragBoundFunc((oldAbsPos, newPos) => {\n return newPos;\n });\n Layer.find('.guid-line').forEach(line => line.destroy());\n };\n const handleDragEnd = e =>{\n const Layer = e.target.parent;\n Layer.find('.guid-line').forEach(line => line.destroy());\n };\n\n return { handleDragging, handleResizing, handleResizeEnd, handleDragEnd };\n};\n","import React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { propTypes } from './props';\nimport { Container, EditorBox, InnerContainer, InnerContainerWrapper, Title } from './styled';\nimport { TopToolBar } from '../TopToolBar';\nimport { BottomToolBar } from '../BottomToolBar';\nimport { elementTypes, sideBarpillsList } from '@/constants';\nimport {\n Stage,\n Layer,\n Rect,\n Circle,\n Transformer,\n Arrow,\n RegularPolygon,\n Path,\n Star,\n Line,\n Group,\n} from 'react-konva';\nimport { CanvasImage } from '../CanvasImage';\nimport theme from '@/theme';\nimport { QrElement } from '../QrElement';\nimport { EditableText } from '../EditableText';\nimport { debounce } from '@/utils';\nimport { useKonvaSnapping } from './util';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const Editor = ({\n selectedTab,\n languageLocale,\n title = TEXT_DICTIONARY?.[languageLocale]?.TITLE,\n zoomPercentage,\n onChangeZoomPercentage,\n editorHeight,\n editorWidth,\n onSetBackgroundColor,\n elements,\n history,\n redoStack,\n onSetBackgroundImage,\n onUndo,\n onRedo,\n shapeStrokeColor,\n shapeStrokeWidth,\n shapeFillColor,\n onChangeShapeStrokeColor,\n onChangeShapeStrokeWidth,\n onChangeShapeFill,\n shapeOpacity,\n onChangeShapeOpacity,\n selectedElement,\n onSelectElement,\n stageRef,\n saveHistory,\n onChangeBackgroundImageOpacity,\n backgroundImageOpacity,\n onDeleteSelectedElement,\n onCopySelectedElement,\n onToggleLockElement,\n bringSelectedElementToFront,\n sendSelectedElementToBack,\n imageStrokeWidth,\n imageStrokeColor,\n imageOpacity,\n onChangeImageStrokeWidth,\n onChangeImageStrokeColor,\n onChangeImageOpacity,\n qrStrokeWidth,\n qrStrokeColor,\n qrOpacity,\n onChangeQrStrokeWidth,\n onChangeQrStrokeColor,\n onChangeQrOpacity,\n defaultTextProps,\n onChangeTextProperty,\n onSetPageSize,\n selectedPageSize,\n loadingImages,\n loadingFonts,\n uploadImageCallBack,\n setLoadingUploadImage,\n cuttingGuideStroke,\n cuttingGuideStrokeColor,\n onChangeCuttingGuideProp,\n onSave,\n showSaveButton,\n onSetSelectedTab,\n saveButtonText,\n onRemoveBackgroundImage,\n}) => {\n const transformerRef = useRef(null);\n useEffect(() => {\n if (transformerRef?.current) {\n const selectedNode = stageRef?.current?.findOne(`#${selectedElement?.id}`);\n if (selectedNode) {\n transformerRef?.current.nodes([selectedNode]);\n transformerRef?.current.getLayer().batchDraw();\n } else {\n transformerRef?.current.nodes([]);\n }\n }\n }, [selectedElement]);\n const { handleDragging, handleDragEnd, handleResizing, handleResizeEnd } = useKonvaSnapping({\n guidelineColor: 'blue',\n guidelineDash: true,\n snapToStageCenter: true,\n snapRange: 5,\n guidelineThickness: 1,\n showGuidelines: true,\n snapToShapes: true,\n snapToStageBorders: true,\n });\n // console.error({ selectedElement });\n let canvasBackgroundColor = useMemo(() => {\n let backgroundColor;\n let backgroundIndex = elements?.findIndex(e => e?.type === elementTypes?.backgroundColor);\n\n if (backgroundIndex > -1) {\n backgroundColor = elements?.[backgroundIndex]?.color;\n }\n return backgroundColor;\n }, [elements]);\n\n let canvasBackgroundImage = useMemo(() => {\n let backgroundImage;\n\n let backgroundImageIndex = elements?.findIndex(\n e => e?.type === elementTypes?.backgroundImage,\n );\n if (backgroundImageIndex > -1) {\n backgroundImage = elements?.[backgroundImageIndex];\n }\n return backgroundImage;\n }, [elements]);\n\n const handleTransform = (id, newAttrs) => {\n let newAttributes = { ...newAttrs };\n delete newAttributes['ref'];\n const updatedElements = elements?.map(el =>\n el.id === id ? { ...el, ...newAttributes } : el,\n );\n saveHistory(updatedElements);\n onSelectElement({ ...newAttributes });\n };\n const handleSelect = elem => {\n onSelectElement(elem);\n };\n\n const debouncedTransform = debounce((id, attrs) => {\n const updatedElements = elements?.map(el =>\n el.id === id\n ? {\n ...el,\n ...attrs,\n }\n : el,\n );\n saveHistory(updatedElements);\n onSelectElement({\n ...attrs,\n });\n }, 100);\n\n const debouncedChangeText = debounce(e => {\n onChangeTextProperty('text', e);\n }, 300);\n\n const handleTextTransform = (id, attrs) => {\n debouncedTransform(id, attrs);\n };\n\n const onChangeTextContent = e => {\n debouncedChangeText(e);\n };\n const renderElements = useCallback(\n el => {\n switch (el.type) {\n case elementTypes.circle:\n return (\n <Circle\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.square:\n return (\n <Rect\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.arrowRight:\n return (\n <Arrow\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.triangle:\n return (\n <RegularPolygon\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.heart:\n return (\n <Path\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.star:\n return (\n <Star\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.horizontalLine:\n return (\n <Line\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.verticalLine:\n return (\n <Line\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.image:\n return (\n <CanvasImage\n key={el.id}\n id={el.id}\n element={{\n ...el,\n }}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n />\n );\n case elementTypes.qr:\n return (\n <QrElement\n key={el.id}\n element={el}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n onDragMove={handleDragging}\n languageLocale={languageLocale}\n LogoTitle={TEXT_DICTIONARY?.[languageLocale]?.LOGO}\n />\n );\n case elementTypes.text:\n return (\n <EditableText\n key={el.id}\n id={el.id}\n element={el}\n onClick={() => handleSelect(el)}\n onTransform={e => handleTextTransform(el.id, e)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onChangeTextContent={onChangeTextContent}\n onChangeTextProperty={onChangeTextProperty}\n />\n );\n default:\n return null;\n }\n },\n [elements, selectedElement, languageLocale],\n );\n\n return (\n <Container selectedTab={selectedTab}>\n {selectedTab && selectedTab !== sideBarpillsList?.whiteLabel && (\n <TopToolBar\n selectedTab={selectedTab}\n onSetBackgroundColor={onSetBackgroundColor}\n elements={elements}\n canvasBackgroundColor={canvasBackgroundColor}\n onSetBackgroundImage={onSetBackgroundImage}\n canvasBackgroundImage={canvasBackgroundImage}\n shapeStrokeColor={shapeStrokeColor}\n shapeStrokeWidth={shapeStrokeWidth}\n shapeFillColor={shapeFillColor}\n onChangeShapeStrokeColor={onChangeShapeStrokeColor}\n onChangeShapeStrokeWidth={onChangeShapeStrokeWidth}\n onChangeShapeFill={onChangeShapeFill}\n shapeOpacity={shapeOpacity}\n onChangeShapeOpacity={onChangeShapeOpacity}\n selectedElement={selectedElement}\n onChangeBackgroundImageOpacity={onChangeBackgroundImageOpacity}\n backgroundImageOpacity={backgroundImageOpacity}\n imageStrokeWidth={imageStrokeWidth}\n imageStrokeColor={imageStrokeColor}\n imageOpacity={imageOpacity}\n onChangeImageStrokeWidth={onChangeImageStrokeWidth}\n onChangeImageStrokeColor={onChangeImageStrokeColor}\n onChangeImageOpacity={onChangeImageOpacity}\n qrStrokeWidth={qrStrokeWidth}\n qrStrokeColor={qrStrokeColor}\n qrOpacity={qrOpacity}\n onChangeQrStrokeWidth={onChangeQrStrokeWidth}\n onChangeQrStrokeColor={onChangeQrStrokeColor}\n onChangeQrOpacity={onChangeQrOpacity}\n defaultTextProps={defaultTextProps}\n onChangeTextProperty={onChangeTextProperty}\n onSetPageSize={onSetPageSize}\n selectedPageSize={selectedPageSize}\n languageLocale={languageLocale}\n uploadImageCallBack={uploadImageCallBack}\n setLoadingUploadImage={setLoadingUploadImage}\n cuttingGuideStroke={cuttingGuideStroke}\n cuttingGuideStrokeColor={cuttingGuideStrokeColor}\n onChangeCuttingGuideProp={onChangeCuttingGuideProp}\n onRemoveBackgroundImage={onRemoveBackgroundImage}\n />\n )}\n <InnerContainer>\n <InnerContainerWrapper editorHeight={editorHeight + 50} editorWidth={editorWidth}>\n {title && <Title>{title}</Title>}\n <EditorBox editorHeight={editorHeight} editorWidth={editorWidth}>\n {!loadingImages && !loadingFonts && (\n <Stage\n width={editorWidth}\n height={editorHeight}\n ref={stageRef}\n onMouseDown={e => {\n if (e.target === e.target.getStage()) {\n onSelectElement(null);\n onSetSelectedTab?.(sideBarpillsList.template);\n }\n }}\n >\n <Layer\n onClick={() => {\n onSelectElement(null);\n onSetSelectedTab?.(sideBarpillsList.template);\n }}\n listening={false}\n >\n <Rect\n width={editorWidth}\n height={editorHeight}\n fill={canvasBackgroundColor || theme.color.white}\n />\n {canvasBackgroundImage && (\n <CanvasImage\n element={{\n ...canvasBackgroundImage,\n width: editorWidth,\n height: editorHeight,\n }}\n />\n )}\n </Layer>\n <Layer>\n <Group\n scaleX={zoomPercentage / 100}\n scaleY={zoomPercentage / 100}\n >\n {elements?.map(el => renderElements(el))}\n {selectedElement && (\n <Transformer\n ref={transformerRef}\n onTransform={handleResizing}\n onTransformEnd={handleResizeEnd}\n enabledAnchors={\n selectedElement?.draggable\n ? selectedElement?.type ===\n elementTypes?.text\n ? ['middle-left', 'middle-right']\n : [\n 'top-left',\n 'top-right',\n 'bottom-left',\n 'bottom-right',\n 'middle-left',\n 'middle-right',\n 'top-center',\n 'bottom-center',\n ]\n : []\n }\n borderStroke={theme.color.primary}\n borderStrokeWidth={2}\n // add anchors\n anchorFill={theme.color.white}\n anchorStroke={theme.color.primary}\n anchorStrokeWidth={2}\n anchorSize={8}\n rotateEnabled={\n selectedElement?.draggable ? true : false\n }\n // make all anchors look like circles\n // anchorCornerRadius={50}\n boundBoxFunc={(oldBox, newBox) => {\n // limit resize\n if (!selectedElement?.draggable) {\n return oldBox;\n }\n return newBox;\n }}\n />\n )}\n </Group>\n </Layer>\n <Layer listening={false}>\n <Rect\n listening={false}\n x={0}\n y={0}\n width={editorWidth}\n height={editorHeight}\n stroke={cuttingGuideStrokeColor}\n strokeWidth={cuttingGuideStroke}\n strokeScaleEnabled={false}\n fill={'transparent'}\n />\n </Layer>\n </Stage>\n )}\n </EditorBox>\n </InnerContainerWrapper>\n </InnerContainer>\n <BottomToolBar\n disableUndo={history.length === 0}\n disableRedo={redoStack.length === 0}\n selectedTab={selectedTab}\n zoomPercentage={zoomPercentage}\n onChangeZoomPercentage={onChangeZoomPercentage}\n onUndo={onUndo}\n onRedo={onRedo}\n selectedElement={selectedElement}\n onDeleteSelectedElement={onDeleteSelectedElement}\n onCopySelectedElement={onCopySelectedElement}\n onToggleLockElement={onToggleLockElement}\n bringSelectedElementToFront={bringSelectedElementToFront}\n sendSelectedElementToBack={sendSelectedElementToBack}\n languageLocale={languageLocale}\n onSave={onSave}\n showSaveButton={showSaveButton}\n saveButtonText={saveButtonText}\n />\n </Container>\n );\n};\n\nEditor.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n selectedSideBarItem: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n helperSideBarVisible: PropTypes.bool,\n onCollapse: PropTypes.func,\n onAddShape: PropTypes.func,\n defaultImagesList: PropTypes.array,\n customImagesList: PropTypes.array,\n onAddCustomImageToList: PropTypes.func,\n onAddImageToCanvas: PropTypes.func,\n toggleQr: PropTypes.func,\n qrPresent: PropTypes.bool,\n toggleQrLogo: PropTypes.func,\n addQrLogo: PropTypes.func,\n elements: PropTypes.array,\n qrLogo: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n onAddTextToCanvas: PropTypes.func,\n oncreateNewTemplate: PropTypes.func,\n languageLocale: PropTypes.string,\n uploadImageCallBack: PropTypes.func,\n setLoadingUploadImage: PropTypes.func,\n defaultTemplatesList: PropTypes.array,\n customTemplatesList: PropTypes.array,\n styleProps: PropTypes.object,\n};\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onCollapse: PropTypes.func,\n selectedSideBarItem: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Container = styled.div`\n height: 55px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-left: 17px;\n background: ${theme.color.gray_FBFBFB};\n border-bottom: 1px solid ${theme.color.gray_EDEDED};\n`;\n\nexport const IconWrapper = styled.div`\n height: 100%;\n padding: 0px 17px;\n display: flex;\n align-items: center;\n cursor: pointer;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { Container, IconWrapper } from './styled';\nimport theme from '@/theme';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconChevronLeft } from '@/assets';\nimport { Tooltip } from '../Tooltip';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const SideBarHeader = ({ onCollapse = () => {}, selectedSideBarItem, languageLocale }) => {\n const sideBarpillsText = {\n Template: TEXT_DICTIONARY?.[languageLocale]?.TEMPLATE,\n Text: TEXT_DICTIONARY?.[languageLocale]?.TEXT,\n Image: TEXT_DICTIONARY?.[languageLocale]?.IMAGE,\n Shape: TEXT_DICTIONARY?.[languageLocale]?.SHAPE,\n QR: TEXT_DICTIONARY?.[languageLocale]?.QR_CODE,\n 'White-label': TEXT_DICTIONARY?.[languageLocale]?.BRANDING,\n };\n return (\n <Container>\n <StyledText\n fontWeight={theme.fontWeights[600]}\n color={theme.color.gray_545454}\n fontSize={16}\n >\n {sideBarpillsText?.[selectedSideBarItem]}\n </StyledText>\n <Tooltip text={TEXT_DICTIONARY?.[languageLocale]?.COLLAPSE} position=\"left\">\n <IconWrapper onClick={onCollapse}>\n <StyledImage src={IconChevronLeft} />\n </IconWrapper>\n </Tooltip>\n </Container>\n );\n};\n\nSideBarHeader.propTypes = propTypes;\n","import { helperSideBarWidth } from '@/constants/layoutConstants';\nimport theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const SideBarWrapper = styled.div`\n width: ${({ visible = true }) => (visible ? helperSideBarWidth : 0)}px;\n display: flex;\n flex-direction: column;\n background: ${theme.color.gray_FBFBFB};\n border-left: 1px solid ${theme.color.gray_F5F6F6};\n transition: width 0.3s ease-in-out;\n overflow: hidden;\n`;\n\nexport const SideBarContainer = styled.div`\n flex: 1;\n overflow: auto;\n display: flex;\n flex-direction: column;\n width: ${helperSideBarWidth}px;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n oncreateNewTemplate: PropTypes.func,\n languageLocale: PropTypes.string,\n defaultTemplatesList: PropTypes.array,\n customTemplatesList: PropTypes.array,\n};\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n title: PropTypes.string,\n left: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n hideIcon: PropTypes.bool,\n marginTop: PropTypes.number,\n marginBottom: PropTypes.number,\n content: PropTypes.node,\n};\n","import styled from 'styled-components';\n\nexport const CollapsableContainer = styled.div`\n display: flex;\n flex-direction: column;\n margin-top: ${({ marginTop }) => marginTop}px;\n margin-bottom: ${({ marginBottom }) => marginBottom}px;\n`;\n\nexport const CollapsableHeader = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n cursor: pointer;\n justify-content: flex-start;\n align-self: flex-start;\n margin-bottom: 14px;\n`;\n\nexport const LeftIconWrapper = styled.div`\n margin-right: 6px;\n display: flex;\n align-items: center;\n`;\n\nexport const IconWrapper = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n margin-top: 3px;\n`;\n\nexport const CollapsableContent = styled.div`\n display: ${({ visible }) => (visible ? 'flex' : 'none')};\n`;\n","import React, { useCallback, useState } from 'react';\nimport { propTypes } from './props';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport theme from '@/theme';\nimport { IconCheveronDown } from '@/assets';\nimport {\n CollapsableContainer,\n CollapsableContent,\n CollapsableHeader,\n IconWrapper,\n LeftIconWrapper,\n} from './styled';\n\nexport const Collapsable = ({\n title,\n left,\n hideIcon = false,\n marginTop = 0,\n marginBottom = 30,\n content,\n}) => {\n const [visible, setVisible] = useState(true);\n const toggleVisibility = useCallback(() => {\n if (hideIcon) return;\n setVisible(!visible);\n }, [visible, setVisible]);\n\n return (\n <CollapsableContainer marginTop={marginTop} marginBottom={marginBottom}>\n <CollapsableHeader onClick={toggleVisibility}>\n {left && <LeftIconWrapper>{left}</LeftIconWrapper>}\n <StyledText\n color={theme.color.gray_646464}\n fontWeight={theme.fontWeights[500]}\n marginRight={6}\n >\n {title}\n </StyledText>\n {!hideIcon && (\n <IconWrapper>\n <StyledImage src={IconCheveronDown} />\n </IconWrapper>\n )}\n </CollapsableHeader>\n <CollapsableContent visible={visible}>{content}</CollapsableContent>\n </CollapsableContainer>\n );\n};\n\nCollapsable.propTypes = propTypes;\n","import styled from 'styled-components';\n\nexport const TemplatesContainer = styled.div`\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n gap: 10px;\n align-items: flex-start;\n`;\n\nexport const TemplateItem = styled.div`\n display: flex;\n flex-direction: column;\n cursor: pointer;\n position: relative;\n overflow: hidden;\n\n &::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.2);\n opacity: 0;\n transition: opacity 0.3s ease;\n z-index: 1;\n }\n\n &:hover::before {\n opacity: 1;\n }\n &:hover > button {\n display: flex;\n z-index: 2;\n }\n`;\n\nexport const StyledDeleteButton = styled.button`\n display: none;\n justify-content: center;\n align-items: center;\n height: 30px;\n width: 30px;\n padding: 8px;\n border-radius: 100%;\n background: rgba(255, 255, 255, 1);\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n\n &:hover {\n border-color: #d91919;\n }\n &:focus {\n outline: none;\n }\n`;\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\n","import React, { useMemo } from 'react';\nimport { propTypes } from './props';\nimport { Button } from '../Button';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconAdd } from '@/assets';\nimport { IconDelete } from '@/assets';\nimport { Collapsable } from '../Collapsable';\nimport theme from '@/theme';\nimport { StyledContainer, StyledDeleteButton, TemplateItem, TemplatesContainer } from './styled';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const TemplateSideBar = ({\n oncreateNewTemplate,\n languageLocale,\n onDeleteCustomTemplate,\n defaultTemplatesList,\n customTemplatesList,\n}) => {\n const renderDefaultContent = useMemo(() => {\n return (\n <TemplatesContainer>\n {defaultTemplatesList?.map((item, index) => (\n <TemplateItem\n key={index}\n onClick={() => {\n oncreateNewTemplate(item?.elements);\n }}\n >\n <StyledImage\n src={item?.image}\n maxHeight={125}\n maxWidth={115}\n borderRadius={6}\n />\n <StyledText\n color={theme.color.gray_A1A1A1}\n fontSize={10}\n style={{\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: 115,\n }}\n >\n {item?.title}\n </StyledText>\n </TemplateItem>\n ))}\n </TemplatesContainer>\n );\n }, []);\n\n const renderCustomContent = useMemo(() => {\n return (\n <TemplatesContainer>\n {customTemplatesList?.map((item, index) => (\n <TemplateItem\n key={index}\n onClick={() => {\n oncreateNewTemplate(item?.elements);\n }}\n >\n <StyledImage\n src={item?.image}\n maxHeight={125}\n maxWidth={115}\n borderRadius={6}\n />\n <StyledDeleteButton\n onClick={e => {\n e.stopPropagation(); // ⛔ Prevents parent onClick\n onDeleteCustomTemplate?.(item);\n }}\n >\n <StyledImage src={IconDelete} height={24} />\n </StyledDeleteButton>\n <StyledText\n color={theme.color.gray_A1A1A1}\n fontSize={10}\n style={{\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: 115,\n }}\n >\n {item?.title}\n </StyledText>\n </TemplateItem>\n ))}\n </TemplatesContainer>\n );\n }, []);\n\n return (\n <StyledContainer>\n <Button\n text={TEXT_DICTIONARY?.[languageLocale]?.NEW_TEMPLATE}\n left={<StyledImage src={IconAdd} />}\n marginBottom={38}\n onClick={() => oncreateNewTemplate()}\n />\n <Collapsable\n title={TEXT_DICTIONARY?.[languageLocale]?.DEFAULT}\n content={renderDefaultContent}\n />\n <Collapsable\n title={TEXT_DICTIONARY?.[languageLocale]?.CUSTOM_TEMPLATES}\n content={renderCustomContent}\n />\n </StyledContainer>\n );\n};\n\nTemplateSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onAddTextToCanvas: PropTypes.func,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\nexport const Container = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const ItemWrapper = styled.div`\n margin-bottom: 18px;\n cursor: pointer;\n transition: background-color 0.1s ease;\n padding: 5px;\n &:hover {\n background-color: ${theme.color.gray_F0F2F7};\n }\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { Button } from '../Button';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconAddText, IconInfo } from '@/assets';\nimport { Container, ItemWrapper, StyledContainer } from './styled';\nimport { Collapsable } from '../Collapsable';\nimport { textList } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const TextSideBar = ({ onAddTextToCanvas, languageLocale, defaultText }) => {\n const renderTextListContent = () => {\n return (\n <Container>\n {textList?.map((item, index) => {\n return (\n <ItemWrapper\n key={index}\n onClick={() => {\n onAddTextToCanvas({ ...item, text: defaultText || item?.text });\n }}\n >\n <StyledText\n color={item?.color}\n fontFamily={item?.fontFamily}\n fontWeight={item?.fontWeight}\n fontSize={item?.fontSize}\n >\n {defaultText || item?.text}\n </StyledText>\n </ItemWrapper>\n );\n })}\n </Container>\n );\n };\n return (\n <StyledContainer>\n <Button\n text={TEXT_DICTIONARY?.[languageLocale]?.ADD_TEXT}\n left={<StyledImage src={IconAddText} />}\n marginBottom={38}\n onClick={() => onAddTextToCanvas(null)}\n />\n <Collapsable\n title={TEXT_DICTIONARY?.[languageLocale]?.HELP_TEXT}\n content={renderTextListContent()}\n left={<StyledImage src={IconInfo} />}\n />\n </StyledContainer>\n );\n};\n\nTextSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n defaultImagesList: PropTypes.array,\n customImagesList: PropTypes.array,\n onAddCustomImageToList: PropTypes.func,\n onAddImageToCanvas: PropTypes.func,\n languageLocale: PropTypes.string,\n uploadImageCallBack: PropTypes.func,\n setLoadingUploadImage: PropTypes.func,\n};\n","import styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\n\nexport const ImagesContainer = styled.div`\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n gap: 20px;\n align-items: flex-start;\n`;\n\nexport const SingleItem = styled.div`\n display: flex;\n flex-direction: column;\n cursor: pointer;\n align-items: center;\n width: ${(width = 'calc(50% - 20px)') => width};\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { Button } from '../Button';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconUpload } from '@/assets';\nimport { ImagesContainer, SingleItem, StyledContainer } from './styled';\nimport { Collapsable } from '../Collapsable';\nimport theme from '@/theme';\nimport { pickImage } from '@/utils';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const ImageSideBar = ({\n defaultImagesList,\n customImagesList,\n onAddCustomImageToList,\n onAddImageToCanvas,\n languageLocale,\n uploadImageCallBack,\n setLoadingUploadImage,\n}) => {\n const renderDefaultContent = (\n <ImagesContainer>\n {defaultImagesList?.length === 0 && (\n <StyledText fontSize={10} color={theme.color.gray_535354}>\n {TEXT_DICTIONARY?.[languageLocale]?.PLEASE_ADD_IMAGES}\n </StyledText>\n )}\n {defaultImagesList?.map((item, index) => (\n <SingleItem\n key={index}\n width={'auto'}\n onClick={() => {\n onAddImageToCanvas(item);\n }}\n >\n <StyledImage src={item} maxHeight={100} maxWidth={100} />\n </SingleItem>\n ))}\n </ImagesContainer>\n );\n\n const renderCustomImages = (\n <ImagesContainer>\n {customImagesList?.length === 0 && (\n <StyledText fontSize={10} color={theme.color.gray_535354}>\n {TEXT_DICTIONARY?.[languageLocale]?.PLEASE_ADD_IMAGES}\n </StyledText>\n )}\n {customImagesList?.map((item, index) => (\n <SingleItem\n key={index}\n onClick={() => {\n onAddImageToCanvas(item);\n }}\n >\n <StyledImage src={item} maxHeight={100} maxWidth={100} />\n </SingleItem>\n ))}\n </ImagesContainer>\n );\n\n const addImageToList = async () => {\n const file = await pickImage();\n if (!file) return;\n if (uploadImageCallBack) {\n setLoadingUploadImage(true);\n const imageUrl = await uploadImageCallBack(file);\n onAddCustomImageToList(imageUrl);\n setLoadingUploadImage(false);\n } else {\n const reader = new FileReader();\n reader.onload = () => {\n onAddCustomImageToList(reader.result);\n };\n reader.readAsDataURL(file);\n }\n };\n\n return (\n <StyledContainer>\n <Button\n text={TEXT_DICTIONARY?.[languageLocale]?.ADD_IMAGE}\n left={<StyledImage src={IconUpload} />}\n marginBottom={38}\n onClick={addImageToList}\n />\n <Collapsable\n title={TEXT_DICTIONARY?.[languageLocale]?.DEFAULT}\n content={renderDefaultContent}\n />\n <Collapsable\n title={TEXT_DICTIONARY?.[languageLocale]?.CUSTOM_IMAGES}\n content={renderCustomImages}\n />\n </StyledContainer>\n );\n};\n\nImageSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onAddShape: PropTypes.func,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\n\nexport const ShapesContainer = styled.div`\n display: flex;\n flex-wrap: wrap;\n gap: 15px;\n align-items: flex-start;\n`;\n\nexport const SingleItem = styled.div`\n display: flex;\n flex-direction: column;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n width: 71px;\n height: 71px;\n transition: background-color 0.1s ease;\n &:hover {\n background-color: ${theme.color.gray_F0F2F7};\n }\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport theme from '@/theme';\nimport { ShapesContainer, SingleItem, StyledContainer } from './styled';\nimport { shapesList } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const ShapeSideBar = ({ onAddShape, languageLocale }) => {\n return (\n <StyledContainer>\n <StyledText\n color={theme.color.gray_646464}\n fontWeight={theme.fontWeights[500]}\n marginRight={6}\n marginBottom={15}\n >\n {TEXT_DICTIONARY?.[languageLocale]?.ADD_SHAPES}\n </StyledText>\n <ShapesContainer>\n {shapesList.map((item, index) => {\n return (\n <SingleItem key={index} onClick={() => onAddShape(item?.shape)}>\n <StyledImage src={item?.icon} />\n </SingleItem>\n );\n })}\n </ShapesContainer>\n </StyledContainer>\n );\n};\n\nShapeSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n toggleQr: PropTypes.func,\n qrPresent: PropTypes.bool,\n toggleQrLogo: PropTypes.func,\n addQrLogo: PropTypes.func,\n elements: PropTypes.array,\n qrLogo: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n languageLocale: PropTypes.string,\n};\n","import styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n text: PropTypes.string,\n onToggle: PropTypes.func,\n isActive: PropTypes.bool,\n disabled: PropTypes.bool,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const ToggleContainer = styled.div`\n width: 44px;\n height: 24px;\n background-color: ${({ isActive }) =>\n isActive ? theme.color.green_80D965 : theme.color.gray_E8E8E8};\n border-radius: 25px;\n display: flex;\n align-items: center;\n padding: 2px;\n cursor: pointer;\n transition: background-color 0.3s ease;\n position: relative;\n`;\n\nexport const ToggleCircle = styled.div`\n width: 20px;\n height: 20px;\n background-color: white;\n border-radius: 50%;\n position: absolute;\n left: ${({ isActive }) => (isActive ? 'calc(100% - 24px)' : '4px')};\n transition:\n left 0.3s ease,\n box-shadow 0.3s ease;\n box-shadow: ${({ isActive }) =>\n isActive ? '2px 2px 5px rgba(0, 0, 0, 0.2)' : '-2px 2px 5px rgba(0, 0, 0, 0.2)'};\n`;\n\nexport const Container = styled.div`\n padding: 10px 0;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n`;\n\nexport const InfoContainer = styled.div`\n display: flex;\n align-items: center;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconInfo } from '@/assets';\nimport theme from '@/theme';\nimport { Container, InfoContainer, ToggleCircle, ToggleContainer } from './styled';\n\nexport const RadioSection = ({ text, onToggle, isActive, disabled }) => {\n return (\n <Container>\n <InfoContainer>\n <StyledImage src={IconInfo} />\n <StyledText\n marginLeft={6}\n color={theme.color.black}\n fontSize={12}\n fontWeight={theme.fontWeights[500]}\n >\n {text}\n </StyledText>\n </InfoContainer>\n <ToggleContainer\n isActive={isActive}\n onClick={() => {\n if (disabled) {\n return;\n }\n onToggle && onToggle();\n }}\n >\n <ToggleCircle isActive={isActive} />\n </ToggleContainer>\n </Container>\n );\n};\n\nRadioSection.propTypes = propTypes;\n","import React, { useMemo } from 'react';\nimport { propTypes } from './props';\nimport { StyledContainer } from './styled';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport theme from '@/theme';\nimport { RadioSection } from '../RadioSection';\nimport { Button } from '../Button';\nimport { IconUpload } from '@/assets';\nimport { elementTypes } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const QrSideBar = ({\n toggleQr,\n qrPresent,\n toggleQrLogo,\n addQrLogo,\n elements,\n qrLogo,\n languageLocale,\n}) => {\n let logoVisible = useMemo(() => {\n let index = elements?.findIndex(e => e?.type === elementTypes?.qr);\n if (index < 0) {\n return false;\n }\n return elements?.[index]?.logoVisible;\n }, [elements]);\n return (\n <StyledContainer>\n <StyledText\n color={theme.color.gray_646464}\n fontWeight={theme.fontWeights[500]}\n marginRight={6}\n marginBottom={17}\n >\n {TEXT_DICTIONARY?.[languageLocale]?.SETTINGS}\n </StyledText>\n <RadioSection\n text={TEXT_DICTIONARY?.[languageLocale]?.SHOW_QR_CODE}\n isActive={qrPresent}\n onToggle={toggleQr}\n />\n <RadioSection\n text={TEXT_DICTIONARY?.[languageLocale]?.SHOW_LOGO_IN_QR}\n isActive={qrPresent && logoVisible}\n onToggle={toggleQrLogo}\n disabled={!qrPresent}\n />\n\n <Button\n text={TEXT_DICTIONARY?.[languageLocale]?.ADD_LOGO}\n left={<StyledImage src={IconUpload} />}\n marginBottom={30}\n marginTop={24}\n onClick={addQrLogo}\n />\n {qrLogo && <StyledImage src={qrLogo} height={89} width={89} />}\n </StyledContainer>\n );\n};\n\nQrSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n translation: PropTypes.object,\n};\n","import styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { StyledContainer } from './styled';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport theme from '@/theme';\nimport { RadioSection } from '../RadioSection';\nimport { Button } from '../Button';\nimport { IconGraph } from '@/assets';\nimport { ButtonVarients } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const WhiteLabelSideBar = ({ languageLocale }) => (\n <StyledContainer>\n <StyledText\n color={theme.color.gray_646464}\n fontWeight={theme.fontWeights[500]}\n marginRight={6}\n marginBottom={17}\n >\n {TEXT_DICTIONARY?.[languageLocale]?.PREMIUM_SETTINGS}\n </StyledText>\n <RadioSection text={TEXT_DICTIONARY?.[languageLocale]?.SHOW_BRANDING} />\n\n <StyledText\n fontSize={12}\n color={theme.color.gray_333}\n marginTop={16}\n marginBottom={30}\n lineHeight={'20px'}\n >\n {TEXT_DICTIONARY?.[languageLocale]?.UNLOCK_PREMIUM_FEATURE_PARAGRAPH}\n </StyledText>\n <Button\n text={TEXT_DICTIONARY?.[languageLocale]?.UPGRADE_PLAN}\n left={<StyledImage src={IconGraph} />}\n varient={ButtonVarients.primary}\n />\n </StyledContainer>\n);\n\nWhiteLabelSideBar.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { SideBarHeader } from '../SideBarHeader';\nimport { SideBarContainer, SideBarWrapper } from './styled';\nimport { TemplateSideBar } from '../TemplateSideBar';\nimport { TextSideBar } from '../TextSideBar';\nimport { ImageSideBar } from '../ImageSideBar';\nimport { ShapeSideBar } from '../ShapeSideBar';\nimport { QrSideBar } from '../QrSideBar';\nimport { WhiteLabelSideBar } from '../WhiteLabelSideBar';\nimport { sideBarpillsList } from '@/constants';\nexport const HelperSideBar = ({\n selectedSideBarItem,\n helperSideBarVisible,\n onCollapse = () => {},\n onAddShape,\n defaultImagesList,\n customImagesList,\n onAddCustomImageToList,\n onAddImageToCanvas,\n toggleQr,\n qrPresent,\n toggleQrLogo,\n addQrLogo,\n elements,\n qrLogo,\n onAddTextToCanvas,\n oncreateNewTemplate,\n uploadImageCallBack,\n setLoadingUploadImage,\n defaultTemplatesList,\n customTemplatesList,\n onDeleteCustomTemplate,\n styleProps,\n defaultText,\n languageLocale,\n}) => (\n <SideBarWrapper visible={selectedSideBarItem && helperSideBarVisible}>\n <SideBarHeader\n onCollapse={onCollapse}\n selectedSideBarItem={selectedSideBarItem}\n languageLocale={languageLocale}\n />\n <SideBarContainer visible={selectedSideBarItem && helperSideBarVisible}>\n {selectedSideBarItem === sideBarpillsList?.template ? (\n <TemplateSideBar\n oncreateNewTemplate={oncreateNewTemplate}\n languageLocale={languageLocale}\n onDeleteCustomTemplate={onDeleteCustomTemplate}\n defaultTemplatesList={defaultTemplatesList}\n customTemplatesList={customTemplatesList}\n styleProps={styleProps}\n />\n ) : selectedSideBarItem === sideBarpillsList?.text ? (\n <TextSideBar\n onAddTextToCanvas={onAddTextToCanvas}\n languageLocale={languageLocale}\n styleProps={styleProps}\n defaultText={defaultText}\n />\n ) : selectedSideBarItem === sideBarpillsList?.image ? (\n <ImageSideBar\n defaultImagesList={defaultImagesList}\n customImagesList={customImagesList}\n onAddCustomImageToList={onAddCustomImageToList}\n onAddImageToCanvas={onAddImageToCanvas}\n languageLocale={languageLocale}\n uploadImageCallBack={uploadImageCallBack}\n setLoadingUploadImage={setLoadingUploadImage}\n styleProps={styleProps}\n />\n ) : selectedSideBarItem === sideBarpillsList?.shape ? (\n <ShapeSideBar onAddShape={onAddShape} languageLocale={languageLocale} />\n ) : selectedSideBarItem === sideBarpillsList?.qr ? (\n <QrSideBar\n toggleQr={toggleQr}\n qrPresent={qrPresent}\n toggleQrLogo={toggleQrLogo}\n addQrLogo={addQrLogo}\n elements={elements}\n qrLogo={qrLogo}\n languageLocale={languageLocale}\n styleProps={styleProps}\n />\n ) : selectedSideBarItem === sideBarpillsList?.whiteLabel ? (\n <WhiteLabelSideBar languageLocale={languageLocale} styleProps={styleProps} />\n ) : null}\n </SideBarContainer>\n </SideBarWrapper>\n);\n\nHelperSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n children: PropTypes.node,\n backgroundColor: PropTypes.string,\n};\n","import React from 'react';\nimport { propTypes } from './props';\nimport theme from '@/theme';\n\nexport const Overlay = ({ children, backgroundColor = theme.color.black_transparent }) => (\n <div\n style={{\n height: '100%',\n width: '100%',\n position: 'absolute',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n background: backgroundColor,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n zIndex: 99999,\n }}\n >\n {children}\n </div>\n);\n\nOverlay.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n size: PropTypes.string,\n color: PropTypes.string,\n borderWidth: PropTypes.string,\n};\n","import styled, { keyframes } from 'styled-components';\n\nconst spin = keyframes`\n to {\n transform: rotate(360deg);\n }\n`;\n\nexport const SpinnerWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const Spinner = styled.div`\n width: ${props => props.size || '40px'};\n height: ${props => props.size || '40px'};\n border: ${props => props.borderWidth || '4px'} solid\n ${props => props.color + '33' || 'rgba(0, 123, 255, 0.2)'};\n border-top-color: ${props => props.color || '#007bff'};\n border-radius: 50%;\n animation: ${spin} 1s linear infinite;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { Spinner, SpinnerWrapper } from './styled';\n\nexport const LoadingSpinner = ({ size = '40px', color = '#007bff', borderWidth = '4px' }) => (\n <SpinnerWrapper>\n <Spinner size={size} color={color} borderWidth={borderWidth} />\n </SpinnerWrapper>\n);\n\nLoadingSpinner.propTypes = propTypes;\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import memoize from '@emotion/memoize';\n\n// eslint-disable-next-line no-undef\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","import React, {\n useCallback,\n useMemo,\n useRef,\n useState,\n useEffect,\n forwardRef,\n useImperativeHandle,\n} from 'react';\nimport { propTypes } from './props';\nimport { StudioWrapper } from './styled';\nimport { Editor, HelperSideBar, LoadingSpinner, Overlay, SideBar } from '@/components';\nimport {\n calculatePercentageValue,\n exportStageAsImage,\n isElementOfSameType,\n isElementShape,\n loadAllGoogleFonts,\n pickImage,\n preloadRelevantImages,\n removeImageProperty,\n validateLocale,\n} from '@/utils';\nimport { pageSizes, pageSizesDimensions } from '@/constants/layoutConstants';\nimport {\n basicTextProps,\n defaultElements,\n defaultSideBarImagesList,\n elementTypes,\n sideBarpillsList,\n} from '@/constants';\nimport theme from '@/theme';\nimport { StyleSheetManager } from 'styled-components';\nimport isPropValid from '@emotion/is-prop-valid';\n/**\n * @typedef {Object} StudioProps\n * @property {string} [title]\n * @property {string} [languageLocale]\n * @property {Array} [elementsList]\n * @property {Array} [customImages]\n * @property {Array} [defaultImages]\n * @property {boolean} [disableWhiteLabel]\n * @property {Array} [defaultTemplatesList]\n * @property {Array} [customTemplatesList]\n * @property {string} [qrLink]\n * @property {Object} [styleProps]\n * @property {string} [defaultText]\n * @property {Function} onSave\n * @property {string} [saveButtonText]\n * @property {'en'|'ru'|'pl'|'de'|'es'|'fr'|'it'} [locale]\n */\n\n/**\n * @type {React.ForwardRefExoticComponent<StudioProps & React.RefAttributes<HTMLDivElement>>}\n */\nexport const Studio = forwardRef(\n (\n {\n title = '',\n elementsList = defaultElements,\n uploadImageCallBack,\n customImages,\n defaultImages = defaultSideBarImagesList,\n disableWhiteLabel,\n defaultTemplatesList = [],\n customTemplatesList = [],\n onDeleteCustomTemplate,\n qrLink = 'www.google.com',\n styleProps = {},\n defaultText,\n onSave,\n showSaveButton,\n saveButtonText,\n locale = 'en',\n },\n ref,\n ) => {\n const stageRef = useRef(null);\n const [selectedTab, setSelectedTab] = useState(sideBarpillsList.template);\n const [languageLocale, setLanguageLocale] = useState(validateLocale(locale));\n const [loadingFonts, setLoadingFonts] = useState(true);\n const [loadingImages, setLoadingImages] = useState(true);\n const [loading, setLoading] = useState(false);\n const [loadingUploadImage, setLoadingUploadImage] = useState(false);\n const [helperSideBarVisible, setHelperSideBarVisible] = useState(true);\n const [zoomPercentage, setZoomPercentage] = useState(100);\n const [elements, setElements] = useState(elementsList);\n const [backgroundImageOpacity, setBackgroundImageOpacity] = useState(1);\n const [history, setHistory] = useState([]);\n const [redoStack, setRedoStack] = useState([]);\n const [shapeFillColor, setShapeFillColor] = useState(theme.color.white);\n const [shapeStrokeWidth, setShapeStrokeWidth] = useState(1);\n const [shapeStrokeColor, setShapeStrokeColor] = useState(theme.color.black);\n const [shapeOpacity, setShapeOpacity] = useState(1);\n const [imageStrokeWidth, setImageStrokeWidth] = useState(0);\n const [imageStrokeColor, setImageStrokeColor] = useState(theme.color.black);\n const [imageOpacity, setImageOpacity] = useState(1);\n const [qrStrokeWidth, setQrStrokeWidth] = useState(2);\n const [qrStrokeColor, setQrStrokeColor] = useState(theme.color.black);\n const [qrOpacity, setQrOpacity] = useState(1);\n const [selectedElement, setSelectedElement] = useState(null);\n const [customImagesList, setCustomImagesList] = useState(customImages || []);\n const [qrLogo, setQrLogo] = useState(null);\n const [defaultTextProps, setDefaultTextProps] = useState(basicTextProps);\n useImperativeHandle(ref, () => ({\n onSave: async () => {\n setLoading(true);\n setSelectedElement(null);\n setZoomPercentage(100);\n await new Promise(resolve => setTimeout(resolve, 100));\n let processedElements = removeImageProperty(elements);\n const dataURL = await exportStageAsImage(stageRef);\n setLoading(false);\n return { elements: processedElements, image: dataURL };\n },\n }));\n // console.log(isPropValid('onClick'));\n useEffect(() => {\n setLanguageLocale(validateLocale(locale));\n }, [locale]);\n\n useEffect(() => {\n setCustomImagesList(customImages);\n }, [customImages]);\n\n useEffect(() => {\n setLoadingFonts(true);\n loadAllGoogleFonts()\n .then(() => {\n // eslint-disable-next-line no-console\n // console.log(msg);\n })\n .catch(err => {\n // eslint-disable-next-line no-console\n console.error('❌ Error loading fonts:', err);\n })\n .finally(() => {\n setTimeout(() => {\n setLoadingFonts(false);\n }, 1000);\n // eslint-disable-next-line no-console\n console.log('🎉 Font loading complete!');\n });\n }, []);\n useEffect(() => {\n LoadImages(elementsList);\n setElements(elementsList);\n }, [...elementsList]);\n\n const LoadImages = elems => {\n setLoadingImages(true);\n preloadRelevantImages(elems)\n .then(({ errors }) => {\n // eslint-disable-next-line no-console\n // console.log('✅ Loaded images:', successes);\n if (errors?.length > 0) {\n // eslint-disable-next-line no-console\n console.log('❌ Failed images:', errors);\n }\n })\n .catch(err => {\n // eslint-disable-next-line no-console\n console.error('Something went really wrong:', err);\n })\n .finally(() => {\n setLoadingImages(false);\n });\n };\n\n const editorHeight = useMemo(() => {\n return calculatePercentageValue(\n pageSizesDimensions[\n elements?.find(e => e?.type === elementTypes?.pageSize)?.size || pageSizes?.A4\n ]?.height,\n zoomPercentage,\n );\n }, [zoomPercentage, elements]);\n const editorWidth = useMemo(() => {\n return calculatePercentageValue(\n pageSizesDimensions[\n elements?.find(e => e?.type === elementTypes?.pageSize)?.size || pageSizes?.A4\n ]?.width,\n zoomPercentage,\n );\n }, [zoomPercentage, elements]);\n const selectedPageSize = useMemo(() => {\n return elements?.find(e => e?.type === elementTypes?.pageSize)?.size || pageSizes?.A4;\n }, [elements]);\n\n const onSelectedTab = useCallback(\n tab => {\n setSelectedElement(null);\n setSelectedTab(tab);\n setHelperSideBarVisible(true);\n },\n [setSelectedTab],\n );\n\n const onCollapseHelperSideBar = useCallback(() => {\n setHelperSideBarVisible(false);\n }, [setHelperSideBarVisible]);\n\n const onChangeZoomPercentage = percentage => {\n setZoomPercentage(percentage);\n };\n\n const saveHistory = newElements => {\n setHistory([...history, elements]);\n setRedoStack([]);\n setElements(newElements);\n };\n\n const onSetBackgroundColor = color => {\n if (!color) {\n return;\n }\n let newElement;\n let elemClone = [...elements];\n let backgroundColorIndex = elemClone.findIndex(\n e => e?.type === elementTypes?.backgroundColor,\n );\n if (backgroundColorIndex > -1) {\n elemClone.splice(backgroundColorIndex, 1);\n }\n newElement = {\n type: elementTypes?.backgroundColor,\n id: `element${Date.now()}`,\n color: color,\n };\n\n saveHistory([...elemClone, newElement]);\n };\n const onSetPageSize = size => {\n if (!size) {\n return;\n }\n\n let elemClone = JSON.parse(JSON.stringify(elements));\n let sizeIndex = elemClone.findIndex(e => e?.type === elementTypes?.pageSize);\n if (sizeIndex > -1) {\n elemClone[sizeIndex]['size'] = size;\n } else {\n let sizeElement = {\n type: elementTypes?.pageSize,\n id: `element${Date.now()}`,\n size: size,\n };\n elemClone.push(sizeElement);\n }\n\n saveHistory(removeImageProperty(elemClone));\n };\n\n const onChangeCuttingGuideProp = (type, value) => {\n let elemClone = JSON.parse(JSON.stringify(elements));\n let sizeIndex = elemClone.findIndex(e => e?.type === elementTypes?.pageSize);\n if (sizeIndex > -1) {\n elemClone[sizeIndex][type] = value;\n } else {\n let sizeElement = {\n type: elementTypes?.pageSize,\n id: `element${Date.now()}`,\n };\n sizeElement[type] = value;\n elemClone.push(sizeElement);\n }\n saveHistory(removeImageProperty(elemClone));\n };\n\n const addElement = elem => {\n saveHistory([...elements, elem]);\n setSelectedElement(elem);\n };\n\n const addShape = type => {\n let shapeProps = {\n id: `element${Date.now()}`,\n x: editorWidth / 2 - 50,\n y: editorHeight / 2 - 50,\n fill: shapeFillColor,\n stroke: shapeStrokeColor,\n strokeWidth: shapeStrokeWidth,\n opacity: shapeOpacity,\n type: type,\n draggable: true,\n };\n if (type === elementTypes.circle) {\n shapeProps['radius'] = 70;\n shapeProps['x'] = editorWidth / 2;\n shapeProps['y'] = editorHeight / 2;\n addElement(shapeProps);\n } else if (type === elementTypes.square) {\n shapeProps['height'] = 100;\n shapeProps['width'] = 100;\n shapeProps['name'] = elementTypes.square;\n\n addElement(shapeProps);\n } else if (type === elementTypes.arrowRight) {\n shapeProps['points'] = [0, 0, 100, 0];\n shapeProps['pointerLength'] = 20;\n shapeProps['pointerWidth'] = 20;\n shapeProps['strokeWidth'] = 4;\n shapeProps['fill'] = shapeStrokeColor;\n addElement(shapeProps);\n } else if (type === elementTypes.triangle) {\n shapeProps['sides'] = 3;\n shapeProps['radius'] = 60;\n shapeProps['rotation'] = 0;\n shapeProps['x'] = editorWidth / 2;\n shapeProps['y'] = editorHeight / 2;\n addElement(shapeProps);\n } else if (type === elementTypes.heart) {\n shapeProps['data'] = `M 50,20 \n C 20,-10 -30,40 50,90 \n C 130,40 80,-10 50,20 Z`;\n shapeProps['scale'] = { x: 1, y: 1 };\n addElement(shapeProps);\n } else if (type === elementTypes.star) {\n shapeProps['numPoints'] = 5;\n shapeProps['innerRadius'] = 30;\n shapeProps['outerRadius'] = 70;\n shapeProps['x'] = editorWidth / 2;\n shapeProps['y'] = editorHeight / 2;\n addElement(shapeProps);\n } else if (type === elementTypes.horizontalLine) {\n const centerY = editorHeight / 2;\n shapeProps['points'] = [50, centerY, editorWidth - 50, centerY];\n shapeProps['x'] = 0;\n shapeProps['y'] = 0;\n shapeProps['strokeWidth'] = 4;\n\n addElement(shapeProps);\n } else if (type === elementTypes.verticalLine) {\n const centerX = editorWidth / 2;\n shapeProps['points'] = [centerX, 50, centerX, editorHeight - 50];\n shapeProps['x'] = 0;\n shapeProps['y'] = 0;\n shapeProps['strokeWidth'] = 4;\n\n addElement(shapeProps);\n }\n // console.error(type);\n };\n\n const onSetBackgroundImage = img => {\n let newElement;\n let elemClone = [...elements];\n let backgroundImageIndex = elemClone.findIndex(\n e => e?.type === elementTypes?.backgroundImage,\n );\n if (backgroundImageIndex > -1) {\n elemClone.splice(backgroundImageIndex, 1);\n }\n newElement = {\n type: elementTypes?.backgroundImage,\n id: `element${Date.now()}`,\n src: img,\n opacity: backgroundImageOpacity,\n };\n saveHistory([...elemClone, newElement]);\n };\n const onRemoveBackgroundImage = () => {\n let elemClone = JSON.parse(JSON.stringify(elements));\n let backgroundImageIndex = elemClone.findIndex(\n e => e?.type === elementTypes?.backgroundImage,\n );\n if (backgroundImageIndex > -1) {\n elemClone.splice(backgroundImageIndex, 1);\n saveHistory(elemClone);\n }\n };\n\n const onChangeBackgroundImageOpacity = val => {\n let backgroundImageIndex = elements?.findIndex(\n e => e?.type === elementTypes?.backgroundImage,\n );\n if (backgroundImageIndex > -1) {\n const updatedElements = elements?.map(el =>\n el.type === elementTypes?.backgroundImage ? { ...el, opacity: val } : el,\n );\n\n saveHistory(updatedElements);\n }\n setBackgroundImageOpacity(val);\n };\n\n const undo = useCallback(() => {\n if (history.length > 0) {\n // if (history.length === 1) {\n // setSelectedElement(null);\n // }\n setSelectedElement(null);\n\n const previousState = history[history.length - 1];\n setRedoStack([elements, ...redoStack]);\n setHistory(history.slice(0, -1));\n setElements(previousState);\n }\n }, [history, elements, redoStack, setRedoStack, setHistory, setElements]);\n\n const redo = useCallback(() => {\n if (redoStack.length > 0) {\n setSelectedElement(null);\n\n const nextState = redoStack[0];\n setHistory([...history, elements]);\n setRedoStack(redoStack.slice(1));\n setElements(nextState);\n }\n }, [history, elements, redoStack, setHistory, setRedoStack, setElements]);\n\n const onSelectElement = element => {\n if (isElementShape(element)) {\n setSelectedTab(sideBarpillsList?.shape);\n } else if (isElementOfSameType(element, elementTypes?.image)) {\n setSelectedTab(sideBarpillsList?.image);\n } else if (isElementOfSameType(element, elementTypes?.qr)) {\n setSelectedTab(sideBarpillsList?.qr);\n } else if (isElementOfSameType(element, elementTypes?.text)) {\n setSelectedTab(sideBarpillsList?.text);\n }\n if (element) {\n let elem = element;\n delete elem['ref'];\n setSelectedElement({ ...elem });\n setHelperSideBarVisible(true);\n } else {\n setSelectedElement(null);\n }\n };\n\n const changeSelectedElementProperty = (key, value) => {\n let selectedElementCopy = { ...selectedElement };\n selectedElementCopy[key] = value;\n delete selectedElementCopy['ref'];\n if (key === 'fontWeight') {\n selectedElementCopy['fontVariant'] = value;\n }\n const updatedElements = elements?.map(el =>\n el.id === selectedElementCopy?.id ? { ...selectedElementCopy } : el,\n );\n saveHistory(updatedElements);\n setSelectedElement(selectedElementCopy);\n };\n\n const onChangeShapeFill = e => {\n if (selectedElement && isElementShape(selectedElement)) {\n changeSelectedElementProperty('fill', e);\n } else {\n setShapeFillColor(e);\n }\n };\n\n const onChangeShapeStrokeWidth = e => {\n if (selectedElement && isElementShape(selectedElement)) {\n changeSelectedElementProperty('strokeWidth', e);\n } else {\n setShapeStrokeWidth(e);\n }\n };\n\n const onChangeShapeStrokeColor = e => {\n if (selectedElement && isElementShape(selectedElement)) {\n changeSelectedElementProperty('stroke', e);\n } else {\n setShapeStrokeColor(e);\n }\n };\n\n const onChangeShapeOpacity = e => {\n if (selectedElement && isElementShape(selectedElement)) {\n changeSelectedElementProperty('opacity', e);\n } else {\n setShapeOpacity(e);\n }\n };\n const onDeleteSelectedElement = () => {\n let index = elements?.findIndex(e => e?.id === selectedElement?.id);\n if (index < 0) {\n return;\n }\n let copy = [...elements];\n copy.splice(index, 1);\n setSelectedElement(null);\n saveHistory([...copy]);\n };\n const onCopySelectedElement = () => {\n let copyElement = { ...selectedElement };\n copyElement['id'] = `element${Date.now()}`;\n copyElement['x'] = selectedElement?.x + 10;\n copyElement['y'] = selectedElement?.y + 10;\n copyElement['draggable'] = true;\n\n addElement(copyElement);\n };\n const onToggleLockElement = () => {\n changeSelectedElementProperty('draggable', !selectedElement?.draggable);\n // setSelectedElement(null);\n };\n const bringSelectedElementToFront = () => {\n let copyElements = [...elements];\n const index = copyElements?.findIndex(elem => elem.id === selectedElement?.id);\n if (index === -1) {\n return;\n }\n const [selectedElem] = copyElements?.splice(index, 1);\n copyElements?.push(selectedElem);\n saveHistory([...copyElements]);\n };\n const createNewTemplate = (elems = [...defaultElements]) => {\n setElements([...elems]);\n setHistory([]);\n setRedoStack([]);\n };\n\n const sendSelectedElementToBack = () => {\n let copyElements = [...elements];\n const index = copyElements?.findIndex(elem => elem.id === selectedElement?.id);\n if (index === -1) {\n return;\n }\n const [selectedElem] = copyElements?.splice(index, 1);\n copyElements?.unshift(selectedElem);\n saveHistory([...copyElements]);\n };\n const onChangeImageStrokeWidth = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.image)) {\n changeSelectedElementProperty('strokeWidth', e);\n } else {\n setImageStrokeWidth(e);\n }\n };\n\n const onChangeImageStrokeColor = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.image)) {\n changeSelectedElementProperty('stroke', e);\n } else {\n setImageStrokeColor(e);\n }\n };\n\n const onChangeImageOpacity = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.image)) {\n changeSelectedElementProperty('opacity', e);\n } else {\n setImageOpacity(e);\n }\n };\n\n const addCustomImageToList = img => {\n // console.error({img});\n setCustomImagesList([...customImagesList, img]);\n };\n\n const addImageToCanvas = img => {\n let imgProps = {\n id: `element${Date.now()}`,\n x: editorWidth / 2 - 50,\n y: editorHeight / 2 - 50,\n stroke: imageStrokeColor,\n strokeWidth: imageStrokeWidth,\n opacity: imageOpacity,\n type: elementTypes.image,\n draggable: true,\n // width: 100,\n // height: 100,\n src: img,\n };\n addElement(imgProps);\n };\n const addTextToCanvas = e => {\n let text = e ? e : defaultTextProps;\n let textProps = {\n id: `element${Date.now()}`,\n x: editorWidth / 2 - 100,\n y: editorHeight / 2,\n opacity: text?.opacity || defaultTextProps?.opacity,\n type: elementTypes.text,\n draggable: true,\n text: text?.text || defaultTextProps?.text,\n fontSize: text?.fontSize || defaultTextProps?.fontSize,\n fontFamily: text?.fontFamily || defaultTextProps?.fontFamily,\n color: text?.color || defaultTextProps?.color,\n textDecoration: text?.textDecoration || defaultTextProps?.textDecoration,\n fontStyle: text?.fontStyle || defaultTextProps?.fontStyle,\n fontWeight: text?.fontWeight || defaultTextProps?.fontWeight,\n textAlign: text?.textAlign || defaultTextProps?.textAlign,\n };\n if (text?.width) {\n textProps['width'] = text?.width;\n }\n\n addElement(textProps);\n };\n\n const addQrCode = () => {\n let qrProps = {\n id: `element${Date.now()}`,\n type: elementTypes.qr,\n height: 110,\n width: 110,\n x: editorWidth / 2 - 50,\n y: editorHeight / 2 - 50,\n fill: theme.color.green_80D965,\n stroke: qrStrokeColor,\n strokeWidth: qrStrokeWidth,\n draggable: true,\n qrLogo: null,\n qrText: qrLink,\n opacity: qrOpacity,\n logoVisible: false,\n };\n addElement(qrProps);\n };\n\n const removeQrCode = () => {\n let copy = elements?.filter(el => el.type !== elementTypes?.qr);\n if (selectedElement?.type === elementTypes?.qr) {\n setSelectedElement(null);\n }\n saveHistory([...copy]);\n };\n const onChangeQrStrokeWidth = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.qr)) {\n changeSelectedElementProperty('strokeWidth', e);\n } else {\n setQrStrokeWidth(e);\n }\n };\n\n const onChangeQrStrokeColor = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.qr)) {\n changeSelectedElementProperty('stroke', e);\n } else {\n setQrStrokeColor(e);\n }\n };\n\n const onChangeQrOpacity = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.qr)) {\n changeSelectedElementProperty('opacity', e);\n } else {\n setQrOpacity(e);\n }\n };\n const toggleQr = () => {\n if (elements?.findIndex(elem => elem.type === elementTypes?.qr) > -1) {\n removeQrCode();\n } else {\n addQrCode();\n }\n };\n const turnLogoVisibiltyOn = () => {\n const updatedElements = elements?.map(el =>\n el.type === elementTypes?.qr\n ? { ...el, logoVisible: true, qrLogo: el?.qrLogo || qrLogo }\n : el,\n );\n saveHistory(updatedElements);\n };\n const turnLogoVisibiltyOff = () => {\n const updatedElements = elements?.map(el =>\n el.type === elementTypes?.qr ? { ...el, logoVisible: false } : el,\n );\n saveHistory(updatedElements);\n };\n const toggleQrLogo = () => {\n let index = elements?.findIndex(elem => elem.type === elementTypes?.qr);\n if (index > -1) {\n setSelectedElement(null);\n if (elements?.[index]?.logoVisible) {\n turnLogoVisibiltyOff();\n } else {\n turnLogoVisibiltyOn();\n }\n }\n };\n\n const addQrLogo = async () => {\n const file = await pickImage();\n if (!file) return;\n if (uploadImageCallBack) {\n setLoadingUploadImage(true);\n const imageUrl = await uploadImageCallBack(file);\n addLogo(imageUrl);\n setLoadingUploadImage(false);\n } else {\n const reader = new FileReader();\n reader.onload = () => {\n addLogo(reader.result);\n };\n reader.readAsDataURL(file);\n }\n };\n const addLogo = url => {\n let index = elements?.findIndex(elem => elem.type === elementTypes?.qr);\n setQrLogo(url);\n if (index > -1) {\n // if (elements[index]?.logoVisible) {\n const updatedElements = elements?.map(el =>\n el.type === elementTypes?.qr ? { ...el, qrLogo: url } : el,\n );\n saveHistory(updatedElements);\n // }\n }\n };\n\n const onChangeTextProperty = (key, value) => {\n if (isElementOfSameType(selectedElement, elementTypes?.text)) {\n changeSelectedElementProperty(key, value);\n } else {\n let copyDefultProps = { ...defaultTextProps };\n copyDefultProps[key] = value;\n setDefaultTextProps({ ...copyDefultProps });\n }\n };\n const onSaveProgress = async () => {\n if (!onSave) {\n return;\n }\n setLoading(true);\n setSelectedElement(null);\n setZoomPercentage(100);\n await new Promise(resolve => setTimeout(resolve, 100));\n let processedElements = removeImageProperty(elements);\n const dataURL = await exportStageAsImage(stageRef);\n setLoading(false);\n onSave({ elements: processedElements, image: dataURL });\n };\n\n return (\n <StyleSheetManager shouldForwardProp={isPropValid}>\n <StudioWrapper>\n <SideBar\n selectedSideBarItem={selectedTab}\n onClickPill={onSelectedTab}\n languageLocale={languageLocale}\n disableWhiteLabel={disableWhiteLabel}\n styleProps={styleProps}\n />\n <HelperSideBar\n selectedSideBarItem={selectedTab}\n onCollapse={onCollapseHelperSideBar}\n helperSideBarVisible={helperSideBarVisible}\n onAddShape={addShape}\n defaultImagesList={defaultImages}\n customImagesList={customImagesList}\n onAddCustomImageToList={addCustomImageToList}\n onAddImageToCanvas={addImageToCanvas}\n onAddTextToCanvas={addTextToCanvas}\n toggleQr={toggleQr}\n qrPresent={elements?.findIndex(elem => elem.type === elementTypes?.qr) > -1}\n toggleQrLogo={toggleQrLogo}\n addQrLogo={addQrLogo}\n qrLogo={\n elements?.[elements?.findIndex(elem => elem.type === elementTypes?.qr)]\n ?.qrLogo || qrLogo\n }\n elements={elements}\n oncreateNewTemplate={createNewTemplate}\n uploadImageCallBack={uploadImageCallBack}\n setLoadingUploadImage={setLoadingUploadImage}\n defaultTemplatesList={defaultTemplatesList}\n customTemplatesList={customTemplatesList}\n onDeleteCustomTemplate={onDeleteCustomTemplate}\n styleProps={styleProps}\n defaultText={defaultText}\n languageLocale={languageLocale}\n />\n <Editor\n // canvasSize={canvasSize}\n cuttingGuideStroke={\n elements?.find(e => e?.type === elementTypes?.pageSize)\n ?.cuttingGuideStroke || 0\n }\n cuttingGuideStrokeColor={\n elements?.find(e => e?.type === elementTypes?.pageSize)\n ?.cuttingGuideStrokeColor || theme?.color.black\n }\n onChangeCuttingGuideProp={(type, value) => {\n onChangeCuttingGuideProp(type, value);\n }}\n editorHeight={editorHeight}\n editorWidth={editorWidth}\n selectedTab={selectedTab}\n title={title}\n zoomPercentage={zoomPercentage}\n onChangeZoomPercentage={onChangeZoomPercentage}\n onSetBackgroundColor={onSetBackgroundColor}\n elements={elements}\n history={history}\n redoStack={redoStack}\n onSetBackgroundImage={onSetBackgroundImage}\n onUndo={undo}\n onRedo={redo}\n shapeStrokeColor={shapeStrokeColor}\n shapeStrokeWidth={shapeStrokeWidth}\n shapeFillColor={shapeFillColor}\n imageStrokeWidth={imageStrokeWidth}\n imageStrokeColor={imageStrokeColor}\n imageOpacity={imageOpacity}\n onChangeImageStrokeWidth={onChangeImageStrokeWidth}\n onChangeImageStrokeColor={onChangeImageStrokeColor}\n onChangeImageOpacity={onChangeImageOpacity}\n onChangeShapeStrokeColor={onChangeShapeStrokeColor}\n onChangeShapeStrokeWidth={onChangeShapeStrokeWidth}\n onChangeShapeFill={onChangeShapeFill}\n shapeOpacity={shapeOpacity}\n onChangeShapeOpacity={onChangeShapeOpacity}\n qrStrokeWidth={qrStrokeWidth}\n qrStrokeColor={qrStrokeColor}\n qrOpacity={qrOpacity}\n onChangeQrStrokeWidth={onChangeQrStrokeWidth}\n onChangeQrStrokeColor={onChangeQrStrokeColor}\n onChangeQrOpacity={onChangeQrOpacity}\n selectedElement={selectedElement}\n onSelectElement={onSelectElement}\n stageRef={stageRef}\n saveHistory={saveHistory}\n onChangeBackgroundImageOpacity={onChangeBackgroundImageOpacity}\n backgroundImageOpacity={\n elements?.find(e => e?.type === elementTypes?.backgroundImage)\n ?.opacity || backgroundImageOpacity\n }\n onDeleteSelectedElement={onDeleteSelectedElement}\n onCopySelectedElement={onCopySelectedElement}\n onToggleLockElement={onToggleLockElement}\n bringSelectedElementToFront={bringSelectedElementToFront}\n sendSelectedElementToBack={sendSelectedElementToBack}\n defaultTextProps={defaultTextProps}\n onChangeTextProperty={onChangeTextProperty}\n onSetPageSize={onSetPageSize}\n selectedPageSize={selectedPageSize}\n loadingImages={loadingImages}\n loadingFonts={loadingFonts}\n uploadImageCallBack={uploadImageCallBack}\n setLoadingUploadImage={setLoadingUploadImage}\n onSave={onSave && onSaveProgress}\n showSaveButton={showSaveButton}\n onSetSelectedTab={onSelectedTab}\n saveButtonText={saveButtonText}\n languageLocale={languageLocale}\n onRemoveBackgroundImage={onRemoveBackgroundImage}\n />\n {(loadingFonts || loadingImages || loadingUploadImage || loading) && (\n <Overlay>\n <LoadingSpinner size=\"60px\" color={theme.color.secondary} />\n </Overlay>\n )}\n </StudioWrapper>\n </StyleSheetManager>\n );\n },\n);\n\nStudio.propTypes = propTypes;\nStudio.displayName = 'Studio';\n"],"names":["propTypes","title","PropTypes","string","languageLocale","elementsList","array","customImages","defaultImages","disableWhiteLabel","bool","defaultTemplatesList","customTemplatesList","qrLink","styleProps","object","defaultText","onSave","func","saveButtonText","locale","oneOf","palette","primary","secondary","gray_700","white","white_F5F5F5","white_F7F7F7","gray_535354","gray_545454","gray_646464","gray_200","gray_788899","icon_gray","gray_B8B8B8","gray_25","gray_7A7979","gray_E8E8E8","gray_EAEAEA","gray_CCC","gray_F2F2F2","gray_FDFCFC","gray_EDEDED","gray_FBFBFB","gray_F5F6F6","gray_A1A1A1","gray_F0F2F7","gray_333","gray_EFEFEF","gray_9DA1A7","green_80D965","black","black_transparent","color","_objectSpread","fonts","fontWeights","StudioWrapper","styled","div","_templateObject","_taggedTemplateLiteral","theme","selectedSideBarItem","oneOfType","onClickPill","SideBarWrapper","isSelected","onClick","icon","node","text","pillActiveColor","SideBarItem","_ref","_ref2","SideBarIcon","img","_templateObject2","_ref3","_ref3$isSelected","SideBarText","p","_templateObject3","_ref4","_ref4$isSelected","SideBarPill","_ref$isSelected","_ref$onClick","id","React","createElement","key","src","topTabBarpadding","helperSideBarWidth","pageSizes","A4","A3","A5","Letter","Legal","Ledger","B5","C5","pageSizesDimensions","_defineProperty","width","height","sideBarpillsList","template","image","shape","qr","whiteLabel","ButtonVarients","defaultSideBarImagesList","IconTools","IconToolsPink","textList","fontFamily","fontSize","fontWeight","textDecoration","fontStyle","textAlign","elementTypes","pageSize","backgroundColor","backgroundImage","circle","square","triangle","arrowRight","horizontalLine","verticalLine","star","heart","shapesList","IconCircle","IconSquare","IconTriangle","IconArrowRight","IconHorizontalLine","IconVerticalLine","IconStar","IconHeart","defaultElements","type","concat","Date","now","size","cuttingGuideStroke","cuttingGuideStrokeColor","basicTextProps","opacity","lineHeight","normalFonts","funkyFonts","fontFamilies","SUPPPORTED_LOCALES","TEXT_DICTIONARY","en","enTranslations","ru","ruTranslations","pl","plTranslations","de","deTranslations","es","esTranslations","fr","frTranslations","it","itTranslations","SideBar","_TEXT_DICTIONARY$lang","_TEXT_DICTIONARY$lang2","_TEXT_DICTIONARY$lang3","_TEXT_DICTIONARY$lang4","_TEXT_DICTIONARY$lang5","_TEXT_DICTIONARY$lang6","_ref$onClickPill","sideBarItems","TEMPLATE","IconTemplate","TEXT","IconText","IMAGE","IconImage","SHAPE","IconShape","QR","IconQrCode","WHITE_LABEL","IconWhiteLabel","onClickSinglePill","useCallback","e","renderPills","useMemo","map","item","primaryColor","selectedTab","zoomPercentage","number","onChangeZoomPercentage","editorHeight","editorWidth","onSetBackgroundColor","elements","history","redoStack","onSetBackgroundImage","onUndo","onRedo","shapeStrokeColor","shapeStrokeWidth","shapeFillColor","onChangeShapeStrokeColor","onChangeShapeStrokeWidth","onChangeShapeFill","shapeOpacity","onChangeShapeOpacity","selectedElement","onSelectElement","stageRef","saveHistory","onChangeBackgroundImageOpacity","backgroundImageOpacity","onDeleteSelectedElement","onCopySelectedElement","onToggleLockElement","bringSelectedElementToFront","sendSelectedElementToBack","imageStrokeWidth","imageStrokeColor","imageOpacity","onChangeImageStrokeWidth","onChangeImageStrokeColor","onChangeImageOpacity","qrStrokeWidth","qrStrokeColor","qrOpacity","onChangeQrStrokeWidth","onChangeQrStrokeColor","onChangeQrOpacity","defaultTextProps","onChangeTextProperty","onSetPageSize","selectedPageSize","loadingImages","loadingFonts","uploadImageCallBack","setLoadingUploadImage","onChangeCuttingGuideProp","Container","EditorBg","InnerContainer","InnerContainerWrapper","_ref5","Title","_templateObject4","EditorBox","_templateObject5","_ref6","_ref7","_ref8","_ref9","canvasBackgroundColor","canvasBackgroundImage","translation","ToolBarWrapper","disabled","OverlayBlocker","paddingTop","paddingBottom","paddingLeft","paddingRight","children","marginLeft","marginRight","justifyContent","gap","tooltip","tooltipPosition","StyledContainer","_ref$height","_ref2$marginLeft","_ref3$marginRight","_ref4$justifyContent","_ref5$paddingTop","_ref6$paddingRight","_ref7$paddingBottom","_ref8$paddingLeft","_ref10","_ref10$gap","_ref11","_ref12","position","Wrapper","TooltipText","css","_templateObject6","Tooltip","_ref$position","_ref$disabled","ToolBarButtonWrapper","left","right","center","list","onSelect","fontPicker","any","DropDownItem","IconWrapper","DropDownList","DropDownOption","DropDown","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","dropdownRef","useRef","useEffect","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","handleSelect","ref","style","IconDropDown","index","stopPropagation","padding","cursor","borderBottom","length","Label","RowContainer","RemoveButton","onChange","Box","input","attrs","ColorBox","setColor","handler","setTimeout","clearTimeout","onChangeColor","value","StyledImage","maxWidth","maxHeight","objectFit","_ref6$marginTop","marginTop","_ref7$marginRight","_ref8$marginBottom","marginBottom","_ref9$marginLeft","_ref10$paddingTop","_ref11$paddingRight","_ref12$paddingBottom","_ref13","_ref13$paddingLeft","_ref14","_ref14$borderRadius","borderRadius","StyledText","_ref15","_ref16","_ref16$fontSize","_ref17","_ref18","_ref18$fontWeight","_ref19","_ref20","_ref21","_ref21$marginTop","_ref22","_ref22$marginRight","_ref23","_ref23$marginBottom","_ref24","_ref24$marginLeft","_ref25","_ref25$paddingTop","_ref26","_ref26$paddingRight","_ref27","_ref27$paddingBottom","_ref28","_ref28$paddingLeft","calculatePercentageValue","percentage","pickImage","Promise","resolve","reject","accept","display","files","Error","click","isElementShape","elem","isElementOfSameType","debounce","delay","timeoutId","_this","_len","arguments","args","Array","_key","apply","sanitizeNumber","defaultValue","undefined","precision","num","parseFloat","isNaN","toFixed","loadAllGoogleFonts","weights","italics","fontParams","font","fontName","replace","variantStr","ital","w","join","fontURL","querySelector","link","href","rel","head","appendChild","loadPromises","forEach","weight","push","load","all","then","err","preloadRelevantImages","_asyncToGenerator","_regeneratorRuntime","mark","_callee","imagePromises","_args","wrap","_callee$","_context","prev","next","qrLogo","Image","onload","success","onerror","filter","Boolean","abrupt","allSettled","results","successes","r","status","errors","reason","stop","removeImageProperty","rest","_objectWithoutProperties","_excluded","exportStageAsImage","_callee3","pageSizeKey","scale","_args3","_callee3$","_context3","_callee2","stage","canvas","dataURL","_callee2$","_context2","toCanvas","pixelRatio","sent","toDataURL","t0","_x3","_x4","_x","_x2","validateLocale","includes","onChangeOpacity","min","max","step","pickerWidth","leftChild","rightChild","showLeftChild","varient","OpacityPicker","_ref$value","_ref$min","_ref$max","_ref$step","_ref$pickerWidth","_ref$gap","_ref$showLeftChild","_ref$varient","_ref$fontFamily","_ref$languageLocale","_ref$tooltip","OPACITY","_ref$tooltipPosition","pickerRef","opacityPickerVisible","setOpacityPickerVisible","IconOpacity","bottom","background","border","zIndex","Number","strokeColor","onChangeStrokeWidth","leftIcon","elementType","StrokePicker","STROKE_WIDTH_AND_COLOR","_ref$leftIcon","IconGrid","strokePickerVisible","setStrokePickerVisible","_useState3","_useState4","alignItems","transform","pointerEvents","TemplateToolBar","onRemoveBackgroundImage","selectBackgroundColor","handleBackgroundUpload","file","imageUrl","reader","FileReader","result","readAsDataURL","Object","keys","PAGE_SIZE","BACKGROUND_COLOR","IconBackgroundColor","BACKGROUND_IMAGE","IconCross","IconBackgroundImage","BACKGROUND_IMAGE_OPACITY","IconBackgroundImageOpacity","IconDropDownSmall","CUTTING_GUIDE","IconFrame","textOpacity","tabsData","arrayOf","tabPadding","TabBarContainer","_ref2$marginRight","TabItem","isLast","_ref9$selected","selected","isFirst","ToolsTabBar","_ref$tabsData","_ref$tabPadding","_ref$marginRight","element","TextToolBar","_TEXT_DICTIONARY$lang7","_TEXT_DICTIONARY$lang8","_TEXT_DICTIONARY$lang9","_TEXT_DICTIONARY$lang10","_TEXT_DICTIONARY$lang11","_TEXT_DICTIONARY$lang12","TextTabsData","IconBold","BOLD","IconTextItalic","ITALIC","IconLineThrough","LINE_THROUGH","IconTextUnderLine","UNDERLINE","AlignmentTabsData","IconAlignLeft","LEFT_ALIGN","IconAlignCenter","CENTER_ALIGN","IconAlignRight","RIGHT_ALIGN","FONT_FAMILY","TEXT_SIZE","TEXT_LINE_HEIGHT","TEXT_COLOR","IconTextSmall","TEXT_OPACITY","ImageToolBar","strokeWidth","stroke","IMAGE_OPACITY","ShapeToolBar","SHAPE_FILL","fill","SHAPE_OPACITY","QrToolBar","TopToolBar","draggable","disableUndo","disableRedo","zoomLevel","onZoomIn","onZoomOut","ZoomControlWrapper","ZoomButton","Divider","ZoomPercentage","values","StyledButton","Button","_ref$marginBottom","_ref$marginTop","ZoomControls","_ref$zoomLevel","showSaveButton","SAVE","top","ZOOM_IN_OUT","IconZoomOut","IconZoomIn","ToolBarContainer","BottomToolBarControls","BringFrontBackTabsData","IconBringFront","BRING_FORWARD","IconSentBack","SEND_BACKWARD","LOCK","UNLOCK","IconUnlock","IconLock","COPY","IconCopy","DELETE","IconDelete","BottomToolbarWrapper","UndoRedoControls","UndeRedoTabsData","IconUndo","UNDO","IconRedo","REDO","BottomToolBar","Fragment","onDragEnd","onTransformEnd","onDragMove","CanvasImage","loaded","setLoaded","setImage","window","crossOrigin","_extends","strokeScaleEnabled","LogoTitle","QrElement","innerRectWidth","innerRectHeight","innerRectX","innerRectY","logo","setLogo","_useState5","_useState6","scaleX","scaleY","Math","addQR","QRCode","qrText","margin","url","console","error","Group","Rect","fillPatternImage","fillPatternRepeat","fillPatternScale","x","y","logoVisible","Text","onTransform","onChangeTextContent","TextEditor","textNodeRef","onBlur","textWidth","textareaRef","styles","setStyles","_textNodeRef$attrs","_stg$attrs","_stg$attrs2","_textNodeRef$fontStyl","_textNodeRef$fontVari","_textNodeRef$textDeco","stg","getStage","findOne","styleObj","getHeight","overflow","outline","resize","transformOrigin","align","rotation","minHeight","whiteSpace","userSelect","call","fontVariant","_textareaRef$current","_textareaRef$current2","focus","select","Html","EditableText","textRef","setTextWidth","isEditing","setIsEditing","setText","_useState7","_useState8","isFontLoaded","setIsFontLoaded","tranform","updatedWidth","updatedObject","transformEnd","handleTextDblClick","handleTextChange","newText","_textRef$current","getWidth","visible","onDblClick","onDblTap","useKonvaSnapping","params","_params$snapRange","_params$guidelineColo","_params$guidelineDash","_params$showGuideline","_params$guidelineThic","_params$snapToStageCe","_params$snapToStageBo","_params$snapToShapes","defaultParams","snapRange","guidelineColor","guidelineDash","showGuidelines","guidelineThickness","snapToStageCenter","snapToStageBorders","snapToShapes","oppositeAnchors","getSnappingPoints","currentTarget","vertical","horizontal","_stage$children","layer","_layer$children","layerChild","_layerChild$children","obj","box","getClientRect","getName","Konva","Transformer","createLine","Layer","isHorizontal","lineX","lineY","points","line","Line","name","dash","add","absolutePosition","dotProduct","v1","v2","vectorProject","a","b","dotAB","dotBB","scalar","calculateSlope","point1","point2","deltaX","deltaY","handleDragging","parent","find","destroy","_getSnappingPoints","newPos","guideLinesX","guideLinesY","breakPoint","abs","round","handleResizing","_getSnappingPoints2","keepRatio","_movingAnchorName","anchorDragBoundFunc","oldAbsPos","newAbsPos","bounds","getActiveAnchor","_iterator","_createForOfIteratorHelper","_step","s","n","done","f","_iterator2","_step2","currentAnchorName","oppositeAnchorName","movingAnchor","anchorStartPosition","getAbsolutePosition","oppositeElement","oppositePoint","slope","transformVector","delta","projectedDelta","nextPos","_iterator3","_step3","_iterator4","_step4","handleResizeEnd","handleDragEnd","Editor","_ref$title","TITLE","onSetSelectedTab","transformerRef","_stageRef$current","selectedNode","nodes","getLayer","batchDraw","_useKonvaSnapping","backgroundIndex","findIndex","_elements$backgroundI","backgroundImageIndex","handleTransform","newAttrs","newAttributes","updatedElements","el","debouncedTransform","debouncedChangeText","handleTextTransform","renderElements","Circle","Arrow","RegularPolygon","Path","Star","LOGO","Stage","onMouseDown","listening","enabledAnchors","borderStroke","borderStrokeWidth","anchorFill","anchorStroke","anchorStrokeWidth","anchorSize","rotateEnabled","boundBoxFunc","oldBox","newBox","helperSideBarVisible","onCollapse","onAddShape","defaultImagesList","customImagesList","onAddCustomImageToList","onAddImageToCanvas","toggleQr","qrPresent","toggleQrLogo","addQrLogo","onAddTextToCanvas","oncreateNewTemplate","SideBarHeader","_ref$onCollapse","sideBarpillsText","Template","Shape","QR_CODE","BRANDING","COLLAPSE","IconChevronLeft","_ref$visible","SideBarContainer","hideIcon","content","CollapsableContainer","CollapsableHeader","LeftIconWrapper","CollapsableContent","Collapsable","_ref$hideIcon","setVisible","toggleVisibility","IconCheveronDown","TemplatesContainer","TemplateItem","StyledDeleteButton","button","TemplateSideBar","onDeleteCustomTemplate","renderDefaultContent","textOverflow","renderCustomContent","NEW_TEMPLATE","IconAdd","DEFAULT","CUSTOM_TEMPLATES","ItemWrapper","TextSideBar","renderTextListContent","ADD_TEXT","IconAddText","HELP_TEXT","IconInfo","ImagesContainer","SingleItem","ImageSideBar","PLEASE_ADD_IMAGES","renderCustomImages","addImageToList","ADD_IMAGE","IconUpload","CUSTOM_IMAGES","ShapesContainer","ShapeSideBar","ADD_SHAPES","onToggle","isActive","ToggleContainer","ToggleCircle","InfoContainer","RadioSection","QrSideBar","_elements$index","SETTINGS","SHOW_QR_CODE","SHOW_LOGO_IN_QR","ADD_LOGO","WhiteLabelSideBar","PREMIUM_SETTINGS","SHOW_BRANDING","UNLOCK_PREMIUM_FEATURE_PARAGRAPH","UPGRADE_PLAN","IconGraph","HelperSideBar","Overlay","_ref$backgroundColor","borderWidth","spin","keyframes","SpinnerWrapper","Spinner","props","LoadingSpinner","_ref$size","_ref$color","_ref$borderWidth","Studio","forwardRef","_elements$elements$fi","_elements$find4","_elements$find5","_elements$find6","_ref$elementsList","_ref$defaultImages","_ref$defaultTemplates","_ref$customTemplatesL","_ref$qrLink","_ref$styleProps","_ref$locale","setSelectedTab","setLanguageLocale","setLoadingFonts","setLoadingImages","_useState9","_useState10","loading","setLoading","_useState11","_useState12","loadingUploadImage","_useState13","_useState14","setHelperSideBarVisible","_useState15","_useState16","setZoomPercentage","_useState17","_useState18","setElements","_useState19","_useState20","setBackgroundImageOpacity","_useState21","_useState22","setHistory","_useState23","_useState24","setRedoStack","_useState25","_useState26","setShapeFillColor","_useState27","_useState28","setShapeStrokeWidth","_useState29","_useState30","setShapeStrokeColor","_useState31","_useState32","setShapeOpacity","_useState33","_useState34","setImageStrokeWidth","_useState35","_useState36","setImageStrokeColor","_useState37","_useState38","setImageOpacity","_useState39","_useState40","setQrStrokeWidth","_useState41","_useState42","setQrStrokeColor","_useState43","_useState44","setQrOpacity","_useState45","_useState46","setSelectedElement","_useState47","_useState48","setCustomImagesList","_useState49","_useState50","setQrLogo","_useState51","_useState52","setDefaultTextProps","useImperativeHandle","_onSave","processedElements","log","LoadImages","_toConsumableArray","elems","_pageSizesDimensions","_elements$find","_pageSizesDimensions2","_elements$find2","_elements$find3","onSelectedTab","tab","onCollapseHelperSideBar","newElements","newElement","elemClone","backgroundColorIndex","splice","JSON","parse","stringify","sizeIndex","sizeElement","addElement","addShape","shapeProps","centerY","centerX","val","undo","previousState","slice","redo","nextState","changeSelectedElementProperty","selectedElementCopy","copy","copyElement","copyElements","_copyElements$splice","_copyElements$splice2","selectedElem","createNewTemplate","_copyElements$splice3","_copyElements$splice4","unshift","addCustomImageToList","addImageToCanvas","imgProps","addTextToCanvas","textProps","addQrCode","qrProps","removeQrCode","turnLogoVisibiltyOn","turnLogoVisibiltyOff","addLogo","copyDefultProps","onSaveProgress","StyleSheetManager","shouldForwardProp","isPropValid","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,WAAS,GAAG;EACrBC,KAAK,EAAEC,SAAS,CAACC,MAAM;EACvBC,cAAc,EAAEF,SAAS,CAACC,MAAM;EAChCE,YAAY,EAAEH,SAAS,CAACI,KAAK;EAC7BC,YAAY,EAAEL,SAAS,CAACI,KAAK;EAC7BE,aAAa,EAAEN,SAAS,CAACI,KAAK;EAC9BG,iBAAiB,EAAEP,SAAS,CAACQ,IAAI;EACjCC,oBAAoB,EAAET,SAAS,CAACI,KAAK;EACrCM,mBAAmB,EAAEV,SAAS,CAACI,KAAK;EACpCO,MAAM,EAAEX,SAAS,CAACC,MAAM;EACxBW,UAAU,EAAEZ,SAAS,CAACa,MAAM;EAC5BC,WAAW,EAAEd,SAAS,CAACC,MAAM;EAC7Bc,MAAM,EAAEf,SAAS,CAACgB,IAAI;EACtBC,cAAc,EAAEjB,SAAS,CAACC,MAAM;AAChCiB,EAAAA,MAAM,EAAElB,SAAS,CAACmB,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AACtE,CAAC;;ACjBD;AACA;AACA;AACO,IAAMC,OAAO,GAAG;AACnBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,SAAS,EAAE,SAAS;AACpBC,EAAAA,QAAQ,EAAE,SAAS;AACnBC,EAAAA,KAAK,EAAE,SAAS;AAChBC,EAAAA,YAAY,EAAE,SAAS;AACvBC,EAAAA,YAAY,EAAE,SAAS;AACvBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,QAAQ,EAAE,SAAS;AACnBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,SAAS,EAAE,SAAS;AACpBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,QAAQ,EAAE,MAAM;AAChBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,QAAQ,EAAE,SAAS;AACnBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,YAAY,EAAE,SAAS;AACvBC,EAAAA,KAAK,EAAE,SAAS;AAChBC,EAAAA,iBAAiB,EAAE;AACvB,CAAC;AAEM,IAAMC,KAAK,GAAAC,cAAA,CAAA,EAAA,EACXjC,OAAO,CACb;;ACvCM,IAAMkC,KAAK,GAAG;AACjBjC,EAAAA,OAAO,EAAE,+BAA+B;AACxCC,EAAAA,SAAS,EAAE,mBAEf,CAAC;AACM,IAAMiC,WAAW,GAAG;AACvB,EAEA,GAAG,EAAE,GAAG;AACR,EAAA,GAAG,EAAE,GAAG;AACR,EAAA,GAAG,EAAE,GAAG;AACR,EAAA,GAAG,EAAE,GAAG;AACR,EAAA,GAAG,EAAE,GAGT,CAAC;;ACXD,YAAe;AAAEH,EAAAA,KAAK,EAALA,KAAK;AAAEE,EAAAA,KAAK,EAALA,KAAK;AAAEC,EAAAA,WAAW,EAAXA;AAAY,CAAC;;;ACDrC,IAAMC,aAAa,GAAGC,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CACfC,CAAAA,0BAAAA,EAAAA,sJAAAA,CAAAA,CAAAA,CAAAA,EAAAA,KAAK,CAACT,KAAK,CAAC5B,KAAK,CAQxC;;ACVM,IAAM1B,WAAS,GAAG;AACrBgE,EAAAA,mBAAmB,EAAE9D,SAAS,CAAC+D,SAAS,CAAC,CACrC/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EACJmD,WAAW,EAAEhE,SAAS,CAACgB,IAAI;EAC3Bd,cAAc,EAAEF,SAAS,CAACC,MAAM;EAChCM,iBAAiB,EAAEP,SAAS,CAACQ,IAAI;EACjCI,UAAU,EAAEZ,SAAS,CAACa;AAC1B,CAAC;;;ACRM,IAAMoD,gBAAc,GAAGR,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAChBC,CAAAA,0BAAAA,EAAAA,8FAAAA,CAAAA,CAAAA,CAAAA,EAAAA,KAAK,CAACT,KAAK,CAAC5B,KAAK,CAKxC;;ACPM,IAAM1B,WAAS,GAAG;EACrBoE,UAAU,EAAElE,SAAS,CAACQ,IAAI;EAC1B2D,OAAO,EAAEnE,SAAS,CAACgB,IAAI;EACvBoD,IAAI,EAAEpE,SAAS,CAACqE,IAAI;EACpBC,IAAI,EAAEtE,SAAS,CAACC,MAAM;EACtBsE,eAAe,EAAEvE,SAAS,CAACC;AAC/B,CAAC;;;ACLM,IAAMuE,WAAW,GAAGf,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,iMAAA,EAAA,mJAAA,EAAA,YAAA,CAAA,CAAA,CAAA,EAQb,UAAAa,IAAA,EAAA;AAAA,EAAA,IAAGP,UAAU,GAAAO,IAAA,CAAVP,UAAU;IAAEK,eAAe,GAAAE,IAAA,CAAfF,eAAe;EAAA,OAC9CL,UAAU,GAAGK,eAAe,GAAGV,KAAK,CAACT,KAAK,CAAC9B,SAAS;AAAA,CAAA,EAMhC,UAAAoD,KAAA,EAAA;AAAA,EAAA,IAAGH,eAAe,GAAAG,KAAA,CAAfH,eAAe;AAAA,EAAA,OAAOA,eAAe;AAAA,CAEnE,CAAA;AAEM,IAAMI,WAAW,GAAGlB,MAAM,CAACmB,GAAG,CAAAC,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,wGAAA,EAAA,WAAA,EAAA,+DAAA,CAAA,CAAA,CAAA,EAKvB,UAAAkB,KAAA,EAAA;AAAA,EAAA,IAAAC,gBAAA,GAAAD,KAAA,CAAGZ,UAAU;AAAVA,IAAAA,UAAU,GAAAa,gBAAA,KAAG,MAAA,GAAA,KAAK,GAAAA,gBAAA;AAAA,EAAA,OAAQb,UAAU,GAAG,yBAAyB,GAAG,MAAM;AAAA,CAAC,EAErFM,WAAW,CAGhB;AAEM,IAAMQ,WAAW,GAAGvB,MAAM,CAACwB,CAAC,CAAAC,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAAA,CAAA,eAAA,EAAA,4CAAA,EAAA,sBAAA,EAAA,gEAAA,EAAA,6BAAA,EAAA,YAAA,CAAA,CAAA,CAAA,EACtB,UAAAuB,KAAA,EAAA;AAAA,EAAA,IAAAC,gBAAA,GAAAD,KAAA,CAAGjB,UAAU;AAAVA,IAAAA,UAAU,GAAAkB,gBAAA,KAAG,MAAA,GAAA,KAAK,GAAAA,gBAAA;AAAA,EAAA,OAC1BlB,UAAU,GAAGL,KAAK,CAACT,KAAK,CAAC5B,KAAK,GAAGqC,KAAK,CAACT,KAAK,CAACzB,WAAW;AAAA,CAE7CkC,EAAAA,KAAK,CAACP,KAAK,CAACjC,OAAO,EACnBwC,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC,EAInCiB,WAAW,EACAX,KAAK,CAACT,KAAK,CAAC5B,KAAK,CAEjC;;ACzCM,IAAM6D,WAAW,GAAG,SAAdA,WAAWA,CAAAZ,IAAA,EAAA;AAAA,EAAA,IAAAa,eAAA,GAAAb,IAAA,CACpBP,UAAU;AAAVA,IAAAA,UAAU,GAAAoB,eAAA,KAAG,MAAA,GAAA,KAAK,GAAAA,eAAA;IAAAC,YAAA,GAAAd,IAAA,CAClBN,OAAO;AAAPA,IAAAA,QAAO,GAAAoB,YAAA,KAAA,MAAA,GAAG,YAAM,EAAE,GAAAA,YAAA;IAClBnB,IAAI,GAAAK,IAAA,CAAJL,IAAI;IACJE,IAAI,GAAAG,IAAA,CAAJH,IAAI;IACJC,eAAe,GAAAE,IAAA,CAAfF,eAAe;IACfiB,EAAE,GAAAf,IAAA,CAAFe,EAAE;AAAA,EAAA,oBAEFC,KAAA,CAAAC,aAAA,CAAClB,WAAW,EAAA;AACRmB,IAAAA,GAAG,EAAEH,EAAG;AACRtB,IAAAA,UAAU,EAAEA,UAAW;IACvBC,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQA,QAAO,EAAE;KAAC;AACzBI,IAAAA,eAAe,EAAEA,eAAe,IAAIV,KAAK,CAACT,KAAK,CAAC/B;AAAQ,GAAA,eAExDoE,KAAA,CAAAC,aAAA,CAACf,WAAW,EAAA;AAACiB,IAAAA,GAAG,EAAExB,IAAK;AAACF,IAAAA,UAAU,EAAEA;AAAW,GAAE,CAAC,eAClDuB,KAAA,CAAAC,aAAA,CAACV,WAAW,EAAA;AAACd,IAAAA,UAAU,EAAEA;GAAaI,EAAAA,IAAkB,CAC/C,CAAC;AAAA,CACjB;AAEDe,WAAW,CAACvF,SAAS,GAAGA,WAAS;;ACxBjC,mBAAe;;ACAf,gBAAe;;ACAf,iBAAe;;ACAf,gBAAe;;ACAf,eAAe;;ACAf,qBAAe;;ACAf,mBAAe;;ACAf,0BAAe;;ACAf,0BAAe;;ACAf,iCAAe;;ACAf,wBAAe;;ACAf,gBAAe;;ACAf,iBAAe;;ACAf,kBAAe;;ACAf,qBAAe;;ACAf,mBAAe;;ACAf,eAAe;;ACAf,eAAe;;ACAf,iBAAe;;ACAf,eAAe;;ACAf,eAAe;;ACAf,oBAAe;;ACAf,eAAe;;ACAf,sBAAe;;ACAf,qBAAe;;ACAf,wBAAe;;ACAf,oBAAe;;ACAf,sBAAe;;ACAf,qBAAe;;ACAf,kBAAe;;ACAf,eAAe;;ACAf,sBAAe;;ACAf,cAAe;;ACAf,kBAAe;;ACAf,iBAAe;;ACAf,gBAAe;;ACAf,uBAAe;;ACAf,eAAe;;ACAf,gBAAe;;ACAf,oBAAe;;ACAf,iBAAe;;ACAf,iBAAe;;ACAf,mBAAe;;ACAf,qBAAe;;ACAf,yBAAe;;ACAf,uBAAe;;ACAf,eAAe;;ACAf,gBAAe;;ACAf,iBAAe;;ACAf,gBAAe;;ACAf,eAAe;;ACAR,IAAM+F,gBAAgB,GAAG,iBAAiB;AAC1C,IAAMC,kBAAkB,GAAG,GAAG;AAC9B,IAAMC,SAAS,GAAG;AACrBC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE;AACR,CAAC;AAEM,IAAMC,mBAAmB,GAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAC3BV,EAAAA,EAAAA,SAAS,CAACC,EAAE,EAAG;AAAEU,EAAAA,KAAK,EAAE,GAAG;AAAEC,EAAAA,MAAM,EAAE;AAAI,CAAC,CAC1CZ,EAAAA,SAAS,CAACE,EAAE,EAAG;AAAES,EAAAA,KAAK,EAAE,GAAG;AAAEC,EAAAA,MAAM,EAAE;AAAI,CAAC,CAC1CZ,EAAAA,SAAS,CAACG,EAAE,EAAG;AAAEQ,EAAAA,KAAK,EAAE,GAAG;AAAEC,EAAAA,MAAM,EAAE;AAAI,CAAC,CAC1CZ,EAAAA,SAAS,CAACI,MAAM,EAAG;AAAEO,EAAAA,KAAK,EAAE,GAAG;AAAEC,EAAAA,MAAM,EAAE;AAAI,CAAC,CAC9CZ,EAAAA,SAAS,CAACK,KAAK,EAAG;AAAEM,EAAAA,KAAK,EAAE,GAAG;AAAEC,EAAAA,MAAM,EAAE;AAAI,CAAC,CAC7CZ,EAAAA,SAAS,CAACM,MAAM,EAAG;AAAEK,EAAAA,KAAK,EAAE,GAAG;AAAEC,EAAAA,MAAM,EAAE;AAAI,CAAC,CAC9CZ,EAAAA,SAAS,CAACO,EAAE,EAAG;AAAEI,EAAAA,KAAK,EAAE,GAAG;AAAEC,EAAAA,MAAM,EAAE;AAAI,CAAC,CAC1CZ,EAAAA,SAAS,CAACQ,EAAE,EAAG;AAAEG,EAAAA,KAAK,EAAE,GAAG;AAAEC,EAAAA,MAAM,EAAE;AAAI,CAAC,CAC9C;;ACHM,IAAMC,gBAAgB,GAAG;AAC5BC,EAAAA,QAAQ,EAAE,UAAU;AACpBvC,EAAAA,IAAI,EAAE,MAAM;AACZwC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,UAAU,EAAE;AAChB,CAAC;AAEM,IAAMC,cAAc,GAAG;AAC1B7F,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,SAAS,EAAE;AACf,CAAC;AAWM,IAAM6F,wBAAwB,GAAG,CAACC,SAAS,EAAEC,aAAa,CAAC;AAC3D,IAAMC,QAAQ,GAAG,CACpB;AACIhD,EAAAA,IAAI,EAAE,aAAa;AACnBiD,EAAAA,UAAU,EAAE,WAAW;AACvBC,EAAAA,QAAQ,EAAE,EAAE;AACZpE,EAAAA,KAAK,EAAE,SAAS;AAChBqE,EAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC;AAClCmE,EAAAA,cAAc,EAAE,QAAQ;AACxBC,EAAAA,SAAS,EAAE,QAAQ;AACnBC,EAAAA,SAAS,EAAE,MAAM;AACjBlB,EAAAA,KAAK,EAAE;AACX,CAAC,EACD;AACIpC,EAAAA,IAAI,EAAE,aAAa;AACnBiD,EAAAA,UAAU,EAAE,WAAW;AACvBC,EAAAA,QAAQ,EAAE,EAAE;AACZpE,EAAAA,KAAK,EAAE,SAAS;AAChBqE,EAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC;AAClCmE,EAAAA,cAAc,EAAE,QAAQ;AACxBC,EAAAA,SAAS,EAAE,QAAQ;AACnBC,EAAAA,SAAS,EAAE;AACf,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACItD,EAAAA,IAAI,EAAE,wDAAwD;AAC9DiD,EAAAA,UAAU,EAAE,WAAW;AACvBC,EAAAA,QAAQ,EAAE,EAAE;AACZpE,EAAAA,KAAK,EAAE,SAAS;AAChBqE,EAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC;AAClCmE,EAAAA,cAAc,EAAE,QAAQ;AACxBC,EAAAA,SAAS,EAAE,QAAQ;AACnBC,EAAAA,SAAS,EAAE,MAAM;AACjBlB,EAAAA,KAAK,EAAE;AACX,CAAC,EACD;AACIpC,EAAAA,IAAI,EAAE,kCAAkC;AACxCiD,EAAAA,UAAU,EAAE,WAAW;AACvBC,EAAAA,QAAQ,EAAE,EAAE;AACZpE,EAAAA,KAAK,EAAE,SAAS;AAChBqE,EAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC;AAClCmE,EAAAA,cAAc,EAAE,QAAQ;AACxBC,EAAAA,SAAS,EAAE,QAAQ;AACnBC,EAAAA,SAAS,EAAE;AACf,CAAC,EACD;AACItD,EAAAA,IAAI,EAAE,gBAAgB;AACtBiD,EAAAA,UAAU,EAAE,mBAAmB;AAC/BC,EAAAA,QAAQ,EAAE,EAAE;AACZpE,EAAAA,KAAK,EAAE,SAAS;AAChBqE,EAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC;AAClCmE,EAAAA,cAAc,EAAE,QAAQ;AACxBC,EAAAA,SAAS,EAAE,QAAQ;AACnBC,EAAAA,SAAS,EAAE;AACf,CAAC,CACJ;AACM,IAAMC,YAAY,GAAG;AACxBC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,eAAe,EAAE,iBAAiB;AAClCC,EAAAA,eAAe,EAAE,iBAAiB;AAClCC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,cAAc,EAAE,gBAAgB;AAChCC,EAAAA,YAAY,EAAE,cAAc;AAC5BC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,KAAK,EAAE,OAAO;AACd1B,EAAAA,KAAK,EAAE,OAAO;AACdE,EAAAA,EAAE,EAAE,IAAI;AACR1C,EAAAA,IAAI,EAAE;AACV,CAAC;AACM,IAAMmE,UAAU,GAAG,CACtB;EACI1B,KAAK,EAAEc,YAAY,CAACI,MAAM;AAC1B7D,EAAAA,IAAI,EAAEsE;AACV,CAAC,EACD;EACI3B,KAAK,EAAEc,YAAY,CAACK,MAAM;AAC1B9D,EAAAA,IAAI,EAAEuE;AACV,CAAC,EACD;EACI5B,KAAK,EAAEc,YAAY,CAACM,QAAQ;AAC5B/D,EAAAA,IAAI,EAAEwE;AACV,CAAC,EACD;EACI7B,KAAK,EAAEc,YAAY,CAACO,UAAU;AAC9BhE,EAAAA,IAAI,EAAEyE;AACV,CAAC,EACD;EACI9B,KAAK,EAAEc,YAAY,CAACQ,cAAc;AAClCjE,EAAAA,IAAI,EAAE0E;AACV,CAAC,EACD;EACI/B,KAAK,EAAEc,YAAY,CAACS,YAAY;AAChClE,EAAAA,IAAI,EAAE2E;AACV,CAAC,EACD;EACIhC,KAAK,EAAEc,YAAY,CAACU,IAAI;AACxBnE,EAAAA,IAAI,EAAE4E;AACV,CAAC,EACD;EACIjC,KAAK,EAAEc,YAAY,CAACW,KAAK;AACzBpE,EAAAA,IAAI,EAAE6E;AACV,CAAC,CACJ;AAEM,IAAMC,eAAe,GAAG,CAC3B;AACIC,EAAAA,IAAI,EAAEtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEC,QAAQ;EAC5BtC,EAAE,EAAA,SAAA,CAAA4D,MAAA,CAAYC,IAAI,CAACC,GAAG,EAAE,CAAE;AAC1BC,EAAAA,IAAI,EAAExD,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,MAAAA,GAAAA,MAAAA,GAAAA,SAAS,CAAEC,EAAE;AACnBwD,EAAAA,kBAAkB,EAAE,CAAC;AACrBC,EAAAA,uBAAuB,EAAE5F,KAAK,CAACT,KAAK,CAACF;AACzC,CAAC,CACJ;AACM,IAAMwG,cAAc,GAAG;AAC1BC,EAAAA,OAAO,EAAE,CAAC;AACVrF,EAAAA,IAAI,EAAE,iBAAiB;AACvBkD,EAAAA,QAAQ,EAAE,EAAE;AACZD,EAAAA,UAAU,EAAE,WAAW;AACvBnE,EAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACF,KAAK;AACxBwE,EAAAA,cAAc,EAAE,QAAQ;AACxBC,EAAAA,SAAS,EAAE,QAAQ;AACnBF,EAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC;AAClCqE,EAAAA,SAAS,EAAE,MAAM;AACjBgC,EAAAA,UAAU,EAAE;AACZ;AACJ,CAAC;AAqTM,IAAMC,WAAW,GAAG,CACvB,WAAW,EACX,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,iBAAiB,EACjB,OAAO,EACP,SAAS,EACT,SAAS,EACT,cAAc,EACd,WAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,WAAW,EACX,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,OAAO,EACP,QAAQ,EACR,OAAO,EACP,QAAQ,CACX;AACM,IAAMC,UAAU,GAAG,CACtB,qBAAqB,EACrB,SAAS,EACT,UAAU,EACV,SAAS,EACT,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,OAAO,EACP,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,UAAU,EACV,aAAa,EACb,WAAW,EACX,aAAa,EACb,SAAS,EACT,UAAU,EACV,SAAS,EACT,eAAe,EACf,WAAW,CACd;AAEM,IAAMC,YAAY,GAAAX,EAAAA,CAAAA,MAAA,CAAOS,WAAW,EAAKC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5hB3D;;AASO,IAAME,kBAAkB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AACrE,IAAMC,eAAe,GAAG;AAC3BC,EAAAA,EAAE,EAAEC,cAAc;AAClBC,EAAAA,EAAE,EAAEC,cAAc;AAClBC,EAAAA,EAAE,EAAEC,cAAc;AAClBC,EAAAA,EAAE,EAAEC,cAAc;AAClBC,EAAAA,EAAE,EAAEC,cAAc;AAClBC,EAAAA,EAAE,EAAEC,cAAc;AAClBC,EAAAA,EAAE,EAAEC;AACR,CAAC;;ACXM,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAAvG,IAAA,EAMd;EAAA,IAAAwG,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;AAAA,EAAA,IALFxH,mBAAmB,GAAAW,IAAA,CAAnBX,mBAAmB;IAAAyH,gBAAA,GAAA9G,IAAA,CACnBT,WAAW;AAAXA,IAAAA,WAAW,GAAAuH,gBAAA,KAAA,MAAA,GAAG,YAAM,EAAE,GAAAA,gBAAA;IACtBhL,iBAAiB,GAAAkE,IAAA,CAAjBlE,iBAAiB;IACjBK,UAAU,GAAA6D,IAAA,CAAV7D,UAAU;IACVV,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;EAEd,IAAMsL,YAAY,GAAG,CACjB;IACIhG,EAAE,EAAEoB,gBAAgB,CAACC,QAAQ;AAC7BvC,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA+K,IAAAA,IAAAA,qBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,qBAAA,CAAmCQ,QAAQ;AACjDrH,IAAAA,IAAI,EAAEsH;AACV,GAAC,EACD;IACIlG,EAAE,EAAEoB,gBAAgB,CAACtC,IAAI;AACzBA,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAAgL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCS,IAAI;AAC7CvH,IAAAA,IAAI,EAAEwH;AACV,GAAC,EACD;IACIpG,EAAE,EAAEoB,gBAAgB,CAACE,KAAK;AAC1BxC,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAkB,sBAAA,GAAflB,eAAe,CAAG/J,cAAc,CAAC,MAAAiL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCU,KAAK;AAC9CzH,IAAAA,IAAI,EAAE0H;AACV,GAAC,EACD;IACItG,EAAE,EAAEoB,gBAAgB,CAACG,KAAK;AAC1BzC,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAmB,sBAAA,GAAfnB,eAAe,CAAG/J,cAAc,CAAC,MAAAkL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCW,KAAK;AAC9C3H,IAAAA,IAAI,EAAE4H;AACV,GAAC,EACD;IACIxG,EAAE,EAAEoB,gBAAgB,CAACI,EAAE;AACvB1C,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAoB,sBAAA,GAAfpB,eAAe,CAAG/J,cAAc,CAAC,MAAAmL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCY,EAAE;AAC3C7H,IAAAA,IAAI,EAAE8H;AACV,GAAC,EACD;IACI1G,EAAE,EAAEoB,gBAAgB,CAACK,UAAU;AAC/B3C,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAqB,sBAAA,GAAfrB,eAAe,CAAG/J,cAAc,CAAC,MAAAoL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCa,WAAW;AACpD/H,IAAAA,IAAI,EAAEgI;AACV,GAAC,CACJ;AACD,EAAA,IAAMC,iBAAiB,GAAGC,iBAAW,CACjC,UAAAC,CAAC,EAAI;IACDvI,WAAW,CAACuI,CAAC,CAAC;AAClB,GAAC,EACD,CAACvI,WAAW,CAChB,CAAC;EAED,IAAMwI,WAAW,GAAGC,aAAO,CACvB,YAAA;IAAA,OACIjB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEkB,GAAG,CAAC,UAAAC,IAAI,EAAI;AACtB,MAAA,IAAI,CAAAA,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAEnH,EAAE,OAAKoB,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAhBA,MAAAA,GAAAA,MAAAA,GAAAA,gBAAgB,CAAEK,UAAU,CAAA,IAAI1G,iBAAiB,EAAE;AAChE,QAAA,OAAO,IAAI;AACf;AACA,MAAA,oBACIkF,KAAA,CAAAC,aAAA,CAACL,WAAW,EAAA;AACRM,QAAAA,GAAG,EAAEgH,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAEnH,EAAG;AACdA,QAAAA,EAAE,EAAEmH,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAEnH,EAAG;QACbtB,UAAU,EAAEJ,mBAAmB,MAAK6I,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAEnH,EAAE,CAAC;QAC7CrB,OAAO,EAAE,SAATA,OAAOA,GAAA;UAAA,OAAQkI,iBAAiB,CAACM,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAEnH,EAAE,CAAC;SAAC;AAC3CpB,QAAAA,IAAI,EAAEuI,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAEvI,IAAK;AACjBE,QAAAA,IAAI,EAAEqI,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAErI,IAAK;AACjBpE,QAAAA,cAAc,EAAEA,cAAe;AAC/BqE,QAAAA,eAAe,EAAE3D,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAA,MAAA,GAAVA,UAAU,CAAEgM;AAAa,OAC7C,CAAC;AAEV,KAAC,CAAC;AAAA,GAAA,EACN,CAAC9I,mBAAmB,EAAEuI,iBAAiB,EAAEnM,cAAc,CAC3D,CAAC;AAED,EAAA,oBAAOuF,KAAA,CAAAC,aAAA,CAACzB,gBAAc,EAAA,IAAA,EAAEuI,WAA4B,CAAC;AACzD,CAAC;AAEDxB,OAAO,CAAClL,SAAS,GAAGA,WAAS;;AC5EtB,IAAMA,WAAS,GAAG;EACrB+M,WAAW,EAAE7M,SAAS,CAACC,MAAM;EAC7BC,cAAc,EAAEF,SAAS,CAACC,MAAM;EAChCF,KAAK,EAAEC,SAAS,CAACC,MAAM;EACvB6M,cAAc,EAAE9M,SAAS,CAAC+M,MAAM;EAChCC,sBAAsB,EAAEhN,SAAS,CAACgB,IAAI;EACtCiM,YAAY,EAAEjN,SAAS,CAAC+M,MAAM;EAC9BG,WAAW,EAAElN,SAAS,CAAC+M,MAAM;EAC7BI,oBAAoB,EAAEnN,SAAS,CAACgB,IAAI;EACpCoM,QAAQ,EAAEpN,SAAS,CAACI,KAAK;EACzBiN,OAAO,EAAErN,SAAS,CAACI,KAAK;EACxBkN,SAAS,EAAEtN,SAAS,CAACI,KAAK;EAC1BmN,oBAAoB,EAAEvN,SAAS,CAACgB,IAAI;EACpCwM,MAAM,EAAExN,SAAS,CAACgB,IAAI;EACtByM,MAAM,EAAEzN,SAAS,CAACgB,IAAI;EACtB0M,gBAAgB,EAAE1N,SAAS,CAACC,MAAM;EAClC0N,gBAAgB,EAAE3N,SAAS,CAAC+M,MAAM;EAClCa,cAAc,EAAE5N,SAAS,CAACC,MAAM;EAChC4N,wBAAwB,EAAE7N,SAAS,CAACgB,IAAI;EACxC8M,wBAAwB,EAAE9N,SAAS,CAACgB,IAAI;EACxC+M,iBAAiB,EAAE/N,SAAS,CAACgB,IAAI;EACjCgN,YAAY,EAAEhO,SAAS,CAAC+M,MAAM;EAC9BkB,oBAAoB,EAAEjO,SAAS,CAACgB,IAAI;EACpCkN,eAAe,EAAElO,SAAS,CAACa,MAAM;EACjCsN,eAAe,EAAEnO,SAAS,CAACgB,IAAI;EAC/BoN,QAAQ,EAAEpO,SAAS,CAACa,MAAM;EAC1BwN,WAAW,EAAErO,SAAS,CAACgB,IAAI;EAC3BsN,8BAA8B,EAAEtO,SAAS,CAACgB,IAAI;EAC9CuN,sBAAsB,EAAEvO,SAAS,CAAC+M,MAAM;EACxCyB,uBAAuB,EAAExO,SAAS,CAACgB,IAAI;EACvCyN,qBAAqB,EAAEzO,SAAS,CAACgB,IAAI;EACrC0N,mBAAmB,EAAE1O,SAAS,CAACgB,IAAI;EACnC2N,2BAA2B,EAAE3O,SAAS,CAACgB,IAAI;EAC3C4N,yBAAyB,EAAE5O,SAAS,CAACgB,IAAI;EACzC6N,gBAAgB,EAAE7O,SAAS,CAAC+M,MAAM;EAClC+B,gBAAgB,EAAE9O,SAAS,CAACC,MAAM;EAClC8O,YAAY,EAAE/O,SAAS,CAAC+M,MAAM;EAC9BiC,wBAAwB,EAAEhP,SAAS,CAACgB,IAAI;EACxCiO,wBAAwB,EAAEjP,SAAS,CAACgB,IAAI;EACxCkO,oBAAoB,EAAElP,SAAS,CAACgB,IAAI;EACpCmO,aAAa,EAAEnP,SAAS,CAAC+M,MAAM;EAC/BqC,aAAa,EAAEpP,SAAS,CAACC,MAAM;EAC/BoP,SAAS,EAAErP,SAAS,CAAC+M,MAAM;EAC3BuC,qBAAqB,EAAEtP,SAAS,CAACgB,IAAI;EACrCuO,qBAAqB,EAAEvP,SAAS,CAACgB,IAAI;EACrCwO,iBAAiB,EAAExP,SAAS,CAACgB,IAAI;EACjCyO,gBAAgB,EAAEzP,SAAS,CAACa,MAAM;EAClC6O,oBAAoB,EAAE1P,SAAS,CAACgB,IAAI;EACpC2O,aAAa,EAAE3P,SAAS,CAACgB,IAAI;AAC7B4O,EAAAA,gBAAgB,EAAE5P,SAAS,CAAC+D,SAAS,CAAC,CAClC/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EACJgP,aAAa,EAAE7P,SAAS,CAACQ,IAAI;EAC7BsP,YAAY,EAAE9P,SAAS,CAACQ,IAAI;EAC5BuP,mBAAmB,EAAE/P,SAAS,CAACgB,IAAI;EACnCgP,qBAAqB,EAAEhQ,SAAS,CAACgB,IAAI;EACrCwI,kBAAkB,EAAExJ,SAAS,CAAC+M,MAAM;EACpCtD,uBAAuB,EAAEzJ,SAAS,CAACC,MAAM;EACzCgQ,wBAAwB,EAAEjQ,SAAS,CAACgB;AACxC,CAAC;;;AC1DM,IAAMkP,WAAS,GAAGzM,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,4DAAA,EAAA,2BAAA,EAAA,kFAAA,CAAA,CAAA,CAAA,EAGXC,KAAK,CAACT,KAAK,CAAC1B,YAAY,EACxB,UAAA+C,IAAA,EAAA;AAAA,EAAA,IAAGoI,WAAW,GAAApI,IAAA,CAAXoI,WAAW;AAAA,EAAA,OAAQA,WAAW,GAAG,MAAM,UAAAzD,MAAA,CAAU+G,QAAQ,EAAG,GAAA,CAAA;AAAA,CAAC,CAIvF;AAEM,IAAMC,cAAc,GAAG3M,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAgBvC,CAAA,6VAAA,CAAA,CAAA,CAAA,CAAA;AAEM,IAAMyM,qBAAqB,GAAG5M,MAAM,CAACC,GAAG,CAAAwB,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAAA,CAAA,sIAAA,EAAA,mBAAA,EAAA,sBAAA,EAAA,kBAAA,EAAA,OAAA,CAAA,CAAA,CAAA,EAM7B,UAAAc,KAAA,EAAA;AAAA,EAAA,IAAGuI,YAAY,GAAAvI,KAAA,CAAZuI,YAAY;EAAA,OAAOA,YAAY,IAAI,GAAG;AAAA,CAAA,EAC7C,UAAAnI,KAAA,EAAA;AAAA,EAAA,IAAGmI,YAAY,GAAAnI,KAAA,CAAZmI,YAAY;EAAA,OAAOA,YAAY,IAAI,GAAG;AAAA,CAAA,EACtC,UAAA9H,KAAA,EAAA;AAAA,EAAA,IAAG+H,WAAW,GAAA/H,KAAA,CAAX+H,WAAW;EAAA,OAAOA,WAAW,IAAI,GAAG;AAAA,CAAA,EAC3C,UAAAoD,KAAA,EAAA;AAAA,EAAA,IAAGpD,WAAW,GAAAoD,KAAA,CAAXpD,WAAW;EAAA,OAAOA,WAAW,IAAI,GAAG;AAAA,CACnD,CAAA;AAEM,IAAMqD,KAAK,GAAG9M,MAAM,CAACwB,CAAC,CAAAuL,kBAAA,KAAAA,kBAAA,GAAA5M,sBAAA,CAAA,CAAA,0BAAA,EAAA,yEAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,uDAAA,CAAA,CAAA,CAAA,EACLC,KAAK,CAACT,KAAK,CAAChB,WAAW,EAG5ByB,KAAK,CAACP,KAAK,CAACjC,OAAO,EACnBwC,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC,EAC5BM,KAAK,CAACT,KAAK,CAACjB,WAAW,CAGnC;AAEM,IAAMsO,SAAS,GAAGhN,MAAM,CAACC,GAAG,CAAAgN,kBAAA,KAAAA,kBAAA,GAAA9M,sBAAA,CAAA,CAAA,gBAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,wIAAA,CAAA,CAAA,CAAA,EACrB,UAAA+M,KAAA,EAAA;AAAA,EAAA,IAAG1D,YAAY,GAAA0D,KAAA,CAAZ1D,YAAY;EAAA,OAAOA,YAAY,IAAI,GAAG;AAAA,CAAA,EAC1C,UAAA2D,KAAA,EAAA;AAAA,EAAA,IAAG1D,WAAW,GAAA0D,KAAA,CAAX1D,WAAW;EAAA,OAAOA,WAAW,IAAI,GAAG;AAAA,CAAA,EAClC,UAAA2D,KAAA,EAAA;AAAA,EAAA,IAAG5D,YAAY,GAAA4D,KAAA,CAAZ5D,YAAY;EAAA,OAAOA,YAAY,IAAI,GAAG;AAAA,CAAA,EAC1C,UAAA6D,KAAA,EAAA;AAAA,EAAA,IAAG5D,WAAW,GAAA4D,KAAA,CAAX5D,WAAW;EAAA,OAAOA,WAAW,IAAI,GAAG;AAAA,CAAA,EACtCrJ,KAAK,CAACT,KAAK,CAAClB,OAAO,CAIpC;;AC9DM,IAAMpC,WAAS,GAAG;EACrB+M,WAAW,EAAE7M,SAAS,CAACC,MAAM;EAC7BkN,oBAAoB,EAAEnN,SAAS,CAACgB,IAAI;EACpC+P,qBAAqB,EAAE/Q,SAAS,CAACC,MAAM;AACvC+Q,EAAAA,qBAAqB,EAAEhR,SAAS,CAAC+D,SAAS,CAAC,CACvC/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EACJ0M,oBAAoB,EAAEvN,SAAS,CAACgB,IAAI;EACpC0M,gBAAgB,EAAE1N,SAAS,CAACC,MAAM;EAClC0N,gBAAgB,EAAE3N,SAAS,CAAC+M,MAAM;EAClCa,cAAc,EAAE5N,SAAS,CAACC,MAAM;EAChC+N,YAAY,EAAEhO,SAAS,CAAC+M,MAAM;EAC9Bc,wBAAwB,EAAE7N,SAAS,CAACgB,IAAI;EACxC8M,wBAAwB,EAAE9N,SAAS,CAACgB,IAAI;EACxC+M,iBAAiB,EAAE/N,SAAS,CAACgB,IAAI;EACjCiN,oBAAoB,EAAEjO,SAAS,CAACgB,IAAI;EACpCkN,eAAe,EAAElO,SAAS,CAACa,MAAM;EACjCyN,8BAA8B,EAAEtO,SAAS,CAACgB,IAAI;EAC9CuN,sBAAsB,EAAEvO,SAAS,CAAC+M,MAAM;EACxC8B,gBAAgB,EAAE7O,SAAS,CAAC+M,MAAM;EAClC+B,gBAAgB,EAAE9O,SAAS,CAACC,MAAM;EAClC8O,YAAY,EAAE/O,SAAS,CAAC+M,MAAM;EAC9BiC,wBAAwB,EAAEhP,SAAS,CAACgB,IAAI;EACxCiO,wBAAwB,EAAEjP,SAAS,CAACgB,IAAI;EACxCkO,oBAAoB,EAAElP,SAAS,CAACgB,IAAI;EACpCmO,aAAa,EAAEnP,SAAS,CAAC+M,MAAM;EAC/BqC,aAAa,EAAEpP,SAAS,CAACC,MAAM;EAC/BoP,SAAS,EAAErP,SAAS,CAAC+M,MAAM;EAC3BuC,qBAAqB,EAAEtP,SAAS,CAACgB,IAAI;EACrCuO,qBAAqB,EAAEvP,SAAS,CAACgB,IAAI;EACrCwO,iBAAiB,EAAExP,SAAS,CAACgB,IAAI;EACjCyO,gBAAgB,EAAEzP,SAAS,CAACa,MAAM;EAClC6O,oBAAoB,EAAE1P,SAAS,CAACgB,IAAI;EACpC2O,aAAa,EAAE3P,SAAS,CAACgB,IAAI;AAC7B4O,EAAAA,gBAAgB,EAAE5P,SAAS,CAAC+D,SAAS,CAAC,CAClC/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EACJoQ,WAAW,EAAEjR,SAAS,CAACa,MAAM;EAC7BkP,mBAAmB,EAAE/P,SAAS,CAACgB,IAAI;EACnCgP,qBAAqB,EAAEhQ,SAAS,CAACgB,IAAI;EACrCwI,kBAAkB,EAAExJ,SAAS,CAAC+M,MAAM;EACpCtD,uBAAuB,EAAEzJ,SAAS,CAACC,MAAM;EACzCgQ,wBAAwB,EAAEjQ,SAAS,CAACgB;AACxC,CAAC;;;AC5CM,IAAMkQ,cAAc,GAAGzN,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,wGAAA,EAAA,qBAAA,EAAA,4CAAA,EAAA,4BAAA,EAAA,sDAAA,CAAA,CAAA,CAAA,EAITC,KAAK,CAACT,KAAK,CAACf,WAAW,EACpCwB,KAAK,CAACT,KAAK,CAAC5B,KAAK,EAEpB,UAAAiD,IAAA,EAAA;AAAA,EAAA,IAAG0M,QAAQ,GAAA1M,IAAA,CAAR0M,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,GAAG,GAAG,CAAC;AAAA,CAAC,EAC5B,UAAAzM,KAAA,EAAA;AAAA,EAAA,IAAGyM,QAAQ,GAAAzM,KAAA,CAARyM,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,MAAM,GAAG,KAAK;AAAA,CAAC,CAGrE;AACM,IAAMC,cAAc,GAAG3N,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAWvC,CAAA,oNAAA,CAAA,CAAA,CAAA,CAAA;;ACxBM,IAAM9D,WAAS,GAAG;EACrBqN,oBAAoB,EAAEnN,SAAS,CAACgB,IAAI;EACpC+P,qBAAqB,EAAE/Q,SAAS,CAACC,MAAM;EACvCsN,oBAAoB,EAAEvN,SAAS,CAACgB,IAAI;EACpCuN,sBAAsB,EAAEvO,SAAS,CAAC+M,MAAM;EACxCuB,8BAA8B,EAAEtO,SAAS,CAACgB,IAAI;EAC9C2O,aAAa,EAAE3P,SAAS,CAACgB,IAAI;AAC7B4O,EAAAA,gBAAgB,EAAE5P,SAAS,CAAC+D,SAAS,CAAC,CAClC/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EACJX,cAAc,EAAEF,SAAS,CAACC,MAAM;EAChC8P,mBAAmB,EAAE/P,SAAS,CAACgB,IAAI;EACnCgP,qBAAqB,EAAEhQ,SAAS,CAACgB,IAAI;EACrCwI,kBAAkB,EAAExJ,SAAS,CAAC+M,MAAM;EACpCtD,uBAAuB,EAAEzJ,SAAS,CAACC,MAAM;EACzCgQ,wBAAwB,EAAEjQ,SAAS,CAACgB;AACxC,CAAC;;ACjBM,IAAMlB,WAAS,GAAG;AACrB6G,EAAAA,MAAM,EAAE3G,SAAS,CAAC+D,SAAS,CAAC,CACpB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;AACRsE,EAAAA,UAAU,EAAErR,SAAS,CAAC+D,SAAS,CAAC,CAC5B/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;AACJuE,EAAAA,aAAa,EAAEtR,SAAS,CAAC+D,SAAS,CAAC,CAC/B/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;AACJwE,EAAAA,WAAW,EAAEvR,SAAS,CAAC+D,SAAS,CAAC,CACzB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;AACRyE,EAAAA,YAAY,EAAExR,SAAS,CAAC+D,SAAS,CAAC,CAC1B/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;EACR0E,QAAQ,EAAEzR,SAAS,CAACqE,IAAI;AACxBqN,EAAAA,UAAU,EAAE1R,SAAS,CAAC+D,SAAS,CAAC,CAC5B/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;AACJ4E,EAAAA,WAAW,EAAE3R,SAAS,CAAC+D,SAAS,CAAC,CAC7B/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;EACJ6E,cAAc,EAAE5R,SAAS,CAACC,MAAM;AAChC4R,EAAAA,GAAG,EAAE7R,SAAS,CAAC+D,SAAS,CAAC,CACjB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;EACR5I,OAAO,EAAEnE,SAAS,CAACgB,IAAI;EACvBmQ,QAAQ,EAAEnR,SAAS,CAACQ,IAAI;EACxBsR,OAAO,EAAE9R,SAAS,CAACC,MAAM;EACzB8R,eAAe,EAAE/R,SAAS,CAACC;AAC/B,CAAC;;;ACtCM,IAAM+R,iBAAe,GAAGvO,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,0BAAA,EAAA,oDAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,wEAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,uBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,yBAAA,EAAA,8BAAA,CAAA,CAAA,CAAA,EACjBC,KAAK,CAACT,KAAK,CAACtB,QAAQ,EAEpB+B,KAAK,CAACT,KAAK,CAAC5B,KAAK,EAC3B,UAAAiD,IAAA,EAAA;AAAA,EAAA,IAAAwN,WAAA,GAAAxN,IAAA,CAAGkC,MAAM;AAANA,IAAAA,MAAM,GAAAsL,WAAA,KAAG,MAAA,GAAA,EAAE,GAAAA,WAAA;EAAA,OAAA7I,EAAAA,CAAAA,MAAA,CAAUzC,MAAM,EAAA,IAAA,CAAA;AAAA,CAAI,EAC7B,UAAAjC,KAAA,EAAA;AAAA,EAAA,IAAAwN,gBAAA,GAAAxN,KAAA,CAAGgN,UAAU;AAAVA,IAAAA,UAAU,GAAAQ,gBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,gBAAA;EAAA,OAAA9I,EAAAA,CAAAA,MAAA,CAAUsI,UAAU,EAAA,IAAA,CAAA;AAAA,CAAI,EACxC,UAAA5M,KAAA,EAAA;AAAA,EAAA,IAAAqN,iBAAA,GAAArN,KAAA,CAAG6M,WAAW;AAAXA,IAAAA,WAAW,GAAAQ,iBAAA,KAAG,MAAA,GAAA,EAAE,GAAAA,iBAAA;EAAA,OAAA/I,EAAAA,CAAAA,MAAA,CAAUuI,WAAW,EAAA,IAAA,CAAA;AAAA,CAAI,EAGzC,UAAAxM,KAAA,EAAA;AAAA,EAAA,IAAAiN,oBAAA,GAAAjN,KAAA,CAAGyM,cAAc;AAAdA,IAAAA,cAAc,GAAAQ,oBAAA,KAAG,MAAA,GAAA,QAAQ,GAAAA,oBAAA;AAAA,EAAA,OAAOR,cAAc;AAAA,CAAA,EACrD,UAAAtB,KAAA,EAAA;AAAA,EAAA,IAAA+B,gBAAA,GAAA/B,KAAA,CAAGe,UAAU;AAAVA,IAAAA,UAAU,GAAAgB,gBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,gBAAA;EAAA,OAAAjJ,EAAAA,CAAAA,MAAA,CAAUiI,UAAU,EAAA,IAAA,CAAA;AAAA,CAAI,EACvC,UAAAV,KAAA,EAAA;AAAA,EAAA,IAAA2B,kBAAA,GAAA3B,KAAA,CAAGa,YAAY;AAAZA,IAAAA,YAAY,GAAAc,kBAAA,KAAG,MAAA,GAAA,EAAE,GAAAA,kBAAA;EAAA,OAAAlJ,EAAAA,CAAAA,MAAA,CAAUoI,YAAY,EAAA,IAAA,CAAA;AAAA,CAAI,EAC7C,UAAAZ,KAAA,EAAA;AAAA,EAAA,IAAA2B,mBAAA,GAAA3B,KAAA,CAAGU,aAAa;AAAbA,IAAAA,aAAa,GAAAiB,mBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,mBAAA;EAAA,OAAAnJ,EAAAA,CAAAA,MAAA,CAAUkI,aAAa,EAAA,IAAA,CAAA;AAAA,CAAI,EACjD,UAAAT,KAAA,EAAA;AAAA,EAAA,IAAA2B,iBAAA,GAAA3B,KAAA,CAAGU,WAAW;AAAXA,IAAAA,WAAW,GAAAiB,iBAAA,KAAG,MAAA,GAAA,EAAE,GAAAA,iBAAA;EAAA,OAAApJ,EAAAA,CAAAA,MAAA,CAAUmI,WAAW,EAAA,IAAA,CAAA;AAAA,CAAI,EAClD,UAAAT,KAAA,EAAA;AAAA,EAAA,IAAGK,QAAQ,GAAAL,KAAA,CAARK,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,aAAa,GAAG,SAAS;AAAA,CAAC,EAC3D,UAAAsB,MAAA,EAAA;AAAA,EAAA,IAAAC,UAAA,GAAAD,MAAA,CAAGZ,GAAG;AAAHA,IAAAA,GAAG,GAAAa,UAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,UAAA;EAAA,OAAAtJ,EAAAA,CAAAA,MAAA,CAAUyI,GAAG,EAAA,IAAA,CAAA;AAAA,CAAI,EACvB,UAAAc,MAAA,EAAA;AAAA,EAAA,IAAGxB,QAAQ,GAAAwB,MAAA,CAARxB,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,GAAG,GAAG,CAAC;AAAA,CAAC,EAC/B,UAAAyB,MAAA,EAAA;AAAA,EAAA,IAAGzB,QAAQ,GAAAyB,MAAA,CAARzB,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,MAAM,GAAG,KAAK;AAAA,CAAC,CAElE;;ACpBM,IAAMrR,WAAS,GAAG;EACrB2R,QAAQ,EAAEzR,SAAS,CAACqE,IAAI;EACxBC,IAAI,EAAEtE,SAAS,CAACC,MAAM;AACtB4S,EAAAA,QAAQ,EAAE7S,SAAS,CAACmB,KAAK,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;EAC7DgQ,QAAQ,EAAEnR,SAAS,CAACQ;AACxB,CAAC;;;ACJM,IAAMsS,OAAO,GAAGrP,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,qEAAA,EAAA,KAAA,CAAA,CAAA,CAAA,EAGnB,UAAAa,IAAA,EAAA;AAAA,EAAA,IAAG0M,QAAQ,GAAA1M,IAAA,CAAR0M,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,aAAa,GAAG,SAAS;AAAA,CAAC,CACrE;AAEM,IAAM4B,WAAW,GAAGtP,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,+TAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,wEAAA,CAAA,CAAA,CAAA,EAalBC,KAAK,CAACP,KAAK,CAACjC,OAAO,EACnBwC,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC,EAEnC,UAAAmB,KAAA,EAAA;AAAA,EAAA,IAAGmO,QAAQ,GAAAnO,KAAA,CAARmO,QAAQ;EAAA,OACTA,QAAQ,KAAK,KAAK,IAClBG,UAAG,CAAA9N,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAIF,CAAA,yGAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,EACH,UAAAkB,KAAA,EAAA;AAAA,EAAA,IAAG+N,QAAQ,GAAA/N,KAAA,CAAR+N,QAAQ;EAAA,OACTA,QAAQ,KAAK,OAAO,IACpBG,UAAG,CAAAxC,kBAAA,KAAAA,kBAAA,GAAA5M,sBAAA,CAIF,CAAA,sGAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,EACL,UAAAuB,KAAA,EAAA;AAAA,EAAA,IAAG0N,QAAQ,GAAA1N,KAAA,CAAR0N,QAAQ;EAAA,OACPA,QAAQ,KAAK,QAAQ,IACrBG,UAAG,CAAAtC,kBAAA,KAAAA,kBAAA,GAAA9M,sBAAA,CAIF,CAAA,sGAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,EACL,UAAA0M,KAAA,EAAA;AAAA,EAAA,IAAGuC,QAAQ,GAAAvC,KAAA,CAARuC,QAAQ;EAAA,OACPA,QAAQ,KAAK,MAAM,IACnBG,UAAG,CAAAC,gBAAA,KAAAA,gBAAA,GAAArP,sBAAA,CAIF,CAAA,uGAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,EAELkP,OAAO,CAIV;;ACtDM,IAAMI,OAAO,GAAG,SAAVA,OAAOA,CAAAzO,IAAA,EAAA;AAAA,EAAA,IAAMgN,QAAQ,GAAAhN,IAAA,CAARgN,QAAQ;IAAEnN,IAAI,GAAAG,IAAA,CAAJH,IAAI;IAAA6O,aAAA,GAAA1O,IAAA,CAAEoO,QAAQ;AAARA,IAAAA,QAAQ,GAAAM,aAAA,KAAG,MAAA,GAAA,KAAK,GAAAA,aAAA;IAAAC,aAAA,GAAA3O,IAAA,CAAE0M,QAAQ;AAARA,IAAAA,QAAQ,GAAAiC,aAAA,KAAG,MAAA,GAAA,KAAK,GAAAA,aAAA;AAAA,EAAA,oBACxE3N,KAAA,CAAAC,aAAA,CAACoN,OAAO,EAAA;AAAC3B,IAAAA,QAAQ,EAAEA;GACdM,EAAAA,QAAQ,EACR,CAACN,QAAQ,iBAAI1L,KAAA,CAAAC,aAAA,CAACqN,WAAW,EAAA;AAACF,IAAAA,QAAQ,EAAEA;GAAWvO,EAAAA,IAAkB,CAC7D,CAAC;AAAA,CACb;AAED4O,OAAO,CAACpT,SAAS,GAAGA,WAAS;;ACNtB,IAAMuT,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA5O,IAAA,EAAA;AAAA,EAAA,IAC7BkC,MAAM,GAAAlC,IAAA,CAANkC,MAAM;IACN0K,UAAU,GAAA5M,IAAA,CAAV4M,UAAU;IACVC,aAAa,GAAA7M,IAAA,CAAb6M,aAAa;IACbC,WAAW,GAAA9M,IAAA,CAAX8M,WAAW;IACXC,YAAY,GAAA/M,IAAA,CAAZ+M,YAAY;IACZC,QAAQ,GAAAhN,IAAA,CAARgN,QAAQ;IACRC,UAAU,GAAAjN,IAAA,CAAViN,UAAU;IACVC,WAAW,GAAAlN,IAAA,CAAXkN,WAAW;IACXC,cAAc,GAAAnN,IAAA,CAAdmN,cAAc;IACdC,GAAG,GAAApN,IAAA,CAAHoN,GAAG;IACH1N,QAAO,GAAAM,IAAA,CAAPN,OAAO;IAAAiP,aAAA,GAAA3O,IAAA,CACP0M,QAAQ;AAARA,IAAAA,QAAQ,GAAAiC,aAAA,KAAG,MAAA,GAAA,KAAK,GAAAA,aAAA;IAChBtB,OAAO,GAAArN,IAAA,CAAPqN,OAAO;IACPC,eAAe,GAAAtN,IAAA,CAAfsN,eAAe;AAAA,EAAA,oBAEftM,KAAA,CAAAC,aAAA,CAACwN,OAAO,EAAA;AAAC5O,IAAAA,IAAI,EAAEwN,OAAQ;AAACe,IAAAA,QAAQ,EAAEd,eAAgB;AAACZ,IAAAA,QAAQ,EAAEA;AAAS,GAAA,eAClE1L,KAAA,CAAAC,aAAA,CAACsM,iBAAe,EAAA;AACZrL,IAAAA,MAAM,EAAEA,MAAO;AACf0K,IAAAA,UAAU,EAAEA,UAAW;AACvBC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,YAAY,EAAEA,YAAa;AAC3BE,IAAAA,UAAU,EAAEA,UAAW;AACvBC,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,GAAG,EAAEA,GAAI;AACT1N,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACX,MAAA,IAAIgN,QAAQ,EAAE;AACV,QAAA;AACJ;MACAhN,QAAO,IAAIA,QAAO,EAAE;KACtB;AACFgN,IAAAA,QAAQ,EAAEA;GAETM,EAAAA,QACY,CACZ,CAAC;AAAA,CACb;AAED4B,oBAAoB,CAACvT,SAAS,GAAGA,WAAS;;AC3CnC,IAAMA,WAAS,GAAG;AACrBwT,EAAAA,IAAI,EAAEtT,SAAS,CAAC+D,SAAS,CAAC,CACtB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EACJ0S,KAAK,EAAEvT,SAAS,CAACQ,IAAI;EACrBgT,MAAM,EAAExT,SAAS,CAACQ,IAAI;AACtBqR,EAAAA,GAAG,EAAE7R,SAAS,CAAC+D,SAAS,CAAC,CACrB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;AACJwE,EAAAA,WAAW,EAAEvR,SAAS,CAAC+D,SAAS,CAAC,CAC7B/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;AACJyE,EAAAA,YAAY,EAAExR,SAAS,CAAC+D,SAAS,CAAC,CAC9B/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;EACJ0G,IAAI,EAAEzT,SAAS,CAACI,KAAK;EACrBsT,QAAQ,EAAE1T,SAAS,CAACgB,IAAI;EACxB2S,UAAU,EAAE3T,SAAS,CAAC4T,GAAG;EACzB9B,OAAO,EAAE9R,SAAS,CAACC;AACvB,CAAC;;;ACvBM,IAAM4T,YAAY,GAAGpQ,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAIrC,CAAA,gFAAA,CAAA,CAAA,CAAA,CAAA;AAEM,IAAMkQ,aAAW,GAAGrQ,MAAM,CAACmB,GAAG,CAAAC,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAEpC,CAAA,8BAAA,CAAA,CAAA,CAAA,CAAA;AAEM,IAAMmQ,YAAY,GAAGtQ,MAAM,CAACC,GAAG,CAAAwB,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAarC,CAAA,6RAAA,CAAA,CAAA,CAAA,CAAA;;AAED;AACO,IAAMoQ,cAAc,GAAGvQ,MAAM,CAACC,GAAG,CAAA8M,kBAAA,KAAAA,kBAAA,GAAA5M,sBAAA,CAWvC,CAAA,kNAAA,CAAA,CAAA,CAAA,CAAA;;AChCM,IAAMqQ,QAAQ,GAAG,SAAXA,QAAQA,CAAAxP,IAAA,EAWf;AAAA,EAAA,IAVF6O,IAAI,GAAA7O,IAAA,CAAJ6O,IAAI;IACJC,KAAK,GAAA9O,IAAA,CAAL8O,KAAK;IACLC,MAAM,GAAA/O,IAAA,CAAN+O,MAAM;IACN3B,GAAG,GAAApN,IAAA,CAAHoN,GAAG;IACHN,WAAW,GAAA9M,IAAA,CAAX8M,WAAW;IACXC,YAAY,GAAA/M,IAAA,CAAZ+M,YAAY;IACZiC,IAAI,GAAAhP,IAAA,CAAJgP,IAAI;IACJC,QAAQ,GAAAjP,IAAA,CAARiP,QAAQ;IACRC,UAAU,GAAAlP,IAAA,CAAVkP,UAAU;IACV7B,OAAO,GAAArN,IAAA,CAAPqN,OAAO;AAEP,EAAA,IAAAoC,SAAA,GAA4BC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApCI,IAAAA,MAAM,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,SAAS,GAAAH,UAAA,CAAA,CAAA,CAAA;AACxB,EAAA,IAAMI,WAAW,GAAGC,YAAM,CAAC,IAAI,CAAC;AAEhCC,EAAAA,eAAS,CAAC,YAAM;AACZ,IAAA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGC,KAAK,EAAI;AAChC,MAAA,IAAIJ,WAAW,CAACK,OAAO,IAAI,CAACL,WAAW,CAACK,OAAO,CAACC,QAAQ,CAACF,KAAK,CAACG,MAAM,CAAC,EAAE;QACpER,SAAS,CAAC,KAAK,CAAC;AACpB;KACH;AACDS,IAAAA,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAEN,kBAAkB,CAAC;IAC1D,OAAO,YAAA;AAAA,MAAA,OAAMK,QAAQ,CAACE,mBAAmB,CAAC,WAAW,EAAEP,kBAAkB,CAAC;AAAA,KAAA;GAC7E,EAAE,EAAE,CAAC;AAEN,EAAA,IAAMQ,YAAY,GAAG,SAAfA,YAAYA,CAAGxI,IAAI,EAAI;IACzB+G,QAAQ,CAAC/G,IAAI,CAAC;IACd4H,SAAS,CAAC,KAAK,CAAC;GACnB;EAED,oBACI9O,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACI0P,IAAAA,GAAG,EAAEZ,WAAY;AACjBa,IAAAA,KAAK,EAAE;AACHxC,MAAAA,QAAQ,EAAE;KACZ;AACF1O,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACXoQ,SAAS,CAAC,IAAI,CAAC;AACnB;AAAE,GAAA,eAEF9O,KAAA,CAAAC,aAAA,CAAC2N,oBAAoB,EAAA;AACjBzB,IAAAA,cAAc,EAAE4B,MAAM,GAAG,eAAe,GAAG,QAAS;AACpD3B,IAAAA,GAAG,EAAEA,GAAI;AACTN,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,YAAY,EAAEA,YAAa;AAC3BM,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,eAAe,EAAE;AAAS,GAAA,eAE1BtM,KAAA,CAAAC,aAAA,CAACmO,YAAY,EAAEP,IAAAA,EAAAA,IAAmB,CAAC,eACnC7N,KAAA,CAAAC,aAAA,CAACmO,YAAY,EAAEL,IAAAA,EAAAA,MAAqB,CAAC,eACrC/N,KAAA,CAAAC,aAAA,CAACmO,YAAY,EAAEN,IAAAA,EAAAA,KAAK,GAAGA,KAAK,gBAAG9N,KAAA,CAAAC,aAAA,CAACoO,aAAW,EAAA;AAAClO,IAAAA,GAAG,EAAE0P;GAAe,CAAgB,CAC9D,CAAC,EACtBhB,MAAM,iBACH7O,KAAA,CAAAC,aAAA,CAACqO,YAAY,QACRN,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE/G,GAAG,CAAC,UAACC,IAAI,EAAE4I,KAAK,EAAA;AAAA,IAAA,oBACnB9P,KAAA,CAAAC,aAAA,CAACsO,cAAc,EAAA;AACXrO,MAAAA,GAAG,EAAE4P,KAAM;AACXpR,MAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEoI,CAAC,EAAI;QACV4I,YAAY,CAACxI,IAAI,CAAC;AAClBJ,QAAAA,CAAC,aAADA,CAAC,KAAA,MAAA,IAADA,CAAC,CAAEiJ,eAAe,EAAE;OACtB;AACFH,MAAAA,KAAK,EAAE;AACHI,QAAAA,OAAO,EAAE,UAAU;AACnBC,QAAAA,MAAM,EAAE,SAAS;QACjBC,YAAY,EAAEJ,KAAK,KAAK9B,IAAI,CAACmC,MAAM,GAAG,CAAC,GAAG,gBAAgB,GAAG,MAAM;QACnErO,UAAU,EAAEoM,UAAU,GAAGhH,IAAI,GAAG9I,KAAK,CAACP,KAAK,CAACjC;AAChD;AAAE,KAAA,EAEDsL,IACW,CAAC;GACpB,CACS,CAEjB,CAAC;AAEd,CAAC;AAEDsH,QAAQ,CAACnU,SAAS,GAAGA,WAAS;;;ACjFvB,IAAM+V,OAAK,GAAGpS,MAAM,CAACwB,CAAC,CAAAtB,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,mGAChBC,KAAK,CAACT,KAAK,CAAC7B,QAAQ,EAEdsC,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC,EACtBM,KAAK,CAACP,KAAK,CAACjC,OAAO,CACrC;AAEM,IAAMyU,cAAY,GAAGrS,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAMrC,CAAA,iHAAA,CAAA,CAAA,CAAA,CAAA;AAEM,IAAMmS,YAAY,GAAGtS,MAAM,CAACC,GAAG,CAAAwB,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAWrC,CAAA,oOAAA,CAAA,CAAA,CAAA,CAAA;;AC3BM,IAAM9D,WAAS,GAAG;EACrBiI,eAAe,EAAE/H,SAAS,CAACC,MAAM;EACjC+V,QAAQ,EAAEhW,SAAS,CAACgB;AACxB,CAAC;;;ACFM,IAAMiV,GAAG,GAAGxS,MAAM,CAACyS,KAAK,CAACC,KAAK,CAAC;AAAEhN,EAAAA,IAAI,EAAE;AAAQ,CAAC,CAAC,CAAAxF,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,6LAAA,EAAA,oSAAA,CAAA,CAAA,CAAA,EAQhCC,KAAK,CAACT,KAAK,CAACd,QAAQ,CAgB3C;;ACvBM,IAAM8T,QAAQ,GAAG,SAAXA,QAAQA,CAAA3R,IAAA,EAAsC;AAAA,EAAA,IAAhCsD,eAAe,GAAAtD,IAAA,CAAfsD,eAAe;IAAEiO,QAAQ,GAAAvR,IAAA,CAARuR,QAAQ;AAChD,EAAA,IAAA9B,SAAA,GAA0BC,cAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA/B9Q,IAAAA,KAAK,GAAAgR,UAAA,CAAA,CAAA,CAAA;AAAEiC,IAAAA,QAAQ,GAAAjC,UAAA,CAAA,CAAA,CAAA;AAEtBM,EAAAA,eAAS,CAAC,YAAM;AACZ,IAAA,IAAM4B,OAAO,GAAGC,UAAU,CAAC,YAAM;MAC7B,IAAI,CAACnT,KAAK,EAAE;AACR,QAAA;AACJ;MACA4S,QAAQ,CAAC5S,KAAK,CAAC;KAClB,EAAE,GAAG,CAAC;IAEP,OAAO,YAAA;MAAA,OAAMoT,YAAY,CAACF,OAAO,CAAC;AAAA,KAAA;AACtC,GAAC,EAAE,CAAClT,KAAK,CAAC,CAAC;AAEX,EAAA,IAAMqT,aAAa,GAAG,SAAhBA,aAAaA,CAAGlK,CAAC,EAAI;AACvB8J,IAAAA,QAAQ,CAAC9J,CAAC,CAACwI,MAAM,CAAC2B,KAAK,CAAC;GAC3B;AAED,EAAA,oBAAOjR,KAAA,CAAAC,aAAA,CAACuQ,GAAG,EAAA;AAACS,IAAAA,KAAK,EAAE3O,eAAgB;AAACiO,IAAAA,QAAQ,EAAES;AAAc,GAAE,CAAC;AACnE,CAAC;AAEDL,QAAQ,CAACtW,SAAS,GAAGA,WAAS;;;ACtBvB,IAAM6W,WAAW,GAAGlT,MAAM,CAACmB,GAAG,CAAAjB,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,eAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,KAAA,CAAA,CAAA,CAAA,EACxB,UAAAa,IAAA,EAAA;AAAA,EAAA,IAAGiC,KAAK,GAAAjC,IAAA,CAALiC,KAAK;AAAA,EAAA,OAAOA,KAAK,GAAG,IAAI,IAAI,MAAM;AAAA,CAAA,EACpC,UAAAhC,KAAA,EAAA;AAAA,EAAA,IAAGiC,MAAM,GAAAjC,KAAA,CAANiC,MAAM;AAAA,EAAA,OAAOA,MAAM,GAAG,IAAI,IAAI,MAAM;AAAA,CAAA,EACpC,UAAA7B,KAAA,EAAA;AAAA,EAAA,IAAG8R,QAAQ,GAAA9R,KAAA,CAAR8R,QAAQ;AAAA,EAAA,OAAOA,QAAQ,GAAG,IAAI,IAAI,MAAM;AAAA,CAAA,EAC1C,UAAAzR,KAAA,EAAA;AAAA,EAAA,IAAG0R,SAAS,GAAA1R,KAAA,CAAT0R,SAAS;AAAA,EAAA,OAAOA,SAAS,GAAG,IAAI,IAAI,MAAM;AAAA,CAAA,EAC7C,UAAAvG,KAAA,EAAA;AAAA,EAAA,IAAGwG,SAAS,GAAAxG,KAAA,CAATwG,SAAS;EAAA,OAAOA,SAAS,IAAI,SAAS;AAAA,CAAA,EACzC,UAAAnG,KAAA,EAAA;AAAA,EAAA,IAAAoG,eAAA,GAAApG,KAAA,CAAGqG,SAAS;AAATA,IAAAA,SAAS,GAAAD,eAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,eAAA;EAAA,OAAA3N,EAAAA,CAAAA,MAAA,CAAU4N,SAAS,EAAA,IAAA,CAAA;AAAA,CAAI,EACrC,UAAApG,KAAA,EAAA;AAAA,EAAA,IAAAqG,iBAAA,GAAArG,KAAA,CAAGe,WAAW;AAAXA,IAAAA,WAAW,GAAAsF,iBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,iBAAA;EAAA,OAAA7N,EAAAA,CAAAA,MAAA,CAAUuI,WAAW,EAAA,IAAA,CAAA;AAAA,CAAI,EAC1C,UAAAd,KAAA,EAAA;AAAA,EAAA,IAAAqG,kBAAA,GAAArG,KAAA,CAAGsG,YAAY;AAAZA,IAAAA,YAAY,GAAAD,kBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,kBAAA;EAAA,OAAA9N,EAAAA,CAAAA,MAAA,CAAU+N,YAAY,EAAA,IAAA,CAAA;AAAA,CAAI,EAC/C,UAAArG,KAAA,EAAA;AAAA,EAAA,IAAAsG,gBAAA,GAAAtG,KAAA,CAAGY,UAAU;AAAVA,IAAAA,UAAU,GAAA0F,gBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,gBAAA;EAAA,OAAAhO,EAAAA,CAAAA,MAAA,CAAUsI,UAAU,EAAA,IAAA,CAAA;AAAA,CAAI,EACzC,UAAAe,MAAA,EAAA;AAAA,EAAA,IAAA4E,iBAAA,GAAA5E,MAAA,CAAGpB,UAAU;AAAVA,IAAAA,UAAU,GAAAgG,iBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,iBAAA;EAAA,OAAAjO,EAAAA,CAAAA,MAAA,CAAUiI,UAAU,EAAA,IAAA,CAAA;AAAA,CAAI,EACvC,UAAAsB,MAAA,EAAA;AAAA,EAAA,IAAA2E,mBAAA,GAAA3E,MAAA,CAAGnB,YAAY;AAAZA,IAAAA,YAAY,GAAA8F,mBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,mBAAA;EAAA,OAAAlO,EAAAA,CAAAA,MAAA,CAAUoI,YAAY,EAAA,IAAA,CAAA;AAAA,CAAI,EAC5C,UAAAoB,MAAA,EAAA;AAAA,EAAA,IAAA2E,oBAAA,GAAA3E,MAAA,CAAGtB,aAAa;AAAbA,IAAAA,aAAa,GAAAiG,oBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,oBAAA;EAAA,OAAAnO,EAAAA,CAAAA,MAAA,CAAUkI,aAAa,EAAA,IAAA,CAAA;AAAA,CAAI,EACjD,UAAAkG,MAAA,EAAA;AAAA,EAAA,IAAAC,kBAAA,GAAAD,MAAA,CAAGjG,WAAW;AAAXA,IAAAA,WAAW,GAAAkG,kBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,kBAAA;EAAA,OAAArO,EAAAA,CAAAA,MAAA,CAAUmI,WAAW,EAAA,IAAA,CAAA;AAAA,CAAI,EAC1C,UAAAmG,MAAA,EAAA;AAAA,EAAA,IAAAC,mBAAA,GAAAD,MAAA,CAAGE,YAAY;AAAZA,IAAAA,YAAY,GAAAD,mBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,mBAAA;EAAA,OAAAvO,EAAAA,CAAAA,MAAA,CAAUwO,YAAY,EAAA,IAAA,CAAA;AAAA,CAAI,CACjE;AACM,IAAMC,UAAU,GAAGpU,MAAM,CAACwB,CAAC,CAAAJ,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,qBAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,uBAAA,EAAA,KAAA,CAAA,CAAA,CAAA,EACf,UAAAkU,MAAA,EAAA;AAAA,EAAA,IAAGvQ,UAAU,GAAAuQ,MAAA,CAAVvQ,UAAU;AAAA,EAAA,OAAOA,UAAU,IAAI1D,KAAK,CAACP,KAAK,CAACjC,OAAO;AAAA,CAAA,EACvD,UAAA0W,MAAA,EAAA;AAAA,EAAA,IAAAC,eAAA,GAAAD,MAAA,CAAGvQ,QAAQ;AAARA,IAAAA,QAAQ,GAAAwQ,eAAA,KAAG,MAAA,GAAA,EAAE,GAAAA,eAAA;EAAA,OAAA5O,EAAAA,CAAAA,MAAA,CAAU5B,QAAQ,EAAA,IAAA,CAAA;AAAA,CAAI,EAC1C,UAAAyQ,MAAA,EAAA;AAAA,EAAA,IAAG7U,KAAK,GAAA6U,MAAA,CAAL7U,KAAK;AAAA,EAAA,OAAOA,KAAK,IAAIS,KAAK,CAACT,KAAK,CAAC7B,QAAQ;AAAA,CAAA,EACtC,UAAA2W,MAAA,EAAA;AAAA,EAAA,IAAAC,iBAAA,GAAAD,MAAA,CAAGzQ,UAAU;AAAVA,IAAAA,UAAU,GAAA0Q,iBAAA,KAAG,MAAA,GAAA,GAAG,GAAAA,iBAAA;AAAA,EAAA,OAAO1Q,UAAU;AAAA,CAAA,EACpC,UAAA2Q,MAAA,EAAA;AAAA,EAAA,IAAGxO,UAAU,GAAAwO,MAAA,CAAVxO,UAAU;EAAA,OAAOA,UAAU,IAAI,QAAQ;AAAA,CAAA,EAC3C,UAAAyO,MAAA,EAAA;AAAA,EAAA,IAAGzQ,SAAS,GAAAyQ,MAAA,CAATzQ,SAAS;EAAA,OAAOA,SAAS,IAAI,MAAM;AAAA,CAAA,EACtC,UAAA0Q,MAAA,EAAA;AAAA,EAAA,IAAAC,gBAAA,GAAAD,MAAA,CAAGtB,SAAS;AAATA,IAAAA,SAAS,GAAAuB,gBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,gBAAA;EAAA,OAAAnP,EAAAA,CAAAA,MAAA,CAAU4N,SAAS,EAAA,IAAA,CAAA;AAAA,CAAI,EACrC,UAAAwB,MAAA,EAAA;AAAA,EAAA,IAAAC,kBAAA,GAAAD,MAAA,CAAG7G,WAAW;AAAXA,IAAAA,WAAW,GAAA8G,kBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,kBAAA;EAAA,OAAArP,EAAAA,CAAAA,MAAA,CAAUuI,WAAW,EAAA,IAAA,CAAA;AAAA,CAAI,EAC1C,UAAA+G,MAAA,EAAA;AAAA,EAAA,IAAAC,mBAAA,GAAAD,MAAA,CAAGvB,YAAY;AAAZA,IAAAA,YAAY,GAAAwB,mBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,mBAAA;EAAA,OAAAvP,EAAAA,CAAAA,MAAA,CAAU+N,YAAY,EAAA,IAAA,CAAA;AAAA,CAAI,EAC/C,UAAAyB,MAAA,EAAA;AAAA,EAAA,IAAAC,iBAAA,GAAAD,MAAA,CAAGlH,UAAU;AAAVA,IAAAA,UAAU,GAAAmH,iBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,iBAAA;EAAA,OAAAzP,EAAAA,CAAAA,MAAA,CAAUsI,UAAU,EAAA,IAAA,CAAA;AAAA,CAAI,EACzC,UAAAoH,MAAA,EAAA;AAAA,EAAA,IAAAC,iBAAA,GAAAD,MAAA,CAAGzH,UAAU;AAAVA,IAAAA,UAAU,GAAA0H,iBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,iBAAA;EAAA,OAAA3P,EAAAA,CAAAA,MAAA,CAAUiI,UAAU,EAAA,IAAA,CAAA;AAAA,CAAI,EACvC,UAAA2H,MAAA,EAAA;AAAA,EAAA,IAAAC,mBAAA,GAAAD,MAAA,CAAGxH,YAAY;AAAZA,IAAAA,YAAY,GAAAyH,mBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,mBAAA;EAAA,OAAA7P,EAAAA,CAAAA,MAAA,CAAUoI,YAAY,EAAA,IAAA,CAAA;AAAA,CAAI,EAC5C,UAAA0H,MAAA,EAAA;AAAA,EAAA,IAAAC,oBAAA,GAAAD,MAAA,CAAG5H,aAAa;AAAbA,IAAAA,aAAa,GAAA6H,oBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,oBAAA;EAAA,OAAA/P,EAAAA,CAAAA,MAAA,CAAUkI,aAAa,EAAA,IAAA,CAAA;AAAA,CAAI,EACjD,UAAA8H,MAAA,EAAA;AAAA,EAAA,IAAAC,kBAAA,GAAAD,MAAA,CAAG7H,WAAW;AAAXA,IAAAA,WAAW,GAAA8H,kBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,kBAAA;EAAA,OAAAjQ,EAAAA,CAAAA,MAAA,CAAUmI,WAAW,EAAA,IAAA,CAAA;AAAA,CAAI,CAC9D;;;AC/BM,IAAM+H,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAI5C,KAAK,EAAE6C,UAAU,EAAK;AAC3D,EAAA,OAAQ7C,KAAK,GAAG6C,UAAU,GAAI,GAAG;AACrC,CAAC;AAKM,IAAMC,SAAS,GAAG,SAAZA,SAASA,GAAS;AAC3B,EAAA,OAAO,IAAIC,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM,EAAK;AACpC,IAAA,IAAMzD,KAAK,GAAGlB,QAAQ,CAACtP,aAAa,CAAC,OAAO,CAAC;IAC7CwQ,KAAK,CAAC/M,IAAI,GAAG,MAAM;IACnB+M,KAAK,CAAC0D,MAAM,GAAG,SAAS;AACxB1D,IAAAA,KAAK,CAACb,KAAK,CAACwE,OAAO,GAAG,MAAM;AAE5B3D,IAAAA,KAAK,CAACjB,gBAAgB,CAAC,QAAQ,EAAE,UAAAL,KAAK,EAAI;MACtC,IAAIA,KAAK,CAACG,MAAM,CAAC+E,KAAK,CAAClE,MAAM,GAAG,CAAC,EAAE;QAC/B8D,OAAO,CAAC9E,KAAK,CAACG,MAAM,CAAC+E,KAAK,CAAC,CAAC,CAAC,CAAC;AAClC,OAAC,MAAM;AACHH,QAAAA,MAAM,CAAC,IAAII,KAAK,CAAC,kBAAkB,CAAC,CAAC;AACzC;AACJ,KAAC,CAAC;IAEF7D,KAAK,CAAC8D,KAAK,EAAE;AACjB,GAAC,CAAC;AACN,CAAC;AAEM,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAGC,IAAI,EAAI;AAClC,EAAA,IACI,CAAAA,IAAI,KAAJA,IAAAA,IAAAA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAE/Q,IAAI,OAAKtB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,uBAAZA,YAAY,CAAEI,MAAM,CAAA,IACnC,CAAAiS,IAAI,KAAJA,IAAAA,IAAAA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAE/Q,IAAI,OAAKtB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,uBAAZA,YAAY,CAAEO,UAAU,CAAA,IACvC,CAAA8R,IAAI,KAAJA,IAAAA,IAAAA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAE/Q,IAAI,OAAKtB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,uBAAZA,YAAY,CAAEW,KAAK,CAAA,IAClC,CAAA0R,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAE/Q,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEQ,cAAc,CAC3C,IAAA,CAAA6R,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE/Q,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEK,MAAM,CACnC,IAAA,CAAAgS,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE/Q,IAAI,OAAKtB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEU,IAAI,CAAA,IACjC,CAAA2R,IAAI,KAAJA,IAAAA,IAAAA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAE/Q,IAAI,OAAKtB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEM,QAAQ,CAAA,IACrC,CAAA+R,IAAI,KAAJA,IAAAA,IAAAA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAE/Q,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAES,YAAY,CAC3C,EAAA;AACE,IAAA,OAAO,IAAI;AACf,GAAC,MAAM;AACH,IAAA,OAAO,KAAK;AAChB;AACJ,CAAC;AACM,IAAM6R,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAID,IAAI,EAAE/Q,IAAI,EAAK;AAC/C,EAAA,IAAI+Q,IAAI,IAAI,CAAAA,IAAI,KAAJA,IAAAA,IAAAA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAE/Q,IAAI,MAAKA,IAAI,EAAE;AAC7B,IAAA,OAAO,IAAI;AACf,GAAC,MAAM;AACH,IAAA,OAAO,KAAK;AAChB;AACJ,CAAC;AAEM,IAAMiR,QAAQ,GAAG,SAAXA,QAAQA,CAAIpZ,IAAI,EAAEqZ,KAAK,EAAK;AACrC,EAAA,IAAIC,SAAS;AAEb,EAAA,OAAO,YAAmB;AAAA,IAAA,IAAAC,KAAA,GAAA,IAAA;AAAA,IAAA,KAAA,IAAAC,IAAA,GAAAC,SAAA,CAAA7E,MAAA,EAAN8E,IAAI,GAAAC,IAAAA,KAAA,CAAAH,IAAA,GAAAI,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA,EAAA,EAAA;AAAJF,MAAAA,IAAI,CAAAE,IAAA,CAAAH,GAAAA,SAAA,CAAAG,IAAA,CAAA;AAAA;IACpBpE,YAAY,CAAC8D,SAAS,CAAC;IACvBA,SAAS,GAAG/D,UAAU,CAAC,YAAM;AACzBvV,MAAAA,IAAI,CAAC6Z,KAAK,CAACN,KAAI,EAAEG,IAAI,CAAC;KACzB,EAAEL,KAAK,CAAC;GACZ;AACL,CAAC;AAEM,IAAMS,cAAc,GAAG,SAAjBA,cAAcA,CAAIpE,KAAK,EAAsC;AAAA,EAAA,IAApCqE,YAAY,GAAAN,SAAA,CAAA7E,MAAA,GAAA,CAAA,IAAA6E,SAAA,CAAA,CAAA,CAAA,KAAAO,SAAA,GAAAP,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC;AAAA,EAAA,IAAEQ,SAAS,GAAAR,SAAA,CAAA7E,MAAA,GAAA,CAAA,IAAA6E,SAAA,CAAA,CAAA,CAAA,KAAAO,SAAA,GAAAP,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC;AACjE,EAAA,IAAMS,GAAG,GAAGC,UAAU,CAACzE,KAAK,CAAC;AAC7B,EAAA,IAAI0E,KAAK,CAACF,GAAG,CAAC,EAAE,OAAOH,YAAY;EACnC,OAAOI,UAAU,CAACD,GAAG,CAACG,OAAO,CAACJ,SAAS,CAAC,CAAC;AAC7C,CAAC;AAEM,IAAMK,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAS;AACpC,EAAA,IAAMC,OAAO,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;AAC1B,EAAA,IAAMC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;EAEtB,IAAMC,UAAU,GAAG1R,YAAY,CAAC2C,GAAG,CAAC,UAAAgP,IAAI,EAAI;IACxC,IAAMC,QAAQ,GAAGD,IAAI,CAACE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;AACxC,IAAA,IAAMC,UAAU,GAAGL,OAAO,CACrB9O,GAAG,CAAC,UAAAoP,IAAI,EAAA;AAAA,MAAA,OAAIP,OAAO,CAAC7O,GAAG,CAAC,UAAAqP,CAAC,EAAA;AAAA,QAAA,OAAA,EAAA,CAAA3S,MAAA,CAAO0S,IAAI,EAAA1S,GAAAA,CAAAA,CAAAA,MAAA,CAAI2S,CAAC,CAAA;AAAA,OAAE,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;AAAA,KAAA,CAAC,CACvDA,IAAI,CAAC,GAAG,CAAC;AACd,IAAA,OAAA,SAAA,CAAA5S,MAAA,CAAiBuS,QAAQ,EAAAvS,aAAAA,CAAAA,CAAAA,MAAA,CAAcyS,UAAU,CAAA;AACrD,GAAC,CAAC;EAEF,IAAMI,OAAO,GAAA7S,oCAAAA,CAAAA,MAAA,CAAwCqS,UAAU,CAACO,IAAI,CAAC,GAAG,CAAC,EAAe,eAAA,CAAA;AAExF,EAAA,OAAO,IAAIvC,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM,EAAK;IACpC,IAAI;MACA,IAAI,CAAC3E,QAAQ,CAACkH,aAAa,CAAA,cAAA,CAAA9S,MAAA,CAAe6S,OAAO,EAAI,KAAA,CAAA,CAAC,EAAE;AACpD,QAAA,IAAME,IAAI,GAAGnH,QAAQ,CAACtP,aAAa,CAAC,MAAM,CAAC;QAC3CyW,IAAI,CAACC,IAAI,GAAGH,OAAO;QACnBE,IAAI,CAACE,GAAG,GAAG,YAAY;AACvBrH,QAAAA,QAAQ,CAACsH,IAAI,CAACC,WAAW,CAACJ,IAAI,CAAC;AACnC;MAEA,IAAMK,YAAY,GAAG,EAAE;AACvBzS,MAAAA,YAAY,CAAC0S,OAAO,CAAC,UAAAf,IAAI,EAAI;AACzBH,QAAAA,OAAO,CAACkB,OAAO,CAAC,UAAAC,MAAM,EAAI;AACtBlB,UAAAA,OAAO,CAACiB,OAAO,CAAC,UAAAX,IAAI,EAAI;YACpBU,YAAY,CAACG,IAAI,CACb3H,QAAQ,CAAC1R,KAAK,CAACsZ,IAAI,CAAA,EAAA,CAAAxT,MAAA,CACZ0S,IAAI,GAAG,QAAQ,GAAG,QAAQ,EAAA1S,GAAAA,CAAAA,CAAAA,MAAA,CAAIsT,MAAM,EAAAtT,UAAAA,CAAAA,CAAAA,MAAA,CAAUsS,IAAI,EACzD,IAAA,CAAA,CACJ,CAAC;AACL,WAAC,CAAC;AACN,SAAC,CAAC;AACN,OAAC,CAAC;AAEFjC,MAAAA,OAAO,CAACoD,GAAG,CAACL,YAAY,CAAC,CACpBM,IAAI,CAAC,YAAA;AAAA,QAAA,OAAMpD,OAAO,CAAA,aAAA,CAAAtQ,MAAA,CAAUW,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAE6L,MAAM,EAAA,eAAA,CAAe,CAAC;OAAC,CAAA,CAAA,OAAA,CAC5D,CAAC,UAAAmH,GAAG,EAAA;QAAA,OAAIpD,MAAM,CAACoD,GAAG,CAAC;OAAC,CAAA;KACjC,CAAC,OAAOA,GAAG,EAAE;MACVpD,MAAM,CAACoD,GAAG,CAAC;AACf;AACJ,GAAC,CAAC;AACN,CAAC;AACM,IAAMC,qBAAqB,gBAAA,YAAA;EAAA,IAAAvY,IAAA,GAAAwY,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAG,SAAAC,OAAA,GAAA;AAAA,IAAA,IAAAhQ,QAAA;MAAAiQ,aAAA;AAAAC,MAAAA,KAAA,GAAA7C,SAAA;AAAA,IAAA,OAAAyC,mBAAA,EAAA,CAAAK,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,QAAA,KAAA,CAAA;UAAOvQ,QAAQ,GAAAkQ,KAAA,CAAA1H,MAAA,GAAA,CAAA,IAAA0H,KAAA,CAAA,CAAA,CAAA,KAAAtC,SAAA,GAAAsC,KAAA,CAAA,CAAA,CAAA,GAAG,EAAE;UAC/CD,aAAa,GAAGjQ,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CACxBV,GAAG,CAAC,UAAAwN,IAAI,EAAI;YACV,IAAItU,GAAG,GAAG,IAAI;YAEd,IAAI,CAAAsU,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAE/Q,IAAI,MAAK,OAAO,IAAI,CAAA+Q,IAAI,aAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE/Q,IAAI,MAAK,iBAAiB,EAAE;AAC5DvD,cAAAA,GAAG,GAAGsU,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAEtU,GAAG;AACnB,aAAC,MAAM,IAAI,CAAAsU,IAAI,KAAJA,IAAAA,IAAAA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAE/Q,IAAI,MAAK,IAAI,EAAE;AAC5BvD,cAAAA,GAAG,GAAGsU,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAE0D,MAAM;AACtB;AAEA,YAAA,IAAI,CAAChY,GAAG,EAAE,OAAO,IAAI;AAErB,YAAA,OAAO,IAAI6T,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM,EAAK;AACpC,cAAA,IAAM/U,GAAG,GAAG,IAAIiZ,KAAK,EAAE;cACvBjZ,GAAG,CAACkZ,MAAM,GAAG,YAAA;AAAA,gBAAA,OAAMpE,OAAO,CAAC;AAAE9T,kBAAAA,GAAG,EAAHA,GAAG;AAAEmY,kBAAAA,OAAO,EAAE;AAAK,iBAAC,CAAC;AAAA,eAAA;cAClDnZ,GAAG,CAACoZ,OAAO,GAAG,YAAA;AAAA,gBAAA,OAAMrE,MAAM,CAAC;AAAE/T,kBAAAA,GAAG,EAAHA,GAAG;AAAEmY,kBAAAA,OAAO,EAAE;AAAM,iBAAC,CAAC;AAAA,eAAA;cACnDnZ,GAAG,CAACgB,GAAG,GAAGA,GAAG;AACjB,aAAC,CAAC;AACN,WAAC,CAAC,CACDqY,MAAM,CAACC,OAAO,CAAC;AAAA,UAAA,OAAAT,QAAA,CAAAU,MAAA,WAEb1E,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,MAAAA,GAAAA,MAAAA,GAAAA,OAAO,CAAE2E,UAAU,CAACf,aAAa,CAAC,CAACP,IAAI,CAAC,UAAAuB,OAAO,EAAI;YACtD,IAAMC,SAAS,GAAGD,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,MAAAA,GAAAA,MAAAA,GAAAA,OAAO,CAAEJ,MAAM,CAAC,UAAAM,CAAC,EAAA;cAAA,OAAI,CAAAA,CAAC,KAADA,IAAAA,IAAAA,CAAC,uBAADA,CAAC,CAAEC,MAAM,MAAK,WAAW;AAAA,aAAA,CAAC,CAAC9R,GAAG,CAAC,UAAA6R,CAAC,EAAA;AAAA,cAAA,OAAIA,CAAC,KAADA,IAAAA,IAAAA,CAAC,KAADA,MAAAA,GAAAA,MAAAA,GAAAA,CAAC,CAAE7H,KAAK;aAAC,CAAA;YAEpF,IAAM+H,MAAM,GAAGJ,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,MAAAA,GAAAA,MAAAA,GAAAA,OAAO,CAAEJ,MAAM,CAAC,UAAAM,CAAC,EAAA;cAAA,OAAI,CAAAA,CAAC,KAADA,IAAAA,IAAAA,CAAC,uBAADA,CAAC,CAAEC,MAAM,MAAK,UAAU;AAAA,aAAA,CAAC,CAAC9R,GAAG,CAAC,UAAA6R,CAAC,EAAA;AAAA,cAAA,OAAIA,CAAC,KAADA,IAAAA,IAAAA,CAAC,KAADA,MAAAA,GAAAA,MAAAA,GAAAA,CAAC,CAAEG,MAAM;aAAC,CAAA;YAEjF,OAAO;AAAEJ,cAAAA,SAAS,EAATA,SAAS;AAAEG,cAAAA,MAAM,EAANA;aAAQ;AAChC,WAAC,CAAC,CAAA;AAAA,QAAA,KAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAhB,QAAA,CAAAkB,IAAA,EAAA;AAAA;AAAA,KAAA,EAAAvB,OAAA,CAAA;GACL,CAAA,CAAA;AAAA,EAAA,OAAA,SA7BYJ,qBAAqBA,GAAA;AAAA,IAAA,OAAAvY,IAAA,CAAAoW,KAAA,CAAA,IAAA,EAAAJ,SAAA,CAAA;AAAA,GAAA;AAAA,CA6BjC,EAAA;AACM,IAAMmE,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAsB;AAAA,EAAA,IAAlBxR,QAAQ,GAAAqN,SAAA,CAAA7E,MAAA,GAAA,CAAA,IAAA6E,SAAA,CAAA,CAAA,CAAA,KAAAO,SAAA,GAAAP,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;AAC7C,EAAA,OAAOrN,QAAQ,CAACV,GAAG,CAAC,UAAAwN,IAAI,EAAI;IACxB,IAAI,OAAO,IAAIA,IAAI,EAAE;AACjB;AACA,MAA2BA,IAAI,CAAvBpT,KAAK;AAAK+X,YAAAA,IAAI,GAAAC,wBAAA,CAAK5E,IAAI,EAAA6E,SAAA;AAC/B,MAAA,OAAOF,IAAI;AACf;AACA,IAAA,OAAO3E,IAAI;AACf,GAAC,CAAC;AACN,CAAC;AAEM,IAAM8E,kBAAkB,gBAAA,YAAA;AAAA,EAAA,IAAAta,KAAA,GAAAuY,iBAAA,cAAAC,mBAAA,EAAA,CAAAC,IAAA,CAAG,SAAA8B,QAAAA,CAAO7Q,QAAQ,EAAE8Q,WAAW,EAAA;AAAA,IAAA,IAAAC,KAAA;AAAAC,MAAAA,MAAA,GAAA3E,SAAA;AAAA,IAAA,OAAAyC,mBAAA,EAAA,CAAAK,IAAA,CAAA,SAAA8B,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA5B,IAAA,GAAA4B,SAAA,CAAA3B,IAAA;AAAA,QAAA,KAAA,CAAA;UAAEwB,KAAK,GAAAC,MAAA,CAAAxJ,MAAA,GAAA,CAAA,IAAAwJ,MAAA,CAAA,CAAA,CAAA,KAAApE,SAAA,GAAAoE,MAAA,CAAA,CAAA,CAAA,GAAG,CAAC;AAAA,UAAA,OAAAE,SAAA,CAAAnB,MAAA,CAAA,QAAA,EAE9D,IAAI1E,OAAO,cAAA,YAAA;AAAA,YAAA,IAAA3U,KAAA,GAAAmY,iBAAA,cAAAC,mBAAA,EAAA,CAAAC,IAAA,CAAC,SAAAoC,QAAAA,CAAO7F,OAAO,EAAEC,MAAM,EAAA;AAAA,cAAA,IAAA6F,KAAA,EAAAC,MAAA,EAAAC,OAAA;AAAA,cAAA,OAAAxC,mBAAA,EAAA,CAAAK,IAAA,CAAA,SAAAoC,UAAAC,SAAA,EAAA;AAAA,gBAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAlC,IAAA,GAAAkC,SAAA,CAAAjC,IAAA;AAAA,kBAAA,KAAA,CAAA;AAAAiC,oBAAAA,SAAA,CAAAlC,IAAA,GAAA,CAAA;AAE3B8B,oBAAAA,KAAK,GAAGpR,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,MAAAA,GAAAA,MAAAA,GAAAA,QAAQ,CAAEyG,OAAO;AAAA,oBAAA,IAC1B2K,KAAK,EAAA;AAAAI,sBAAAA,SAAA,CAAAjC,IAAA,GAAA,CAAA;AAAA,sBAAA;AAAA;AAAA,oBAAA,OAAAiC,SAAA,CAAAzB,MAAA,WACCxE,MAAM,CAAC,wBAAwB,CAAC,CAAA;AAAA,kBAAA,KAAA,CAAA;AAAAiG,oBAAAA,SAAA,CAAAjC,IAAA,GAAA,CAAA;oBAAA,OAItB6B,KAAK,CAACK,QAAQ,CAAC;AAAEC,sBAAAA,UAAU,EAAEX;AAAM,qBAAC,CAAC;AAAA,kBAAA,KAAA,CAAA;oBAApDM,MAAM,GAAAG,SAAA,CAAAG,IAAA;AAAAH,oBAAAA,SAAA,CAAAjC,IAAA,GAAA,CAAA;AAAA,oBAAA,OAGU8B,MAAM,CAACO,SAAS,CAAC,WAAW,CAAC;AAAA,kBAAA,KAAA,CAAA;oBAA7CN,OAAO,GAAAE,SAAA,CAAAG,IAAA;AAEb;oBACArG,OAAO,CAACgG,OAAO,CAAC;AAACE,oBAAAA,SAAA,CAAAjC,IAAA,GAAA,EAAA;AAAA,oBAAA;AAAA,kBAAA,KAAA,EAAA;AAAAiC,oBAAAA,SAAA,CAAAlC,IAAA,GAAA,EAAA;oBAAAkC,SAAA,CAAAK,EAAA,GAAAL,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA;AAEjBjG,oBAAAA,MAAM,CAAAiG,SAAA,CAAAK,EAAM,CAAC;AAAC,kBAAA,KAAA,EAAA;AAAA,kBAAA,KAAA,KAAA;oBAAA,OAAAL,SAAA,CAAAjB,IAAA,EAAA;AAAA;AAAA,eAAA,EAAAY,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA;aAErB,CAAA,CAAA;YAAA,OAAAW,UAAAA,GAAA,EAAAC,GAAA,EAAA;AAAA,cAAA,OAAArb,KAAA,CAAA+V,KAAA,CAAA,IAAA,EAAAJ,SAAA,CAAA;AAAA,aAAA;WAAC,EAAA,CAAA,CAAA;AAAA,QAAA,KAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAA6E,SAAA,CAAAX,IAAA,EAAA;AAAA;AAAA,KAAA,EAAAM,QAAA,CAAA;GACL,CAAA,CAAA;AAAA,EAAA,OAAA,SArBYD,kBAAkBA,CAAAoB,EAAA,EAAAC,GAAA,EAAA;AAAA,IAAA,OAAA3b,KAAA,CAAAmW,KAAA,CAAA,IAAA,EAAAJ,SAAA,CAAA;AAAA,GAAA;AAAA,CAqB9B,EAAA;AAEM,IAAM6F,cAAc,GAAG,SAAjBA,cAAcA,CAAGpf,MAAM,EAAI;AACpC,EAAA,IAAI8I,kBAAkB,CAACuW,QAAQ,CAACrf,MAAM,CAAC,EAAE;AACrC,IAAA,OAAOA,MAAM;AACjB,GAAC,MAAM;AACH,IAAA,OAAO,IAAI;AACf;AACJ,CAAC;;ACtLM,IAAMpB,WAAS,GAAG;EACrB4W,KAAK,EAAE1W,SAAS,CAAC+M,MAAM;EACvByT,eAAe,EAAExgB,SAAS,CAACgB,IAAI;EAC/Byf,GAAG,EAAEzgB,SAAS,CAAC+M,MAAM;EACrB2T,GAAG,EAAE1gB,SAAS,CAAC+M,MAAM;EACrB4T,IAAI,EAAE3gB,SAAS,CAAC+M,MAAM;EACtB6T,WAAW,EAAE5gB,SAAS,CAAC+M,MAAM;EAC7B8T,SAAS,EAAE7gB,SAAS,CAACqE,IAAI;EACzByc,UAAU,EAAE9gB,SAAS,CAACqE,IAAI;AAC1BwN,EAAAA,GAAG,EAAE7R,SAAS,CAAC+D,SAAS,CAAC,CACjB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;EACRgU,aAAa,EAAE/gB,SAAS,CAACQ,IAAI;EAC7BwgB,OAAO,EAAEhhB,SAAS,CAACC,MAAM;EACzBsH,UAAU,EAAEvH,SAAS,CAACC,MAAM;EAC5B6R,OAAO,EAAE9R,SAAS,CAACC,MAAM;EACzB8R,eAAe,EAAE/R,SAAS,CAACC;AAC/B,CAAC;;ACZM,IAAMghB,aAAa,GAAG,SAAhBA,aAAaA,CAAAxc,IAAA,EAgBpB;AAAA,EAAA,IAAAwG,qBAAA;AAAA,EAAA,IAAAiW,UAAA,GAAAzc,IAAA,CAfFiS,KAAK;AAALA,IAAAA,KAAK,GAAAwK,UAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,UAAA;IACTV,eAAe,GAAA/b,IAAA,CAAf+b,eAAe;IAAAW,QAAA,GAAA1c,IAAA,CACfgc,GAAG;AAAHA,IAAAA,GAAG,GAAAU,QAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,QAAA;IAAAC,QAAA,GAAA3c,IAAA,CACPic,GAAG;AAAHA,IAAAA,GAAG,GAAAU,QAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,QAAA;IAAAC,SAAA,GAAA5c,IAAA,CACPkc,IAAI;AAAJA,IAAAA,IAAI,GAAAU,SAAA,KAAG,MAAA,GAAA,GAAG,GAAAA,SAAA;IAAAC,gBAAA,GAAA7c,IAAA,CACVmc,WAAW;AAAXA,IAAAA,WAAW,GAAAU,gBAAA,KAAG,MAAA,GAAA,GAAG,GAAAA,gBAAA;IACjBT,SAAS,GAAApc,IAAA,CAAToc,SAAS;IACTC,UAAU,GAAArc,IAAA,CAAVqc,UAAU;IAAAS,QAAA,GAAA9c,IAAA,CACVoN,GAAG;AAAHA,IAAAA,GAAG,GAAA0P,QAAA,KAAG,MAAA,GAAA,EAAE,GAAAA,QAAA;IAAAC,kBAAA,GAAA/c,IAAA,CACRsc,aAAa;AAAbA,IAAAA,aAAa,GAAAS,kBAAA,KAAG,MAAA,GAAA,IAAI,GAAAA,kBAAA;IAAAC,YAAA,GAAAhd,IAAA,CACpBuc,OAAO;AAAPA,IAAAA,OAAO,GAAAS,YAAA,KAAG,MAAA,GAAA,SAAS,GAAAA,YAAA;IAAAC,eAAA,GAAAjd,IAAA,CACnB8C,UAAU;IAAVA,UAAU,GAAAma,eAAA,KAAG7d,MAAAA,GAAAA,KAAK,CAACP,KAAK,CAAChC,SAAS,GAAAogB,eAAA;IAAAC,mBAAA,GAAAld,IAAA,CAClCvE,cAAc;AAAdA,IAAAA,cAAc,GAAAyhB,mBAAA,KAAG,MAAA,GAAA,IAAI,GAAAA,mBAAA;IAAAC,YAAA,GAAAnd,IAAA,CACrBqN,OAAO;IAAPA,OAAO,GAAA8P,YAAA,KAAG3X,MAAAA,GAAAA,eAAe,aAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,cAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmC4W,OAAO,GAAAD,YAAA;IAAAE,oBAAA,GAAArd,IAAA,CACpDsN,eAAe;AAAfA,IAAAA,eAAe,GAAA+P,oBAAA,KAAG,MAAA,GAAA,QAAQ,GAAAA,oBAAA;AAE1B,EAAA,IAAMC,SAAS,GAAGtN,YAAM,CAAC,IAAI,CAAC;AAE9B,EAAA,IAAAP,SAAA,GAAwDC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAhE8N,IAAAA,oBAAoB,GAAA5N,UAAA,CAAA,CAAA,CAAA;AAAE6N,IAAAA,uBAAuB,GAAA7N,UAAA,CAAA,CAAA,CAAA;AACpDM,EAAAA,eAAS,CAAC,YAAM;AACZ,IAAA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGC,KAAK,EAAI;AAChC,MAAA,IAAImN,SAAS,CAAClN,OAAO,IAAI,CAACkN,SAAS,CAAClN,OAAO,CAACC,QAAQ,CAACF,KAAK,CAACG,MAAM,CAAC,EAAE;QAChEkN,uBAAuB,CAAC,KAAK,CAAC;AAClC;KACH;AACDjN,IAAAA,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAEN,kBAAkB,CAAC;IAC1D,OAAO,YAAA;AAAA,MAAA,OAAMK,QAAQ,CAACE,mBAAmB,CAAC,WAAW,EAAEP,kBAAkB,CAAC;AAAA,KAAA;GAC7E,EAAE,EAAE,CAAC;EAEN,oBACIlP,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACI0P,IAAAA,GAAG,EAAE2M,SAAU;AACf1M,IAAAA,KAAK,EAAE;AACHxC,MAAAA,QAAQ,EAAE;KACZ;AACF1O,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACX8d,uBAAuB,CAAC,IAAI,CAAC;AACjC;AAAE,GAAA,eAEFxc,KAAA,CAAAC,aAAA,CAAC2N,oBAAoB,EAAA;AAACxB,IAAAA,GAAG,EAAEA,GAAI;AAACC,IAAAA,OAAO,EAAEA,OAAQ;AAACC,IAAAA,eAAe,EAAEA;GAC9DgP,EAAAA,aAAa,KAAKF,SAAS,GAAGA,SAAS,gBAAGpb,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAEsc;AAAY,GAAE,CAAC,CAAC,eAC7Ezc,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AAACtQ,IAAAA,UAAU,EAAEA;GACnByZ,EAAAA,OAAO,KAAK,SAAS,GAAA,EAAA,CAAA5X,MAAA,CAAMsN,KAAK,GAAG,GAAG,EAAMA,GAAAA,CAAAA,GAAAA,KACrC,CAAC,EACZoK,UAAU,IAAIA,UACG,CAAC,EACtBkB,oBAAoB,iBACjBvc,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACI2P,IAAAA,KAAK,EAAE;AACHxC,MAAAA,QAAQ,EAAE,UAAU;MACpBsP,MAAM,EAAE,GAAG;AACXC,MAAAA,UAAU,EAAE,OAAO;AACnB3M,MAAAA,OAAO,EAAE,EAAE;AACXmC,MAAAA,YAAY,EAAE,CAAC;AACfyK,MAAAA,MAAM,EAAE,2BAA2B;AACnCC,MAAAA,MAAM,EAAE;AACZ;GAEA7c,eAAAA,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AACIyD,IAAAA,IAAI,EAAC,OAAO;AACZsX,IAAAA,GAAG,EAAEA,GAAI;AACTC,IAAAA,GAAG,EAAEA,GAAI;AACTC,IAAAA,IAAI,EAAEA,IAAK;AACXjK,IAAAA,KAAK,EAAEA,KAAM;AACbV,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEzJ,CAAC,EAAI;MACXiU,eAAe,CAAC+B,MAAM,CAAChW,CAAC,CAACwI,MAAM,CAAC2B,KAAK,CAAC,CAAC;KACzC;AACFrB,IAAAA,KAAK,EAAE;AAAE3O,MAAAA,KAAK,EAAEka;AAAY;GAC/B,CACA,CAER,CAAC;AAEd,CAAC;AAEDK,aAAa,CAACnhB,SAAS,GAAGA,WAAS;;AClF5B,IAAMA,WAAS,GAAG;EACrB4W,KAAK,EAAE1W,SAAS,CAAC+M,MAAM;EACvByV,WAAW,EAAExiB,SAAS,CAACC,MAAM;EAC7BwgB,GAAG,EAAEzgB,SAAS,CAAC+M,MAAM;EACrB2T,GAAG,EAAE1gB,SAAS,CAAC+M,MAAM;EACrB4T,IAAI,EAAE3gB,SAAS,CAAC+M,MAAM;EACtB0V,mBAAmB,EAAEziB,SAAS,CAACgB,IAAI;EACnC6M,wBAAwB,EAAE7N,SAAS,CAACgB,IAAI;EACxC4f,WAAW,EAAE5gB,SAAS,CAAC+M,MAAM;EAC7B7M,cAAc,EAAEF,SAAS,CAACC,MAAM;EAChC6R,OAAO,EAAE9R,SAAS,CAACC,MAAM;EACzByiB,QAAQ,EAAE1iB,SAAS,CAAC2iB;AACxB,CAAC;;ACNM,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAAne,IAAA,EAYnB;AAAA,EAAA,IAAAwG,qBAAA;AAAA,EAAA,IAXFyL,KAAK,GAAAjS,IAAA,CAALiS,KAAK;IACL8L,WAAW,GAAA/d,IAAA,CAAX+d,WAAW;IAAArB,QAAA,GAAA1c,IAAA,CACXgc,GAAG;AAAHA,IAAAA,GAAG,GAAAU,QAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,QAAA;IAAAC,QAAA,GAAA3c,IAAA,CACPic,GAAG;AAAHA,IAAAA,GAAG,GAAAU,QAAA,KAAG,MAAA,GAAA,EAAE,GAAAA,QAAA;IAAAC,SAAA,GAAA5c,IAAA,CACRkc,IAAI;AAAJA,IAAAA,IAAI,GAAAU,SAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,SAAA;IACRoB,mBAAmB,GAAAhe,IAAA,CAAnBge,mBAAmB;IACnB5U,wBAAwB,GAAApJ,IAAA,CAAxBoJ,wBAAwB;IAAAyT,gBAAA,GAAA7c,IAAA,CACxBmc,WAAW;AAAXA,IAAAA,WAAW,GAAAU,gBAAA,KAAG,MAAA,GAAA,GAAG,GAAAA,gBAAA;IAAAK,mBAAA,GAAAld,IAAA,CACjBvE,cAAc;AAAdA,IAAAA,cAAc,GAAAyhB,mBAAA,KAAG,MAAA,GAAA,IAAI,GAAAA,mBAAA;IAAAC,YAAA,GAAAnd,IAAA,CACrBqN,OAAO;IAAPA,OAAO,GAAA8P,YAAA,KAAG3X,MAAAA,GAAAA,eAAe,aAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,cAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmC4X,sBAAsB,GAAAjB,YAAA;IAAAkB,aAAA,GAAAre,IAAA,CACnEie,QAAQ;AAARA,IAAAA,QAAQ,GAAAI,aAAA,KAAGC,MAAAA,GAAAA,QAAQ,GAAAD,aAAA;AAEnB,EAAA,IAAMf,SAAS,GAAGtN,YAAM,CAAC,IAAI,CAAC;AAC9B,EAAA,IAAAP,SAAA,GAAsDC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA9D8O,IAAAA,mBAAmB,GAAA5O,UAAA,CAAA,CAAA,CAAA;AAAE6O,IAAAA,sBAAsB,GAAA7O,UAAA,CAAA,CAAA,CAAA;AAClD,EAAA,IAAA8O,UAAA,GAA0B/O,cAAQ,CAAC,EAAE,CAAC;IAAAgP,UAAA,GAAA9O,cAAA,CAAA6O,UAAA,EAAA,CAAA,CAAA;AAA/B9f,IAAAA,KAAK,GAAA+f,UAAA,CAAA,CAAA,CAAA;AAAE9M,IAAAA,QAAQ,GAAA8M,UAAA,CAAA,CAAA,CAAA;AAEtBzO,EAAAA,eAAS,CAAC,YAAM;AACZ,IAAA,IAAM4B,OAAO,GAAGC,UAAU,CAAC,YAAM;MAC7B,IAAI,CAACnT,KAAK,EAAE;AACR,QAAA;AACJ;MACAyK,wBAAwB,CAACzK,KAAK,CAAC;KAClC,EAAE,GAAG,CAAC;IAEP,OAAO,YAAA;MAAA,OAAMoT,YAAY,CAACF,OAAO,CAAC;AAAA,KAAA;AACtC,GAAC,EAAE,CAAClT,KAAK,CAAC,CAAC;AAEX,EAAA,IAAMqT,aAAa,GAAG,SAAhBA,aAAaA,CAAGlK,CAAC,EAAI;AACvB8J,IAAAA,QAAQ,CAAC9J,CAAC,CAACwI,MAAM,CAAC2B,KAAK,CAAC;GAC3B;AACDhC,EAAAA,eAAS,CAAC,YAAM;AACZ,IAAA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGC,KAAK,EAAI;AAChC,MAAA,IAAImN,SAAS,CAAClN,OAAO,IAAI,CAACkN,SAAS,CAAClN,OAAO,CAACC,QAAQ,CAACF,KAAK,CAACG,MAAM,CAAC,EAAE;QAChEkO,sBAAsB,CAAC,KAAK,CAAC;AACjC;KACH;AACDjO,IAAAA,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAEN,kBAAkB,CAAC;IAC1D,OAAO,YAAA;AAAA,MAAA,OAAMK,QAAQ,CAACE,mBAAmB,CAAC,WAAW,EAAEP,kBAAkB,CAAC;AAAA,KAAA;GAC7E,EAAE,EAAE,CAAC;EAEN,oBACIlP,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACI2P,IAAAA,KAAK,EAAE;AACHxC,MAAAA,QAAQ,EAAE;KACZ;AACFuC,IAAAA,GAAG,EAAE2M;AAAU,GAAA,eAEftc,KAAA,CAAAC,aAAA,CAAC2N,oBAAoB,EAAA;AAACxB,IAAAA,GAAG,EAAE,EAAG;AAACC,IAAAA,OAAO,EAAEA,OAAQ;AAACC,IAAAA,eAAe,EAAE;AAAS,GAAA,eACvEtM,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAE8c;AAAS,GAAE,CAAC,eAC9Bjd,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPtQ,IAAAA,UAAU,EAAE1D,KAAK,CAACP,KAAK,CAAChC;AACxB;AAAA;AACAkQ,IAAAA,YAAY,EAAE,EAAG;AACjBrN,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACX8e,sBAAsB,CAAC,IAAI,CAAC;AAChC;AAAE,GAAA,EAEDvM,KACO,CAAC,eACbjR,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACI2P,IAAAA,KAAK,EAAE;AACH1O,MAAAA,MAAM,EAAE,EAAE;AACVD,MAAAA,KAAK,EAAE,EAAE;AACTkR,MAAAA,YAAY,EAAE,CAAC;AACfwK,MAAAA,UAAU,EAAEve,KAAK,CAACT,KAAK,CAACL,WAAW;AACnC8W,MAAAA,OAAO,EAAE,MAAM;AACfuJ,MAAAA,UAAU,EAAE,QAAQ;AACpBxR,MAAAA,cAAc,EAAE,QAAQ;AACxBiB,MAAAA,QAAQ,EAAE;AACd;GAEApN,eAAAA,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AACIyD,IAAAA,IAAI,EAAC,OAAO;AACZuN,IAAAA,KAAK,EAAE8L,WAAY;AACnBxM,IAAAA,QAAQ,EAAES,aAAc;AACxBpB,IAAAA,KAAK,EAAE;AACH3O,MAAAA,KAAK,EAAE,MAAM;AACbC,MAAAA,MAAM,EAAE,MAAM;AACd0b,MAAAA,MAAM,EAAE,MAAM;AACd3M,MAAAA,MAAM,EAAE,SAAS;AACjB/L,MAAAA,OAAO,EAAE;AACb;AAAE,GACL,CAAC,eACFlE,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACI2P,IAAAA,KAAK,EAAE;AACH1O,MAAAA,MAAM,EAAE,EAAE;AACVD,MAAAA,KAAK,EAAE,CAAC;AACRqB,MAAAA,eAAe,EAAEya,WAAW;AAC5Ba,MAAAA,SAAS,EAAE,eAAe;AAC1BxQ,MAAAA,QAAQ,EAAE,UAAU;AACpByQ,MAAAA,aAAa,EAAE;AACnB;GACH,CACA,CACa,CAAC,EACtBN,mBAAmB,iBAChBvd,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACI2P,IAAAA,KAAK,EAAE;AACHxC,MAAAA,QAAQ,EAAE,UAAU;MACpBsP,MAAM,EAAE,GAAG;AACXC,MAAAA,UAAU,EAAE,OAAO;AACnB3M,MAAAA,OAAO,EAAE,EAAE;AACXmC,MAAAA,YAAY,EAAE,CAAC;AACfyK,MAAAA,MAAM,EAAE,2BAA2B;AACnCC,MAAAA,MAAM,EAAE;AACZ;GAEA7c,eAAAA,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AACIyD,IAAAA,IAAI,EAAC,OAAO;AACZsX,IAAAA,GAAG,EAAEA,GAAI;AACTC,IAAAA,GAAG,EAAEA,GAAI;AACTC,IAAAA,IAAI,EAAEA,IAAK;AACXjK,IAAAA,KAAK,EAAEA,KAAM;AACbV,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEzJ,CAAC,EAAI;MACXkW,mBAAmB,CAACF,MAAM,CAAChW,CAAC,CAACwI,MAAM,CAAC2B,KAAK,CAAC,CAAC;KAC7C;AACFrB,IAAAA,KAAK,EAAE;AAAE3O,MAAAA,KAAK,EAAEka;AAAY;GAC/B,CACA,CAER,CAAC;AAEd,CAAC;AAEDgC,YAAY,CAAC9iB,SAAS,GAAGA,WAAS;;AC/G3B,IAAMyjB,eAAe,GAAG,SAAlBA,eAAeA,CAAA9e,IAAA,EAgBtB;EAAA,IAAAwG,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;AAAA,EAAA,IAfF8B,oBAAoB,GAAA1I,IAAA,CAApB0I,oBAAoB;IACpB4D,qBAAqB,GAAAtM,IAAA,CAArBsM,qBAAqB;IACrBxD,oBAAoB,GAAA9I,IAAA,CAApB8I,oBAAoB;IACpBgB,sBAAsB,GAAA9J,IAAA,CAAtB8J,sBAAsB;IACtBD,8BAA8B,GAAA7J,IAAA,CAA9B6J,8BAA8B;IAC9BqB,aAAa,GAAAlL,IAAA,CAAbkL,aAAa;IACbC,gBAAgB,GAAAnL,IAAA,CAAhBmL,gBAAgB;IAChB1P,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;IACd6P,mBAAmB,GAAAtL,IAAA,CAAnBsL,mBAAmB;IACnBC,qBAAqB,GAAAvL,IAAA,CAArBuL,qBAAqB;IACrBxG,kBAAkB,GAAA/E,IAAA,CAAlB+E,kBAAkB;IAClBC,uBAAuB,GAAAhF,IAAA,CAAvBgF,uBAAuB;IACvBwG,wBAAwB,GAAAxL,IAAA,CAAxBwL,wBAAwB;IACxBe,qBAAqB,GAAAvM,IAAA,CAArBuM,qBAAqB;IACrBwS,uBAAuB,GAAA/e,IAAA,CAAvB+e,uBAAuB;AAEvB,EAAA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGlX,CAAC,EAAI;IAC/BY,oBAAoB,CAACZ,CAAC,CAAC;GAC1B;AACD,EAAA,IAAMmX,sBAAsB,gBAAA,YAAA;IAAA,IAAAhf,KAAA,GAAAuY,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAG,SAAAC,OAAA,GAAA;AAAA,MAAA,IAAAuG,IAAA,EAAAC,QAAA,EAAAC,MAAA;AAAA,MAAA,OAAA3G,mBAAA,EAAA,CAAAK,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;AAAAF,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;YAAA,OACRnE,SAAS,EAAE;AAAA,UAAA,KAAA,CAAA;YAAxBmK,IAAI,GAAAlG,QAAA,CAAAsC,IAAA;AAAA,YAAA,IACL4D,IAAI,EAAA;AAAAlG,cAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;AAAA,cAAA;AAAA;YAAA,OAAAF,QAAA,CAAAU,MAAA,CAAA,QAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,IAAA,CACLpO,mBAAmB,EAAA;AAAA0N,cAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA;AAAA,cAAA;AAAA;YACnB3N,qBAAqB,CAAC,IAAI,CAAC;AAACyN,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;YAAA,OACL5N,mBAAmB,CAAC4T,IAAI,CAAC;AAAA,UAAA,KAAA,CAAA;YAA1CC,QAAQ,GAAAnG,QAAA,CAAAsC,IAAA;YACdxS,oBAAoB,CAACqW,QAAQ,CAAC;YAC9B5T,qBAAqB,CAAC,KAAK,CAAC;AAACyN,YAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA;AAAA,YAAA;AAAA,UAAA,KAAA,EAAA;AAEvBkG,YAAAA,MAAM,GAAG,IAAIC,UAAU,EAAE;YAC/BD,MAAM,CAAC/F,MAAM,GAAG,YAAM;AAClBvQ,cAAAA,oBAAoB,CAACsW,MAAM,CAACE,MAAM,CAAC;aACtC;AACDF,YAAAA,MAAM,CAACG,aAAa,CAACL,IAAI,CAAC;AAAC,UAAA,KAAA,EAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAlG,QAAA,CAAAkB,IAAA,EAAA;AAAA;AAAA,OAAA,EAAAvB,OAAA,CAAA;KAElC,CAAA,CAAA;AAAA,IAAA,OAAA,SAfKsG,sBAAsBA,GAAA;AAAA,MAAA,OAAAhf,KAAA,CAAAmW,KAAA,CAAA,IAAA,EAAAJ,SAAA,CAAA;AAAA,KAAA;GAe3B,EAAA;EAED,oBACIhV,KAAA,CAAAC,aAAA,CAACoQ,cAAY,qBACTrQ,KAAA,CAAAC,aAAA,CAACuO,QAAQ,EAAA;AACLpC,IAAAA,GAAG,EAAE,EAAG;IACRyB,IAAI,eAAE7N,KAAA,CAAAC,aAAA,CAACmQ,OAAK,EAAA,IAAA,EAAEjG,gBAAwB,CAAE;AACxC6D,IAAAA,IAAI,EAAEwQ,MAAM,CAACC,IAAI,CAACne,SAAS,CAAE;AAC7B2N,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEnH,CAAC,EAAI;AACXoD,MAAAA,aAAa,IAAIA,aAAa,CAACpD,CAAC,CAAC;KACnC;AACFuF,IAAAA,OAAO,EAAE7H,eAAe,KAAfA,IAAAA,IAAAA,eAAe,gBAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmCkZ;AAAU,GACzD,CAAC,eACF1e,KAAA,CAAAC,aAAA,CAAC2N,oBAAoB,EAAA;AACjBxB,IAAAA,GAAG,EAAE,EAAG;AACRC,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAAgL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCkZ,gBAAiB;AAC7DrS,IAAAA,eAAe,EAAE;AAAS,GAAA,eAE1BtM,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAEye;AAAoB,GAAE,CAAC,eACzC5e,KAAA,CAAAC,aAAA,CAAC0Q,QAAQ,EAAA;AACLrO,IAAAA,eAAe,EAAEgJ,qBAAqB,IAAIlN,KAAK,CAACT,KAAK,CAAC5B,KAAM;AAC5DwU,IAAAA,QAAQ,EAAEyN;AAAsB,GACnC,CACiB,CAAC,eACvBhe,KAAA,CAAAC,aAAA,CAAC2N,oBAAoB,EAAA;AACjB7B,IAAAA,YAAY,EAAE,EAAG;AACjBD,IAAAA,WAAW,EAAE,EAAG;AAChBpN,IAAAA,OAAO,EAAEuf,sBAAuB;AAChC5R,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAkB,sBAAA,GAAflB,eAAe,CAAG/J,cAAc,CAAC,MAAAiL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCmZ,gBAAiB;AAC7DvS,IAAAA,eAAe,EAAE;AAAS,GAAA,EAEzBf,qBAAqB,iBAClBvL,KAAA,CAAAC,aAAA,CAACqQ,YAAY,EAAA;AACT5R,IAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEoI,CAAC,EAAI;MACViX,uBAAuB,IAAIA,uBAAuB,EAAE;MACpDjX,CAAC,CAACiJ,eAAe,EAAE;AACvB;AAAE,GAAA,eAEF/P,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAE2e,SAAU;AAAC5d,IAAAA,MAAM,EAAE,EAAG;AAACD,IAAAA,KAAK,EAAE;AAAG,GAAE,CAC3C,CACjB,eACDjB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;IACR/Q,GAAG,EAAE,CAAAoL,qBAAqB,KAArBA,IAAAA,IAAAA,qBAAqB,uBAArBA,qBAAqB,CAAEpL,GAAG,KAAI4e,mBAAoB;AACvD7d,IAAAA,MAAM,EAAE,EAAG;AACXD,IAAAA,KAAK,EAAE;AAAG,GACb,CACiB,CAAC,eACvBjB,KAAA,CAAAC,aAAA,CAACub,aAAa,EAAA;AACVnP,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAmB,sBAAA,GAAfnB,eAAe,CAAG/J,cAAc,CAAC,MAAAkL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCqZ,wBAAyB;AACrE5S,IAAAA,GAAG,EAAE,EAAG;AACR6E,IAAAA,KAAK,EAAEnI,sBAAuB;AAC9BiS,IAAAA,eAAe,EAAElS,8BAA+B;AAChDuS,IAAAA,SAAS,eAAEpb,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE8e;AAA2B,KAAE,CAAE;AAC5D5D,IAAAA,UAAU,eAAErb,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE+e;KAAoB;AAAE,GACvD,CAAC,eACFlf,KAAA,CAAAC,aAAA,CAACkd,YAAY,EAAA;AACT/Q,IAAAA,GAAG,EAAE,EAAG;AACR6E,IAAAA,KAAK,EAAElN,kBAAmB;AAC1BiZ,IAAAA,mBAAmB,EAAE,SAArBA,mBAAmBA,CAAElW,CAAC,EAAI;AACtB0D,MAAAA,wBAAwB,CAAC,oBAAoB,EAAE1D,CAAC,CAAC;KACnD;AACFiW,IAAAA,WAAW,EAAE/Y,uBAAwB;AACrCoE,IAAAA,wBAAwB,EAAE,SAA1BA,wBAAwBA,CAAEtB,CAAC,EAAI;AAC3B0D,MAAAA,wBAAwB,CAAC,yBAAyB,EAAE1D,CAAC,CAAC;KACxD;AACFuF,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAoB,sBAAA,GAAfpB,eAAe,CAAG/J,cAAc,CAAC,MAAAmL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCuZ,aAAc;AAC1D1kB,IAAAA,cAAc,EAAEA,cAAe;AAC/BwiB,IAAAA,QAAQ,EAAEmC,SAAU;AACpBnE,IAAAA,GAAG,EAAE;AAAI,GACZ,CACS,CAAC;AAEvB,CAAC;AAED6C,eAAe,CAACzjB,SAAS,GAAGA,WAAS;;ACjI9B,IAAMA,WAAS,GAAG;EACrByH,UAAU,EAAEvH,SAAS,CAACC,MAAM;AAC5BuH,EAAAA,QAAQ,EAAExH,SAAS,CAAC+D,SAAS,CAAC,CACtB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;EACR3J,KAAK,EAAEpD,SAAS,CAACC,MAAM;EACvByH,cAAc,EAAE1H,SAAS,CAACC,MAAM;EAChC0H,SAAS,EAAE3H,SAAS,CAACC,MAAM;AAC3BwH,EAAAA,UAAU,EAAEzH,SAAS,CAAC+D,SAAS,CAAC,CACxB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;EACRnF,SAAS,EAAE5H,SAAS,CAACC,MAAM;EAC3B6kB,WAAW,EAAE9kB,SAAS,CAAC+M,MAAM;EAC7B2C,oBAAoB,EAAE1P,SAAS,CAACgB,IAAI;EACpCd,cAAc,EAAEF,SAAS,CAACC;AAC9B,CAAC;;;AChBM,IAAM4V,KAAK,GAAGpS,MAAM,CAACwB,CAAC,CAAAtB,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,eAAA,EAAA,4CAAA,EAAA,sBAAA,EAAA,uGAAA,CAAA,CAAA,CAAA,EAChBC,KAAK,CAACT,KAAK,CAAC7B,QAAQ,EAEdsC,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC,EACtB,UAAAkB,IAAA,EAAA;AAAA,EAAA,IAAAid,eAAA,GAAAjd,IAAA,CAAG8C,UAAU;IAAVA,UAAU,GAAAma,eAAA,KAAG7d,MAAAA,GAAAA,KAAK,CAACP,KAAK,CAACjC,OAAO,GAAAqgB,eAAA;AAAA,EAAA,OAAOna,UAAU;AAAA,CAKtE,CAAA;AAEM,IAAMuO,cAAY,GAAGrS,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAMrC,CAAA,iHAAA,CAAA,CAAA,CAAA,CAAA;;AClBM,IAAM9D,WAAS,GAAG;EACrBilB,QAAQ,EAAE/kB,SAAS,CAACglB,OAAO,CAAChlB,SAAS,CAACa,MAAM,CAAC;AAC7C8F,EAAAA,MAAM,EAAE3G,SAAS,CAAC+D,SAAS,CAAC,CACpB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;AACRkY,EAAAA,UAAU,EAAEjlB,SAAS,CAAC+D,SAAS,CAAC,CACpB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;AACZ4E,EAAAA,WAAW,EAAE3R,SAAS,CAAC+D,SAAS,CAAC,CACrB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;EACZoE,QAAQ,EAAEnR,SAAS,CAACQ,IAAI;EACxBuR,eAAe,EAAE/R,SAAS,CAACC;AAC/B,CAAC;;;ACfM,IAAMilB,eAAe,GAAGzhB,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,0BAAA,EAAA,iBAAA,EAAA,yBAAA,EAAA,sJAAA,EAAA,kBAAA,EAAA,yBAAA,EAAA,KAAA,CAAA,CAAA,CAAA,EACjBC,KAAK,CAACT,KAAK,CAACtB,QAAQ,EAC9B,UAAA2C,IAAA,EAAA;AAAA,EAAA,IAAGkC,MAAM,GAAAlC,IAAA,CAANkC,MAAM;AAAA,EAAA,OAAOA,MAAM;AAAA,CAAA,EAChB,UAAAjC,KAAA,EAAA;AAAA,EAAA,IAAAygB,iBAAA,GAAAzgB,KAAA,CAAGiN,WAAW;AAAXA,IAAAA,WAAW,GAAAwT,iBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,iBAAA;AAAA,EAAA,OAAOxT,WAAW;AAAA,CAAA,EAMtC9N,KAAK,CAACT,KAAK,CAAC5B,KAAK,EACpB,UAAAsD,KAAA,EAAA;AAAA,EAAA,IAAGqM,QAAQ,GAAArM,KAAA,CAARqM,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,GAAG,GAAG,CAAC;AAAA,CAAC,EAC/B,UAAAhM,KAAA,EAAA;AAAA,EAAA,IAAGgM,QAAQ,GAAAhM,KAAA,CAARgM,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,MAAM,GAAG,KAAK;AAAA,CAAC,CAClE;AAEM,IAAMiU,OAAO,GAAG3hB,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,iBAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,iHAAA,EAAA,qBAAA,EAAA,iCAAA,EAAA,sCAAA,EAAA,oCAAA,EAAA,uCAAA,EAAA,2BAAA,EAAA,KAAA,CAAA,CAAA,CAAA,EAClB,UAAA0M,KAAA,EAAA;AAAA,EAAA,IAAG2U,UAAU,GAAA3U,KAAA,CAAV2U,UAAU;AAAA,EAAA,OAAOA,UAAU;AAAA,CAAA,EAC/B,UAAAtU,KAAA,EAAA;AAAA,EAAA,IAAGQ,QAAQ,GAAAR,KAAA,CAARQ,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,aAAa,GAAG,SAAS;AAAA,CAAC,EAClD,UAAAP,KAAA,EAAA;AAAA,EAAA,IAAGyU,MAAM,GAAAzU,KAAA,CAANyU,MAAM;EAAA,OAAQA,MAAM,GAAG,MAAM,GAAAjc,YAAAA,CAAAA,MAAA,CAAgBvF,KAAK,CAACT,KAAK,CAACtB,QAAQ,CAAE;AAAA,CAAC,EAK5E,UAAA+O,KAAA,EAAA;AAAA,EAAA,IAAGM,QAAQ,GAAAN,KAAA,CAARM,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,GAAG,GAAG,CAAC;AAAA,CAAC,EACnC,UAAAL,KAAA,EAAA;AAAA,EAAA,IAAAwU,cAAA,GAAAxU,KAAA,CAAGyU,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,cAAA,KAAG,MAAA,GAAA,KAAK,GAAAA,cAAA;AAAA,EAAA,OAAQC,QAAQ,GAAG1hB,KAAK,CAACT,KAAK,CAACtB,QAAQ,GAAG+B,KAAK,CAACT,KAAK,CAAC5B,KAAK;AAAA,CAAC,EACnE,UAAAiR,MAAA,EAAA;AAAA,EAAA,IAAG+S,OAAO,GAAA/S,MAAA,CAAP+S,OAAO;AAAA,EAAA,OAAQA,OAAO,GAAG,GAAG,GAAG,GAAG;AAAA,CAAC,EACnC,UAAA7S,MAAA,EAAA;AAAA,EAAA,IAAG6S,OAAO,GAAA7S,MAAA,CAAP6S,OAAO;AAAA,EAAA,OAAQA,OAAO,GAAG,GAAG,GAAG,GAAG;AAAA,CAAC,EACxC,UAAA5S,MAAA,EAAA;AAAA,EAAA,IAAGyS,MAAM,GAAAzS,MAAA,CAANyS,MAAM;AAAA,EAAA,OAAQA,MAAM,GAAG,GAAG,GAAG,GAAG;AAAA,CAAC,EACjC,UAAA7N,MAAA,EAAA;AAAA,EAAA,IAAG6N,MAAM,GAAA7N,MAAA,CAAN6N,MAAM;AAAA,EAAA,OAAQA,MAAM,GAAG,GAAG,GAAG,GAAG;AAAA,CAAC,EAChD,UAAA3N,MAAA,EAAA;AAAA,EAAA,IAAGvG,QAAQ,GAAAuG,MAAA,CAARvG,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,MAAM,GAAG,KAAK;AAAA,CAAC,CAClE;;AC3BM,IAAMsU,WAAW,GAAG,SAAdA,WAAWA,CAAAhhB,IAAA,EAAA;AAAA,EAAA,IAAAihB,aAAA,GAAAjhB,IAAA,CACpBsgB,QAAQ;AAARA,IAAAA,QAAQ,GAAAW,aAAA,KAAG,MAAA,GAAA,EAAE,GAAAA,aAAA;IAAAzT,WAAA,GAAAxN,IAAA,CACbkC,MAAM;AAANA,IAAAA,MAAM,GAAAsL,WAAA,KAAG,MAAA,GAAA,EAAE,GAAAA,WAAA;IAAA0T,eAAA,GAAAlhB,IAAA,CACXwgB,UAAU;AAAVA,IAAAA,UAAU,GAAAU,eAAA,KAAG,MAAA,GAAA,UAAU,GAAAA,eAAA;IAAAC,gBAAA,GAAAnhB,IAAA,CACvBkN,WAAW;AAAXA,IAAAA,WAAW,GAAAiU,gBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,gBAAA;IAAAxS,aAAA,GAAA3O,IAAA,CACf0M,QAAQ;AAARA,IAAAA,QAAQ,GAAAiC,aAAA,KAAG,MAAA,GAAA,KAAK,GAAAA,aAAA;IAAA0O,oBAAA,GAAArd,IAAA,CAChBsN,eAAe;AAAfA,IAAAA,eAAe,GAAA+P,oBAAA,KAAG,MAAA,GAAA,QAAQ,GAAAA,oBAAA;AAAA,EAAA,oBAE1Brc,KAAA,CAAAC,aAAA,CAACwf,eAAe,EAAA;AAAC/T,IAAAA,QAAQ,EAAEA,QAAS;AAACxK,IAAAA,MAAM,EAAEA,MAAO;AAACgL,IAAAA,WAAW,EAAEA;AAAY,GAAA,EACzEoT,QAAQ,CAACrY,GAAG,CAAC,UAACC,IAAI,EAAE4I,KAAK,EAAA;AAAA,IAAA,oBACtB9P,KAAA,CAAAC,aAAA,CAACwN,OAAO,EAAA;AACJvN,MAAAA,GAAG,EAAE4P,KAAM;AACX1C,MAAAA,QAAQ,EAAEd,eAAgB;AAC1BzN,MAAAA,IAAI,EAAEqI,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAEmF,OAAQ;AACpBX,MAAAA,QAAQ,EAAExE,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEwE;AAAS,KAAA,eAEzB1L,KAAA,CAAAC,aAAA,CAAC0f,OAAO,EAAA;AACJzf,MAAAA,GAAG,EAAE4P,KAAM;AACX0P,MAAAA,UAAU,EAAEA,UAAW;AACvBI,MAAAA,MAAM,EAAE9P,KAAK,KAAKwP,QAAQ,CAACnP,MAAM,GAAG,CAAE;MACtC4P,OAAO,EAAEjQ,KAAK,KAAK,CAAE;AACrBpR,MAAAA,OAAO,EAAEwI,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAExI,OAAQ;AACvBgN,MAAAA,QAAQ,EAAExE,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAEwE,QAAS;AACzBoU,MAAAA,QAAQ,EAAE5Y,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE4Y;KAEf5Y,EAAAA,IAAI,aAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEkZ,OACF,CACJ,CAAC;AAAA,GACb,CACY,CAAC;AAAA,CACrB;AAEDJ,WAAW,CAAC3lB,SAAS,GAAGA,WAAS;;ACZ1B,IAAMgmB,WAAW,GAAG,SAAdA,WAAWA,CAAArhB,IAAA,EAYlB;EAAA,IAAAwG,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAya,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,uBAAA,EAAAC,uBAAA,EAAAC,uBAAA;AAAA,EAAA,IAXF7e,UAAU,GAAA9C,IAAA,CAAV8C,UAAU;IACVC,QAAQ,GAAA/C,IAAA,CAAR+C,QAAQ;IACRoC,UAAU,GAAAnF,IAAA,CAAVmF,UAAU;IACVxG,KAAK,GAAAqB,IAAA,CAALrB,KAAK;IACLsE,cAAc,GAAAjD,IAAA,CAAdiD,cAAc;IACdC,SAAS,GAAAlD,IAAA,CAATkD,SAAS;IACTF,UAAU,GAAAhD,IAAA,CAAVgD,UAAU;IACVG,SAAS,GAAAnD,IAAA,CAATmD,SAAS;IACTkd,WAAW,GAAArgB,IAAA,CAAXqgB,WAAW;IACXpV,oBAAoB,GAAAjL,IAAA,CAApBiL,oBAAoB;IACpBxP,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;EAEd,IAAImmB,YAAY,GAAG,CACf;AACIR,IAAAA,OAAO,eAAEpgB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE0gB;AAAS,KAAE,CAAC;AACvCf,IAAAA,QAAQ,EAAE9d,UAAU,IAAG5D,KAAK,KAAA,IAAA,IAALA,KAAK,KAALA,MAAAA,GAAAA,MAAAA,GAAAA,KAAK,CAAEN,WAAW,CAAC,GAAG,CAAC,CAAIkE,IAAAA,UAAU,KAAK,MAAM;AACvEtD,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACX,MAAA,IAAIsD,UAAU,IAAG5D,KAAK,KAALA,IAAAA,IAAAA,KAAK,uBAALA,KAAK,CAAEN,WAAW,CAAC,GAAG,CAAC,CAAA,IAAIkE,UAAU,KAAK,MAAM,EAAE;AAC/DiI,QAAAA,oBAAoB,CAAC,YAAY,EAAE7L,KAAK,KAALA,IAAAA,IAAAA,KAAK,KAALA,MAAAA,GAAAA,MAAAA,GAAAA,KAAK,CAAEN,WAAW,CAAC,GAAG,CAAC,CAAC;AAC/D,OAAC,MAAM;AACHmM,QAAAA,oBAAoB,CAAC,YAAY,EAAE7L,KAAK,KAALA,IAAAA,IAAAA,KAAK,KAALA,MAAAA,GAAAA,MAAAA,GAAAA,KAAK,CAAEN,WAAW,CAAC,GAAG,CAAC,CAAC;AAC/D;KACH;AACDuO,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA+K,IAAAA,IAAAA,qBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,qBAAA,CAAmCsb,IAAI;IAChDpV,QAAQ,EAAErH,UAAU,CAACyW,QAAQ,CAAChZ,UAAU,CAAC,GAAG,IAAI,GAAG;AACvD,GAAC,EACD;AACIse,IAAAA,OAAO,eAAEpgB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE4gB;AAAe,KAAE,CAAC;IAC7CjB,QAAQ,EAAE5d,SAAS,KAAK,QAAQ;AAChCxD,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACX,IAAIwD,SAAS,KAAK,QAAQ,EAAE;AACxB+H,QAAAA,oBAAoB,CAAC,WAAW,EAAE,QAAQ,CAAC;AAC/C,OAAC,MAAM;AACHA,QAAAA,oBAAoB,CAAC,WAAW,EAAE,QAAQ,CAAC;AAC/C;KACH;AACDoC,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAAgL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCub,MAAM;IAClDtV,QAAQ,EAAErH,UAAU,CAACyW,QAAQ,CAAChZ,UAAU,CAAC,GAAG,IAAI,GAAG;AACvD,GAAC,EACD;AACIse,IAAAA,OAAO,eAAEpgB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE8gB;AAAgB,KAAE,CAAC;IAC9CnB,QAAQ,EAAE7d,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,GAAA,MAAA,GAAdA,cAAc,CAAE6Y,QAAQ,CAAC,cAAc,CAAC;AAClDpc,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACX,IAAIuD,cAAc,KAAdA,IAAAA,IAAAA,cAAc,KAAdA,MAAAA,IAAAA,cAAc,CAAE6Y,QAAQ,CAAC,cAAc,CAAC,EAAE;AAC1C7Q,QAAAA,oBAAoB,CAChB,gBAAgB,EAChBhI,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAdA,MAAAA,IAAAA,cAAc,CAAE6Y,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,GAAG,QAC1D,CAAC;AACL,OAAC,MAAM;AACH7Q,QAAAA,oBAAoB,CAChB,gBAAgB,EAChBhI,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAdA,MAAAA,IAAAA,cAAc,CAAE6Y,QAAQ,CAAC,WAAW,CAAC,GAC/B,wBAAwB,GACxB,cACV,CAAC;AACL;KACH;AACDzO,IAAAA,OAAO,EAAE7H,eAAe,KAAfA,IAAAA,IAAAA,eAAe,gBAAAkB,sBAAA,GAAflB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAiL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCwb;AAChD,GAAC,EACD;AACId,IAAAA,OAAO,eAAEpgB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEghB;AAAkB,KAAE,CAAC;IAChDrB,QAAQ,EAAE7d,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,GAAA,MAAA,GAAdA,cAAc,CAAE6Y,QAAQ,CAAC,WAAW,CAAC;AAC/Cpc,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACX,IAAIuD,cAAc,KAAdA,IAAAA,IAAAA,cAAc,KAAdA,MAAAA,IAAAA,cAAc,CAAE6Y,QAAQ,CAAC,WAAW,CAAC,EAAE;AACvC7Q,QAAAA,oBAAoB,CAChB,gBAAgB,EAChBhI,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAdA,MAAAA,IAAAA,cAAc,CAAE6Y,QAAQ,CAAC,cAAc,CAAC,GAAG,cAAc,GAAG,QAChE,CAAC;AACL,OAAC,MAAM;AACH7Q,QAAAA,oBAAoB,CAChB,gBAAgB,EAChBhI,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAdA,MAAAA,IAAAA,cAAc,CAAE6Y,QAAQ,CAAC,cAAc,CAAC,GAClC,wBAAwB,GACxB,WACV,CAAC;AACL;KACH;AACDzO,IAAAA,OAAO,EAAE7H,eAAe,KAAfA,IAAAA,IAAAA,eAAe,gBAAAmB,sBAAA,GAAfnB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAkL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCyb;AAChD,GAAC,CACJ;EAED,IAAIC,iBAAiB,GAAG,CACpB;AACIjB,IAAAA,OAAO,eAAEpgB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEmhB;AAAc,KAAE,CAAC;IAC5CxB,QAAQ,EAAE3d,SAAS,KAAK,MAAM;AAC9BzD,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACX,IAAIyD,SAAS,KAAK,MAAM,EAAE;AACtB8H,QAAAA,oBAAoB,CAAC,WAAW,EAAE,MAAM,CAAC;AAC7C;KACH;AACDoC,IAAAA,OAAO,EAAE7H,eAAe,KAAfA,IAAAA,IAAAA,eAAe,gBAAAoB,sBAAA,GAAfpB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAmL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC2b;AAChD,GAAC,EACD;AACInB,IAAAA,OAAO,eAAEpgB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEqhB;AAAgB,KAAE,CAAC;IAC9C1B,QAAQ,EAAE3d,SAAS,KAAK,QAAQ;AAChCzD,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACX,IAAIyD,SAAS,KAAK,QAAQ,EAAE;AACxB8H,QAAAA,oBAAoB,CAAC,WAAW,EAAE,QAAQ,CAAC;AAC/C;KACH;AACDoC,IAAAA,OAAO,EAAE7H,eAAe,KAAfA,IAAAA,IAAAA,eAAe,gBAAAqB,sBAAA,GAAfrB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAoL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC4b;AAChD,GAAC,EACD;AACIrB,IAAAA,OAAO,eAAEpgB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEuhB;AAAe,KAAE,CAAC;IAC7C5B,QAAQ,EAAE3d,SAAS,KAAK,OAAO;AAC/BzD,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACX,IAAIyD,SAAS,KAAK,OAAO,EAAE;AACvB8H,QAAAA,oBAAoB,CAAC,WAAW,EAAE,OAAO,CAAC;AAC9C;KACH;AACDoC,IAAAA,OAAO,EAAE7H,eAAe,KAAfA,IAAAA,IAAAA,eAAe,gBAAA8b,sBAAA,GAAf9b,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA6lB,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCqB;AAChD,GAAC,CACJ;EAED,oBACI3hB,KAAA,CAAAC,aAAA,CAACoQ,cAAY,qBACTrQ,KAAA,CAAAC,aAAA,CAACuO,QAAQ,EAAA;AACLpC,IAAAA,GAAG,EAAE,EAAG;AACRyB,IAAAA,IAAI,eAAE7N,KAAA,CAAAC,aAAA,CAACmQ,KAAK,EAAA;AAACtO,MAAAA,UAAU,EAAEA;AAAW,KAAA,EAAEA,UAAkB,CAAE;AAC1DoM,IAAAA,UAAU,EAAE,IAAK;AACjBF,IAAAA,IAAI,EAAE1J,YAAa;AACnB2J,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEnH,CAAC,EAAI;AACXmD,MAAAA,oBAAoB,CAAC,YAAY,EAAEnD,CAAC,CAAC;KACvC;AACFuF,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAA+b,sBAAA,GAAf/b,eAAe,CAAG/J,cAAc,CAAC,MAAA8lB,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCqB,WAAY;AACxDtV,IAAAA,eAAe,EAAE;AAAS,GAC7B,CAAC,eACFtM,KAAA,CAAAC,aAAA,CAACub,aAAa,EAAA;AACVpP,IAAAA,GAAG,EAAE,EAAG;AACR6E,IAAAA,KAAK,EAAElP,QAAS;AAChBwZ,IAAAA,OAAO,EAAE,MAAO;AAChBzZ,IAAAA,UAAU,EAAE1D,KAAK,CAACP,KAAK,CAACjC,OAAQ;AAChCof,IAAAA,GAAG,EAAE,CAAE;AACPC,IAAAA,GAAG,EAAE,GAAI;AACTC,IAAAA,IAAI,EAAE,CAAE;AACRH,IAAAA,eAAe,EAAE,SAAjBA,eAAeA,CAAEjU,CAAC,EAAA;AAAA,MAAA,OAAImD,oBAAoB,CAAC,UAAU,EAAEnD,CAAC,CAAC;KAAC;AAC1DwU,IAAAA,aAAa,EAAE,KAAM;AACrBD,IAAAA,UAAU,eAAErb,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE0P,YAAa;AAAC5D,MAAAA,UAAU,EAAE;AAAG,KAAE,CAAE;AAC/DI,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgc,sBAAA,GAAfhc,eAAe,CAAG/J,cAAc,CAAC,MAAA+lB,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCqB,SAAU;AACtDvV,IAAAA,eAAe,EAAE;AAAS,GAC7B,CAAC,eACFtM,KAAA,CAAAC,aAAA,CAACub,aAAa,EAAA;AACVpP,IAAAA,GAAG,EAAE,EAAG;AACR6E,IAAAA,KAAK,EAAE9M,UAAW;AAClBoX,IAAAA,OAAO,EAAE,MAAO;AAChBzZ,IAAAA,UAAU,EAAE1D,KAAK,CAACP,KAAK,CAACjC,OAAQ;AAChCof,IAAAA,GAAG,EAAE,CAAE;AACPC,IAAAA,GAAG,EAAE,CAAE;AACPC,IAAAA,IAAI,EAAE,GAAI;AACVH,IAAAA,eAAe,EAAE,SAAjBA,eAAeA,CAAEjU,CAAC,EAAA;AAAA,MAAA,OAAImD,oBAAoB,CAAC,YAAY,EAAEnD,CAAC,CAAC;KAAC;AAC5DwU,IAAAA,aAAa,EAAE,KAAM;AACrBD,IAAAA,UAAU,eAAErb,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE0P,YAAa;AAAC5D,MAAAA,UAAU,EAAE;AAAG,KAAE,CAAE;AAC/DI,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAic,uBAAA,GAAfjc,eAAe,CAAG/J,cAAc,CAAC,MAAAgmB,IAAAA,IAAAA,uBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,uBAAA,CAAmCqB,gBAAiB;AAC7DxV,IAAAA,eAAe,EAAE;AAAS,GAC7B,CAAC,eACFtM,KAAA,CAAAC,aAAA,CAAC2N,oBAAoB,EAAA;AACjBxB,IAAAA,GAAG,EAAE,EAAG;AACRC,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAkc,uBAAA,GAAflc,eAAe,CAAG/J,cAAc,CAAC,MAAAimB,IAAAA,IAAAA,uBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,uBAAA,CAAmCqB,UAAW;AACvDzV,IAAAA,eAAe,EAAE;AAAS,GAAA,eAE1BtM,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAE6hB;AAAc,GAAE,CAAC,eACnChiB,KAAA,CAAAC,aAAA,CAAC0Q,QAAQ,EAAA;AACLrO,IAAAA,eAAe,EAAE3E,KAAM;AACvB4S,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEzJ,CAAC,EAAA;AAAA,MAAA,OAAImD,oBAAoB,CAAC,OAAO,EAAEnD,CAAC,CAAC;AAAA;AAAC,GACnD,CACiB,CAAC,eACvB9G,KAAA,CAAAC,aAAA,CAAC+f,WAAW,EAAA;AACRV,IAAAA,QAAQ,EAAEsB,YAAa;AACvB1U,IAAAA,WAAW,EAAE,EAAG;AAChBhL,IAAAA,MAAM,EAAE,EAAG;AACXse,IAAAA,UAAU,EAAEpf,gBAAiB;AAC7BkM,IAAAA,eAAe,EAAE;AAAS,GAC7B,CAAC,eACFtM,KAAA,CAAAC,aAAA,CAAC+f,WAAW,EAAA;AACRV,IAAAA,QAAQ,EAAE+B,iBAAkB;AAC5BnV,IAAAA,WAAW,EAAE,EAAG;AAChBhL,IAAAA,MAAM,EAAE,EAAG;AACXse,IAAAA,UAAU,EAAEpf,gBAAiB;AAC7BkM,IAAAA,eAAe,EAAE;AAAS,GAC7B,CAAC,eAEFtM,KAAA,CAAAC,aAAA,CAACub,aAAa,EAAA;AACVvK,IAAAA,KAAK,EAAEoO,WAAY;AACnBtE,IAAAA,eAAe,EAAE,SAAjBA,eAAeA,CAAEjU,CAAC,EAAA;AAAA,MAAA,OAAImD,oBAAoB,CAAC,SAAS,EAAEnD,CAAC,CAAC;KAAC;AACzDuF,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAmc,uBAAA,GAAfnc,eAAe,CAAG/J,cAAc,CAAC,MAAAkmB,IAAAA,IAAAA,uBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,uBAAA,CAAmCsB,YAAa;AACzD3V,IAAAA,eAAe,EAAE;AAAS,GAC7B,CACS,CAAC;AAEvB,CAAC;AAED+T,WAAW,CAAChmB,SAAS,GAAGA,WAAS;;ACvN1B,IAAMA,WAAS,GAAG;EACrB+O,gBAAgB,EAAE7O,SAAS,CAAC+M,MAAM;EAClC+B,gBAAgB,EAAE9O,SAAS,CAACC,MAAM;EAClC8O,YAAY,EAAE/O,SAAS,CAAC+M,MAAM;EAC9BiC,wBAAwB,EAAEhP,SAAS,CAACgB,IAAI;EACxCiO,wBAAwB,EAAEjP,SAAS,CAACgB,IAAI;EACxCkO,oBAAoB,EAAElP,SAAS,CAACgB,IAAI;EACpCkN,eAAe,EAAElO,SAAS,CAACa,MAAM;EACjCX,cAAc,EAAEF,SAAS,CAACC;AAC9B,CAAC;;;ACRoBwD,MAAM,CAACwB,CAAC,CAAAtB,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,mGAChBC,KAAK,CAACT,KAAK,CAAC7B,QAAQ,EAEdsC,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC,EACtBM,KAAK,CAACP,KAAK,CAACjC,OAAO;AAG/B,IAAMyU,cAAY,GAAGrS,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAMrC,CAAA,iHAAA,CAAA,CAAA,CAAA,CAAA;;ACPM,IAAM+jB,YAAY,GAAG,SAAfA,YAAYA,CAAAljB,IAAA,EASnB;AAAA,EAAA,IAAAwG,qBAAA;AAAA,EAAA,IARF4D,gBAAgB,GAAApK,IAAA,CAAhBoK,gBAAgB;IAChBC,gBAAgB,GAAArK,IAAA,CAAhBqK,gBAAgB;IAChBC,YAAY,GAAAtK,IAAA,CAAZsK,YAAY;IACZC,wBAAwB,GAAAvK,IAAA,CAAxBuK,wBAAwB;IACxBC,wBAAwB,GAAAxK,IAAA,CAAxBwK,wBAAwB;IACxBC,oBAAoB,GAAAzK,IAAA,CAApByK,oBAAoB;IACpBhB,eAAe,GAAAzJ,IAAA,CAAfyJ,eAAe;IACfhO,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;EAEd,oBACIuF,KAAA,CAAAC,aAAA,CAACoQ,cAAY,qBACTrQ,KAAA,CAAAC,aAAA,CAACkd,YAAY,EAAA;AACTlM,IAAAA,KAAK,EACDyD,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACf,KAAK,CAAC,GAClDoH,eAAe,aAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE0Z,WAAW,GAC5B/Y,gBACT;AACD4T,IAAAA,mBAAmB,EAAEzT,wBAAyB;AAC9CwT,IAAAA,WAAW,EACPrI,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACf,KAAK,CAAC,GAClDoH,eAAe,aAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE2Z,MAAM,GACvB/Y,gBACT;AACDjB,IAAAA,wBAAwB,EAAEoB,wBAAyB;AACnD/O,IAAAA,cAAc,EAAEA;AAAe,GAClC,CAAC,eACFuF,KAAA,CAAAC,aAAA,CAACub,aAAa,EAAA;AACVnP,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA+K,IAAAA,IAAAA,qBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,qBAAA,CAAmC6c,aAAc;AAC1DpR,IAAAA,KAAK,EACDyD,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACf,KAAK,CAAC,GAClDoH,eAAe,aAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEvE,OAAO,GACxBoF,YACT;AACDyR,IAAAA,eAAe,EAAEtR,oBAAqB;AACtChP,IAAAA,cAAc,EAAEA;AAAe,GAClC,CACS,CAAC;AAEvB,CAAC;AAEDynB,YAAY,CAAC7nB,SAAS,GAAGA,WAAS;;AChD3B,IAAMA,WAAS,GAAG;EACrB4N,gBAAgB,EAAE1N,SAAS,CAACC,MAAM;EAClC0N,gBAAgB,EAAE3N,SAAS,CAAC+M,MAAM;EAClCa,cAAc,EAAE5N,SAAS,CAACC,MAAM;EAChC+N,YAAY,EAAEhO,SAAS,CAAC+M,MAAM;EAC9Bc,wBAAwB,EAAE7N,SAAS,CAACgB,IAAI;EACxC8M,wBAAwB,EAAE9N,SAAS,CAACgB,IAAI;EACxC+M,iBAAiB,EAAE/N,SAAS,CAACgB,IAAI;EACjCiN,oBAAoB,EAAEjO,SAAS,CAACgB,IAAI;EACpCkN,eAAe,EAAElO,SAAS,CAACa,MAAM;EACjCX,cAAc,EAAEF,SAAS,CAACC;AAC9B,CAAC;;;ACVoBwD,MAAM,CAACwB,CAAC,CAAAtB,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,mGAChBC,KAAK,CAACT,KAAK,CAAC7B,QAAQ,EAEdsC,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC,EACtBM,KAAK,CAACP,KAAK,CAACjC,OAAO;AAG/B,IAAMyU,cAAY,GAAGrS,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAMrC,CAAA,iHAAA,CAAA,CAAA,CAAA,CAAA;;ACJM,IAAMmkB,YAAY,GAAG,SAAfA,YAAYA,CAAAtjB,IAAA,EAWnB;EAAA,IAAAwG,qBAAA,EAAAC,sBAAA;AAAA,EAAA,IAVFwC,gBAAgB,GAAAjJ,IAAA,CAAhBiJ,gBAAgB;IAChBC,gBAAgB,GAAAlJ,IAAA,CAAhBkJ,gBAAgB;IAChBC,cAAc,GAAAnJ,IAAA,CAAdmJ,cAAc;IACdI,YAAY,GAAAvJ,IAAA,CAAZuJ,YAAY;IACZH,wBAAwB,GAAApJ,IAAA,CAAxBoJ,wBAAwB;IACxBC,wBAAwB,GAAArJ,IAAA,CAAxBqJ,wBAAwB;IACxBC,iBAAiB,GAAAtJ,IAAA,CAAjBsJ,iBAAiB;IACjBE,oBAAoB,GAAAxJ,IAAA,CAApBwJ,oBAAoB;IACpBC,eAAe,GAAAzJ,IAAA,CAAfyJ,eAAe;IACfhO,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;EAEd,oBACIuF,KAAA,CAAAC,aAAA,CAACoQ,cAAY,qBACTrQ,KAAA,CAAAC,aAAA,CAAC2N,oBAAoB,EAAA;AACjBxB,IAAAA,GAAG,EAAE,EAAG;AACRC,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA+K,IAAAA,IAAAA,qBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,qBAAA,CAAmC+c,UAAW;AACvDjW,IAAAA,eAAe,EAAC;AAAQ,GAAA,eAExBtM,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAEye;AAAoB,GAAE,CAAC,eACzC5e,KAAA,CAAAC,aAAA,CAAC0Q,QAAQ,EAAA;AACLrO,IAAAA,eAAe,EACVkS,cAAc,CAAC/L,eAAe,CAAC,KAAIA,eAAe,KAAfA,IAAAA,IAAAA,eAAe,KAAfA,MAAAA,GAAAA,MAAAA,GAAAA,eAAe,CAAE+Z,IAAI,KAAKra,cACjE;AACDoI,IAAAA,QAAQ,EAAEjI;AAAkB,GAC/B,CACiB,CAAC,eACvBtI,KAAA,CAAAC,aAAA,CAACkd,YAAY,EAAA;AACTlM,IAAAA,KAAK,EACDuD,cAAc,CAAC/L,eAAe,CAAC,GACzBA,eAAe,KAAfA,IAAAA,IAAAA,eAAe,KAAfA,MAAAA,GAAAA,MAAAA,GAAAA,eAAe,CAAE0Z,WAAW,GAC5Bja,gBACT;AACD8U,IAAAA,mBAAmB,EAAE3U,wBAAyB;AAC9C0U,IAAAA,WAAW,EACPvI,cAAc,CAAC/L,eAAe,CAAC,GAAGA,eAAe,KAAfA,IAAAA,IAAAA,eAAe,KAAfA,MAAAA,GAAAA,MAAAA,GAAAA,eAAe,CAAE2Z,MAAM,GAAGna,gBAC/D;AACDG,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnD3N,IAAAA,cAAc,EAAEA;AAAe,GAClC,CAAC,eACFuF,KAAA,CAAAC,aAAA,CAACub,aAAa,EAAA;AACVnP,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAAgL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCgd,aAAc;AAC1DxR,IAAAA,KAAK,EAAEuD,cAAc,CAAC/L,eAAe,CAAC,GAAGA,eAAe,KAAfA,IAAAA,IAAAA,eAAe,KAAfA,MAAAA,GAAAA,MAAAA,GAAAA,eAAe,CAAEvE,OAAO,GAAGqE,YAAa;AACjFwS,IAAAA,eAAe,EAAEvS,oBAAqB;AACtC/N,IAAAA,cAAc,EAAEA;AAAe,GAClC,CACS,CAAC;AAEvB,CAAC;AAED6nB,YAAY,CAACjoB,SAAS,GAAGA,WAAS;;AC5D3B,IAAMA,WAAS,GAAG;EACrBqP,aAAa,EAAEnP,SAAS,CAAC+M,MAAM;EAC/BqC,aAAa,EAAEpP,SAAS,CAACC,MAAM;EAC/BoP,SAAS,EAAErP,SAAS,CAAC+M,MAAM;EAC3BuC,qBAAqB,EAAEtP,SAAS,CAACgB,IAAI;EACrCuO,qBAAqB,EAAEvP,SAAS,CAACgB,IAAI;EACrCwO,iBAAiB,EAAExP,SAAS,CAACgB,IAAI;EACjCkN,eAAe,EAAElO,SAAS,CAACa,MAAM;EACjCX,cAAc,EAAEF,SAAS,CAACC;AAC9B,CAAC;;;ACRoBwD,MAAM,CAACwB,CAAC,CAAAtB,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,mGAChBC,KAAK,CAACT,KAAK,CAAC7B,QAAQ,EAEdsC,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC,EACtBM,KAAK,CAACP,KAAK,CAACjC,OAAO;AAG/B,IAAMyU,YAAY,GAAGrS,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAMrC,CAAA,iHAAA,CAAA,CAAA,CAAA,CAAA;;ACPM,IAAMukB,SAAS,GAAG,SAAZA,SAASA,CAAA1jB,IAAA,EAShB;AAAA,EAAA,IAAAwG,qBAAA;AAAA,EAAA,IARFkE,aAAa,GAAA1K,IAAA,CAAb0K,aAAa;IACbC,aAAa,GAAA3K,IAAA,CAAb2K,aAAa;IACbC,SAAS,GAAA5K,IAAA,CAAT4K,SAAS;IACTC,qBAAqB,GAAA7K,IAAA,CAArB6K,qBAAqB;IACrBC,qBAAqB,GAAA9K,IAAA,CAArB8K,qBAAqB;IACrBC,iBAAiB,GAAA/K,IAAA,CAAjB+K,iBAAiB;IACjBtB,eAAe,GAAAzJ,IAAA,CAAfyJ,eAAe;IACfhO,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;EAEd,oBACIuF,KAAA,CAAAC,aAAA,CAACoQ,YAAY,qBACTrQ,KAAA,CAAAC,aAAA,CAACkd,YAAY,EAAA;AACTlM,IAAAA,KAAK,EACDyD,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACb,EAAE,CAAC,GAC/CkH,eAAe,aAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE0Z,WAAW,GAC5BzY,aACT;AACDsT,IAAAA,mBAAmB,EAAEnT,qBAAsB;AAC3CkT,IAAAA,WAAW,EACPrI,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACb,EAAE,CAAC,GAC/CkH,eAAe,aAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE2Z,MAAM,GACvBzY,aACT;AACDvB,IAAAA,wBAAwB,EAAE0B,qBAAsB;AAChDrP,IAAAA,cAAc,EAAEA;AAAe,GAClC,CAAC,eACFuF,KAAA,CAAAC,aAAA,CAACub,aAAa,EAAA;AACVvK,IAAAA,KAAK,EACDyD,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACb,EAAE,CAAC,GAC/CkH,eAAe,aAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEvE,OAAO,GACxB0F,SACT;AACDmR,IAAAA,eAAe,EAAEhR,iBAAkB;AACnCsC,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA+K,IAAAA,IAAAA,qBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,qBAAA,CAAmC4W,OAAQ;AACpD3hB,IAAAA,cAAc,EAAEA;AAAe,GAClC,CACS,CAAC;AAEvB,CAAC;AAEDioB,SAAS,CAACroB,SAAS,GAAGA,WAAS;;ACvCxB,IAAMsoB,UAAU,GAAG,SAAbA,UAAUA,CAAA3jB,IAAA,EAwCjB;AAAA,EAAA,IAvCFoI,WAAW,GAAApI,IAAA,CAAXoI,WAAW;IACXM,oBAAoB,GAAA1I,IAAA,CAApB0I,oBAAoB;IACpB4D,qBAAqB,GAAAtM,IAAA,CAArBsM,qBAAqB;IACrBC,qBAAqB,GAAAvM,IAAA,CAArBuM,qBAAqB;IACrBzD,oBAAoB,GAAA9I,IAAA,CAApB8I,oBAAoB;IACpBG,gBAAgB,GAAAjJ,IAAA,CAAhBiJ,gBAAgB;IAChBC,gBAAgB,GAAAlJ,IAAA,CAAhBkJ,gBAAgB;IAChBC,cAAc,GAAAnJ,IAAA,CAAdmJ,cAAc;IACdI,YAAY,GAAAvJ,IAAA,CAAZuJ,YAAY;IACZH,wBAAwB,GAAApJ,IAAA,CAAxBoJ,wBAAwB;IACxBC,wBAAwB,GAAArJ,IAAA,CAAxBqJ,wBAAwB;IACxBC,iBAAiB,GAAAtJ,IAAA,CAAjBsJ,iBAAiB;IACjBE,oBAAoB,GAAAxJ,IAAA,CAApBwJ,oBAAoB;IACpBC,eAAe,GAAAzJ,IAAA,CAAfyJ,eAAe;IACfI,8BAA8B,GAAA7J,IAAA,CAA9B6J,8BAA8B;IAC9BC,sBAAsB,GAAA9J,IAAA,CAAtB8J,sBAAsB;IACtBM,gBAAgB,GAAApK,IAAA,CAAhBoK,gBAAgB;IAChBC,gBAAgB,GAAArK,IAAA,CAAhBqK,gBAAgB;IAChBC,YAAY,GAAAtK,IAAA,CAAZsK,YAAY;IACZC,wBAAwB,GAAAvK,IAAA,CAAxBuK,wBAAwB;IACxBC,wBAAwB,GAAAxK,IAAA,CAAxBwK,wBAAwB;IACxBC,oBAAoB,GAAAzK,IAAA,CAApByK,oBAAoB;IACpBC,aAAa,GAAA1K,IAAA,CAAb0K,aAAa;IACbC,aAAa,GAAA3K,IAAA,CAAb2K,aAAa;IACbC,SAAS,GAAA5K,IAAA,CAAT4K,SAAS;IACTC,qBAAqB,GAAA7K,IAAA,CAArB6K,qBAAqB;IACrBC,qBAAqB,GAAA9K,IAAA,CAArB8K,qBAAqB;IACrBC,iBAAiB,GAAA/K,IAAA,CAAjB+K,iBAAiB;IACjBC,gBAAgB,GAAAhL,IAAA,CAAhBgL,gBAAgB;IAChBC,oBAAoB,GAAAjL,IAAA,CAApBiL,oBAAoB;IACpBC,aAAa,GAAAlL,IAAA,CAAbkL,aAAa;IACbC,gBAAgB,GAAAnL,IAAA,CAAhBmL,gBAAgB;IAChB1P,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;IACd6P,mBAAmB,GAAAtL,IAAA,CAAnBsL,mBAAmB;IACnBC,qBAAqB,GAAAvL,IAAA,CAArBuL,qBAAqB;IACrBxG,kBAAkB,GAAA/E,IAAA,CAAlB+E,kBAAkB;IAClBC,uBAAuB,GAAAhF,IAAA,CAAvBgF,uBAAuB;IACvBwG,wBAAwB,GAAAxL,IAAA,CAAxBwL,wBAAwB;IACxBuT,uBAAuB,GAAA/e,IAAA,CAAvB+e,uBAAuB;AAEvB,EAAA,oBACI/d,KAAA,CAAAC,aAAA,CAACwL,cAAc,EAAA;IAACC,QAAQ,EAAEjD,eAAe,IAAI,EAACA,eAAe,aAAfA,eAAe,KAAA,MAAA,IAAfA,eAAe,CAAEma,SAAS;AAAC,GAAA,EACpEna,eAAe,IAAI,EAACA,eAAe,aAAfA,eAAe,KAAA,MAAA,IAAfA,eAAe,CAAEma,SAAS,CAC3C5iB,iBAAAA,KAAA,CAAAC,aAAA,CAAC0L,cAAc,EAAA;AACXjN,IAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEoI,CAAC,EAAI;AACVA,MAAAA,CAAC,aAADA,CAAC,KAAA,MAAA,IAADA,CAAC,CAAEiJ,eAAe,EAAE;AACxB;AAAE,GACL,CACJ,EACA3I,WAAW,MAAKjG,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEC,QAAQ,CACvCpB,gBAAAA,KAAA,CAAAC,aAAA,CAAC6d,eAAe,EAAA;AACZpW,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3C4D,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CzD,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3Ce,IAAAA,8BAA8B,EAAEA,8BAA+B;AAC/DC,IAAAA,sBAAsB,EAAEA,sBAAuB;AAC/CoB,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnC1P,IAAAA,cAAc,EAAEA,cAAe;AAC/B6P,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CxG,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCC,IAAAA,uBAAuB,EAAEA,uBAAwB;AACjDwG,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDuT,IAAAA,uBAAuB,EAAEA;AAAwB,GACpD,CAAC,GACF3W,WAAW,MAAKjG,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEtC,IAAI,CACtCmB,gBAAAA,KAAA,CAAAC,aAAA,CAACogB,WAAW,EAAA;IACRve,UAAU,EACN4S,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACvD,IAAI,CAAC,GACjD4J,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAfA,MAAAA,GAAAA,MAAAA,GAAAA,eAAe,CAAE3G,UAAU,GAC3BkI,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAElI,UAC3B;IACDC,QAAQ,EACJ2S,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACvD,IAAI,CAAC,GACjD4J,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAfA,MAAAA,GAAAA,MAAAA,GAAAA,eAAe,CAAE1G,QAAQ,GACzBiI,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEjI,QAC3B;IACDoC,UAAU,EACNuQ,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACvD,IAAI,CAAC,GACjD4J,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAfA,MAAAA,GAAAA,MAAAA,GAAAA,eAAe,CAAEtE,UAAU,GAC3B6F,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAE7F,UAC3B;IACDxG,KAAK,EACD+W,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACvD,IAAI,CAAC,GACjD4J,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAfA,MAAAA,GAAAA,MAAAA,GAAAA,eAAe,CAAE9K,KAAK,GACtBqM,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAErM,KAC3B;IACDsE,cAAc,EACVyS,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACvD,IAAI,CAAC,GACjD4J,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAfA,MAAAA,GAAAA,MAAAA,GAAAA,eAAe,CAAExG,cAAc,GAC/B+H,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAE/H,cAC3B;IACDC,SAAS,EACLwS,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACvD,IAAI,CAAC,GACjD4J,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAfA,MAAAA,GAAAA,MAAAA,GAAAA,eAAe,CAAEvG,SAAS,GAC1B8H,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAE9H,SAC3B;IACDF,UAAU,EACN0S,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACvD,IAAI,CAAC,GACjD4J,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAfA,MAAAA,GAAAA,MAAAA,GAAAA,eAAe,CAAEzG,UAAU,GAC3BgI,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEhI,UAC3B;IACDG,SAAS,EACLuS,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACvD,IAAI,CAAC,GACjD4J,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAfA,MAAAA,GAAAA,MAAAA,GAAAA,eAAe,CAAEtG,SAAS,GAC1B6H,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAE7H,SAC3B;AACDsG,IAAAA,eAAe,EAAEA,eAAgB;IACjC4W,WAAW,EACP3K,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACvD,IAAI,CAAC,GACjD4J,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAfA,MAAAA,GAAAA,MAAAA,GAAAA,eAAe,CAAEvE,OAAO,GACxB8F,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAE9F,OAC3B;AACD+F,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CxP,IAAAA,cAAc,EAAEA;AAAe,GAClC,CAAC,GACF2M,WAAW,MAAKjG,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEE,KAAK,CACvCrB,gBAAAA,KAAA,CAAAC,aAAA,CAACiiB,YAAY,EAAA;AACT9Y,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3ChB,IAAAA,eAAe,EAAEA,eAAgB;AACjChO,IAAAA,cAAc,EAAEA;AAAe,GAClC,CAAC,GACF2M,WAAW,MAAKjG,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEG,KAAK,CACvCtB,gBAAAA,KAAA,CAAAC,aAAA,CAACqiB,YAAY,EAAA;AACTra,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,eAAe,EAAEA,eAAgB;AACjChO,IAAAA,cAAc,EAAEA;AAAe,GAClC,CAAC,GACF2M,WAAW,MAAKjG,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEI,EAAE,CACpCvB,gBAAAA,KAAA,CAAAC,aAAA,CAACyiB,SAAS,EAAA;AACNhZ,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCtB,IAAAA,eAAe,EAAEA,eAAgB;AACjChO,IAAAA,cAAc,EAAEA;GACnB,CAAC,GACF,IACQ,CAAC;AAEzB,CAAC;AAEDkoB,UAAU,CAACtoB,SAAS,GAAGA,WAAS;;ACxKzB,IAAMA,WAAS,GAAG;EACrB+M,WAAW,EAAE7M,SAAS,CAACC,MAAM;EAC7B6M,cAAc,EAAE9M,SAAS,CAAC+M,MAAM;EAChCC,sBAAsB,EAAEhN,SAAS,CAACgB,IAAI;EACtCwM,MAAM,EAAExN,SAAS,CAACgB,IAAI;EACtByM,MAAM,EAAEzN,SAAS,CAACgB,IAAI;EACtBsnB,WAAW,EAAEtoB,SAAS,CAACQ,IAAI;EAC3B+nB,WAAW,EAAEvoB,SAAS,CAACQ,IAAI;EAC3B0N,eAAe,EAAElO,SAAS,CAACa,MAAM;EACjC2N,uBAAuB,EAAExO,SAAS,CAACgB,IAAI;EACvCyN,qBAAqB,EAAEzO,SAAS,CAACgB,IAAI;EACrC0N,mBAAmB,EAAE1O,SAAS,CAACgB,IAAI;EACnC2N,2BAA2B,EAAE3O,SAAS,CAACgB,IAAI;EAC3C4N,yBAAyB,EAAE5O,SAAS,CAACgB,IAAI;EACzCd,cAAc,EAAEF,SAAS,CAACC;AAC9B,CAAC;;ACfM,IAAMH,WAAS,GAAG;EACrB0oB,SAAS,EAAExoB,SAAS,CAAC+M,MAAM;EAC3B0b,QAAQ,EAAEzoB,SAAS,CAACgB,IAAI;EACxB0nB,SAAS,EAAE1oB,SAAS,CAACgB,IAAI;EACzBiQ,WAAW,EAAEjR,SAAS,CAACa;AAC3B,CAAC;;;ACJM,IAAMqP,WAAS,GAAGzM,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAKlC,CAAA,wGAAA,CAAA,CAAA,CAAA,CAAA;AAEM,IAAM+kB,kBAAkB,GAAGllB,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CACpBC,CAAAA,0BAAAA,EAAAA,4KAAAA,CAAAA,CAAAA,CAAAA,EAAAA,KAAK,CAACT,KAAK,CAACtB,QAAQ,CAQ3C;AAEM,IAAM8mB,UAAU,GAAGnlB,MAAM,CAACC,GAAG,CAAAwB,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAOnC,CAAA,+IAAA,CAAA,CAAA,CAAA,CAAA;AAEM,IAAMilB,OAAO,GAAGplB,MAAM,CAACC,GAAG,CAAA8M,kBAAA,KAAAA,kBAAA,GAAA5M,sBAAA,CAIhC,CAAA,gFAAA,CAAA,CAAA,CAAA,CAAA;AAEM,IAAMklB,cAAc,GAAGrlB,MAAM,CAACwB,CAAC,CAAAyL,kBAAA,KAAAA,kBAAA,GAAA9M,sBAAA,mGAEnBC,KAAK,CAACP,KAAK,CAACjC,OAAO,EACnBwC,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC,EAC5BM,KAAK,CAACT,KAAK,CAACpB,SAAS,CACjC;;ACtCM,IAAMlC,WAAS,GAAG;EACrBkhB,OAAO,EAAEhhB,SAAS,CAACmB,KAAK,CAAC8iB,MAAM,CAAC8E,MAAM,CAAC7hB,cAAc,CAAC,CAAC;AACvDoM,EAAAA,IAAI,EAAEtT,SAAS,CAAC+D,SAAS,CAAC,CACtB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EACJyD,IAAI,EAAEtE,SAAS,CAACC,MAAM;EACtBkX,YAAY,EAAEnX,SAAS,CAAC+M,MAAM;EAC9BiK,SAAS,EAAEhX,SAAS,CAAC+M,MAAM;EAC3B5I,OAAO,EAAEnE,SAAS,CAACgB;AACvB,CAAC;;;ACTM,IAAMgoB,YAAY,GAAGvlB,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,6KAAA,EAAA,2CAAA,EAAA,0BAAA,EAAA,uBAAA,EAAA,KAAA,CAAA,CAAA,CAAA,EAOdC,KAAK,CAACT,KAAK,CAAC/B,OAAO,EAEzB,UAAAoD,IAAA,EAAA;AAAA,EAAA,IAAGuS,SAAS,GAAAvS,IAAA,CAATuS,SAAS;AAAA,EAAA,OAAOA,SAAS;AAAA,CAAA,EACzB,UAAAtS,KAAA,EAAA;AAAA,EAAA,IAAGyS,YAAY,GAAAzS,KAAA,CAAZyS,YAAY;AAAA,EAAA,OAAOA,YAAY;AAAA,CAAA,EACrC,UAAArS,KAAA,EAAA;AAAA,EAAA,IAAGkc,OAAO,GAAAlc,KAAA,CAAPkc,OAAO;AAAA,EAAA,OACpBA,OAAO,KAAK9Z,cAAc,CAAC7F,OAAO,GAAGwC,KAAK,CAACT,KAAK,CAAC/B,OAAO,GAAGwC,KAAK,CAACT,KAAK,CAAC5B,KAAK;AAAA,CACnF,CAAA;AAEM,IAAMsS,aAAW,GAAGrQ,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAKpC,CAAA,yGAAA,CAAA,CAAA,CAAA,CAAA;;ACjBM,IAAMqlB,MAAM,GAAG,SAATA,MAAMA,CAAAxkB,IAAA,EAAA;AAAA,EAAA,IAAAgd,YAAA,GAAAhd,IAAA,CACfuc,OAAO;AAAPA,IAAAA,OAAO,GAAAS,YAAA,KAAA,MAAA,GAAGva,cAAc,CAAC5F,SAAS,GAAAmgB,YAAA;IAClCnO,IAAI,GAAA7O,IAAA,CAAJ6O,IAAI;IACJhP,IAAI,GAAAG,IAAA,CAAJH,IAAI;IAAA4kB,iBAAA,GAAAzkB,IAAA,CACJ0S,YAAY;AAAZA,IAAAA,YAAY,GAAA+R,iBAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,iBAAA;IAAAC,cAAA,GAAA1kB,IAAA,CAChBuS,SAAS;AAATA,IAAAA,SAAS,GAAAmS,cAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,cAAA;IACbhlB,OAAO,GAAAM,IAAA,CAAPN,OAAO;IACPkR,KAAK,GAAA5Q,IAAA,CAAL4Q,KAAK;AAAA,EAAA,oBAEL5P,KAAA,CAAAC,aAAA,CAACsjB,YAAY,EAAA;AACThI,IAAAA,OAAO,EAAEA,OAAQ;AACjBhK,IAAAA,SAAS,EAAEA,SAAU;AACrBG,IAAAA,YAAY,EAAEA,YAAa;AAC3BhT,IAAAA,OAAO,EAAEA,OAAQ;AACjBkR,IAAAA,KAAK,EAAEA;AAAM,GAAA,EAEZ/B,IAAI,iBAAI7N,KAAA,CAAAC,aAAA,CAACoO,aAAW,EAAER,IAAAA,EAAAA,IAAkB,CAAC,eAC1C7N,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPrQ,IAAAA,QAAQ,EAAE,EAAG;AACbC,IAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAE;AACnCH,IAAAA,KAAK,EAAE4d,OAAO,KAAK9Z,cAAc,CAAC7F,OAAO,GAAGwC,KAAK,CAACT,KAAK,CAAC5B,KAAK,GAAGqC,KAAK,CAACT,KAAK,CAAC/B;GAE3EiD,EAAAA,IACO,CACF,CAAC;AAAA,CAClB;AAED2kB,MAAM,CAACnpB,SAAS,GAAGA,WAAS;;ACxBrB,IAAMspB,YAAY,GAAG,SAAfA,YAAYA,CAAA3kB,IAAA,EAAA;EAAA,IAAAwG,qBAAA,EAAAC,sBAAA;AAAA,EAAA,IAAAme,cAAA,GAAA5kB,IAAA,CACrB+jB,SAAS;AAATA,IAAAA,SAAS,GAAAa,cAAA,KAAG,MAAA,GAAA,EAAE,GAAAA,cAAA;IACdZ,QAAQ,GAAAhkB,IAAA,CAARgkB,QAAQ;IACRC,SAAS,GAAAjkB,IAAA,CAATikB,SAAS;IACTxoB,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;IACda,MAAM,GAAA0D,IAAA,CAAN1D,MAAM;IACNuoB,cAAc,GAAA7kB,IAAA,CAAd6kB,cAAc;IACdroB,cAAc,GAAAwD,IAAA,CAAdxD,cAAc;AAAA,EAAA,oBAEdwE,KAAA,CAAAC,aAAA,CAACwK,WAAS,EAAA,IAAA,EACLoZ,cAAc,iBACX7jB,KAAA,CAAAC,aAAA,CAACujB,MAAM,EAAA;AACH3kB,IAAAA,IAAI,EAAErD,cAAc,KAAIgJ,eAAe,KAAfA,IAAAA,IAAAA,eAAe,gBAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA+K,IAAAA,IAAAA,qBAAA,uBAAjCA,qBAAA,CAAmCse,IAAI,CAAC;AAChEvI,IAAAA,OAAO,EAAE9Z,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAdA,MAAAA,GAAAA,MAAAA,GAAAA,cAAc,CAAE7F,OAAQ;AACjC8V,IAAAA,YAAY,EAAE,EAAG;AACjB9B,IAAAA,KAAK,EAAE;AAAExC,MAAAA,QAAQ,EAAE,UAAU;MAAE2W,GAAG,EAAE,GAAG;AAAElH,MAAAA,MAAM,EAAE,GAAG;AAAE/O,MAAAA,KAAK,EAAE;KAAI;AACjEpP,IAAAA,OAAO,EAAEpD;AAAO,GACnB,CACJ,eACD0E,KAAA,CAAAC,aAAA,CAACwN,OAAO,EAAA;AAAC5O,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAAgL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCue,WAAY;AAAC5W,IAAAA,QAAQ,EAAC;GACpEpN,eAAAA,KAAA,CAAAC,aAAA,CAACijB,kBAAkB,qBACfljB,KAAA,CAAAC,aAAA,CAACkjB,UAAU,EAAA;AAACzkB,IAAAA,OAAO,EAAEukB;AAAU,GAAA,eAC3BjjB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAE8jB;AAAY,GAAE,CACxB,CAAC,eACbjkB,KAAA,CAAAC,aAAA,CAACmjB,OAAO,EAAA,IAAE,CAAC,eACXpjB,KAAA,CAAAC,aAAA,CAACojB,cAAc,EAAA,IAAA,EAAEN,SAAS,EAAC,GAAiB,CAAC,eAC7C/iB,KAAA,CAAAC,aAAA,CAACmjB,OAAO,EAAA,IAAE,CAAC,eACXpjB,KAAA,CAAAC,aAAA,CAACkjB,UAAU,EAAA;AAACzkB,IAAAA,OAAO,EAAEskB;AAAS,GAAA,eAC1BhjB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAE+jB;AAAW,GAAE,CACvB,CACI,CACf,CACF,CAAC;AAAA,CACf;AAEDP,YAAY,CAACtpB,SAAS,GAAGA,WAAS;;AC3C3B,IAAMA,WAAS,GAAG;EACrB0O,uBAAuB,EAAExO,SAAS,CAACgB,IAAI;EACvCyN,qBAAqB,EAAEzO,SAAS,CAACgB,IAAI;EACrC0N,mBAAmB,EAAE1O,SAAS,CAACgB,IAAI;EACnCkN,eAAe,EAAElO,SAAS,CAACa,MAAM;EACjC8N,2BAA2B,EAAE3O,SAAS,CAACgB,IAAI;EAC3C4N,yBAAyB,EAAE5O,SAAS,CAACgB,IAAI;EACzCd,cAAc,EAAEF,SAAS,CAACC;AAC9B,CAAC;;;ACPM,IAAM2pB,gBAAgB,GAAGnmB,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,uNAGxBC,KAAK,CAACT,KAAK,CAACZ,WAAW,EAGjBqB,KAAK,CAACT,KAAK,CAACX,WAAW,CAG9C;;ACOM,IAAMonB,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAplB,IAAA,EAQ5B;EAAA,IAAAwG,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;AAAA,EAAA,IAPFkD,uBAAuB,GAAA/J,IAAA,CAAvB+J,uBAAuB;IACvBC,qBAAqB,GAAAhK,IAAA,CAArBgK,qBAAqB;IACrBC,mBAAmB,GAAAjK,IAAA,CAAnBiK,mBAAmB;IACnBR,eAAe,GAAAzJ,IAAA,CAAfyJ,eAAe;IACfS,2BAA2B,GAAAlK,IAAA,CAA3BkK,2BAA2B;IAC3BC,yBAAyB,GAAAnK,IAAA,CAAzBmK,yBAAyB;IACzB1O,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;EAEd,IAAI4pB,sBAAsB,GAAG,CACzB;AACIjE,IAAAA,OAAO,eAAEpgB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEmkB;AAAe,KAAE,CAAC;AAC7C5lB,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACXwK,2BAA2B,IAAIA,2BAA2B,EAAE;KAC/D;AACDmD,IAAAA,OAAO,EAAE7H,eAAe,KAAfA,IAAAA,IAAAA,eAAe,gBAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmC+e;AAChD,GAAC,EACD;AACInE,IAAAA,OAAO,eAAEpgB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEqkB;AAAa,KAAE,CAAC;AAC3C9lB,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACXyK,yBAAyB,IAAIA,yBAAyB,EAAE;KAC3D;AACDkD,IAAAA,OAAO,EAAE7H,eAAe,KAAfA,IAAAA,IAAAA,eAAe,gBAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAgL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCgf;AAChD,GAAC,CACJ;EAED,oBACIzkB,KAAA,CAAAC,aAAA,CAACkkB,gBAAgB,qBACbnkB,KAAA,CAAAC,aAAA,CAAC+f,WAAW,EAAA;IACRtU,QAAQ,EAAE,EAACjD,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAfA,MAAAA,IAAAA,eAAe,CAAEma,SAAS,CAAC;AACtCtD,IAAAA,QAAQ,EAAE+E,sBAAuB;AACjC/X,IAAAA,eAAe,EAAC;AAAK,GACxB,CAAC,eAiBFtM,KAAA,CAAAC,aAAA,CAAC2N,oBAAoB,EAAA;AACjBvB,IAAAA,OAAO,EACH5D,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAfA,MAAAA,IAAAA,eAAe,CAAEma,SAAS,GACpBpe,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAAkB,MAAAA,IAAAA,CAAAA,sBAAA,GAAflB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAiL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCgf,IAAI,GACvClgB,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAAmB,MAAAA,IAAAA,CAAAA,sBAAA,GAAfnB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAkL,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCgf,MAC5C;AACDrY,IAAAA,eAAe,EAAC,KAAK;AACrBP,IAAAA,YAAY,EAAE,IAAK;AACnBD,IAAAA,WAAW,EAAE,IAAK;AAClB5K,IAAAA,MAAM,EAAE,EAAG;AACXgL,IAAAA,WAAW,EAAE,CAAE;AACfxN,IAAAA,OAAO,EAAEuK;AAAoB,GAAA,eAE7BjJ,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;IACR/Q,GAAG,EAAEsI,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAfA,eAAe,CAAEma,SAAS,GAAGgC,UAAU,GAAGC,QAAS;AACxD3jB,IAAAA,MAAM,EAAE,EAAG;AACXD,IAAAA,KAAK,EAAE;GACV,CACiB,CAAC,EACtB,CAAAwH,eAAe,aAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE/E,IAAI,OAAKtB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEb,EAAE,kBACvCvB,KAAA,CAAAC,aAAA,CAAC2N,oBAAoB,EAAA;AACjBvB,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAoB,sBAAA,GAAfpB,eAAe,CAAG/J,cAAc,CAAC,MAAAmL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCkf,IAAK;AACjDxY,IAAAA,eAAe,EAAC,KAAK;AACrBP,IAAAA,YAAY,EAAE,IAAK;AACnBD,IAAAA,WAAW,EAAE,IAAK;AAClB5K,IAAAA,MAAM,EAAE,EAAG;AACXgL,IAAAA,WAAW,EAAE,CAAE;AACfxN,IAAAA,OAAO,EAAEsK,qBAAsB;IAC/B0C,QAAQ,EAAE,EAACjD,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAfA,MAAAA,IAAAA,eAAe,CAAEma,SAAS;AAAC,GAAA,eAEtC5iB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAE4kB;AAAS,GAAE,CACX,CACzB,eACD/kB,KAAA,CAAAC,aAAA,CAAC2N,oBAAoB,EAAA;AACjBvB,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAqB,sBAAA,GAAfrB,eAAe,CAAG/J,cAAc,CAAC,MAAAoL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCmf,MAAO;AACnD1Y,IAAAA,eAAe,EAAC,KAAK;AACrBP,IAAAA,YAAY,EAAE,IAAK;AACnBD,IAAAA,WAAW,EAAE,IAAK;AAClB5K,IAAAA,MAAM,EAAE,EAAG;AACXgL,IAAAA,WAAW,EAAE,CAAE;AACfxN,IAAAA,OAAO,EAAEqK,uBAAwB;IACjC2C,QAAQ,EAAE,EAACjD,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAfA,MAAAA,IAAAA,eAAe,CAAEma,SAAS;AAAC,GAAA,eAEtC5iB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAE8kB;GAAa,CACb,CACR,CAAC;AAE3B,CAAC;AAEDb,qBAAqB,CAAC/pB,SAAS,GAAGA,WAAS;;;ACnHpC,IAAM6qB,oBAAoB,GAAGlnB,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,uEAAA,EAAA,wEAAA,EAAA,4CAAA,CAAA,CAAA,CAAA,EAGvB,UAAAa,IAAA,EAAA;AAAA,EAAA,IAAGoI,WAAW,GAAApI,IAAA,CAAXoI,WAAW;AAAA,EAAA,OAAQA,WAAW,GAAG,eAAe,GAAG,UAAU;AAAA,CAAC,EAGlE,UAAAnI,KAAA,EAAA;AAAA,EAAA,IAAGmI,WAAW,GAAAnI,KAAA,CAAXmI,WAAW;AAAA,EAAA,OAAQA,WAAW,GAAG,GAAG,GAAG,IAAI;AAAA,CAAC,CAGpE;;ACTM,IAAM/M,WAAS,GAAG;EACrB0N,MAAM,EAAExN,SAAS,CAACgB,IAAI;EACtByM,MAAM,EAAEzN,SAAS,CAACgB,IAAI;EACtBsnB,WAAW,EAAEtoB,SAAS,CAACQ,IAAI;EAC3B+nB,WAAW,EAAEvoB,SAAS,CAACQ,IAAI;EAC3ByQ,WAAW,EAAEjR,SAAS,CAACa;AAC3B,CAAC;;ACDM,IAAM+pB,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAnmB,IAAA,EAAqE;EAAA,IAAAwG,qBAAA,EAAAC,sBAAA;AAAA,EAAA,IAA/DsC,MAAM,GAAA/I,IAAA,CAAN+I,MAAM;IAAEC,MAAM,GAAAhJ,IAAA,CAANgJ,MAAM;IAAE6a,WAAW,GAAA7jB,IAAA,CAAX6jB,WAAW;IAAEC,WAAW,GAAA9jB,IAAA,CAAX8jB,WAAW;IAAEroB,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;EACvF,IAAI2qB,gBAAgB,GAAG,CACnB;AACIhF,IAAAA,OAAO,eAAEpgB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEklB;AAAS,KAAE,CAAC;IACvC3mB,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQqJ,MAAM,EAAE;AAAA,KAAA;AACvB2D,IAAAA,QAAQ,EAAEmX,WAAW;AACrBxW,IAAAA,OAAO,EAAE7H,eAAe,KAAfA,IAAAA,IAAAA,eAAe,gBAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmC8f;AAChD,GAAC,EACD;AACIlF,IAAAA,OAAO,eAAEpgB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEolB;AAAS,KAAE,CAAC;IACvC7mB,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQsJ,MAAM,EAAE;AAAA,KAAA;AACvB0D,IAAAA,QAAQ,EAAEoX,WAAW;AACrBzW,IAAAA,OAAO,EAAE7H,eAAe,KAAfA,IAAAA,IAAAA,eAAe,gBAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAgL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC+f;AAChD,GAAC,CACJ;AAED,EAAA,oBACIxlB,KAAA,CAAAC,aAAA,CAAC+f,WAAW,EAAA;AACR9e,IAAAA,MAAM,EAAE,EAAG;AACXse,IAAAA,UAAU,EAAC,WAAW;AACtBF,IAAAA,QAAQ,EAAE8F,gBAAiB;AAC3B9Y,IAAAA,eAAe,EAAC;AAAK,GACxB,CAAC;AAEV,CAAC;AAED6Y,gBAAgB,CAAC9qB,SAAS,GAAGA,WAAS;;AC1B/B,IAAMorB,aAAa,GAAG,SAAhBA,aAAaA,CAAAzmB,IAAA,EAkBpB;AAAA,EAAA,IAjBFoI,WAAW,GAAApI,IAAA,CAAXoI,WAAW;IACXC,cAAc,GAAArI,IAAA,CAAdqI,cAAc;IACdE,sBAAsB,GAAAvI,IAAA,CAAtBuI,sBAAsB;IACtBQ,MAAM,GAAA/I,IAAA,CAAN+I,MAAM;IACNC,MAAM,GAAAhJ,IAAA,CAANgJ,MAAM;IACN6a,WAAW,GAAA7jB,IAAA,CAAX6jB,WAAW;IACXC,WAAW,GAAA9jB,IAAA,CAAX8jB,WAAW;IACXra,eAAe,GAAAzJ,IAAA,CAAfyJ,eAAe;IACfM,uBAAuB,GAAA/J,IAAA,CAAvB+J,uBAAuB;IACvBC,qBAAqB,GAAAhK,IAAA,CAArBgK,qBAAqB;IACrBC,mBAAmB,GAAAjK,IAAA,CAAnBiK,mBAAmB;IACnBC,2BAA2B,GAAAlK,IAAA,CAA3BkK,2BAA2B;IAC3BC,yBAAyB,GAAAnK,IAAA,CAAzBmK,yBAAyB;IACzB1O,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;IACda,MAAM,GAAA0D,IAAA,CAAN1D,MAAM;IACNuoB,cAAc,GAAA7kB,IAAA,CAAd6kB,cAAc;IACdroB,cAAc,GAAAwD,IAAA,CAAdxD,cAAc;AAEd,EAAA,IAAMwnB,QAAQ,GAAG,SAAXA,QAAQA,GAAS;IACnB,IAAI3b,cAAc,GAAG,GAAG,EAAE;AACtBE,MAAAA,sBAAsB,CAACF,cAAc,GAAG,EAAE,CAAC;AAC/C;GACH;AACD,EAAA,IAAM4b,SAAS,GAAG,SAAZA,SAASA,GAAS;IACpB,IAAI5b,cAAc,GAAG,EAAE,EAAE;AACrBE,MAAAA,sBAAsB,CAACF,cAAc,GAAG,EAAE,CAAC;AAC/C;GACH;AACD,EAAA,oBACIrH,KAAA,CAAAC,aAAA,CAACilB,oBAAoB,EAAA;AAAC9d,IAAAA,WAAW,EAAEA;AAAY,GAAA,EAC1CA,WAAW,iBACRpH,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAA0lB,QAAA,EACI1lB,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACklB,gBAAgB,EAAA;AACbpd,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,MAAM,EAAEA,MAAO;AACf6a,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,WAAW,EAAEA,WAAY;AACzBroB,IAAAA,cAAc,EAAEA;GACnB,CAAC,EACDgO,eAAe,gBACZzI,KAAA,CAAAC,aAAA,CAACmkB,qBAAqB,EAAA;AAClBrb,IAAAA,uBAAuB,EAAEA,uBAAwB;AACjDC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCR,IAAAA,eAAe,EAAEA,eAAgB;AACjCS,IAAAA,2BAA2B,EAAEA,2BAA4B;AACzDC,IAAAA,yBAAyB,EAAEA,yBAA0B;AACrD1O,IAAAA,cAAc,EAAEA;AAAe,GAClC,CAAC,gBAEFuF,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK2P,IAAAA,KAAK,EAAE;AAAE1O,MAAAA,MAAM,EAAE;AAAG;AAAE,GAAE,CAEnC,CACL,eACDlB,KAAA,CAAAC,aAAA,CAAC0jB,YAAY,EAAA;AACTZ,IAAAA,SAAS,EAAE1b,cAAe;AAC1B2b,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,SAAS,EAAEA,SAAU;AACrBxoB,IAAAA,cAAc,EAAEA,cAAe;AAC/Ba,IAAAA,MAAM,EAAEA,MAAO;AACfuoB,IAAAA,cAAc,EAAEA,cAAe;AAC/BroB,IAAAA,cAAc,EAAEA;AAAe,GAClC,CACiB,CAAC;AAE/B,CAAC;AAEDiqB,aAAa,CAACprB,SAAS,GAAGA,WAAS;;ACzE5B,IAAMA,WAAS,GAAG;EACrB0F,EAAE,EAAExF,SAAS,CAACC,MAAM;EACpB4lB,OAAO,EAAE7lB,SAAS,CAACa,MAAM;EACzBsD,OAAO,EAAEnE,SAAS,CAACgB,IAAI;EACvBoqB,SAAS,EAAEprB,SAAS,CAACgB,IAAI;EACzBqqB,cAAc,EAAErrB,SAAS,CAACgB,IAAI;EAC9BsqB,UAAU,EAAEtrB,SAAS,CAACgB;AAC1B,CAAC;;ACLM,IAAMuqB,WAAW,GAAG,SAAdA,WAAWA,CAAA9mB,IAAA,EAAwE;AAAA,EAAA,IAAlEe,EAAE,GAAAf,IAAA,CAAFe,EAAE;IAAEqgB,OAAO,GAAAphB,IAAA,CAAPohB,OAAO;IAAE1hB,QAAO,GAAAM,IAAA,CAAPN,OAAO;IAAEinB,UAAS,GAAA3mB,IAAA,CAAT2mB,SAAS;IAAEC,eAAc,GAAA5mB,IAAA,CAAd4mB,cAAc;IAAEC,UAAU,GAAA7mB,IAAA,CAAV6mB,UAAU;AACrF,EAAA,IAAApX,SAAA,GAA4BC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApCsX,IAAAA,MAAM,GAAApX,UAAA,CAAA,CAAA,CAAA;AAAEqX,IAAAA,SAAS,GAAArX,UAAA,CAAA,CAAA,CAAA;AACxB,EAAA,IAAA8O,UAAA,GAA0B/O,cAAQ,CAAC,IAAI,CAAC;IAAAgP,UAAA,GAAA9O,cAAA,CAAA6O,UAAA,EAAA,CAAA,CAAA;AAAjCpc,IAAAA,KAAK,GAAAqc,UAAA,CAAA,CAAA,CAAA;AAAEuI,IAAAA,QAAQ,GAAAvI,UAAA,CAAA,CAAA,CAAA;AAEtBzO,EAAAA,eAAS,CAAC,YAAM;AACZ;AACA;AACA,IAAA,IAAM9P,GAAG,GAAG,IAAI+mB,MAAM,CAAC9N,KAAK,EAAE;IAC9BjZ,GAAG,CAACgnB,WAAW,GAAG,WAAW;IAC7BhnB,GAAG,CAACgB,GAAG,GAAGigB,OAAO,aAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEjgB,GAAG;IACtBhB,GAAG,CAACkZ,MAAM,GAAG,YAAM;MACf4N,QAAQ,CAAC9mB,GAAG,CAAC;MACb6mB,SAAS,CAAC,IAAI,CAAC;KAClB;AACD;AACA;AACJ,GAAC,EAAE,CAAC5F,OAAO,CAAC,CAAC;AACb,EAAA,IAAI2F,MAAM,EAAE;AACR,IAAA,oBACI/lB,KAAA,CAAAC,aAAA,CAACmY,gBAAK,EAAAgO,QAAA,CAAA;AACFrmB,MAAAA,EAAE,EAAEA,EAAG;AACPsB,MAAAA,KAAK,EAAEA;AAAM,KAAA,EACT+e,OAAO,EAAA;AACXnf,MAAAA,KAAK,EAAEmf,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,MAAAA,GAAAA,MAAAA,GAAAA,OAAO,CAAEnf,KAAM;AACtBC,MAAAA,MAAM,EAAEkf,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,MAAAA,GAAAA,MAAAA,GAAAA,OAAO,CAAElf,MAAO;MACxBxC,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQA,QAAO,IAAIA,QAAO,EAAE;OAAC;AACpCinB,MAAAA,SAAS,EAAE,SAAXA,SAASA,CAAE7e,CAAC,EAAA;AAAA,QAAA,OAAI6e,UAAS,IAAIA,UAAS,CAAC7e,CAAC,CAAC;OAAC;AAC1C+e,MAAAA,UAAU,EAAEA,UAAW;AACvBD,MAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE9e,CAAC,EAAI;AACjB8e,QAAAA,eAAc,IAAIA,eAAc,CAAC9e,CAAC,CAAC;OACrC;AACFuf,MAAAA,kBAAkB,EAAE;AAAM,KAAA,CAC7B,CAAC;AAEV,GAAC,MAAM;AACH,IAAA,OAAO,IAAI;AACf;AACJ,CAAC;AAEDP,WAAW,CAACzrB,SAAS,GAAGA,WAAS;;ACzC1B,IAAMA,WAAS,GAAG;EACrB+lB,OAAO,EAAE7lB,SAAS,CAACa,MAAM;EACzBsD,OAAO,EAAEnE,SAAS,CAACgB,IAAI;EACvBoqB,SAAS,EAAEprB,SAAS,CAACgB,IAAI;EACzBqqB,cAAc,EAAErrB,SAAS,CAACgB,IAAI;EAC9BsqB,UAAU,EAAEtrB,SAAS,CAACgB,IAAI;EAC1B+qB,SAAS,EAAE/rB,SAAS,CAACC;AACzB,CAAC;;ACFM,IAAM+rB,SAAS,GAAG,SAAZA,SAASA,CAAAvnB,IAAA,EAOhB;AAAA,EAAA,IANFohB,OAAO,GAAAphB,IAAA,CAAPohB,OAAO;IACP1hB,QAAO,GAAAM,IAAA,CAAPN,OAAO;IACPinB,UAAS,GAAA3mB,IAAA,CAAT2mB,SAAS;IACTC,eAAc,GAAA5mB,IAAA,CAAd4mB,cAAc;IACdC,UAAU,GAAA7mB,IAAA,CAAV6mB,UAAU;IACVS,SAAS,GAAAtnB,IAAA,CAATsnB,SAAS;AAET,EAAA,IAAIE,cAAc,GAAG3S,wBAAwB,CAACuM,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEnf,KAAK,EAAE,EAAE,CAAC;AACjE,EAAA,IAAIwlB,eAAe,GAAG5S,wBAAwB,CAACuM,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAElf,MAAM,EAAE,EAAE,CAAC;AACnE,EAAA,IAAIwlB,UAAU,GAAG7S,wBAAwB,CAACuM,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEnf,KAAK,EAAE,EAAE,CAAC;AAC7D,EAAA,IAAI0lB,UAAU,GAAG9S,wBAAwB,CAACuM,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAElf,MAAM,EAAE,EAAE,CAAC;AAE9D,EAAA,IAAAuN,SAAA,GAA4BC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApCsX,IAAAA,MAAM,GAAApX,UAAA,CAAA,CAAA,CAAA;AAAEqX,IAAAA,SAAS,GAAArX,UAAA,CAAA,CAAA,CAAA;AACxB,EAAA,IAAA8O,UAAA,GAAwB/O,cAAQ,CAAC,IAAI,CAAC;IAAAgP,UAAA,GAAA9O,cAAA,CAAA6O,UAAA,EAAA,CAAA,CAAA;AAA/BmJ,IAAAA,IAAI,GAAAlJ,UAAA,CAAA,CAAA,CAAA;AAAEmJ,IAAAA,OAAO,GAAAnJ,UAAA,CAAA,CAAA,CAAA;AACpB,EAAA,IAAAoJ,UAAA,GAA0BpY,cAAQ,CAAC,IAAI,CAAC;IAAAqY,UAAA,GAAAnY,cAAA,CAAAkY,UAAA,EAAA,CAAA,CAAA;AAAjCzlB,IAAAA,KAAK,GAAA0lB,UAAA,CAAA,CAAA,CAAA;AAAEd,IAAAA,QAAQ,GAAAc,UAAA,CAAA,CAAA,CAAA;AAEtB9X,EAAAA,eAAS,CAAC,YAAM;IACZ,IAAI,EAACmR,OAAO,KAAPA,IAAAA,IAAAA,OAAO,eAAPA,OAAO,CAAEjI,MAAM,CAAE,EAAA;AAClB,MAAA;AACJ;AACA,IAAA,IAAMhZ,GAAG,GAAG,IAAI+mB,MAAM,CAAC9N,KAAK,EAAE;IAC9BjZ,GAAG,CAACgnB,WAAW,GAAG,WAAW;IAC7BhnB,GAAG,CAACgB,GAAG,GAAGigB,OAAO,aAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEjI,MAAM;IACzBhZ,GAAG,CAACkZ,MAAM,GAAG,YAAM;AACf,MAAA,IAAM2O,MAAM,GAAGR,cAAc,GAAGrnB,GAAG,CAAC8B,KAAK;AACzC,MAAA,IAAMgmB,MAAM,GAAGR,eAAe,GAAGtnB,GAAG,CAAC+B,MAAM;MAC3C,IAAMwY,KAAK,GAAGwN,IAAI,CAAClM,GAAG,CAACgM,MAAM,EAAEC,MAAM,CAAC;AACtCJ,MAAAA,OAAO,CAAC;AAAE1nB,QAAAA,GAAG,EAAHA,GAAG;AAAEua,QAAAA,KAAK,EAALA;AAAM,OAAC,CAAC;KAC1B;AACL,GAAC,EAAE,CAAC0G,OAAO,CAAC,CAAC;AACb,EAAA,IAAM+G,KAAK,gBAAA,YAAA;IAAA,IAAAloB,KAAA,GAAAuY,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAG,SAAAC,OAAA,GAAA;AAAA,MAAA,OAAAF,mBAAA,EAAA,CAAAK,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;YACV,IAAI;cACAkP,MAAM,CAAC7M,SAAS,CAAC6F,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEiH,MAAM,EAAE;AAAEC,gBAAAA,MAAM,EAAE,CAAC;AAAErmB,gBAAAA,KAAK,EAAE;AAAI,eAAC,EAAE,UAAUqW,GAAG,EAAEiQ,GAAG,EAAE;AAC7E,gBAAA,IAAMpoB,GAAG,GAAG,IAAI+mB,MAAM,CAAC9N,KAAK,EAAE;gBAC9BjZ,GAAG,CAACgnB,WAAW,GAAG,WAAW;gBAC7BhnB,GAAG,CAACgB,GAAG,GAAGonB,GAAG;gBACbpoB,GAAG,CAACkZ,MAAM,GAAG,YAAM;AACf,kBAAA,IAAM2O,MAAM,GAAG,CAAA5G,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEnf,KAAK,IAAG9B,GAAG,CAAC8B,KAAK;kBACzC,IAAMgmB,MAAM,GAAG7G,OAAO,CAAClf,MAAM,GAAG/B,GAAG,CAAC+B,MAAM;kBAC1C,IAAMwY,KAAK,GAAGwN,IAAI,CAAClM,GAAG,CAACgM,MAAM,EAAEC,MAAM,CAAC;AACtChB,kBAAAA,QAAQ,CAAC;AAAE9mB,oBAAAA,GAAG,EAAHA,GAAG;AAAEua,oBAAAA,KAAK,EAALA;AAAM,mBAAC,CAAC;kBACxBsM,SAAS,CAAC,IAAI,CAAC;iBAClB;AACL,eAAC,CAAC;aACL,CAAC,OAAO1O,GAAG,EAAE;AACV;AACAkQ,cAAAA,OAAO,CAACC,KAAK,CAAC,4BAA4B,EAAEnQ,GAAG,CAAC;AACpD;AAAC,UAAA,KAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAU,QAAA,CAAAkB,IAAA,EAAA;AAAA;AAAA,OAAA,EAAAvB,OAAA,CAAA;KACJ,CAAA,CAAA;AAAA,IAAA,OAAA,SAlBKwP,KAAKA,GAAA;AAAA,MAAA,OAAAloB,KAAA,CAAAmW,KAAA,CAAA,IAAA,EAAAJ,SAAA,CAAA;AAAA,KAAA;GAkBV,EAAA;AACD/F,EAAAA,eAAS,CAAC,YAAM;AACZkY,IAAAA,KAAK,EAAE;AACX,GAAC,EAAE,CAAC/G,OAAO,CAAC,CAAC;AAEb,EAAA,IAAI2F,MAAM,EAAE;AACR,IAAA,oBACI/lB,KAAA,CAAAC,aAAA,CAACynB,gBAAK,EAAAtB,QAAA,CAAA;MACFlmB,GAAG,EAAEkgB,OAAO,CAACrgB;AAAG,KAAA,EACZqgB,OAAO,EAAA;MACXrgB,EAAE,EAAEqgB,OAAO,CAACrgB,EAAG;MACfrB,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQA,QAAO,IAAIA,QAAO,EAAE;OAAC;AACpCinB,MAAAA,SAAS,EAAE,SAAXA,SAASA,CAAE7e,CAAC,EAAA;AAAA,QAAA,OAAI6e,UAAS,IAAIA,UAAS,CAAC7e,CAAC,CAAC;OAAC;AAC1C+e,MAAAA,UAAU,EAAEA,UAAW;AACvBD,MAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE9e,CAAC,EAAI;AACjB8e,QAAAA,eAAc,IAAIA,eAAc,CAAC9e,CAAC,CAAC;AACvC;AAAE,KAAA,CAAA,eAEF9G,KAAA,CAAAC,aAAA,CAAC0nB,eAAI,EAAA;AACD1mB,MAAAA,KAAK,EAAEmf,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,MAAAA,GAAAA,MAAAA,GAAAA,OAAO,CAAEnf,KAAM;AACtBC,MAAAA,MAAM,EAAEkf,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,MAAAA,GAAAA,MAAAA,GAAAA,OAAO,CAAElf,MAAO;AACxB0mB,MAAAA,gBAAgB,EAAEvmB,KAAK,KAAA,IAAA,IAALA,KAAK,KAALA,MAAAA,GAAAA,MAAAA,GAAAA,KAAK,CAAElC,GAAI;AAC7B0oB,MAAAA,iBAAiB,EAAC,WAAW;AAC7BC,MAAAA,gBAAgB,EAAE;AACdC,QAAAA,CAAC,EAAE,CAAA3H,OAAO,aAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEnf,KAAK,KAAGI,KAAK,aAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAElC,GAAG,CAAC8B,KAAK,CAAA;AACpC+mB,QAAAA,CAAC,EAAE,CAAA5H,OAAO,aAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAElf,MAAM,KAAGG,KAAK,aAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAElC,GAAG,CAAC+B,MAAM;OACxC;AACFkhB,MAAAA,MAAM,EAAEhC,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,MAAAA,GAAAA,MAAAA,GAAAA,OAAO,CAAEgC,MAAO;AACxBD,MAAAA,WAAW,EAAE/B,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,MAAAA,GAAAA,MAAAA,GAAAA,OAAO,CAAE+B,WAAY;AAClCje,MAAAA,OAAO,EAAEkc,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,MAAAA,GAAAA,MAAAA,GAAAA,OAAO,CAAElc,OAAQ;AAC1BmiB,MAAAA,kBAAkB,EAAE;AAAM,KAC7B,CAAC,EACD,CAAAjG,OAAO,aAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE6H,WAAW,kBACjBjoB,KAAA,CAAAC,aAAA,CAACynB,gBAAK,EAAA;AAACK,MAAAA,CAAC,EAAErB,UAAW;AAACsB,MAAAA,CAAC,EAAErB;AAAW,KAAA,eAChC3mB,KAAA,CAAAC,aAAA,CAAC0nB,eAAI,EAAA;AACD1mB,MAAAA,KAAK,EAAEulB,cAAe;AACtBtlB,MAAAA,MAAM,EAAEulB,eAAgB;AACxBjE,MAAAA,IAAI,EAAEpkB,KAAK,CAACT,KAAK,CAAC5B;KACrB,CAAC,EAED6qB,IAAI,gBACD5mB,KAAA,CAAAC,aAAA,CAAC0nB,eAAI,EAAA;AACD1mB,MAAAA,KAAK,EAAEulB,cAAe;AACtBtlB,MAAAA,MAAM,EAAEulB,eAAgB;AACxBmB,MAAAA,gBAAgB,EAAEhB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAEznB,GAAI;AAC5B0oB,MAAAA,iBAAiB,EAAC,WAAW;AAC7BC,MAAAA,gBAAgB,EAAE;QACdC,CAAC,EAAEtB,eAAe,IAAGG,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEznB,GAAG,CAAC8B,KAAK,CAAA;QACpC+mB,CAAC,EAAEvB,eAAe,IAAGG,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEznB,GAAG,CAAC+B,MAAM;AACzC;AAAE,KACL,CAAC,gBAEFlB,KAAA,CAAAC,aAAA,CAACioB,eAAI,EAAA;AACDrpB,MAAAA,IAAI,EAAEynB,SAAU;AAChBvkB,MAAAA,QAAQ,EAAE,CAAE;AACZygB,MAAAA,IAAI,EAAEpkB,KAAK,CAACT,KAAK,CAACJ,WAAY;AAC9BwqB,MAAAA,CAAC,EAAE,CAAE;AACLC,MAAAA,CAAC,EAAEvB,eAAe,GAAG,CAAC,GAAG,CAAE;AAC3B3kB,MAAAA,UAAU,EAAE1D,KAAK,CAACP,KAAK,CAACjC,OAAQ;AAChCsG,MAAAA,SAAS,EAAE9D,KAAK,CAACN,WAAW,CAAC,GAAG;KACnC,CAEF,CAER,CAAC;AAEhB,GAAC,MAAM;AACH,IAAA,OAAO,IAAI;AACf;AACJ,CAAC;AAEDyoB,SAAS,CAAClsB,SAAS,GAAGA,WAAS;;AC7HxB,IAAMA,WAAS,GAAG;EACrB+lB,OAAO,EAAE7lB,SAAS,CAACa,MAAM;EACzBsD,OAAO,EAAEnE,SAAS,CAACgB,IAAI;EACvBoqB,SAAS,EAAEprB,SAAS,CAACgB,IAAI;EACzBqqB,cAAc,EAAErrB,SAAS,CAACgB,IAAI;EAC9B4sB,WAAW,EAAE5tB,SAAS,CAACgB,IAAI;EAC3B6sB,mBAAmB,EAAE7tB,SAAS,CAACgB,IAAI;EACnC0O,oBAAoB,EAAE1P,SAAS,CAACgB,IAAI;EACpCsqB,UAAU,EAAEtrB,SAAS,CAACgB;AAC1B,CAAC;;ACNM,IAAM8sB,UAAU,GAAG,SAAbA,UAAUA,CAAArpB,IAAA,EAA4D;AAAA,EAAA,IAAtDspB,WAAW,GAAAtpB,IAAA,CAAXspB,WAAW;IAAErX,KAAK,GAAAjS,IAAA,CAALiS,KAAK;IAAEsX,MAAM,GAAAvpB,IAAA,CAANupB,MAAM;IAAEhY,SAAQ,GAAAvR,IAAA,CAARuR,QAAQ;IAAEiY,SAAS,GAAAxpB,IAAA,CAATwpB,SAAS;AACxE,EAAA,IAAMC,WAAW,GAAGzZ,YAAM,CAAC,IAAI,CAAC;AAChC,EAAA,IAAAP,SAAA,GAA4BC,cAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAjCia,IAAAA,MAAM,GAAA/Z,UAAA,CAAA,CAAA,CAAA;AAAEga,IAAAA,SAAS,GAAAha,UAAA,CAAA,CAAA,CAAA;AAExBM,EAAAA,eAAS,CAAC,YAAM;IAAA,IAAA2Z,kBAAA,EAAAC,UAAA,EAAAC,WAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;IACZ,IAAI,CAACX,WAAW,EAAE;AAClB;AACA;AACA,IAAA,IAAMY,GAAG,GAAGZ,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAXA,MAAAA,GAAAA,MAAAA,GAAAA,WAAW,CAAEa,QAAQ,EAAE,CAACC,OAAO,KAAAzlB,MAAA,CAAK2kB,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,IAAA,CAAAM,kBAAA,GAAXN,WAAW,CAAE5X,KAAK,MAAAkY,IAAAA,IAAAA,kBAAA,KAAlBA,MAAAA,GAAAA,MAAAA,GAAAA,kBAAA,CAAoB7oB,EAAE,CAAE,CAAC;AAEzE,IAAA,IAAMspB,QAAQ,GAAG;AACbjc,MAAAA,QAAQ,EAAE,UAAU;AACpB2W,MAAAA,GAAG,KAAApgB,MAAA,CAAKulB,GAAG,KAAHA,IAAAA,IAAAA,GAAG,gBAAAL,UAAA,GAAHK,GAAG,CAAExY,KAAK,MAAAmY,IAAAA,IAAAA,UAAA,uBAAVA,UAAA,CAAYb,CAAC,EAAI,IAAA,CAAA;AACzBna,MAAAA,IAAI,KAAAlK,MAAA,CAAKulB,GAAG,KAAHA,IAAAA,IAAAA,GAAG,gBAAAJ,WAAA,GAAHI,GAAG,CAAExY,KAAK,MAAAoY,IAAAA,IAAAA,WAAA,uBAAVA,WAAA,CAAYf,CAAC,EAAI,IAAA,CAAA;AAC1B9mB,MAAAA,KAAK,EAAA0C,EAAAA,CAAAA,MAAA,CAAK6kB,SAAS,EAAI,IAAA,CAAA;AACvBtnB,MAAAA,MAAM,EAAAyC,EAAAA,CAAAA,MAAA,CAAK2kB,WAAW,KAAXA,IAAAA,IAAAA,WAAW,KAAXA,MAAAA,GAAAA,MAAAA,GAAAA,WAAW,CAAEgB,SAAS,EAAE,EAAI,IAAA,CAAA;MACvCvnB,QAAQ,EAAA,EAAA,CAAA4B,MAAA,CAAK2kB,WAAW,CAACvmB,QAAQ,EAAE,EAAI,IAAA,CAAA;AACvCD,MAAAA,UAAU,EAAEwmB,WAAW,CAACxmB,UAAU,EAAE;AACpCqC,MAAAA,UAAU,EAAEmkB,WAAW,CAACnkB,UAAU,EAAE;AACpCxG,MAAAA,KAAK,EAAE2qB,WAAW,CAAC9F,IAAI,EAAE;AACzB7F,MAAAA,UAAU,EAAE,aAAa;AACzBC,MAAAA,MAAM,EAAE,MAAM;AACd5M,MAAAA,OAAO,EAAE,KAAK;AACdsX,MAAAA,MAAM,EAAE,KAAK;AACbiC,MAAAA,QAAQ,EAAE,QAAQ;AAClBC,MAAAA,OAAO,EAAE,MAAM;AACfC,MAAAA,MAAM,EAAE,MAAM;AACdC,MAAAA,eAAe,EAAE,UAAU;AAC3BvnB,MAAAA,SAAS,EAAEmmB,WAAW,CAACqB,KAAK,EAAE;MAC9B/L,SAAS,EAAA,UAAA,CAAAja,MAAA,CAAa2kB,WAAW,CAACsB,QAAQ,EAAE,EAAM,MAAA,CAAA;AAClDC,MAAAA,SAAS,EAAE,KAAK;AAChBC,MAAAA,UAAU,EAAE,QAAQ;AACpBC,MAAAA,UAAU,EAAE,MAAM;MAClB7nB,SAAS,EAAE,CAAAomB,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAAS,MAAAA,IAAAA,CAAAA,qBAAA,GAAXT,WAAW,CAAEpmB,SAAS,MAAA6mB,IAAAA,IAAAA,qBAAA,uBAAtBA,qBAAA,CAAAiB,IAAA,CAAA1B,WAAyB,CAAC,KAAI,QAAQ;MACjDtmB,UAAU,EAAE,CAAAsmB,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAAU,MAAAA,IAAAA,CAAAA,qBAAA,GAAXV,WAAW,CAAE2B,WAAW,MAAAjB,IAAAA,IAAAA,qBAAA,uBAAxBA,qBAAA,CAAAgB,IAAA,CAAA1B,WAA2B,CAAC,KAAI,GAAG;MAC/CrmB,cAAc,EAAE,CAAAqmB,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAAW,MAAAA,IAAAA,CAAAA,qBAAA,GAAXX,WAAW,CAAErmB,cAAc,MAAAgnB,IAAAA,IAAAA,qBAAA,uBAA3BA,qBAAA,CAAAe,IAAA,CAAA1B,WAA8B,CAAC,KAAI;KACtD;IAEDK,SAAS,CAACU,QAAQ,CAAC;AACvB,GAAC,EAAE,CAACf,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAXA,MAAAA,GAAAA,MAAAA,GAAAA,WAAW,CAAElZ,OAAO,EAAE6B,KAAK,EAAEmP,iBAAO,CAAC,CAAC;AAC1CnR,EAAAA,eAAS,CAAC,YAAM;AACZ6B,IAAAA,UAAU,CAAC,YAAM;AACb,MAAA,IAAI2X,WAAW,KAAXA,IAAAA,IAAAA,WAAW,eAAXA,WAAW,CAAErZ,OAAO,EAAE;QAAA,IAAA8a,oBAAA,EAAAC,qBAAA;AACtB1B,QAAAA,WAAW,KAAXA,IAAAA,IAAAA,WAAW,KAAAyB,MAAAA,IAAAA,CAAAA,oBAAA,GAAXzB,WAAW,CAAErZ,OAAO,MAAA,IAAA,IAAA8a,oBAAA,KAApBA,MAAAA,IAAAA,oBAAA,CAAsBE,KAAK,EAAE;AAC7B3B,QAAAA,WAAW,KAAXA,IAAAA,IAAAA,WAAW,KAAA0B,MAAAA,IAAAA,CAAAA,qBAAA,GAAX1B,WAAW,CAAErZ,OAAO,MAAA,IAAA,IAAA+a,qBAAA,KAApBA,MAAAA,IAAAA,qBAAA,CAAsBE,MAAM,EAAE;AAClC;KACH,EAAE,GAAG,CAAC;GACV,EAAE,EAAE,CAAC;EACN,oBACIrqB,KAAA,CAAAC,aAAA,CAACqqB,oBAAI,EACDtqB,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAAA,UAAA,EAAA;AACI0P,IAAAA,GAAG,EAAE8Y,WAAY;AACjB7Y,IAAAA,KAAK,EAAE8Y,MAAO;AACdzX,IAAAA,KAAK,EAAEA,KAAM;AACbV,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEzJ,CAAC,EAAI;AACXyJ,MAAAA,SAAQ,CAACzJ,CAAC,CAACwI,MAAM,CAAC2B,KAAK,CAAC;KAC1B;AACFsX,IAAAA,MAAM,EAAEA;AAAO,GAClB,CACC,CAAC;AAEf,CAAC;AAEDF,UAAU,CAAChuB,SAAS,GAAGA,WAAS;;AC9DzB,IAAMkwB,YAAY,GAAG,SAAfA,YAAYA,CAAAvrB,IAAA,EAUnB;AAAA,EAAA,IATFohB,OAAO,GAAAphB,IAAA,CAAPohB,OAAO;IACP1hB,OAAO,GAAAM,IAAA,CAAPN,OAAO;IACPinB,UAAS,GAAA3mB,IAAA,CAAT2mB,SAAS;IACTC,cAAc,GAAA5mB,IAAA,CAAd4mB,cAAc;IACd7lB,EAAE,GAAAf,IAAA,CAAFe,EAAE;IACFooB,WAAW,GAAAnpB,IAAA,CAAXmpB,WAAW;IACXC,mBAAmB,GAAAppB,IAAA,CAAnBopB,mBAAmB;IACnBne,oBAAoB,GAAAjL,IAAA,CAApBiL,oBAAoB;IACpB4b,UAAU,GAAA7mB,IAAA,CAAV6mB,UAAU;AAEV,EAAA,IAAM2E,OAAO,GAAGxb,YAAM,EAAE;EACxB,IAAAP,SAAA,GAAkCC,cAAQ,CAAC0R,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,MAAAA,GAAAA,MAAAA,GAAAA,OAAO,CAAEnf,KAAK,CAAC;IAAA0N,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAnD+Z,IAAAA,SAAS,GAAA7Z,UAAA,CAAA,CAAA,CAAA;AAAE8b,IAAAA,YAAY,GAAA9b,UAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAA8O,UAAA,GAAkC/O,cAAQ,CAAC,KAAK,CAAC;IAAAgP,UAAA,GAAA9O,cAAA,CAAA6O,UAAA,EAAA,CAAA,CAAA;AAA1CiN,IAAAA,SAAS,GAAAhN,UAAA,CAAA,CAAA,CAAA;AAAEiN,IAAAA,YAAY,GAAAjN,UAAA,CAAA,CAAA,CAAA;EAC9B,IAAAoJ,UAAA,GAAwBpY,cAAQ,CAAC0R,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,MAAAA,GAAAA,MAAAA,GAAAA,OAAO,CAAEvhB,IAAI,CAAC;IAAAkoB,UAAA,GAAAnY,cAAA,CAAAkY,UAAA,EAAA,CAAA,CAAA;AAAxCjoB,IAAAA,IAAI,GAAAkoB,UAAA,CAAA,CAAA,CAAA;AAAE6D,IAAAA,OAAO,GAAA7D,UAAA,CAAA,CAAA,CAAA;AACpB,EAAA,IAAA8D,UAAA,GAAwCnc,cAAQ,CAAC,KAAK,CAAC;IAAAoc,UAAA,GAAAlc,cAAA,CAAAic,UAAA,EAAA,CAAA,CAAA;AAAhDE,IAAAA,YAAY,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,eAAe,GAAAF,UAAA,CAAA,CAAA,CAAA;AAEpC7b,EAAAA,eAAS,CAAC,YAAM;IACZ+b,eAAe,CAAC,KAAK,CAAC;AACtBla,IAAAA,UAAU,CAAC,YAAM;MACbka,eAAe,CAAC,IAAI,CAAC;KACxB,EAAE,GAAG,CAAC;GACV,EAAE,CAAC5K,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,MAAAA,GAAAA,MAAAA,GAAAA,OAAO,CAAEte,UAAU,EAAEse,OAAO,KAAPA,IAAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEpe,UAAU,EAAEoe,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEle,SAAS,CAAC,CAAC;AAClE+M,EAAAA,eAAS,CAAC,YAAM;IACZwb,YAAY,CAACrK,OAAO,KAAPA,IAAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEnf,KAAK,CAAC;IAC5B2pB,OAAO,CAACxK,OAAO,KAAPA,IAAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEvhB,IAAI,CAAC;AAC1B,GAAC,EAAE,CAACuhB,OAAO,CAAC,CAAC;AAEb,EAAA,IAAM6K,QAAQ,GAAG,SAAXA,QAAQA,CAAGnkB,CAAC,EAAI;AAClB,IAAA,IAAMlI,IAAI,GAAGkI,CAAC,CAACwI,MAAM;IACrB,IAAM0X,MAAM,GAAG3R,cAAc,CAACzW,IAAI,CAACooB,MAAM,EAAE,EAAE,CAAC,CAAC;AAC/C,IAAA,IAAMkE,YAAY,GAAG7V,cAAc,CAACzW,IAAI,CAACqC,KAAK,EAAE,GAAG+lB,MAAM,EAAE5G,OAAO,CAACnf,KAAK,CAAC;IAEzE,IAAMkqB,aAAa,GAAAvtB,cAAA,CAAAA,cAAA,CACZgB,EAAAA,EAAAA,IAAI,CAAC8R,KAAK,CAAA,EAAA,EAAA,EAAA;AACbzP,MAAAA,KAAK,EAAEiqB,YAAY;AACnBlE,MAAAA,MAAM,EAAE,CAAC;AACTC,MAAAA,MAAM,EAAE;KACX,CAAA;IACD,OAAOkE,aAAa,CAAC,KAAK,CAAC;IAC3BV,YAAY,CAACS,YAAY,CAAC;AAC1B/C,IAAAA,WAAW,IAAIA,WAAW,CAACgD,aAAa,CAAC;AACzCvsB,IAAAA,IAAI,CAACooB,MAAM,CAAC,CAAC,CAAC;AACdpoB,IAAAA,IAAI,CAACqoB,MAAM,CAAC,CAAC,CAAC;GACjB;AAED,EAAA,IAAMmE,YAAY,GAAG,SAAfA,YAAYA,CAAGtkB,CAAC,EAAI;AACtB8e,IAAAA,cAAc,IAAIA,cAAc,CAAC9e,CAAC,CAAC;GACtC;AACD,EAAA,IAAMukB,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAS;IAC7BV,YAAY,CAAC,IAAI,CAAC;GACrB;AAED,EAAA,IAAMW,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGC,OAAO,EAAI;IAChCX,OAAO,CAACW,OAAO,CAAC;IAChBnD,mBAAmB,CAACmD,OAAO,CAAC;GAC/B;AACD,EAAA,IAAMtd,QAAQ,GAAG,SAAXA,QAAQA,GAAS;AAAA,IAAA,IAAAud,gBAAA;AACnB;AACA,IAAA,IAAIvqB,KAAK,GAAGupB,OAAO,aAAPA,OAAO,KAAA,MAAA,IAAA,CAAAgB,gBAAA,GAAPhB,OAAO,CAAEpb,OAAO,cAAAoc,gBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAA,CAAkBC,QAAQ,EAAE;AACxC,IAAA,IAAIxqB,KAAK,EAAE;MACPwpB,YAAY,CAACxpB,KAAK,CAAC;AACnBgJ,MAAAA,oBAAoB,CAAC,OAAO,EAAEhJ,KAAK,CAAC;AACxC;AACA;AACA;AACA;;IAEAvC,OAAO,IAAIA,OAAO,EAAE;GACvB;EACD,IAAI,CAACqsB,YAAY,EAAE;AACf,IAAA,oBACI/qB,KAAA,CAAAC,aAAA,CAACioB,eAAI,EAAA9B,QAAA,CAAA;AACDzW,MAAAA,GAAG,EAAE6a,OAAQ;AACbtqB,MAAAA,GAAG,EAAEH;AAAG,KAAA,EACJqgB,OAAO,EAAA;MACXrgB,EAAE,EAAEqgB,OAAO,CAACrgB,EAAG;AACfkqB,MAAAA,WAAW,EAAE7J,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,MAAAA,GAAAA,MAAAA,GAAAA,OAAO,CAAEpe,UAAW;AACjC2nB,MAAAA,KAAK,EAAEvJ,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,MAAAA,GAAAA,MAAAA,GAAAA,OAAO,CAAEje,SAAU;AAC1BlB,MAAAA,KAAK,EAAEunB,SAAU;AACjB3pB,MAAAA,IAAI,EAAEA,IAAK;AACX2jB,MAAAA,IAAI,EAAEpC,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,MAAAA,GAAAA,MAAAA,GAAAA,OAAO,CAAEziB,KAAM;AACrBuG,MAAAA,OAAO,EAAE,CAAE;AACXwnB,MAAAA,OAAO,EAAE;AAAM,KAAA,CAClB,CAAC;AAEV;AACA,EAAA,oBACI1rB,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAA0lB,QAAA,EACI1lB,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACioB,eAAI,EAAA9B,QAAA,CAAA;AACDzW,IAAAA,GAAG,EAAE6a,OAAQ;AACbtqB,IAAAA,GAAG,EAAEH;AAAG,GAAA,EACJqgB,OAAO,EAAA;IACXrgB,EAAE,EAAEqgB,OAAO,CAACrgB,EAAG;AACfkqB,IAAAA,WAAW,EAAE7J,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,MAAAA,GAAAA,MAAAA,GAAAA,OAAO,CAAEpe,UAAW;AACjC2nB,IAAAA,KAAK,EAAEvJ,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,MAAAA,GAAAA,MAAAA,GAAAA,OAAO,CAAEje,SAAU;AAC1BlB,IAAAA,KAAK,EAAEunB,SAAU;AACjB3pB,IAAAA,IAAI,EAAEA,IAAK;AACX2jB,IAAAA,IAAI,EAAEpC,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,MAAAA,GAAAA,MAAAA,GAAAA,OAAO,CAAEziB,KAAM;IACrBe,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQuP,QAAQ,EAAE;KAAC;AAC1Bka,IAAAA,WAAW,EAAE,SAAbA,WAAWA,CAAErhB,CAAC,EAAA;MAAA,OAAImkB,QAAQ,CAACnkB,CAAC,CAAC;KAAC;AAC9B6e,IAAAA,SAAS,EAAE,SAAXA,SAASA,CAAE7e,CAAC,EAAA;AAAA,MAAA,OAAI6e,UAAS,IAAIA,UAAS,CAAC7e,CAAC,CAAC;KAAC;AAC1C8e,IAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE9e,CAAC,EAAI;MACjBskB,YAAY,CAACtkB,CAAC,CAAC;KACjB;AACF+e,IAAAA,UAAU,EAAEA,UAAW;AACvB8F,IAAAA,UAAU,EAAEN,kBAAmB;AAC/BO,IAAAA,QAAQ,EAAEP,kBAAmB;AAC7BK,IAAAA,OAAO,EAAE,CAAChB;GACb,CAAA,CAAC,EACDA,SAAS,iBACN1qB,KAAA,CAAAC,aAAA,CAACooB,UAAU,EAAA;AACPpX,IAAAA,KAAK,EAAEpS,IAAK;AACZ2pB,IAAAA,SAAS,EAAEA,SAAU;AACrBF,IAAAA,WAAW,EAAEkC,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,MAAAA,GAAAA,MAAAA,GAAAA,OAAO,CAAEpb,OAAQ;AAC9BmB,IAAAA,QAAQ,EAAE+a,gBAAiB;AAC3B/C,IAAAA,MAAM,EAAE,SAARA,MAAMA,GAAQ;MACVoC,YAAY,CAAC,KAAK,CAAC;AACnB;AACJ;AAAE,GACL,CAEP,CAAC;AAEX,CAAC;AAEDJ,YAAY,CAAClwB,SAAS,GAAGA,WAAS;;AC9H3B,IAAMwxB,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGC,MAAM,EAAI;AAAA,EAAA,IAAAC,iBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,oBAAA;AAEtC,EAAA,IAAMC,aAAa,GAAG;IAClBC,SAAS,EAAA,CAAAT,iBAAA,GAACD,MAAM,CAACU,SAAS,MAAA,IAAA,IAAAT,iBAAA,KAAA,MAAA,GAAAA,iBAAA,GAAI,CAAC;IAC/BU,cAAc,EAAA,CAAAT,qBAAA,GAAEF,MAAM,CAACW,cAAc,MAAA,IAAA,IAAAT,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,kBAAkB;IAC3DU,aAAa,EAAA,CAAAT,qBAAA,GAAEH,MAAM,CAACY,aAAa,MAAA,IAAA,IAAAT,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,IAAI;IAC3CU,cAAc,EAAA,CAAAT,qBAAA,GAACJ,MAAM,CAACa,cAAc,MAAA,IAAA,IAAAT,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,IAAI;IAC5CU,kBAAkB,EAAA,CAAAT,qBAAA,GAACL,MAAM,CAACc,kBAAkB,MAAA,IAAA,IAAAT,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,CAAC;IACjDU,iBAAiB,EAAA,CAAAT,qBAAA,GAACN,MAAM,CAACe,iBAAiB,MAAA,IAAA,IAAAT,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,IAAI;IAClDU,kBAAkB,EAAA,CAAAT,qBAAA,GAACP,MAAM,CAACgB,kBAAkB,MAAA,IAAA,IAAAT,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,IAAI;IACpDU,YAAY,EAAA,CAAAT,oBAAA,GAACR,MAAM,CAACiB,YAAY,MAAAT,IAAAA,IAAAA,oBAAA,KAAAA,MAAAA,GAAAA,oBAAA,GAAI;GACvC;AACD,EAAA,IAAMU,eAAe,GAAG;AACpB,IAAA,UAAU,EAAE,cAAc;AAC1B,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,cAAc,EAAE,UAAU;AAC1B,IAAA,aAAa,EAAE;GAChB;AAEH,EAAA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGnmB,CAAC,EAAI;AAC3B,IAAA,IAAQ+lB,iBAAiB,GAAuCN,aAAa,CAArEM,iBAAiB;MAAEC,kBAAkB,GAAmBP,aAAa,CAAlDO,kBAAkB;MAAEC,YAAY,GAAKR,aAAa,CAA9BQ,YAAY;IAC3D,IAAMhT,KAAK,GAAGjT,CAAC,CAAComB,aAAa,CAAC/D,QAAQ,EAAE;IACxC,IAAMgE,QAAQ,GAAG,EAAE;IACnB,IAAMC,UAAU,GAAG,EAAE;AACrB,IAAA,IAAIP,iBAAiB,EAAC;MAClBM,QAAQ,CAACjW,IAAI,CAAC6C,KAAK,CAACrJ,KAAK,CAACzP,KAAK,GAAG,CAAC,CAAC;MACpCmsB,UAAU,CAAClW,IAAI,CAAC6C,KAAK,CAACrJ,KAAK,CAACxP,MAAM,GAAG,CAAC,CAAC;AAC3C;AACA,IAAA,IAAI4rB,kBAAkB,EAAC;MACnBM,UAAU,CAAClW,IAAI,CAAC,CAAC,EAAE6C,KAAK,CAACrJ,KAAK,CAACxP,MAAM,CAAC;MACtCisB,QAAQ,CAACjW,IAAI,CAAC,CAAC,EAAE6C,KAAK,CAACrJ,KAAK,CAACzP,KAAK,CAAC;AACvC;AACA,IAAA,IAAI8rB,YAAY,EAAC;AAAA,MAAA,IAAAM,eAAA;AACbtT,MAAAA,KAAK,aAALA,KAAK,KAAA,MAAA,IAAA,CAAAsT,eAAA,GAALtT,KAAK,CAAE/N,QAAQ,MAAAqhB,IAAAA,IAAAA,eAAA,eAAfA,eAAA,CAAiBrW,OAAO,CAAC,UAAAsW,KAAK,EAAI;AAAA,QAAA,IAAAC,eAAA;AAE9BD,QAAAA,KAAK,aAALA,KAAK,KAAA,MAAA,IAAA,CAAAC,eAAA,GAALD,KAAK,CAAEthB,QAAQ,MAAAuhB,IAAAA,IAAAA,eAAA,eAAfA,eAAA,CAAiBvW,OAAO,CAAC,UAAAwW,UAAU,EAAI;AAAA,UAAA,IAAAC,oBAAA;AAEnCD,UAAAA,UAAU,aAAVA,UAAU,KAAA,MAAA,IAAA,CAAAC,oBAAA,GAAVD,UAAU,CAAExhB,QAAQ,MAAAyhB,IAAAA,IAAAA,oBAAA,eAApBA,oBAAA,CAAsBzW,OAAO,CAAC,UAAA0W,GAAG,EAAE;AAE/B,YAAA,IAAMC,GAAG,GAAGD,GAAG,CAACE,aAAa,EAAE;YAC/B,IAAI9mB,CAAC,CAACwI,MAAM,KAAKoe,GAAG,IAAIA,GAAG,CAACG,OAAO,EAAE,KAAK,WAAW,IAAI,EAAEH,GAAG,YAAYI,KAAK,CAACC,WAAW,CAAC,EAAE;cAC1FZ,QAAQ,CAACjW,IAAI,CAACyW,GAAG,CAAC5F,CAAC,EAAE4F,GAAG,CAAC5F,CAAC,GAAG4F,GAAG,CAAC1sB,KAAK,EAAE0sB,GAAG,CAAC5F,CAAC,GAAG4F,GAAG,CAAC1sB,KAAK,GAAG,CAAC,CAAC;cAC9DmsB,UAAU,CAAClW,IAAI,CAACyW,GAAG,CAAC3F,CAAC,EAAE2F,GAAG,CAAC3F,CAAC,GAAG2F,GAAG,CAACzsB,MAAM,EAAEysB,GAAG,CAAC3F,CAAC,GAAG2F,GAAG,CAACzsB,MAAM,GAAG,CAAC,CAAC;AACtE;AACJ,WAAC,CAAC;AAEN,SAAC,CAAC;AACN,OAAC,CAAC;AACN;IAEA,OAAO;AAAEisB,MAAAA,QAAQ,EAARA,QAAQ;AAAEC,MAAAA,UAAU,EAAVA;KAAY;GAClC;AAED,EAAA,IAAMY,UAAU,GAAG,SAAbA,UAAUA,CAAIC,KAAK,EAAEC,YAAY,EAAEC,KAAK,EAAEC,KAAK,EAAK;AACtD,IAAA,IAAQ3B,cAAc,GAIdF,aAAa,CAJbE,cAAc;MAClBE,cAAc,GAGVJ,aAAa,CAHjBI,cAAc;MACdC,kBAAkB,GAEdL,aAAa,CAFjBK,kBAAkB;MAClBF,aAAa,GACTH,aAAa,CADjBG,aAAa;IAEjB,IAAI,CAACC,cAAc,EAAE;IACrB,IAAM0B,MAAM,GAAGH,YAAY,GAAG,CAAC,IAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAK,EAAE,CAAC,EAAE,IAAI,CAAC;AACvE,IAAA,IAAMI,IAAI,GAAG,IAAIR,KAAK,CAACS,IAAI,CAAC;AACxBF,MAAAA,MAAM,EAANA,MAAM;AACNjM,MAAAA,MAAM,EAAEqK,cAAc;AACtBtK,MAAAA,WAAW,EAAEyK,kBAAkB;AAC/B4B,MAAAA,IAAI,EAAE,WAAW;AACjBC,MAAAA,IAAI,EAAE/B,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;AACxC,KAAC,CAAC;AACFuB,IAAAA,KAAK,CAACS,GAAG,CAACJ,IAAI,CAAC;IACfA,IAAI,CAACK,gBAAgB,CAAC;AAAE5G,MAAAA,CAAC,EAAEoG,KAAK;AAAEnG,MAAAA,CAAC,EAAEoG;AAAM,KAAC,CAAC;GAChD;AACD,EAAA,SAASQ,UAAUA,CAACC,EAAE,EAAEC,EAAE,EAAE;AACxB,IAAA,OAAOD,EAAE,CAAC9G,CAAC,GAAG+G,EAAE,CAAC/G,CAAC,GAAG8G,EAAE,CAAC7G,CAAC,GAAG8G,EAAE,CAAC9G,CAAC;AAClC;AAEA,EAAA,SAAS+G,aAAaA,CAACC,CAAC,EAAEC,CAAC,EAAE;AAC3B,IAAA,IAAMC,KAAK,GAAGN,UAAU,CAACI,CAAC,EAAEC,CAAC,CAAC;AAC9B,IAAA,IAAME,KAAK,GAAGP,UAAU,CAACK,CAAC,EAAEA,CAAC,CAAC;AAC9B,IAAA,IAAMG,MAAM,GAAGF,KAAK,GAAGC,KAAK;IAC5B,OAAO;AACLpH,MAAAA,CAAC,EAAEqH,MAAM,GAAGH,CAAC,CAAClH,CAAC;AACfC,MAAAA,CAAC,EAAEoH,MAAM,GAAGH,CAAC,CAACjH;KACf;AACH;AAEA,EAAA,SAASqH,cAAcA,CAACC,MAAM,EAAEC,MAAM,EAAE;IACtC,IAAMC,MAAM,GAAGD,MAAM,CAACxH,CAAC,GAAGuH,MAAM,CAACvH,CAAC;IAElC,IAAIyH,MAAM,KAAK,CAAC,EAAE;AAEhB,MAAA,MAAM,IAAIlb,KAAK,CAAA3Q,0DAAAA,CAAAA,MAAA,CAA4D4rB,MAAM,CAACxH,CAAC,EAAA,IAAA,CAAA,CAAApkB,MAAA,CAAK2rB,MAAM,CAACvH,CAAC,CAAE,CAAC;AACrG;IAEA,IAAM0H,MAAM,GAAGF,MAAM,CAACvH,CAAC,GAAGsH,MAAM,CAACtH,CAAC;IAClC,OAAOyH,MAAM,GAAGD,MAAM;AACxB;AAEF,EAAA,IAAME,cAAc,GAAG,SAAjBA,cAAcA,CAAG5oB,CAAC,EAAI;AACxB,IAAA,IAAMmnB,KAAK,GAAGnnB,CAAC,CAACwI,MAAM,CAACqgB,MAAM;;AAE7B;IACA1B,KAAK,CAAC2B,IAAI,CAAC,YAAY,CAAC,CAAC5Y,OAAO,CAAC,UAAAsX,IAAI,EAAA;AAAA,MAAA,OAAIA,IAAI,CAACuB,OAAO,EAAE;KAAC,CAAA;AACxD,IAAA,IAAAC,kBAAA,GAAiC7C,iBAAiB,CAACnmB,CAAC,CAAC;MAA7CsmB,UAAU,GAAA0C,kBAAA,CAAV1C,UAAU;MAAED,QAAQ,GAAA2C,kBAAA,CAAR3C,QAAQ;AAC5B,IAAA,IAAI4C,MAAM,GAAG;MAAEhI,CAAC,EAAEjhB,CAAC,CAACwI,MAAM,CAACqf,gBAAgB,EAAE,CAAC5G,CAAC;MAAEC,CAAC,EAAElhB,CAAC,CAACwI,MAAM,CAACqf,gBAAgB,EAAE,CAAC3G;KAAG;IACnF,IAAIgI,WAAW,GAAG,EAAE;IACpB,IAAIC,WAAW,GAAG,EAAE;AACpB,IAAA,IAAQzD,SAAS,GAAKD,aAAa,CAA3BC,SAAS;AACjB;AACAW,IAAAA,QAAQ,CAACnW,OAAO,CAAC,UAAAkZ,UAAU,EAAI;AAC3B,MAAA,IAAIhJ,IAAI,CAACiJ,GAAG,CAACrpB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC7F,CAAC,GAAGmI,UAAU,CAAC,IAAI1D,SAAS,EAAE;QAChEuD,MAAM,CAAChI,CAAC,GAAGmI,UAAU,GAAGppB,CAAC,CAACwI,MAAM,CAACqf,gBAAgB,EAAE,CAAC5G,CAAC,GAAGjhB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC7F,CAAC;AAClFiI,QAAAA,WAAW,CAAC9Y,IAAI,CAACgZ,UAAU,CAAC;AAChC;AACA,MAAA,IAAIhJ,IAAI,CAACiJ,GAAG,CAACrpB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC7F,CAAC,GAAGmI,UAAU,GAAGppB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC3sB,KAAK,GAAG,CAAC,CAAC,IAAIurB,SAAS,EAAE;AACrGuD,QAAAA,MAAM,CAAChI,CAAC,GAAGmI,UAAU,GAAGppB,CAAC,CAACwI,MAAM,CAACqf,gBAAgB,EAAE,CAAC5G,CAAC,GAAGjhB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC7F,CAAC,GAAGjhB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC3sB,KAAK,GAAG,CAAC;AACvH+uB,QAAAA,WAAW,CAAC9Y,IAAI,CAACgZ,UAAU,CAAC;AAEhC;AACA,MAAA,IAAIhJ,IAAI,CAACiJ,GAAG,CAACrpB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC7F,CAAC,GAAGmI,UAAU,GAAGppB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC3sB,KAAK,CAAC,IAAIurB,SAAS,EAAE;AACjGuD,QAAAA,MAAM,CAAChI,CAAC,GAAGmI,UAAU,GAAGppB,CAAC,CAACwI,MAAM,CAACqf,gBAAgB,EAAE,CAAC5G,CAAC,GAAGjhB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC7F,CAAC,GAAGjhB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC3sB,KAAK;AACnH+uB,QAAAA,WAAW,CAAC9Y,IAAI,CAACgZ,UAAU,CAAC;AAChC;AACJ,KAAC,CAAC;AACFppB,IAAAA,CAAC,CAACwI,MAAM,CAACqf,gBAAgB,CAACoB,MAAM,CAAC;AACjCC,IAAAA,WAAW,CAAChZ,OAAO,CAAC,UAAAsX,IAAI,EAAE;AACtB,MAAA,IAAIpH,IAAI,CAACkJ,KAAK,CAACtpB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC7F,CAAC,GAAGuG,IAAI,CAAC,KAAK,CAAC,IACvDpH,IAAI,CAACkJ,KAAK,CAACtpB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC7F,CAAC,GAAGuG,IAAI,GAAGxnB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC3sB,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,IACxFimB,IAAI,CAACkJ,KAAK,CAACtpB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC7F,CAAC,GAAGuG,IAAI,GAAGxnB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC3sB,KAAK,CAAC,KAAK,CAAC,EAAE;QACpF+sB,UAAU,CAACC,KAAK,EAAE,KAAK,EAAEK,IAAI,EAAE,CAAC,CAAC;AACnC;AACJ,KAAC,CAAC;AACF;AACAlB,IAAAA,UAAU,CAACpW,OAAO,CAAC,UAAAkZ,UAAU,EAAI;AAC7B,MAAA,IAAIhJ,IAAI,CAACiJ,GAAG,CAACrpB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC5F,CAAC,GAAGkI,UAAU,CAAC,IAAI1D,SAAS,EAAE;QAChEuD,MAAM,CAAC/H,CAAC,GAAGkI,UAAU,GAAGppB,CAAC,CAACwI,MAAM,CAACqf,gBAAgB,EAAE,CAAC3G,CAAC,GAAGlhB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC5F,CAAC;AAClFiI,QAAAA,WAAW,CAAC/Y,IAAI,CAACgZ,UAAU,CAAC;AAChC;AACA,MAAA,IAAIhJ,IAAI,CAACiJ,GAAG,CAACrpB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC5F,CAAC,GAAGkI,UAAU,GAAGppB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC1sB,MAAM,CAAC,IAAIsrB,SAAS,EAAE;AAClGuD,QAAAA,MAAM,CAAC/H,CAAC,GAAGkI,UAAU,GAAGppB,CAAC,CAACwI,MAAM,CAACqf,gBAAgB,EAAE,CAAC3G,CAAC,GAAGlhB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC5F,CAAC,GAAGlhB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC1sB,MAAM;AACpH+uB,QAAAA,WAAW,CAAC/Y,IAAI,CAACgZ,UAAU,CAAC;AAChC;AACA,MAAA,IAAIhJ,IAAI,CAACiJ,GAAG,CAACrpB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC5F,CAAC,GAAGkI,UAAU,GAAGppB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC1sB,MAAM,GAAG,CAAC,CAAC,IAAIsrB,SAAS,EAAE;AACtGuD,QAAAA,MAAM,CAAC/H,CAAC,GAAGkI,UAAU,GAAGppB,CAAC,CAACwI,MAAM,CAACqf,gBAAgB,EAAE,CAAC3G,CAAC,GAAGlhB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC5F,CAAC,GAAGlhB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC1sB,MAAM,GAAG,CAAC;AACxH+uB,QAAAA,WAAW,CAAC/Y,IAAI,CAACgZ,UAAU,CAAC;AAChC;AACJ,KAAC,CAAC;AACFppB,IAAAA,CAAC,CAACwI,MAAM,CAACqf,gBAAgB,CAACoB,MAAM,CAAC;AACjCE,IAAAA,WAAW,CAACjZ,OAAO,CAAC,UAAAsX,IAAI,EAAE;AACtB,MAAA,IAAIpH,IAAI,CAACkJ,KAAK,CAACtpB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC5F,CAAC,GAAGsG,IAAI,CAAC,KAAK,CAAC,IACvDpH,IAAI,CAACkJ,KAAK,CAACtpB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC5F,CAAC,GAAGsG,IAAI,GAAGxnB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC1sB,MAAM,CAAC,KAAK,CAAC,IACrFgmB,IAAI,CAACkJ,KAAK,CAACtpB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC5F,CAAC,GAAGsG,IAAI,GAAGxnB,CAAC,CAACwI,MAAM,CAACse,aAAa,EAAE,CAAC1sB,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;QACvF8sB,UAAU,CAACC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAEK,IAAI,CAAC;AACpC;AACJ,KAAC,CAAC;GACL;AAED,EAAA,IAAM+B,cAAc,GAAG,SAAjBA,cAAcA,CAAGvpB,CAAC,EAAI;AACxB,IAAA,IAAMmnB,KAAK,GAAGnnB,CAAC,CAACwI,MAAM,CAACqgB,MAAM;AAC7B,IAAA,IAAQnD,SAAS,GAAKD,aAAa,CAA3BC,SAAS;AAEjB,IAAA,IAAA8D,mBAAA,GAA+BrD,iBAAiB,CAACnmB,CAAC,CAAC;MAA7CsmB,UAAU,GAAAkD,mBAAA,CAAVlD,UAAU;MAAED,QAAQ,GAAAmD,mBAAA,CAARnD,QAAQ;AAC1B,IAAA,IAAI,CAACrmB,CAAC,CAAComB,aAAa,CAACqD,SAAS,EAAE,IAAKzpB,CAAC,CAAComB,aAAa,CAACqD,SAAS,EAAE,IAAI,CAAC,CAAC,CAACvD,eAAe,CAAClmB,CAAC,CAAComB,aAAa,CAACsD,iBAAiB,CAAE,EAAC;MACvH1pB,CAAC,CAAComB,aAAa,CAACuD,mBAAmB,CAAC,UAACC,SAAS,EAAEC,SAAS,EAAK;QAE1D1C,KAAK,CAAC2B,IAAI,CAAC,YAAY,CAAC,CAAC5Y,OAAO,CAAC,UAAAsX,IAAI,EAAA;AAAA,UAAA,OAAIA,IAAI,CAACuB,OAAO,EAAE;SAAC,CAAA;AAChD,QAAA,IAAIe,MAAM,GAAG;UAAE7I,CAAC,EAAE4I,SAAS,CAAC5I,CAAC;UAAEC,CAAC,EAAE2I,SAAS,CAAC3I;SAAG;AAC/C;QACA,IAAIlhB,CAAC,CAAComB,aAAa,CAAC2D,eAAe,EAAE,KAAK,SAAS,EAAE,OAAOD,MAAM;AAAC,QAAA,IAAAE,SAAA,GAAAC,0BAAA,CAC5C5D,QAAQ,CAAA;UAAA6D,KAAA;AAAA,QAAA,IAAA;UAA/B,KAAAF,SAAA,CAAAG,CAAA,EAAAD,EAAAA,CAAAA,CAAAA,KAAA,GAAAF,SAAA,CAAAI,CAAA,EAAAC,EAAAA,IAAA,GAAiC;AAAA,YAAA,IAAxBjB,UAAU,GAAAc,KAAA,CAAA/f,KAAA;YACf,IAAIiW,IAAI,CAACiJ,GAAG,CAACQ,SAAS,CAAC5I,CAAC,GAAGmI,UAAU,CAAC,IAAI1D,SAAS,IACnDtF,IAAI,CAACiJ,GAAG,CAACO,SAAS,CAAC3I,CAAC,GAAGmI,UAAU,CAAC,IAAI1D,SAAS,GAAG,CAAC,EACjD;cACEoE,MAAM,CAAC7I,CAAC,GAAGmI,UAAU;cACrBlC,UAAU,CAACC,KAAK,EAAE,KAAK,EAAEiC,UAAU,EAAE,CAAC,CAAC;AACvC,cAAA;AACJ;AACJ;AAAC,SAAA,CAAA,OAAA5Y,GAAA,EAAA;UAAAwZ,SAAA,CAAAhqB,CAAA,CAAAwQ,GAAA,CAAA;AAAA,SAAA,SAAA;AAAAwZ,UAAAA,SAAA,CAAAM,CAAA,EAAA;AAAA;AAAA,QAAA,IAAAC,UAAA,GAAAN,0BAAA,CACsB3D,UAAU,CAAA;UAAAkE,MAAA;AAAA,QAAA,IAAA;UAAjC,KAAAD,UAAA,CAAAJ,CAAA,EAAAK,EAAAA,CAAAA,CAAAA,MAAA,GAAAD,UAAA,CAAAH,CAAA,EAAAC,EAAAA,IAAA,GAAmC;AAAA,YAAA,IAA1BjB,WAAU,GAAAoB,MAAA,CAAArgB,KAAA;YACf,IAAIiW,IAAI,CAACiJ,GAAG,CAACQ,SAAS,CAAC3I,CAAC,GAAGkI,WAAU,CAAC,IAAI1D,SAAS,IACnDtF,IAAI,CAACiJ,GAAG,CAACO,SAAS,CAAC1I,CAAC,GAAGkI,WAAU,CAAC,IAAI1D,SAAS,GAAG,CAAC,EACjD;cACEoE,MAAM,CAAC5I,CAAC,GAAGkI,WAAU;cACrBlC,UAAU,CAACC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAEiC,WAAU,CAAC;AACtC,cAAA;AACJ;AACJ;AAAC,SAAA,CAAA,OAAA5Y,GAAA,EAAA;UAAA+Z,UAAA,CAAAvqB,CAAA,CAAAwQ,GAAA,CAAA;AAAA,SAAA,SAAA;AAAA+Z,UAAAA,UAAA,CAAAD,CAAA,EAAA;AAAA;AAED,QAAA,OAAOR,MAAM;AACzB,OAAC,CAAC;AACN,KAAC,MAAM;MACH9pB,CAAC,CAAComB,aAAa,CAACuD,mBAAmB,CAAC,UAACC,SAAS,EAAEX,MAAM,EAAK;QACxD9B,KAAK,CAAC2B,IAAI,CAAC,YAAY,CAAC,CAAC5Y,OAAO,CAAC,UAAAsX,IAAI,EAAA;AAAA,UAAA,OAAIA,IAAI,CAACuB,OAAO,EAAE;SAAC,CAAA;AACvD,QAAA,IAAM0B,iBAAiB,GAAGzqB,CAAC,CAAComB,aAAa,CAACsD,iBAAiB;AAC3D,QAAA,IAAMgB,kBAAkB,GAAGxE,eAAe,CAACuE,iBAAiB,CAAC;AAE7D,QAAA,IAAME,YAAY,GAAG3qB,CAAC,CAAComB,aAAa,CAAC9D,OAAO,CAAA,GAAA,CAAAzlB,MAAA,CAAK4tB,iBAAiB,CAAE,CAAC;AACrE;AACA,QAAA,IAAMG,mBAAmB,GAAGD,YAAY,CAACE,mBAAmB,EAAE;;AAE9D;QACA,IAAIJ,iBAAiB,KAAK,SAAS,EAAE;AACnC,UAAA,OAAOxB,MAAM;AACf;AAEA,QAAA,IAAM6B,eAAe,GAAG9qB,CAAC,CAAComB,aAAa,CAAC9D,OAAO,CAAA,GAAA,CAAAzlB,MAAA,CAAK6tB,kBAAkB,CAAE,CAAC;AACzE,QAAA,IAAI,CAACI,eAAe,EAAE,OAAO7B,MAAM;AACnC,QAAA,IAAM8B,aAAa,GAAGD,eAAe,CAACD,mBAAmB,EAAE;AAE3D,QAAA,IAAMG,KAAK,GAAGzC,cAAc,CAACqC,mBAAmB,EAAEG,aAAa,CAAC;;AAGhE;AACA,QAAA,IAAME,eAAe,GAAG;AACtBhK,UAAAA,CAAC,EAAE2J,mBAAmB,CAAC3J,CAAC,GAAG8J,aAAa,CAAC9J,CAAC;AAC1CC,UAAAA,CAAC,EAAE0J,mBAAmB,CAAC1J,CAAC,GAAG6J,aAAa,CAAC7J;SAC1C;;AAED;AACA,QAAA,IAAMgK,KAAK,GAAG;AACZjK,UAAAA,CAAC,EAAEgI,MAAM,CAAChI,CAAC,GAAG2J,mBAAmB,CAAC3J,CAAC;AACnCC,UAAAA,CAAC,EAAE+H,MAAM,CAAC/H,CAAC,GAAG0J,mBAAmB,CAAC1J;SACnC;;AAED;AACA,QAAA,IAAMiK,cAAc,GAAGlD,aAAa,CAACiD,KAAK,EAAED,eAAe,CAAC;;AAE5D;AACA,QAAA,IAAMG,OAAO,GAAG;AACdnK,UAAAA,CAAC,EAAE2J,mBAAmB,CAAC3J,CAAC,GAAGkK,cAAc,CAAClK,CAAC;AAC3CC,UAAAA,CAAC,EAAE0J,mBAAmB,CAAC1J,CAAC,GAAGiK,cAAc,CAACjK;SAC3C;AAAC,QAAA,IAAAmK,UAAA,GAAApB,0BAAA,CAEqB3D,UAAU,CAAA;UAAAgF,MAAA;AAAA,QAAA,IAAA;UAAjC,KAAAD,UAAA,CAAAlB,CAAA,EAAAmB,EAAAA,CAAAA,CAAAA,MAAA,GAAAD,UAAA,CAAAjB,CAAA,EAAAC,EAAAA,IAAA,GAAmC;AAAA,YAAA,IAA1BjB,UAAU,GAAAkC,MAAA,CAAAnhB,KAAA;AACjB,YAAA,IAAIiW,IAAI,CAACiJ,GAAG,CAAC+B,OAAO,CAAClK,CAAC,GAAGkI,UAAU,CAAC,IAAI1D,SAAS,EAAE;cACjD0F,OAAO,CAAClK,CAAC,GAAGkI,UAAU;AACtBgC,cAAAA,OAAO,CAACnK,CAAC,GAAG2J,mBAAmB,CAAC3J,CAAC,GAAG,CAACmI,UAAU,GAAGwB,mBAAmB,CAAC1J,CAAC,IAAI8J,KAAK;cAChF9D,UAAU,CAACC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAEiC,UAAU,CAAC;AACtC,cAAA;AACF;AACJ;AAAC,SAAA,CAAA,OAAA5Y,GAAA,EAAA;UAAA6a,UAAA,CAAArrB,CAAA,CAAAwQ,GAAA,CAAA;AAAA,SAAA,SAAA;AAAA6a,UAAAA,UAAA,CAAAf,CAAA,EAAA;AAAA;AAAA,QAAA,IAAAiB,UAAA,GAAAtB,0BAAA,CACsB5D,QAAQ,CAAA;UAAAmF,MAAA;AAAA,QAAA,IAAA;UAA/B,KAAAD,UAAA,CAAApB,CAAA,EAAAqB,EAAAA,CAAAA,CAAAA,MAAA,GAAAD,UAAA,CAAAnB,CAAA,EAAAC,EAAAA,IAAA,GAAiC;AAAA,YAAA,IAAxBjB,YAAU,GAAAoC,MAAA,CAAArhB,KAAA;AACf,YAAA,IAAIiW,IAAI,CAACiJ,GAAG,CAAC+B,OAAO,CAACnK,CAAC,GAAGmI,YAAU,CAAC,IAAI1D,SAAS,EAAE;cACjD0F,OAAO,CAACnK,CAAC,GAAGmI,YAAU;AACtBgC,cAAAA,OAAO,CAAClK,CAAC,GAAG0J,mBAAmB,CAAC1J,CAAC,GAAG8J,KAAK,IAAI5B,YAAU,GAAGwB,mBAAmB,CAAC3J,CAAC,CAAC;cAC9EiG,UAAU,CAACC,KAAK,EAAE,KAAK,EAAEiC,YAAU,EAAE,CAAC,CAAC;AACvC,cAAA;AACJ;AACJ;AAAC,SAAA,CAAA,OAAA5Y,GAAA,EAAA;UAAA+a,UAAA,CAAAvrB,CAAA,CAAAwQ,GAAA,CAAA;AAAA,SAAA,SAAA;AAAA+a,UAAAA,UAAA,CAAAjB,CAAA,EAAA;AAAA;AAED,QAAA,OAAOc,OAAO;AACd,OAAC,CAAC;AACR;GAEH;AAED,EAAA,IAAMK,eAAe,GAAG,SAAlBA,eAAeA,CAAGzrB,CAAC,EAAG;AACxB,IAAA,IAAMmnB,KAAK,GAAGnnB,CAAC,CAACwI,MAAM,CAACqgB,MAAM;IAC7B7oB,CAAC,CAAComB,aAAa,CAACuD,mBAAmB,CAAC,UAACC,SAAS,EAAEX,MAAM,EAAK;AACvD,MAAA,OAAOA,MAAM;AACjB,KAAC,CAAC;IACF9B,KAAK,CAAC2B,IAAI,CAAC,YAAY,CAAC,CAAC5Y,OAAO,CAAC,UAAAsX,IAAI,EAAA;AAAA,MAAA,OAAIA,IAAI,CAACuB,OAAO,EAAE;KAAC,CAAA;GAC3D;AACD,EAAA,IAAM2C,aAAa,GAAG,SAAhBA,aAAaA,CAAG1rB,CAAC,EAAG;AACtB,IAAA,IAAMmnB,KAAK,GAAGnnB,CAAC,CAACwI,MAAM,CAACqgB,MAAM;IAC7B1B,KAAK,CAAC2B,IAAI,CAAC,YAAY,CAAC,CAAC5Y,OAAO,CAAC,UAAAsX,IAAI,EAAA;AAAA,MAAA,OAAIA,IAAI,CAACuB,OAAO,EAAE;KAAC,CAAA;GAC3D;EAED,OAAO;AAAEH,IAAAA,cAAc,EAAdA,cAAc;AAAEW,IAAAA,cAAc,EAAdA,cAAc;AAAEkC,IAAAA,eAAe,EAAfA,eAAe;AAAEC,IAAAA,aAAa,EAAbA;GAAe;AAC7E,CAAC;;ACvPM,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAAzzB,IAAA,EA8Db;AAAA,EAAA,IAAAwG,qBAAA;AAAA,EAAA,IA7DF4B,WAAW,GAAApI,IAAA,CAAXoI,WAAW;IACX3M,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;IAAAi4B,UAAA,GAAA1zB,IAAA,CACd1E,KAAK;IAALA,KAAK,GAAAo4B,UAAA,KAAGluB,MAAAA,GAAAA,eAAe,aAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,cAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmCmtB,KAAK,GAAAD,UAAA;IAChDrrB,cAAc,GAAArI,IAAA,CAAdqI,cAAc;IACdE,sBAAsB,GAAAvI,IAAA,CAAtBuI,sBAAsB;IACtBC,YAAY,GAAAxI,IAAA,CAAZwI,YAAY;IACZC,WAAW,GAAAzI,IAAA,CAAXyI,WAAW;IACXC,oBAAoB,GAAA1I,IAAA,CAApB0I,oBAAoB;IACpBC,QAAQ,GAAA3I,IAAA,CAAR2I,QAAQ;IACRC,OAAO,GAAA5I,IAAA,CAAP4I,OAAO;IACPC,SAAS,GAAA7I,IAAA,CAAT6I,SAAS;IACTC,oBAAoB,GAAA9I,IAAA,CAApB8I,oBAAoB;IACpBC,MAAM,GAAA/I,IAAA,CAAN+I,MAAM;IACNC,MAAM,GAAAhJ,IAAA,CAANgJ,MAAM;IACNC,gBAAgB,GAAAjJ,IAAA,CAAhBiJ,gBAAgB;IAChBC,gBAAgB,GAAAlJ,IAAA,CAAhBkJ,gBAAgB;IAChBC,cAAc,GAAAnJ,IAAA,CAAdmJ,cAAc;IACdC,wBAAwB,GAAApJ,IAAA,CAAxBoJ,wBAAwB;IACxBC,wBAAwB,GAAArJ,IAAA,CAAxBqJ,wBAAwB;IACxBC,iBAAiB,GAAAtJ,IAAA,CAAjBsJ,iBAAiB;IACjBC,YAAY,GAAAvJ,IAAA,CAAZuJ,YAAY;IACZC,oBAAoB,GAAAxJ,IAAA,CAApBwJ,oBAAoB;IACpBC,eAAe,GAAAzJ,IAAA,CAAfyJ,eAAe;IACfC,eAAe,GAAA1J,IAAA,CAAf0J,eAAe;IACfC,QAAQ,GAAA3J,IAAA,CAAR2J,QAAQ;IACRC,WAAW,GAAA5J,IAAA,CAAX4J,WAAW;IACXC,8BAA8B,GAAA7J,IAAA,CAA9B6J,8BAA8B;IAC9BC,sBAAsB,GAAA9J,IAAA,CAAtB8J,sBAAsB;IACtBC,uBAAuB,GAAA/J,IAAA,CAAvB+J,uBAAuB;IACvBC,qBAAqB,GAAAhK,IAAA,CAArBgK,qBAAqB;IACrBC,mBAAmB,GAAAjK,IAAA,CAAnBiK,mBAAmB;IACnBC,2BAA2B,GAAAlK,IAAA,CAA3BkK,2BAA2B;IAC3BC,yBAAyB,GAAAnK,IAAA,CAAzBmK,yBAAyB;IACzBC,gBAAgB,GAAApK,IAAA,CAAhBoK,gBAAgB;IAChBC,gBAAgB,GAAArK,IAAA,CAAhBqK,gBAAgB;IAChBC,YAAY,GAAAtK,IAAA,CAAZsK,YAAY;IACZC,wBAAwB,GAAAvK,IAAA,CAAxBuK,wBAAwB;IACxBC,wBAAwB,GAAAxK,IAAA,CAAxBwK,wBAAwB;IACxBC,oBAAoB,GAAAzK,IAAA,CAApByK,oBAAoB;IACpBC,aAAa,GAAA1K,IAAA,CAAb0K,aAAa;IACbC,aAAa,GAAA3K,IAAA,CAAb2K,aAAa;IACbC,SAAS,GAAA5K,IAAA,CAAT4K,SAAS;IACTC,qBAAqB,GAAA7K,IAAA,CAArB6K,qBAAqB;IACrBC,qBAAqB,GAAA9K,IAAA,CAArB8K,qBAAqB;IACrBC,iBAAiB,GAAA/K,IAAA,CAAjB+K,iBAAiB;IACjBC,gBAAgB,GAAAhL,IAAA,CAAhBgL,gBAAgB;IAChBC,oBAAoB,GAAAjL,IAAA,CAApBiL,oBAAoB;IACpBC,aAAa,GAAAlL,IAAA,CAAbkL,aAAa;IACbC,gBAAgB,GAAAnL,IAAA,CAAhBmL,gBAAgB;IAChBC,aAAa,GAAApL,IAAA,CAAboL,aAAa;IACbC,YAAY,GAAArL,IAAA,CAAZqL,YAAY;IACZC,mBAAmB,GAAAtL,IAAA,CAAnBsL,mBAAmB;IACnBC,qBAAqB,GAAAvL,IAAA,CAArBuL,qBAAqB;IACrBxG,kBAAkB,GAAA/E,IAAA,CAAlB+E,kBAAkB;IAClBC,uBAAuB,GAAAhF,IAAA,CAAvBgF,uBAAuB;IACvBwG,wBAAwB,GAAAxL,IAAA,CAAxBwL,wBAAwB;IACxBlP,MAAM,GAAA0D,IAAA,CAAN1D,MAAM;IACNuoB,cAAc,GAAA7kB,IAAA,CAAd6kB,cAAc;IACd+O,gBAAgB,GAAA5zB,IAAA,CAAhB4zB,gBAAgB;IAChBp3B,cAAc,GAAAwD,IAAA,CAAdxD,cAAc;IACduiB,uBAAuB,GAAA/e,IAAA,CAAvB+e,uBAAuB;AAEvB,EAAA,IAAM8U,cAAc,GAAG7jB,YAAM,CAAC,IAAI,CAAC;AACnCC,EAAAA,eAAS,CAAC,YAAM;AACZ,IAAA,IAAI4jB,cAAc,KAAdA,IAAAA,IAAAA,cAAc,eAAdA,cAAc,CAAEzjB,OAAO,EAAE;AAAA,MAAA,IAAA0jB,iBAAA;AACzB,MAAA,IAAMC,YAAY,GAAGpqB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAAA,CAAAmqB,iBAAA,GAARnqB,QAAQ,CAAEyG,OAAO,MAAA,IAAA,IAAA0jB,iBAAA,KAAA,MAAA,GAAA,MAAA,GAAjBA,iBAAA,CAAmB1J,OAAO,CAAA,GAAA,CAAAzlB,MAAA,CAAK8E,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE1I,EAAE,CAAE,CAAC;AAC1E,MAAA,IAAIgzB,YAAY,EAAE;AACdF,QAAAA,cAAc,KAAdA,IAAAA,IAAAA,cAAc,KAAdA,MAAAA,IAAAA,cAAc,CAAEzjB,OAAO,CAAC4jB,KAAK,CAAC,CAACD,YAAY,CAAC,CAAC;AAC7CF,QAAAA,cAAc,KAAdA,IAAAA,IAAAA,cAAc,KAAdA,MAAAA,IAAAA,cAAc,CAAEzjB,OAAO,CAAC6jB,QAAQ,EAAE,CAACC,SAAS,EAAE;AAClD,OAAC,MAAM;QACHL,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,IAAdA,cAAc,CAAEzjB,OAAO,CAAC4jB,KAAK,CAAC,EAAE,CAAC;AACrC;AACJ;AACJ,GAAC,EAAE,CAACvqB,eAAe,CAAC,CAAC;EACrB,IAAA0qB,iBAAA,GAA2EtH,gBAAgB,CAAC;AACxFY,MAAAA,cAAc,EAAE,MAAM;AACtBC,MAAAA,aAAa,EAAE,IAAI;AACnBG,MAAAA,iBAAiB,EAAE,IAAI;AACvBL,MAAAA,SAAS,EAAE,CAAC;AACZI,MAAAA,kBAAkB,EAAE,CAAC;AACrBD,MAAAA,cAAc,EAAE,IAAI;AACpBI,MAAAA,YAAY,EAAE,IAAI;AAClBD,MAAAA,kBAAkB,EAAE;AACxB,KAAC,CAAC;IATM4C,cAAc,GAAAyD,iBAAA,CAAdzD,cAAc;IAAE8C,aAAa,GAAAW,iBAAA,CAAbX,aAAa;IAAEnC,cAAc,GAAA8C,iBAAA,CAAd9C,cAAc;IAAEkC,eAAe,GAAAY,iBAAA,CAAfZ,eAAe;AAUtE;AACA,EAAA,IAAIjnB,qBAAqB,GAAGtE,aAAO,CAAC,YAAM;AACtC,IAAA,IAAI1E,eAAe;IACnB,IAAI8wB,eAAe,GAAGzrB,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,MAAAA,GAAAA,MAAAA,GAAAA,QAAQ,CAAE0rB,SAAS,CAAC,UAAAvsB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAADA,IAAAA,IAAAA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEE,eAAe,CAAA;KAAC,CAAA;AAEzF,IAAA,IAAI8wB,eAAe,GAAG,EAAE,EAAE;AAAA,MAAA,IAAAE,qBAAA;AACtBhxB,MAAAA,eAAe,GAAGqF,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAAA,CAAA2rB,qBAAA,GAAR3rB,QAAQ,CAAGyrB,eAAe,CAAC,MAAAE,IAAAA,IAAAA,qBAAA,KAA3BA,MAAAA,GAAAA,MAAAA,GAAAA,qBAAA,CAA6B31B,KAAK;AACxD;AACA,IAAA,OAAO2E,eAAe;AAC1B,GAAC,EAAE,CAACqF,QAAQ,CAAC,CAAC;AAEd,EAAA,IAAI4D,qBAAqB,GAAGvE,aAAO,CAAC,YAAM;AACtC,IAAA,IAAIzE,eAAe;IAEnB,IAAIgxB,oBAAoB,GAAG5rB,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,MAAAA,GAAAA,MAAAA,GAAAA,QAAQ,CAAE0rB,SAAS,CAC1C,UAAAvsB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAADA,IAAAA,IAAAA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEG,eAAe,CAAA;AAAA,KAClD,CAAC;AACD,IAAA,IAAIgxB,oBAAoB,GAAG,EAAE,EAAE;MAC3BhxB,eAAe,GAAGoF,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,uBAARA,QAAQ,CAAG4rB,oBAAoB,CAAC;AACtD;AACA,IAAA,OAAOhxB,eAAe;AAC1B,GAAC,EAAE,CAACoF,QAAQ,CAAC,CAAC;EAEd,IAAM6rB,eAAe,GAAG,SAAlBA,eAAeA,CAAIzzB,EAAE,EAAE0zB,QAAQ,EAAK;AACtC,IAAA,IAAIC,aAAa,GAAA91B,cAAA,CAAA,EAAA,EAAQ61B,QAAQ,CAAE;IACnC,OAAOC,aAAa,CAAC,KAAK,CAAC;IAC3B,IAAMC,eAAe,GAAGhsB,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,MAAAA,GAAAA,MAAAA,GAAAA,QAAQ,CAAEV,GAAG,CAAC,UAAA2sB,EAAE,EAAA;AAAA,MAAA,OACpCA,EAAE,CAAC7zB,EAAE,KAAKA,EAAE,GAAAnC,cAAA,CAAAA,cAAA,CAAQg2B,EAAAA,EAAAA,EAAE,CAAKF,EAAAA,aAAa,IAAKE,EAAE;AAAA,KACnD,CAAC;IACDhrB,WAAW,CAAC+qB,eAAe,CAAC;AAC5BjrB,IAAAA,eAAe,CAAA9K,cAAA,CAAM81B,EAAAA,EAAAA,aAAa,CAAE,CAAC;GACxC;AACD,EAAA,IAAMhkB,YAAY,GAAG,SAAfA,YAAYA,CAAG+E,IAAI,EAAI;IACzB/L,eAAe,CAAC+L,IAAI,CAAC;GACxB;EAED,IAAMof,kBAAkB,GAAGlf,QAAQ,CAAC,UAAC5U,EAAE,EAAE2Q,KAAK,EAAK;IAC/C,IAAMijB,eAAe,GAAGhsB,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,MAAAA,GAAAA,MAAAA,GAAAA,QAAQ,CAAEV,GAAG,CAAC,UAAA2sB,EAAE,EAAA;AAAA,MAAA,OACpCA,EAAE,CAAC7zB,EAAE,KAAKA,EAAE,GAAAnC,cAAA,CAAAA,cAAA,CAECg2B,EAAAA,EAAAA,EAAE,CACFljB,EAAAA,KAAK,IAEZkjB,EAAE;AAAA,KACZ,CAAC;IACDhrB,WAAW,CAAC+qB,eAAe,CAAC;AAC5BjrB,IAAAA,eAAe,CAAA9K,cAAA,CACR8S,EAAAA,EAAAA,KAAK,CACX,CAAC;GACL,EAAE,GAAG,CAAC;AAEP,EAAA,IAAMojB,mBAAmB,GAAGnf,QAAQ,CAAC,UAAA7N,CAAC,EAAI;AACtCmD,IAAAA,oBAAoB,CAAC,MAAM,EAAEnD,CAAC,CAAC;GAClC,EAAE,GAAG,CAAC;EAEP,IAAMitB,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIh0B,EAAE,EAAE2Q,KAAK,EAAK;AACvCmjB,IAAAA,kBAAkB,CAAC9zB,EAAE,EAAE2Q,KAAK,CAAC;GAChC;AAED,EAAA,IAAM0X,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGthB,CAAC,EAAI;IAC7BgtB,mBAAmB,CAAChtB,CAAC,CAAC;GACzB;AACD,EAAA,IAAMktB,cAAc,GAAGntB,iBAAW,CAC9B,UAAA+sB,EAAE,EAAI;AAAA,IAAA,IAAAnuB,sBAAA;IACF,QAAQmuB,EAAE,CAAClwB,IAAI;MACX,KAAKtB,YAAY,CAACI,MAAM;AACpB,QAAA,oBACIxC,KAAA,CAAAC,aAAA,CAACg0B,iBAAM,EAAA7N,QAAA,CAAA;UACHlmB,GAAG,EAAE0zB,EAAE,CAAC7zB;AAAG,SAAA,EACP6zB,EAAE,EAAA;UACN7zB,EAAE,EAAE6zB,EAAE,CAAC7zB,EAAG;UACVrB,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgR,YAAY,CAACkkB,EAAE,CAAC;WAAC;AAChCjO,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAE7e,CAAC,EAAI;YACZ0sB,eAAe,CAACI,EAAE,CAAC7zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;YACtC8hB,aAAa,CAAC1rB,CAAC,CAAC;WAClB;AACF+e,UAAAA,UAAU,EAAE6J,cAAe;AAC3B9J,UAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE9e,CAAC,EAAI;YACjB0sB,eAAe,CAACI,EAAE,CAAC7zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;WACxC;AACF2V,UAAAA,kBAAkB,EAAE;AAAM,SAAA,CAC7B,CAAC;MAEV,KAAKjkB,YAAY,CAACK,MAAM;AACpB,QAAA,oBACIzC,KAAA,CAAAC,aAAA,CAAC0nB,eAAI,EAAAvB,QAAA,CAAA;UACDlmB,GAAG,EAAE0zB,EAAE,CAAC7zB;AAAG,SAAA,EACP6zB,EAAE,EAAA;UACN7zB,EAAE,EAAE6zB,EAAE,CAAC7zB,EAAG;UACVrB,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgR,YAAY,CAACkkB,EAAE,CAAC;WAAC;AAChCjO,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAE7e,CAAC,EAAI;YACZ0sB,eAAe,CAACI,EAAE,CAAC7zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;YACtC8hB,aAAa,CAAC1rB,CAAC,CAAC;WAClB;AACF+e,UAAAA,UAAU,EAAE6J,cAAe;AAC3B9J,UAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE9e,CAAC,EAAI;YACjB0sB,eAAe,CAACI,EAAE,CAAC7zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;WACxC;AACF2V,UAAAA,kBAAkB,EAAE;AAAM,SAAA,CAC7B,CAAC;MAEV,KAAKjkB,YAAY,CAACO,UAAU;AACxB,QAAA,oBACI3C,KAAA,CAAAC,aAAA,CAACi0B,gBAAK,EAAA9N,QAAA,CAAA;UACFlmB,GAAG,EAAE0zB,EAAE,CAAC7zB;AAAG,SAAA,EACP6zB,EAAE,EAAA;UACN7zB,EAAE,EAAE6zB,EAAE,CAAC7zB,EAAG;UACVrB,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgR,YAAY,CAACkkB,EAAE,CAAC;WAAC;AAChCjO,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAE7e,CAAC,EAAI;YACZ0sB,eAAe,CAACI,EAAE,CAAC7zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;YACtC8hB,aAAa,CAAC1rB,CAAC,CAAC;WAClB;AACF+e,UAAAA,UAAU,EAAE6J,cAAe;AAC3B9J,UAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE9e,CAAC,EAAI;YACjB0sB,eAAe,CAACI,EAAE,CAAC7zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;WACxC;AACF2V,UAAAA,kBAAkB,EAAE;AAAM,SAAA,CAC7B,CAAC;MAEV,KAAKjkB,YAAY,CAACM,QAAQ;AACtB,QAAA,oBACI1C,KAAA,CAAAC,aAAA,CAACk0B,yBAAc,EAAA/N,QAAA,CAAA;UACXlmB,GAAG,EAAE0zB,EAAE,CAAC7zB;AAAG,SAAA,EACP6zB,EAAE,EAAA;UACN7zB,EAAE,EAAE6zB,EAAE,CAAC7zB,EAAG;UACVrB,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgR,YAAY,CAACkkB,EAAE,CAAC;WAAC;AAChCjO,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAE7e,CAAC,EAAI;YACZ0sB,eAAe,CAACI,EAAE,CAAC7zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;YACtC8hB,aAAa,CAAC1rB,CAAC,CAAC;WAClB;AACF+e,UAAAA,UAAU,EAAE6J,cAAe;AAC3B9J,UAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE9e,CAAC,EAAI;YACjB0sB,eAAe,CAACI,EAAE,CAAC7zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;WACxC;AACF2V,UAAAA,kBAAkB,EAAE;AAAM,SAAA,CAC7B,CAAC;MAEV,KAAKjkB,YAAY,CAACW,KAAK;AACnB,QAAA,oBACI/C,KAAA,CAAAC,aAAA,CAACm0B,eAAI,EAAAhO,QAAA,CAAA;UACDlmB,GAAG,EAAE0zB,EAAE,CAAC7zB;AAAG,SAAA,EACP6zB,EAAE,EAAA;UACN7zB,EAAE,EAAE6zB,EAAE,CAAC7zB,EAAG;UACVrB,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgR,YAAY,CAACkkB,EAAE,CAAC;WAAC;AAChCjO,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAE7e,CAAC,EAAI;YACZ0sB,eAAe,CAACI,EAAE,CAAC7zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;YACtC8hB,aAAa,CAAC1rB,CAAC,CAAC;WAClB;AACF+e,UAAAA,UAAU,EAAE6J,cAAe;AAC3B9J,UAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE9e,CAAC,EAAI;YACjB0sB,eAAe,CAACI,EAAE,CAAC7zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;WACxC;AACF2V,UAAAA,kBAAkB,EAAE;AAAM,SAAA,CAC7B,CAAC;MAEV,KAAKjkB,YAAY,CAACU,IAAI;AAClB,QAAA,oBACI9C,KAAA,CAAAC,aAAA,CAACo0B,eAAI,EAAAjO,QAAA,CAAA;UACDlmB,GAAG,EAAE0zB,EAAE,CAAC7zB;AAAG,SAAA,EACP6zB,EAAE,EAAA;UACN7zB,EAAE,EAAE6zB,EAAE,CAAC7zB,EAAG;UACVrB,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgR,YAAY,CAACkkB,EAAE,CAAC;WAAC;AAChCjO,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAE7e,CAAC,EAAI;YACZ0sB,eAAe,CAACI,EAAE,CAAC7zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;YACtC8hB,aAAa,CAAC1rB,CAAC,CAAC;WAClB;AACF+e,UAAAA,UAAU,EAAE6J,cAAe;AAC3B9J,UAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE9e,CAAC,EAAI;YACjB0sB,eAAe,CAACI,EAAE,CAAC7zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;WACxC;AACF2V,UAAAA,kBAAkB,EAAE;AAAM,SAAA,CAC7B,CAAC;MAEV,KAAKjkB,YAAY,CAACQ,cAAc;AAC5B,QAAA,oBACI5C,KAAA,CAAAC,aAAA,CAACsuB,eAAI,EAAAnI,QAAA,CAAA;UACDlmB,GAAG,EAAE0zB,EAAE,CAAC7zB;AAAG,SAAA,EACP6zB,EAAE,EAAA;UACN7zB,EAAE,EAAE6zB,EAAE,CAAC7zB,EAAG;UACVrB,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgR,YAAY,CAACkkB,EAAE,CAAC;WAAC;AAChCjO,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAE7e,CAAC,EAAI;YACZ0sB,eAAe,CAACI,EAAE,CAAC7zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;YACtC8hB,aAAa,CAAC1rB,CAAC,CAAC;WAClB;AACF+e,UAAAA,UAAU,EAAE6J,cAAe;AAC3B9J,UAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE9e,CAAC,EAAI;YACjB0sB,eAAe,CAACI,EAAE,CAAC7zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;WACxC;AACF2V,UAAAA,kBAAkB,EAAE;AAAM,SAAA,CAC7B,CAAC;MAEV,KAAKjkB,YAAY,CAACS,YAAY;AAC1B,QAAA,oBACI7C,KAAA,CAAAC,aAAA,CAACsuB,eAAI,EAAAnI,QAAA,CAAA;UACDlmB,GAAG,EAAE0zB,EAAE,CAAC7zB;AAAG,SAAA,EACP6zB,EAAE,EAAA;UACN7zB,EAAE,EAAE6zB,EAAE,CAAC7zB,EAAG;UACVrB,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgR,YAAY,CAACkkB,EAAE,CAAC;WAAC;AAChCjO,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAE7e,CAAC,EAAI;YACZ0sB,eAAe,CAACI,EAAE,CAAC7zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;YACtC8hB,aAAa,CAAC1rB,CAAC,CAAC;WAClB;AACF+e,UAAAA,UAAU,EAAE6J,cAAe;AAC3B9J,UAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE9e,CAAC,EAAI;YACjB0sB,eAAe,CAACI,EAAE,CAAC7zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;WACxC;AACF2V,UAAAA,kBAAkB,EAAE;AAAM,SAAA,CAC7B,CAAC;MAEV,KAAKjkB,YAAY,CAACf,KAAK;AACnB,QAAA,oBACIrB,KAAA,CAAAC,aAAA,CAAC6lB,WAAW,EAAA;UACR5lB,GAAG,EAAE0zB,EAAE,CAAC7zB,EAAG;UACXA,EAAE,EAAE6zB,EAAE,CAAC7zB,EAAG;AACVqgB,UAAAA,OAAO,EAAAxiB,cAAA,CACAg2B,EAAAA,EAAAA,EAAE,CACP;UACFl1B,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgR,YAAY,CAACkkB,EAAE,CAAC;WAAC;AAChCjO,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAE7e,CAAC,EAAI;YACZ0sB,eAAe,CAACI,EAAE,CAAC7zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;YACtC8hB,aAAa,CAAC1rB,CAAC,CAAC;WAClB;AACF+e,UAAAA,UAAU,EAAE6J,cAAe;AAC3B9J,UAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE9e,CAAC,EAAI;YACjB0sB,eAAe,CAACI,EAAE,CAAC7zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;AAC1C;AAAE,SACL,CAAC;MAEV,KAAKtO,YAAY,CAACb,EAAE;AAChB,QAAA,oBACIvB,KAAA,CAAAC,aAAA,CAACsmB,SAAS,EAAA;UACNrmB,GAAG,EAAE0zB,EAAE,CAAC7zB,EAAG;AACXqgB,UAAAA,OAAO,EAAEwT,EAAG;UACZl1B,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgR,YAAY,CAACkkB,EAAE,CAAC;WAAC;AAChCjO,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAE7e,CAAC,EAAI;YACZ0sB,eAAe,CAACI,EAAE,CAAC7zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;YACtC8hB,aAAa,CAAC1rB,CAAC,CAAC;WAClB;AACF8e,UAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE9e,CAAC,EAAI;YACjB0sB,eAAe,CAACI,EAAE,CAAC7zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;WACxC;AACFmV,UAAAA,UAAU,EAAE6J,cAAe;AAC3Bj1B,UAAAA,cAAc,EAAEA,cAAe;AAC/B6rB,UAAAA,SAAS,EAAE9hB,eAAe,KAAfA,IAAAA,IAAAA,eAAe,gBAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAgL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC6uB;AAAK,SACtD,CAAC;MAEV,KAAKlyB,YAAY,CAACvD,IAAI;AAClB,QAAA,oBACImB,KAAA,CAAAC,aAAA,CAACsqB,YAAY,EAAA;UACTrqB,GAAG,EAAE0zB,EAAE,CAAC7zB,EAAG;UACXA,EAAE,EAAE6zB,EAAE,CAAC7zB,EAAG;AACVqgB,UAAAA,OAAO,EAAEwT,EAAG;UACZl1B,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgR,YAAY,CAACkkB,EAAE,CAAC;WAAC;AAChCzL,UAAAA,WAAW,EAAE,SAAbA,WAAWA,CAAErhB,CAAC,EAAA;AAAA,YAAA,OAAIitB,mBAAmB,CAACH,EAAE,CAAC7zB,EAAE,EAAE+G,CAAC,CAAC;WAAC;AAChD6e,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAE7e,CAAC,EAAI;YACZ0sB,eAAe,CAACI,EAAE,CAAC7zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;YACtC8hB,aAAa,CAAC1rB,CAAC,CAAC;WAClB;AACF+e,UAAAA,UAAU,EAAE6J,cAAe;AAC3BtH,UAAAA,mBAAmB,EAAEA,mBAAoB;AACzCne,UAAAA,oBAAoB,EAAEA;AAAqB,SAC9C,CAAC;AAEV,MAAA;AACI,QAAA,OAAO,IAAI;AACnB;GACH,EACD,CAACtC,QAAQ,EAAEc,eAAe,EAAEhO,cAAc,CAC9C,CAAC;AAED,EAAA,oBACIuF,KAAA,CAAAC,aAAA,CAACwK,WAAS,EAAA;AAACrD,IAAAA,WAAW,EAAEA;AAAY,GAAA,EAC/BA,WAAW,IAAIA,WAAW,MAAKjG,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEK,UAAU,CACxDxB,iBAAAA,KAAA,CAAAC,aAAA,CAAC0iB,UAAU,EAAA;AACPvb,IAAAA,WAAW,EAAEA,WAAY;AACzBM,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,QAAQ,EAAEA,QAAS;AACnB2D,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CxD,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CyD,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CtD,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,eAAe,EAAEA,eAAgB;AACjCI,IAAAA,8BAA8B,EAAEA,8BAA+B;AAC/DC,IAAAA,sBAAsB,EAAEA,sBAAuB;AAC/CM,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnC1P,IAAAA,cAAc,EAAEA,cAAe;AAC/B6P,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CxG,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCC,IAAAA,uBAAuB,EAAEA,uBAAwB;AACjDwG,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDuT,IAAAA,uBAAuB,EAAEA;AAAwB,GACpD,CACJ,eACD/d,KAAA,CAAAC,aAAA,CAAC0K,cAAc,EAAA,IAAA,eACX3K,KAAA,CAAAC,aAAA,CAAC2K,qBAAqB,EAAA;IAACpD,YAAY,EAAEA,YAAY,GAAG,EAAG;AAACC,IAAAA,WAAW,EAAEA;AAAY,GAAA,EAC5EnN,KAAK,iBAAI0F,KAAA,CAAAC,aAAA,CAAC6K,KAAK,EAAExQ,IAAAA,EAAAA,KAAa,CAAC,eAChC0F,KAAA,CAAAC,aAAA,CAAC+K,SAAS,EAAA;AAACxD,IAAAA,YAAY,EAAEA,YAAa;AAACC,IAAAA,WAAW,EAAEA;GAC/C,EAAA,CAAC2C,aAAa,IAAI,CAACC,YAAY,iBAC5BrK,KAAA,CAAAC,aAAA,CAACs0B,gBAAK,EAAA;AACFtzB,IAAAA,KAAK,EAAEwG,WAAY;AACnBvG,IAAAA,MAAM,EAAEsG,YAAa;AACrBmI,IAAAA,GAAG,EAAEhH,QAAS;AACd6rB,IAAAA,WAAW,EAAE,SAAbA,WAAWA,CAAE1tB,CAAC,EAAI;MACd,IAAIA,CAAC,CAACwI,MAAM,KAAKxI,CAAC,CAACwI,MAAM,CAAC6Z,QAAQ,EAAE,EAAE;QAClCzgB,eAAe,CAAC,IAAI,CAAC;QACrBkqB,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAhBA,MAAAA,IAAAA,gBAAgB,CAAGzxB,gBAAgB,CAACC,QAAQ,CAAC;AACjD;AACJ;AAAE,GAAA,eAEFpB,KAAA,CAAAC,aAAA,CAACguB,gBAAK,EAAA;AACFvvB,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACXgK,eAAe,CAAC,IAAI,CAAC;MACrBkqB,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAhBA,MAAAA,IAAAA,gBAAgB,CAAGzxB,gBAAgB,CAACC,QAAQ,CAAC;KAC/C;AACFqzB,IAAAA,SAAS,EAAE;AAAM,GAAA,eAEjBz0B,KAAA,CAAAC,aAAA,CAAC0nB,eAAI,EAAA;AACD1mB,IAAAA,KAAK,EAAEwG,WAAY;AACnBvG,IAAAA,MAAM,EAAEsG,YAAa;AACrBgb,IAAAA,IAAI,EAAElX,qBAAqB,IAAIlN,KAAK,CAACT,KAAK,CAAC5B;GAC9C,CAAC,EACDwP,qBAAqB,iBAClBvL,KAAA,CAAAC,aAAA,CAAC6lB,WAAW,EAAA;AACR1F,IAAAA,OAAO,EAAAxiB,cAAA,CAAAA,cAAA,KACA2N,qBAAqB,CAAA,EAAA,EAAA,EAAA;AACxBtK,MAAAA,KAAK,EAAEwG,WAAW;AAClBvG,MAAAA,MAAM,EAAEsG;AAAY,KAAA;AACtB,GACL,CAEF,CAAC,eACRxH,KAAA,CAAAC,aAAA,CAACguB,gBAAK,EACFjuB,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACynB,gBAAK,EAAA;IACFV,MAAM,EAAE3f,cAAc,GAAG,GAAI;IAC7B4f,MAAM,EAAE5f,cAAc,GAAG;GAExBM,EAAAA,QAAQ,aAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAEV,GAAG,CAAC,UAAA2sB,EAAE,EAAA;IAAA,OAAII,cAAc,CAACJ,EAAE,CAAC;AAAA,GAAA,CAAC,EACvCnrB,eAAe,iBACZzI,KAAA,CAAAC,aAAA,CAAC8tB,sBAAW,EAAA;AACRpe,IAAAA,GAAG,EAAEkjB,cAAe;AACpB1K,IAAAA,WAAW,EAAEkI,cAAe;AAC5BzK,IAAAA,cAAc,EAAE2M,eAAgB;IAChCmC,cAAc,EACVjsB,eAAe,KAAfA,IAAAA,IAAAA,eAAe,eAAfA,eAAe,CAAEma,SAAS,GACpB,CAAAna,eAAe,aAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE/E,IAAI,OACrBtB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEvD,IAAI,IACd,CAAC,aAAa,EAAE,cAAc,CAAC,GAC/B,CACI,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,CAClB,GACL,EACT;AACD81B,IAAAA,YAAY,EAAEv2B,KAAK,CAACT,KAAK,CAAC/B,OAAQ;AAClCg5B,IAAAA,iBAAiB,EAAE;AACnB;AAAA;AACAC,IAAAA,UAAU,EAAEz2B,KAAK,CAACT,KAAK,CAAC5B,KAAM;AAC9B+4B,IAAAA,YAAY,EAAE12B,KAAK,CAACT,KAAK,CAAC/B,OAAQ;AAClCm5B,IAAAA,iBAAiB,EAAE,CAAE;AACrBC,IAAAA,UAAU,EAAE,CAAE;IACdC,aAAa,EACTxsB,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAfA,eAAe,CAAEma,SAAS,GAAG,IAAI,GAAG;AAExC;AACA;AAAA;AACAsS,IAAAA,YAAY,EAAE,SAAdA,YAAYA,CAAGC,MAAM,EAAEC,MAAM,EAAK;AAC9B;MACA,IAAI,EAAC3sB,eAAe,KAAfA,IAAAA,IAAAA,eAAe,eAAfA,eAAe,CAAEma,SAAS,CAAE,EAAA;AAC7B,QAAA,OAAOuS,MAAM;AACjB;AACA,MAAA,OAAOC,MAAM;AACjB;GACH,CAEF,CACJ,CAAC,eACRp1B,KAAA,CAAAC,aAAA,CAACguB,gBAAK,EAAA;AAACwG,IAAAA,SAAS,EAAE;AAAM,GAAA,eACpBz0B,KAAA,CAAAC,aAAA,CAAC0nB,eAAI,EAAA;AACD8M,IAAAA,SAAS,EAAE,KAAM;AACjB1M,IAAAA,CAAC,EAAE,CAAE;AACLC,IAAAA,CAAC,EAAE,CAAE;AACL/mB,IAAAA,KAAK,EAAEwG,WAAY;AACnBvG,IAAAA,MAAM,EAAEsG,YAAa;AACrB4a,IAAAA,MAAM,EAAEpe,uBAAwB;AAChCme,IAAAA,WAAW,EAAEpe,kBAAmB;AAChCsiB,IAAAA,kBAAkB,EAAE,KAAM;AAC1B7D,IAAAA,IAAI,EAAE;GACT,CACE,CACJ,CAEJ,CACQ,CACX,CAAC,eACjBxiB,KAAA,CAAAC,aAAA,CAACwlB,aAAa,EAAA;AACV5C,IAAAA,WAAW,EAAEjb,OAAO,CAACuI,MAAM,KAAK,CAAE;AAClC2S,IAAAA,WAAW,EAAEjb,SAAS,CAACsI,MAAM,KAAK,CAAE;AACpC/I,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,cAAc,EAAEA,cAAe;AAC/BE,IAAAA,sBAAsB,EAAEA,sBAAuB;AAC/CQ,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,MAAM,EAAEA,MAAO;AACfS,IAAAA,eAAe,EAAEA,eAAgB;AACjCM,IAAAA,uBAAuB,EAAEA,uBAAwB;AACjDC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,IAAAA,2BAA2B,EAAEA,2BAA4B;AACzDC,IAAAA,yBAAyB,EAAEA,yBAA0B;AACrD1O,IAAAA,cAAc,EAAEA,cAAe;AAC/Ba,IAAAA,MAAM,EAAEA,MAAO;AACfuoB,IAAAA,cAAc,EAAEA,cAAe;AAC/BroB,IAAAA,cAAc,EAAEA;AAAe,GAClC,CACM,CAAC;AAEpB,CAAC;AAEDi3B,MAAM,CAACp4B,SAAS,GAAGA,WAAS;;AC5iBrB,IAAMA,WAAS,GAAG;AACrBgE,EAAAA,mBAAmB,EAAE9D,SAAS,CAAC+D,SAAS,CAAC,CACrC/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EACJi6B,oBAAoB,EAAE96B,SAAS,CAACQ,IAAI;EACpCu6B,UAAU,EAAE/6B,SAAS,CAACgB,IAAI;EAC1Bg6B,UAAU,EAAEh7B,SAAS,CAACgB,IAAI;EAC1Bi6B,iBAAiB,EAAEj7B,SAAS,CAACI,KAAK;EAClC86B,gBAAgB,EAAEl7B,SAAS,CAACI,KAAK;EACjC+6B,sBAAsB,EAAEn7B,SAAS,CAACgB,IAAI;EACtCo6B,kBAAkB,EAAEp7B,SAAS,CAACgB,IAAI;EAClCq6B,QAAQ,EAAEr7B,SAAS,CAACgB,IAAI;EACxBs6B,SAAS,EAAEt7B,SAAS,CAACQ,IAAI;EACzB+6B,YAAY,EAAEv7B,SAAS,CAACgB,IAAI;EAC5Bw6B,SAAS,EAAEx7B,SAAS,CAACgB,IAAI;EACzBoM,QAAQ,EAAEpN,SAAS,CAACI,KAAK;AACzBwd,EAAAA,MAAM,EAAE5d,SAAS,CAAC+D,SAAS,CAAC,CAChB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EACZ46B,iBAAiB,EAAEz7B,SAAS,CAACgB,IAAI;EACjC06B,mBAAmB,EAAE17B,SAAS,CAACgB,IAAI;EACnCd,cAAc,EAAEF,SAAS,CAACC,MAAM;EAChC8P,mBAAmB,EAAE/P,SAAS,CAACgB,IAAI;EACnCgP,qBAAqB,EAAEhQ,SAAS,CAACgB,IAAI;EACrCP,oBAAoB,EAAET,SAAS,CAACI,KAAK;EACrCM,mBAAmB,EAAEV,SAAS,CAACI,KAAK;EACpCQ,UAAU,EAAEZ,SAAS,CAACa;AAC1B,CAAC;;AC7BM,IAAMf,WAAS,GAAG;EACrBi7B,UAAU,EAAE/6B,SAAS,CAACgB,IAAI;AAC1B8C,EAAAA,mBAAmB,EAAE9D,SAAS,CAAC+D,SAAS,CAAC,CACrC/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EACJX,cAAc,EAAEF,SAAS,CAACC;AAC9B,CAAC;;;ACNM,IAAMiQ,WAAS,GAAGzM,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,qMAMjBC,KAAK,CAACT,KAAK,CAACV,WAAW,EACVmB,KAAK,CAACT,KAAK,CAACX,WAAW,CACrD;AAEM,IAAMqR,aAAW,GAAGrQ,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAMpC,CAAA,mHAAA,CAAA,CAAA,CAAA,CAAA;;ACVM,IAAM+3B,aAAa,GAAG,SAAhBA,aAAaA,CAAAl3B,IAAA,EAAuE;AAAA,EAAA,IAAAwG,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAya,sBAAA;AAAA,EAAA,IAAA6V,eAAA,GAAAn3B,IAAA,CAAjEs2B,UAAU;AAAVA,IAAAA,UAAU,GAAAa,eAAA,KAAA,MAAA,GAAG,YAAM,EAAE,GAAAA,eAAA;IAAE93B,mBAAmB,GAAAW,IAAA,CAAnBX,mBAAmB;IAAE5D,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;AACtF,EAAA,IAAM27B,gBAAgB,GAAG;AACrBC,IAAAA,QAAQ,EAAE7xB,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA+K,IAAAA,IAAAA,qBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,qBAAA,CAAmCQ,QAAQ;AACrDkiB,IAAAA,IAAI,EAAE1jB,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAAgL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCS,IAAI;AAC7CkS,IAAAA,KAAK,EAAE5T,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAkB,sBAAA,GAAflB,eAAe,CAAG/J,cAAc,CAAC,MAAAiL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCU,KAAK;AAC/CkwB,IAAAA,KAAK,EAAE9xB,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAmB,sBAAA,GAAfnB,eAAe,CAAG/J,cAAc,CAAC,MAAAkL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCW,KAAK;AAC/CE,IAAAA,EAAE,EAAEhC,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAoB,sBAAA,GAAfpB,eAAe,CAAG/J,cAAc,CAAC,MAAAmL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmC2wB,OAAO;AAC9C,IAAA,aAAa,EAAE/xB,eAAe,KAAfA,IAAAA,IAAAA,eAAe,gBAAAqB,sBAAA,GAAfrB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAoL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC2wB;GACrD;EACD,oBACIx2B,KAAA,CAAAC,aAAA,CAACwK,WAAS,qBACNzK,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPpQ,IAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAE;AACnCH,IAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACxB,WAAY;AAC/B4F,IAAAA,QAAQ,EAAE;AAAG,GAAA,EAEZq0B,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAG/3B,mBAAmB,CAC/B,CAAC,eACb2B,KAAA,CAAAC,aAAA,CAACwN,OAAO,EAAA;AAAC5O,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAA8b,sBAAA,GAAf9b,eAAe,CAAG/J,cAAc,CAAC,MAAA6lB,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCmW,QAAS;AAACrpB,IAAAA,QAAQ,EAAC;AAAM,GAAA,eACvEpN,KAAA,CAAAC,aAAA,CAACoO,aAAW,EAAA;AAAC3P,IAAAA,OAAO,EAAE42B;AAAW,GAAA,eAC7Bt1B,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAEu2B;GAAkB,CAC3B,CACR,CACF,CAAC;AAEpB,CAAC;AAEDR,aAAa,CAAC77B,SAAS,GAAGA,WAAS;;;AChC5B,IAAMmE,cAAc,GAAGR,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,eAAA,EAAA,wEAAA,EAAA,gCAAA,EAAA,qEAAA,CAAA,CAAA,CAAA,EAC3B,UAAAa,IAAA,EAAA;AAAA,EAAA,IAAA23B,YAAA,GAAA33B,IAAA,CAAG0sB,OAAO;AAAPA,IAAAA,OAAO,GAAAiL,YAAA,KAAG,MAAA,GAAA,IAAI,GAAAA,YAAA;AAAA,EAAA,OAAQjL,OAAO,GAAGrrB,kBAAkB,GAAG,CAAC;AAAA,CAAC,EAGrDjC,KAAK,CAACT,KAAK,CAACV,WAAW,EACZmB,KAAK,CAACT,KAAK,CAACT,WAAW,CAGnD;AAEM,IAAM05B,gBAAgB,GAAG54B,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,mGAAA,EAAA,OAAA,CAAA,CAAA,CAAA,EAK7BkC,kBAAkB,CAC9B;;AClBM,IAAMhG,WAAS,GAAG;EACrB47B,mBAAmB,EAAE17B,SAAS,CAACgB,IAAI;EACnCd,cAAc,EAAEF,SAAS,CAACC,MAAM;EAChCQ,oBAAoB,EAAET,SAAS,CAACI,KAAK;EACrCM,mBAAmB,EAAEV,SAAS,CAACI;AACnC,CAAC;;ACLM,IAAMN,WAAS,GAAG;EACrBC,KAAK,EAAEC,SAAS,CAACC,MAAM;AACvBqT,EAAAA,IAAI,EAAEtT,SAAS,CAAC+D,SAAS,CAAC,CACtB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EACJy7B,QAAQ,EAAEt8B,SAAS,CAACQ,IAAI;EACxBwW,SAAS,EAAEhX,SAAS,CAAC+M,MAAM;EAC3BoK,YAAY,EAAEnX,SAAS,CAAC+M,MAAM;EAC9BwvB,OAAO,EAAEv8B,SAAS,CAACqE;AACvB,CAAC;;;ACVM,IAAMm4B,oBAAoB,GAAG/4B,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,qEAAA,EAAA,0BAAA,EAAA,OAAA,CAAA,CAAA,CAAA,EAG5B,UAAAa,IAAA,EAAA;AAAA,EAAA,IAAGuS,SAAS,GAAAvS,IAAA,CAATuS,SAAS;AAAA,EAAA,OAAOA,SAAS;AAAA,CAAA,EACzB,UAAAtS,KAAA,EAAA;AAAA,EAAA,IAAGyS,YAAY,GAAAzS,KAAA,CAAZyS,YAAY;AAAA,EAAA,OAAOA,YAAY;AAAA,CACtD,CAAA;AAEM,IAAMslB,iBAAiB,GAAGh5B,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAQ1C,CAAA,2LAAA,CAAA,CAAA,CAAA,CAAA;AAEM,IAAM84B,eAAe,GAAGj5B,MAAM,CAACC,GAAG,CAAAwB,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAIxC,CAAA,0EAAA,CAAA,CAAA,CAAA,CAAA;AAEM,IAAMkQ,WAAW,GAAGrQ,MAAM,CAACC,GAAG,CAAA8M,kBAAA,KAAAA,kBAAA,GAAA5M,sBAAA,CAKpC,CAAA,kGAAA,CAAA,CAAA,CAAA,CAAA;AAEM,IAAM+4B,kBAAkB,GAAGl5B,MAAM,CAACC,GAAG,CAAAgN,gBAAA,KAAAA,gBAAA,GAAA9M,sBAAA,CAAA,CAAA,iBAAA,EAAA,KAAA,CAAA,CAAA,CAAA,EAC7B,UAAAkB,KAAA,EAAA;AAAA,EAAA,IAAGqsB,OAAO,GAAArsB,KAAA,CAAPqsB,OAAO;AAAA,EAAA,OAAQA,OAAO,GAAG,MAAM,GAAG,MAAM;AAAA,CAAC,CAC1D;;ACrBM,IAAMyL,WAAW,GAAG,SAAdA,WAAWA,CAAAn4B,IAAA,EAOlB;AAAA,EAAA,IANF1E,KAAK,GAAA0E,IAAA,CAAL1E,KAAK;IACLuT,IAAI,GAAA7O,IAAA,CAAJ6O,IAAI;IAAAupB,aAAA,GAAAp4B,IAAA,CACJ63B,QAAQ;AAARA,IAAAA,QAAQ,GAAAO,aAAA,KAAG,MAAA,GAAA,KAAK,GAAAA,aAAA;IAAA1T,cAAA,GAAA1kB,IAAA,CAChBuS,SAAS;AAATA,IAAAA,SAAS,GAAAmS,cAAA,KAAG,MAAA,GAAA,CAAC,GAAAA,cAAA;IAAAD,iBAAA,GAAAzkB,IAAA,CACb0S,YAAY;AAAZA,IAAAA,YAAY,GAAA+R,iBAAA,KAAG,MAAA,GAAA,EAAE,GAAAA,iBAAA;IACjBqT,OAAO,GAAA93B,IAAA,CAAP83B,OAAO;AAEP,EAAA,IAAAroB,SAAA,GAA8BC,cAAQ,CAAC,IAAI,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAArCid,IAAAA,OAAO,GAAA/c,UAAA,CAAA,CAAA,CAAA;AAAE0oB,IAAAA,UAAU,GAAA1oB,UAAA,CAAA,CAAA,CAAA;AAC1B,EAAA,IAAM2oB,gBAAgB,GAAGzwB,iBAAW,CAAC,YAAM;AACvC,IAAA,IAAIgwB,QAAQ,EAAE;IACdQ,UAAU,CAAC,CAAC3L,OAAO,CAAC;AACxB,GAAC,EAAE,CAACA,OAAO,EAAE2L,UAAU,CAAC,CAAC;AAEzB,EAAA,oBACIr3B,KAAA,CAAAC,aAAA,CAAC82B,oBAAoB,EAAA;AAACxlB,IAAAA,SAAS,EAAEA,SAAU;AAACG,IAAAA,YAAY,EAAEA;AAAa,GAAA,eACnE1R,KAAA,CAAAC,aAAA,CAAC+2B,iBAAiB,EAAA;AAACt4B,IAAAA,OAAO,EAAE44B;AAAiB,GAAA,EACxCzpB,IAAI,iBAAI7N,KAAA,CAAAC,aAAA,CAACg3B,eAAe,EAAEppB,IAAAA,EAAAA,IAAsB,CAAC,eAClD7N,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPzU,IAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACvB,WAAY;AAC/B4F,IAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAE;AACnCoO,IAAAA,WAAW,EAAE;AAAE,GAAA,EAEd5R,KACO,CAAC,EACZ,CAACu8B,QAAQ,iBACN72B,KAAA,CAAAC,aAAA,CAACoO,WAAW,EACRrO,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAEo3B;GAAmB,CAC5B,CAEF,CAAC,eACpBv3B,KAAA,CAAAC,aAAA,CAACi3B,kBAAkB,EAAA;AAACxL,IAAAA,OAAO,EAAEA;GAAUoL,EAAAA,OAA4B,CACjD,CAAC;AAE/B,CAAC;AAEDK,WAAW,CAAC98B,SAAS,GAAGA,WAAS;;;AC/C1B,IAAMm9B,kBAAkB,GAAGx5B,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAM3C,CAAA,iIAAA,CAAA,CAAA,CAAA,CAAA;AAEM,IAAMs5B,YAAY,GAAGz5B,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CA2BrC,CAAA,ohBAAA,CAAA,CAAA,CAAA,CAAA;AAEM,IAAMu5B,kBAAkB,GAAG15B,MAAM,CAAC25B,MAAM,CAAAl4B,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAoB9C,CAAA,gZAAA,CAAA,CAAA,CAAA,CAAA;AAEM,IAAMoO,iBAAe,GAAGvO,MAAM,CAACC,GAAG,CAAA8M,kBAAA,KAAAA,kBAAA,GAAA5M,sBAAA,CAMxC,CAAA,iHAAA,CAAA,CAAA,CAAA,CAAA;;ACxDM,IAAMy5B,eAAe,GAAG,SAAlBA,eAAeA,CAAA54B,IAAA,EAMtB;AAAA,EAAA,IAAAwG,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;AAAA,EAAA,IALFuwB,mBAAmB,GAAAj3B,IAAA,CAAnBi3B,mBAAmB;IACnBx7B,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;IACdo9B,sBAAsB,GAAA74B,IAAA,CAAtB64B,sBAAsB;IACtB78B,oBAAoB,GAAAgE,IAAA,CAApBhE,oBAAoB;IACpBC,mBAAmB,GAAA+D,IAAA,CAAnB/D,mBAAmB;AAEnB,EAAA,IAAM68B,oBAAoB,GAAG9wB,aAAO,CAAC,YAAM;AACvC,IAAA,oBACIhH,KAAA,CAAAC,aAAA,CAACu3B,kBAAkB,QACdx8B,oBAAoB,KAAA,IAAA,IAApBA,oBAAoB,KAAA,MAAA,GAAA,MAAA,GAApBA,oBAAoB,CAAEiM,GAAG,CAAC,UAACC,IAAI,EAAE4I,KAAK,EAAA;AAAA,MAAA,oBACnC9P,KAAA,CAAAC,aAAA,CAACw3B,YAAY,EAAA;AACTv3B,QAAAA,GAAG,EAAE4P,KAAM;AACXpR,QAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;UACXu3B,mBAAmB,CAAC/uB,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAES,QAAQ,CAAC;AACvC;AAAE,OAAA,eAEF3H,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AACR/Q,QAAAA,GAAG,EAAE+G,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAE7F,KAAM;AACjB+P,QAAAA,SAAS,EAAE,GAAI;AACfD,QAAAA,QAAQ,EAAE,GAAI;AACdgB,QAAAA,YAAY,EAAE;AAAE,OACnB,CAAC,eACFnS,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPzU,QAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACR,WAAY;AAC/B4E,QAAAA,QAAQ,EAAE,EAAG;AACb6N,QAAAA,KAAK,EAAE;AACHka,UAAAA,UAAU,EAAE,QAAQ;AACpBP,UAAAA,QAAQ,EAAE,QAAQ;AAClBwO,UAAAA,YAAY,EAAE,UAAU;AACxB5mB,UAAAA,QAAQ,EAAE;AACd;OAECjK,EAAAA,IAAI,aAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE5M,KACC,CACF,CAAC;AAAA,KAClB,CACe,CAAC;GAE5B,EAAE,EAAE,CAAC;AAEN,EAAA,IAAM09B,mBAAmB,GAAGhxB,aAAO,CAAC,YAAM;AACtC,IAAA,oBACIhH,KAAA,CAAAC,aAAA,CAACu3B,kBAAkB,QACdv8B,mBAAmB,KAAA,IAAA,IAAnBA,mBAAmB,KAAA,MAAA,GAAA,MAAA,GAAnBA,mBAAmB,CAAEgM,GAAG,CAAC,UAACC,IAAI,EAAE4I,KAAK,EAAA;AAAA,MAAA,oBAClC9P,KAAA,CAAAC,aAAA,CAACw3B,YAAY,EAAA;AACTv3B,QAAAA,GAAG,EAAE4P,KAAM;AACXpR,QAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;UACXu3B,mBAAmB,CAAC/uB,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAES,QAAQ,CAAC;AACvC;AAAE,OAAA,eAEF3H,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AACR/Q,QAAAA,GAAG,EAAE+G,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAE7F,KAAM;AACjB+P,QAAAA,SAAS,EAAE,GAAI;AACfD,QAAAA,QAAQ,EAAE,GAAI;AACdgB,QAAAA,YAAY,EAAE;AAAE,OACnB,CAAC,eACFnS,KAAA,CAAAC,aAAA,CAACy3B,kBAAkB,EAAA;AACfh5B,QAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEoI,CAAC,EAAI;AACVA,UAAAA,CAAC,CAACiJ,eAAe,EAAE,CAAC;AACpB8nB,UAAAA,sBAAsB,aAAtBA,sBAAsB,KAAA,MAAA,IAAtBA,sBAAsB,CAAG3wB,IAAI,CAAC;AAClC;AAAE,OAAA,eAEFlH,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,QAAAA,GAAG,EAAE8kB,UAAW;AAAC/jB,QAAAA,MAAM,EAAE;AAAG,OAAE,CAC3B,CAAC,eACrBlB,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPzU,QAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACR,WAAY;AAC/B4E,QAAAA,QAAQ,EAAE,EAAG;AACb6N,QAAAA,KAAK,EAAE;AACHka,UAAAA,UAAU,EAAE,QAAQ;AACpBP,UAAAA,QAAQ,EAAE,QAAQ;AAClBwO,UAAAA,YAAY,EAAE,UAAU;AACxB5mB,UAAAA,QAAQ,EAAE;AACd;OAECjK,EAAAA,IAAI,aAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE5M,KACC,CACF,CAAC;AAAA,KAClB,CACe,CAAC;GAE5B,EAAE,EAAE,CAAC;EAEN,oBACI0F,KAAA,CAAAC,aAAA,CAACsM,iBAAe,qBACZvM,KAAA,CAAAC,aAAA,CAACujB,MAAM,EAAA;AACH3kB,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA+K,IAAAA,IAAAA,qBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,qBAAA,CAAmCyyB,YAAa;AACtDpqB,IAAAA,IAAI,eAAE7N,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE+3B;AAAQ,KAAE,CAAE;AACpCxmB,IAAAA,YAAY,EAAE,EAAG;IACjBhT,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQu3B,mBAAmB,EAAE;AAAA;AAAC,GACxC,CAAC,eACFj2B,KAAA,CAAAC,aAAA,CAACk3B,WAAW,EAAA;AACR78B,IAAAA,KAAK,EAAEkK,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAAgL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmC0yB,OAAQ;AAClDrB,IAAAA,OAAO,EAAEgB;AAAqB,GACjC,CAAC,eACF93B,KAAA,CAAAC,aAAA,CAACk3B,WAAW,EAAA;AACR78B,IAAAA,KAAK,EAAEkK,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAkB,sBAAA,GAAflB,eAAe,CAAG/J,cAAc,CAAC,MAAAiL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmC0yB,gBAAiB;AAC3DtB,IAAAA,OAAO,EAAEkB;AAAoB,GAChC,CACY,CAAC;AAE1B,CAAC;AAEDJ,eAAe,CAACv9B,SAAS,GAAGA,WAAS;;AChH9B,IAAMA,WAAS,GAAG;EACrB27B,iBAAiB,EAAEz7B,SAAS,CAACgB,IAAI;EACjCd,cAAc,EAAEF,SAAS,CAACC;AAC9B,CAAC;;;ACFM,IAAM+R,iBAAe,GAAGvO,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAMxC,CAAA,iHAAA,CAAA,CAAA,CAAA,CAAA;AACM,IAAMsM,WAAS,GAAGzM,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAGlC,CAAA,qDAAA,CAAA,CAAA,CAAA,CAAA;AAEM,IAAMk6B,WAAW,GAAGr6B,MAAM,CAACC,GAAG,CAAAwB,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAMTC,CAAAA,6JAAAA,EAAAA,YAAAA,CAAAA,CAAAA,CAAAA,EAAAA,KAAK,CAACT,KAAK,CAACP,WAAW,CAElD;;ACbM,IAAMk7B,WAAW,GAAG,SAAdA,WAAWA,CAAAt5B,IAAA,EAA2D;EAAA,IAAAwG,qBAAA,EAAAC,sBAAA;AAAA,EAAA,IAArDuwB,iBAAiB,GAAAh3B,IAAA,CAAjBg3B,iBAAiB;IAAEv7B,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;IAAEY,WAAW,GAAA2D,IAAA,CAAX3D,WAAW;AACxE,EAAA,IAAMk9B,qBAAqB,GAAG,SAAxBA,qBAAqBA,GAAS;AAChC,IAAA,oBACIv4B,KAAA,CAAAC,aAAA,CAACwK,WAAS,EAAA,IAAA,EACL5I,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,MAAAA,GAAAA,MAAAA,GAAAA,QAAQ,CAAEoF,GAAG,CAAC,UAACC,IAAI,EAAE4I,KAAK,EAAK;AAC5B,MAAA,oBACI9P,KAAA,CAAAC,aAAA,CAACo4B,WAAW,EAAA;AACRn4B,QAAAA,GAAG,EAAE4P,KAAM;AACXpR,QAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACXs3B,UAAAA,iBAAiB,CAAAp4B,cAAA,CAAAA,cAAA,KAAMsJ,IAAI,CAAA,EAAA,EAAA,EAAA;YAAErI,IAAI,EAAExD,WAAW,KAAI6L,IAAI,aAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAErI,IAAI;AAAA,WAAA,CAAE,CAAC;AACnE;AAAE,OAAA,eAEFmB,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPzU,QAAAA,KAAK,EAAEuJ,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAEvJ,KAAM;AACnBmE,QAAAA,UAAU,EAAEoF,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAEpF,UAAW;AAC7BE,QAAAA,UAAU,EAAEkF,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAElF,UAAW;AAC7BD,QAAAA,QAAQ,EAAEmF,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEnF;OAEf1G,EAAAA,WAAW,KAAI6L,IAAI,KAAJA,IAAAA,IAAAA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAErI,IAAI,CAClB,CACH,CAAC;AAEtB,KAAC,CACM,CAAC;GAEnB;EACD,oBACImB,KAAA,CAAAC,aAAA,CAACsM,iBAAe,qBACZvM,KAAA,CAAAC,aAAA,CAACujB,MAAM,EAAA;AACH3kB,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA+K,IAAAA,IAAAA,qBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,qBAAA,CAAmCgzB,QAAS;AAClD3qB,IAAAA,IAAI,eAAE7N,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEs4B;AAAY,KAAE,CAAE;AACxC/mB,IAAAA,YAAY,EAAE,EAAG;IACjBhT,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQs3B,iBAAiB,CAAC,IAAI,CAAC;AAAA;AAAC,GAC1C,CAAC,eACFh2B,KAAA,CAAAC,aAAA,CAACk3B,WAAW,EAAA;AACR78B,IAAAA,KAAK,EAAEkK,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAAgL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCizB,SAAU;IACpD5B,OAAO,EAAEyB,qBAAqB,EAAG;AACjC1qB,IAAAA,IAAI,eAAE7N,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEw4B;KAAW;AAAE,GACxC,CACY,CAAC;AAE1B,CAAC;AAEDL,WAAW,CAACj+B,SAAS,GAAGA,WAAS;;ACnD1B,IAAMA,WAAS,GAAG;EACrBm7B,iBAAiB,EAAEj7B,SAAS,CAACI,KAAK;EAClC86B,gBAAgB,EAAEl7B,SAAS,CAACI,KAAK;EACjC+6B,sBAAsB,EAAEn7B,SAAS,CAACgB,IAAI;EACtCo6B,kBAAkB,EAAEp7B,SAAS,CAACgB,IAAI;EAClCd,cAAc,EAAEF,SAAS,CAACC,MAAM;EAChC8P,mBAAmB,EAAE/P,SAAS,CAACgB,IAAI;EACnCgP,qBAAqB,EAAEhQ,SAAS,CAACgB;AACrC,CAAC;;;ACRM,IAAMgR,iBAAe,GAAGvO,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAMxC,CAAA,iHAAA,CAAA,CAAA,CAAA,CAAA;AAEM,IAAMy6B,eAAe,GAAG56B,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAMxC,CAAA,iIAAA,CAAA,CAAA,CAAA,CAAA;AAEM,IAAM06B,YAAU,GAAG76B,MAAM,CAACC,GAAG,CAAAwB,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAKvB,CAAA,gHAAA,EAAA,KAAA,CAAA,CAAA,CAAA,EAAA,YAAA;AAAA,EAAA,IAAC8C,KAAK,GAAA+T,SAAA,CAAA7E,MAAA,GAAA,CAAA,IAAA6E,SAAA,CAAA,CAAA,CAAA,KAAAO,SAAA,GAAAP,SAAA,CAAA,CAAA,CAAA,GAAG,kBAAkB;AAAA,EAAA,OAAK/T,KAAK;AAAA,CACjD,CAAA;;ACbM,IAAM63B,YAAY,GAAG,SAAfA,YAAYA,CAAA95B,IAAA,EAQnB;EAAA,IAAAwG,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;AAAA,EAAA,IAPF4vB,iBAAiB,GAAAx2B,IAAA,CAAjBw2B,iBAAiB;IACjBC,gBAAgB,GAAAz2B,IAAA,CAAhBy2B,gBAAgB;IAChBC,sBAAsB,GAAA12B,IAAA,CAAtB02B,sBAAsB;IACtBC,kBAAkB,GAAA32B,IAAA,CAAlB22B,kBAAkB;IAClBl7B,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;IACd6P,mBAAmB,GAAAtL,IAAA,CAAnBsL,mBAAmB;IACnBC,qBAAqB,GAAAvL,IAAA,CAArBuL,qBAAqB;EAErB,IAAMutB,oBAAoB,gBACtB93B,KAAA,CAAAC,aAAA,CAAC24B,eAAe,EACX,IAAA,EAAA,CAAApD,iBAAiB,KAAA,IAAA,IAAjBA,iBAAiB,KAAjBA,MAAAA,GAAAA,MAAAA,GAAAA,iBAAiB,CAAErlB,MAAM,MAAK,CAAC,iBAC5BnQ,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AAACrQ,IAAAA,QAAQ,EAAE,EAAG;AAACpE,IAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACzB;AAAY,GAAA,EACpDsI,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA+K,IAAAA,IAAAA,qBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,qBAAA,CAAmCuzB,iBAC5B,CACf,EACAvD,iBAAiB,KAAA,IAAA,IAAjBA,iBAAiB,KAAA,MAAA,GAAA,MAAA,GAAjBA,iBAAiB,CAAEvuB,GAAG,CAAC,UAACC,IAAI,EAAE4I,KAAK,EAAA;AAAA,IAAA,oBAChC9P,KAAA,CAAAC,aAAA,CAAC44B,YAAU,EAAA;AACP34B,MAAAA,GAAG,EAAE4P,KAAM;AACX7O,MAAAA,KAAK,EAAE,MAAO;AACdvC,MAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;QACXi3B,kBAAkB,CAACzuB,IAAI,CAAC;AAC5B;AAAE,KAAA,eAEFlH,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE+G,IAAK;AAACkK,MAAAA,SAAS,EAAE,GAAI;AAACD,MAAAA,QAAQ,EAAE;AAAI,KAAE,CAChD,CAAC;AAAA,GAChB,CACY,CACpB;EAED,IAAM6nB,kBAAkB,gBACpBh5B,KAAA,CAAAC,aAAA,CAAC24B,eAAe,EACX,IAAA,EAAA,CAAAnD,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAhBA,MAAAA,GAAAA,MAAAA,GAAAA,gBAAgB,CAAEtlB,MAAM,MAAK,CAAC,iBAC3BnQ,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AAACrQ,IAAAA,QAAQ,EAAE,EAAG;AAACpE,IAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACzB;AAAY,GAAA,EACpDsI,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAAgL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCszB,iBAC5B,CACf,EACAtD,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAExuB,GAAG,CAAC,UAACC,IAAI,EAAE4I,KAAK,EAAA;AAAA,IAAA,oBAC/B9P,KAAA,CAAAC,aAAA,CAAC44B,YAAU,EAAA;AACP34B,MAAAA,GAAG,EAAE4P,KAAM;AACXpR,MAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;QACXi3B,kBAAkB,CAACzuB,IAAI,CAAC;AAC5B;AAAE,KAAA,eAEFlH,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE+G,IAAK;AAACkK,MAAAA,SAAS,EAAE,GAAI;AAACD,MAAAA,QAAQ,EAAE;AAAI,KAAE,CAChD,CAAC;AAAA,GAChB,CACY,CACpB;AAED,EAAA,IAAM8nB,cAAc,gBAAA,YAAA;IAAA,IAAAh6B,KAAA,GAAAuY,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAG,SAAAC,OAAA,GAAA;AAAA,MAAA,IAAAuG,IAAA,EAAAC,QAAA,EAAAC,MAAA;AAAA,MAAA,OAAA3G,mBAAA,EAAA,CAAAK,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;AAAAF,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;YAAA,OACAnE,SAAS,EAAE;AAAA,UAAA,KAAA,CAAA;YAAxBmK,IAAI,GAAAlG,QAAA,CAAAsC,IAAA;AAAA,YAAA,IACL4D,IAAI,EAAA;AAAAlG,cAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;AAAA,cAAA;AAAA;YAAA,OAAAF,QAAA,CAAAU,MAAA,CAAA,QAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,IAAA,CACLpO,mBAAmB,EAAA;AAAA0N,cAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA;AAAA,cAAA;AAAA;YACnB3N,qBAAqB,CAAC,IAAI,CAAC;AAACyN,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;YAAA,OACL5N,mBAAmB,CAAC4T,IAAI,CAAC;AAAA,UAAA,KAAA,CAAA;YAA1CC,QAAQ,GAAAnG,QAAA,CAAAsC,IAAA;YACdob,sBAAsB,CAACvX,QAAQ,CAAC;YAChC5T,qBAAqB,CAAC,KAAK,CAAC;AAACyN,YAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA;AAAA,YAAA;AAAA,UAAA,KAAA,EAAA;AAEvBkG,YAAAA,MAAM,GAAG,IAAIC,UAAU,EAAE;YAC/BD,MAAM,CAAC/F,MAAM,GAAG,YAAM;AAClBqd,cAAAA,sBAAsB,CAACtX,MAAM,CAACE,MAAM,CAAC;aACxC;AACDF,YAAAA,MAAM,CAACG,aAAa,CAACL,IAAI,CAAC;AAAC,UAAA,KAAA,EAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAlG,QAAA,CAAAkB,IAAA,EAAA;AAAA;AAAA,OAAA,EAAAvB,OAAA,CAAA;KAElC,CAAA,CAAA;AAAA,IAAA,OAAA,SAfKshB,cAAcA,GAAA;AAAA,MAAA,OAAAh6B,KAAA,CAAAmW,KAAA,CAAA,IAAA,EAAAJ,SAAA,CAAA;AAAA,KAAA;GAenB,EAAA;EAED,oBACIhV,KAAA,CAAAC,aAAA,CAACsM,iBAAe,qBACZvM,KAAA,CAAAC,aAAA,CAACujB,MAAM,EAAA;AACH3kB,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAkB,sBAAA,GAAflB,eAAe,CAAG/J,cAAc,CAAC,MAAAiL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCwzB,SAAU;AACnDrrB,IAAAA,IAAI,eAAE7N,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEg5B;AAAW,KAAE,CAAE;AACvCznB,IAAAA,YAAY,EAAE,EAAG;AACjBhT,IAAAA,OAAO,EAAEu6B;AAAe,GAC3B,CAAC,eACFj5B,KAAA,CAAAC,aAAA,CAACk3B,WAAW,EAAA;AACR78B,IAAAA,KAAK,EAAEkK,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAmB,sBAAA,GAAfnB,eAAe,CAAG/J,cAAc,CAAC,MAAAkL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCwyB,OAAQ;AAClDrB,IAAAA,OAAO,EAAEgB;AAAqB,GACjC,CAAC,eACF93B,KAAA,CAAAC,aAAA,CAACk3B,WAAW,EAAA;AACR78B,IAAAA,KAAK,EAAEkK,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAoB,sBAAA,GAAfpB,eAAe,CAAG/J,cAAc,CAAC,MAAAmL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCwzB,aAAc;AACxDtC,IAAAA,OAAO,EAAEkC;AAAmB,GAC/B,CACY,CAAC;AAE1B,CAAC;AAEDF,YAAY,CAACz+B,SAAS,GAAGA,WAAS;;AChG3B,IAAMA,WAAS,GAAG;EACrBk7B,UAAU,EAAEh7B,SAAS,CAACgB,IAAI;EAC1Bd,cAAc,EAAEF,SAAS,CAACC;AAC9B,CAAC;;;ACFM,IAAM+R,iBAAe,GAAGvO,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAMxC,CAAA,iHAAA,CAAA,CAAA,CAAA,CAAA;AAEM,IAAMk7B,eAAe,GAAGr7B,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAKxC,CAAA,4FAAA,CAAA,CAAA,CAAA,CAAA;AAEM,IAAM06B,UAAU,GAAG76B,MAAM,CAACC,GAAG,CAAAwB,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAURC,CAAAA,8PAAAA,EAAAA,YAAAA,CAAAA,CAAAA,CAAAA,EAAAA,KAAK,CAACT,KAAK,CAACP,WAAW,CAElD;;ACtBM,IAAMk8B,YAAY,GAAG,SAAfA,YAAYA,CAAAt6B,IAAA,EAAuC;AAAA,EAAA,IAAAwG,qBAAA;AAAA,EAAA,IAAjC+vB,UAAU,GAAAv2B,IAAA,CAAVu2B,UAAU;IAAE96B,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;EACrD,oBACIuF,KAAA,CAAAC,aAAA,CAACsM,iBAAe,qBACZvM,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPzU,IAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACvB,WAAY;AAC/B4F,IAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAE;AACnCoO,IAAAA,WAAW,EAAE,CAAE;AACfwF,IAAAA,YAAY,EAAE;AAAG,GAAA,EAEhBlN,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmC+zB,UAC5B,CAAC,eACbv5B,KAAA,CAAAC,aAAA,CAACo5B,eAAe,EACXr2B,IAAAA,EAAAA,UAAU,CAACiE,GAAG,CAAC,UAACC,IAAI,EAAE4I,KAAK,EAAK;AAC7B,IAAA,oBACI9P,KAAA,CAAAC,aAAA,CAAC44B,UAAU,EAAA;AAAC34B,MAAAA,GAAG,EAAE4P,KAAM;MAACpR,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQ62B,UAAU,CAACruB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,MAAAA,GAAAA,MAAAA,GAAAA,IAAI,CAAE5F,KAAK,CAAC;AAAA;AAAC,KAAA,eAC3DtB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE+G,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEvI;AAAK,KAAE,CACvB,CAAC;GAEpB,CACY,CACJ,CAAC;AAE1B,CAAC;AAED26B,YAAY,CAACj/B,SAAS,GAAGA,WAAS;;AC9B3B,IAAMA,WAAS,GAAG;EACrBu7B,QAAQ,EAAEr7B,SAAS,CAACgB,IAAI;EACxBs6B,SAAS,EAAEt7B,SAAS,CAACQ,IAAI;EACzB+6B,YAAY,EAAEv7B,SAAS,CAACgB,IAAI;EAC5Bw6B,SAAS,EAAEx7B,SAAS,CAACgB,IAAI;EACzBoM,QAAQ,EAAEpN,SAAS,CAACI,KAAK;AACzBwd,EAAAA,MAAM,EAAE5d,SAAS,CAAC+D,SAAS,CAAC,CACZ/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EAChBX,cAAc,EAAEF,SAAS,CAACC;AAC9B,CAAC;;;ACXM,IAAM+R,iBAAe,GAAGvO,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAMxC,CAAA,iHAAA,CAAA,CAAA,CAAA,CAAA;;ACNM,IAAM9D,WAAS,GAAG;EACrBwE,IAAI,EAAEtE,SAAS,CAACC,MAAM;EACtBg/B,QAAQ,EAAEj/B,SAAS,CAACgB,IAAI;EACxBk+B,QAAQ,EAAEl/B,SAAS,CAACQ,IAAI;EACxB2Q,QAAQ,EAAEnR,SAAS,CAACQ;AACxB,CAAC;;;ACJM,IAAM2+B,eAAe,GAAG17B,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,+DAAA,EAAA,4LAAA,CAAA,CAAA,CAAA,EAGjB,UAAAa,IAAA,EAAA;AAAA,EAAA,IAAGy6B,QAAQ,GAAAz6B,IAAA,CAARy6B,QAAQ;AAAA,EAAA,OAC3BA,QAAQ,GAAGr7B,KAAK,CAACT,KAAK,CAACH,YAAY,GAAGY,KAAK,CAACT,KAAK,CAAChB,WAAW;AAAA,CAQpE,CAAA;AAEM,IAAMg9B,YAAY,GAAG37B,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,mIAAA,EAAA,8FAAA,EAAA,KAAA,CAAA,CAAA,CAAA,EAM1B,UAAAc,KAAA,EAAA;AAAA,EAAA,IAAGw6B,QAAQ,GAAAx6B,KAAA,CAARw6B,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,mBAAmB,GAAG,KAAK;AAAA,CAAC,EAIpD,UAAAp6B,KAAA,EAAA;AAAA,EAAA,IAAGo6B,QAAQ,GAAAp6B,KAAA,CAARo6B,QAAQ;AAAA,EAAA,OACrBA,QAAQ,GAAG,gCAAgC,GAAG,iCAAiC;AAAA,CACtF,CAAA;AAEM,IAAMhvB,SAAS,GAAGzM,MAAM,CAACC,GAAG,CAAAwB,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAMlC,CAAA,uIAAA,CAAA,CAAA,CAAA,CAAA;AAEM,IAAMy7B,aAAa,GAAG57B,MAAM,CAACC,GAAG,CAAA8M,gBAAA,KAAAA,gBAAA,GAAA5M,sBAAA,CAGtC,CAAA,kDAAA,CAAA,CAAA,CAAA,CAAA;;ACnCM,IAAM07B,YAAY,GAAG,SAAfA,YAAYA,CAAA76B,IAAA,EAA+C;AAAA,EAAA,IAAzCH,IAAI,GAAAG,IAAA,CAAJH,IAAI;IAAE26B,QAAQ,GAAAx6B,IAAA,CAARw6B,QAAQ;IAAEC,QAAQ,GAAAz6B,IAAA,CAARy6B,QAAQ;IAAE/tB,QAAQ,GAAA1M,IAAA,CAAR0M,QAAQ;AAC7D,EAAA,oBACI1L,KAAA,CAAAC,aAAA,CAACwK,SAAS,qBACNzK,KAAA,CAAAC,aAAA,CAAC25B,aAAa,EACV55B,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAEw4B;AAAS,GAAE,CAAC,eAC9B34B,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPnG,IAAAA,UAAU,EAAE,CAAE;AACdtO,IAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACF,KAAM;AACzBsE,IAAAA,QAAQ,EAAE,EAAG;AACbC,IAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG;GAEhCe,EAAAA,IACO,CACD,CAAC,eAChBmB,KAAA,CAAAC,aAAA,CAACy5B,eAAe,EAAA;AACZD,IAAAA,QAAQ,EAAEA,QAAS;AACnB/6B,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACX,MAAA,IAAIgN,QAAQ,EAAE;AACV,QAAA;AACJ;MACA8tB,QAAQ,IAAIA,QAAQ,EAAE;AAC1B;AAAE,GAAA,eAEFx5B,KAAA,CAAAC,aAAA,CAAC05B,YAAY,EAAA;AAACF,IAAAA,QAAQ,EAAEA;GAAW,CACtB,CACV,CAAC;AAEpB,CAAC;AAEDI,YAAY,CAACx/B,SAAS,GAAGA,WAAS;;ACzB3B,IAAMy/B,SAAS,GAAG,SAAZA,SAASA,CAAA96B,IAAA,EAQhB;AAAA,EAAA,IAAAwG,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;AAAA,EAAA,IAPFiwB,QAAQ,GAAA52B,IAAA,CAAR42B,QAAQ;IACRC,SAAS,GAAA72B,IAAA,CAAT62B,SAAS;IACTC,YAAY,GAAA92B,IAAA,CAAZ82B,YAAY;IACZC,SAAS,GAAA/2B,IAAA,CAAT+2B,SAAS;IACTpuB,QAAQ,GAAA3I,IAAA,CAAR2I,QAAQ;IACRwQ,MAAM,GAAAnZ,IAAA,CAANmZ,MAAM;IACN1d,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;AAEd,EAAA,IAAIwtB,WAAW,GAAGjhB,aAAO,CAAC,YAAM;AAAA,IAAA,IAAA+yB,eAAA;IAC5B,IAAIjqB,KAAK,GAAGnI,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,MAAAA,GAAAA,MAAAA,GAAAA,QAAQ,CAAE0rB,SAAS,CAAC,UAAAvsB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAADA,IAAAA,IAAAA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEb,EAAE,CAAA;KAAC,CAAA;IAClE,IAAIuO,KAAK,GAAG,CAAC,EAAE;AACX,MAAA,OAAO,KAAK;AAChB;AACA,IAAA,OAAOnI,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAAA,CAAAoyB,eAAA,GAARpyB,QAAQ,CAAGmI,KAAK,CAAC,MAAAiqB,IAAAA,IAAAA,eAAA,KAAjBA,MAAAA,GAAAA,MAAAA,GAAAA,eAAA,CAAmB9R,WAAW;AACzC,GAAC,EAAE,CAACtgB,QAAQ,CAAC,CAAC;EACd,oBACI3H,KAAA,CAAAC,aAAA,CAACsM,iBAAe,qBACZvM,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPzU,IAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACvB,WAAY;AAC/B4F,IAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAE;AACnCoO,IAAAA,WAAW,EAAE,CAAE;AACfwF,IAAAA,YAAY,EAAE;GAEblN,EAAAA,eAAe,aAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA+K,qBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,qBAAA,CAAmCw0B,QAC5B,CAAC,eACbh6B,KAAA,CAAAC,aAAA,CAAC45B,YAAY,EAAA;AACTh7B,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAAgL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCw0B,YAAa;AACtDR,IAAAA,QAAQ,EAAE5D,SAAU;AACpB2D,IAAAA,QAAQ,EAAE5D;AAAS,GACtB,CAAC,eACF51B,KAAA,CAAAC,aAAA,CAAC45B,YAAY,EAAA;AACTh7B,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAkB,sBAAA,GAAflB,eAAe,CAAG/J,cAAc,CAAC,MAAAiL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCw0B,eAAgB;IACzDT,QAAQ,EAAE5D,SAAS,IAAI5N,WAAY;AACnCuR,IAAAA,QAAQ,EAAE1D,YAAa;AACvBpqB,IAAAA,QAAQ,EAAE,CAACmqB;AAAU,GACxB,CAAC,eAEF71B,KAAA,CAAAC,aAAA,CAACujB,MAAM,EAAA;AACH3kB,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAmB,sBAAA,GAAfnB,eAAe,CAAG/J,cAAc,CAAC,MAAAkL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmCw0B,QAAS;AAClDtsB,IAAAA,IAAI,eAAE7N,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEg5B;AAAW,KAAE,CAAE;AACvCznB,IAAAA,YAAY,EAAE,EAAG;AACjBH,IAAAA,SAAS,EAAE,EAAG;AACd7S,IAAAA,OAAO,EAAEq3B;GACZ,CAAC,EACD5d,MAAM,iBAAInY,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAEgY,MAAO;AAACjX,IAAAA,MAAM,EAAE,EAAG;AAACD,IAAAA,KAAK,EAAE;AAAG,GAAE,CAChD,CAAC;AAE1B,CAAC;AAED64B,SAAS,CAACz/B,SAAS,GAAGA,WAAS;;AC3DxB,IAAMA,WAAS,GAAG;EACrBmR,WAAW,EAAEjR,SAAS,CAACa;AAC3B,CAAC;;;ACFM,IAAMmR,eAAe,GAAGvO,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAMxC,CAAA,iHAAA,CAAA,CAAA,CAAA,CAAA;;ACGM,IAAMi8B,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAp7B,IAAA,EAAA;AAAA,EAAA,IAAAwG,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;AAAA,EAAA,IAAMlL,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;EAAA,oBAC9CuF,KAAA,CAAAC,aAAA,CAACsM,eAAe,qBACZvM,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPzU,IAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACvB,WAAY;AAC/B4F,IAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAE;AACnCoO,IAAAA,WAAW,EAAE,CAAE;AACfwF,IAAAA,YAAY,EAAE;GAEblN,EAAAA,eAAe,aAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA+K,qBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,qBAAA,CAAmC60B,gBAC5B,CAAC,eACbr6B,KAAA,CAAAC,aAAA,CAAC45B,YAAY,EAAA;AAACh7B,IAAAA,IAAI,EAAE2F,eAAe,KAAfA,IAAAA,IAAAA,eAAe,gBAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAgL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC60B;AAAc,GAAE,CAAC,eAExEt6B,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPrQ,IAAAA,QAAQ,EAAE,EAAG;AACbpE,IAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACN,QAAS;AAC5BkU,IAAAA,SAAS,EAAE,EAAG;AACdG,IAAAA,YAAY,EAAE,EAAG;AACjBvN,IAAAA,UAAU,EAAE;GAEXK,EAAAA,eAAe,aAAfA,eAAe,KAAA,MAAA,IAAA,CAAAkB,sBAAA,GAAflB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAiL,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmC60B,gCAC5B,CAAC,eACbv6B,KAAA,CAAAC,aAAA,CAACujB,MAAM,EAAA;AACH3kB,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAmB,sBAAA,GAAfnB,eAAe,CAAG/J,cAAc,CAAC,MAAAkL,IAAAA,IAAAA,sBAAA,KAAjCA,MAAAA,GAAAA,MAAAA,GAAAA,sBAAA,CAAmC60B,YAAa;AACtD3sB,IAAAA,IAAI,eAAE7N,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEs6B;AAAU,KAAE,CAAE;IACtClf,OAAO,EAAE9Z,cAAc,CAAC7F;AAAQ,GACnC,CACY,CAAC;AAAA,CACrB;AAEDw+B,iBAAiB,CAAC//B,SAAS,GAAGA,WAAS;;AC7BhC,IAAMqgC,aAAa,GAAG,SAAhBA,aAAaA,CAAA17B,IAAA,EAAA;AAAA,EAAA,IACtBX,mBAAmB,GAAAW,IAAA,CAAnBX,mBAAmB;IACnBg3B,oBAAoB,GAAAr2B,IAAA,CAApBq2B,oBAAoB;IAAAc,eAAA,GAAAn3B,IAAA,CACpBs2B,UAAU;AAAVA,IAAAA,UAAU,GAAAa,eAAA,KAAA,MAAA,GAAG,YAAM,EAAE,GAAAA,eAAA;IACrBZ,UAAU,GAAAv2B,IAAA,CAAVu2B,UAAU;IACVC,iBAAiB,GAAAx2B,IAAA,CAAjBw2B,iBAAiB;IACjBC,gBAAgB,GAAAz2B,IAAA,CAAhBy2B,gBAAgB;IAChBC,sBAAsB,GAAA12B,IAAA,CAAtB02B,sBAAsB;IACtBC,kBAAkB,GAAA32B,IAAA,CAAlB22B,kBAAkB;IAClBC,QAAQ,GAAA52B,IAAA,CAAR42B,QAAQ;IACRC,SAAS,GAAA72B,IAAA,CAAT62B,SAAS;IACTC,YAAY,GAAA92B,IAAA,CAAZ82B,YAAY;IACZC,SAAS,GAAA/2B,IAAA,CAAT+2B,SAAS;IACTpuB,QAAQ,GAAA3I,IAAA,CAAR2I,QAAQ;IACRwQ,MAAM,GAAAnZ,IAAA,CAANmZ,MAAM;IACN6d,iBAAiB,GAAAh3B,IAAA,CAAjBg3B,iBAAiB;IACjBC,mBAAmB,GAAAj3B,IAAA,CAAnBi3B,mBAAmB;IACnB3rB,mBAAmB,GAAAtL,IAAA,CAAnBsL,mBAAmB;IACnBC,qBAAqB,GAAAvL,IAAA,CAArBuL,qBAAqB;IACrBvP,oBAAoB,GAAAgE,IAAA,CAApBhE,oBAAoB;IACpBC,mBAAmB,GAAA+D,IAAA,CAAnB/D,mBAAmB;IACnB48B,sBAAsB,GAAA74B,IAAA,CAAtB64B,sBAAsB;IACtB18B,UAAU,GAAA6D,IAAA,CAAV7D,UAAU;IACVE,WAAW,GAAA2D,IAAA,CAAX3D,WAAW;IACXZ,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;AAAA,EAAA,oBAEduF,KAAA,CAAAC,aAAA,CAACzB,cAAc,EAAA;IAACktB,OAAO,EAAErtB,mBAAmB,IAAIg3B;AAAqB,GAAA,eACjEr1B,KAAA,CAAAC,aAAA,CAACi2B,aAAa,EAAA;AACVZ,IAAAA,UAAU,EAAEA,UAAW;AACvBj3B,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzC5D,IAAAA,cAAc,EAAEA;AAAe,GAClC,CAAC,eACFuF,KAAA,CAAAC,aAAA,CAAC22B,gBAAgB,EAAA;IAAClL,OAAO,EAAErtB,mBAAmB,IAAIg3B;AAAqB,GAAA,EAClEh3B,mBAAmB,MAAK8C,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAhBA,MAAAA,GAAAA,MAAAA,GAAAA,gBAAgB,CAAEC,QAAQ,CAC/CpB,gBAAAA,KAAA,CAAAC,aAAA,CAAC23B,eAAe,EAAA;AACZ3B,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCx7B,IAAAA,cAAc,EAAEA,cAAe;AAC/Bo9B,IAAAA,sBAAsB,EAAEA,sBAAuB;AAC/C78B,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCE,IAAAA,UAAU,EAAEA;AAAW,GAC1B,CAAC,GACFkD,mBAAmB,MAAK8C,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEtC,IAAI,CAC9CmB,gBAAAA,KAAA,CAAAC,aAAA,CAACq4B,WAAW,EAAA;AACRtC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCv7B,IAAAA,cAAc,EAAEA,cAAe;AAC/BU,IAAAA,UAAU,EAAEA,UAAW;AACvBE,IAAAA,WAAW,EAAEA;AAAY,GAC5B,CAAC,GACFgD,mBAAmB,MAAK8C,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEE,KAAK,CAC/CrB,gBAAAA,KAAA,CAAAC,aAAA,CAAC64B,YAAY,EAAA;AACTtD,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,sBAAsB,EAAEA,sBAAuB;AAC/CC,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCl7B,IAAAA,cAAc,EAAEA,cAAe;AAC/B6P,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CpP,IAAAA,UAAU,EAAEA;AAAW,GAC1B,CAAC,GACFkD,mBAAmB,MAAK8C,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEG,KAAK,CAC/CtB,gBAAAA,KAAA,CAAAC,aAAA,CAACq5B,YAAY,EAAA;AAAC/D,IAAAA,UAAU,EAAEA,UAAW;AAAC96B,IAAAA,cAAc,EAAEA;AAAe,GAAE,CAAC,GACxE4D,mBAAmB,MAAK8C,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEI,EAAE,CAC5CvB,gBAAAA,KAAA,CAAAC,aAAA,CAAC65B,SAAS,EAAA;AACNlE,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,SAAS,EAAEA,SAAU;AACrBpuB,IAAAA,QAAQ,EAAEA,QAAS;AACnBwQ,IAAAA,MAAM,EAAEA,MAAO;AACf1d,IAAAA,cAAc,EAAEA,cAAe;AAC/BU,IAAAA,UAAU,EAAEA;AAAW,GAC1B,CAAC,GACFkD,mBAAmB,MAAK8C,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEK,UAAU,CACpDxB,gBAAAA,KAAA,CAAAC,aAAA,CAACm6B,iBAAiB,EAAA;AAAC3/B,IAAAA,cAAc,EAAEA,cAAe;AAACU,IAAAA,UAAU,EAAEA;AAAW,GAAE,CAAC,GAC7E,IACU,CACN,CAAC;AAAA,CACpB;AAEDu/B,aAAa,CAACrgC,SAAS,GAAGA,WAAS;;ACzF5B,IAAMA,WAAS,GAAG;EACrB2R,QAAQ,EAAEzR,SAAS,CAACqE,IAAI;EACxB0D,eAAe,EAAE/H,SAAS,CAACC;AAC/B,CAAC;;ACDM,IAAMmgC,OAAO,GAAG,SAAVA,OAAOA,CAAA37B,IAAA,EAAA;AAAA,EAAA,IAAMgN,QAAQ,GAAAhN,IAAA,CAARgN,QAAQ;IAAA4uB,oBAAA,GAAA57B,IAAA,CAAEsD,eAAe;IAAfA,eAAe,GAAAs4B,oBAAA,KAAGx8B,MAAAA,GAAAA,KAAK,CAACT,KAAK,CAACD,iBAAiB,GAAAk9B,oBAAA;EAAA,oBAC/E56B,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACI2P,IAAAA,KAAK,EAAE;AACH1O,MAAAA,MAAM,EAAE,MAAM;AACdD,MAAAA,KAAK,EAAE,MAAM;AACbmM,MAAAA,QAAQ,EAAE,UAAU;AACpB2W,MAAAA,GAAG,EAAE,CAAC;AACNrH,MAAAA,MAAM,EAAE,CAAC;AACT7O,MAAAA,IAAI,EAAE,CAAC;AACPC,MAAAA,KAAK,EAAE,CAAC;AACR6O,MAAAA,UAAU,EAAEra,eAAe;AAC3B8R,MAAAA,OAAO,EAAE,MAAM;AACfuJ,MAAAA,UAAU,EAAE,QAAQ;AACpBxR,MAAAA,cAAc,EAAE,QAAQ;AACxB0Q,MAAAA,MAAM,EAAE;AACZ;AAAE,GAAA,EAED7Q,QACA,CAAC;AAAA,CACT;AAED2uB,OAAO,CAACtgC,SAAS,GAAGA,WAAS;;ACvBtB,IAAMA,SAAS,GAAG;EACrByJ,IAAI,EAAEvJ,SAAS,CAACC,MAAM;EACtBmD,KAAK,EAAEpD,SAAS,CAACC,MAAM;EACvBqgC,WAAW,EAAEtgC,SAAS,CAACC;AAC3B,CAAC;;;ACJD,IAAMsgC,IAAI,GAAGC,gBAAS,CAAA78B,eAAA,KAAAA,eAAA,GAAAC,sBAAA,CAIrB,CAAA,iDAAA,CAAA,CAAA,CAAA,CAAA;AAEM,IAAM68B,cAAc,GAAGh9B,MAAM,CAACC,GAAG,CAAAmB,gBAAA,KAAAA,gBAAA,GAAAjB,sBAAA,CAIvC,CAAA,gFAAA,CAAA,CAAA,CAAA,CAAA;AAEM,IAAM88B,OAAO,GAAGj9B,MAAM,CAACC,GAAG,CAAAwB,gBAAA,KAAAA,gBAAA,GAAAtB,sBAAA,CAAA,CAAA,eAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,2BAAA,EAAA,6CAAA,EAAA,wBAAA,CAAA,CAAA,CAAA,EACpB,UAAA+8B,KAAK,EAAA;AAAA,EAAA,OAAIA,KAAK,CAACp3B,IAAI,IAAI,MAAM;AAAA,CAAA,EAC5B,UAAAo3B,KAAK,EAAA;AAAA,EAAA,OAAIA,KAAK,CAACp3B,IAAI,IAAI,MAAM;AAAA,CAAA,EAC7B,UAAAo3B,KAAK,EAAA;AAAA,EAAA,OAAIA,KAAK,CAACL,WAAW,IAAI,KAAK;AAAA,CAAA,EACvC,UAAAK,KAAK,EAAA;AAAA,EAAA,OAAIA,KAAK,CAACv9B,KAAK,GAAG,IAAI,IAAI,wBAAwB;AAAA,CAAA,EACzC,UAAAu9B,KAAK,EAAA;AAAA,EAAA,OAAIA,KAAK,CAACv9B,KAAK,IAAI,SAAS;AAAA,CAAA,EAExCm9B,IAAI,CACpB;;AClBM,IAAMK,cAAc,GAAG,SAAjBA,cAAcA,CAAAn8B,IAAA,EAAA;AAAA,EAAA,IAAAo8B,SAAA,GAAAp8B,IAAA,CAAM8E,IAAI;AAAJA,IAAAA,IAAI,GAAAs3B,SAAA,KAAG,MAAA,GAAA,MAAM,GAAAA,SAAA;IAAAC,UAAA,GAAAr8B,IAAA,CAAErB,KAAK;AAALA,IAAAA,KAAK,GAAA09B,UAAA,KAAG,MAAA,GAAA,SAAS,GAAAA,UAAA;IAAAC,gBAAA,GAAAt8B,IAAA,CAAE67B,WAAW;AAAXA,IAAAA,WAAW,GAAAS,gBAAA,KAAG,MAAA,GAAA,KAAK,GAAAA,gBAAA;EAAA,oBAClFt7B,KAAA,CAAAC,aAAA,CAAC+6B,cAAc,qBACXh7B,KAAA,CAAAC,aAAA,CAACg7B,OAAO,EAAA;AAACn3B,IAAAA,IAAI,EAAEA,IAAK;AAACnG,IAAAA,KAAK,EAAEA,KAAM;AAACk9B,IAAAA,WAAW,EAAEA;AAAY,GAAE,CAClD,CAAC;AAAA,CACpB;AAEDM,cAAc,CAAC9gC,SAAS,GAAGA,SAAS;;ACVpC,SAAS,OAAO,CAAC,EAAE,EAAE;AACrB,EAAE,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;AACjC,EAAE,OAAO,UAAU,GAAG,EAAE;AACxB,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;AACtD,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC;AACrB,GAAG;AACH;;ACJA;AACA,IAAI,eAAe,GAAG,qgIAAqgI,CAAC;;AAE5hI,IAAI,WAAW,kBAAkB,OAAO,CAAC,UAAU,IAAI,EAAE;AACzD,EAAE,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK;AAC9D;AACA,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK;AAC5B;AACA,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE;AAC5B;AACA;AACA,CAAC;;ACqBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACO,IAAMkhC,MAAM,gBAAGC,gBAAU,CAC5B,UAAAx8B,IAAA,EAmBI2Q,GAAG,EACF;AAAA,EAAA,IAAA8rB,qBAAA,EAAAC,eAAA,EAAAC,eAAA,EAAAC,eAAA;AAAA,EAAA,IAAAlJ,UAAA,GAAA1zB,IAAA,CAlBG1E,KAAK;AAALA,IAAAA,KAAK,GAAAo4B,UAAA,KAAG,MAAA,GAAA,EAAE,GAAAA,UAAA;IAAAmJ,iBAAA,GAAA78B,IAAA,CACVtE,YAAY;AAAZA,IAAAA,YAAY,GAAAmhC,iBAAA,KAAGp4B,MAAAA,GAAAA,eAAe,GAAAo4B,iBAAA;IAC9BvxB,mBAAmB,GAAAtL,IAAA,CAAnBsL,mBAAmB;IACnB1P,YAAY,GAAAoE,IAAA,CAAZpE,YAAY;IAAAkhC,kBAAA,GAAA98B,IAAA,CACZnE,aAAa;AAAbA,IAAAA,aAAa,GAAAihC,kBAAA,KAAGp6B,MAAAA,GAAAA,wBAAwB,GAAAo6B,kBAAA;IACxChhC,iBAAiB,GAAAkE,IAAA,CAAjBlE,iBAAiB;IAAAihC,qBAAA,GAAA/8B,IAAA,CACjBhE,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAA+gC,qBAAA,KAAG,MAAA,GAAA,EAAE,GAAAA,qBAAA;IAAAC,qBAAA,GAAAh9B,IAAA,CACzB/D,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAA+gC,qBAAA,KAAG,MAAA,GAAA,EAAE,GAAAA,qBAAA;IACxBnE,sBAAsB,GAAA74B,IAAA,CAAtB64B,sBAAsB;IAAAoE,WAAA,GAAAj9B,IAAA,CACtB9D,MAAM;AAANA,IAAAA,MAAM,GAAA+gC,WAAA,KAAG,MAAA,GAAA,gBAAgB,GAAAA,WAAA;IAAAC,eAAA,GAAAl9B,IAAA,CACzB7D,UAAU;AAAVA,IAAAA,UAAU,GAAA+gC,eAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,eAAA;IACf7gC,WAAW,GAAA2D,IAAA,CAAX3D,WAAW;IACXC,MAAM,GAAA0D,IAAA,CAAN1D,MAAM;IACNuoB,cAAc,GAAA7kB,IAAA,CAAd6kB,cAAc;IACdroB,cAAc,GAAAwD,IAAA,CAAdxD,cAAc;IAAA2gC,WAAA,GAAAn9B,IAAA,CACdvD,MAAM;AAANA,IAAAA,MAAM,GAAA0gC,WAAA,KAAG,MAAA,GAAA,IAAI,GAAAA,WAAA;AAIjB,EAAA,IAAMxzB,QAAQ,GAAGqG,YAAM,CAAC,IAAI,CAAC;AAC7B,EAAA,IAAAP,SAAA,GAAsCC,cAAQ,CAACvN,gBAAgB,CAACC,QAAQ,CAAC;IAAAuN,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlErH,IAAAA,WAAW,GAAAuH,UAAA,CAAA,CAAA,CAAA;AAAEytB,IAAAA,cAAc,GAAAztB,UAAA,CAAA,CAAA,CAAA;EAClC,IAAA8O,UAAA,GAA4C/O,cAAQ,CAACmM,cAAc,CAACpf,MAAM,CAAC,CAAC;IAAAiiB,UAAA,GAAA9O,cAAA,CAAA6O,UAAA,EAAA,CAAA,CAAA;AAArEhjB,IAAAA,cAAc,GAAAijB,UAAA,CAAA,CAAA,CAAA;AAAE2e,IAAAA,iBAAiB,GAAA3e,UAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAoJ,UAAA,GAAwCpY,cAAQ,CAAC,IAAI,CAAC;IAAAqY,UAAA,GAAAnY,cAAA,CAAAkY,UAAA,EAAA,CAAA,CAAA;AAA/Czc,IAAAA,YAAY,GAAA0c,UAAA,CAAA,CAAA,CAAA;AAAEuV,IAAAA,eAAe,GAAAvV,UAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAA8D,UAAA,GAA0Cnc,cAAQ,CAAC,IAAI,CAAC;IAAAoc,UAAA,GAAAlc,cAAA,CAAAic,UAAA,EAAA,CAAA,CAAA;AAAjDzgB,IAAAA,aAAa,GAAA0gB,UAAA,CAAA,CAAA,CAAA;AAAEyR,IAAAA,gBAAgB,GAAAzR,UAAA,CAAA,CAAA,CAAA;AACtC,EAAA,IAAA0R,UAAA,GAA8B9tB,cAAQ,CAAC,KAAK,CAAC;IAAA+tB,WAAA,GAAA7tB,cAAA,CAAA4tB,UAAA,EAAA,CAAA,CAAA;AAAtCE,IAAAA,OAAO,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,UAAU,GAAAF,WAAA,CAAA,CAAA,CAAA;AAC1B,EAAA,IAAAG,WAAA,GAAoDluB,cAAQ,CAAC,KAAK,CAAC;IAAAmuB,WAAA,GAAAjuB,cAAA,CAAAguB,WAAA,EAAA,CAAA,CAAA;AAA5DE,IAAAA,kBAAkB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEtyB,IAAAA,qBAAqB,GAAAsyB,WAAA,CAAA,CAAA,CAAA;AAChD,EAAA,IAAAE,WAAA,GAAwDruB,cAAQ,CAAC,IAAI,CAAC;IAAAsuB,WAAA,GAAApuB,cAAA,CAAAmuB,WAAA,EAAA,CAAA,CAAA;AAA/D1H,IAAAA,oBAAoB,GAAA2H,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,uBAAuB,GAAAD,WAAA,CAAA,CAAA,CAAA;AACpD,EAAA,IAAAE,WAAA,GAA4CxuB,cAAQ,CAAC,GAAG,CAAC;IAAAyuB,WAAA,GAAAvuB,cAAA,CAAAsuB,WAAA,EAAA,CAAA,CAAA;AAAlD71B,IAAAA,cAAc,GAAA81B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,iBAAiB,GAAAD,WAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAE,WAAA,GAAgC3uB,cAAQ,CAAChU,YAAY,CAAC;IAAA4iC,WAAA,GAAA1uB,cAAA,CAAAyuB,WAAA,EAAA,CAAA,CAAA;AAA/C11B,IAAAA,QAAQ,GAAA21B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,WAAW,GAAAD,WAAA,CAAA,CAAA,CAAA;AAC5B,EAAA,IAAAE,WAAA,GAA4D9uB,cAAQ,CAAC,CAAC,CAAC;IAAA+uB,WAAA,GAAA7uB,cAAA,CAAA4uB,WAAA,EAAA,CAAA,CAAA;AAAhE10B,IAAAA,sBAAsB,GAAA20B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,yBAAyB,GAAAD,WAAA,CAAA,CAAA,CAAA;AACxD,EAAA,IAAAE,WAAA,GAA8BjvB,cAAQ,CAAC,EAAE,CAAC;IAAAkvB,WAAA,GAAAhvB,cAAA,CAAA+uB,WAAA,EAAA,CAAA,CAAA;AAAnC/1B,IAAAA,OAAO,GAAAg2B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,UAAU,GAAAD,WAAA,CAAA,CAAA,CAAA;AAC1B,EAAA,IAAAE,WAAA,GAAkCpvB,cAAQ,CAAC,EAAE,CAAC;IAAAqvB,WAAA,GAAAnvB,cAAA,CAAAkvB,WAAA,EAAA,CAAA,CAAA;AAAvCj2B,IAAAA,SAAS,GAAAk2B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,YAAY,GAAAD,WAAA,CAAA,CAAA,CAAA;EAC9B,IAAAE,WAAA,GAA4CvvB,cAAQ,CAACtQ,KAAK,CAACT,KAAK,CAAC5B,KAAK,CAAC;IAAAmiC,WAAA,GAAAtvB,cAAA,CAAAqvB,WAAA,EAAA,CAAA,CAAA;AAAhE91B,IAAAA,cAAc,GAAA+1B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,iBAAiB,GAAAD,WAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAE,WAAA,GAAgD1vB,cAAQ,CAAC,CAAC,CAAC;IAAA2vB,WAAA,GAAAzvB,cAAA,CAAAwvB,WAAA,EAAA,CAAA,CAAA;AAApDl2B,IAAAA,gBAAgB,GAAAm2B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,mBAAmB,GAAAD,WAAA,CAAA,CAAA,CAAA;EAC5C,IAAAE,WAAA,GAAgD7vB,cAAQ,CAACtQ,KAAK,CAACT,KAAK,CAACF,KAAK,CAAC;IAAA+gC,WAAA,GAAA5vB,cAAA,CAAA2vB,WAAA,EAAA,CAAA,CAAA;AAApEt2B,IAAAA,gBAAgB,GAAAu2B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,mBAAmB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAC5C,EAAA,IAAAE,WAAA,GAAwChwB,cAAQ,CAAC,CAAC,CAAC;IAAAiwB,WAAA,GAAA/vB,cAAA,CAAA8vB,WAAA,EAAA,CAAA,CAAA;AAA5Cn2B,IAAAA,YAAY,GAAAo2B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,eAAe,GAAAD,WAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAAE,WAAA,GAAgDnwB,cAAQ,CAAC,CAAC,CAAC;IAAAowB,WAAA,GAAAlwB,cAAA,CAAAiwB,WAAA,EAAA,CAAA,CAAA;AAApDz1B,IAAAA,gBAAgB,GAAA01B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,mBAAmB,GAAAD,WAAA,CAAA,CAAA,CAAA;EAC5C,IAAAE,WAAA,GAAgDtwB,cAAQ,CAACtQ,KAAK,CAACT,KAAK,CAACF,KAAK,CAAC;IAAAwhC,WAAA,GAAArwB,cAAA,CAAAowB,WAAA,EAAA,CAAA,CAAA;AAApE31B,IAAAA,gBAAgB,GAAA41B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,mBAAmB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAC5C,EAAA,IAAAE,WAAA,GAAwCzwB,cAAQ,CAAC,CAAC,CAAC;IAAA0wB,WAAA,GAAAxwB,cAAA,CAAAuwB,WAAA,EAAA,CAAA,CAAA;AAA5C71B,IAAAA,YAAY,GAAA81B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,eAAe,GAAAD,WAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAAE,WAAA,GAA0C5wB,cAAQ,CAAC,CAAC,CAAC;IAAA6wB,WAAA,GAAA3wB,cAAA,CAAA0wB,WAAA,EAAA,CAAA,CAAA;AAA9C51B,IAAAA,aAAa,GAAA61B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,gBAAgB,GAAAD,WAAA,CAAA,CAAA,CAAA;EACtC,IAAAE,WAAA,GAA0C/wB,cAAQ,CAACtQ,KAAK,CAACT,KAAK,CAACF,KAAK,CAAC;IAAAiiC,WAAA,GAAA9wB,cAAA,CAAA6wB,WAAA,EAAA,CAAA,CAAA;AAA9D91B,IAAAA,aAAa,GAAA+1B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,gBAAgB,GAAAD,WAAA,CAAA,CAAA,CAAA;AACtC,EAAA,IAAAE,WAAA,GAAkClxB,cAAQ,CAAC,CAAC,CAAC;IAAAmxB,WAAA,GAAAjxB,cAAA,CAAAgxB,WAAA,EAAA,CAAA,CAAA;AAAtCh2B,IAAAA,SAAS,GAAAi2B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,YAAY,GAAAD,WAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAAE,WAAA,GAA8CrxB,cAAQ,CAAC,IAAI,CAAC;IAAAsxB,WAAA,GAAApxB,cAAA,CAAAmxB,WAAA,EAAA,CAAA,CAAA;AAArDt3B,IAAAA,eAAe,GAAAu3B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,kBAAkB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAC1C,EAAA,IAAAE,WAAA,GAAgDxxB,cAAQ,CAAC9T,YAAY,IAAI,EAAE,CAAC;IAAAulC,WAAA,GAAAvxB,cAAA,CAAAsxB,WAAA,EAAA,CAAA,CAAA;AAArEzK,IAAAA,gBAAgB,GAAA0K,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,mBAAmB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAC5C,EAAA,IAAAE,WAAA,GAA4B3xB,cAAQ,CAAC,IAAI,CAAC;IAAA4xB,WAAA,GAAA1xB,cAAA,CAAAyxB,WAAA,EAAA,CAAA,CAAA;AAAnCloB,IAAAA,MAAM,GAAAmoB,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,SAAS,GAAAD,WAAA,CAAA,CAAA,CAAA;AACxB,EAAA,IAAAE,WAAA,GAAgD9xB,cAAQ,CAACzK,cAAc,CAAC;IAAAw8B,WAAA,GAAA7xB,cAAA,CAAA4xB,WAAA,EAAA,CAAA,CAAA;AAAjEx2B,IAAAA,gBAAgB,GAAAy2B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,mBAAmB,GAAAD,WAAA,CAAA,CAAA,CAAA;EAC5CE,yBAAmB,CAAChxB,GAAG,EAAE,YAAA;IAAA,OAAO;MAC5BrU,MAAM,EAAA,YAAA;QAAA,IAAAslC,OAAA,GAAAppB,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAE,SAAAC,OAAA,GAAA;UAAA,IAAAkpB,iBAAA,EAAA5mB,OAAA;AAAA,UAAA,OAAAxC,mBAAA,EAAA,CAAAK,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,YAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,cAAA,KAAA,CAAA;gBACJykB,UAAU,CAAC,IAAI,CAAC;gBAChBsD,kBAAkB,CAAC,IAAI,CAAC;gBACxB7C,iBAAiB,CAAC,GAAG,CAAC;AAACplB,gBAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;AAAA,gBAAA,OACjB,IAAIlE,OAAO,CAAC,UAAAC,OAAO,EAAA;AAAA,kBAAA,OAAInD,UAAU,CAACmD,OAAO,EAAE,GAAG,CAAC;iBAAC,CAAA;AAAA,cAAA,KAAA,CAAA;AAClD4sB,gBAAAA,iBAAiB,GAAG1nB,mBAAmB,CAACxR,QAAQ,CAAC;AAAAqQ,gBAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;gBAAA,OAC/BqB,kBAAkB,CAAC5Q,QAAQ,CAAC;AAAA,cAAA,KAAA,CAAA;gBAA5CsR,OAAO,GAAAjC,QAAA,CAAAsC,IAAA;gBACbqiB,UAAU,CAAC,KAAK,CAAC;gBAAC,OAAA3kB,QAAA,CAAAU,MAAA,CACX,QAAA,EAAA;AAAE/Q,kBAAAA,QAAQ,EAAEk5B,iBAAiB;AAAEx/B,kBAAAA,KAAK,EAAE4Y;iBAAS,CAAA;AAAA,cAAA,KAAA,EAAA;AAAA,cAAA,KAAA,KAAA;gBAAA,OAAAjC,QAAA,CAAAkB,IAAA,EAAA;AAAA;AAAA,WAAA,EAAAvB,OAAA,CAAA;SACzD,CAAA,CAAA;AAAA,QAAA,SATDrc,MAAMA,GAAA;AAAA,UAAA,OAAAslC,OAAA,CAAAxrB,KAAA,CAAA,IAAA,EAAAJ,SAAA,CAAA;AAAA;AAAA,QAAA,OAAN1Z,MAAM;AAAA,OAAA;KAUT;AAAA,GAAC,CAAC;AACH;AACA2T,EAAAA,eAAS,CAAC,YAAM;AACZotB,IAAAA,iBAAiB,CAACxhB,cAAc,CAACpf,MAAM,CAAC,CAAC;AAC7C,GAAC,EAAE,CAACA,MAAM,CAAC,CAAC;AAEZwT,EAAAA,eAAS,CAAC,YAAM;IACZmxB,mBAAmB,CAACxlC,YAAY,CAAC;AACrC,GAAC,EAAE,CAACA,YAAY,CAAC,CAAC;AAElBqU,EAAAA,eAAS,CAAC,YAAM;IACZqtB,eAAe,CAAC,IAAI,CAAC;AACrBzmB,IAAAA,kBAAkB,EAAE,CACfwB,IAAI,CAAC,YAAM;AACR;AACA;AAAA,KACH,CAAC,CAAA,OAAA,CACI,CAAC,UAAAC,GAAG,EAAI;AACV;AACAkQ,MAAAA,OAAO,CAACC,KAAK,CAAC,wBAAwB,EAAEnQ,GAAG,CAAC;KAC/C,CAAC,CACM,SAAA,CAAA,CAAC,YAAM;AACXxG,MAAAA,UAAU,CAAC,YAAM;QACbwrB,eAAe,CAAC,KAAK,CAAC;OACzB,EAAE,IAAI,CAAC;AACR;AACA9U,MAAAA,OAAO,CAACsZ,GAAG,CAAC,2BAA2B,CAAC;AAC5C,KAAC,CAAC;GACT,EAAE,EAAE,CAAC;AACN7xB,EAAAA,eAAS,CAAC,YAAM;IACZ8xB,UAAU,CAACrmC,YAAY,CAAC;IACxB6iC,WAAW,CAAC7iC,YAAY,CAAC;AAC7B,GAAC,EAAAsmC,kBAAA,CAAMtmC,YAAY,CAAC,CAAC;AAErB,EAAA,IAAMqmC,UAAU,GAAG,SAAbA,UAAUA,CAAGE,KAAK,EAAI;IACxB1E,gBAAgB,CAAC,IAAI,CAAC;IACtBhlB,qBAAqB,CAAC0pB,KAAK,CAAC,CACvB5pB,IAAI,CAAC,UAAApY,KAAA,EAAgB;AAAA,MAAA,IAAb+Z,MAAM,GAAA/Z,KAAA,CAAN+Z,MAAM;AACX;AACA;MACA,IAAI,CAAAA,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAE7I,MAAM,IAAG,CAAC,EAAE;AACpB;AACAqX,QAAAA,OAAO,CAACsZ,GAAG,CAAC,kBAAkB,EAAE9nB,MAAM,CAAC;AAC3C;AACJ,KAAC,CAAC,CAAA,OAAA,CACI,CAAC,UAAA1B,GAAG,EAAI;AACV;AACAkQ,MAAAA,OAAO,CAACC,KAAK,CAAC,8BAA8B,EAAEnQ,GAAG,CAAC;KACrD,CAAC,CACM,SAAA,CAAA,CAAC,YAAM;MACXilB,gBAAgB,CAAC,KAAK,CAAC;AAC3B,KAAC,CAAC;GACT;AAED,EAAA,IAAM/0B,YAAY,GAAGR,aAAO,CAAC,YAAM;IAAA,IAAAk6B,oBAAA,EAAAC,cAAA;AAC/B,IAAA,OAAOttB,wBAAwB,CAAAqtB,CAAAA,oBAAA,GAC3BngC,mBAAmB,CACf,CAAA4G,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAAA,CAAAw5B,cAAA,GAARx5B,QAAQ,CAAEioB,IAAI,CAAC,UAAA9oB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAADA,IAAAA,IAAAA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEC,QAAQ,CAAA;KAAC,CAAA,MAAA,IAAA,IAAA8+B,cAAA,KAAvDA,MAAAA,GAAAA,MAAAA,GAAAA,cAAA,CAAyDr9B,IAAI,MAAIxD,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,GAAA,MAAA,GAATA,SAAS,CAAEC,EAAE,CACjF,CAAA,MAAA,IAAA,IAAA2gC,oBAAA,KAAA,MAAA,GAAA,MAAA,GAFDA,oBAAA,CAEGhgC,MAAM,EACTmG,cACJ,CAAC;AACL,GAAC,EAAE,CAACA,cAAc,EAAEM,QAAQ,CAAC,CAAC;AAC9B,EAAA,IAAMF,WAAW,GAAGT,aAAO,CAAC,YAAM;IAAA,IAAAo6B,qBAAA,EAAAC,eAAA;AAC9B,IAAA,OAAOxtB,wBAAwB,CAAAutB,CAAAA,qBAAA,GAC3BrgC,mBAAmB,CACf,CAAA4G,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAAA,CAAA05B,eAAA,GAAR15B,QAAQ,CAAEioB,IAAI,CAAC,UAAA9oB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAADA,IAAAA,IAAAA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEC,QAAQ,CAAA;KAAC,CAAA,MAAA,IAAA,IAAAg/B,eAAA,KAAvDA,MAAAA,GAAAA,MAAAA,GAAAA,eAAA,CAAyDv9B,IAAI,MAAIxD,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,GAAA,MAAA,GAATA,SAAS,CAAEC,EAAE,CACjF,CAAA,MAAA,IAAA,IAAA6gC,qBAAA,KAAA,MAAA,GAAA,MAAA,GAFDA,qBAAA,CAEGngC,KAAK,EACRoG,cACJ,CAAC;AACL,GAAC,EAAE,CAACA,cAAc,EAAEM,QAAQ,CAAC,CAAC;AAC9B,EAAA,IAAMwC,gBAAgB,GAAGnD,aAAO,CAAC,YAAM;AAAA,IAAA,IAAAs6B,eAAA;AACnC,IAAA,OAAO,CAAA35B,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAAA25B,MAAAA,IAAAA,CAAAA,eAAA,GAAR35B,QAAQ,CAAEioB,IAAI,CAAC,UAAA9oB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAADA,IAAAA,IAAAA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEC,QAAQ,CAAA;AAAA,KAAA,CAAC,MAAAi/B,IAAAA,IAAAA,eAAA,KAAvDA,MAAAA,GAAAA,MAAAA,GAAAA,eAAA,CAAyDx9B,IAAI,MAAIxD,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAATA,MAAAA,GAAAA,MAAAA,GAAAA,SAAS,CAAEC,EAAE,CAAA;AACzF,GAAC,EAAE,CAACoH,QAAQ,CAAC,CAAC;AAEd,EAAA,IAAM45B,aAAa,GAAG16B,iBAAW,CAC7B,UAAA26B,GAAG,EAAI;IACHvB,kBAAkB,CAAC,IAAI,CAAC;IACxB7D,cAAc,CAACoF,GAAG,CAAC;IACnBvE,uBAAuB,CAAC,IAAI,CAAC;AACjC,GAAC,EACD,CAACb,cAAc,CACnB,CAAC;AAED,EAAA,IAAMqF,uBAAuB,GAAG56B,iBAAW,CAAC,YAAM;IAC9Co2B,uBAAuB,CAAC,KAAK,CAAC;AAClC,GAAC,EAAE,CAACA,uBAAuB,CAAC,CAAC;AAE7B,EAAA,IAAM11B,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGuM,UAAU,EAAI;IACzCspB,iBAAiB,CAACtpB,UAAU,CAAC;GAChC;AAED,EAAA,IAAMlL,WAAW,GAAG,SAAdA,WAAWA,CAAG84B,WAAW,EAAI;IAC/B7D,UAAU,CAAA,EAAA,CAAAl6B,MAAA,CAAAq9B,kBAAA,CAAKp5B,OAAO,CAAA,EAAA,CAAED,QAAQ,CAAA,CAAC,CAAC;IAClCq2B,YAAY,CAAC,EAAE,CAAC;IAChBT,WAAW,CAACmE,WAAW,CAAC;GAC3B;AAED,EAAA,IAAMh6B,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAG/J,KAAK,EAAI;IAClC,IAAI,CAACA,KAAK,EAAE;AACR,MAAA;AACJ;AACA,IAAA,IAAIgkC,UAAU;AACd,IAAA,IAAIC,SAAS,GAAAZ,kBAAA,CAAOr5B,QAAQ,CAAC;AAC7B,IAAA,IAAIk6B,oBAAoB,GAAGD,SAAS,CAACvO,SAAS,CAC1C,UAAAvsB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAADA,IAAAA,IAAAA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEE,eAAe,CAAA;AAAA,KAClD,CAAC;AACD,IAAA,IAAIu/B,oBAAoB,GAAG,EAAE,EAAE;AAC3BD,MAAAA,SAAS,CAACE,MAAM,CAACD,oBAAoB,EAAE,CAAC,CAAC;AAC7C;AACAF,IAAAA,UAAU,GAAG;AACTj+B,MAAAA,IAAI,EAAEtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEE,eAAe;MACnCvC,EAAE,EAAA,SAAA,CAAA4D,MAAA,CAAYC,IAAI,CAACC,GAAG,EAAE,CAAE;AAC1BlG,MAAAA,KAAK,EAAEA;KACV;IAEDiL,WAAW,CAAA,EAAA,CAAAjF,MAAA,CAAAq9B,kBAAA,CAAKY,SAAS,CAAA,EAAA,CAAED,UAAU,CAAA,CAAC,CAAC;GAC1C;AACD,EAAA,IAAMz3B,aAAa,GAAG,SAAhBA,aAAaA,CAAGpG,IAAI,EAAI;IAC1B,IAAI,CAACA,IAAI,EAAE;AACP,MAAA;AACJ;AAEA,IAAA,IAAI89B,SAAS,GAAGG,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAACt6B,QAAQ,CAAC,CAAC;AACpD,IAAA,IAAIu6B,SAAS,GAAGN,SAAS,CAACvO,SAAS,CAAC,UAAAvsB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAADA,IAAAA,IAAAA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEC,QAAQ,CAAA;KAAC,CAAA;AAC5E,IAAA,IAAI6/B,SAAS,GAAG,EAAE,EAAE;AAChBN,MAAAA,SAAS,CAACM,SAAS,CAAC,CAAC,MAAM,CAAC,GAAGp+B,IAAI;AACvC,KAAC,MAAM;AACH,MAAA,IAAIq+B,WAAW,GAAG;AACdz+B,QAAAA,IAAI,EAAEtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEC,QAAQ;QAC5BtC,EAAE,EAAA,SAAA,CAAA4D,MAAA,CAAYC,IAAI,CAACC,GAAG,EAAE,CAAE;AAC1BC,QAAAA,IAAI,EAAEA;OACT;AACD89B,MAAAA,SAAS,CAAC1qB,IAAI,CAACirB,WAAW,CAAC;AAC/B;AAEAv5B,IAAAA,WAAW,CAACuQ,mBAAmB,CAACyoB,SAAS,CAAC,CAAC;GAC9C;EAED,IAAMp3B,yBAAwB,GAAG,SAA3BA,wBAAwBA,CAAI9G,IAAI,EAAEuN,KAAK,EAAK;AAC9C,IAAA,IAAI2wB,SAAS,GAAGG,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAACt6B,QAAQ,CAAC,CAAC;AACpD,IAAA,IAAIu6B,SAAS,GAAGN,SAAS,CAACvO,SAAS,CAAC,UAAAvsB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAADA,IAAAA,IAAAA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEC,QAAQ,CAAA;KAAC,CAAA;AAC5E,IAAA,IAAI6/B,SAAS,GAAG,EAAE,EAAE;AAChBN,MAAAA,SAAS,CAACM,SAAS,CAAC,CAACx+B,IAAI,CAAC,GAAGuN,KAAK;AACtC,KAAC,MAAM;AACH,MAAA,IAAIkxB,WAAW,GAAG;AACdz+B,QAAAA,IAAI,EAAEtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEC,QAAQ;AAC5BtC,QAAAA,EAAE,YAAA4D,MAAA,CAAYC,IAAI,CAACC,GAAG,EAAE;OAC3B;AACDs+B,MAAAA,WAAW,CAACz+B,IAAI,CAAC,GAAGuN,KAAK;AACzB2wB,MAAAA,SAAS,CAAC1qB,IAAI,CAACirB,WAAW,CAAC;AAC/B;AACAv5B,IAAAA,WAAW,CAACuQ,mBAAmB,CAACyoB,SAAS,CAAC,CAAC;GAC9C;AAED,EAAA,IAAMQ,UAAU,GAAG,SAAbA,UAAUA,CAAG3tB,IAAI,EAAI;IACvB7L,WAAW,CAAA,EAAA,CAAAjF,MAAA,CAAAq9B,kBAAA,CAAKr5B,QAAQ,CAAA,EAAA,CAAE8M,IAAI,CAAA,CAAC,CAAC;IAChCwrB,kBAAkB,CAACxrB,IAAI,CAAC;GAC3B;AAED,EAAA,IAAM4tB,QAAQ,GAAG,SAAXA,QAAQA,CAAG3+B,IAAI,EAAI;AACrB,IAAA,IAAI4+B,UAAU,GAAG;MACbviC,EAAE,EAAA,SAAA,CAAA4D,MAAA,CAAYC,IAAI,CAACC,GAAG,EAAE,CAAE;AAC1BkkB,MAAAA,CAAC,EAAEtgB,WAAW,GAAG,CAAC,GAAG,EAAE;AACvBugB,MAAAA,CAAC,EAAExgB,YAAY,GAAG,CAAC,GAAG,EAAE;AACxBgb,MAAAA,IAAI,EAAEra,cAAc;AACpBia,MAAAA,MAAM,EAAEna,gBAAgB;AACxBka,MAAAA,WAAW,EAAEja,gBAAgB;AAC7BhE,MAAAA,OAAO,EAAEqE,YAAY;AACrB7E,MAAAA,IAAI,EAAEA,IAAI;AACVkf,MAAAA,SAAS,EAAE;KACd;AACD,IAAA,IAAIlf,IAAI,KAAKtB,YAAY,CAACI,MAAM,EAAE;AAC9B8/B,MAAAA,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE;AACzBA,MAAAA,UAAU,CAAC,GAAG,CAAC,GAAG76B,WAAW,GAAG,CAAC;AACjC66B,MAAAA,UAAU,CAAC,GAAG,CAAC,GAAG96B,YAAY,GAAG,CAAC;MAClC46B,UAAU,CAACE,UAAU,CAAC;AAC1B,KAAC,MAAM,IAAI5+B,IAAI,KAAKtB,YAAY,CAACK,MAAM,EAAE;AACrC6/B,MAAAA,UAAU,CAAC,QAAQ,CAAC,GAAG,GAAG;AAC1BA,MAAAA,UAAU,CAAC,OAAO,CAAC,GAAG,GAAG;AACzBA,MAAAA,UAAU,CAAC,MAAM,CAAC,GAAGlgC,YAAY,CAACK,MAAM;MAExC2/B,UAAU,CAACE,UAAU,CAAC;AAC1B,KAAC,MAAM,IAAI5+B,IAAI,KAAKtB,YAAY,CAACO,UAAU,EAAE;AACzC2/B,MAAAA,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACrCA,MAAAA,UAAU,CAAC,eAAe,CAAC,GAAG,EAAE;AAChCA,MAAAA,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE;AAC/BA,MAAAA,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC;AAC7BA,MAAAA,UAAU,CAAC,MAAM,CAAC,GAAGr6B,gBAAgB;MACrCm6B,UAAU,CAACE,UAAU,CAAC;AAC1B,KAAC,MAAM,IAAI5+B,IAAI,KAAKtB,YAAY,CAACM,QAAQ,EAAE;AACvC4/B,MAAAA,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC;AACvBA,MAAAA,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE;AACzBA,MAAAA,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;AAC1BA,MAAAA,UAAU,CAAC,GAAG,CAAC,GAAG76B,WAAW,GAAG,CAAC;AACjC66B,MAAAA,UAAU,CAAC,GAAG,CAAC,GAAG96B,YAAY,GAAG,CAAC;MAClC46B,UAAU,CAACE,UAAU,CAAC;AAC1B,KAAC,MAAM,IAAI5+B,IAAI,KAAKtB,YAAY,CAACW,KAAK,EAAE;MACpCu/B,UAAU,CAAC,MAAM,CAAC,GAEE,mFAAA;MACpBA,UAAU,CAAC,OAAO,CAAC,GAAG;AAAEva,QAAAA,CAAC,EAAE,CAAC;AAAEC,QAAAA,CAAC,EAAE;OAAG;MACpCoa,UAAU,CAACE,UAAU,CAAC;AAC1B,KAAC,MAAM,IAAI5+B,IAAI,KAAKtB,YAAY,CAACU,IAAI,EAAE;AACnCw/B,MAAAA,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC;AAC3BA,MAAAA,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE;AAC9BA,MAAAA,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE;AAC9BA,MAAAA,UAAU,CAAC,GAAG,CAAC,GAAG76B,WAAW,GAAG,CAAC;AACjC66B,MAAAA,UAAU,CAAC,GAAG,CAAC,GAAG96B,YAAY,GAAG,CAAC;MAClC46B,UAAU,CAACE,UAAU,CAAC;AAC1B,KAAC,MAAM,IAAI5+B,IAAI,KAAKtB,YAAY,CAACQ,cAAc,EAAE;AAC7C,MAAA,IAAM2/B,OAAO,GAAG/6B,YAAY,GAAG,CAAC;AAChC86B,MAAAA,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAEC,OAAO,EAAE96B,WAAW,GAAG,EAAE,EAAE86B,OAAO,CAAC;AAC/DD,MAAAA,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;AACnBA,MAAAA,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;AACnBA,MAAAA,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC;MAE7BF,UAAU,CAACE,UAAU,CAAC;AAC1B,KAAC,MAAM,IAAI5+B,IAAI,KAAKtB,YAAY,CAACS,YAAY,EAAE;AAC3C,MAAA,IAAM2/B,OAAO,GAAG/6B,WAAW,GAAG,CAAC;AAC/B66B,MAAAA,UAAU,CAAC,QAAQ,CAAC,GAAG,CAACE,OAAO,EAAE,EAAE,EAAEA,OAAO,EAAEh7B,YAAY,GAAG,EAAE,CAAC;AAChE86B,MAAAA,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;AACnBA,MAAAA,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;AACnBA,MAAAA,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC;MAE7BF,UAAU,CAACE,UAAU,CAAC;AAC1B;AACA;GACH;AAED,EAAA,IAAMx6B,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAG3I,GAAG,EAAI;AAChC,IAAA,IAAIwiC,UAAU;AACd,IAAA,IAAIC,SAAS,GAAAZ,kBAAA,CAAOr5B,QAAQ,CAAC;AAC7B,IAAA,IAAI4rB,oBAAoB,GAAGqO,SAAS,CAACvO,SAAS,CAC1C,UAAAvsB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAADA,IAAAA,IAAAA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEG,eAAe,CAAA;AAAA,KAClD,CAAC;AACD,IAAA,IAAIgxB,oBAAoB,GAAG,EAAE,EAAE;AAC3BqO,MAAAA,SAAS,CAACE,MAAM,CAACvO,oBAAoB,EAAE,CAAC,CAAC;AAC7C;AACAoO,IAAAA,UAAU,GAAG;AACTj+B,MAAAA,IAAI,EAAEtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEG,eAAe;MACnCxC,EAAE,EAAA,SAAA,CAAA4D,MAAA,CAAYC,IAAI,CAACC,GAAG,EAAE,CAAE;AAC1B1D,MAAAA,GAAG,EAAEhB,GAAG;AACR+E,MAAAA,OAAO,EAAE4E;KACZ;IACDF,WAAW,CAAA,EAAA,CAAAjF,MAAA,CAAAq9B,kBAAA,CAAKY,SAAS,CAAA,EAAA,CAAED,UAAU,CAAA,CAAC,CAAC;GAC1C;AACD,EAAA,IAAM5jB,uBAAuB,GAAG,SAA1BA,uBAAuBA,GAAS;AAClC,IAAA,IAAI6jB,SAAS,GAAGG,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAACt6B,QAAQ,CAAC,CAAC;AACpD,IAAA,IAAI4rB,oBAAoB,GAAGqO,SAAS,CAACvO,SAAS,CAC1C,UAAAvsB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAADA,IAAAA,IAAAA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEG,eAAe,CAAA;AAAA,KAClD,CAAC;AACD,IAAA,IAAIgxB,oBAAoB,GAAG,EAAE,EAAE;AAC3BqO,MAAAA,SAAS,CAACE,MAAM,CAACvO,oBAAoB,EAAE,CAAC,CAAC;MACzC3qB,WAAW,CAACg5B,SAAS,CAAC;AAC1B;GACH;AAED,EAAA,IAAM/4B,8BAA8B,GAAG,SAAjCA,8BAA8BA,CAAG45B,GAAG,EAAI;IAC1C,IAAIlP,oBAAoB,GAAG5rB,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,MAAAA,GAAAA,MAAAA,GAAAA,QAAQ,CAAE0rB,SAAS,CAC1C,UAAAvsB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAADA,IAAAA,IAAAA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEG,eAAe,CAAA;AAAA,KAClD,CAAC;AACD,IAAA,IAAIgxB,oBAAoB,GAAG,EAAE,EAAE;MAC3B,IAAMI,eAAe,GAAGhsB,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,MAAAA,GAAAA,MAAAA,GAAAA,QAAQ,CAAEV,GAAG,CAAC,UAAA2sB,EAAE,EAAA;AAAA,QAAA,OACpCA,EAAE,CAAClwB,IAAI,MAAKtB,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEG,eAAe,CAAA3E,GAAAA,cAAA,CAAAA,cAAA,KAAQg2B,EAAE,CAAA,EAAA,EAAA,EAAA;AAAE1vB,UAAAA,OAAO,EAAEu+B;AAAG,SAAA,CAAA,GAAK7O,EAAE;AAAA,OAC5E,CAAC;MAEDhrB,WAAW,CAAC+qB,eAAe,CAAC;AAChC;IACA+J,yBAAyB,CAAC+E,GAAG,CAAC;GACjC;AAED,EAAA,IAAMC,IAAI,GAAG77B,iBAAW,CAAC,YAAM;AAC3B,IAAA,IAAIe,OAAO,CAACuI,MAAM,GAAG,CAAC,EAAE;AACpB;AACA;AACA;MACA8vB,kBAAkB,CAAC,IAAI,CAAC;MAExB,IAAM0C,aAAa,GAAG/6B,OAAO,CAACA,OAAO,CAACuI,MAAM,GAAG,CAAC,CAAC;MACjD6tB,YAAY,CAAA,CAAEr2B,QAAQ,CAAAhE,CAAAA,MAAA,CAAAq9B,kBAAA,CAAKn5B,SAAS,CAAA,CAAC,CAAC;MACtCg2B,UAAU,CAACj2B,OAAO,CAACg7B,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;MAChCrF,WAAW,CAACoF,aAAa,CAAC;AAC9B;AACJ,GAAC,EAAE,CAAC/6B,OAAO,EAAED,QAAQ,EAAEE,SAAS,EAAEm2B,YAAY,EAAEH,UAAU,EAAEN,WAAW,CAAC,CAAC;AAEzE,EAAA,IAAMsF,IAAI,GAAGh8B,iBAAW,CAAC,YAAM;AAC3B,IAAA,IAAIgB,SAAS,CAACsI,MAAM,GAAG,CAAC,EAAE;MACtB8vB,kBAAkB,CAAC,IAAI,CAAC;AAExB,MAAA,IAAM6C,SAAS,GAAGj7B,SAAS,CAAC,CAAC,CAAC;MAC9Bg2B,UAAU,CAAA,EAAA,CAAAl6B,MAAA,CAAAq9B,kBAAA,CAAKp5B,OAAO,CAAA,EAAA,CAAED,QAAQ,CAAA,CAAC,CAAC;AAClCq2B,MAAAA,YAAY,CAACn2B,SAAS,CAAC+6B,KAAK,CAAC,CAAC,CAAC,CAAC;MAChCrF,WAAW,CAACuF,SAAS,CAAC;AAC1B;AACJ,GAAC,EAAE,CAACl7B,OAAO,EAAED,QAAQ,EAAEE,SAAS,EAAEg2B,UAAU,EAAEG,YAAY,EAAET,WAAW,CAAC,CAAC;AAEzE,EAAA,IAAM70B,eAAe,GAAG,SAAlBA,eAAeA,CAAG0X,OAAO,EAAI;AAC/B,IAAA,IAAI5L,cAAc,CAAC4L,OAAO,CAAC,EAAE;MACzBgc,cAAc,CAACj7B,gBAAgB,KAAhBA,IAAAA,IAAAA,gBAAgB,uBAAhBA,gBAAgB,CAAEG,KAAK,CAAC;AAC3C,KAAC,MAAM,IAAIoT,mBAAmB,CAAC0L,OAAO,EAAEhe,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEf,KAAK,CAAC,EAAE;MAC1D+6B,cAAc,CAACj7B,gBAAgB,KAAhBA,IAAAA,IAAAA,gBAAgB,uBAAhBA,gBAAgB,CAAEE,KAAK,CAAC;AAC3C,KAAC,MAAM,IAAIqT,mBAAmB,CAAC0L,OAAO,EAAEhe,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEb,EAAE,CAAC,EAAE;MACvD66B,cAAc,CAACj7B,gBAAgB,KAAhBA,IAAAA,IAAAA,gBAAgB,uBAAhBA,gBAAgB,CAAEI,EAAE,CAAC;AACxC,KAAC,MAAM,IAAImT,mBAAmB,CAAC0L,OAAO,EAAEhe,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEvD,IAAI,CAAC,EAAE;MACzDu9B,cAAc,CAACj7B,gBAAgB,KAAhBA,IAAAA,IAAAA,gBAAgB,uBAAhBA,gBAAgB,CAAEtC,IAAI,CAAC;AAC1C;AACA,IAAA,IAAIuhB,OAAO,EAAE;MACT,IAAI3L,IAAI,GAAG2L,OAAO;MAClB,OAAO3L,IAAI,CAAC,KAAK,CAAC;AAClBwrB,MAAAA,kBAAkB,CAAAriC,cAAA,CAAM6W,EAAAA,EAAAA,IAAI,CAAE,CAAC;MAC/BwoB,uBAAuB,CAAC,IAAI,CAAC;AACjC,KAAC,MAAM;MACHgD,kBAAkB,CAAC,IAAI,CAAC;AAC5B;GACH;EAED,IAAM8C,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAI7iC,GAAG,EAAE+Q,KAAK,EAAK;AAClD,IAAA,IAAI+xB,mBAAmB,GAAAplC,cAAA,CAAA,EAAA,EAAQ6K,eAAe,CAAE;AAChDu6B,IAAAA,mBAAmB,CAAC9iC,GAAG,CAAC,GAAG+Q,KAAK;IAChC,OAAO+xB,mBAAmB,CAAC,KAAK,CAAC;IACjC,IAAI9iC,GAAG,KAAK,YAAY,EAAE;AACtB8iC,MAAAA,mBAAmB,CAAC,aAAa,CAAC,GAAG/xB,KAAK;AAC9C;IACA,IAAM0iB,eAAe,GAAGhsB,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,MAAAA,GAAAA,MAAAA,GAAAA,QAAQ,CAAEV,GAAG,CAAC,UAAA2sB,EAAE,EAAA;AAAA,MAAA,OACpCA,EAAE,CAAC7zB,EAAE,MAAKijC,mBAAmB,aAAnBA,mBAAmB,KAAA,MAAA,GAAA,MAAA,GAAnBA,mBAAmB,CAAEjjC,EAAE,CAAAnC,GAAAA,cAAA,CAAQolC,EAAAA,EAAAA,mBAAmB,IAAKpP,EAAE;AAAA,KACvE,CAAC;IACDhrB,WAAW,CAAC+qB,eAAe,CAAC;IAC5BsM,kBAAkB,CAAC+C,mBAAmB,CAAC;GAC1C;AAED,EAAA,IAAM16B,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGxB,CAAC,EAAI;AAC3B,IAAA,IAAI2B,eAAe,IAAI+L,cAAc,CAAC/L,eAAe,CAAC,EAAE;AACpDs6B,MAAAA,6BAA6B,CAAC,MAAM,EAAEj8B,CAAC,CAAC;AAC5C,KAAC,MAAM;MACHq3B,iBAAiB,CAACr3B,CAAC,CAAC;AACxB;GACH;AAED,EAAA,IAAMuB,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAGvB,CAAC,EAAI;AAClC,IAAA,IAAI2B,eAAe,IAAI+L,cAAc,CAAC/L,eAAe,CAAC,EAAE;AACpDs6B,MAAAA,6BAA6B,CAAC,aAAa,EAAEj8B,CAAC,CAAC;AACnD,KAAC,MAAM;MACHw3B,mBAAmB,CAACx3B,CAAC,CAAC;AAC1B;GACH;AAED,EAAA,IAAMsB,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAGtB,CAAC,EAAI;AAClC,IAAA,IAAI2B,eAAe,IAAI+L,cAAc,CAAC/L,eAAe,CAAC,EAAE;AACpDs6B,MAAAA,6BAA6B,CAAC,QAAQ,EAAEj8B,CAAC,CAAC;AAC9C,KAAC,MAAM;MACH23B,mBAAmB,CAAC33B,CAAC,CAAC;AAC1B;GACH;AAED,EAAA,IAAM0B,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAG1B,CAAC,EAAI;AAC9B,IAAA,IAAI2B,eAAe,IAAI+L,cAAc,CAAC/L,eAAe,CAAC,EAAE;AACpDs6B,MAAAA,6BAA6B,CAAC,SAAS,EAAEj8B,CAAC,CAAC;AAC/C,KAAC,MAAM;MACH83B,eAAe,CAAC93B,CAAC,CAAC;AACtB;GACH;AACD,EAAA,IAAMiC,uBAAuB,GAAG,SAA1BA,uBAAuBA,GAAS;IAClC,IAAI+G,KAAK,GAAGnI,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,MAAAA,GAAAA,MAAAA,GAAAA,QAAQ,CAAE0rB,SAAS,CAAC,UAAAvsB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAADA,IAAAA,IAAAA,CAAC,uBAADA,CAAC,CAAE/G,EAAE,OAAK0I,eAAe,KAAfA,IAAAA,IAAAA,eAAe,KAAfA,MAAAA,GAAAA,MAAAA,GAAAA,eAAe,CAAE1I,EAAE,CAAA;KAAC,CAAA;IACnE,IAAI+P,KAAK,GAAG,CAAC,EAAE;AACX,MAAA;AACJ;AACA,IAAA,IAAImzB,IAAI,GAAAjC,kBAAA,CAAOr5B,QAAQ,CAAC;AACxBs7B,IAAAA,IAAI,CAACnB,MAAM,CAAChyB,KAAK,EAAE,CAAC,CAAC;IACrBmwB,kBAAkB,CAAC,IAAI,CAAC;AACxBr3B,IAAAA,WAAW,CAAAo4B,kBAAA,CAAKiC,IAAI,CAAC,CAAC;GACzB;AACD,EAAA,IAAMj6B,qBAAqB,GAAG,SAAxBA,qBAAqBA,GAAS;AAChC,IAAA,IAAIk6B,WAAW,GAAAtlC,cAAA,CAAA,EAAA,EAAQ6K,eAAe,CAAE;IACxCy6B,WAAW,CAAC,IAAI,CAAC,GAAAv/B,SAAAA,CAAAA,MAAA,CAAaC,IAAI,CAACC,GAAG,EAAE,CAAE;AAC1Cq/B,IAAAA,WAAW,CAAC,GAAG,CAAC,GAAG,CAAAz6B,eAAe,KAAfA,IAAAA,IAAAA,eAAe,KAAfA,MAAAA,GAAAA,MAAAA,GAAAA,eAAe,CAAEsf,CAAC,IAAG,EAAE;AAC1Cmb,IAAAA,WAAW,CAAC,GAAG,CAAC,GAAG,CAAAz6B,eAAe,KAAfA,IAAAA,IAAAA,eAAe,KAAfA,MAAAA,GAAAA,MAAAA,GAAAA,eAAe,CAAEuf,CAAC,IAAG,EAAE;AAC1Ckb,IAAAA,WAAW,CAAC,WAAW,CAAC,GAAG,IAAI;IAE/Bd,UAAU,CAACc,WAAW,CAAC;GAC1B;AACD,EAAA,IAAMj6B,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAS;IAC9B85B,6BAA6B,CAAC,WAAW,EAAE,EAACt6B,eAAe,KAAfA,IAAAA,IAAAA,eAAe,KAAfA,MAAAA,IAAAA,eAAe,CAAEma,SAAS,CAAC,CAAA;AACvE;GACH;AACD,EAAA,IAAM1Z,2BAA2B,GAAG,SAA9BA,2BAA2BA,GAAS;AACtC,IAAA,IAAIi6B,YAAY,GAAAnC,kBAAA,CAAOr5B,QAAQ,CAAC;IAChC,IAAMmI,KAAK,GAAGqzB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAE9P,SAAS,CAAC,UAAA5e,IAAI,EAAA;MAAA,OAAIA,IAAI,CAAC1U,EAAE,MAAK0I,eAAe,aAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE1I,EAAE,CAAA;KAAC,CAAA;AAC9E,IAAA,IAAI+P,KAAK,KAAK,EAAE,EAAE;AACd,MAAA;AACJ;AACA,IAAA,IAAAszB,oBAAA,GAAuBD,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAErB,MAAM,CAAChyB,KAAK,EAAE,CAAC,CAAC;MAAAuzB,qBAAA,GAAAz0B,cAAA,CAAAw0B,oBAAA,EAAA,CAAA,CAAA;AAA9CE,MAAAA,YAAY,GAAAD,qBAAA,CAAA,CAAA,CAAA;IACnBF,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,MAAAA,IAAAA,YAAY,CAAEjsB,IAAI,CAACosB,YAAY,CAAC;AAChC16B,IAAAA,WAAW,CAAAo4B,kBAAA,CAAKmC,YAAY,CAAC,CAAC;GACjC;AACD,EAAA,IAAMI,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAqC;AAAA,IAAA,IAAjCtC,KAAK,GAAAjsB,SAAA,CAAA7E,MAAA,GAAA6E,CAAAA,IAAAA,SAAA,CAAAO,CAAAA,CAAAA,KAAAA,SAAA,GAAAP,SAAA,CAAAgsB,CAAAA,CAAAA,GAAAA,kBAAA,CAAOv9B,eAAe,CAAA;AAClD85B,IAAAA,WAAW,CAAAyD,kBAAA,CAAKC,KAAK,CAAC,CAAC;IACvBpD,UAAU,CAAC,EAAE,CAAC;IACdG,YAAY,CAAC,EAAE,CAAC;GACnB;AAED,EAAA,IAAM70B,yBAAyB,GAAG,SAA5BA,yBAAyBA,GAAS;AACpC,IAAA,IAAIg6B,YAAY,GAAAnC,kBAAA,CAAOr5B,QAAQ,CAAC;IAChC,IAAMmI,KAAK,GAAGqzB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAE9P,SAAS,CAAC,UAAA5e,IAAI,EAAA;MAAA,OAAIA,IAAI,CAAC1U,EAAE,MAAK0I,eAAe,aAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE1I,EAAE,CAAA;KAAC,CAAA;AAC9E,IAAA,IAAI+P,KAAK,KAAK,EAAE,EAAE;AACd,MAAA;AACJ;AACA,IAAA,IAAA0zB,qBAAA,GAAuBL,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAErB,MAAM,CAAChyB,KAAK,EAAE,CAAC,CAAC;MAAA2zB,qBAAA,GAAA70B,cAAA,CAAA40B,qBAAA,EAAA,CAAA,CAAA;AAA9CF,MAAAA,YAAY,GAAAG,qBAAA,CAAA,CAAA,CAAA;IACnBN,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,MAAAA,IAAAA,YAAY,CAAEO,OAAO,CAACJ,YAAY,CAAC;AACnC16B,IAAAA,WAAW,CAAAo4B,kBAAA,CAAKmC,YAAY,CAAC,CAAC;GACjC;AACD,EAAA,IAAM55B,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAGzC,CAAC,EAAI;AAClC,IAAA,IAAI4N,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEf,KAAK,CAAC,EAAE;AAC3D0hC,MAAAA,6BAA6B,CAAC,aAAa,EAAEj8B,CAAC,CAAC;AACnD,KAAC,MAAM;MACHi4B,mBAAmB,CAACj4B,CAAC,CAAC;AAC1B;GACH;AAED,EAAA,IAAM0C,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAG1C,CAAC,EAAI;AAClC,IAAA,IAAI4N,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEf,KAAK,CAAC,EAAE;AAC3D0hC,MAAAA,6BAA6B,CAAC,QAAQ,EAAEj8B,CAAC,CAAC;AAC9C,KAAC,MAAM;MACHo4B,mBAAmB,CAACp4B,CAAC,CAAC;AAC1B;GACH;AAED,EAAA,IAAM2C,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAG3C,CAAC,EAAI;AAC9B,IAAA,IAAI4N,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEf,KAAK,CAAC,EAAE;AAC3D0hC,MAAAA,6BAA6B,CAAC,SAAS,EAAEj8B,CAAC,CAAC;AAC/C,KAAC,MAAM;MACHu4B,eAAe,CAACv4B,CAAC,CAAC;AACtB;GACH;AAED,EAAA,IAAM68B,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGxkC,GAAG,EAAI;AAChC;IACAihC,mBAAmB,CAAA,EAAA,CAAAz8B,MAAA,CAAAq9B,kBAAA,CAAKvL,gBAAgB,CAAA,EAAA,CAAEt2B,GAAG,CAAA,CAAC,CAAC;GAClD;AAED,EAAA,IAAMykC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGzkC,GAAG,EAAI;AAC5B,IAAA,IAAI0kC,QAAQ,GAAG;MACX9jC,EAAE,EAAA,SAAA,CAAA4D,MAAA,CAAYC,IAAI,CAACC,GAAG,EAAE,CAAE;AAC1BkkB,MAAAA,CAAC,EAAEtgB,WAAW,GAAG,CAAC,GAAG,EAAE;AACvBugB,MAAAA,CAAC,EAAExgB,YAAY,GAAG,CAAC,GAAG,EAAE;AACxB4a,MAAAA,MAAM,EAAE/Y,gBAAgB;AACxB8Y,MAAAA,WAAW,EAAE/Y,gBAAgB;AAC7BlF,MAAAA,OAAO,EAAEoF,YAAY;MACrB5F,IAAI,EAAEtB,YAAY,CAACf,KAAK;AACxBuhB,MAAAA,SAAS,EAAE,IAAI;AACf;AACA;AACAziB,MAAAA,GAAG,EAAEhB;KACR;IACDijC,UAAU,CAACyB,QAAQ,CAAC;GACvB;AACD,EAAA,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAGh9B,CAAC,EAAI;AACzB,IAAA,IAAIjI,IAAI,GAAGiI,CAAC,GAAGA,CAAC,GAAGkD,gBAAgB;AACnC,IAAA,IAAI+5B,SAAS,GAAG;MACZhkC,EAAE,EAAA,SAAA,CAAA4D,MAAA,CAAYC,IAAI,CAACC,GAAG,EAAE,CAAE;AAC1BkkB,MAAAA,CAAC,EAAEtgB,WAAW,GAAG,CAAC,GAAG,GAAG;MACxBugB,CAAC,EAAExgB,YAAY,GAAG,CAAC;AACnBtD,MAAAA,OAAO,EAAE,CAAArF,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAEqF,OAAO,MAAI8F,gBAAgB,KAAhBA,IAAAA,IAAAA,gBAAgB,KAAhBA,MAAAA,GAAAA,MAAAA,GAAAA,gBAAgB,CAAE9F,OAAO,CAAA;MACnDR,IAAI,EAAEtB,YAAY,CAACvD,IAAI;AACvB+jB,MAAAA,SAAS,EAAE,IAAI;AACf/jB,MAAAA,IAAI,EAAE,CAAAA,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAEA,IAAI,MAAImL,gBAAgB,KAAhBA,IAAAA,IAAAA,gBAAgB,KAAhBA,MAAAA,GAAAA,MAAAA,GAAAA,gBAAgB,CAAEnL,IAAI,CAAA;AAC1CkD,MAAAA,QAAQ,EAAE,CAAAlD,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAEkD,QAAQ,MAAIiI,gBAAgB,KAAhBA,IAAAA,IAAAA,gBAAgB,KAAhBA,MAAAA,GAAAA,MAAAA,GAAAA,gBAAgB,CAAEjI,QAAQ,CAAA;AACtDD,MAAAA,UAAU,EAAE,CAAAjD,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAEiD,UAAU,MAAIkI,gBAAgB,KAAhBA,IAAAA,IAAAA,gBAAgB,KAAhBA,MAAAA,GAAAA,MAAAA,GAAAA,gBAAgB,CAAElI,UAAU,CAAA;AAC5DnE,MAAAA,KAAK,EAAE,CAAAkB,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAElB,KAAK,MAAIqM,gBAAgB,KAAhBA,IAAAA,IAAAA,gBAAgB,KAAhBA,MAAAA,GAAAA,MAAAA,GAAAA,gBAAgB,CAAErM,KAAK,CAAA;AAC7CsE,MAAAA,cAAc,EAAE,CAAApD,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAEoD,cAAc,MAAI+H,gBAAgB,KAAhBA,IAAAA,IAAAA,gBAAgB,KAAhBA,MAAAA,GAAAA,MAAAA,GAAAA,gBAAgB,CAAE/H,cAAc,CAAA;AACxEC,MAAAA,SAAS,EAAE,CAAArD,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAEqD,SAAS,MAAI8H,gBAAgB,KAAhBA,IAAAA,IAAAA,gBAAgB,KAAhBA,MAAAA,GAAAA,MAAAA,GAAAA,gBAAgB,CAAE9H,SAAS,CAAA;AACzDF,MAAAA,UAAU,EAAE,CAAAnD,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAEmD,UAAU,MAAIgI,gBAAgB,KAAhBA,IAAAA,IAAAA,gBAAgB,KAAhBA,MAAAA,GAAAA,MAAAA,GAAAA,gBAAgB,CAAEhI,UAAU,CAAA;AAC5DG,MAAAA,SAAS,EAAE,CAAAtD,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAEsD,SAAS,MAAI6H,gBAAgB,KAAhBA,IAAAA,IAAAA,gBAAgB,KAAhBA,MAAAA,GAAAA,MAAAA,GAAAA,gBAAgB,CAAE7H,SAAS;KAC5D;AACD,IAAA,IAAItD,IAAI,KAAJA,IAAAA,IAAAA,IAAI,eAAJA,IAAI,CAAEoC,KAAK,EAAE;MACb8iC,SAAS,CAAC,OAAO,CAAC,GAAGllC,IAAI,aAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEoC,KAAK;AACpC;IAEAmhC,UAAU,CAAC2B,SAAS,CAAC;GACxB;AAED,EAAA,IAAMC,SAAS,GAAG,SAAZA,SAASA,GAAS;AACpB,IAAA,IAAIC,OAAO,GAAG;MACVlkC,EAAE,EAAA,SAAA,CAAA4D,MAAA,CAAYC,IAAI,CAACC,GAAG,EAAE,CAAE;MAC1BH,IAAI,EAAEtB,YAAY,CAACb,EAAE;AACrBL,MAAAA,MAAM,EAAE,GAAG;AACXD,MAAAA,KAAK,EAAE,GAAG;AACV8mB,MAAAA,CAAC,EAAEtgB,WAAW,GAAG,CAAC,GAAG,EAAE;AACvBugB,MAAAA,CAAC,EAAExgB,YAAY,GAAG,CAAC,GAAG,EAAE;AACxBgb,MAAAA,IAAI,EAAEpkB,KAAK,CAACT,KAAK,CAACH,YAAY;AAC9B4kB,MAAAA,MAAM,EAAEzY,aAAa;AACrBwY,MAAAA,WAAW,EAAEzY,aAAa;AAC1BkZ,MAAAA,SAAS,EAAE,IAAI;AACfzK,MAAAA,MAAM,EAAE,IAAI;AACZkP,MAAAA,MAAM,EAAEnsB,MAAM;AACdgJ,MAAAA,OAAO,EAAE0F,SAAS;AAClBqe,MAAAA,WAAW,EAAE;KAChB;IACDma,UAAU,CAAC6B,OAAO,CAAC;GACtB;AAED,EAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,GAAS;IACvB,IAAIjB,IAAI,GAAGt7B,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,MAAAA,GAAAA,MAAAA,GAAAA,QAAQ,CAAE6Q,MAAM,CAAC,UAAAob,EAAE,EAAA;MAAA,OAAIA,EAAE,CAAClwB,IAAI,MAAKtB,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAA;KAAC,CAAA;AAC/D,IAAA,IAAI,CAAAkH,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE/E,IAAI,OAAKtB,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAE,EAAA;MAC5C0+B,kBAAkB,CAAC,IAAI,CAAC;AAC5B;AACAr3B,IAAAA,WAAW,CAAAo4B,kBAAA,CAAKiC,IAAI,CAAC,CAAC;GACzB;AACD,EAAA,IAAMp5B,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAG/C,CAAC,EAAI;AAC/B,IAAA,IAAI4N,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAC,EAAE;AACxDwhC,MAAAA,6BAA6B,CAAC,aAAa,EAAEj8B,CAAC,CAAC;AACnD,KAAC,MAAM;MACH04B,gBAAgB,CAAC14B,CAAC,CAAC;AACvB;GACH;AAED,EAAA,IAAMgD,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGhD,CAAC,EAAI;AAC/B,IAAA,IAAI4N,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAC,EAAE;AACxDwhC,MAAAA,6BAA6B,CAAC,QAAQ,EAAEj8B,CAAC,CAAC;AAC9C,KAAC,MAAM;MACH64B,gBAAgB,CAAC74B,CAAC,CAAC;AACvB;GACH;AAED,EAAA,IAAMiD,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGjD,CAAC,EAAI;AAC3B,IAAA,IAAI4N,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAC,EAAE;AACxDwhC,MAAAA,6BAA6B,CAAC,SAAS,EAAEj8B,CAAC,CAAC;AAC/C,KAAC,MAAM;MACHg5B,YAAY,CAACh5B,CAAC,CAAC;AACnB;GACH;AACD,EAAA,IAAM8uB,QAAQ,GAAG,SAAXA,QAAQA,GAAS;IACnB,IAAI,CAAAjuB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAE0rB,SAAS,CAAC,UAAA5e,IAAI,EAAA;MAAA,OAAIA,IAAI,CAAC/Q,IAAI,MAAKtB,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAA;KAAC,CAAA,IAAG,EAAE,EAAE;AAClE2iC,MAAAA,YAAY,EAAE;AAClB,KAAC,MAAM;AACHF,MAAAA,SAAS,EAAE;AACf;GACH;AACD,EAAA,IAAMG,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAS;IAC9B,IAAMxQ,eAAe,GAAGhsB,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,MAAAA,GAAAA,MAAAA,GAAAA,QAAQ,CAAEV,GAAG,CAAC,UAAA2sB,EAAE,EAAA;AAAA,MAAA,OACpCA,EAAE,CAAClwB,IAAI,MAAKtB,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAA3D,GAAAA,cAAA,CAAAA,cAAA,KACjBg2B,EAAE,CAAA,EAAA,EAAA,EAAA;AAAE3L,QAAAA,WAAW,EAAE,IAAI;QAAE9P,MAAM,EAAE,CAAAyb,EAAE,KAAA,IAAA,IAAFA,EAAE,KAAFA,MAAAA,GAAAA,MAAAA,GAAAA,EAAE,CAAEzb,MAAM,KAAIA;AAAM,OAAA,CAAA,GACxDyb,EAAE;AAAA,KACZ,CAAC;IACDhrB,WAAW,CAAC+qB,eAAe,CAAC;GAC/B;AACD,EAAA,IAAMyQ,oBAAoB,GAAG,SAAvBA,oBAAoBA,GAAS;IAC/B,IAAMzQ,eAAe,GAAGhsB,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,MAAAA,GAAAA,MAAAA,GAAAA,QAAQ,CAAEV,GAAG,CAAC,UAAA2sB,EAAE,EAAA;AAAA,MAAA,OACpCA,EAAE,CAAClwB,IAAI,MAAKtB,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAA3D,GAAAA,cAAA,CAAAA,cAAA,KAAQg2B,EAAE,CAAA,EAAA,EAAA,EAAA;AAAE3L,QAAAA,WAAW,EAAE;AAAK,OAAA,CAAA,GAAK2L,EAAE;AAAA,KACrE,CAAC;IACDhrB,WAAW,CAAC+qB,eAAe,CAAC;GAC/B;AACD,EAAA,IAAMmC,YAAY,GAAG,SAAfA,YAAYA,GAAS;IACvB,IAAIhmB,KAAK,GAAGnI,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,MAAAA,GAAAA,MAAAA,GAAAA,QAAQ,CAAE0rB,SAAS,CAAC,UAAA5e,IAAI,EAAA;MAAA,OAAIA,IAAI,CAAC/Q,IAAI,MAAKtB,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAA;KAAC,CAAA;AACvE,IAAA,IAAIuO,KAAK,GAAG,EAAE,EAAE;AAAA,MAAA,IAAAiqB,eAAA;MACZkG,kBAAkB,CAAC,IAAI,CAAC;AACxB,MAAA,IAAIt4B,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAAAoyB,MAAAA,IAAAA,CAAAA,eAAA,GAARpyB,QAAQ,CAAGmI,KAAK,CAAC,cAAAiqB,eAAA,KAAA,MAAA,IAAjBA,eAAA,CAAmB9R,WAAW,EAAE;AAChCmc,QAAAA,oBAAoB,EAAE;AAC1B,OAAC,MAAM;AACHD,QAAAA,mBAAmB,EAAE;AACzB;AACJ;GACH;AAED,EAAA,IAAMpO,SAAS,gBAAA,YAAA;IAAA,IAAA12B,KAAA,GAAAmY,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAG,SAAAoC,QAAA,GAAA;AAAA,MAAA,IAAAoE,IAAA,EAAAC,QAAA,EAAAC,MAAA;AAAA,MAAA,OAAA3G,mBAAA,EAAA,CAAAK,IAAA,CAAA,SAAAoC,UAAAC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAlC,IAAA,GAAAkC,SAAA,CAAAjC,IAAA;AAAA,UAAA,KAAA,CAAA;AAAAiC,YAAAA,SAAA,CAAAjC,IAAA,GAAA,CAAA;YAAA,OACKnE,SAAS,EAAE;AAAA,UAAA,KAAA,CAAA;YAAxBmK,IAAI,GAAA/D,SAAA,CAAAG,IAAA;AAAA,YAAA,IACL4D,IAAI,EAAA;AAAA/D,cAAAA,SAAA,CAAAjC,IAAA,GAAA,CAAA;AAAA,cAAA;AAAA;YAAA,OAAAiC,SAAA,CAAAzB,MAAA,CAAA,QAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,IAAA,CACLpO,mBAAmB,EAAA;AAAA6P,cAAAA,SAAA,CAAAjC,IAAA,GAAA,EAAA;AAAA,cAAA;AAAA;YACnB3N,qBAAqB,CAAC,IAAI,CAAC;AAAC4P,YAAAA,SAAA,CAAAjC,IAAA,GAAA,CAAA;YAAA,OACL5N,mBAAmB,CAAC4T,IAAI,CAAC;AAAA,UAAA,KAAA,CAAA;YAA1CC,QAAQ,GAAAhE,SAAA,CAAAG,IAAA;YACd+pB,OAAO,CAAClmB,QAAQ,CAAC;YACjB5T,qBAAqB,CAAC,KAAK,CAAC;AAAC4P,YAAAA,SAAA,CAAAjC,IAAA,GAAA,EAAA;AAAA,YAAA;AAAA,UAAA,KAAA,EAAA;AAEvBkG,YAAAA,MAAM,GAAG,IAAIC,UAAU,EAAE;YAC/BD,MAAM,CAAC/F,MAAM,GAAG,YAAM;AAClBgsB,cAAAA,OAAO,CAACjmB,MAAM,CAACE,MAAM,CAAC;aACzB;AACDF,YAAAA,MAAM,CAACG,aAAa,CAACL,IAAI,CAAC;AAAC,UAAA,KAAA,EAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAA/D,SAAA,CAAAjB,IAAA,EAAA;AAAA;AAAA,OAAA,EAAAY,QAAA,CAAA;KAElC,CAAA,CAAA;AAAA,IAAA,OAAA,SAfKic,SAASA,GAAA;AAAA,MAAA,OAAA12B,KAAA,CAAA+V,KAAA,CAAA,IAAA,EAAAJ,SAAA,CAAA;AAAA,KAAA;GAed,EAAA;AACD,EAAA,IAAMqvB,OAAO,GAAG,SAAVA,OAAOA,CAAG9c,GAAG,EAAI;IACnB,IAAIzX,KAAK,GAAGnI,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,MAAAA,GAAAA,MAAAA,GAAAA,QAAQ,CAAE0rB,SAAS,CAAC,UAAA5e,IAAI,EAAA;MAAA,OAAIA,IAAI,CAAC/Q,IAAI,MAAKtB,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAA;KAAC,CAAA;IACvEg/B,SAAS,CAAChZ,GAAG,CAAC;AACd,IAAA,IAAIzX,KAAK,GAAG,EAAE,EAAE;AACZ;MACA,IAAM6jB,eAAe,GAAGhsB,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,MAAAA,GAAAA,MAAAA,GAAAA,QAAQ,CAAEV,GAAG,CAAC,UAAA2sB,EAAE,EAAA;AAAA,QAAA,OACpCA,EAAE,CAAClwB,IAAI,MAAKtB,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAA3D,GAAAA,cAAA,CAAAA,cAAA,KAAQg2B,EAAE,CAAA,EAAA,EAAA,EAAA;AAAEzb,UAAAA,MAAM,EAAEoP;AAAG,SAAA,CAAA,GAAKqM,EAAE;AAAA,OAC9D,CAAC;MACDhrB,WAAW,CAAC+qB,eAAe,CAAC;AAC5B;AACJ;GACH;EAED,IAAM1pB,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAI/J,GAAG,EAAE+Q,KAAK,EAAK;AACzC,IAAA,IAAIyD,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEvD,IAAI,CAAC,EAAE;AAC1DkkC,MAAAA,6BAA6B,CAAC7iC,GAAG,EAAE+Q,KAAK,CAAC;AAC7C,KAAC,MAAM;AACH,MAAA,IAAIqzB,eAAe,GAAA1mC,cAAA,CAAA,EAAA,EAAQoM,gBAAgB,CAAE;AAC7Cs6B,MAAAA,eAAe,CAACpkC,GAAG,CAAC,GAAG+Q,KAAK;AAC5ByvB,MAAAA,mBAAmB,CAAA9iC,cAAA,CAAM0mC,EAAAA,EAAAA,eAAe,CAAE,CAAC;AAC/C;GACH;AACD,EAAA,IAAMC,cAAc,gBAAA,YAAA;IAAA,IAAA7kC,KAAA,GAAA8X,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAG,SAAA8B,QAAA,GAAA;MAAA,IAAAqnB,iBAAA,EAAA5mB,OAAA;AAAA,MAAA,OAAAxC,mBAAA,EAAA,CAAAK,IAAA,CAAA,SAAA8B,UAAAC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA5B,IAAA,GAAA4B,SAAA,CAAA3B,IAAA;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,IACd5c,MAAM,EAAA;AAAAue,cAAAA,SAAA,CAAA3B,IAAA,GAAA,CAAA;AAAA,cAAA;AAAA;YAAA,OAAA2B,SAAA,CAAAnB,MAAA,CAAA,QAAA,CAAA;AAAA,UAAA,KAAA,CAAA;YAGXikB,UAAU,CAAC,IAAI,CAAC;YAChBsD,kBAAkB,CAAC,IAAI,CAAC;YACxB7C,iBAAiB,CAAC,GAAG,CAAC;AAACvjB,YAAAA,SAAA,CAAA3B,IAAA,GAAA,CAAA;AAAA,YAAA,OACjB,IAAIlE,OAAO,CAAC,UAAAC,OAAO,EAAA;AAAA,cAAA,OAAInD,UAAU,CAACmD,OAAO,EAAE,GAAG,CAAC;aAAC,CAAA;AAAA,UAAA,KAAA,CAAA;AAClD4sB,YAAAA,iBAAiB,GAAG1nB,mBAAmB,CAACxR,QAAQ,CAAC;AAAAkS,YAAAA,SAAA,CAAA3B,IAAA,GAAA,EAAA;YAAA,OAC/BqB,kBAAkB,CAAC5Q,QAAQ,CAAC;AAAA,UAAA,KAAA,EAAA;YAA5CsR,OAAO,GAAAJ,SAAA,CAAAS,IAAA;YACbqiB,UAAU,CAAC,KAAK,CAAC;AACjBrhC,YAAAA,MAAM,CAAC;AAAEqM,cAAAA,QAAQ,EAAEk5B,iBAAiB;AAAEx/B,cAAAA,KAAK,EAAE4Y;AAAQ,aAAC,CAAC;AAAC,UAAA,KAAA,EAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAJ,SAAA,CAAAX,IAAA,EAAA;AAAA;AAAA,OAAA,EAAAM,QAAA,CAAA;KAC3D,CAAA,CAAA;AAAA,IAAA,OAAA,SAZK+qB,cAAcA,GAAA;AAAA,MAAA,OAAA7kC,KAAA,CAAA0V,KAAA,CAAA,IAAA,EAAAJ,SAAA,CAAA;AAAA,KAAA;GAYnB,EAAA;AAED,EAAA,oBACIhV,KAAA,CAAAC,aAAA,CAACukC,wBAAiB,EAAA;AAACC,IAAAA,iBAAiB,EAAEC;GAClC1kC,eAAAA,KAAA,CAAAC,aAAA,CAAClC,aAAa,qBACViC,KAAA,CAAAC,aAAA,CAACsF,OAAO,EAAA;AACJlH,IAAAA,mBAAmB,EAAE+I,WAAY;AACjC7I,IAAAA,WAAW,EAAEgjC,aAAc;AAC3B9mC,IAAAA,cAAc,EAAEA,cAAe;AAC/BK,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCK,IAAAA,UAAU,EAAEA;AAAW,GAC1B,CAAC,eACF6E,KAAA,CAAAC,aAAA,CAACy6B,aAAa,EAAA;AACVr8B,IAAAA,mBAAmB,EAAE+I,WAAY;AACjCkuB,IAAAA,UAAU,EAAEmM,uBAAwB;AACpCpM,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CE,IAAAA,UAAU,EAAE8M,QAAS;AACrB7M,IAAAA,iBAAiB,EAAE36B,aAAc;AACjC46B,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,sBAAsB,EAAEiO,oBAAqB;AAC7ChO,IAAAA,kBAAkB,EAAEiO,gBAAiB;AACrC5N,IAAAA,iBAAiB,EAAE8N,eAAgB;AACnClO,IAAAA,QAAQ,EAAEA,QAAS;IACnBC,SAAS,EAAE,CAAAluB,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,MAAAA,GAAAA,MAAAA,GAAAA,QAAQ,CAAE0rB,SAAS,CAAC,UAAA5e,IAAI,EAAA;MAAA,OAAIA,IAAI,CAAC/Q,IAAI,MAAKtB,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAA;KAAC,CAAA,IAAG,EAAG;AAC5Eu0B,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,SAAS,EAAEA,SAAU;AACrB5d,IAAAA,MAAM,EACF,CAAAxQ,QAAQ,aAARA,QAAQ,KAAA,MAAA,IAAA,CAAA8zB,qBAAA,GAAR9zB,QAAQ,CAAGA,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,MAAAA,GAAAA,MAAAA,GAAAA,QAAQ,CAAE0rB,SAAS,CAAC,UAAA5e,IAAI,EAAA;MAAA,OAAIA,IAAI,CAAC/Q,IAAI,MAAKtB,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAA;KAAC,CAAA,CAAC,cAAAk6B,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAvEA,qBAAA,CACMtjB,MAAM,KAAIA,MACnB;AACDxQ,IAAAA,QAAQ,EAAEA,QAAS;AACnBsuB,IAAAA,mBAAmB,EAAEsN,iBAAkB;AACvCj5B,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CvP,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzC48B,IAAAA,sBAAsB,EAAEA,sBAAuB;AAC/C18B,IAAAA,UAAU,EAAEA,UAAW;AACvBE,IAAAA,WAAW,EAAEA,WAAY;AACzBZ,IAAAA,cAAc,EAAEA;AAAe,GAClC,CAAC,eACFuF,KAAA,CAAAC,aAAA,CAACwyB;AACG;AAAA,IAAA;AACA1uB,IAAAA,kBAAkB,EACd,CAAA4D,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAAA,CAAA+zB,eAAA,GAAR/zB,QAAQ,CAAEioB,IAAI,CAAC,UAAA9oB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAADA,IAAAA,IAAAA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEC,QAAQ,CAAA;AAAA,KAAA,CAAC,cAAAq5B,eAAA,KAAA,MAAA,GAAA,MAAA,GAAvDA,eAAA,CACM33B,kBAAkB,KAAI,CAC/B;AACDC,IAAAA,uBAAuB,EACnB,CAAA2D,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAAA,CAAAg0B,eAAA,GAARh0B,QAAQ,CAAEioB,IAAI,CAAC,UAAA9oB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAADA,IAAAA,IAAAA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEC,QAAQ,CAAA;AAAA,KAAA,CAAC,cAAAs5B,eAAA,KAAA,MAAA,GAAA,MAAA,GAAvDA,eAAA,CACM33B,uBAAuB,MAAI5F,KAAK,KAALA,IAAAA,IAAAA,KAAK,uBAALA,KAAK,CAAET,KAAK,CAACF,KAAK,CACtD;AACD+M,IAAAA,wBAAwB,EAAE,SAA1BA,wBAAwBA,CAAG9G,IAAI,EAAEuN,KAAK,EAAK;AACvCzG,MAAAA,yBAAwB,CAAC9G,IAAI,EAAEuN,KAAK,CAAC;KACvC;AACFzJ,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,WAAW,EAAEA,WAAY;AACzBL,IAAAA,WAAW,EAAEA,WAAY;AACzB9M,IAAAA,KAAK,EAAEA,KAAM;AACb+M,IAAAA,cAAc,EAAEA,cAAe;AAC/BE,IAAAA,sBAAsB,EAAEA,sBAAuB;AAC/CG,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,MAAM,EAAE26B,IAAK;AACb16B,IAAAA,MAAM,EAAE66B,IAAK;AACb56B,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,cAAc,EAAEA,cAAe;AAC/BiB,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CrB,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CkB,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCtB,IAAAA,eAAe,EAAEA,eAAgB;AACjCC,IAAAA,eAAe,EAAEA,eAAgB;AACjCC,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,8BAA8B,EAAEA,8BAA+B;AAC/DC,IAAAA,sBAAsB,EAClB,CAAAnB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAAA,CAAAi0B,eAAA,GAARj0B,QAAQ,CAAEioB,IAAI,CAAC,UAAA9oB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAADA,IAAAA,IAAAA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,MAAAA,GAAAA,MAAAA,GAAAA,YAAY,CAAEG,eAAe,CAAA;AAAA,KAAA,CAAC,cAAAq5B,eAAA,KAAA,MAAA,GAAA,MAAA,GAA9DA,eAAA,CACM13B,OAAO,KAAI4E,sBACpB;AACDC,IAAAA,uBAAuB,EAAEA,uBAAwB;AACjDC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,IAAAA,2BAA2B,EAAEA,2BAA4B;AACzDC,IAAAA,yBAAyB,EAAEA,yBAA0B;AACrDa,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,IAAAA,qBAAqB,EAAEA,qBAAsB;IAC7CjP,MAAM,EAAEA,MAAM,IAAIipC,cAAe;AACjC1gB,IAAAA,cAAc,EAAEA,cAAe;AAC/B+O,IAAAA,gBAAgB,EAAE2O,aAAc;AAChC/lC,IAAAA,cAAc,EAAEA,cAAe;AAC/Bf,IAAAA,cAAc,EAAEA,cAAe;AAC/BsjB,IAAAA,uBAAuB,EAAEA;GAC5B,CAAC,EACD,CAAC1T,YAAY,IAAID,aAAa,IAAI0yB,kBAAkB,IAAIJ,OAAO,kBAC5D18B,KAAA,CAAAC,aAAA,CAAC06B,OAAO,qBACJ36B,KAAA,CAAAC,aAAA,CAACk7B,cAAc,EAAA;AAACr3B,IAAAA,IAAI,EAAC,MAAM;AAACnG,IAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAAC9B;GAAY,CACtD,CAEF,CACA,CAAC;AAE5B,CACJ;AAEA0/B,MAAM,CAAClhC,SAAS,GAAGA,WAAS;AAC5BkhC,MAAM,CAACoJ,WAAW,GAAG,QAAQ;;;;","x_google_ignoreList":[164,165]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/features/Studio/props.js","../../src/theme/color.js","../../src/theme/fonts.js","../../src/theme/index.js","../../src/features/Studio/styled.js","../../src/components/SideBar/props.js","../../src/components/SideBar/styled.js","../../src/components/SideBarPill/props.js","../../src/components/SideBarPill/styled.js","../../src/components/SideBarPill/sideBarPill.jsx","../../src/assets/icons/ic_template.svg","../../src/assets/icons/ic_image.svg","../../src/assets/icons/ic_qr_code.svg","../../src/assets/icons/ic_shape.svg","../../src/assets/icons/ic_text.svg","../../src/assets/icons/ic_white_label.svg","../../src/assets/icons/ic_dropdown.svg","../../src/assets/icons/ic_background-color.svg","../../src/assets/icons/ic_background_image.svg","../../src/assets/icons/ic_background_image_opacity.svg","../../src/assets/icons/ic_dropdown_small.svg","../../src/assets/icons/ic_frame.svg","../../src/assets/icons/ic_zoom_in.svg","../../src/assets/icons/ic_zoom_out.svg","../../src/assets/icons/ic_bring_to_front.svg","../../src/assets/icons/ic_sent_to_back.svg","../../src/assets/icons/ic_lock.svg","../../src/assets/icons/ic_copy.svg","../../src/assets/icons/ic_delete.svg","../../src/assets/icons/ic_undo.svg","../../src/assets/icons/ic_redo.svg","../../src/assets/icons/ic_text_small.svg","../../src/assets/icons/ic_bold.svg","../../src/assets/icons/ic_line_through.svg","../../src/assets/icons/ic_text_italic.svg","../../src/assets/icons/ic_text_underline.svg","../../src/assets/icons/ic_align_text_left.svg","../../src/assets/icons/ic_align_text_center.svg","../../src/assets/icons/ic_align_text_Right.svg","../../src/assets/icons/ic_opacity.svg","../../src/assets/icons/ic_grid.svg","../../src/assets/icons/ic_chevron_left.svg","../../src/assets/icons/ic_add.svg","../../src/assets/icons/ic_add_text.svg","../../src/assets/icons/ic_upload.svg","../../src/assets/icons/ic_graph.svg","../../src/assets/icons/ic_cheveron_down.svg","../../src/assets/icons/ic_info.svg","../../src/assets/icons/ic_tools.svg","../../src/assets/icons/ic_tools_pink.svg","../../src/assets/icons/ic_circle.svg","../../src/assets/icons/ic_square.svg","../../src/assets/icons/ic_triangle.svg","../../src/assets/icons/ic_arrow_right.svg","../../src/assets/icons/ic_horizontal_line.svg","../../src/assets/icons/ic_vertical_line.svg","../../src/assets/icons/ic_star.svg","../../src/assets/icons/ic_heart.svg","../../src/assets/icons/ic_unlock.svg","../../src/assets/icons/ic_cross.svg","../../src/assets/images/small-dots.png","../../src/constants/layoutConstants.js","../../src/constants/index.js","../../src/constants/textConstants.js","../../src/components/SideBar/sideBar.jsx","../../src/components/Editor/props.js","../../src/components/Editor/styled.js","../../src/components/TopToolBar/props.js","../../src/components/TopToolBar/styled.js","../../src/components/TemplateToolBar/props.js","../../src/components/ToolBarButtonWrapper/props.js","../../src/components/ToolBarButtonWrapper/styled.js","../../src/components/Tooltip/props.js","../../src/components/Tooltip/styled.js","../../src/components/Tooltip/tooltip.jsx","../../src/components/ToolBarButtonWrapper/toolBarBottonWrapper.jsx","../../src/components/DropDown/props.js","../../src/components/DropDown/styled.js","../../src/components/DropDown/dropDown.jsx","../../src/components/TemplateToolBar/styled.js","../../src/components/ColorBox/props.js","../../src/components/ColorBox/styled.js","../../src/components/ColorBox/colorBox.jsx","../../src/generic/Styled.js","../../src/utils/index.js","../../src/components/OpacityPicker/props.js","../../src/components/OpacityPicker/opacityPicker.jsx","../../src/components/StrokePicker/props.js","../../src/components/StrokePicker/strokePicker.jsx","../../src/components/TemplateToolBar/templateToolBar.jsx","../../src/components/TextToolBar/props.js","../../src/components/TextToolBar/styled.js","../../src/components/ToolsTabBar/props.js","../../src/components/ToolsTabBar/styled.js","../../src/components/ToolsTabBar/toolsTabBar.jsx","../../src/components/TextToolBar/textToolBar.jsx","../../src/components/ImageToolBar/props.js","../../src/components/ImageToolBar/styled.js","../../src/components/ImageToolBar/imageToolBar.jsx","../../src/components/ShapeToolBar/props.js","../../src/components/ShapeToolBar/styled.js","../../src/components/ShapeToolBar/shapeToolBar.jsx","../../src/components/QrToolBar/props.js","../../src/components/QrToolBar/styled.js","../../src/components/QrToolBar/qrToolBar.jsx","../../src/components/TopToolBar/topToolBar.jsx","../../src/components/BottomToolBar/props.js","../../src/components/ZoomControls/props.js","../../src/components/ZoomControls/styled.js","../../src/components/Button/props.js","../../src/components/Button/styled.js","../../src/components/Button/button.jsx","../../src/components/ZoomControls/zoomControls.jsx","../../src/components/BottomToolBarControls/props.js","../../src/components/BottomToolBarControls/styled.js","../../src/components/BottomToolBarControls/bottomToolBarControls.jsx","../../src/components/BottomToolBar/styled.js","../../src/components/UndoRedoControls/props.js","../../src/components/UndoRedoControls/undoRedoControls.jsx","../../src/components/BottomToolBar/bottomToolBar.jsx","../../src/components/CanvasImage/props.js","../../src/components/CanvasImage/canvasImage.jsx","../../src/components/QrElement/props.js","../../src/components/QrElement/qrElement.jsx","../../src/components/EditableText/props.js","../../src/components/EditableText/textEditor.jsx","../../src/components/EditableText/editableText.jsx","../../src/components/Editor/util.js","../../src/components/Editor/editor.jsx","../../src/components/HelperSideBar/props.js","../../src/components/SideBarHeader/props.js","../../src/components/SideBarHeader/styled.js","../../src/components/SideBarHeader/sideBarHeader.jsx","../../src/components/HelperSideBar/styled.js","../../src/components/TemplateSideBar/props.js","../../src/components/Collapsable/props.js","../../src/components/Collapsable/styled.js","../../src/components/Collapsable/collapsable.jsx","../../src/components/TemplateSideBar/styled.js","../../src/components/TemplateSideBar/templateSideBar.jsx","../../src/components/TextSideBar/props.js","../../src/components/TextSideBar/styled.js","../../src/components/TextSideBar/textSideBar.jsx","../../src/components/ImageSideBar/props.js","../../src/components/ImageSideBar/styled.js","../../src/components/ImageSideBar/imageSideBar.jsx","../../src/components/ShapeSideBar/props.js","../../src/components/ShapeSideBar/styled.js","../../src/components/ShapeSideBar/shapeSideBar.jsx","../../src/components/QrSideBar/props.js","../../src/components/QrSideBar/styled.js","../../src/components/RadioSection/props.js","../../src/components/RadioSection/styled.js","../../src/components/RadioSection/radioSection.jsx","../../src/components/QrSideBar/qrSideBar.jsx","../../src/components/WhiteLabelSideBar/props.js","../../src/components/WhiteLabelSideBar/styled.js","../../src/components/WhiteLabelSideBar/whiteLabelSideBar.jsx","../../src/components/HelperSideBar/helperSideBar.jsx","../../src/components/Overlay/props.js","../../src/components/Overlay/overlay.jsx","../../src/components/LoadingSpinner/props.js","../../src/components/LoadingSpinner/styled.js","../../src/components/LoadingSpinner/loadingSpinner.jsx","../../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../../src/features/Studio/studio.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\n\nexport const propTypes = {\n title: PropTypes.string,\n languageLocale: PropTypes.string,\n elementsList: PropTypes.array,\n customImages: PropTypes.array,\n defaultImages: PropTypes.array,\n disableWhiteLabel: PropTypes.bool,\n defaultTemplatesList: PropTypes.array,\n customTemplatesList: PropTypes.array,\n qrLink: PropTypes.string,\n styleProps: PropTypes.object,\n defaultText: PropTypes.string,\n onSave: PropTypes.func,\n saveButtonText: PropTypes.string,\n locale: PropTypes.oneOf(['en', 'ru', 'pl', 'de', 'es', 'fr', 'it']),\n};\n","/**\n * palette contains the basic colors set\n */\nexport const palette = {\n primary: '#5F98D0',\n secondary: '#F9FAFB',\n gray_700: '#344054',\n white: '#FFFFFF',\n white_F5F5F5: '#F5F5F5',\n white_F7F7F7: '#F7F7F7',\n gray_535354: '#535354',\n gray_545454: '#545454',\n gray_646464: '#646464',\n gray_200: '#E4E7EC',\n gray_788899: '#788899',\n icon_gray: '#4D6277',\n gray_B8B8B8: '#B8B8B8',\n gray_25: '#FCFCFD',\n gray_7A7979: '#7A7979',\n gray_E8E8E8: '#E8E8E8',\n gray_EAEAEA: '#EAEAEA',\n gray_CCC: '#CCC',\n gray_F2F2F2: '#F2F2F2',\n gray_FDFCFC: '#FDFCFC',\n gray_EDEDED: '#EDEDED',\n gray_FBFBFB: '#FBFBFB',\n gray_F5F6F6: '#F5F6F6',\n gray_A1A1A1: '#A1A1A1',\n gray_F0F2F7: '#F0F2F7',\n gray_333: '#333333',\n gray_EFEFEF: '#EFEFEF',\n gray_9DA1A7: '#9DA1A7',\n green_80D965: '#80D965',\n black: '#000000',\n black_transparent: 'rgba(0,0,0,0.4)',\n};\n\nexport const color = {\n ...palette,\n};\n","export const fonts = {\n primary: 'Plus Jakarta Sans, sans-serif',\n secondary: 'Inter, sans-serif',\n tertiary: 'Source Sans Pro, sans-serif',\n};\nexport const fontWeights = {\n 100: 100,\n 200: 200,\n 300: 300,\n 400: 400,\n 500: 500,\n 600: 600,\n 700: 700,\n 800: 800,\n 900: 900,\n};\n","import { color } from './color';\nimport { fonts } from './fonts';\nimport { fontWeights } from './fonts';\n\nexport default { color, fonts, fontWeights };\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StudioWrapper = styled.div`\n background-color: ${theme.color.white};\n display: flex;\n flex: 1;\n flex-direction: row;\n overflow: hidden;\n height: 100%;\n width: 100%;\n position: relative;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n selectedSideBarItem: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n onClickPill: PropTypes.func,\n languageLocale: PropTypes.string,\n disableWhiteLabel: PropTypes.bool,\n styleProps: PropTypes.object,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const SideBarWrapper = styled.div`\n background-color: ${theme.color.white};\n display: flex;\n flex-direction: column;\n width: 100px;\n overflow: auto;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n isSelected: PropTypes.bool,\n onClick: PropTypes.func,\n icon: PropTypes.node,\n text: PropTypes.string,\n pillActiveColor: PropTypes.string,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\n\nexport const SideBarItem = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100px;\n min-height: 100px;\n background-color: ${({ isSelected, pillActiveColor }) =>\n isSelected ? pillActiveColor : theme.color.secondary};\n margin-bottom: 2px;\n cursor: pointer;\n transition: background-color 0.2s ease-in-out;\n\n &:hover {\n background-color: ${({ pillActiveColor }) => pillActiveColor};\n }\n`;\n\nexport const SideBarIcon = styled.img`\n height: 28px;\n width: 28px;\n object-fit: contain;\n margin-bottom: 8px;\n filter: ${({ isSelected = false }) => (isSelected ? 'brightness(0) invert(1)' : 'none')};\n\n ${SideBarItem}:hover & {\n filter: brightness(0) invert(1);\n }\n`;\n\nexport const SideBarText = styled.p`\n color: ${({ isSelected = false }) =>\n isSelected ? theme.color.white : theme.color.gray_535354};\n font-size: 12px;\n font-family: ${theme.fonts.primary};\n font-weight: ${theme.fontWeights[400]};\n line-height: 109.023%;\n text-align: center;\n\n ${SideBarItem}:hover & {\n color: ${theme.color.white};\n }\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { SideBarIcon, SideBarItem, SideBarText } from './styled';\nimport theme from '@/theme';\n\nexport const SideBarPill = ({\n isSelected = false,\n onClick = () => {},\n icon,\n text,\n pillActiveColor,\n id\n}) => (\n <SideBarItem\n key={id}\n isSelected={isSelected}\n onClick={() => onClick()}\n pillActiveColor={pillActiveColor || theme.color.primary}\n >\n <SideBarIcon src={icon} isSelected={isSelected} />\n <SideBarText isSelected={isSelected}>{text}</SideBarText>\n </SideBarItem>\n);\n\nSideBarPill.propTypes = propTypes;\n","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2229%22%20viewBox%3D%220%200%2028%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22layout-dashboard%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.66683%202.83337C3.37816%202.83337%202.3335%203.87804%202.3335%205.16671V13.3334C2.3335%2014.622%203.37816%2015.6667%204.66683%2015.6667H10.5002C11.7888%2015.6667%2012.8335%2014.622%2012.8335%2013.3334V5.16671C12.8335%203.87804%2011.7888%202.83337%2010.5002%202.83337H4.66683ZM4.66683%205.16671H10.5002V13.3334H4.66683V5.16671Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M17.5002%202.83337C16.2115%202.83337%2015.1668%203.87804%2015.1668%205.16671V8.66671C15.1668%209.95537%2016.2115%2011%2017.5002%2011H23.3335C24.6222%2011%2025.6668%209.95537%2025.6668%208.66671V5.16671C25.6668%203.87804%2024.6222%202.83337%2023.3335%202.83337H17.5002ZM17.5002%205.16671H23.3335V8.66671H17.5002V5.16671Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.1668%2015.6667C15.1668%2014.378%2016.2115%2013.3334%2017.5002%2013.3334H23.3335C24.6222%2013.3334%2025.6668%2014.378%2025.6668%2015.6667V23.8334C25.6668%2025.122%2024.6222%2026.1667%2023.3335%2026.1667H17.5002C16.2115%2026.1667%2015.1668%2025.122%2015.1668%2023.8334V15.6667ZM23.3335%2015.6667H17.5002V23.8334H23.3335V15.6667Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.66683%2018C3.37816%2018%202.3335%2019.0447%202.3335%2020.3334V23.8334C2.3335%2025.122%203.37816%2026.1667%204.66683%2026.1667H10.5002C11.7888%2026.1667%2012.8335%2025.122%2012.8335%2023.8334V20.3334C12.8335%2019.0447%2011.7888%2018%2010.5002%2018H4.66683ZM4.66683%2020.3334H10.5002V23.8334H4.66683V20.3334Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2229%22%20viewBox%3D%220%200%2028%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M22.1667%204H5.83333C4.54467%204%203.5%205.04467%203.5%206.33333V22.6667C3.5%2023.9553%204.54467%2025%205.83333%2025H22.1667C23.4553%2025%2024.5%2023.9553%2024.5%2022.6667V6.33333C24.5%205.04467%2023.4553%204%2022.1667%204Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M10.4998%2013.3334C11.7885%2013.3334%2012.8332%2012.2887%2012.8332%2011C12.8332%209.71136%2011.7885%208.66669%2010.4998%208.66669C9.21117%208.66669%208.1665%209.71136%208.1665%2011C8.1665%2012.2887%209.21117%2013.3334%2010.4998%2013.3334Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M24.5%2018L20.8997%2014.3997C20.4621%2013.9622%2019.8687%2013.7165%2019.25%2013.7165C18.6313%2013.7165%2018.0379%2013.9622%2017.6003%2014.3997L7%2025%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2229%22%20viewBox%3D%220%200%2028%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22heroicons-solid%2Fqr-code%22%3E%3Cpath%20id%3D%22Vector%20%28Stroke%29%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M2%205C2%203.61929%203.11929%202.5%204.5%202.5H10.5C11.8807%202.5%2013%203.61929%2013%205V11C13%2012.3807%2011.8807%2013.5%2010.5%2013.5H4.5C3.11929%2013.5%202%2012.3807%202%2011V5ZM4.5%204.5C4.22386%204.5%204%204.72386%204%205V11C4%2011.2761%204.22386%2011.5%204.5%2011.5H10.5C10.7761%2011.5%2011%2011.2761%2011%2011V5C11%204.72386%2010.7761%204.5%2010.5%204.5H4.5ZM15%205C15%203.61929%2016.1193%202.5%2017.5%202.5H23.5C24.8807%202.5%2026%203.61929%2026%205V11C26%2012.3807%2024.8807%2013.5%2023.5%2013.5H17.5C16.1193%2013.5%2015%2012.3807%2015%2011V5ZM17.5%204.5C17.2239%204.5%2017%204.72386%2017%205V11C17%2011.2761%2017.2239%2011.5%2017.5%2011.5H23.5C23.7761%2011.5%2024%2011.2761%2024%2011V5C24%204.72386%2023.7761%204.5%2023.5%204.5H17.5ZM6%207.5C6%206.94772%206.44772%206.5%207%206.5H8C8.55228%206.5%209%206.94772%209%207.5V8.5C9%209.05228%208.55228%209.5%208%209.5H7C6.44772%209.5%206%209.05228%206%208.5V7.5ZM19%207.5C19%206.94772%2019.4477%206.5%2020%206.5H21C21.5523%206.5%2022%206.94772%2022%207.5V8.5C22%209.05228%2021.5523%209.5%2021%209.5H20C19.4477%209.5%2019%209.05228%2019%208.5V7.5ZM2%2018C2%2016.6193%203.11929%2015.5%204.5%2015.5H10.5C11.8807%2015.5%2013%2016.6193%2013%2018V24C13%2025.3807%2011.8807%2026.5%2010.5%2026.5H4.5C3.11929%2026.5%202%2025.3807%202%2024V18ZM4.5%2017.5C4.22386%2017.5%204%2017.7239%204%2018V24C4%2024.2761%204.22386%2024.5%204.5%2024.5H10.5C10.7761%2024.5%2011%2024.2761%2011%2024V18C11%2017.7239%2010.7761%2017.5%2010.5%2017.5H4.5ZM15%2016.5C15%2015.9477%2015.4477%2015.5%2016%2015.5H17C17.5523%2015.5%2018%2015.9477%2018%2016.5V17.5C18%2018.0523%2017.5523%2018.5%2017%2018.5H16C15.4477%2018.5%2015%2018.0523%2015%2017.5V16.5ZM23%2016.5C23%2015.9477%2023.4477%2015.5%2024%2015.5H25C25.5523%2015.5%2026%2015.9477%2026%2016.5V17.5C26%2018.0523%2025.5523%2018.5%2025%2018.5H24C23.4477%2018.5%2023%2018.0523%2023%2017.5V16.5ZM6%2020.5C6%2019.9477%206.44772%2019.5%207%2019.5H8C8.55228%2019.5%209%2019.9477%209%2020.5V21.5C9%2022.0523%208.55228%2022.5%208%2022.5H7C6.44772%2022.5%206%2022.0523%206%2021.5V20.5ZM19%2020.5C19%2019.9477%2019.4477%2019.5%2020%2019.5H21C21.5523%2019.5%2022%2019.9477%2022%2020.5V21.5C22%2022.0523%2021.5523%2022.5%2021%2022.5H20C19.4477%2022.5%2019%2022.0523%2019%2021.5V20.5ZM15%2024.5C15%2023.9477%2015.4477%2023.5%2016%2023.5H17C17.5523%2023.5%2018%2023.9477%2018%2024.5V25.5C18%2026.0523%2017.5523%2026.5%2017%2026.5H16C15.4477%2026.5%2015%2026.0523%2015%2025.5V24.5ZM23%2024.5C23%2023.9477%2023.4477%2023.5%2024%2023.5H25C25.5523%2023.5%2026%2023.9477%2026%2024.5V25.5C26%2026.0523%2025.5523%2026.5%2025%2026.5H24C23.4477%2026.5%2023%2026.0523%2023%2025.5V24.5Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2226%22%20height%3D%2227%22%20viewBox%3D%220%200%2026%2027%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M12.8996%200.305068C13.2791%200.29145%2013.6556%200.376085%2013.9926%200.55077C14.3297%200.725456%2014.616%200.984266%2014.8236%201.30211L14.8386%201.32569L19.6238%209.0076C19.8397%209.33005%2019.9667%209.70402%2019.9917%2010.0917C20.0176%2010.4929%2019.9332%2010.8935%2019.7477%2011.2502C19.5623%2011.6068%2019.2828%2011.906%2018.9395%2012.1152C18.5963%2012.3244%2018.2023%2012.4358%2017.8003%2012.4372L17.7958%2012.4372H8.19452C7.8032%2012.4509%207.41501%2012.3601%207.07005%2012.1737C6.71246%2011.9806%206.41525%2011.6923%206.21129%2011.3407C6.00733%2010.9892%205.90457%2010.588%205.91436%2010.1817C5.92407%209.77863%206.0442%209.38598%206.26157%209.04651L11.0735%201.39989C11.2568%201.08451%2011.5157%200.819365%2011.8271%200.628499C12.1508%200.430098%2012.5202%200.318687%2012.8996%200.305068ZM12.9777%203.24166L8.82255%209.84459H17.0908L12.9777%203.24166Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M0%2017.6223C0%2016.1905%201.16074%2015.0297%202.59259%2015.0297H9.07407C10.5059%2015.0297%2011.6667%2016.1905%2011.6667%2017.6223V24.1038C11.6667%2025.5356%2010.5059%2026.6964%209.07407%2026.6964H2.59259C1.16074%2026.6964%200%2025.5356%200%2024.1038V17.6223ZM9.07407%2017.6223H2.59259V24.1038H9.07407V17.6223Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M20.0926%2015.0297C16.8709%2015.0297%2014.2593%2017.6414%2014.2593%2020.863C14.2593%2024.0847%2016.8709%2026.6964%2020.0926%2026.6964C23.3143%2026.6964%2025.9259%2024.0847%2025.9259%2020.863C25.9259%2017.6414%2023.3143%2015.0297%2020.0926%2015.0297ZM16.8519%2020.863C16.8519%2019.0732%2018.3028%2017.6223%2020.0926%2017.6223C21.8824%2017.6223%2023.3333%2019.0732%2023.3333%2020.863C23.3333%2022.6529%2021.8824%2024.1038%2020.0926%2024.1038C18.3028%2024.1038%2016.8519%2022.6529%2016.8519%2020.863Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2229%22%20viewBox%3D%220%200%2028%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9.81277%2024.83C11.0728%2024.63%2011.8428%2024.43%2012.1228%2024.23C12.4028%2024.01%2012.5428%2023.59%2012.5428%2022.97V6.77C9.96277%206.81%208.58277%206.87%208.40277%206.95C8.22277%207.03%208.08277%207.12%207.98277%207.22C7.74277%207.54%207.45277%208.67%207.11277%2010.61L5.58277%2010.49C5.56277%2010.19%205.55277%209.61%205.55277%208.75C5.55277%207.87%205.64277%206.69%205.82277%205.21H22.1728C22.3528%206.69%2022.4428%207.87%2022.4428%208.75C22.4428%209.61%2022.4328%2010.19%2022.4128%2010.49L20.8828%2010.61C20.5428%208.67%2020.2428%207.54%2019.9828%207.22C19.9028%207.12%2019.7728%207.03%2019.5928%206.95C19.4128%206.87%2018.0328%206.81%2015.4528%206.77V23.69C15.4528%2024.15%2015.6528%2024.41%2016.0528%2024.47L18.3628%2024.83L18.2428%2026H9.99277L9.81277%2024.83Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2229%22%20viewBox%3D%220%200%2028%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%20clip-path%3D%22url%28%23clip0_1597_130%29%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M11.2063%2022.2583H24.7765V12.7095H11.2063V22.2583ZM1.71955%2026.75C0.913059%2026.75%200.230426%2026.4642%20-0.328346%2025.8925C-0.887118%2025.3208%20-1.1665%2024.6224%20-1.1665%2023.7973V5.20266C-1.1665%204.37755%20-0.887118%203.67917%20-0.328346%203.1075C0.230426%202.53583%200.913059%202.25%201.71955%202.25H26.2808C27.0873%202.25%2027.7699%202.53583%2028.3287%203.1075C28.8874%203.67917%2029.1668%204.37755%2029.1668%205.20266V23.7973C29.1668%2024.6224%2028.8874%2025.3208%2028.3287%2025.8925C27.7699%2026.4642%2027.0873%2026.75%2026.2808%2026.75H1.71955ZM1.71955%2024.3H26.2808C26.4037%2024.3%2026.5163%2024.2476%2026.6184%2024.1428C26.7209%2024.0383%2026.7721%2023.9231%2026.7721%2023.7973V5.20266C26.7721%205.07689%2026.7209%204.96174%2026.6184%204.85721C26.5163%204.7524%2026.4037%204.7%2026.2808%204.7H1.71955C1.59662%204.7%201.48407%204.7524%201.3819%204.85721C1.27945%204.96174%201.22823%205.07689%201.22823%205.20266V23.7973C1.22823%2023.9231%201.27945%2024.0383%201.3819%2024.1428C1.48407%2024.2476%201.59662%2024.3%201.71955%2024.3Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_1597_130%22%3E%3Crect%20width%3D%2228%22%20height%3D%2228%22%20fill%3D%22white%22%20transform%3D%22translate%280%200.5%29%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2211%22%20viewBox%3D%220%200%2016%2011%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20id%3D%22Shape%22%20d%3D%22M1.41005%201.71004C1.95679%201.1633%202.84322%201.1633%203.38995%201.71004L8%206.32009L12.6101%201.71004C13.1568%201.1633%2014.0432%201.1633%2014.5899%201.71004C15.1367%202.25677%2015.1367%203.1432%2014.5899%203.68994L8.98995%209.28994C8.44322%209.83667%207.55679%209.83667%207.01005%209.28994L1.41005%203.68994C0.863317%203.1432%200.863317%202.25677%201.41005%201.71004Z%22%20fill%3D%22%2398A2B3%22%20stroke%3D%22white%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2217%22%20height%3D%2218%22%20viewBox%3D%220%200%2017%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22background-color%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M13.5093%2012.1849C13.5093%2012.4144%2013.3232%2012.6005%2013.0937%2012.6005C12.8643%2012.6005%2012.6782%2012.4144%2012.6782%2012.1849C12.6782%2012.1873%2012.6782%2012.1886%2012.6783%2012.1886C12.6793%2012.1887%2012.6927%2012.0751%2012.8642%2011.8179C12.9262%2011.7249%2013.0023%2011.6229%2013.0937%2011.5118C13.1852%2011.6229%2013.2613%2011.7249%2013.3233%2011.8179C13.4948%2012.0751%2013.5082%2012.1887%2013.5092%2012.1886C13.5093%2012.1886%2013.5093%2012.1873%2013.5093%2012.1849Z%22%20fill%3D%22%23344054%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M7.37988%202.45471L8.63103%203.70587%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M8.38058%203.45575L2.87549%208.96086L6.8792%2012.9646L12.3843%207.45945L8.38058%203.45575Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M4.24658%207.61035L10.2488%209.58373%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_5%22%20d%3D%22M1.41553%2015.7238H15.5708%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Group%22%3E%3Cg%20id%3D%22Group_2%22%3E%3Cpath%20id%3D%22Vector%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.34066%204H20.6323C21.1616%204%2021.5907%204.44772%2021.5907%205V19C21.5907%2019.5523%2021.1616%2020%2020.6323%2020H4.34066C3.81138%2020%203.38232%2019.5523%203.38232%2019V5C3.38232%204.44772%203.81138%204%204.34066%204Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M7.93457%208.99994C8.33152%208.99994%208.65332%208.66415%208.65332%208.24994C8.65332%207.83573%208.33152%207.49994%207.93457%207.49994C7.53762%207.49994%207.21582%207.83573%207.21582%208.24994C7.21582%208.66415%207.53762%208.99994%207.93457%208.99994Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M8.17399%2012L10.5698%2014L13.4448%2010.5L21.5907%2017V19C21.5907%2019.5523%2021.1616%2020%2020.6323%2020H4.34066C3.81138%2020%203.38232%2019.5523%203.38232%2019V17L8.17399%2012Z%22%20fill%3D%22white%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Group%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M1.16327%2017.3162V0.683777H17.7957V17.3162H1.16327Z%22%20stroke%3D%22%23344054%22%20stroke-opacity%3D%220.75%22%20stroke-width%3D%220.353881%22%2F%3E%3Cg%20id%3D%22Group_2%22%3E%3Cpath%20id%3D%22Vector_2%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.46362%203.33789H15.4956C15.8865%203.33789%2016.2033%203.65477%2016.2033%204.04565V13.9543C16.2033%2014.3452%2015.8865%2014.6621%2015.4956%2014.6621H3.46362C3.07274%2014.6621%202.75586%2014.3452%202.75586%2013.9543V4.04565C2.75586%203.65477%203.07274%203.33789%203.46362%203.33789Z%22%20stroke%3D%22%23344054%22%20stroke-opacity%3D%220.75%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M6.11774%206.87671C6.4109%206.87671%206.64856%206.63905%206.64856%206.34589C6.64856%206.05272%206.4109%205.81506%206.11774%205.81506C5.82457%205.81506%205.58691%206.05272%205.58691%206.34589C5.58691%206.63905%205.82457%206.87671%206.11774%206.87671Z%22%20stroke%3D%22%23344054%22%20stroke-opacity%3D%220.75%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M6.29467%209L8.06408%2010.4155L10.1874%207.93835L16.2033%2012.5388V13.9543C16.2033%2014.3452%2015.8865%2014.6621%2015.4956%2014.6621H3.46362C3.07274%2014.6621%202.75586%2014.3452%202.75586%2013.9543V12.5388L6.29467%209Z%22%20fill%3D%22white%22%20stroke%3D%22%23344054%22%20stroke-opacity%3D%220.75%22%20stroke-width%3D%222%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2211%22%20height%3D%226%22%20viewBox%3D%220%200%2011%206%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M9.97266%201L5.97266%205L1.97266%201%22%20stroke%3D%22%2398A2B3%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2225%22%20height%3D%2224%22%20viewBox%3D%220%200%2025%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M5.97266%2019H19.9727V5H5.97266V19ZM3.97266%2021V3H21.9727V21H3.97266ZM7.97266%2013V11H9.97266V13H7.97266ZM11.9727%2017V15H13.9727V17H11.9727ZM11.9727%2013V11H13.9727V13H11.9727ZM11.9727%209V7H13.9727V9H11.9727ZM15.9727%2013V11H17.9727V13H15.9727Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2216%22%20viewBox%3D%220%200%2018%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22zoom-in%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20d%3D%22M8.03174%204.73066C8.42294%204.73066%208.74007%205.02339%208.74007%205.3845V6.69219H10.1567C10.5479%206.69219%2010.8651%206.98493%2010.8651%207.34604C10.8651%207.70715%2010.5479%207.99989%2010.1567%207.99989H8.74007V9.30758C8.74007%209.66869%208.42294%209.96143%208.03174%209.96143C7.64054%209.96143%207.3234%209.66869%207.3234%209.30758V7.99989H5.90674C5.51554%207.99989%205.1984%207.70715%205.1984%207.34604C5.1984%206.98493%205.51554%206.69219%205.90674%206.69219H7.3234V5.3845C7.3234%205.02339%207.64054%204.73066%208.03174%204.73066Z%22%20fill%3D%22%234D6277%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M12.0109%2011.9439C10.9203%2012.7491%209.53694%2013.2307%208.03174%2013.2307C4.51092%2013.2307%201.65674%2010.596%201.65674%207.34604C1.65674%204.09606%204.51092%201.46143%208.03174%201.46143C11.5526%201.46143%2014.4067%204.09606%2014.4067%207.34604C14.4067%208.73549%2013.8851%2010.0125%2013.0126%2011.0192L15.6159%2013.4222C15.8925%2013.6775%2015.8925%2014.0915%2015.6159%2014.3468C15.3392%2014.6022%2014.8908%2014.6022%2014.6141%2014.3468L12.0109%2011.9439ZM3.0734%207.34604C3.0734%204.81828%205.29333%202.76912%208.03174%202.76912C10.7702%202.76912%2012.9901%204.81828%2012.9901%207.34604C12.9901%208.57907%2012.4619%209.69821%2011.6029%2010.5212C11.5786%2010.5384%2011.5552%2010.5574%2011.5329%2010.5779C11.5106%2010.5985%2011.4901%2010.6201%2011.4714%2010.6426C10.5799%2011.4354%209.36749%2011.923%208.03174%2011.923C5.29333%2011.923%203.0734%209.87381%203.0734%207.34604Z%22%20fill%3D%22%234D6277%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22zoom-out%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20d%3D%22M5.90674%207.58329C5.51554%207.58329%205.1984%207.90042%205.1984%208.29163C5.1984%208.68283%205.51554%208.99996%205.90674%208.99996H10.1567C10.5479%208.99996%2010.8651%208.68283%2010.8651%208.29163C10.8651%207.90042%2010.5479%207.58329%2010.1567%207.58329H5.90674Z%22%20fill%3D%22%234D6277%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8.03174%2014.6666C9.53694%2014.6666%2010.9203%2014.145%2012.0109%2013.2726L14.6141%2015.8758C14.8908%2016.1525%2015.3392%2016.1525%2015.6159%2015.8758C15.8925%2015.5992%2015.8925%2015.1507%2015.6159%2014.8741L13.0126%2012.2709C13.8851%2011.1803%2014.4067%209.79686%2014.4067%208.29163C14.4067%204.77081%2011.5526%201.91663%208.03174%201.91663C4.51092%201.91663%201.65674%204.77081%201.65674%208.29163C1.65674%2011.8124%204.51092%2014.6666%208.03174%2014.6666ZM8.03174%203.33329C5.29333%203.33329%203.0734%205.55321%203.0734%208.29163C3.0734%2011.03%205.29333%2013.25%208.03174%2013.25C9.36749%2013.25%2010.5799%2012.7218%2011.4714%2011.8629C11.4901%2011.8385%2011.5106%2011.8151%2011.5329%2011.7928C11.5552%2011.7706%2011.5786%2011.7501%2011.6029%2011.7314C12.4619%2010.8398%2012.9901%209.6274%2012.9901%208.29163C12.9901%205.55321%2010.7702%203.33329%208.03174%203.33329Z%22%20fill%3D%22%234D6277%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22bring-to-front%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M17.0833%207.49988H7.91667C7.68654%207.49988%207.5%207.68642%207.5%207.91654V17.0832C7.5%2017.3133%207.68654%2017.4999%207.91667%2017.4999H17.0833C17.3135%2017.4999%2017.5%2017.3133%2017.5%2017.0832V7.91654C17.5%207.68642%2017.3135%207.49988%2017.0833%207.49988Z%22%20fill%3D%22white%22%20stroke%3D%22%23203040%22%20stroke-width%3D%222%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M4.15377%202.5H2.5V4.18067%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M4.16544%2012.4999H2.5V10.8383%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M10.8345%202.5H12.5002V4.173%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_5%22%20d%3D%22M6.67871%202.5H8.33704%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_6%22%20d%3D%22M2.5%206.66675C2.5%207.77241%202.5%208.32796%202.5%208.33341%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_7%22%20d%3D%22M12.5%206.66675C12.5%207.78196%2012.5%208.06075%2012.5%207.50316%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_8%22%20d%3D%22M6.66357%2012.5001H7.49999%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22sent-to-back%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M12.5%207.49988H17.0833C17.3135%207.49988%2017.5%207.68642%2017.5%207.91654V17.0832C17.5%2017.3133%2017.3135%2017.4999%2017.0833%2017.4999H7.91667C7.68654%2017.4999%207.5%2017.3133%207.5%2017.0832V12.4999%22%20stroke%3D%22%23203040%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M4.15377%202.5H2.5V4.18067%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M4.16544%2012.4999H2.5V10.8383%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M10.8335%2012.4999H12.499V10.8383%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_5%22%20d%3D%22M10.8345%202.5H12.5002V4.16577%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_6%22%20d%3D%22M6.67871%202.5H8.33704%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_7%22%20d%3D%22M2.5%206.66675V8.33958%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_8%22%20d%3D%22M12.5%206.66675V8.33958%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_9%22%20d%3D%22M6.66357%2012.5001H8.33332%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2221%22%20height%3D%2220%22%20viewBox%3D%220%200%2021%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22lock%22%3E%3Cpath%20id%3D%22Icon%20color%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5.46566%208.33325V5.83325C5.46566%204.50717%205.99244%203.2354%206.93012%202.29772C7.86781%201.36004%209.13958%200.833252%2010.4657%200.833252C11.7917%200.833252%2013.0635%201.36004%2014.0012%202.29772C14.9389%203.2354%2015.4657%204.50717%2015.4657%205.83325V8.33325H16.299C17.6797%208.33325%2018.799%209.45254%2018.799%2010.8333V16.6666C18.799%2018.0473%2017.6797%2019.1666%2016.299%2019.1666H4.63232C3.25161%2019.1666%202.13232%2018.0473%202.13232%2016.6666V10.8333C2.13232%209.45254%203.25161%208.33325%204.63232%208.33325H5.46566ZM8.10863%203.47623C8.73376%202.85111%209.5816%202.49992%2010.4657%202.49992C11.3497%202.49992%2012.1976%202.85111%2012.8227%203.47623C13.4478%204.10135%2013.799%204.9492%2013.799%205.83325V8.33325H7.13232V5.83325C7.13232%204.9492%207.48351%204.10135%208.10863%203.47623ZM4.63232%209.99992C4.17209%209.99992%203.79899%2010.373%203.79899%2010.8333V16.6666C3.79899%2017.1268%204.17209%2017.4999%204.63232%2017.4999H16.299C16.7592%2017.4999%2017.1323%2017.1268%2017.1323%2016.6666V10.8333C17.1323%2010.373%2016.7592%209.99992%2016.299%209.99992H4.63232Z%22%20fill%3D%22%23383F46%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2221%22%20height%3D%2220%22%20viewBox%3D%220%200%2021%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22copy%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20d%3D%22M3.27653%203.33337C3.27653%202.87694%203.65343%202.50004%204.10986%202.50004H12.4432C12.8996%202.50004%2013.2765%202.87694%2013.2765%203.33337C13.2765%203.79361%2013.6496%204.16671%2014.1099%204.16671C14.5701%204.16671%2014.9432%203.79361%2014.9432%203.33337C14.9432%201.95647%2013.8201%200.833374%2012.4432%200.833374H4.10986C2.73296%200.833374%201.60986%201.95647%201.60986%203.33337V11.6667C1.60986%2013.0436%202.73296%2014.1667%204.10986%2014.1667C4.5701%2014.1667%204.9432%2013.7936%204.9432%2013.3334C4.9432%2012.8731%204.5701%2012.5%204.10986%2012.5C3.65343%2012.5%203.27653%2012.1231%203.27653%2011.6667V3.33337Z%22%20fill%3D%22%2334C276%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9.10986%205.83337C7.72915%205.83337%206.60986%206.95266%206.60986%208.33337V16.6667C6.60986%2018.0474%207.72915%2019.1667%209.10986%2019.1667H17.4432C18.8239%2019.1667%2019.9432%2018.0474%2019.9432%2016.6667V8.33337C19.9432%206.95266%2018.8239%205.83337%2017.4432%205.83337H9.10986ZM8.27653%208.33337C8.27653%207.87314%208.64963%207.50004%209.10986%207.50004H17.4432C17.9034%207.50004%2018.2765%207.87314%2018.2765%208.33337V16.6667C18.2765%2017.1269%2017.9034%2017.5%2017.4432%2017.5H9.10986C8.64963%2017.5%208.27653%2017.1269%208.27653%2016.6667V8.33337Z%22%20fill%3D%22%2334C276%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2225%22%20height%3D%2224%22%20viewBox%3D%220%200%2025%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M9.48691%2016.1537L12.0869%2013.5537L14.6869%2016.1537L15.7407%2015.1L13.1407%2012.5L15.7407%209.89998L14.6869%208.84623L12.0869%2011.4462L9.48691%208.84623L8.43316%209.89998L11.0332%2012.5L8.43316%2015.1L9.48691%2016.1537ZM7.39466%2020.5C6.8895%2020.5%206.46191%2020.325%206.11191%2019.975C5.76191%2019.625%205.58691%2019.1974%205.58691%2018.6922V5.99998H4.58691V4.49998H9.08691V3.61548H15.0869V4.49998H19.5869V5.99998H18.5869V18.6922C18.5869%2019.1974%2018.4119%2019.625%2018.0619%2019.975C17.7119%2020.325%2017.2843%2020.5%2016.7792%2020.5H7.39466ZM17.0869%205.99998H7.08691V18.6922C7.08691%2018.7692%207.119%2018.8397%207.18316%2018.9037C7.24716%2018.9679%207.31766%2019%207.39466%2019H16.7792C16.8562%2019%2016.9267%2018.9679%2016.9907%2018.9037C17.0548%2018.8397%2017.0869%2018.7692%2017.0869%2018.6922V5.99998Z%22%20fill%3D%22%23D91919%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22redo%22%3E%3Cpath%20id%3D%22Icon%20color%22%20d%3D%22M1.66683%205.83333C1.66683%205.3731%202.03993%205%202.50016%205C2.9604%205%203.3335%205.3731%203.3335%205.83333V8.9622L4.44323%207.96344C5.96994%206.59414%207.94893%205.83542%209.99974%205.83333C12.2099%205.83333%2014.3299%206.71131%2015.8927%208.27411C17.4555%209.83691%2018.3335%2011.9565%2018.3335%2014.1667C18.3335%2014.6269%2017.9604%2015%2017.5002%2015C17.0399%2015%2016.6668%2014.6269%2016.6668%2014.1667C16.6668%2012.3986%2015.9645%2010.7029%2014.7142%209.45262C13.4641%208.20248%2011.7685%207.50011%2010.0006%207.5C8.36033%207.50178%206.77775%208.10868%205.55657%209.2037L4.67179%2010H7.50016C7.9604%2010%208.3335%2010.3731%208.3335%2010.8333C8.3335%2011.2936%207.9604%2011.6667%207.50016%2011.6667H2.50016C2.03993%2011.6667%201.66683%2011.2936%201.66683%2010.8333V5.83333Z%22%20fill%3D%22%234D6277%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2221%22%20height%3D%2220%22%20viewBox%3D%220%200%2021%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22redo%22%3E%3Cpath%20id%3D%22Icon%20color%22%20d%3D%22M18.8332%205.83333C18.8332%205.3731%2018.4601%205%2017.9998%205C17.5396%205%2017.1665%205.3731%2017.1665%205.83333V8.9622L16.0568%207.96344C14.5301%206.59414%2012.5511%205.83542%2010.5003%205.83333C8.29012%205.83333%206.17008%206.71131%204.60728%208.27411C3.04448%209.83691%202.1665%2011.9565%202.1665%2014.1667C2.1665%2014.6269%202.5396%2015%202.99984%2015C3.46007%2015%203.83317%2014.6269%203.83317%2014.1667C3.83317%2012.3986%204.53555%2010.7029%205.78579%209.45262C7.03594%208.20248%208.73146%207.50011%2010.4994%207.5C12.1397%207.50178%2013.7222%208.10868%2014.9434%209.2037L15.8282%2010H12.9998C12.5396%2010%2012.1665%2010.3731%2012.1665%2010.8333C12.1665%2011.2936%2012.5396%2011.6667%2012.9998%2011.6667H17.9998C18.4601%2011.6667%2018.8332%2011.2936%2018.8332%2010.8333V5.83333Z%22%20fill%3D%22%234D6277%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2214%22%20height%3D%2217%22%20viewBox%3D%220%200%2014%2017%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M3.78979%2015.7742C4.75579%2015.6209%205.34613%2015.4675%205.56079%2015.3142C5.77546%2015.1455%205.88279%2014.8235%205.88279%2014.3482V1.9282C3.90479%201.95887%202.84679%202.00487%202.70879%202.0662C2.57079%202.12754%202.46346%202.19654%202.38679%202.2732C2.20279%202.51854%201.98046%203.38487%201.71979%204.8722L0.546793%204.7802C0.53146%204.5502%200.523793%204.10554%200.523793%203.4462C0.523793%202.77154%200.592793%201.86687%200.730793%200.732203H13.2658C13.4038%201.86687%2013.4728%202.77154%2013.4728%203.4462C13.4728%204.10554%2013.4651%204.5502%2013.4498%204.7802L12.2768%204.8722C12.0161%203.38487%2011.7861%202.51854%2011.5868%202.2732C11.5255%202.19654%2011.4258%202.12754%2011.2878%202.0662C11.1498%202.00487%2010.0918%201.95887%208.11379%201.9282V14.9002C8.11379%2015.2529%208.26713%2015.4522%208.57379%2015.4982L10.3448%2015.7742L10.2528%2016.6712H3.92779L3.78979%2015.7742Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22text-bold%22%3E%3Cpath%20id%3D%22Vector%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9.1463%208.99999C11.0946%208.99999%2012.6741%207.41559%2012.6741%205.46118C12.6741%203.50674%2011.0946%201.92236%209.1463%201.92236H3.69434V8.99999H9.1463Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222.12329%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M10.4291%2016.0776C12.3775%2016.0776%2013.9569%2014.4932%2013.9569%2012.5388C13.9569%2010.5844%2012.3775%209%2010.4291%209H3.69434V16.0776H10.4291Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222.12329%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2214%22%20height%3D%2216%22%20viewBox%3D%220%200%2014%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.4649%204.09091H12.1695C12.0914%201.89631%2010.0672%200.255681%207.25471%200.255681C4.47061%200.255681%202.28311%201.875%202.28311%204.31818C2.28311%206.27841%203.70357%207.44318%205.9763%208.09659L7.76607%208.60795C9.30016%209.03409%2010.6638%209.57386%2010.6638%2011.0227C10.6638%2012.6136%209.12971%2013.6648%207.11266%2013.6648C5.37971%2013.6648%203.84561%2012.8977%203.70357%2011.25H1.88539C2.05584%2013.6364%203.98766%2015.2557%207.11266%2015.2557C10.4649%2015.2557%2012.3683%2013.4091%2012.3683%2011.0511C12.3683%208.32386%209.78311%207.44318%208.27743%207.04545L6.80016%206.64773C5.72061%206.36364%203.98766%205.79545%203.98766%204.23295C3.98766%202.84091%205.26607%201.81818%207.19789%201.81818C8.95925%201.81818%2010.2945%202.65625%2010.4649%204.09091Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20d%3D%22M0.749023%208.4517H13.5047V9.81534H0.749023V8.4517Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M7.5293%202.63013H13.1914%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M4.69824%2015.3699H10.3603%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M10.7146%202.61328L7.17578%2015.3699%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22text-underline%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M2.89062%2016.0776H14.2148%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M13.1531%202.66443C13.1531%205.02362%2013.1531%205.93299%2013.1531%208.29221C13.1531%2010.833%2011.0934%2012.8927%208.55261%2012.8927C6.01184%2012.8927%203.95215%2010.833%203.95215%208.29221C3.95215%205.93299%203.95215%205.02362%203.95215%202.66443%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M15.2192%203.86304H2.47949%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M12.3882%207.40186H2.47949%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.2192%2010.9407H2.47949%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M12.3882%2014.4795H2.47949%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M13.3926%207.40186H4.89941%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.5161%203.86304H2.77637%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.5161%2010.9407H2.77637%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M13.3926%2014.4795H4.89941%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M15.813%203.86304H3.07324%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.813%207.40186H5.9043%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.813%2010.9407H3.07324%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.813%2014.4795H5.9043%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2217%22%20viewBox%3D%220%200%2018%2017%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%20clip-path%3D%22url%28%23clip0_565_3386%29%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M8.52116%2015.5045C6.65314%2015.5045%205.06461%2014.8885%203.75556%2013.6565C2.44652%2012.4246%201.79199%2010.9167%201.79199%209.13278C1.79199%208.26628%201.96889%207.45244%202.3227%206.69128C2.67635%205.93011%203.15629%205.25038%203.76252%204.6521L8.52116%200.171204L13.2798%204.6521C13.886%205.25038%2014.366%205.93011%2014.7196%206.69128C15.0734%207.45244%2015.2503%208.26628%2015.2503%209.13278C15.2503%2010.9167%2014.5958%2012.4246%2013.2868%2013.6565C11.9777%2014.8885%2010.3892%2015.5045%208.52116%2015.5045ZM3.19121%209.90772H13.8233C14.0027%208.87446%2013.9004%207.98916%2013.5162%207.25182C13.1321%206.51433%2012.7381%205.95903%2012.3344%205.58591L8.52116%201.9695L4.70796%205.58591C4.30421%205.95903%203.90936%206.51433%203.52341%207.25182C3.13745%207.98916%203.02672%208.87446%203.19121%209.90772Z%22%20fill%3D%22%235F6368%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_565_3386%22%3E%3Crect%20width%3D%2217%22%20height%3D%2216%22%20fill%3D%22white%22%20transform%3D%22translate%280.0917969%200.171204%29%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M3.5%2020.5V3.5H20.5V20.5H3.5ZM19%2019V12.75H12.75V19H19ZM19%205H12.75V11.25H19V5ZM5%205V11.25H11.25V5H5ZM5%2019H11.25V12.75H5V19Z%22%20fill%3D%22%235F6368%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2210%22%20height%3D%2218%22%20viewBox%3D%220%200%2010%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9%2016.125L1%208.625L9%201.125%22%20stroke%3D%22%23646464%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2217%22%20height%3D%2217%22%20viewBox%3D%220%200%2017%2017%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M7.83317%2012.5H9.1665V10.5H11.1665V9.16665H9.1665V7.16665H7.83317V9.16665H5.83317V10.5H7.83317V12.5ZM4.49984%2015.1666C4.13317%2015.1666%203.81928%2015.0361%203.55817%2014.775C3.29706%2014.5139%203.1665%2014.2%203.1665%2013.8333V3.16665C3.1665%202.79998%203.29706%202.48609%203.55817%202.22498C3.81928%201.96387%204.13317%201.83331%204.49984%201.83331H9.83317L13.8332%205.83331V13.8333C13.8332%2014.2%2013.7026%2014.5139%2013.4415%2014.775C13.1804%2015.0361%2012.8665%2015.1666%2012.4998%2015.1666H4.49984ZM9.1665%206.49998V3.16665H4.49984V13.8333H12.4998V6.49998H9.1665Z%22%20fill%3D%22%235F98D0%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2217%22%20height%3D%2217%22%20viewBox%3D%220%200%2017%2017%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M7.83366%2011.1667V7.16669H5.83366V5.83335H11.167V7.16669H9.16699V11.1667H7.83366ZM1.16699%2015.8334V11.8334H2.50033V5.16669H1.16699V1.16669H5.16699V2.50002H11.8337V1.16669H15.8337V5.16669H14.5003V11.8334H15.8337V15.8334H11.8337V14.5H5.16699V15.8334H1.16699ZM5.16699%2013.1667H11.8337V11.8334H13.167V5.16669H11.8337V3.83335H5.16699V5.16669H3.83366V11.8334H5.16699V13.1667ZM2.50033%203.83335H3.83366V2.50002H2.50033V3.83335ZM13.167%203.83335H14.5003V2.50002H13.167V3.83335ZM13.167%2014.5H14.5003V13.1667H13.167V14.5ZM2.50033%2014.5H3.83366V13.1667H2.50033V14.5Z%22%20fill%3D%22%235F98D0%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2217%22%20viewBox%3D%220%200%2016%2017%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22upload%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20d%3D%22M8.25486%201.8839C8.33349%201.91643%208.40716%201.96466%208.47108%202.02858L11.8044%205.36191C12.0648%205.62226%2012.0648%206.04437%2011.8044%206.30472C11.5441%206.56507%2011.122%206.56507%2010.8616%206.30472L8.66634%204.10946V10.5C8.66634%2010.8682%208.36786%2011.1666%207.99967%2011.1666C7.63148%2011.1666%207.33301%2010.8682%207.33301%2010.5V4.10946L5.13775%206.30472C4.8774%206.56507%204.45529%206.56507%204.19494%206.30472C3.93459%206.04437%203.93459%205.62226%204.19494%205.36191L7.52792%202.02893%22%20fill%3D%22%235F98D0%22%2F%3E%3Cpath%20d%3D%22M8.25486%201.8839C8.17626%201.8513%208.09007%201.83331%207.99967%201.83331C7.8163%201.83331%207.65021%201.90735%207.52969%202.02716%22%20fill%3D%22%235F98D0%22%2F%3E%3Cpath%20d%3D%22M1.99967%209.83331C2.36786%209.83331%202.66634%2010.1318%202.66634%2010.5V13.1666C2.66634%2013.3435%202.73658%2013.513%202.8616%2013.6381C2.98663%2013.7631%203.1562%2013.8333%203.33301%2013.8333H12.6663C12.8432%2013.8333%2013.0127%2013.7631%2013.1377%2013.6381C13.2628%2013.513%2013.333%2013.3435%2013.333%2013.1666V10.5C13.333%2010.1318%2013.6315%209.83331%2013.9997%209.83331C14.3679%209.83331%2014.6663%2010.1318%2014.6663%2010.5V13.1666C14.6663%2013.6971%2014.4556%2014.2058%2014.0806%2014.5809C13.7055%2014.9559%2013.1968%2015.1666%2012.6663%2015.1666H3.33301C2.80257%2015.1666%202.29387%2014.9559%201.91879%2014.5809C1.54372%2014.2058%201.33301%2013.6971%201.33301%2013.1666V10.5C1.33301%2010.1318%201.63148%209.83331%201.99967%209.83331Z%22%20fill%3D%22%235F98D0%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2221%22%20height%3D%2220%22%20viewBox%3D%220%200%2021%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%20clip-path%3D%22url%28%23clip0_2240_1532%29%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M1.16467%2016L0%2014.8505L7.57326%207.321L11.9943%2011.6846L18.1987%205.63636H14.9211V4H21V10H19.3421V6.78618L11.9943%2014.0385L7.57326%209.67491L1.16467%2016Z%22%20fill%3D%22white%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_2240_1532%22%3E%3Crect%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22white%22%20transform%3D%22translate%280.5%29%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%227%22%20viewBox%3D%220%200%2012%207%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M11%201L6%206L1%201%22%20stroke%3D%22%23646464%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2215%22%20height%3D%2215%22%20viewBox%3D%220%200%2015%2015%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M7.49312%2011.0095C7.67156%2011.0095%207.82229%2010.948%207.94531%2010.8248C8.06833%2010.7016%208.12984%2010.5507%208.12984%2010.3722C8.12984%2010.1938%208.06823%2010.043%207.945%209.92C7.82177%209.79708%207.67094%209.73562%207.4925%209.73562C7.31406%209.73562%207.16333%209.79724%207.04031%209.92047C6.91729%2010.0437%206.85578%2010.1945%206.85578%2010.373C6.85578%2010.5514%206.9174%2010.7021%207.04063%2010.8252C7.16385%2010.9481%207.31469%2011.0095%207.49312%2011.0095ZM7.05047%208.77156H7.93031C7.93833%208.46396%207.98339%208.21818%208.06547%208.03422C8.14766%207.85036%208.34698%207.60661%208.66344%207.30297C8.93833%207.02807%209.14885%206.77422%209.295%206.54141C9.44125%206.3087%209.51437%206.03385%209.51437%205.71688C9.51437%205.17885%209.32109%204.75859%208.93453%204.45609C8.54786%204.1537%208.09052%204.0025%207.5625%204.0025C7.04083%204.0025%206.60917%204.14172%206.2675%204.42016C5.92573%204.69859%205.68193%205.02651%205.53609%205.40391L6.33891%205.72594C6.41505%205.51844%206.54526%205.3163%206.72953%205.11953C6.9138%204.92286%207.18745%204.82453%207.55047%204.82453C7.91984%204.82453%208.19286%204.92568%208.36953%205.12797C8.5463%205.33036%208.63469%205.55292%208.63469%205.79562C8.63469%206.00802%208.57417%206.20234%208.45312%206.37859C8.33219%206.55484%208.17797%206.7251%207.99047%206.88937C7.58016%207.25958%207.32094%207.5549%207.21281%207.77531C7.10458%207.99563%207.05047%208.32771%207.05047%208.77156ZM7.50109%2013.4375C6.67984%2013.4375%205.90792%2013.2817%205.18531%2012.97C4.46271%2012.6583%203.83417%2012.2354%203.29969%2011.7011C2.76521%2011.1668%202.34203%2010.5385%202.03016%209.81625C1.71839%209.09396%201.5625%208.32224%201.5625%207.50109C1.5625%206.67984%201.71833%205.90792%202.03%205.18531C2.34167%204.46271%202.76464%203.83417%203.29891%203.29969C3.83318%202.76521%204.46146%202.34203%205.18375%202.03016C5.90604%201.71839%206.67776%201.5625%207.49891%201.5625C8.32016%201.5625%209.09208%201.71833%209.81469%202.03C10.5373%202.34167%2011.1658%202.76464%2011.7003%203.29891C12.2348%203.83318%2012.658%204.46146%2012.9698%205.18375C13.2816%205.90604%2013.4375%206.67776%2013.4375%207.49891C13.4375%208.32016%2013.2817%209.09208%2012.97%209.81469C12.6583%2010.5373%2012.2354%2011.1658%2011.7011%2011.7003C11.1668%2012.2348%2010.5385%2012.658%209.81625%2012.9698C9.09396%2013.2816%208.32224%2013.4375%207.50109%2013.4375ZM7.5%2012.5C8.89583%2012.5%2010.0781%2012.0156%2011.0469%2011.0469C12.0156%2010.0781%2012.5%208.89583%2012.5%207.5C12.5%206.10417%2012.0156%204.92188%2011.0469%203.95312C10.0781%202.98438%208.89583%202.5%207.5%202.5C6.10417%202.5%204.92188%202.98438%203.95312%203.95312C2.98438%204.92188%202.5%206.10417%202.5%207.5C2.5%208.89583%202.98438%2010.0781%203.95312%2011.0469C4.92188%2012.0156%206.10417%2012.5%207.5%2012.5Z%22%20fill%3D%22%235F6368%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2230%22%20viewBox%3D%220%200%2028%2030%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22logo22%201%22%20clip-path%3D%22url%28%23clip0_2312_1672%29%22%3E%3Cg%20id%3D%22Clip%20path%20group%22%3E%3Cmask%20id%3D%22mask0_2312_1672%22%20style%3D%22mask-type%3Aluminance%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2228%22%20height%3D%2230%22%3E%3Cg%20id%3D%22clip0_8042_16520%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M27.6442%200H0V30H27.6442V0Z%22%20fill%3D%22white%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3Cg%20mask%3D%22url%28%23mask0_2312_1672%29%22%3E%3Cg%20id%3D%22Group%22%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M23.8782%203.46176C24.4391%202.63758%2024.2788%201.56616%2023.4775%200.989232C23.0769%200.741978%2022.6763%200.577144%2022.1955%200.659562C21.7147%200.741978%2021.3141%200.989232%2021.0737%201.40132L12.5801%2013.187L10.657%2015.9068C9.85578%2016.3189%205.04807%2018.5442%201.4423%2018.7914H1.36218C1.12179%2018.7914%200.961536%2018.7914%200.72115%2018.8739C0.24038%2018.9563%200.0801234%2019.3683%20-5.05522e-06%2019.5332C-0.24039%2020.9343%200.480764%2022.665%202.24359%2024.5607C3.44551%2025.9617%204.80769%2026.9508%204.80769%2026.9508C5.1282%2027.198%205.44871%2027.198%205.60897%2026.9508L7.29168%2025.0551L6.41026%2027.6926C6.33011%2027.9398%206.41026%2028.187%206.65065%2028.3519C6.73074%2028.4343%208.73397%2029.6706%2010.0962%2029.9178C10.1763%2029.9178%2010.1763%2029.9178%2010.2564%2029.9178C10.4167%2029.9178%2010.5769%2029.9178%2010.7372%2029.753C11.2179%2029.3409%2011.6186%2028.2695%2011.8589%2027.2804C12.0993%2026.2914%2012.3397%2024.9728%2012.6603%2023.3244C13.0609%2020.9343%2013.3013%2018.6266%2013.3814%2018.0497L15.3045%2015.3299L23.8782%203.46176Z%22%20fill%3D%22%238D8B8B%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M26.2819%2019.451C25.4005%2018.5444%2024.1184%2017.9675%2022.7562%2017.9675C22.1953%2017.9675%2021.6344%2018.0499%2021.0735%2018.2971L17.3876%2014.506C17.1472%2014.2587%2016.7466%2014.2587%2016.5062%2014.5883L14.9037%2016.8136C14.7434%2017.0609%2014.7434%2017.3905%2014.9838%2017.5554L18.3492%2021.0169C17.7082%2022.8301%2018.1088%2025.0554%2019.4709%2026.3741C20.3524%2027.2807%2021.5543%2027.7751%2022.7562%2027.7751C23.237%2027.7751%2023.6376%2027.6928%2024.1184%2027.5279L25.0799%2027.1982L22.035%2023.984C21.7947%2023.7367%2021.7947%2023.3246%2022.035%2023.0774L23.237%2021.7587C23.3171%2021.6763%2023.4774%2021.5938%2023.6376%2021.5938C23.7979%2021.5938%2024.0383%2021.6763%2024.1184%2021.8411L27.2434%2025.0554L27.4838%2023.984C27.9646%2022.418%2027.4838%2020.6873%2026.2819%2019.451Z%22%20fill%3D%22%238D8B8B%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M5.60925%209.8903C6.17014%209.8903%206.73102%209.80786%207.29195%209.56066L10.8977%2013.2694C11.1381%2013.5167%2011.5387%2013.5167%2011.7791%2013.187L13.3817%2010.9617C13.542%2010.7145%2013.542%2010.3848%2013.3016%2010.22L10.0163%206.84086C10.6573%205.02767%2010.2567%202.8024%208.89449%201.48372C7.61244%200.165035%205.84966%20-0.32947%204.24707%200.247452L3.28553%200.494705L6.41054%203.70899C6.65093%203.95624%206.65093%204.36833%206.41054%204.61558L5.12848%205.85185C4.88809%206.09908%204.40733%206.09908%204.24707%205.85185L1.12207%202.63756L0.881685%203.70899C0.481046%205.35734%200.881685%207.1705%202.08361%208.4068C2.96502%209.3134%204.24707%209.8903%205.60925%209.8903Z%22%20fill%3D%22%238D8B8B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_2312_1672%22%3E%3Crect%20width%3D%2228%22%20height%3D%2230%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2230%22%20viewBox%3D%220%200%2028%2030%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22logo22%202%22%20clip-path%3D%22url%28%23clip0_2312_1680%29%22%3E%3Cg%20id%3D%22Clip%20path%20group%22%3E%3Cmask%20id%3D%22mask0_2312_1680%22%20style%3D%22mask-type%3Aluminance%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2228%22%20height%3D%2230%22%3E%3Cg%20id%3D%22clip0_8042_16520%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M27.6442%200H0V30H27.6442V0Z%22%20fill%3D%22white%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3Cg%20mask%3D%22url%28%23mask0_2312_1680%29%22%3E%3Cg%20id%3D%22Group%22%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M23.8782%203.46176C24.4391%202.63758%2024.2788%201.56616%2023.4775%200.989232C23.0769%200.741978%2022.6763%200.577144%2022.1955%200.659562C21.7147%200.741978%2021.3141%200.989232%2021.0737%201.40132L12.5801%2013.187L10.657%2015.9068C9.85578%2016.3189%205.04807%2018.5442%201.4423%2018.7914H1.36218C1.12179%2018.7914%200.961536%2018.7914%200.72115%2018.8739C0.24038%2018.9563%200.0801234%2019.3683%20-5.05522e-06%2019.5332C-0.24039%2020.9343%200.480764%2022.665%202.24359%2024.5607C3.44551%2025.9617%204.80769%2026.9508%204.80769%2026.9508C5.1282%2027.198%205.44871%2027.198%205.60897%2026.9508L7.29168%2025.0551L6.41026%2027.6926C6.33011%2027.9398%206.41026%2028.187%206.65065%2028.3519C6.73074%2028.4343%208.73397%2029.6706%2010.0962%2029.9178C10.1763%2029.9178%2010.1763%2029.9178%2010.2564%2029.9178C10.4167%2029.9178%2010.5769%2029.9178%2010.7372%2029.753C11.2179%2029.3409%2011.6186%2028.2695%2011.8589%2027.2804C12.0993%2026.2914%2012.3397%2024.9728%2012.6603%2023.3244C13.0609%2020.9343%2013.3013%2018.6266%2013.3814%2018.0497L15.3045%2015.3299L23.8782%203.46176Z%22%20fill%3D%22%23AC8EBA%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M26.2819%2019.451C25.4005%2018.5444%2024.1184%2017.9675%2022.7562%2017.9675C22.1953%2017.9675%2021.6344%2018.0499%2021.0735%2018.2971L17.3876%2014.506C17.1472%2014.2587%2016.7466%2014.2587%2016.5062%2014.5883L14.9037%2016.8136C14.7434%2017.0609%2014.7434%2017.3905%2014.9838%2017.5554L18.3492%2021.0169C17.7082%2022.8301%2018.1088%2025.0554%2019.4709%2026.3741C20.3524%2027.2807%2021.5543%2027.7751%2022.7562%2027.7751C23.237%2027.7751%2023.6376%2027.6928%2024.1184%2027.5279L25.0799%2027.1982L22.035%2023.984C21.7947%2023.7367%2021.7947%2023.3246%2022.035%2023.0774L23.237%2021.7587C23.3171%2021.6763%2023.4774%2021.5938%2023.6376%2021.5938C23.7979%2021.5938%2024.0383%2021.6763%2024.1184%2021.8411L27.2434%2025.0554L27.4838%2023.984C27.9646%2022.418%2027.4838%2020.6873%2026.2819%2019.451Z%22%20fill%3D%22%23AC8EBA%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M5.60925%209.8903C6.17014%209.8903%206.73102%209.80786%207.29195%209.56066L10.8977%2013.2694C11.1381%2013.5167%2011.5387%2013.5167%2011.7791%2013.187L13.3817%2010.9617C13.542%2010.7145%2013.542%2010.3848%2013.3016%2010.22L10.0163%206.84086C10.6573%205.02767%2010.2567%202.8024%208.89449%201.48372C7.61244%200.165035%205.84966%20-0.32947%204.24707%200.247452L3.28553%200.494705L6.41054%203.70899C6.65093%203.95624%206.65093%204.36833%206.41054%204.61558L5.12848%205.85185C4.88809%206.09908%204.40733%206.09908%204.24707%205.85185L1.12207%202.63756L0.881685%203.70899C0.481046%205.35734%200.881685%207.1705%202.08361%208.4068C2.96502%209.3134%204.24707%209.8903%205.60925%209.8903Z%22%20fill%3D%22%23AC8EBA%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_2312_1680%22%3E%3Crect%20width%3D%2228%22%20height%3D%2230%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M23.5037%2041.7084C20.9852%2041.7084%2018.6179%2041.2305%2016.402%2040.2747C14.186%2039.3189%2012.2584%2038.0218%2010.6194%2036.3834C8.9803%2034.7449%207.68255%2032.8182%206.72614%2030.6032C5.77004%2028.3882%205.29199%2026.0216%205.29199%2023.5034C5.29199%2020.9849%205.76988%2018.6176%206.72566%2016.4016C7.68144%2014.1857%208.97854%2012.2581%2010.617%2010.6191C12.2554%208.97999%2014.1821%207.68225%2016.3972%206.72583C18.6122%205.76974%2020.9788%205.29169%2023.497%205.29169C26.0155%205.29169%2028.3827%205.76958%2030.5987%206.72535C32.8147%207.68113%2034.7422%208.97824%2036.3813%2010.6167C38.0204%2012.2551%2039.3181%2014.1818%2040.2745%2016.3969C41.2306%2018.6119%2041.7087%2020.9785%2041.7087%2023.4967C41.7087%2026.0152%2041.2308%2028.3824%2040.275%2030.5984C39.3192%2032.8144%2038.0221%2034.7419%2036.3837%2036.381C34.7453%2038.0201%2032.8185%2039.3178%2030.6035%2040.2742C28.3885%2041.2303%2026.0219%2041.7084%2023.5037%2041.7084ZM23.5003%2038.8334C27.7809%2038.8334%2031.4066%2037.3479%2034.3774%2034.3771C37.3482%2031.4063%2038.8337%2027.7806%2038.8337%2023.5C38.8337%2019.2195%2037.3482%2015.5938%2034.3774%2012.6229C31.4066%209.6521%2027.7809%208.16669%2023.5003%208.16669C19.2198%208.16669%2015.5941%209.6521%2012.6232%2012.6229C9.65241%2015.5938%208.16699%2019.2195%208.16699%2023.5C8.16699%2027.7806%209.65241%2031.4063%2012.6232%2034.3771C15.5941%2037.3479%2019.2198%2038.8334%2023.5003%2038.8334Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2237%22%20height%3D%2237%22%20viewBox%3D%220%200%2037%2037%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20x%3D%221.5%22%20y%3D%221.5%22%20width%3D%2234%22%20height%3D%2234%22%20stroke%3D%22%23A7A7A7%22%20stroke-width%3D%223%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5.68652%2038.1875L23.4995%209.67908L41.3125%2038.1875H5.68652ZM10.9662%2035.25H36.0329L23.4995%2015.1771L10.9662%2035.25Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M33.9701%2031.6345L31.8761%2029.5709L36.4782%2024.9688H6.85449V22.0313H36.4782L31.906%2017.4292L33.9999%2015.3656L42.1045%2023.5L33.9701%2031.6345Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8.8125%2024.9688V22.0312H38.1875V24.9688H8.8125Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M24.9688%2038.1875L22.0312%2038.1875L22.0312%208.8125L24.9687%208.8125L24.9688%2038.1875Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M17.3316%2032.949L23.5003%2029.2281L29.6691%2032.9979L28.0534%2025.9479L33.4878%2021.2479L26.3399%2020.6115L23.5003%2013.9531L20.6607%2020.5625L13.5128%2021.199L18.9472%2025.9479L17.3316%2032.949ZM12.8764%2039.0913L15.6822%2027.0098L6.30859%2018.8867L18.676%2017.8135L23.5003%206.42139L28.3247%2017.8135L40.692%2018.8867L31.3185%2027.0098L34.1243%2039.0913L23.5003%2032.6817L12.8764%2039.0913Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M23.4997%2039.8066L21.3382%2037.8634C18.0919%2034.9184%2015.4074%2032.3877%2013.2845%2030.2714C11.1617%2028.1548%209.47948%2026.2711%208.23789%2024.6202C6.99631%2022.9696%206.12893%2021.4638%205.63576%2020.1028C5.14226%2018.7421%204.89551%2017.3613%204.89551%2015.9604C4.89551%2013.1812%205.83257%2010.8544%207.7067%208.97995C9.58115%207.10582%2011.908%206.16876%2014.6872%206.16876C16.3968%206.16876%2018.0124%206.56859%2019.534%207.36824C21.0557%208.16789%2022.3775%209.31466%2023.4997%2010.8085C24.6218%209.31466%2025.9437%208.16789%2027.4653%207.36824C28.9869%206.56859%2030.6025%206.16876%2032.3122%206.16876C35.0914%206.16876%2037.4182%207.10582%2039.2927%208.97995C41.1668%2010.8544%2042.1038%2013.1812%2042.1038%2015.9604C42.1038%2017.3613%2041.8571%2018.7421%2041.3636%2020.1028C40.8704%2021.4638%2040.003%2022.9696%2038.7615%2024.6202C37.5199%2026.2711%2035.8408%2028.1548%2033.7241%2030.2714C31.6078%2032.3877%2028.9202%2034.9184%2025.6612%2037.8634L23.4997%2039.8066ZM23.4997%2035.8375C26.633%2033.0182%2029.2115%2030.6016%2031.2351%2028.5878C33.2587%2026.5743%2034.858%2024.825%2036.033%2023.3399C37.208%2021.8548%2038.024%2020.5361%2038.4809%2019.3836C38.9379%2018.2314%2039.1663%2017.0904%2039.1663%2015.9604C39.1663%2014.0021%2038.5136%2012.3702%2037.208%2011.0646C35.9025%209.75904%2034.2705%209.10626%2032.3122%209.10626C30.7657%209.10626%2029.3365%209.54493%2028.0244%2010.4223C26.7126%2011.2999%2025.6739%2012.5208%2024.9082%2014.0848H22.0911C21.3127%2012.5081%2020.2707%2011.2841%2018.9652%2010.413C17.6596%209.54183%2016.2336%209.10626%2014.6872%209.10626C12.7412%209.10626%2011.1124%209.75904%209.80064%2011.0646C8.48889%2012.3702%207.83301%2014.0021%207.83301%2015.9604C7.83301%2017.0904%208.06148%2018.2314%208.51842%2019.3836C8.97537%2020.5361%209.79134%2021.8548%2010.9663%2023.3399C12.1413%2024.825%2013.7406%2026.5712%2015.7643%2028.5785C17.7879%2030.5858%2020.3663%2033.0054%2023.4997%2035.8375Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2217%22%20height%3D%2216%22%20viewBox%3D%220%200%2017%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8.66368%202.01017C9.32164%201.94371%209.98083%202.1241%2010.5133%202.51632C11.0457%202.90854%2011.4134%203.4846%2011.545%204.13269C11.6183%204.49351%2011.9702%204.72662%2012.331%204.65336C12.6918%204.58009%2012.925%204.22819%2012.8517%203.86736C12.6543%202.89524%2012.1027%202.03114%2011.3041%201.44281C10.5054%200.854482%209.51663%200.583899%208.52969%200.68359C7.54691%200.782861%206.63577%201.24224%205.97161%201.97299L5.96306%201.98228C5.29856%202.71803%204.93098%203.67431%204.93156%204.66567L4.93156%206.66675H4.26489C3.16032%206.66675%202.26489%207.56218%202.26489%208.66675V13.3334C2.26489%2014.438%203.16032%2015.3334%204.26489%2015.3334H13.5982C14.7028%2015.3334%2015.5982%2014.438%2015.5982%2013.3334V8.66675C15.5982%207.56218%2014.7028%206.66675%2013.5982%206.66675H6.26489L6.26489%204.66601C6.26423%204.00811%206.50679%203.37331%206.94572%202.88356L6.95268%202.87597C7.39593%202.3852%208.00572%202.07663%208.66368%202.01017ZM4.26489%208.00008C3.8967%208.00008%203.59823%208.29856%203.59823%208.66675V13.3334C3.59823%2013.7016%203.8967%2014.0001%204.26489%2014.0001H13.5982C13.9664%2014.0001%2014.2649%2013.7016%2014.2649%2013.3334V8.66675C14.2649%208.29856%2013.9664%208.00008%2013.5982%208.00008H4.26489Z%22%20fill%3D%22%234D6277%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20xml%3Aspace%3D%22preserve%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20enable-background%3D%22new%200%200%2024%2024%22%3E%3Cpath%20d%3D%22M5.3%2018.7c.2.2.4.3.7.3s.5-.1.7-.3l5.3-5.3%205.3%205.3c.2.2.5.3.7.3s.5-.1.7-.3c.4-.4.4-1%200-1.4L13.4%2012l5.3-5.3c.4-.4.4-1%200-1.4s-1-.4-1.4%200L12%2010.6%206.7%205.3c-.4-.4-1-.4-1.4%200s-.4%201%200%201.4l5.3%205.3-5.3%205.3c-.4.4-.4%201%200%201.4z%22%20id%3D%22_icons%22%20fill%3D%22%23ffffff%22%20class%3D%22fill-000000%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E\"","export default \"/images/small-dots.png\"","export const topTabBarpadding = '11.51px 14.16px';\nexport const helperSideBarWidth = 280;\nexport const pageSizes = {\n A4: 'A4',\n A3: 'A3',\n A5: 'A5',\n Letter: 'Letter',\n Legal: 'Legal',\n Ledger: 'Ledger',\n B5: 'B5',\n C5: 'C5',\n};\n\nexport const pageSizesDimensions = {\n [pageSizes.A4]: { width: 499, height: 670 },\n [pageSizes.A3]: { width: 531, height: 750 },\n [pageSizes.A5]: { width: 350, height: 499 },\n [pageSizes.Letter]: { width: 510, height: 680 },\n [pageSizes.Legal]: { width: 440, height: 750 },\n [pageSizes.Ledger]: { width: 900, height: 584 },\n [pageSizes.B5]: { width: 518, height: 726 },\n [pageSizes.C5]: { width: 460, height: 648 },\n};\nexport const STANDARD_PAPER_SIZES_MM = {\n A3: { width: 297, height: 420 },\n A4: { width: 210, height: 297 },\n A5: { width: 148, height: 210 },\n Letter: { width: 215.9, height: 279.4 },\n Legal: { width: 215.9, height: 355.6 },\n Ledger: { width: 431.8, height: 279.4 },\n B5: { width: 176, height: 250 },\n C5: { width: 162, height: 229 },\n};\n","import {\n IconArrowRight,\n IconCircle,\n IconHeart,\n IconHorizontalLine,\n IconSquare,\n IconStar,\n IconTools,\n IconToolsPink,\n IconTriangle,\n IconVerticalLine,\n ImageCustomTemplate1,\n ImageCustomTemplate2,\n ImageTemplate1,\n ImageTemplate2,\n} from '@/assets';\nimport theme from '@/theme';\nimport { pageSizes } from './layoutConstants';\n\nexport const sideBarpillsList = {\n template: 'Template',\n text: 'Text',\n image: 'Image',\n shape: 'Shape',\n qr: 'QR',\n whiteLabel: 'White-label',\n};\n\nexport const ButtonVarients = {\n primary: 'primary',\n secondary: 'secondary',\n};\nexport const shapes = {\n circle: 'circle',\n square: 'square',\n triangle: 'triangle',\n arrowRight: 'arrowRight',\n horizontalLine: 'horizontalLine',\n verticalLine: 'verticalLine',\n star: 'star',\n heart: 'heart',\n};\nexport const defaultSideBarImagesList = [IconTools, IconToolsPink];\nexport const textList = [\n {\n text: '+ Heading 1',\n fontFamily: 'Open Sans',\n fontSize: 18,\n color: '#333333',\n fontWeight: theme.fontWeights[700],\n textDecoration: 'normal',\n fontStyle: 'normal',\n textAlign: 'left',\n width: 125,\n },\n {\n text: '+ Heading 2',\n fontFamily: 'Open Sans',\n fontSize: 16,\n color: '#333333',\n fontWeight: theme.fontWeights[700],\n textDecoration: 'normal',\n fontStyle: 'normal',\n textAlign: 'left',\n },\n // {\n // text: 'What problem are you facing in this meeting room?',\n // fontFamily: 'Open Sans Condensed',\n // fontSize: 18,\n // color: '#333333',\n // fontWeight: theme.fontWeights[700],\n // textDecoration: 'normal',\n // fontStyle: 'normal',\n // textAlign: 'left',\n // },\n {\n text: 'Scan this QR code from your mobile to report the issue',\n fontFamily: 'Open Sans',\n fontSize: 16,\n color: '#333333',\n fontWeight: theme.fontWeights[400],\n textDecoration: 'normal',\n fontStyle: 'normal',\n textAlign: 'left',\n width: 220,\n },\n {\n text: 'property 1 > building 2 > Room 2',\n fontFamily: 'Open Sans',\n fontSize: 12,\n color: '#6D737B',\n fontWeight: theme.fontWeights[400],\n textDecoration: 'normal',\n fontStyle: 'normal',\n textAlign: 'left',\n },\n {\n text: 'www.domain.com',\n fontFamily: 'Plus Jakarta Sans',\n fontSize: 10,\n color: '#333333',\n fontWeight: theme.fontWeights[400],\n textDecoration: 'normal',\n fontStyle: 'normal',\n textAlign: 'left',\n },\n];\nexport const elementTypes = {\n pageSize: 'pageSize',\n backgroundColor: 'backgroundColor',\n backgroundImage: 'backgroundImage',\n circle: 'circle',\n square: 'square',\n triangle: 'triangle',\n arrowRight: 'arrowRight',\n horizontalLine: 'horizontalLine',\n verticalLine: 'verticalLine',\n star: 'star',\n heart: 'heart',\n image: 'image',\n qr: 'qr',\n text: 'text',\n};\nexport const shapesList = [\n {\n shape: elementTypes.circle,\n icon: IconCircle,\n },\n {\n shape: elementTypes.square,\n icon: IconSquare,\n },\n {\n shape: elementTypes.triangle,\n icon: IconTriangle,\n },\n {\n shape: elementTypes.arrowRight,\n icon: IconArrowRight,\n },\n {\n shape: elementTypes.horizontalLine,\n icon: IconHorizontalLine,\n },\n {\n shape: elementTypes.verticalLine,\n icon: IconVerticalLine,\n },\n {\n shape: elementTypes.star,\n icon: IconStar,\n },\n {\n shape: elementTypes.heart,\n icon: IconHeart,\n },\n];\n\nexport const defaultElements = [\n {\n type: elementTypes?.pageSize,\n id: `element${Date.now()}`,\n size: pageSizes?.A4,\n cuttingGuideStroke: 0,\n cuttingGuideStrokeColor: theme.color.black,\n },\n];\nexport const basicTextProps = {\n opacity: 1,\n text: 'Enter Text Here',\n fontSize: 16,\n fontFamily: 'Open Sans',\n color: theme.color.black,\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: theme.fontWeights[400],\n textAlign: 'left',\n lineHeight: 1,\n // width: 125,\n};\n\nexport const DEF_TEMPLATE = [\n {\n elements: [\n {\n type: 'pageSize',\n id: 'element-page-size',\n size: 'Ledger',\n cuttingGuideStroke: 50,\n cuttingGuideStrokeColor: '#000000',\n },\n {\n id: 'element-title-text',\n x: 70.86,\n y: 69.25,\n opacity: 1,\n type: 'text',\n draggable: false,\n text: 'What problem are you facing in this room?',\n fontSize: 59,\n fontFamily: 'Open Sans',\n color: '#000000',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 700,\n textAlign: 'left',\n width: 750.7,\n fontVariant: 700,\n align: 'left',\n fill: '#000000',\n visible: true,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n offsetX: 0,\n offsetY: 0,\n skewX: 0,\n skewY: 0,\n },\n {\n type: 'backgroundColor',\n id: 'element-bg-color',\n color: '#ffffff',\n },\n {\n id: 'element-qr',\n type: 'qr',\n height: 110,\n width: 110,\n x: 601.665,\n y: 269.005,\n fill: '#80D965',\n stroke: '#000000',\n strokeWidth: 2,\n draggable: false,\n qrText: 'https://fixalert.io/asbce',\n opacity: 1,\n logoVisible: false,\n rotation: 0,\n scaleX: 1.995,\n scaleY: 1.995,\n skewX: 0,\n skewY: 0,\n offsetX: 0,\n offsetY: 0,\n },\n {\n id: 'element-instruction-text',\n x: 72.25,\n y: 264.32,\n opacity: 1,\n type: 'text',\n draggable: false,\n text: 'Scan the QR code to report directly to the person responsible.',\n fontSize: 36,\n fontFamily: 'Open Sans',\n color: '#000000',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 400,\n textAlign: 'left',\n width: 479.03,\n fontVariant: 400,\n align: 'left',\n fill: '#000000',\n visible: true,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n offsetX: 0,\n offsetY: 0,\n skewX: 0,\n skewY: 0,\n },\n {\n id: 'element-location-text',\n x: 72.25,\n y: 490.45,\n opacity: 1,\n type: 'text',\n draggable: false,\n text: 'ABCE ',\n fontSize: 25,\n fontFamily: 'Open Sans',\n color: '#8c8c8c',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 400,\n textAlign: 'left',\n width: 376.1,\n fontVariant: 400,\n align: 'left',\n fill: '#000000',\n visible: true,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n offsetX: 0,\n offsetY: 0,\n skewX: 0,\n skewY: 0,\n },\n ],\n image: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABwgAAASQCAYAAADoThs1AAAAAXNSR0IArs4c6QAAIABJREFUeF7s3QnYXdPZ//FVEQQVQUypIKRB0RJiiiFiDq0aQkhIzIRqldcsETETYxGNqKh5CPGGJGKKeYo5KkQbFDFVjImg//9v9z3pyZPnnLP3Wvc+Zz3nfNd15dKrz95rr/1Z++xh3Wv4iXPu346EAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAINIfATAoQNUc+cJAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAKJAAFCLgQEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNV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c0T+hX+F31pLeU/1NQnZT9exfmd6dqiNQ1Z6X5CdTGN6fnBPDalp9s1bYM6cOck9SM99/Vff03ru6z228E7LMz/vWiB/BBBAoL4FYnovC5H+iXPu3yEZxLIvAcLa1oRGEGokUGh666233GqrrRaazdz9NX2hGgb0wVqNlMf6O6eddpo744wzgouvIOmee+6ZKR+rBtaDDz7YXX311amO/corr7innnrKPfvss+7xxx+vOLXqz3/+82Ta1BVXXNGts8467je/+Y3r0qVLqmPFtpEaWP7+97+71157zcnhpZdeck8//bTX9JsKoGrU6GabbeY22WQTp1EwHTt2jOqUFfANHXG7/fbbO12noUmNLy2psUrPPN3ffJIadbO+xKgB6JlnnnGPPPKImzBhgnv55ZfL3lf1u1x11VXdxhtv7HbbbTenaRprldTQpn9ZU0hjsrwefPBBd+edd7rHHnvMTZ06tezhdQ878sgj3fHHH5+1mEHbf/LJJ8n99vXXX59735k8eXKqPHWPWW+99dyvfvUrp2mwtYaw/htLsnp+6R4zbty4VKclS3UUeuedd9z06dOT+3mp6ZN1f9Y9Wc8tjbLXvTrkmktVwBIb1WOAUEFu1cerr76aPE9feOGF5L0iTSpc21p/cs0110yeobq2s9430xwryzbVvJfp+aL3D5k999xz7oknnnBvv/12yeKqoXWFFVaY+z62xRZbuF69eiXvZnklBU/uvfde98ADDyS/Nf3myk1XXijjpptu6hT4V73qfbElPfvzskybr4JWel4U/64qvQ+Uylu/L9VB165dk2fJ2muvnQTAap107WdtV9C9Qe9Wvunjjz92Y8eOTd4ZdK+qNO2+3rEuu+wyt9122/keMvN+9XhPzYyQcgd9z1mlWnyfWJa/Wu81eu/WM0vf0FqWRc/9F198MXUbkN7BfvnLXybvZPpm6datW83eyZq7dnzuS03zqca1ZHHtVKOcVr9P8kEAAQQkUOtvRKtaIEBoJdng+Zx11lnu5JNPDlb461//6vbdd9/gfAoZKMCixstqJX3s6sXUMqmR5dFHHw3O8v33308ab7IkqwbW3/3ud+6SSy4peWg1UiuAOXz48CTwEJpUD3369EmChXrRjzWpAULnq0YBNXIpIJpnUqPnrrvu6g466KAkYFjLpJGxmvq3UiNItcqohkyLQGO1yqt1X7X+q09So5KCUWmSOm1cdNFF7oorrkizeclt1Ji13377uT322KPqAfzu3bt7/bb0/Mga2NTv+dxzz3U33nhjZq+jjjrKXXrppZn3y7qDGnf1+7vrrrtMni3Fx1fQSx1RNJJeweFqNQw1Z2D1/NJzRFalknqj6/ml31Xa4Gpzeen+rPef3r17J3bVTPUSIFTwYvz48W706NHmM0eoflQ3elZsu+22QcEA37r1vZfp+tV1nCapYfXmm29O3scUgAtNupZ1T9hll11c586dQ7NLgpR6X9JvzuLdWEHD/v37u6OPPtq0g2LwiUaSgTpyTZw40Y0ZM8Y99NBDub+zKXCrd8Pf/va3JrPTZGVUh1KNdMyadB3JKmuwWR1KLr744qRDUdakpRvUuSTPVO/31Dzs/va3vyUdS6xSpXcQq+MU8lE7hoL1VknP5LwC2R988EHyzNf9Sc99y6TftJ5dv/71r90222xTk/tR4Xz+8Y9/JJ0uLVLWzg9ZjqlOWer0EZryaE8LLRP7I4AAAuUECBBGdn3k+bCL7FSjLI4CG2q4CE2HH354cEN0cRkUlPr9738fWqxM+/sE4kodQL3hLKbRVOP8G2+8kek8tLFVA6tGxZxzzjnzHV/nd+GFF7pTTz01c9nS7qBzV3CjZ8+eaXfJdTtN1adGLQUFFUSwaIDzKbBG+wwcODBp8Kxmj2318NdIW+sPOR+D4n1CpxEMPX7W/UMa9NW4rVGA5ZJGY5xyyilega5K56J78pAhQ6o2Fal6BPt0PLjyyivdYYcdVul0kr/rvq/R3tdcc02q7ZvbSCZ53QvV81iN6gpe5t0RoXBuChbq3t+3b1+T51hWWKvnl+6Rt9xyy3yHV0PymWeemTxfrGcpUBBK+VZr1HfI/aQYJo9ZFNLUu+5XCq6rob0aSdf2scce6zR9ejWfn773Mt3HdD8rl9QZROd0991350aoZ4/WBV955ZUzH0OdiY455hh32223Zd437Q5aC/24445LRkM3ctLvSaOmdS2o8b1WSdftAQccUNUObQqIaRkDn6QRS2kDKxqVq+s5JMitmXu23HJLn6JW3KdR7qkVITw20AiqDh06mH7f6brU1LLVSEOHDjV9F9XoWC1/YZnUGUvtBz6d8XzKoWChOpFouZasna19jtd0H8ugc55tphrNr2BqaNKsKu+++25oNuyPAAIIVE2AAGHVqNMdKM+HXboSNPZWCnponY/Q5BvIKnVcjWJQIKaayWcqz1Lls+qJpQZ5jQLKmqwaWDXSSY3nxUkjWDSKqdyUVVnLW257jc45++yza9YDUFPOqcE3j8bkECd99PzlL39JpoHMM+keoYB9tadQTHtOjRQglIl6urdt27ZZHo0e0QjcPJM+/jTtsNaQzDv5Nqrvs88+7oYbbqhYvMsvv9zp/hKadG9QJxnLpCkJNTJfgaxK05xaHrc4L91jNMOARpJrHcNqJavnV3Nr6KrDjXqV522qa0uN5CFT16XxbqkBQjVi691C13gtkq5t1ZFGR1cj+d7LNPrxww8/bHb6G63LpPuD3o+qldSRYsCAAamm41Fju4wVfK5WUueYQYMG1XQEdLXOtXAcOWs0mxrdq9WJJO05Kkh4/vnnewfu0h5H24UECPVOoyUVyiWNONezMKQzUSF/dXyyniWl0e6pWa6NLNuqw5fuIVbJeoalcuXSdNoaSW6RNAJP7SJWSQF1zaDiM+LWqgx6T9c7rYLA1UoECKslzXEQQAABPwEChH5uue1FgDA32tQZ77DDDiY9Ta16mn333XfOd9FpNab4juxK01M7LeqwYcPcH//4x7Sbl9xOo7U0tWTWZNXAqp79xQ3oaoBQT/VqJ/X6v/76653Wn6lW0rptCoxVq5ej73npI071tPzyy/tmUXI/TUul30XejekhBW+0AKHWudEUXsVJDYRq3FLAuFpJo8s0lZ3FSOlSZQ5pVJ8xY0ZJCo2AVkPBddddZ8Jl2blEBXrzzTfdgQceGDRCweTE/i8T3X9lZTHbQJpyWT2/mj7TNZVV2uka05Sz0jaaolHXxkorrVRpU++/t7QAoUbEXnXVVamnSvaGSbmjgsgKYvlMTZjyEMlmvvcy7dvclMkKGmq0asjUuFnKX7ytOodoNGG5Rtbnn38+GUHmMwLct1yF/bT2qBrlrUe+hJbLen+Nfh41alQyy0csU743d44Kxo8cOTKZpjzPFBIgbK4zSXFZ1VFQ711Wv7d//vOfZmt8Nuo9Na9rSbOlrLLKKmbZa4pmvXvknSwDUSqr3sP0jAlN6tR44oknJs/9GJLuR+p4redTNRqFLeslzzZTRhDGcHVSBgQQqIVANZ4F1Tgv1iCshnKDHEO9O9XIFJqsXiafeOIJpwWnfZJGOWkqNp9kOS2CRnVZTMWoYGf79u0zn45VA2uh56NGs2j6JgU+a5nUkKfpNfNMX331lVPQPLae2OXOWR88mlbKKoCqaRdV37EHR2XSaAFCBY5GjBgxz+WgYFctPr7VUKyApcUo9Oau75BGdQXZVl999fmyVcOcRpBZNfTpAPqw3nrrrYNvS2roU8OFfnsxJo0cV2P0YostlmvxrJ5fJ5xwwtzRVRoNr97r1U4Krqrn/IorrpjLoVtSgFCzDmjEXmzPVtWRpr/Mc3rKkHvZBRdcME+HM42C1VRgtQwKqTPeq6++2uz7qUawKDhuPX1vlh+Q3uf1LZFncD5Leay31bu5psyrpXHWc1KnomuvvTa30Z0hAUJdz6U6Fel+pXcdS2t1UrJ4b2rke2rW6y/L9tazGH322WeuXbt2WYqQeVu9mykQZ5H0Tfnpp5+61q1bB2WnGYe0Tqxvx+2gg1fYWe/s+payWh+w1OEIEOZZi+SNAAIIhAsQIAw3NM0hz94wpgWt48yefvrp5GM+NOnF9KyzzgrNJmnQO+mkk7zyUVBOI/d8p7+cNm2aU2NRSFIwTesNhH5MrrvuuknPcZ9k1cCqta/0Yaz1NnymOvUpe6V9HnnkEbfFFltU2sz77xqN1aVLF+9ryPvAgTvqg0426623XlBOGhlwyCGHBOVRzZ0bLUCoelZDWGHqQt1zNWVOrZJ6R99+++1uoYUWMi9CSKO6RlZoVEBx+uSTT5LOJ9YjYpsb4ZMVY9asWW7//fc3ndIpaxnSbL/hhhsm09ktt9xyaTb32sbq+XXeeeclwVat4abG9FolTcGue3Meo7xbSoDwhRdeSNbcCn0vyrMONRJfQfA8PhRD7mVbbbWV02h+Ja3to2nkYnDUSD0tBVA8ja6CLBtssEFNg5eFa0TfNfrd5fFsyvM6TJO3AoRNn29p9qv1NgoWaIrOBRZYwLwoIQFCFaa57z/NJLLRRhuZl9Wi7aPR76nmlVKUodU7SCFLzYCjAHmeKeQZ07Rceq/w7WxdyEttBmo7iDnpe2rixImuW7duuRWTAGFutGSMAAIImAjk8d1nUrCMmTCCMCMYm5cWmDNnjskHtBpeH3vssWDqHj16OC3g7pPeeuutJLjoO2++erfqAzYkWb0MKtCpnuM+yerjRsFjjbjJe527LOeonr5qkM+jsbVQDgUX1Fjf0pI+drT+5VprreVddMs1LLwLkWHHRgsQikZ1rEarWBoJNfXWLbfcEtzbuGm1hzR4aMpVrStUSBoZrB7Dzz77bIarK92mGskTsqaJpmCSoe9zL10p7bZSJxqNWO7cubNdpkU5WT2/1BC92mqrOQVYap0UJNRIQj2/LFNLCBBqzaGePXtannZueWnKbq3lah3ACLmX6WQV/Fh88cWTe5iuo1hS8TrVWqNNv7U87rG+56sGak2NX29J321rrLFGi+vIpnpQEF7BeOsGmdAAYdO14vQtp8CBdTBez08FI0MS99QQvcr7qqOo3umsRr7lPc2oRpXrfmCVQjq9qZO03kta0n1Xnd40ajSPZNUmpLJZdCwodY5MMZpH7ZMnAgi0BAHr99FanTMBwlrJ1+lxNeWaXpBC09dffx20JpX2VyOIb9IUbQqqaapRn1RpHYo0eWodsAEDBqTZtOw2IS+sVg2s999/fxIctP5ADsVRI5TKtuCCC4Zm1ez+anzRR3wtp/DyPTE1QGvdH98RPgQIfeXT7WfRoK+pEhUYjanRXWuVqtHPMoU0qhc3wqmxR884TXeURwp57ik4qJFVtVirK8RCnRGefPLJZDSTdbJ6fmlKas1sEMvzS6MvNe2h5XPL4n6i+vvDH/6QyxTiLakhu3Ada+SExbT7xb+LkHuZ8tFUzrpH1GKa3Eq/7/Hjx7vtttvO9e7dO5mqNbZktfxBbOelDo1aR6slpjPPPNN7pphS5xsaICxes/aDDz5IgoN5fAOEdqblnlqdK37IkCFu0KBBZgfLc5pRq6VidLKaaltryPokBbB0T6rmeug+5Wxun5tuusntvffeVtnNzYcAoTkpGSKAAAKmAgQITTnDM8uzN0x46Ronh4svvjhpIApN6tncvXt372xCejAVpmGaMGGC09RHPkmNnjNnzgzq2XrQQQclU+iEppCPCasG1tBzyHP/U045xZ1xxhm5HUJ1qLpsiUk9tC+77DKvohMg9GJLvZNFg76CwFrDJpbAR+HkFTCymK66kF9oo7pGP2vtN3UayXNdP9/3GAUud91112SavpaYtM6XGpKsR8XV8/NL92Xdn62Sxf1EZckjQKip3n/1q19Fd59KYx/bvUy/tTyCFWksKm2j92aNXolp5GBxmUMavCudey3//t133yUjpGO9LirZ/OMf/3Arr7xypc1S/z00QKhR3hqJpee5Rnzl9VzWbAEK+Psk7qk+an77TJ8+3a2yyip+OzezV3PT3ltl3rVrV7N1tf/0pz95T8muzjVa+7mlJq03uummm5oWnwChKSeZIYAAAuYCBAjNScMy9G1YCzsqezcVmDx5stMLZmgK7Xl92mmneQd9ClNyquenGoV906uvvho0KkIf7L5rIBbKHNqgUc8NrMX1qjXFll56ad+qLrvf7NmzXceOHc2mmMmlkGUy1UeJ1lLMmggQZhXLtr1Vg362o1Zna62bqoCR1Qip0ACh1kbUb2CdddbJDUAN91oXzCdppLvWyWvJSaMhtIbLIossYnYa9f780vWi68YiWd1PrAOEmtJX0yBPmTLF4jSrnofqRyP22rVrZ3Ls0HuZSSEaOJM8Gn5j4NQ02oceemgMRclcBk3jbznSKDRAqBPQ96PWXj/wwAMzn0/aHbTG9/Dhw9NuPnc77qmZyYJ30LSTVoHiXr16Ob3bWCdNV7v66qubZfvxxx+7ZZZZJnN+9fDeps4uml511VVXzXz+pXYgQGhGSUYIIIBALgIECHNh9c+UAKG/neWeGsmw1FJLBff0Dn0B1pQuvr2QixcB1/SKvmsHhPSee//994PWoirUqXrgnX322d5VXA8v6mlOXo0jWmssr3TVVVe5ww8/PK/sc83Xt5cyAcJcqyWZuk7TAdVr0rojWvfJIoU2qms9WTXyqwNMXkkjJjXaKGtS8FLrndVD8m3wLHXu9f788r03N+dldT+xDhDqt3fddde16Mtb9XTHHXcEzShRAAi9l7VoyAgKv88++7gbbrghgpLYFmHWrFnJKDzf7x3b0mTPTc/m9dZbL/uOzexhESDUrCSnnnqqSXlKZeI7+wn31FyrpdnMrd9FPv3006StxTJddNFFZu/ceie99dZbMxfPOkiZuQCGO6y11lpJR0erTm8ECA0rh6wQQACBHAQIEOaAGpIlAcIQPdt9tdbc6NGjgzJV7yt9pLVq1SpzPqEfd8WLamvatrvvvjtzGbRDSOPdXXfdlewfmrRW1g477OCdjfVHjXdBct4xdC2PSsXTNI6aYqalNr7oI0ejUbMkAoRZtLJva9Wgn/3I1dvDauqwltCorqnIxowZkwlX01hrOrOWel9p7mS1LlKPHj0yOZTauBGeX7pmdO2EJqv7iWWAcNKkScm6mvWQtI7lwIEDg0+lJdzLgk8y8gwKU05HXszMxVOnRstpizMXIGCH3/zmN07fTRYp9BvSogxp8lBA5/e//32aTeduwz01E5fZxuo83aFDB7N3Na0bqkCvZQrpWN20HL7rtVqOtLS08c3r9NNPd5rRyiIRILRQJA8EEEAgPwEChPnZeuVMgNCLLZedrD4yNWLDZ0q30EbBOXPmzJ3a7pxzznEnnniil5OCnFr/z2eaPKsp49SAvMQSS3iVXzuFWnofuAY7vvXWW8k6LHklNRAeddRRXtlrbS6tjdmpU6ek16imQ11yySWd1o75+9//7lR2rXmi6a/ySOoNrd7KWRIBwixa2be1atDPfuTq7aERhBpJGJpaQqO6piIbMWJEplPVdNjDhg3LtE/sG+sep+m527RpE1zURnh+hU4jXkC2up9YBQjVoKrfrfXUonqW6re2zTbbJNPht23bNiH45ptvnGZu0LStCrpqPW3rpPxXWGGFoGxbwr0s6ARbwM4aGVMvo7aLufUb0JR4vh1O1NFO9yNNK6h3VL2rLrroou7DDz90Ghk0derUZERNXmsdfv3118nxQlNLCRAWz3aT5py5p6ZRym+bIUOGuEGDBpkcYMcdd0ymsLVK6oxnNR2m2j40wrF169aZiqfnrgL99ZZef/31ZG3d0ESAMFSQ/RFAAIF8BQgQ5uubOXcChJnJctvhlVdecVpDKjT5TvuoRmX1rPRJm2++uVMPy0LSmkjbbrutT1bJPprmdIMNNsi8v0VPPt8p64oLW4sGVo2I0XpfCtYtv/zyTh/96rGtsvg2XKSpgDPPPNOddNJJaTb12kaNLzqfL7/8suL+Wrdo3333dapDXT9p15l65513kkCeGg4sk8+1pGCoRuOWSgpoWtWnfrehqXv37u6ss84KzaZq+1s16KcpsH6T+j1qCjIFbhZffHGn9UXU4KcRX3kl34aGpuVpCY3qWaeDVgcanVeeSc/xlVZaKblvqbFn+vTpSUeE0LVxK5V58ODBJg1p1Xx+KfCkKaU0UlxrF+t+rw4catTJ8zciS71zrb322pVYy/7d6n5iFSAM6VDT3InqXqJnvIKDaYIIChJoXTOraY5VJjUO69oOSdW8l8lMDZv6p8D9Dz/8kPz2FcDX/afWSb85jTBV0FXLASjNmDEjmarZd4mBNOdUWKc8zbYtbRsFxvUbTpPUmK/vow033DD55kszld6PP/7obrrppuR3ZfX+Vyjr/fffnwT+Q1NLCRAqQKRAUdrEPTWtVD7b6f1J7wdWyXeNv+aOf9lll7nf/e53JkXTu8S5556bKS+9L+m7P6/OAyqMnmGFdgU927ROqDou5P0s0/fpI488EjzFOAHCTJcUGyOAAAJVFyBAWHXy8gckQBhPhegDUKOb0gRCypW6X79+btSoUZlPLGTkUtMXW40AVE9Y36Q1wo499thMu2sBeb28hiatf6EeiyGpWg2s6nWssupjd4EFFmi2yPqNq/expuvQ1KnWSR8P+ljIM2m0jxqXSqUDDjjA7bfffk4fFKUc0pRPjWN9+/ZNAjhWyXrNiz//+c9Oa46FJuuetKHlqdb+Vg365cqr6cb0Tx/upZJGB2h9Lf1+rRv8dEzfqYqKy1vNRnXf+s+65uJee+3ltcZLpfLp3rP//vs7TfVUaHRvuo8CBS+88EKyBqbPOjOVyqC/f/LJJ0HP3sK1YzH9ZrnyKn81dmuEd6mkkWNat0wjsUPfi5o7hmY5CO3cYHU/sQgQKrCqwLTV/UQdHHQf6dy5c5pLb55ttLaZ6tai3vRep/tlmgBlqYJW416m89Vvu1zntqeffjpZ39p3Cv7MFVG0g9aL1lqA6tRTaoYOzayggPA111wTcqhm9817SnrzAmfIUB3yFHAtdb0rECh/jaAs9XxIczgFBM477zynKfiskk9gorljt5QA4TPPPJMEZ9Mk7qlplPLfxnIKTctpRnUvtZqBpniZlrSiw4cPd4cddljazVNvp+96fWeqM0O5UXwK3l5xxRXJPSmPFLrci8pEgDCPmiFPBBBAwE6AAKGdpUlOBAhNGM0ysWi81KgpTfeUJalHmHrv+6bmpg5SjzPfERPbb7+9GzduXKbiqKdZucbGtJlZ9KbNO0CoERdqZFIja5abqkbIKZBmnT7//PO5U45Z5638FPzV9Vnc+LL11lu7AQMGOK13qZFZVkkN+FnXDSx37Ntvv93tvvvuVsVzBAjDKK0a9JsrhdY/1QhuTRWWNqk3s0bn3HPPPWl3SbVd79693S233JJq21IbVaNRPU0BNeKlYPrFF1/M01tanWHUKSZNUi9rBVAsk4IXmh5cHQuy3Is1olDB4RtvvNGyOMlzQaMqQ1Kezy8FnbTm1Zprrpm6iJrGq0+fPu6pp55KvU+aDXVdaZS9z3Tmhfyt7icWAcLbbrvN6XdvkVRPCmap05pvUschvZNZjG5QwEodgXxTnvcyWakTU69evVIX78orr3RHHHFE6u1DNtQ3gUafqTE7bRo7dmzS2cE6zZo1yy288MLW2UaRn4LDuh8Ukp4NarzXs8Fidpjik9TvXL93i6TrV8+j0BRLgFDumgJZU7XqetP3SXGnCd2XFABJk7inplHKfxu9H//61782OZBP+0JzB1Y7S8eOHU3K5DPludrvFLyz7NCqk9H7ozpKZ+mQo46weg+2mgq2gKqR1hMmTAgyJkAYxMfOCCCAQO4CWdpPci9MwAF+8v9nvfl3wP7R7EqAMJqqSApi1fivXl1ZXlxDP4LefPNNt/rqq8+Dqd2FMpsAACAASURBVOCNppryTd9++22qqXcK+ath1GKqSwWjFltsMd9iJ/vl2cCqhobHHnvMe7RkHkFCfaD4jDLIgnzBBRckvw9dV2os1rSNeSV95ISOIi2UzWJEavF5Wt0jGEFoe/Wop606Siy00EKZM9ZzWI3fIffL5g6qkdzt2rXLXJ7CDnk2qpcqlBo+N910U7feeusljarNBSg0Ek9BI334q4xppxLWqIvQqQqLy63jKmjVoUMHL2PV+8CBA52CBVZJQS9NmRzSCJ/X80uNso8++qhXZyStcawOMePHj7eiSvIJ7RAUU4Bwiy22SHxDkxrYNZq+3AjotMd4+OGHXY8ePdJuXnI7Bd90XfqmvO5l+r1pqjWfUWFNA0q+51ZuP3Um0wgXn0CvgooacWiZNLJU9/Z6TOq8oplY9PxSR7ztttsu83piaV00olaBPYsRujqmxTqEtQgQ6l6lZQU0IvBXv/pVMl11c1O2zp49OwmkaN1xvfummdZVLtxT016R+W6ndSD1nmU1Ol75tG/fPqjQGjmn9zeLpOBa1g4jmoK9Z8+eFoefm4fyDHle5/HM8BlZWYxCgND0EiEzBBBAwFyAAKE5aViGBAjD/Kz3tnqRaW5EX7myHn744e6qq67yOh19oM2cOXO+0ROhgQyNCNTHWdq00047BU+h2XQtxbTHbrpdXg2saozSdKFpG8RLlV+NF5br7Slgqemj6iWp17EaenxHwBY7qAe5ZQAg9HdVKBsBQrurVT2SNWVcSFBGHSK0LpTlGlAjR45MAuq+Ka9G9ablUe9pNY7stttuQQHNcuepBkI1CFk1qOq5pxFWWUbCNVc+BTs1gvS6667zrab59tO9XaNWfFMezy+LZ5dGgmy00UamPeb79+/vNOWYb4olQGi5tqbWVdIUyVZJxhbXd0gQI697mToI6Jr0TZtsson5yNhCWXSPUkCuaee9LGW1HKmm4yrAr8AZKVxA962QUbXFJVCnktDR9dUMEGq2Bp27riWfTllp9LmnplGq3jbqtGk1Qi10RLrO2ip4rLx81kXU+/Lo0aPNKkDBvb333js4vxEjRiTTKVslvR8rT99k1a6m4+fZZvrAAw+YrAXrM4uYry37IYAAAhYCBAgtFA3zyPNhZ1jMhslK9bH88ssH95LTotmXXHJJajd9GPpOA6Ve/WPGjJnvWKEfVxrtoXXz0iT1LmzdunWaTctuk+WY5TLKo4FVx7PqfW05NYrKZT2NZnBFGmRw0EEHmazDo4aMO++806BE/8mCAGEYpVWDfnEp9AFqMdpGI7E1KsAqhX5Y59WoXjg/NWDrOaW1+0LWDk3jZfXxXTiWpsnUqFGLpOeXOqdYTaEZGvzP4/ll0SAn69dee82tvfbaFuxJHqGNKVb3k9ApRocOHZpMCxaaLNb7a1qGGTNmJO+1oenee+9NRv/4pDzuZZpOOrQhNK+pPGV08803Oy1bEJJef/31ZFSWVcraedHquPWYj9aLTDtVZqXzt/i2qEaAUNei1l3LMl1upXMv9Xfuqb5y+eynWSNWXXVVk8xDp67U+si+M0c0PQGtS5p1TWrNdKRntVUKff9oWg5NU3ruuedaFS+ZKti3AyYBQrNqICMEEEAgFwEChLmw+mdKgNDfLq89LUZ3aWo2TcuQJmmUlNYL9E16CSxed6OQjxo9tQaE74gNjUjTyLQ0Seeq6WVCk6bD0iie0JRHA+txxx1nuhC4puWxWv/KZ3qUUOO899ei68cff3zwYbJcx2kORoAwjVLpbawa9AtHsFjrr7i0Fvf/Qn5ZngPNieXRqF44jqYM1JSqWdZrDKn5E0880Z1zzjkhWczdV9OZafSg5QutdaAgZKps6+eXxbSnxRVn1XmjkGfIVLxW95PQBjo1mGsqydB0xhlnuFNOOSU0m/n21/pRoeushrwDWd/LFJjRdIWh9wB9gyngPWXKFFNzdTRRnq1atQrOV1PO6d3YIun9Rb9fUriAVcdIlWTixInB0xXmHSDUfUmdIPIaMdi0Rrinhl+j1jloXVS9K1kkdVzRu4lPUpBas8NYJL1vZVm/Vse87777nGZNskohFs2VwapTUCHvkKlPCRBaXSXkgwACCOQjEPotlU+psufKGoTZzdgjpYAaTUOmhSscJm2jV+jxyk0vGToFhtb0SNNLzuplPWQKq+LqtW5gVd5Wo5QK5dQIGI1us0jW6+xZlCk0DysfNSROmzYttDhz9ydAGEZp1aBfKEXo+hhNz+bVV19166yzTthJFu0d0vPWulG9UCyNvLvlllu8ewT74FieSx7T5P34449JvVsFCnwanQqu1s+vyy+/3GytHpXRciSB8ps0aVIygtMnWd1PQgKEmuLdZ4255s73ueeec127dvWhKLuPxXSImsp53LhxXmWz/P2rAOpsYNGBSHlZXUPFMPLW1K4WSaO8f//731tk5bSW9B//+EeTvMjEJVPhWzwzLEab5hkgtPy9pbluuKemUar+Nupkos4mFimks4LW/lPQKjSpfePTTz/NPAOS7qHDhg0LPXyyvwLv6hhknY4++mh36aWXmmSrZ61vBz8ChCZVQCYIIIBAbgIECHOj9cuYEYR+bnnupV7JnTt3Dj5E2kbM0BErWjur1ILvGlkWspaNesntsMMOFS369evn/vrXv1bcrtwGW2+9tdM0dBbJuoE1dDqU5s7JcoqS0KkMLcyt83jllVecRmCFJn0AKtBtlQgQhklaNsZquitNeWidLBuzX3zxRaf8fJJlOQrH15TUmpK4WqMAdNwPPvjArbjiij4E8+0TOiVluUKokbZPnz4m5dRzV2vJ+STr59dHH32UrP9omSxGpBXKExLAtLqfhAQIrUaf6lmlRn6LUWdN6/rDDz90K6ywQtAloNEeGpngk6zvZRZrthXOQ1OQ77777j6nVXKfb775xrVp08YkT6t3IRWmHjuTmSB7ZmK1RqTWoD/00EM9S/Gf3fIKEJ599tlOUxZWM3FPraZ2+mNp1Kym9tQ7RWjy/ea3eJYVyq73B5+pOLWkwdSpU0MJkv01VfEqq6xikldxJpYduTQi/o033vAqIwFCLzZ2QgABBKomQICwatTpDkSAMJ1Ttbdabrnlgl+AtZj34MGDyxZd9d+2bVvvaUAr9egObVhI22vMwuvMM890J510kklVWzewqgHJarRf8QlqallNMRuaNCJII+7qKVkFFQgQxnVVWDXo66yOOOIIp04Q1klrr1r16L3++utd3759vYpo3aiu34LWWdT9uprJajSwyhwSyKl0zupss+iii1baLNXfQxpULJ9f1iOoCyc/cuRIp44pFimkg4vV/STkurKaPtd6vdymdbPEEkt4v2sW8tLIHuWTNVney0LX+Gxadus1oUutC57VrLC95X1JIxEvuugi36KwXxOBo446yqmDQ2iyWCYgjwChpujXCO+81yhu6sc9NfSKym//IUOGOLVvWCQF+7K+j44YMSJ47dlC2X1mIPn444+9p0ZtapZXJ8fCcSynp9Y3uc9axgQILX4p5IEAAgjkJ0CAMD9br5wJEHqx5b6TxRo7W221lXvooYfKllWjX7T+iW/SOm1aF6ZU0rRpmvrKdx3CNGtoTZ8+3aT3W7mpUrP6WDaw6thWU582PY/QKWAL+Vk3SGX1zmN7q16iBAjzqB3/PK0a9FWCkOBbuTN49NFH3RZbbOF/kkV7aioiTevmkywb1XV8TQV9yCGH+BQlaB+r9URViPvvv99ts802QeUpt3O3bt3cs88+a5L/7NmzvUZqWj6/QoJv5RCsOnDoGGneM0qVxep+EhIg3HXXXd3dd98dfM2k7ZDleyCL+4nviGiLYxfOO2TEaSk7y49ji2BP03JadSb73e9+5zRlKclGQJ6+I8WLS2BxzeQRIHz55ZdNp1xPq849Na1U9bezHJl29dVXZw72bbfddsl7YGhaf/313fPPP585m6eeesptsskmmfdrbgd1Rjz99NNN8mouE6tAu/L2nQqeAGFu1UvGCCCAgImA5TeQSYE8M2ENQk84dksnoOkyNW1maKq0/tQVV1wRtDbQ008/7dSgWS7tu+++7sYbb/Q+FfWWW2aZZUrur7Ws9t57b+/8CztWsspyAMsG1pCRIJXKfOyxx7oLL7yw0mYV/x5rgFB1qinJ9E/TfGpaVf1/xf/UiK5/6iVf+K/+rsYOi0ZXAoQVL5+qbmDVoK9Cv/76626NNdYwL7/liI1Ko7zLFd6yUV09ldXYl8f0hZUqwKLDTeEYllP3NVduBYouvvjiSqeU6u++69ZaPr9C1vmpdJKW02z98MMPXqNUrO4nIQFCKwfNoHD44YdXYvf+uzokhQa/H374YbfllltmLoPlvUxT0Wt6OstkMQtGoTxax1Zr01kmq0ZxAoTz1oo66Wq9eHVI01pk6kypZ4zeRfUeWvhv8f/W+0HhffWJJ54wmQUkxgBhyDTZodc+99RQwXz333nnnZ2mgQ1NWacZtRy95/ubs2ofkp3WUdQov7zS6NGjnZ77FkkjN31mjSBAaKFPHggggEB+AgQI87P1ypkRhF5sue9kNSruySefdBtvvHHJ8oaOIJszZ45bcMEFy3pcc801Tg20vqnS9JoWC2GHNKI3d16WDayaHlAjlfJI6jlYaRraNMetZYBQ16ACNZMnT07+qXepfj9aV8F35Gqac067DQHCtFLV2c6qQV+l9Q0qpDnTlVZayb333ntpNi27zYYbbuieeeYZr3wsG9XPOeccpxFKtUjqba1e16Epr+kyi8t1ww03eE8J2/T8xowZ43Rvzposn19pOhFlLV9h+7322svdeuutvrvPs586kOhenTVZ3U98A4Rak6l169ZZi91it9e12atXr8zlt7yX/fOf/zRb07RwIgroTZkyJfN5NbdDuXXBfQ8Q+q1QOG6jBgi1ZppGv2rEkAK4mlZW15HFFP++dVq8n2+wojgP6xGEjz/+uNt0000tTi9THtxTM3HVZON77rnHaR1ii/T++++nXh/3L3/5ixswYIDFYV2lzs+lDmK5BIG+MbSmY17Jqi1L5fOdDYUAYV61S74IIICAjQABQhtHs1wIEJpRmmdkMaWP1vrQmh/NJX0ELbXUUt5BlLTrzmnNKY2C802VepFaNPxUmio1a9ktG1ity1Z8Lho9qFGEoamaAUJNW6vAtxq/1YCgfzEnAoRx1Y5Vg/6yyy6bjEzNK+2www5u/PjxwdmHjEC2uLcWTiCPUS1pcSzWPtOx0j7z0parue0sGzPOP/98r/u75fNr2rRpToHVPJJVBxeVzTfoY3U/8Q0QKsCgd8VGSTfffLNTYDhrsrqXWT/PC+ehKaU1tXRo+tnPfpYEn6zTfvvtZ9JRrVEChAoIagYKjdDR8gUWnX2s67Q4v9gChPqdKeBYixkHuKfmeaXZ5K32CwW29DsLTVdddZU79NBDU2Wz0047ufvuuy/VtuU22nPPPb07N/Xu3dvddtttwWVQBvqezrth1ur923ftX8t36jzbTDUzgcXyBXm9A5hccGSCAAIINCOQ93OoWuhMMVot6QY+jqZ60otrSNKLpKbgbC5pqqdK04OWO/all17qjjrqqFTFC5k+qdyoDfX6b9u2baoylNtIo0s22mij4HwKGVg2sN57771OL8Z5pCuvvNIdccQRwVlXI0Contf6KLr22mtNPgqDTzplBtYNipqyz2IdN9+PrZSnHe1mVg36vuuHpIWxGBmtY4UEMq0a1asx8q6Uq6Zma9OmTVr2stvlvUabDj5z5sxk3V6LdMwxx3hNIW35/NL0ee3atbM4nfnyULCoT58+Jnn7TsdqdT/xDRBarldqAplzJpqR4oADDsh8FKt72eabb56shWSdrKbMy+u5bvE9IrN6DhB+/vnnTvdOLalgEUSwvsbK5RdbgFDXm5bAqEXinloL9ezHHDJkiBs0aFD2HZvssdVWW7mHHnqoYj6aArjccicVMyjawHckvLLo3r27ScfYvL9hCqfbtWvXZHaf0OS7VjQBwlB59kcAAQTyFSBAmK9v5tzz7A2TuTDsMI+Axdp65RqHNTItZMo3TZejRpc0SfPGjxw5Ms2mzW5TagoQrUdjMX/+d999ZzpNl2UDq0Zgrr766t525XZUANpizaE8A4T6WNfUIqFrF+UCmCJTAoQpkKq4iVWDvvW0xE0Jzj77bKc1wSyS73PeqlFd6+mOGjXK4lQy56EA1dJLL515v+Z2uPzyy4PW7E1TCE1bW2na7jT5aBt1JBg+fHjazeduZ/n8ynMaXqvnv078ueeec2rIypqs7ie+AUIFIjSqoVGSggY+7yxW97KDDz7YXX311ebcmi5P0+aFprwCKwQIS9eMOnVothaNaG6pKbYAob4XraZyzFon3FOzitVmey0nseqqq5ocPM0MAlrqQyOpQ5O+CRVs9J0a3OpZtvvuu7vbb7899HQq7m+1fq3vyDgChBWriA0QQACBmgoQIKwp//wH9204jOw06rI4CopZzA1fao75kCnssk7/Erqo9l133ZVM79Y0hQY5lZ/Ws1GDqGWybGD98MMPnUZg5pFiDhC+9tpr7sQTTzRpNMvDLm2eBAjTSlVnO6sG/X322cdpvbi80iWXXFJyeuisx5w9e7ZbaKGFsu6WdAB5+eWXM+/XdIfjjjvO6V5di6Tp9jp27GhyaI1e7t+/v0le5TKxmpLJ9xq1en5Z3/uamoXOglCcn0YQaCRB1mR1P/ENEKqBT9OVNUqqdYDQdx2kSvVjFSDU9XjuuedWOlzmvxMgnJ9MHQs1o4PeU2NY7zpzpRbtEFuAUMFyjaqtReKeWgt1v2NajbxO81yJ5R5tsfyMtPUuq3favJPVlKi+75MECPOuYfJHAAEEwgQIEIb5me9NgNCc1DTDLl26uKlTpwblqXUwmi7mHboIe7mpS5sr7DvvvONWXnll7/PQB/hZZ5013/577LGHu+OOO7zz1Y7Dhg1zapyzTFYNrCrTV1995RZbbDHL4s3NK9YAoXpja3q8eki+HzWlzp0pRsOuCqsGfU2vrGmW80ojRoxwGq1ikdRbWevNZk1WAULftfCylre57S0bB2699daqBGNWWmklkzWrfDu/WD2/Qta/TFP3U6ZMcb/4xS/SbFpxG61pq5HwWZPV/cQ3QKiRufvvv3/WYrfY7dM05DZ3clb3ssGDB5tMa9e0jFaNzxrFdtppp5nXLwHCeUk1ekmdFi060JhXlkeGsQUIrZd9yELCPTWLVm23VSC5afuGT4kqTR2t9TB93qGbK8tLL73kNF2mb7LqQHbkkUe6yy67zLcYqfc76KCDnKYGt0g+bZaW3wA+x0973hMmTHCamSY0+Y60DD0u+yOAAAK+AgQIfeVy2i/Ph11ORW6obLVeR+gLnBoLmk5988ILLzjNP++bNG1Z1nXQQnq9lVojIGRtw8K5+04tVs7OqoFVx8hzEfHYAoTffvttsli8pnKpl0SAMK6arHWDfloNjU7s27dv2s3LbqfGTJ8OGlaN6tddd53J1Ew+GFq7dIMNNvDZdb59QtaNyVIAK/dKjV6lymT1/FprrbWcRoLnlSynGNMsB/vuu2/motb6fmK1jnDmE6/RDrUOEObV2cEqQKiR2hqxbZ0IEP5X9JFHHkk6E7T0UYPF10hsAcK33nrL6ZuxFol7ai3U/Y45Z84cp4DIRx995JdB0V7lphm96aabnGZkCE0W6/5ZNaRWY01teWnUvTpiWySf2VBaSoBw9OjRbrfddgtmIkAYTEgGCCBQZQGr51qViz3f4X7inPt3rQthcXwChBaK+eVh8cKw4447unvvvXeeQmp9B60L6JvUc3/NNdfMtPvAgQODFp3XqMdWrVrNPaZe5vUiFJIUvNEaVVZrPhXKYtXAah1camoVU4BQgdA+ffo4jdKpp2Rdh4wgDLs6rBr0jzjiCKdGtbySZYBQH8gajZ41WQWq9Bzbddddsx7eZHuNRNhkk01M8lLHBaugbbkCdevWzWTN1d/+9rfuzjvvzHzuVs+vvEcQWk4fqx7uBxxwQGYrq/uJ7wjCCy64IJeAUGaIKu1Q6wChggeHHXaY+dlaBQgtAj3NnRwBwv+oqEPhhhtuaF7/tc7Q4rqxHGWlgE/79u1rwsI9tSbs3gcdMmSIyajucr8BBW70HhuaLH5nVg2pagPSTCV5p5NPPrnZGaCyHte3vaalBAhDl+IpeBIgzHplsT0CCNRawOq5VvPzIEBY6ypojOPrIyl0/Tm9VM2cOdMV//hCgnXLLrus07p4WX/Moes6NG3kHjt2bPAaFb4NqJWuPqsGVlnPmDGj0uG8/x5TgPCkk05yZ599tve5xLojAcK4asaqQb9fv35OU1HllTRK26ohutYjCEutIZuXXXG+GsG29tprmxxK01lb9PCtVBiLqcV1DE1XNG7cuEqHm+/vLeX59cYbb7g11lgj8/k1t0NLHUF44YUXumOPPdbEoCVkUusAYV6dBKwChHkFMAkQOjd9+nSnzhsWo5Vi+61ZBC4sA4Qff/yxW2aZZWrCxD21JuzeB7WaSWCzzTZzjz322HzlUPvJkksu6V2+4h0trmurKUY1Q5XWOs87HX300WbLMfzwww9ugQUWyFTklhIgtBq5TIAw0+XBxgggEIFA1phCBEVutgiMIIy1ZuqwXFpjRyP2QtLbb7/tVl111blZdO3a1U2ePNkrS9+GcQW6ll9+ea9jaqebb77Z7bXXXnP315qE6pkWki6//HKnYKl1smpgzXsERiwBwkcffdRtscUW1tUQRX4ECKOohrmFsAoQav0hBb7ySpoqTlMAWSR16PDpaGI1grCWAcIPPvjArbjiihaM7tprr3X9+/c3yatcJhZTZyt/TYmlkahZk9Xzy/re1/Q8QqdKL87PN/hrdT/xHUF49dVXJ9NyN0qqdYDQ9zqpVD8ECCsJ1f7vPXv2dA8++GDtC5JDCQgQ/heVe2oOF1jOWe68885OnYZDk2YlaDoz0S233OL23nvv0KyT9astZsix6kCmtYv/8pe/BJ9XpQwGDBhgchzf98mWEiDU9OV6nwxNBAhDBdkfAQSqLUCAsNriFY7HFKORVUgzxVHvcPVoDEmaZkyj5ZRmzZrl2rRp451dSCNpSLCz6Xz5vXv3drfddpv3eWjH0MXCSx3cqoE17zWcYggQaupYBaxffvnloLpMs7NenDU9VIcOHdzSSy/t2rVrlyw8v+iii7pFFlkk+affxsILL+zUG3rbbbdNk23ZbXw/akplyhSjYVVi1aBfal3UsNL9d+9TTz3VDR061CQ79YBWr+OsqR4ChKHPu2Kziy++2Kk3dN7J6kX5qKOO8uq5bfX8klOe75jq7a91Fi2SpmHXdOxZk9X9xDdAaDkVcdZzr8X2tQ4Q5tXZgQBhLa6m9Me0WO4h7dE23nhjp3d/jaArvKPq+a1308L7aeFdVd+H999/f9qsS25HgPC/NNxTgy+nqmdwzz33ON1DQ1NznYYt2hpULqs1rLt37+4ef/zx0FN1eXdyLBRQywvcfffdweX17TDdUgKEgwYNcpouNzQRIAwVZH8EEKi2gFW7R7XL3fR4jCCsdQ000PEtGuvU2Fx48dDIQQVkfNO0adNcp06dvHYPWax66623dg888MDc46600kruvffe8yqHdlLgRkGg4nUNvTNrsqNFnSnLRggQWi3+3lzdqY7Ve1HTAq677rpJY0vapFFXK6ywQtrNS25HgDCY0DQDqwb99ddf3z3//POmZSvOTNP/XHbZZSb5f/fdd65169aZ86qHAKFO2urF8/TTT3ennXZaZscsO8yZM8cttNBCWXYpue3gwYO91uaxen6pYN9++23S8SKPZNUoqLI99NBDTkH/rMnqfuIbIBwzZkzS0NcoSZ2afEZMxn4vI0AY7xWs9bE7d+7sNBNLHkmdHPbbbz+35ZZbJjO9ZFkT3eo9gQDhf2uWe2oeV3m+eeq9SYGR0Ol/m3b8++abb9xiiy0WXHh9B3766ade7+FND261HqLuO5MmTQo+t0oZ9OjRwz388MOVNqv491JTwFbasaUECK2mYiVAWOmK4O8IIBCbgFU7Ta3PiwBhrWuggY5vsa6Desarh7ySppRQ0MQnhb54hDQ8Fq+laGFiNd1Hc44h51mcXyMECPOYtknXinqC9unTx/uDjAChzx0i/n2sGvTVSUKdJfJKmspZ66JZJN9RXLE3qqe1Ce1MUjiObxAnbTm13WeffZaMbrZIl156qdMowqzJ6vml406dOjVpXM8jDRs2zKnTkUV68sknnUbuZE1W9xPfa0tTHuoZapFeffXVTMEJi2NmzaNjx45eM2DEfi8jQJj1Sqje9pYjlYtLrVldLrjgAu8Ol8qLAKH9dcA91d60GjmqE7RGYYWmzz//3LVt2zbJZsKECclazqFJ7wnnnntuaDbJ/occcojTTDKhKe/2hUL5rJ69viMeW0qAcLvttjMZDR7aThd6XbE/AgggkFWAAGFWsZy39204zLlYZN9EIGTNQGVVPIoppEHr4IMPdlqfwTeFBva0GPnKK6+c9HpTb9uQpAWhDzvssJAsSu5r1cCa9wt8racYfeedd5L6tEyaFlRTBLVv3z4oWwKEQXzR7hxy/2t6UupdHDJdczmkkOmYi/NddtllndZ/9UlWH/Z5TcuX9py6devmnn322bSbl9yuuKNNcGYlMlA5VV6LdP3117u+fftmzsrq+aUDa/q7bbbZJnMZ0uxg1VCmY7355ptu9dVXT3PYebaxup/4Bgife+65ZNpsi/TPf/7TbL1Oi/JY5hH7vYwAoWVt2+Z1+OGHO70rW6ama6r75k2A0Feu9H7cU+1Nq5Gj2gc0Ajc0aQTpLrvskmRzzDHHuIsuuig0S9PlTE488UR3zjnnBJdJGWjkZZYRy1kPqiVEfGYvae44Bx54oBsxYkTWIjjLAGGeM2JoGukvv/wy12F7mwAAIABJREFU8/k13YEAYTAhGSCAQJUFCBBWGbzS4QgQVhKK4+8WL4QKeCy33HJuhx12cOPHj/c6MU0HGbpYd0hjbWGdIE2Hc+SRR3qdQ2En9ZZXI3weyaqBtd4DhBohpZFSVklTkOjatpgS5oMPPjBpLGWKUavatcnHqkFfpdF0zeutt55NwYpy+frrr93iiy9ukm/INEKxN6qnBdppp53cfffdl3bzktvpt6ze5QsssEBwXqUysOq0ofx917yxen6pDOpQpI5FeSSrtXhUNt9gv9X9xDdAaDniVMHpDTbYII+qqnmesd/LCBDW/BIpWQCrEeiFAxSvCR961hohrtkyQhNTjP5XkHtq6NVUu/133nlnN3bs2KACqG2hML3/aqutFjy1sPVyBBp1fNxxxwWdY2HnF1980enZmFdSO8s666xjkv3xxx/vFRi1DBB+8sknZjN8FKNYdUhWngQITS43MkEAgSoKECCsInaaQxEgTKNU+23GjRvnNHohJGn9Pq3jpyCh7zz9WvOvQ4cOIcVwJ598sjvrrLO88tAUHWqQU0+ykSNHeuWhnYqnK/XOpMyOVg2s9R4gPPPMM90pp5xiVgUW12ehMG+99ZbJ1HgECM2q1yQjqwZ9Fea6665L1g6yTk899ZTbZJNNTLLt37+/u/baa73yir1RPe1JDRw40F1xxRVpNy+7nRobunTpYpJXc5lo+m9NA26RfBt/rJ5fOgeNcLnkkkssTmeePGbPnm22tmHIKFur+4lvgFAoIe90xai6T+h+UY8p9nsZAcI4rzrLNWF1hpoSWQ38Vkm/V72HhCYChPMKck8NvaJqs7/FusSFgJ7VN6DFb6tY87bbbnO9e/c2AdaIPLWn5JVGjRrl9t9/f5Ps1RFC7/JZk2WAcPr06U7TnFsnrYGt9jmLRIDQQpE8EECgmgIECKupneJYBAhTIEWwyRdffDF3Tnzf4mg9on322ccts8wyXln8/Oc/d2+88YbXvsU7TZw40WkaSJ+k6dI0bVpoY48cNA1lXsmqgbXeA4QHHXSQu+aaa0yqQVOuqIehVbIK0hAgtKoRm3ysGvRVGk0/dOGFF9oUrCgXTX98xBFHmOR7+umnu9NOO80rr9D7bOGgtZ5i1LJBRaOe9913Xy/PNDsp+Kh1+yyS7/RRVs8vnYPVe0NTD3V4spq6VGsPag1Cn2R1PwkJEFqtXaPZITRLRD2m2O9lBAjjvOqspi3U2eld8N133w3+liuWCpkRpjgfiyBG6BISxeX5+OOPvb9VLa4k7qkWitXPQ+88CpD4doIulFgdkNRR69BDDw0+Cetr+f333w/uqF04qdBlYyrhWI1w1nGef/55p+Bt1mQZIHz88cfdpptumrUIFbe3mBWrcBAChBW52QABBCITIEAYWYUQIIysQsoURyNKFLTwTeolptEJmpbLJ+lFT0HG0PTVV18lH8o+SY2Nr732WvCc9nn3mrNqYK33AGHPnj3dgw8+6HMpzLeP9fpJFj1RVUgChCbVa5aJVYO+ChQSWCh3QgpA3XjjjSbnHDIqKPZG9bRAlg0qxdNPpT1+2u0spzbTGjpaS8cnWT2/Cse2vjcrX43EGTZsmM/pzbdPSIchq/tJSIDQap0kPat0Dea5JpFJhXlkEvu9jAChR6VWYZfHHnvMaZpui6ROP2oItkxW1zUBwnlrhXuq5VVa3byGDBniBg0aFHTQl19+OVl3NHTmiT333NPdeuutQWVpbmerjmR5deAqlNnq/qT8fDu8qWP7GmusYVIHebUd9ejRwz388MMmZSRAaMJIJgggUEUBAoRVxE5zKAKEaZTi2EYvvHrx9U0bbrihO+yww7ynk7jjjjvcbrvt5nv4efbbYost3KOPPuqVl17c1113Xa99CzvlPU2cVQNrvQcIrdZ20bX9zDPPBF0TTXe2WPdTeRIgNK2W4MysGvQLBbFey1Q9nzW9lVXynWZSx7f6uK/1CEKdi1WDin7Pmsp4iSWWsKqiuflcfPHFToEii6Rp7BRE80lWz6/CsTXqX6P/rdL333/vVl111aQeLFKIldX9JCRAaDmNV2GdZwvXmPKI/V5GgDCmq+W/ZdFMI1b3LuvfluWIPQKE815/3FPj/D2mKZXFqN+bb745Ceb7tlMUyum7DnSl89TU7YV1EittW+nv6gSx2WabVdos89814s9qTeNevXola2r7JK0b2L59e59d59sn5D2tVAEsRzjqGAQITaqaTBBAoIoCBAiriJ3mUAQI0yjFsY3FlFqaglHr+PkkNVxbvWSdccYZ3tPeaSrJE044wecUkn1C1htKe1CrBtZ6DhCqkbd169ZpSctu169fP6cPesv0i1/8wk2ZMiU4S+sAoXowalqY0KQPQn0YNlqyatAvuFmvsab7c8j9rWl9+va6VT6xN6pnuXaPPvpokxHwOqZGrlkF8grn8N133zl1mAidGquQn6bM1AhXn2T1/Coc23qkrWWjvco4adIk71FCVveTkIYnyxGy6mzz9NNPu3r5WCtcg7HfywgQ+typ8t9H66Vr3XSLZN0xcfTo0WadNgkQzlvD3FMtrvja5bHzzju7sWPHehdA7+FDhw51X375pXce+vb79NNPzb5ziwty5513ut133927bMU7hsw2Ua4Affr0cQq0WqTzzjvPHXfccV5Z/fjjj65Vq1Ze+zbdqVOnTm7atGkmeRUysXqHLORHgNC0esgMAQSqIFAv35w/cc79uwpeuR+CAGHuxGYH+Prrr93iiy8elJ8af5599tnMeWjE3ksvvZR5v1I7qFeeRhH6JDU2hky1qgWztbZAnsmqgbWeA4SWvfoOP/zw4Klgiq+HV155JXiUaiE/6wChRuPst99+wZevdbmCC1SlDKw/xlTsmTNnmowoU9C8Q4cOZkEirfU6YcIEb9nYG9WznJhlY6o6mbzzzjtu4YUXzlKEsttqbUN1dLBKs2bN8i6f1fOr+Fz0zN5oo42CT0+/EY0Gffvtt4PzKmSgac8XW2wxr/ys7ichAUIVvFu3bl7vds2dtPVIJy9Y451iv5cRIDSucKPsrKaaVHE04lnPd6vUu3dvp/V1LRIBwvkVuadaXFm1ySN0iQgFzZRHSNK7gW+H7ErHtZ5pRDMzrbPOOpUOm/rvCqKtvvrqqbevtGHo2n+alcWq853awkJnsSqc7zfffOOWX375oEB0UzsChJWuJv6OAAKxCRAgjKxGCBBGViEVihMyNWfImarnlnpwWSU1XrZp08Yqu0z5hKzJlfZAVg2s9Rwg1MimhRZaKC1p2e223357N27cOJO8lElo79PiglgH4m6//XandS0sUh5rg1mUK888rBr0i8t42mmnudNPPz242FdeeaXTOkVWSWVS2XxT7I3qWc7r448/TkaPWyWtx6t1eS2SOv+sv/76burUqRbZudDAsNXzq/hkdtxxx2SKqAUWWCDoHC+//HIzdxVE7poKyzdZ3U9CA4Rnn322O+mkk3xPY5791MD0wgsvuGWWWcYkvxgyif1eRoAwhqtk/jKceeaZ7pRTTjEpXMio7qYF0JT6Fh0uCvkSIJy/irmnmlz2NclE35d6jlkFhXxOwjKQ1NzxrWa5Ud6//e1vnZaRsWqkHTBggGlH7G+//dYtssgiPtWQ7GMZ7NdSPfpWs0jHHnusu/DCCy2ympsHAUJTTjJDAIEqCFg9e6pQ1LKHYARhrWugQY8fMjVnCFke8+jvsMMObvz48SHF8tr3rbfecquttprXvml3smpgrecAoSytevVZThtrVXeFa8U6QHjfffe5nXbaKe2lWHY7BRutpqkxKVAVMrFq0G9aVI0A23fffb3PQNO9br755t77N7dj6NoisTeqZ8Xadddd3d133511t5Lba1Si8gxJmlpUeeh3bZU03XLIaETre2DhvNSbXr8/3/TEE0+Yr5WjtWY1jaBvsrqfhAYINQJAv1erpCCzRhIuuOCCVllmykfTgj344INuxowZQffVwkFjv5cRIMx0eVRtY3UoPOCAA0yOd80115jkNXv2bLfVVlsFzaTS9IQIEM5fxdxTTS77mmWiDnKDBw+uyfFDOx6lKbTWINQSB1ZJo6UtglWamvXUU0+1KlZyz9S9MyTttttuTu/rVum1115zap8JSVdddZXT7EfWiQChtSj5IYBA3gIECPMWzpg/IwgzgtV485CpOUOK/q9//cstueSSIVnMt+/5558f1FjoU5hqvThZNbDWe4DQslefxWg4rb3ku25XqevROkD4yCOPJI1DFkmB1ddff90ttdRSFtm1iDysGvSbO1nVjc/UydOnT0+m9wlZ76RpeVS3H3zw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CZAACZCANgIUCLWhpWMSIAESIAESIAESIAES8Exg5cqVcuutt1p+KlWqZAl02bJlk6xZs8pVV10lZ86csc4XROpPXHv69GnPdabk4N5775WZM2dq8U2nJEACJEACJJDIBCgQGtb6FAgNaxCGQwIkQAIkoI0ABUJtaOmYBEiABEiABEiABEiABDwTWL58udSoUcOzH68O1q5dKxUqVPDqhuVJgARIgARIgASSEaBAaFiXoEBoWIMwHBIgARIgAW0EKBBqQ0vHJEACJEACJEACJEACJOCZgAkC4auvvio9evTwfC90QAIkQAIkQAIkcDkBCoSG9QoKhIY1CMMhARIgARLQRoACoTa0dEwCJEACJEACJEACJEACngkELRDWrFlTFi5cKGnTpvV8L3RAAiRAAiRAAiRAgdD4PkCB0PgmYoAkQAIkQAKKCFAgVASSbkiABEiABEiABEiABEhAA4EgBUKccbh582YpWLCghjujSxIgARIgARIgARDgDkLD+gEFQsMahOGQAAmQAAloI0CBUBtaOiYBEiABEiABEiABEiABzwSCFAhnzJghDz74oOd7oAMSIAESIAESIIHIBCgQGtY7KBAa1iAMhwRIgARIQBsBCoTa0NIxCZAACZAACZAACZAACXgmEJRA2L17dxk4cKDn+OmABEiABEiABEggdQIUCA3rIRQIDWsQhkMCJEACJKCNAAVCbWjpmARIgARIgARIgARIgAQ8EwhCIIQwCIGQRgIkQAIkQAIkoJ8ABUL9jB3VQIHQES5eTAIkQAIkEMMEKBDGcOMxdBIgARIgARIgARIggbgn4LdA+N5770mbNm3initvkARIgARIgARMIUCB0JSW+F8cFAgNaxCGQwIkQAIkoI0ABUJtaOmYBEiABEiABEiABEiABDwT8FMg/Pe//y3333+/55jpgARIgARIgARIwD4BCoT2WflyJQVCXzCzEhIgARIgAQMIUCA0oBEYAgmQAAmQAAmQAAmQAAlEIOCHQFi2bFl55513pEqVKmwHEiABEiABEiABnwlQIPQZeLTqKBBGI8R/JwESIAESiBcCFAjjpSV5HyRAAiRAAiRAAiRAAvFIQKdAeNVVV8mIESPkn//8p6RNmzYe8fGeSIAESIAESMB4AhQIDWsiCoSGNQjDIQESIAES0EaAAqE2tHRMAiRAAiRAAiRAAiRAAp4J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cme1aygsSAIGEDh16pTgtxtiPn5n8JuN/8bLB74BiBlCCgSwiATfO/jWwTci+iD6Hr4b2ffYZVQRQL86efKk1aewqxriMhc4JKVLRqp6G/34TQBji9AClG3btlnj5yJFiljZgooVK2aJ/zQSIAESIAESIAF/CMTLGO4fIvIff5DprYUCoV6+9E4CJEACphI4duyYNTC2sxM1tXvAitvBgwdbabZ0/sivW7dOHn/8cWs3rVdr1KiRfPzxx17dsDwJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkIBNAjrnDm2GoOQyCoRKMNIJCZAACZBAUARUnFP0z3/+U959913fVthjRT/q9Ho+C9LOffXVV0GhZ70kQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkkHAEKBAa1uTcQWhYgzAcEiABEvCBANLs4HxAL7sH27VrJ6NHj/Y9JbCKnY9Igbp27VofSLMKEiABEiABEiABEiABEiABEiABEiABEiABEiABEKBAaFg/oEBoWIMwHBIgARLwgcD8+fOlXr16rmu69tprrTMBcfZYEPbss8/KyJEjXVddu3ZtWbRokevyLEgCJEACJEACJEACJEACJEACJEACJEACJEACJOCMAAVCZ7y0X02BUDtiVkACJEACxhHo0aOHDBo0yHVcEydOlBYtWrgu77Ugdi4+9dRTrt00adJEPvroI9flWZAESIAESIAESIAESIAESIAESIAESIAESIAESMAZAQqEznhpv5oCoXbErIAESIAEjCNQt25dWbBggeu49u3bJ//P3n2AT1Hd+x//BlFpgqAgIIKCdIKiQdEAgooNa0QRe7miEnsJUVTsLRpL1KBGYwM7WFGjAorYBSsi2BUVUOlig/yfz9y7/H9lZnZmd3b37Oz7PM/vwXuZOXPm9Z2dH5nPnjOtW7fOef98d7zwwgvt3HPPzbmbESNGeMuj0hBAAAEEEEAAAQQQQAABBBBAAAEEEECgOAIEhMVxjnwUAsLIVGyIAAIIpEage/fuNnPmzJzPp9S/O3bffXd74oknch7/pZdeappFSUMAAQQQQAABBBBAAAEEEEAAAQQQQACB4ggQEBbHOfJRSv2QN/JA2RABBBBAIDGBxo0b29KlS3Pub+XKlVanTp2c989nx3nz5lnLli3z6cKef/5569+/f159sDMCCCCAAAIIIIAAAggg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BBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAWHM5hgAACAASURBVAQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGh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2AFhxuu2226zI444ohR8HLMMBAgI8yuSfj+tvfba1TqZNm2abbvttvl1zN4IIIAAAggggAACCCCAAAIIILBagIDQsYuBgNCtgvz73/+2I488MuugWrRo4b2jasCAAab/btasmfet97lz59qXX35pX3zxhSlE+fjjj2369OmB/WkJ07///e9Zj8cGCMQVuPjii72lHau2n3/+2dZaa624XdXanoAwb8KidvDrr7/a8ccfbzfffHPk4+6///7WoUMHa9u2rW200Uam96bqPrd06VL77rvvvJ85c+Z4oZ8e4kdpulc+88wz1rNnzyibB24TFsToSxe9e/f23XfRokXeUqeLFy82/ff8+fNjj+Phhx82zYikIVBTgIAwv2ti6tSp1r9//2qdTJ482ft3Fg0BBBBAAAEEEEAAAQQQQAABBJIRICBMxjGxXggIE6PMuyM9RG/fvr199dVXgX3p76+//nrbZZddLOqH6aeffjI95NLSfvfff7/3gD3TXn/9dfvDH/6Q99jpAIGaAn379q0V3BAQVt51oi8u7LnnnvbEE09kPXmFgKeeeqodfvjh1rRp06zbZzZYsGCBPf300zZ69Gj75JNPsu6nL0306tUr63ZBG4QFMWeddZYpHI/StJxh5kscjz76qE2YMCHKbjZ79mzr2LFjpG3ZqHIECAjzq7XuHxdccEG1TggI8zNlbwQQQAABBBBAAAEEEEAAAQRqCkTNNFyX+52Z/df1QUYZHwFhFKXibHPnnXfaYYcdFngwvX/qxhtvzGsGlpbQmjJlihcWfv755/bUU08V5+Q4SkUJLFy40JvtVbMREFbUZeCd7K233mr/8z//E3ri+uKDllXWzLi6devmjKTr67rrrsu6jKmWG9USuLkeK6mAsOaJarlnOWRbYloharHeUZtzMdix6AIEhPmRb7nllrVWXCAgzM+UvRFAAAEEEEAAAQQQQAABBBCoKUBA6Ng1QUDoTkE6d+7szQzxa/vtt5+NGzcu5wfa7pwlI6kEAc2E+tOf/lTrVAkIK6H6//8ctYTmpptuWm3Wck0BhXVPPvmkt1RyUk1ffth+++1DZxNqaWUtsZxLK1RAmBmLvsAxZMiQwKFpGdOvv/7aGjVqlMvw2SelAgSEuRd23rx51rJly1odEBDmbsqeCCCAAAIIIIAAAggggAACCPgJEBA6dl0QELpRkB9/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99xzY401qY3nz59v+v3h13R/XLRokdWpUyepw4X2c+edd9phhx3mu42+4HH00UcnNo6w9/ptscUW9uabb4YeK2zmpWara3ZiUu2oo46y2267zbe7qAFhJd6vCh0QltP1mtS1SD8IIIAAAggggAACCCCAAAIIBAkQEDp2bRAQOlaQAg5nyZIl1qRJE98j6KGzHj4HtbCHhv369bMXXnihgCP/367DZkfccccdduihh+Y1hq+++spbCsyvERBGpw0LCL///ntr1qxZ9M4Ctvz0009NM6r8WrYl/+IevH///jZ16tRauyk0v/LKK7N2t2rVKi/00fXl1xS8NG/ePGs/5bZBkFvmPPS+tNatWxf8tC699FI766yzAo+TywzoQgWEGuTFF18cGp7OmTPHNt1004K7+R0gbLnMSZMmhS6RmuSAP/roI+vYsaNvl0n/PgoLd0455ZTAmbKZwYXNfO/UqZPp75Noerfn+uuvn/fSvpV4vwoLCB999FHbY4898ipROV2veZ0oOyOAAAIIIIAAAggggAACCCAQQYCAMAJSMTchICymdmmPlc/yYytXrvQe5ivM8GuPP/64DR48uKAnqPeE6YGsX5s4caLtuuuueR1fszn0DkK/RkAYnfaee+4xzUj1a1retlevXtE7C9iynAJCncKoUaPskksu8T2bUs4Ky7sQIR2MHz/e9t1338AttKyxtgl7r2i+43vxxRdNgVFQ22uvvezhhx+OfZhCBoSa8aiZzEGBsu5zut+Voml2mmap+bXevXublswsxixC/bulR48eppmqfu3pp582hZn5tp9//tkLY4NqESUU1e/Opk2bBgZ3SS0zGjbDXg5RZxBW4v0qbOau3h97/PHH53UpldP1mteJsjMCCCCAAAIIIIAAAggggAACEQQICCMgFXMTAsJiapfuWHrQ2bZt28CA7+WXX7Y+ffqEDjBsmVG98+ntt9+2unXrFuwk77vvPjvggAN8+7/uuuvshBNOyPnYYcvnqVMCwui0Ye8qmzBhgu29997ROwvYstwCwnfeecc222yzwPN+4403TO8HTVtTrfWexaCmpVf15YJ111038VP/z3/+Ywohw9rrr79uf/jDH2Ifu5ABoQaj0HKfffYJHNcDDzxgQ4YMiT3ufHdYsGBB6Lsa77//fttvv/3yPUyk/e+++2475JBDfLdVWPnqq69avv/gDJsNrd95eidklGOcfvrpdtVVV/mOdcCAATZ58uRI5xy0kWb96fe3ruegFicgrLT71YoVKwK/qBBllmiU4pXT9RrlfNgGAQQQQAABBBBAAAEEEEAAgVwFojxLybXvYu73OzP7bzEPWKhjERAWStadfvUw+6CDDjI9vPVrepj62muvZR1w2DKj2vnUU0/1llws1Ic8bDbQ4Ycf7s2QyKUpPN1tt91Ms0GCGgFhdNmwh8u6RoIelEc/glm5BYQ6N72TL2jGk5ZL1ecr6B1vcWxc2vbrr7+2Ll26BM6e0lj1HjfNfmrRokViQ88WsOlAf/vb30zBTS6t0AGhxhS2nKestGyh7kvFbrvssotphp5f07ief/55r+aFbtm+9KKlWsOWls02Pt3H+vbtm/eSnTqOgsTf//73gYdUeKTf0bm2u+66K+sS23ECwkq8XzVu3Ni31j179rQZM2bkPTO2nK7XXK9D9kMAAQQQQAABBBBAAAEEEEAgikChsoMox05yGwLCJDUrvK+FCxd6D1QVUukhoWYUJDUTb9GiRXbMMccEhoOi1wyfPffcM2sVFCZrGVE9zA9qI0aMMC3JlesyczrGTz/9ZPXr1691iE8++cQ6dOgQeOxp06bZtttum/U8qm6gd+LJ56GHHgrdj4AwOuu3335rrVq1CtxBddxkk02id+izZTkGhNkC9jZt2phmvXXt2jUvG+2se4qWodTsOC1XWcoWNnMmMy4FpJdffrk3uzSfe5+uPS2lrOWCw5reKaYQMdf7VDECQoXJCpWD2hlnnGFXXHFF0Uub7TrWvVJf5lCwkmvTMqtRlp699tpr7eSTTw48zGWXXWYjR46MPYx3333XNLt16dKlvvsqCP3ss898f08FHWybbbbxlmANanqPb9hyuEH7PfvsszZo0KCs5xg3IMxW57Tdr3SfnD17tq+jls0OWr0gK3yVDcrpeo1zXmyLAAIIIIAAAggggAACCCCAQBwBAsI4WkXYlhmERUDOcoiagYoesOpBuWaQbL/99t67/+I2PWC9+eab7dxzzw2dvaNl0vQwNOqD8igzgvTw/ZxzzjHNTIzaNFtDIZ3ChPXWW893RqOuVQWpQQ/x9NBW3/SP4vXrr7+alo/TDJOgh8BVx05AGLWS/7td2MNWhcyazRolAAg6ajkGhDqXsPdcZs5VM5+0XG7c2WGLFy/2wvt777139bKeCpAUJJW66b11en9dtqbQ4S9/+Ys3G6pJkybZNl/995qhpWWGb7nllqz76BhaDrlZs2ZZtw3aoBgBoY4dtjSl/l7nkU8QlyuA7u8XXXRR4O66di+99FKvjlGvY92HFWorjNGXVnQta7ZiWFMdFI5NmTIlcDMtEalrqmXLlllPV/09+OCDNnz48NDfC1HePVjzYNkCN20/ZswYO/rooyP9Pv7ll1+83/FRl9aOGxBW2v1Kjtdff73vNaJ7hkLvdu3aZb2G0nK95nWi7IwAAggggAACCCCAAAIIIIBAiAABoWOXBwFh6QuSbcaVHk4pbNt88829GSV60KmHrloSq169erZ8+XJvxtAPP/xgb731lmlGwTPPPBPpxLQcXP/+/SNtm9lID1CjvGdKMyEVDGh2kN5/qABPY5w7d6599dVX3o+Cnscee6xa6KcH3nrw7dc0O0izFMOaQj/NKmnevHm1zRSaavaaAtHzzjvPN2iUq19gSEAY6xLxlm/UQ/mgpmvizjvvNM2qqRpO636kpRM1G1RLTwaFH+UaECqA0CyhsJlEMtP1pver7bjjjrb11lt71/Kaa665mlPhgO4bCstnzZrlBSR+s2BdCQj1jrSTTjop8AG833Vy4IEH2sYbb+zdO/Sj+2CjRo1s3rx59uWXX3o/n3/+uenLBWEBUdW+5ar3veX7vsdiBYSaAa5zD/oSg2a5aeZZ1C94xPsUB2+t60+/k2Qf1uStumtmt85jo4028maIVv0d8MUXX3j3e71XsWp79NFHTV82ydb0e0RfdMn2RY8TTzzRjjzySG/2sn53Zpq+LKI+9HtTAb7+O6ydeeaZdskll2Qblu/f656oe2NY07sEFRLq3Gv+DtPnSFZ6z6t+F+r3WdSWS0BYSfcr3ZP1+yis3XHHHTZ06FBbe+21q22me7He47zWWmt5qyyEtXK6XqNeW2yHAAIIIIAAAggggAACCCCAQBwBAsI4WkXYloCwCMhZDpEtICzUCBUiKoDIpR1xxBF2++2357Jr1n3CAkLNktJD5mwPg3UQBZJ6cKyHee+//37WB796mK1gSqHm66+/Xm2cBIRZy1ZtA4U3CgSitEyAPH/+fC/0ydQ27EF8uQaE8tBDfT2I1vnGaZmZWFGu/Uy/rgSEmfFkm3kWxyPutgqcx48fn/csIB23WAGhjqX7rO63QS2X4Ceund/2uqf26NEjia58+4gaEGrnqMtsZg6kz5KCQn1hJVsgWHVwO++8s2lcCoJyafqSioLVoHeR1uxT41RIqFBV+2Ybq764oxn4molYs+V6nVTK/Ur/Ft50000jha6dOnXyvqygpppk7uVR3+dcLtdrLtc4+yCAAAIIIIAAAggggAACCCCQTYCAMJtQkf+egLDI4D6HK0VAmMsSaVWHrgfkWr5Uy8gl3cICQh1L72nTg9qk2xtvvOHNLNJME71HsWojIIyvrVma559/fvwd/2+PtAaEOj195ocNGxZ55luuiK4FhDqPKLOAcz3foP0U+usz7fdu01yOVcyAcOXKlV6gXPNLC5lx696kwFzBULGbZhDus88+kUKVuGOLExCqb80A07LccQL0OGM6/PDDvSU9q87kjbN/ZluFSVoWNdvsy7h9azapvvSjpXyPP/74WrvnGhBW0v0qbnBXEzlqQFhO12vc65DtEUAAAQQQQAABBBBAAAEEEMgmQECYTajIf09AWGRwn8MVMyDcdddd7corr/Rm1iXRnnjiCS/oSPKhbLaAUOPW+wOPPfbYJE7B60PvF9IDVjW/GTsEhPGpFWzstddepmskl5bmgFAeCpkUoIa9yy0Xt6r7uBgQanxaJlQBst9Mp3zPuer+WpZU73TUu/CSbMUMCDXubMsf6l6o4LUUTbO6tSRmzSVC8x1L3IBQx5szZ473/t6oM/SijlFLj5599tmW1D9gtSS4lhDVjPUkmpYl1X1W79UMCrnyCQgr6X6le+bIkSNzKkucgLCcrtecMNgJAQQQQAABBBBAAAEEEEAAgQCBpJ6vlBr4d2b231IPIonjExAmoZhfHz/99JNdddVV3jvZ9E6xQjQFgldffbU3wyLpptkreqCW1ANivXts7NixWYep9zANHz48r9krZ5xxhveuvPXXX3/18WbMmOG9/65qIyDMWg7fDZYsWWKnn3663XLLLbE7SHtAmAHRA309lI763tAokFoC76CDDvKCMb3Hz9WmWVR6Z2iuIXLQeelBvT7bmt2m5RmTbsUOCDV+zYLU7LCgpnegKSgqRdO/I/SlDYWx2ZbBjDI+3W81UzyX81Ft9CWPUaNGxV7Gt+bY9t9/f++ctPRk0k3jvPXWW73rNNcv2GgZ7WuuucZ7L17mPZR6L6ffZz7fgLBS7le6lq+99lo75ZRTYpc8bkCoA5TL9Robgx0QQAABBBBAAAEEEEAAAQQQCBAgIHTs0iAgdKsg7777rk2YMMGbMfLmm2/m9YBTM+J23313LxTcbLPNbI011ijoyS5YsMDuv/9+bxm2uMunadbgYYcdZkOGDIn87jqdjN7LdP3113uBYpxjKljUjBC9z7Bm+/nnn61evXrV/t+aiaT340VtJ510kl133XW1NtcMzokTJ0btJut2r732mm299da+22lmT+MmlSh7AAAgAElEQVTGjbP2UYwNJk+ebJqFM2XKlEiHU0Bw44032sEHH+y7/ddff20bbrih798lHZToM+QXYI0ePdqbBZdU04N9XccKDfTer7hNXwJQuK4ZVN27d4+7e0m317vgFPg/9thj9vDDD+ccmOgkdB8p1PtRM0iaHRsUPCpQUuiZdPvmm2+sdevWgd1qCUyFQKVsq1at8mbF3XHHHd51HLfpHBR27bDDDnkv5anQ7e6777ZHHnnEnn766chD0TtR9XtI4aCWnC5002xC3ev0uzPq7zDdH/UFCv2eadCgQbUhqgZ+v+vVv95RmFRL+/1K92C9M3XcuHGRyU444QTf3/tROiiX6zXKubANAggggAACCCCAAAIIIIAAAmECBISOXR8EhI4VpMZw9OB81qxZ3sxCPUjUjCwFP/rJzDrQu6eaN2/u/WiJsQ022MCbAaf/LlX76KOP7IsvvjAFOZpRMnfuXG95tu+//94aNWpkDRs29AIezXTq2rVrIjM09EDvhRdeMD1I13uetHSr2rrrrmtNmjSxVq1aeS6bb7656QErrfgCmSBI14fqozopaNFMGF23LVu29MItBcb5vuur+GeXzBH1gF9LJeqzo8+NfvQZ0rKcMtFnRz+6htu1a2cdOnTwPj8KsdPQNKNGX5TQ+et+oWtEXz7Qn8uXL/cMsj20f/DBB23fffdNA0fZnsOyZcvsgw8+WH0d6xpWDVU/zZrX7wHdm3X96veA7ss1w66kTl6/L6dOner9TtLnSPce/T7VFyh078ncfzQDrBCzBaOeh8aX+R2mcer6l4nuCfp9rs/4tttuaz169Cj4F36ijjnt9ytdq6qJ7kmZa0dfItLvq8x107FjRy9MTurfFeVyvUa9RtgOAQQQqAQBfXmMhgACCCCAQJoFCj3pJM12nFttAQJCx64KAkLHCsJwEEAAAQRCBTTTMmh2aWZHzdTVjF0aAggggAACCCCAAAKFEtB7oEeMGFGo7ukXAQQQQACBkguce+65dv7555d8HAwgPQIEhI7VkoDQsYIwHAQQQACBrAJaslbLvIa1SZMm2cCBA7P2xQYIIIAAAggggAACCOQiQECYixr7IIAAAgiUkwABYTlVqzzGSkDoWJ0ICB0rCMNBAAEEEMgqoN9det/gXXfdFbpt0u+kzDowNkAAAQQQQAABBBCoGAECwoopNSeKAAIIVKwAAWHFlr5gJ05AWDDa3DomIMzNjb0QQAABBEoroPeD7bTTTt775YKa3gv2/PPPW69evUo7WI6OAAIIIIAAAgggkDoBAsLyK2nmoaT+jPuAMvP8rOafhVSoOs58xpvrs798jl9IF7++q9Yl1/PNd8yl9CrF+edzvhpvMT9L+da2kvcnIKzk6hfm3OP+PivMKPLv9Xdm9t/8uyl9D6X6pVn6M2cECCCAAALlLvD999/bVlttZZ988kngqSgkfPXVV61r167lfrqMHwEEEEAAAQQQQMAhgZoBYZ06dWzVqlUOjZChVBVo2LChDRgwwLbbbjvvz969e8cCWrp0qU2ePNn7AuKUKVNs+vTpsfaPu3GzZs2qjbdnz56xuvjuu++qjff999+Ptf8GG2xQ7fiu/++pL774wqtLpj5h/xsxFkTEjTt06FDNa6ONNoq4ZzKbzZo1q9r5f/vtt8l0HNBLjx49vFd6ZD5P6623Xqzjvf3229XGu3Dhwlj7s3HxBAgIi2ddKUciIHSs0gSEjhWE4SCAAAIIxBKYM2eObbnllqb/wR7UWrRoYS+99JLpf7TREEAAAQQQQAABBBBIQoCAMAnF4vVBQEhAWMirjYCQgLCQ11cp+yYgLKV+Oo9NQOhYXQkIHSsIw0EAAQQQiC3w4osvWr9+/UL3a9OmjRcSFvubnLFPhh0QQAABBBBAAAEEykKAgLAsyrR6kASEBISFvGIJCAkIC3l9lbJvAsJS6qfz2ASEjtWVgNCxgjAcBBBAAIGcBMaOHWsHH3xw6L7t27e3adOmWcuWLXM6BjshgAACCCCAAAIIIJARICAsr2uBgJCAsJBXLAEhAWEhr69S9k1AWEr9dB6bgNCxuhIQOlYQhoMAAgggkLPABRdcYKNHjw7dv1u3bjZ16lTTOz1oCCCAAAIIIIAAAgjkKkBAmKtcafYjICQgLOSVR0BIQFjI66uUfRMQllI/nccmIHSsrgSEjhWE4SCAAAII5Cyg32mHHXaY3XXXXaF99O7d25599llr3LhxzsdiRwQQQAABBBBAAIHKFiAgLK/6ExASEBbyiiUgJCAs5PVVyr4JCEupn85jExA6VlcCQscKwnAQQAABBPIS+Pnnn23QoEHeLMGwNnjwYHv88cfzOhY7I4AAAggggAACCFSuAAFhedWegJCAsJBXLAEhAWEhr69S9k1AWEr9dB6bgNCxuhIQOlYQhoMAAgggkLfA4sWLbfbs2aH9aPZg586d8z4WHSCAAAIIIIAAAghUpgABYXnVnYCQgLCQVywBIQFhIa+vUvZNQFhK/XQem4DQsboSEDpWEIaDAAIIIIAAAggggAACCCCAAALOCxAQOl+iagMkICQgLOQVS0BIQFjI66uUfRMQllI/nccmIHSsrgSEjhWE4SCAAAIIIIAAAggggAACCCCAgPMCBITOl4iAcPJke/75523KlCn2/vsEhIW8YgkICQgLeX2Vsm8CwlLqp/PYBISO1ZWA0LGCMBwEEEAAAQQQQAABBBBAAAEEEHBegIDQ+RIREBIQFu0iJSAkICzaxVbkAxEQFhm8Ag5HQOhYkQkIHSsIw0EAgYoW0Lc6586dW8ugffv2tummm1a0DSdfOoGFCxfa66+/XmsAa621lg0YMKB0A+PICCQosGrVKps8ebKtXLmyVq/9+vWz+vXrJ3g0ukIAAQQQSIMAAWF5VZElRplBWMgrloCQgLCQ11cp+yYgLKV+Oo9NQOhYXQkIHSsIw0EAgYoWGDhwoLf8S8122GGH2e23317RNpx86QTuvvtuO+SQQ3wHoPBw3XXXLd3gODICCQl8+umnpi9j+LXnnnvOtt9++4SORDcIIIAAAmkRSCIgrFevnvclFP3ov9Py0KwQNdbzqxUrVng/P/30k/cTp5U6IKxTp061Wq+99tqhw2/SpIltvfXWq3+6dOkS53RN/05/5ZVX7NVXX/V+5syZE2v/pk2bWs+ePVf/tG3bNtb+devW9a7pzPW95pprxtr/t99+W11r1fzXX38N3f/rr79efa463y+//DLW8TTezFj1p/7vOK1Vq1a22WabrfZq3rx5nN1NPlXvBXGP/8knn1Q7/wULFsQ6ftyNO3XqZH369Fl9fcb934Rvv/229+wjswSurtc4TZ+fzH1Tf+rzRQsW0P0yc//Un3EaAWEcLbaNIpCWf+v8zsz+G+WEXd+GgND1CjE+BBCoJIEkA8LvvvvOJk6caMuXL/cI9XC7c+fOlcTJuSYkQECYECTdOC1AQOh0eRgcAggg4KRAEgFhy5YtTT8KF/QnD7mDS61Z/t98883qn7gBSKkDQq2+oTpnar3eeuEzrjRe/e+3zE+bNm1ifQ6WLVtms2bNsg8//ND7UYAWpymwaty4sSmo1J9xV1No0KBBtfNVP3Ga/nfst99+u7reS5YsCd39hx9+WH2uOt+410ejRo1Wj1c10v8dpykMlVPGTPWO0+STuTb0p/ziNFlVrXc2rzh9+2274YYbVrs+43rlGxDq81P18xTXO9/zL7f9q36W9N9x8gACwnKrtvvjJSB0rEZxbgiODZ3hIIAAAqkTSCog1DcmBw0aZEuXLq1mdNNNN9nw4cNT58YJFVaAgLCwvvTuhgABoRt1YBQIIIBAOQkkERAq/NHMsK5du3p/EhAGXwGaQfbBBx94IYj+/Pjjj2NdLqUOCBX4ZOqsP7PNyNMMqQ022GD1j2b0xWk///yzF7DNmzfP+1m0aFGc3e2XX37xZiEqeNOfmS+eRu1EM8qqnq8C8DhNx83UWn/qHMKaxqdtMuesgDROW3/99a1bt26rP4/ZAtyafWtWVsZKXnFnuKrW8sqYxa334sWLV9daDnFnicWx0raqr2qauUazzYit2X++AWG7du2qecUNsOOeb7lvP3v2bJs5c+bqz1ScPICAsNyr7974CQgdq0mcG4JjQ2c4CCCAQOoEkgoItbTJO++84+ujpVbifvs0ddCcUCwBAsJYXGxcpgIEhGVaOIaNAAIIlFAgiYBwq622sm222cb70XJ9a6yxRgnPyO1DK/B66aWXvGUzX375ZZsxY0asAZc6INTMsqq17t69e+j4FRYrdMn8xF2iU+9XllnmJ9sSnTUHo7Br+vTpnrP+/Oyzz2J5t2jRwrbddlvvutZ5By3lHtSpZouqzpl6Zzu+ZphWPV8tURqn6X8ja7yZGmmGXJw2d+5czynzM3/+/Di72yabbLL62BqDgrc4Tedb9fz93qsdp79s2+p6rHp9xv1yQ74BYY8ePap5xZ3BmO380vb3r732WrX7p+4PURsBYVQptosqQEAYVapI2xEQFgmawyCAAAIRBJIICPVtxWbNmgUe7ZFHHrE999wzwmjYBIH/FSAg5EqoBAECwkqoMueIAAIIJCuQREDYr18/GzBggG233XbenwSEwTXSjKzJkyevfmeZVk2J00odEGrGVdVab7755nGGX/RtNQut6jviNGszTtPyj/rft5lrW++si9O++uqrasf/6KOP4uwee9uNN9642ng1Qy1O04zWql5x34HYsWPHasdv3bp1nMOX3bb5BoS9evWq5qUAnhYsMHXq1Gr3TwJCrpZSChAQllLf59gEhI4VhOEggEBFCyQREOp9C2EvsL/hhhtsxIgRFe3MyccTICCM58XW5SlAQFiedWPUCCCAQCkFCAiLq09AWFxvAkICwkJecQSEhdSt3TcBYXG9OVq4AAGhY1cIAaFjBWE4CFSYgO5BVd8NoG/Mxn0Zd5rIkggItRRM2PsSxo0bZ8OGDUsTG+diZlpSpup7JvSS9rjvgQiCJCCMd4np4VXVJZz0Poy6devG64StfQUK+TuDgJCLDgEEEEAgrgABYVyx/LYnIMzPL+7eBIQEhHGvmTjbExDG0cp/WwLC/A3pITkBAsLkLBPpiYAwEUY6QQCBHAW0LIzeSVC16WXocd+vkOPhndstiYBQJ7XRRhuZlmTxa3rBe+fOnZ07dwaUn8CVV15pZ5xxxupOdt55Z3vqqafy6/T/9iYgjMe422672ZNPPrl6p8suu8xGjhwZrxO29hUo5O8MAkIuOgQQQACBuAIEhHHF8tuegDA/v7h7ExASEMa9ZuJsT0AYRyv/bQkI8zekh+QECAiTs0ykJwLCRBjpBAEEchS4+OKL7eyzz662t16srdlPldiSCggff/xx22OPPWoRKkC64oorKpE29ee8ww472KRJk/4fe2cCftX0/f/9JRpEs0q+KZVKhaiIhJApmTMk49cUMk8ZM0Vm0mOOQogyZAiJlCHJkEjFz1SGSiJFqu//eZ3/73x+93M7e5+97xnuube1nuc8p093n73Xfq999jlnv/daq6Kf5LOZNGlSLP0WgtAexmXLliny2+TKoEGDFIndRaIjkOQzQwjC6PaRGgQBQUAQWNsQEIIwXYsLQZgu3kIQCkGY5IgTgjBJdNesWwjCdPGW1swICEGYsREiBGHGDCLqCAJrGQLdunVTU6ZMqdRrIQjfXGMUHHvsserhhx92Gh2ffvqpeuyxx9ScOXMUCeLxatpvv/2c6pDCpYHAH3/8ofKTsgtBWBzbvf7662rPPfcUgjAh+JN8ZghBmJDRpFpBQBAQBMoYASEI0zWuEITp4i0EoRCESY44IQiTRFcIwnTRldZcERCC0BWxhMsLQZgwwFK9ICAIaBFYvHixqlu37hq/C0EYD0EoQ2/tQeDFF19UvXr1qtRhIQiLY/+LL75Y3XjjjUIQJgB/0s8MIQgTMJpUKQgIAoJAmSMgBGG6BhaCMF28hSAUgjDJEScEYZLoCkGYLrrSmisCQhC6IpZweSEIEwZYqhcEBAEtAmPHjlUHH3ywEIQ5CMQVYlSG3dqFwDnnnKNuv/12IQgzYPZ27dqpzz//XAjCBGyR9DNDCMIEjCZVCgKCgCBQ5ggIQZiugYUgTBdvIQiFIExyxAlBmCS6QhCmi6605oqAEISuiCVcXgjChAGW6gUBQUCLwGmnnabuueceIQiFIJS7JCICLVq0UF9//bUQhBFxjHr5Dz/8oP7973+vUY3kIIyK7P+/PulnhhCE8dhJahEEBAFBYG1CQAjCdK0tBGG6eAtBKARhkiNOCMIk0V2zbslBmC7e0poZASEIMzZChCDMmEFEHUFgLUKgYcOG6pdffhGCUAjCtWjUx9/Vr776SrVs2XKNiiXEaPxYh9U4YsQIRb7QfBGCMAw5u9+TfmYIQWhnByklCAgCgoAg8H8ICEGY7mgQgjBdvIUgFIIwyREnBGGS6ApBmC660porAkIQuiKWcHkhCBMGWKoXBASBQAS++OILteWWWwb+JjkIJQeh3Db2CNx///3q5JNPFoLQHrLESvbt21c9/vjjQhAmgHAazwwhCBMwnFQpCAgCgkCZIyAEYboGFoIwXbyFIBSCMMkRJwRhkugKQZguutKaKwJCELoilnB5IQgTBtix+j///FP9+uuvla5ab731VKNGjbQ18ZI8YcIE9cYbb6jvv/9ezZ8/X9WsWVMtW7ZMbbTRRmqTTTZRbdq0UaeccoraYIMNHDX6v+KLFi1SH374ofruu+8Ui2jffPONWrBggVq1apWqX7++at68uWratKl3dO/e3Ws7LqFt+pMr1F+rVq3AJhjXs2bNUrjQozN6Lly40MNl+fLlHiZ4IrRu3VrtvffearPN3F784uoXtvroo4/UvHnzFKHpwJSDcdCkSRPVrFkzD0/0I4TgtttuG1fTFfWsXLlS/fjjj2vUS/vrrLOOFt8PPvhAvfTSSwrvJXSvXr26+v333z27g+0WW2yhDjvssEDPpvfff19dc8016sUXXwysf86cOapq1apWfTXpaVVBjIW+/fZb9corr6jZs2ern376ybsXuZ8Zp9wj4NK5c2e14447emMv6IEYVw7CoLmErm644Yaqdu3a1r0uxviwVQ4ieerUqQrc/TmJMJvMc1WqVPHmJMI9cg9tv/32gaEfbdsqtBw6Tp482dPRv8+Zp/nYRk/ubcYwR+PGjdWmm26qOnbsaDX+sc24cePURRdd5I25fIGAZzzaCHjRvk4effRR1a9fv8CfFy9eHDimmBeC3jFq1Kih6tWrZ6OWc5nffvtN/fHHH4HXMe+vu+66znXaXEC7o0aNUv379w8sTmjMSy65xKYq7zlVp04dq7KmQuRB/PLLL735mTHHGOT5zTObZwsH448x16FDB7X55ptHbjOpCtJ6ZhRKEDLXcy3Pw7lz53q4c18wznl/a9CggTf/77DDDooclWlLKcyVaWMi7QkCgoAgEBcCQhDGhaRdPcUmCPneffPNN9Vbb73lnadPn26n+P+W4jts1113Vbvssot33mabbZyuT7uwEIRu60S8C+aOD97BXaRVq1aK9QB/fPD9Us4iBGG61pUQo+niLa2ZERCCMGMjRAjCbBkEEu++++6rpBREC4tN+cIi3y233KKuvfZa7YJo7jWEcmSRylVoe+jQod7hIuecc45HSkKERBUW+VnkzJUBAwaoO+64Y42qIUrPPPNMxeKorWy11VbqpJNO8rxw1l9/fdvLCiqH3SB0sfMzzzzjVAcL/vT7yCOPjI2AZVH7qKOOWkMPFjyDCANIvVNPPXUNewR1ZOzYserAAw/0foKwGj16tLrrrrucP6RMII0fP1717NnTCcc4C69YscKzJV5cn376qXXVEIW33nqr6tatW6VrevXqFUicErbw4Ycftq4/aC7hYj5EJ06caF1PWuPDWiGlFBsGwPu2224LDFGrqwvCGgKHD64kX0Z4rkJcPvbYY57NdISVTk9IXDzR0JfNFpB3ucK9OXz4cHXnnXc69T8MY/SEnAoSV4IQHSE9g4RnGhs4krABGz6YE4IEonannXYKg8Hpd+75e++9Vw0bNszpOlNhSKR33323oPqYZ3mu8LxmE4eL7LXXXur0009X++yzzxpjzqWeuMoW45nhShDyLL/yyivV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QhBmzJpCEGbMIKKOICAICAKCgCAgCAgCKSFgIgjffPNNtcsuu6SkiV0zJn3HjRun9ttvP7uKpJQgIAgIAoKAIBADAkIQxgBiilUIQSgEoRCEQhCmOOWUTVNCEJaNKTPTESEIM2OK/6+IEITZMsiff/6pfv3110pKrb/++qphw4ZaRefPn6/efvtt9d577yn+vXDhQlW1alX1+++/q0aNGqnGjRurpk2bqj322ENts802Ku2bkDH28ccfq7lz56pvv/1Wsbj31VdfqXXWWUetXr1aNW/e3NPv3//+t2rXrp3q2LFjrEYBk1WrVlWqs379+qp69eradtDvueeeUyRt/uGHHzxdwbV27dqqTp06qk2bNmr33XdX3bt3d9IVDL7++mvPTt9//713fPfdd+rHH39U6AQOm2yyiWrSpIl3xnabb765atCggVM7roUZd4wf9KG/nLEVejH2mjVrpjbbbDNPP46uXbsqxmXcEmQrMKhSpYq2KTDlwGazZ89WX375pWevpUuXqrp166p69ep59tphhx28sVWzZs241Y6lviyN09wO/f3332rq1KkV9+4333zjjWE+rrEL9y/3LuNi++239/6dtPz888+enefNm1dxHzFe+Zv7Gh04/HuIM38zjguVIPtwX1arVi2wyhUrVqjp06erSZMmqS+++EItWrRILViwwBuPK1eu9O5t7q3tttvOm5uZV9IW5sUPPvhAYdPc+Yh/gyNzD5j5eHbp0sW7p+KWoOdejRo1PKx0wvMNXBmLc+bM8Y7Fixer3377zbvHwROM0blTp06qRYsWiT/7ijG/B41LMNt0002t+2si3N59911v7swXnt2TJ0/2bIAO/nNj2bJlauONN/aeYZw7d+7sEYym563reEqbIMziHOiKmZQXBAQBQUAQSA4BIQiTwzaJmoUgFILQNK74Lpo4caJ66623FBvl+MZ0Eb45dt11V+/9l7PrtzHrGbTrt897touw7uG3v9tuuxnXEamX9a7c9n755ReX5lT79u0V7fj9NX2/BVX8ySefVGqf7zmRbCIgBGE27VLKWqXNTSSF1b/g1pKqPM16hSBME+3wtk455RR13333VSq4xRZbeIvh+cJi5LnnnqteeOGF8Ir/twQLdscdd5y64IILPEIqSWFRbfTo0eqmm25Sn376qXVTLCiec8456qCDDtIuvttWBvkG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BBBAAAEEEEAAAQQQQICAkD6AAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQBMJEBA2UWNzqAgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggQENIHEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEGgiAQLCJmpsDhUBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABAkL6AAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAJNJEBA2ESNzaEigAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggQEBIH0AAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECgiQQICJuosTlUBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBAgI6QMIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIINJEAAWETNTaHigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABIX0AAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgSYSICBsosbmUBFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBAgIKQPIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIINBEAgSETdTYHCoCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACBIT0AQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSaSICAsIkam0NFAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAgICQPoAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAEwkQEDZRY3OoCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCBAQ0gcQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQaCIBAsImamwOFQEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAECQvoAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAk0kQEDYRI3NoSKAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCBAQEgfQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQKCJBAgIm6ixOVQEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEECAjpAwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgg0kQABYRM1NoeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAEhfQABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBJhIgIGyixuZQEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEECAgpA8ggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg0EQCBIRN1NgcKgIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIEhPQBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBJpIgICwiRqbQ0UAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECAgJA+gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEATCRAQNlFjc6gIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIEBDSBxBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBoIgECwiZqbA4VAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQJC+gACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACTSRAQNhEjc2hIoAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAL/tz07JgAAAEAQ1r81QVgEp58ECDgIbYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDASMBBOCpbVAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIOQhsgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMBJwEI7KFpUAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAg9AGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIwEHISjskUlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg4CC0AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIjAQfhqGxRCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECAS0VvX1w8c1BwAAAABJRU5ErkJggg==',\n },\n];\nexport const defaultTemplates = [\n {\n image: ImageTemplate1,\n title: 'temp-name',\n elements: [\n {\n type: 'pageSize',\n id: 'element1744780067175',\n size: 'Ledger',\n },\n {\n id: 'element1744780116472',\n x: 134.58287570698877,\n y: 95.49999999999956,\n opacity: 1,\n type: 'text',\n draggable: true,\n text: 'Default Template 1',\n fontSize: 16,\n fontFamily: 'Open Sans',\n color: '#eee8e8',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 700,\n textAlign: 'left',\n fontVariant: 700,\n align: 'left',\n fill: '#eee8e8',\n visible: true,\n width: 172.92,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n skewX: 0,\n skewY: 0,\n offsetX: 0,\n offsetY: 0,\n },\n {\n type: 'backgroundColor',\n id: 'element1744780122624',\n color: '#7e1515',\n },\n ],\n },\n {\n image: ImageTemplate2,\n title: 'temp-name',\n elements: [\n {\n type: 'pageSize',\n id: 'element1744780067175',\n size: 'A4',\n },\n {\n id: 'element1744780116472',\n x: 134.58287570698877,\n y: 95.49999999999956,\n opacity: 1,\n type: 'text',\n draggable: true,\n text: 'Default Template 2',\n fontSize: 16,\n fontFamily: 'Open Sans',\n color: '#eee8e8',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 700,\n textAlign: 'left',\n fontVariant: 700,\n align: 'left',\n fill: '#eee8e8',\n visible: true,\n width: 172.92,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n skewX: 0,\n skewY: 0,\n offsetX: 0,\n offsetY: 0,\n },\n {\n type: 'backgroundColor',\n id: 'element1744780122624',\n color: '#7e1515',\n },\n ],\n },\n];\n\nexport const customTemplates = [\n {\n image: ImageCustomTemplate1,\n title: 'Custom temp-1',\n elements: [\n {\n type: 'pageSize',\n id: 'element1744780067175',\n size: 'A4',\n },\n {\n id: 'element1744780116472',\n x: 134.58287570698877,\n y: 95.49999999999956,\n opacity: 1,\n type: 'text',\n draggable: true,\n text: 'Custom Template 1',\n fontSize: 16,\n fontFamily: 'Open Sans',\n color: '#eee8e8',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 700,\n textAlign: 'left',\n fontVariant: 700,\n align: 'left',\n fill: '#eee8e8',\n visible: true,\n width: 172.92,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n skewX: 0,\n skewY: 0,\n offsetX: 0,\n offsetY: 0,\n },\n {\n type: 'backgroundColor',\n id: 'element1744780122624',\n color: '#7e1515',\n },\n ],\n },\n {\n image: ImageCustomTemplate2,\n title: 'Custom2',\n elements: [\n {\n type: 'pageSize',\n id: 'element1744780067175',\n size: 'A4',\n },\n {\n id: 'element1744780116472',\n x: 134.58287570698877,\n y: 95.49999999999956,\n opacity: 1,\n type: 'text',\n draggable: true,\n text: 'Custom Template 2',\n fontSize: 16,\n fontFamily: 'Open Sans',\n color: '#eee8e8',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 700,\n textAlign: 'left',\n fontVariant: 700,\n align: 'left',\n fill: '#eee8e8',\n visible: true,\n width: 172.92,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n skewX: 0,\n skewY: 0,\n offsetX: 0,\n offsetY: 0,\n },\n {\n type: 'backgroundColor',\n id: 'element1744780122624',\n color: '#7e1515',\n },\n ],\n },\n];\n\nexport const normalFonts = [\n 'Open Sans',\n 'Roboto',\n 'Lato',\n 'Montserrat',\n 'Source Sans Pro',\n 'Inter',\n 'Raleway',\n 'Poppins',\n 'Merriweather',\n 'Noto Sans',\n 'Work Sans',\n 'Ubuntu',\n 'Nunito',\n 'Playfair Display',\n 'DM Sans',\n 'PT Sans',\n 'Quicksand',\n 'Baloo 2',\n 'Amatic SC',\n 'Plus Jakarta Sans',\n 'Rubik',\n 'Oswald',\n 'Kalam',\n 'Caveat',\n];\nexport const funkyFonts = [\n 'Open Sans Condensed',\n 'Lobster',\n 'Pacifico',\n 'Bangers',\n 'Shadows Into Light',\n 'Indie Flower',\n 'Fredericka the Great',\n 'Chewy',\n 'Coming Soon',\n 'Gloria Hallelujah',\n 'Luckiest Guy',\n 'Patrick Hand',\n 'Rock Salt',\n 'Architects Daughter',\n 'Boogaloo',\n 'Concert One',\n 'Courgette',\n 'Great Vibes',\n 'Handlee',\n 'Mansalva',\n 'Satisfy',\n 'Special Elite',\n 'Titan One',\n];\n\nexport const fontFamilies = [...normalFonts, ...funkyFonts];\n","/* eslint-disable max-len */\n\nimport enTranslations from '@/assets/locales/en.json'; // English\nimport ruTranslations from '@/assets/locales/ru.json'; // Russian\nimport plTranslations from '@/assets/locales/pl.json'; // Polish\nimport deTranslations from '@/assets/locales/de.json'; // German\nimport esTranslations from '@/assets/locales/es.json'; // Spanish\nimport frTranslations from '@/assets/locales/fr.json'; // French\nimport itTranslations from '@/assets/locales/it.json'; // Italian\nexport const SUPPPORTED_LOCALES = ['en', 'ru', 'pl', 'de', 'es', 'fr', 'it'];\nexport const TEXT_DICTIONARY = {\n en: enTranslations,\n ru: ruTranslations,\n pl: plTranslations,\n de: deTranslations,\n es: esTranslations,\n fr: frTranslations,\n it: itTranslations,\n};\n","import React, { useCallback, useMemo } from 'react';\nimport { propTypes } from './props';\nimport { SideBarWrapper } from './styled';\nimport { SideBarPill } from '../SideBarPill';\nimport { IconImage, IconQrCode, IconShape, IconTemplate, IconText, IconWhiteLabel } from '@/assets';\nimport { sideBarpillsList } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\nexport const SideBar = ({\n selectedSideBarItem,\n onClickPill = () => {},\n disableWhiteLabel,\n styleProps,\n languageLocale,\n}) => {\n const sideBarItems = [\n {\n id: sideBarpillsList.template,\n text: TEXT_DICTIONARY?.[languageLocale]?.TEMPLATE,\n icon: IconTemplate,\n },\n {\n id: sideBarpillsList.text,\n text: TEXT_DICTIONARY?.[languageLocale]?.TEXT,\n icon: IconText,\n },\n {\n id: sideBarpillsList.image,\n text: TEXT_DICTIONARY?.[languageLocale]?.IMAGE,\n icon: IconImage,\n },\n {\n id: sideBarpillsList.shape,\n text: TEXT_DICTIONARY?.[languageLocale]?.SHAPE,\n icon: IconShape,\n },\n {\n id: sideBarpillsList.qr,\n text: TEXT_DICTIONARY?.[languageLocale]?.QR,\n icon: IconQrCode,\n },\n {\n id: sideBarpillsList.whiteLabel,\n text: TEXT_DICTIONARY?.[languageLocale]?.WHITE_LABEL,\n icon: IconWhiteLabel,\n },\n ];\n const onClickSinglePill = useCallback(\n e => {\n onClickPill(e);\n },\n [onClickPill],\n );\n\n const renderPills = useMemo(\n () =>\n sideBarItems?.map(item => {\n if (item?.id === sideBarpillsList?.whiteLabel && disableWhiteLabel) {\n return null;\n }\n return (\n <SideBarPill\n key={item?.id}\n id={item?.id}\n isSelected={selectedSideBarItem === item?.id}\n onClick={() => onClickSinglePill(item?.id)}\n icon={item?.icon}\n text={item?.text}\n languageLocale={languageLocale}\n pillActiveColor={styleProps?.primaryColor}\n />\n );\n }),\n [selectedSideBarItem, onClickSinglePill, languageLocale],\n );\n\n return <SideBarWrapper>{renderPills}</SideBarWrapper>;\n};\n\nSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n selectedTab: PropTypes.string,\n languageLocale: PropTypes.string,\n title: PropTypes.string,\n zoomPercentage: PropTypes.number,\n onChangeZoomPercentage: PropTypes.func,\n editorHeight: PropTypes.number,\n editorWidth: PropTypes.number,\n onSetBackgroundColor: PropTypes.func,\n elements: PropTypes.array,\n history: PropTypes.array,\n redoStack: PropTypes.array,\n onSetBackgroundImage: PropTypes.func,\n onUndo: PropTypes.func,\n onRedo: PropTypes.func,\n shapeStrokeColor: PropTypes.string,\n shapeStrokeWidth: PropTypes.number,\n shapeFillColor: PropTypes.string,\n onChangeShapeStrokeColor: PropTypes.func,\n onChangeShapeStrokeWidth: PropTypes.func,\n onChangeShapeFill: PropTypes.func,\n shapeOpacity: PropTypes.number,\n onChangeShapeOpacity: PropTypes.func,\n selectedElement: PropTypes.object,\n onSelectElement: PropTypes.func,\n stageRef: PropTypes.object,\n saveHistory: PropTypes.func,\n onChangeBackgroundImageOpacity: PropTypes.func,\n backgroundImageOpacity: PropTypes.number,\n onDeleteSelectedElement: PropTypes.func,\n onCopySelectedElement: PropTypes.func,\n onToggleLockElement: PropTypes.func,\n bringSelectedElementToFront: PropTypes.func,\n sendSelectedElementToBack: PropTypes.func,\n imageStrokeWidth: PropTypes.number,\n imageStrokeColor: PropTypes.string,\n imageOpacity: PropTypes.number,\n onChangeImageStrokeWidth: PropTypes.func,\n onChangeImageStrokeColor: PropTypes.func,\n onChangeImageOpacity: PropTypes.func,\n qrStrokeWidth: PropTypes.number,\n qrStrokeColor: PropTypes.string,\n qrOpacity: PropTypes.number,\n onChangeQrStrokeWidth: PropTypes.func,\n onChangeQrStrokeColor: PropTypes.func,\n onChangeQrOpacity: PropTypes.func,\n defaultTextProps: PropTypes.object,\n onChangeTextProperty: PropTypes.func,\n onSetPageSize: PropTypes.func,\n selectedPageSize: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n loadingImages: PropTypes.bool,\n loadingFonts: PropTypes.bool,\n uploadImageCallBack: PropTypes.func,\n setLoadingUploadImage: PropTypes.func,\n cuttingGuideStroke: PropTypes.number,\n cuttingGuideStrokeColor: PropTypes.string,\n onChangeCuttingGuideProp: PropTypes.func,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\nimport EditorBg from '@/assets/images/small-dots.png';\n\nexport const Container = styled.div`\n flex: 1;\n display: flex;\n background-color: ${theme.color.white_F7F7F7};\n background-image: ${({ selectedTab }) => (selectedTab ? 'none' : `url(${EditorBg})`)};\n position: relative;\n flex-direction: column;\n overflow: hidden;\n`;\n\nexport const InnerContainer = styled.div`\n // display: flex;\n // flex-direction: column;\n // overflow: auto;\n // flex: 1;\n // align-items: center;\n // justify-content: center;\n // flex-grow: 1;\n // background: green;\n // // min-height: 100px;\n\n display: grid;\n place-items: center;\n overflow: auto;\n flex: 1;\n position: relative;\n`;\n\nexport const InnerContainerWrapper = styled.div`\n display: flex;\n flex-direction: column;\n overflow: auto;\n flex: 1;\n justify-content: center;\n min-height: ${({ editorHeight }) => editorHeight || 500}px;\n height: ${({ editorHeight }) => editorHeight || 500}px;\n min-width: ${({ editorWidth }) => editorWidth || 400}px;\n width: ${({ editorWidth }) => editorWidth || 400}px;\n`;\n\nexport const Title = styled.p`\n border: 1px solid ${theme.color.gray_E8E8E8};\n align-self: flex-start;\n font-size: 14px;\n font-family: ${theme.fonts.primary};\n font-weight: ${theme.fontWeights[300]};\n color: ${theme.color.gray_7A7979};\n padding: 0 6px;\n border-bottom-width: 0;\n`;\n\nexport const EditorBox = styled.div`\n height: ${({ editorHeight }) => editorHeight || 470}px;\n width: ${({ editorWidth }) => editorWidth || 350}px;\n min-height: ${({ editorHeight }) => editorHeight || 470}px;\n min-width: ${({ editorWidth }) => editorWidth || 350}px;\n background: ${theme.color.gray_25};\n box-shadow: 1.317px 1.317px 1.317px 0px rgba(0, 0, 0, 0.08);\n // transition: all 0.1s ease-in-out;\n overflow: hidden;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n selectedTab: PropTypes.string,\n onSetBackgroundColor: PropTypes.func,\n canvasBackgroundColor: PropTypes.string,\n canvasBackgroundImage: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n onSetBackgroundImage: PropTypes.func,\n shapeStrokeColor: PropTypes.string,\n shapeStrokeWidth: PropTypes.number,\n shapeFillColor: PropTypes.string,\n shapeOpacity: PropTypes.number,\n onChangeShapeStrokeColor: PropTypes.func,\n onChangeShapeStrokeWidth: PropTypes.func,\n onChangeShapeFill: PropTypes.func,\n onChangeShapeOpacity: PropTypes.func,\n selectedElement: PropTypes.object,\n onChangeBackgroundImageOpacity: PropTypes.func,\n backgroundImageOpacity: PropTypes.number,\n imageStrokeWidth: PropTypes.number,\n imageStrokeColor: PropTypes.string,\n imageOpacity: PropTypes.number,\n onChangeImageStrokeWidth: PropTypes.func,\n onChangeImageStrokeColor: PropTypes.func,\n onChangeImageOpacity: PropTypes.func,\n qrStrokeWidth: PropTypes.number,\n qrStrokeColor: PropTypes.string,\n qrOpacity: PropTypes.number,\n onChangeQrStrokeWidth: PropTypes.func,\n onChangeQrStrokeColor: PropTypes.func,\n onChangeQrOpacity: PropTypes.func,\n defaultTextProps: PropTypes.object,\n onChangeTextProperty: PropTypes.func,\n onSetPageSize: PropTypes.func,\n selectedPageSize: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n translation: PropTypes.object,\n uploadImageCallBack: PropTypes.func,\n setLoadingUploadImage: PropTypes.func,\n cuttingGuideStroke: PropTypes.number,\n cuttingGuideStrokeColor: PropTypes.string,\n onChangeCuttingGuideProp: PropTypes.func,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const ToolBarWrapper = styled.div`\n display: flex;\n padding: 10px 30px;\n align-items: center;\n border-bottom: 1px solid ${theme.color.gray_EAEAEA};\n background: ${theme.color.white};\n flex-direction: row;\n opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};\n // pointer-events: ${({ disabled }) => (disabled ? 'none' : 'all')};\n position: relative;\n // overflow: auto;\n`;\nexport const OverlayBlocker = styled.div`\n height: 100%;\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n background: rgba(255, 255, 255, 0.1);\n z-index: 100;\n cursor: not-allowed;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onSetBackgroundColor: PropTypes.func,\n canvasBackgroundColor: PropTypes.string,\n onSetBackgroundImage: PropTypes.func,\n backgroundImageOpacity: PropTypes.number,\n onChangeBackgroundImageOpacity: PropTypes.func,\n onSetPageSize: PropTypes.func,\n selectedPageSize: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n languageLocale: PropTypes.string,\n uploadImageCallBack: PropTypes.func,\n setLoadingUploadImage: PropTypes.func,\n cuttingGuideStroke: PropTypes.number,\n cuttingGuideStrokeColor: PropTypes.string,\n onChangeCuttingGuideProp: PropTypes.func,\n};\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n height: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingTop: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingBottom: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingLeft: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingRight: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n children: PropTypes.node,\n marginLeft: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n marginRight: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n justifyContent: PropTypes.string,\n gap: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n onClick: PropTypes.func,\n disabled: PropTypes.bool,\n tooltip: PropTypes.string,\n tooltipPosition: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n border: 1px solid ${theme.color.gray_200};\n border-radius: 8px;\n background-color: ${theme.color.white};\n height: ${({ height = 40 }) => `${height}px`};\n margin-left: ${({ marginLeft = 0 }) => `${marginLeft}px`};\n margin-right: ${({ marginRight = 12 }) => `${marginRight}px`};\n display: flex;\n align-items: center;\n justify-content: ${({ justifyContent = 'center' }) => justifyContent};\n padding-top: ${({ paddingTop = 0 }) => `${paddingTop}px`};\n padding-right: ${({ paddingRight = 10 }) => `${paddingRight}px`};\n padding-bottom: ${({ paddingBottom = 0 }) => `${paddingBottom}px`};\n padding-left: ${({ paddingLeft = 10 }) => `${paddingLeft}px`};\n cursor: ${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};\n gap: ${({ gap = 0 }) => `${gap}px`};\n opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};\n pointer-events: ${({ disabled }) => (disabled ? 'none' : 'all')};\n position: relative;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n children: PropTypes.node,\n text: PropTypes.string,\n position: PropTypes.oneOf(['top', 'bottom', 'left', 'right']),\n disabled: PropTypes.bool,\n};\n","import styled, { css } from 'styled-components';\nimport theme from '@/theme';\n\nexport const Wrapper = styled.div`\n position: relative;\n display: inline-block;\n cursor: ${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};\n`;\n\nexport const TooltipText = styled.div`\n visibility: hidden;\n background-color: rgba(0, 0, 0, 0.7);\n color: white;\n text-align: center;\n padding: 4px 10px;\n border-radius: 4px;\n position: absolute;\n z-index: 9999;\n white-space: nowrap;\n opacity: 0;\n transition: all 0.1s;\n font-size: 13px;\n font-family: ${theme.fonts.primary};\n font-weight: ${theme.fontWeights[400]};\n\n ${({ position }) =>\n position === 'top' &&\n css`\n bottom: 110%;\n left: 50%;\n transform: translateX(-50%);\n `}\n ${({ position }) =>\n position === 'right' &&\n css`\n top: 50%;\n left: 105%;\n transform: translateY(-50%);\n `}\n ${({ position }) =>\n position === 'bottom' &&\n css`\n top: 110%;\n left: 50%;\n transform: translateX(-50%);\n `}\n ${({ position }) =>\n position === 'left' &&\n css`\n top: 50%;\n right: 105%;\n transform: translateY(-50%);\n `}\n\n ${Wrapper}:hover & {\n visibility: visible;\n opacity: 1;\n }\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { TooltipText, Wrapper } from './styled';\n\nexport const Tooltip = ({ children, text, position = 'top', disabled = false }) => (\n <Wrapper disabled={disabled}>\n {children}\n {!disabled && <TooltipText position={position}>{text}</TooltipText>}\n </Wrapper>\n);\n\nTooltip.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { StyledContainer } from './styled';\nimport { Tooltip } from '../Tooltip';\n\nexport const ToolBarButtonWrapper = ({\n height,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n children,\n marginLeft,\n marginRight,\n justifyContent,\n gap,\n onClick,\n disabled = false,\n tooltip,\n tooltipPosition,\n}) => (\n <Tooltip text={tooltip} position={tooltipPosition} disabled={disabled}>\n <StyledContainer\n height={height}\n paddingTop={paddingTop}\n paddingBottom={paddingBottom}\n paddingLeft={paddingLeft}\n paddingRight={paddingRight}\n marginLeft={marginLeft}\n marginRight={marginRight}\n justifyContent={justifyContent}\n gap={gap}\n onClick={() => {\n if (disabled) {\n return;\n }\n onClick && onClick();\n }}\n disabled={disabled}\n >\n {children}\n </StyledContainer>\n </Tooltip>\n);\n\nToolBarButtonWrapper.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n left: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n right: PropTypes.bool,\n center: PropTypes.bool,\n gap: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingLeft: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingRight: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n list: PropTypes.array,\n onSelect: PropTypes.func,\n fontPicker: PropTypes.any,\n tooltip: PropTypes.string,\n};\n","import styled from 'styled-components';\n\nexport const DropDownItem = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const IconWrapper = styled.img`\n object-fit: contain;\n`;\n\nexport const DropDownList = styled.div`\n position: absolute;\n left: 0;\n top: 50;\n background-color: white;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n border-radius: 4px;\n margin-top: 5px;\n z-index: 10;\n width: 100%;\n max-height: 200px;\n overflow-y: auto;\n z-index: 9999;\n`;\n\n// Individual option in the dropdown\nexport const DropDownOption = styled.div`\n padding: 8px 16px;\n cursor: pointer;\n font-size: 14px;\n color: #333333;\n &:hover {\n background-color: #f0f0f0;\n }\n &:active {\n background-color: #e0e0e0;\n }\n`;\n","import React, { useEffect, useRef, useState } from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { IconDropDown } from '@/assets';\nimport { DropDownItem, DropDownList, DropDownOption, IconWrapper } from './styled';\nimport theme from '@/theme';\n\nexport const DropDown = ({\n left,\n right,\n center,\n gap,\n paddingLeft,\n paddingRight,\n list,\n onSelect,\n fontPicker,\n tooltip,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const dropdownRef = useRef(null);\n\n useEffect(() => {\n const handleClickOutside = event => {\n if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {\n setIsOpen(false);\n }\n };\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n\n const handleSelect = item => {\n onSelect(item);\n setIsOpen(false);\n };\n\n return (\n <div\n ref={dropdownRef}\n style={{\n position: 'relative',\n }}\n onClick={() => {\n setIsOpen(true);\n }}\n >\n <ToolBarButtonWrapper\n justifyContent={center ? 'space-between' : 'center'}\n gap={gap}\n paddingLeft={paddingLeft}\n paddingRight={paddingRight}\n tooltip={tooltip}\n tooltipPosition={'bottom'}\n >\n <DropDownItem>{left}</DropDownItem>\n <DropDownItem>{center}</DropDownItem>\n <DropDownItem>{right ? right : <IconWrapper src={IconDropDown} />}</DropDownItem>\n </ToolBarButtonWrapper>\n {isOpen && (\n <DropDownList>\n {list?.map((item, index) => (\n <DropDownOption\n key={index}\n onClick={e => {\n handleSelect(item);\n e?.stopPropagation();\n }}\n style={{\n padding: '8px 16px',\n cursor: 'pointer',\n borderBottom: index !== list.length - 1 ? '1px solid #eee' : 'none',\n fontFamily: fontPicker ? item : theme.fonts.primary,\n }}\n >\n {item}\n </DropDownOption>\n ))}\n </DropDownList>\n )}\n </div>\n );\n};\n\nDropDown.propTypes = propTypes;\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Label = styled.p`\n color: ${theme.color.gray_700};\n font-size: 14px;\n font-weight: ${theme.fontWeights[400]};\n font-family: ${theme.fonts.primary};\n`;\n\nexport const RowContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n gap: 2px;\n`;\n\nexport const RemoveButton = styled.div`\n height: 20px;\n width: 20px;\n border-radius: 20px;\n position: absolute;\n right: -7px;\n top: -7px;\n background: #ff4d4d;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n backgroundColor: PropTypes.string,\n onChange: PropTypes.func,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\n\nexport const Box = styled.input.attrs({ type: 'color' })`\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: 22px;\n height: 22px;\n border: none;\n border-radius: 4px;\n border: 1px solid ${theme.color.gray_CCC};\n padding: 0;\n cursor: pointer;\n &::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n\n &::-webkit-color-swatch {\n border: none;\n border-radius: 4px;\n }\n\n &::-moz-color-swatch {\n border: none;\n border-radius: 4px;\n }\n`;\n","import React, { useEffect, useState } from 'react';\nimport { propTypes } from './props';\nimport { Box } from './styled';\n\nexport const ColorBox = ({ backgroundColor, onChange }) => {\n const [color, setColor] = useState('');\n\n useEffect(() => {\n const handler = setTimeout(() => {\n if (!color) {\n return;\n }\n onChange(color);\n }, 200);\n\n return () => clearTimeout(handler);\n }, [color]);\n\n const onChangeColor = e => {\n setColor(e.target.value);\n };\n\n return <Box value={backgroundColor} onChange={onChangeColor} />;\n};\n\nColorBox.propTypes = propTypes;\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StyledImage = styled.img`\n width: ${({ width }) => width + 'px' || 'auto'};\n height: ${({ height }) => height + 'px' || 'auto'};\n max-width: ${({ maxWidth }) => maxWidth + 'px' || 'auto'};\n max-height: ${({ maxHeight }) => maxHeight + 'px' || 'auto'};\n object-fit: ${({ objectFit }) => objectFit || 'contain'};\n margin-top: ${({ marginTop = 0 }) => `${marginTop}px`};\n margin-right: ${({ marginRight = 0 }) => `${marginRight}px`};\n margin-bottom: ${({ marginBottom = 0 }) => `${marginBottom}px`};\n margin-left: ${({ marginLeft = 0 }) => `${marginLeft}px`};\n padding-top: ${({ paddingTop = 0 }) => `${paddingTop}px`};\n padding-right: ${({ paddingRight = 0 }) => `${paddingRight}px`};\n padding-bottom: ${({ paddingBottom = 0 }) => `${paddingBottom}px`};\n padding-left: ${({ paddingLeft = 0 }) => `${paddingLeft}px`};\n border-radius: ${({ borderRadius = 0 }) => `${borderRadius}px`};\n`;\nexport const StyledText = styled.p`\n font-family: ${({ fontFamily }) => fontFamily || theme.fonts.primary};\n font-size: ${({ fontSize = 14 }) => `${fontSize}px`};\n color: ${({ color }) => color || theme.color.gray_700};\n font-weight: ${({ fontWeight = 400 }) => fontWeight};\n line-height: ${({ lineHeight }) => lineHeight || 'normal'};\n text-align: ${({ textAlign }) => textAlign || 'left'};\n margin-top: ${({ marginTop = 0 }) => `${marginTop}px`};\n margin-right: ${({ marginRight = 0 }) => `${marginRight}px`};\n margin-bottom: ${({ marginBottom = 0 }) => `${marginBottom}px`};\n margin-left: ${({ marginLeft = 0 }) => `${marginLeft}px`};\n padding-top: ${({ paddingTop = 0 }) => `${paddingTop}px`};\n padding-right: ${({ paddingRight = 0 }) => `${paddingRight}px`};\n padding-bottom: ${({ paddingBottom = 0 }) => `${paddingBottom}px`};\n padding-left: ${({ paddingLeft = 0 }) => `${paddingLeft}px`};\n`;\n","import { elementTypes, fontFamilies } from '@/constants';\nimport { SUPPPORTED_LOCALES } from '@/constants/textConstants';\n\nexport const calculatePercentageValue = (value, percentage) => {\n return (value * percentage) / 100;\n};\nexport const getPercentage = (part, whole) => {\n if (whole === 0) return 0;\n return (part / whole) * 100;\n};\nexport const pickImage = () => {\n return new Promise((resolve, reject) => {\n const input = document.createElement('input');\n input.type = 'file';\n input.accept = 'image/*';\n input.style.display = 'none';\n\n input.addEventListener('change', event => {\n if (event.target.files.length > 0) {\n resolve(event.target.files[0]);\n } else {\n reject(new Error('No file selected'));\n }\n });\n\n input.click();\n });\n};\n\nexport const isElementShape = elem => {\n if (\n elem?.type === elementTypes?.circle ||\n elem?.type === elementTypes?.arrowRight ||\n elem?.type === elementTypes?.heart ||\n elem?.type === elementTypes?.horizontalLine ||\n elem?.type === elementTypes?.square ||\n elem?.type === elementTypes?.star ||\n elem?.type === elementTypes?.triangle ||\n elem?.type === elementTypes?.verticalLine\n ) {\n return true;\n } else {\n return false;\n }\n};\nexport const isElementOfSameType = (elem, type) => {\n if (elem && elem?.type === type) {\n return true;\n } else {\n return false;\n }\n};\n\nexport const debounce = (func, delay) => {\n let timeoutId;\n\n return function (...args) {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => {\n func.apply(this, args);\n }, delay);\n };\n};\n\nexport const sanitizeNumber = (value, defaultValue = 0, precision = 2) => {\n const num = parseFloat(value);\n if (isNaN(num)) return defaultValue;\n return parseFloat(num.toFixed(precision));\n};\n\nexport const loadAllGoogleFonts = () => {\n const weights = [400, 700];\n const italics = [0, 1];\n\n const fontParams = fontFamilies.map(font => {\n const fontName = font.replace(/ /g, '+');\n const variantStr = italics\n .map(ital => weights.map(w => `${ital},${w}`).join(';'))\n .join(';');\n return `family=${fontName}:ital,wght@${variantStr}`;\n });\n\n const fontURL = `https://fonts.googleapis.com/css2?${fontParams.join('&')}&display=swap`;\n\n return new Promise((resolve, reject) => {\n try {\n if (!document.querySelector(`link[href=\"${fontURL}\"]`)) {\n const link = document.createElement('link');\n link.href = fontURL;\n link.rel = 'stylesheet';\n document.head.appendChild(link);\n }\n\n const loadPromises = [];\n fontFamilies.forEach(font => {\n weights.forEach(weight => {\n italics.forEach(ital => {\n loadPromises.push(\n document.fonts.load(\n `${ital ? 'italic' : 'normal'} ${weight} 16px \"${font}\"`,\n ),\n );\n });\n });\n });\n\n Promise.all(loadPromises)\n .then(() => resolve(`✅ All ${fontFamilies?.length} fonts loaded`))\n .catch(err => reject(err));\n } catch (err) {\n reject(err);\n }\n });\n};\nexport const preloadRelevantImages = async (elements = []) => {\n const imagePromises = elements\n ?.map(elem => {\n let src = null;\n\n if (elem?.type === 'image' || elem?.type === 'backgroundImage') {\n src = elem?.src;\n } else if (elem?.type === 'qr') {\n src = elem?.qrLogo;\n }\n\n if (!src) return null;\n\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onload = () => resolve({ src, success: true });\n img.onerror = () => reject({ src, success: false });\n img.src = src;\n });\n })\n .filter(Boolean);\n\n return Promise?.allSettled(imagePromises).then(results => {\n const successes = results?.filter(r => r?.status === 'fulfilled').map(r => r?.value);\n\n const errors = results?.filter(r => r?.status === 'rejected').map(r => r?.reason);\n\n return { successes, errors };\n });\n};\nexport const removeImageProperty = (elements = []) => {\n return elements.map(elem => {\n if ('image' in elem) {\n // eslint-disable-next-line no-unused-vars\n const { image, ...rest } = elem;\n return rest;\n }\n return elem;\n });\n};\n\nexport const exportStageAsImage = async (stageRef, pageSizeKey, scale = 2) => {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n try {\n const stage = stageRef?.current;\n if (!stage) {\n return reject('Stage is not available');\n }\n\n // Create a canvas with the scale factor\n const canvas = await stage.toCanvas({ pixelRatio: scale });\n\n // Convert canvas to data URL\n const dataURL = await canvas.toDataURL('image/png');\n\n // Return the data URL as the resolved value\n resolve(dataURL);\n } catch (error) {\n reject(error);\n }\n });\n};\n\nexport const validateLocale = locale => {\n if (SUPPPORTED_LOCALES.includes(locale)) {\n return locale;\n } else {\n return 'en';\n }\n};\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n value: PropTypes.number,\n onChangeOpacity: PropTypes.func,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n pickerWidth: PropTypes.number,\n leftChild: PropTypes.node,\n rightChild: PropTypes.node,\n gap: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n showLeftChild: PropTypes.bool,\n varient: PropTypes.string,\n fontFamily: PropTypes.string,\n tooltip: PropTypes.string,\n tooltipPosition: PropTypes.string,\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport theme from '@/theme';\nimport { IconOpacity } from '@/assets';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const OpacityPicker = ({\n value = 1,\n onChangeOpacity,\n min = 0,\n max = 1,\n step = 0.1,\n pickerWidth = 100,\n leftChild,\n rightChild,\n gap = 12,\n showLeftChild = true,\n varient = 'opacity',\n fontFamily = theme.fonts.secondary,\n languageLocale = 'en',\n tooltip = TEXT_DICTIONARY?.[languageLocale]?.OPACITY,\n tooltipPosition = 'bottom',\n}) => {\n const pickerRef = useRef(null);\n\n const [opacityPickerVisible, setOpacityPickerVisible] = useState(false);\n useEffect(() => {\n const handleClickOutside = event => {\n if (pickerRef.current && !pickerRef.current.contains(event.target)) {\n setOpacityPickerVisible(false);\n }\n };\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n\n return (\n <div\n ref={pickerRef}\n style={{\n position: 'relative',\n }}\n onClick={() => {\n setOpacityPickerVisible(true);\n }}\n >\n <ToolBarButtonWrapper gap={gap} tooltip={tooltip} tooltipPosition={tooltipPosition}>\n {showLeftChild && (leftChild ? leftChild : <StyledImage src={IconOpacity} />)}\n <StyledText fontFamily={fontFamily}>\n {varient === 'opacity' ? `${value * 100}%` : Math.round(value)}\n </StyledText>\n {rightChild && rightChild}\n </ToolBarButtonWrapper>\n {opacityPickerVisible && (\n <div\n style={{\n position: 'absolute',\n bottom: -50,\n background: 'white',\n padding: 10,\n borderRadius: 5,\n border: 'solid 1px rgba(0,0,0,0.1)',\n zIndex: 9999,\n }}\n >\n <input\n type=\"range\"\n min={min}\n max={max}\n step={step}\n value={value}\n onChange={e => {\n onChangeOpacity(Number(e.target.value));\n }}\n style={{ width: pickerWidth }}\n />\n </div>\n )}\n </div>\n );\n};\n\nOpacityPicker.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n value: PropTypes.number,\n strokeColor: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n onChangeStrokeWidth: PropTypes.func,\n onChangeShapeStrokeColor: PropTypes.func,\n pickerWidth: PropTypes.number,\n languageLocale: PropTypes.string,\n tooltip: PropTypes.string,\n leftIcon: PropTypes.elementType,\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconGrid } from '@/assets';\nimport theme from '@/theme';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const StrokePicker = ({\n value,\n strokeColor,\n min = 0,\n max = 30,\n step = 1,\n onChangeStrokeWidth,\n onChangeShapeStrokeColor,\n pickerWidth = 100,\n languageLocale = 'en',\n tooltip = TEXT_DICTIONARY?.[languageLocale]?.STROKE_WIDTH_AND_COLOR,\n leftIcon = IconGrid,\n}) => {\n const pickerRef = useRef(null);\n const [strokePickerVisible, setStrokePickerVisible] = useState(false);\n const [color, setColor] = useState('');\n\n useEffect(() => {\n const handler = setTimeout(() => {\n if (!color) {\n return;\n }\n onChangeShapeStrokeColor(color);\n }, 200);\n\n return () => clearTimeout(handler);\n }, [color]);\n\n const onChangeColor = e => {\n setColor(e.target.value);\n };\n useEffect(() => {\n const handleClickOutside = event => {\n if (pickerRef.current && !pickerRef.current.contains(event.target)) {\n setStrokePickerVisible(false);\n }\n };\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n\n return (\n <div\n style={{\n position: 'relative',\n }}\n ref={pickerRef}\n >\n <ToolBarButtonWrapper gap={12} tooltip={tooltip} tooltipPosition={'bottom'}>\n <StyledImage src={leftIcon} />\n <StyledText\n fontFamily={theme.fonts.secondary}\n // marginRight={10}\n paddingRight={10}\n onClick={() => {\n setStrokePickerVisible(true);\n }}\n >\n {value}\n </StyledText>\n <div\n style={{\n height: 22,\n width: 22,\n borderRadius: 4,\n background: theme.color.gray_EFEFEF,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n }}\n >\n <input\n type=\"color\"\n value={strokeColor}\n onChange={onChangeColor}\n style={{\n width: '100%',\n height: '100%',\n border: 'none',\n cursor: 'pointer',\n opacity: 0,\n }}\n />\n <div\n style={{\n height: 13,\n width: 1,\n backgroundColor: strokeColor,\n transform: 'rotate(38deg)',\n position: 'absolute',\n pointerEvents: 'none',\n }}\n />\n </div>\n </ToolBarButtonWrapper>\n {strokePickerVisible && (\n <div\n style={{\n position: 'absolute',\n bottom: -50,\n background: 'white',\n padding: 10,\n borderRadius: 5,\n border: 'solid 1px rgba(0,0,0,0.1)',\n zIndex: 9999,\n }}\n >\n <input\n type=\"range\"\n min={min}\n max={max}\n step={step}\n value={value}\n onChange={e => {\n onChangeStrokeWidth(Number(e.target.value));\n }}\n style={{ width: pickerWidth }}\n />\n </div>\n )}\n </div>\n );\n};\n\nStrokePicker.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { DropDown } from '../DropDown';\nimport { Label, RemoveButton, RowContainer } from './styled';\nimport {\n IconBackgroundColor,\n IconBackgroundImage,\n IconBackgroundImageOpacity,\n IconCross,\n IconDropDownSmall,\n IconFrame,\n} from '@/assets';\nimport theme from '@/theme';\nimport { ColorBox } from '../ColorBox';\nimport { StyledImage } from '@/generic/Styled';\nimport { pickImage } from '@/utils';\nimport { OpacityPicker } from '../OpacityPicker';\nimport { pageSizes } from '@/constants/layoutConstants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\nimport { StrokePicker } from '../StrokePicker';\n\nexport const TemplateToolBar = ({\n onSetBackgroundColor,\n canvasBackgroundColor,\n onSetBackgroundImage,\n backgroundImageOpacity,\n onChangeBackgroundImageOpacity,\n onSetPageSize,\n selectedPageSize,\n languageLocale,\n uploadImageCallBack,\n setLoadingUploadImage,\n cuttingGuideStroke,\n cuttingGuideStrokeColor,\n onChangeCuttingGuideProp,\n canvasBackgroundImage,\n onRemoveBackgroundImage,\n}) => {\n const selectBackgroundColor = e => {\n onSetBackgroundColor(e);\n };\n const handleBackgroundUpload = async () => {\n const file = await pickImage();\n if (!file) return;\n if (uploadImageCallBack) {\n setLoadingUploadImage(true);\n const imageUrl = await uploadImageCallBack(file);\n onSetBackgroundImage(imageUrl);\n setLoadingUploadImage(false);\n } else {\n const reader = new FileReader();\n reader.onload = () => {\n onSetBackgroundImage(reader.result);\n };\n reader.readAsDataURL(file);\n }\n };\n\n return (\n <RowContainer>\n <DropDown\n gap={20}\n left={<Label>{selectedPageSize}</Label>}\n list={Object.keys(pageSizes)}\n onSelect={e => {\n onSetPageSize && onSetPageSize(e);\n }}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.PAGE_SIZE}\n />\n <ToolBarButtonWrapper\n gap={11}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.BACKGROUND_COLOR}\n tooltipPosition={'bottom'}\n >\n <StyledImage src={IconBackgroundColor} />\n <ColorBox\n backgroundColor={canvasBackgroundColor || theme.color.white}\n onChange={selectBackgroundColor}\n />\n </ToolBarButtonWrapper>\n <ToolBarButtonWrapper\n paddingRight={17}\n paddingLeft={17}\n onClick={handleBackgroundUpload}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.BACKGROUND_IMAGE}\n tooltipPosition={'bottom'}\n >\n {canvasBackgroundImage && (\n <RemoveButton\n onClick={e => {\n onRemoveBackgroundImage && onRemoveBackgroundImage();\n e.stopPropagation();\n }}\n >\n <StyledImage src={IconCross} height={15} width={15} />\n </RemoveButton>\n )}\n <StyledImage\n src={canvasBackgroundImage?.src || IconBackgroundImage}\n height={24}\n width={24}\n />\n </ToolBarButtonWrapper>\n <OpacityPicker\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.BACKGROUND_IMAGE_OPACITY}\n gap={10}\n value={backgroundImageOpacity}\n onChangeOpacity={onChangeBackgroundImageOpacity}\n leftChild={<StyledImage src={IconBackgroundImageOpacity} />}\n rightChild={<StyledImage src={IconDropDownSmall} />}\n />\n <StrokePicker\n gap={10}\n value={cuttingGuideStroke}\n onChangeStrokeWidth={e => {\n onChangeCuttingGuideProp('cuttingGuideStroke', e);\n }}\n strokeColor={cuttingGuideStrokeColor}\n onChangeShapeStrokeColor={e => {\n onChangeCuttingGuideProp('cuttingGuideStrokeColor', e);\n }}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.CUTTING_GUIDE}\n languageLocale={languageLocale}\n leftIcon={IconFrame}\n max={200}\n />\n </RowContainer>\n );\n};\n\nTemplateToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n fontFamily: PropTypes.string,\n fontSize: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n color: PropTypes.string,\n textDecoration: PropTypes.string,\n fontStyle: PropTypes.string,\n fontWeight: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n textAlign: PropTypes.string,\n textOpacity: PropTypes.number,\n onChangeTextProperty: PropTypes.func,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Label = styled.p`\n color: ${theme.color.gray_700};\n font-size: 14px;\n font-weight: ${theme.fontWeights[400]};\n font-family: ${({ fontFamily = theme.fonts.primary }) => fontFamily};\n width: 100px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const RowContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n gap: 2px;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n tabsData: PropTypes.arrayOf(PropTypes.object),\n height: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n tabPadding: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n marginRight: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n disabled: PropTypes.bool,\n tooltipPosition: PropTypes.string,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\n\nexport const TabBarContainer = styled.div`\n border: 1px solid ${theme.color.gray_200};\n height: ${({ height }) => height}px;\n margin-right: ${({ marginRight = 0 }) => marginRight}px;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n background: ${theme.color.white};\n opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};\n pointer-events: ${({ disabled }) => (disabled ? 'none' : 'all')};\n`;\n\nexport const TabItem = styled.div`\n padding: ${({ tabPadding }) => tabPadding};\n cursor: ${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};\n border-right: ${({ isLast }) => (isLast ? 'none' : `1px solid ${theme.color.gray_200}`)};\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};\n background: ${({ selected = false }) => (selected ? theme.color.gray_200 : theme.color.white)};\n border-top-left-radius: ${({ isFirst }) => (isFirst ? '5' : '0')}px;\n border-bottom-left-radius: ${({ isFirst }) => (isFirst ? '5' : '0')}px;\n border-top-right-radius: ${({ isLast }) => (isLast ? '5' : '0')}px;\n border-bottom-right-radius: ${({ isLast }) => (isLast ? '5' : '0')}px;\n pointer-events: ${({ disabled }) => (disabled ? 'none' : 'all')};\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { TabBarContainer, TabItem } from './styled';\nimport { Tooltip } from '../Tooltip';\n\nexport const ToolsTabBar = ({\n tabsData = [],\n height = 36,\n tabPadding = '8px 12px',\n marginRight = 0,\n disabled = false,\n tooltipPosition = 'bottom',\n}) => (\n <TabBarContainer disabled={disabled} height={height} marginRight={marginRight}>\n {tabsData.map((item, index) => (\n <Tooltip\n key={index}\n position={tooltipPosition}\n text={item?.tooltip}\n disabled={item?.disabled}\n >\n <TabItem\n key={index}\n tabPadding={tabPadding}\n isLast={index === tabsData.length - 1}\n isFirst={index === 0}\n onClick={item?.onClick}\n disabled={item?.disabled}\n selected={item?.selected}\n >\n {item?.element}\n </TabItem>\n </Tooltip>\n ))}\n </TabBarContainer>\n);\n\nToolsTabBar.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { DropDown } from '../DropDown';\nimport { Label, RowContainer } from './styled';\nimport {\n IconAlignCenter,\n IconAlignLeft,\n IconAlignRight,\n IconBold,\n IconDropDown,\n IconLineThrough,\n IconTextItalic,\n IconTextSmall,\n IconTextUnderLine,\n} from '@/assets';\nimport theme from '@/theme';\nimport { ColorBox } from '../ColorBox';\nimport { StyledImage } from '@/generic/Styled';\nimport { ToolsTabBar } from '../ToolsTabBar';\nimport { topTabBarpadding } from '@/constants/layoutConstants';\nimport { OpacityPicker } from '../OpacityPicker';\nimport { fontFamilies, funkyFonts } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const TextToolBar = ({\n fontFamily,\n fontSize,\n lineHeight,\n color,\n textDecoration,\n fontStyle,\n fontWeight,\n textAlign,\n textOpacity,\n onChangeTextProperty,\n languageLocale,\n}) => {\n let TextTabsData = [\n {\n element: <StyledImage src={IconBold} />,\n selected: fontWeight > theme?.fontWeights[500] || fontWeight === 'bold',\n onClick: () => {\n if (fontWeight > theme?.fontWeights[500] || fontWeight === 'bold') {\n onChangeTextProperty('fontWeight', theme?.fontWeights[400]);\n } else {\n onChangeTextProperty('fontWeight', theme?.fontWeights[700]);\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.BOLD,\n disabled: funkyFonts.includes(fontFamily) ? true : false,\n },\n {\n element: <StyledImage src={IconTextItalic} />,\n selected: fontStyle === 'italic',\n onClick: () => {\n if (fontStyle === 'italic') {\n onChangeTextProperty('fontStyle', 'normal');\n } else {\n onChangeTextProperty('fontStyle', 'italic');\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.ITALIC,\n disabled: funkyFonts.includes(fontFamily) ? true : false,\n },\n {\n element: <StyledImage src={IconLineThrough} />,\n selected: textDecoration?.includes('line-through'),\n onClick: () => {\n if (textDecoration?.includes('line-through')) {\n onChangeTextProperty(\n 'textDecoration',\n textDecoration?.includes('underline') ? 'underline' : 'normal',\n );\n } else {\n onChangeTextProperty(\n 'textDecoration',\n textDecoration?.includes('underline')\n ? 'underline line-through'\n : 'line-through',\n );\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.LINE_THROUGH,\n },\n {\n element: <StyledImage src={IconTextUnderLine} />,\n selected: textDecoration?.includes('underline'),\n onClick: () => {\n if (textDecoration?.includes('underline')) {\n onChangeTextProperty(\n 'textDecoration',\n textDecoration?.includes('line-through') ? 'line-through' : 'normal',\n );\n } else {\n onChangeTextProperty(\n 'textDecoration',\n textDecoration?.includes('line-through')\n ? 'underline line-through'\n : 'underline',\n );\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.UNDERLINE,\n },\n ];\n\n let AlignmentTabsData = [\n {\n element: <StyledImage src={IconAlignLeft} />,\n selected: textAlign === 'left',\n onClick: () => {\n if (textAlign !== 'left') {\n onChangeTextProperty('textAlign', 'left');\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.LEFT_ALIGN,\n },\n {\n element: <StyledImage src={IconAlignCenter} />,\n selected: textAlign === 'center',\n onClick: () => {\n if (textAlign !== 'center') {\n onChangeTextProperty('textAlign', 'center');\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.CENTER_ALIGN,\n },\n {\n element: <StyledImage src={IconAlignRight} />,\n selected: textAlign === 'right',\n onClick: () => {\n if (textAlign !== 'right') {\n onChangeTextProperty('textAlign', 'right');\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.RIGHT_ALIGN,\n },\n ];\n\n return (\n <RowContainer>\n <DropDown\n gap={40}\n left={<Label fontFamily={fontFamily}>{fontFamily}</Label>}\n fontPicker={true}\n list={fontFamilies}\n onSelect={e => {\n onChangeTextProperty('fontFamily', e);\n }}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.FONT_FAMILY}\n tooltipPosition={'bottom'}\n />\n <OpacityPicker\n gap={11}\n value={fontSize}\n varient={'size'}\n fontFamily={theme.fonts.primary}\n min={5}\n max={100}\n step={1}\n onChangeOpacity={e => onChangeTextProperty('fontSize', e)}\n showLeftChild={false}\n rightChild={<StyledImage src={IconDropDown} marginLeft={10} />}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.TEXT_SIZE}\n tooltipPosition={'bottom'}\n />\n <OpacityPicker\n gap={11}\n value={lineHeight}\n varient={'size'}\n fontFamily={theme.fonts.primary}\n min={1}\n max={5}\n step={0.5}\n onChangeOpacity={e => onChangeTextProperty('lineHeight', e)}\n showLeftChild={false}\n rightChild={<StyledImage src={IconDropDown} marginLeft={10} />}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.TEXT_LINE_HEIGHT}\n tooltipPosition={'bottom'}\n />\n <ToolBarButtonWrapper\n gap={12}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.TEXT_COLOR}\n tooltipPosition={'bottom'}\n >\n <StyledImage src={IconTextSmall} />\n <ColorBox\n backgroundColor={color}\n onChange={e => onChangeTextProperty('color', e)}\n />\n </ToolBarButtonWrapper>\n <ToolsTabBar\n tabsData={TextTabsData}\n marginRight={12}\n height={40}\n tabPadding={topTabBarpadding}\n tooltipPosition={'bottom'}\n />\n <ToolsTabBar\n tabsData={AlignmentTabsData}\n marginRight={20}\n height={40}\n tabPadding={topTabBarpadding}\n tooltipPosition={'bottom'}\n />\n\n <OpacityPicker\n value={textOpacity}\n onChangeOpacity={e => onChangeTextProperty('opacity', e)}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.TEXT_OPACITY}\n tooltipPosition={'bottom'}\n />\n </RowContainer>\n );\n};\n\nTextToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n imageStrokeWidth: PropTypes.number,\n imageStrokeColor: PropTypes.string,\n imageOpacity: PropTypes.number,\n onChangeImageStrokeWidth: PropTypes.func,\n onChangeImageStrokeColor: PropTypes.func,\n onChangeImageOpacity: PropTypes.func,\n selectedElement: PropTypes.object,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Label = styled.p`\n color: ${theme.color.gray_700};\n font-size: 14px;\n font-weight: ${theme.fontWeights[400]};\n font-family: ${theme.fonts.primary};\n`;\n\nexport const RowContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n gap: 2px;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { RowContainer } from './styled';\nimport { StrokePicker } from '../StrokePicker';\nimport { OpacityPicker } from '../OpacityPicker';\nimport { isElementOfSameType } from '@/utils';\nimport { elementTypes } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const ImageToolBar = ({\n imageStrokeWidth,\n imageStrokeColor,\n imageOpacity,\n onChangeImageStrokeWidth,\n onChangeImageStrokeColor,\n onChangeImageOpacity,\n selectedElement,\n languageLocale,\n}) => {\n return (\n <RowContainer>\n <StrokePicker\n value={\n isElementOfSameType(selectedElement, elementTypes.image)\n ? selectedElement?.strokeWidth\n : imageStrokeWidth\n }\n onChangeStrokeWidth={onChangeImageStrokeWidth}\n strokeColor={\n isElementOfSameType(selectedElement, elementTypes.image)\n ? selectedElement?.stroke\n : imageStrokeColor\n }\n onChangeShapeStrokeColor={onChangeImageStrokeColor}\n languageLocale={languageLocale}\n />\n <OpacityPicker\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.IMAGE_OPACITY}\n value={\n isElementOfSameType(selectedElement, elementTypes.image)\n ? selectedElement?.opacity\n : imageOpacity\n }\n onChangeOpacity={onChangeImageOpacity}\n languageLocale={languageLocale}\n />\n </RowContainer>\n );\n};\n\nImageToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n shapeStrokeColor: PropTypes.string,\n shapeStrokeWidth: PropTypes.number,\n shapeFillColor: PropTypes.string,\n shapeOpacity: PropTypes.number,\n onChangeShapeStrokeColor: PropTypes.func,\n onChangeShapeStrokeWidth: PropTypes.func,\n onChangeShapeFill: PropTypes.func,\n onChangeShapeOpacity: PropTypes.func,\n selectedElement: PropTypes.object,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Label = styled.p`\n color: ${theme.color.gray_700};\n font-size: 14px;\n font-weight: ${theme.fontWeights[400]};\n font-family: ${theme.fonts.primary};\n`;\n\nexport const RowContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n gap: 2px;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { RowContainer } from './styled';\nimport { IconBackgroundColor } from '@/assets';\nimport { StyledImage } from '@/generic/Styled';\nimport { ColorBox } from '../ColorBox';\nimport { isElementShape } from '@/utils';\nimport { StrokePicker } from '../StrokePicker';\nimport { OpacityPicker } from '../OpacityPicker';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const ShapeToolBar = ({\n shapeStrokeColor,\n shapeStrokeWidth,\n shapeFillColor,\n shapeOpacity,\n onChangeShapeStrokeColor,\n onChangeShapeStrokeWidth,\n onChangeShapeFill,\n onChangeShapeOpacity,\n selectedElement,\n languageLocale,\n}) => {\n return (\n <RowContainer>\n <ToolBarButtonWrapper\n gap={11}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.SHAPE_FILL}\n tooltipPosition=\"bottom\"\n >\n <StyledImage src={IconBackgroundColor} />\n <ColorBox\n backgroundColor={\n (isElementShape(selectedElement) && selectedElement?.fill) || shapeFillColor\n }\n onChange={onChangeShapeFill}\n />\n </ToolBarButtonWrapper>\n <StrokePicker\n value={\n isElementShape(selectedElement)\n ? selectedElement?.strokeWidth\n : shapeStrokeWidth\n }\n onChangeStrokeWidth={onChangeShapeStrokeWidth}\n strokeColor={\n isElementShape(selectedElement) ? selectedElement?.stroke : shapeStrokeColor\n }\n onChangeShapeStrokeColor={onChangeShapeStrokeColor}\n languageLocale={languageLocale}\n />\n <OpacityPicker\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.SHAPE_OPACITY}\n value={isElementShape(selectedElement) ? selectedElement?.opacity : shapeOpacity}\n onChangeOpacity={onChangeShapeOpacity}\n languageLocale={languageLocale}\n />\n </RowContainer>\n );\n};\n\nShapeToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n qrStrokeWidth: PropTypes.number,\n qrStrokeColor: PropTypes.string,\n qrOpacity: PropTypes.number,\n onChangeQrStrokeWidth: PropTypes.func,\n onChangeQrStrokeColor: PropTypes.func,\n onChangeQrOpacity: PropTypes.func,\n selectedElement: PropTypes.object,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Label = styled.p`\n color: ${theme.color.gray_700};\n font-size: 14px;\n font-weight: ${theme.fontWeights[400]};\n font-family: ${theme.fonts.primary};\n`;\n\nexport const RowContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n gap: 2px;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { RowContainer } from './styled';\nimport { StrokePicker } from '../StrokePicker';\nimport { OpacityPicker } from '../OpacityPicker';\nimport { elementTypes } from '@/constants';\nimport { isElementOfSameType } from '@/utils';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const QrToolBar = ({\n qrStrokeWidth,\n qrStrokeColor,\n qrOpacity,\n onChangeQrStrokeWidth,\n onChangeQrStrokeColor,\n onChangeQrOpacity,\n selectedElement,\n languageLocale,\n}) => {\n return (\n <RowContainer>\n <StrokePicker\n value={\n isElementOfSameType(selectedElement, elementTypes.qr)\n ? selectedElement?.strokeWidth\n : qrStrokeWidth\n }\n onChangeStrokeWidth={onChangeQrStrokeWidth}\n strokeColor={\n isElementOfSameType(selectedElement, elementTypes.qr)\n ? selectedElement?.stroke\n : qrStrokeColor\n }\n onChangeShapeStrokeColor={onChangeQrStrokeColor}\n languageLocale={languageLocale}\n />\n <OpacityPicker\n value={\n isElementOfSameType(selectedElement, elementTypes.qr)\n ? selectedElement?.opacity\n : qrOpacity\n }\n onChangeOpacity={onChangeQrOpacity}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.OPACITY}\n languageLocale={languageLocale}\n />\n </RowContainer>\n );\n};\n\nQrToolBar.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { OverlayBlocker, ToolBarWrapper } from './styled';\nimport { TemplateToolBar } from '../TemplateToolBar';\nimport { TextToolBar } from '../TextToolBar';\nimport { elementTypes, sideBarpillsList } from '@/constants';\nimport { ImageToolBar } from '../ImageToolBar';\nimport { ShapeToolBar } from '../ShapeToolBar';\nimport { QrToolBar } from '../QrToolBar';\nimport { isElementOfSameType } from '@/utils';\n\nexport const TopToolBar = ({\n selectedTab,\n onSetBackgroundColor,\n canvasBackgroundColor,\n canvasBackgroundImage,\n onSetBackgroundImage,\n shapeStrokeColor,\n shapeStrokeWidth,\n shapeFillColor,\n shapeOpacity,\n onChangeShapeStrokeColor,\n onChangeShapeStrokeWidth,\n onChangeShapeFill,\n onChangeShapeOpacity,\n selectedElement,\n onChangeBackgroundImageOpacity,\n backgroundImageOpacity,\n imageStrokeWidth,\n imageStrokeColor,\n imageOpacity,\n onChangeImageStrokeWidth,\n onChangeImageStrokeColor,\n onChangeImageOpacity,\n qrStrokeWidth,\n qrStrokeColor,\n qrOpacity,\n onChangeQrStrokeWidth,\n onChangeQrStrokeColor,\n onChangeQrOpacity,\n defaultTextProps,\n onChangeTextProperty,\n onSetPageSize,\n selectedPageSize,\n languageLocale,\n uploadImageCallBack,\n setLoadingUploadImage,\n cuttingGuideStroke,\n cuttingGuideStrokeColor,\n onChangeCuttingGuideProp,\n onRemoveBackgroundImage,\n}) => {\n return (\n <ToolBarWrapper disabled={selectedElement && !selectedElement?.draggable}>\n {selectedElement && !selectedElement?.draggable && (\n <OverlayBlocker\n onClick={e => {\n e?.stopPropagation();\n }}\n />\n )}\n {selectedTab === sideBarpillsList?.template ? (\n <TemplateToolBar\n onSetBackgroundColor={onSetBackgroundColor}\n canvasBackgroundColor={canvasBackgroundColor}\n canvasBackgroundImage={canvasBackgroundImage}\n onSetBackgroundImage={onSetBackgroundImage}\n onChangeBackgroundImageOpacity={onChangeBackgroundImageOpacity}\n backgroundImageOpacity={backgroundImageOpacity}\n onSetPageSize={onSetPageSize}\n selectedPageSize={selectedPageSize}\n languageLocale={languageLocale}\n uploadImageCallBack={uploadImageCallBack}\n setLoadingUploadImage={setLoadingUploadImage}\n cuttingGuideStroke={cuttingGuideStroke}\n cuttingGuideStrokeColor={cuttingGuideStrokeColor}\n onChangeCuttingGuideProp={onChangeCuttingGuideProp}\n onRemoveBackgroundImage={onRemoveBackgroundImage}\n />\n ) : selectedTab === sideBarpillsList?.text ? (\n <TextToolBar\n fontFamily={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.fontFamily\n : defaultTextProps?.fontFamily\n }\n fontSize={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.fontSize\n : defaultTextProps?.fontSize\n }\n lineHeight={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.lineHeight\n : defaultTextProps?.lineHeight\n }\n color={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.color\n : defaultTextProps?.color\n }\n textDecoration={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.textDecoration\n : defaultTextProps?.textDecoration\n }\n fontStyle={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.fontStyle\n : defaultTextProps?.fontStyle\n }\n fontWeight={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.fontWeight\n : defaultTextProps?.fontWeight\n }\n textAlign={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.textAlign\n : defaultTextProps?.textAlign\n }\n selectedElement={selectedElement}\n textOpacity={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.opacity\n : defaultTextProps?.opacity\n }\n onChangeTextProperty={onChangeTextProperty}\n languageLocale={languageLocale}\n />\n ) : selectedTab === sideBarpillsList?.image ? (\n <ImageToolBar\n imageStrokeWidth={imageStrokeWidth}\n imageStrokeColor={imageStrokeColor}\n imageOpacity={imageOpacity}\n onChangeImageStrokeWidth={onChangeImageStrokeWidth}\n onChangeImageStrokeColor={onChangeImageStrokeColor}\n onChangeImageOpacity={onChangeImageOpacity}\n selectedElement={selectedElement}\n languageLocale={languageLocale}\n />\n ) : selectedTab === sideBarpillsList?.shape ? (\n <ShapeToolBar\n shapeStrokeColor={shapeStrokeColor}\n shapeStrokeWidth={shapeStrokeWidth}\n shapeFillColor={shapeFillColor}\n onChangeShapeStrokeColor={onChangeShapeStrokeColor}\n onChangeShapeStrokeWidth={onChangeShapeStrokeWidth}\n onChangeShapeFill={onChangeShapeFill}\n shapeOpacity={shapeOpacity}\n onChangeShapeOpacity={onChangeShapeOpacity}\n selectedElement={selectedElement}\n languageLocale={languageLocale}\n />\n ) : selectedTab === sideBarpillsList?.qr ? (\n <QrToolBar\n qrStrokeWidth={qrStrokeWidth}\n qrStrokeColor={qrStrokeColor}\n qrOpacity={qrOpacity}\n onChangeQrStrokeWidth={onChangeQrStrokeWidth}\n onChangeQrStrokeColor={onChangeQrStrokeColor}\n onChangeQrOpacity={onChangeQrOpacity}\n selectedElement={selectedElement}\n languageLocale={languageLocale}\n />\n ) : null}\n </ToolBarWrapper>\n );\n};\n\nTopToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n selectedTab: PropTypes.string,\n zoomPercentage: PropTypes.number,\n onChangeZoomPercentage: PropTypes.func,\n onUndo: PropTypes.func,\n onRedo: PropTypes.func,\n disableUndo: PropTypes.bool,\n disableRedo: PropTypes.bool,\n selectedElement: PropTypes.object,\n onDeleteSelectedElement: PropTypes.func,\n onCopySelectedElement: PropTypes.func,\n onToggleLockElement: PropTypes.func,\n bringSelectedElementToFront: PropTypes.func,\n sendSelectedElementToBack: PropTypes.func,\n languageLocale: PropTypes.string,\n};\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n zoomLevel: PropTypes.number,\n onZoomIn: PropTypes.func,\n onZoomOut: PropTypes.func,\n translation: PropTypes.object,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\n\nexport const Container = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n position: relative;\n`;\n\nexport const ZoomControlWrapper = styled.div`\n border: 1px solid ${theme.color.gray_200};\n border-radius: 6px;\n height: 44px;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n background: white;\n`;\n\nexport const ZoomButton = styled.div`\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0 14px;\n cursor: pointer;\n`;\n\nexport const Divider = styled.div`\n width: 1px;\n height: 80%;\n background: rgba(77, 98, 119, 0.2);\n`;\n\nexport const ZoomPercentage = styled.p`\n padding: 0 14px;\n font-family: ${theme.fonts.primary};\n font-weight: ${theme.fontWeights[500]};\n color: ${theme.color.icon_gray};\n`;\n","import { ButtonVarients } from '@/constants';\nimport PropTypes from 'prop-types';\n\nexport const propTypes = {\n varient: PropTypes.oneOf(Object.values(ButtonVarients)),\n left: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n text: PropTypes.string,\n marginBottom: PropTypes.number,\n marginTop: PropTypes.number,\n onClick: PropTypes.func,\n};\n","import { ButtonVarients } from '@/constants';\nimport theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StyledButton = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n padding: 10px;\n border-radius: 6px;\n border: 1px solid ${theme.color.primary};\n cursor: pointer;\n margin-top: ${({ marginTop }) => marginTop}px;\n margin-bottom: ${({ marginBottom }) => marginBottom}px;\n background: ${({ varient }) =>\n varient === ButtonVarients.primary ? theme.color.primary : theme.color.white};\n`;\n\nexport const IconWrapper = styled.div`\n margin-right: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport theme from '@/theme';\nimport { StyledText } from '@/generic/Styled';\nimport { ButtonVarients } from '@/constants';\nimport { IconWrapper, StyledButton } from './styled';\n\nexport const Button = ({\n varient = ButtonVarients.secondary,\n left,\n text,\n marginBottom = 0,\n marginTop = 0,\n onClick,\n style,\n}) => (\n <StyledButton\n varient={varient}\n marginTop={marginTop}\n marginBottom={marginBottom}\n onClick={onClick}\n style={style}\n >\n {left && <IconWrapper>{left}</IconWrapper>}\n <StyledText\n fontSize={14}\n fontWeight={theme.fontWeights[600]}\n color={varient === ButtonVarients.primary ? theme.color.white : theme.color.primary}\n >\n {text}\n </StyledText>\n </StyledButton>\n);\n\nButton.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { Container, Divider, ZoomButton, ZoomControlWrapper, ZoomPercentage } from './styled';\nimport { StyledImage } from '@/generic/Styled';\nimport { IconZoomIn, IconZoomOut } from '@/assets';\nimport { Tooltip } from '../Tooltip';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\nimport { Button } from '../Button';\nimport { ButtonVarients } from '@/constants';\n\nexport const ZoomControls = ({\n zoomLevel = 60,\n onZoomIn,\n onZoomOut,\n languageLocale,\n onSave,\n showSaveButton,\n saveButtonText,\n}) => (\n <Container>\n {showSaveButton && (\n <Button\n text={saveButtonText || TEXT_DICTIONARY?.[languageLocale]?.SAVE}\n varient={ButtonVarients?.primary}\n marginBottom={10}\n style={{ position: 'absolute', top: -50, zIndex: 400, right: 0 }}\n onClick={onSave}\n />\n )}\n <Tooltip text={TEXT_DICTIONARY?.[languageLocale]?.ZOOM_IN_OUT} position=\"top\">\n <ZoomControlWrapper>\n <ZoomButton onClick={onZoomOut}>\n <StyledImage src={IconZoomOut} />\n </ZoomButton>\n <Divider />\n <ZoomPercentage>{zoomLevel}%</ZoomPercentage>\n <Divider />\n <ZoomButton onClick={onZoomIn}>\n <StyledImage src={IconZoomIn} />\n </ZoomButton>\n </ZoomControlWrapper>\n </Tooltip>\n </Container>\n);\n\nZoomControls.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onDeleteSelectedElement: PropTypes.func,\n onCopySelectedElement: PropTypes.func,\n onToggleLockElement: PropTypes.func,\n selectedElement: PropTypes.object,\n bringSelectedElementToFront: PropTypes.func,\n sendSelectedElementToBack: PropTypes.func,\n languageLocale: PropTypes.string,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\n\nexport const ToolBarContainer = styled.div`\n display: flex;\n padding: 12px 24px;\n background: ${theme.color.gray_FDFCFC};\n gap: 15px;\n border-radius: 10px 10px 0px 0px;\n border: 1px solid ${theme.color.gray_EDEDED};\n border-bottom: none;\n align-items: center;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ToolBarContainer } from './styled';\nimport { ToolsTabBar } from '../ToolsTabBar';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { StyledImage } from '@/generic/Styled';\nimport {\n IconBringFront,\n IconCopy,\n IconDelete,\n // IconGroup,\n // IconGuide,\n IconLock,\n IconSentBack,\n IconUnlock,\n} from '@/assets';\nimport { elementTypes } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const BottomToolBarControls = ({\n onDeleteSelectedElement,\n onCopySelectedElement,\n onToggleLockElement,\n selectedElement,\n bringSelectedElementToFront,\n sendSelectedElementToBack,\n languageLocale,\n}) => {\n let BringFrontBackTabsData = [\n {\n element: <StyledImage src={IconBringFront} />,\n onClick: () => {\n bringSelectedElementToFront && bringSelectedElementToFront();\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.BRING_FORWARD,\n },\n {\n element: <StyledImage src={IconSentBack} />,\n onClick: () => {\n sendSelectedElementToBack && sendSelectedElementToBack();\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.SEND_BACKWARD,\n },\n ];\n\n return (\n <ToolBarContainer>\n <ToolsTabBar\n disabled={!selectedElement?.draggable}\n tabsData={BringFrontBackTabsData}\n tooltipPosition=\"top\"\n />\n {/* <ToolBarButtonWrapper\n paddingRight={14.6}\n paddingLeft={14.6}\n height={36}\n marginRight={0}\n >\n <StyledImage src={IconGuide} />\n </ToolBarButtonWrapper>\n <ToolBarButtonWrapper\n paddingRight={14.6}\n paddingLeft={14.6}\n height={36}\n marginRight={0}\n >\n <StyledImage src={IconGroup} />\n </ToolBarButtonWrapper> */}\n <ToolBarButtonWrapper\n tooltip={\n selectedElement?.draggable\n ? TEXT_DICTIONARY?.[languageLocale]?.LOCK\n : TEXT_DICTIONARY?.[languageLocale]?.UNLOCK\n }\n tooltipPosition=\"top\"\n paddingRight={14.6}\n paddingLeft={14.6}\n height={36}\n marginRight={0}\n onClick={onToggleLockElement}\n >\n <StyledImage\n src={selectedElement?.draggable ? IconUnlock : IconLock}\n height={20}\n width={20}\n />\n </ToolBarButtonWrapper>\n {selectedElement?.type !== elementTypes?.qr && (\n <ToolBarButtonWrapper\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.COPY}\n tooltipPosition=\"top\"\n paddingRight={14.6}\n paddingLeft={14.6}\n height={36}\n marginRight={0}\n onClick={onCopySelectedElement}\n disabled={!selectedElement?.draggable}\n >\n <StyledImage src={IconCopy} />\n </ToolBarButtonWrapper>\n )}\n <ToolBarButtonWrapper\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.DELETE}\n tooltipPosition=\"top\"\n paddingRight={14.6}\n paddingLeft={14.6}\n height={36}\n marginRight={0}\n onClick={onDeleteSelectedElement}\n disabled={!selectedElement?.draggable}\n >\n <StyledImage src={IconDelete} />\n </ToolBarButtonWrapper>\n </ToolBarContainer>\n );\n};\n\nBottomToolBarControls.propTypes = propTypes;\n","import styled from 'styled-components';\n\nexport const BottomToolbarWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: ${({ selectedTab }) => (selectedTab ? 'space-between' : 'flex-end')};\n padding-right: 3%;\n padding-left: 5%;\n padding-bottom: ${({ selectedTab }) => (selectedTab ? '6' : '14')}px;\n flex-wrap: wrap;\n gap: 5px;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onUndo: PropTypes.func,\n onRedo: PropTypes.func,\n disableUndo: PropTypes.bool,\n disableRedo: PropTypes.bool,\n translation: PropTypes.object,\n};\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ToolsTabBar } from '../ToolsTabBar';\nimport { StyledImage } from '@/generic/Styled';\nimport { IconRedo, IconUndo } from '@/assets';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const UndoRedoControls = ({ onUndo, onRedo, disableUndo, disableRedo, languageLocale }) => {\n let UndeRedoTabsData = [\n {\n element: <StyledImage src={IconUndo} />,\n onClick: () => onUndo(),\n disabled: disableUndo,\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.UNDO,\n },\n {\n element: <StyledImage src={IconRedo} />,\n onClick: () => onRedo(),\n disabled: disableRedo,\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.REDO,\n },\n ];\n\n return (\n <ToolsTabBar\n height={44}\n tabPadding=\"12px 17px\"\n tabsData={UndeRedoTabsData}\n tooltipPosition=\"top\"\n />\n );\n};\n\nUndoRedoControls.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ZoomControls } from '../ZoomControls';\nimport { BottomToolBarControls } from '../BottomToolBarControls';\nimport { BottomToolbarWrapper } from './styled';\nimport { UndoRedoControls } from '../UndoRedoControls';\n\nexport const BottomToolBar = ({\n selectedTab,\n zoomPercentage,\n onChangeZoomPercentage,\n onUndo,\n onRedo,\n disableUndo,\n disableRedo,\n selectedElement,\n onDeleteSelectedElement,\n onCopySelectedElement,\n onToggleLockElement,\n bringSelectedElementToFront,\n sendSelectedElementToBack,\n languageLocale,\n onSave,\n showSaveButton,\n saveButtonText,\n}) => {\n const onZoomIn = () => {\n if (zoomPercentage < 300) {\n onChangeZoomPercentage(zoomPercentage + 10);\n }\n };\n const onZoomOut = () => {\n if (zoomPercentage > 20) {\n onChangeZoomPercentage(zoomPercentage - 10);\n }\n };\n return (\n <BottomToolbarWrapper selectedTab={selectedTab}>\n {selectedTab && (\n <>\n <UndoRedoControls\n onUndo={onUndo}\n onRedo={onRedo}\n disableUndo={disableUndo}\n disableRedo={disableRedo}\n languageLocale={languageLocale}\n />\n {selectedElement ? (\n <BottomToolBarControls\n onDeleteSelectedElement={onDeleteSelectedElement}\n onCopySelectedElement={onCopySelectedElement}\n onToggleLockElement={onToggleLockElement}\n selectedElement={selectedElement}\n bringSelectedElementToFront={bringSelectedElementToFront}\n sendSelectedElementToBack={sendSelectedElementToBack}\n languageLocale={languageLocale}\n />\n ) : (\n <div style={{ height: 63 }} />\n )}\n </>\n )}\n <ZoomControls\n zoomLevel={zoomPercentage}\n onZoomIn={onZoomIn}\n onZoomOut={onZoomOut}\n languageLocale={languageLocale}\n onSave={onSave}\n showSaveButton={showSaveButton}\n saveButtonText={saveButtonText}\n />\n </BottomToolbarWrapper>\n );\n};\n\nBottomToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n id: PropTypes.string,\n element: PropTypes.object,\n onClick: PropTypes.func,\n onDragEnd: PropTypes.func,\n onTransformEnd: PropTypes.func,\n onDragMove: PropTypes.func,\n};\n","import React, { useEffect, useState } from 'react';\nimport { propTypes } from './props';\nimport { Image } from 'react-konva';\n\nexport const CanvasImage = ({ id, element, onClick, onDragEnd, onTransformEnd, onDragMove }) => {\n const [loaded, setLoaded] = useState(false);\n const [image, setImage] = useState(null);\n\n useEffect(() => {\n // const reader = new FileReader();\n // reader.onload = () => {\n const img = new window.Image();\n img.crossOrigin = 'anonymous';\n img.src = element?.src;\n img.onload = () => {\n setImage(img);\n setLoaded(true);\n };\n // };\n // reader.readAsDataURL(file);\n }, [element]);\n if (loaded) {\n return (\n <Image\n id={id}\n image={image}\n {...element}\n width={element?.width}\n height={element?.height}\n onClick={() => onClick && onClick()}\n onDragEnd={e => onDragEnd && onDragEnd(e)}\n onDragMove={onDragMove}\n onTransformEnd={e => {\n onTransformEnd && onTransformEnd(e);\n }}\n strokeScaleEnabled={false}\n />\n );\n } else {\n return null;\n }\n};\n\nCanvasImage.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n element: PropTypes.object,\n onClick: PropTypes.func,\n onDragEnd: PropTypes.func,\n onTransformEnd: PropTypes.func,\n onDragMove: PropTypes.func,\n LogoTitle: PropTypes.string,\n};\n","import React, { useEffect, useState } from 'react';\nimport { propTypes } from './props';\nimport { Group, Rect, Text } from 'react-konva';\nimport { calculatePercentageValue } from '@/utils';\nimport theme from '@/theme';\nimport QRCode from 'qrcode';\n\nexport const QrElement = ({\n element,\n onClick,\n onDragEnd,\n onTransformEnd,\n onDragMove,\n LogoTitle,\n}) => {\n let innerRectWidth = calculatePercentageValue(element?.width, 24);\n let innerRectHeight = calculatePercentageValue(element?.height, 24);\n let innerRectX = calculatePercentageValue(element?.width, 38);\n let innerRectY = calculatePercentageValue(element?.height, 38);\n\n const [loaded, setLoaded] = useState(false);\n const [logo, setLogo] = useState(null);\n const [image, setImage] = useState(null);\n\n useEffect(() => {\n if (!element?.qrLogo) {\n return;\n }\n const img = new window.Image();\n img.crossOrigin = 'anonymous';\n img.src = element?.qrLogo;\n img.onload = () => {\n const scaleX = innerRectWidth / img.width;\n const scaleY = innerRectHeight / img.height;\n const scale = Math.min(scaleX, scaleY);\n setLogo({ img, scale });\n };\n }, [element]);\n const addQR = async () => {\n try {\n QRCode.toDataURL(element?.qrText, { margin: 0, width: 110 }, function (err, url) {\n const img = new window.Image();\n img.crossOrigin = 'anonymous';\n img.src = url;\n img.onload = () => {\n const scaleX = element?.width / img.width;\n const scaleY = element.height / img.height;\n const scale = Math.min(scaleX, scaleY);\n setImage({ img, scale });\n setLoaded(true);\n };\n });\n } catch (err) {\n // eslint-disable-next-line no-console\n console.error('Failed to generate QR code', err);\n }\n };\n useEffect(() => {\n addQR();\n }, [element]);\n\n if (loaded) {\n return (\n <Group\n key={element.id}\n {...element}\n id={element.id}\n onClick={() => onClick && onClick()}\n onDragEnd={e => onDragEnd && onDragEnd(e)}\n onDragMove={onDragMove}\n onTransformEnd={e => {\n onTransformEnd && onTransformEnd(e);\n }}\n >\n <Rect\n width={element?.width}\n height={element?.height}\n fillPatternImage={image?.img}\n fillPatternRepeat=\"no-repeat\"\n fillPatternScale={{\n x: element?.width / image?.img.width,\n y: element?.height / image?.img.height,\n }}\n stroke={element?.stroke}\n strokeWidth={element?.strokeWidth}\n opacity={element?.opacity}\n strokeScaleEnabled={false}\n />\n {element?.logoVisible && (\n <Group x={innerRectX} y={innerRectY}>\n <Rect\n width={innerRectWidth}\n height={innerRectHeight}\n fill={theme.color.white}\n />\n\n {logo ? (\n <Rect\n width={innerRectWidth}\n height={innerRectHeight}\n fillPatternImage={logo?.img}\n fillPatternRepeat=\"no-repeat\"\n fillPatternScale={{\n x: innerRectHeight / logo?.img.width,\n y: innerRectHeight / logo?.img.height,\n }}\n />\n ) : (\n <Text\n text={LogoTitle}\n fontSize={8}\n fill={theme.color.gray_9DA1A7}\n x={3}\n y={innerRectHeight / 2 - 3}\n fontFamily={theme.fonts.primary}\n fontStyle={theme.fontWeights[600]}\n />\n )}\n </Group>\n )}\n </Group>\n );\n } else {\n return null;\n }\n};\n\nQrElement.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n element: PropTypes.object,\n onClick: PropTypes.func,\n onDragEnd: PropTypes.func,\n onTransformEnd: PropTypes.func,\n onTransform: PropTypes.func,\n onChangeTextContent: PropTypes.func,\n onChangeTextProperty: PropTypes.func,\n onDragMove: PropTypes.func,\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { propTypes } from './props';\nimport { Html } from 'react-konva-utils';\nimport { element } from 'prop-types';\n\nexport const TextEditor = ({ textNodeRef, value, onBlur, onChange, textWidth }) => {\n const textareaRef = useRef(null);\n const [styles, setStyles] = useState({});\n\n useEffect(() => {\n if (!textNodeRef) return;\n // const position = textNodeRef?.absolutePosition();\n // const scale = textNodeRef?.getAbsoluteScale();\n const stg = textNodeRef?.getStage().findOne(`#${textNodeRef?.attrs?.id}`);\n\n const styleObj = {\n position: 'absolute',\n top: `${stg?.attrs?.y}px`,\n left: `${stg?.attrs?.x}px`,\n width: `${textWidth}px`,\n height: `${textNodeRef?.getHeight()}px`,\n fontSize: `${textNodeRef.fontSize()}px`,\n fontFamily: textNodeRef.fontFamily(),\n lineHeight: textNodeRef.lineHeight(),\n color: textNodeRef.fill(),\n background: 'transparent',\n border: 'none',\n padding: '0px',\n margin: '0px',\n overflow: 'hidden',\n outline: 'none',\n resize: 'none',\n transformOrigin: 'left top',\n textAlign: textNodeRef.align(),\n transform: `rotateZ(${textNodeRef.rotation()}deg)`,\n minHeight: '1em',\n whiteSpace: 'normal',\n userSelect: 'text',\n fontStyle: textNodeRef?.fontStyle?.() || 'normal',\n fontWeight: textNodeRef?.fontVariant?.() || 400,\n textDecoration: textNodeRef?.textDecoration?.() || 'none',\n };\n\n setStyles(styleObj);\n }, [textNodeRef?.current, value, element]);\n useEffect(() => {\n setTimeout(() => {\n if (textareaRef?.current) {\n textareaRef?.current?.focus();\n textareaRef?.current?.select();\n }\n }, 200);\n }, []);\n return (\n <Html>\n <textarea\n ref={textareaRef}\n style={styles}\n value={value}\n onChange={e => {\n onChange(e.target.value);\n }}\n onBlur={onBlur}\n />\n </Html>\n );\n};\n\nTextEditor.propTypes = propTypes;\n","import React, { useEffect, useRef, useState } from 'react';\nimport { propTypes } from './props';\nimport { Text } from 'react-konva';\nimport { sanitizeNumber } from '@/utils';\nimport { TextEditor } from './textEditor';\n\nexport const EditableText = ({\n element,\n trRef,\n onClick,\n onDragEnd,\n onTransformEnd,\n id,\n onTransform,\n onChangeTextContent,\n onDragMove,\n}) => {\n const textRef = useRef();\n const [textWidth, setTextWidth] = useState(element?.width);\n const [textFontSize, setTextFontSize] = useState(element?.fontSize);\n const [isEditing, setIsEditing] = useState(false);\n const [text, setText] = useState(element?.text);\n const [isFontLoaded, setIsFontLoaded] = useState(false);\n\n useEffect(() => {\n setIsFontLoaded(false);\n setTimeout(() => {\n setIsFontLoaded(true);\n }, 150);\n }, [element?.fontFamily, element?.fontWeight, element?.fontStyle]);\n\n useEffect(() => {\n setTextWidth(element?.width);\n setText(element?.text);\n setTextFontSize(element?.fontSize);\n }, [element]);\n\n const tranform = e => {\n const transformer = trRef.current;\n const activeAnchor = transformer.getActiveAnchor();\n if (activeAnchor === 'middle-right' || activeAnchor === 'middle-left') {\n const node = e.target;\n const scaleX = sanitizeNumber(node.scaleX(), 1);\n const updatedWidth = sanitizeNumber(node.width() * scaleX, element.width);\n\n const updatedObject = {\n ...node.attrs,\n width: updatedWidth,\n scaleX: 1,\n scaleY: 1,\n };\n delete updatedObject['ref'];\n setTextWidth(updatedWidth);\n onTransform && onTransform(updatedObject);\n node.scaleX(1);\n node.scaleY(1);\n }\n };\n\n const handleTransformEnd = e => {\n const transformer = trRef.current;\n const activeAnchor = transformer.getActiveAnchor();\n if (activeAnchor === 'middle-right' || activeAnchor === 'middle-left') {\n onTransformEnd && onTransformEnd(e);\n return;\n }\n const node = textRef.current;\n const nodeAttrs = node.attrs;\n const scaleX = sanitizeNumber(node.scaleX(), 1);\n const newFontSize = nodeAttrs.fontSize * scaleX;\n const updatedWidth = sanitizeNumber(node.width() * scaleX, nodeAttrs.width);\n node.scaleX(1);\n node.scaleY(1);\n\n const updatedObject = {\n ...nodeAttrs,\n width: updatedWidth,\n fontSize: newFontSize,\n };\n setTextFontSize(newFontSize);\n setTextWidth(updatedWidth);\n delete updatedObject['ref'];\n onTransform && onTransform(updatedObject);\n onTransformEnd && onTransformEnd(e);\n };\n\n const handleTextDblClick = () => {\n setIsEditing(true);\n };\n\n const handleTextChange = newText => {\n setText(newText);\n onChangeTextContent(newText);\n };\n const onSelect = () => {\n // const node = textRef?.current?.target;\n let width = textRef?.current?.getWidth();\n if (width) {\n setTextWidth(width);\n // onChangeTextProperty('width', width);\n }\n // const scaleX = sanitizeNumber(node?.scaleX(), 1);\n // const updatedWidth = sanitizeNumber(node?.width() * scaleX, element?.width);\n // console.error(textRef?.current?.getWidth());\n\n onClick && onClick();\n };\n if (!isFontLoaded) {\n return (\n <Text\n ref={textRef}\n key={id}\n {...element}\n id={element.id}\n fontVariant={element?.fontWeight}\n align={element?.textAlign}\n width={textWidth}\n fontSize={textFontSize}\n text={text}\n fill={element?.color}\n opacity={0}\n visible={false}\n />\n );\n }\n return (\n <>\n <Text\n ref={textRef}\n key={id}\n {...element}\n id={element.id}\n fontVariant={element?.fontWeight}\n align={element?.textAlign}\n width={textWidth}\n fontSize={textFontSize}\n text={text}\n fill={element?.color}\n onClick={() => onSelect()}\n onTransform={e => tranform(e)}\n onDragEnd={e => onDragEnd && onDragEnd(e)}\n onTransformEnd={e => {\n handleTransformEnd(e);\n }}\n onDragMove={onDragMove}\n onDblClick={handleTextDblClick}\n onDblTap={handleTextDblClick}\n visible={!isEditing}\n />\n {isEditing && (\n <TextEditor\n value={text}\n textWidth={textWidth}\n textNodeRef={textRef?.current}\n onChange={handleTextChange}\n onBlur={() => {\n setIsEditing(false);\n // onChangeTextContent(text);\n }}\n />\n )}\n </>\n );\n};\n\nEditableText.propTypes = propTypes;\n","/* eslint-disable func-style */\n/* eslint-disable max-len */\n/* eslint-disable prettier/prettier */\n/* eslint-disable space-before-blocks */\nimport Konva from 'konva';\n\nexport const useKonvaSnapping = params => {\n\n const defaultParams = {\n snapRange:params.snapRange ?? 3,\n guidelineColor: params.guidelineColor ?? 'rgb(0, 161, 255)',\n guidelineDash: params.guidelineDash ?? true,\n showGuidelines:params.showGuidelines ?? true,\n guidelineThickness:params.guidelineThickness ?? 1,\n snapToStageCenter:params.snapToStageCenter ?? true,\n snapToStageBorders:params.snapToStageBorders ?? true,\n snapToShapes:params.snapToShapes ?? true\n };\n const oppositeAnchors = {\n 'top-left': 'bottom-right',\n 'top-right': 'bottom-left',\n 'bottom-right': 'top-left',\n 'bottom-left': 'top-right',\n };\n\n const getSnappingPoints = e => {\n const { snapToStageCenter, snapToStageBorders, snapToShapes } = defaultParams;\n const stage = e.currentTarget.getStage();\n const vertical = [];\n const horizontal = [];\n if (snapToStageCenter){\n vertical.push(stage.attrs.width / 2);\n horizontal.push(stage.attrs.height / 2);\n }\n if (snapToStageBorders){\n horizontal.push(0, stage.attrs.height);\n vertical.push(0, stage.attrs.width);\n }\n if (snapToShapes){\n stage?.children?.forEach(layer => {\n\n layer?.children?.forEach(layerChild => {\n\n layerChild?.children?.forEach(obj=>{\n\n const box = obj.getClientRect();\n if (e.target !== obj && obj.getName() !== 'guid-line' && !(obj instanceof Konva.Transformer)) {\n vertical.push(box.x, box.x + box.width, box.x + box.width / 2);\n horizontal.push(box.y, box.y + box.height, box.y + box.height / 2);\n }\n });\n\n });\n });\n }\n\n return { vertical, horizontal };\n };\n\n const createLine = (Layer, isHorizontal, lineX, lineY) => {\n const { guidelineColor,\n showGuidelines,\n guidelineThickness,\n guidelineDash\n } = defaultParams;\n if (!showGuidelines) return;\n const points = isHorizontal ? [-6000, 0, 6000, 0] : [0, -6000, 0, 6000];\n const line = new Konva.Line({\n points,\n stroke: guidelineColor,\n strokeWidth: guidelineThickness,\n name: 'guid-line',\n dash: guidelineDash ? [4, 6] : [0, 0],\n });\n Layer.add(line);\n line.absolutePosition({ x: lineX, y: lineY });\n };\n function dotProduct(v1, v2) {\n return v1.x * v2.x + v1.y * v2.y;\n }\n\n function vectorProject(a, b) {\n const dotAB = dotProduct(a, b);\n const dotBB = dotProduct(b, b);\n const scalar = dotAB / dotBB;\n return {\n x: scalar * b.x,\n y: scalar * b.y,\n };\n }\n\n function calculateSlope(point1, point2) {\n const deltaX = point2.x - point1.x;\n\n if (deltaX === 0) {\n\n throw new Error(`Slope is undefined for vertical lines (deltaX is zero). ${point2.x}, ${point1.x}`);\n }\n\n const deltaY = point2.y - point1.y;\n return deltaY / deltaX;\n }\n\n const handleDragging = e => {\n const Layer = e.target.parent;\n\n // Clear existing guidelines\n Layer.find('.guid-line').forEach(line => line.destroy());\n const { horizontal, vertical } = getSnappingPoints(e);\n let newPos = { x: e.target.absolutePosition().x, y: e.target.absolutePosition().y };\n let guideLinesX = [];\n let guideLinesY = [];\n const { snapRange } = defaultParams;\n // Snap vertically\n vertical.forEach(breakPoint => {\n if (Math.abs(e.target.getClientRect().x - breakPoint) <= snapRange) {\n newPos.x = breakPoint + e.target.absolutePosition().x - e.target.getClientRect().x;\n guideLinesX.push(breakPoint);\n }\n if (Math.abs(e.target.getClientRect().x - breakPoint + e.target.getClientRect().width / 2) <= snapRange) {\n newPos.x = breakPoint + e.target.absolutePosition().x - e.target.getClientRect().x - e.target.getClientRect().width / 2;\n guideLinesX.push(breakPoint);\n\n }\n if (Math.abs(e.target.getClientRect().x - breakPoint + e.target.getClientRect().width) <= snapRange) {\n newPos.x = breakPoint + e.target.absolutePosition().x - e.target.getClientRect().x - e.target.getClientRect().width;\n guideLinesX.push(breakPoint);\n }\n });\n e.target.absolutePosition(newPos);\n guideLinesX.forEach(line=>{\n if (Math.round(e.target.getClientRect().x - line) === 0 ||\n Math.round(e.target.getClientRect().x - line + e.target.getClientRect().width / 2) === 0 ||\n Math.round(e.target.getClientRect().x - line + e.target.getClientRect().width) === 0) {\n createLine(Layer, false, line, 0);\n }\n });\n // Snap horizontally\n horizontal.forEach(breakPoint => {\n if (Math.abs(e.target.getClientRect().y - breakPoint) <= snapRange) {\n newPos.y = breakPoint + e.target.absolutePosition().y - e.target.getClientRect().y;\n guideLinesY.push(breakPoint);\n }\n if (Math.abs(e.target.getClientRect().y - breakPoint + e.target.getClientRect().height) <= snapRange) {\n newPos.y = breakPoint + e.target.absolutePosition().y - e.target.getClientRect().y - e.target.getClientRect().height;\n guideLinesY.push(breakPoint);\n }\n if (Math.abs(e.target.getClientRect().y - breakPoint + e.target.getClientRect().height / 2) <= snapRange) {\n newPos.y = breakPoint + e.target.absolutePosition().y - e.target.getClientRect().y - e.target.getClientRect().height / 2;\n guideLinesY.push(breakPoint);\n }\n });\n e.target.absolutePosition(newPos);\n guideLinesY.forEach(line=>{\n if (Math.round(e.target.getClientRect().y - line) === 0 ||\n Math.round(e.target.getClientRect().y - line + e.target.getClientRect().height) === 0 ||\n Math.round(e.target.getClientRect().y - line + e.target.getClientRect().height / 2) === 0) {\n createLine(Layer, true, 0, line);\n }\n });\n };\n\n const handleResizing = e => {\n const Layer = e.target.parent;\n const { snapRange } = defaultParams;\n\n let { horizontal, vertical } = getSnappingPoints(e);\n if (!e.currentTarget.keepRatio() || (e.currentTarget.keepRatio() && !!!oppositeAnchors[e.currentTarget._movingAnchorName])){\n e.currentTarget.anchorDragBoundFunc((oldAbsPos, newAbsPos) => {\n\n Layer.find('.guid-line').forEach(line => line.destroy());\n let bounds = { x: newAbsPos.x, y: newAbsPos.y };\n //console.log(Konva.Util.haveIntersection(e.target.getClientRect(),breakPoint))\n if (e.currentTarget.getActiveAnchor() === 'rotater') return bounds;\n for (let breakPoint of vertical) {\n if (Math.abs(newAbsPos.x - breakPoint) <= snapRange &&\n Math.abs(oldAbsPos.x - breakPoint) <= snapRange + 1\n ) {\n bounds.x = breakPoint;\n createLine(Layer, false, breakPoint, 0);\n break;\n }\n }\n for (let breakPoint of horizontal) {\n if (Math.abs(newAbsPos.y - breakPoint) <= snapRange &&\n Math.abs(oldAbsPos.y - breakPoint) <= snapRange + 1\n ) {\n bounds.y = breakPoint;\n createLine(Layer, true, 0, breakPoint);\n break;\n }\n }\n\n return bounds;\n });\n } else {\n e.currentTarget.anchorDragBoundFunc((oldAbsPos, newPos) => {\n Layer.find('.guid-line').forEach(line => line.destroy());\n const currentAnchorName = e.currentTarget._movingAnchorName;\n const oppositeAnchorName = oppositeAnchors[currentAnchorName];\n\n const movingAnchor = e.currentTarget.findOne(`.${currentAnchorName}`);\n // Capture the anchor's starting absolute position:\n const anchorStartPosition = movingAnchor.getAbsolutePosition();\n\n // Do nothing for the rotater anchor.\n if (currentAnchorName === 'rotater') {\n return newPos;\n }\n\n const oppositeElement = e.currentTarget.findOne(`.${oppositeAnchorName}`);\n if (!oppositeElement) return newPos;\n const oppositePoint = oppositeElement.getAbsolutePosition();\n\n const slope = calculateSlope(anchorStartPosition, oppositePoint);\n\n\n // Calculate the vector from the starting anchor position to the opposite anchor.\n const transformVector = {\n x: anchorStartPosition.x - oppositePoint.x,\n y: anchorStartPosition.y - oppositePoint.y,\n };\n\n // Compute the movement delta from the starting position.\n const delta = {\n x: newPos.x - anchorStartPosition.x,\n y: newPos.y - anchorStartPosition.y,\n };\n\n // Project the delta onto the transform vector.\n const projectedDelta = vectorProject(delta, transformVector);\n\n // Compute the candidate new position (before snapping).\n const nextPos = {\n x: anchorStartPosition.x + projectedDelta.x,\n y: anchorStartPosition.y + projectedDelta.y,\n };\n\n for (let breakPoint of horizontal) {\n if (Math.abs(nextPos.y - breakPoint) <= snapRange) {\n nextPos.y = breakPoint;\n nextPos.x = anchorStartPosition.x + (breakPoint - anchorStartPosition.y) / slope;\n createLine(Layer, true, 0, breakPoint);\n break;\n }\n }\n for (let breakPoint of vertical) {\n if (Math.abs(nextPos.x - breakPoint) <= snapRange) {\n nextPos.x = breakPoint;\n nextPos.y = anchorStartPosition.y + slope * (breakPoint - anchorStartPosition.x);\n createLine(Layer, false, breakPoint, 0);\n break;\n }\n }\n\n return nextPos;\n });\n }\n\n };\n\n const handleResizeEnd = e =>{\n const Layer = e.target.parent;\n e.currentTarget.anchorDragBoundFunc((oldAbsPos, newPos) => {\n return newPos;\n });\n Layer.find('.guid-line').forEach(line => line.destroy());\n };\n const handleDragEnd = e =>{\n const Layer = e.target.parent;\n Layer.find('.guid-line').forEach(line => line.destroy());\n };\n\n return { handleDragging, handleResizing, handleResizeEnd, handleDragEnd };\n};\n","import React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { propTypes } from './props';\nimport { Container, EditorBox, InnerContainer, InnerContainerWrapper, Title } from './styled';\nimport { TopToolBar } from '../TopToolBar';\nimport { BottomToolBar } from '../BottomToolBar';\nimport { elementTypes, sideBarpillsList } from '@/constants';\nimport {\n Stage,\n Layer,\n Rect,\n Circle,\n Transformer,\n Arrow,\n RegularPolygon,\n Path,\n Star,\n Line,\n Group,\n} from 'react-konva';\nimport { CanvasImage } from '../CanvasImage';\nimport theme from '@/theme';\nimport { QrElement } from '../QrElement';\nimport { EditableText } from '../EditableText';\nimport { debounce } from '@/utils';\nimport { useKonvaSnapping } from './util';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const Editor = ({\n selectedTab,\n languageLocale,\n title = TEXT_DICTIONARY?.[languageLocale]?.TITLE,\n zoomPercentage,\n onChangeZoomPercentage,\n editorHeight,\n editorWidth,\n onSetBackgroundColor,\n elements,\n history,\n redoStack,\n onSetBackgroundImage,\n onUndo,\n onRedo,\n shapeStrokeColor,\n shapeStrokeWidth,\n shapeFillColor,\n onChangeShapeStrokeColor,\n onChangeShapeStrokeWidth,\n onChangeShapeFill,\n shapeOpacity,\n onChangeShapeOpacity,\n selectedElement,\n onSelectElement,\n stageRef,\n saveHistory,\n onChangeBackgroundImageOpacity,\n backgroundImageOpacity,\n onDeleteSelectedElement,\n onCopySelectedElement,\n onToggleLockElement,\n bringSelectedElementToFront,\n sendSelectedElementToBack,\n imageStrokeWidth,\n imageStrokeColor,\n imageOpacity,\n onChangeImageStrokeWidth,\n onChangeImageStrokeColor,\n onChangeImageOpacity,\n qrStrokeWidth,\n qrStrokeColor,\n qrOpacity,\n onChangeQrStrokeWidth,\n onChangeQrStrokeColor,\n onChangeQrOpacity,\n defaultTextProps,\n onChangeTextProperty,\n onSetPageSize,\n selectedPageSize,\n loadingImages,\n loadingFonts,\n uploadImageCallBack,\n setLoadingUploadImage,\n cuttingGuideStroke,\n cuttingGuideStrokeColor,\n onChangeCuttingGuideProp,\n onSave,\n showSaveButton,\n onSetSelectedTab,\n saveButtonText,\n onRemoveBackgroundImage,\n}) => {\n const transformerRef = useRef(null);\n useEffect(() => {\n if (transformerRef?.current) {\n const selectedNode = stageRef?.current?.findOne(`#${selectedElement?.id}`);\n if (selectedNode) {\n transformerRef?.current.nodes([selectedNode]);\n transformerRef?.current.getLayer().batchDraw();\n } else {\n transformerRef?.current.nodes([]);\n }\n }\n }, [selectedElement]);\n const { handleDragging, handleDragEnd, handleResizing, handleResizeEnd } = useKonvaSnapping({\n guidelineColor: 'blue',\n guidelineDash: true,\n snapToStageCenter: true,\n snapRange: 5,\n guidelineThickness: 1,\n showGuidelines: true,\n snapToShapes: true,\n snapToStageBorders: true,\n });\n // console.error({ selectedElement });\n let canvasBackgroundColor = useMemo(() => {\n let backgroundColor;\n let backgroundIndex = elements?.findIndex(e => e?.type === elementTypes?.backgroundColor);\n\n if (backgroundIndex > -1) {\n backgroundColor = elements?.[backgroundIndex]?.color;\n }\n return backgroundColor;\n }, [elements]);\n\n let canvasBackgroundImage = useMemo(() => {\n let backgroundImage;\n\n let backgroundImageIndex = elements?.findIndex(\n e => e?.type === elementTypes?.backgroundImage,\n );\n if (backgroundImageIndex > -1) {\n backgroundImage = elements?.[backgroundImageIndex];\n }\n return backgroundImage;\n }, [elements]);\n\n const handleTransform = (id, newAttrs) => {\n let newAttributes = { ...newAttrs };\n delete newAttributes['ref'];\n const updatedElements = elements?.map(el =>\n el.id === id ? { ...el, ...newAttributes } : el,\n );\n saveHistory(updatedElements);\n onSelectElement({ ...newAttributes });\n };\n const handleSelect = elem => {\n onSelectElement(elem);\n };\n\n const debouncedTransform = debounce((id, attrs) => {\n const updatedElements = elements?.map(el =>\n el.id === id\n ? {\n ...el,\n ...attrs,\n }\n : el,\n );\n saveHistory(updatedElements);\n onSelectElement({\n ...attrs,\n });\n }, 100);\n\n const debouncedChangeText = debounce(e => {\n onChangeTextProperty('text', e);\n }, 300);\n\n const handleTextTransform = (id, attrs) => {\n debouncedTransform(id, attrs);\n };\n\n const onChangeTextContent = e => {\n debouncedChangeText(e);\n };\n const renderElements = useCallback(\n el => {\n switch (el.type) {\n case elementTypes.circle:\n return (\n <Circle\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.square:\n return (\n <Rect\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.arrowRight:\n return (\n <Arrow\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.triangle:\n return (\n <RegularPolygon\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.heart:\n return (\n <Path\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.star:\n return (\n <Star\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.horizontalLine:\n return (\n <Line\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.verticalLine:\n return (\n <Line\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.image:\n return (\n <CanvasImage\n key={el.id}\n id={el.id}\n element={{\n ...el,\n }}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n />\n );\n case elementTypes.qr:\n return (\n <QrElement\n key={el.id}\n element={el}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n onDragMove={handleDragging}\n languageLocale={languageLocale}\n LogoTitle={TEXT_DICTIONARY?.[languageLocale]?.LOGO}\n />\n );\n case elementTypes.text:\n return (\n <EditableText\n trRef={transformerRef}\n key={el.id}\n id={el.id}\n element={el}\n onClick={() => handleSelect(el)}\n onTransform={e => handleTextTransform(el.id, e)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onChangeTextContent={onChangeTextContent}\n />\n );\n default:\n return null;\n }\n },\n [elements, selectedElement, languageLocale],\n );\n\n return (\n <Container selectedTab={selectedTab}>\n {selectedTab && selectedTab !== sideBarpillsList?.whiteLabel && (\n <TopToolBar\n selectedTab={selectedTab}\n onSetBackgroundColor={onSetBackgroundColor}\n elements={elements}\n canvasBackgroundColor={canvasBackgroundColor}\n onSetBackgroundImage={onSetBackgroundImage}\n canvasBackgroundImage={canvasBackgroundImage}\n shapeStrokeColor={shapeStrokeColor}\n shapeStrokeWidth={shapeStrokeWidth}\n shapeFillColor={shapeFillColor}\n onChangeShapeStrokeColor={onChangeShapeStrokeColor}\n onChangeShapeStrokeWidth={onChangeShapeStrokeWidth}\n onChangeShapeFill={onChangeShapeFill}\n shapeOpacity={shapeOpacity}\n onChangeShapeOpacity={onChangeShapeOpacity}\n selectedElement={selectedElement}\n onChangeBackgroundImageOpacity={onChangeBackgroundImageOpacity}\n backgroundImageOpacity={backgroundImageOpacity}\n imageStrokeWidth={imageStrokeWidth}\n imageStrokeColor={imageStrokeColor}\n imageOpacity={imageOpacity}\n onChangeImageStrokeWidth={onChangeImageStrokeWidth}\n onChangeImageStrokeColor={onChangeImageStrokeColor}\n onChangeImageOpacity={onChangeImageOpacity}\n qrStrokeWidth={qrStrokeWidth}\n qrStrokeColor={qrStrokeColor}\n qrOpacity={qrOpacity}\n onChangeQrStrokeWidth={onChangeQrStrokeWidth}\n onChangeQrStrokeColor={onChangeQrStrokeColor}\n onChangeQrOpacity={onChangeQrOpacity}\n defaultTextProps={defaultTextProps}\n onChangeTextProperty={onChangeTextProperty}\n onSetPageSize={onSetPageSize}\n selectedPageSize={selectedPageSize}\n languageLocale={languageLocale}\n uploadImageCallBack={uploadImageCallBack}\n setLoadingUploadImage={setLoadingUploadImage}\n cuttingGuideStroke={cuttingGuideStroke}\n cuttingGuideStrokeColor={cuttingGuideStrokeColor}\n onChangeCuttingGuideProp={onChangeCuttingGuideProp}\n onRemoveBackgroundImage={onRemoveBackgroundImage}\n />\n )}\n <InnerContainer>\n <InnerContainerWrapper editorHeight={editorHeight + 50} editorWidth={editorWidth}>\n {title && <Title>{title}</Title>}\n <EditorBox editorHeight={editorHeight} editorWidth={editorWidth}>\n {!loadingImages && !loadingFonts && (\n <Stage\n width={editorWidth}\n height={editorHeight}\n ref={stageRef}\n onMouseDown={e => {\n if (e.target === e.target.getStage()) {\n onSelectElement(null);\n onSetSelectedTab?.(sideBarpillsList.template);\n }\n }}\n >\n <Layer\n onClick={() => {\n onSelectElement(null);\n onSetSelectedTab?.(sideBarpillsList.template);\n }}\n listening={false}\n >\n <Rect\n width={editorWidth}\n height={editorHeight}\n fill={canvasBackgroundColor || theme.color.white}\n />\n {canvasBackgroundImage && (\n <CanvasImage\n element={{\n ...canvasBackgroundImage,\n width: editorWidth,\n height: editorHeight,\n }}\n />\n )}\n </Layer>\n <Layer>\n <Group\n scaleX={zoomPercentage / 100}\n scaleY={zoomPercentage / 100}\n >\n {elements?.map(el => renderElements(el))}\n {selectedElement && (\n <Transformer\n ref={transformerRef}\n onTransform={handleResizing}\n onTransformEnd={handleResizeEnd}\n enabledAnchors={\n selectedElement?.draggable\n ? selectedElement?.type ===\n elementTypes?.text\n ? [\n 'top-left',\n 'top-right',\n 'bottom-left',\n 'bottom-right',\n 'middle-left',\n 'middle-right',\n ]\n : [\n 'top-left',\n 'top-right',\n 'bottom-left',\n 'bottom-right',\n 'middle-left',\n 'middle-right',\n 'top-center',\n 'bottom-center',\n ]\n : []\n }\n borderStroke={theme.color.primary}\n borderStrokeWidth={2}\n // add anchors\n anchorFill={theme.color.white}\n anchorStroke={theme.color.primary}\n anchorStrokeWidth={2}\n anchorSize={8}\n rotateEnabled={\n selectedElement?.draggable ? true : false\n }\n // make all anchors look like circles\n // anchorCornerRadius={50}\n boundBoxFunc={(oldBox, newBox) => {\n // limit resize\n if (\n !selectedElement?.draggable ||\n // Handle element flliping\n newBox.width < 1 ||\n newBox.height < 1\n ) {\n return oldBox;\n }\n return newBox;\n }}\n />\n )}\n </Group>\n </Layer>\n <Layer listening={false}>\n <Rect\n listening={false}\n x={0}\n y={0}\n width={editorWidth}\n height={editorHeight}\n stroke={cuttingGuideStrokeColor}\n strokeWidth={cuttingGuideStroke}\n strokeScaleEnabled={false}\n fill={'transparent'}\n />\n </Layer>\n </Stage>\n )}\n </EditorBox>\n </InnerContainerWrapper>\n </InnerContainer>\n <BottomToolBar\n disableUndo={history.length === 0}\n disableRedo={redoStack.length === 0}\n selectedTab={selectedTab}\n zoomPercentage={zoomPercentage}\n onChangeZoomPercentage={onChangeZoomPercentage}\n onUndo={onUndo}\n onRedo={onRedo}\n selectedElement={selectedElement}\n onDeleteSelectedElement={onDeleteSelectedElement}\n onCopySelectedElement={onCopySelectedElement}\n onToggleLockElement={onToggleLockElement}\n bringSelectedElementToFront={bringSelectedElementToFront}\n sendSelectedElementToBack={sendSelectedElementToBack}\n languageLocale={languageLocale}\n onSave={onSave}\n showSaveButton={showSaveButton}\n saveButtonText={saveButtonText}\n />\n </Container>\n );\n};\n\nEditor.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n selectedSideBarItem: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n helperSideBarVisible: PropTypes.bool,\n onCollapse: PropTypes.func,\n onAddShape: PropTypes.func,\n defaultImagesList: PropTypes.array,\n customImagesList: PropTypes.array,\n onAddCustomImageToList: PropTypes.func,\n onAddImageToCanvas: PropTypes.func,\n toggleQr: PropTypes.func,\n qrPresent: PropTypes.bool,\n toggleQrLogo: PropTypes.func,\n addQrLogo: PropTypes.func,\n elements: PropTypes.array,\n qrLogo: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n onAddTextToCanvas: PropTypes.func,\n oncreateNewTemplate: PropTypes.func,\n languageLocale: PropTypes.string,\n uploadImageCallBack: PropTypes.func,\n setLoadingUploadImage: PropTypes.func,\n defaultTemplatesList: PropTypes.array,\n customTemplatesList: PropTypes.array,\n styleProps: PropTypes.object,\n};\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onCollapse: PropTypes.func,\n selectedSideBarItem: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Container = styled.div`\n height: 55px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-left: 17px;\n background: ${theme.color.gray_FBFBFB};\n border-bottom: 1px solid ${theme.color.gray_EDEDED};\n`;\n\nexport const IconWrapper = styled.div`\n height: 100%;\n padding: 0px 17px;\n display: flex;\n align-items: center;\n cursor: pointer;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { Container, IconWrapper } from './styled';\nimport theme from '@/theme';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconChevronLeft } from '@/assets';\nimport { Tooltip } from '../Tooltip';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const SideBarHeader = ({ onCollapse = () => {}, selectedSideBarItem, languageLocale }) => {\n const sideBarpillsText = {\n Template: TEXT_DICTIONARY?.[languageLocale]?.TEMPLATE,\n Text: TEXT_DICTIONARY?.[languageLocale]?.TEXT,\n Image: TEXT_DICTIONARY?.[languageLocale]?.IMAGE,\n Shape: TEXT_DICTIONARY?.[languageLocale]?.SHAPE,\n QR: TEXT_DICTIONARY?.[languageLocale]?.QR_CODE,\n 'White-label': TEXT_DICTIONARY?.[languageLocale]?.BRANDING,\n };\n return (\n <Container>\n <StyledText\n fontWeight={theme.fontWeights[600]}\n color={theme.color.gray_545454}\n fontSize={16}\n >\n {sideBarpillsText?.[selectedSideBarItem]}\n </StyledText>\n <Tooltip text={TEXT_DICTIONARY?.[languageLocale]?.COLLAPSE} position=\"left\">\n <IconWrapper onClick={onCollapse}>\n <StyledImage src={IconChevronLeft} />\n </IconWrapper>\n </Tooltip>\n </Container>\n );\n};\n\nSideBarHeader.propTypes = propTypes;\n","import { helperSideBarWidth } from '@/constants/layoutConstants';\nimport theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const SideBarWrapper = styled.div`\n width: ${({ visible = true }) => (visible ? helperSideBarWidth : 0)}px;\n display: flex;\n flex-direction: column;\n background: ${theme.color.gray_FBFBFB};\n border-left: 1px solid ${theme.color.gray_F5F6F6};\n transition: width 0.3s ease-in-out;\n overflow: hidden;\n`;\n\nexport const SideBarContainer = styled.div`\n flex: 1;\n overflow: auto;\n display: flex;\n flex-direction: column;\n width: ${helperSideBarWidth}px;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n oncreateNewTemplate: PropTypes.func,\n languageLocale: PropTypes.string,\n defaultTemplatesList: PropTypes.array,\n customTemplatesList: PropTypes.array,\n};\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n title: PropTypes.string,\n left: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n hideIcon: PropTypes.bool,\n marginTop: PropTypes.number,\n marginBottom: PropTypes.number,\n content: PropTypes.node,\n};\n","import styled from 'styled-components';\n\nexport const CollapsableContainer = styled.div`\n display: flex;\n flex-direction: column;\n margin-top: ${({ marginTop }) => marginTop}px;\n margin-bottom: ${({ marginBottom }) => marginBottom}px;\n`;\n\nexport const CollapsableHeader = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n cursor: pointer;\n justify-content: flex-start;\n align-self: flex-start;\n margin-bottom: 14px;\n`;\n\nexport const LeftIconWrapper = styled.div`\n margin-right: 6px;\n display: flex;\n align-items: center;\n`;\n\nexport const IconWrapper = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n margin-top: 3px;\n`;\n\nexport const CollapsableContent = styled.div`\n display: ${({ visible }) => (visible ? 'flex' : 'none')};\n`;\n","import React, { useCallback, useState } from 'react';\nimport { propTypes } from './props';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport theme from '@/theme';\nimport { IconCheveronDown } from '@/assets';\nimport {\n CollapsableContainer,\n CollapsableContent,\n CollapsableHeader,\n IconWrapper,\n LeftIconWrapper,\n} from './styled';\n\nexport const Collapsable = ({\n title,\n left,\n hideIcon = false,\n marginTop = 0,\n marginBottom = 30,\n content,\n}) => {\n const [visible, setVisible] = useState(true);\n const toggleVisibility = useCallback(() => {\n if (hideIcon) return;\n setVisible(!visible);\n }, [visible, setVisible]);\n\n return (\n <CollapsableContainer marginTop={marginTop} marginBottom={marginBottom}>\n <CollapsableHeader onClick={toggleVisibility}>\n {left && <LeftIconWrapper>{left}</LeftIconWrapper>}\n <StyledText\n color={theme.color.gray_646464}\n fontWeight={theme.fontWeights[500]}\n marginRight={6}\n >\n {title}\n </StyledText>\n {!hideIcon && (\n <IconWrapper>\n <StyledImage src={IconCheveronDown} />\n </IconWrapper>\n )}\n </CollapsableHeader>\n <CollapsableContent visible={visible}>{content}</CollapsableContent>\n </CollapsableContainer>\n );\n};\n\nCollapsable.propTypes = propTypes;\n","import styled from 'styled-components';\n\nexport const TemplatesContainer = styled.div`\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n gap: 10px;\n align-items: flex-start;\n`;\n\nexport const TemplateItem = styled.div`\n display: flex;\n flex-direction: column;\n cursor: pointer;\n position: relative;\n overflow: hidden;\n\n &::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.2);\n opacity: 0;\n transition: opacity 0.3s ease;\n z-index: 1;\n }\n\n &:hover::before {\n opacity: 1;\n }\n &:hover > button {\n display: flex;\n z-index: 2;\n }\n`;\n\nexport const StyledDeleteButton = styled.button`\n display: none;\n justify-content: center;\n align-items: center;\n height: 30px;\n width: 30px;\n padding: 8px;\n border-radius: 100%;\n background: rgba(255, 255, 255, 1);\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n\n &:hover {\n border-color: #d91919;\n }\n &:focus {\n outline: none;\n }\n`;\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\n","import React, { useMemo } from 'react';\nimport { propTypes } from './props';\nimport { Button } from '../Button';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconAdd } from '@/assets';\nimport { IconDelete } from '@/assets';\nimport { Collapsable } from '../Collapsable';\nimport theme from '@/theme';\nimport { StyledContainer, StyledDeleteButton, TemplateItem, TemplatesContainer } from './styled';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const TemplateSideBar = ({\n oncreateNewTemplate,\n languageLocale,\n onDeleteCustomTemplate,\n defaultTemplatesList,\n customTemplatesList,\n}) => {\n const renderDefaultContent = useMemo(() => {\n return (\n <TemplatesContainer>\n {defaultTemplatesList?.map((item, index) => (\n <TemplateItem\n key={index}\n onClick={() => {\n oncreateNewTemplate(item?.elements);\n }}\n >\n <StyledImage\n src={item?.image}\n maxHeight={125}\n maxWidth={115}\n borderRadius={6}\n />\n <StyledText\n color={theme.color.gray_A1A1A1}\n fontSize={10}\n style={{\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: 115,\n }}\n >\n {item?.title}\n </StyledText>\n </TemplateItem>\n ))}\n </TemplatesContainer>\n );\n }, []);\n\n const renderCustomContent = useMemo(() => {\n return (\n <TemplatesContainer>\n {customTemplatesList?.map((item, index) => (\n <TemplateItem\n key={index}\n onClick={() => {\n oncreateNewTemplate(item?.elements);\n }}\n >\n <StyledImage\n src={item?.image}\n maxHeight={125}\n maxWidth={115}\n borderRadius={6}\n />\n <StyledDeleteButton\n onClick={e => {\n e.stopPropagation(); // ⛔ Prevents parent onClick\n onDeleteCustomTemplate?.(item);\n }}\n >\n <StyledImage src={IconDelete} height={24} />\n </StyledDeleteButton>\n <StyledText\n color={theme.color.gray_A1A1A1}\n fontSize={10}\n style={{\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: 115,\n }}\n >\n {item?.title}\n </StyledText>\n </TemplateItem>\n ))}\n </TemplatesContainer>\n );\n }, []);\n\n return (\n <StyledContainer>\n <Button\n text={TEXT_DICTIONARY?.[languageLocale]?.NEW_TEMPLATE}\n left={<StyledImage src={IconAdd} />}\n marginBottom={38}\n onClick={() => oncreateNewTemplate()}\n />\n <Collapsable\n title={TEXT_DICTIONARY?.[languageLocale]?.DEFAULT}\n content={renderDefaultContent}\n />\n <Collapsable\n title={TEXT_DICTIONARY?.[languageLocale]?.CUSTOM_TEMPLATES}\n content={renderCustomContent}\n />\n </StyledContainer>\n );\n};\n\nTemplateSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onAddTextToCanvas: PropTypes.func,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\nexport const Container = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const ItemWrapper = styled.div`\n margin-bottom: 18px;\n cursor: pointer;\n transition: background-color 0.1s ease;\n padding: 5px;\n &:hover {\n background-color: ${theme.color.gray_F0F2F7};\n }\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { Button } from '../Button';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconAddText, IconInfo } from '@/assets';\nimport { Container, ItemWrapper, StyledContainer } from './styled';\nimport { Collapsable } from '../Collapsable';\nimport { textList } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const TextSideBar = ({ onAddTextToCanvas, languageLocale, defaultText }) => {\n const renderTextListContent = () => {\n return (\n <Container>\n {textList?.map((item, index) => {\n return (\n <ItemWrapper\n key={index}\n onClick={() => {\n onAddTextToCanvas({ ...item, text: defaultText || item?.text });\n }}\n >\n <StyledText\n color={item?.color}\n fontFamily={item?.fontFamily}\n fontWeight={item?.fontWeight}\n fontSize={item?.fontSize}\n >\n {defaultText || item?.text}\n </StyledText>\n </ItemWrapper>\n );\n })}\n </Container>\n );\n };\n return (\n <StyledContainer>\n <Button\n text={TEXT_DICTIONARY?.[languageLocale]?.ADD_TEXT}\n left={<StyledImage src={IconAddText} />}\n marginBottom={38}\n onClick={() => onAddTextToCanvas(null)}\n />\n <Collapsable\n title={TEXT_DICTIONARY?.[languageLocale]?.HELP_TEXT}\n content={renderTextListContent()}\n left={<StyledImage src={IconInfo} />}\n />\n </StyledContainer>\n );\n};\n\nTextSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n defaultImagesList: PropTypes.array,\n customImagesList: PropTypes.array,\n onAddCustomImageToList: PropTypes.func,\n onAddImageToCanvas: PropTypes.func,\n languageLocale: PropTypes.string,\n uploadImageCallBack: PropTypes.func,\n setLoadingUploadImage: PropTypes.func,\n};\n","import styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\n\nexport const ImagesContainer = styled.div`\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n gap: 20px;\n align-items: flex-start;\n`;\n\nexport const SingleItem = styled.div`\n display: flex;\n flex-direction: column;\n cursor: pointer;\n align-items: center;\n width: ${(width = 'calc(50% - 20px)') => width};\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { Button } from '../Button';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconUpload } from '@/assets';\nimport { ImagesContainer, SingleItem, StyledContainer } from './styled';\nimport { Collapsable } from '../Collapsable';\nimport theme from '@/theme';\nimport { pickImage } from '@/utils';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const ImageSideBar = ({\n defaultImagesList,\n customImagesList,\n onAddCustomImageToList,\n onAddImageToCanvas,\n languageLocale,\n uploadImageCallBack,\n setLoadingUploadImage,\n}) => {\n const renderDefaultContent = (\n <ImagesContainer>\n {defaultImagesList?.length === 0 && (\n <StyledText fontSize={10} color={theme.color.gray_535354}>\n {TEXT_DICTIONARY?.[languageLocale]?.PLEASE_ADD_IMAGES}\n </StyledText>\n )}\n {defaultImagesList?.map((item, index) => (\n <SingleItem\n key={index}\n width={'auto'}\n onClick={() => {\n onAddImageToCanvas(item);\n }}\n >\n <StyledImage src={item} maxHeight={100} maxWidth={100} />\n </SingleItem>\n ))}\n </ImagesContainer>\n );\n\n const renderCustomImages = (\n <ImagesContainer>\n {customImagesList?.length === 0 && (\n <StyledText fontSize={10} color={theme.color.gray_535354}>\n {TEXT_DICTIONARY?.[languageLocale]?.PLEASE_ADD_IMAGES}\n </StyledText>\n )}\n {customImagesList?.map((item, index) => (\n <SingleItem\n key={index}\n onClick={() => {\n onAddImageToCanvas(item);\n }}\n >\n <StyledImage src={item} maxHeight={100} maxWidth={100} />\n </SingleItem>\n ))}\n </ImagesContainer>\n );\n\n const addImageToList = async () => {\n const file = await pickImage();\n if (!file) return;\n if (uploadImageCallBack) {\n setLoadingUploadImage(true);\n const imageUrl = await uploadImageCallBack(file);\n onAddCustomImageToList(imageUrl);\n setLoadingUploadImage(false);\n } else {\n const reader = new FileReader();\n reader.onload = () => {\n onAddCustomImageToList(reader.result);\n };\n reader.readAsDataURL(file);\n }\n };\n\n return (\n <StyledContainer>\n <Button\n text={TEXT_DICTIONARY?.[languageLocale]?.ADD_IMAGE}\n left={<StyledImage src={IconUpload} />}\n marginBottom={38}\n onClick={addImageToList}\n />\n <Collapsable\n title={TEXT_DICTIONARY?.[languageLocale]?.DEFAULT}\n content={renderDefaultContent}\n />\n <Collapsable\n title={TEXT_DICTIONARY?.[languageLocale]?.CUSTOM_IMAGES}\n content={renderCustomImages}\n />\n </StyledContainer>\n );\n};\n\nImageSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onAddShape: PropTypes.func,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\n\nexport const ShapesContainer = styled.div`\n display: flex;\n flex-wrap: wrap;\n gap: 15px;\n align-items: flex-start;\n`;\n\nexport const SingleItem = styled.div`\n display: flex;\n flex-direction: column;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n width: 71px;\n height: 71px;\n transition: background-color 0.1s ease;\n &:hover {\n background-color: ${theme.color.gray_F0F2F7};\n }\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport theme from '@/theme';\nimport { ShapesContainer, SingleItem, StyledContainer } from './styled';\nimport { shapesList } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const ShapeSideBar = ({ onAddShape, languageLocale }) => {\n return (\n <StyledContainer>\n <StyledText\n color={theme.color.gray_646464}\n fontWeight={theme.fontWeights[500]}\n marginRight={6}\n marginBottom={15}\n >\n {TEXT_DICTIONARY?.[languageLocale]?.ADD_SHAPES}\n </StyledText>\n <ShapesContainer>\n {shapesList.map((item, index) => {\n return (\n <SingleItem key={index} onClick={() => onAddShape(item?.shape)}>\n <StyledImage src={item?.icon} />\n </SingleItem>\n );\n })}\n </ShapesContainer>\n </StyledContainer>\n );\n};\n\nShapeSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n toggleQr: PropTypes.func,\n qrPresent: PropTypes.bool,\n toggleQrLogo: PropTypes.func,\n addQrLogo: PropTypes.func,\n elements: PropTypes.array,\n qrLogo: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n languageLocale: PropTypes.string,\n};\n","import styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n text: PropTypes.string,\n onToggle: PropTypes.func,\n isActive: PropTypes.bool,\n disabled: PropTypes.bool,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const ToggleContainer = styled.div`\n width: 44px;\n height: 24px;\n background-color: ${({ isActive }) =>\n isActive ? theme.color.green_80D965 : theme.color.gray_E8E8E8};\n border-radius: 25px;\n display: flex;\n align-items: center;\n padding: 2px;\n cursor: pointer;\n transition: background-color 0.3s ease;\n position: relative;\n`;\n\nexport const ToggleCircle = styled.div`\n width: 20px;\n height: 20px;\n background-color: white;\n border-radius: 50%;\n position: absolute;\n left: ${({ isActive }) => (isActive ? 'calc(100% - 24px)' : '4px')};\n transition:\n left 0.3s ease,\n box-shadow 0.3s ease;\n box-shadow: ${({ isActive }) =>\n isActive ? '2px 2px 5px rgba(0, 0, 0, 0.2)' : '-2px 2px 5px rgba(0, 0, 0, 0.2)'};\n`;\n\nexport const Container = styled.div`\n padding: 10px 0;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n`;\n\nexport const InfoContainer = styled.div`\n display: flex;\n align-items: center;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconInfo } from '@/assets';\nimport theme from '@/theme';\nimport { Container, InfoContainer, ToggleCircle, ToggleContainer } from './styled';\n\nexport const RadioSection = ({ text, onToggle, isActive, disabled }) => {\n return (\n <Container>\n <InfoContainer>\n <StyledImage src={IconInfo} />\n <StyledText\n marginLeft={6}\n color={theme.color.black}\n fontSize={12}\n fontWeight={theme.fontWeights[500]}\n >\n {text}\n </StyledText>\n </InfoContainer>\n <ToggleContainer\n isActive={isActive}\n onClick={() => {\n if (disabled) {\n return;\n }\n onToggle && onToggle();\n }}\n >\n <ToggleCircle isActive={isActive} />\n </ToggleContainer>\n </Container>\n );\n};\n\nRadioSection.propTypes = propTypes;\n","import React, { useMemo } from 'react';\nimport { propTypes } from './props';\nimport { StyledContainer } from './styled';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport theme from '@/theme';\nimport { RadioSection } from '../RadioSection';\nimport { Button } from '../Button';\nimport { IconUpload } from '@/assets';\nimport { elementTypes } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const QrSideBar = ({\n toggleQr,\n qrPresent,\n toggleQrLogo,\n addQrLogo,\n elements,\n qrLogo,\n languageLocale,\n}) => {\n let logoVisible = useMemo(() => {\n let index = elements?.findIndex(e => e?.type === elementTypes?.qr);\n if (index < 0) {\n return false;\n }\n return elements?.[index]?.logoVisible;\n }, [elements]);\n return (\n <StyledContainer>\n <StyledText\n color={theme.color.gray_646464}\n fontWeight={theme.fontWeights[500]}\n marginRight={6}\n marginBottom={17}\n >\n {TEXT_DICTIONARY?.[languageLocale]?.SETTINGS}\n </StyledText>\n <RadioSection\n text={TEXT_DICTIONARY?.[languageLocale]?.SHOW_QR_CODE}\n isActive={qrPresent}\n onToggle={toggleQr}\n />\n <RadioSection\n text={TEXT_DICTIONARY?.[languageLocale]?.SHOW_LOGO_IN_QR}\n isActive={qrPresent && logoVisible}\n onToggle={toggleQrLogo}\n disabled={!qrPresent}\n />\n\n <Button\n text={TEXT_DICTIONARY?.[languageLocale]?.ADD_LOGO}\n left={<StyledImage src={IconUpload} />}\n marginBottom={30}\n marginTop={24}\n onClick={addQrLogo}\n />\n {qrLogo && <StyledImage src={qrLogo} height={89} width={89} />}\n </StyledContainer>\n );\n};\n\nQrSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n translation: PropTypes.object,\n};\n","import styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { StyledContainer } from './styled';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport theme from '@/theme';\nimport { RadioSection } from '../RadioSection';\nimport { Button } from '../Button';\nimport { IconGraph } from '@/assets';\nimport { ButtonVarients } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const WhiteLabelSideBar = ({ languageLocale }) => (\n <StyledContainer>\n <StyledText\n color={theme.color.gray_646464}\n fontWeight={theme.fontWeights[500]}\n marginRight={6}\n marginBottom={17}\n >\n {TEXT_DICTIONARY?.[languageLocale]?.PREMIUM_SETTINGS}\n </StyledText>\n <RadioSection text={TEXT_DICTIONARY?.[languageLocale]?.SHOW_BRANDING} />\n\n <StyledText\n fontSize={12}\n color={theme.color.gray_333}\n marginTop={16}\n marginBottom={30}\n lineHeight={'20px'}\n >\n {TEXT_DICTIONARY?.[languageLocale]?.UNLOCK_PREMIUM_FEATURE_PARAGRAPH}\n </StyledText>\n <Button\n text={TEXT_DICTIONARY?.[languageLocale]?.UPGRADE_PLAN}\n left={<StyledImage src={IconGraph} />}\n varient={ButtonVarients.primary}\n />\n </StyledContainer>\n);\n\nWhiteLabelSideBar.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { SideBarHeader } from '../SideBarHeader';\nimport { SideBarContainer, SideBarWrapper } from './styled';\nimport { TemplateSideBar } from '../TemplateSideBar';\nimport { TextSideBar } from '../TextSideBar';\nimport { ImageSideBar } from '../ImageSideBar';\nimport { ShapeSideBar } from '../ShapeSideBar';\nimport { QrSideBar } from '../QrSideBar';\nimport { WhiteLabelSideBar } from '../WhiteLabelSideBar';\nimport { sideBarpillsList } from '@/constants';\nexport const HelperSideBar = ({\n selectedSideBarItem,\n helperSideBarVisible,\n onCollapse = () => {},\n onAddShape,\n defaultImagesList,\n customImagesList,\n onAddCustomImageToList,\n onAddImageToCanvas,\n toggleQr,\n qrPresent,\n toggleQrLogo,\n addQrLogo,\n elements,\n qrLogo,\n onAddTextToCanvas,\n oncreateNewTemplate,\n uploadImageCallBack,\n setLoadingUploadImage,\n defaultTemplatesList,\n customTemplatesList,\n onDeleteCustomTemplate,\n styleProps,\n defaultText,\n languageLocale,\n}) => (\n <SideBarWrapper visible={selectedSideBarItem && helperSideBarVisible}>\n <SideBarHeader\n onCollapse={onCollapse}\n selectedSideBarItem={selectedSideBarItem}\n languageLocale={languageLocale}\n />\n <SideBarContainer visible={selectedSideBarItem && helperSideBarVisible}>\n {selectedSideBarItem === sideBarpillsList?.template ? (\n <TemplateSideBar\n oncreateNewTemplate={oncreateNewTemplate}\n languageLocale={languageLocale}\n onDeleteCustomTemplate={onDeleteCustomTemplate}\n defaultTemplatesList={defaultTemplatesList}\n customTemplatesList={customTemplatesList}\n styleProps={styleProps}\n />\n ) : selectedSideBarItem === sideBarpillsList?.text ? (\n <TextSideBar\n onAddTextToCanvas={onAddTextToCanvas}\n languageLocale={languageLocale}\n styleProps={styleProps}\n defaultText={defaultText}\n />\n ) : selectedSideBarItem === sideBarpillsList?.image ? (\n <ImageSideBar\n defaultImagesList={defaultImagesList}\n customImagesList={customImagesList}\n onAddCustomImageToList={onAddCustomImageToList}\n onAddImageToCanvas={onAddImageToCanvas}\n languageLocale={languageLocale}\n uploadImageCallBack={uploadImageCallBack}\n setLoadingUploadImage={setLoadingUploadImage}\n styleProps={styleProps}\n />\n ) : selectedSideBarItem === sideBarpillsList?.shape ? (\n <ShapeSideBar onAddShape={onAddShape} languageLocale={languageLocale} />\n ) : selectedSideBarItem === sideBarpillsList?.qr ? (\n <QrSideBar\n toggleQr={toggleQr}\n qrPresent={qrPresent}\n toggleQrLogo={toggleQrLogo}\n addQrLogo={addQrLogo}\n elements={elements}\n qrLogo={qrLogo}\n languageLocale={languageLocale}\n styleProps={styleProps}\n />\n ) : selectedSideBarItem === sideBarpillsList?.whiteLabel ? (\n <WhiteLabelSideBar languageLocale={languageLocale} styleProps={styleProps} />\n ) : null}\n </SideBarContainer>\n </SideBarWrapper>\n);\n\nHelperSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n children: PropTypes.node,\n backgroundColor: PropTypes.string,\n};\n","import React from 'react';\nimport { propTypes } from './props';\nimport theme from '@/theme';\n\nexport const Overlay = ({ children, backgroundColor = theme.color.black_transparent }) => (\n <div\n style={{\n height: '100%',\n width: '100%',\n position: 'absolute',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n background: backgroundColor,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n zIndex: 99999,\n }}\n >\n {children}\n </div>\n);\n\nOverlay.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n size: PropTypes.string,\n color: PropTypes.string,\n borderWidth: PropTypes.string,\n};\n","import styled, { keyframes } from 'styled-components';\n\nconst spin = keyframes`\n to {\n transform: rotate(360deg);\n }\n`;\n\nexport const SpinnerWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const Spinner = styled.div`\n width: ${props => props.size || '40px'};\n height: ${props => props.size || '40px'};\n border: ${props => props.borderWidth || '4px'} solid\n ${props => props.color + '33' || 'rgba(0, 123, 255, 0.2)'};\n border-top-color: ${props => props.color || '#007bff'};\n border-radius: 50%;\n animation: ${spin} 1s linear infinite;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { Spinner, SpinnerWrapper } from './styled';\n\nexport const LoadingSpinner = ({ size = '40px', color = '#007bff', borderWidth = '4px' }) => (\n <SpinnerWrapper>\n <Spinner size={size} color={color} borderWidth={borderWidth} />\n </SpinnerWrapper>\n);\n\nLoadingSpinner.propTypes = propTypes;\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import memoize from '@emotion/memoize';\n\n// eslint-disable-next-line no-undef\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","import React, {\n useCallback,\n useMemo,\n useRef,\n useState,\n useEffect,\n forwardRef,\n useImperativeHandle,\n} from 'react';\nimport { propTypes } from './props';\nimport { StudioWrapper } from './styled';\nimport { Editor, HelperSideBar, LoadingSpinner, Overlay, SideBar } from '@/components';\nimport {\n calculatePercentageValue,\n exportStageAsImage,\n isElementOfSameType,\n isElementShape,\n loadAllGoogleFonts,\n pickImage,\n preloadRelevantImages,\n removeImageProperty,\n validateLocale,\n} from '@/utils';\nimport { pageSizes, pageSizesDimensions } from '@/constants/layoutConstants';\nimport {\n basicTextProps,\n defaultElements,\n defaultSideBarImagesList,\n elementTypes,\n sideBarpillsList,\n} from '@/constants';\nimport theme from '@/theme';\nimport { StyleSheetManager } from 'styled-components';\nimport isPropValid from '@emotion/is-prop-valid';\n/**\n * @typedef {Object} StudioProps\n * @property {string} [title]\n * @property {string} [languageLocale]\n * @property {Array} [elementsList]\n * @property {Array} [customImages]\n * @property {Array} [defaultImages]\n * @property {boolean} [disableWhiteLabel]\n * @property {Array} [defaultTemplatesList]\n * @property {Array} [customTemplatesList]\n * @property {string} [qrLink]\n * @property {Object} [styleProps]\n * @property {string} [defaultText]\n * @property {Function} onSave\n * @property {string} [saveButtonText]\n * @property {'en'|'ru'|'pl'|'de'|'es'|'fr'|'it'} [locale]\n */\n\n/**\n * @type {React.ForwardRefExoticComponent<StudioProps & React.RefAttributes<HTMLDivElement>>}\n */\nexport const Studio = forwardRef(\n (\n {\n title = '',\n elementsList = defaultElements,\n uploadImageCallBack,\n customImages,\n defaultImages = defaultSideBarImagesList,\n disableWhiteLabel,\n defaultTemplatesList = [],\n customTemplatesList = [],\n onDeleteCustomTemplate,\n qrLink = 'www.google.com',\n styleProps = {},\n defaultText,\n onSave,\n showSaveButton,\n saveButtonText,\n locale = 'en',\n },\n ref,\n ) => {\n const stageRef = useRef(null);\n const [selectedTab, setSelectedTab] = useState(sideBarpillsList.template);\n const [languageLocale, setLanguageLocale] = useState(validateLocale(locale));\n const [loadingFonts, setLoadingFonts] = useState(true);\n const [loadingImages, setLoadingImages] = useState(true);\n const [loading, setLoading] = useState(false);\n const [loadingUploadImage, setLoadingUploadImage] = useState(false);\n const [helperSideBarVisible, setHelperSideBarVisible] = useState(true);\n const [zoomPercentage, setZoomPercentage] = useState(100);\n const [elements, setElements] = useState(elementsList);\n const [backgroundImageOpacity, setBackgroundImageOpacity] = useState(1);\n const [history, setHistory] = useState([]);\n const [redoStack, setRedoStack] = useState([]);\n const [shapeFillColor, setShapeFillColor] = useState(theme.color.white);\n const [shapeStrokeWidth, setShapeStrokeWidth] = useState(1);\n const [shapeStrokeColor, setShapeStrokeColor] = useState(theme.color.black);\n const [shapeOpacity, setShapeOpacity] = useState(1);\n const [imageStrokeWidth, setImageStrokeWidth] = useState(0);\n const [imageStrokeColor, setImageStrokeColor] = useState(theme.color.black);\n const [imageOpacity, setImageOpacity] = useState(1);\n const [qrStrokeWidth, setQrStrokeWidth] = useState(2);\n const [qrStrokeColor, setQrStrokeColor] = useState(theme.color.black);\n const [qrOpacity, setQrOpacity] = useState(1);\n const [selectedElement, setSelectedElement] = useState(null);\n const [customImagesList, setCustomImagesList] = useState(customImages || []);\n const [qrLogo, setQrLogo] = useState(null);\n const [defaultTextProps, setDefaultTextProps] = useState(basicTextProps);\n useImperativeHandle(ref, () => ({\n onSave: async () => {\n setLoading(true);\n setSelectedElement(null);\n setZoomPercentage(100);\n await new Promise(resolve => setTimeout(resolve, 100));\n let processedElements = removeImageProperty(elements);\n const dataURL = await exportStageAsImage(stageRef);\n setLoading(false);\n return { elements: processedElements, image: dataURL };\n },\n }));\n // console.log(isPropValid('onClick'));\n useEffect(() => {\n setLanguageLocale(validateLocale(locale));\n }, [locale]);\n\n useEffect(() => {\n setCustomImagesList(customImages);\n }, [customImages]);\n\n useEffect(() => {\n setLoadingFonts(true);\n loadAllGoogleFonts()\n .then(() => {\n // eslint-disable-next-line no-console\n // console.log(msg);\n })\n .catch(err => {\n // eslint-disable-next-line no-console\n console.error('❌ Error loading fonts:', err);\n })\n .finally(() => {\n setTimeout(() => {\n setLoadingFonts(false);\n }, 1000);\n // eslint-disable-next-line no-console\n console.log('🎉 Font loading complete!');\n });\n }, []);\n useEffect(() => {\n LoadImages(elementsList);\n setElements(elementsList);\n }, [...elementsList]);\n\n const LoadImages = elems => {\n setLoadingImages(true);\n preloadRelevantImages(elems)\n .then(({ errors }) => {\n // eslint-disable-next-line no-console\n // console.log('✅ Loaded images:', successes);\n if (errors?.length > 0) {\n // eslint-disable-next-line no-console\n console.log('❌ Failed images:', errors);\n }\n })\n .catch(err => {\n // eslint-disable-next-line no-console\n console.error('Something went really wrong:', err);\n })\n .finally(() => {\n setLoadingImages(false);\n });\n };\n\n const editorHeight = useMemo(() => {\n return calculatePercentageValue(\n pageSizesDimensions[\n elements?.find(e => e?.type === elementTypes?.pageSize)?.size || pageSizes?.A4\n ]?.height,\n zoomPercentage,\n );\n }, [zoomPercentage, elements]);\n const editorWidth = useMemo(() => {\n return calculatePercentageValue(\n pageSizesDimensions[\n elements?.find(e => e?.type === elementTypes?.pageSize)?.size || pageSizes?.A4\n ]?.width,\n zoomPercentage,\n );\n }, [zoomPercentage, elements]);\n const selectedPageSize = useMemo(() => {\n return elements?.find(e => e?.type === elementTypes?.pageSize)?.size || pageSizes?.A4;\n }, [elements]);\n\n const onSelectedTab = useCallback(\n tab => {\n setSelectedElement(null);\n setSelectedTab(tab);\n setHelperSideBarVisible(true);\n },\n [setSelectedTab],\n );\n\n const onCollapseHelperSideBar = useCallback(() => {\n setHelperSideBarVisible(false);\n }, [setHelperSideBarVisible]);\n\n const onChangeZoomPercentage = percentage => {\n setZoomPercentage(percentage);\n };\n\n const saveHistory = newElements => {\n setHistory([...history, elements]);\n setRedoStack([]);\n setElements(newElements);\n };\n\n const onSetBackgroundColor = color => {\n if (!color) {\n return;\n }\n let newElement;\n let elemClone = [...elements];\n let backgroundColorIndex = elemClone.findIndex(\n e => e?.type === elementTypes?.backgroundColor,\n );\n if (backgroundColorIndex > -1) {\n elemClone.splice(backgroundColorIndex, 1);\n }\n newElement = {\n type: elementTypes?.backgroundColor,\n id: `element${Date.now()}`,\n color: color,\n };\n\n saveHistory([...elemClone, newElement]);\n };\n const onSetPageSize = size => {\n if (!size) {\n return;\n }\n\n let elemClone = JSON.parse(JSON.stringify(elements));\n let sizeIndex = elemClone.findIndex(e => e?.type === elementTypes?.pageSize);\n if (sizeIndex > -1) {\n elemClone[sizeIndex]['size'] = size;\n } else {\n let sizeElement = {\n type: elementTypes?.pageSize,\n id: `element${Date.now()}`,\n size: size,\n };\n elemClone.push(sizeElement);\n }\n\n saveHistory(removeImageProperty(elemClone));\n };\n\n const onChangeCuttingGuideProp = (type, value) => {\n let elemClone = JSON.parse(JSON.stringify(elements));\n let sizeIndex = elemClone.findIndex(e => e?.type === elementTypes?.pageSize);\n if (sizeIndex > -1) {\n elemClone[sizeIndex][type] = value;\n } else {\n let sizeElement = {\n type: elementTypes?.pageSize,\n id: `element${Date.now()}`,\n };\n sizeElement[type] = value;\n elemClone.push(sizeElement);\n }\n saveHistory(removeImageProperty(elemClone));\n };\n\n const addElement = elem => {\n saveHistory([...elements, elem]);\n setSelectedElement(elem);\n };\n\n const addShape = type => {\n let shapeProps = {\n id: `element${Date.now()}`,\n x: editorWidth / 2 - 50,\n y: editorHeight / 2 - 50,\n fill: shapeFillColor,\n stroke: shapeStrokeColor,\n strokeWidth: shapeStrokeWidth,\n opacity: shapeOpacity,\n type: type,\n draggable: true,\n };\n if (type === elementTypes.circle) {\n shapeProps['radius'] = 70;\n shapeProps['x'] = editorWidth / 2;\n shapeProps['y'] = editorHeight / 2;\n addElement(shapeProps);\n } else if (type === elementTypes.square) {\n shapeProps['height'] = 100;\n shapeProps['width'] = 100;\n shapeProps['name'] = elementTypes.square;\n\n addElement(shapeProps);\n } else if (type === elementTypes.arrowRight) {\n shapeProps['points'] = [0, 0, 100, 0];\n shapeProps['pointerLength'] = 20;\n shapeProps['pointerWidth'] = 20;\n shapeProps['strokeWidth'] = 4;\n shapeProps['fill'] = shapeStrokeColor;\n addElement(shapeProps);\n } else if (type === elementTypes.triangle) {\n shapeProps['sides'] = 3;\n shapeProps['radius'] = 60;\n shapeProps['rotation'] = 0;\n shapeProps['x'] = editorWidth / 2;\n shapeProps['y'] = editorHeight / 2;\n addElement(shapeProps);\n } else if (type === elementTypes.heart) {\n shapeProps['data'] = `M 50,20 \n C 20,-10 -30,40 50,90 \n C 130,40 80,-10 50,20 Z`;\n shapeProps['scale'] = { x: 1, y: 1 };\n addElement(shapeProps);\n } else if (type === elementTypes.star) {\n shapeProps['numPoints'] = 5;\n shapeProps['innerRadius'] = 30;\n shapeProps['outerRadius'] = 70;\n shapeProps['x'] = editorWidth / 2;\n shapeProps['y'] = editorHeight / 2;\n addElement(shapeProps);\n } else if (type === elementTypes.horizontalLine) {\n const centerY = editorHeight / 2;\n shapeProps['points'] = [50, centerY, editorWidth - 50, centerY];\n shapeProps['x'] = 0;\n shapeProps['y'] = 0;\n shapeProps['strokeWidth'] = 4;\n\n addElement(shapeProps);\n } else if (type === elementTypes.verticalLine) {\n const centerX = editorWidth / 2;\n shapeProps['points'] = [centerX, 50, centerX, editorHeight - 50];\n shapeProps['x'] = 0;\n shapeProps['y'] = 0;\n shapeProps['strokeWidth'] = 4;\n\n addElement(shapeProps);\n }\n // console.error(type);\n };\n\n const onSetBackgroundImage = img => {\n let newElement;\n let elemClone = [...elements];\n let backgroundImageIndex = elemClone.findIndex(\n e => e?.type === elementTypes?.backgroundImage,\n );\n if (backgroundImageIndex > -1) {\n elemClone.splice(backgroundImageIndex, 1);\n }\n newElement = {\n type: elementTypes?.backgroundImage,\n id: `element${Date.now()}`,\n src: img,\n opacity: backgroundImageOpacity,\n };\n saveHistory([...elemClone, newElement]);\n };\n const onRemoveBackgroundImage = () => {\n let elemClone = JSON.parse(JSON.stringify(elements));\n let backgroundImageIndex = elemClone.findIndex(\n e => e?.type === elementTypes?.backgroundImage,\n );\n if (backgroundImageIndex > -1) {\n elemClone.splice(backgroundImageIndex, 1);\n saveHistory(elemClone);\n }\n };\n\n const onChangeBackgroundImageOpacity = val => {\n let backgroundImageIndex = elements?.findIndex(\n e => e?.type === elementTypes?.backgroundImage,\n );\n if (backgroundImageIndex > -1) {\n const updatedElements = elements?.map(el =>\n el.type === elementTypes?.backgroundImage ? { ...el, opacity: val } : el,\n );\n\n saveHistory(updatedElements);\n }\n setBackgroundImageOpacity(val);\n };\n\n const undo = useCallback(() => {\n if (history.length > 0) {\n // if (history.length === 1) {\n // setSelectedElement(null);\n // }\n setSelectedElement(null);\n\n const previousState = history[history.length - 1];\n setRedoStack([elements, ...redoStack]);\n setHistory(history.slice(0, -1));\n setElements(previousState);\n }\n }, [history, elements, redoStack, setRedoStack, setHistory, setElements]);\n\n const redo = useCallback(() => {\n if (redoStack.length > 0) {\n setSelectedElement(null);\n\n const nextState = redoStack[0];\n setHistory([...history, elements]);\n setRedoStack(redoStack.slice(1));\n setElements(nextState);\n }\n }, [history, elements, redoStack, setHistory, setRedoStack, setElements]);\n\n const onSelectElement = element => {\n if (isElementShape(element)) {\n setSelectedTab(sideBarpillsList?.shape);\n } else if (isElementOfSameType(element, elementTypes?.image)) {\n setSelectedTab(sideBarpillsList?.image);\n } else if (isElementOfSameType(element, elementTypes?.qr)) {\n setSelectedTab(sideBarpillsList?.qr);\n } else if (isElementOfSameType(element, elementTypes?.text)) {\n setSelectedTab(sideBarpillsList?.text);\n }\n if (element) {\n let elem = element;\n delete elem['ref'];\n setSelectedElement({ ...elem });\n setHelperSideBarVisible(true);\n } else {\n setSelectedElement(null);\n }\n };\n\n const changeSelectedElementProperty = (key, value) => {\n let selectedElementCopy = { ...selectedElement };\n selectedElementCopy[key] = value;\n delete selectedElementCopy['ref'];\n if (key === 'fontWeight') {\n selectedElementCopy['fontVariant'] = value;\n }\n const updatedElements = elements?.map(el =>\n el.id === selectedElementCopy?.id ? { ...selectedElementCopy } : el,\n );\n saveHistory(updatedElements);\n setSelectedElement(selectedElementCopy);\n };\n\n const onChangeShapeFill = e => {\n if (selectedElement && isElementShape(selectedElement)) {\n changeSelectedElementProperty('fill', e);\n } else {\n setShapeFillColor(e);\n }\n };\n\n const onChangeShapeStrokeWidth = e => {\n if (selectedElement && isElementShape(selectedElement)) {\n changeSelectedElementProperty('strokeWidth', e);\n } else {\n setShapeStrokeWidth(e);\n }\n };\n\n const onChangeShapeStrokeColor = e => {\n if (selectedElement && isElementShape(selectedElement)) {\n changeSelectedElementProperty('stroke', e);\n } else {\n setShapeStrokeColor(e);\n }\n };\n\n const onChangeShapeOpacity = e => {\n if (selectedElement && isElementShape(selectedElement)) {\n changeSelectedElementProperty('opacity', e);\n } else {\n setShapeOpacity(e);\n }\n };\n const onDeleteSelectedElement = () => {\n let index = elements?.findIndex(e => e?.id === selectedElement?.id);\n if (index < 0) {\n return;\n }\n let copy = [...elements];\n copy.splice(index, 1);\n setSelectedElement(null);\n saveHistory([...copy]);\n };\n const onCopySelectedElement = () => {\n let copyElement = { ...selectedElement };\n copyElement['id'] = `element${Date.now()}`;\n copyElement['x'] = selectedElement?.x + 10;\n copyElement['y'] = selectedElement?.y + 10;\n copyElement['draggable'] = true;\n\n addElement(copyElement);\n };\n const onToggleLockElement = () => {\n changeSelectedElementProperty('draggable', !selectedElement?.draggable);\n // setSelectedElement(null);\n };\n const bringSelectedElementToFront = () => {\n let copyElements = [...elements];\n const index = copyElements?.findIndex(elem => elem.id === selectedElement?.id);\n if (index === -1) {\n return;\n }\n const [selectedElem] = copyElements?.splice(index, 1);\n copyElements?.push(selectedElem);\n saveHistory([...copyElements]);\n };\n const createNewTemplate = (elems = [...defaultElements]) => {\n setElements([...elems]);\n setHistory([]);\n setRedoStack([]);\n };\n\n const sendSelectedElementToBack = () => {\n let copyElements = [...elements];\n const index = copyElements?.findIndex(elem => elem.id === selectedElement?.id);\n if (index === -1) {\n return;\n }\n const [selectedElem] = copyElements?.splice(index, 1);\n copyElements?.unshift(selectedElem);\n saveHistory([...copyElements]);\n };\n const onChangeImageStrokeWidth = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.image)) {\n changeSelectedElementProperty('strokeWidth', e);\n } else {\n setImageStrokeWidth(e);\n }\n };\n\n const onChangeImageStrokeColor = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.image)) {\n changeSelectedElementProperty('stroke', e);\n } else {\n setImageStrokeColor(e);\n }\n };\n\n const onChangeImageOpacity = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.image)) {\n changeSelectedElementProperty('opacity', e);\n } else {\n setImageOpacity(e);\n }\n };\n\n const addCustomImageToList = img => {\n // console.error({img});\n setCustomImagesList([...customImagesList, img]);\n };\n\n const addImageToCanvas = img => {\n let imgProps = {\n id: `element${Date.now()}`,\n x: editorWidth / 2 - 50,\n y: editorHeight / 2 - 50,\n stroke: imageStrokeColor,\n strokeWidth: imageStrokeWidth,\n opacity: imageOpacity,\n type: elementTypes.image,\n draggable: true,\n // width: 100,\n // height: 100,\n src: img,\n };\n addElement(imgProps);\n };\n const addTextToCanvas = e => {\n let text = e ? e : defaultTextProps;\n let textProps = {\n id: `element${Date.now()}`,\n x: editorWidth / 2 - 100,\n y: editorHeight / 2,\n opacity: text?.opacity || defaultTextProps?.opacity,\n type: elementTypes.text,\n draggable: true,\n text: text?.text || defaultTextProps?.text,\n fontSize: text?.fontSize || defaultTextProps?.fontSize,\n fontFamily: text?.fontFamily || defaultTextProps?.fontFamily,\n color: text?.color || defaultTextProps?.color,\n textDecoration: text?.textDecoration || defaultTextProps?.textDecoration,\n fontStyle: text?.fontStyle || defaultTextProps?.fontStyle,\n fontWeight: text?.fontWeight || defaultTextProps?.fontWeight,\n textAlign: text?.textAlign || defaultTextProps?.textAlign,\n };\n if (text?.width) {\n textProps['width'] = text?.width;\n }\n\n addElement(textProps);\n };\n\n const addQrCode = () => {\n let qrProps = {\n id: `element${Date.now()}`,\n type: elementTypes.qr,\n height: 110,\n width: 110,\n x: editorWidth / 2 - 50,\n y: editorHeight / 2 - 50,\n fill: theme.color.green_80D965,\n stroke: qrStrokeColor,\n strokeWidth: qrStrokeWidth,\n draggable: true,\n qrLogo: null,\n qrText: qrLink,\n opacity: qrOpacity,\n logoVisible: false,\n };\n addElement(qrProps);\n };\n\n const removeQrCode = () => {\n let copy = elements?.filter(el => el.type !== elementTypes?.qr);\n if (selectedElement?.type === elementTypes?.qr) {\n setSelectedElement(null);\n }\n saveHistory([...copy]);\n };\n const onChangeQrStrokeWidth = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.qr)) {\n changeSelectedElementProperty('strokeWidth', e);\n } else {\n setQrStrokeWidth(e);\n }\n };\n\n const onChangeQrStrokeColor = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.qr)) {\n changeSelectedElementProperty('stroke', e);\n } else {\n setQrStrokeColor(e);\n }\n };\n\n const onChangeQrOpacity = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.qr)) {\n changeSelectedElementProperty('opacity', e);\n } else {\n setQrOpacity(e);\n }\n };\n const toggleQr = () => {\n if (elements?.findIndex(elem => elem.type === elementTypes?.qr) > -1) {\n removeQrCode();\n } else {\n addQrCode();\n }\n };\n const turnLogoVisibiltyOn = () => {\n const updatedElements = elements?.map(el =>\n el.type === elementTypes?.qr\n ? { ...el, logoVisible: true, qrLogo: el?.qrLogo || qrLogo }\n : el,\n );\n saveHistory(updatedElements);\n };\n const turnLogoVisibiltyOff = () => {\n const updatedElements = elements?.map(el =>\n el.type === elementTypes?.qr ? { ...el, logoVisible: false } : el,\n );\n saveHistory(updatedElements);\n };\n const toggleQrLogo = () => {\n let index = elements?.findIndex(elem => elem.type === elementTypes?.qr);\n if (index > -1) {\n setSelectedElement(null);\n if (elements?.[index]?.logoVisible) {\n turnLogoVisibiltyOff();\n } else {\n turnLogoVisibiltyOn();\n }\n }\n };\n\n const addQrLogo = async () => {\n const file = await pickImage();\n if (!file) return;\n if (uploadImageCallBack) {\n setLoadingUploadImage(true);\n const imageUrl = await uploadImageCallBack(file);\n addLogo(imageUrl);\n setLoadingUploadImage(false);\n } else {\n const reader = new FileReader();\n reader.onload = () => {\n addLogo(reader.result);\n };\n reader.readAsDataURL(file);\n }\n };\n const addLogo = url => {\n let index = elements?.findIndex(elem => elem.type === elementTypes?.qr);\n setQrLogo(url);\n if (index > -1) {\n // if (elements[index]?.logoVisible) {\n const updatedElements = elements?.map(el =>\n el.type === elementTypes?.qr ? { ...el, qrLogo: url } : el,\n );\n saveHistory(updatedElements);\n // }\n }\n };\n\n const onChangeTextProperty = (key, value) => {\n if (isElementOfSameType(selectedElement, elementTypes?.text)) {\n changeSelectedElementProperty(key, value);\n } else {\n let copyDefultProps = { ...defaultTextProps };\n copyDefultProps[key] = value;\n setDefaultTextProps({ ...copyDefultProps });\n }\n };\n const onSaveProgress = async () => {\n if (!onSave) {\n return;\n }\n setLoading(true);\n setSelectedElement(null);\n setZoomPercentage(100);\n await new Promise(resolve => setTimeout(resolve, 100));\n let processedElements = removeImageProperty(elements);\n const dataURL = await exportStageAsImage(stageRef);\n setLoading(false);\n onSave({ elements: processedElements, image: dataURL });\n };\n\n return (\n <StyleSheetManager shouldForwardProp={isPropValid}>\n <StudioWrapper>\n <SideBar\n selectedSideBarItem={selectedTab}\n onClickPill={onSelectedTab}\n languageLocale={languageLocale}\n disableWhiteLabel={disableWhiteLabel}\n styleProps={styleProps}\n />\n <HelperSideBar\n selectedSideBarItem={selectedTab}\n onCollapse={onCollapseHelperSideBar}\n helperSideBarVisible={helperSideBarVisible}\n onAddShape={addShape}\n defaultImagesList={defaultImages}\n customImagesList={customImagesList}\n onAddCustomImageToList={addCustomImageToList}\n onAddImageToCanvas={addImageToCanvas}\n onAddTextToCanvas={addTextToCanvas}\n toggleQr={toggleQr}\n qrPresent={elements?.findIndex(elem => elem.type === elementTypes?.qr) > -1}\n toggleQrLogo={toggleQrLogo}\n addQrLogo={addQrLogo}\n qrLogo={\n elements?.[elements?.findIndex(elem => elem.type === elementTypes?.qr)]\n ?.qrLogo || qrLogo\n }\n elements={elements}\n oncreateNewTemplate={createNewTemplate}\n uploadImageCallBack={uploadImageCallBack}\n setLoadingUploadImage={setLoadingUploadImage}\n defaultTemplatesList={defaultTemplatesList}\n customTemplatesList={customTemplatesList}\n onDeleteCustomTemplate={onDeleteCustomTemplate}\n styleProps={styleProps}\n defaultText={defaultText}\n languageLocale={languageLocale}\n />\n <Editor\n // canvasSize={canvasSize}\n cuttingGuideStroke={\n elements?.find(e => e?.type === elementTypes?.pageSize)\n ?.cuttingGuideStroke || 0\n }\n cuttingGuideStrokeColor={\n elements?.find(e => e?.type === elementTypes?.pageSize)\n ?.cuttingGuideStrokeColor || theme?.color.black\n }\n onChangeCuttingGuideProp={(type, value) => {\n onChangeCuttingGuideProp(type, value);\n }}\n editorHeight={editorHeight}\n editorWidth={editorWidth}\n selectedTab={selectedTab}\n title={title}\n zoomPercentage={zoomPercentage}\n onChangeZoomPercentage={onChangeZoomPercentage}\n onSetBackgroundColor={onSetBackgroundColor}\n elements={elements}\n history={history}\n redoStack={redoStack}\n onSetBackgroundImage={onSetBackgroundImage}\n onUndo={undo}\n onRedo={redo}\n shapeStrokeColor={shapeStrokeColor}\n shapeStrokeWidth={shapeStrokeWidth}\n shapeFillColor={shapeFillColor}\n imageStrokeWidth={imageStrokeWidth}\n imageStrokeColor={imageStrokeColor}\n imageOpacity={imageOpacity}\n onChangeImageStrokeWidth={onChangeImageStrokeWidth}\n onChangeImageStrokeColor={onChangeImageStrokeColor}\n onChangeImageOpacity={onChangeImageOpacity}\n onChangeShapeStrokeColor={onChangeShapeStrokeColor}\n onChangeShapeStrokeWidth={onChangeShapeStrokeWidth}\n onChangeShapeFill={onChangeShapeFill}\n shapeOpacity={shapeOpacity}\n onChangeShapeOpacity={onChangeShapeOpacity}\n qrStrokeWidth={qrStrokeWidth}\n qrStrokeColor={qrStrokeColor}\n qrOpacity={qrOpacity}\n onChangeQrStrokeWidth={onChangeQrStrokeWidth}\n onChangeQrStrokeColor={onChangeQrStrokeColor}\n onChangeQrOpacity={onChangeQrOpacity}\n selectedElement={selectedElement}\n onSelectElement={onSelectElement}\n stageRef={stageRef}\n saveHistory={saveHistory}\n onChangeBackgroundImageOpacity={onChangeBackgroundImageOpacity}\n backgroundImageOpacity={\n elements?.find(e => e?.type === elementTypes?.backgroundImage)\n ?.opacity || backgroundImageOpacity\n }\n onDeleteSelectedElement={onDeleteSelectedElement}\n onCopySelectedElement={onCopySelectedElement}\n onToggleLockElement={onToggleLockElement}\n bringSelectedElementToFront={bringSelectedElementToFront}\n sendSelectedElementToBack={sendSelectedElementToBack}\n defaultTextProps={defaultTextProps}\n onChangeTextProperty={onChangeTextProperty}\n onSetPageSize={onSetPageSize}\n selectedPageSize={selectedPageSize}\n loadingImages={loadingImages}\n loadingFonts={loadingFonts}\n uploadImageCallBack={uploadImageCallBack}\n setLoadingUploadImage={setLoadingUploadImage}\n onSave={onSave && onSaveProgress}\n showSaveButton={showSaveButton}\n onSetSelectedTab={onSelectedTab}\n saveButtonText={saveButtonText}\n languageLocale={languageLocale}\n onRemoveBackgroundImage={onRemoveBackgroundImage}\n />\n {(loadingFonts || loadingImages || loadingUploadImage || loading) && (\n <Overlay>\n <LoadingSpinner size=\"60px\" color={theme.color.secondary} />\n </Overlay>\n )}\n </StudioWrapper>\n </StyleSheetManager>\n );\n },\n);\n\nStudio.propTypes = propTypes;\nStudio.displayName = 'Studio';\n"],"names":["propTypes","title","PropTypes","string","languageLocale","elementsList","array","customImages","defaultImages","disableWhiteLabel","bool","defaultTemplatesList","customTemplatesList","qrLink","styleProps","object","defaultText","onSave","func","saveButtonText","locale","oneOf","palette","primary","secondary","gray_700","white","white_F5F5F5","white_F7F7F7","gray_535354","gray_545454","gray_646464","gray_200","gray_788899","icon_gray","gray_B8B8B8","gray_25","gray_7A7979","gray_E8E8E8","gray_EAEAEA","gray_CCC","gray_F2F2F2","gray_FDFCFC","gray_EDEDED","gray_FBFBFB","gray_F5F6F6","gray_A1A1A1","gray_F0F2F7","gray_333","gray_EFEFEF","gray_9DA1A7","green_80D965","black","black_transparent","color","_objectSpread","fonts","fontWeights","StudioWrapper","styled","div","_templateObject","_taggedTemplateLiteral","theme","selectedSideBarItem","oneOfType","onClickPill","SideBarWrapper","isSelected","onClick","icon","node","text","pillActiveColor","SideBarItem","_ref","_ref2","SideBarIcon","img","_templateObject2","_ref3","_ref3$isSelected","SideBarText","p","_templateObject3","_ref4","_ref4$isSelected","SideBarPill","_ref$isSelected","_ref$onClick","id","React","createElement","key","src","topTabBarpadding","helperSideBarWidth","pageSizes","A4","A3","A5","Letter","Legal","Ledger","B5","C5","pageSizesDimensions","_defineProperty","width","height","sideBarpillsList","template","image","shape","qr","whiteLabel","ButtonVarients","defaultSideBarImagesList","IconTools","IconToolsPink","textList","fontFamily","fontSize","fontWeight","textDecoration","fontStyle","textAlign","elementTypes","pageSize","backgroundColor","backgroundImage","circle","square","triangle","arrowRight","horizontalLine","verticalLine","star","heart","shapesList","IconCircle","IconSquare","IconTriangle","IconArrowRight","IconHorizontalLine","IconVerticalLine","IconStar","IconHeart","defaultElements","type","concat","Date","now","size","cuttingGuideStroke","cuttingGuideStrokeColor","basicTextProps","opacity","lineHeight","normalFonts","funkyFonts","fontFamilies","SUPPPORTED_LOCALES","TEXT_DICTIONARY","en","enTranslations","ru","ruTranslations","pl","plTranslations","de","deTranslations","es","esTranslations","fr","frTranslations","it","itTranslations","SideBar","_TEXT_DICTIONARY$lang","_TEXT_DICTIONARY$lang2","_TEXT_DICTIONARY$lang3","_TEXT_DICTIONARY$lang4","_TEXT_DICTIONARY$lang5","_TEXT_DICTIONARY$lang6","_ref$onClickPill","sideBarItems","TEMPLATE","IconTemplate","TEXT","IconText","IMAGE","IconImage","SHAPE","IconShape","QR","IconQrCode","WHITE_LABEL","IconWhiteLabel","onClickSinglePill","useCallback","e","renderPills","useMemo","map","item","primaryColor","selectedTab","zoomPercentage","number","onChangeZoomPercentage","editorHeight","editorWidth","onSetBackgroundColor","elements","history","redoStack","onSetBackgroundImage","onUndo","onRedo","shapeStrokeColor","shapeStrokeWidth","shapeFillColor","onChangeShapeStrokeColor","onChangeShapeStrokeWidth","onChangeShapeFill","shapeOpacity","onChangeShapeOpacity","selectedElement","onSelectElement","stageRef","saveHistory","onChangeBackgroundImageOpacity","backgroundImageOpacity","onDeleteSelectedElement","onCopySelectedElement","onToggleLockElement","bringSelectedElementToFront","sendSelectedElementToBack","imageStrokeWidth","imageStrokeColor","imageOpacity","onChangeImageStrokeWidth","onChangeImageStrokeColor","onChangeImageOpacity","qrStrokeWidth","qrStrokeColor","qrOpacity","onChangeQrStrokeWidth","onChangeQrStrokeColor","onChangeQrOpacity","defaultTextProps","onChangeTextProperty","onSetPageSize","selectedPageSize","loadingImages","loadingFonts","uploadImageCallBack","setLoadingUploadImage","onChangeCuttingGuideProp","Container","EditorBg","InnerContainer","InnerContainerWrapper","_ref5","Title","_templateObject4","EditorBox","_templateObject5","_ref6","_ref7","_ref8","_ref9","canvasBackgroundColor","canvasBackgroundImage","translation","ToolBarWrapper","disabled","OverlayBlocker","paddingTop","paddingBottom","paddingLeft","paddingRight","children","marginLeft","marginRight","justifyContent","gap","tooltip","tooltipPosition","StyledContainer","_ref$height","_ref2$marginLeft","_ref3$marginRight","_ref4$justifyContent","_ref5$paddingTop","_ref6$paddingRight","_ref7$paddingBottom","_ref8$paddingLeft","_ref10","_ref10$gap","_ref11","_ref12","position","Wrapper","TooltipText","css","_templateObject6","Tooltip","_ref$position","_ref$disabled","ToolBarButtonWrapper","left","right","center","list","onSelect","fontPicker","any","DropDownItem","IconWrapper","DropDownList","DropDownOption","DropDown","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","dropdownRef","useRef","useEffect","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","handleSelect","ref","style","IconDropDown","index","stopPropagation","padding","cursor","borderBottom","length","Label","RowContainer","RemoveButton","onChange","Box","input","attrs","ColorBox","setColor","handler","setTimeout","clearTimeout","onChangeColor","value","StyledImage","maxWidth","maxHeight","objectFit","_ref6$marginTop","marginTop","_ref7$marginRight","_ref8$marginBottom","marginBottom","_ref9$marginLeft","_ref10$paddingTop","_ref11$paddingRight","_ref12$paddingBottom","_ref13","_ref13$paddingLeft","_ref14","_ref14$borderRadius","borderRadius","StyledText","_ref15","_ref16","_ref16$fontSize","_ref17","_ref18","_ref18$fontWeight","_ref19","_ref20","_ref21","_ref21$marginTop","_ref22","_ref22$marginRight","_ref23","_ref23$marginBottom","_ref24","_ref24$marginLeft","_ref25","_ref25$paddingTop","_ref26","_ref26$paddingRight","_ref27","_ref27$paddingBottom","_ref28","_ref28$paddingLeft","calculatePercentageValue","percentage","pickImage","Promise","resolve","reject","accept","display","files","Error","click","isElementShape","elem","isElementOfSameType","debounce","delay","timeoutId","_this","_len","arguments","args","Array","_key","apply","sanitizeNumber","defaultValue","undefined","precision","num","parseFloat","isNaN","toFixed","loadAllGoogleFonts","weights","italics","fontParams","font","fontName","replace","variantStr","ital","w","join","fontURL","querySelector","link","href","rel","head","appendChild","loadPromises","forEach","weight","push","load","all","then","err","preloadRelevantImages","_asyncToGenerator","_regeneratorRuntime","mark","_callee","imagePromises","_args","wrap","_callee$","_context","prev","next","qrLogo","Image","onload","success","onerror","filter","Boolean","abrupt","allSettled","results","successes","r","status","errors","reason","stop","removeImageProperty","rest","_objectWithoutProperties","_excluded","exportStageAsImage","_callee3","pageSizeKey","scale","_args3","_callee3$","_context3","_callee2","stage","canvas","dataURL","_callee2$","_context2","toCanvas","pixelRatio","sent","toDataURL","t0","_x3","_x4","_x","_x2","validateLocale","includes","onChangeOpacity","min","max","step","pickerWidth","leftChild","rightChild","showLeftChild","varient","OpacityPicker","_ref$value","_ref$min","_ref$max","_ref$step","_ref$pickerWidth","_ref$gap","_ref$showLeftChild","_ref$varient","_ref$fontFamily","_ref$languageLocale","_ref$tooltip","OPACITY","_ref$tooltipPosition","pickerRef","opacityPickerVisible","setOpacityPickerVisible","IconOpacity","Math","round","bottom","background","border","zIndex","Number","strokeColor","onChangeStrokeWidth","leftIcon","elementType","StrokePicker","STROKE_WIDTH_AND_COLOR","_ref$leftIcon","IconGrid","strokePickerVisible","setStrokePickerVisible","_useState3","_useState4","alignItems","transform","pointerEvents","TemplateToolBar","onRemoveBackgroundImage","selectBackgroundColor","handleBackgroundUpload","file","imageUrl","reader","FileReader","result","readAsDataURL","Object","keys","PAGE_SIZE","BACKGROUND_COLOR","IconBackgroundColor","BACKGROUND_IMAGE","IconCross","IconBackgroundImage","BACKGROUND_IMAGE_OPACITY","IconBackgroundImageOpacity","IconDropDownSmall","CUTTING_GUIDE","IconFrame","textOpacity","tabsData","arrayOf","tabPadding","TabBarContainer","_ref2$marginRight","TabItem","isLast","_ref9$selected","selected","isFirst","ToolsTabBar","_ref$tabsData","_ref$tabPadding","_ref$marginRight","element","TextToolBar","_TEXT_DICTIONARY$lang7","_TEXT_DICTIONARY$lang8","_TEXT_DICTIONARY$lang9","_TEXT_DICTIONARY$lang10","_TEXT_DICTIONARY$lang11","_TEXT_DICTIONARY$lang12","TextTabsData","IconBold","BOLD","IconTextItalic","ITALIC","IconLineThrough","LINE_THROUGH","IconTextUnderLine","UNDERLINE","AlignmentTabsData","IconAlignLeft","LEFT_ALIGN","IconAlignCenter","CENTER_ALIGN","IconAlignRight","RIGHT_ALIGN","FONT_FAMILY","TEXT_SIZE","TEXT_LINE_HEIGHT","TEXT_COLOR","IconTextSmall","TEXT_OPACITY","ImageToolBar","strokeWidth","stroke","IMAGE_OPACITY","ShapeToolBar","SHAPE_FILL","fill","SHAPE_OPACITY","QrToolBar","TopToolBar","draggable","disableUndo","disableRedo","zoomLevel","onZoomIn","onZoomOut","ZoomControlWrapper","ZoomButton","Divider","ZoomPercentage","values","StyledButton","Button","_ref$marginBottom","_ref$marginTop","ZoomControls","_ref$zoomLevel","showSaveButton","SAVE","top","ZOOM_IN_OUT","IconZoomOut","IconZoomIn","ToolBarContainer","BottomToolBarControls","BringFrontBackTabsData","IconBringFront","BRING_FORWARD","IconSentBack","SEND_BACKWARD","LOCK","UNLOCK","IconUnlock","IconLock","COPY","IconCopy","DELETE","IconDelete","BottomToolbarWrapper","UndoRedoControls","UndeRedoTabsData","IconUndo","UNDO","IconRedo","REDO","BottomToolBar","Fragment","onDragEnd","onTransformEnd","onDragMove","CanvasImage","loaded","setLoaded","setImage","window","crossOrigin","_extends","strokeScaleEnabled","LogoTitle","QrElement","innerRectWidth","innerRectHeight","innerRectX","innerRectY","logo","setLogo","_useState5","_useState6","scaleX","scaleY","addQR","QRCode","qrText","margin","url","console","error","Group","Rect","fillPatternImage","fillPatternRepeat","fillPatternScale","x","y","logoVisible","Text","onTransform","onChangeTextContent","TextEditor","textNodeRef","onBlur","textWidth","textareaRef","styles","setStyles","_textNodeRef$attrs","_stg$attrs","_stg$attrs2","_textNodeRef$fontStyl","_textNodeRef$fontVari","_textNodeRef$textDeco","stg","getStage","findOne","styleObj","getHeight","overflow","outline","resize","transformOrigin","align","rotation","minHeight","whiteSpace","userSelect","call","fontVariant","_textareaRef$current","_textareaRef$current2","focus","select","Html","EditableText","trRef","textRef","setTextWidth","textFontSize","setTextFontSize","isEditing","setIsEditing","_useState7","_useState8","setText","_useState9","_useState10","isFontLoaded","setIsFontLoaded","tranform","transformer","activeAnchor","getActiveAnchor","updatedWidth","updatedObject","handleTransformEnd","nodeAttrs","newFontSize","handleTextDblClick","handleTextChange","newText","_textRef$current","getWidth","visible","onDblClick","onDblTap","useKonvaSnapping","params","_params$snapRange","_params$guidelineColo","_params$guidelineDash","_params$showGuideline","_params$guidelineThic","_params$snapToStageCe","_params$snapToStageBo","_params$snapToShapes","defaultParams","snapRange","guidelineColor","guidelineDash","showGuidelines","guidelineThickness","snapToStageCenter","snapToStageBorders","snapToShapes","oppositeAnchors","getSnappingPoints","currentTarget","vertical","horizontal","_stage$children","layer","_layer$children","layerChild","_layerChild$children","obj","box","getClientRect","getName","Konva","Transformer","createLine","Layer","isHorizontal","lineX","lineY","points","line","Line","name","dash","add","absolutePosition","dotProduct","v1","v2","vectorProject","a","b","dotAB","dotBB","scalar","calculateSlope","point1","point2","deltaX","deltaY","handleDragging","parent","find","destroy","_getSnappingPoints","newPos","guideLinesX","guideLinesY","breakPoint","abs","handleResizing","_getSnappingPoints2","keepRatio","_movingAnchorName","anchorDragBoundFunc","oldAbsPos","newAbsPos","bounds","_iterator","_createForOfIteratorHelper","_step","s","n","done","f","_iterator2","_step2","currentAnchorName","oppositeAnchorName","movingAnchor","anchorStartPosition","getAbsolutePosition","oppositeElement","oppositePoint","slope","transformVector","delta","projectedDelta","nextPos","_iterator3","_step3","_iterator4","_step4","handleResizeEnd","handleDragEnd","Editor","_ref$title","TITLE","onSetSelectedTab","transformerRef","_stageRef$current","selectedNode","nodes","getLayer","batchDraw","_useKonvaSnapping","backgroundIndex","findIndex","_elements$backgroundI","backgroundImageIndex","handleTransform","newAttrs","newAttributes","updatedElements","el","debouncedTransform","debouncedChangeText","handleTextTransform","renderElements","Circle","Arrow","RegularPolygon","Path","Star","LOGO","Stage","onMouseDown","listening","enabledAnchors","borderStroke","borderStrokeWidth","anchorFill","anchorStroke","anchorStrokeWidth","anchorSize","rotateEnabled","boundBoxFunc","oldBox","newBox","helperSideBarVisible","onCollapse","onAddShape","defaultImagesList","customImagesList","onAddCustomImageToList","onAddImageToCanvas","toggleQr","qrPresent","toggleQrLogo","addQrLogo","onAddTextToCanvas","oncreateNewTemplate","SideBarHeader","_ref$onCollapse","sideBarpillsText","Template","Shape","QR_CODE","BRANDING","COLLAPSE","IconChevronLeft","_ref$visible","SideBarContainer","hideIcon","content","CollapsableContainer","CollapsableHeader","LeftIconWrapper","CollapsableContent","Collapsable","_ref$hideIcon","setVisible","toggleVisibility","IconCheveronDown","TemplatesContainer","TemplateItem","StyledDeleteButton","button","TemplateSideBar","onDeleteCustomTemplate","renderDefaultContent","textOverflow","renderCustomContent","NEW_TEMPLATE","IconAdd","DEFAULT","CUSTOM_TEMPLATES","ItemWrapper","TextSideBar","renderTextListContent","ADD_TEXT","IconAddText","HELP_TEXT","IconInfo","ImagesContainer","SingleItem","ImageSideBar","PLEASE_ADD_IMAGES","renderCustomImages","addImageToList","ADD_IMAGE","IconUpload","CUSTOM_IMAGES","ShapesContainer","ShapeSideBar","ADD_SHAPES","onToggle","isActive","ToggleContainer","ToggleCircle","InfoContainer","RadioSection","QrSideBar","_elements$index","SETTINGS","SHOW_QR_CODE","SHOW_LOGO_IN_QR","ADD_LOGO","WhiteLabelSideBar","PREMIUM_SETTINGS","SHOW_BRANDING","UNLOCK_PREMIUM_FEATURE_PARAGRAPH","UPGRADE_PLAN","IconGraph","HelperSideBar","Overlay","_ref$backgroundColor","borderWidth","spin","keyframes","SpinnerWrapper","Spinner","props","LoadingSpinner","_ref$size","_ref$color","_ref$borderWidth","Studio","forwardRef","_elements$elements$fi","_elements$find4","_elements$find5","_elements$find6","_ref$elementsList","_ref$defaultImages","_ref$defaultTemplates","_ref$customTemplatesL","_ref$qrLink","_ref$styleProps","_ref$locale","setSelectedTab","setLanguageLocale","setLoadingFonts","setLoadingImages","loading","setLoading","_useState11","_useState12","loadingUploadImage","_useState13","_useState14","setHelperSideBarVisible","_useState15","_useState16","setZoomPercentage","_useState17","_useState18","setElements","_useState19","_useState20","setBackgroundImageOpacity","_useState21","_useState22","setHistory","_useState23","_useState24","setRedoStack","_useState25","_useState26","setShapeFillColor","_useState27","_useState28","setShapeStrokeWidth","_useState29","_useState30","setShapeStrokeColor","_useState31","_useState32","setShapeOpacity","_useState33","_useState34","setImageStrokeWidth","_useState35","_useState36","setImageStrokeColor","_useState37","_useState38","setImageOpacity","_useState39","_useState40","setQrStrokeWidth","_useState41","_useState42","setQrStrokeColor","_useState43","_useState44","setQrOpacity","_useState45","_useState46","setSelectedElement","_useState47","_useState48","setCustomImagesList","_useState49","_useState50","setQrLogo","_useState51","_useState52","setDefaultTextProps","useImperativeHandle","_onSave","processedElements","log","LoadImages","_toConsumableArray","elems","_pageSizesDimensions","_elements$find","_pageSizesDimensions2","_elements$find2","_elements$find3","onSelectedTab","tab","onCollapseHelperSideBar","newElements","newElement","elemClone","backgroundColorIndex","splice","JSON","parse","stringify","sizeIndex","sizeElement","addElement","addShape","shapeProps","centerY","centerX","val","undo","previousState","slice","redo","nextState","changeSelectedElementProperty","selectedElementCopy","copy","copyElement","copyElements","_copyElements$splice","_copyElements$splice2","selectedElem","createNewTemplate","_copyElements$splice3","_copyElements$splice4","unshift","addCustomImageToList","addImageToCanvas","imgProps","addTextToCanvas","textProps","addQrCode","qrProps","removeQrCode","turnLogoVisibiltyOn","turnLogoVisibiltyOff","addLogo","copyDefultProps","onSaveProgress","StyleSheetManager","shouldForwardProp","isPropValid","displayName"],"mappings":"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","x_google_ignoreList":[164,165]}
|