{"version":3,"file":"static/js/PublicAppContainer.127c4363.js","sources":["webpack://@jotforminc/portal/./src/modules/containers/PublicAppContainer.js","webpack://@jotforminc/portal/./src/assets/icon_share_iOS.svg","webpack://@jotforminc/portal/../../../../src/icons/forms-files/form-pencil-filled.svg","webpack://@jotforminc/portal/./src/assets/icon_unreachableSentbox.svg","webpack://@jotforminc/portal/./src/assets/icon_emptyCart.svg","webpack://@jotforminc/portal/../../../../src/icons/brand/facebook-filled.svg","webpack://@jotforminc/portal/../../../../src/icons/brand/twitter.svg","webpack://@jotforminc/portal/../../../../src/icons/brand/whatsapp.svg","webpack://@jotforminc/portal/../../../../src/icons/finance/basket-shopping-filled.svg","webpack://@jotforminc/portal/./src/assets/backsoon.svg","webpack://@jotforminc/portal/./src/modules/PublicApp/scPublicApp.js","webpack://@jotforminc/portal/./src/modules/PublicApp/Modals/A2HSModal/ScA2HSModal.js","webpack://@jotforminc/portal/./src/modules/PublicApp/Modals/A2HSModal/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/FormItem/InlineCtxMenu/ScMobileCtxMenu.js","webpack://@jotforminc/portal/./src/modules/PublicApp/MobileCtxMenu.js","webpack://@jotforminc/portal/./src/components/AppProgressBar/ScAppProgressBar.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProgressBar.js","webpack://@jotforminc/portal/./src/components/AppProgressBar/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/TopBar/ScTopBar.js","webpack://@jotforminc/portal/../../libs/overflowable-list/src/index.tsx","webpack://@jotforminc/portal/./src/modules/PublicApp/TopBar/PageLink.js","webpack://@jotforminc/portal/./src/modules/PublicApp/TopBar/ScNavigationBar.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCartBadge/ScCart.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCartBadge/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/DonateNowBadge/ScDonateNowBadge.js","webpack://@jotforminc/portal/./src/modules/PublicApp/DonateNowBadge/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/TopBar/ScNavigationPanel.js","webpack://@jotforminc/portal/./src/modules/PublicApp/TopBar/NavigationPanelItem.js","webpack://@jotforminc/portal/./src/modules/PublicApp/TopBar/NavigationPanel.js","webpack://@jotforminc/portal/./src/components/PortalLoginFlow/scPortalLoginFlow.js","webpack://@jotforminc/portal/./src/components/PortalAccountBox/AccountBoxLinkRenderer.js","webpack://@jotforminc/portal/./src/components/PortalAccountBox/GuestShoppingAccountBox.js","webpack://@jotforminc/portal/./src/components/PortalAccountBox/ContinueAsFlow.js","webpack://@jotforminc/portal/./src/components/PortalAccountBox/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/TopBar/NavigationBar.js","webpack://@jotforminc/portal/./src/modules/PublicApp/TopBar/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ScPageContentWrapper.js","webpack://@jotforminc/portal/./src/modules/PublicApp/DividerItem/index.js","webpack://@jotforminc/portal/./src/components/ProductListForm/ProductListField.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductListItem/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/CardItem/styled.js","webpack://@jotforminc/portal/./src/modules/PublicApp/CardItem/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/List/helper.js","webpack://@jotforminc/portal/./src/modules/PublicApp/List/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ImageField/ScImageField.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ImageField/index.js","webpack://@jotforminc/portal/./src/utils/getItemComponentByTypeForApp.js","webpack://@jotforminc/portal/./src/modules/PublicApp/AppItem/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/withLinkElement.js","webpack://@jotforminc/portal/./src/modules/PublicApp/PublicAppItemContainer/PublicAppItem.js","webpack://@jotforminc/portal/./src/modules/PublicApp/PublicAppItemContainer/index.js","webpack://@jotforminc/portal/./src/components/Items/AppFooter/ScAppFooter.js","webpack://@jotforminc/portal/./src/components/Items/AppFooter/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/AppStyle.js","webpack://@jotforminc/portal/./src/modules/PublicApp/AppPreview.js","webpack://@jotforminc/portal/./src/modules/PublicApp/AppRouter.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductRenderer/Renderers/FormRenderer.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductRenderer/Renderers/ReportRenderer.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductRenderer/Renderers/UnreachableSentbox.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductRenderer/Renderers/SentboxRenderer.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductRenderer/Renderers/SignRenderer.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductRenderer/constants.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductRenderer/RendererComponent.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductRenderer/Renderers/constants.js","webpack://@jotforminc/portal/./src/modules/Builder/styles/scSteps.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ScreenRenderer/ScreenTopBar.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductRenderer/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/OrderNow/ScOrderNowButton.js","webpack://@jotforminc/portal/./src/modules/PublicApp/OrderNow/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ScreenRenderer/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/PageRenderer.js","webpack://@jotforminc/portal/./src/modules/PublicApp/CheckoutScreen/ScCompleteScreen.js","webpack://@jotforminc/portal/./src/modules/PublicApp/CheckoutScreen/StoreCompleteScreen.js","webpack://@jotforminc/portal/./src/modules/PublicApp/CheckoutScreen/DonationCompleteScreen.js","webpack://@jotforminc/portal/./src/modules/PublicApp/CheckoutScreen/ScCheckoutScreen.js","webpack://@jotforminc/portal/./src/modules/PublicApp/CheckoutScreen/index.js","webpack://@jotforminc/portal/../../libs/portal-components/src/components/AddToCart.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/Cart/CartOption.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/Cart/CartItemOptionRenderer.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/Cart/CartItemActionButton.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/Cart/ScProductCartItem.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/Cart/CartItem.js","webpack://@jotforminc/portal/./src/components/Toaster/ShoppingNotification/utils.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/Cart/CartItemList.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/Cart/Carts.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/Cart/ScEmptyCart.js","webpack://@jotforminc/portal/./src/modules/PublicApp/OrderNow/ScOrderNowForScreen.js","webpack://@jotforminc/portal/./src/modules/PublicApp/OrderNow/OrderNowForScreen.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/Cart/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/Favorites/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/ScProductCart.js","webpack://@jotforminc/portal/./src/components/StoreUnavailable/ScStoreUnavailable.js","webpack://@jotforminc/portal/./src/components/StoreUnavailable/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/TabButton.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductCart/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductItemDetailsPage/ScDetailsPage.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductItemDetailsPage/ActionButtons.js","webpack://@jotforminc/portal/./src/modules/PublicApp/ProductItemDetailsPage/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/PushNotificationPermission/index.js","webpack://@jotforminc/portal/./src/modules/PublicApp/index.js"],"sourcesContent":["import React, {\n useCallback, useEffect, useMemo, useRef, useState\n} from 'react';\nimport { func, string } from 'prop-types';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { getAppPath } from '@jotforminc/router-bridge';\nimport { useTimeout, useEventListener } from '@jotforminc/hooks';\n\nimport { APP_MODES } from '../../constants';\nimport SELECTORS from '../../store/selectors';\n\nimport {\n fetchPortalAction,\n navigateToAction,\n setModeAction,\n setPWAStatusAction,\n trackEventAction,\n userChangeAction\n} from '../../store/actionCreators';\nimport { isYes, isInJotformKiosk } from '../../utils';\nimport { calculateDisabled } from '../../utils/hooks';\n\nimport BrowserParser from '../../utils/BrowserParser';\nimport { getQueryString } from '../../utils/navigation';\nimport {\n allSocialSharingUtmSources,\n checkPWAInstallation, getLastInstallationDate, isPWA, persistPWAInstallation\n} from '../PublicApp/utils';\nimport PublicApp from '../PublicApp';\nimport appConfig from '../../constants/appConfig';\n\nlet deferredPrompt;\n\n// eslint-disable-next-line max-statements\nconst PublicAppContainer = ({ appID, navigate }) => {\n const dispatch = useDispatch();\n\n const isInApp = useSelector(SELECTORS.isOpenedInApp);\n const isInstalled = useSelector(SELECTORS.isAppInstalled);\n const user = useSelector(SELECTORS.getUser);\n const appProperties = useSelector(SELECTORS.getAppInfoWithDefaults);\n\n const {\n id: storeAppID, redirectToApp, redirectedApp\n } = appProperties;\n\n // Disable Details\n const {\n isDisabledNow: isRedirectedAppDisabledNow,\n isDateVerySoon: redirectedAppWillDisableSoon\n } = calculateDisabled(redirectedApp);\n\n const isRedirectedAppSafe = useMemo(() => { // Dont redirect to apps which gonna be disabled very soon.\n return isYes(redirectToApp) && !isRedirectedAppDisabledNow && !redirectedAppWillDisableSoon;\n }, [redirectToApp, isRedirectedAppDisabledNow, redirectedAppWillDisableSoon]);\n\n const [appJustDisabled, setAppJustDisabled] = useState(false);\n const handleAppRedirection = useCallback(() => {\n const searchParams = getQueryString();\n const qs = searchParams ? `?${searchParams}` : '';\n navigate(`${getAppPath()}/${redirectedApp}${qs}`, { replace: true });\n }, [redirectedApp]);\n\n const handleSocialSharingRedirect = () => {\n const searchParams = new URLSearchParams(window.location.search);\n if (allSocialSharingUtmSources.includes(searchParams.get('utm_source'))) {\n window.history.pushState(null, null, `${getAppPath()}/${appID}`);\n }\n };\n\n const handleAppDisable = useCallback(() => {\n if (isRedirectedAppSafe) {\n handleAppRedirection();\n return;\n }\n setAppJustDisabled(true);\n }, [isRedirectedAppSafe, redirectedApp]);\n\n const { isDisabledNow: isAppDisabledNow, isTrashedNow: isAppTrashedNow } = calculateDisabled(storeAppID, handleAppDisable);\n\n useEffect(() => {\n if (isAppDisabledNow && isRedirectedAppSafe) {\n handleAppRedirection();\n }\n }, [isAppDisabledNow, isRedirectedAppSafe]);\n\n const isInBuilderPreview = window.location.href.includes('#preview');\n\n // TODO: move A2HS Modal logic into a different file\n const isInstalledRef = useRef();\n isInstalledRef.current = isInstalled; // This is a workaround to access updated value in timeouted fn\n\n const [activeModal, setActiveModal] = useState('');\n\n const setPublicApp = (isBuilder = false) => {\n dispatch(setModeAction(APP_MODES.public));\n if (storeAppID !== appID || isBuilder) {\n dispatch(fetchPortalAction(appID));\n }\n dispatch(setPWAStatusAction({ isOpenedInPWA: isPWA(), isPWAInstalled: checkPWAInstallation(appID) }));\n };\n\n useEffect(() => {\n setPublicApp();\n }, [appID]);\n\n useEffect(() => {\n if (user.username) {\n const isEmbedded = window.location.href.includes(appConfig.embeddedAppQS);\n const searchParams = new URLSearchParams(window.location.search);\n switch (true) {\n case isInBuilderPreview:\n dispatch(trackEventAction({ action: 'appPreviewed' }));\n return;\n case isEmbedded:\n dispatch(trackEventAction({ action: 'embeddedAppViewed' }));\n return;\n default:\n dispatch(trackEventAction({ action: 'appViewed', target: { utmSource: searchParams.get('utm_source') } }));\n }\n handleSocialSharingRedirect();\n }\n }, [user]);\n\n const handleAppInstalled = useCallback(() => {\n persistPWAInstallation(appID);\n dispatch(setPWAStatusAction({ isOpenedInPWA: isPWA(), isPWAInstalled: true }));\n dispatch(trackEventAction({ action: 'PWAInstalled' }));\n setActiveModal(false);\n }, [appID]);\n\n const isUnRecognizedIpad = BrowserParser.is('macOS') && window.navigator.maxTouchPoints > 2;\n const isIOS = BrowserParser.is('ios') || isUnRecognizedIpad;\n const isTablet = BrowserParser.is('tablet') || BrowserParser.is('mobile') || isUnRecognizedIpad;\n const makeModalChecks = useCallback(() => {\n let modalName;\n const currentlyInstalled = isInstalledRef.current;\n switch (true) {\n case deferredPrompt && !isInApp && !currentlyInstalled:\n modalName = 'promptableFirstTimeModal';\n break;\n case !deferredPrompt && !isInApp && !currentlyInstalled && isIOS:\n modalName = BrowserParser.is('safari') ? 'iOSModal' : 'iOSNotSafari';\n break;\n case !deferredPrompt && !isInApp && !currentlyInstalled && BrowserParser.is('android'):\n modalName = 'androidModal';\n break;\n case isTablet:\n modalName = 'regularModal';\n break;\n default:\n modalName = false;\n break;\n }\n\n if (currentlyInstalled || isInApp || isPWA() || isInBuilderPreview || isInJotformKiosk()) {\n modalName = false;\n }\n setActiveModal(modalName);\n }, []);\n\n const handleBeforeInstallPrompt = useCallback(e => {\n e.preventDefault();\n const lastInstallationDate = getLastInstallationDate(appID);\n if (lastInstallationDate) {\n const now = Date.now();\n const diff = now - lastInstallationDate;\n if (diff <= 5e3) {\n return false; // App is installed within 5 sec. This will guard immediate trigger of the beforeinstallprompt event after the installation.\n }\n }\n deferredPrompt = e;\n // if this fn is invoked it means the app is not installed yet or uninstalled.\n // Lets update LS value to show A2HS modal\n persistPWAInstallation(appID, false);\n\n makeModalChecks();\n }, [appID]);\n\n useEventListener('beforeinstallprompt', handleBeforeInstallPrompt);\n useEventListener('appinstalled', handleAppInstalled);\n useTimeout(makeModalChecks, 10000);\n\n // Handles after modal interaction: install/dismiss\n const handleOnPrompt = useCallback(() => {\n if (deferredPrompt) {\n deferredPrompt.prompt();\n // added for Chrome install prompter event tracking\n // one day, Safari?\n deferredPrompt.userChoice.then(choiceResult => {\n if (choiceResult.outcome === 'accepted') {\n dispatch(trackEventAction({ action: 'installPromptAccepted' }));\n } else {\n dispatch(trackEventAction({ action: 'installPromptDismissed' }));\n }\n });\n }\n }, []);\n\n const handleUserChanged = action => {\n const { user: changedUser } = action.payload;\n dispatch(userChangeAction(changedUser));\n };\n\n const handleNavigateToPage = action => {\n dispatch(navigateToAction({\n to: action.payload?.destinationType,\n pageID: action.payload?.pageID\n }));\n };\n\n const handleScrollSelectedItem = action => {\n const { itemID } = action.payload;\n const selectedItem = document.getElementById(itemID);\n\n if (!selectedItem) return;\n\n const scrollToCenter = element => {\n const { top, height } = element.getBoundingClientRect();\n const { scrollTop } = document.documentElement;\n const windowHeight = window.innerHeight;\n\n const targetPosition = top + scrollTop - (windowHeight / 2) + (height / 2);\n\n window.scrollTo({\n top: targetPosition,\n behavior: 'smooth'\n });\n };\n\n scrollToCenter(selectedItem);\n };\n\n useEventListener('message', message => {\n const { data: { action = {}, forJFApps } = {} } = message;\n\n switch (action.name) {\n case 'userChanged':\n if (forJFApps) handleUserChanged(action);\n break;\n case 'NAVIGATE_TO_PAGE':\n handleNavigateToPage(action);\n break;\n case 'SELECT_ITEM':\n handleScrollSelectedItem(action);\n break;\n case 'UPDATE_APP':\n setPublicApp(true);\n break;\n default:\n break;\n }\n });\n\n return (\n \n );\n};\n\nPublicAppContainer.propTypes = {\n appID: string,\n navigate: func\n};\n\nPublicAppContainer.defaultProps = {\n appID: '',\n navigate: f => f\n};\n\nexport default PublicAppContainer;\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgIconShareIOs = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 20,\n height: 24,\n fill: \"none\"\n}, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#278DFF\",\n d: \"M6.513 6.713v1.433H2.306c-.303 0-.557.192-.61.441l-.01.096v13.374c0 .262.221.482.509.528l.111.01h15.447c.304 0 .558-.192.611-.442l.01-.096V8.683c0-.263-.22-.482-.51-.528l-.11-.01h-4.208V6.714h4.207c1.192 0 2.168.79 2.267 1.8l.01.17v13.374c0 1.031-.914 1.876-2.08 1.962l-.197.008H2.306c-1.191 0-2.167-.79-2.267-1.8l-.01-.17V8.683c0-1.031.913-1.876 2.08-1.962l.197-.009zM9.448.236a.93.93 0 0 1 1.055-.083l.115.083 3.861 3.343c.322.279.322.733-.007 1.019-.16.13-.365.2-.581.2a.9.9 0 0 1-.488-.133l-.1-.073-2.447-2.12v12.48c0 .316-.238.585-.566.68l-.128.026-.133.01c-.41 0-.752-.26-.817-.6l-.01-.116V2.474l-2.45 2.125a.93.93 0 0 1-.929.14l-.124-.064-.11-.083a.647.647 0 0 1-.097-.914l.095-.099z\"\n})));\nexport default SvgIconShareIOs;","\n \n\n","var _circle, _rect, _path, _path2, _path3, _path4, _path5, _path6, _path7;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgIconUnreachableSentbox = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 105 117\"\n}, props), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 52.5,\n cy: 64.5,\n r: 52.5,\n fill: \"#E3E5F5\"\n})), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 37,\n height: 33,\n x: 34,\n y: 1,\n fill: \"#249BB4\",\n rx: 4\n})), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#249BB4\",\n d: \"M53.698 27.822a1 1 0 0 0-1.397 0l-4.718 4.61a1 1 0 0 0-.085 1.336l4.718 5.95a1 1 0 0 0 1.567 0l4.718-5.95a1 1 0 0 0-.085-1.337l-4.718-4.61Z\"\n})), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M56.58 17.224q0 3.024-1.104 4.44-.864 1.152-2.4 1.152-1.488 0-2.4-1.152-1.08-1.392-1.08-4.44t1.08-4.44q.912-1.152 2.4-1.152 1.536 0 2.4 1.152 1.104 1.368 1.104 4.44m1.464 5.592q1.392-2.088 1.392-5.592c0-3.504-.464-4.2-1.392-5.592q-1.704-2.544-4.968-2.544-3.24 0-4.944 2.544-1.392 2.088-1.392 5.592c0 3.504.464 4.2 1.392 5.592q1.704 2.544 4.944 2.544 3.264 0 4.968-2.544\"\n})), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#0087E0\",\n strokeLinecap: \"round\",\n strokeWidth: 4.5,\n d: \"M33.313 57.5h-2.25\"\n})), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#FFB629\",\n strokeLinecap: \"round\",\n strokeWidth: 4.5,\n d: \"M33.313 84.5h-2.25\"\n})), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#FF6100\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 4.5,\n d: \"M37.812 71h-4.5\"\n})), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n fillRule: \"evenodd\",\n d: \"M42.734 49.602 74.608 69.08c1.436.878 1.436 2.963 0 3.84L42.734 92.399c-1.816 1.11-4.015-.689-3.288-2.69l5.986-16.459h5.318a2.25 2.25 0 1 0 0-4.5h-5.318l-5.986-16.46c-.727-2 1.472-3.798 3.288-2.688\",\n clipRule: \"evenodd\"\n})), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#B1C3E9\",\n d: \"m74.608 69.08-.44.72zM42.734 49.602l-.44.72zM74.608 72.92l.44.72zM42.734 92.399l.44.72zm-3.288-2.69.793.29zm5.986-16.459v-.844a.84.84 0 0 0-.793.556zm0-4.5-.793.289a.84.84 0 0 0 .793.555zm-5.986-16.46.793-.288zm35.602 16.07L43.174 48.882l-.88 1.44L74.168 69.8zm0 5.28c1.974-1.206 1.974-4.073 0-5.28l-.88 1.44a1.406 1.406 0 0 1 0 2.4zM43.174 93.119 75.048 73.64l-.88-1.44-31.874 19.479zm-4.52-3.697c-1 2.75 2.023 5.223 4.52 3.697l-.88-1.44c-1.135.693-2.51-.43-2.055-1.68zm5.985-16.46-5.986 16.46 1.586.576 5.986-16.46zm6.111-.556h-5.318v1.688h5.318zM52.156 71c0 .777-.63 1.406-1.406 1.406v1.688A3.094 3.094 0 0 0 53.844 71zm-1.406-1.406c.777 0 1.406.63 1.406 1.406h1.688a3.094 3.094 0 0 0-3.094-3.094zm-5.318 0h5.318v-1.688h-5.318zm-6.779-17.015 5.986 16.46 1.586-.577-5.986-16.46-1.585.577Zm4.521-3.697c-2.497-1.526-5.52.947-4.52 3.697l1.585-.577c-.454-1.25.92-2.374 2.055-1.68z\"\n})));\nexport default SvgIconUnreachableSentbox;","var _circle, _rect, _path, _path2, _path3;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgIconEmptyCart = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 105 117\"\n}, props), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 52.5,\n cy: 64.5,\n r: 52.5,\n fill: \"#E3E5F5\"\n})), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 37,\n height: 33,\n x: 34,\n y: 1,\n fill: \"#0A1551\",\n rx: 4\n})), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#0A1551\",\n d: \"M53.698 27.822a1 1 0 0 0-1.397 0l-4.718 4.61a1 1 0 0 0-.085 1.336l4.718 5.95a1 1 0 0 0 1.567 0l4.718-5.95a1 1 0 0 0-.085-1.337z\"\n})), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M56.58 17.224c0-1.968-.336-3.48-1.104-4.44-.528-.696-1.272-1.152-2.4-1.152s-1.848.456-2.4 1.152c-.744.96-1.08 2.472-1.08 4.44s.336 3.48 1.08 4.44c.552.696 1.272 1.152 2.4 1.152s1.872-.456 2.4-1.152c.744-.96 1.104-2.472 1.104-4.44m2.856 0c0 2.064-.336 4.008-1.392 5.592-1.008 1.512-2.64 2.544-4.968 2.544s-3.936-1.032-4.944-2.544c-1.056-1.584-1.392-3.528-1.392-5.592s.336-4.008 1.392-5.592c1.008-1.512 2.616-2.544 4.944-2.544s3.96 1.032 4.968 2.544c1.056 1.584 1.392 3.528 1.392 5.592\"\n})), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#6F76A7\",\n fillRule: \"evenodd\",\n d: \"M62.959 61.165h15.397a2.86 2.86 0 1 1 0 5.722h-.515l-4.343 21.709a8.58 8.58 0 0 1-8.416 6.9H40.135a8.58 8.58 0 0 1-8.416-6.9l-4.342-21.71h-.515a2.861 2.861 0 0 1 0-5.721h15.397l7.792-15.584a2.86 2.86 0 0 1 5.118 0zm-6.398 0-3.953-7.907-3.954 7.907zm-9.675 22.887a2.86 2.86 0 0 1-2.86-2.86V75.47a2.86 2.86 0 1 1 5.721 0v5.721a2.86 2.86 0 0 1-2.861 2.861m8.582-2.86a2.861 2.861 0 0 0 5.722 0V75.47a2.86 2.86 0 1 0-5.721 0z\",\n clipRule: \"evenodd\"\n})));\nexport default SvgIconEmptyCart;","\n \n\n","\n \n\n","\n \n \n\n","\n \n\n","var _circle, _circle2, _circle3, _g, _path, _path2, _circle4, _circle5, _circle6, _circle7, _path3, _defs;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgBacksoon = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 116 96\"\n}, props), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 57,\n cy: 48,\n r: 48,\n fill: \"#F3F3FE\"\n})), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 58.008,\n cy: 11.289,\n r: 4.808,\n fill: \"#C8CEED\",\n stroke: \"#0A1551\",\n strokeWidth: 0.962\n})), _circle3 || (_circle3 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 58.008,\n cy: 11.29,\n r: 1.923,\n fill: \"#0A1551\"\n})), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#backsoon_svg__a)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n width: 103.377,\n height: 46.64,\n x: 4,\n y: 41.596,\n fill: \"#6F76A7\",\n rx: 2.885,\n transform: \"rotate(-5.758 4 41.596)\"\n}), /*#__PURE__*/React.createElement(\"rect\", {\n width: 102.415,\n height: 45.678,\n x: 4.527,\n y: 42.026,\n stroke: \"#0A1551\",\n strokeWidth: 0.962,\n rx: 2.404,\n transform: \"rotate(-5.758 4.527 42.026)\"\n}))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#C8CEED\",\n stroke: \"#0A1551\",\n strokeWidth: 0.962,\n d: \"m5.347 50.159 101.898-10.276 3.522 34.923a2.405 2.405 0 0 1-2.151 2.633l-97.114 9.793a2.404 2.404 0 0 1-2.633-2.15z\"\n})), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#0A1551\",\n d: \"m17.237 62.583.996 9.876 3.816-.385c1.853-.186 2.934-1.463 2.773-3.065-.124-1.226-.993-2.025-1.978-2.165.794-.361 1.324-1.245 1.222-2.262-.155-1.532-1.355-2.55-3.277-2.357zm2.306 3.89-.249-2.465 1.351-.136c.933-.094 1.469.33 1.544 1.082.076.753-.404 1.293-1.281 1.382zm.422 4.193-.262-2.604 1.588-.16c.96-.097 1.517.395 1.596 1.175.08.794-.428 1.338-1.361 1.432zm13.238.284 2.09-.211-4.757-9.497-2.229.225-2.793 10.258 2.034-.205.594-2.34 4.012-.404zm-3.609-7.46 1.742 3.595-2.73.276zm10.978 6.928c2.772-.28 4.007-2.262 4.23-3.818l-1.851-.362c-.172.946-.883 2.13-2.569 2.3-1.588.16-3.18-.848-3.393-2.951-.226-2.243 1.227-3.459 2.704-3.608 1.713-.173 2.585.795 2.917 1.718l1.753-.753c-.551-1.563-2.127-3.093-4.857-2.817-2.647.267-4.826 2.513-4.509 5.66.318 3.149 2.817 4.909 5.575 4.63m12.162-1.438 2.41-.243-4.504-5.174 3.48-4.7-2.52.255-3.506 4.87-.45-4.471-1.923.194.996 9.876 1.922-.194-.277-2.744 1.09-1.475zm13.036-8.913c-.335-1.092-1.4-2.448-3.796-2.206-1.867.188-3.306 1.684-3.129 3.44.15 1.49 1.27 2.404 2.876 2.566l1.407.139c.782.076 1.259.478 1.316 1.05.07.696-.449 1.269-1.48 1.373-1.393.14-2.164-.669-2.345-1.635l-1.736.653c.295 1.392 1.622 2.96 4.24 2.696 2.299-.231 3.412-1.891 3.259-3.41-.14-1.393-1.22-2.466-3.052-2.633l-1.406-.125c-.738-.067-1.13-.463-1.185-1.007-.066-.654.487-1.315 1.42-1.41 1.254-.126 1.785.68 1.937 1.213zm3.402 2.26c-.225-2.229 1.229-3.444 2.747-3.598 1.532-.154 3.2.747 3.424 2.976.225 2.229-1.229 3.445-2.761 3.599-1.518.153-3.185-.748-3.41-2.977m-1.99.215c.32 3.176 2.914 4.898 5.588 4.629 2.689-.272 4.886-2.477 4.566-5.653-.322-3.19-2.915-4.912-5.604-4.641-2.674.27-4.872 2.475-4.55 5.665m13.226-1.348c-.225-2.229 1.229-3.445 2.747-3.598 1.532-.154 3.2.747 3.424 2.976.225 2.228-1.229 3.444-2.761 3.599-1.518.153-3.185-.748-3.41-2.977m-1.99.215c.32 3.176 2.914 4.898 5.588 4.629 2.689-.272 4.886-2.477 4.566-5.653-.322-3.19-2.915-4.912-5.604-4.641-2.674.27-4.872 2.475-4.55 5.665m20.745 2.889-.996-9.876-1.922.194.659 6.533-4.768-6.119-2.396.242.996 9.876 1.922-.194-.706-7.007 5.191 6.555zM5.777 49.632l101.42-10.228.096.957L5.873 50.589z\"\n})), _circle4 || (_circle4 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 20.27,\n cy: 44.788,\n r: 1.923,\n fill: \"#6F76A7\",\n transform: \"rotate(-5.758 20.27 44.788)\"\n})), _circle5 || (_circle5 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 91.55,\n cy: 37.599,\n r: 1.923,\n fill: \"#6F76A7\",\n transform: \"rotate(-5.758 91.55 37.6)\"\n})), _circle6 || (_circle6 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 91.551,\n cy: 37.599,\n r: 1.349,\n fill: \"#0A1551\",\n transform: \"rotate(-5.758 91.551 37.6)\"\n})), _circle7 || (_circle7 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 20.269,\n cy: 44.788,\n r: 1.302,\n fill: \"#0A1551\",\n transform: \"rotate(-5.758 20.27 44.788)\"\n})), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#0A1551\",\n strokeWidth: 0.962,\n d: \"m19.782 44.947 38.226-33.658m33.177 26.205L58.008 11.289\"\n})), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"backsoon_svg__a\",\n width: 114.985,\n height: 64.228,\n x: 0.275,\n y: 29.498,\n colorInterpolationFilters: \"sRGB\",\n filterUnits: \"userSpaceOnUse\"\n}, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n result: \"hardAlpha\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n}), /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 2\n}), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 2\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0.329412 0 0 0 0 0.372549 0 0 0 0 0.435294 0 0 0 0.16 0\"\n}), /*#__PURE__*/React.createElement(\"feBlend\", {\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_5074_30431\"\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n result: \"hardAlpha\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n}), /*#__PURE__*/React.createElement(\"feOffset\", null), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 0.5\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0.145098 0 0 0 0 0.176471 0 0 0 0 0.356863 0 0 0 0.04 0\"\n}), /*#__PURE__*/React.createElement(\"feBlend\", {\n in2: \"effect1_dropShadow_5074_30431\",\n result: \"effect2_dropShadow_5074_30431\"\n}), /*#__PURE__*/React.createElement(\"feBlend\", {\n in: \"SourceGraphic\",\n in2: \"effect2_dropShadow_5074_30431\",\n result: \"shape\"\n})))));\nexport default SvgBacksoon;","import Styled, { css } from 'styled-components';\nimport { FEATURE_NAMES } from '../../constants/features';\nimport { isFeatureEnabled } from '../../utils/features/helper';\nimport { mainFontColor } from '../../styles/colors';\n\nexport const ScPublicApp = Styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n\n ${isFeatureEnabled(FEATURE_NAMES.AppFooter) ? css`\n height: 100%;\n margin: 0 auto;\n ` : css`\n height: fit-content;\n margin: 0 auto;\n margin-bottom: calc(${({ isOrderNowButtonVisible }) => (isOrderNowButtonVisible ? '95px' : '0px')});\n `};\n\n font-size: 1em;\n text-align: center;\n\n .mobileCtxMenu {\n position: fixed;\n z-index: 1001;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-color: #29355C80;\n overflow: hidden;\n }\n\n .mobileCtxMenu-enter {\n opacity: 0;\n transition: all 400ms;\n }\n\n .mobileCtxMenu-enter-active {\n opacity: 1;\n }\n\n .mobileCtxMenu-exit {\n opacity: 1;\n transition: all 400ms;\n }\n\n .mobileCtxMenu-exit-active {\n opacity: 0;\n }\n\n .contentWithLinkElement {\n text-decoration: none;\n }\n`;\n\nexport const ScPublicAppRoot = Styled.div`\n position: relative;\n margin: auto;\n width: 100%;\n height: 100%;\n &:not(.isMobilePreview) {\n overflow-y: auto;\n }\n @media screen and (max-width:768px) {\n scrollbar-width: none;\n\n &::-webkit-scrollbar{\n display: none;\n }\n }\n .forPreview {\n .formAccountBox-line {\n pointer-events: none;\n }\n }\n\n .formAccountBox-wrapper {\n z-index: 3;\n }\n\n .orderNow {\n position: fixed;\n z-index: 1001;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-color: #29355C80;\n overflow: hidden;\n }\n\n .orderNow-enter {\n opacity: 0;\n transition: all 400ms;\n }\n\n .orderNow-enter-active {\n opacity: 1;\n }\n\n .orderNow-exit {\n opacity: 1;\n transition: all 400ms;\n }\n\n .orderNow-exit-active {\n opacity: 0;\n }\n\n .orderBtn-enter {\n opacity: 0;\n transition: all 400ms;\n }\n\n .orderBtn-enter-active {\n opacity: 1;\n }\n\n .orderBtn-exit {\n opacity: 1;\n transition: all 400ms;\n }\n\n .orderBtn-exit-active {\n opacity: 0;\n }\n`;\n\nexport const ScFormRendererRoot = Styled.div`\n ${({ hasBrandingFooter }) => (hasBrandingFooter ? 'height: calc(100% - 49px);' : 'height: 100%;')}\n width: 100%;\n position: absolute;\n top: 0;\n display: flex;\n flex-direction: column;\n\n .backToApp {\n background: none;\n padding: .5em 0;\n color: #0A155180;\n font-weight: 400;\n color: ${mainFontColor};\n fill: ${mainFontColor};\n\n span {\n display: none;\n margin-left: 2px;\n }\n\n .sm { display: block }\n }\n\n nav {\n ${({ appFontFamily }) => (appFontFamily ? `\n font-family: ${appFontFamily};\n ` : '')}\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n color: ${mainFontColor};\n }\n\n .formAccountBox-wrapper {\n position: relative;\n top: 0;\n right: 0;\n }\n\n .detailsPageNav {\n position: fixed;\n top: 0;\n z-index: 10;\n\n .product-list-item-favLabel {\n right: 60px;\n top: 50%;\n transform: translateY(-50%);\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n }\n\n .dummyDiv {\n width: 150px;\n\n @media screen and (max-width: 480px) {\n width: 80px;\n }\n }\n`;\n\nexport const ScFormRendererFrameContainer = Styled.div`\n -webkit-overflow-scrolling: touch;\n overflow-y: auto;\n position: relative;\n height: 100%;\n\n .accBox-backdrop {\n position: absolute;\n width: 100%;\n height: 100%;\n opacity: 0;\n overflow-y: auto;\n }\n\n iframe {\n width: 100%;\n height: 100%;\n // height: calc(100% - 49px);\n border: none;\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n }\n`;\n","import Styled from 'styled-components';\nimport { appIconBox } from '../../../../styles/scGeneral';\n\nconst ScA2HSModal = Styled.div`\ntext-align: center;\ncolor: #0A1551;\nfont-size: 16px;\n\n.content {\n display: flex;\n align-items: center;\n flex-direction: column;\n padding: 0 32px 32px 32px;\n}\n\n.icon-cont {\n ${appIconBox}\n max-width: 74px;\n max-height: 74px;\n}\n\n.title {\n font-size: 20px;\n line-height: normal;\n font-weight: 500;\n margin: 32px 0 8px;\n width: 100%;\n overflow-wrap: break-word;\n}\n\n.desc {\n margin: 0;\n max-width: 100%;\n color: #6F76A7;\n line-height: normal;\n}\n\n@media screen and (max-width: 480px) {\n .content {\n padding: 0 16px 16px 16px;\n }\n\n .title {\n margin: 24px 0 10px;\n font-size: 18px;\n }\n\n .desc {\n font-size: 14px;\n }\n}\n`;\nexport default ScA2HSModal;\n","import React, {\n forwardRef, useCallback, useEffect, useRef\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { t, translationRenderer } from '@jotforminc/translation';\n\nimport { Hooks } from '@jotforminc/uikit';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { IconXmark, IconEllipsisVertical } from '@jotforminc/svg-icons';\nimport { Button } from '@jotforminc/magnet';\nimport Modal from '../../../../components/AppModal';\nimport ScA2HSModal from './ScA2HSModal';\n\nimport IconIOS from '../../../../assets/icon_share_iOS.svg';\n\nimport AppIcon from '../../../../components/AppIcon';\nimport {\n ScIMOverlay, ScIMFooter, ScIMContent, ScIMHeader\n} from '../../../../components/AppModal/ScAppModal';\nimport SELECTORS from '../../../../store/selectors';\nimport { useAppDefaults } from '../../../../properties';\nimport { setUIProp, trackEventAction } from '../../../../store/actionCreators';\nimport { UI_PROPS } from '../../../../constants';\n\nconst A2HSModal = forwardRef(({ modalType, onPrompt, appProperties }, ref) => {\n const { title, appIconURL } = appProperties; // eslint-disable-line react/prop-types\n const { logoURL: defaultLogoURL } = useAppDefaults(); // eslint-disable-line react/prop-types\n const dispatch = useDispatch();\n const isShoppingApp = useSelector(SELECTORS.getIsShoppingApp);\n\n const appWording = isShoppingApp ? 'store' : 'app';\n\n // Track install information modal\n useEffect(() => {\n dispatch(trackEventAction({ action: 'installPrompt', target: { modalType } }));\n }, []);\n\n const tapFooter = (\n modalType === 'iOSModal'\n ? (\n
\n
    \n
  1. \n {'1. '}\n {translationRenderer('Tap the share menu below [1[{osIcon}]]')({\n renderer1: () => ()\n })}\n
  2. \n
  3. \n {'2. '}\n {t('Select \\'Add to Home Screen\\'')}\n
  4. \n
\n
\n\n )\n : (\n
\n
    \n
  1. \n {'1. '}\n {translationRenderer('Tap the [1[{osIcon}]] menu icon (More Options).')({\n renderer1: () => ()\n })}\n
  2. \n
  3. \n {'2. '}\n {t('Select \\'Add to Home Screen\\' or \\'Install\\'')}\n
  4. \n
\n
\n )\n );\n\n const buttonFooter = (\n
\n \n {t('Add to Home Screen')}\n \n
\n );\n\n const finalFooter = (modalType === 'iOSModal' || modalType === 'androidModal')\n ? tapFooter\n : (modalType === 'promptableFirstTimeModal' && buttonFooter);\n\n const description = type => {\n switch (type) {\n case 'iOSNotSafari':\n return (translationRenderer('Open this [1[{appWording}]] [2[with Safari]] to install on your Home screen.')({\n renderer1: () => (appWording),\n renderer2: str => ({str})\n }));\n case 'androidModal':\n return (translationRenderer('Add this [1[{appWording}]] on your home screen for quick and easy access when you\\'re on the go. Here\\'s How:')({\n renderer1: () => (appWording)\n }));\n case 'promptableFirstTimeModal':\n return (translationRenderer('Add this [1[{appWording}]] on your home screen for quick and easy access when you\\'re on the go.')({\n renderer1: () => (appWording)\n }));\n default:\n return (translationRenderer('Add this [1[{appWording}]] on your home screen for quick and easy access when you\\'re on the go. Here\\'s How:')({\n renderer1: () => (appWording)\n }));\n }\n };\n\n const innerRef = useRef();\n const rootRef = Hooks.useCombinedRefs(innerRef, ref);\n\n const DialogRenderer = useCallback(({ children }) => (\n {children}\n ), []);\n\n const ContentRenderer = useCallback(({ children }) => (\n \n {children}\n \n ), []);\n\n const HeaderRenderer = useCallback(() => (\n \n rootRef.current.hide()}\n startIcon={IconXmark}\n colorStyle=\"secondary\"\n />\n \n ), [rootRef.current]);\n\n const FooterRenderer = (() => {finalFooter});\n\n const withBorder = defaultLogoURL === appIconURL;\n return (\n dispatch(setUIProp(UI_PROPS.isA2HSModalClosed, true))}\n ref={rootRef}\n >\n \n
\n
\n \n
\n

\n {t('Add {title} to Your Home Screen?').replace('{title}', title)}\n

\n

\n {description(modalType)}\n

\n
\n
\n \n );\n});\n\nA2HSModal.propTypes = {\n modalType: PropTypes.string.isRequired,\n onPrompt: PropTypes.func,\n appProperties: PropTypes.shape({})\n};\n\nA2HSModal.defaultProps = {\n onPrompt: () => {},\n appProperties: {}\n};\n\nexport default A2HSModal;\n","import Styled from 'styled-components';\n\nexport const ScMobileCtxMenu = Styled.div`\n position: absolute;\n bottom: 0;\n background-color: #fefefe;\n padding: 20px 20px 40px 20px;\n width: 100%;\n border-radius: 16px 16px 0 0;\n transform: translateY(20px);\n\n .mobileCtxMenu-enter & {\n animation: rebound .4s cubic-bezier(0.18, 0.89, 0.32, 1.28);\n transform: translateY(20px);\n @keyframes rebound {\n 0%{\n transform: translateY(100%);\n }\n 100%{\n transform: translateY(20px);\n }\n }\n }\n\n .mobileCtxMenu-exit-active & {\n transition: .4s ease-in-out 0s;\n transform: translateY(100%);\n }\n\n .mobileCtxMenuHeader {\n position: relative;\n margin-bottom: 10px;\n padding-bottom: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n color: #0A1551;\n border-bottom: 1px solid #C8CEED;\n\n .formTitle {\n text-align: left;\n font-size: 18px;\n font-weight: 700;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-right: 40px;\n }\n }\n`;\n\nexport default ScMobileCtxMenu;\n","import React, { forwardRef } from 'react';\nimport {\n string, func, bool, arrayOf, shape, oneOfType, number\n} from 'prop-types';\nimport { Modal } from '@jotforminc/uikit';\nimport { CSSTransition } from 'react-transition-group';\nimport { IconAngleDown } from '@jotforminc/svg-icons';\nimport { Button } from '@jotforminc/magnet';\nimport CtxMenuItems from './CtxMenuItems';\nimport { ScMobileCtxMenu } from './FormItem/InlineCtxMenu/ScMobileCtxMenu';\n\nconst MobileCtxMenu = forwardRef(({\n items,\n formID,\n formTitle,\n onModalClose, isOpen\n}, ref) => {\n const handleModalClose = () => onModalClose();\n\n const MobileCtxMenuHeaderRenderer = () => (\n
\n
{formTitle}
\n \n
\n );\n\n const MobileCtxMenuContentRenderer = ({ children }) => ( // eslint-disable-line react/prop-types\n \n {children}\n
    \n \n
\n
\n );\n const DialogRenderer = ({ children }) => ( // eslint-disable-line react/prop-types\n \n {children}\n \n );\n return (\n \n \n
\n \n \n );\n});\nMobileCtxMenu.propTypes = {\n formID: oneOfType([string, number]).isRequired,\n formTitle: string,\n items: arrayOf(shape({})),\n onModalClose: func,\n isOpen: bool\n};\n\nMobileCtxMenu.defaultProps = {\n items: [],\n formTitle: '',\n onModalClose: f => f,\n isOpen: false\n};\n\nexport default MobileCtxMenu;\n","import Styled, { css } from 'styled-components';\nimport { FEATURE_NAMES } from '../../constants/features';\nimport { isFeatureEnabled } from '../../utils/features/helper';\nimport { mainFontColor } from '../../styles/colors';\n\nexport const ScAppProgressBar = Styled.div`\n${isFeatureEnabled(FEATURE_NAMES.TopBar) ? css`\n position: relative;\n\n .progress {\n &-section {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 16px;\n height: 45px;\n border-bottom: 1px solid #E4E6F4;\n }\n\n &-text {\n font-weight: 400;\n color: #6F76A7;\n\n &.restart {\n font-weight: 700;\n color: ${mainFontColor};\n }\n\n .bold {\n font-weight: 700;\n color: ${mainFontColor};\n }\n }\n\n &-count {\n display: flex;\n align-items: center;\n position: absolute;\n left: 50%;\n transform: translateX(-50%);\n\n @media screen and (max-width: 480px) {\n display: none;\n }\n }\n\n &-btn {\n background-color: transparent;\n text-transform: initial;\n font-weight: 500;\n font-family: inherit;\n font-size: 15px;\n padding: 5.5px 10px;\n line-height: unset;\n border-radius: 4px;\n border: 0;\n transition: .3s background-color ease;\n\n &.isGreen {\n background-color: #DDFAAD;\n color: #0D953B;\n\n &:hover {\n background-color: #C6F180; \n }\n\n &:active {\n background-color: #C6F180;\n }\n\n & > span {\n margin-left: 6px;\n }\n\n & > svg {\n width: 14px;\n height: 16px;\n\n & > path {\n fill: #0D953B\n }\n }\n }\n\n &.isBlue {\n background-color: #C3EAFF;\n color: #0087E0;\n padding-right: 2px;\n\n &:hover {\n background-color: #D1EFFF;\n }\n\n &:active {\n background-color: #A3DEFE;\n }\n\n & > span {\n margin-right: 2px;\n }\n\n & > svg > path { \n stroke: #0099FF;\n }\n }\n }\n }\n\n` : css`\nposition: relative;\n\n\n // Progress Section - Bar - Next\n\n\n .isProgressOn.isAccountBox & {\n flex: 0 1 672px;\n\n @media screen and (max-width: 768px) {\n flex: 0 1 480px;\n padding-right: 12px;\n }\n @media screen and (max-width: 480px) {\n flex: 0 1 340px;\n padding-right: 12px;\n }\n }\n\n .progress {\n &-section {\n display: flex;\n margin: 0 auto;\n align-items: center;\n height: 100%;\n }\n\n &-text {\n font-weight: 400;\n ${({ progressBarProperties }) => {\n return css`color: ${(progressBarProperties.appHeaderBgColor === progressBarProperties.appFontColor) ? mainFontColor : progressBarProperties.appFontColor};`;\n }}\n\n @media screen and (max-width: 480px) {\n display: none;\n }\n\n &.restart {\n margin: 0 auto;\n\n @media screen and (max-width: 480px) {\n display: flex;\n margin: unset;\n font-weight: 400;\n }\n }\n }\n\n &-count {\n display: flex;\n align-items: center;\n margin-left: auto;\n & > span { \n margin-left: 13.5px;\n ${({ progressBarProperties }) => {\n return css`color: ${(progressBarProperties.appHeaderBgColor === progressBarProperties.appFontColor) ? mainFontColor : progressBarProperties.appFontColor};`;\n }}\n }\n\n @media screen and (max-width: 480px) {\n margin-left: unset;\n }\n }\n\n &-restartBtn {\n background-color: transparent;\n text-transform: capitalize;\n font-weight: 400;\n font-family: inherit;\n font-size: 16px;\n padding: 11.5px 10px;\n line-height: unset;\n margin-left: 21px;\n ${({ progressBarProperties }) => {\n return css`color: ${(progressBarProperties.appHeaderBgColor === progressBarProperties.appFontColor) ? mainFontColor : progressBarProperties.appFontColor};`;\n }}\n\n ${({ progressBarProperties }) => {\n return css`border: 1px solid ${(progressBarProperties.appHeaderBgColor === progressBarProperties.appFontColor) ? mainFontColor : progressBarProperties.appFontColor};`;\n }}\n \n& > svg > path { \n ${({ progressBarProperties }) => {\n return css`fill: ${(progressBarProperties.appHeaderBgColor === progressBarProperties.appFontColor) ? mainFontColor : progressBarProperties.appFontColor};`;\n }}\n}\n & > span { margin-left: 10px; }\n\n @media screen and (max-width: 480px) {\n margin-left: auto;\n padding: 10.5px 9.5px;\n\n & > span { display: none; }\n\n }\n }\n }\n`};\n`;\n","import { Hooks } from '@jotforminc/uikit';\nimport {\n number, shape, string\n} from 'prop-types';\nimport React, {\n useCallback, useEffect, useMemo, useState\n} from 'react';\nimport styled, { css } from 'styled-components';\nimport { useDispatch } from 'react-redux';\nimport { FEATURE_NAMES } from '../../constants/features';\nimport { isFeatureEnabled } from '../../utils/features/helper';\nimport { mainFontColor, primaryAccentDefault } from '../../styles/colors';\nimport { applyAlpha } from '../../utils/styleUtils';\nimport { setLastAnimatedDoneCountAction } from '../../store/actionCreators';\n\nconst ScProgressBar = styled.div`\n${isFeatureEnabled(FEATURE_NAMES.TopBar) ? css`\n width: 336px;\n height: 4px;\n z-index: 11;\n border-radius: 8px;\n background-color: #DFE1ED;\n position: relative;\n\n @media screen and (max-width: 480px) {\n display: none;\n }\n\n .bar {\n height: 100%;\n width: ${({ progress }) => progress}%;\n border-radius: 8px;\n background-color: ${primaryAccentDefault};\n\n &.withAnimation{\n transition: .4s width cubic-bezier(0.25, 0.46, 0.45, 0.94) .4s;\n }\n }\n` : css`\n width: 155px;\n height: 9px;\n z-index: 11;\n border-radius: 8px;\n\n ${({ progressBarProperties }) => {\n return css`background-color: ${(progressBarProperties.appHeaderBgColor === progressBarProperties.appFontColor)\n ? applyAlpha(mainFontColor, 0.2)\n : applyAlpha(progressBarProperties.appFontColor, 0.2)};`;\n }}\n\n @media screen and (max-width: 480px) {\n width: 80px;\n }\n\n & > div {\n height: 100%;\n width: ${({ progress }) => progress}%;\n border-radius: 8px;\n &.withAnimation{\n transition: .4s width cubic-bezier(0.25, 0.46, 0.45, 0.94) .4s;\n }\n\n ${({ progressBarProperties }) => {\n return css`background-color: ${(progressBarProperties.appHeaderBgColor === progressBarProperties.appFontColor) ? mainFontColor : progressBarProperties.appFontColor};`;\n }}\n }\n`};\n`;\n\nconst ScIndicator = styled.div`\n width: 12px;\n height: 12px;\n border-radius: 50%;\n position: absolute;\n transition: background-color 0.2s ease 0.3s;\n top: 50%;\n transform: translate(-5px,-50%);\n z-index: 12;\n left: ${({ leftMargin }) => leftMargin}%;\n background-color: ${({ isCompleted }) => (isCompleted ? primaryAccentDefault : '#DFE1ED')};\n box-shadow: ${({ isCompleted }) => (isCompleted ? '0 0 0 3px #09f3' : 'none')};\n`;\n\nconst ProgressBar = ({\n progress: rawProgress, prevProgress, progressBarProperties, doneCount: _doneCount, todoCount\n}) => {\n const dispatch = useDispatch();\n const [doneItemCount, setDoneCount] = useState(_doneCount);\n\n Hooks.useEffectIgnoreFirst(() => {\n setDoneCount(_doneCount);\n }, [_doneCount]);\n\n const Indicator = useCallback(props => {\n return ;\n }, []);\n\n const indicatorArray = useMemo(() => Array.from(Array(todoCount)).map(() => Indicator), []);\n\n let _doneItemCount = doneItemCount;\n const steerage = 100 / (todoCount - 1);\n const percentage = _doneCount ? steerage * (_doneCount - 1) : 0;\n const progressBar = useMemo(() => indicatorArray.map((ItemIndicator, index) => {\n const leftMargin = steerage * index;\n if (_doneItemCount > 0) {\n _doneItemCount = _doneItemCount - 1;\n return ;\n }\n\n return ;\n }), [indicatorArray, _doneItemCount, steerage]);\n const currentProgress = isFeatureEnabled(FEATURE_NAMES.TopBar) ? percentage : rawProgress;\n const [progress, setProgress] = useState(Math.min(currentProgress, prevProgress));\n const [withAnimation, setWithAnimation] = useState(true);\n useEffect(() => {\n const timer = setTimeout(() => {\n if (currentProgress === prevProgress) return;\n if (currentProgress <= prevProgress) {\n setWithAnimation(false);\n }\n setProgress(currentProgress);\n dispatch(setLastAnimatedDoneCountAction(_doneCount));\n }, 0);\n\n return () => clearTimeout(timer);\n }, [currentProgress, prevProgress]);\n\n return (\n \n
\n {isFeatureEnabled(FEATURE_NAMES.TopBar) && progressBar}\n \n );\n};\n\nProgressBar.propTypes = {\n progress: string,\n prevProgress: string,\n progressBarProperties: shape({}),\n doneCount: number,\n todoCount: number\n};\n\nProgressBar.defaultProps = {\n progress: '0',\n prevProgress: '0',\n progressBarProperties: {},\n doneCount: 0,\n todoCount: 0\n};\n\nexport default ProgressBar;\n","/* eslint-disable camelcase */\nimport React, { useState, useCallback, useMemo } from 'react';\nimport { func, string } from 'prop-types';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { usePrevious } from '@jotforminc/hooks';\nimport { t, translationRenderer } from '@jotforminc/translation';\nimport { Hooks } from '@jotforminc/uikit';\nimport sortBy from 'lodash/sortBy';\nimport { IconChevronRight, IconArrowRotateRight } from '@jotforminc/svg-icons';\nimport { Button } from '@jotforminc/magnet';\nimport {\n checkMobilePhone, checkTablet, getFormCompletion, isYes\n} from '../../utils';\nimport { ScAppProgressBar } from './ScAppProgressBar';\nimport ProgressBar from '../../modules/PublicApp/ProgressBar';\nimport {\n navigateToAction,\n onFilterProductsAction,\n showGenericModalAction\n} from '../../store/actionCreators';\nimport { MODALS } from '../../constants/modals';\nimport SELECTORS from '../../store/selectors';\nimport { FEATURE_NAMES } from '../../constants/features';\nimport { isFeatureEnabled } from '../../utils/features/helper';\n\nimport { DESTINATION_TYPES } from '../../constants/navigation';\nimport { ITEM_TYPES } from '../../constants/itemTypes';\n\nconst AppProgressBar = ({\n handleProductClick, productID\n}) => {\n const dispatch = useDispatch();\n const progressRestartable = useSelector(SELECTORS.getProgressRestartable);\n const activePageID = useSelector(SELECTORS.getActivePageID);\n const appProperties = useSelector(SELECTORS.getAppInfoWithDefaults);\n const timeZone = useSelector(SELECTORS.getUserTimezone);\n const todoItemsProgress = useSelector(SELECTORS.getTodoItemsProgress);\n const [isRestartInfoVisible, setRestartInfoVisible] = useState(false);\n\n const {\n todoCount, doneCount, isAppDone, lastAnimatedDoneCount\n } = todoItemsProgress;\n\n const previouseDoneCount = usePrevious(doneCount);\n\n const {\n items: allItems,\n progressManualRestartDate\n } = appProperties;\n\n const requiredItems = useMemo(() => allItems.filter(item => isYes(item.required_showBadge)), [allItems]);\n\n const orderedRequiredItems = useMemo(() => sortBy(requiredItems, ({ portalOrder }) => parseInt(portalOrder, 10)), [requiredItems]);\n\n const notCompletedItems = useMemo(() => orderedRequiredItems.filter(reqItem => {\n const {\n lastSubmitted,\n completed_showBadge,\n completed_clearBadgeOn,\n completed_clearBadgePeriod,\n required_showBadge\n } = reqItem;\n\n return !getFormCompletion({\n lastSubmitted,\n showBadge: completed_showBadge,\n clearBadgeOn: completed_clearBadgeOn,\n clearBadgePeriod: completed_clearBadgePeriod,\n required_showBadge,\n timeZone,\n progressRestartDate: progressManualRestartDate\n });\n }), [progressManualRestartDate, orderedRequiredItems]);\n\n const handleGoToForm = useCallback(() => {\n const {\n embeddedForm, id: itemID, page, resourceID, type // TODO :: move the pattern to SAGA\n } = notCompletedItems[0];\n\n const nextFormID = (type === ITEM_TYPES.FORM) ? itemID : resourceID;\n\n if (nextFormID && !isYes(embeddedForm)) {\n return handleProductClick(type)(nextFormID);\n }\n\n dispatch(onFilterProductsAction({ itemID: nextFormID })); // ??? @serco :D\n if (page !== activePageID) {\n dispatch(navigateToAction({ to: DESTINATION_TYPES.PAGE, pageID: page }));\n }\n }, [notCompletedItems, handleProductClick, activePageID]);\n\n const isRestartActive = useMemo(() => requiredItems.length > 0 && notCompletedItems.length === 0, [notCompletedItems, requiredItems]);\n\n Hooks.useEffectIgnoreFirst(() => {\n let timeout;\n if (previouseDoneCount > doneCount) {\n setRestartInfoVisible(true);\n timeout = setTimeout(() => setRestartInfoVisible(false), 2000);\n }\n return () => clearTimeout(timeout);\n }, [doneCount]);\n\n const restartProgressDisabled = doneCount === 0;\n const percentage = ((doneCount / todoCount) * 100).toFixed();\n const prevProgress = ((lastAnimatedDoneCount / todoCount) * 100).toFixed();\n\n const {\n appHeaderBgColor, appFontColor, appIconColor, appIconBackground\n } = appProperties;\n const progressBarProperties = useMemo(() => ({\n appFontColor, appHeaderBgColor, appIconColor, appIconBackground\n }));\n\n const showRestartAppModal = useCallback(() => {\n if (!progressRestartable && !isRestartActive) return;\n dispatch(showGenericModalAction({ name: MODALS.RESTART_PROGRESS_MODAL }));\n }, [isRestartActive]);\n\n // eslint-disable-next-line max-len\n const progressText = isFeatureEnabled(FEATURE_NAMES.SignField) ? 'You\\'ve completed [1[{doneCount} of {todoCount}]] required steps.' : 'You\\'ve completed [1[{doneCount} of {todoCount}]] required forms.';\n const mobileProgressText = isFeatureEnabled(FEATURE_NAMES.SignField) ? '[1[{doneCount}/{todoCount}]] required steps.' : '[1[{doneCount}/{todoCount}]] required forms.';\n const isMobile = checkMobilePhone();\n const isTablet = checkTablet();\n // eslint-disable-next-line max-len\n const nextButtonText = isFeatureEnabled(FEATURE_NAMES.SignField) ? t('Go to next step') : t('Go to next form');\n\n const shouldDisableNextButton = productID && notCompletedItems.map(obj => { return obj.type === 'SIGN_LINK' ? obj.resourceID : obj.id; }).includes(productID);\n return (\n \n {isRestartInfoVisible ? (\n
\n
{t('Progress is restarted.')}
\n
\n ) : (\n
\n
\n {(isMobile || isTablet) ? (\n translationRenderer(mobileProgressText)({\n renderer1: str => {\n return (\n \n {str.replace('{doneCount}', doneCount).replace('{todoCount}', todoCount)}\n \n );\n }\n })\n ) : (\n translationRenderer(progressText)({\n renderer1: str => {\n return (\n \n {str.replace('{doneCount}', doneCount).replace('{todoCount}', todoCount)}\n \n );\n }\n })\n )}\n
\n
\n \n
\n {(progressRestartable && isRestartActive) && isAppDone && (\n \n {t('Restart')}\n \n )}\n {(!isRestartActive && notCompletedItems.length > 0) && (\n \n {nextButtonText}\n \n )}\n
\n )}\n
\n );\n};\n\nAppProgressBar.propTypes = {\n handleProductClick: func,\n productID: string\n};\n\nAppProgressBar.defaultProps = {\n handleProductClick: f => f,\n productID: ''\n};\n\nexport default AppProgressBar;\n","import Styled, { css } from 'styled-components';\nimport { FEATURE_NAMES } from '../../../constants/features';\nimport { isFeatureEnabled } from '../../../utils/features/helper';\nimport { applyAlpha } from '../../../utils/styleUtils';\n\nconst ScTopBar = Styled.div`\n${isFeatureEnabled(FEATURE_NAMES.TopBar) ? css`\n width: 100%;\n user-select: none;\n position: sticky;\n top: 0;\n z-index: 11;\n @media screen and (max-width: 480px) {\n &.showNavigationBar:not(.isMultiPage) + .pageContentWrapper:not(:has(.appHeader)) .app-content-wrapper {\n margin-top: 40px;\n }\n }\n\n ${isFeatureEnabled(FEATURE_NAMES.TopBar) ? css`\n background-color: #fff;\n ` : css`\n ${({ topBarProperties }) => {\n return css`background-color: ${(topBarProperties.appHeaderBgColor === topBarProperties.appFontColor) ? '#fff' : applyAlpha(topBarProperties.appHeaderBgColor, 1)};`;\n }}\n `};\n` : css`\nwidth: 100%;\n height: 75px;\n user-select: none;\n position: relative;\n z-index: 11;\n position: sticky;\n top: 0;\n\n ${({ topBarProperties }) => {\n return css`background-color: ${(topBarProperties.appHeaderBgColor === topBarProperties.appFontColor) ? '#fff' : applyAlpha(topBarProperties.appHeaderBgColor, 1)};`;\n }}\n\n // MultiPageBtn - ProgressBar - AccBox\n &.isMultiPage.isProgressOn.isAccountBox {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0 15px;\n height: 75px;\n border-bottom: 1px solid #C9CADD80;\n }\n\n // MultiPageBtn - AccBox\n &.isMultiPage.isAccountBox {\n height: 0;\n border-bottom: none;\n }\n\n // ProgressBar - AccBox\n &.isProgressOn.isAccountBox {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0 15px;\n height: 75px;\n border-bottom: 1px solid #C9CADD80;\n\n .dummyDiv {\n position: relative;\n height: 45px;\n width: 45px;\n }\n\n @media screen and (max-width: 480px) {\n .dummyDiv { width: 17.5px }\n }\n }\n\n // AccBox\n &.isAccountBox {\n height: 0;\n border-bottom: none;\n }\n`};\n\n \n`;\n\nexport default ScTopBar;\n","import classNames from 'classnames';\nimport debounce from 'lodash/debounce';\nimport { Popover, Utils } from '@jotforminc/uikit';\nimport React, {\n useRef, useState, useEffect, Fragment\n} from 'react';\n\nimport { RefType, OverflowableListPropType } from './types';\n\nimport './styles/jfOverflowableList.scss';\n\nconst OverflowableList = (props: OverflowableListPropType) => {\n const {\n items,\n itemClassName,\n moreItemComponent,\n wrapperClassName,\n popoverClassName,\n moreItemClassName,\n onHiddenItemIDListChange\n } = props;\n\n const containerRef = useRef() as RefType;\n const moreContainerRef = useRef() as RefType;\n const [moreItems, setMoreItems] = useState([]);\n const [maxItemHeight, setMaxItemHeight] = useState(-1);\n const [isMoreMenuVisible, setMoreMenuVisibility] = useState(false);\n const [firstHiddenItemIndex, setFirstHiddenItemIndex] = useState(-1);\n\n const renderOverflowItems = items.map((item, index) => {\n const isMoreItem = (index + 1) >= firstHiddenItemIndex;\n return isMoreItem && (\n \n {item.content}\n
\n );\n });\n\n const toggleMoreMenuVisibility = () => {\n setMoreMenuVisibility(!isMoreMenuVisible);\n };\n\n const handleMoreMenuKeyPress = e => Utils.isPressedKeyEnter(e) && toggleMoreMenuVisibility();\n\n const renderItems = items.map((item, index) => {\n const isHidden = moreItems?.indexOf(item.id) !== -1;\n const isHiddenAfter = index === (firstHiddenItemIndex - 1) ? 'true' : null;\n\n return (\n \n {isHiddenAfter && (\n \n
\n {moreItemComponent}\n
\n
\n )}\n \n {item.content}\n \n \n );\n });\n\n useEffect(() => {\n if (!containerRef.current) {\n return () => {};\n }\n\n const renewStates = debounce(() => {\n if (!containerRef.current) {\n return;\n }\n\n const { children = [] } = containerRef.current;\n const childList = [...children];\n const maxHeight = childList.reduce((max, currentNode) => {\n return max > currentNode.clientHeight ? max : currentNode.clientHeight;\n }, 0);\n if (maxHeight > 0) {\n setMaxItemHeight(maxHeight);\n }\n\n const containerDimensions = containerRef.current.getBoundingClientRect();\n const containerBottom = containerDimensions.top + maxHeight;\n const hiddenItemIDList = childList\n .filter(childNode => Math.ceil(childNode.getBoundingClientRect().top) >= containerBottom)\n .map(childNode => childNode.id);\n\n const firstHiddenIndex = childList.findIndex(childNode => Math.ceil(childNode.getBoundingClientRect().top) >= containerBottom);\n\n setFirstHiddenItemIndex(firstHiddenIndex);\n onHiddenItemIDListChange(hiddenItemIDList);\n setMoreItems(hiddenItemIDList);\n setMoreMenuVisibility(false);\n }, 25);\n\n renewStates();\n window.addEventListener('resize', renewStates);\n return () => window.removeEventListener('resize', renewStates);\n }, [containerRef.current]); // eslint-disable-line react-hooks/exhaustive-deps\n // ContainerRef.current dependency is added for BUGFIX #3747079 -> https://www.jotform.com/ticket-categorize/3747079\n\n return (\n \n {renderItems}\n {isMoreMenuVisible && (\n \n
\n {renderOverflowItems}\n
\n \n )}\n \n );\n};\n\nOverflowableList.defaultProps = {\n moreItemComponent: 'More â–¼',\n wrapperClassName: null,\n itemClassName: null,\n moreItemClassName: null,\n popoverClassName: null,\n onHiddenItemIDListChange: (f: void) => f\n};\n\nexport default OverflowableList;\n","import React, { memo, useCallback } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { shape, bool } from 'prop-types';\nimport { t } from '@jotforminc/translation';\nimport { Utils } from '@jotforminc/uikit';\nimport PageIcon from '../../Builder/components/HomePage/PageIcon';\nimport { navigationItemClickAction } from '../../../store/actionCreators';\n\nconst PageLink = ({ page, isActive }) => {\n const {\n name, id, pageOrder, showPageIcon, pageIcon\n } = page;\n const pageName = name || t('Page {pageOrder}').replace('{pageOrder}', pageOrder);\n\n const dispatch = useDispatch();\n\n const handleClick = useCallback(() => {\n dispatch(navigationItemClickAction(id));\n }, [id]);\n const handleEnterPressed = useCallback(e => Utils.isPressedKeyEnter(e) && handleClick(), []);\n return (\n \n \n \n {pageName}\n \n \n );\n};\n\nPageLink.propTypes = {\n page: shape({}),\n isActive: bool\n};\nPageLink.defaultProps = {\n page: {},\n isActive: false\n};\n\nexport default memo(PageLink);\n","import Styled from 'styled-components';\nimport { FEATURE_NAMES } from '../../../constants/features';\nimport { isFeatureEnabled } from '../../../utils/features/helper';\n\nconst navigationHeight = '65px';\n\nconst ScNavigationBar = Styled.div`\n width: 100%;\n height: ${navigationHeight};\n background: #fff;\n user-select: none;\n\n .appInfoWrapper {\n padding-top: ${navigationHeight};\n opacity: 0;\n transition: all .25s ease-in-out;\n overflow: hidden;\n\n &.show {\n padding-top: 0;\n opacity: 1;\n }\n }\n\n .appIcon {\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n\n & > div {\n margin: 0;\n width: 40px;\n height: 40px;\n\n img {\n width: 39px;\n height: 39px;\n }\n }\n }\n\n .appText {\n color: #0A1551;\n font-size: 18px;\n font-weight: 400;\n line-height: 24px;\n text-align: center;\n }\n\n .appNavigation {\n margin-left: auto;\n height: 100%;\n\n .jfOverflowableList {\n height: 100%;\n width: 100%;\n\n &-item {\n height: 100%;\n\n .appPageLink {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n padding: 0 15px;\n cursor: pointer;\n fill: #0A1551;\n\n &-icon-svg {\n width: 14px;\n }\n\n &.forMore {\n .appPageLink-container:after {\n display: none;\n }\n }\n\n &-container {\n display: flex;\n align-items: center;\n gap: 8px;\n position: relative;\n transition: .3s;\n\n &:after {\n content: \"\";\n position: absolute;\n left: 0;\n width: 100%;\n bottom: -10px;\n height: 2px;\n background-color: #0099FF;\n opacity: 0;\n transition: .3s;\n border-radius: 30px;\n }\n }\n\n &.isActive, &:hover {\n .appPageLink-container {\n color: #0099FF;\n fill: #0099FF;\n transition: .3s;\n\n &:after {\n opacity: 1;\n }\n }\n }\n }\n }\n }\n\n @media screen and (max-width: 480px) {\n display: none;\n }\n }\n\n .isAccountBox & {\n ${() => (!isFeatureEnabled(FEATURE_NAMES.ProductList) && `\n border-bottom: none;\n\n .appNavigation {\n display: none;\n }\n\n .appIcon,\n .appText {\n display: none;\n }\n `)}\n }\n\n .isAccountBox.isProgressOn & {\n border-bottom: none;\n position: absolute;\n }\n\n .isAccountBox.isProgressOn.isPaymentApp & {\n display: flex;\n position: relative;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid #E4E6F4;\n height: ${navigationHeight};\n top: 0;\n }\n\n .isAccountBox.showNavigationBar.isPaymentApp & {\n display: flex;\n position: relative;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid #E4E6F4;\n height: ${navigationHeight};\n top: 0;\n\n & > div:last-child {\n .badgeName {\n &:after {\n right: 16px;\n }\n }\n\n > div.cartWrapper {\n margin-right: 16px;\n }\n }\n }\n\n .isAccountBox.showNavigationBar.isPaymentApp.onlyPaymentHeader & {\n .jfOverflowableList, .verticalLine {\n display: none;\n }\n }\n\n .isAccountBox.isMultiPage:not(.showNavigationBar) & {\n border-bottom: none;\n\n .appNavigation {\n display: none;\n }\n\n .appIcon,\n .appText {\n display: none;\n }\n }\n\n .isAccountBox:not(.showNavigationBar) & {\n border-bottom: none;\n\n .appNavigation {\n display: none;\n }\n\n .appIcon,\n .appText {\n display: none;\n }\n }\n\n .isAccountBox.onlyPaymentHeader.isMultiPage:not(.showNavigationBar) & {\n height: ${navigationHeight};\n border-bottom: 1px solid #E4E6F4;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding-right: 75px;\n \n .verticalLine {\n display: none\n }\n }\n\n // AppIcon - Pages - AccBox\n .isMultiPage.showNavigationBar.isAccountBox & {\n display: flex;\n position: relative;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid #E4E6F4;\n height: ${navigationHeight};\n top: 0;\n\n .appNavigation {\n display: block;\n }\n\n .appIcon {\n display: flex;\n }\n }\n\n// HamburgerMenu - - AccBox\n @media screen and (max-width: 480px) {\n .isMultiPage.showNavigationBar.isAccountBox & {\n\n position: sticky;\n border-bottom: none;\n\n .appIcon,\n .appText {\n display: none;\n }\n\n .appNavigation {\n display: none;\n }\n }\n\n .isPaymentApp.showNavigationBar.isAccountBox.isProgressOn & {\n position: sticky;\n border-bottom: none;\n z-index: 2;\n }\n\n .isMultiPage.showNavigationBar.isAccountBox.isProgressOn & {\n position: sticky;\n border-bottom: none;\n z-index: 2;\n }\n\n .isAccountBox.showNavigationBar.isPaymentApp & {\n position: sticky;\n border-bottom: none;\n top: 40px;\n z-index: 2;\n padding-right: 44px;\n\n & > div:last-child {\n\n > div.cartWrapper {\n margin-right: 0;\n position: absolute;\n background-color: #ffffff80;\n border-radius: 50%;\n right: -48px;\n }\n }\n }\n\n .isAccountBox.onlyPaymentHeader.isMultiPage:not(.showNavigationBar) & {\n height: 0;\n border-bottom: none;\n }\n\n }\n`;\n\nexport default ScNavigationBar;\n","import Styled from 'styled-components';\n\nconst ScCart = Styled.button`\n text-decoration: none;\n background: transparent;\n cursor: pointer;\n box-shadow: none;\n padding: 0;\n border: 0;\n font-size: 16px;\n font-family: inherit;\n color: inherit;\n display: flex;\n\n .cartWrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n }\n\n .verticalLine {\n height: 40px;\n width: 2px;\n background-color: #E3E5F5;\n border-radius: 100px;\n margin: 0 30px 0 20px;\n display: none;\n }\n .isPaymentApp & div:not(:has(.formAccountBox-wrapper)) {\n margin-right: 16px;\n @media screen and (max-width: 480px) {\n margin-right: 0;\n }\n }\n\n .isPaymentApp.isMultiPage & {\n position: relative;\n transform: unset;\n margin-left: 0;\n\n .verticalLine {\n display: inline-block;\n }\n\n .badgeName {\n &:after {\n left: 50px;\n }\n }\n }\n\n .isPaymentApp & {\n position: relative;\n margin-left: auto;\n }\n\n .icon {\n position: relative;\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n\n svg path {\n fill: #0A1551;\n }\n\n .badge {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 3px;\n right: 2px;\n min-width: 15px;\n height: 15px;\n font-size: 10px;\n font-weight: 500;\n color: #fff;\n background-color: #D93434;\n border-radius: 99px;\n padding: 4px;\n }\n\n @keyframes zoomIn {\n from {\n opacity: 0;\n transform: scale3d(0.5, 0.5, 0.5);\n }\n\n 50% {\n opacity: 1;\n transform: scale3d(1.1, 1.1, 1.1);\n }\n\n 100% {\n transform: scale3d(1, 1, 1);\n }\n }\n\n .zoomIn {\n animation-name: zoomIn;\n animation-duration: .5s;\n }\n }\n\n .badgeName {\n margin-left: 5px;\n font-weight: 500;\n font-size: 18px;\n white-space: nowrap;\n\n &:after {\n content: \"\";\n position: absolute;\n left: 0px;\n right: 0px;\n bottom: -6px;\n height: 2px;\n background-color: rgb(0, 153, 255);\n opacity: 0;\n transition: all 0.3s ease 0s;\n border-radius: 30px;\n }\n }\n\n &:hover {\n color: #0099FF;\n\n .badgeName {\n &::after {\n opacity: 1;\n }\n }\n\n svg path {\n fill: #0099FF;\n }\n }\n\n ${({ isCartActive }) => ((isCartActive) ? `\n color: #0099FF;\n transition: .3s;\n\n .badgeName {\n &::after {\n opacity: 1;\n }\n }\n\n .icon {\n svg path {\n fill: #0099FF;\n }\n }\n ` : '')}\n\n @media screen and (max-width: 480px) {\n position: absolute;\n right: 65px;\n top: 12px;\n background-color: #ffffff80;\n border-radius: 50%;\n\n .isMultiPage & {\n position: absolute;\n right: 65px;\n top: 12px;\n }\n\n .detailsPageNav & {\n right: 20px;\n }\n\n .badgeName {\n display: none;\n }\n\n .isPaymentApp.isMultiPage & {\n position: absolute;\n padding-left: 0;\n border-left: 0;\n margin-right: 0;\n\n .verticalLine {\n display: none;\n }\n }\n\n .isPaymentApp & {\n position: absolute;\n }\n }\n`;\nexport default ScCart;\n","import React, { useEffect, useState } from 'react';\nimport { string, func, bool } from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport { t } from '@jotforminc/translation';\nimport cn from 'classnames';\nimport { IconCartShoppingFilled } from '@jotforminc/svg-icons';\nimport ScCart from './ScCart';\nimport SELECTORS from '../../../store/selectors';\n\nconst ProductCartBadge = ({ itemFontColor, onCartClick, isCartActive }) => {\n const cartProductsCount = useSelector(SELECTORS.getCartProductItemCount);\n const [badgeAnimation, setBadgeAnimation] = useState(false);\n\n useEffect(() => {\n setBadgeAnimation(true);\n\n const timeout = setTimeout(() => setBadgeAnimation(false), 500);\n return () => clearTimeout(timeout);\n }, [cartProductsCount]);\n\n return (\n \n \n
\n
\n \n {cartProductsCount > 0 && (\n {cartProductsCount}\n )}\n
\n {t('Cart')}\n
\n \n );\n};\n\nProductCartBadge.propTypes = {\n onCartClick: func,\n itemFontColor: string,\n isCartActive: bool\n};\n\nProductCartBadge.defaultProps = {\n onCartClick: f => f,\n itemFontColor: '',\n isCartActive: false\n};\n\nexport default ProductCartBadge;\n","import Styled from 'styled-components';\nimport { darken } from 'polished';\n\nconst ScDonateNowBadge = Styled.div`\n margin-left: ${({ isMultiPage }) => (isMultiPage ? '0px' : 'auto')};\n margin-right: 10px;\n display: flex;\n align-items: center;\n\n .donateNow {\n height: 40px;\n background-color: ${({ itemButtonBgColor }) => itemButtonBgColor};\n border: none;\n border-radius: 4px;\n color: ${({ itemButtonFontColor }) => itemButtonFontColor};\n font-weight: 500;\n font-size: 14px;\n line-height: 16px;\n padding: 0 12px;\n transition: all .3s ease-in-out;\n\n @media screen and (max-width: 480px) {\n display: none;\n }\n\n &:hover {\n ${({ itemButtonBgColor }) => (itemButtonBgColor) && `background: ${darken(0.10, itemButtonBgColor)}`}; \n }\n }\n\n .verticalLine {\n height: 28px;\n width: 2px;\n background-color: #E3E5F5;\n border-radius: 100px;\n margin: 0 32px 0 20px;\n display: ${({ isMultiPage }) => (isMultiPage ? 'inline-block' : 'none')};\n }\n`;\n\nexport default ScDonateNowBadge;\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { t } from '@jotforminc/translation';\nimport { string } from 'prop-types';\nimport SELECTORS from '../../../store/selectors';\nimport * as ACTION_CREATORS from '../../../store/actionCreators';\nimport ScDonateNowBadge from './ScDonateNowBadge';\n\nconst DonateNowBadge = ({ wrapperClass }) => {\n const isMultiPage = useSelector(SELECTORS.getIsMultiPage);\n const donationItemID = useSelector(SELECTORS.getDonationItemID);\n const { itemButtonBgColor, itemButtonFontColor } = useSelector(SELECTORS.getItemWithDefaults(donationItemID));\n const dispatch = useDispatch();\n\n const handleDonateNowClick = () => dispatch(ACTION_CREATORS.showDonationItemAction());\n\n return (\n \n \n \n {t('Donate')}\n \n \n );\n};\n\nDonateNowBadge.propTypes = {\n wrapperClass: string\n};\n\nDonateNowBadge.defaultProps = {\n wrapperClass: ''\n};\n\nexport default DonateNowBadge;\n","import Styled, { css } from 'styled-components';\nimport { FEATURE_NAMES } from '../../../constants/features';\nimport { isFeatureEnabled } from '../../../utils/features/helper';\nimport { mainFontColor, branding21MainBlue } from '../../../styles/colors';\nimport { applyAlpha } from '../../../utils/styleUtils';\n\nconst ScNavigationPanel = Styled.div`\n${isFeatureEnabled(FEATURE_NAMES.TopBar) ? css`\ndisplay: none;\n\n.isMultiPage.showNavigationBar.isAccountBox & {\n position: absolute;\n top: 13px;\n left: 14px;\n z-index: 6;\n width: calc(100% - 78px);\n\n @media screen and (max-width: 480px) {\n display: block;\n\n .appText {\n display: block;\n opacity: 0;\n\n &.show {\n opacity: 1;\n transition: opacity .2s ease;\n }\n }\n }\n}\n\n.isMultiPage.showNavigationBar.isAccountBox.isPaymentApp & {\n width: calc(100% - 118px);\n}\n\n.isMultiPage.showNavigationBar.isAccountBox.onlyPaymentHeader & {\n display: none;\n}\n\n.navigationPanelWrapper {\n position: fixed;\n z-index: 12;\n width: 100%;\n top: 0;\n left: 0;\n display: flex;\n flex-direction: column;\n box-shadow: 0px 0px 4px 0px #0000001A;\n\n ${({ hasBrandingFooter }) => {\n return css`height: ${hasBrandingFooter ? 'calc(100% - 50px)' : '100%'};`;\n }}\n \n padding: 0;\n transform: translateX(-100%);\n transition: transform .4s ease;\n background-color: #FFFFFF;\n\n @media screen and (max-width: 480px) {\n &.isOpen {\n opacity: 1;\n pointer-events: all;\n transform: translateX(0);\n }\n }\n\n .navPanel {\n &-title {\n display: flex;\n justify-content: space-between;\n border-bottom: 1px solid #C9CEEA;\n padding: 20px 0;\n position: absolute;\n width: 100%;\n top: 0;\n background-color: #fff;\n max-height: 90px;\n z-index: 1;\n min-height: 67px;\n\n &-content {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: 8px;\n padding: 0 70px 0 14px;\n \n & > span {\n font-size: 18px;\n font-weight: 700;\n line-height: 24px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: ${mainFontColor};\n }\n\n & > img {\n width: auto;\n height: 40px;\n object-fit: contain;\n }\n }\n }\n\n &-items {\n overflow-y: auto;\n padding: 0 14px;\n padding-top: 95px;\n height: 100%;\n\n &-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n align-items: flex-start;\n }\n }\n }\n}\n\n.navBackButton {\n padding-left: 0;\n outline: none;\n\n &:hover {\n background: transparent;\n }\n}\nbutton.navClose {\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 45px;\n width: 45px;\n background-color: transparent;\n border-radius: 50%;\n border: 0.5px solid #2C334599;\n}\n\nbutton.navPanel-item {\n font-family: inherit;\n transition: .3s background-color ease;\n text-transform: none;\n background-color: transparent;\n color: ${mainFontColor};\n fill: ${mainFontColor};\n border-radius: 8px;\n gap: 8px;\n padding: 12px 0;\n outline: none;\n\n & > span {\n font-size: 16px;\n padding: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis; \n }\n\n &:hover {\n color: ${branding21MainBlue};\n }\n\n &.activePage {\n color: ${branding21MainBlue};\n fill: ${branding21MainBlue};\n }\n\n &:first-of-type {\n margin-top: 0;\n }\n}\n\n` : css`\n.isMultiPage.isProgressOn.isAccountBox & {\n position: relative;\n z-index: 12;\n top: unset;\n left: unset;\n}\n\n.isMultiPage.isAccountBox & {\n position: absolute;\n top: 15px;\n left: 15px;\n z-index: 5;\n}\n\nbutton.navBurger {\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 45px;\n width: 45px;\n border-radius: 50%;\n border: 0.5px solid;\n\n ${({ themeProperties }) => {\n return css`border-color: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? applyAlpha(mainFontColor, 0.15) : applyAlpha(themeProperties.appFontColor, 0.15)};`;\n }}\n\n ${({ themeProperties }) => {\n return css`background-color: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? '#fff' : themeProperties.appHeaderBgColor};`;\n }}\n\n svg {\n width: 16px;\n height: 10px;\n }\n\n & > svg > path {\n ${({ themeProperties }) => {\n return css`stroke: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? mainFontColor : applyAlpha(themeProperties.appFontColor, 1)};`;\n }}\n }\n}\n\n.navigationPanelWrapper {\n position: fixed;\n z-index: 12;\n top: 0;\n left: 0;\n display: flex;\n flex-direction: column;\n box-shadow: 0px 0px 4px 0px #0000001A;\n height: 100%;\n width: 343px;\n padding: 0 13px;\n transform: translateX(-100%);\n transition: transform .4s ease;\n ${({ themeProperties }) => {\n return css`background-color: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? '#fff' : applyAlpha(themeProperties.appHeaderBgColor, 1)};`;\n }}\n\n &.isOpen {\n opacity: 1;\n pointer-events: all;\n transform: translateX(0);\n }\n\n .navPanel {\n &-title {\n display: flex;\n justify-content: space-between;\n border-bottom: 2px solid;\n padding: 20px 0;\n ${({ themeProperties }) => {\n return css`border-color: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? applyAlpha(mainFontColor, 0.05) : applyAlpha(themeProperties.appFontColor, 0.05)};`;\n }}\n\n & > span {\n font-size: 22px;\n font-weight: 500;\n line-height: 25px;\n text-align: left;\n flex-basis: calc(100% - 20px);\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n ${({ themeProperties }) => {\n return css`color: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? mainFontColor : themeProperties.appFontColor};`;\n }}\n }\n\n &-close {\n & > svg {\n ${({ themeProperties }) => {\n return css`fill: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? applyAlpha(mainFontColor, 0.8) : applyAlpha(themeProperties.appFontColor, 0.8)};`;\n }}\n }\n }\n }\n\n &-items {\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n margin-top: 20px;\n }\n }\n\n @media screen and (max-width: 480px) {\n width: 248px;\n }\n}\n\nbutton.navClose {\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 45px;\n width: 45px;\n background-color: transparent;\n border-radius: 50%;\n border: 0.5px solid #2C334599;\n}\n\nbutton.navPanel-item {\n margin-top: 10px;\n font-family: inherit;\n font-size: 16px;\n font-weight: 400;\n transition: .3s background-color ease;\n text-transform: none;\n padding: 10px;\n justify-content: flex-start;\n background-color: transparent;\n\n ${({ themeProperties }) => {\n return css`color: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? mainFontColor : themeProperties.appFontColor};`;\n }}\n\n &:hover {\n ${({ themeProperties }) => {\n return css`background-color: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? applyAlpha(mainFontColor, 0.05) : applyAlpha(themeProperties.appFontColor, 0.05)};`;\n }}\n }\n\n &:active {\n ${({ themeProperties }) => {\n return css`background-color: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? applyAlpha(mainFontColor, 0.15) : applyAlpha(themeProperties.appFontColor, 0.15)};`;\n }}\n }\n\n &.activePage {\n ${({ themeProperties }) => {\n return css`color: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? mainFontColor : themeProperties.appFontColor};`;\n }}\n\n ${({ themeProperties }) => {\n return css`background-color: ${(themeProperties.appHeaderBgColor === themeProperties.appFontColor) ? applyAlpha(mainFontColor, 0.1) : applyAlpha(themeProperties.appFontColor, 0.1)};`;\n }}\n }\n\n\n &:first-of-type {\n margin-top: 0;\n }\n\n & > span { \n text-align: left;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis; \n }\n}\n\n.backdrop {\n position: fixed;\n height: 100%;\n width: 100%;\n z-index: 4;\n top: 0;\n left: 0;\n background-color: #394B7A66;\n opacity: 0;\n pointer-events: none;\n\n @media screen and (max-width: 480px) {\n\n &.isOpen { \n opacity: 1;\n pointer-events: all;\n transition: opacity .3s ease;\n }\n }\n}\n`};\n`;\n\nexport default ScNavigationPanel;\n","import React from 'react';\nimport { bool, func, shape } from 'prop-types';\nimport { useParams } from '@reach/router';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Button } from '@jotforminc/magnet';\nimport SELECTORS from '../../../store/selectors';\nimport { checkMobilePhone } from '../../../utils';\nimport PageIcon from '../../Builder/components/HomePage/PageIcon';\nimport { navigationItemClickAction } from '../../../store/actionCreators';\n\nconst NavigationPanelItem = ({ page, closeNavigationPanel, isNavigationPanelOpen }) => {\n const dispatch = useDispatch();\n const routerParams = useParams();\n const isMobilePhone = checkMobilePhone();\n\n const firstPageID = useSelector(SELECTORS.getFirstPageID);\n\n const {\n name, showPageIcon, pageIcon, id\n } = page;\n const { pageID: activePageID = 'homepage' } = routerParams || {};\n const isHomepageActive = activePageID === 'homepage' && id === firstPageID;\n\n const navigationItemCLickHandler = () => {\n dispatch(navigationItemClickAction(id));\n\n if (isMobilePhone) {\n closeNavigationPanel();\n }\n };\n\n const pageIconRenderer = () => ;\n\n return (\n \n {name}\n \n );\n};\n\nNavigationPanelItem.propTypes = {\n page: shape({}),\n closeNavigationPanel: func,\n isNavigationPanelOpen: bool\n};\n\nNavigationPanelItem.defaultProps = {\n page: {},\n closeNavigationPanel: f => f,\n isNavigationPanelOpen: false\n};\n\nexport default NavigationPanelItem;\n","import React, { useCallback } from 'react';\nimport {\n arrayOf,\n bool,\n shape,\n number\n} from 'prop-types';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Hooks } from '@jotforminc/uikit';\nimport { t } from '@jotforminc/translation';\nimport { Feature } from '@jotforminc/feature-toggle';\nimport { IconXmark, IconChevronLeft } from '@jotforminc/svg-icons';\nimport { Button, Flex } from '@jotforminc/magnet';\nimport ScNavigationPanel from './ScNavigationPanel';\nimport * as ACTION_CREATORS from '../../../store/actionCreators';\nimport { FEATURE_NAMES } from '../../../constants/features';\nimport NavigationPanelButton from './NavigationPanelButton';\nimport SELECTORS from '../../../store/selectors';\nimport NavigationPanelItem from './NavigationPanelItem';\nimport { UI_PROPS } from '../../../constants';\n\nconst NavigationPanel = ({\n disableButton,\n pages,\n themeProperties,\n scrollDownValue\n}) => {\n const mobileMenuTitle = useSelector(SELECTORS.getMobileMenuTitle);\n const navigationStack = useSelector(SELECTORS.getUIProp(UI_PROPS.navigationStack));\n const { showMobileMenuIcon, mobileMenuIcon } = useSelector(SELECTORS.getMobileMenuIconProperties);\n const hasBrandingFooter = useSelector(SELECTORS.getHasBrandingFooter);\n const appName = useSelector(SELECTORS.getAppName);\n const { logoURL } = useSelector(SELECTORS.getLogoProperties);\n const allPages = useSelector(SELECTORS.getPagesWithNames);\n const activePageID = useSelector(SELECTORS.getActivePageID);\n const isHomepage = useSelector(SELECTORS.getIsHomepage(activePageID));\n const { name: pageName } = allPages.find(page => page.id === activePageID) || '';\n const isScrolledDown = scrollDownValue > 0;\n\n const dispatch = useDispatch();\n\n const [isNavigationPanelOpen, setNavigationPanelOpen] = Hooks.useClickOutsideStateWithSelector(false, '.navigationPanelWrapper, .navBurger');\n\n const openNavigationPanel = useCallback(() => {\n if (!disableButton) return;\n\n setNavigationPanelOpen(true);\n dispatch(ACTION_CREATORS.trackEventAction({ action: 'navMenuOpened' }));\n }, []);\n\n const closeNavigationPanel = useCallback(() => {\n setNavigationPanelOpen(false);\n }, []);\n\n return (\n \n {!isNavigationPanelOpen && (\n \n {navigationStack.length > 0 ? (\n dispatch(ACTION_CREATORS.navigateBack())}\n aria-label={t('Back')}\n variant='ghost'\n colorStyle='secondary'\n startIcon={IconChevronLeft}\n />\n ) : (\n \n )}\n {!isHomepage && {pageName}}\n \n )}\n <>\n
\n
\n
\n {logoURL && {appName}}\n {appName}\n
\n \n
\n
\n
\n {pages.map(page => (\n \n ))}\n
\n
\n
\n \n \n )}\n />\n );\n};\n\nNavigationPanel.propTypes = {\n pages: arrayOf(shape({})),\n themeProperties: shape({}),\n disableButton: bool,\n scrollDownValue: number\n};\n\nNavigationPanel.defaultProps = {\n pages: [],\n themeProperties: {},\n disableButton: true,\n scrollDownValue: 0\n};\n\nexport default NavigationPanel;\n","import Styled, { css } from 'styled-components';\nimport { FEATURE_NAMES } from '../../constants/features';\nimport { isFeatureEnabled } from '../../utils/features/helper';\n\nexport const ScPortalLoginFlow = Styled.div`\n position: absolute;\n top: 15px;\n right: 15px;\n z-index: 5;\n\n .jNewHeader-avatar {\n padding: 0;\n margin: 0;\n border: none;\n display: block;\n\n .jNewHeader-avatarContainer {\n height: unset;\n\n ${isFeatureEnabled(FEATURE_NAMES.TopBar) ? css`\n .jNewHeader-profile {\n width: 40px;\n height: 40px;\n\n &.empty {\n background-color: #D6D7E7;\n }\n }\n ` : css`\n .jNewHeader-profile {\n &.empty {\n background-color: #D6D7E7;\n }\n }\n `};\n }\n }\n\n .jNewHeader-accountBox {\n right: 0;\n top: 56px;\n\n &::before {\n right: 13px;\n }\n\n &::after {\n right: 18px;\n }\n\n @media screen and (max-width: 480px) {\n width: 300px;\n overflow: unset;\n }\n\n @media screen and (max-width: 375px) {\n width: 94vw;\n }\n\n @media only screen and (max-device-width: 1024px) and (orientation: landscape) {\n overflow: scroll;\n }\n }\n\n .formPage & {\n position: relative;\n top: unset;\n right: unset;\n z-index: 5;\n }\n\n ${isFeatureEnabled(FEATURE_NAMES.TopBar) ? css`\n\n // AppIcon - Pages - AccBox\n .isMultiPage.showNavigationBar.isAccountBox & {\n position: relative;\n min-width: 72px;\n height: 65px;\n top: 0;\n right: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n\n .formAccountBox-wrapper { margin: 12.5px 16px; }\n // HamburgerMenu - - AccBox\n @media screen and (max-width: 480px) {\n position: absolute;\n top: 0;\n right: 0;\n }\n }\n\n .isPaymentApp.showNavigationBar.isAccountBox & {\n position: relative;\n min-width: 72px;\n height: 65px;\n top: 0;\n right: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n\n .formAccountBox-wrapper { margin: 12.5px 16px; }\n\n @media screen and (max-width: 480px) {\n position: absolute;\n top: 0;\n right: 0;\n }\n }\n\n ` : css`\n .isMultiPage.isProgressOn.isAccountBox & {\n position: relative;\n min-width: 45px;\n height: 45px;\n top: unset;\n right: unset;\n }\n\n .isProgressOn.isAccountBox & {\n position: relative;\n min-width: 45px;\n height: 45px;\n top: unset;\n right: unset;\n }\n `};\n\n ${isFeatureEnabled(FEATURE_NAMES.ProductList) && css`\n .isGreeting, .isLoginWelcomeText {\n display: none;\n }\n .formAccountBox-tooltip {\n border: 1px solid #c8ceed;\n box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.25);\n margin-top: 15px;\n\n &:before {\n border-radius: 4px 0 0;\n border: 1px solid #c8ceed;\n border-width: 1px 0 0 1px;\n top: -7px;\n box-shadow: none;\n }\n }\n .formAccountBox-line {\n &.leftAligned {\n text-align: left;\n }\n &.forUserInfo {\n color: #6F76A7;\n border-color: #E3E5F5;\n }\n &.forLogout {\n border-color: #F3F3FE;\n }\n }\n .formAccountBox-logout, .formAccountBox-titleSmall {\n color: #6F76A7;\n }\n .formAccountBox-loginButton {\n width: 100%;\n text-transform: none;\n height: 48px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: .5em 1em;\n border-radius: 4px;\n cursor: pointer;\n border: 0;\n font-size: 1em;\n line-height: 1.5;\n font-weight: 500;\n font-family: inherit;\n color: #fff;\n background-color: #0A1551;\n }\n .formAccountBox-titleSmall {\n font-size: 12px;\n font-weight: 400;\n margin-bottom: 8px;\n line-height: 26px;\n }\n .formAccountBox-signupLine {\n color: #0A1551;\n margin-top: 8px;\n font-weight: 400;\n\n button span {\n padding: 0 4px;\n }\n }\n .formAccountBox-signupLine, .formAccountBox-signupLink {\n font-size: 14px;\n line-height: 26px;\n }\n .formAccountBox-signupLink {\n color: #0099ff;\n font-weight: 500;\n margin-left: 4px;\n }\n .formAccountBox-signupLink, .formAccountBox-footerButton {\n background-color: transparent;\n border: none;\n padding: 0;\n }\n .formAccountBox-footerButton {\n text-align: left;\n }\n `};\n\n .formAccountBox-wrapper {\n top: 0;\n right: 0;\n\n .avatarBox {\n border: 2px solid #fff;\n ${isFeatureEnabled(FEATURE_NAMES.TopBar) ? css`\n ` : css`\n width: 44px;\n height: 44px;\n `};\n }\n\n .formAccountBox-tooltip {\n .formAccountBox-line.forUserInfo {\n cursor: default;\n }\n\n .formAccountBox-line.forLogout {\n cursor: pointer;\n }\n }\n }\n`;\n","import React, { useCallback } from 'react';\nimport { navigate } from '@reach/router';\nimport { string } from 'prop-types';\nimport { t } from '@jotforminc/translation';\nimport styled from 'styled-components';\nimport { useDispatch } from 'react-redux';\nimport { trackEventAction } from '../../store/actionCreators';\n\nconst ScAccountBoxLinkRenderer = styled.div`\n cursor: pointer;\n`;\n\nconst AccountBoxLinkRenderer = ({ text, url }) => {\n const dispatch = useDispatch();\n\n const handleOnClick = useCallback(() => {\n if (url && url.includes('previousDonations')) {\n dispatch(trackEventAction({ action: 'previousDonationButtonClickedAtAccountBox' }));\n }\n navigate(url);\n }, [url]);\n\n return (\n \n {t(text)}\n \n );\n};\n\nAccountBoxLinkRenderer.propTypes = {\n text: string,\n url: string\n};\n\nAccountBoxLinkRenderer.defaultProps = {\n text: '',\n url: ''\n};\n\nexport default AccountBoxLinkRenderer;\n","import React from 'react';\nimport { t } from '@jotforminc/translation';\nimport { Button } from '@jotforminc/magnet';\nimport { func } from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport SELECTORS from '../../store/selectors';\n\nconst GuestShoppingAccountBox = ({ onAccountBoxScreen }) => {\n const isDonationApp = useSelector(SELECTORS.getIsDonationApp);\n\n return (\n
\n
\n

{t(`Login in to track your ${isDonationApp ? 'donations' : 'orders'}`)}

\n onAccountBoxScreen('loginOptions')}\n size='large'\n fullWidth\n >\n {t('Log in')}\n \n

\n {t('New customer?')}\n onAccountBoxScreen('signupOptions')}\n className='pl-0'\n >\n {t('Sign up')}\n \n

\n
\n
\n onAccountBoxScreen('signupOptions')}\n className='h-8 pl-0 color-navy-700'\n >\n {t('Profile')}\n \n onAccountBoxScreen('signupOptions')}\n className='h-8 pl-0 color-navy-700'\n >\n {t(`Previous ${isDonationApp ? 'Donations' : 'Orders'}`)}\n \n
\n
\n );\n};\n\nGuestShoppingAccountBox.propTypes = {\n onAccountBoxScreen: func.isRequired\n};\n\nexport default GuestShoppingAccountBox;\n","import React from 'react';\nimport { func } from 'prop-types';\nimport { Button, Flex } from '@jotforminc/magnet';\nimport { t } from '@jotforminc/translation';\nimport { useSelector } from 'react-redux';\nimport SELECTORS from '../../store/selectors';\n\nfunction ContinueAsFlow({ onContinueAs, onUseDifferentAccount }) {\n const currentUser = useSelector(SELECTORS.getUser);\n const {\n name,\n username,\n email,\n avatarUrl\n } = currentUser;\n const userName = name || username;\n\n return (\n
\n \n \n \n

{userName}

\n

{email}

\n
\n \n {t('Continue as {userName} ', { userName })}\n \n

\n {t('Use a different account?')}\n \n {t('Log in')}\n \n

\n \n
\n );\n}\n\nContinueAsFlow.propTypes = {\n onContinueAs: func,\n onUseDifferentAccount: func\n};\n\nContinueAsFlow.defaultProps = {\n onContinueAs: f => f,\n onUseDifferentAccount: f => f\n};\n\nexport default ContinueAsFlow;\n","import React, {\n useCallback, useEffect, useMemo,\n useState\n} from 'react';\nimport { INITIATOR_TYPES } from '@jotforminc/constants';\nimport { bool, func } from 'prop-types';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { handleCustomNavigation } from '@jotforminc/utils';\nimport { getAPIURL } from '@jotforminc/request-layer';\nimport { isEnterprise } from '@jotforminc/enterprise-utils';\nimport { AccountBox as CommonAccountBoxWrapper, FormUserAccountBox } from '@jotforminc/account-box';\nimport { LoginFlow } from '@jotforminc/login-flow';\n\nimport { ScPortalLoginFlow } from '../PortalLoginFlow/scPortalLoginFlow';\nimport { generateAppURL } from '../../utils/navigation';\nimport { isInJotformKiosk } from '../../utils';\nimport * as ACTION_CREATORS from '../../store/actionCreators';\nimport AccountBoxLinkRenderer from './AccountBoxLinkRenderer';\nimport SELECTORS from '../../store/selectors';\nimport GuestShoppingAccountBox from './GuestShoppingAccountBox';\nimport { UI_PROPS } from '../../constants';\nimport ContinueAsFlow from './ContinueAsFlow';\n\nconst PortalAccountBox = ({ isPreview, loginable, onAccountBoxToggle }) => {\n const dispatch = useDispatch();\n const isDonationApp = useSelector(SELECTORS.getIsDonationApp);\n const isPaymentApp = useSelector(SELECTORS.getIsPaymentApp);\n const isAccountBoxOpen = useSelector(SELECTORS.selectAccountBoxStatus);\n const setAccountBoxOpen = val => dispatch(ACTION_CREATORS.setAccountBoxStatus(val));\n const user = useSelector(SELECTORS.getUser);\n const { showContinueAs } = user;\n\n const handleToolTipToggle = useCallback(isTooltipOpen => setAccountBoxOpen(isTooltipOpen), []);\n\n const initialScreen = useSelector(SELECTORS.getAccountBoxScreen);\n\n const handleAccountBoxScreen = useCallback(screen => dispatch(ACTION_CREATORS.setUIProp(UI_PROPS.activeAccountBoxScreen, screen)), []);\n\n const [continueAsDismissed, setContinueAsDismissed] = useState(false);\n\n useEffect(() => {\n onAccountBoxToggle(isAccountBoxOpen);\n if (isPaymentApp && !isAccountBoxOpen) handleAccountBoxScreen('');\n if (!isAccountBoxOpen) setContinueAsDismissed(false);\n }, [isAccountBoxOpen, isPaymentApp]);\n\n const isUserLoggedIn = useMemo(() => user.USER_TYPE && !!user.email && user.username !== 'guest_apiDemo', [user]);\n\n const handleLogout = useCallback(() => {\n const backTo = generateAppURL({ forLogout: true });\n let origin = 'https://www.jotform.com';\n if (window.isDevelopment) {\n origin = window.location.origin;\n } else if (isEnterprise()) {\n origin = `https://${window.companyDomain}`;\n }\n\n // TODO HANDLE ALL NAVIGATIONS!!\n handleCustomNavigation(`${origin}/logout.php?backTo=${backTo}`, '_self', true);\n }, []);\n\n const handleLogAction = useCallback(({ target: actionName }) => dispatch(ACTION_CREATORS.trackEventAction({ action: 'appLoginFlow', target: { act: actionName } })), []);\n\n const additionalPropsForShopping = useMemo(() => {\n const accountBoxAdditionalLinks = isPaymentApp ? [{\n text: `Previous ${isDonationApp ? 'Donations' : 'Orders'}`,\n url: generateAppURL({ pageID: isDonationApp ? 'previousDonations' : 'previousOrders', absolutePath: false }),\n LinkRenderer: AccountBoxLinkRenderer\n }] : [];\n\n return {\n additionalLinks: {\n append: true,\n links: accountBoxAdditionalLinks\n },\n allowMyForms: !isPaymentApp\n };\n }, [isPaymentApp]);\n\n const LoggedInUserAccountBox = useCallback(() => {\n const {\n avatarUrl, name, email, USER_TYPE: userType\n } = user;\n return (\n \n \n \n );\n }, [isUserLoggedIn, user]);\n\n const AccountBoxWrapper = useCallback(() => {\n if (!loginable || isInJotformKiosk()) return
;\n\n const toggleAccountBox = useCallback(() => setAccountBoxOpen(!isAccountBoxOpen), []);\n const apiURL = getAPIURL();\n const greetingMessage = window.JOTFORM_ENV === 'ENTERPRISE' ? 'Welcome' : 'Welcome to Jotform';\n return (\n \n f}\n >\n {\n isAccountBoxOpen && (\n (showContinueAs && !continueAsDismissed && setContinueAsDismissed(true)} onContinueAs={() => dispatch(ACTION_CREATORS.continueAsUser())} />)\n || (isPaymentApp && !initialScreen && ) || (\n
\n
\n dispatch(ACTION_CREATORS.userChangeAction(changedUser))}\n apiURL={apiURL}\n navigationWrapper={
}\n shouldCallNavigate={false}\n additionalScreens={{ epilogue: <> }}\n includeConfirm={true}\n mode='default'\n showLogoOnSignupOptions={false}\n appName=\"portal-apps\"\n greetingMessage={greetingMessage}\n initiator={INITIATOR_TYPES.INBOX}\n buttonNames={{\n google: 'apps-accountbox-google-login',\n facebook: 'apps-accountbox-facebook-login',\n apple: 'apps-accountbox-apple-login',\n emailLogin: 'apps-accountbox-standart-login-button',\n emailSignup: 'apps-accountbox-header-createmyaccount'\n }}\n initialScreen={initialScreen}\n />\n
\n
\n )\n )\n }\n \n \n );\n }, [isUserLoggedIn, user, isAccountBoxOpen, initialScreen, showContinueAs, continueAsDismissed]);\n\n return isUserLoggedIn && !showContinueAs ? : ;\n};\n\nPortalAccountBox.propTypes = {\n isPreview: bool,\n loginable: bool,\n onAccountBoxToggle: func\n};\n\nPortalAccountBox.defaultProps = {\n isPreview: false,\n loginable: true,\n onAccountBoxToggle: f => f\n};\n\nexport default PortalAccountBox;\n","import React, { useMemo, useState, useEffect } from 'react';\nimport OverflowableList from '@jotforminc/overflowable-list';\nimport { t } from '@jotforminc/translation';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { shape } from 'prop-types';\nimport classNames from 'classnames';\nimport { Utils } from '@jotforminc/uikit';\nimport { Flex } from '@jotforminc/magnet';\nimport { useDebounce } from '@jotforminc/hooks';\nimport PageLink from './PageLink';\nimport ScNavigationBar from './ScNavigationBar';\nimport AppIcon from '../../../components/AppIcon';\nimport { DESTINATION_TYPES } from '../../../constants/navigation';\nimport ProductCartContainer from '../ProductCartBadge';\nimport DonateNowBadge from '../DonateNowBadge';\nimport NavigationPanel from './NavigationPanel';\nimport {\n navigationItemClickAction, trackEventAction, navigateToAction\n} from '../../../store/actionCreators';\nimport SELECTORS from '../../../store/selectors';\nimport { isYes, checkMobilePhone } from '../../../utils';\nimport PortalAccountBox from '../../../components/PortalAccountBox';\n\nconst NavigationBar = ({ themeProperties }) => {\n const dispatch = useDispatch();\n const activePageID = useSelector(SELECTORS.getActivePageID);\n const _pages = useSelector(SELECTORS.getPagesWithNames);\n const firstPageID = useSelector(SELECTORS.getFirstPageID);\n const isShoppingApp = useSelector(SELECTORS.getIsShoppingApp);\n const isDonationApp = useSelector(SELECTORS.getIsDonationApp);\n const isGatewayConnected = useSelector(SELECTORS.getIsGatewayConnected);\n const isFastCheckout = useSelector(SELECTORS.getIsFastCheckoutActive);\n const isAppLoginable = useSelector(SELECTORS.selectIsAppLoginable);\n const homepageName = useSelector(SELECTORS.getHomepageName);\n const isMobilePhone = checkMobilePhone();\n const [hiddenItemIDList, setHiddenItemIDList] = React.useState([]);\n const { logoURL } = useSelector(SELECTORS.getLogoProperties);\n const appName = useSelector(SELECTORS.getAppName);\n const isAppHeaderActive = useSelector(SELECTORS.getOpenAppHeader);\n const [scrollDownValue, setScrollDownValue] = useState(false);\n\n const pages = useMemo(() => _pages.filter(p => isYes(p.showPageOnNavigation)), [_pages]);\n const isMultiplePages = _pages && _pages.length >= 2;\n\n const isPreview = window.location.href.includes('#preview');\n\n const allPagesWithRenderContent = pages.map(page => ({\n ...page,\n content: \n }));\n const shouldShowNavigationPart = allPagesWithRenderContent.length >= 2; // Has at least 1 page more besides home page.\n\n const handleBackHomage = () => {\n dispatch(navigationItemClickAction(firstPageID)); // return to homepage but the id of homepage may be different from 0\n dispatch(trackEventAction({ action: 'topbar-appIconClicked' }));\n };\n\n const handleCartClick = () => {\n dispatch(navigateToAction({ to: DESTINATION_TYPES.SPECIAL_PAGE, pageID: 'cart' }));\n };\n\n const onAccessibleClick = e => Utils.isPressedKeyEnter(e) && handleBackHomage();\n\n const handleOnScroll = useDebounce(e => setScrollDownValue(e.target.scrollTop), 100);\n\n useEffect(() => {\n const scrollableEl = document.querySelector('.scrollableItemListWrapper');\n\n scrollableEl?.addEventListener('scroll', handleOnScroll);\n\n return () => scrollableEl?.removeEventListener('scroll', handleOnScroll);\n }, []);\n\n return (\n \n {isMultiplePages && (\n \n )}\n\n {(logoURL || appName) && (\n 250 || !isYes(isAppHeaderActive) ? 'show' : ''} sm:w-auto w-full h-full gap-2 pl-4 pr-16`} alignItems='center'>\n {logoURL && (\n \n \n
\n )}\n {appName && {appName}}\n \n )}\n\n {shouldShowNavigationPart && (\n
\n \n
\n \n {t('More')}\n \n \n \n \n \n \n
\n
\n )}\n />\n
\n )}\n {isShoppingApp && !isFastCheckout && (\n \n )}\n {(isGatewayConnected && isDonationApp && !isMobilePhone && isMultiplePages) && }\n {(!window.isTemplateMode && isAppLoginable) && (\n \n )}\n \n );\n};\n\nNavigationBar.propTypes = {\n themeProperties: shape({})\n};\n\nNavigationBar.defaultProps = {\n themeProperties: {}\n};\n\nexport default NavigationBar;\n","import React, { memo } from 'react';\nimport { func } from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport classnames from 'classnames';\nimport AppProgressBar from '../../../components/AppProgressBar';\nimport ScTopBar from './ScTopBar';\nimport { isYes } from '../../../utils';\nimport SELECTORS from '../../../store/selectors';\nimport NavigationBar from './NavigationBar';\n\nconst TopBar = ({ handleProductClick }) => {\n const isMultiPage = useSelector(SELECTORS.getIsMultiPage);\n const shouldShowProgressBar = useSelector(SELECTORS.getShouldShowProgressBar);\n const themeProperties = useSelector(SELECTORS.getThemeProperties);\n const showNavigationBar = useSelector(SELECTORS.getShowNavigationBar);\n const isPaymentApp = useSelector(SELECTORS.getIsPaymentApp);\n\n return (\n \n {shouldShowProgressBar && (\n \n )}\n \n \n );\n};\n\nTopBar.propTypes = {\n handleProductClick: func\n};\n\nTopBar.defaultProps = {\n handleProductClick: f => f\n};\n\nexport default memo(TopBar);\n","import Styled, { css } from 'styled-components';\nimport { FEATURE_NAMES } from '../../constants/features';\nimport { isFeatureEnabled } from '../../utils/features/helper';\n\nexport const ScPageContentWrapper = Styled.div`\n width: 100%;\n > .app-content-wrapper:only-child {\n margin-top: 0;\n\n ${({ isListDetailPage }) => isListDetailPage && `\n @media screen and (max-width: 480px) {\n margin-top: 0;\n }\n `}\n }\n &:not(:has(.itemListWrapper)) .appHeader {\n padding-bottom: 40px;\n }\n\n ${isFeatureEnabled(FEATURE_NAMES.AppFooter) ? css`\n height: 100%;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n scroll-behaviour: smooth;\n\n .appStage-body {\n flex: 1 0 auto;\n margin-bottom: 2em;\n }\n\n .appStage-footer {\n flex-shrink: 0;\n }\n ` : css``};\n\n .pageChange-enter-done & {\n transition: opacity .3s ease-in-out;\n opacity: 1;\n }\n \n .pageChange-enter.test-enter-active & {\n transition: opacity .3s ease-in-out;\n opacity: 0;\n }\n \n .pageChange-exit.test-exit-active & {\n transition: opacity .3s ease-in-out;\n opacity: 1;\n\n }\n\n .pageChange-enter & {\n transition: opacity .3s ease-in-out;\n opacity: 1;\n\n }\n \n .pageChange-enter.pageChange-enter-active & {\n transition: opacity .3s ease-in-out;\n opacity: 0;\n }\n \n .pageChange-exit.pageChange-exit-active & {\n transition: opacity .3s ease-in-out;\n opacity: 1;\n }\n`;\n","import { string } from 'prop-types';\nimport React from 'react';\nimport DividerItem from '../../../components/Items/DividerItem';\n\nconst InAppDividerItem = ({ itemFontColor }) => {\n return (\n \n );\n};\n\nInAppDividerItem.propTypes = {\n itemFontColor: string\n};\n\nInAppDividerItem.defaultProps = {\n itemFontColor: ''\n};\n\nexport default InAppDividerItem;\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { string } from 'prop-types';\nimport { ProductContainer } from '@jotforminc/product-list';\nimport SELECTORS from '../../store/selectors';\nimport * as ACTION_CREATORS from '../../store/actionCreators';\nimport { MODALS } from '../../constants/modals';\nimport { useProductsToRender } from '../../utils/hooks';\nimport { DefaultDivRenderer } from '../Items/defaultRenderers';\nimport { checkMobilePhone } from '../../utils';\n\nconst ProductListField = ({ itemID }) => {\n const dispatch = useDispatch();\n\n const itemProps = useSelector(SELECTORS.getItemWithDefaults(itemID));\n const ownerProductListLayout = useSelector(SELECTORS.getProductListLayout);\n const showSearch = useSelector(SELECTORS.getShowSearch);\n const currencyInfo = useSelector(SELECTORS.getPortalPaymentCurrencyInfo);\n const {\n formID\n } = itemProps;\n const isFastCheckout = useSelector(SELECTORS.getIsFastCheckoutActive);\n const overridingItemProps = useSelector(SELECTORS.getOverridingProps);\n const productListFavoriteProducts = useSelector(SELECTORS.getFavoriteProductsByItem(itemID));\n const productListLayout = useSelector(SELECTORS.getUserProductListLayout);\n const areThereMultipleProductLists = useSelector(SELECTORS.getAreThereMultipleProductLists);\n // Selector limitations...\n const allCartProducts = useSelector(SELECTORS.getCart);\n const cartProducts = allCartProducts[formID];\n\n const [searchQuery, productsToRender] = useProductsToRender(itemID);\n\n const handleUpdateCart = ({ productID, ...payload }) => {\n dispatch(ACTION_CREATORS.addOrUpdateCartAction(formID, productID, payload));\n };\n\n const handleAddToCart = ({ productID, ...payload }) => {\n dispatch(ACTION_CREATORS.onProductAddToCartAction(productID, itemID, payload));\n };\n\n const handleProductItemClick = productID => {\n dispatch(ACTION_CREATORS.openProductDetailAction({ productID, itemID }));\n };\n\n const handleFavoriteProduct = productID => {\n dispatch(ACTION_CREATORS.favoriteProductAction(itemID, productID, false));\n };\n\n const handleLayoutChange = layout => {\n dispatch(ACTION_CREATORS.updatePortalUserPropsAction({ userProductListLayout: layout }));\n };\n\n const handleSearchInputClick = () => {\n if (areThereMultipleProductLists) {\n dispatch(ACTION_CREATORS.showGenericModalAction({ name: MODALS.SEARCH_IN_PRODUCTS_MODAL }));\n }\n };\n\n const handleFilterProducts = _searchQuery => {\n dispatch(ACTION_CREATORS.onFilterProductsAction({ itemID, searchQuery: _searchQuery }));\n };\n\n const productListActions = {\n onAddToCart: handleAddToCart,\n onUpdateCart: handleUpdateCart,\n onProductItemClick: handleProductItemClick,\n onFavoriteProduct: handleFavoriteProduct,\n onLayoutChange: handleLayoutChange,\n onSearchInputClick: handleSearchInputClick,\n onFilterProducts: handleFilterProducts\n };\n\n const isMobile = checkMobilePhone();\n\n return (\n \n );\n};\n\nProductListField.propTypes = {\n itemID: string\n};\n\nProductListField.defaultProps = {\n itemID: ''\n};\n\nexport default ProductListField;\n","import React from 'react';\nimport { string } from 'prop-types';\nimport { DefaultDivRenderer } from '../../../components/Items/defaultRenderers';\nimport ProductListField from '../../../components/ProductListForm/ProductListField';\nimport ItemOverQuotaWrapper from '../../../components/ItemOverQuotaWrapper';\n\nconst ProductListItem = ({ id, title }) => (\n <>\n {title}\n \n \n \n \n);\n\nProductListItem.propTypes = {\n id: string,\n title: string\n};\n\nProductListItem.defaultProps = {\n id: '',\n title: ''\n};\n\nexport default ProductListItem;\n","import styled from 'styled-components';\nimport { CARD_ACTION_VALUES } from '../../Builder/components/HomePage/RightPanel/constants';\n\nexport const ScCardContainer = styled.div`\n cursor: ${({ buttonRole }) => ((!!buttonRole && buttonRole !== CARD_ACTION_VALUES.NONE) ? 'pointer' : 'auto')};\n`;\n","import React, { useCallback } from 'react';\nimport propTypes from 'prop-types';\nimport { useDispatch } from 'react-redux';\nimport CardItem from '../../../components/Items/CardItem';\nimport { ScCardContainer } from './styled';\nimport ActionHelper from '../../../utils/ActionsHelper';\nimport { ITEM_TYPES } from '../../../constants/itemTypes';\nimport * as ACTION_CREATORS from '../../../store/actionCreators';\n\nconst AppCardItem = ({ onFormViewClick, ...props }) => {\n const dispatch = useDispatch();\n const { id, buttonRole, buttonValue } = props;\n const CardActionHelper = ActionHelper.createComponent(ITEM_TYPES.CARD_ITEM);\n\n const handleClick = useCallback(() => {\n if (!buttonRole || !buttonValue) {\n return;\n }\n\n dispatch(ACTION_CREATORS.trackEventAction({ action: 'CardActionTriggered', target: { itemID: id, actionName: buttonRole } }));\n\n CardActionHelper.dispatchAction(\n buttonRole,\n {\n id,\n buttonRole,\n value: buttonValue,\n onFormViewClick,\n dispatch\n }\n );\n }, [buttonRole, buttonValue]);\n\n return (\n \n \n \n );\n};\n\nAppCardItem.propTypes = {\n id: propTypes.string.isRequired,\n buttonRole: propTypes.string,\n buttonValue: propTypes.string,\n onFormViewClick: propTypes.func\n};\n\nAppCardItem.defaultProps = {\n buttonRole: '',\n buttonValue: '',\n onFormViewClick: f => f\n};\n\nexport default AppCardItem;\n","import { ITEM_TYPES } from '../../../constants/itemTypes';\nimport AppCardItem from '../CardItem';\n\nexport const getPublicPresentationItem = type => {\n const comp = {\n [ITEM_TYPES.CARD_ITEM]: AppCardItem\n };\n\n return comp[type] || AppCardItem;\n};\n","import React, { useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport string from 'lodash/string';\nimport isEmpty from 'lodash/isEmpty';\nimport List from '../../../components/Items/List';\nimport { getPublicPresentationItem } from './helper';\nimport SELECTORS from '../../../store/selectors';\nimport * as ACTION_CREATORS from '../../../store/actionCreators';\nimport { CARD_ACTION_VALUES } from '../../Builder/components/HomePage/RightPanel/constants';\nimport { useInfiniteLoad } from '../../../utils/hooks';\nimport { DS_ITEM_OFFSET } from '../../../store/reducers/dataSource/constants';\nimport { ListWrapper } from '../../../components/Items/List/styled';\nimport CardItemPlaceholder from '../../../assets/cardItemPlaceholder.svg';\n\nconst PublicList = props => {\n const { id, presentationItemID } = props;\n const dispatch = useDispatch();\n const data = useSelector(SELECTORS.dsGetRowsByItemID(id));\n const isLoading = useSelector(SELECTORS.dsGetItemIsLoading(id));\n const hasMore = useSelector(SELECTORS.dsGetThereIsMoreRow(id));\n const presentationItemProps = useSelector(SELECTORS.getPortalItemByIDSelector(presentationItemID));\n const { buttonRole, buttonValue } = presentationItemProps;\n const detailsPage = useSelector(SELECTORS.getDataSourcePage(id));\n const offset = useSelector(SELECTORS.dsGetSourceItemOffset(id));\n const [, setOffset] = useState(offset ?? 0);\n\n const openDetailsPage = rowID => {\n if (buttonRole === CARD_ACTION_VALUES.NAVIGATION && buttonValue === detailsPage?.id) {\n dispatch(ACTION_CREATORS.dsSetActiveListRowIDAndNavigateToDetailsPage({\n id,\n rowID\n }));\n }\n };\n\n const loadMore = () => {\n setOffset(prevOffset => {\n const newOffset = prevOffset + DS_ITEM_OFFSET;\n dispatch(ACTION_CREATORS.dsFetchSourceItemData({ itemID: id, offset: prevOffset }));\n return newOffset;\n });\n };\n\n const [listLastElementRef] = useInfiniteLoad(loadMore, { hasMore: hasMore, isLoading });\n\n if (isEmpty(data)) {\n return null;\n }\n\n return (\n
\n \n {\n\n hasMore && isLoading && (\n
\n \n {\n Array(5).fill(null).map(() => )\n }\n \n
\n )\n }\n
\n );\n};\n\nPublicList.propTypes = {\n id: string.isRequired,\n presentationItemID: string.isRequired\n};\n\nexport default PublicList;\n","import styled, { css } from 'styled-components';\nimport { CARD_ACTION_VALUES } from '../../Builder/components/HomePage/RightPanel/constants';\n\nexport const ScImageField = styled.div`\n cursor: ${({ buttonRole }) => ((!!buttonRole && buttonRole !== CARD_ACTION_VALUES.NONE) ? 'pointer' : 'auto')};\n .imageElementImg{\n width: ${({ width }) => width}px;\n ${({ width, height }) => css` aspect-ratio: ${width}/${height}; `}\n }\n`;\n","import React, { memo } from 'react';\nimport { func, string } from 'prop-types';\nimport { useDispatch } from 'react-redux';\nimport { IconImageFilled } from '@jotforminc/svg-icons';\nimport Image from '../../../components/Image';\nimport ActionHelper from '../../../utils/ActionsHelper';\nimport { ITEM_TYPES } from '../../../constants/itemTypes';\nimport { ScImageField } from './ScImageField';\nimport { isYes } from '../../../utils';\n\nconst ImageField = ({ onFormViewClick, ...props }) => {\n const {\n imageURL, altText, id, buttonRole, buttonValue, width, height, shrink\n } = props;\n const dispatch = useDispatch();\n const ImageActionHelper = ActionHelper.createComponent(ITEM_TYPES.IMAGE);\n\n const handleClick = () => {\n ImageActionHelper.dispatchAction(\n buttonRole,\n {\n id,\n buttonRole,\n value: buttonValue,\n onFormViewClick,\n dispatch\n }\n );\n };\n\n return (\n \n \n \n );\n};\n\nImageField.propTypes = {\n id: string.isRequired,\n imageURL: string,\n altText: string,\n buttonRole: string,\n buttonValue: string,\n width: string,\n height: string,\n onFormViewClick: func,\n shrink: string\n\n};\nImageField.defaultProps = {\n imageURL: '',\n altText: '',\n buttonRole: '',\n buttonValue: '',\n width: '',\n height: '',\n onFormViewClick: f => f,\n shrink: ''\n\n};\n\nexport default memo(ImageField);\n","import { ITEM_TYPES } from '../constants/itemTypes';\nimport InAppFormItem from '../modules/PublicApp/FormItem/index';\nimport FormItem from '../components/Items/FormItem';\nimport HeadingItem from '../components/Items/HeadingItem';\nimport ParagraphItem from '../components/Items/ParagraphItem';\nimport DocumentItem from '../components/Items/DocumentItem';\nimport InAppButtonItem from '../modules/PublicApp/ButtonItem';\nimport WidgetItem from '../components/Items/WidgetItem';\nimport InAppDividerItem from '../modules/PublicApp/DividerItem';\nimport DataElement from '../components/Items/DataElement';\nimport ProductListItem from '../modules/PublicApp/ProductListItem';\nimport SignItem from '../modules/PublicApp/SignItem';\nimport DonationItem from '../components/Items/DonationItem';\nimport List from '../modules/PublicApp/List';\nimport AppListItem from '../modules/PublicApp/CardItem';\nimport LinkFieldItem from '../modules/Builder/components/LinkFieldItem/LinkFieldItem';\nimport ImageField from '../modules/PublicApp/ImageField';\nimport AiAgent from '../modules/PublicApp/AiAgent';\n\n// This will be removed soon.\nexport const getItemComponentByTypeForApp = type => {\n const comp = {\n [ITEM_TYPES.FORM]: InAppFormItem,\n [ITEM_TYPES.HEADING]: HeadingItem,\n [ITEM_TYPES.DONATION]: DonationItem,\n [ITEM_TYPES.PARAGRAPH]: ParagraphItem,\n [ITEM_TYPES.LINK]: LinkFieldItem,\n [ITEM_TYPES.TABLE_LINK]: DataElement,\n [ITEM_TYPES.REPORT_LINK]: DataElement,\n [ITEM_TYPES.SENTBOX_LINK]: DataElement,\n [ITEM_TYPES.SIGN_LINK]: SignItem,\n [ITEM_TYPES.DOCUMENT]: DocumentItem,\n [ITEM_TYPES.IMAGE]: ImageField,\n [ITEM_TYPES.BUTTON]: InAppButtonItem,\n [ITEM_TYPES.DIVIDER]: InAppDividerItem,\n [ITEM_TYPES.WIDGET]: WidgetItem,\n [ITEM_TYPES.PRODUCT_LIST]: ProductListItem,\n [ITEM_TYPES.LIST]: List,\n [ITEM_TYPES.CARD_ITEM]: AppListItem,\n [ITEM_TYPES.AGENT]: AiAgent\n };\n return comp[type] || FormItem;\n};\n","import React, { useRef } from 'react';\nimport { oneOf } from 'prop-types';\n\nimport { ItemVisualDefaultProps, ItemVisualPropTypes, renderable } from '../../../constants/propTypes';\nimport { ITEM_TYPES } from '../../../constants/itemTypes';\nimport ScAppItemWrapper from './ScAppItemWrapper';\n\nconst AppItem = props => {\n const {\n type, fileURL,\n children,\n ...rest\n } = props;\n\n const appItemWrapperRef = useRef();\n\n const titleFilteredRest = Object.entries(rest).reduce((prev, [key, value]) => {\n if (key === 'title') {\n return { ...prev };\n }\n return { ...prev, [key]: value };\n }, {});\n\n return (\n \n {children}\n \n );\n};\n\nAppItem.propTypes = {\n type: oneOf(Object.values(ITEM_TYPES)),\n ...ItemVisualPropTypes,\n children: renderable.isRequired\n};\n\nAppItem.defaultProps = {\n type: ITEM_TYPES.FORM,\n ...ItemVisualDefaultProps\n};\n\nexport default AppItem;\n","import React, {\n useCallback, useState, Suspense\n} from 'react';\nimport { Utils } from '@jotforminc/uikit';\n\nimport { safeLazy } from '@jotforminc/safe-lazy-import';\nimport { useDispatch } from 'react-redux';\nimport { ITEM_TYPES } from '../../constants/itemTypes';\nimport { checkAndAddProtocolToTargetLink, isValidLinkTarget } from '../../utils';\nimport { isPWA } from './utils';\nimport { getBaseAppPath } from '../../utils/navigation';\nimport * as ACTION_CREATORS from '../../store/actionCreators';\n// import DocumentPreview from './DocumentPreview';\nconst DocumentPreview = safeLazy(() => import(/* webpackChunkName: \"DocumentPreview\" */'./DocumentPreview'));\n\n/* eslint-disable react/prop-types */\nconst withLinkElement = WrappedComponent => props => {\n const {\n id, type, fileURL, title, resourceURL, behaveAsLink, imageLink\n } = props;\n\n const dispatch = useDispatch();\n\n const linkableElements = [\n ITEM_TYPES.DOCUMENT,\n ITEM_TYPES.LINK,\n ITEM_TYPES.IMAGE\n ];\n\n const checkLinkValueAssigned = () => {\n switch (type) {\n case ITEM_TYPES.DOCUMENT:\n return !!fileURL;\n case ITEM_TYPES.LINK:\n return checkAndAddProtocolToTargetLink(isValidLinkTarget(title));\n case ITEM_TYPES.IMAGE:\n return isValidLinkTarget(imageLink);\n default:\n if (behaveAsLink) {\n return !!resourceURL;\n }\n\n break;\n }\n };\n\n const isLinkValueAssigned = checkLinkValueAssigned();\n\n const isItemTypeLinkable = linkableElements.includes(type) || behaveAsLink;\n\n if (!isItemTypeLinkable || (isItemTypeLinkable && !isLinkValueAssigned)) {\n return ;\n }\n\n // `DocumentItemClicked` should be used for download for data integrity\n const handleTrackEvent = useCallback(() => {\n // Don't ever event.preventDefault(). This handler is only for tracking!\n const ActionNames = {\n [ITEM_TYPES.DOCUMENT]: 'DocumentItemClicked',\n [ITEM_TYPES.LINK]: 'LinkItemClicked',\n [ITEM_TYPES.REPORT_LINK]: 'ReportLinkItemClicked',\n [ITEM_TYPES.IMAGE]: 'ImageItemClicked'\n };\n const action = ActionNames[type];\n dispatch(ACTION_CREATORS.trackEventAction({ action, target: { itemID: id } }));\n }, [type]);\n\n const Hrefs = {\n [ITEM_TYPES.DOCUMENT]: fileURL,\n [ITEM_TYPES.LINK]: checkAndAddProtocolToTargetLink(title),\n [ITEM_TYPES.REPORT_LINK]: resourceURL,\n [ITEM_TYPES.IMAGE]: imageLink\n };\n\n const basePath = getBaseAppPath();\n const openInSameTab = isPWA() && Hrefs[type].startsWith(basePath);\n\n // TODO BETTER ABSTRACTION\n const linkElement = (\n \n \n \n );\n\n const isLinkItem = [\n ITEM_TYPES.LINK\n ].includes(type);\n if (isLinkItem || behaveAsLink) {\n return linkElement;\n }\n\n // Document related things\n const [isPreviewOpened, setPreviewOpened] = useState(false);\n const handlePreviewOpen = useCallback(() => {\n setPreviewOpened(true);\n dispatch(ACTION_CREATORS.trackEventAction({ action: 'DocumentPreviewed', target: { itemID: id } }));\n // Track preview open!\n }, []);\n const handlePreviewClose = useCallback(() => setPreviewOpened(false), []);\n\n const onDownload = useCallback(() => {\n handleTrackEvent(); // `DocumentItemClicked` should be used for download.\n }, []);\n\n const handleKeyPress = useCallback(e => (Utils.isPressedKeyEnter(e) && handlePreviewOpen()), []);\n\n const getAriaLabel = () => {\n switch (type) {\n case ITEM_TYPES.DOCUMENT:\n return 'open file preview';\n default:\n return 'go to link';\n }\n };\n\n return (\n <>\n \n \n \n {isPreviewOpened && (\n }>\n \n \n )}\n \n );\n};\n/* eslint-enable react/prop-types */\n\nexport default withLinkElement;\n","import { shape, string } from 'prop-types';\nimport React, {\n memo, useMemo, useRef\n} from 'react';\nimport { Hooks } from '@jotforminc/uikit';\nimport { useDispatch, useSelector } from 'react-redux';\nimport classnames from 'classnames';\nimport { ITEM_TYPES, LINK_BEHAVIOR_ITEMS } from '../../../constants/itemTypes';\nimport { checkMobilePhone, isShrinkEnabled } from '../../../utils';\nimport { getItemComponentByTypeForApp } from '../../../utils/getItemComponentByTypeForApp';\nimport AppItem from '../AppItem';\nimport withLinkElement from '../withLinkElement';\nimport SELECTORS from '../../../store/selectors';\nimport { onFilterProductsAction } from '../../../store/actionCreators';\n\nconst PublicAppItem = ({\n itemID,\n type,\n shrink,\n clientID,\n embeddedForm,\n decorationProps,\n componentProps,\n appID\n}) => {\n const dispatch = useDispatch();\n const filteredProducts = useSelector(SELECTORS.getFilteredProducts);\n\n const { itemID: filteredItemID } = filteredProducts;\n const WithLinkAppItem = useMemo(() => withLinkElement(AppItem), []);\n\n const { resourceSubType, resourceURL, imageLink } = decorationProps;\n\n const checkItemBehavesAsLink = () => {\n const nonePagedReportTypes = ['csv', 'excel'];\n if (!LINK_BEHAVIOR_ITEMS.includes(type)) {\n return false;\n }\n\n const isNonPagedReport = nonePagedReportTypes.includes(resourceSubType);\n\n switch (true) {\n case type === ITEM_TYPES.REPORT_LINK && isNonPagedReport:\n return true;\n case type === ITEM_TYPES.REPORT_LINK && !isNonPagedReport:\n const { pathname } = new URL(resourceURL);\n const [, _resourceSubType] = pathname.split('/');\n return nonePagedReportTypes.includes(_resourceSubType); // is none paged report or not\n case type === ITEM_TYPES.IMAGE:\n return !!imageLink;\n default:\n return false;\n }\n };\n\n const behaveAsLink = checkItemBehavesAsLink();\n\n const ItemComponent = useMemo(() => getItemComponentByTypeForApp(type));\n\n const itemRef = useRef();\n\n Hooks.useEffectIgnoreFirst(() => {\n if (itemRef.current && filteredItemID === itemID) {\n itemRef.current.scrollIntoView();\n dispatch(onFilterProductsAction({}));\n }\n }, [filteredItemID, itemRef.current]);\n\n const isMobile = checkMobilePhone();\n\n return (\n \n \n \n \n \n );\n};\n\nPublicAppItem.propTypes = {\n itemID: string,\n appID: string,\n type: string,\n shrink: string,\n embeddedForm: string,\n decorationProps: shape({}),\n componentProps: shape({}),\n clientID: string\n};\n\nPublicAppItem.defaultProps = {\n itemID: '',\n appID: '',\n type: '',\n shrink: '',\n embeddedForm: '',\n decorationProps: {},\n componentProps: {},\n clientID: ''\n};\n\nexport default memo(PublicAppItem);\n","import { t } from '@jotforminc/translation';\nimport {\n arrayOf, bool, elementType, func, object, shape, string\n} from 'prop-types';\nimport React, {\n memo, useCallback, useEffect\n} from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Flex } from '@jotforminc/magnet';\nimport { typeHasItem } from '../../../components/Items/SimpleItem/SimpleIcon';\nimport { ITEM_TYPES } from '../../../constants/itemTypes';\nimport { checkMobileOrTablet, isYes } from '../../../utils';\nimport ScItemListWrapper from '../../Builder/components/HomePage/ScItemListWrapper';\nimport ScItemContainer from '../ScItemContainer';\nimport PublicAppItem from './PublicAppItem';\nimport { useItemDefaults } from '../../../properties';\nimport { useDesignatedItemProps } from '../../../utils/hooks';\nimport * as ACTION_CREATORS from '../../../store/actionCreators';\nimport SELECTORS from '../../../store/selectors';\nimport { clipPropsWrtCharLimits } from '../../../components/Items/List/helper';\n\nconst PublicAppItemContainer = ({\n MemoIconRenderer,\n getDraft,\n onPrepareCtxMenuItems,\n onItemClick,\n timeZone,\n listBgColor,\n showAppHeader,\n items,\n appVersion,\n isAppLoginable,\n isUserLoggedIn,\n progressManualRestartDate,\n onViewForm,\n appID,\n onShareApp,\n page\n}) => {\n const dispatch = useDispatch();\n const { id: pageID, linkedItemID } = page;\n // const livePreviewStatus = useSelector(SELECTORS.getLivePreviewState);\n\n useEffect(() => {\n if (linkedItemID) {\n dispatch(ACTION_CREATORS.dsFetchDetailPage({ pageID }));\n }\n }, [pageID, linkedItemID, items]);\n\n const { data: dsDetailPageData, isLoading: isDsPageLoading } = useSelector(SELECTORS.dsGetPage(pageID));\n\n const overrideTextAlignmentIfNecessary = elementProps => {\n const isMobileOrTablet = checkMobileOrTablet();\n if (isMobileOrTablet && isYes(elementProps.shrink)) {\n return 'center';\n }\n return elementProps.itemTextAlignment;\n };\n\n const getItemProps = useCallback((itemProps, emptyItem, appLoginable, userLoggedIn) => {\n const {\n id,\n showLinkPreview,\n previewImageURL,\n itemTextAlignment,\n shrink,\n type,\n fileType,\n title,\n showURL,\n showItemIcon,\n itemIcon,\n itemIconColor,\n itemIconBgColor,\n embeddedForm,\n elementSize\n } = itemProps;\n\n const overridedTextAlignment = overrideTextAlignmentIfNecessary(itemProps);\n\n const isIconVisible = (typeHasItem(type)\n && isYes(showItemIcon)) || isYes(showLinkPreview);\n\n const IconRenderer = props => {\n return (\n \n );\n };\n\n const generalProps = {\n ...itemProps,\n itemTextAlignment: overridedTextAlignment,\n showIcon: isIconVisible,\n IconRenderer: IconRenderer,\n getDraft,\n ...(!isYes(showURL) && type === ITEM_TYPES.LINK) ? { DescriptionRenderer: () => null } : {}\n };\n\n const hasThreeDots = appLoginable && userLoggedIn && !window.isTemplateMode;\n\n switch (type) {\n case ITEM_TYPES.FORM:\n const ctxMenuItems = onPrepareCtxMenuItems(id, embeddedForm);\n\n const isEmbeddedForm = isYes(embeddedForm);\n\n const formItemProps = {\n ctxMenuItems,\n hasThreeDots,\n appLoginable,\n userLoggedIn,\n timeZone,\n onClick: formID => onItemClick(formID, ITEM_TYPES.FORM, title, isEmbeddedForm)\n };\n\n Object.assign(generalProps, formItemProps);\n break;\n case ITEM_TYPES.TABLE_LINK:\n const tableProps = {\n onClick: productID => onItemClick(productID, ITEM_TYPES.TABLE_LINK)\n };\n Object.assign(generalProps, tableProps);\n break;\n case ITEM_TYPES.REPORT_LINK:\n const reportProps = {\n onClick: productID => onItemClick(productID, ITEM_TYPES.REPORT_LINK)\n };\n Object.assign(generalProps, reportProps);\n break;\n case ITEM_TYPES.SENTBOX_LINK:\n const sentboxProps = {\n onClick: productID => onItemClick(productID, ITEM_TYPES.SENTBOX_LINK)\n };\n Object.assign(generalProps, sentboxProps);\n break;\n case ITEM_TYPES.SIGN_LINK:\n const signProps = {\n onClick: productID => onItemClick(productID, ITEM_TYPES.SIGN_LINK),\n hasThreeDots\n };\n Object.assign(generalProps, signProps);\n break;\n case ITEM_TYPES.LINK:\n const { title: origTitle, description: origDescription, previewTitle = '' } = generalProps;\n // Swap attributes\n Object.assign(generalProps, {\n title: origDescription || previewTitle || t('Link'),\n description: origTitle\n });\n break;\n case ITEM_TYPES.BUTTON:\n Object.assign(generalProps, { onFormViewClick: onViewForm, onShareAppClick: onShareApp });\n break;\n case ITEM_TYPES.CARD_ITEM: {\n Object.assign(generalProps, { onFormViewClick: onViewForm });\n break;\n }\n case ITEM_TYPES.IMAGE: {\n Object.assign(generalProps, { onFormViewClick: onViewForm });\n break;\n }\n case ITEM_TYPES.PRODUCT_LIST:\n case ITEM_TYPES.WIDGET:\n Object.assign(generalProps, { passive: false });\n break;\n default:\n break;\n }\n\n return generalProps;\n }, [onPrepareCtxMenuItems, getDraft]); // maybe as an argument\n\n const designatedItemProps = useDesignatedItemProps();\n\n return (\n \n \n {\n // eslint-disable-next-line no-nested-ternary\n isDsPageLoading ? (\n \n
\n
\n
\n \n
\n
\n \n
\n \n )\n : items.length\n ? items.map((itemProps => {\n const {\n id: itemID,\n type,\n shrink,\n embeddedForm,\n clientID\n } = itemProps;\n const emptyItem = useItemDefaults(itemProps.type, appVersion);\n const itemPropsWithDefaults = { ...emptyItem, ...itemProps };\n const decorationProps = {\n ...itemPropsWithDefaults,\n ...designatedItemProps,\n itemTextAlignment: overrideTextAlignmentIfNecessary(itemPropsWithDefaults)\n };\n\n const componentProps = getItemProps(decorationProps, emptyItem, isAppLoginable, isUserLoggedIn, progressManualRestartDate);\n const dsItemProps = dsDetailPageData?.[itemID] ?? {};\n const clippedItemProps = clipPropsWrtCharLimits({ ...componentProps, ...dsItemProps });\n\n return (\n \n );\n }))\n :
{t('You don\\'t currently have any items.')}
\n }\n \n \n );\n};\n\nPublicAppItemContainer.propTypes = {\n MemoIconRenderer: elementType,\n getDraft: func,\n onPrepareCtxMenuItems: func,\n timeZone: string,\n listBgColor: string,\n showAppHeader: string,\n items: arrayOf(shape({})),\n appVersion: string,\n isAppLoginable: bool,\n isUserLoggedIn: bool,\n progressManualRestartDate: string,\n onViewForm: func,\n appID: string,\n onItemClick: func,\n onShareApp: func,\n page: object\n};\n\nPublicAppItemContainer.defaultProps = {\n MemoIconRenderer: props =>
,\n getDraft: f => f,\n onPrepareCtxMenuItems: f => f,\n timeZone: '',\n listBgColor: '',\n showAppHeader: '',\n items: [{}],\n appVersion: '',\n isAppLoginable: false,\n isUserLoggedIn: false,\n progressManualRestartDate: '',\n onViewForm: f => f,\n appID: '',\n onItemClick: f => f,\n onShareApp: f => f,\n page: {}\n};\n\nexport default memo(PublicAppItemContainer);\n","import Styled, { css } from 'styled-components';\nimport { responsivenessRules } from '../../../modules/Builder/components/HomePage/ScAppContentWrapper';\n\nconst ScAppFooter = Styled.div`\n ${({ appFontColor }) => (appFontColor ? `\n color: ${appFontColor};\n ` : '')}\n\n ${({ appFooterBgColor }) => (appFooterBgColor ? css`\n background-color: ${appFooterBgColor};\n ` : '')}\n\n ${({ appFontFamily }) => (appFontFamily ? css`\n font-family: ${appFontFamily};\n ` : '')}\n\n text-align: ${({ appFooterTextAlignment }) => appFooterTextAlignment};\n padding: 20px;\n\n .widget {\n margin: 0 auto;\n ${responsivenessRules}\n }\n`;\n\nexport default ScAppFooter;\n","import React from 'react';\nimport { string } from 'prop-types';\nimport ScAppFooter from './ScAppFooter';\n\nconst AppFooter = ({\n appFooterTextAlignment, appFooterBgColor, appFontColor, appFontFamily\n}) => {\n return (\n \n
\n test\n
\n \n );\n};\n\nAppFooter.propTypes = {\n appFooterTextAlignment: string,\n appFooterBgColor: string,\n appFontColor: string,\n appFontFamily: string\n};\n\nAppFooter.defaultProps = {\n appFooterTextAlignment: '',\n appFooterBgColor: '',\n appFontColor: '',\n appFontFamily: ''\n};\n\nexport default AppFooter;\n","import React from 'react';\nimport { createGlobalStyle } from 'styled-components';\nimport { useSelector } from 'react-redux';\nimport SELECTORS from '../../store/selectors';\n\nexport const Styles = createGlobalStyle`\n .page {\n ${({ appBgColor, appBgColorEnd }) => (appBgColor === appBgColorEnd || appBgColor === '') && `background-color: ${appBgColor};`}\n ${({ appBgColor, appBgColorEnd }) => (appBgColor && appBgColorEnd) && `background: linear-gradient(${appBgColor}, ${appBgColorEnd});`}\n ${({ appBgURL }) => appBgURL && `background: url(\"${appBgURL}\") no-repeat center / cover;`}\n ${({ hasBrandingFooter }) => hasBrandingFooter && 'margin-bottom: 48px;'}\n }\n`;\n\nexport default () => {\n const { appBgColor, appBgColorEnd, appBgURL } = useSelector(SELECTORS.getAppBgProperties);\n const hasBrandingFooter = useSelector(SELECTORS.getHasBrandingFooter);\n\n return (\n \n );\n};\n","/* eslint-disable camelcase */\n/* eslint-disable react/prop-types */\nimport React, {\n useState, useRef, useMemo, useEffect, memo, useCallback\n} from 'react';\nimport { t } from '@jotforminc/translation';\nimport { Feature } from '@jotforminc/feature-toggle';\nimport { Hooks } from '@jotforminc/uikit';\nimport { bool, string } from 'prop-types';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { IconFormFilled, IconFormPencilFilled, IconProductInboxMono } from '@jotforminc/svg-icons';\nimport { safeJSONParse } from '@jotforminc/utils';\n\nimport { FORM_PRODUCTS, UI_PROPS } from '../../constants';\nimport { isPageHomepage, isValidNumber } from './utils';\n\nimport { ScPublicApp, ScPublicAppRoot } from './scPublicApp';\nimport MobileCtxMenu from './MobileCtxMenu';\nimport { ITEM_TYPES } from '../../constants/itemTypes';\nimport { DESTINATION_TYPES } from '../../constants/navigation';\nimport AppHeader from '../../components/Items/AppHeader';\nimport { FEATURE_NAMES } from '../../constants/features';\nimport { isFeatureEnabled } from '../../utils/features/helper';\nimport ScAppContentWrapper from '../Builder/components/HomePage/ScAppContentWrapper';\nimport {\n checkMobileOrTablet, checkMobilePhone, isInJotformKiosk, isYes\n} from '../../utils';\nimport SimpleIcon from '../../components/Items/SimpleItem/SimpleIcon';\n\nimport { getDrafts } from '../api';\nimport ScAppHeaderWrapper from '../../components/Items/AppHeader/ScAppHeaderWrapper';\nimport LinkThumbnail from '../../components/Items/SimpleItem/LinkThumbnail';\nimport TopBar from './TopBar';\nimport { ScPageContentWrapper } from './ScPageContentWrapper';\nimport SELECTORS from '../../store/selectors';\nimport PublicAppItemContainer from './PublicAppItemContainer';\nimport AppFooter from '../../components/Items/AppFooter';\nimport * as ACTION_CREATORS from '../../store/actionCreators';\nimport AppStyle from './AppStyle';\nimport { useItemDefaults } from '../../properties';\nimport { checkItemAvailable } from '../../utils/itemAvailability';\nimport { replaceTextWithVariables, getUpdatedShareMessage } from '../Builder/components/HomePage/RightPanel/utils';\nimport { MODALS } from '../../constants/modals';\nimport { getDefaultButtonShareObj } from '../Builder/components/HomePage/constants';\nimport { useFormattedPrice } from '../../utils/hooks';\nimport { mutateItems } from '../../utils/mutateItems';\n// eslint-disable-next-line max-statements\nconst AppPreview = ({ pageID, showTopBar, isListDetailPage }) => {\n const appProperties = useSelector(SELECTORS.getAppInfoWithDefaults);\n const pages = useSelector(SELECTORS.getPagesWithNames);\n const firstPageID = useSelector(SELECTORS.getFirstPageID);\n const isUserLoggedIn = useSelector(SELECTORS.selectIsUserLoggedIn);\n const isAppLoginable = useSelector(SELECTORS.selectIsAppLoginable);\n const isOrderNowButtonVisible = useSelector(SELECTORS.getIsOrderNowButtonVisible);\n const isDonationGoalActive = isYes(useSelector(SELECTORS.getDonationItems)[0]?.showDonationGoal);\n const donationItems = useSelector(SELECTORS.getDonationItems) ?? [];\n const targetDonationGoal = useSelector(SELECTORS.getTargetDonationGoal);\n const publicLink = useSelector(SELECTORS.getPublicLink);\n const pageScroll = useSelector(SELECTORS.getUIProp(UI_PROPS.pageScroll));\n const shouldShowProgressBar = useSelector(SELECTORS.getShouldShowProgressBar);\n const dispatch = useDispatch();\n\n const activePageID = useMemo(() => (pageID === 'homepage' && isFeatureEnabled(FEATURE_NAMES.SortPages) ? firstPageID : pageID), [pageID, firstPageID]);\n const pageProps = pages.find(pg => parseInt(pg.id, 10) === parseInt(activePageID, 10)) || {};\n const { name: pageName } = pageProps;\n\n const getFormattedPrice = useFormattedPrice();\n\n const {\n id: appID,\n appVersion,\n items: allItems,\n listBgColor,\n showListBg,\n showAppHeader,\n openAppHeader,\n progressManualRestartDate,\n name: appTitle,\n currentDonationGoal: currentDonationAmount\n } = appProperties;\n\n const isSortPagesEnabled = isFeatureEnabled(FEATURE_NAMES.SortPages);\n\n // Handle page not found\n useEffect(() => {\n if (activePageID) {\n const pageIDs = pages.map(p => p.id);\n const isPreview = window.location.hash === '#preview';\n if (!pageIDs.includes(activePageID) && !isPreview) {\n dispatch(ACTION_CREATORS.notFoundFormAction(isValidNumber(false)));\n }\n if (isPreview) {\n window.parent.postMessage({ name: 'PREVIEW_NAVIGATION' });\n }\n }\n }, [appProperties, activePageID]);\n\n const isOldHomepage = useMemo(() => isPageHomepage(pageID), [pageID]);\n const isHomepage = isSortPagesEnabled ? firstPageID === activePageID : isOldHomepage;\n const otherPageItems = useMemo(() => allItems.filter(({ page }) => page === activePageID));\n const homePageItems = useMemo(() => allItems.filter(({ page = 'homepage' }) => isPageHomepage(page)));\n const pageItems = isHomepage && !isSortPagesEnabled ? homePageItems : otherPageItems;\n\n const timeZone = useSelector(SELECTORS.getUserTimezone);\n const items = useMemo(() => {\n const availablePageItems = pageItems.filter(i => {\n const { itemAvailable } = checkItemAvailable({\n appProperties, itemProperties: i, emptyItemProperties: useItemDefaults(i.type, appVersion)\n });\n return itemAvailable;\n });\n\n return mutateItems(availablePageItems);\n }, [pageItems]);\n\n const mobileCtxMenuRef = useRef();\n\n const [mobileCtxMenuFormID, setMobileCtxMenuFormID] = useState(0);\n const [mobileCtxMenuFormIsEmbedded, setMobileCtxMenuFormIsEmbedded] = useState(false);\n const [mobileCtxMenuFormTitle, setMobileCtxMenuFormTitle] = useState('');\n const [mobileContextMenuOpened, setMobileCtxMenuOpened] = Hooks.useClickOutsideState(false, [mobileCtxMenuRef]);\n\n useEffect(() => { dispatch(ACTION_CREATORS.setUIProp(UI_PROPS.mobileContextMenuOpened, mobileContextMenuOpened)); }, [mobileContextMenuOpened]);\n\n const isMobilePhone = checkMobilePhone();\n const [draftInfo, setDraftInfo] = useState({});\n\n useEffect(() => {\n if (isUserLoggedIn) {\n getDrafts(appID).then(resp => setDraftInfo(resp));\n }\n }, [isUserLoggedIn]);\n\n const getDraft = useCallback(formID => {\n return draftInfo[formID] || false;\n }, [draftInfo]);\n\n const handleShareApp = useCallback(buttonValue => {\n const parsedButtonValue = buttonValue === '' ? getDefaultButtonShareObj() : safeJSONParse(buttonValue);\n const donationVarMappings = {\n [t('total amount raised')]: (getFormattedPrice(currentDonationAmount)).trimEnd(),\n [t('goal amount')]: (getFormattedPrice(targetDonationGoal)).trimEnd()\n };\n const variableMappings = {\n ...(isDonationGoalActive && donationVarMappings),\n [t('App Title')]: appTitle\n };\n\n const updatedShareMessageObj = getUpdatedShareMessage(parsedButtonValue, donationItems, isDonationGoalActive);\n let shareMessage = updatedShareMessageObj ? updatedShareMessageObj.text : parsedButtonValue.text;\n shareMessage = replaceTextWithVariables(shareMessage, variableMappings);\n dispatch(ACTION_CREATORS.showGenericModalAction({\n name: MODALS.SHARE_APP,\n shareMessage,\n publicLink,\n appTitle,\n appID\n }));\n }, []);\n\n const handleViewForm = useCallback(formID => {\n if (isInJotformKiosk()) {\n window.sendMessageToJFMobile({\n action: 'openForm',\n formID\n });\n return;\n }\n\n dispatch(ACTION_CREATORS.navigateToAction({\n to: DESTINATION_TYPES.PRODUCT, productID: formID, productType: FORM_PRODUCTS.FORM\n }));\n }, []);\n\n const handleViewSubmissions = useCallback((formID, isCtxMenuItem) => {\n if (isCtxMenuItem) {\n dispatch(ACTION_CREATORS.setUIProp(UI_PROPS.ctxMenuItemClicked, true));\n }\n dispatch(ACTION_CREATORS.navigateToAction({\n to: DESTINATION_TYPES.PRODUCT, productID: formID, productType: FORM_PRODUCTS.SENTBOX\n }));\n }, []);\n\n const handleContinueWithDraft = useCallback(formID => {\n const draft = getDraft(formID);\n if (!draft) return;\n\n const { session_id: sessionID, token, saclID } = draft;\n\n dispatch(ACTION_CREATORS.navigateToAction({\n to: DESTINATION_TYPES.PRODUCT, productID: formID, productType: FORM_PRODUCTS.CONTINUE_DRAFT, sessionID, token, saclID\n }));\n }, [getDraft]);\n\n const handleViewTable = useCallback(productID => {\n dispatch(ACTION_CREATORS.navigateToAction({\n to: DESTINATION_TYPES.PRODUCT, productID, productType: FORM_PRODUCTS.TABLES\n }));\n }, []);\n\n const handleViewReport = useCallback(productID => {\n dispatch(ACTION_CREATORS.navigateToAction({\n to: DESTINATION_TYPES.PRODUCT, productID, productType: FORM_PRODUCTS.REPORT\n }));\n }, []);\n\n const handleViewSign = useCallback(productID => {\n dispatch(ACTION_CREATORS.navigateToAction({\n to: DESTINATION_TYPES.PRODUCT, productID, productType: FORM_PRODUCTS.SIGN\n }));\n }, []);\n\n const handleProductClick = itemType => {\n const PRODUCT_HANDLERS = {\n [ITEM_TYPES.FORM]: handleViewForm,\n [ITEM_TYPES.SIGN_LINK]: handleViewSign\n };\n\n return PRODUCT_HANDLERS[itemType];\n };\n\n const handleItemClick = useCallback((productID, productType, productTitle, isEmbeddedForm = false) => {\n const handlerMap = {\n [ITEM_TYPES.REPORT_LINK]: handleViewReport,\n [ITEM_TYPES.TABLE_LINK]: handleViewTable,\n [ITEM_TYPES.FORM]: handleViewForm,\n [ITEM_TYPES.SENTBOX_LINK]: handleViewSubmissions,\n [ITEM_TYPES.SIGN_LINK]: handleViewSign\n };\n\n const handleViewProduct = handlerMap[productType];\n\n if (isInJotformKiosk() || productType !== ITEM_TYPES.FORM) {\n handleViewProduct(productID);\n return;\n }\n\n const shouldOpenMobileCtxMenu = isMobilePhone && isAppLoginable && isUserLoggedIn && !window.isTemplateMode;\n if (shouldOpenMobileCtxMenu) {\n setMobileCtxMenuFormID(productID);\n setMobileCtxMenuFormTitle(productTitle);\n setMobileCtxMenuFormIsEmbedded(isEmbeddedForm);\n setMobileCtxMenuOpened(true);\n return;\n }\n\n if (isEmbeddedForm) return;\n\n handleViewProduct(productID);\n }, [isMobilePhone, isAppLoginable, isUserLoggedIn]);\n\n const handleCartClick = useCallback(() => {\n dispatch(ACTION_CREATORS.navigateToAction({ to: DESTINATION_TYPES.SPECIAL_PAGE, pageID: 'cart' }));\n }, []);\n\n const prepareCtxMenuItems = useCallback((formID, showForm) => {\n const hasDraft = getDraft(formID);\n const isFormEmbedded = isYes(showForm);\n const formItem = items.find(({ id: itemID }) => itemID === formID) || {};\n const { status, submissionCount = 0 } = formItem;\n const hasNoSubmission = submissionCount === 0;\n const isFillAvailable = status !== 'DISABLED';\n const submissionText = t('My Submissions');\n const inboxText = `${submissionText} (${submissionCount})`;\n const list = [\n ...!isFormEmbedded ? [{\n key: 'viewForm',\n text: isFillAvailable ? t('Fill out Form') : t('View Form'),\n handlerFn: handleViewForm,\n Icon: () => \n }] : [],\n {\n key: 'viewSubmissions',\n text: inboxText,\n handlerFn: handleViewSubmissions,\n Icon: () => ,\n isDisabled: hasNoSubmission\n }\n ];\n if (isFillAvailable && !isFormEmbedded) {\n list.push({\n key: 'continueDraft',\n text: t('Continue with Draft'),\n handlerFn: handleContinueWithDraft,\n Icon: () => ,\n isDisabled: !hasDraft\n });\n }\n return list;\n }, [getDraft, items]);\n\n const mobileCtxMenuItems = useMemo(() => {\n if (!isUserLoggedIn) return []; // No ctx menu for non-logged in\n return prepareCtxMenuItems(mobileCtxMenuFormID, mobileCtxMenuFormIsEmbedded);\n }, [isUserLoggedIn, prepareCtxMenuItems, mobileCtxMenuFormID, mobileCtxMenuFormIsEmbedded]);\n\n const overrideTextAlignmentIfNecessary = elementProps => {\n const isMobileOrTablet = checkMobileOrTablet();\n if (isMobileOrTablet && isYes(elementProps.shrink)) {\n return 'center';\n }\n return elementProps.itemTextAlignment;\n };\n\n const MemoIconRenderer = useCallback(props => {\n const {\n // eslint-disable-next-line no-unused-vars\n showLinkPreview, previewImageURL, fileType, type, showItemIcon, iconURL, itemIconColor, itemIconBgColor, elementSize, iconClassName\n } = props;\n if (isYes(showLinkPreview) && previewImageURL) {\n return (\n \n );\n }\n\n if (isYes(showItemIcon)) {\n return (\n \n );\n }\n\n return () => null;\n }, []);\n\n const handleModalClose = () => setMobileCtxMenuOpened(false);\n const itemListWrapperRef = useRef();\n\n useEffect(() => {\n if (itemListWrapperRef.current && pageScroll) {\n itemListWrapperRef.current.scrollTop = pageScroll;\n }\n }, [pageScroll]);\n\n const itemGroup = useMemo(() => {\n return (\n \n );\n }, [listBgColor, showListBg, showAppHeader, prepareCtxMenuItems, isUserLoggedIn, items, getDraft]);\n\n const appStageBody = (\n <>\n {isHomepage && (\n \n {isYes(openAppHeader) && (\n \n )}\n \n )}\n \n {items.length ? itemGroup : null}\n \n \n \n );\n\n return (\n <>\n {showTopBar && }\n
\n \n \n \n \n
\n {appStageBody}\n
\n \n \n )}\n inactiveComponent={(\n \n {appStageBody}\n \n )}\n />\n
\n
\n
\n \n );\n};\n\nexport default memo(AppPreview);\n\nAppPreview.propTypes = {\n pageID: string,\n appID: string,\n showTopBar: bool,\n isListDetailPage: bool\n};\n\nAppPreview.defaultProps = {\n pageID: 'homepage',\n appID: '',\n showTopBar: true,\n isListDetailPage: false\n};\n","import React, { memo } from 'react';\nimport { func } from 'prop-types';\nimport { Location, Router } from '@reach/router';\nimport { renderable } from '../../constants/propTypes';\n\n// Reach router's ref blocker to prevent focus:\n// https://github.com/reach/router/blob/d2c9ad06715c9d48c2d16f55f7cd889b626d2521/src/index.js#L342\nconst Comp = props =>
;\n\nconst AppRouter = ({ children, onLocationChange }) => {\n return (\n \n {({ location }) => {\n onLocationChange(location.pathname);\n return (\n \n {children}\n \n );\n }}\n \n );\n};\n\nAppRouter.propTypes = {\n children: renderable.isRequired,\n onLocationChange: func\n};\n\nAppRouter.defaultProps = {\n onLocationChange: f => f\n};\n\nexport default memo(AppRouter);\n","import {\n bool, func, shape, string\n} from 'prop-types';\nimport { getAppPath } from '@jotforminc/router-bridge';\nimport { useEventListener } from '@jotforminc/hooks';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { getBasePath } from '../../../../constants/appConfig';\nimport { ITEM_TYPES } from '../../../../constants/itemTypes';\nimport { isAppSubdomain, isYes } from '../../../../utils';\nimport { generateContinueWithDraftPath } from '../../../../utils/navigation';\nimport { generateIframeURL } from '../../utils';\nimport IframeRenderer from './IframeRenderer';\nimport { useFormMessageSender, useFormSubmissionCompleteHandler, useFormMessageHandler } from '../../../../utils/hooks';\nimport { onTodoCompleteAction, trackEventAction } from '../../../../store/actionCreators';\nimport { APP_PREVIEW_URL_HASH } from '../../../../constants';\nimport * as NAVIGATION from '../../../../utils/navigation';\n\nconst FormRenderer = ({\n type: productType,\n productID,\n appID,\n item,\n isAppLoginable,\n isUserLoggedIn,\n navigate,\n user,\n onBackButtonClick,\n ...props\n}) => {\n const {\n type,\n submissionCount,\n completed_showBadge: showCompletedBadge,\n buttonValue\n } = item;\n\n const dispatch = useDispatch();\n\n const formID = ITEM_TYPES.BUTTON === type ? buttonValue : productID;\n\n const _pageURL = generateIframeURL({ appID, id: formID });\n\n const [pageURL, setPageURL] = useState(_pageURL);\n const isPreview = NAVIGATION.getLocationHash() === APP_PREVIEW_URL_HASH;\n\n useEffect(() => {\n setPageURL(_pageURL);\n }, [formID]);\n\n const handleFormCompleted = useCallback(() => {\n if (isAppLoginable && isUserLoggedIn) dispatch(onTodoCompleteAction(productID, submissionCount));\n }, [isAppLoginable, isUserLoggedIn, productID, submissionCount]);\n\n const formMessageSender = useFormMessageSender(formID);\n\n useFormSubmissionCompleteHandler(formID, handleFormCompleted);\n\n useFormMessageHandler(formID, ({ name: actionName, payload }) => {\n switch (actionName) {\n case 'appFlowReady':\n console.log('JF Apps is ready.');\n if (!isPreview) {\n dispatch(trackEventAction({ action: 'formViewed', target: { formID } }));\n }\n break;\n case 'initAppFlow':\n const formIsCompletable = isAppLoginable && isYes(showCompletedBadge);\n formMessageSender('initManager', { user, formIsCompletable });\n break;\n case 'continueWithDraft':\n const { sessionID, token, continueKey } = payload;\n const continuePath = generateContinueWithDraftPath(productID, sessionID, token, continueKey);\n const isStandaloneWithSlug = window?.isStandaloneWithSlug;\n\n if (isStandaloneWithSlug) {\n const basePath = getBasePath();\n navigate(`${basePath}/${continuePath}`);\n } else if (isAppSubdomain()) {\n navigate(`/${appID}/${continuePath}`);\n } else {\n navigate(`${getAppPath()}/${appID}/${continuePath}`);\n }\n setPageURL(generateIframeURL({ appID, id: formID }));\n break;\n case 'thankYouFillAgain':\n const { prefillURL } = payload;\n if (prefillURL) setPageURL(prefillURL);\n break;\n default:\n console.log('Dont know what to do with the message:', { actionName, payload });\n }\n });\n\n // browser back button caching handler for blank iframe issue\n useEventListener('pageshow', event => event.persisted && onBackButtonClick());\n\n return (\n \n );\n};\n\nFormRenderer.propTypes = {\n type: string,\n productID: string,\n appID: string,\n item: shape({}),\n isAppLoginable: bool,\n isUserLoggedIn: bool,\n navigate: func,\n user: shape({}),\n onBackButtonClick: func\n};\n\nFormRenderer.defaultProps = {\n type: '',\n productID: '',\n appID: '',\n item: {},\n isAppLoginable: false,\n isUserLoggedIn: false,\n navigate: f => f,\n user: {},\n onBackButtonClick: f => f\n};\n\nexport default FormRenderer;\n","import { shape, string } from 'prop-types';\nimport React, {\n createRef\n} from 'react';\nimport { getDomainURL } from '@jotforminc/request-layer';\nimport { generateIframeURL } from '../../utils';\nimport IframeRenderer from './IframeRenderer';\nimport { FORM_PRODUCTS } from '../../../../constants';\n\nconst ReportRenderer = ({\n type: productType,\n appID,\n productID,\n item,\n ...props\n}) => {\n const iframeRef = createRef();\n\n const { resourceURL: originalResourceURL } = item;\n\n const resourceURL = new URL(originalResourceURL);\n resourceURL.hostname = getDomainURL().replace(/http[s]:\\/\\//, '');\n\n const pageURL = generateIframeURL({\n appID, id: productID, type: FORM_PRODUCTS.REPORT, resourceURL: resourceURL.toString()\n });\n\n return (\n \n );\n};\n\nReportRenderer.propTypes = {\n type: string,\n appID: string,\n productID: string,\n item: shape({})\n};\n\nReportRenderer.defaultProps = {\n type: '',\n appID: '',\n productID: '',\n item: {}\n};\n\nexport default ReportRenderer;\n","import React from 'react';\nimport { elementType, string } from 'prop-types';\nimport { ErrorScreen as CommonErrorScreen } from '@jotforminc/jotform-common';\n\nimport Styled from 'styled-components';\nimport IconUnreachableSentbox from '../../../../assets/icon_unreachableSentbox.svg';\nimport { mainFontColor } from '../../../../styles/colors';\n\nconst ScWrapper = Styled.div`\n height: 100%;\n background-color: #fff;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 1em;\n`;\n\nconst ScCard = Styled.div`\n text-align: center;\n`;\n\nconst ScTitle = Styled.div`\n color: ${mainFontColor};\n text-transform: uppercase;\n font-weight: 500;\n margin-top: 30px;\n`;\n\nconst ScDescription = Styled.div`\n color: #6F76A7;\n font-size: 14px;\n margin-top: 13px;\n`;\n\nconst UnreachableSentbox = ({ title, description, IconRenderer }) => {\n return (\n ({children})}\n IconWrapper={({ children }) => (<>{children})}\n />\n );\n};\n\nUnreachableSentbox.propTypes = {\n title: string,\n description: string,\n IconRenderer: elementType\n};\n\nUnreachableSentbox.defaultProps = {\n title: '',\n description: '',\n IconRenderer: () => ()\n};\n\nexport default UnreachableSentbox;\n","import { t } from '@jotforminc/translation';\nimport { bool, shape, string } from 'prop-types';\nimport React, { createRef } from 'react';\nimport { useSelector } from 'react-redux';\nimport { generateIframeURL } from '../../utils';\nimport IframeRenderer from './IframeRenderer';\nimport UnreachableSentbox from './UnreachableSentbox';\nimport { FORM_PRODUCTS } from '../../../../constants';\nimport EmptyCartIcon from '../../../../assets/icon_emptyCart.svg';\nimport SELECTORS from '../../../../store/selectors';\n\nconst SentboxRenderer = ({\n type: productType,\n appID,\n productID,\n item,\n checkoutFormID,\n ...props\n}) => {\n const iframeRef = createRef();\n const isPaymentApp = useSelector(SELECTORS.getIsPaymentApp);\n const isDonationApp = useSelector(SELECTORS.getIsDonationApp);\n const hasSentboxAccess = useSelector(SELECTORS.getHasSentboxAccess);\n const isCheckoutForm = (productID === checkoutFormID) && isPaymentApp;\n let pageType;\n let sentboxKeyword;\n switch (true) {\n case isCheckoutForm && isPaymentApp && isDonationApp:\n pageType = FORM_PRODUCTS.PREVIOUS_DONATIONS;\n sentboxKeyword = 'donations';\n break;\n case isCheckoutForm && isPaymentApp:\n pageType = FORM_PRODUCTS.PREVIOUS_ORDERS;\n sentboxKeyword = 'orders';\n break;\n default:\n pageType = FORM_PRODUCTS.SENTBOX;\n sentboxKeyword = 'sentbox';\n break;\n }\n\n const pageURL = generateIframeURL({ appID, id: productID, type: pageType });\n\n const IconRenderer = isCheckoutForm ? () => : undefined;\n const title = `You don't have any previous ${sentboxKeyword}`;\n const translatedTitle = t(title);\n\n if (!hasSentboxAccess) { // Sentbox can not handle no user case\n return (\n \n );\n }\n\n if (isCheckoutForm) { // Previous orders case\n // TODO handle if no-previous-order-yet case too.\n\n return (\n \n );\n }\n\n const { submissionCount = 0 } = item;\n if (!submissionCount) { // Sentbox can not handle unassigned form case because of lack of inbox/sentbox permissions for the user.\n return (\n \n );\n }\n return (\n \n );\n};\n\nSentboxRenderer.propTypes = {\n type: string,\n appID: string,\n productID: string,\n item: shape({}),\n checkoutFormID: string,\n isPreviousOrders: bool\n};\n\nSentboxRenderer.defaultProps = {\n type: '',\n appID: '',\n productID: '',\n item: {},\n checkoutFormID: '',\n isPreviousOrders: false\n};\n\nexport default SentboxRenderer;\n","import {\n bool, number, shape, string\n} from 'prop-types';\nimport React, { createRef } from 'react';\nimport { useDispatch } from 'react-redux';\nimport IframeRenderer from './IframeRenderer';\nimport { generateIframeURL } from '../../utils';\nimport { FORM_PRODUCTS } from '../../../../constants';\nimport { onTodoCompleteAction } from '../../../../store/actionCreators';\nimport { useFormSubmissionCompleteHandler } from '../../../../utils/hooks';\n\nconst SignRenderer = ({\n appID,\n productID,\n item: {\n embedDocumentKey, submissionCount, formID, id\n },\n isAppLoginable,\n isUserLoggedIn,\n ...props\n}) => {\n const dispatch = useDispatch();\n\n const iframeRef = createRef();\n const pageURL = generateIframeURL({\n appID, id: productID, type: FORM_PRODUCTS.SIGN, embedDocumentKey\n });\n\n /*\n Why we use itemID, instead of productID?\n => Checklist app flow is run with the itemID!\n */\n const handleDocumentSigned = () => {\n if (isAppLoginable && isUserLoggedIn) {\n dispatch(onTodoCompleteAction(id, submissionCount));\n }\n };\n\n // if document sign, dependent form will take a submission, so we are tracking this process\n useFormSubmissionCompleteHandler(formID, handleDocumentSigned);\n\n return (\n \n );\n};\n\nSignRenderer.propTypes = {\n appID: string,\n productID: string,\n item: shape({\n embedDocumentKey: string,\n submissionCount: number\n }),\n isAppLoginable: bool,\n isUserLoggedIn: bool\n};\n\nSignRenderer.defaultProps = {\n appID: '',\n productID: '',\n item: {\n embedDocumentKey: '',\n submissionCount: 0\n },\n isAppLoginable: false,\n isUserLoggedIn: false\n};\n\nexport default SignRenderer;\n","import { FORM_PRODUCTS } from '../../../constants';\nimport FormRenderer from './Renderers/FormRenderer';\nimport ReportRenderer from './Renderers/ReportRenderer';\nimport SentboxRenderer from './Renderers/SentboxRenderer';\nimport TablesRenderer from './Renderers/TablesRenderer';\nimport SignRenderer from './Renderers/SignRenderer';\n\nconst RENDERER_COMPONENT_MAP = {\n [FORM_PRODUCTS.FORM]: FormRenderer,\n [FORM_PRODUCTS.CONTINUE_DRAFT]: FormRenderer,\n [FORM_PRODUCTS.TABLES]: TablesRenderer,\n [FORM_PRODUCTS.SENTBOX]: SentboxRenderer,\n [FORM_PRODUCTS.REPORT]: ReportRenderer,\n [FORM_PRODUCTS.SIGN]: SignRenderer\n};\n\nexport const getRendererComponent = type => RENDERER_COMPONENT_MAP[type] || (f => f);\n","import { string } from 'prop-types';\nimport React, { useMemo } from 'react';\nimport { FORM_PRODUCTS } from '../../../constants';\nimport { getRendererComponent } from './constants';\n\nconst RendererComponent = ({\n type, ...rest\n}) => {\n const Renderer = useMemo(() => getRendererComponent(type), [type]);\n\n return (\n \n );\n};\n\nRendererComponent.propTypes = {\n type: string\n};\n\nRendererComponent.defaultProps = {\n type: FORM_PRODUCTS.FORM\n};\n\nexport default RendererComponent;\n","import { ITEM_TYPES } from '../../../../constants/itemTypes';\nimport { FORM_PRODUCTS } from '../../../../constants';\n\nconst ITEM_TYPE_MAP = {\n [FORM_PRODUCTS.FORM]: ITEM_TYPES.FORM,\n [FORM_PRODUCTS.CONTINUE_DRAFT]: ITEM_TYPES.FORM,\n [FORM_PRODUCTS.TABLES]: ITEM_TYPES.TABLE_LINK,\n [FORM_PRODUCTS.SENTBOX]: ITEM_TYPES.SENTBOX_LINK,\n [FORM_PRODUCTS.REPORT]: ITEM_TYPES.REPORT_LINK\n};\n\nexport const getItemType = type => ITEM_TYPE_MAP[type];\n","import Styled from 'styled-components';\nimport { mainFontColor } from '../../../styles/colors';\n\nexport const ScStepsCont = Styled.section`\n width: 100%;\n padding: 8px 12px 8px 12px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n user-select: none;\n border-bottom: 1px solid #C9CADD80;\n min-height: 65px;\n color: ${mainFontColor};\n background-color: #FFF;\n z-index: 1;\n\n .topNav-cont {\n max-width: 640px;\n padding: 10px 0 6px;\n flex-grow: 1;\n position: relative;\n\n &:before,\n &:after {\n content: \"\";\n display: block;\n position: absolute;\n right: 12.5%;\n left: 12.5%;\n top: 14px;\n height: 3px;\n width: auto;\n transition: all 0.3s ease;\n }\n\n &:before {\n background-color: #c2bfcd;\n z-index: 0;\n }\n\n &:after {\n background-color: #54b45c;\n z-index: 1;\n transform: scaleX(0);\n transform-origin: left;\n }\n\n &[data-step=\"1\"]:after { transform: scaleX(0.5); }\n &[data-step=\"2\"]:after { transform: scaleX(1); }\n }\n\n .topNav {\n display: flex;\n align-items: center;\n position: relative;\n z-index: 2;\n justify-content: space-between;\n transition: transform 0.3s ease;\n }\n\n .topNav-item {\n text-align: center;\n flex: 0 0 25%;\n\n a {\n text-decoration: none;\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n &.isActive .item-name { color: #2c3345; font-weight: 700; transition: all 0.2s ease 0.3s; }\n &.isActive ~ .topNav-item .item-ind {\n background-color: #c2bfcd;\n transition: none;\n\n &:after { transform: scale(0); transition: none; }\n }\n }\n\n .item-ind {\n width: 11px;\n height: 11px;\n border-radius: 50%;\n background-color: #54b45c;\n display: block;\n position: relative;\n transition: background-color 0.2s ease 0.3s;\n\n &:after {\n content: \"\";\n display: block;\n box-sizing: border-box;\n position: absolute;\n top: -4px;\n left: -4px;\n z-index: 2;\n transform: scale(1);\n transition: transform 0.2s cubic-bezier(0.19, 1.05, 0.7, 1.39) 0.3s;\n width: 19px;\n height: 19px;\n transform-origin: center;\n border: 2px solid #54b45c;\n border-radius: 50%;\n box-shadow: inset 0 0 0 2px #fff;\n }\n }\n\n .item-name {\n text-transform: uppercase;\n color: #898ba9;\n font-weight: 500;\n margin-top: 9px;\n white-space: nowrap;\n }\n\n .prevStep, .nextStep {\n min-width: 164px;\n min-height: 40px;\n\n span { flex: 1 1 auto; text-align: center; }\n span + svg, svg + span { margin-left: .5em; }\n }\n\n .checkoutTitle {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n left: 50%;\n transform: translateX(-50%);\n\n .appIcon {\n width: 72px;\n height: 65px;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n\n & > div {\n margin: 0 16px;\n width: 40px;\n height: 40px;\n\n img {\n width: 39px;\n height: 39px;\n }\n }\n }\n }\n\n .checkoutRight {\n display: flex;\n align-items: center;\n\n .checkoutContShop {\n font-size: 18px;\n font-weight: 400;\n }\n .formAccountBox-wrapper {\n margin-left: 20px;\n }\n }\n\n @media screen and (max-width: 768px) {\n .prevStep, .nextStep {\n min-width: 40px;\n & > span { display: none; }\n span + svg, svg + span { margin-left: 0; }\n }\n }\n\n @media screen and (max-width: 768px) and (orientation: landscape) {\n .item-name { font-size: .875em; line-height: 1.25rem; }\n }\n\n @media screen and (max-width: 480px) {\n .topNav-cont { overflow: hidden; padding-left: 1em; padding-right: 1em; }\n .topNav-item { flex: 0 0 50%; }\n .topNav-item.isActive .item-name {\n opacity: 1;\n font-weight: 500;\n transition: opacity 0.2s ease 0.3s;\n }\n .item-name { opacity: 0; letter-spacing: -.75px; }\n\n .topNav-cont[data-step=\"0\"] {\n .topNav { transform: translateX(25%); }\n &:before, &:after { left: 50%; right: 0%; }\n }\n\n .topNav-cont[data-step=\"1\"] {\n .topNav { transform: translateX(-25%); }\n &:before,\n &:after { left: 0%; right: 0%; }\n &:after { transform: scaleX(0.5); }\n }\n\n .topNav-cont[data-step=\"2\"] {\n .topNav { transform: translateX(-75%); }\n &:before, &:after { left: 0%; right: 50%; }\n &:after { transform: scaleX(1); }\n }\n\n .prevStep, .nextStep {\n z-index: 3;\n position: relative;\n\n &:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -10%;\n height: 120%;\n width: 2em;\n background: rgb(247,247,248);\n }\n }\n\n .prevStep:after { right: -2em; background: linear-gradient(270deg, rgba(247,247,248,0) 0%, rgba(247,247,248,0.7) 40%, rgba(247,247,248,0.9) 100%); }\n .nextStep:after { left: -2em; background: linear-gradient(90deg, rgba(247,247,248,0) 0%, rgba(247,247,248,.7) 40%, rgba(247,247,248,.9) 100%); }\n }\n\n @media screen and (max-width: 480px) {\n font-size: .875em;\n\n nav[title=\"App Header\"] {\n & > div {\n position: relative;\n top: unset;\n right: unset;\n }\n\n .icon .badge {\n top: 7px;\n right: 0;\n }\n\n .badgeName {\n display: block;\n margin-left: 5px;\n }\n }\n\n .checkoutContShop {\n display: none;\n }\n\n .checkoutTitle {\n .appIcon {\n & + span {\n display: none;\n }\n }\n }\n }\n`;\n","import React from 'react';\nimport {\n arrayOf, elementType, func, string\n} from 'prop-types';\nimport { t } from '@jotforminc/translation';\nimport { useDispatch, useSelector } from 'react-redux';\nimport classNames from 'classnames';\nimport { IconChevronLeft } from '@jotforminc/svg-icons';\nimport { Button } from '@jotforminc/magnet';\nimport { ScStepsCont } from '../../Builder/styles/scSteps';\nimport PortalAccountBox from '../../../components/PortalAccountBox';\nimport SELECTORS from '../../../store/selectors';\nimport ProductCartBadge from '../ProductCartBadge';\nimport { navigateToAction } from '../../../store/actionCreators';\nimport ProductFavorite from '../ProductDetailContentRenderer/ProductFavorite';\nimport { DESTINATION_TYPES, SPECIAL_PAGES } from '../../../constants/navigation';\nimport * as ACTION_CREATORS from '../../../store/actionCreators';\n\nconst ScreenTopBar = ({\n onBackButtonClick,\n TitleRenderer,\n onAccountBoxToggle,\n topBarClasses\n}) => {\n const dispatch = useDispatch();\n const isCheckoutFormCompleted = useSelector(SELECTORS.getCheckoutFormIsCompleted);\n const isAppLoginable = useSelector(SELECTORS.selectIsAppLoginable);\n const isShoppingApp = useSelector(SELECTORS.getIsShoppingApp);\n const appHeaderBgColor = useSelector(SELECTORS.getAppHeaderBgColor);\n const appFontColor = useSelector(SELECTORS.getAppFontColor);\n const activePageID = useSelector(SELECTORS.getActivePageID);\n const isFastCheckoutActive = useSelector(SELECTORS.getIsFastCheckoutActive);\n const activeProduct = useSelector(SELECTORS.getActiveProductDetails);\n const activeScreen = useSelector(SELECTORS.getActiveScreen);\n const {\n itemID: activeItemID,\n productID: activeProductID\n } = activeProduct;\n const isFavorite = useSelector(SELECTORS.getIsProductFavorite(activeItemID, activeProductID));\n const isCheckoutPage = activeScreen === SPECIAL_PAGES.CHECKOUT;\n\n const handleContinueShopping = () => {\n dispatch(navigateToAction({ to: DESTINATION_TYPES.PAGE, pageID: 'homepage' }));\n };\n\n const ContinueShoppingButton = () => isShoppingApp && !isCheckoutFormCompleted && (\n \n {t('Continue Shopping')}\n \n );\n\n // TODO :: dependency injection!\n\n const accountBox = (\n isAppLoginable ? (\n \n ) : (\n \n {t('Back')}\n \n )\n );\n\n const handleCartClick = () => {\n dispatch(navigateToAction({ to: DESTINATION_TYPES.SPECIAL_PAGE, pageID: 'cart' }));\n };\n\n const shouldFavoriteVisible = activeItemID && activeProductID;\n\n const handleFavorite = () => {\n dispatch(ACTION_CREATORS.favoriteProductAction(activeItemID, activeProductID, false));\n };\n\n const itemDetailsActions = !isFastCheckoutActive ? (\n <>\n {shouldFavoriteVisible && }\n \n \n ) : null;\n\n const topBarButtons = activeScreen === SPECIAL_PAGES.PRODUCT ? itemDetailsActions : accountBox;\n\n return (\n \n \n {t('Back')}\n \n\n {isCheckoutPage ? (\n <>\n
\n {t('Checkout')}\n
\n {isAppLoginable ? (\n
\n \n \n
\n ) : (\n \n )}\n \n ) : (\n <>\n \n {topBarButtons}\n \n )}\n \n );\n};\n\nScreenTopBar.propTypes = {\n onBackButtonClick: func,\n TitleRenderer: elementType,\n onAccountBoxToggle: func,\n topBarClasses: arrayOf(string)\n};\n\nScreenTopBar.defaultProps = {\n onBackButtonClick: f => f,\n TitleRenderer: props =>
,\n onAccountBoxToggle: f => f,\n topBarClasses: []\n};\n\nexport default ScreenTopBar;\n","import React, {\n createRef, useCallback, useEffect, useState\n} from 'react';\nimport {\n bool, func, string\n} from 'prop-types';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { useEventListener } from '@jotforminc/hooks';\nimport { FORM_PRODUCTS, UI_PROPS } from '../../../constants';\nimport SELECTORS from '../../../store/selectors';\nimport { isApple, isInJotformKiosk } from '../../../utils';\nimport { useFormProductByPath } from '../../../utils/navigation';\nimport RendererComponent from './RendererComponent';\nimport { ScFormRendererFrameContainer, ScFormRendererRoot } from '../scPublicApp';\nimport { getItemType } from './Renderers/constants';\nimport { FEATURE_NAMES } from '../../../constants/features';\nimport { isFeatureEnabled } from '../../../utils/features/helper';\nimport { DESTINATION_TYPES } from '../../../constants/navigation';\nimport * as ACTION_CREATORS from '../../../store/actionCreators';\nimport ScreenTopBar from '../ScreenRenderer/ScreenTopBar';\nimport { getProductItemProps, isValidNumber } from '../utils';\nimport { checkItemAvailable } from '../../../utils/itemAvailability';\nimport { ITEM_TYPES } from '../../../constants/itemTypes';\nimport AppProgressBar from '../../../components/AppProgressBar';\n\nconst ProductRenderer = ({\n productID, appID, navigate, ...rest\n}) => {\n const pageRef = createRef();\n const dispatch = useDispatch();\n\n const [isIframeBackdropEnabled, setIframeBackdropEnabled] = useState(false);\n\n const isUserLoggedIn = useSelector(SELECTORS.selectIsUserLoggedIn);\n const isAppLoginable = useSelector(SELECTORS.selectIsAppLoginable);\n const user = useSelector(SELECTORS.getUser);\n const appProperties = useSelector(SELECTORS.getAppInfoWithDefaults);\n const hasBrandingFooter = useSelector(SELECTORS.getHasBrandingFooter);\n const isCtxMenuItemClicked = useSelector(SELECTORS.getUIProp(UI_PROPS.ctxMenuItemClicked));\n const shouldShowProgressBar = useSelector(SELECTORS.getShouldShowProgressBar);\n\n const {\n appFontFamily,\n appFontColor,\n appHeaderBgColor,\n checkoutFormID = ''\n } = appProperties;\n\n const productType = useFormProductByPath(appID);\n const actualProductType = isCtxMenuItemClicked ? FORM_PRODUCTS.FORM : productType;\n\n const allItems = useSelector(SELECTORS.getPortalItems);\n\n const actualItem = getProductItemProps(allItems, productID, getItemType(actualProductType)) || {};\n const item = getProductItemProps(allItems, productID, getItemType(productType)) || {};\n\n const isCheckoutFormSentbox = productType === FORM_PRODUCTS.SENTBOX && checkoutFormID === productID && isFeatureEnabled(FEATURE_NAMES.ProductList);\n\n const { page } = actualItem;\n const { title } = isCtxMenuItemClicked ? item : actualItem; // Getting title of Sentbox if exists\n const handleAccountBoxToggle = useCallback(isAccountBoxOpen => setIframeBackdropEnabled(isAccountBoxOpen), []);\n\n const handleBackButtonClick = useCallback(() => {\n dispatch(ACTION_CREATORS.navigateToAction({ to: DESTINATION_TYPES.BACK }));\n dispatch(ACTION_CREATORS.setUIProp(UI_PROPS.ctxMenuItemClicked, false));\n }, []);\n\n useEventListener('popstate', () => {\n if (!isApple()) return;\n if (pageRef && pageRef.current && pageRef.current.style) {\n pageRef.current.style.display = 'none';\n }\n });\n\n useEffect(() => {\n const { itemAvailable: isAvailable } = checkItemAvailable({ appProperties, itemProperties: actualItem });\n\n if (!isAvailable && !isCheckoutFormSentbox) {\n dispatch(ACTION_CREATORS.notFoundResourceAction(productType, isValidNumber(productID)));\n }\n }, [actualItem, productType, isCheckoutFormSentbox]);\n\n const handleViewForm = useCallback(formID => {\n if (isInJotformKiosk()) {\n window.sendMessageToJFMobile({\n action: 'openForm',\n formID\n });\n return;\n }\n\n dispatch(ACTION_CREATORS.navigateToAction({\n to: DESTINATION_TYPES.PRODUCT, productID: formID, productType: FORM_PRODUCTS.FORM\n }));\n }, []);\n\n const handleViewSign = useCallback(currentProductID => {\n dispatch(ACTION_CREATORS.navigateToAction({\n to: DESTINATION_TYPES.PRODUCT, productID: currentProductID, productType: FORM_PRODUCTS.SIGN\n }));\n }, []);\n\n const handleProductClick = itemType => {\n const PRODUCT_HANDLERS = {\n [ITEM_TYPES.FORM]: handleViewForm,\n [ITEM_TYPES.SIGN_LINK]: handleViewSign\n };\n\n return PRODUCT_HANDLERS[itemType];\n };\n\n return (\n \n title || ''}\n onAccountBoxToggle={handleAccountBoxToggle}\n />\n {shouldShowProgressBar && (\n \n )}\n \n {isIframeBackdropEnabled && (
)}\n {productType && (\n \n )}\n \n \n\n );\n};\n\nProductRenderer.propTypes = {\n productID: string,\n appID: string,\n navigate: func,\n hasBrandingFooter: bool\n};\n\nProductRenderer.defaultProps = {\n productID: '',\n appID: '',\n navigate: f => f,\n hasBrandingFooter: true\n};\n\nexport default ProductRenderer;\n","import Styled from 'styled-components';\n\nconst ScOrderNowButton = Styled.div`\n position: absolute;\n bottom: 0%;\n z-index: 6;\n display: flex;\n justify-content: center;\n align-items: center;\n background: #F4F5FB;\n box-shadow: 0 -3px 6px rgba(0, 0, 0, 0.15);\n border-radius: 13px 13px 0 0;\n width: 100%;\n\n .orderBtn {\n font-size: 16px;\n width: 100%;\n height: 45px;\n background: #0A1551;\n border-radius: 4px;\n align-items: center;\n color: #FFFFFF;\n margin: 20px 16px 30px;\n border: none;\n cursor: pointer;\n\n span {\n margin-left: 8px;\n color: #fff;\n }\n }\n`;\n\nexport default ScOrderNowButton;\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { CSSTransition } from 'react-transition-group';\nimport { Button } from '@jotforminc/magnet';\nimport { t } from '@jotforminc/translation';\nimport SELECTORS from '../../../store/selectors';\nimport * as ACTIONS from '../../../store/actionCreators';\nimport { DESTINATION_TYPES } from '../../../constants/navigation';\nimport ScOrderNowButton from './ScOrderNowButton';\nimport { useFormattedPrice } from '../../../utils/hooks';\n\nconst OrderNow = () => {\n const dispatch = useDispatch();\n const isOrderNowButtonVisible = useSelector(SELECTORS.getIsOrderNowButtonVisible);\n const cartTotal = useSelector(SELECTORS.getCartTotal);\n\n const getFormattedPrice = useFormattedPrice();\n\n return (\n <>\n \n \n
\n dispatch(ACTIONS.navigateToAction({ to: DESTINATION_TYPES.SPECIAL_PAGE, pageID: 'checkout' }))}\n >\n {t('Order Now')}\n {`${getFormattedPrice(cartTotal)}`}\n \n
\n
\n \n \n );\n};\n\nexport default OrderNow;\n","import {\n string, elementType, node, shape\n} from 'prop-types';\nimport { useEventListener } from '@jotforminc/hooks';\nimport React, { useCallback, useEffect, useRef } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { ScFormRendererRoot } from '../scPublicApp';\nimport ScreenTopBar from './ScreenTopBar';\nimport * as ACTION_CREATORS from '../../../store/actionCreators';\nimport SELECTORS from '../../../store/selectors';\nimport { isApple } from '../../../utils';\nimport { DESTINATION_TYPES } from '../../../constants/navigation';\nimport { UI_PROPS } from '../../../constants';\n\nconst ScreenRenderer = ({\n children,\n TitleRenderer,\n classNames,\n itemID,\n productID,\n ...props\n}) => {\n const dispatch = useDispatch();\n const { itemID: activeProductItemID } = useSelector(SELECTORS.getActiveProductDetails);\n\n const pageRef = useRef();\n\n useEventListener('popstate', () => {\n if (!isApple()) return;\n if (pageRef && pageRef.current && pageRef.current.style) {\n pageRef.current.style.display = 'none';\n }\n });\n\n const handleBackButtonClick = useCallback(() => dispatch(ACTION_CREATORS.navigateToAction({ to: DESTINATION_TYPES.BACK })), []);\n\n const topBarClasses = classNames.topBar;\n\n useEffect(() => {\n if (!activeProductItemID && itemID && productID) {\n dispatch(ACTION_CREATORS.setUIProp(UI_PROPS.activeProductDetail, { itemID, productID }));\n }\n }, []);\n\n const childrenWithProps = React.Children.map(children, child => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, { ...props });\n }\n return child;\n });\n\n return (\n \n \n {childrenWithProps}\n \n );\n};\n\nScreenRenderer.propTypes = {\n TitleRenderer: elementType,\n children: node,\n classNames: shape({}),\n itemID: string,\n productID: string\n};\n\nScreenRenderer.defaultProps = {\n TitleRenderer: props =>
,\n children:
,\n classNames: {\n topBar: []\n },\n itemID: '',\n productID: ''\n};\n\nexport default ScreenRenderer;\n","import React, { useEffect, useRef } from 'react';\nimport { node } from 'prop-types';\nimport { useDispatch, useSelector } from 'react-redux';\nimport TopBar from './TopBar';\nimport { ScPublicApp, ScPublicAppRoot } from './scPublicApp';\nimport AppStyle from './AppStyle';\nimport { ScPageContentWrapper } from './ScPageContentWrapper';\nimport ANIMATION_TYPES from './AnimationTypes';\nimport { setRouterAnimationTypeAction } from '../../store/actionCreators';\nimport SELECTORS from '../../store/selectors';\n\nconst PageRenderer = ({\n children\n}) => {\n const itemListWrapperRef = useRef();\n const isOrderNowButtonVisible = useSelector(SELECTORS.getIsOrderNowButtonVisible);\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch(setRouterAnimationTypeAction(ANIMATION_TYPES.PAGE_CHANGE));\n }, []);\n\n return (\n
\n \n \n \n \n \n {children}\n \n \n \n
\n );\n};\n\nPageRenderer.propTypes = {\n children: node.isRequired\n};\n\nexport default PageRenderer;\n","import styled from 'styled-components';\n\nconst ScCompleteScreen = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n @media screen and (max-width: 480px){\n margin-top: 118px\n }\n @media screen and (min-width: 766px){\n padding-top: 20px;\n }\n\n h2 {\n margin: 20px 0;\n font-size: 18px;\n font-weight: 500;\n }\n\n > .completeScreen-text {\n max-width: 320px;\n font-size: 16px;\n color: #6F76A7;\n text-align: center;\n @media screen and (min-width: 766px) {\n max-width: 480px;\n }\n }\n\n .hr {\n background: #DFDFFF;\n width: 100%;\n height: 1px;\n margin: 20px 0px;\n }\n\n .checkIcon {\n width: 48px;\n height: 48px;\n color: #78BB07;\n }\n\n .completeScreen-btn {\n margin: 20px 0 24px 0;\n min-width: 270px;\n font-weight: 500;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: .5em 1em;\n border-radius: 4px;\n cursor: pointer;\n text-transform: capitalize;\n border: 0;\n font-size: 1em;\n line-height: 1.5;\n font-family: inherit;\n color: #fff;\n background-color: #0A1551;\n }\n\n span.button {\n color: #0099FF;\n font-size: 14px;\n cursor: pointer;\n }\n\n ${({ isDonationApp }) => (isDonationApp ? `\n .completeScreen-price {\n color: #0099FF;\n }\n\n .completeScreen-contBtn {\n margin: 30px 0 24px 0;\n min-width: 270px;\n font-weight: 400;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: .5em 1em;\n border-radius: 4px;\n cursor: pointer;\n text-transform: capitalize;\n border: 0;\n font-size: 14px;\n line-height: 1.5;\n font-family: inherit;\n color: #fff;\n background-color: #0099FF;\n height: 40px;\n }\n\n .line {\n border: 1px solid #DFDFFF;\n width: 130%;\n height: 1px;\n margin: 20px 0 0 0;\n }\n\n h2.share {\n margin: 30px 0 16px 0;\n font-size: 16px;\n font-weight: 700;\n }\n\n .completeScreen-social {\n display: flex;\n justify-content: center;\n align-items: center;\n\n svg {\n display: block;\n width: 22px;\n height: 22px;\n }\n\n a:nth-child(2) {\n margin: 0 8px;\n }\n\n .completeScreen-copyLinkBtn {\n margin-left: 13px;\n min-width: 90px;\n font-weight: 500;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 8px;\n border-radius: 32px;\n cursor: pointer;\n text-transform: capitalize;\n border: 0;\n font-size: 14px;\n font-family: inherit;\n color: #0A1551;\n background-color: #DADEF3;\n height: 32px;\n\n svg {\n width: 16px;\n height: 16px;\n }\n\n span {\n margin-left: 4px;\n }\n }\n }\n ` : '')};\n\n`;\n\nexport default ScCompleteScreen;\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { t } from '@jotforminc/translation';\nimport { IconCheckCircleFilled } from '@jotforminc/svg-icons';\nimport { Button } from '@jotforminc/magnet';\nimport SELECTORS from '../../../store/selectors';\nimport { DESTINATION_TYPES } from '../../../constants/navigation';\nimport { navigateToAction } from '../../../store/actionCreators';\nimport ScCompleteScreen from './ScCompleteScreen';\n\nconst StoreCompleteScreen = () => {\n const isAppLoginable = useSelector(SELECTORS.selectIsAppLoginable);\n\n const dispatch = useDispatch();\n\n const handleContinueShopping = () => {\n dispatch(navigateToAction({ to: DESTINATION_TYPES.PAGE, pageID: 'homepage' }));\n };\n\n const handleGoToPreviousOrders = () => {\n dispatch(navigateToAction({ to: DESTINATION_TYPES.SPECIAL_PAGE, pageID: 'previousOrders' }));\n };\n\n return (\n \n \n

\n {t('We\\'ve received your order!')}\n\n

\n {t('We sent a confirmation mail.')}\n {\n isAppLoginable && (\n <>\n
\n {t('Track and edit your order')}\n \n {t('My Previous Orders')}\n \n \n )\n }\n \n {t('Continue Shopping')}\n \n \n );\n};\n\nexport default StoreCompleteScreen;\n","import React, {\n useCallback, useEffect, useMemo, useState\n} from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { t, translationRenderer } from '@jotforminc/translation';\nimport {\n IconCheckCircleFilled,\n IconFacebookFilled,\n IconLinkDiagonal,\n IconLinkedinSquareFilled,\n IconWhatsapp,\n IconTwitter\n} from '@jotforminc/svg-icons';\nimport { Button } from '@jotforminc/magnet';\nimport { CopyButton } from '@jotforminc/uikit';\nimport { shareUsingNavigator } from '@jotforminc/utils';\nimport SELECTORS from '../../../store/selectors';\nimport { trackEventAction, navigateToAction } from '../../../store/actionCreators';\nimport { DESTINATION_TYPES } from '../../../constants/navigation';\nimport ScCompleteScreen from './ScCompleteScreen';\nimport { useFormattedPrice } from '../../../utils/hooks';\nimport { getSocialMediaOptions, getSocialSharingUtmSources } from '../utils';\nimport { getButtonShareDefMessages } from '../../Builder/components/HomePage/constants';\nimport { replaceTextWithVariables } from '../../Builder/components/HomePage/RightPanel/utils';\nimport { FEATURE_NAMES } from '../../../constants/features';\nimport { isFeatureEnabled } from '../../../utils/features/helper';\nimport { checkMobileOrTablet, getAppLinkWithUTM } from '../../../utils';\nimport { momentToMilliSeconds } from '../../Builder/components/Settings/utils';\n\nconst DonationCompleteScreen = () => {\n const [isCopied, setCopied] = useState(false);\n const copyButtonText = useMemo(() => (isCopied ? t('Copied to Clipboard!') : t('Copy Link')));\n const dispatch = useDispatch();\n\n useEffect(() => {\n const copyTimer = setTimeout(() => {\n setCopied(false);\n }, 3e3);\n return () => clearTimeout(copyTimer);\n }, [isCopied]);\n\n const handleCopyLink = useCallback(() => {\n setCopied(true);\n dispatch(trackEventAction({ action: 'copyButtonClickedAtTYP' }));\n }, []);\n\n const lastOrderAmount = useSelector(SELECTORS.getLastOrderAmount);\n const publicLink = useSelector(SELECTORS.getPublicLink);\n const appTitle = useSelector(SELECTORS.getAppName);\n const { updated_at: updatedAt, id: appID } = useSelector(SELECTORS.getAppInfoWithDefaults);\n\n const getFormattedPrice = useFormattedPrice();\n\n const variableMapping = { 'App Title': appTitle };\n const shareMessage = replaceTextWithVariables(getButtonShareDefMessages().donationShare, variableMapping);\n const icons = {\n facebookIcon: IconFacebookFilled,\n twitterIcon: IconTwitter,\n linkedinIcon: IconLinkedinSquareFilled,\n whatsappIcon: IconWhatsapp\n };\n const socialMediaOptions = getSocialMediaOptions(shareMessage, publicLink, appID, icons, momentToMilliSeconds(updatedAt), true);\n\n const handleContinueToHomepage = () => dispatch(navigateToAction({ to: DESTINATION_TYPES.PAGE, pageID: 'homepage' }));\n const handlePreviousDonations = () => {\n dispatch(navigateToAction({ to: DESTINATION_TYPES.SPECIAL_PAGE, pageID: 'previousDonations' }));\n dispatch(trackEventAction({ action: 'previousDonationButtonClickedAtTYP' }));\n };\n\n const isDonationApp = useSelector(SELECTORS.getIsDonationApp);\n const isMobileOrTablet = checkMobileOrTablet();\n\n const handleShareButtonClick = option => {\n option.action();\n dispatch(trackEventAction({ action: `shareOn${option.title}ClickedAtTYP` }));\n };\n\n const handleMoreButtonClick = () => {\n shareUsingNavigator(\n { title: appTitle, text: t(shareMessage), url: `${getAppLinkWithUTM(publicLink, appID, getSocialSharingUtmSources('nativeShare', true))}?time=${momentToMilliSeconds(updatedAt)}` }\n );\n dispatch(trackEventAction({ action: 'moreButtonClickedAtTYP' }));\n };\n\n return (\n \n \n

\n {t('Thanks for your support!')}\n

\n \n {translationRenderer('Your donation of [1[price]] will make a big difference.')({\n renderer1: () => {getFormattedPrice(lastOrderAmount)}\n })}\n \n \n {t('Continue to Homepage')}\n {isFeatureEnabled(FEATURE_NAMES.ShareOptions) && (\n
\n

{t('Spread Goodness & Share Your Support')}

\n
\n {socialMediaOptions.map(option => {\n return (\n handleShareButtonClick(option)}\n size=\"small\"\n variant=\"filled\"\n colorStyle=\"teams\"\n startIcon={option.icon}\n rounded={true}\n className=\"ml-2\"\n />\n );\n })}\n {(isMobileOrTablet) ? (\n true && (\n \n {t('More')}\n \n )\n ) : (\n \n {!isCopied && }\n {copyButtonText}\n \n )}\n
\n
\n )}\n
\n );\n};\n\nexport default DonationCompleteScreen;\n","import Styled from 'styled-components';\nimport { mainFontColor } from '../../../styles/colors';\nimport { FEATURE_NAMES } from '../../../constants/features';\nimport { isFeatureEnabled } from '../../../utils/features/helper';\n\nconst isFeatEnabled = isFeatureEnabled(FEATURE_NAMES.ShareOptions);\n\nconst ScCheckoutScreen = Styled.div`\n display: flex;\n justify-content: center;\n background-color: ${mainFontColor};\n width: 100%;\n position: fixed;\n bottom: 0;\n top: 65px;\n\n .productCart-container {\n max-width: 674px;\n width: 100%;\n height: ${({ hasBrandingFooter, isGatewayRedirectInfoScreen }) => {\n if (isGatewayRedirectInfoScreen) return '364px';\n return hasBrandingFooter ? 'calc(100vh - 165px);' : 'calc(100vh - 115px);';\n }};\n box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.06);\n border-radius: 6px;\n background-color: #ffffff;\n z-index: 12;\n position: relative;\n margin-top: 50px;\n\n &.complete {\n height: ${({ isDonationApp }) => {\n if (isFeatEnabled && isDonationApp) {\n return '500px';\n } if (isDonationApp) {\n return '365px';\n }\n return '50vh';\n }};\n display: flex;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n @media screen and (max-width: 480px){\n height: 100vh;\n display: flex;\n margin: 0;\n border-radius: 0;\n justify-content: flex-start;\n }\n }\n }\n @media screen and (max-width: 480px) {\n .productCart-container {\n margin-top: 0;\n height: ${({ hasBrandingFooter }) => (hasBrandingFooter ? 'calc(100% - 50px);' : '100%;')};\n border-radius: 0;\n }\n }\n`;\n\nexport default ScCheckoutScreen;\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport classnames from 'classnames';\nimport CheckoutFormRenderer from '../OrderNow/CheckoutFormRenderer';\nimport SELECTORS from '../../../store/selectors';\nimport StoreCompleteScreen from './StoreCompleteScreen';\nimport * as ACTION_CREATORS from '../../../store/actionCreators';\nimport { CHECKOUT_FORM_STATUSES } from '../../../constants';\nimport { DESTINATION_TYPES } from '../../../constants/navigation';\nimport DonationCompleteScreen from './DonationCompleteScreen';\nimport ScCheckoutScreen from './ScCheckoutScreen';\nimport * as NAVIGATION_CONSTANTS from '../../../constants/navigation';\n\n// TODO: move complete page to another url\n\nconst CheckoutScreen = () => {\n const dispatch = useDispatch();\n const isCheckoutFormCompleted = useSelector(SELECTORS.getCheckoutFormIsCompleted);\n const hasBrandingFooter = useSelector(SELECTORS.getHasBrandingFooter);\n const isDonationApp = useSelector(SELECTORS.getIsDonationApp);\n const isPaymentOverQuota = useSelector(SELECTORS.getIsPaymentOverQuota);\n const cartProductsCount = useSelector(SELECTORS.getCartProductsCount);\n const checkoutFormStatus = useSelector(SELECTORS.getCheckoutFormStatus);\n const isLivePreviewOn = useSelector(SELECTORS.getIsLivePreviewOn);\n const currentUrl = new URL(window.location.href);\n const isCompleteUrl = currentUrl.searchParams.get('complete');\n\n const isComplete = isCompleteUrl || isCheckoutFormCompleted;\n\n const isCheckoutScreenAvailable = (!isPaymentOverQuota && cartProductsCount) || isComplete || isLivePreviewOn;\n\n useEffect(() => {\n if (isCompleteUrl) {\n currentUrl.searchParams.delete('complete');\n window.history.pushState(null, null, currentUrl.toString());\n }\n\n if (!isCheckoutScreenAvailable) {\n dispatch(ACTION_CREATORS.navigateToAction(\n { to: DESTINATION_TYPES[isDonationApp ? 'PAGE' : 'SPECIAL_PAGE'], pageID: isDonationApp ? 'homepage' : 'cart', animationType: NAVIGATION_CONSTANTS.ANIMATION_TYPES.NONE }\n ));\n } else if (!isCompleteUrl) {\n dispatch(ACTION_CREATORS.setCheckoutFormStatus(CHECKOUT_FORM_STATUSES.OPENED));\n }\n }, []);\n\n if (!isCheckoutScreenAvailable) return null;\n\n const CompleteScreen = isDonationApp ? DonationCompleteScreen : StoreCompleteScreen;\n\n const isGatewayRedirectInfoScreen = !isCheckoutFormCompleted && checkoutFormStatus === CHECKOUT_FORM_STATUSES.GATEWAY_REDIRECT_INFO;\n return (\n \n
\n {isCheckoutFormCompleted ? : }\n
\n
\n );\n};\n\nexport default CheckoutScreen;\n","import React from 'react';\nimport { func } from 'prop-types';\nimport '../styles/ProductListButton.scss';\n\nexport const AddToCart = ({\n onClick\n}) => {\n const handleClick = e => {\n e.stopPropagation();\n onClick();\n };\n return (\n \n );\n};\n\nAddToCart.propTypes = {\n onClick: func\n};\n\nAddToCart.defaultProps = {\n onClick: f => f\n};\n","import {\n array, func\n} from 'prop-types';\nimport React from 'react';\n\nimport { Spinner } from '@jotforminc/portal-components';\n\nimport { getOptionProps, getQuantityOptionProps } from '../../../../utils/paymentUtils';\nimport { QUANTITY_PROP } from './constants';\n\nconst CartOption = ({\n options,\n onChange\n}) => {\n if (!options || options.length <= 0) {\n return null;\n }\n\n const quantityOptionProps = getQuantityOptionProps(options);\n const {\n selected\n } = quantityOptionProps;\n\n const spinnerProps = getOptionProps(quantityOptionProps);\n\n const handleChange = newValue => {\n onChange(newValue, QUANTITY_PROP);\n };\n\n return (\n \n );\n};\n\nCartOption.propTypes = {\n options: array,\n onChange: func\n};\n\nCartOption.defaultProps = {\n options: [],\n onChange: f => f\n};\n\nexport default CartOption;\n","import React from 'react';\nimport {\n arrayOf, shape, func, bool, string\n} from 'prop-types';\nimport { AddToCart } from '@jotforminc/portal-components';\nimport { useSelector } from 'react-redux';\nimport { IconCheckCircleFilled } from '@jotforminc/svg-icons';\nimport CartOption from './CartOption';\nimport SELECTORS from '../../../../store/selectors';\n\nconst CartItemOptionsRenderer = ({\n options,\n onChange,\n isFavorite,\n onAddToCart,\n productID,\n itemID,\n hasQuantity\n}) => {\n // Because of selector limitations, we destructure inside component\n const cart = useSelector(SELECTORS.getCart);\n const item = useSelector(SELECTORS.getPortalItemByIDSelector(itemID));\n const { formID } = item;\n const productListCart = cart[formID] || [];\n const isItemSelected = !!productListCart.find(product => product.pid === productID);\n const isSelected = isFavorite && isItemSelected;\n\n switch (true) {\n case isSelected:\n return (\n
\n \n Added To Cart\n
\n );\n case isFavorite:\n return (\n \n );\n case hasQuantity:\n return (\n \n );\n default:\n return null;\n }\n};\n\nCartItemOptionsRenderer.propTypes = {\n options: arrayOf(shape({})),\n onChange: func,\n isFavorite: bool,\n onAddToCart: func,\n productID: string,\n itemID: string,\n hasQuantity: bool\n};\n\nCartItemOptionsRenderer.defaultProps = {\n options: [],\n onChange: f => f,\n isFavorite: false,\n onAddToCart: f => f,\n productID: '',\n itemID: '',\n hasQuantity: true\n};\n\nexport default CartItemOptionsRenderer;\n","import React, { useRef } from 'react';\nimport { bool, func } from 'prop-types';\nimport { t } from '@jotforminc/translation';\nimport { Hooks } from '@jotforminc/uikit';\nimport { IconHeartFilled, IconTrashFilled } from '@jotforminc/svg-icons';\nimport { Button } from '@jotforminc/magnet';\n\nconst CartItemActionButton = ({ onDelete, isFavorite, onFavoriteChange }) => {\n const deleteButtonRef = useRef();\n\n const [areYouSure, setAreYouSure] = Hooks.useClickOutsideState(false, [deleteButtonRef]);\n\n const handleOnDelete = e => {\n e.stopPropagation();\n if (areYouSure) return onDelete();\n\n setAreYouSure(true);\n };\n\n const handleUnfav = e => {\n e.stopPropagation();\n if (areYouSure) return onFavoriteChange();\n\n setAreYouSure(true);\n };\n\n return (\n isFavorite ? (\n \n {t('Remove')}\n \n ) : (\n \n {t('Confirm')}\n \n )\n );\n};\n\nCartItemActionButton.propTypes = {\n onDelete: func,\n isFavorite: bool,\n onFavoriteChange: func\n};\n\nCartItemActionButton.defaultProps = {\n onDelete: f => f,\n isFavorite: false,\n onFavoriteChange: f => f\n};\nexport default CartItemActionButton;\n","/* eslint-disable max-len */\nimport Styled from 'styled-components';\nimport { mainFontColor } from '../../../../styles/colors';\n\nconst ScProductCartItem = Styled.div`\n display: flex;\n flex: 0 0 100%;\n color: ${mainFontColor};\n justify-content: flex-start;\n align-items: center;\n margin: 32px 24px 0px;\n\n .simple-product-item {\n display: flex;\n flex: 1 0 55%;\n justify-content: space-between;\n }\n\n .product-cart-actions {\n display: flex;\n flex: 1 0 27%;\n align-items: center;\n justify-content: space-between;\n margin-left: 16px;\n position: relative;\n\n .form-spinner {\n max-width: 90px;\n\n &-button {\n width: 25px;\n }\n }\n\n .magnet-button > span {\n padding: 0;\n }\n }\n\n .product-image {\n display: flex;\n border: 1px solid #D3DCEF;\n border-radius: 4px;\n flex: 0 0 auto;\n margin-right: 16px;\n\n img {\n width: 196px;\n height: 105px;\n border-radius: 3px;\n }\n }\n\n .product-content {\n display: flex;\n flex-direction: column;\n justify-content: center;\n text-align: left;\n max-width: 180px;\n width: 180px;\n\n &-name {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n &-amount {\n font-weight: 700;\n margin-top: 3px;\n }\n }\n\n .form-spinner {\n max-width: 120px;\n }\n\n .product-action {\n border-radius: 64px;\n display: flex;\n align-items: center;\n max-width: 40px;\n overflow: hidden;\n margin-left: auto;\n position: absolute;\n right: 0px;\n z-index: 1;\n\n .icon {\n min-width: 30px;\n height: 30px;\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n margin-left: auto;\n cursor: pointer;\n overflow: hidden;\n\n svg {\n display: block;\n margin: auto;\n }\n }\n\n .tooltip {\n color: #fff;\n text-align: left;\n font-size: 14px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n position: absolute;\n opacity: 0;\n padding-right: 12px;\n max-width: 160px;\n pointer-events: none;\n }\n\n &.delete {\n background-color: #6F76A7;\n\n svg {\n fill: #fff;\n width: 14px;\n }\n\n &:hover {\n background-color: #FF3B30;\n transition: background-color ease .3s;\n }\n\n &.clicked {\n max-width: 200px;\n transition: max-width .5s;\n background-color: #FF3B30;\n transition: all ease .3s;\n\n .tooltip {\n position: relative;\n opacity: 1;\n }\n }\n }\n\n &.fav {\n background-color: #E3E5F5;\n\n svg {\n fill: #FF2D55;\n stroke: #FF2D55;\n width: 16px;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n }\n\n &:hover {\n background-color: #C8CEED;\n transition: background-color ease .3s;\n }\n\n &.clicked {\n max-width: 200px;\n transition: max-width .5s;\n background-color: #FF3B30;\n transition: all ease .3s;\n\n .tooltip {\n position: relative;\n opacity: 1;\n }\n\n svg {\n fill: #FFF;\n stroke: unset;\n width: 14px;\n }\n }\n }\n }\n\n .product-added {\n display: flex;\n color: #78BB07;\n justify-content: space-between;\n align-items: center;\n\n svg {\n margin-right: 5px;\n }\n }\n\n @media screen and (max-width: 480px) {\n .simple-product-item {\n flex: 1 1 0;\n height: 90px;\n justify-content: unset;\n }\n\n .product-cart-actions {\n flex: 1 1 100%;\n margin: 0;\n .addToCartBtn {\n margin: 0;\n height: 35px;\n }\n }\n\n .product-image {\n img {\n width: 88px;\n height: 88px;\n object-fit: cover;\n border-radius: 3px;\n }\n }\n .product-content-mobile-wrapper {\n flex: 1;\n display: flex;\n flex-wrap: wrap;\n flex-direction: row;\n }\n\n .product-content {\n flex: 1 1 100%;\n }\n\n .product-content-name {\n font-size: 14px;\n }\n\n .product-content-amount {\n margin-top: 0;\n }\n }\n\n`;\nexport default ScProductCartItem;\n","import { string, shape, bool } from 'prop-types';\nimport React, { useCallback } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport CartItemContentRenderer from './CartItemContentRenderer';\nimport CartItemOptionsRenderer from './CartItemOptionRenderer';\nimport CartItemActionButton from './CartItemActionButton';\nimport ScProductCartItem from './ScProductCartItem';\nimport SELECTORS from '../../../../store/selectors';\nimport { QUANTITY_PROP } from './constants';\nimport * as ACTION_CREATORS from '../../../../store/actionCreators';\nimport SimpleProductItem from '../../SimpleProductItem';\nimport { checkMobilePhone } from '../../../../utils';\n\nconst CartItem = ({\n product, totalAmount, isFavorite, itemID, formID\n}) => {\n const dispatch = useDispatch();\n const { options = [], pid: productID } = product;\n const optionsValue = useSelector(SELECTORS.getSelectedOptionsValue(formID, productID));\n\n const handleDelete = useCallback(() => dispatch(ACTION_CREATORS.addOrUpdateCartAction(formID, productID, { quantity: 0 })), [formID, productID]);\n\n const handleFavorite = useCallback((noNotification = false) => {\n dispatch(ACTION_CREATORS.favoriteProductAction(itemID, productID, noNotification));\n }, [itemID, productID]);\n\n const handleOpenProductDetail = useCallback(() => dispatch(ACTION_CREATORS.openProductDetailAction({ productID, itemID })), [productID, itemID]);\n\n const onChange = useCallback(prodID => value => dispatch(ACTION_CREATORS.addOrUpdateCartAction(formID, prodID, { quantity: value })), [formID]);\n\n const getOptionsLengthDifferFromQuantity = () => options.reduce((prev, option) => {\n const { type } = option;\n if (type === QUANTITY_PROP) {\n return prev;\n }\n\n return prev + 1;\n }, 0);\n\n const hasOption = getOptionsLengthDifferFromQuantity() > 0;\n const hasQuantity = !!options.find(({ type }) => type === QUANTITY_PROP);\n\n const handleAddToCart = useCallback(() => {\n // if any option open the detail modal\n if (hasOption) {\n handleOpenProductDetail();\n return;\n }\n\n dispatch(ACTION_CREATORS.onProductItemDetailsAction({ itemID, productProps: { productID, quantity: 1 } }));\n }, [handleOpenProductDetail, hasOption]);\n\n const ActionButton = useCallback(props => (\n \n ), [isFavorite, handleFavorite]);\n\n const Options = useCallback(props => (\n \n ), [isFavorite, handleAddToCart, productID, hasQuantity]);\n\n return (\n \n \n {!checkMobilePhone() && (\n
\n \n \n
\n )}\n
\n );\n};\n\nCartItem.propTypes = {\n product: shape({}),\n totalAmount: string,\n isFavorite: bool,\n itemID: string,\n formID: string\n};\n\nCartItem.defaultProps = {\n product: {},\n totalAmount: '',\n isFavorite: false,\n itemID: '',\n formID: ''\n};\n\nexport default CartItem;\n","import { multiplyMoney, formatPriceObj } from '@jotforminc/money-utils';\nimport { getQuantityOptionProps } from '../../../utils/paymentUtils';\n\nexport const calculateTotalAmount = (product, moneyDetails = {}) => {\n if (!product) return 0;\n\n const { currency, useDecimal, decimalMark } = moneyDetails;\n\n const { price, options } = product;\n if (!options) return price;\n\n const quantityOption = getQuantityOptionProps(options);\n\n const { selected } = quantityOption;\n const numericQuantity = parseInt(selected, 10);\n const result = multiplyMoney({\n price,\n currency,\n useDecimal,\n decimalMark\n }, numericQuantity);\n\n return formatPriceObj(result, moneyDetails);\n};\n","import React from 'react';\nimport {\n string, arrayOf, shape, bool\n} from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport CartItem from './CartItem';\nimport { calculateTotalAmount } from '../../../../components/Toaster/ShoppingNotification/utils';\nimport SELECTORS from '../../../../store/selectors';\nimport { useFormattedPrice } from '../../../../utils/hooks';\n\nconst CartItemList = ({\n itemID, formID, products, isFavorite\n}) => {\n const currencyInfo = useSelector(SELECTORS.getPortalPaymentCurrencyInfo);\n const getFormattedPrice = useFormattedPrice();\n\n return products.map(product => {\n const { pid: productID, price } = product;\n\n const totalAmount = calculateTotalAmount({ ...product, price }, currencyInfo);\n\n return (\n
\n \n
\n );\n });\n};\n\nCartItemList.propTypes = {\n itemID: string,\n formID: string,\n products: arrayOf(shape({})),\n isFavorite: bool\n};\n\nCartItemList.defaultProps = {\n itemID: '',\n formID: '',\n products: [],\n isFavorite: false\n};\n\nexport default CartItemList;\n","import React from 'react';\nimport CartItemList from './CartItemList';\n\nconst Carts = ({ productLists, isFavorite }) => {\n const isMultiProductList = !isFavorite && productLists.length > 1;\n\n return productLists.map(({\n id, formID, cartProducts, title\n }) => (\n
\n {isMultiProductList &&

{title}

}\n \n
\n ));\n};\n\nexport default Carts;\n","import Styled from 'styled-components';\n\nconst ScEmptyCart = Styled.div`\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: relative;\n top: 64px;\n\n .empty-favIcon-wrapper {\n width: 104px;\n height: 104px;\n\n span {\n &:after {\n content: '';\n position: absolute;\n z-index: -1;\n bottom: -6px;\n left: 50%;\n transform: translateX(-50%);\n width: 0;\n height: 0;\n border-top: 16px solid #0A1551;\n border-left: 16px solid transparent;\n border-right: 16px solid transparent;\n }\n }\n\n svg {\n width: 52px;\n }\n }\n\n .empty-cart-text {\n margin-top: 34px;\n max-width: 300px;\n text-align: center;\n line-height: 22px;\n\n span {\n display:inline;\n &:after {\n content: ' ';\n display: block;\n }\n }\n }\n`;\n\nexport default ScEmptyCart;\n","import Styled from 'styled-components';\n\nconst ScOrderNowButton = Styled.div`\n display: flex;\n align-items: center;\n width: 100%;\n border-top: 1px solid #DFDFFF;\n padding: 36px 24px;\n\n &.orderNowButton {\n padding: 26px 24px;\n }\n\n .productsInfo {\n font-size: 20px;\n color: #0A1551;\n font-weight: 700;\n line-height: 1;\n margin-right: auto;\n\n .formattedPrice {\n margin-left: 0.75em;\n }\n\n .itemCount {\n font-size: 14px;\n font-weight: 400;\n color: #6F76A7;\n text-align: left;\n margin-top: 8px;\n\n }\n }\n .orderBtn {\n font-size: 16px;\n width: 196px;\n height: 45px;\n background: #0A1551;\n border-radius: 4px;\n align-items: center;\n color: #FFFFFF;\n border: none;\n cursor: pointer;\n\n span {\n margin-left: 8px;\n color: #fff;\n }\n }\n`;\n\nexport default ScOrderNowButton;\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Button } from '@jotforminc/magnet';\nimport { t } from '@jotforminc/translation';\nimport SELECTORS from '../../../store/selectors';\nimport { navigateToAction } from '../../../store/actionCreators';\nimport { DESTINATION_TYPES } from '../../../constants/navigation';\nimport { useFormattedPrice } from '../../../utils/hooks';\nimport ScOrderNowForScreen from './ScOrderNowForScreen';\n\nconst OrderNowForScreen = () => {\n const dispatch = useDispatch();\n const cartTotal = useSelector(SELECTORS.getCartTotal);\n const cartProductItem = useSelector(SELECTORS.getCartProductItemCount);\n\n const getFormattedPrice = useFormattedPrice();\n\n const openCheckoutPage = () => dispatch(navigateToAction({ to: DESTINATION_TYPES.SPECIAL_PAGE, pageID: 'checkout' }));\n\n return (\n \n
\n
\n {t('Total')}\n {cartTotal ? getFormattedPrice(cartTotal) : t('Free')}\n
\n
\n {cartProductItem}\n {' '}\n {cartProductItem > 1 ? t('Items') : t('Item')}\n
\n
\n \n {t('Continue ')}\n {cartTotal ? getFormattedPrice(cartTotal) : t('Free')}\n \n
\n );\n};\n\nexport default OrderNowForScreen;\n","import React, { useEffect } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { t } from '@jotforminc/translation';\nimport { Button } from '@jotforminc/magnet';\nimport { capitalizeFirstLetter } from '@jotforminc/utils';\nimport { IconBasketShoppingFilled } from '@jotforminc/svg-icons';\nimport WarningBox from '@jotforminc/warning-box';\nimport Carts from './Carts';\nimport ScEmptyCart from './ScEmptyCart';\nimport { navigationItemClickAction, setIsChangedPriceInCartAction } from '../../../../store/actionCreators';\nimport OrderNowForScreen from '../../OrderNow/OrderNowForScreen';\nimport SELECTORS from '../../../../store/selectors';\n\nconst ProductCart = () => {\n const dispatch = useDispatch();\n const productListItemsWithCartProducts = useSelector(SELECTORS.getProductListItemsWithCartProducts);\n const isPriceChangedInCart = useSelector(SELECTORS.getIsChangedPriceInCart);\n const firstPageID = useSelector(SELECTORS.getFirstPageID);\n const hasAnyCartProduct = productListItemsWithCartProducts.length > 0;\n\n const handleBackHomage = () => dispatch(navigationItemClickAction(firstPageID));\n\n useEffect(() => {\n return () => dispatch(setIsChangedPriceInCartAction(false));\n });\n\n return (\n <>\n {isPriceChangedInCart && (\n
\n \n {t('Due to changes in products, some products have been removed from your cart.')}\n \n
\n )}\n {!hasAnyCartProduct ? (\n \n
\n 0\n \n
\n \n {capitalizeFirstLetter(t('your cart is empty'))}\n \n
\n \n {t('Start Shopping')}\n \n
\n
\n ) : (\n <>\n
\n \n
\n \n \n )}\n \n );\n};\n\nexport default ProductCart;\n","import React, { useCallback } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { Button } from '@jotforminc/magnet';\nimport { t } from '@jotforminc/translation';\nimport { capitalizeFirstLetter } from '@jotforminc/utils';\nimport { IconHeartFilled } from '@jotforminc/svg-icons';\nimport Carts from '../Cart/Carts';\nimport { navigationItemClickAction } from '../../../../store/actionCreators';\nimport ScEmptyCart from '../Cart/ScEmptyCart';\nimport SELECTORS from '../../../../store/selectors';\n\nconst Favorites = () => {\n const dispatch = useDispatch();\n const favoriteProducts = useSelector(SELECTORS.getFavoriteProductLists);\n const firstPageID = useSelector(SELECTORS.getFirstPageID);\n const hasAnyFavoriteProduct = favoriteProducts.length > 0;\n\n const handleBackHomage = useCallback(() => dispatch(navigationItemClickAction(firstPageID)), [firstPageID]);\n\n return !hasAnyFavoriteProduct ? (\n \n
\n 0\n \n
\n \n {capitalizeFirstLetter(t(\"you haven't favorited any product yet\"))}\n \n
\n \n {t('Start Shopping')}\n \n
\n
\n ) : (\n
\n \n
\n );\n};\n\nexport default Favorites;\n","import Styled, { css } from 'styled-components';\nimport { mainFontColor } from '../../../styles/colors';\n\nexport const ScProductCart = Styled.div`\n display: flex;\n justify-content: center;\n background-color: #f3f3fe;\n width: 100%;\n position: fixed;\n bottom: 0;\n top: 65px;\n\n .productCart-container {\n max-width: 674px;\n width: 100%;\n ${({\n hasBrandingFooter, isPaymentOverQuota\n }) => {\n switch (true) {\n case (isPaymentOverQuota):\n return css`\n height: 385px;\n `;\n case (hasBrandingFooter):\n return css`\n height: calc(100vh - 165px);\n `;\n case (!hasBrandingFooter):\n return css`\n height: calc(100vh - 115px);\n `;\n default:\n return css`\n height: calc(100vh - 115px);\n `;\n }\n }}\n box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.06);\n border-radius: 6px;\n background-color: #ffffff;\n z-index: 12;\n position: relative;\n margin-top: 50px;\n\n .productCart-title {\n text-align: left;\n margin: 24px 25px 0;\n\n h3 {\n font-size: 20px;\n }\n }\n .cart-tabButtonContainer {\n background-color: #E3E5F5;\n width: calc(100% - 48px);\n margin: 24px 24px 8px 24px;\n display: flex;\n align-items: center;\n border-radius: 4px;\n height: 44px;\n padding: 2px;\n }\n .cart-tabButton {\n height: calc(100% - 2px);\n width: calc(100% - 2px);\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n margin: 1px;\n padding: 2px;\n }\n [data-isactive=\"true\"] {\n background-color: #ffffff;\n border: 1px solid rgba(0, 0, 0, 0.04);\n border-radius: 4px;\n transition: background-color ease .3s;\n box-shadow: 0px 3px 1px 0px #0000000A;\n box-shadow: 0px 3px 8px 0px #0000001F;\n }\n .cartContainer {\n display: flex;\n width: 100%;\n height: ${({ hasBrandingFooter }) => (hasBrandingFooter ? 'calc(100vh - 378px);' : 'calc(100vh - 328px);')};\n flex-direction: column;\n background-color: #ffffff;\n overflow-y: scroll;\n padding-bottom: 24px;\n }\n [data-tabid=\"Fav\"] > .cartContainer {\n height: ${({ hasBrandingFooter }) => (hasBrandingFooter ? 'calc(100vh - 290px);' : 'calc(100vh - 240px);')};\n }\n [data-activetab=\"Cart\"] {\n position: relative;\n }\n .orderNowButton {\n position: sticky;\n bottom: 0;\n background-color: #ffffff;\n z-index: 1;\n }\n\n .productList-title {\n background-color: #E3E5F5;\n text-transform: capitalize;\n color: ${mainFontColor};\n margin: 30px 24px 30px 24px;\n border-radius: 4px;\n text-align: left;\n padding: 3px 14px;\n font-weight: 400;\n font-size: 14px;\n line-height: 18px;\n }\n }\n\n @media screen and (max-width: 480px) {\n .productCart {\n &-container {\n margin-top: 0;\n ${({\n hasBrandingFooter, isPaymentOverQuota\n }) => {\n switch (true) {\n case (isPaymentOverQuota):\n return css`\n height: 370px;\n `;\n case (hasBrandingFooter):\n return css`\n height: calc(100% - 50px);\n `;\n case (!hasBrandingFooter):\n return css`\n height: 100%;\n `;\n default:\n return css`\n height: 100%;\n `;\n }\n }}\n .cart {\n &-tabButtonContainer {\n height: 35px;\n border-radius: 9px;\n font-size: 14px;\n }\n\n &-tabButton {\n border-radius: 8px;\n }\n }\n\n .cartContainer {\n height: ${({ hasBrandingFooter }) => (hasBrandingFooter ? 'calc(100vh - 275px);' : 'calc(100vh - 225px)')};\n }\n }\n\n &-title {\n display: none;\n }\n }\n .productCart-container .orderNowButton {\n bottom: ${({ hasBrandingFooter }) => (hasBrandingFooter ? '50px;' : '0')};\n }\n .productCart-container [data-tabid=\"Fav\"] > .cartContainer {\n height: calc(100vh - 158px);\n }\n }\n`;\n","import Styled from 'styled-components';\nimport { mainFontColor } from '../../styles/colors';\n\nexport const ScStoreUnavailable = Styled.div`\n border: 1px solid #D3DCEF;\n color: ${mainFontColor};\n display: flex;\n flex-direction: column;\n align-items: center;\n margin: 24px 25px 0;\n border-radius: 4px;\n text-align: center;\n\n svg {\n width: 116px;\n height: 96px;\n margin-top: 51px;\n }\n\n .storeUnavailable-title {\n margin-top: 12px;\n font-size: 32px;\n font-weight: 700;\n }\n\n .storeUnavailable-desc {\n margin-top: 12px;\n line-height: 36px;\n font-size: 17px;\n margin-bottom: 32px;\n }\n `;\n","import React from 'react';\nimport { t } from '@jotforminc/translation';\nimport BackSoon from '../../assets/backsoon.svg';\nimport { ScStoreUnavailable } from './ScStoreUnavailable';\n\nconst StoreUnavailable = () => (\n \n \n

{t('This store is currently unavailable.')}

\n
{t('Please try again later.')}
\n
\n);\n\nexport default StoreUnavailable;\n","import { bool, func } from 'prop-types';\nimport React from 'react';\nimport { Utils } from '@jotforminc/uikit';\n\nconst TabButton = props => {\n const { onClick } = props;\n const handleKeyDown = e => Utils.isPressedKeyEnter(e) && onClick();\n\n return (\n \n );\n};\n\nTabButton.propTypes = {\n 'data-isactive': bool,\n onClick: func\n};\n\nTabButton.defaultProps = {\n 'data-isactive': false,\n onClick: f => f\n};\n\nexport default TabButton;\n","import { t } from '@jotforminc/translation';\nimport React, { useEffect } from 'react';\nimport { shape } from 'prop-types';\nimport { Tab, TabList } from '@jotforminc/tabs';\nimport { useDispatch, useSelector } from 'react-redux';\nimport ProductCart from './Cart';\nimport Favorites from './Favorites';\nimport { ScProductCart } from './ScProductCart';\nimport { checkMobilePhone } from '../../../utils';\nimport SELECTORS from '../../../store/selectors';\nimport { DESTINATION_TYPES } from '../../../constants/navigation';\nimport { navigateToAction } from '../../../store/actionCreators';\nimport { FEATURE_NAMES } from '../../../constants/features';\nimport { isFeatureEnabled } from '../../../utils/features/helper';\nimport StoreUnavailable from '../../../components/StoreUnavailable';\nimport TabButton from './TabButton';\n\nconst getTabListContants = () => ({\n Cart: {\n label: t('Order Summary')\n },\n Fav: {\n label: t('Favorites')\n }\n});\n\nconst ProductCartContainer = ({ location }) => {\n const isMobile = checkMobilePhone();\n const _isFastCheckout = useSelector(SELECTORS.getIsFastCheckoutActive);\n const hasBrandingFooter = useSelector(SELECTORS.getHasBrandingFooter);\n const _isPaymentOverQuota = useSelector(SELECTORS.getIsPaymentOverQuota);\n const dispatch = useDispatch();\n\n const isPaymentOverQuota = _isPaymentOverQuota && isFeatureEnabled(FEATURE_NAMES.OverQuota);\n const isFastCheckout = _isFastCheckout && !isPaymentOverQuota;\n\n useEffect(() => {\n if (isFastCheckout) {\n dispatch(navigateToAction({ to: DESTINATION_TYPES.BACK }));\n }\n }, [isFastCheckout]);\n\n if (isFastCheckout) return null;\n return (\n \n
\n
\n

{t('Your Cart')}

\n
\n {isPaymentOverQuota ? (\n \n ) : (\n
}\n TabButtonContainer={props =>
}\n TabButton={TabButton}\n TabContainer={props =>
}\n list={getTabListContants()}\n TabListContainer={props =>
}\n >\n \n \n \n \n \n \n \n )}\n
\n \n );\n};\n\nProductCartContainer.propTypes = {\n location: shape({})\n};\n\nProductCartContainer.defaultProps = {\n location: {}\n};\n\nexport default ProductCartContainer;\n","import Styled from 'styled-components';\nimport ScDetailsModal from '../ProductDetailContentRenderer/ScDetailsModal';\n\nconst ScDetailsPage = Styled(ScDetailsModal)`\n height: 100%;\n margin-top: 65px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n`;\n\nexport default ScDetailsPage;\n","import React, { useState } from 'react';\nimport { useDebounce } from '@jotforminc/hooks';\nimport { useDispatch } from 'react-redux';\nimport { func } from 'prop-types';\nimport Styled from 'styled-components';\nimport ProductDetailActionButtons from '../ProductDetailContentRenderer/ProductDetailActionButtons';\nimport { navigateToAction, setCheckoutFormStatus } from '../../../store/actionCreators';\nimport { CHECKOUT_FORM_STATUSES } from '../../../constants';\nimport { useTouch } from '../../../utils/hooks';\nimport { DESTINATION_TYPES } from '../../../constants/navigation';\n\nconst ScActionButtons = Styled.div`\n position: sticky;\n top: calc(100% - 132px);\n z-index: 6;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: #fff;\n bottom: ${({ direction }) => (direction === 'bottom' ? '0' : '-132px')};\n transition: .3s all ease;\n`;\n\nconst ActionButtons = ({\n onProductItemChange, onFastCheckout, onNavigateOrderNow, ...rest\n}) => {\n const dispatch = useDispatch();\n\n const redirectToApp = () => {\n dispatch(navigateToAction({ to: DESTINATION_TYPES.BACK }));\n };\n\n const handleOpenCheckoutForm = () => {\n dispatch(setCheckoutFormStatus(CHECKOUT_FORM_STATUSES.OPENED));\n };\n\n const handleProductChange = onDetailsChange => {\n onDetailsChange();\n redirectToApp();\n };\n\n const handleOrder = orderFunc => {\n orderFunc();\n handleOpenCheckoutForm();\n };\n\n const [direction, setDirection] = useState('bottom');\n useTouch(document.querySelector('.appRoot'), useDebounce(setDirection));\n\n return (\n \n handleProductChange(onProductItemChange)}\n onNavigateOrderNow={() => handleOrder(onNavigateOrderNow)}\n onFastCheckout={() => handleOrder(onFastCheckout)}\n {...rest}\n />\n \n );\n};\n\nActionButtons.propTypes = {\n onProductItemChange: func,\n onFastCheckout: func,\n onNavigateOrderNow: func\n};\n\nActionButtons.defaultProps = {\n onProductItemChange: f => f,\n onFastCheckout: f => f,\n onNavigateOrderNow: f => f\n};\n\nexport default ActionButtons;\n","import React, { useCallback, useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport ProductItemDetails from '../ProductItemDetails';\nimport SELECTORS from '../../../store/selectors';\nimport * as ACTION_CREATORS from '../../../store/actionCreators';\nimport { ErrorScreen } from '../ErrorScreen';\nimport ScDetailsPage from './ScDetailsPage';\nimport ActionButtons from './ActionButtons';\nimport { FEATURE_NAMES } from '../../../constants/features';\nimport { isFeatureEnabled } from '../../../utils/features/helper';\nimport { DESTINATION_TYPES } from '../../../constants/navigation';\n\nconst ProductItemDetailsPage = () => {\n const dispatch = useDispatch();\n\n const activeProduct = useSelector(SELECTORS.getActiveProductDetails);\n const {\n itemID,\n productID\n } = activeProduct;\n\n const _isPaymentOverQuota = useSelector(SELECTORS.getIsPaymentOverQuota);\n const pageID = useSelector(SELECTORS.getPageIDByItemID(itemID));\n\n const isPaymentOverQuota = _isPaymentOverQuota && isFeatureEnabled(FEATURE_NAMES.OverQuota);\n useEffect(() => {\n if (isPaymentOverQuota) {\n dispatch(ACTION_CREATORS.navigateToAction({ to: DESTINATION_TYPES.PAGE, pageID }));\n }\n }, [isPaymentOverQuota]);\n\n const CloseButton = useCallback(() => null, []);\n\n if (!itemID || !productID) {\n return ;\n }\n\n if (isPaymentOverQuota) return null;\n\n return (\n <>\n \n \n );\n};\n\nexport default ProductItemDetailsPage;\n","import React from 'react';\nimport { t } from '@jotforminc/translation';\nimport { Button, Flex } from '@jotforminc/magnet';\nimport { useDispatch, useSelector } from 'react-redux';\nimport WarningBox from '@jotforminc/warning-box';\nimport { PUSH_NOTIFICATION_ALLOW, PUSH_NOTIFICATION_DISMISS } from '../../../store/actionTypes';\nimport SELECTORS from '../../../store/selectors';\nimport { getUIProp } from '../../../store/selectors/uiSelectors';\nimport { NOTIFICATION_PERMISSION_STATES, UI_PROPS } from '../../../constants';\nimport { getDefaultPermissionRequestTexts } from '../../Builder/components/Settings/constants';\n\nconst PushNotificationPermission = () => {\n const dispatch = useDispatch();\n const { subscriptionPromptTitle, subscriptionPromptContent } = useSelector(SELECTORS.getAppInfoWithDefaults);\n const { title: fallbackTitle, content: fallbackContent } = getDefaultPermissionRequestTexts();\n const permissionState = useSelector(getUIProp(UI_PROPS.notificationPermissionState));\n\n if (permissionState === NOTIFICATION_PERMISSION_STATES.HIDDEN) return null;\n\n return (\n \n {\n permissionState === NOTIFICATION_PERMISSION_STATES.DENIED && (\n \n {t('Notification permission has been denied by your browser. Please check your browser notification settings.')}\n \n )\n }\n {\n permissionState === NOTIFICATION_PERMISSION_STATES.ERROR && (\n \n {t('Something went wrong.')}\n \n )\n }\n \n \n

{subscriptionPromptTitle || fallbackTitle}

\n

{subscriptionPromptContent || fallbackContent}

\n \n \n dispatch({ type: PUSH_NOTIFICATION_DISMISS })}\n >\n {t('Dismiss')}\n \n dispatch({ type: PUSH_NOTIFICATION_ALLOW })}\n loader={permissionState === NOTIFICATION_PERMISSION_STATES.LOADING}\n >\n {t('Allow')}\n \n \n \n \n );\n};\n\nexport default PushNotificationPermission;\n","import React, { useEffect, useMemo } from 'react';\nimport {\n bool, func, oneOfType, shape, string\n} from 'prop-types';\nimport Helmet from 'react-helmet';\nimport { useSelector } from 'react-redux';\nimport { t } from '@jotforminc/translation';\nimport { ErrorScreen } from './ErrorScreen';\nimport { ScFormRendererFrameContainer, ScPublicAppRoot } from './scPublicApp';\nimport A2HSModal from './Modals/A2HSModal';\n\nimport { FORM_PRODUCTS, PORTAL_ERROR_MAP, UI_PROPS } from '../../constants';\nimport { isPWA, registerServiceWorker } from './utils';\nimport AppPreview from './AppPreview';\nimport FadeTransitionRouter from './AppRouter';\nimport { checkMobileOrTablet, checkMobilePhone, isYes } from '../../utils';\nimport PortalBrandingFooter from '../../components/PortalBrandingFooter';\nimport PublicAppLoading from '../../components/PublicAppLoading';\nimport ProductRenderer from './ProductRenderer';\nimport { FEATURE_NAMES } from '../../constants/features';\nimport { isFeatureEnabled } from '../../utils/features/helper';\nimport OrderNow from './OrderNow';\nimport ScreenRenderer from './ScreenRenderer';\nimport SentboxRenderer from './ProductRenderer/Renderers/SentboxRenderer';\nimport PageRenderer from './PageRenderer';\nimport CheckoutScreen from './CheckoutScreen';\nimport ProductCartContainer from './ProductCart';\nimport SELECTORS from '../../store/selectors';\nimport ProductItemDetailsPage from './ProductItemDetailsPage';\nimport PushNotificationPermission from './PushNotificationPermission';\nimport appConfig from '../../constants/appConfig';\n\nconst isCheckoutCompletePage = new URLSearchParams(window.location.search).get('complete') === '1';\nconst isAppPreview = window.location.hash === '#preview';\nconst isEmbeddedApp = window.location.href.includes(appConfig.embeddedAppQS);\n\nconst PublicApp = ({\n id,\n appProperties,\n isAppDisabledNow,\n isAppTrashedNow,\n appJustDisabled,\n activeModal,\n onPrompt\n}) => {\n const {\n id: storeAppID, disabledAppText, showA2HS, checkoutFormID, status\n } = appProperties;\n const routerAnimationType = useSelector(SELECTORS.getRouterAnimationType);\n const isOnline = useSelector(SELECTORS.isOnlineSelector);\n const isAppFailed = useSelector(SELECTORS.isAppFailedSelector);\n const isAppReady = useSelector(SELECTORS.isAppReadySelector);\n const customErrorText = useSelector(SELECTORS.customErrorTextSelector);\n const isShoppingApp = useSelector(SELECTORS.getIsShoppingApp);\n const scope = useSelector(SELECTORS.getScope);\n const cartProductsCount = useSelector(SELECTORS.getCartProductItemCount);\n const isMobile = checkMobilePhone();\n const isAppArchived = status === 'ARCHIVED';\n const isA2HSModalClosed = useSelector(SELECTORS.getUIProp(UI_PROPS.isA2HSModalClosed));\n\n useEffect(() => {\n if (scope && !window.isTemplateMode) {\n registerServiceWorker(scope);\n }\n }, [scope]);\n\n const body = useMemo(() => {\n switch (true) { // the order is important\n case !isOnline && !isFeatureEnabled(FEATURE_NAMES.PWAEnabled):\n return ;\n case isAppTrashedNow:\n return ;\n case (isAppDisabledNow || appJustDisabled || isAppArchived): // TODO handle this kind of things on the router level somehow..\n return ;\n case !!isAppFailed:\n return ();\n case isAppReady:\n const CartScreenRenderer = isMobile ? ScreenRenderer : PageRenderer;\n return (\n <>\n \n \n \n \n
{`${t('Cart')} (${cartProductsCount})`}
}\n >\n \n \n \n \n \n \n\n \n \n \n\n \n {['/previousOrders', '/previousDonations'].map(path => (\n \n \n \n \n \n ))}\n \n
\n \n {isShoppingApp && }\n \n );\n default:\n return ;\n }\n }, [\n isAppFailed, isOnline,\n isAppReady,\n id, isAppDisabledNow, appJustDisabled, storeAppID, disabledAppText,\n routerAnimationType,\n cartProductsCount\n ]);\n\n const modal = useMemo(() => {\n const showA2HSModal = !isAppFailed && activeModal && isYes(showA2HS) && !window.isTemplateMode && !isAppTrashedNow && !isAppDisabledNow && !isCheckoutCompletePage && !isAppArchived;\n\n return showA2HSModal && (\n \n );\n }, [isAppFailed, activeModal, appProperties, showA2HS, isAppTrashedNow, isAppDisabledNow]);\n\n const permissionNotificationPopup = useMemo(() => {\n const isAppActive = !isAppPreview && !isAppFailed && !isAppTrashedNow && !isAppDisabledNow && !isAppArchived;\n const isA2HSModalShown = !isPWA() && isYes(showA2HS) && !isA2HSModalClosed;\n const showPermissionPopup = !isA2HSModalShown && isAppActive && !isCheckoutCompletePage && !isEmbeddedApp;\n return showPermissionPopup && ;\n }, [isAppFailed, isA2HSModalClosed]);\n\n const mobilePreviewClass = isAppPreview && checkMobileOrTablet() ? 'isMobilePreview' : '';\n\n return (\n \n \n \n \n \n \n <>\n {body}\n {modal}\n {permissionNotificationPopup}\n \n \n );\n};\n\nPublicApp.propTypes = {\n id: string,\n appProperties: shape({}),\n isAppDisabledNow: bool,\n appJustDisabled: bool,\n isAppTrashedNow: bool,\n activeModal: oneOfType([string, bool]),\n onPrompt: func\n};\n\nPublicApp.defaultProps = {\n id: '',\n appProperties: {},\n isAppDisabledNow: false,\n appJustDisabled: false,\n isAppTrashedNow: false,\n activeModal: '',\n onPrompt: f => f\n};\n\nexport default PublicApp;\n"],"names":["deferredPrompt","_path","_circle","_rect","_path2","_path3","_path4","_path5","_path6","_path7","_circle2","_circle3","_g","_circle4","_circle5","_circle6","_circle7","_defs","ScPublicApp","Styled","isFeatureEnabled","FEATURE_NAMES","css","isOrderNowButtonVisible","ScPublicAppRoot","ScFormRendererRoot","hasBrandingFooter","mainFontColor","appFontFamily","ScFormRendererFrameContainer","ScA2HSModal","appIconBox","_extends","Object","n","e","arguments","t","r","props","A2HSModal","forwardRef","modalType","onPrompt","appProperties","ref","title","appIconURL","defaultLogoURL","useAppDefaults","dispatch","useDispatch","appWording","isShoppingApp","useSelector","SELECTORS","useEffect","trackEventAction","tapFooter","translationRenderer","IconIOS","IconEllipsisVertical","buttonFooter","Button","finalFooter","innerRef","useRef","rootRef","Hooks","DialogRenderer","useCallback","children","ScIMOverlay","ContentRenderer","ScIMContent","HeaderRenderer","ScIMHeader","IconXmark","Modal","ScIMFooter","setUIProp","UI_PROPS","AppIcon","description","type","str","PropTypes","ScMobileCtxMenu","MobileCtxMenu","items","formID","formTitle","onModalClose","isOpen","handleModalClose","CSSTransition","IconAngleDown","CtxMenuItems","oneOfType","string","number","arrayOf","shape","func","bool","f","ScAppProgressBar","progressBarProperties","ScProgressBar","styled","progress","primaryAccentDefault","applyAlpha","ScIndicator","leftMargin","isCompleted","ProgressBar","rawProgress","prevProgress","_doneCount","todoCount","doneItemCount","setDoneCount","useState","Indicator","indicatorArray","useMemo","Array","_doneItemCount","steerage","percentage","progressBar","ItemIndicator","index","currentProgress","setProgress","Math","withAnimation","setWithAnimation","timer","setTimeout","setLastAnimatedDoneCountAction","clearTimeout","AppProgressBar","handleProductClick","productID","progressRestartable","activePageID","timeZone","todoItemsProgress","isRestartInfoVisible","setRestartInfoVisible","doneCount","isAppDone","lastAnimatedDoneCount","previouseDoneCount","usePrevious","allItems","progressManualRestartDate","requiredItems","item","isYes","orderedRequiredItems","sortBy","portalOrder","parseInt","notCompletedItems","reqItem","lastSubmitted","completed_showBadge","completed_clearBadgeOn","completed_clearBadgePeriod","required_showBadge","getFormCompletion","handleGoToForm","embeddedForm","itemID","page","resourceID","nextFormID","ITEM_TYPES","onFilterProductsAction","navigateToAction","DESTINATION_TYPES","isRestartActive","timeout","restartProgressDisabled","appHeaderBgColor","appFontColor","appIconColor","appIconBackground","showRestartAppModal","showGenericModalAction","MODALS","progressText","mobileProgressText","isMobile","checkMobilePhone","isTablet","checkTablet","nextButtonText","shouldDisableNextButton","obj","IconArrowRotateRight","IconChevronRight","ScTopBar","topBarProperties","OverflowableList","itemClassName","moreItemComponent","wrapperClassName","popoverClassName","moreItemClassName","onHiddenItemIDListChange","containerRef","moreContainerRef","moreItems","setMoreItems","maxItemHeight","setMaxItemHeight","isMoreMenuVisible","setMoreMenuVisibility","firstHiddenItemIndex","setFirstHiddenItemIndex","renderOverflowItems","isMoreItem","toggleMoreMenuVisibility","handleMoreMenuKeyPress","Utils","renderItems","isHidden","isHiddenAfter","Fragment","classNames","renewStates","debounce","childList","maxHeight","max","currentNode","containerBottom","containerDimensions","hiddenItemIDList","childNode","window","Popover","PageLink","isActive","name","id","pageOrder","showPageIcon","pageIcon","pageName","handleClick","navigationItemClickAction","handleEnterPressed","PageIcon","memo","navigationHeight","ScNavigationBar","ScCart","isCartActive","ProductCartBadge","itemFontColor","onCartClick","cartProductsCount","badgeAnimation","setBadgeAnimation","IconCartShoppingFilled","cn","ScDonateNowBadge","isMultiPage","itemButtonBgColor","itemButtonFontColor","darken","DonateNowBadge","wrapperClass","donationItemID","ACTION_CREATORS","ScNavigationPanel","branding21MainBlue","themeProperties","NavigationPanelItem","closeNavigationPanel","isNavigationPanelOpen","routerParams","useParams","isMobilePhone","firstPageID","isHomepageActive","NavigationPanel","disableButton","pages","scrollDownValue","mobileMenuTitle","navigationStack","showMobileMenuIcon","mobileMenuIcon","appName","logoURL","allPages","isHomepage","isScrolledDown","setNavigationPanelOpen","openNavigationPanel","Feature","Flex","IconChevronLeft","NavigationPanelButton","ScPortalLoginFlow","ScAccountBoxLinkRenderer","AccountBoxLinkRenderer","text","url","handleOnClick","navigate","GuestShoppingAccountBox","onAccountBoxScreen","isDonationApp","ContinueAsFlow","onContinueAs","onUseDifferentAccount","username","email","avatarUrl","userName","PortalAccountBox","isPreview","loginable","onAccountBoxToggle","isPaymentApp","isAccountBoxOpen","setAccountBoxOpen","val","user","showContinueAs","handleToolTipToggle","isTooltipOpen","initialScreen","handleAccountBoxScreen","screen","continueAsDismissed","setContinueAsDismissed","isUserLoggedIn","handleLogout","backTo","generateAppURL","origin","isEnterprise","handleCustomNavigation","handleLogAction","actionName","additionalPropsForShopping","LoggedInUserAccountBox","userType","FormUserAccountBox","AccountBoxWrapper","isInJotformKiosk","toggleAccountBox","apiURL","getAPIURL","greetingMessage","CommonAccountBoxWrapper","undefined","LoginFlow","changedUser","INITIATOR_TYPES","NavigationBar","_pages","isGatewayConnected","isFastCheckout","isAppLoginable","homepageName","setHiddenItemIDList","React","isAppHeaderActive","setScrollDownValue","p","isMultiplePages","allPagesWithRenderContent","shouldShowNavigationPart","handleBackHomage","handleOnScroll","useDebounce","scrollableEl","document","ProductCartContainer","TopBar","shouldShowProgressBar","showNavigationBar","classnames","ScPageContentWrapper","isListDetailPage","InAppDividerItem","DividerItem","ProductListField","itemProps","ownerProductListLayout","showSearch","currencyInfo","overridingItemProps","productListFavoriteProducts","productListLayout","areThereMultipleProductLists","cartProducts","allCartProducts","searchQuery","productsToRender","useProductsToRender","ProductContainer","DefaultDivRenderer","payload","layout","_searchQuery","ProductListItem","ItemOverQuotaWrapper","ScCardContainer","buttonRole","CARD_ACTION_VALUES","AppCardItem","onFormViewClick","buttonValue","CardActionHelper","ActionHelper","CardItem","propTypes","getPublicPresentationItem","comp","PublicList","presentationItemID","data","isLoading","hasMore","presentationItemProps","detailsPage","offset","setOffset","listLastElementRef","useInfiniteLoad","prevOffset","newOffset","DS_ITEM_OFFSET","isEmpty","List","rowID","ListWrapper","CardItemPlaceholder","ScImageField","width","height","ImageField","imageURL","altText","shrink","ImageActionHelper","Image","IconImageFilled","getItemComponentByTypeForApp","InAppFormItem","HeadingItem","DonationItem","ParagraphItem","LinkFieldItem","DataElement","SignItem","DocumentItem","InAppButtonItem","WidgetItem","AiAgent","FormItem","AppItem","fileURL","rest","appItemWrapperRef","titleFilteredRest","prev","key","value","ScAppItemWrapper","oneOf","ItemVisualPropTypes","renderable","ItemVisualDefaultProps","DocumentPreview","safeLazy","WrappedComponent","resourceURL","behaveAsLink","imageLink","linkableElements","isLinkValueAssigned","checkLinkValueAssigned","checkAndAddProtocolToTargetLink","isValidLinkTarget","isItemTypeLinkable","handleTrackEvent","action","ActionNames","Hrefs","basePath","getBaseAppPath","openInSameTab","isPWA","linkElement","isLinkItem","isPreviewOpened","setPreviewOpened","handlePreviewOpen","handlePreviewClose","onDownload","handleKeyPress","getAriaLabel","Suspense","PublicAppItem","clientID","decorationProps","componentProps","appID","filteredItemID","WithLinkAppItem","withLinkElement","resourceSubType","checkItemBehavesAsLink","nonePagedReportTypes","LINK_BEHAVIOR_ITEMS","isNonPagedReport","pathname","URL","_resourceSubType","ItemComponent","itemRef","isShrinkEnabled","PublicAppItemContainer","MemoIconRenderer","getDraft","onPrepareCtxMenuItems","onItemClick","listBgColor","showAppHeader","appVersion","onViewForm","onShareApp","pageID","linkedItemID","dsDetailPageData","isDsPageLoading","overrideTextAlignmentIfNecessary","elementProps","isMobileOrTablet","checkMobileOrTablet","getItemProps","emptyItem","appLoginable","userLoggedIn","showLinkPreview","previewImageURL","itemTextAlignment","fileType","showURL","showItemIcon","itemIcon","itemIconColor","itemIconBgColor","elementSize","overridedTextAlignment","isIconVisible","typeHasItem","generalProps","hasThreeDots","ctxMenuItems","isEmbeddedForm","origTitle","origDescription","previewTitle","designatedItemProps","useDesignatedItemProps","ScItemListWrapper","ScItemContainer","_dsDetailPageData_itemID","useItemDefaults","itemPropsWithDefaults","dsItemProps","clippedItemProps","clipPropsWrtCharLimits","elementType","object","ScAppFooter","appFooterBgColor","appFooterTextAlignment","responsivenessRules","AppFooter","Styles","createGlobalStyle","appBgColor","appBgColorEnd","appBgURL","AppPreview","showTopBar","_useSelector_","_useSelector","isDonationGoalActive","donationItems","targetDonationGoal","publicLink","pageScroll","pageProps","pg","getFormattedPrice","useFormattedPrice","showListBg","openAppHeader","appTitle","currentDonationAmount","isSortPagesEnabled","pageIDs","isValidNumber","isOldHomepage","isPageHomepage","otherPageItems","homePageItems","pageItems","availablePageItems","i","itemAvailable","checkItemAvailable","mutateItems","mobileCtxMenuRef","mobileCtxMenuFormID","setMobileCtxMenuFormID","mobileCtxMenuFormIsEmbedded","setMobileCtxMenuFormIsEmbedded","mobileCtxMenuFormTitle","setMobileCtxMenuFormTitle","mobileContextMenuOpened","setMobileCtxMenuOpened","draftInfo","setDraftInfo","getDrafts","resp","handleShareApp","parsedButtonValue","getDefaultButtonShareObj","safeJSONParse","donationVarMappings","variableMappings","updatedShareMessageObj","getUpdatedShareMessage","shareMessage","replaceTextWithVariables","handleViewForm","FORM_PRODUCTS","handleViewSubmissions","isCtxMenuItem","handleContinueWithDraft","draft","sessionID","token","saclID","handleViewTable","handleViewReport","handleViewSign","handleItemClick","productType","productTitle","handleViewProduct","handlerMap","handleCartClick","prepareCtxMenuItems","showForm","hasDraft","isFormEmbedded","status","submissionCount","isFillAvailable","submissionText","inboxText","list","IconFormFilled","IconProductInboxMono","IconFormPencilFilled","mobileCtxMenuItems","iconURL","iconClassName","LinkThumbnail","SimpleIcon","itemListWrapperRef","itemGroup","appStageBody","ScAppHeaderWrapper","AppHeader","ScAppContentWrapper","itemType","PRODUCT_HANDLERS","AppStyle","Comp","AppRouter","onLocationChange","Location","location","Router","FormRenderer","onBackButtonClick","showCompletedBadge","_pageURL","generateIframeURL","pageURL","setPageURL","NAVIGATION","APP_PREVIEW_URL_HASH","handleFormCompleted","onTodoCompleteAction","formMessageSender","useFormMessageSender","useFormSubmissionCompleteHandler","useFormMessageHandler","console","formIsCompletable","_window","continueKey","continuePath","generateContinueWithDraftPath","getBasePath","isAppSubdomain","getAppPath","prefillURL","useEventListener","event","IframeRenderer","ReportRenderer","iframeRef","createRef","originalResourceURL","getDomainURL","ScWrapper","ScCard","ScTitle","ScDescription","UnreachableSentbox","IconRenderer","CommonErrorScreen","IconUnreachableSentbox","SentboxRenderer","pageType","sentboxKeyword","checkoutFormID","hasSentboxAccess","isCheckoutForm","EmptyCartIcon","translatedTitle","SignRenderer","embedDocumentKey","RENDERER_COMPONENT_MAP","TablesRenderer","getRendererComponent","RendererComponent","Renderer","ITEM_TYPE_MAP","getItemType","ScStepsCont","ScreenTopBar","TitleRenderer","topBarClasses","isCheckoutFormCompleted","isFastCheckoutActive","activeProduct","activeScreen","activeItemID","activeProductID","isFavorite","isCheckoutPage","SPECIAL_PAGES","handleContinueShopping","ContinueShoppingButton","accountBox","shouldFavoriteVisible","itemDetailsActions","ProductFavorite","topBarButtons","ProductRenderer","pageRef","isIframeBackdropEnabled","setIframeBackdropEnabled","isCtxMenuItemClicked","useFormProductByPath","actualProductType","actualItem","getProductItemProps","isCheckoutFormSentbox","handleAccountBoxToggle","handleBackButtonClick","isApple","isAvailable","currentProductID","ScOrderNowButton","cartTotal","ACTIONS","ScreenRenderer","activeProductItemID","childrenWithProps","child","node","PageRenderer","setRouterAnimationTypeAction","ANIMATION_TYPES","ScCompleteScreen","IconCheckCircleFilled","isCopied","setCopied","copyButtonText","copyTimer","handleCopyLink","lastOrderAmount","updatedAt","getButtonShareDefMessages","icons","IconFacebookFilled","IconTwitter","IconLinkedinSquareFilled","IconWhatsapp","socialMediaOptions","getSocialMediaOptions","momentToMilliSeconds","handleContinueToHomepage","handleShareButtonClick","option","shareUsingNavigator","getAppLinkWithUTM","getSocialSharingUtmSources","CopyButton","IconLinkDiagonal","isFeatEnabled","ScCheckoutScreen","isGatewayRedirectInfoScreen","isPaymentOverQuota","checkoutFormStatus","isLivePreviewOn","currentUrl","isCompleteUrl","isComplete","isCheckoutScreenAvailable","CHECKOUT_FORM_STATUSES","NAVIGATION_CONSTANTS","DonationCompleteScreen","StoreCompleteScreen","CompleteScreen","CheckoutFormRenderer","AddToCart","onClick","CartOption","options","onChange","quantityOptionProps","getQuantityOptionProps","selected","spinnerProps","getOptionProps","Spinner","newValue","QUANTITY_PROP","array","CartItemOptionsRenderer","onAddToCart","hasQuantity","cart","isItemSelected","productListCart","product","CartItemActionButton","onDelete","onFavoriteChange","deleteButtonRef","areYouSure","setAreYouSure","IconTrashFilled","IconHeartFilled","ScProductCartItem","CartItem","totalAmount","optionsValue","handleDelete","handleFavorite","noNotification","handleOpenProductDetail","prodID","hasOption","getOptionsLengthDifferFromQuantity","handleAddToCart","ActionButton","Options","SimpleProductItem","CartItemContentRenderer","calculateTotalAmount","moneyDetails","currency","useDecimal","decimalMark","price","numericQuantity","result","multiplyMoney","formatPriceObj","CartItemList","products","productLists","isMultiProductList","ScEmptyCart","cartProductItem","ScOrderNowForScreen","productListItemsWithCartProducts","isPriceChangedInCart","hasAnyCartProduct","setIsChangedPriceInCartAction","WarningBox","Carts","OrderNowForScreen","IconBasketShoppingFilled","capitalizeFirstLetter","favoriteProducts","hasAnyFavoriteProduct","ScProductCart","ScStoreUnavailable","BackSoon","TabButton","getTabListContants","_location_state","_isFastCheckout","_isPaymentOverQuota","StoreUnavailable","TabList","Tab","ProductCart","Favorites","ScDetailsPage","ScDetailsModal","ScActionButtons","direction","ActionButtons","onProductItemChange","onFastCheckout","onNavigateOrderNow","redirectToApp","handleOpenCheckoutForm","setCheckoutFormStatus","handleProductChange","onDetailsChange","handleOrder","orderFunc","setDirection","useTouch","ProductDetailActionButtons","CloseButton","ProductItemDetails","ErrorScreen","subscriptionPromptTitle","subscriptionPromptContent","fallbackTitle","fallbackContent","getDefaultPermissionRequestTexts","permissionState","getUIProp","NOTIFICATION_PERMISSION_STATES","PUSH_NOTIFICATION_DISMISS","PUSH_NOTIFICATION_ALLOW","isCheckoutCompletePage","URLSearchParams","isAppPreview","isEmbeddedApp","appConfig","PublicApp","isAppDisabledNow","isAppTrashedNow","appJustDisabled","activeModal","storeAppID","disabledAppText","showA2HS","routerAnimationType","isOnline","isAppFailed","isAppReady","customErrorText","scope","isAppArchived","isA2HSModalClosed","registerServiceWorker","body","PORTAL_ERROR_MAP","CartScreenRenderer","FadeTransitionRouter","ProductItemDetailsPage","CheckoutScreen","path","PortalBrandingFooter","OrderNow","PublicAppLoading","modal","showA2HSModal","permissionNotificationPopup","isAppActive","isA2HSModalShown","showPermissionPopup","PushNotificationPermission","mobilePreviewClass","Helmet","PublicAppContainer","isInApp","isInstalled","redirectedApp","isRedirectedAppDisabledNow","redirectedAppWillDisableSoon","calculateDisabled","isRedirectedAppSafe","setAppJustDisabled","handleAppRedirection","searchParams","getQueryString","qs","handleSocialSharingRedirect","allSocialSharingUtmSources","handleAppDisable","isInBuilderPreview","isInstalledRef","setActiveModal","setPublicApp","isBuilder","setModeAction","APP_MODES","fetchPortalAction","setPWAStatusAction","checkPWAInstallation","isEmbedded","handleAppInstalled","persistPWAInstallation","isUnRecognizedIpad","BrowserParser","isIOS","makeModalChecks","modalName","currentlyInstalled","handleBeforeInstallPrompt","lastInstallationDate","getLastInstallationDate","now","Date","diff","useTimeout","handleOnPrompt","choiceResult","handleUserChanged","userChangeAction","handleNavigateToPage","_action_payload","_action_payload1","handleScrollSelectedItem","selectedItem","scrollToCenter","element","top","scrollTop","windowHeight","message","forJFApps"],"mappings":";;wHA+BIA,E,kDC/BAC,ECAA,ECAAC,EAASC,EAAO,EAAOC,EAAQC,EAAQC,EAAQC,EAAQC,EAAQC,ECA/D,EAAS,EAAO,EAAO,EAAQ,ECA/B,ECAA,ECAA,EAAO,ECAP,ECAA,EAASC,EAAUC,EAAUC,EAAI,EAAO,EAAQC,EAAUC,EAAUC,EAAUC,EAAU,EAAQC,E,6RCK7F,IAAMC,GAAcC,GAAAA,EAAAA,CAAAA,GAAU,CAAC;;;;;;EAMpC,EAAEC,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,SAAuB,EAAIC,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;;EAGlD,CAAC,CAAGA,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;;sBAGY,EAAE,CAAC,CAAEC,wBAAAA,CAAuB,CAAE,GAAMA,EAA0B,OAAS,MAAO;EAClG,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCJ,CAAC,CAEYC,GAAkBL,GAAAA,EAAAA,CAAAA,GAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuE1C,CAAC,CAEYM,GAAqBN,GAAAA,EAAAA,CAAAA,GAAU,CAAC;EAC3C,EAAE,CAAC,CAAEO,kBAAAA,CAAiB,CAAE,GAAMA,EAAoB,6BAA+B,gBAAiB;;;;;;;;;;;;WAYzF,EAAEC,GAAAA,EAAaA,CAAC;UACjB,EAAEA,GAAAA,EAAaA,CAAC;;;;;;;;;;;IAWtB,EAAE,CAAC,CAAEC,cAAAA,CAAa,CAAE,GAAMA,EAAgB;iBAC7B,EAAEA,EAAc;EAC/B,CAAC,CAAG,GAAI;;;;WAIC,EAAED,GAAAA,EAAaA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiC3B,CAAC,CAEYE,GAA+BV,GAAAA,EAAAA,CAAAA,GAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AAwBvD,CAAC,C,wFCzND,IAAMW,GAAcX,GAAAA,EAAAA,CAAAA,GAAU,CAAC;;;;;;;;;;;;;EAa7B,EAAEY,GAAAA,EAAUA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCf,CAAC,CVlDD,SAASC,KAAa,MAAOA,CAAAA,GAAWC,OAAO,MAAM,CAAGA,OAAO,MAAM,CAAC,IAAI,GAAK,SAAUC,CAAC,EAAI,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAU,MAAM,CAAED,IAAK,CAAE,IAAIE,EAAID,SAAS,CAACD,EAAE,CAAE,IAAK,IAAIG,KAAKD,EAAG,AAAC,EAAC,GAAG,cAAc,CAAC,IAAI,CAACA,EAAGC,IAAOJ,CAAAA,CAAC,CAACI,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CAAI,CAAE,OAAOJ,CAAG,GAAY,MAAM,KAAME,UAAY,CAWnR,OATwBG,GAAsB,eAAmB,CAAC,MAAOP,GAAS,CAChF,MAAO,6BACP,MAAO,GACP,OAAQ,GACR,KAAM,MACR,EAAGO,GAAQtC,GAAUA,CAAAA,EAAqB,eAAmB,CAAC,OAAQ,CACpE,KAAM,UACN,EAAG,orBACL,EAAC,G,0CWaD,IAAMuC,GAAYC,CAAAA,EAAAA,EAAAA,UAAAA,EAAW,CAAC,CAAEC,UAAAA,CAAS,CAAEC,SAAAA,CAAQ,CAAEC,cAAAA,CAAa,CAAE,CAAEC,KACpE,GAAM,CAAEC,MAAAA,CAAK,CAAEC,WAAAA,CAAU,CAAE,CAAGH,EACxB,CAAE,QAASI,CAAc,CAAE,CAAGC,CAAAA,EAAAA,GAAAA,EAAAA,IAC9BC,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAGXC,EAAaC,AAFGC,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,gBAA0B,EAEzB,QAAU,MAG7CC,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACRN,EAASO,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,OAAQ,gBAAiB,OAAQ,CAAEf,UAAAA,CAAU,CAAE,GAC7E,EAAG,EAAE,EAEL,IAAMgB,EACJhB,AAAc,aAAdA,EAEI,UAAC,OAAI,UAAU,K,SACb,WAAC,MAAG,KAAK,I,UACP,WAAC,M,UACE,MACAiB,CAAAA,EAAAA,EAAAA,EAAAA,EAAoB,0CAA0C,CAC7D,UAAW,IAAO,UAACC,GAAOA,CAAC,UAAU,M,EACvC,G,GAEF,WAAC,M,UACE,MACAvB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,+B,QAOT,UAAC,OAAI,UAAU,K,SACb,WAAC,MAAG,KAAK,I,UACP,WAAC,M,UACE,MACAsB,CAAAA,EAAAA,EAAAA,EAAAA,EAAoB,mDAAmD,CACtE,UAAW,IAAO,UAACE,GAAAA,CAAoBA,CAAAA,CAAC,UAAU,S,EACpD,G,GAEF,WAAC,M,UACE,MACAxB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,4C,QAOTyB,EACJ,UAAC,OAAI,UAAU,K,SACb,UAACC,GAAAA,CAAMA,CAAAA,CACL,UAAU,oBACV,WAAW,UACX,KAAK,SACL,QAASpB,E,SAERN,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,qB,KAKH2B,EAAetB,AAAc,aAAdA,GAA4BA,AAAc,iBAAdA,EAC7CgB,EACChB,AAAc,6BAAdA,GAA4CoB,EAwB3CG,EAAWC,CAAAA,EAAAA,EAAAA,MAAAA,IACXC,EAAUC,GAAAA,EAAqB,CAACH,EAAUpB,GAE1CwB,EAAiBC,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,CAAC,CAAEC,SAAAA,CAAQ,CAAE,GAC9C,UAACC,GAAAA,EAAWA,CAAAA,C,SAAED,C,GACb,EAAE,EAECE,EAAkBH,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,CAAC,CAAEC,SAAAA,CAAQ,CAAE,GAC/C,UAACG,GAAAA,EAAWA,CAAAA,C,SACTH,C,GAEF,EAAE,EAECI,EAAiBL,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,IACjC,UAACM,GAAAA,EAAUA,CAAAA,C,SACT,UAACb,GAAAA,CAAMA,CAAAA,CACL,cAAY,cACZ,UAAU,cACV,aAAY1B,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,eACd,QAAS,IAAM8B,EAAQ,OAAO,CAAC,IAAI,GACnC,UAAWU,GAAAA,CAASA,CACpB,WAAW,W,KAGd,CAACV,EAAQ,OAAO,CAAC,EAKpB,MACE,UAACW,GAAAA,CAAKA,CAAAA,CACJ,eAAgB,CAAE,UAAW,MAAO,EACpC,eAAgB,GAChB,eAAgBT,EAChB,eAAgBM,EAChB,gBAAiBF,EACjB,eAVoB,IAAM,UAACM,GAAAA,EAAUA,CAAAA,C,SAAEf,C,GAWvC,aAAc,IAAMd,EAAS8B,CAAAA,EAAAA,EAAAA,EAAAA,EAAUC,EAAAA,EAAAA,CAAAA,iBAA0B,CAAE,KACnE,IAAKd,E,SAEL,UDrGSrC,GCqGGA,C,SACV,WAAC,OAAI,UAAU,U,UACb,UAAC,OAAI,UAAU,Y,SACb,UAACoD,GAAAA,CAAOA,CAAAA,CACN,cAAetC,EACf,eAAgBI,EAChB,WAlBOA,IAAmBD,C,KAqB9B,UAAC,MAAG,UAAU,Q,SACXV,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,oCAAoC,OAAO,CAAC,UAAWS,E,GAE5D,UAAC,KAAE,UAAU,O,SACVqC,AA3ESC,CAAAA,IAClB,OAAQA,GACN,IAAK,eACH,MAAQzB,CAAAA,EAAAA,EAAAA,EAAAA,EAAoB,gFAAgF,CAC1G,UAAW,IAAOP,EAClB,UAAWiC,GAAQ,UAAC,KAAE,UAAU,iB,SAAkBA,C,EACpD,EACF,KAAK,eAQL,QAPE,MAAQ1B,CAAAA,EAAAA,EAAAA,EAAAA,EAAoB,+GAAiH,CAC3I,UAAW,IAAOP,CACpB,EACF,KAAK,2BACH,MAAQO,CAAAA,EAAAA,EAAAA,EAAAA,EAAoB,mGAAoG,CAC9H,UAAW,IAAOP,CACpB,EAKJ,CACF,GAuDuBV,E,SAMzB,EAEAF,CAAAA,GAAU,SAAS,CAAG,CACpB,UAAW8C,IAAAA,MAAAA,CAAAA,UAA2B,CACtC,SAAUA,IAAAA,IAAc,CACxB,cAAeA,IAAAA,KAAe,CAAC,CAAC,EAClC,EAEA9C,GAAU,YAAY,CAAG,CACvB,SAAU,KAAO,EACjB,cAAe,CAAC,CAClB,E,0EVtLA,SAAS,KAAa,MAAO,IAAW,OAAO,MAAM,CAAG,OAAO,MAAM,CAAC,IAAI,GAAK,SAAU,CAAC,EAAI,IAAK,IAAI,EAAI,EAAG,EAAI,UAAU,MAAM,CAAE,IAAK,CAAE,IAAI,EAAI,SAAS,CAAC,EAAE,CAAE,IAAK,IAAI,KAAK,EAAG,AAAC,KAAI,cAAc,CAAC,IAAI,CAAC,EAAG,IAAO,EAAC,CAAC,EAAE,CAAG,CAAC,CAAC,EAAE,AAAF,CAAI,CAAG,OAAO,CAAE,GAAa,MAAM,KAAM,UAAW,CAE7Q,IAAC,GAAmB,AAAG,GAAsB,eAAmB,CAAC,MAAO,GAAS,CACpF,MAAO,6BACP,KAAM,eACN,QAAS,WACX,EAAG,GAAQ,GAAU,GAAqB,eAAmB,CAAC,OAAQ,CACpE,SAAU,UACV,EAAG,iuBACH,SAAU,SACZ,K,0EWTO,IAAM+C,GAAkBpE,GAAAA,EAAAA,CAAAA,GAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+C1C,CAAC,CCtCKqE,GAAgB/C,CAAAA,EAAAA,EAAAA,UAAAA,EAAW,CAAC,CAChCgD,MAAAA,CAAK,CACLC,OAAAA,CAAM,CACNC,UAAAA,CAAS,CACTC,aAAAA,CAAY,CAAEC,OAAAA,CAAM,CACrB,CAAEhD,KACD,IAAMiD,EAAmB,IAAMF,IA6B/B,MACE,UAACG,GAAAA,CAAaA,CAAAA,CACZ,cAAe,GACf,QAAS,IACT,GAAIF,EACJ,OAAQ,GACR,WAAW,gB,SAEX,UAACf,GAAAA,CAAKA,CAAAA,CACJ,eAAc,GACd,oBAAqB,GACrB,aAAcgB,EACd,eAvC8B,IAClC,WAAC,OAAI,UAAU,sB,UACb,UAAC,OAAI,UAAU,Y,SAAaH,C,GAC5B,UAAC5B,GAAAA,CAAMA,CAAAA,CACL,QAAS+B,EACT,UAAWE,GAAAA,CAAaA,CACxB,WAAW,YACX,QAAO,E,MAiCP,gBA5B+B,CAAC,CAAEzB,SAAAA,CAAQ,CAAE,GAChD,WAACgB,GAAeA,CAAC,IAAK1C,E,UACnB0B,EACD,UAAC,M,SACC,UAAC0B,GAAAA,CAAYA,CAAAA,CAAC,OAAQP,EAAQ,MAAOD,C,QAyBrC,eArBiB,CAAC,CAAElB,SAAAA,CAAQ,CAAE,GAClC,UAAC,OACC,UAAU,gB,SAETA,C,YAmBC,UAAC,S,IAIT,EACAiB,CAAAA,GAAc,SAAS,CAAG,CACxB,OAAQU,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,CAACC,EAAAA,MAAMA,CAAEC,EAAAA,MAAMA,CAAC,EAAE,UAAU,CAC9C,UAAWD,EAAAA,MAAMA,CACjB,MAAOE,CAAAA,EAAAA,EAAAA,OAAAA,EAAQC,CAAAA,EAAAA,EAAAA,KAAAA,EAAM,CAAC,IACtB,aAAcC,EAAAA,IAAIA,CAClB,OAAQC,EAAAA,IAAIA,AACd,EAEAhB,GAAc,YAAY,CAAG,CAC3B,MAAO,EAAE,CACT,UAAW,GACX,aAAciB,GAAKA,EACnB,OAAQ,EACV,E,iMC3EO,IAAMC,GAAmBvF,GAAAA,EAAAA,CAAAA,GAAU,CAAC;AAC3C,EAAEC,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,MAAoB,EAAIC,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;;;;;;;;;;;;;;;;;;eAmBhC,EAAEK,GAAAA,EAAaA,CAAC;;;;;eAKhB,EAAEA,GAAAA,EAAaA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8E/B,CAAC,CAAGL,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BN,EAAE,CAAC,CAAEqF,sBAAAA,CAAqB,CAAE,GACnBrF,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,OAAO,EAAGqF,EAAsB,gBAAgB,GAAKA,EAAsB,YAAY,CAAIhF,GAAAA,EAAaA,CAAGgF,EAAsB,YAAY,CAAC,CAAC,CAAC,CAC3J;;;;;;;;;;;;;;;;;;;;;;;EAuBF,EAAE,CAAC,CAAEA,sBAAAA,CAAqB,CAAE,GACnBrF,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,OAAO,EAAGqF,EAAsB,gBAAgB,GAAKA,EAAsB,YAAY,CAAIhF,GAAAA,EAAaA,CAAGgF,EAAsB,YAAY,CAAC,CAAC,CAAC,CAC3J;;;;;;;;;;;;;;;;;EAiBF,EAAE,CAAC,CAAEA,sBAAAA,CAAqB,CAAE,GACnBrF,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,OAAO,EAAGqF,EAAsB,gBAAgB,GAAKA,EAAsB,YAAY,CAAIhF,GAAAA,EAAaA,CAAGgF,EAAsB,YAAY,CAAC,CAAC,CAAC,CAC3J;;EAEF,EAAE,CAAC,CAAEA,sBAAAA,CAAqB,CAAE,GACnBrF,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,kBAAkB,EAAGqF,EAAsB,gBAAgB,GAAKA,EAAsB,YAAY,CAAIhF,GAAAA,EAAaA,CAAGgF,EAAsB,YAAY,CAAC,CAAC,CAAC,CACtK;;;EAGF,EAAE,CAAC,CAAEA,sBAAAA,CAAqB,CAAE,GACnBrF,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,MAAM,EAAGqF,EAAsB,gBAAgB,GAAKA,EAAsB,YAAY,CAAIhF,GAAAA,EAAaA,CAAGgF,EAAsB,YAAY,CAAC,CAAC,CAAC,CAC1J;;;;;;;;;;;;;AAaJ,CAAC,CAAC;AACF,CAAC,C,kBChMD,IAAMC,GAAgBC,GAAAA,EAAAA,CAAAA,GAAU,CAAC;AACjC,EAAEzF,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,MAAoB,EAAIC,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;;;;;;;;;;;;;WAcpC,EAAE,CAAC,CAAEwF,SAAAA,CAAQ,CAAE,GAAKA,EAAS;;sBAElB,EAAEC,GAAAA,EAAoBA,CAAC;;;;;;AAM7C,CAAC,CAAGzF,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;;;;;EAMN,EAAE,CAAC,CAAEqF,sBAAAA,CAAqB,CAAE,GACnBrF,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,kBAAkB,EAAGqF,EAAsB,gBAAgB,GAAKA,EAAsB,YAAY,CACzGK,CAAAA,EAAAA,GAAAA,EAAAA,EAAWrF,GAAAA,EAAaA,CAAE,IAC1BqF,CAAAA,EAAAA,GAAAA,EAAAA,EAAWL,EAAsB,YAAY,CAAE,IAAK,CAAC,CAAC,CAC1D;;;;;;;;WAQO,EAAE,CAAC,CAAEG,SAAAA,CAAQ,CAAE,GAAKA,EAAS;;;;;;EAMtC,EAAE,CAAC,CAAEH,sBAAAA,CAAqB,CAAE,GACnBrF,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,kBAAkB,EAAGqF,EAAsB,gBAAgB,GAAKA,EAAsB,YAAY,CAAIhF,GAAAA,EAAaA,CAAGgF,EAAsB,YAAY,CAAC,CAAC,CAAC,CACtK;;AAEJ,CAAC,CAAC;AACF,CAAC,CAEKM,GAAcJ,GAAAA,EAAAA,CAAAA,GAAU,CAAC;;;;;;;;;QASvB,EAAE,CAAC,CAAEK,WAAAA,CAAU,CAAE,GAAKA,EAAW;oBACrB,EAAE,CAAC,CAAEC,YAAAA,CAAW,CAAE,GAAMA,EAAcJ,GAAAA,EAAoBA,CAAG,UAAW;cAC9E,EAAE,CAAC,CAAEI,YAAAA,CAAW,CAAE,GAAMA,EAAc,kBAAoB,OAAQ;AAChF,CAAC,CAEKC,GAAc,CAAC,CACnB,SAAUC,CAAW,CAAEC,aAAAA,CAAY,CAAEX,sBAAAA,CAAqB,CAAE,UAAWY,CAAU,CAAEC,UAAAA,CAAS,CAC7F,IACC,IAAMtE,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACX,CAACsE,EAAeC,EAAa,CAAGC,CAAAA,EAAAA,EAAAA,QAAAA,EAASJ,GAE/CnD,GAAAA,EAA0B,CAAC,KACzBsD,EAAaH,EACf,EAAG,CAACA,EAAW,EAEf,IAAMK,EAAYtD,CAAAA,EAAAA,EAAAA,WAAAA,EAAY/B,GACrB,UAAC0E,GAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAY,UAAU,U,EAAe1E,IAC5C,EAAE,EAECsF,EAAiBC,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IAAMC,MAAM,IAAI,CAACA,MAAMP,IAAY,GAAG,CAAC,IAAMI,GAAY,EAAE,EAEtFI,EAAiBP,EACfQ,EAAW,IAAOT,CAAAA,EAAY,GAC9BU,EAAaX,EAAaU,EAAYV,CAAAA,EAAa,GAAK,EACxDY,EAAcL,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IAAMD,EAAe,GAAG,CAAC,CAACO,EAAeC,KACnE,IAAMnB,EAAae,EAAWI,SAC9B,AAAIL,EAAiB,GACnBA,GAAkC,EAC3B,UAACI,EAAAA,CAA+B,WAAYlB,EAAY,YAAa,E,EAAjDA,IAGtB,UAACkB,EAAAA,CAA+B,WAAYlB,C,EAAxBA,EAC7B,GAAI,CAACW,EAAgBG,EAAgBC,EAAS,EACxCK,EAAkBlH,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,MAAoB,EAAI6G,EAAab,EACxE,CAACP,EAAUyB,EAAY,CAAGZ,CAAAA,EAAAA,EAAAA,QAAAA,EAASa,KAAK,GAAG,CAACF,EAAiBhB,IAC7D,CAACmB,EAAeC,EAAiB,CAAGf,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IAcnD,MAbAnE,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACR,IAAMmF,EAAQC,WAAW,KACnBN,IAAoBhB,IACpBgB,GAAmBhB,GACrBoB,EAAiB,IAEnBH,EAAYD,GACZpF,EAAS2F,CAAAA,EAAAA,EAAAA,EAAAA,EAA+BtB,IAC1C,EAAG,GAEH,MAAO,IAAMuB,aAAaH,EAC5B,EAAG,CAACL,EAAiBhB,EAAa,EAGhC,WAACV,GAAAA,CAAc,sBAAuBD,EAAuB,SAAUG,E,UACrE,UAAC,OAAI,UAAW,CAAC,EAAE2B,EAAgB,gBAAkB,GAAG,IAAI,CAAC,A,GAC5DrH,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,MAAoB,GAAK8G,E,EAGjD,CAEAf,CAAAA,GAAY,SAAS,CAAG,CACtB,SAAUjB,EAAAA,MAAMA,CAChB,aAAcA,EAAAA,MAAMA,CACpB,sBAAuBG,CAAAA,EAAAA,EAAAA,KAAAA,EAAM,CAAC,GAC9B,UAAWF,EAAAA,MAAMA,CACjB,UAAWA,EAAAA,MAAMA,AACnB,EAEAgB,GAAY,YAAY,CAAG,CACzB,SAAU,IACV,aAAc,IACd,sBAAuB,CAAC,EACxB,UAAW,EACX,UAAW,CACb,E,kBCzHA,IAAM2B,GAAiB,CAAC,CACtBC,mBAAAA,CAAkB,CAAEC,UAAAA,CAAS,CAC9B,IACC,IAAM/F,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACX+F,EAAsB5F,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,sBAAgC,EAClE4F,EAAe7F,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,eAAyB,EACpDX,EAAgBU,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,sBAAgC,EAC5D6F,EAAW9F,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,eAAyB,EAChD8F,EAAoB/F,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,oBAA8B,EAC9D,CAAC+F,EAAsBC,EAAsB,CAAG5B,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IAEzD,CACJH,UAAAA,CAAS,CAAEgC,UAAAA,CAAS,CAAEC,UAAAA,CAAS,CAAEC,sBAAAA,CAAqB,CACvD,CAAGL,EAEEM,EAAqBC,CAAAA,EAAAA,EAAAA,EAAAA,EAAYJ,GAEjC,CACJ,MAAOK,CAAQ,CACfC,0BAAAA,CAAyB,CAC1B,CAAGlH,EAEEmH,EAAgBjC,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IAAM+B,EAAS,MAAM,CAACG,GAAQC,CAAAA,EAAAA,EAAAA,EAAAA,EAAMD,EAAK,kBAAkB,GAAI,CAACH,EAAS,EAEjGK,EAAuBpC,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IAAMqC,KAAOJ,EAAe,CAAC,CAAEK,YAAAA,CAAW,CAAE,GAAKC,SAASD,EAAa,KAAM,CAACL,EAAc,EAE3HO,EAAoBxC,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IAAMoC,EAAqB,MAAM,CAACK,IAClE,GAAM,CACJC,cAAAA,CAAa,CACbC,oBAAAA,CAAmB,CACnBC,uBAAAA,CAAsB,CACtBC,2BAAAA,CAA0B,CAC1BC,mBAAAA,CAAkB,CACnB,CAAGL,EAEJ,MAAO,CAACM,CAAAA,EAAAA,EAAAA,EAAAA,EAAkB,CACxBL,cAAAA,EACA,UAAWC,EACX,aAAcC,EACd,iBAAkBC,EAClBC,mBAAAA,EACAxB,SAAAA,EACA,oBAAqBU,CACvB,EACF,GAAI,CAACA,EAA2BI,EAAqB,EAE/CY,EAAiBxG,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,KACjC,GAAM,CACJyG,aAAAA,CAAY,CAAE,GAAIC,CAAM,CAAEC,KAAAA,CAAI,CAAEC,WAAAA,CAAU,CAAE9F,KAAAA,CAAK,CAClD,CAAGkF,CAAiB,CAAC,EAAE,CAElBa,EAAc/F,IAASgG,GAAAA,EAAAA,CAAAA,IAAe,CAAIJ,EAASE,EAEzD,GAAIC,GAAc,CAAClB,CAAAA,EAAAA,EAAAA,EAAAA,EAAMc,GACvB,OAAO/B,EAAmB5D,GAAM+F,GAGlCjI,EAASmI,CAAAA,EAAAA,EAAAA,EAAAA,EAAuB,CAAE,OAAQF,CAAW,IACjDF,IAAS9B,GACXjG,EAASoI,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,GAAIC,GAAAA,EAAAA,CAAAA,IAAsB,CAAE,OAAQN,CAAK,GAEzE,EAAG,CAACX,EAAmBtB,EAAoBG,EAAa,EAElDqC,EAAkB1D,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IAAMiC,EAAc,MAAM,CAAG,GAAKO,AAA6B,IAA7BA,EAAkB,MAAM,CAAQ,CAACA,EAAmBP,EAAc,EAEpI3F,GAAAA,EAA0B,CAAC,KACzB,IAAIqH,EAKJ,OAJI9B,EAAqBH,IACvBD,EAAsB,IACtBkC,EAAU7C,WAAW,IAAMW,EAAsB,IAAQ,MAEpD,IAAMT,aAAa2C,EAC5B,EAAG,CAACjC,EAAU,EAEd,IAAMkC,EAA0BlC,AAAc,IAAdA,EAC1BtB,EAAc,AAACsB,CAAAA,EAAYhC,EAAa,GAAE,EAAG,OAAO,GACpDF,EAAgB,AAACoC,CAAAA,EAAwBlC,EAAa,GAAE,EAAG,OAAO,GAElE,CACJmE,iBAAAA,CAAgB,CAAEC,aAAAA,CAAY,CAAEC,aAAAA,CAAY,CAAEC,kBAAAA,CAAiB,CAChE,CAAGlJ,EACE+D,EAAwBmB,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IAAO,EAC3C8D,aAAAA,EAAcD,iBAAAA,EAAkBE,aAAAA,EAAcC,kBAAAA,CAChD,IAEMC,EAAsBzH,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,KAClC,CAAC4E,GAAwBsC,CAAc,GAC3CtI,EAAS8I,CAAAA,EAAAA,EAAAA,EAAAA,EAAuB,CAAE,KAAMC,GAAAA,CAAAA,CAAAA,sBAA6B,AAAC,GACxE,EAAG,CAACT,EAAgB,EAGdU,EAAe9K,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,SAAuB,EAAI,mEAAsE,mEACjI8K,EAAqB/K,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,SAAuB,EAAI,+CAAiD,+CAClH+K,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACXC,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAEXC,EAAiBpL,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,SAAuB,EAAIgB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,mBAAqBA,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,mBAEtFoK,EAA0BxD,GAAaqB,EAAkB,GAAG,CAACoC,GAAgBA,AAAa,cAAbA,EAAI,IAAI,CAAmBA,EAAI,UAAU,CAAGA,EAAI,EAAE,EAAK,QAAQ,CAACzD,GACnJ,MACE,UAACvC,GAAgBA,CAAC,sBAAuBC,E,SACtC2C,EACC,UAAC,OAAI,UAAU,mB,SACb,UAAC,OAAI,UAAU,wB,SAAyBjH,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,yB,KAG5C,WAAC,OAAI,UAAU,mB,UACb,UAAC,OAAI,UAAU,gB,SACX+J,GAAYE,EACZ3I,CAAAA,EAAAA,EAAAA,EAAAA,EAAoBwI,GAAoB,CACtC,UAAW9G,GAEP,UAAC,QAAK,UAAU,O,SACbA,EAAI,OAAO,CAAC,cAAemE,GAAW,OAAO,CAAC,cAAehC,E,EADpCnC,EAKlC,GAEA1B,CAAAA,EAAAA,EAAAA,EAAAA,EAAoBuI,GAAc,CAChC,UAAW7G,GAEP,UAAC,QAAK,UAAU,O,SACbA,EAAI,OAAO,CAAC,cAAemE,GAAW,OAAO,CAAC,cAAehC,E,EADpCnC,EAKlC,E,GAGJ,UAAC,OAAI,UAAU,iB,SACb,UDRG+B,GCQSA,CACV,sBAAuBT,EACvB,SAAUuB,EACV,aAAcZ,EACd,UAAWkC,EACX,UAAWhC,C,KAGb0B,GAAuBsC,GAAoB/B,GAC3C,UAAC1F,GAAAA,CAAMA,CAAAA,CACL,UAAW4I,GAAAA,CAAoBA,CAC/B,QAASZ,EACT,KAAK,QACL,SAAUL,E,SAETrJ,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,U,GAGL,CAACmJ,GAAmBlB,EAAkB,MAAM,CAAG,GAC/C,UAACvG,GAAAA,CAAMA,CAAAA,CACL,QAAS6I,GAAAA,CAAgBA,CACzB,KAAK,QACL,QAAS9B,EACT,SAAU2B,E,SAETD,C,OAOf,CAEAzD,CAAAA,GAAe,SAAS,CAAG,CACzB,mBAAoBxC,EAAAA,IAAIA,CACxB,UAAWJ,EAAAA,MAAMA,AACnB,EAEA4C,GAAe,YAAY,CAAG,CAC5B,mBAAoBtC,GAAKA,EACzB,UAAW,EACb,ECpMA,IAAMoG,GAAW1L,GAAAA,EAAAA,CAAAA,GAAU,CAAC;AAC5B,EAAEC,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,MAAoB,EAAIC,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;;;;;;;;;;;EAY7C,EAAEF,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,MAAoB,EAAIC,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;EAE/C,CAAC,CAAGA,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;EACR,EAAE,CAAC,CAAEwL,iBAAAA,CAAgB,CAAE,GACdxL,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,kBAAkB,EAAGwL,EAAiB,gBAAgB,GAAKA,EAAiB,YAAY,CAAI,OAAS9F,CAAAA,EAAAA,GAAAA,EAAAA,EAAW8F,EAAiB,gBAAgB,CAAE,GAAG,CAAC,CAAC,CACnK;EACF,CAAC,CAAC;AACJ,CAAC,CAAGxL,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;;;;;;;;EASN,EAAE,CAAC,CAAEwL,iBAAAA,CAAgB,CAAE,GACdxL,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,kBAAkB,EAAGwL,EAAiB,gBAAgB,GAAKA,EAAiB,YAAY,CAAI,OAAS9F,CAAAA,EAAAA,GAAAA,EAAAA,EAAW8F,EAAiB,gBAAgB,CAAE,GAAG,CAAC,CAAC,CACnK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CJ,CAAC,CAAC;;;AAGF,CAAC,C,yDCvED,IAAMC,GAAmB,AAACxK,IACxB,GAAM,CACJkD,MAAAA,CAAK,CACLuH,cAAAA,CAAa,CACbC,kBAAAA,CAAiB,CACjBC,iBAAAA,CAAgB,CAChBC,iBAAAA,CAAgB,CAChBC,kBAAAA,CAAiB,CACjBC,yBAAAA,CAAwB,CACzB,CAAG9K,EAEE+K,EAAepJ,CAAAA,EAAAA,EAAAA,MAAAA,IACfqJ,EAAmBrJ,CAAAA,EAAAA,EAAAA,MAAAA,IACnB,CAACsJ,EAAWC,EAAa,CAAG9F,CAAAA,EAAAA,EAAAA,QAAAA,EAAmB,EAAE,EACjD,CAAC+F,EAAeC,EAAiB,CAAGhG,CAAAA,EAAAA,EAAAA,QAAAA,EAAiB,IACrD,CAACiG,EAAmBC,EAAsB,CAAGlG,CAAAA,EAAAA,EAAAA,QAAAA,EAAkB,IAC/D,CAACmG,EAAsBC,EAAwB,CAAGpG,CAAAA,EAAAA,EAAAA,QAAAA,EAAiB,IAEnEqG,EAAsBvI,EAAM,GAAG,CAAC,CAACuE,EAAM3B,IAEpC4F,AADa5F,EAAQ,GAAMyF,GAEhC,UAAC,OACC,GAAI9D,EAAK,EAAE,CAAgB,UAAU,sCACrC,KAAK,S,SAEJA,EAAK,OAAO,A,EAHKA,EAAK,EAAE,GAQzBkE,EAA2B,KAC/BL,EAAsB,CAACD,EACzB,EAEMO,EAAyBhM,GAAKiM,GAAAA,EAAuB,CAACjM,IAAM+L,IAE5DG,EAAc5I,EAAM,GAAG,CAAC,CAACuE,EAAM3B,KACnC,IAAMiG,EAAWd,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAW,OAAO,CAACxD,EAAK,EAAE,KAAM,GAC3CuE,EAAgBlG,IAAWyF,EAAuB,EAAK,OAAS,KAEtE,MACE,WAACU,EAAAA,QAAQA,CAAAA,C,UACND,GACC,UAAC,OACC,IAAKhB,EACL,UAAWkB,KAAW,0BAA2BrB,EAAmB,iBAAkB,CAAE,UAAWQ,CAAkB,GACrH,MAAO,CAAE,UAAWF,EAAe,UAAWA,CAAc,EAC5D,QAASQ,EACT,WAAYC,EACZ,SAAS,IACT,KAAK,UACL,aAAW,Y,SAEX,UAAC,OAAI,UAAU,8B,SACZlB,C,KAIP,UAAC,OACC,GAAIjD,EAAK,EAAE,CACX,UAAWyE,KAAW,0BAA2BzB,EAAe,CAAE,UAAWY,CAAkB,GAC/F,cAAaU,GAAYC,EACzB,cAAaD,GAAYC,EACzB,oBAAmBA,EACnB,MAAO,CAAE,UAAWb,EAAe,UAAWA,CAAc,E,SAG3D1D,EAAK,OAAO,A,EAFRA,EAAK,EAAE,E,EAxBDA,EAAK,EAAE,CA8B1B,GAyCA,MAvCAxG,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACR,GAAI,CAAC8J,EAAa,OAAO,CACvB,MAAO,KAAO,EAGhB,IAAMoB,EAAcC,KAAS,KAC3B,GAAI,CAACrB,EAAa,OAAO,CACvB,OAGF,GAAM,CAAE/I,SAAAA,EAAW,EAAE,CAAE,CAAG+I,EAAa,OAAO,CACxCsB,EAAY,IAAIrK,EAAS,CACzBsK,EAAYD,EAAU,MAAM,CAAC,CAACE,EAAKC,IAChCD,EAAMC,EAAY,YAAY,CAAGD,EAAMC,EAAY,YAAY,CACrE,GACCF,EAAY,GACdlB,EAAiBkB,GAInB,IAAMG,EAAkBC,AADI3B,EAAa,OAAO,CAAC,qBAAqB,GAC1B,GAAG,CAAGuB,EAC5CK,EAAmBN,EACtB,MAAM,CAACO,GAAa3G,KAAK,IAAI,CAAC2G,EAAU,qBAAqB,GAAG,GAAG,GAAKH,GACxE,GAAG,CAACG,GAAaA,EAAU,EAAE,EAIhCpB,EAFyBa,EAAU,SAAS,CAACO,GAAa3G,KAAK,IAAI,CAAC2G,EAAU,qBAAqB,GAAG,GAAG,GAAKH,IAG9G3B,EAAyB6B,GACzBzB,EAAayB,GACbrB,EAAsB,GACxB,EAAG,IAIH,OAFAa,IACAU,OAAO,gBAAgB,CAAC,SAAUV,GAC3B,IAAMU,OAAO,mBAAmB,CAAC,SAAUV,EACpD,EAAG,CAACpB,EAAa,OAAO,CAAC,EAIvB,WAAC,OACC,UAAWmB,KAAW,qBAAsBvB,GAC5C,MAAO,CAAE,UAAWQ,EAAe,UAAWA,CAAc,EAC5D,IAAKJ,EACL,KAAK,U,UAEJe,EACAT,GACC,UAACyB,GAAAA,CAAOA,CAAAA,CACN,UAAS,GACT,UAAWZ,KAAW,6BAA8BtB,GACpD,UAAWI,EACX,eAAgB,CACd,UAAW,YACb,E,SAEA,UAAC,OAAI,UAAU,oCAAoC,KAAK,WAAW,gBAAeK,E,SAC/EI,C,OAMb,CAEAjB,CAAAA,GAAiB,YAAY,CAAG,CAC9B,kBAAmB,SACnB,iBAAkB,KAClB,cAAe,KACf,kBAAmB,KACnB,iBAAkB,KAClB,yBAA0B,AAACtG,GAAYA,CACzC,E,gCCpJA,IAAM6I,GAAW,CAAC,CAAErE,KAAAA,CAAI,CAAEsE,SAAAA,CAAQ,CAAE,IAClC,GAAM,CACJC,KAAAA,CAAI,CAAEC,GAAAA,CAAE,CAAEC,UAAAA,CAAS,CAAEC,aAAAA,CAAY,CAAEC,SAAAA,CAAQ,CAC5C,CAAG3E,EACE4E,EAAWL,GAAQnN,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,oBAAoB,OAAO,CAAC,cAAeqN,GAEhExM,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAEX2M,EAAcxL,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,KAC9BpB,EAAS6M,CAAAA,EAAAA,EAAAA,EAAAA,EAA0BN,GACrC,EAAG,CAACA,EAAG,EACDO,EAAqB1L,CAAAA,EAAAA,EAAAA,WAAAA,EAAYnC,GAAKiM,GAAAA,EAAuB,CAACjM,IAAM2N,IAAe,EAAE,EAC3F,MACE,UAAC,OACC,UAAW,CAAC,EAAEP,EAAW,YAAc,GAAG,WAAW,CAAC,CACtD,SAAS,IACT,KAAK,MACL,gBAAeA,EACf,WAAYS,EACZ,QAASF,E,SAET,WAAC,QAAK,UAAU,wB,UACd,UAACG,GAAAA,CAAQA,CAAAA,CAAC,aAAcN,EAAc,SAAUC,C,GAC/CC,E,IAIT,CAEAP,CAAAA,GAAS,SAAS,CAAG,CACnB,KAAMhJ,CAAAA,EAAAA,EAAAA,KAAAA,EAAM,CAAC,GACb,SAAUE,EAAAA,IAAIA,AAChB,EACA8I,GAAS,YAAY,CAAG,CACtB,KAAM,CAAC,EACP,SAAU,EACZ,EAEA,OAAeY,CAAAA,EAAAA,EAAAA,IAAAA,EAAKZ,IC1CpB,IAAMa,GAAmB,OAEnBC,GAAkBjP,GAAAA,EAAAA,CAAAA,GAAU,CAAC;;UAEzB,EAAEgP,GAAiB;;;;;iBAKZ,EAAEA,GAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8GhC,EAAE,IAAO,CAAC/O,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,WAAyB,GAAK;;;;;;;;;;;IAWzD,CAAC,CAAE;;;;;;;;;;;;;;YAcK,EAAE8O,GAAiB;;;;;;;;;;YAUnB,EAAEA,GAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAiDnB,EAAEA,GAAiB;;;;;;;;;;;;;;;;;;;YAmBnB,EAAEA,GAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkE/B,CAAC,C,kBClSD,IAAME,GAASlP,GAAAA,EAAAA,CAAAA,MAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4I3B,EAAE,CAAC,CAAEmP,aAAAA,CAAY,CAAE,GAAOA,EAAgB;;;;;;;;;;;;;;;EAe1C,CAAC,CAAG,GAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCV,CAAC,CC1LKC,GAAmB,CAAC,CAAEC,cAAAA,CAAa,CAAEC,YAAAA,CAAW,CAAEH,aAAAA,CAAY,CAAE,IACpE,IAAMI,EAAoBpN,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,uBAAiC,EACjE,CAACoN,EAAgBC,EAAkB,CAAGjJ,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IASrD,MAPAnE,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACRoN,EAAkB,IAElB,IAAMnF,EAAU7C,WAAW,IAAMgI,EAAkB,IAAQ,KAC3D,MAAO,IAAM9H,aAAa2C,EAC5B,EAAG,CAACiF,EAAkB,EAGpB,WD+KWL,GC/KJA,CACL,aAAcC,EACd,cAAeE,EACf,QAASC,EACT,KAAK,M,UAEL,UAAC,QAAK,UAAU,c,GAChB,WAAC,OAAI,UAAU,c,UACb,WAAC,OAAI,UAAU,O,UACb,UAACI,GAAAA,CAAsBA,CAAAA,CAAC,MAAM,M,GAC7BH,EAAoB,GACnB,UAAC,QAAK,UAAWI,KAAG,CAAC,QAAS,CAAE,OAAQH,CAAe,EAAE,E,SAAID,C,MAGjE,UAAC,QAAK,UAAU,Y,SAAarO,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,O,QAIvC,CAEAkO,CAAAA,GAAiB,SAAS,CAAG,CAC3B,YAAahK,EAAAA,IAAIA,CACjB,cAAeJ,EAAAA,MAAMA,CACrB,aAAcK,EAAAA,IAAIA,AACpB,EAEA+J,GAAiB,YAAY,CAAG,CAC9B,YAAa9J,GAAKA,EAClB,cAAe,GACf,aAAc,EAChB,E,kBChDA,IAAMsK,GAAmB5P,GAAAA,EAAAA,CAAAA,GAAU,CAAC;eACrB,EAAE,CAAC,CAAE6P,YAAAA,CAAW,CAAE,GAAMA,EAAc,MAAQ,OAAQ;;;;;;;sBAO/C,EAAE,CAAC,CAAEC,kBAAAA,CAAiB,CAAE,GAAKA,EAAkB;;;WAG1D,EAAE,CAAC,CAAEC,oBAAAA,CAAmB,CAAE,GAAKA,EAAoB;;;;;;;;;;;;MAYxD,EAAE,CAAC,CAAED,kBAAAA,CAAiB,CAAE,GAAMA,GAAsB,CAAC,YAAY,EAAEE,CAAAA,EAAAA,GAAAA,EAAAA,EAAO,GAAMF,GAAmB,CAAC,CAAC;;;;;;;;;;aAU9F,EAAE,CAAC,CAAED,YAAAA,CAAW,CAAE,GAAMA,EAAc,eAAiB,OAAQ;;AAE5E,CAAC,CC9BKI,GAAiB,CAAC,CAAEC,aAAAA,CAAY,CAAE,IACtC,IAAML,EAAc1N,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,cAAwB,EAClD+N,EAAiBhO,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,iBAA2B,EACxD,CAAE0N,kBAAAA,CAAiB,CAAEC,oBAAAA,CAAmB,CAAE,CAAG5N,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,mBAA6B,CAAC+N,IACvFpO,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAIjB,MACE,WDuBW4N,GCvBMA,CACf,KAAK,MACL,YAAaC,EACb,kBAAmBC,EACnB,oBAAqBC,EACrB,UAAWG,E,UAEX,UAAC,QAAK,UAAU,c,GAChB,UAAC,UACC,KAAK,SACL,UAAU,YACV,QAduB,IAAMnO,EAASqO,EAAAA,EAAsC,I,SAgB3ElP,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,S,KAIX,CAEA+O,CAAAA,GAAe,SAAS,CAAG,CACzB,aAAcjL,EAAAA,MAAMA,AACtB,EAEAiL,GAAe,YAAY,CAAG,CAC5B,aAAc,EAChB,E,kBCpCA,IAAMI,GAAoBrQ,GAAAA,EAAAA,CAAAA,GAAU,CAAC;AACrC,EAAEC,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,MAAoB,EAAIC,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2C7C,EAAE,CAAC,CAAEI,kBAAAA,CAAiB,CAAE,GACfJ,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,QAAQ,EAAEI,EAAoB,oBAAsB,OAAO,CAAC,CAAC,CACxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4Ca,EAAEC,GAAAA,EAAaA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAoDxB,EAAEA,GAAAA,EAAaA,CAAC;QACjB,EAAEA,GAAAA,EAAaA,CAAC;;;;;;;;;;;;;;;WAeb,EAAE8P,GAAAA,EAAkBA,CAAC;;;;WAIrB,EAAEA,GAAAA,EAAkBA,CAAC;UACtB,EAAEA,GAAAA,EAAkBA,CAAC;;;;;;;;AAQ/B,CAAC,CAAGnQ,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;EAyBN,EAAE,CAAC,CAAEoQ,gBAAAA,CAAe,CAAE,GACbpQ,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,cAAc,EAAGoQ,EAAgB,gBAAgB,GAAKA,EAAgB,YAAY,CAAI1K,CAAAA,EAAAA,GAAAA,EAAAA,EAAWrF,GAAAA,EAAaA,CAAE,KAAQqF,CAAAA,EAAAA,GAAAA,EAAAA,EAAW0K,EAAgB,YAAY,CAAE,KAAM,CAAC,CAAC,CACpL;;EAEF,EAAE,CAAC,CAAEA,gBAAAA,CAAe,CAAE,GACbpQ,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,kBAAkB,EAAGoQ,EAAgB,gBAAgB,GAAKA,EAAgB,YAAY,CAAI,OAASA,EAAgB,gBAAgB,CAAC,CAAC,CAAC,CACjJ;;;;;;;;EAQF,EAAE,CAAC,CAAEA,gBAAAA,CAAe,CAAE,GACbpQ,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,QAAQ,EAAGoQ,EAAgB,gBAAgB,GAAKA,EAAgB,YAAY,CAAI/P,GAAAA,EAAaA,CAAGqF,CAAAA,EAAAA,GAAAA,EAAAA,EAAW0K,EAAgB,YAAY,CAAE,GAAG,CAAC,CAAC,CACzJ;;;;;;;;;;;;;;;;;EAiBF,EAAE,CAAC,CAAEA,gBAAAA,CAAe,CAAE,GACbpQ,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,kBAAkB,EAAGoQ,EAAgB,gBAAgB,GAAKA,EAAgB,YAAY,CAAI,OAAS1K,CAAAA,EAAAA,GAAAA,EAAAA,EAAW0K,EAAgB,gBAAgB,CAAE,GAAG,CAAC,CAAC,CAChK;;;;;;;;;;;;;;EAcF,EAAE,CAAC,CAAEA,gBAAAA,CAAe,CAAE,GACbpQ,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,cAAc,EAAGoQ,EAAgB,gBAAgB,GAAKA,EAAgB,YAAY,CAAI1K,CAAAA,EAAAA,GAAAA,EAAAA,EAAWrF,GAAAA,EAAaA,CAAE,KAAQqF,CAAAA,EAAAA,GAAAA,EAAAA,EAAW0K,EAAgB,YAAY,CAAE,KAAM,CAAC,CAAC,CACpL;;;;;;;;;;;EAWF,EAAE,CAAC,CAAEA,gBAAAA,CAAe,CAAE,GACbpQ,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,OAAO,EAAGoQ,EAAgB,gBAAgB,GAAKA,EAAgB,YAAY,CAAI/P,GAAAA,EAAaA,CAAG+P,EAAgB,YAAY,CAAC,CAAC,CAAC,CACzI;;;;;EAKF,EAAE,CAAC,CAAEA,gBAAAA,CAAe,CAAE,GACbpQ,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,MAAM,EAAGoQ,EAAgB,gBAAgB,GAAKA,EAAgB,YAAY,CAAI1K,CAAAA,EAAAA,GAAAA,EAAAA,EAAWrF,GAAAA,EAAaA,CAAE,IAAOqF,CAAAA,EAAAA,GAAAA,EAAAA,EAAW0K,EAAgB,YAAY,CAAE,IAAK,CAAC,CAAC,CAC1K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyCF,EAAE,CAAC,CAAEA,gBAAAA,CAAe,CAAE,GACbpQ,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,OAAO,EAAGoQ,EAAgB,gBAAgB,GAAKA,EAAgB,YAAY,CAAI/P,GAAAA,EAAaA,CAAG+P,EAAgB,YAAY,CAAC,CAAC,CAAC,CACzI;;;EAGF,EAAE,CAAC,CAAEA,gBAAAA,CAAe,CAAE,GACbpQ,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,kBAAkB,EAAGoQ,EAAgB,gBAAgB,GAAKA,EAAgB,YAAY,CAAI1K,CAAAA,EAAAA,GAAAA,EAAAA,EAAWrF,GAAAA,EAAaA,CAAE,KAAQqF,CAAAA,EAAAA,GAAAA,EAAAA,EAAW0K,EAAgB,YAAY,CAAE,KAAM,CAAC,CAAC,CACxL;;;;EAIF,EAAE,CAAC,CAAEA,gBAAAA,CAAe,CAAE,GACbpQ,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,kBAAkB,EAAGoQ,EAAgB,gBAAgB,GAAKA,EAAgB,YAAY,CAAI1K,CAAAA,EAAAA,GAAAA,EAAAA,EAAWrF,GAAAA,EAAaA,CAAE,KAAQqF,CAAAA,EAAAA,GAAAA,EAAAA,EAAW0K,EAAgB,YAAY,CAAE,KAAM,CAAC,CAAC,CACxL;;;;EAIF,EAAE,CAAC,CAAEA,gBAAAA,CAAe,CAAE,GACbpQ,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,OAAO,EAAGoQ,EAAgB,gBAAgB,GAAKA,EAAgB,YAAY,CAAI/P,GAAAA,EAAaA,CAAG+P,EAAgB,YAAY,CAAC,CAAC,CAAC,CACzI;;EAEF,EAAE,CAAC,CAAEA,gBAAAA,CAAe,CAAE,GACbpQ,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,kBAAkB,EAAGoQ,EAAgB,gBAAgB,GAAKA,EAAgB,YAAY,CAAI1K,CAAAA,EAAAA,GAAAA,EAAAA,EAAWrF,GAAAA,EAAaA,CAAE,IAAOqF,CAAAA,EAAAA,GAAAA,EAAAA,EAAW0K,EAAgB,YAAY,CAAE,IAAK,CAAC,CAAC,CACtL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCJ,CAAC,CAAC;AACF,CAAC,C,gCC5WD,IAAMC,GAAsB,CAAC,CAAE1G,KAAAA,CAAI,CAAE2G,qBAAAA,CAAoB,CAAEC,sBAAAA,CAAqB,CAAE,IAChF,IAAM3O,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACX2O,EAAeC,CAAAA,EAAAA,GAAAA,EAAAA,IACfC,EAAgB3F,CAAAA,EAAAA,EAAAA,EAAAA,IAEhB4F,EAAc3O,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,cAAwB,EAElD,CACJiM,KAAAA,CAAI,CAAEG,aAAAA,CAAY,CAAEC,SAAAA,CAAQ,CAAEH,GAAAA,CAAE,CACjC,CAAGxE,EACE,CAAE,OAAQ9B,EAAe,UAAU,CAAE,CAAG2I,GAAgB,CAAC,EACzDI,EAAmB/I,AAAiB,aAAjBA,GAA+BsG,IAAOwC,EAY/D,MACE,UAAClO,GAAAA,CAAMA,CAAAA,CAEL,UAAW,CAAC,oBAAoB,EAAE8N,EAAwB,SAAW,GAAG,CAAC,EAAG1I,IAAiBsG,GAAMyC,EAAoB,aAAe,GAAG,CAAC,CAC1I,QAd+B,KACjChP,EAAS6M,CAAAA,EAAAA,EAAAA,EAAAA,EAA0BN,IAE/BuC,GACFJ,GAEJ,EASI,UAPqB,IAAM,UAAC3B,GAAAA,CAAQA,CAAAA,CAAC,aAAcN,EAAc,SAAUC,EAAU,KAAM,E,YAS1FJ,C,EALIC,EAQX,CAEAkC,CAAAA,GAAoB,SAAS,CAAG,CAC9B,KAAMrL,CAAAA,EAAAA,EAAAA,KAAAA,EAAM,CAAC,GACb,qBAAsBC,EAAAA,IAAIA,CAC1B,sBAAuBC,EAAAA,IAAIA,AAC7B,EAEAmL,GAAoB,YAAY,CAAG,CACjC,KAAM,CAAC,EACP,qBAAsBlL,GAAKA,EAC3B,sBAAuB,EACzB,EClCA,IAAM0L,GAAkB,CAAC,CACvBC,cAAAA,CAAa,CACbC,MAAAA,CAAK,CACLX,gBAAAA,CAAe,CACfY,gBAAAA,CAAe,CAChB,IACC,IAAMC,EAAkBjP,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,kBAA4B,EAC1DiP,EAAkBlP,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,SAAmB,CAAC0B,EAAAA,EAAAA,CAAAA,eAAwB,GAC1E,CAAEwN,mBAAAA,CAAkB,CAAEC,eAAAA,CAAc,CAAE,CAAGpP,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,2BAAqC,EAC1F7B,EAAoB4B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,oBAA8B,EAC9DoP,EAAUrP,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,UAAoB,EAC1C,CAAEqP,QAAAA,CAAO,CAAE,CAAGtP,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,iBAA2B,EACrDsP,EAAWvP,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,iBAA2B,EAClD4F,EAAe7F,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,eAAyB,EACpDuP,EAAaxP,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,aAAuB,CAAC4F,IACjD,CAAE,KAAM0G,CAAQ,CAAE,CAAGgD,EAAS,IAAI,CAAC5H,GAAQA,EAAK,EAAE,GAAK9B,IAAiB,GACxE4J,EAAiBT,EAAkB,EAEnCpP,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAEX,CAAC0O,EAAuBmB,EAAuB,CAAG5O,GAAAA,EAAsC,CAAC,GAAO,uCAEhG6O,EAAsB3O,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,KACjC8N,IAELY,EAAuB,IACvB9P,EAASqO,EAAAA,EAAgC,CAAC,CAAE,OAAQ,eAAgB,IACtE,EAAG,EAAE,EAECK,EAAuBtN,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,KACvC0O,EAAuB,GACzB,EAAG,EAAE,EAEL,MACE,UAACE,GAAAA,CAAOA,CAAAA,CACN,KAAM7R,GAAAA,EAAAA,CAAAA,MAAoB,CAC1B,gBACE,WF8TOmQ,GE9TWA,CAAC,gBAAiBE,EAAiB,kBAAmBhQ,E,UACrE,CAACmQ,GACA,WAACsB,GAAAA,CAAIA,CAAAA,CAAC,WAAW,SAAS,UAAU,Q,UACjCX,EAAgB,MAAM,CAAG,EACxB,UAACzO,GAAAA,CAAMA,CAAAA,CACL,UAAU,+BACV,QAAS,IAAMb,EAASqO,EAAAA,CAA4B,IACpD,aAAYlP,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,QACd,QAAQ,QACR,WAAW,YACX,UAAW+Q,GAAAA,CAAeA,A,GAG5B,UAACC,GAAAA,CAAqBA,CAAAA,CACpB,0BAA2BJ,EAC3B,gBAAiBV,EACjB,eAAgBG,EAChB,mBAAoBD,EACpB,eAAgBM,C,GAGnB,CAACD,GAAc,UAAC,QAAK,UAAW,CAAC,QAAQ,EAAEC,GAAkBR,AAAoB,KAApBA,EAAyB,OAAS,GAAG,sBAAsB,CAAC,C,SAAG1C,C,MAGjI,sB,SACE,WAAC,OAAI,UAAW,CAAC,uBAAuB,EAAEgC,EAAwB,SAAW,GAAG,CAAC,C,UAC/E,WAAC,OAAI,UAAU,iB,UACb,WAAC,OAAI,UAAU,yB,UACZe,GAAW,UAAC,OAAI,IAAKA,EAAS,IAAKD,C,GACpC,UAAC,Q,SAAMA,C,MAET,UAAC5O,GAAAA,CAAMA,CAAAA,CACL,cAAY,uBACZ,UAAU,sDACV,QAAS6N,EACT,aAAYvP,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,SACd,UAAWwC,GAAAA,CAASA,CACpB,QAAO,GACP,WAAW,W,MAGf,UAAC,OAAI,UAAU,iBAAiB,cAAY,gB,SAC1C,UAAC,OAAI,UAAU,sB,SACZwN,EAAM,GAAG,CAACpH,GACT,UD7CL0G,GC6CyBA,CAElB,KAAM1G,EACN,qBAAsB2G,EACtB,sBAAuBC,C,EAHlB5G,EAAK,EAAE,E,cAclC,CAEAkH,CAAAA,GAAgB,SAAS,CAAG,CAC1B,MAAO9L,CAAAA,EAAAA,EAAAA,OAAAA,EAAQC,CAAAA,EAAAA,EAAAA,KAAAA,EAAM,CAAC,IACtB,gBAAiBA,CAAAA,EAAAA,EAAAA,KAAAA,EAAM,CAAC,GACxB,cAAeE,EAAAA,IAAIA,CACnB,gBAAiBJ,EAAAA,MAAMA,AACzB,EAEA+L,GAAgB,YAAY,CAAG,CAC7B,MAAO,EAAE,CACT,gBAAiB,CAAC,EAClB,cAAe,GACf,gBAAiB,CACnB,E,qGC/HO,IAAMmB,GAAoBnS,GAAAA,EAAAA,CAAAA,GAAU,CAAC;;;;;;;;;;;;;;;MAetC,EAAEC,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,MAAoB,EAAIC,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;;;;;;;;MAS/C,CAAC,CAAGA,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;;;;;MAMR,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCN,EAAEF,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,MAAoB,EAAIC,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyC/C,CAAC,CAAGA,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;;;;;;;;;;;;;;;EAgBR,CAAC,CAAC;;EAEF,EAAEF,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,WAAyB,GAAKC,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkFrD,CAAC,CAAC;;;;;;;;MAQE,EAAEF,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,MAAoB,EAAIC,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;MAC/C,CAAC,CAAGA,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;;MAGR,CAAC,CAAC;;;;;;;;;;;;;AAaR,CAAC,CCrOKiS,GAA2B1M,GAAAA,EAAAA,CAAAA,GAAU,CAAC;;AAE5C,CAAC,CAEK2M,GAAyB,CAAC,CAAEC,KAAAA,CAAI,CAAEC,IAAAA,CAAG,CAAE,IAC3C,IAAMxQ,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAEXwQ,EAAgBrP,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,KAC5BoP,GAAOA,EAAI,QAAQ,CAAC,sBACtBxQ,EAASO,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,OAAQ,2CAA4C,IAElFmQ,CAAAA,EAAAA,GAAAA,EAAAA,EAASF,EACX,EAAG,CAACA,EAAI,EAER,MACE,UAACH,GAAAA,CAAyB,WAAYI,EAAe,QAASA,E,SAC3DtR,CAAAA,EAAAA,EAAAA,CAAAA,EAAEoR,E,EAGT,CAEAD,CAAAA,GAAuB,SAAS,CAAG,CACjC,KAAMrN,EAAAA,MAAMA,CACZ,IAAKA,EAAAA,MAAMA,AACb,EAEAqN,GAAuB,YAAY,CAAG,CACpC,KAAM,GACN,IAAK,EACP,EC9BA,IAAMK,GAA0B,CAAC,CAAEC,mBAAAA,CAAkB,CAAE,IACrD,IAAMC,EAAgBzQ,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,gBAA0B,EAE5D,MACE,WAAC,OAAI,UAAU,8C,UACb,WAAC,OAAI,UAAU,4D,UACb,UAAC,KAAE,UAAU,4B,SAA6BlB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,CAAC,uBAAuB,EAAE0R,EAAgB,YAAc,SAAS,CAAC,C,GAC9G,UAAChQ,GAAAA,CAAMA,CAAAA,CACL,QAAS,IAAM+P,EAAmB,gBAClC,KAAK,QACL,UAAS,G,SAERzR,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,S,GAEL,WAAC,KAAE,UAAU,4B,UACVA,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,iBACH,UAAC0B,GAAAA,CAAMA,CAAAA,CACL,QAAQ,QACR,QAAS,IAAM+P,EAAmB,iBAClC,UAAU,O,SAETzR,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,U,SAIT,WAAC,OAAI,UAAU,4B,UACb,UAAC0B,GAAAA,CAAMA,CAAAA,CACL,QAAQ,QACR,QAAS,IAAM+P,EAAmB,iBAClC,UAAU,0B,SAETzR,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,U,GAEL,UAAC0B,GAAAA,CAAMA,CAAAA,CACL,QAAQ,QACR,QAAS,IAAM+P,EAAmB,iBAClC,UAAU,0B,SAETzR,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,CAAC,SAAS,EAAE0R,EAAgB,YAAc,SAAS,CAAC,C,QAKjE,CAEAF,CAAAA,GAAwB,SAAS,CAAG,CAClC,mBAAoBtN,EAAAA,IAAAA,CAAAA,UAAe,AACrC,EC/CA,SAASyN,GAAe,CAAEC,aAAAA,CAAY,CAAEC,sBAAAA,CAAqB,CAAE,EAE7D,GAAM,CACJ1E,KAAAA,CAAI,CACJ2E,SAAAA,CAAQ,CACRC,MAAAA,CAAK,CACLC,UAAAA,CAAS,CACV,CANmB/Q,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,OAAiB,EAO3C+Q,EAAW9E,GAAQ2E,EAEzB,MACE,UAAC,OAAI,UAAU,oD,SACb,WAAChB,GAAAA,CAAIA,CAAAA,CACH,UAAU,wBACV,eAAe,SACf,WAAW,SACX,UAAU,S,UAEV,UAAC,OACC,UAAU,mCACV,IAAKkB,EACL,IAAI,oB,GAEN,WAAClB,GAAAA,CAAIA,CAAAA,CAAC,UAAU,oBAAoB,UAAU,S,UAC5C,UAAC,KAAE,UAAU,mC,SAAoCmB,C,GACjD,UAAC,KAAE,UAAU,qC,SAAsCF,C,MAErD,UAACrQ,GAAAA,CAAMA,CAAAA,CACL,WAAW,QACX,KAAK,QACL,QAASkQ,E,SAER5R,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,0BAA2B,CAAEiS,SAAAA,CAAS,E,GAE3C,WAAC,KAAE,UAAU,qC,UACVjS,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,4BACH,UAAC,QACC,UAAU,qCACV,SAAU,EACV,QAAS6R,E,SAER7R,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,S,UAMf,CAEA2R,GAAe,SAAS,CAAG,CACzB,aAAczN,EAAAA,IAAIA,CAClB,sBAAuBA,EAAAA,IAAIA,AAC7B,EAEAyN,GAAe,YAAY,CAAG,CAC5B,aAAcvN,GAAKA,EACnB,sBAAuBA,GAAKA,CAC9B,ECzCA,IAAM8N,GAAmB,CAAC,CAAEC,UAAAA,CAAS,CAAEC,UAAAA,CAAS,CAAEC,mBAAAA,CAAkB,CAAE,IACpE,IAAMxR,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACX4Q,EAAgBzQ,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,gBAA0B,EACtDoR,EAAerR,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,eAAyB,EACpDqR,EAAmBtR,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,sBAAgC,EAC/DsR,EAAoBC,GAAO5R,EAASqO,EAAAA,EAAmC,CAACuD,IACxEC,EAAOzR,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,OAAiB,EACpC,CAAEyR,eAAAA,CAAc,CAAE,CAAGD,EAErBE,EAAsB3Q,CAAAA,EAAAA,EAAAA,WAAAA,EAAY4Q,GAAiBL,EAAkBK,GAAgB,EAAE,EAEvFC,EAAgB7R,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,mBAA6B,EAEzD6R,EAAyB9Q,CAAAA,EAAAA,EAAAA,WAAAA,EAAY+Q,GAAUnS,EAASqO,EAAAA,EAAyB,CAACtM,EAAAA,EAAAA,CAAAA,sBAA+B,CAAEoQ,IAAU,EAAE,EAE/H,CAACC,EAAqBC,EAAuB,CAAG5N,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IAE/DnE,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACRkR,EAAmBE,GACfD,GAAgB,CAACC,GAAkBQ,EAAuB,IAC1D,CAACR,GAAkBW,EAAuB,GAChD,EAAG,CAACX,EAAkBD,EAAa,EAEnC,IAAMa,EAAiB1N,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IAAMiN,EAAK,SAAS,EAAI,CAAC,CAACA,EAAK,KAAK,EAAIA,AAAkB,kBAAlBA,EAAK,QAAQ,CAAsB,CAACA,EAAK,EAE1GU,EAAenR,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,KAC/B,IAAMoR,EAASC,CAAAA,EAAAA,EAAAA,EAAAA,EAAe,CAAE,UAAW,EAAK,GAC5CC,EAAS,yBACTxG,CAAAA,OAAO,aAAa,CACtBwG,EAASxG,OAAO,QAAQ,CAAC,MAAM,CACtByG,CAAAA,EAAAA,GAAAA,EAAAA,KACTD,CAAAA,EAAS,CAAC,QAAQ,EAAExG,OAAO,aAAa,CAAC,CAAC,AAAD,EAI3C0G,CAAAA,EAAAA,GAAAA,EAAAA,EAAuB,CAAC,EAAEF,EAAO,mBAAmB,EAAEF,EAAO,CAAC,CAAE,QAAS,GAC3E,EAAG,EAAE,EAECK,EAAkBzR,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,CAAC,CAAE,OAAQ0R,CAAU,CAAE,GAAK9S,EAASqO,EAAAA,EAAgC,CAAC,CAAE,OAAQ,eAAgB,OAAQ,CAAE,IAAKyE,CAAW,CAAE,IAAK,EAAE,EAEjKC,EAA6BnO,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IAOlC,EACL,gBAAiB,CACf,OAAQ,GACR,MAT8B6M,EAAe,CAAC,CAChD,KAAM,CAAC,SAAS,EAAEZ,EAAgB,YAAc,SAAS,CAAC,CAC1D,IAAK4B,CAAAA,EAAAA,EAAAA,EAAAA,EAAe,CAAE,OAAQ5B,EAAgB,oBAAsB,iBAAkB,aAAc,EAAM,GAC1G,aH5BSP,EG6BX,EAAE,CAAG,EAAE,AAML,EACA,aAAc,CAACmB,CACjB,GACC,CAACA,EAAa,EAEXuB,EAAyB5R,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,KACzC,GAAM,CACJ+P,UAAAA,CAAS,CAAE7E,KAAAA,CAAI,CAAE4E,MAAAA,CAAK,CAAE,UAAW+B,CAAQ,CAC5C,CAAGpB,EACJ,MACE,UAACzB,GAAiBA,C,SAChB,UAAC8C,GAAAA,CAAkBA,CAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CACjB,UAAW/B,EACX,SAAU8B,EACV,KAAM3G,EACN,MAAO4E,EACP,aAAcqB,EACd,aAAc,GACd,WAAW,SACX,gBAAiBR,C,EACbgB,G,EAIZ,EAAG,CAACT,EAAgBT,EAAK,EAEnBsB,EAAoB/R,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,KACpC,GAAI,CAACmQ,GAAa6B,CAAAA,EAAAA,EAAAA,EAAAA,IAAoB,MAAO,UAAC,OAAI,UAAU,U,GAE5D,IAAMC,EAAmBjS,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,IAAMuQ,EAAkB,CAACD,GAAmB,EAAE,EAC7E4B,EAASC,CAAAA,EAAAA,GAAAA,EAAAA,IACTC,EAAkBtH,AAAuB,eAAvBA,OAAO,WAAW,CAAoB,UAAY,qBAC1E,MACE,UAACkE,GAAiBA,CAAC,UAAU,8B,SAC3B,UAACqD,GAAAA,CAAuBA,CAAAA,CACtB,mBAAoB/B,EACpB,kBAAmB,GACnB,KAAM,AAACI,EAAwB4B,KAAAA,EAAP7B,EACxB,aAAc,GACd,iBAAkBwB,EAClB,aAAc,CAAE,QAAS,MAAO,EAChC,QAAQ,cACR,YAAa,GACb,UAAW/B,EACX,eAAgB/N,GAAKA,E,SAGnBmO,GACGI,CAAAA,GAAkB,CAACM,GAAuB,UDxD1CtB,GCwDyDA,CAAC,sBAAuB,IAAMuB,EAAuB,IAAO,aAAc,IAAMrS,EAASqO,EAAAA,EAA8B,G,IAC7KoD,GAAgB,CAACQ,GAAiB,UFnErCtB,GEmE6DA,CAAC,mBAAoBuB,C,IACnF,UAAC,OAAI,UAAW,CAAC,iDAAiD,EAAET,EAAe,0BAA4B,GAAG,CAAC,C,SACjH,UAAC,OAAI,UAAU,+B,SACb,UAACkC,GAAAA,CAASA,CAAAA,CACR,aAAcd,EACd,YAAae,GAAe5T,EAASqO,EAAAA,EAAgC,CAACuF,IACtE,OAAQN,EACR,kBAAmB,UAAC,UACpB,mBAAoB,GACpB,kBAAmB,CAAE,SAAU,wBAAM,EACrC,eAAgB,GAChB,KAAK,UACL,wBAAyB,GACzB,QAAQ,cACR,gBAAiBE,EACjB,UAAWK,GAAAA,CAAAA,CAAAA,KAAqB,CAChC,YAAa,CACX,OAAQ,+BACR,SAAU,iCACV,MAAO,8BACP,WAAY,wCACZ,YAAa,wCACf,EACA,cAAe5B,C,WAUjC,EAAG,CAACK,EAAgBT,EAAMH,EAAkBO,EAAeH,EAAgBM,EAAoB,EAE/F,OAAOE,GAAkB,CAACR,EAAiB,UAACkB,EAAAA,CAAAA,GAA4B,UAACG,EAAAA,CAAAA,EAC3E,CAEA9B,CAAAA,GAAiB,SAAS,CAAG,CAC3B,UAAW/N,EAAAA,IAAIA,CACf,UAAWA,EAAAA,IAAIA,CACf,mBAAoBD,EAAAA,IAAIA,AAC1B,EAEAgO,GAAiB,YAAY,CAAG,CAC9B,UAAW,GACX,UAAW,GACX,mBAAoB9N,GAAKA,CAC3B,ECpJA,IAAMuQ,GAAgB,CAAC,CAAEtF,gBAAAA,CAAe,CAAE,IACxC,IAAMxO,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACXgG,EAAe7F,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,eAAyB,EACpD0T,EAAS3T,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,iBAA2B,EAChD0O,EAAc3O,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,cAAwB,EAClDF,EAAgBC,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,gBAA0B,EACtDwQ,EAAgBzQ,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,gBAA0B,EACtD2T,EAAqB5T,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,qBAA+B,EAChE4T,EAAiB7T,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,uBAAiC,EAC9D6T,EAAiB9T,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,oBAA8B,EAC3D8T,EAAe/T,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,eAAyB,EACpDyO,EAAgB3F,CAAAA,EAAAA,EAAAA,EAAAA,IAChB,CAAC6C,EAAkBoI,EAAoB,CAAGC,EAAAA,QAAc,CAAC,EAAE,EAC3D,CAAE3E,QAAAA,CAAO,CAAE,CAAGtP,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,iBAA2B,EACrDoP,EAAUrP,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,UAAoB,EAC1CiU,EAAoBlU,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,gBAA0B,EAC1D,CAAC+O,EAAiBmF,EAAmB,CAAG9P,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IAEjD0K,EAAQvK,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IAAMmP,EAAO,MAAM,CAACS,GAAKzN,CAAAA,EAAAA,EAAAA,EAAAA,EAAMyN,EAAE,oBAAoB,GAAI,CAACT,EAAO,EACjFU,EAAkBV,GAAUA,EAAO,MAAM,EAAI,EAE7CzC,EAAYpF,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,YAE1CwI,EAA4BvF,EAAM,GAAG,CAACpH,GAAS,qBAChDA,GAAAA,CACH,QAAS,UAACqE,GAAQA,CACF,KAAMrE,EACpB,SAAU9B,IAAiB8B,EAAK,EAAE,A,EAD7BA,EAAK,EAAE,C,IAIV4M,EAA2BD,EAA0B,MAAM,EAAI,EAE/DE,EAAmB,KACvB5U,EAAS6M,CAAAA,EAAAA,EAAAA,EAAAA,EAA0BkC,IACnC/O,EAASO,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,OAAQ,uBAAwB,GAC9D,EAQMsU,EAAiBC,CAAAA,EAAAA,EAAAA,EAAAA,EAAY7V,GAAKsV,EAAmBtV,EAAE,MAAM,CAAC,SAAS,EAAG,KAUhF,MARAqB,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACR,IAAMyU,EAAeC,SAAS,aAAa,CAAC,8BAI5C,OAFAD,MAAAA,GAAAA,EAAc,gBAAgB,CAAC,SAAUF,GAElC,IAAME,MAAAA,EAAAA,KAAAA,EAAAA,EAAc,mBAAmB,CAAC,SAAUF,EAC3D,EAAG,EAAE,EAGH,WbyNW3H,GazNKA,C,UACbuH,GACC,UNsDOxF,GMtDSA,CACd,MAAOE,EACP,gBAAiBX,EACjB,gBAAiBY,C,GAInBM,CAAAA,GAAWD,CAAM,GACjB,WAACQ,GAAAA,CAAIA,CAAAA,CAAC,UAAW,CAAC,eAAe,EAAEb,EAAkB,KAAO,CAACrI,CAAAA,EAAAA,EAAAA,EAAAA,EAAMuN,GAAqB,OAAS,GAAG,yCAAyC,CAAC,CAAE,WAAW,S,UACxJ5E,GACC,UAAC,OACC,UAAU,UACV,QAASkF,EACT,UA5Bc3V,GAAKiM,GAAAA,EAAuB,CAACjM,IAAM2V,IA6BjD,SAAS,IACT,KAAK,SACL,aAAYT,E,SAEZ,UAACnS,GAAAA,CAAOA,CAAAA,CAAC,WAAY,E,KAGxByN,GAAW,UAAC,QAAK,UAAU,mB,SAAoBA,C,MAInDkF,GACC,UAAC,OAAI,UAAU,gBAAgB,cAAY,gB,SACzC,UfoDK9K,GepDYA,CACf,yBAA0BuK,EAC1B,MAAOM,EACP,iBAAiB,wBACjB,kBACE,UAAC,OAAI,UAAWnJ,KAAW,cAAe,UAAW,CAAE,SAAUS,EAAiB,QAAQ,CAAC/F,EAAc,G,SACvG,WAAC,OAAI,UAAU,wB,UACb,UAAC,QAAK,UAAU,mB,SACb9G,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,O,GAEL,UAAC,QAAK,UAAU,mB,SACd,UAAC,OACC,UAAU,uBACV,MAAM,6BACN,MAAM,KACN,OAAO,IACP,QAAQ,WACR,KAAK,O,SAEL,UAAC,QACC,OAAO,eACP,cAAc,QACd,eAAe,QACf,YAAY,IACZ,EAAE,c,gBAUnBgB,GAAiB,CAAC8T,GACjB,UXxFO5G,GWwFc4H,CAAC,YAjFJ,KACtBjV,EAASoI,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,GAAIC,GAAAA,EAAAA,CAAAA,YAA8B,CAAE,OAAQ,MAAO,GACjF,EA+E0D,aAAcpC,AAAiB,SAAjBA,C,GAElE+N,GAAsBnD,GAAiB,CAAC/B,GAAiB2F,GAAoB,UTnGtEvG,GSmGqFA,CAAC,aAAc,CAACyG,GAA4B,S,GACxI,CAACzI,OAAO,cAAc,EAAIgI,GAC1B,UD4BO7C,GC5BUA,CACf,UAAWC,EACX,UAAW4C,C,KAKrB,CAEAJ,CAAAA,GAAc,SAAS,CAAG,CACxB,gBAAiB1Q,CAAAA,EAAAA,EAAAA,KAAAA,EAAM,CAAC,EAC1B,EAEA0Q,GAAc,YAAY,CAAG,CAC3B,gBAAiB,CAAC,CACpB,ECtJA,IAAMoB,GAAS,CAAC,CAAEpP,mBAAAA,CAAkB,CAAE,IACpC,IAAMgI,EAAc1N,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,cAAwB,EAClD8U,EAAwB/U,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,wBAAkC,EACtEmO,EAAkBpO,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,kBAA4B,EAC1D+U,EAAoBhV,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,oBAA8B,EAC9DoR,EAAerR,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,eAAyB,EAE1D,MACE,WjBkEWsJ,GiBlEFA,CACP,iBAAkB6E,EAClB,UAAW,CAAC,yBAAyB,EAAE6G,KAAW,CAChD,YAAavH,EACb,aAAcqH,EACd,aAAc,GACd,kBAAmBpO,CAAAA,EAAAA,EAAAA,EAAAA,EAAMqO,IAAsB3D,EAC/CA,aAAAA,EACA,kBAAmB,CAAC1K,CAAAA,EAAAA,EAAAA,EAAAA,EAAMqO,IAAsB3D,CAClD,GAAG,CAAC,CACJ,cAAY,W,UAEX0D,GACC,UlB4KOtP,GkB5KQA,CAAC,mBAAoBC,C,GAEtC,UDiISgO,GCjIKA,CAAC,gBAAiBtF,C,KAGtC,CAEA0G,CAAAA,GAAO,SAAS,CAAG,CACjB,mBAAoB7R,EAAAA,IAAIA,AAC1B,EAEA6R,GAAO,YAAY,CAAG,CACpB,mBAAoB3R,GAAKA,CAC3B,EAEA,OAAeyJ,CAAAA,EAAAA,EAAAA,IAAAA,EAAKkI,IC1Cb,IAAMI,GAAuBrX,GAAAA,EAAAA,CAAAA,GAAU,CAAC;;;;;IAK3C,EAAE,CAAC,CAAEsX,iBAAAA,CAAgB,CAAE,GAAKA,GAAoB;;;;IAIhD,CAAC,CAAC;;;;;;EAMJ,EAAErX,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,SAAuB,EAAIC,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;;;;;;;;;;;;;;EAelD,CAAC,CAAGA,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCZ,CAAC,C,gJC/DD,IAAMoX,GAAmB,CAAC,CAAElI,cAAAA,CAAa,CAAE,GAEvC,UAACmI,GAAAA,CAAWA,CAAAA,CAAC,cAAenI,C,EAIhCkI,CAAAA,GAAiB,SAAS,CAAG,CAC3B,cAAevS,EAAAA,MAAMA,AACvB,EAEAuS,GAAiB,YAAY,CAAG,CAC9B,cAAe,EACjB,E,4DCLA,IAAME,GAAmB,CAAC,CAAE5N,OAAAA,CAAM,CAAE,IAClC,IAAM9H,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAEX0V,EAAYvV,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,mBAA6B,CAACyH,IACtD8N,EAAyBxV,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,oBAA8B,EACnEwV,EAAazV,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,aAAuB,EAChDyV,EAAe1V,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,4BAAsC,EACjE,CACJmC,OAAAA,CAAM,CACP,CAAGmT,EACE1B,EAAiB7T,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,uBAAiC,EAC9D0V,EAAsB3V,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,kBAA4B,EAC9D2V,EAA8B5V,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,yBAAmC,CAACyH,IAC9EmO,EAAoB7V,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,wBAAkC,EAClE6V,EAA+B9V,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,+BAAyC,EAGpF8V,EAAeC,AADGhW,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,OAAiB,CACjB,CAACmC,EAAO,CAEtC,CAAC6T,EAAaC,EAAiB,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,EAAoBzO,GA0CtDoB,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAEjB,MACE,UAACqN,GAAAA,CAAgBA,CAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,EACXV,GAAAA,CACJ,SAAUQ,EACV,2BAA4B,GAC5B,0BAA2BrC,EAC3B,kBAAmB8B,EACnB,qBAAsBU,GAAAA,CAAkBA,CACxC,QApBuB,CACzB,YA3BsB,AAAC,I,GAAA,CAAE1Q,UAAAA,CAAS,CAAc,GAAT2Q,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,EAAAA,CAAd3Q,Y,EACzB/F,EAASqO,EAAAA,EAAwC,CAACtI,EAAW+B,EAAQ4O,GACvE,EA0BE,aAhCuB,AAAC,I,GAAA,CAAE3Q,UAAAA,CAAS,CAAc,GAAT2Q,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,EAAAA,CAAd3Q,Y,EAC1B/F,EAASqO,EAAAA,EAAqC,CAAC7L,EAAQuD,EAAW2Q,GACpE,EA+BE,mBAzB6B3Q,IAC7B/F,EAASqO,EAAAA,EAAuC,CAAC,CAAEtI,UAAAA,EAAW+B,OAAAA,CAAO,GACvE,EAwBE,kBAtB4B/B,IAC5B/F,EAASqO,EAAAA,EAAqC,CAACvG,EAAQ/B,EAAW,IACpE,EAqBE,eAnByB4Q,IACzB3W,EAASqO,EAAAA,EAA2C,CAAC,CAAE,sBAAuBsI,CAAO,GACvF,EAkBE,mBAhB6B,KACzBT,GACFlW,EAASqO,EAAAA,EAAsC,CAAC,CAAE,KAAMtF,GAAAA,CAAAA,CAAAA,wBAA+B,AAAC,GAE5F,EAaE,iBAX2B6N,IAC3B5W,EAASqO,EAAAA,EAAsC,CAAC,CAAEvG,OAAAA,EAAQ,YAAa8O,CAAa,GACtF,CAUA,EAaI,aAAcT,EACd,iBAAkBH,EAClB,kBAAmBC,GAAqBL,EACxC,WAAYC,EACZ,YAAaQ,EACb,SAAUnN,C,GAGhB,CAEAwM,CAAAA,GAAiB,SAAS,CAAG,CAC3B,OAAQzS,EAAAA,MAAMA,AAChB,EAEAyS,GAAiB,YAAY,CAAG,CAC9B,OAAQ,EACV,E,kBC7FA,IAAMmB,GAAkB,CAAC,CAAEtK,GAAAA,CAAE,CAAE3M,MAAAA,CAAK,CAAE,GACpC,uB,UACE,UAAC6W,GAAAA,CAAkBA,CAAAA,CAAC,MAAO,CAAE,SAAU,OAAQ,WAAY,SAAU,aAAc,MAAO,EAAG,UAAU,Q,SAAS7W,C,GAChH,UAACkX,GAAAA,CAAoBA,CAAAA,C,SACnB,UD2FSpB,GC3FQA,CAAC,OAAQnJ,C,OAKhCsK,CAAAA,GAAgB,SAAS,CAAG,CAC1B,GAAI5T,EAAAA,MAAMA,CACV,MAAOA,EAAAA,MAAMA,AACf,EAEA4T,GAAgB,YAAY,CAAG,CAC7B,GAAI,GACJ,MAAO,EACT,E,2HCpBO,IAAME,GAAkBpT,GAAAA,EAAAA,CAAAA,GAAU,CAAC;YAC9B,EAAE,CAAC,CAAEqT,WAAAA,CAAU,CAAE,GAAO,AAAEA,GAAcA,IAAeC,GAAAA,EAAAA,CAAAA,IAAuB,CAAI,UAAY,OAAQ;AAClH,CAAC,C,kBCID,IAAMC,GAAc,AAAC,I,GAAA,CAAEC,gBAAAA,CAAe,CAAY,GAAP9X,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,EAAAA,CAApB8X,kB,EACrB,IAAMnX,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACX,CAAEsM,GAAAA,CAAE,CAAEyK,WAAAA,CAAU,CAAEI,YAAAA,CAAW,CAAE,CAAG/X,EAClCgY,EAAmBC,GAAAA,CAAAA,CAAAA,eAA4B,CAACpP,GAAAA,EAAAA,CAAAA,SAAoB,EAEpE0E,EAAcxL,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,KAC9B,GAAI,EAAC4V,IAAc,CAACI,EAIpBpX,EAASqO,EAAAA,EAAgC,CAAC,CAAE,OAAQ,sBAAuB,OAAQ,CAAE,OAAQ9B,EAAI,WAAYyK,CAAW,CAAE,IAE1HK,EAAiB,cAAc,CAC7BL,EACA,CACEzK,GAAAA,EACAyK,WAAAA,EACA,MAAOI,EACPD,gBAAAA,EACAnX,SAAAA,CACF,EAEJ,EAAG,CAACgX,EAAYI,EAAY,EAE5B,MACE,UAACL,GAAeA,CACd,QAASnK,EACT,WAAYoK,E,SAEZ,UAACO,GAAAA,CAAQA,CAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,EAAKlY,G,EAGpB,CAEA6X,CAAAA,GAAY,SAAS,CAAG,CACtB,GAAIM,IAAAA,MAAAA,CAAAA,UAA2B,CAC/B,WAAYA,IAAAA,MAAgB,CAC5B,YAAaA,IAAAA,MAAgB,CAC7B,gBAAiBA,IAAAA,IAAc,AACjC,EAEAN,GAAY,YAAY,CAAG,CACzB,WAAY,GACZ,YAAa,GACb,gBAAiB3T,GAAKA,CACxB,ECnDO,IAAMkU,GAA4BvV,GAKhCwV,AAJM,EACX,CAACxP,GAAAA,EAAAA,CAAAA,SAAoB,CAAC,CDmDXgP,EClDb,EAEW,CAAChV,EAAK,EDgDJgV,G,8CE1Cf,IAAMS,GAAatY,IACjB,GAAM,CAAEkN,GAAAA,CAAE,CAAEqL,mBAAAA,CAAkB,CAAE,CAAGvY,EAC7BW,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACX4X,EAAOzX,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,iBAA2B,CAACkM,IAC/CuL,EAAY1X,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,kBAA4B,CAACkM,IACrDwL,EAAU3X,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,mBAA6B,CAACkM,IACpDyL,EAAwB5X,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,yBAAmC,CAACuX,IACxE,CAAEZ,WAAAA,CAAU,CAAEI,YAAAA,CAAW,CAAE,CAAGY,EAC9BC,EAAc7X,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,iBAA2B,CAACkM,IACtD2L,EAAS9X,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,qBAA+B,CAACkM,IACrD,EAAG4L,EAAU,CAAG1T,CAAAA,EAAAA,EAAAA,QAAAA,EAASyT,MAAAA,EAAAA,EAAU,GAmBnC,CAACE,EAAmB,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,EARZ,KACfF,EAAUG,IACR,IAAMC,EAAYD,EAAaE,GAAAA,CAAcA,CAE7C,OADAxY,EAASqO,EAAAA,EAAqC,CAAC,CAAE,OAAQ9B,EAAI,OAAQ+L,CAAW,IACzEC,CACT,EACF,EAEuD,CAAE,QAASR,EAASD,UAAAA,CAAU,UAErF,AAAIW,KAAQZ,GACH,KAIP,WAAC,O,UACC,UAACa,GAAAA,CAAIA,CAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,EACCrZ,GAAAA,CACJ,KAAMwY,EACN,oBAAqBJ,GACrB,sBAAuBO,EACvB,YA9BkBW,IAClB3B,IAAeC,GAAAA,EAAAA,CAAAA,UAA6B,EAAIG,IAAgBa,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAa,EAAE,AAAD,GAChFjY,EAASqO,EAAAA,EAA4D,CAAC,CACpE9B,GAAAA,EACAoM,MAAAA,CACF,GAEJ,EAwBM,IAAKP,C,IAILL,GAAWD,GACX,UAAC,O,SACC,UAACc,GAAAA,CAAWA,CAAAA,C,SAEV/T,OAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAM,UAACgU,GAAAA,CAAmBA,CAAAA,CAAAA,G,OAQ9D,CAEAlB,CAAAA,GAAW,SAAS,CAAG,CACrB,GAAI1U,KAAAA,UAAiB,CACrB,mBAAoBA,KAAAA,UAAiB,AACvC,E,8CC3EO,IAAM6V,GAAenV,GAAAA,EAAAA,CAAAA,GAAU,CAAC;YAC3B,EAAE,CAAC,CAAEqT,WAAAA,CAAU,CAAE,GAAO,AAAEA,GAAcA,IAAeC,GAAAA,EAAAA,CAAAA,IAAuB,CAAI,UAAY,OAAQ;;eAEnG,EAAE,CAAC,CAAE8B,MAAAA,CAAK,CAAE,GAAKA,EAAM;QAC9B,EAAE,CAAC,CAAEA,MAAAA,CAAK,CAAEC,OAAAA,CAAM,CAAE,GAAK5a,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC,eAAe,EAAE2a,EAAM,CAAC,EAAEC,EAAO,EAAE,CAAC,CAAC;;AAE1E,CAAC,CCCKC,GAAa,AAAC,I,GAAA,CAAE9B,gBAAAA,CAAe,CAAY,GAC/C,GAAM,CACJ+B,SAAAA,CAAQ,CAAEC,QAAAA,CAAO,CAAE5M,GAAAA,CAAE,CAAEyK,WAAAA,CAAU,CAAEI,YAAAA,CAAW,CAAE2B,MAAAA,CAAK,CAAEC,OAAAA,CAAM,CAAEI,OAAAA,CAAM,CACtE,CAHuC/Z,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,EAAAA,CAApB8X,kB,EAIdnX,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACXoZ,EAAoB/B,GAAAA,CAAAA,CAAAA,eAA4B,CAACpP,GAAAA,EAAAA,CAAAA,KAAgB,EAevE,MACE,UAAC4Q,GAAYA,CACX,QAfgB,KAClBO,EAAkB,cAAc,CAC9BrC,EACA,CACEzK,GAAAA,EACAyK,WAAAA,EACA,MAAOI,EACPD,gBAAAA,EACAnX,SAAAA,CACF,EAEJ,EAKI,WAAYgX,EACZ,MAAO+B,EACP,OAAQC,EACR,OAAQjS,CAAAA,EAAAA,EAAAA,EAAAA,EAAMqS,G,SAEd,UAACE,GAAAA,CAAKA,CAAAA,CACJ,MAAOP,EACP,OAAQC,EACR,SAAUE,EACV,QAASC,EACT,oBAAqBI,GAAAA,CAAeA,A,IAI5C,CAEAN,CAAAA,GAAW,SAAS,CAAG,CACrB,GAAIhW,EAAAA,MAAAA,CAAAA,UAAiB,CACrB,SAAUA,EAAAA,MAAMA,CAChB,QAASA,EAAAA,MAAMA,CACf,WAAYA,EAAAA,MAAMA,CAClB,YAAaA,EAAAA,MAAMA,CACnB,MAAOA,EAAAA,MAAMA,CACb,OAAQA,EAAAA,MAAMA,CACd,gBAAiBI,EAAAA,IAAIA,CACrB,OAAQJ,EAAAA,MAAMA,AAEhB,EACAgW,GAAW,YAAY,CAAG,CACxB,SAAU,GACV,QAAS,GACT,WAAY,GACZ,YAAa,GACb,MAAO,GACP,OAAQ,GACR,gBAAiB1V,GAAKA,EACtB,OAAQ,EAEV,EAEA,OAAeyJ,CAAAA,EAAAA,EAAAA,IAAAA,EAAKiM,I,cCrDb,IAAMO,GAA+BtX,GAqBnCwV,AApBM,EACX,CAACxP,GAAAA,EAAAA,CAAAA,IAAe,CAAC,CAAEuR,GAAAA,CAAaA,CAChC,CAACvR,GAAAA,EAAAA,CAAAA,OAAkB,CAAC,CAAEwR,GAAAA,CAAWA,CACjC,CAACxR,GAAAA,EAAAA,CAAAA,QAAmB,CAAC,CAAEyR,GAAAA,CAAYA,CACnC,CAACzR,GAAAA,EAAAA,CAAAA,SAAoB,CAAC,CAAE0R,GAAAA,CAAaA,CACrC,CAAC1R,GAAAA,EAAAA,CAAAA,IAAe,CAAC,CAAE2R,GAAAA,CAAaA,CAChC,CAAC3R,GAAAA,EAAAA,CAAAA,UAAqB,CAAC,CAAE4R,GAAAA,CAAWA,CACpC,CAAC5R,GAAAA,EAAAA,CAAAA,WAAsB,CAAC,CAAE4R,GAAAA,CAAWA,CACrC,CAAC5R,GAAAA,EAAAA,CAAAA,YAAuB,CAAC,CAAE4R,GAAAA,CAAWA,CACtC,CAAC5R,GAAAA,EAAAA,CAAAA,SAAoB,CAAC,CAAE6R,GAAAA,CAAQA,CAChC,CAAC7R,GAAAA,EAAAA,CAAAA,QAAmB,CAAC,CAAE8R,GAAAA,CAAYA,CACnC,CAAC9R,GAAAA,EAAAA,CAAAA,KAAgB,CAAC,CAAE+Q,GACpB,CAAC/Q,GAAAA,EAAAA,CAAAA,MAAiB,CAAC,CAAE+R,GAAAA,CAAeA,CACpC,CAAC/R,GAAAA,EAAAA,CAAAA,OAAkB,CAAC,CThBTsN,GSiBX,CAACtN,GAAAA,EAAAA,CAAAA,MAAiB,CAAC,CAAEgS,GAAAA,CAAUA,CAC/B,CAAChS,GAAAA,EAAAA,CAAAA,YAAuB,CAAC,CPXd2O,GOYX,CAAC3O,GAAAA,EAAAA,CAAAA,IAAe,CAAC,CH2CNyP,GG1CX,CAACzP,GAAAA,EAAAA,CAAAA,SAAoB,CAAC,CLkBXgP,GKjBX,CAAChP,GAAAA,EAAAA,CAAAA,KAAgB,CAAC,CAAEiS,GAAAA,CAAOA,AAC7B,EACW,CAACjY,EAAK,EAAIkY,GAAAA,CAAQA,C,gCClC/B,IAAMC,GAAUhb,IACd,GAAM,CACJ6C,KAAAA,CAAI,CAAEoY,QAAAA,CAAO,CACbjZ,SAAAA,CAAQ,CAET,CAAGhC,EADCkb,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EACDlb,EAAAA,CAHF6C,OAAMoY,UACNjZ,W,EAIImZ,EAAoBxZ,CAAAA,EAAAA,EAAAA,MAAAA,IAEpByZ,EAAoB1b,OAAO,OAAO,CAACwb,GAAM,MAAM,CAAC,CAACG,EAAM,CAACC,EAAKC,EAAM,GACvE,AAAID,AAAQ,UAARA,EACK,YAAKD,GAEP,qBAAKA,GAAAA,CAAM,CAACC,EAAI,CAAEC,C,GACxB,CAAC,GAEJ,MACE,UAACC,GAAAA,CAAgBA,CAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CACf,IAAKL,EACL,UAAU,S,EACNC,GAAAA,CACJ,KAAMvY,E,SAELb,C,GAGP,CAEAgZ,CAAAA,GAAQ,SAAS,CAAG,mBAClB,KAAMS,CAAAA,EAAAA,EAAAA,KAAAA,EAAM/b,OAAO,MAAM,CAACmJ,GAAAA,EAAUA,E,EACjC6S,GAAAA,EAAmBA,EAAAA,CACtB,SAAUC,GAAAA,EAAAA,CAAAA,UAAqB,A,GAGjCX,GAAQ,YAAY,CAAG,UACrB,KAAMnS,GAAAA,EAAAA,CAAAA,IAAe,A,EAClB+S,GAAAA,EAAsBA,EC9B3B,IAAMC,GAAkBC,CAAAA,EAAAA,A,WAAAA,CAAAA,EAAS,IAAM,0EAwIvC,OArIwBC,GAAoB/b,IAC1C,GAAM,CACJkN,GAAAA,CAAE,CAAErK,KAAAA,CAAI,CAAEoY,QAAAA,CAAO,CAAE1a,MAAAA,CAAK,CAAEyb,YAAAA,CAAW,CAAEC,aAAAA,CAAY,CAAEC,UAAAA,CAAS,CAC/D,CAAGlc,EAEEW,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAEXub,EAAmB,CACvBtT,GAAAA,EAAAA,CAAAA,QAAmB,CACnBA,GAAAA,EAAAA,CAAAA,IAAe,CACfA,GAAAA,EAAAA,CAAAA,KAAgB,CACjB,CAmBKuT,EAAsBC,AAjBG,MAC7B,OAAQxZ,GACN,KAAKgG,GAAAA,EAAAA,CAAAA,QAAmB,CACtB,MAAO,CAAC,CAACoS,CACX,MAAKpS,GAAAA,EAAAA,CAAAA,IAAe,CAClB,MAAOyT,CAAAA,EAAAA,EAAAA,EAAAA,EAAgCC,CAAAA,EAAAA,EAAAA,EAAAA,EAAkBhc,GAC3D,MAAKsI,GAAAA,EAAAA,CAAAA,KAAgB,CACnB,MAAO0T,CAAAA,EAAAA,EAAAA,EAAAA,EAAkBL,EAC3B,SACE,GAAID,EACF,MAAO,CAAC,CAACD,CAIf,CACF,KAIMQ,EAAqBL,EAAiB,QAAQ,CAACtZ,IAASoZ,EAE9D,GAAI,CAACO,GAAuBA,GAAsB,CAACJ,EACjD,MAAO,UAACL,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,EAAqB/b,IAI/B,IAAMyc,EAAmB1a,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,KAQnC,IAAM2a,EAASC,AANK,CAClB,CAAC9T,GAAAA,EAAAA,CAAAA,QAAmB,CAAC,CAAE,sBACvB,CAACA,GAAAA,EAAAA,CAAAA,IAAe,CAAC,CAAE,kBACnB,CAACA,GAAAA,EAAAA,CAAAA,WAAsB,CAAC,CAAE,wBAC1B,CAACA,GAAAA,EAAAA,CAAAA,KAAgB,CAAC,CAAE,kBACtB,CAC0B,CAAChG,EAAK,CAChClC,EAASqO,EAAAA,EAAgC,CAAC,CAAE0N,OAAAA,EAAQ,OAAQ,CAAE,OAAQxP,CAAG,CAAE,GAC7E,EAAG,CAACrK,EAAK,EAEH+Z,EAAQ,CACZ,CAAC/T,GAAAA,EAAAA,CAAAA,QAAmB,CAAC,CAAEoS,EACvB,CAACpS,GAAAA,EAAAA,CAAAA,IAAe,CAAC,CAAEyT,CAAAA,EAAAA,EAAAA,EAAAA,EAAgC/b,GACnD,CAACsI,GAAAA,EAAAA,CAAAA,WAAsB,CAAC,CAAEmT,EAC1B,CAACnT,GAAAA,EAAAA,CAAAA,KAAgB,CAAC,CAAEqT,CACtB,EAEMW,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACXC,EAAgBC,CAAAA,EAAAA,EAAAA,EAAAA,KAAWJ,CAAK,CAAC/Z,EAAK,CAAC,UAAU,CAACga,GAGlDI,EACJ,UAAC,KACC,KAAML,CAAK,CAAC/Z,EAAK,CACjB,IAAI,sBACJ,QAAS4Z,EACT,UAAU,yBACV,SAAU5Z,IAASgG,GAAAA,EAAAA,CAAAA,QAAmB,CACtC,OAAQkU,EAAgB,QAAU,S,SAElC,UAAChB,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,EAAqB/b,G,GAO1B,GAAIkd,AAHe,CACjBrU,GAAAA,EAAAA,CAAAA,IAAe,CAChB,CAAC,QAAQ,CAAChG,IACOoZ,EAChB,OAAOgB,EAIT,GAAM,CAACE,EAAiBC,EAAiB,CAAGhY,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IAC/CiY,EAAoBtb,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,KACpCqb,EAAiB,IACjBzc,EAASqO,EAAAA,EAAgC,CAAC,CAAE,OAAQ,oBAAqB,OAAQ,CAAE,OAAQ9B,CAAG,CAAE,GAElG,EAAG,EAAE,EACCoQ,EAAqBvb,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,IAAMqb,EAAiB,IAAQ,EAAE,EAElEG,EAAaxb,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,KAC7B0a,GACF,EAAG,EAAE,EAECe,EAAiBzb,CAAAA,EAAAA,EAAAA,WAAAA,EAAYnC,GAAMiM,GAAAA,EAAuB,CAACjM,IAAMyd,IAAsB,EAAE,EAW/F,MACE,uB,UACE,UAAC,OACC,MAAO,CAAE,OAAQ,SAAU,EAC3B,QAASA,EACT,WAAYG,EACZ,UAAU,yBACV,KAAK,SACL,SAAU,EACV,aAAYC,AAlBG,MACnB,GAAQ5a,IACDgG,GAAAA,EAAAA,CAAAA,QAAmB,CACtB,MAAO,oBAEP,MAAO,YAEb,K,SAaM,UAACkT,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,EAAqB/b,G,GAEvBmd,GACC,UAACO,EAAAA,QAAQA,CAAAA,CAAC,SAAU,yB,SAClB,UAAC7B,GAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,EACK7b,GAAAA,CACJ,QAASsd,EACT,WAAYC,C,QAMxB,ECnIA,IAAMI,GAAgB,CAAC,CACrBlV,OAAAA,CAAM,CACN5F,KAAAA,CAAI,CACJkX,OAAAA,CAAM,CACN6D,SAAAA,CAAQ,CACRpV,aAAAA,CAAY,CACZqV,gBAAAA,CAAe,CACfC,eAAAA,CAAc,CACdC,MAAAA,CAAK,CACN,IACC,IAAMpd,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAGX,CAAE,OAAQod,CAAc,CAAE,CAFPjd,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,mBAA6B,EAG5Did,EAAkB1Y,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IAAM2Y,GFiBzBlD,IEjBmD,EAAE,EAE5D,CAAEmD,gBAAAA,CAAe,CAAEnC,YAAAA,CAAW,CAAEE,UAAAA,CAAS,CAAE,CAAG2B,EAwB9C5B,EAAemC,AAtBU,MAC7B,IAAMC,EAAuB,CAAC,MAAO,QAAQ,CAC7C,GAAI,CAACC,GAAAA,EAAAA,CAAAA,QAA4B,CAACzb,GAChC,MAAO,GAGT,IAAM0b,EAAmBF,EAAqB,QAAQ,CAACF,GAEvD,OAAQ,IACN,KAAKtb,IAASgG,GAAAA,EAAAA,CAAAA,WAAsB,EAAI0V,EACtC,MAAO,EACT,MAAK1b,IAASgG,GAAAA,EAAAA,CAAAA,WAAsB,EAAI,CAAC0V,EACvC,GAAM,CAAEC,SAAAA,CAAQ,CAAE,CAAG,IAAIC,IAAIzC,GACvB,EAAG0C,EAAiB,CAAGF,EAAS,KAAK,CAAC,KAC5C,OAAOH,EAAqB,QAAQ,CAACK,EACvC,MAAK7b,IAASgG,GAAAA,EAAAA,CAAAA,KAAgB,CAC5B,MAAO,CAAC,CAACqT,CACX,SACE,MAAO,EACX,CACF,KAIMyC,EAAgBpZ,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IAAM4U,GAA6BtX,IAE3D+b,EAAUjd,CAAAA,EAAAA,EAAAA,MAAAA,IAEhBE,GAAAA,EAA0B,CAAC,KACrB+c,EAAQ,OAAO,EAAIZ,IAAmBvV,IACxCmW,EAAQ,OAAO,CAAC,cAAc,GAC9Bje,EAASmI,CAAAA,EAAAA,EAAAA,EAAAA,EAAuB,CAAC,IAErC,EAAG,CAACkV,EAAgBY,EAAQ,OAAO,CAAC,EAEpC,IAAM/U,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAEjB,MACE,UAAC,MACC,IAAK8U,EACL,UAAW5I,KAAW,CACpB,OAAQ6I,CAAAA,EAAAA,EAAAA,EAAAA,EAAgB,CACtBhc,KAAAA,EAAMkX,OAAAA,EAAQvR,aAAAA,EAAcqB,SAAAA,EAAU+T,SAAAA,EAAUE,eAAAA,EAAgB,UAAW,EAC7E,EACF,G,SAGA,UAACG,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,EAAoBJ,GAAAA,CAAiB,aAAc5B,E,SAClD,UAAC0C,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,EAAkBb,GAAAA,CAAgB,MAAOC,EAAO,aAAc9B,C,QAH5DxT,EAOX,CAEAkV,CAAAA,GAAc,SAAS,CAAG,CACxB,OAAQ/Z,EAAAA,MAAMA,CACd,MAAOA,EAAAA,MAAMA,CACb,KAAMA,EAAAA,MAAMA,CACZ,OAAQA,EAAAA,MAAMA,CACd,aAAcA,EAAAA,MAAMA,CACpB,gBAAiBG,CAAAA,EAAAA,EAAAA,KAAAA,EAAM,CAAC,GACxB,eAAgBA,CAAAA,EAAAA,EAAAA,KAAAA,EAAM,CAAC,GACvB,SAAUH,EAAAA,MAAMA,AAClB,EAEA+Z,GAAc,YAAY,CAAG,CAC3B,OAAQ,GACR,MAAO,GACP,KAAM,GACN,OAAQ,GACR,aAAc,GACd,gBAAiB,CAAC,EAClB,eAAgB,CAAC,EACjB,SAAU,EACZ,EAEA,OAAehQ,CAAAA,EAAAA,EAAAA,IAAAA,EAAKgQ,I,aCxFpB,IAAMmB,GAAyB,CAAC,CAC9BC,iBAAAA,CAAgB,CAChBC,SAAAA,CAAQ,CACRC,sBAAAA,CAAqB,CACrBC,YAAAA,CAAW,CACXrY,SAAAA,CAAQ,CACRsY,YAAAA,CAAW,CACXC,cAAAA,CAAa,CACblc,MAAAA,CAAK,CACLmc,WAAAA,CAAU,CACVxK,eAAAA,CAAc,CACd5B,eAAAA,CAAc,CACd1L,0BAAAA,CAAyB,CACzB+X,WAAAA,CAAU,CACVvB,MAAAA,CAAK,CACLwB,WAAAA,CAAU,CACV7W,KAAAA,CAAI,CACL,IACC,IAAM/H,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACX,CAAE,GAAI4e,CAAM,CAAEC,aAAAA,CAAY,CAAE,CAAG/W,EAGrCzH,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACJwe,GACF9e,EAASqO,EAAAA,EAAiC,CAAC,CAAEwQ,OAAAA,CAAO,GAExD,EAAG,CAACA,EAAQC,EAAcvc,EAAM,EAEhC,GAAM,CAAE,KAAMwc,CAAgB,CAAE,UAAWC,CAAe,CAAE,CAAG5e,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,SAAmB,CAACwe,IAEzFI,EAAmCC,GAEvC,AAAIC,AADqBC,CAAAA,EAAAA,EAAAA,EAAAA,KACDrY,CAAAA,EAAAA,EAAAA,EAAAA,EAAMmY,EAAa,MAAM,EACxC,SAEFA,EAAa,iBAAiB,CAGjCG,EAAeje,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,CAACuU,EAAW2J,EAAWC,EAAcC,KACpE,GAAM,CACJjT,GAAAA,CAAE,CACFkT,gBAAAA,CAAe,CACfC,gBAAAA,CAAe,CACfC,kBAAAA,CAAiB,CACjBvG,OAAAA,CAAM,CACNlX,KAAAA,CAAI,CACJ0d,SAAAA,CAAQ,CACRhgB,MAAAA,CAAK,CACLigB,QAAAA,CAAO,CACPC,aAAAA,CAAY,CACZC,SAAAA,CAAQ,CACRC,cAAAA,CAAa,CACbC,gBAAAA,CAAe,CACfpY,aAAAA,CAAY,CACZqY,YAAAA,CAAW,CACZ,CAAGvK,EAEEwK,EAAyBlB,EAAiCtJ,GAE1DyK,EAAiBC,CAAAA,EAAAA,GAAAA,CAAAA,EAAYne,IAC9B6E,CAAAA,EAAAA,EAAAA,EAAAA,EAAM+Y,IAAkB/Y,CAAAA,EAAAA,EAAAA,EAAAA,EAAM0Y,GAqB7Ba,EAAe,8BAChB3K,GAAAA,CACH,kBAAmBwK,EACnB,SAAUC,EACV,aAvBmB/gB,GAEjB,UAAC+e,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CACC,gBAAiBqB,EACjB,gBAAiBC,EACjB,kBAAmBC,EACnB,OAAQvG,EACR,SAAUwG,EACV,KAAM1d,EACN,aAAc4d,EACd,QAASC,EACT,cAAeC,EACf,gBAAiBC,EACjB,YAAaC,C,EACT7gB,IAURgf,SAAAA,C,GACI,AAACtX,CAAAA,EAAAA,EAAAA,EAAAA,EAAM8Y,IAAY3d,IAASgG,GAAAA,EAAAA,CAAAA,IAAe,CAA0C,CAAC,EAAvC,CAAE,oBAAqB,IAAM,IAAK,GAGjFqY,EAAehB,GAAgBC,GAAgB,CAACtT,OAAO,cAAc,CAE3E,OAAQhK,GACN,KAAKgG,GAAAA,EAAAA,CAAAA,IAAe,CAClB,IAAMsY,EAAelC,EAAsB/R,EAAI1E,GAEzC4Y,EAAiB1Z,CAAAA,EAAAA,EAAAA,EAAAA,EAAMc,GAW7B9I,OAAO,MAAM,CAACuhB,EATQ,CACpBE,aAAAA,EACAD,aAAAA,EACAhB,aAAAA,EACAC,aAAAA,EACAtZ,SAAAA,EACA,QAAS1D,GAAU+b,EAAY/b,EAAQ0F,GAAAA,EAAAA,CAAAA,IAAe,CAAEtI,EAAO6gB,EACjE,GAGA,KACF,MAAKvY,GAAAA,EAAAA,CAAAA,UAAqB,CAIxBnJ,OAAO,MAAM,CAACuhB,EAHK,CACjB,QAASva,GAAawY,EAAYxY,EAAWmC,GAAAA,EAAAA,CAAAA,UAAqB,CACpE,GAEA,KACF,MAAKA,GAAAA,EAAAA,CAAAA,WAAsB,CAIzBnJ,OAAO,MAAM,CAACuhB,EAHM,CAClB,QAASva,GAAawY,EAAYxY,EAAWmC,GAAAA,EAAAA,CAAAA,WAAsB,CACrE,GAEA,KACF,MAAKA,GAAAA,EAAAA,CAAAA,YAAuB,CAI1BnJ,OAAO,MAAM,CAACuhB,EAHO,CACnB,QAASva,GAAawY,EAAYxY,EAAWmC,GAAAA,EAAAA,CAAAA,YAAuB,CACtE,GAEA,KACF,MAAKA,GAAAA,EAAAA,CAAAA,SAAoB,CAKvBnJ,OAAO,MAAM,CAACuhB,EAJI,CAChB,QAASva,GAAawY,EAAYxY,EAAWmC,GAAAA,EAAAA,CAAAA,SAAoB,EACjEqY,aAAAA,CACF,GAEA,KACF,MAAKrY,GAAAA,EAAAA,CAAAA,IAAe,CAClB,GAAM,CAAE,MAAOwY,CAAS,CAAE,YAAaC,CAAe,CAAEC,aAAAA,EAAe,EAAE,CAAE,CAAGN,EAE9EvhB,OAAO,MAAM,CAACuhB,EAAc,CAC1B,MAAOK,GAAmBC,GAAgBzhB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,QAC5C,YAAauhB,CACf,GACA,KACF,MAAKxY,GAAAA,EAAAA,CAAAA,MAAiB,CACpBnJ,OAAO,MAAM,CAACuhB,EAAc,CAAE,gBAAiB3B,EAAY,gBAAiBC,CAAW,GACvF,KACF,MAAK1W,GAAAA,EAAAA,CAAAA,SAAoB,CAIzB,KAAKA,GAAAA,EAAAA,CAAAA,KAAgB,CAHnBnJ,OAAO,MAAM,CAACuhB,EAAc,CAAE,gBAAiB3B,CAAW,GAC1D,KAMF,MAAKzW,GAAAA,EAAAA,CAAAA,YAAuB,CAC5B,KAAKA,GAAAA,EAAAA,CAAAA,MAAiB,CACpBnJ,OAAO,MAAM,CAACuhB,EAAc,CAAE,QAAS,EAAM,EAIjD,CAEA,OAAOA,CACT,EAAG,CAAChC,EAAuBD,EAAS,EAE9BwC,EAAsBC,CAAAA,EAAAA,EAAAA,EAAAA,IAE5B,MACE,UAACC,GAAAA,CAAiBA,CAAAA,CAChB,UAAU,4BACV,QAASvC,EACT,cAAezX,CAAAA,EAAAA,EAAAA,EAAAA,EAAM0X,G,SAErB,UAACuC,GAAAA,CAAeA,CAAAA,CAAC,UAAU,WAAW,OAAQ,G,SAG1ChC,EACE,WAAC/O,GAAAA,CAAIA,CAAAA,CACH,UAAU,SACV,UAAU,8B,UAEV,UAAC,OAAI,UAAU,wC,GACf,UAAC,OAAI,UAAU,2C,GACf,UAAC,OAAI,UAAU,+B,SACb,WAACA,GAAAA,CAAIA,CAAAA,CAAC,UAAU,SAAS,UAAU,kB,UACjC,UAAC,OAAI,UAAU,wC,GACf,UAAC,OAAI,UAAU,wC,WAKnB1N,EAAM,MAAM,CACVA,EAAM,GAAG,CAAEoT,QAiBSsL,EAhBpB,GAAM,CACJ,GAAInZ,CAAM,CACV5F,KAAAA,CAAI,CACJkX,OAAAA,CAAM,CACNvR,aAAAA,CAAY,CACZoV,SAAAA,CAAQ,CACT,CAAGtH,EACE2J,EAAY4B,CAAAA,EAAAA,GAAAA,EAAAA,EAAgBvL,EAAU,IAAI,CAAE+I,GAC5CyC,EAAwB,YAAK7B,EAAc3J,GAC3CuH,EAAkB,qBACnBiE,EACAN,GAAAA,CACH,kBAAmB5B,EAAiCkC,E,GAGhDhE,EAAiBkC,EAAanC,EAAiBoC,EAAWpL,EAAgB5B,EAAgB1L,GAC1Fwa,EAAcH,AAA0B,OAA1BA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,CAAkB,CAACnZ,EAAO,AAAD,GAAzBmZ,KAAAA,IAAAA,EAAAA,EAA8B,CAAC,EAC7CI,EAAmBC,CAAAA,EAAAA,GAAAA,CAAAA,EAAuB,YAAKnE,EAAmBiE,IAExE,MACE,UAACpE,GAAaA,CAEZ,OAAQlV,EACR,KAAM5F,EACN,OAAQkX,EACR,aAAcvR,EACd,gBAAiBqV,EACjB,eAAgBmE,EAChB,MAAOjE,EACP,SAAUH,C,EARLnV,EAWX,GACE,UAAC,OAAI,MAAO,CAAE,UAAW,QAAS,E,SAAI3I,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,sC,MAKxD,CAEAgf,CAAAA,GAAuB,SAAS,CAAG,CACjC,iBAAkBoD,EAAAA,WAAWA,CAC7B,SAAUle,EAAAA,IAAIA,CACd,sBAAuBA,EAAAA,IAAIA,CAC3B,SAAUJ,EAAAA,MAAMA,CAChB,YAAaA,EAAAA,MAAMA,CACnB,cAAeA,EAAAA,MAAMA,CACrB,MAAOE,CAAAA,EAAAA,EAAAA,OAAAA,EAAQC,CAAAA,EAAAA,EAAAA,KAAAA,EAAM,CAAC,IACtB,WAAYH,EAAAA,MAAMA,CAClB,eAAgBK,EAAAA,IAAIA,CACpB,eAAgBA,EAAAA,IAAIA,CACpB,0BAA2BL,EAAAA,MAAMA,CACjC,WAAYI,EAAAA,IAAIA,CAChB,MAAOJ,EAAAA,MAAMA,CACb,YAAaI,EAAAA,IAAIA,CACjB,WAAYA,EAAAA,IAAIA,CAChB,KAAMme,EAAAA,MAAMA,AACd,EAEArD,GAAuB,YAAY,CAAG,CACpC,iBAAkB9e,GAAS,UAAC,kBAAQA,IACpC,SAAUkE,GAAKA,EACf,sBAAuBA,GAAKA,EAC5B,SAAU,GACV,YAAa,GACb,cAAe,GACf,MAAO,CAAC,CAAC,EAAE,CACX,WAAY,GACZ,eAAgB,GAChB,eAAgB,GAChB,0BAA2B,GAC3B,WAAYA,GAAKA,EACjB,MAAO,GACP,YAAaA,GAAKA,EAClB,WAAYA,GAAKA,EACjB,KAAM,CAAC,CACT,EAEA,OAAeyJ,CAAAA,EAAAA,EAAAA,IAAAA,EAAKmR,IChSpB,IAAMsD,GAAcxjB,GAAAA,EAAAA,CAAAA,GAAU,CAAC;EAC7B,EAAE,CAAC,CAAEyK,aAAAA,CAAY,CAAE,GAAMA,EAAe;SACjC,EAAEA,EAAa;EACtB,CAAC,CAAG,GAAI;;EAER,EAAE,CAAC,CAAEgZ,iBAAAA,CAAgB,CAAE,GAAMA,EAAmBtjB,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;oBAClC,EAAEsjB,EAAiB;EACrC,CAAC,CAAG,GAAI;;EAER,EAAE,CAAC,CAAEhjB,cAAAA,CAAa,CAAE,GAAMA,EAAgBN,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;eACjC,EAAEM,EAAc;EAC7B,CAAC,CAAG,GAAI;;cAEI,EAAE,CAAC,CAAEijB,uBAAAA,CAAsB,CAAE,GAAKA,EAAuB;;;;;IAKnE,EAAEC,GAAAA,EAAmBA,CAAC;;AAE1B,CAAC,CCnBKC,GAAY,CAAC,CACjBF,uBAAAA,CAAsB,CAAED,iBAAAA,CAAgB,CAAEhZ,aAAAA,CAAY,CAAEhK,cAAAA,CAAa,CACtE,GAEG,UDiBW+iB,GCjBCA,CACV,UAAU,kBACV,uBAAwBE,EACxB,iBAAkBD,EAClB,cAAehjB,EACf,aAAcgK,E,SAEd,UAAC,OAAI,UAAU,S,SAAS,M,IAO9BmZ,CAAAA,GAAU,SAAS,CAAG,CACpB,uBAAwB5e,EAAAA,MAAMA,CAC9B,iBAAkBA,EAAAA,MAAMA,CACxB,aAAcA,EAAAA,MAAMA,CACpB,cAAeA,EAAAA,MAAMA,AACvB,EAEA4e,GAAU,YAAY,CAAG,CACvB,uBAAwB,GACxB,iBAAkB,GAClB,aAAc,GACd,cAAe,EACjB,EC7BO,IAAMC,GAASC,CAAAA,EAAAA,GAAAA,EAAAA,CAAiB,CAAC;;IAEpC,EAAE,CAAC,CAAEC,WAAAA,CAAU,CAAEC,cAAAA,CAAa,CAAE,GAAMD,CAAAA,IAAeC,GAAiBD,AAAe,KAAfA,CAAgB,GAAM,CAAC,kBAAkB,EAAEA,EAAW,CAAC,CAAC,CAAC;IAC/H,EAAE,CAAC,CAAEA,WAAAA,CAAU,CAAEC,cAAAA,CAAa,CAAE,GAAMD,GAAcC,GAAkB,CAAC,4BAA4B,EAAED,EAAW,EAAE,EAAEC,EAAc,EAAE,CAAC,CAAC;IACtI,EAAE,CAAC,CAAEC,SAAAA,CAAQ,CAAE,GAAKA,GAAY,CAAC,iBAAiB,EAAEA,EAAS,4BAA4B,CAAC,CAAC;IAC3F,EAAE,CAAC,CAAE1jB,kBAAAA,CAAiB,CAAE,GAAKA,GAAqB,uBAAuB;;AAE7E,CAAC,CAED,OAAgB,KACd,GAAM,CAAEwjB,WAAAA,CAAU,CAAEC,cAAAA,CAAa,CAAEC,SAAAA,CAAQ,CAAE,CAAG9hB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,kBAA4B,EAClF7B,EAAoB4B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,oBAA8B,EAEpE,MACE,UAACyhB,GAAAA,CACC,WAAYE,EACZ,cAAeC,EACf,SAAUC,EAAS,OAAO,CAAC,UAAW,YACtC,kBAAmB1jB,C,EAGzB,E,wDCqBA,IAAM2jB,GAAa,CAAC,CAAEtD,OAAAA,CAAM,CAAEuD,WAAAA,CAAU,CAAE7M,iBAAAA,CAAgB,CAAE,QAOvB8M,EACbC,EAPtB,IAAM5iB,EAAgBU,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,sBAAgC,EAC5D8O,EAAQ/O,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,iBAA2B,EAC/C0O,EAAc3O,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,cAAwB,EAClDiS,EAAiBlS,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,oBAA8B,EAC3D6T,EAAiB9T,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,oBAA8B,EAC3DhC,EAA0B+B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,0BAAoC,EAC1EkiB,EAAuBxb,CAAAA,EAAAA,EAAAA,EAAAA,EAAM,AAA0C,OAA1Csb,CAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EAAAA,EAAYhiB,EAAAA,CAAAA,CAAAA,gBAA0B,CAAC,CAAC,EAAE,AAAD,GAAzCgiB,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA4C,gBAAgB,EACzFG,EAAgBF,AAAsC,OAAtCA,CAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EAAAA,EAAYjiB,EAAAA,CAAAA,CAAAA,gBAA0B,IAAtCiiB,KAAAA,IAAAA,EAAAA,EAA2C,EAAE,CAC7DG,EAAqBriB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,qBAA+B,EAChEqiB,EAAatiB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,aAAuB,EAChDsiB,EAAaviB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,SAAmB,CAAC0B,EAAAA,EAAAA,CAAAA,UAAmB,GAChEoT,EAAwB/U,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,wBAAkC,EACtEL,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAEXgG,EAAerB,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IAAOia,AAAW,aAAXA,GAAyB3gB,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,SAAuB,EAAI4Q,EAAc8P,EAAS,CAACA,EAAQ9P,EAAY,EAC/I6T,EAAYzT,EAAM,IAAI,CAAC0T,GAAM1b,SAAS0b,EAAG,EAAE,CAAE,MAAQ1b,SAASlB,EAAc,MAAQ,CAAC,EACrF,CAAE,KAAM0G,CAAQ,CAAE,CAAGiW,EAErBE,EAAoBC,CAAAA,EAAAA,EAAAA,EAAAA,IAEpB,CACJ,GAAI3F,CAAK,CACTsB,WAAAA,CAAU,CACV,MAAO/X,CAAQ,CACf6X,YAAAA,CAAW,CACXwE,WAAAA,CAAU,CACVvE,cAAAA,CAAa,CACbwE,cAAAA,CAAa,CACbrc,0BAAAA,CAAyB,CACzB,KAAMsc,CAAQ,CACd,oBAAqBC,CAAqB,CAC3C,CAAGzjB,EAEE0jB,EAAqBllB,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,SAAuB,EAGnEmC,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACR,GAAI2F,EAAc,CAChB,IAAMod,EAAUlU,EAAM,GAAG,CAACqF,GAAKA,EAAE,EAAE,EAC7BlD,EAAYpF,AAAyB,aAAzBA,OAAO,QAAQ,CAAC,IAAI,AAClC,EAACmX,EAAQ,QAAQ,CAACpd,IAAiB,CAACqL,GACtCtR,EAASqO,EAAAA,EAAkC,CAACiV,CAAAA,EAAAA,EAAAA,EAAAA,EAAc,MAExDhS,GACFpF,OAAO,MAAM,CAAC,WAAW,CAAC,CAAE,KAAM,oBAAqB,EAE3D,CACF,EAAG,CAACxM,EAAeuG,EAAa,EAEhC,IAAMsd,EAAgB3e,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IAAM4e,CAAAA,EAAAA,EAAAA,EAAAA,EAAe3E,GAAS,CAACA,EAAO,EAC9DjP,EAAawT,EAAqBrU,IAAgB9I,EAAesd,EACjEE,EAAiB7e,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IAAM+B,EAAS,MAAM,CAAC,CAAC,CAAEoB,KAAAA,CAAI,CAAE,GAAKA,IAAS9B,IACtEyd,EAAgB9e,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IAAM+B,EAAS,MAAM,CAAC,CAAC,CAAEoB,KAAAA,EAAO,UAAU,CAAE,GAAKyb,CAAAA,EAAAA,EAAAA,EAAAA,EAAezb,KACxF4b,EAAY/T,GAAc,CAACwT,EAAqBM,EAAgBD,EAEhEvd,EAAW9F,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,eAAyB,EAChDkC,EAAQqC,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,KACpB,IAAMgf,EAAqBD,EAAU,MAAM,CAACE,IAC1C,GAAM,CAAEC,cAAAA,CAAa,CAAE,CAAGC,CAAAA,EAAAA,GAAAA,CAAAA,EAAmB,CAC3CrkB,cAAAA,EAAe,eAAgBmkB,EAAG,oBAAqB3C,CAAAA,EAAAA,GAAAA,EAAAA,EAAgB2C,EAAE,IAAI,CAAEnF,EACjF,GACA,OAAOoF,CACT,GAEA,MAAOE,CAAAA,EAAAA,GAAAA,CAAAA,EAAYJ,EACrB,EAAG,CAACD,EAAU,EAERM,EAAmBjjB,CAAAA,EAAAA,EAAAA,MAAAA,IAEnB,CAACkjB,EAAqBC,EAAuB,CAAG1f,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,GACzD,CAAC2f,EAA6BC,GAA+B,CAAG5f,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IACzE,CAAC6f,GAAwBC,GAA0B,CAAG9f,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IAC/D,CAAC+f,GAAyBC,GAAuB,CAAGvjB,GAAAA,EAA0B,CAAC,GAAO,CAAC+iB,EAAiB,EAE9G3jB,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KAAQN,EAASqO,EAAAA,EAAyB,CAACtM,EAAAA,EAAAA,CAAAA,uBAAgC,CAAEyiB,IAA2B,EAAG,CAACA,GAAwB,EAE9I,IAAM1V,GAAgB3F,CAAAA,EAAAA,EAAAA,EAAAA,IAChB,CAACub,GAAWC,GAAa,CAAGlgB,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,CAAC,GAE5CnE,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACJgS,GACFsS,CAAAA,EAAAA,GAAAA,EAAAA,EAAUxH,GAAO,IAAI,CAACyH,GAAQF,GAAaE,GAE/C,EAAG,CAACvS,EAAe,EAEnB,IAAM+L,GAAWjd,CAAAA,EAAAA,EAAAA,WAAAA,EAAYoB,GACpBkiB,EAAS,CAACliB,EAAO,EAAI,GAC3B,CAACkiB,GAAU,EAERI,GAAiB1jB,CAAAA,EAAAA,EAAAA,WAAAA,EAAYgW,IACjC,IAAM2N,EAAoB3N,AAAgB,KAAhBA,EAAqB4N,CAAAA,EAAAA,GAAAA,EAAAA,IAA6BC,CAAAA,EAAAA,GAAAA,EAAAA,EAAc7N,GACpF8N,EAAsB,CAC1B,CAAC/lB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,uBAAuB,CAAG2jB,EAAkBK,GAAwB,OAAO,GAC9E,CAAChkB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,eAAe,CAAG2jB,EAAkBL,GAAqB,OAAO,EACrE,EACM0C,EAAmB,qBACnB5C,GAAwB2C,GAAAA,CAC5B,CAAC/lB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,aAAa,CAAE+jB,C,GAGdkC,EAAyBC,CAAAA,EAAAA,GAAAA,EAAAA,EAAuBN,EAAmBvC,EAAeD,GACpF+C,EAAeF,EAAyBA,EAAuB,IAAI,CAAGL,EAAkB,IAAI,CAChGO,EAAeC,CAAAA,EAAAA,GAAAA,EAAAA,EAAyBD,EAAcH,GACtDnlB,EAASqO,EAAAA,EAAsC,CAAC,CAC9C,KAAMtF,GAAAA,CAAAA,CAAAA,SAAgB,CACtBuc,aAAAA,EACA5C,WAAAA,EACAQ,SAAAA,EACA9F,MAAAA,CACF,GACF,EAAG,EAAE,EAECoI,GAAiBpkB,CAAAA,EAAAA,EAAAA,WAAAA,EAAYoB,IACjC,GAAI4Q,CAAAA,EAAAA,EAAAA,EAAAA,IAAoB,CACtBlH,OAAO,qBAAqB,CAAC,CAC3B,OAAQ,WACR1J,OAAAA,CACF,GACA,MACF,CAEAxC,EAASqO,EAAAA,EAAgC,CAAC,CACxC,GAAIhG,GAAAA,EAAAA,CAAAA,OAAyB,CAAE,UAAW7F,EAAQ,YAAaijB,EAAAA,EAAAA,CAAAA,IAAkB,AACnF,GACF,EAAG,EAAE,EAECC,GAAwBtkB,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,CAACoB,EAAQmjB,KAC7CA,GACF3lB,EAASqO,EAAAA,EAAyB,CAACtM,EAAAA,EAAAA,CAAAA,kBAA2B,CAAE,KAElE/B,EAASqO,EAAAA,EAAgC,CAAC,CACxC,GAAIhG,GAAAA,EAAAA,CAAAA,OAAyB,CAAE,UAAW7F,EAAQ,YAAaijB,EAAAA,EAAAA,CAAAA,OAAqB,AACtF,GACF,EAAG,EAAE,EAECG,GAA0BxkB,CAAAA,EAAAA,EAAAA,WAAAA,EAAYoB,IAC1C,IAAMqjB,EAAQxH,GAAS7b,GACvB,GAAI,CAACqjB,EAAO,OAEZ,GAAM,CAAE,WAAYC,CAAS,CAAEC,MAAAA,CAAK,CAAEC,OAAAA,CAAM,CAAE,CAAGH,EAEjD7lB,EAASqO,EAAAA,EAAgC,CAAC,CACxC,GAAIhG,GAAAA,EAAAA,CAAAA,OAAyB,CAAE,UAAW7F,EAAQ,YAAaijB,EAAAA,EAAAA,CAAAA,cAA4B,CAAEK,UAAAA,EAAWC,MAAAA,EAAOC,OAAAA,CACjH,GACF,EAAG,CAAC3H,GAAS,EAEP4H,GAAkB7kB,CAAAA,EAAAA,EAAAA,WAAAA,EAAY2E,IAClC/F,EAASqO,EAAAA,EAAgC,CAAC,CACxC,GAAIhG,GAAAA,EAAAA,CAAAA,OAAyB,CAAEtC,UAAAA,EAAW,YAAa0f,EAAAA,EAAAA,CAAAA,MAAoB,AAC7E,GACF,EAAG,EAAE,EAECS,GAAmB9kB,CAAAA,EAAAA,EAAAA,WAAAA,EAAY2E,IACnC/F,EAASqO,EAAAA,EAAgC,CAAC,CACxC,GAAIhG,GAAAA,EAAAA,CAAAA,OAAyB,CAAEtC,UAAAA,EAAW,YAAa0f,EAAAA,EAAAA,CAAAA,MAAoB,AAC7E,GACF,EAAG,EAAE,EAECU,GAAiB/kB,CAAAA,EAAAA,EAAAA,WAAAA,EAAY2E,IACjC/F,EAASqO,EAAAA,EAAgC,CAAC,CACxC,GAAIhG,GAAAA,EAAAA,CAAAA,OAAyB,CAAEtC,UAAAA,EAAW,YAAa0f,EAAAA,EAAAA,CAAAA,IAAkB,AAC3E,GACF,EAAG,EAAE,EAWCW,GAAkBhlB,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,CAAC2E,EAAWsgB,EAAaC,EAAc7F,EAAiB,EAAK,IAS/F,IAAM8F,EAAoBC,AARP,CACjB,CAACte,GAAAA,EAAAA,CAAAA,WAAsB,CAAC,CAAEge,GAC1B,CAAChe,GAAAA,EAAAA,CAAAA,UAAqB,CAAC,CAAE+d,GACzB,CAAC/d,GAAAA,EAAAA,CAAAA,IAAe,CAAC,CAAEsd,GACnB,CAACtd,GAAAA,EAAAA,CAAAA,YAAuB,CAAC,CAAEwd,GAC3B,CAACxd,GAAAA,EAAAA,CAAAA,SAAoB,CAAC,CAAEie,EAC1B,CAEoC,CAACE,EAAY,CAEjD,GAAIjT,CAAAA,EAAAA,EAAAA,EAAAA,KAAsBiT,IAAgBne,GAAAA,EAAAA,CAAAA,IAAe,CAAE,CACzDqe,EAAkBxgB,GAClB,MACF,CAGA,GADgC+I,IAAiBoF,GAAkB5B,GAAkB,CAACpG,OAAO,cAAc,CAC9E,CAC3BiY,EAAuBpe,GACvBwe,GAA0B+B,GAC1BjC,GAA+B5D,GAC/BgE,GAAuB,IACvB,MACF,EAEIhE,GAEJ8F,EAAkBxgB,EACpB,EAAG,CAAC+I,GAAeoF,EAAgB5B,EAAe,EAE5CmU,GAAkBrlB,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,KAClCpB,EAASqO,EAAAA,EAAgC,CAAC,CAAE,GAAIhG,GAAAA,EAAAA,CAAAA,YAA8B,CAAE,OAAQ,MAAO,GACjG,EAAG,EAAE,EAECqe,GAAsBtlB,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,CAACoB,EAAQmkB,KAC/C,IAAMC,EAAWvI,GAAS7b,GACpBqkB,EAAiB9f,CAAAA,EAAAA,EAAAA,EAAAA,EAAM4f,GAEvB,CAAEG,OAAAA,CAAM,CAAEC,gBAAAA,EAAkB,CAAC,CAAE,CADpBxkB,EAAM,IAAI,CAAC,CAAC,CAAE,GAAIuF,CAAM,CAAE,GAAKA,IAAWtF,IAAW,CAAC,EAGjEwkB,EAAkBF,AAAW,aAAXA,EAClBG,EAAiB9nB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,kBACnB+nB,EAAY,CAAC,EAAED,EAAe,EAAE,EAAEF,EAAgB,CAAC,CAAC,CACpDI,EAAO,IACR,AAACN,EAKC,EAAE,CALc,CAAC,CACpB,IAAK,WACL,KAAMG,EAAkB7nB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,iBAAmBA,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,aAC/C,UAAWqmB,GACX,KAAM,IAAM,UAAC4B,GAAAA,CAAcA,CAAAA,CAAC,MAAM,KAAK,MAAM,S,EAC/C,EAAE,CACF,CACE,IAAK,kBACL,KAAMF,EACN,UAAWxB,GACX,KAAM,IAAM,UAAC2B,GAAAA,CAAoBA,CAAAA,CAAC,MAAM,M,GACxC,WAhBoBN,AAAoB,IAApBA,CAiBtB,EACD,CAUD,OATIC,GAAmB,CAACH,GACtBM,EAAK,IAAI,CAAC,CACR,IAAK,gBACL,KAAMhoB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,uBACR,UAAWymB,GACX,KAAM,IAAM,UAAC0B,GAAoBA,CAAC,MAAM,KAAK,MAAM,S,GACnD,WAAY,CAACV,CACf,GAEKO,CACT,EAAG,CAAC9I,GAAU9b,EAAM,EAEdglB,GAAqB3iB,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IACjC,AAAK0N,EACEoU,GAAoBxC,EAAqBE,GADpB,EAAE,CAE7B,CAAC9R,EAAgBoU,GAAqBxC,EAAqBE,EAA4B,EAEpFnF,GAAmCC,GAEvC,AAAIC,AADqBC,CAAAA,EAAAA,EAAAA,EAAAA,KACDrY,CAAAA,EAAAA,EAAAA,EAAAA,EAAMmY,EAAa,MAAM,EACxC,SAEFA,EAAa,iBAAiB,CAGjCd,GAAmBhd,CAAAA,EAAAA,EAAAA,WAAAA,EAAY/B,IACnC,GAAM,CAEJogB,gBAAAA,CAAe,CAAEC,gBAAAA,CAAe,CAAEE,SAAAA,CAAQ,CAAE1d,KAAAA,CAAI,CAAE4d,aAAAA,CAAY,CAAE0H,QAAAA,CAAO,CAAExH,cAAAA,CAAa,CAAEC,gBAAAA,CAAe,CAAEC,YAAAA,CAAW,CAAEuH,cAAAA,CAAa,CACpI,CAAGpoB,QACJ,AAAI0H,CAAAA,EAAAA,EAAAA,EAAAA,EAAM0Y,IAAoBC,EAE1B,UAACgI,GAAAA,CAAaA,CAAAA,CACZ,oBAAqBhI,EACrB,kBAAmBT,GAAiC5f,E,GAKtD0H,CAAAA,EAAAA,EAAAA,EAAAA,EAAM+Y,GAEN,UAAC6H,GAAAA,CAAUA,CAAAA,CACT,QAASH,EACT,SAAUtlB,EACV,SAAU0d,EACV,kBAAmBX,GAAiC5f,GACpD,cAAe2gB,EACf,gBAAiBC,EACjB,YAAaC,EACb,cAAeuH,C,GAKd,IAAM,IACf,EAAG,EAAE,EAGCG,GAAqB5mB,CAAAA,EAAAA,EAAAA,MAAAA,IAE3BV,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACJsnB,GAAmB,OAAO,EAAIjF,GAChCiF,CAAAA,GAAmB,OAAO,CAAC,SAAS,CAAGjF,CAAS,CAEpD,EAAG,CAACA,EAAW,EAEf,IAAMkF,GAAYjjB,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IAEtB,UAACuZ,GAAsBA,CACrB,iBAAkBC,GAClB,SAAUC,GACV,sBAAuBqI,GACvB,YAAaN,GACb,SAAUlgB,EACV,YAAasY,EACb,WAAYwE,EACZ,cAAevE,EACf,MAAOlc,EACP,WAAYmc,EACZ,eAAgBxK,EAChB,eAAgB5B,EAChB,0BAA2B1L,EAC3B,WAAY4e,GACZ,WAAYV,GACZ,MAAO1H,EACP,YAAaqJ,GACb,KAAM7D,C,GAGT,CAACpE,EAAawE,EAAYvE,EAAeiI,GAAqBpU,EAAgB/P,EAAO8b,GAAS,EAE3FyJ,GACJ,uB,UACGlY,GACC,UAACmY,GAAAA,CAAkBA,CAAAA,C,SAChBhhB,CAAAA,EAAAA,EAAAA,EAAAA,EAAMkc,IACL,UAAC+E,GAAAA,CAASA,CAAAA,CAAAA,E,GAIhB,WAACC,GAAAA,EAAmBA,CAAAA,CAClB,UAAU,sBACV,WAAYrY,EACZ,cAAeqT,E,UAEd1gB,EAAM,MAAM,CAAGslB,GAAY,KAC5B,UxC/SOvlB,GwC+SOA,CACZ,IAAK2hB,EACL,OAAQO,GACR,OAAQN,EACR,UAAWI,GACX,MAAOiD,GACP,aAvDiB,IAAM9C,GAAuB,G,SA6DtD,MACE,uB,UACGrC,GAAc,UAAClN,GAAMA,CAAC,mBA3LAgT,GAMlBC,AALkB,EACvB,CAACjgB,GAAAA,EAAAA,CAAAA,IAAe,CAAC,CAAEsd,GACnB,CAACtd,GAAAA,EAAAA,CAAAA,SAAoB,CAAC,CAAEie,EAC1B,EAEuB,CAAC+B,EAAS,A,GAsL/B,UAAC,OAAI,UAAW,CAAC,KAAK,EAAE9F,EAAa,aAAe,GAAG,CAAC,EAAEjN,EAAwB,wBAA0B,GAAG,CAAC,CAAC,C,SAC/G,UAAC7W,GAAeA,CAAC,UAAU,4BAA4B,IAAKspB,G,SAC1D,WAAC5pB,GAAWA,CAAC,wBAAyBK,E,UACpC,UAAC+pB,GAAQA,CAAAA,GACT,UAACpY,GAAAA,CAAOA,CAAAA,CACN,KAAM7R,GAAAA,EAAAA,CAAAA,SAAuB,CAC7B,gBACE,WAACmX,GAAoBA,CACnB,UAAU,qBACV,cAAY,qBACZ,YAAW3I,EACX,iBAAkB4I,E,UAElB,UAAC,OAAI,UAAU,gB,SACZuS,E,GAEH,UF5XHjG,GE4XaA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,EAAKniB,I,GAGnB,kBACE,UAAC4V,GAAoBA,CACnB,UAAU,qBACV,YAAW3I,EACX,cAAY,qBACZ,iBAAkB4I,E,SAEjBuS,E,cASnB,EAEA,OAAe9a,CAAAA,EAAAA,EAAAA,IAAAA,EAAKmV,GAEpBA,CAAAA,GAAW,SAAS,CAAG,CACrB,OAAQlf,EAAAA,MAAMA,CACd,MAAOA,EAAAA,MAAMA,CACb,WAAYK,EAAAA,IAAIA,CAChB,iBAAkBA,EAAAA,IAAIA,AACxB,EAEA6e,GAAW,YAAY,CAAG,CACxB,OAAQ,WACR,MAAO,GACP,WAAY,GACZ,iBAAkB,EACpB,EC5bA,IAAMkG,GAAOhpB,GAAS,UAAC,kBAAQA,IAEzBipB,GAAY,CAAC,CAAEjnB,SAAAA,CAAQ,CAAEknB,iBAAAA,CAAgB,CAAE,GAE7C,UAACC,GAAAA,EAAQA,CAAAA,C,SACN,CAAC,CAAEC,SAAAA,CAAQ,CAAE,IACZF,EAAiBE,EAAS,QAAQ,EAEhC,UAACC,GAAAA,EAAMA,CAAAA,CAAC,UAAWL,GAAM,SAAUI,EAAU,UAAU,S,SACpDpnB,C,KAQbinB,CAAAA,GAAU,SAAS,CAAG,CACpB,SAAUtN,GAAAA,EAAAA,CAAAA,UAAqB,CAC/B,iBAAkB3X,EAAAA,IAAIA,AACxB,EAEAilB,GAAU,YAAY,CAAG,CACvB,iBAAkB/kB,GAAKA,CACzB,EAEA,OAAeyJ,CAAAA,EAAAA,EAAAA,IAAAA,EAAKsb,I,wDCfpB,IAAMK,GAAe,AAAC,I,GAAA,CACpB,KAAMtC,CAAW,CACjBtgB,UAAAA,CAAS,CACTqX,MAAAA,CAAK,CACLtW,KAAAA,CAAI,CACJoN,eAAAA,CAAc,CACd5B,eAAAA,CAAc,CACd5B,SAAAA,CAAQ,CACRmB,KAAAA,CAAI,CACJ+W,kBAAAA,CAAiB,CAElB,GADIvpB,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,EAAAA,CATH,OACA0G,YACAqX,QACAtW,OACAoN,iBACA5B,iBACA5B,WACAmB,OACA+W,oB,EAGA,GAAM,CACJ1mB,KAAAA,CAAI,CACJ6kB,gBAAAA,CAAe,CACf,oBAAqB8B,CAAkB,CACvCzR,YAAAA,CAAW,CACZ,CAAGtQ,EAEE9G,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAEXuC,EAAS0F,GAAAA,EAAAA,CAAAA,MAAiB,GAAKhG,EAAOkV,EAAcrR,EAEpD+iB,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,EAAkB,CAAE3L,MAAAA,EAAO,GAAI5a,CAAO,GAEjD,CAACwmB,EAASC,EAAW,CAAGxkB,CAAAA,EAAAA,EAAAA,QAAAA,EAASqkB,GACjCxX,EAAY4X,EAAAA,EAA0B,KAAOC,EAAAA,EAAoBA,CAEvE7oB,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACR2oB,EAAWH,EACb,EAAG,CAACtmB,EAAO,EAEX,IAAM4mB,EAAsBhoB,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,KAClC8S,GAAkB5B,GAAgBtS,EAASqpB,CAAAA,EAAAA,EAAAA,EAAAA,EAAqBtjB,EAAWghB,GACjF,EAAG,CAAC7S,EAAgB5B,EAAgBvM,EAAWghB,EAAgB,EAEzDuC,EAAoBC,CAAAA,EAAAA,EAAAA,EAAAA,EAAqB/mB,GA2C/C,MAzCAgnB,CAAAA,EAAAA,EAAAA,EAAAA,EAAiChnB,EAAQ4mB,GAEzCK,CAAAA,EAAAA,EAAAA,EAAAA,EAAsBjnB,EAAQ,CAAC,CAAE,KAAMsQ,CAAU,CAAE4D,QAAAA,CAAO,CAAE,IAC1D,OAAQ5D,GACN,IAAK,eACH4W,QAAQ,GAAG,CAAC,qBACR,CAACpY,GACHtR,EAASO,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,OAAQ,aAAc,OAAQ,CAAEiC,OAAAA,CAAO,CAAE,IAEvE,KACF,KAAK,cAEH8mB,EAAkB,cAAe,CAAEzX,KAAAA,EAAM8X,kBADfzV,GAAkBnN,CAAAA,EAAAA,EAAAA,EAAAA,EAAM8hB,EACS,GAC3D,KACF,KAAK,oB,IAG0Be,EAF7B,GAAM,CAAE9D,UAAAA,CAAS,CAAEC,MAAAA,CAAK,CAAE8D,YAAAA,CAAW,CAAE,CAAGnT,EACpCoT,EAAeC,CAAAA,EAAAA,EAAAA,EAAAA,EAA8BhkB,EAAW+f,EAAWC,EAAO8D,GAGhF,GAF6B,AAAAD,OAAAA,CAAAA,EAAAA,MAAK,GAALA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAQ,oBAAoB,CAE/B,CACxB,IAAM1N,EAAW8N,CAAAA,EAAAA,GAAAA,CAAAA,IACjBtZ,EAAS,CAAC,EAAEwL,EAAS,CAAC,EAAE4N,EAAa,CAAC,CACxC,KAAWG,CAAAA,EAAAA,EAAAA,EAAAA,IACTvZ,EAAS,CAAC,CAAC,EAAE0M,EAAM,CAAC,EAAE0M,EAAa,CAAC,EAEpCpZ,EAAS,CAAC,EAAEwZ,CAAAA,EAAAA,EAAAA,EAAAA,IAAa,CAAC,EAAE9M,EAAM,CAAC,EAAE0M,EAAa,CAAC,EAErDb,EAAWF,CAAAA,EAAAA,EAAAA,EAAAA,EAAkB,CAAE3L,MAAAA,EAAO,GAAI5a,CAAO,IACjD,KACF,KAAK,oBACH,GAAM,CAAE2nB,WAAAA,CAAU,CAAE,CAAGzT,EACnByT,GAAYlB,EAAWkB,GAC3B,KACF,SACET,QAAQ,GAAG,CAAC,yCAA0C,CAAE5W,WAAAA,EAAY4D,QAAAA,CAAQ,EAChF,CACF,GAGA0T,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,WAAYC,GAASA,EAAM,SAAS,EAAIzB,KAGvD,UAAC0B,GAAAA,CAAcA,CAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAC,QAAStB,C,EAAa3pB,GAE1C,CAEAspB,CAAAA,GAAa,SAAS,CAAG,CACvB,KAAM1lB,EAAAA,MAAMA,CACZ,UAAWA,EAAAA,MAAMA,CACjB,MAAOA,EAAAA,MAAMA,CACb,KAAMG,CAAAA,EAAAA,EAAAA,KAAAA,EAAM,CAAC,GACb,eAAgBE,EAAAA,IAAIA,CACpB,eAAgBA,EAAAA,IAAIA,CACpB,SAAUD,EAAAA,IAAIA,CACd,KAAMD,CAAAA,EAAAA,EAAAA,KAAAA,EAAM,CAAC,GACb,kBAAmBC,EAAAA,IAAIA,AACzB,EAEAslB,GAAa,YAAY,CAAG,CAC1B,KAAM,GACN,UAAW,GACX,MAAO,GACP,KAAM,CAAC,EACP,eAAgB,GAChB,eAAgB,GAChB,SAAUplB,GAAKA,EACf,KAAM,CAAC,EACP,kBAAmBA,GAAKA,CAC1B,ECnHA,IAAMgnB,GAAiB,AAAC,I,GAAA,CACtB,KAAMlE,CAAW,CACjBjJ,MAAAA,CAAK,CACLrX,UAAAA,CAAS,CACTe,KAAAA,CAAI,CAEL,GADIzH,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,EAAAA,CAJH,OACA+d,QACArX,YACAe,O,EAGA,IAAM0jB,EAAYC,CAAAA,EAAAA,EAAAA,SAAAA,IAEZ,CAAE,YAAaC,CAAmB,CAAE,CAAG5jB,EAEvCuU,EAAc,IAAIyC,IAAI4M,EAC5BrP,CAAAA,EAAY,QAAQ,CAAGsP,CAAAA,EAAAA,GAAAA,EAAAA,IAAe,OAAO,CAAC,eAAgB,IAE9D,IAAM3B,EAAUD,CAAAA,EAAAA,EAAAA,EAAAA,EAAkB,CAChC3L,MAAAA,EAAO,GAAIrX,EAAW,KAAM0f,EAAAA,EAAAA,CAAAA,MAAoB,CAAE,YAAapK,EAAY,QAAQ,EACrF,GAEA,MACE,UAACiP,GAAAA,CAAcA,CAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAC,IAAKE,EAAW,QAASxB,C,EAAa3pB,GAE1D,CAEAkrB,CAAAA,GAAe,SAAS,CAAG,CACzB,KAAMtnB,EAAAA,MAAMA,CACZ,MAAOA,EAAAA,MAAMA,CACb,UAAWA,EAAAA,MAAMA,CACjB,KAAMG,CAAAA,EAAAA,EAAAA,KAAAA,EAAM,CAAC,EACf,EAEAmnB,GAAe,YAAY,CAAG,CAC5B,KAAM,GACN,MAAO,GACP,UAAW,GACX,KAAM,CAAC,CACT,E,kBtD3CA,SAAS,KAAa,MAAO,IAAWxrB,OAAO,MAAM,CAAGA,OAAO,MAAM,CAAC,IAAI,GAAK,SAAUC,CAAC,EAAI,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAU,MAAM,CAAED,IAAK,CAAE,IAAIE,EAAID,SAAS,CAACD,EAAE,CAAE,IAAK,IAAIG,KAAKD,EAAG,AAAC,EAAC,GAAG,cAAc,CAAC,IAAI,CAACA,EAAGC,IAAOJ,CAAAA,CAAC,CAACI,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CAAI,CAAE,OAAOJ,CAAG,GAAY,MAAM,KAAME,UAAY,CAiDnR,OA/CkCG,GAAsB,eAAmB,CAAC,MAAO,GAAS,CAC1F,MAAO,6BACP,KAAM,OACN,QAAS,aACX,EAAGA,GAAQrC,GAAYA,CAAAA,EAAuB,eAAmB,CAAC,SAAU,CAC1E,GAAI,KACJ,GAAI,KACJ,EAAG,KACH,KAAM,SACR,EAAC,EAAIC,GAAUA,CAAAA,EAAqB,eAAmB,CAAC,OAAQ,CAC9D,MAAO,GACP,OAAQ,GACR,EAAG,GACH,EAAG,EACH,KAAM,UACN,GAAI,CACN,EAAC,EAAI,GAAU,GAAqB,eAAmB,CAAC,OAAQ,CAC9D,KAAM,UACN,EAAG,6IACL,EAAC,EAAIC,GAAWA,CAAAA,EAAsB,eAAmB,CAAC,OAAQ,CAChE,KAAM,OACN,EAAG,mXACL,EAAC,EAAIC,GAAWA,CAAAA,EAAsB,eAAmB,CAAC,OAAQ,CAChE,OAAQ,UACR,cAAe,QACf,YAAa,IACb,EAAG,oBACL,EAAC,EAAIC,GAAWA,CAAAA,EAAsB,eAAmB,CAAC,OAAQ,CAChE,OAAQ,UACR,cAAe,QACf,YAAa,IACb,EAAG,oBACL,EAAC,EAAIC,GAAWA,CAAAA,EAAsB,eAAmB,CAAC,OAAQ,CAChE,OAAQ,UACR,cAAe,QACf,eAAgB,QAChB,YAAa,IACb,EAAG,iBACL,EAAC,EAAIC,GAAWA,CAAAA,EAAsB,eAAmB,CAAC,OAAQ,CAChE,KAAM,OACN,SAAU,UACV,EAAG,wMACH,SAAU,SACZ,EAAC,EAAIC,GAAWA,CAAAA,EAAsB,eAAmB,CAAC,OAAQ,CAChE,KAAM,UACN,EAAG,g3BACL,EAAC,GuDzCD,IAAMqtB,GAAY3sB,GAAAA,EAAAA,CAAAA,GAAU,CAAC;;;;;;;AAO7B,CAAC,CAEK4sB,GAAS5sB,GAAAA,EAAAA,CAAAA,GAAU,CAAC;;AAE1B,CAAC,CAEK6sB,GAAU7sB,GAAAA,EAAAA,CAAAA,GAAU,CAAC;SAClB,EAAEQ,GAAAA,EAAaA,CAAC;;;;AAIzB,CAAC,CAEKssB,GAAgB9sB,GAAAA,EAAAA,CAAAA,GAAU,CAAC;;;;AAIjC,CAAC,CAEK+sB,GAAqB,CAAC,CAAEprB,MAAAA,CAAK,CAAEqC,YAAAA,CAAW,CAAEgpB,aAAAA,CAAY,CAAE,GAE5D,UAACC,GAAAA,CAAiBA,CAAAA,CAChB,QAASN,GACT,aAAcK,EACd,MAAOrrB,EACP,YAAaqC,EACb,cAAe6oB,GACf,oBAAqBC,GACrB,aAAc,CAAC,CAAE1pB,SAAAA,CAAQ,CAAE,GAAM,UAACwpB,GAAAA,C,SAAQxpB,C,GAC1C,YAAa,CAAC,CAAEA,SAAAA,CAAQ,CAAE,GAAM,sB,SAAGA,C,IAKzC2pB,CAAAA,GAAmB,SAAS,CAAG,CAC7B,MAAO/nB,EAAAA,MAAMA,CACb,YAAaA,EAAAA,MAAMA,CACnB,aAAcse,EAAAA,WAAWA,AAC3B,EAEAyJ,GAAmB,YAAY,CAAG,CAChC,MAAO,GACP,YAAa,GACb,aAAc,IAAO,UAACG,GAAsBA,CAAC,MAAO,CAAE,MAAO,GAAI,C,EACnE,EtD1DA,SAAS,KAAa,MAAO,IAAWpsB,OAAO,MAAM,CAAGA,OAAO,MAAM,CAAC,IAAI,GAAK,SAAUC,CAAC,EAAI,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAU,MAAM,CAAED,IAAK,CAAE,IAAIE,EAAID,SAAS,CAACD,EAAE,CAAE,IAAK,IAAIG,KAAKD,EAAG,AAAC,EAAC,GAAG,cAAc,CAAC,IAAI,CAACA,EAAGC,IAAOJ,CAAAA,CAAC,CAACI,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CAAI,CAAE,OAAOJ,CAAG,GAAY,MAAM,KAAME,UAAY,CA8BnR,OA5ByBG,GAAsB,eAAmB,CAAC,MAAO,GAAS,CACjF,MAAO,6BACP,KAAM,OACN,QAAS,aACX,EAAGA,GAAQ,GAAY,GAAuB,eAAmB,CAAC,SAAU,CAC1E,GAAI,KACJ,GAAI,KACJ,EAAG,KACH,KAAM,SACR,EAAC,EAAI,GAAU,GAAqB,eAAmB,CAAC,OAAQ,CAC9D,MAAO,GACP,OAAQ,GACR,EAAG,GACH,EAAG,EACH,KAAM,UACN,GAAI,CACN,EAAC,EAAI,GAAU,GAAqB,eAAmB,CAAC,OAAQ,CAC9D,KAAM,UACN,EAAG,iIACL,EAAC,EAAI,GAAW,GAAsB,eAAmB,CAAC,OAAQ,CAChE,KAAM,OACN,EAAG,qeACL,EAAC,EAAI,GAAW,GAAsB,eAAmB,CAAC,OAAQ,CAChE,KAAM,UACN,SAAU,UACV,EAAG,uaACH,SAAU,SACZ,EAAC,GuDnBD,IAAM+rB,GAAkB,AAAC,QAanBC,EACAC,E,GAdmB,CACvB,KAAMjF,CAAW,CACjBjJ,MAAAA,CAAK,CACLrX,UAAAA,CAAS,CACTe,KAAAA,CAAI,CACJykB,eAAAA,CAAc,CAEf,GADIlsB,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,EAAAA,CALH,OACA+d,QACArX,YACAe,OACAykB,iB,EAGA,IAAMf,EAAYC,CAAAA,EAAAA,EAAAA,SAAAA,IACZhZ,EAAerR,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,eAAyB,EACpDwQ,EAAgBzQ,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,gBAA0B,EACtDmrB,EAAmBprB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,mBAA6B,EAC5DorB,EAAkB1lB,IAAcwlB,GAAmB9Z,EAGzD,OAAQ,IACN,KAAKga,GAAkBha,GAAgBZ,EACrCwa,EAAW5F,EAAAA,EAAAA,CAAAA,kBAAgC,CAC3C6F,EAAiB,YACjB,KACF,MAAKG,GAAkBha,EACrB4Z,EAAW5F,EAAAA,EAAAA,CAAAA,eAA6B,CACxC6F,EAAiB,SACjB,KACF,SACED,EAAW5F,EAAAA,EAAAA,CAAAA,OAAqB,CAChC6F,EAAiB,SAErB,CAEA,IAAMtC,EAAUD,CAAAA,EAAAA,EAAAA,EAAAA,EAAkB,CAAE3L,MAAAA,EAAO,GAAIrX,EAAW,KAAMslB,CAAS,GAEnEJ,EAAeQ,EAAiB,IAAM,UAACC,GAAaA,CAAC,MAAO,CAAE,MAAO,QAAS,OAAQ,OAAQ,C,GAAQhY,KAAAA,EACtG9T,EAAQ,CAAC,4BAA4B,EAAE0rB,EAAe,CAAC,CACvDK,EAAkBxsB,CAAAA,EAAAA,EAAAA,CAAAA,EAAES,GAE1B,GAAI,CAAC4rB,EACH,MACE,UDYSR,GCZUA,CACjB,MAAOW,EACP,YAAaxsB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,CAAC,KAAK,EAAEmsB,EAAe,yCAAyC,CAAC,EAChF,aAAcL,C,GAKpB,GAAIQ,EAGF,MACE,UAACnB,GAAAA,CAAcA,CAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAC,IAAKE,EAAW,QAASxB,C,EAAa3pB,IAI1D,GAAM,CAAE0nB,gBAAAA,EAAkB,CAAC,CAAE,CAAGjgB,SAChC,AAAKigB,EAUH,UAACuD,GAAAA,CAAcA,CAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAC,IAAKE,EAAW,QAASxB,C,EAAa3pB,IARpD,UDPS2rB,GCOUA,CACjB,MAAOW,EACP,YAAaxsB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,sCACf,aAAc8rB,C,EAOtB,CAEAG,CAAAA,GAAgB,SAAS,CAAG,CAC1B,KAAMnoB,EAAAA,MAAMA,CACZ,MAAOA,EAAAA,MAAMA,CACb,UAAWA,EAAAA,MAAMA,CACjB,KAAMG,CAAAA,EAAAA,EAAAA,KAAAA,EAAM,CAAC,GACb,eAAgBH,EAAAA,MAAMA,CACtB,iBAAkBK,EAAAA,IAAIA,AACxB,EAEA8nB,GAAgB,YAAY,CAAG,CAC7B,KAAM,GACN,MAAO,GACP,UAAW,GACX,KAAM,CAAC,EACP,eAAgB,GAChB,iBAAkB,EACpB,E,kBCrFA,IAAMQ,GAAe,AAAC,I,GAAA,CACpBxO,MAAAA,CAAK,CACLrX,UAAAA,CAAS,CACT,KAAM,CACJ8lB,iBAAAA,CAAgB,CAAE9E,gBAAAA,CAAe,CAAEvkB,OAAAA,CAAM,CAAE+J,GAAAA,CAAE,CAC9C,CACD2H,eAAAA,CAAc,CACd5B,eAAAA,CAAc,CAEf,GADIjT,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,EAAAA,CAPH+d,QACArX,YACA,OAGAmO,iBACA5B,iB,EAGA,IAAMtS,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAEXuqB,EAAYC,CAAAA,EAAAA,EAAAA,SAAAA,IACZzB,EAAUD,CAAAA,EAAAA,EAAAA,EAAAA,EAAkB,CAChC3L,MAAAA,EAAO,GAAIrX,EAAW,KAAM0f,EAAAA,EAAAA,CAAAA,IAAkB,CAAEoG,iBAAAA,CAClD,GAeA,MAFArC,CAAAA,EAAAA,EAAAA,EAAAA,EAAiChnB,EAPJ,KACvB0R,GAAkB5B,GACpBtS,EAASqpB,CAAAA,EAAAA,EAAAA,EAAAA,EAAqB9c,EAAIwa,GAEtC,GAME,UAACuD,GAAAA,CAAcA,CAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAC,IAAKE,EAAW,QAASxB,C,EAAa3pB,GAE1D,CAEAusB,CAAAA,GAAa,SAAS,CAAG,CACvB,MAAO3oB,EAAAA,MAAMA,CACb,UAAWA,EAAAA,MAAMA,CACjB,KAAMG,CAAAA,EAAAA,EAAAA,KAAAA,EAAM,CACV,iBAAkBH,EAAAA,MAAMA,CACxB,gBAAiBC,EAAAA,MAAMA,AACzB,GACA,eAAgBI,EAAAA,IAAIA,CACpB,eAAgBA,EAAAA,IAAIA,AACtB,EAEAsoB,GAAa,YAAY,CAAG,CAC1B,MAAO,GACP,UAAW,GACX,KAAM,CACJ,iBAAkB,GAClB,gBAAiB,CACnB,EACA,eAAgB,GAChB,eAAgB,EAClB,EC3DA,IAAME,GAAyB,CAC7B,CAACrG,EAAAA,EAAAA,CAAAA,IAAkB,CAAC,CLsHPkD,GKrHb,CAAClD,EAAAA,EAAAA,CAAAA,cAA4B,CAAC,CLqHjBkD,GKpHb,CAAClD,EAAAA,EAAAA,CAAAA,MAAoB,CAAC,CAAEsG,GAAAA,CAAcA,CACtC,CAACtG,EAAAA,EAAAA,CAAAA,OAAqB,CAAC,CFuFV2F,GEtFb,CAAC3F,EAAAA,EAAAA,CAAAA,MAAoB,CAAC,CJkCT8E,GIjCb,CAAC9E,EAAAA,EAAAA,CAAAA,IAAkB,CAAC,CDuDPmG,ECtDf,EAEaI,GAAuB9pB,GAAQ4pB,EAAsB,CAAC5pB,EAAK,EAAKqB,CAAAA,GAAKA,CAAAA,ECX5E0oB,GAAoB,AAAC,I,GAAA,CACzB/pB,KAAAA,CAAI,CACL,GADUqY,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,EAAAA,CAATrY,O,EAEA,IAAMgqB,EAAWtnB,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IAAMonB,GAAqB9pB,GAAO,CAACA,EAAK,EAEjE,MACE,UAACgqB,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CACC,KAAMhqB,C,EACFqY,GAGV,CAEA0R,CAAAA,GAAkB,SAAS,CAAG,CAC5B,KAAMhpB,EAAAA,MAAMA,AACd,EAEAgpB,GAAkB,YAAY,CAAG,CAC/B,KAAMxG,EAAAA,EAAAA,CAAAA,IAAkB,AAC1B,ECrBA,IAAM0G,GAAgB,CACpB,CAAC1G,EAAAA,EAAAA,CAAAA,IAAkB,CAAC,CAAEvd,GAAAA,EAAAA,CAAAA,IAAe,CACrC,CAACud,EAAAA,EAAAA,CAAAA,cAA4B,CAAC,CAAEvd,GAAAA,EAAAA,CAAAA,IAAe,CAC/C,CAACud,EAAAA,EAAAA,CAAAA,MAAoB,CAAC,CAAEvd,GAAAA,EAAAA,CAAAA,UAAqB,CAC7C,CAACud,EAAAA,EAAAA,CAAAA,OAAqB,CAAC,CAAEvd,GAAAA,EAAAA,CAAAA,YAAuB,CAChD,CAACud,EAAAA,EAAAA,CAAAA,MAAoB,CAAC,CAAEvd,GAAAA,EAAAA,CAAAA,WAAsB,AAChD,EAEakkB,GAAclqB,GAAQiqB,EAAa,CAACjqB,EAAK,CCRzCmqB,GAAcpuB,GAAAA,EAAAA,CAAAA,OAAc,CAAC;;;;;;;;;SASjC,EAAEQ,GAAAA,EAAaA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsPzB,CAAC,C,kBChPD,IAAM6tB,GAAe,CAAC,CACpB1D,kBAAAA,CAAiB,CACjB2D,cAAAA,CAAa,CACb/a,mBAAAA,CAAkB,CAClBgb,cAAAA,CAAa,CACd,IACC,IAAMxsB,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACXwsB,EAA0BrsB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,0BAAoC,EAC1E6T,EAAiB9T,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,oBAA8B,EAC3DF,EAAgBC,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,gBAA0B,EACtDoI,EAAmBrI,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,mBAA6B,EAC5DqI,EAAetI,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,eAAyB,EACpD4F,EAAe7F,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,eAAyB,EACpDqsB,EAAuBtsB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,uBAAiC,EACpEssB,EAAgBvsB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,uBAAiC,EAC7DusB,EAAexsB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,eAAyB,EACpD,CACJ,OAAQwsB,CAAY,CACpB,UAAWC,CAAe,CAC3B,CAAGH,EACEI,EAAa3sB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,oBAA8B,CAACwsB,EAAcC,IACtEE,EAAiBJ,IAAiBK,GAAAA,EAAAA,CAAAA,QAAsB,CAExDC,EAAyB,KAC7BltB,EAASoI,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,GAAIC,GAAAA,EAAAA,CAAAA,IAAsB,CAAE,OAAQ,UAAW,GAC7E,EAEM8kB,EAAyB,IAAMhtB,GAAiB,CAACssB,GACrD,UAAC5rB,GAAAA,CAAMA,CAAAA,CACL,QAAQ,UACR,UAAU,+BACV,QAASqsB,EACT,UAAWA,E,SAEV/tB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,oB,GAMDiuB,EACJlZ,EACE,UhCiHS7C,GgCjHQA,CAAC,UAAW6C,EAAgB,mBAAoB1C,C,GAEjE,UAAC3Q,GAAAA,CAAMA,CAAAA,CACL,UAAWqP,GAAAA,CAAeA,CAC1B,QAAQ,QACR,UAAU,2BACV,QAAS0Y,EACT,aAAa,K,SAEZzpB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,O,GASHkuB,EAAwBR,GAAgBC,EAMxCQ,EAAqB,AAACZ,EAKxB,KAJF,uB,UACGW,GAAyB,UAACE,GAAAA,CAAeA,CAAAA,CAAC,qBAAsBb,EAAsB,kBAAmBK,EAAY,WANnG,KACrB/sB,EAASqO,EAAAA,EAAqC,CAACwe,EAAcC,EAAiB,IAChF,C,GAKI,U1ClCSzf,G0CkCQA,CAAC,YAbE,KACtBrN,EAASoI,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,GAAIC,GAAAA,EAAAA,CAAAA,YAA8B,CAAE,OAAQ,MAAO,GACjF,EAWoD,aAAcpC,AAAiB,SAAjBA,C,MAI5DunB,EAAgBZ,IAAiBK,GAAAA,EAAAA,CAAAA,OAAqB,CAAGK,EAAqBF,EAEpF,MACE,WAACf,GAAWA,CACV,KAAK,qBACL,iBAAkB5jB,EAClB,aAAcC,EACd,UAAW6C,KAAWihB,G,UAEtB,UAAC3rB,GAAAA,CAAMA,CAAAA,CACL,UAAWqP,GAAAA,CAAeA,CAC1B,QAAQ,QACR,UAAU,iBACV,QAAS0Y,EACT,cAAY,YACZ,aAAYzpB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,eACd,aAAa,K,SAEZA,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,O,GAGJ6tB,EACC,uB,UACE,UAAC,OAAI,UAAU,gBAAgB,MAAM,a,SACnC,UAAC,Q,SAAM7tB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,W,KAEV+U,EACC,WAAC,OAAI,UAAU,gB,UACb,UAACiZ,EAAAA,CAAAA,GACD,UhCqDC9b,GgCrDgBA,CAAC,UAAW6C,EAAgB,mBAAoB1C,C,MAGnE,UAAC2b,EAAAA,CAAAA,G,GAIL,uB,UACE,UAAC,OAAI,MAAM,a,SACT,UAACZ,EAAAA,CAAAA,E,GAEFiB,E,KAKX,CAEAlB,CAAAA,GAAa,SAAS,CAAG,CACvB,kBAAmBjpB,EAAAA,IAAIA,CACvB,cAAeke,EAAAA,WAAWA,CAC1B,mBAAoBle,EAAAA,IAAIA,CACxB,cAAeF,CAAAA,EAAAA,EAAAA,OAAAA,EAAQF,EAAAA,MAAMA,CAC/B,EAEAqpB,GAAa,YAAY,CAAG,CAC1B,kBAAmB/oB,GAAKA,EACxB,cAAelE,GAAS,UAAC,kBAAQA,IACjC,mBAAoBkE,GAAKA,EACzB,cAAe,EAAE,AACnB,EC5HA,IAAMkqB,GAAkB,AAAC,I,GAAA,CACvB1nB,UAAAA,CAAS,CAAEqX,MAAAA,CAAK,CAAE1M,SAAAA,CAAQ,CAC3B,GADgC6J,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,EAAAA,CAA/BxU,YAAWqX,QAAO1M,W,EAElB,IAAMgd,EAAUjD,CAAAA,EAAAA,EAAAA,SAAAA,IACVzqB,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAEX,CAAC0tB,EAAyBC,EAAyB,CAAGnpB,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IAE/D6N,EAAiBlS,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,oBAA8B,EAC3D6T,EAAiB9T,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,oBAA8B,EAC3DwR,EAAOzR,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,OAAiB,EACpCX,EAAgBU,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,sBAAgC,EAC5D7B,EAAoB4B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,oBAA8B,EAC9DwtB,EAAuBztB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,SAAmB,CAAC0B,EAAAA,EAAAA,CAAAA,kBAA2B,GAClFoT,EAAwB/U,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,wBAAkC,EAEtE,CACJ3B,cAAAA,CAAa,CACbgK,aAAAA,CAAY,CACZD,iBAAAA,CAAgB,CAChB8iB,eAAAA,EAAiB,EAAE,CACpB,CAAG7rB,EAEE2mB,EAAcyH,CAAAA,EAAAA,EAAAA,EAAAA,EAAqB1Q,GACnC2Q,EAAoBF,EAAuBpI,EAAAA,EAAAA,CAAAA,IAAkB,CAAGY,EAEhE1f,EAAWvG,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,cAAwB,EAE/C2tB,EAAaC,CAAAA,EAAAA,EAAAA,EAAAA,EAAoBtnB,EAAUZ,EAAWqmB,GAAY2B,KAAuB,CAAC,EAC1FjnB,EAAOmnB,CAAAA,EAAAA,EAAAA,EAAAA,EAAoBtnB,EAAUZ,EAAWqmB,GAAY/F,KAAiB,CAAC,EAE9E6H,EAAwB7H,IAAgBZ,EAAAA,EAAAA,CAAAA,OAAqB,EAAI8F,IAAmBxlB,GAAa7H,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,WAAyB,EAE3I,CAAE4J,KAAAA,CAAI,CAAE,CAAGimB,EACX,CAAEpuB,MAAAA,CAAK,CAAE,CAAGiuB,EAAuB/mB,EAAOknB,EAC1CG,EAAyB/sB,CAAAA,EAAAA,EAAAA,WAAAA,EAAYsQ,GAAoBkc,EAAyBlc,GAAmB,EAAE,EAEvG0c,EAAwBhtB,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,KACxCpB,EAASqO,EAAAA,EAAgC,CAAC,CAAE,GAAIhG,GAAAA,EAAAA,CAAAA,IAAsB,AAAC,IACvErI,EAASqO,EAAAA,EAAyB,CAACtM,EAAAA,EAAAA,CAAAA,kBAA2B,CAAE,IAClE,EAAG,EAAE,EAELqoB,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,WAAY,KACtBiE,CAAAA,EAAAA,EAAAA,EAAAA,KACDX,GAAWA,EAAQ,OAAO,EAAIA,EAAQ,OAAO,CAAC,KAAK,EACrDA,CAAAA,EAAQ,OAAO,CAAC,KAAK,CAAC,OAAO,CAAG,MAAK,CAEzC,GAEAptB,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACR,GAAM,CAAE,cAAeguB,CAAW,CAAE,CAAGvK,CAAAA,EAAAA,GAAAA,CAAAA,EAAmB,CAAErkB,cAAAA,EAAe,eAAgBsuB,CAAW,EAElG,EAACM,GAAe,CAACJ,GACnBluB,EAASqO,EAAAA,EAAsC,CAACgY,EAAa/C,CAAAA,EAAAA,EAAAA,EAAAA,EAAcvd,IAE/E,EAAG,CAACioB,EAAY3H,EAAa6H,EAAsB,EAEnD,IAAM1I,EAAiBpkB,CAAAA,EAAAA,EAAAA,WAAAA,EAAYoB,IACjC,GAAI4Q,CAAAA,EAAAA,EAAAA,EAAAA,IAAoB,CACtBlH,OAAO,qBAAqB,CAAC,CAC3B,OAAQ,WACR1J,OAAAA,CACF,GACA,MACF,CAEAxC,EAASqO,EAAAA,EAAgC,CAAC,CACxC,GAAIhG,GAAAA,EAAAA,CAAAA,OAAyB,CAAE,UAAW7F,EAAQ,YAAaijB,EAAAA,EAAAA,CAAAA,IAAkB,AACnF,GACF,EAAG,EAAE,EAECU,EAAiB/kB,CAAAA,EAAAA,EAAAA,WAAAA,EAAYmtB,IACjCvuB,EAASqO,EAAAA,EAAgC,CAAC,CACxC,GAAIhG,GAAAA,EAAAA,CAAAA,OAAyB,CAAE,UAAWkmB,EAAkB,YAAa9I,EAAAA,EAAAA,CAAAA,IAAkB,AAC7F,GACF,EAAG,EAAE,EAWL,MACE,WAAClnB,GAAkBA,CACjB,UAAU,WACV,IAAKmvB,EACL,cAAehvB,EACf,aAAcgK,EACd,iBAAkBD,EAClB,kBAAmBjK,E,UAEnB,UD+BS8tB,GC/BIA,CACX,iBAAkB7jB,EAClB,aAAcC,EACd,kBAAmB0lB,EACnB,aAAcrmB,EACd,cAAe,IAAMnI,GAAS,GAC9B,mBAAoBuuB,C,GAErBhZ,GACC,UjDyEOtP,GiDzEQA,CAAC,UAAWE,EAAW,mBA3BjBmiB,GAMlBC,AALkB,EACvB,CAACjgB,GAAAA,EAAAA,CAAAA,IAAe,CAAC,CAAEsd,EACnB,CAACtd,GAAAA,EAAAA,CAAAA,SAAoB,CAAC,CAAEie,CAC1B,EAEuB,CAAC+B,EAAS,A,GAuB/B,WAACvpB,GAA4BA,C,UAC1BgvB,GAA4B,UAAC,OAAI,UAAU,iB,GAC3CtH,GACC,UJ7GK4F,GI6GaA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAChB,KAAM5F,EACN,UAAWtgB,EACX,KAAMe,EACN,MAAOsW,EACP,eAAgBlJ,EAChB,eAAgB5B,EAChB,kBAAmB8b,EACnB,MAAOxuB,EACP,KAAMiS,EACN,eAAgB0Z,EAChB,SAAU7a,C,EACN6J,I,KAOhB,CAEAkT,CAAAA,GAAgB,SAAS,CAAG,CAC1B,UAAWxqB,EAAAA,MAAMA,CACjB,MAAOA,EAAAA,MAAMA,CACb,SAAUI,EAAAA,IAAIA,CACd,kBAAmBC,EAAAA,IAAIA,AACzB,EAEAmqB,GAAgB,YAAY,CAAG,CAC7B,UAAW,GACX,MAAO,GACP,SAAUlqB,GAAKA,EACf,kBAAmB,EACrB,ECtKA,IAAMirB,GAAmBvwB,GAAAA,EAAAA,CAAAA,GAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BpC,CAAC,CCeD,OAnCiB,KACf,IAAM+B,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACX5B,EAA0B+B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,0BAAoC,EAC1EouB,EAAYruB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,YAAsB,EAE9CyiB,EAAoBC,CAAAA,EAAAA,EAAAA,EAAAA,IAE1B,MACE,sB,SACE,UAAClgB,GAAAA,CAAaA,CAAAA,CACZ,cAAe,GACf,aAAc,GACd,QAAS,IACT,GAAIxE,EACJ,OAAQ,GACR,WAAW,iB,SAEX,UDKOmwB,GCLUA,C,SACf,UAAC,OAAI,UAAU,c,SACb,WAAC3tB,GAAAA,CAAMA,CAAAA,CACL,UAAU,2BACV,WAAW,QACX,UAAS,GACT,QAAS,IAAMb,EAAS0uB,EAAAA,EAAwB,CAAC,CAAE,GAAIrmB,GAAAA,EAAAA,CAAAA,YAA8B,CAAE,OAAQ,UAAW,I,UAEzGlJ,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,aACH,UAAC,QAAK,UAAU,O,SAAQ,CAAC,EAAE2jB,EAAkB2L,GAAW,CAAC,A,aAOvE,EC9BA,IAAME,GAAiB,AAAC,I,GAAA,CACtBttB,SAAAA,CAAQ,CACRkrB,cAAAA,CAAa,CACbhhB,WAAAA,CAAU,CACVzD,OAAAA,CAAM,CACN/B,UAAAA,CAAS,CAEV,GADI1G,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,EAAAA,CALHgC,WACAkrB,gBACAhhB,aACAzD,SACA/B,Y,EAGA,IAAM/F,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACX,CAAE,OAAQ2uB,CAAmB,CAAE,CAAGxuB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,uBAAiC,EAE/EqtB,EAAU1sB,CAAAA,EAAAA,EAAAA,MAAAA,IAEhBopB,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,WAAY,KACtBiE,CAAAA,EAAAA,EAAAA,EAAAA,KACDX,GAAWA,EAAQ,OAAO,EAAIA,EAAQ,OAAO,CAAC,KAAK,EACrDA,CAAAA,EAAQ,OAAO,CAAC,KAAK,CAAC,OAAO,CAAG,MAAK,CAEzC,GAEA,IAAMU,EAAwBhtB,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,IAAMpB,EAASqO,EAAAA,EAAgC,CAAC,CAAE,GAAIhG,GAAAA,EAAAA,CAAAA,IAAsB,AAAC,IAAK,EAAE,EAExHmkB,EAAgBjhB,EAAW,MAAM,CAEvCjL,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACJ,CAACsuB,GAAuB9mB,GAAU/B,GACpC/F,EAASqO,EAAAA,EAAyB,CAACtM,EAAAA,EAAAA,CAAAA,mBAA4B,CAAE,CAAE+F,OAAAA,EAAQ/B,UAAAA,CAAU,GAEzF,EAAG,EAAE,EAEL,IAAM8oB,EAAoBxa,EAAAA,QAAAA,CAAAA,GAAkB,CAAChT,EAAUytB,GACrD,AAAIza,EAAAA,cAAoB,CAACya,GAChBza,EAAAA,YAAkB,CAACya,EAAO,YAAKzvB,IAEjCyvB,GAGT,MACE,WAACvwB,GAAkBA,CAAC,IAAKmvB,EAAS,UAAU,W,UAC1C,UJmGSpB,GInGIA,CACX,kBAAmB8B,EACnB,cAAe7B,EACf,cAAeC,C,GAEhBqC,E,EAGP,CAEAF,CAAAA,GAAe,SAAS,CAAG,CACzB,cAAepN,EAAAA,WAAWA,CAC1B,SAAUwN,EAAAA,IAAIA,CACd,WAAY3rB,CAAAA,EAAAA,EAAAA,KAAAA,EAAM,CAAC,GACnB,OAAQH,EAAAA,MAAMA,CACd,UAAWA,EAAAA,MAAMA,AACnB,EAEA0rB,GAAe,YAAY,CAAG,CAC5B,cAAetvB,GAAS,UAAC,kBAAQA,IACjC,SAAU,UAAC,UACX,WAAY,CACV,OAAQ,EAAE,AACZ,EACA,OAAQ,GACR,UAAW,EACb,E,kBCpEA,IAAM2vB,GAAe,CAAC,CACpB3tB,SAAAA,CAAQ,CACT,IACC,IAAMumB,EAAqB5mB,CAAAA,EAAAA,EAAAA,MAAAA,IACrB3C,EAA0B+B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,0BAAoC,EAC1EL,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAMjB,MAJAK,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACRN,EAASivB,CAAAA,EAAAA,EAAAA,EAAAA,EAA6BC,GAAAA,CAAAA,CAAAA,WAA2B,EACnE,EAAG,EAAE,EAGH,UAAC,OAAI,UAAU,O,SACb,UAAC5wB,GAAeA,CAAC,UAAU,4BAA4B,IAAKspB,E,SAC1D,WAAC5pB,GAAWA,CAAC,wBAAyBK,E,UACpC,UAAC+pB,GAAQA,CAAAA,GACT,UAAClT,GAAMA,CAAAA,GACP,UAACI,GAAoBA,CAAC,UAAU,qBAAqB,cAAY,qB,SAC9DjU,C,SAMb,CAEA2tB,CAAAA,GAAa,SAAS,CAAG,CACvB,SAAUD,EAAAA,IAAAA,CAAAA,UAAe,AAC3B,E,gCCrCA,IAAMI,GAAmBxrB,GAAAA,EAAAA,CAAAA,GAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiElC,EAAE,CAAC,CAAEkN,cAAAA,CAAa,CAAE,GAAMA,EAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiF1C,CAAC,CAAG,GAAI;;AAEV,CAAC,CC9FD,OA9C4B,KAC1B,IAAMqD,EAAiB9T,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,oBAA8B,EAE3DL,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAUjB,MACE,WDgIWkvB,GChIMA,C,UACf,UAACC,GAAAA,CAAqBA,CAAAA,CAAC,UAAU,W,GACjC,UAAC,M,SACEjwB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,6B,GAGL,UAAC,QAAK,UAAU,sB,SAAuBA,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,+B,GAEvC+U,GACE,uB,UACE,UAAC,OAAI,UAAU,I,GACf,UAAC,Q,SAAM/U,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,4B,GACT,UAAC0B,GAAAA,CAAMA,CAAAA,CACL,QAlBqB,KAC/Bb,EAASoI,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,GAAIC,GAAAA,EAAAA,CAAAA,YAA8B,CAAE,OAAQ,gBAAiB,GAC3F,EAiBY,WAAW,QACX,UAAU,Y,SAETlJ,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,qB,MAKX,UAAC0B,GAAAA,CAAMA,CAAAA,CACL,QAhCyB,KAC7Bb,EAASoI,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,GAAIC,GAAAA,EAAAA,CAAAA,IAAsB,CAAE,OAAQ,UAAW,GAC7E,EA+BM,QAAQ,Q,SAEPlJ,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,oB,KAIX,EnErDA,SAAS,KAAa,MAAO,IAAW,OAAO,MAAM,CAAG,OAAO,MAAM,CAAC,IAAI,GAAK,SAAU,CAAC,EAAI,IAAK,IAAI,EAAI,EAAG,EAAI,UAAU,MAAM,CAAE,IAAK,CAAE,IAAI,EAAI,SAAS,CAAC,EAAE,CAAE,IAAK,IAAI,KAAK,EAAG,AAAC,EAAC,GAAG,cAAc,CAAC,IAAI,CAAC,EAAG,IAAO,EAAC,CAAC,EAAE,CAAG,CAAC,CAAC,EAAE,AAAD,CAAG,CAAG,OAAO,CAAE,GAAa,MAAM,KAAM,UAAW,CAE7Q,IAAC,GAAiB,AAAG,GAAsB,eAAmB,CAAC,MAAO,GAAS,CAClF,MAAO,6BACP,KAAM,eACN,QAAS,WACX,EAAG,GAAQ,GAAU,GAAqB,eAAmB,CAAC,OAAQ,CACpE,EAAG,sKACL,KCRA,SAAS,KAAa,MAAO,IAAW,OAAO,MAAM,CAAG,OAAO,MAAM,CAAC,IAAI,GAAK,SAAU,CAAC,EAAI,IAAK,IAAI,EAAI,EAAG,EAAI,UAAU,MAAM,CAAE,IAAK,CAAE,IAAI,EAAI,SAAS,CAAC,EAAE,CAAE,IAAK,IAAI,KAAK,EAAG,AAAC,KAAI,cAAc,CAAC,IAAI,CAAC,EAAG,IAAO,EAAC,CAAC,EAAE,CAAG,CAAC,CAAC,EAAE,AAAD,CAAG,CAAG,OAAO,CAAE,GAAa,MAAM,KAAM,UAAW,CAE7Q,IAAC,GAAU,AAAG,GAAsB,eAAmB,CAAC,MAAO,GAAS,CAC3E,MAAO,6BACP,KAAM,eACN,QAAS,WACX,EAAG,GAAQ,GAAU,GAAqB,eAAmB,CAAC,OAAQ,CACpE,EAAG,0KACL,K,kBCRA,SAAS,KAAa,MAAO,IAAW,OAAO,MAAM,CAAG,OAAO,MAAM,CAAC,IAAI,GAAK,SAAU,CAAC,EAAI,IAAK,IAAI,EAAI,EAAG,EAAI,UAAU,MAAM,CAAE,IAAK,CAAE,IAAI,EAAI,SAAS,CAAC,EAAE,CAAE,IAAK,IAAI,KAAK,EAAG,AAAC,KAAI,cAAc,CAAC,IAAI,CAAC,EAAG,IAAO,EAAC,CAAC,EAAE,CAAG,CAAC,CAAC,EAAE,AAAF,CAAI,CAAG,OAAO,CAAE,GAAa,MAAM,KAAM,UAAW,CAE7Q,IAAC,GAAc,GAAsB,EAAM,aAAa,CAAC,MAAO,GAAS,CAC5E,MAAO,6BACP,KAAM,eACN,QAAS,WACX,EAAG,GAAQ,GAAU,GAAqB,eAAmB,CAAC,OAAQ,CACpE,SAAU,UACV,EAAG,ssBACH,SAAU,SACZ,IAAK,GAAW,GAAsB,eAAmB,CAAC,OAAQ,CAChE,EAAG,4uBACL,K,2DkEuIA,GAvH+B,KAC7B,GAAM,CAACkwB,EAAUC,EAAU,CAAG7qB,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IACjC8qB,EAAiB3qB,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IAAOyqB,EAAWlwB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,wBAA0BA,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,cACzEa,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAEjBK,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACR,IAAMkvB,EAAY9pB,WAAW,KAC3B4pB,EAAU,GACZ,EAAG,KACH,MAAO,IAAM1pB,aAAa4pB,EAC5B,EAAG,CAACH,EAAS,EAEb,IAAMI,EAAiBruB,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,KACjCkuB,EAAU,IACVtvB,EAASO,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,OAAQ,wBAAyB,GAC/D,EAAG,EAAE,EAECmvB,EAAkBtvB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,kBAA4B,EAC1DqiB,EAAatiB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,aAAuB,EAChD6iB,EAAW9iB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,UAAoB,EAC3C,CAAE,WAAYsvB,CAAS,CAAE,GAAIvS,CAAK,CAAE,CAAGhd,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,sBAAgC,EAEnFyiB,EAAoBC,CAAAA,EAAAA,EAAAA,EAAAA,IAGpBuC,EAAeC,CAAAA,EAAAA,GAAAA,EAAAA,EAAyBqK,CAAAA,EAAAA,GAAAA,EAAAA,IAA4B,aAAa,CAD/D,CAAE,YAAa1M,CAAS,GAE1C2M,EAAQ,CACZ,aAAcC,GACd,YAAaC,GACb,aAAcC,GAAAA,CAAwBA,CACtC,aAAcC,EAChB,EACMC,EAAqBC,CAAAA,EAAAA,EAAAA,EAAAA,EAAsB7K,EAAc5C,EAAYtF,EAAOyS,EAAOO,CAAAA,EAAAA,GAAAA,EAAAA,EAAqBT,GAAY,IAEpHU,EAA2B,IAAMrwB,EAASoI,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,GAAIC,GAAAA,EAAAA,CAAAA,IAAsB,CAAE,OAAQ,UAAW,IAM5GwI,EAAgBzQ,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,gBAA0B,EACtD8e,EAAmBC,CAAAA,EAAAA,EAAAA,EAAAA,IAEnBkR,EAAyBC,IAC7BA,EAAO,MAAM,GACbvwB,EAASO,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,OAAQ,CAAC,OAAO,EAAEgwB,EAAO,KAAK,CAAC,YAAY,CAAC,AAAC,GAC3E,EASA,MACE,WFmEWpB,GEnEMA,CAAC,cAAete,E,UAC/B,UAACue,GAAAA,CAAqBA,CAAAA,CAAC,UAAU,W,GACjC,UAAC,M,SACEjwB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,2B,GAEL,UAAC,QAAK,UAAU,sB,SACbsB,CAAAA,EAAAA,EAAAA,EAAAA,EAAoB,2DAA2D,CAC9E,UAAW,IAAM,UAAC,QAAK,UAAU,uB,SAAwBqiB,EAAkB4M,E,EAC7E,E,GAEF,UAAC7uB,GAAAA,CAAMA,CAAAA,CAAC,KAAK,QAAQ,UAAU,YAAY,QA/Bf,KAC9Bb,EAASoI,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,GAAIC,GAAAA,EAAAA,CAAAA,YAA8B,CAAE,OAAQ,mBAAoB,IAC5FrI,EAASO,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,OAAQ,oCAAqC,GAC3E,E,SA4BkFpB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,qB,GAChF,UAAC,QAAK,UAAU,SAAS,UAAWkxB,EAA0B,QAASA,E,SAA2BlxB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,uB,GACnGjB,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,YAA0B,GAC5C,WAAC,OAAI,UAAU,mG,UACb,UAAC,KAAE,UAAU,6BAA6B,MAAM,U,SAAWgB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,uC,GAC7D,WAAC,OAAI,UAAU,wC,UACZ+wB,EAAmB,GAAG,CAACK,GAEpB,UAAC1vB,GAAAA,CAAMA,CAAAA,CACL,QAAS,IAAMyvB,EAAuBC,GACtC,KAAK,QACL,QAAQ,SACR,WAAW,QACX,UAAWA,EAAO,IAAI,CACtB,QAAS,GACT,UAAU,M,IAIdpR,EAEE,UAACte,GAAAA,CAAMA,CAAAA,CACL,QAxCgB,KAC5B2vB,CAAAA,EAAAA,GAAAA,EAAAA,EACE,CAAE,MAAOtN,EAAU,KAAM/jB,CAAAA,EAAAA,EAAAA,CAAAA,EAAEmmB,GAAe,IAAK,CAAC,EAAEmL,CAAAA,EAAAA,EAAAA,EAAAA,EAAkB/N,EAAYtF,EAAOsT,CAAAA,EAAAA,EAAAA,EAAAA,EAA2B,cAAe,KAAO,MAAM,EAAEN,CAAAA,EAAAA,GAAAA,EAAAA,EAAqBT,GAAW,CAAC,AAAC,GAEpL3vB,EAASO,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,OAAQ,wBAAyB,GAC/D,EAoCc,QAAQ,SACR,WAAW,YACX,KAAK,QACL,QAAS,GACT,UAAU,O,SAETpB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,O,GAIP,WAACwxB,GAAAA,CAAUA,CAAAA,CACT,UAAU,4RAIV,WAAYF,CAAAA,EAAAA,EAAAA,EAAAA,EAAkB/N,EAAYtF,EAAOsT,CAAAA,EAAAA,EAAAA,EAAAA,EAA2B,WAAY,KACxF,OAAQjB,EACR,MAAOtwB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,a,UAER,CAACkwB,GAAY,UAACuB,GAAAA,CAAgBA,CAAAA,CAAC,UAAU,kB,GAC1C,UAAC,QAAK,UAAU,e,SAAgBrB,C,cAQ9C,EC7IA,IAAMsB,GAAgB3yB,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,YAA0B,EAE3D2yB,GAAmB7yB,GAAAA,EAAAA,CAAAA,GAAU,CAAC;;;oBAGhB,EAAEQ,GAAAA,EAAaA,CAAC;;;;;;;;;YASxB,EAAE,CAAC,CAAED,kBAAAA,CAAiB,CAAEuyB,4BAAAA,CAA2B,CAAE,GAC7D,AAAIA,EAAoC,QACjCvyB,EAAoB,uBAAyB,uBACpD;;;;;;;;;cASU,EAAE,CAAC,CAAEqS,cAAAA,CAAa,CAAE,GAC9B,AAAIggB,IAAiBhgB,EACZ,QACHA,EACG,QAEF,OACP;;;;;;;;;;;;;;;;;cAiBU,EAAE,CAAC,CAAErS,kBAAAA,CAAiB,CAAE,GAAMA,EAAoB,qBAAuB,QAAS;;;;AAIhG,CAAC,CCCD,OA7CuB,KACrB,IAAMwB,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACXwsB,EAA0BrsB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,0BAAoC,EAC1E7B,EAAoB4B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,oBAA8B,EAC9DwQ,EAAgBzQ,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,gBAA0B,EACtD2wB,EAAqB5wB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,qBAA+B,EAChEmN,EAAoBpN,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,oBAA8B,EAC9D4wB,EAAqB7wB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,qBAA+B,EAChE6wB,EAAkB9wB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,kBAA4B,EAC1D8wB,EAAa,IAAIrT,IAAI5R,OAAO,QAAQ,CAAC,IAAI,EACzCklB,EAAgBD,EAAW,YAAY,CAAC,GAAG,CAAC,YAE5CE,EAAaD,GAAiB3E,EAE9B6E,EAA6B,CAACN,GAAsBxjB,GAAsB6jB,GAAcH,EAiB9F,GAfA5wB,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACJ8wB,IACFD,EAAW,YAAY,CAAC,MAAM,CAAC,YAC/BjlB,OAAO,OAAO,CAAC,SAAS,CAAC,KAAM,KAAMilB,EAAW,QAAQ,KAGrDG,EAIM,CAACF,GACVpxB,EAASqO,EAAAA,EAAqC,CAACkjB,EAAAA,EAAAA,CAAAA,MAA6B,GAJ5EvxB,EAASqO,EAAAA,EAAgC,CACvC,CAAE,GAAIhG,GAAAA,EAAiB,CAACwI,EAAgB,OAAS,eAAe,CAAE,OAAQA,EAAgB,WAAa,OAAQ,cAAe2gB,GAAAA,EAAAA,CAAAA,IAAyC,AAAC,GAK9K,EAAG,EAAE,EAED,CAACF,EAA2B,OAAO,KAIvC,IAAMP,EAA8B,CAACtE,GAA2BwE,IAAuBM,EAAAA,EAAAA,CAAAA,qBAA4C,CACnI,MACE,UDSWT,GCTMA,CAAC,4BAA6BC,EAA6B,cAAelgB,EAAe,kBAAmBrS,E,SAC3H,UAAC,OAAI,UAAW6W,KAAW,CAAC,wBAAyB,CAAE,SAAUoX,CAAwB,EAAE,E,SACxFA,EAA0B,UANV5b,EAAgB4gB,GAAyBC,GAM9BC,CAAAA,GAAoB,UAACC,GAAAA,CAAoBA,CAAAA,CAAAA,E,IAI7E,E,0CnEzDA,SAAS,KAAa,MAAO,IAAW,OAAO,MAAM,CAAG,OAAO,MAAM,CAAC,IAAI,GAAK,SAAU,CAAC,EAAI,IAAK,IAAI,EAAI,EAAG,EAAI,UAAU,MAAM,CAAE,IAAK,CAAE,IAAI,EAAI,SAAS,CAAC,EAAE,CAAE,IAAK,IAAI,KAAK,EAAG,AAAC,KAAI,cAAc,CAAC,IAAI,CAAC,EAAG,IAAO,EAAC,CAAC,EAAE,CAAG,CAAC,CAAC,EAAE,AAAF,CAAI,CAAG,OAAO,CAAE,GAAa,MAAM,KAAM,UAAW,CAE7Q,IAAC,GAAuB,AAAG,GAAsB,eAAmB,CAAC,MAAO,GAAS,CACxF,MAAO,6BACP,KAAM,eACN,QAAS,WACX,EAAG,GAAQ,GAAU,GAAqB,eAAmB,CAAC,OAAQ,CACpE,SAAU,UACV,EAAG,+aACH,SAAU,SACZ,K,gCoEPO,IAAMC,GAAY,CAAC,CACxBC,QAAAA,CAAO,CACR,GAMG,UAAC,UAAO,UAAU,eAAe,KAAK,SAAS,QAL7B7yB,IAClBA,EAAE,eAAe,GACjB6yB,GACF,E,SAEuE,a,EAIzED,CAAAA,GAAU,SAAS,CAAG,CACpB,QAASxuB,EAAAA,IAAIA,AACf,EAEAwuB,GAAU,YAAY,CAAG,CACvB,QAAStuB,GAAKA,CAChB,E,8CCZA,IAAMwuB,GAAa,CAAC,CAClBC,QAAAA,CAAO,CACPC,SAAAA,CAAQ,CACT,IACC,GAAI,CAACD,GAAWA,EAAQ,MAAM,EAAI,EAChC,OAAO,KAGT,IAAME,EAAsBC,CAAAA,EAAAA,GAAAA,EAAAA,EAAuBH,GAC7C,CACJI,SAAAA,CAAQ,CACT,CAAGF,EAEEG,EAAeC,CAAAA,EAAAA,GAAAA,EAAAA,EAAeJ,GAMpC,MACE,UAACK,GAAAA,CAAOA,CAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,EACFF,GAAAA,CACJ,SAPiBG,IACnBP,EAASO,EAAUC,GAAAA,CAAaA,CAClC,EAMI,MAAOL,C,GAGb,CAEAL,CAAAA,GAAW,SAAS,CAAG,CACrB,QAASW,EAAAA,KAAKA,CACd,SAAUrvB,EAAAA,IAAIA,AAChB,EAEA0uB,GAAW,YAAY,CAAG,CACxB,QAAS,EAAE,CACX,SAAUxuB,GAAKA,CACjB,ECpCA,IAAMovB,GAA0B,CAAC,CAC/BX,QAAAA,CAAO,CACPC,SAAAA,CAAQ,CACRlF,WAAAA,CAAU,CACV6F,YAAAA,CAAW,CACX7sB,UAAAA,CAAS,CACT+B,OAAAA,CAAM,CACN+qB,YAAAA,CAAW,CACZ,IAEC,IAAMC,EAAO1yB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,OAAiB,EAEpC,CAAEmC,OAAAA,CAAM,CAAE,CADHpC,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,yBAAmC,CAACyH,IAGvDirB,EAAiB,CAAC,CAACC,AADDF,CAAAA,CAAI,CAACtwB,EAAO,EAAI,EAAE,AAAD,EACA,IAAI,CAACywB,GAAWA,EAAQ,GAAG,GAAKltB,GAGzE,OAAQ,IACN,KAHiBgnB,GAAcgG,EAI7B,MACE,WAAC,OAAI,UAAU,gB,UACb,UAAC3D,GAAAA,CAAqBA,CAAAA,CAAC,MAAM,M,GAAS,gB,EAI5C,MAAKrC,EACH,MACE,UAAC8E,GAASA,CAAC,QAASe,C,EAExB,MAAKC,EACH,MACE,UDOOd,GCPIA,CAAC,QAASC,EAAS,SAAUC,C,EAE5C,SACE,OAAO,IACX,CACF,CAEAU,CAAAA,GAAwB,SAAS,CAAG,CAClC,QAASxvB,CAAAA,EAAAA,EAAAA,OAAAA,EAAQC,CAAAA,EAAAA,EAAAA,KAAAA,EAAM,CAAC,IACxB,SAAUC,EAAAA,IAAIA,CACd,WAAYC,EAAAA,IAAIA,CAChB,YAAaD,EAAAA,IAAIA,CACjB,UAAWJ,EAAAA,MAAMA,CACjB,OAAQA,EAAAA,MAAMA,CACd,YAAaK,EAAAA,IAAIA,AACnB,EAEAqvB,GAAwB,YAAY,CAAG,CACrC,QAAS,EAAE,CACX,SAAUpvB,GAAKA,EACf,WAAY,GACZ,YAAaA,GAAKA,EAClB,UAAW,GACX,OAAQ,GACR,YAAa,EACf,E,gCC3DA,IAAM2vB,GAAuB,CAAC,CAAEC,SAAAA,CAAQ,CAAEpG,WAAAA,CAAU,CAAEqG,iBAAAA,CAAgB,CAAE,IACtE,IAAMC,EAAkBryB,CAAAA,EAAAA,EAAAA,MAAAA,IAElB,CAACsyB,EAAYC,EAAc,CAAGryB,GAAAA,EAA0B,CAAC,GAAO,CAACmyB,EAAgB,EAgBvF,OACEtG,EACE,UAAClsB,GAAAA,CAAMA,CAAAA,CACL,UAAWyyB,EAAaE,GAAAA,CAAeA,CAAGC,GAAAA,CAAeA,CACzD,QAAO,GACP,KAAK,QACL,WAAYH,EAAa,QAAU,YACnC,QAdcr0B,IAElB,GADAA,EAAE,eAAe,GACbq0B,EAAY,OAAOF,IAEvBG,EAAc,GAChB,EAS4B,IAAKF,EAC3B,UAAU,U,SAEV,UAAC,QAAK,UAAW,CAAC,EAAEC,EAAa,gBAAkB,eAAe,sEAAsE,CAAC,C,SAAGn0B,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,S,KAGhJ,UAAC0B,GAAAA,CAAMA,CAAAA,CACL,UAAW2yB,GAAAA,CAAeA,CAC1B,QAAO,GACP,KAAK,QACL,WAAYF,EAAa,QAAU,YACnC,QAhCiBr0B,IAErB,GADAA,EAAE,eAAe,GACbq0B,EAAY,OAAOH,IAEvBI,EAAc,GAChB,EA4BM,IAAKF,EACL,UAAU,U,SAEV,UAAC,QAAK,UAAW,CAAC,EAAEC,EAAa,gBAAkB,eAAe,sEAAsE,CAAC,C,SAAGn0B,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,U,IAItJ,CAEA+zB,CAAAA,GAAqB,SAAS,CAAG,CAC/B,SAAU7vB,EAAAA,IAAIA,CACd,WAAYC,EAAAA,IAAIA,CAChB,iBAAkBD,EAAAA,IAAIA,AACxB,EAEA6vB,GAAqB,YAAY,CAAG,CAClC,SAAU3vB,GAAKA,EACf,WAAY,GACZ,iBAAkBA,GAAKA,CACzB,EC5DA,IAAMmwB,GAAoBz1B,GAAAA,EAAAA,CAAAA,GAAU,CAAC;;;UAG3B,EAAEQ,GAAAA,EAAaA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsO1B,CAAC,C,kBChOD,IAAMk1B,GAAW,CAAC,CAChBV,QAAAA,CAAO,CAAEW,YAAAA,CAAW,CAAE7G,WAAAA,CAAU,CAAEjlB,OAAAA,CAAM,CAAEtF,OAAAA,CAAM,CACjD,IACC,IAAMxC,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACX,CAAE+xB,QAAAA,EAAU,EAAE,CAAE,IAAKjsB,CAAS,CAAE,CAAGktB,EACnCY,EAAezzB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,uBAAiC,CAACmC,EAAQuD,IAErE+tB,EAAe1yB,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,IAAMpB,EAASqO,EAAAA,EAAqC,CAAC7L,EAAQuD,EAAW,CAAE,SAAU,CAAE,IAAK,CAACvD,EAAQuD,EAAU,EAEzIguB,EAAiB3yB,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,CAAC4yB,EAAiB,EAAK,IACxDh0B,EAASqO,EAAAA,EAAqC,CAACvG,EAAQ/B,EAAWiuB,GACpE,EAAG,CAAClsB,EAAQ/B,EAAU,EAEhBkuB,EAA0B7yB,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,IAAMpB,EAASqO,EAAAA,EAAuC,CAAC,CAAEtI,UAAAA,EAAW+B,OAAAA,CAAO,IAAK,CAAC/B,EAAW+B,EAAO,EAEzImqB,EAAW7wB,CAAAA,EAAAA,EAAAA,WAAAA,EAAY8yB,GAAUtZ,GAAS5a,EAASqO,EAAAA,EAAqC,CAAC7L,EAAQ0xB,EAAQ,CAAE,SAAUtZ,CAAM,IAAK,CAACpY,EAAO,EAWxI2xB,EAAYC,AAT+BpC,EAAQ,MAAM,CAAC,CAACtX,EAAM6V,KACrE,GAAM,CAAEruB,KAAAA,CAAI,CAAE,CAAGquB,SACjB,AAAIruB,IAASuwB,GAAAA,CAAaA,CACjB/X,EAGFA,EAAO,CAChB,EAAG,GAEsD,EACnDmY,EAAc,CAAC,CAACb,EAAQ,IAAI,CAAC,CAAC,CAAE9vB,KAAAA,CAAI,CAAE,GAAKA,IAASuwB,GAAAA,CAAaA,EAEjE4B,EAAkBjzB,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,KAElC,GAAI+yB,EAAW,CACbF,IACA,MACF,CAEAj0B,EAASqO,EAAAA,EAA0C,CAAC,CAAEvG,OAAAA,EAAQ,aAAc,CAAE/B,UAAAA,EAAW,SAAU,CAAE,CAAE,GACzG,EAAG,CAACkuB,EAAyBE,EAAU,EAEjCG,EAAelzB,CAAAA,EAAAA,EAAAA,WAAAA,EAAY/B,GAC/B,UFYW6zB,GEZUA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,EACf7zB,GAAAA,CACJ,WAAY0tB,EACZ,SAAU+G,EACV,iBAAkBC,C,IAEnB,CAAChH,EAAYgH,EAAe,EAEzBQ,EAAUnzB,CAAAA,EAAAA,EAAAA,WAAAA,EAAY/B,GAC1B,UHMWszB,GGNaA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA,EAClBtzB,GAAAA,CACJ,WAAY0tB,EACZ,YAAasH,EACb,UAAWtuB,EACX,OAAQ+B,EACR,YAAa+qB,C,IAEd,CAAC9F,EAAYsH,EAAiBtuB,EAAW8sB,EAAY,EAExD,MACE,WDqKWa,GCrKOA,CAAC,QAASO,E,UAC1B,UAACO,GAAAA,CAAiBA,CAAAA,CAChB,QAASvB,EACT,gBAAiBwB,GAAAA,CAAuBA,CACxC,YAAab,EACb,aAAcC,EACd,gBAAiBU,EACjB,SAAUtC,EAASlsB,GACnB,qBAAsBuuB,C,GAEvB,CAACnrB,CAAAA,EAAAA,EAAAA,EAAAA,KACA,WAAC,OAAI,UAAU,uB,UACb,UAACorB,EAAAA,CAAQ,QAASvC,EAAS,SAAUC,EAASlsB,E,GAC9C,UAACuuB,EAAAA,CAAa,UAAWvuB,C,QAKnC,CAEA4tB,CAAAA,GAAS,SAAS,CAAG,CACnB,QAASvwB,CAAAA,EAAAA,EAAAA,KAAAA,EAAM,CAAC,GAChB,YAAaH,EAAAA,MAAMA,CACnB,WAAYK,EAAAA,IAAIA,CAChB,OAAQL,EAAAA,MAAMA,CACd,OAAQA,EAAAA,MAAMA,AAChB,EAEA0wB,GAAS,YAAY,CAAG,CACtB,QAAS,CAAC,EACV,YAAa,GACb,WAAY,GACZ,OAAQ,GACR,OAAQ,EACV,E,kBCxGO,IAAMe,GAAuB,CAACzB,EAAS0B,EAAe,CAAC,CAAC,IAC7D,GAAI,CAAC1B,EAAS,OAAO,EAErB,GAAM,CAAE2B,SAAAA,CAAQ,CAAEC,WAAAA,CAAU,CAAEC,YAAAA,CAAW,CAAE,CAAGH,EAExC,CAAEI,MAAAA,CAAK,CAAE/C,QAAAA,CAAO,CAAE,CAAGiB,EAC3B,GAAI,CAACjB,EAAS,OAAO+C,EAIrB,GAAM,CAAE3C,SAAAA,CAAQ,CAAE,CAFKD,CAAAA,EAAAA,GAAAA,EAAAA,EAAuBH,GAGxCgD,EAAkB7tB,SAASirB,EAAU,IACrC6C,EAASC,CAAAA,EAAAA,GAAAA,EAAAA,EAAc,CAC3BH,MAAAA,EACAH,SAAAA,EACAC,WAAAA,EACAC,YAAAA,CACF,EAAGE,GAEH,MAAOG,CAAAA,EAAAA,GAAAA,EAAAA,EAAeF,EAAQN,EAChC,ECbMS,GAAe,CAAC,CACpBttB,OAAAA,CAAM,CAAEtF,OAAAA,CAAM,CAAE6yB,SAAAA,CAAQ,CAAEtI,WAAAA,CAAU,CACrC,IACC,IAAMjX,EAAe1V,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,4BAAsC,EACjEyiB,EAAoBC,CAAAA,EAAAA,EAAAA,EAAAA,IAE1B,OAAOsS,EAAS,GAAG,CAACpC,IAClB,GAAM,CAAE,IAAKltB,CAAS,CAAEgvB,MAAAA,CAAK,CAAE,CAAG9B,EAE5BW,EAAcc,GAAqB,qBAAKzB,GAAAA,CAAS8B,MAAAA,C,GAASjf,GAEhE,MACE,UAAC,O,SACC,UFsFO6d,GEtFEA,CACP,QAASV,EACT,OAAQnrB,EACR,OAAQtF,EACR,YAAauqB,EAAajK,EAAkBiS,GAASnB,EACrD,WAAY7G,C,IANN,CAAC,EAAEjlB,EAAO,CAAC,EAAE/B,EAAU,CAAC,CAUtC,EACF,CAEAqvB,CAAAA,GAAa,SAAS,CAAG,CACvB,OAAQnyB,EAAAA,MAAMA,CACd,OAAQA,EAAAA,MAAMA,CACd,SAAUE,CAAAA,EAAAA,EAAAA,OAAAA,EAAQC,CAAAA,EAAAA,EAAAA,KAAAA,EAAM,CAAC,IACzB,WAAYE,EAAAA,IAAIA,AAClB,EAEA8xB,GAAa,YAAY,CAAG,CAC1B,OAAQ,GACR,OAAQ,GACR,SAAU,EAAE,CACZ,WAAY,EACd,EC1BA,OAlBc,CAAC,CAAEE,aAAAA,CAAY,CAAEvI,WAAAA,CAAU,CAAE,IACzC,IAAMwI,EAAqB,CAACxI,GAAcuI,EAAa,MAAM,CAAG,EAEhE,OAAOA,EAAa,GAAG,CAAC,CAAC,CACvB/oB,GAAAA,CAAE,CAAE/J,OAAAA,CAAM,CAAE2T,aAAAA,CAAY,CAAEvW,MAAAA,CAAK,CAChC,GACC,WAAC,O,UACE21B,GAAsB,UAAC,MAAG,UAAU,oB,SAAqB31B,C,GAC1D,UDsCSw1B,GCtCIA,CACX,OAAQ7oB,EACR,OAAQ/J,EACR,SAAU2T,EACV,WAAY4W,C,KANN,CAAC,EAAExgB,EAAG,CAAC,EAAE3M,EAAM,CAAC,EAU9B,ECjBA,IAAM41B,GAAcv3B,GAAAA,EAAAA,CAAAA,GAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgD/B,CAAC,CChDKuwB,GAAmBvwB,GAAAA,EAAAA,CAAAA,GAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CpC,CAAC,CCLD,OAlC0B,KACxB,IAAM+B,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACXwuB,EAAYruB,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,YAAsB,EAC9Co1B,EAAkBr1B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,uBAAiC,EAE/DyiB,EAAoBC,CAAAA,EAAAA,EAAAA,EAAAA,IAI1B,MACE,WD+BWyL,GC/BSkH,CAAC,UAAU,iB,UAC7B,WAAC,OAAI,UAAU,iC,UACb,WAAC,O,UACEv2B,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,SACH,UAAC,QAAK,UAAU,iB,SAAkBsvB,EAAY3L,EAAkB2L,GAAatvB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,O,MAEjF,WAAC,OAAI,UAAU,Y,UACZs2B,EACA,IACAA,EAAkB,EAAIt2B,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,SAAWA,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,Q,MAG1C,WAAC0B,GAAAA,CAAMA,CAAAA,CACL,WAAW,QACX,UAAU,mBACV,QAlBmB,IAAMb,EAASoI,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,GAAIC,GAAAA,EAAAA,CAAAA,YAA8B,CAAE,OAAQ,UAAW,I,UAoB3GlJ,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,aACH,UAAC,QAAK,UAAU,0C,SAA2CsvB,EAAY3L,EAAkB2L,GAAatvB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,O,QAIhH,ECwBA,GArDoB,KAClB,IAAMa,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACX01B,EAAmCv1B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,mCAA6C,EAC5Fu1B,EAAuBx1B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,uBAAiC,EACpE0O,EAAc3O,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,cAAwB,EAClDw1B,EAAoBF,EAAiC,MAAM,CAAG,EAQpE,MAJAr1B,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,IACD,IAAMN,EAAS81B,CAAAA,EAAAA,EAAAA,EAAAA,EAA8B,MAIpD,uB,UACGF,GACC,UAAC,OAAI,MAAO,CAAE,OAAQ,eAAgB,E,SACpC,UAACG,GAAAA,CAAUA,CAAAA,CAAC,KAAK,S,SACd52B,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,8E,KAIR,AAAC02B,EAoBA,uB,UACE,UAAC,OAAI,UAAU,gB,SACb,UAACG,GAAKA,CAAC,aAAcL,C,KAEvB,UAACM,GAAiBA,CAAAA,G,GAvBpB,WHgBOT,GGhBKA,C,UACV,WAAC,OAAI,UAAU,8F,UACb,UAAC,QAAK,UAAU,uJ,SAAuJ,G,GACvK,UAACU,GAAwBA,CAAC,UAAU,e,MAEtC,UAAC,QAAK,UAAU,kB,SACbC,CAAAA,EAAAA,GAAAA,EAAAA,EAAsBh3B,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,sB,GAE3B,UAAC,OAAI,UAAU,4B,SACb,UAAC0B,GAAAA,CAAMA,CAAAA,CACL,UAAS,GACT,WAAW,QACX,QA5Ba,IAAMb,EAAS6M,CAAAA,EAAAA,EAAAA,EAAAA,EAA0BkC,I,SA8BrD5P,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,iB,UAcjB,ECnBA,GAlCkB,KAChB,IAAMa,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACXm2B,EAAmBh2B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,uBAAiC,EAChE0O,EAAc3O,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,cAAwB,EAClDg2B,EAAwBD,EAAiB,MAAM,CAAG,EAElDxhB,EAAmBxT,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,IAAMpB,EAAS6M,CAAAA,EAAAA,EAAAA,EAAAA,EAA0BkC,IAAe,CAACA,EAAY,EAE1G,OAAO,AAACsnB,EAoBN,UAAC,OAAI,UAAU,gB,SACb,UAACL,GAAKA,CAAC,aAAcI,EAAkB,WAAU,E,KApBnD,WJgCWZ,GIhCCA,C,UACV,WAAC,OAAI,UAAU,8F,UACb,UAAC,QAAK,UAAU,uJ,SAAuJ,G,GACvK,UAAC/B,GAAAA,CAAeA,CAAAA,CAAC,UAAU,e,MAE7B,UAAC,QAAK,UAAU,kB,SACb0C,CAAAA,EAAAA,GAAAA,EAAAA,EAAsBh3B,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,yC,GAE3B,UAAC,OAAI,UAAU,4B,SACb,UAAC0B,GAAAA,CAAMA,CAAAA,CACL,UAAS,GACT,WAAW,QACX,QAAS+T,E,SAERzV,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,iB,OASb,ECxCO,IAAMm3B,GAAgBr4B,GAAAA,EAAAA,CAAAA,GAAU,CAAC;;;;;;;;;;;;IAYpC,EAAE,CAAC,CACHO,kBAAAA,CAAiB,CAAEwyB,mBAAAA,CAAkB,CACtC,IACC,OAAQ,IACN,KAAMA,EACJ,MAAO5yB,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;UAET,CAAC,AACL,MAAMI,EACJ,MAAOJ,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;UAET,CAAC,AACL,KAAM,CAACI,EACL,MAAOJ,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;UAET,CAAC,AACL,SACE,MAAOA,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;UAET,CAAC,AACP,CACF,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgDU,EAAE,CAAC,CAAEI,kBAAAA,CAAiB,CAAE,GAAMA,EAAoB,uBAAyB,uBAAwB;;;;;;;cAOnG,EAAE,CAAC,CAAEA,kBAAAA,CAAiB,CAAE,GAAMA,EAAoB,uBAAyB,uBAAwB;;;;;;;;;;;;;;;aAepG,EAAEC,GAAAA,EAAaA,CAAC;;;;;;;;;;;;;;;QAerB,EAAE,CAAC,CACPD,kBAAAA,CAAiB,CAAEwyB,mBAAAA,CAAkB,CACtC,IACC,OAAQ,IACN,KAAMA,EACJ,MAAO5yB,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;QAEX,CAAC,AACH,MAAMI,EACJ,MAAOJ,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;QAEX,CAAC,AACH,SACE,MAAOA,CAAAA,EAAAA,GAAAA,EAAAA,CAAG,CAAC;;QAEX,CAAC,AAKL,CACF,EAAE;;;;;;;;;;;;;;kBAcc,EAAE,CAAC,CAAEI,kBAAAA,CAAiB,CAAE,GAAMA,EAAoB,uBAAyB,sBAAuB;;;;;;;;;cAStG,EAAE,CAAC,CAAEA,kBAAAA,CAAiB,CAAE,GAAMA,EAAoB,QAAU,IAAK;;;;;;AAM/E,CAAC,CjF1KD,SAAS,KAAa,MAAO,IAAWO,OAAO,MAAM,CAAGA,OAAO,MAAM,CAAC,IAAI,GAAK,SAAUC,CAAC,EAAI,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAU,MAAM,CAAED,IAAK,CAAE,IAAIE,EAAID,SAAS,CAACD,EAAE,CAAE,IAAK,IAAIG,KAAKD,EAAG,AAAC,EAAC,GAAG,cAAc,CAAC,IAAI,CAACA,EAAGC,IAAOJ,CAAAA,CAAC,CAACI,EAAE,CAAGD,CAAC,CAACC,EAAE,AAAD,CAAI,CAAE,OAAOJ,CAAG,GAAY,MAAM,KAAME,UAAY,CAsHnR,OApHoBG,GAAsB,eAAmB,CAAC,MAAO,GAAS,CAC5E,MAAO,6BACP,KAAM,OACN,QAAS,YACX,EAAGA,GAAQ,GAAY,GAAuB,eAAmB,CAAC,SAAU,CAC1E,GAAI,GACJ,GAAI,GACJ,EAAG,GACH,KAAM,SACR,EAAC,EAAI7B,GAAaA,CAAAA,EAAwB,eAAmB,CAAC,SAAU,CACtE,GAAI,OACJ,GAAI,OACJ,EAAG,MACH,KAAM,UACN,OAAQ,UACR,YAAa,IACf,EAAC,EAAIC,GAAaA,CAAAA,EAAwB,eAAmB,CAAC,SAAU,CACtE,GAAI,OACJ,GAAI,MACJ,EAAG,MACH,KAAM,SACR,EAAC,EAAIC,GAAOA,CAAAA,EAAkB,eAAmB,CAAC,IAAK,CACrD,OAAQ,uBACV,EAAgB,eAAmB,CAAC,OAAQ,CAC1C,MAAO,QACP,OAAQ,MACR,EAAG,EACH,EAAG,OACH,KAAM,UACN,GAAI,MACJ,UAAW,yBACb,GAAiB,eAAmB,CAAC,OAAQ,CAC3C,MAAO,QACP,OAAQ,OACR,EAAG,MACH,EAAG,OACH,OAAQ,UACR,YAAa,KACb,GAAI,MACJ,UAAW,6BACb,GAAE,EAAI,GAAU,GAAqB,eAAmB,CAAC,OAAQ,CAC/D,KAAM,UACN,OAAQ,UACR,YAAa,KACb,EAAG,qHACL,EAAC,EAAI,GAAW,GAAsB,eAAmB,CAAC,OAAQ,CAChE,KAAM,UACN,EAAG,qiEACL,EAAC,EAAIC,GAAaA,CAAAA,EAAwB,eAAmB,CAAC,SAAU,CACtE,GAAI,MACJ,GAAI,OACJ,EAAG,MACH,KAAM,UACN,UAAW,6BACb,EAAC,EAAIC,GAAaA,CAAAA,EAAwB,eAAmB,CAAC,SAAU,CACtE,GAAI,MACJ,GAAI,OACJ,EAAG,MACH,KAAM,UACN,UAAW,2BACb,EAAC,EAAIC,GAAaA,CAAAA,EAAwB,eAAmB,CAAC,SAAU,CACtE,GAAI,OACJ,GAAI,OACJ,EAAG,MACH,KAAM,UACN,UAAW,4BACb,EAAC,EAAIC,GAAaA,CAAAA,EAAwB,eAAmB,CAAC,SAAU,CACtE,GAAI,OACJ,GAAI,OACJ,EAAG,MACH,KAAM,UACN,UAAW,6BACb,EAAC,EAAI,GAAW,GAAsB,eAAmB,CAAC,OAAQ,CAChE,OAAQ,UACR,YAAa,KACb,EAAG,0DACL,EAAC,EAAIC,GAAUA,CAAAA,EAAqB,eAAmB,CAAC,OAAQ,KAAmB,eAAmB,CAAC,SAAU,CAC/G,GAAI,kBACJ,MAAO,QACP,OAAQ,OACR,EAAG,KACH,EAAG,OACH,0BAA2B,OAC3B,YAAa,gBACf,EAAgB,eAAmB,CAAC,UAAW,CAC7C,aAAc,EACd,OAAQ,oBACV,GAAiB,eAAmB,CAAC,gBAAiB,CACpD,GAAI,cACJ,OAAQ,YACR,OAAQ,2CACV,GAAiB,eAAmB,CAAC,WAAY,CAC/C,GAAI,CACN,GAAiB,eAAmB,CAAC,iBAAkB,CACrD,aAAc,CAChB,GAAiB,eAAmB,CAAC,gBAAiB,CACpD,OAAQ,iEACV,GAAiB,eAAmB,CAAC,UAAW,CAC9C,IAAK,qBACL,OAAQ,+BACV,GAAiB,eAAmB,CAAC,gBAAiB,CACpD,GAAI,cACJ,OAAQ,YACR,OAAQ,2CACV,GAAiB,eAAmB,CAAC,WAAY,MAAoB,eAAmB,CAAC,iBAAkB,CACzG,aAAc,EAChB,GAAiB,eAAmB,CAAC,gBAAiB,CACpD,OAAQ,iEACV,GAAiB,eAAmB,CAAC,UAAW,CAC9C,IAAK,gCACL,OAAQ,+BACV,GAAiB,eAAmB,CAAC,UAAW,CAC9C,GAAI,gBACJ,IAAK,gCACL,OAAQ,OACV,IAAG,GkFnHI,IAAMw4B,GAAqBt4B,GAAAA,EAAAA,CAAAA,GAAU,CAAC;;SAEpC,EAAEQ,GAAAA,EAAaA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BxB,CAAC,CClBF,OARyB,IACvB,WAAC83B,GAAkBA,C,UACjB,UAACC,GAAQA,CAAAA,GACT,UAAC,MAAG,UAAU,yB,SAA0Br3B,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,uC,GAC1C,UAAC,OAAI,UAAU,wB,SAAyBA,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,0B,MCL9C,IAAMs3B,GAAYp3B,IAChB,GAAM,CAAEyyB,QAAAA,CAAO,CAAE,CAAGzyB,EAGpB,MACE,UAAC,2BACKA,GAAAA,CACJ,UAAU,iBACV,SAAU,EACV,KAAK,MAEL,gBAAeA,CAAK,CAAC,gBAAgB,CACrC,UAVkBJ,GAAKiM,GAAAA,EAAuB,CAACjM,IAAM6yB,G,GAa3D,CAEA2E,CAAAA,GAAU,SAAS,CAAG,CACpB,gBAAiBnzB,EAAAA,IAAIA,CACrB,QAASD,EAAAA,IAAIA,AACf,EAEAozB,GAAU,YAAY,CAAG,CACvB,gBAAiB,GACjB,QAASlzB,GAAKA,CAChB,ECZA,IAAMmzB,GAAqB,IAAO,EAChC,KAAM,CACJ,MAAOv3B,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,gBACX,EACA,IAAK,CACH,MAAOA,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,YACX,CACF,GAEM8V,GAAuB,CAAC,CAAEwT,SAAAA,CAAQ,CAAE,I,IA2BZkO,EA1B5B,IAAMztB,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACXytB,EAAkBx2B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,uBAAiC,EAC/D7B,EAAoB4B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,oBAA8B,EAC9Dw2B,EAAsBz2B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,qBAA+B,EACjEL,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAEX+wB,EAAqB6F,GAAuB34B,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,SAAuB,EACpF8V,EAAiB2iB,GAAmB,CAAC5F,QAQ3C,CANA1wB,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACJ2T,GACFjU,EAASoI,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,GAAIC,GAAAA,EAAAA,CAAAA,IAAsB,AAAC,GAE3D,EAAG,CAAC4L,EAAe,EAEfA,GAAuB,KAEzB,UAACqiB,GAAaA,CAAC,kBAAmB93B,EAAmB,SAAU0K,EAAU,mBAAoB8nB,E,SAC3F,WAAC,OAAI,UAAU,wB,UACb,UAAC,OAAI,UAAU,oB,SACb,UAAC,M,SAAI7xB,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,Y,KAER6xB,EACC,UAAC8F,GAAgBA,CAAAA,GAEjB,WAACC,GAAAA,CAAOA,CAAAA,CACN,iBAAkBJ,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,AAAe,OAAfA,CAAAA,EAAAA,EAAU,KAAK,AAAD,GAAdA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAiB,SAAS,AAAD,GAAK,OAChD,QAASt3B,GAAS,UAAC,kBAAQA,IAC3B,mBAAoBA,GAAS,UAAC,2BAAQA,GAAAA,CAAO,UAAU,yB,IACvD,UDzBGo3B,GC0BH,aAAcp3B,GAAS,UAAC,2BAAQA,GAAAA,CAAO,UAAU,mB,IACjD,KAAMq3B,KACN,iBAAkBr3B,GAAS,UAAC,2BAAQA,GAAAA,CAAO,UAAU,uB,cAErD,UAAC23B,GAAAA,CAAGA,CAAAA,CAAC,GAAG,O,SACN,UAACC,GAAWA,CAAAA,E,EADK,QAGnB,UAACD,GAAAA,CAAGA,CAAAA,CAAC,GAAG,M,SACN,UAACE,GAASA,CAAAA,E,EADM,O,OAQ9B,CAEAjiB,CAAAA,GAAqB,SAAS,CAAG,CAC/B,SAAU7R,CAAAA,EAAAA,EAAAA,KAAAA,EAAM,CAAC,EACnB,EAEA6R,GAAqB,YAAY,CAAG,CAClC,SAAU,CAAC,CACb,E,gCC7EA,IAAMkiB,GAAgBl5B,CAAAA,EAAAA,GAAAA,EAAAA,EAAOm5B,GAAAA,CAAAA,CAAe,CAAC;;;;;;AAM7C,CAAC,C,kBCED,IAAMC,GAAkBp5B,GAAAA,EAAAA,CAAAA,GAAU,CAAC;;;;;;;;UAQzB,EAAE,CAAC,CAAEq5B,UAAAA,CAAS,CAAE,GAAMA,AAAc,WAAdA,EAAyB,IAAM,SAAU;;AAEzE,CAAC,CAEKC,GAAgB,AAAC,I,GAAA,CACrBC,oBAAAA,CAAmB,CAAEC,eAAAA,CAAc,CAAEC,mBAAAA,CAAkB,CACxD,GAD6Dnd,EAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,EAAAA,CAA5Did,sBAAqBC,iBAAgBC,qB,EAErC,IAAM13B,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAEX03B,EAAgB,KACpB33B,EAASoI,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,GAAIC,GAAAA,EAAAA,CAAAA,IAAsB,AAAC,GACzD,EAEMuvB,EAAyB,KAC7B53B,EAAS63B,CAAAA,EAAAA,EAAAA,EAAAA,EAAsBtG,EAAAA,EAAAA,CAAAA,MAA6B,EAC9D,EAEMuG,EAAsBC,IAC1BA,IACAJ,GACF,EAEMK,EAAcC,IAClBA,IACAL,GACF,EAEM,CAACN,EAAWY,EAAa,CAAGzzB,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,UAG3C,MAFA0zB,CAAAA,EAAAA,EAAAA,EAAAA,EAASnjB,SAAS,aAAa,CAAC,YAAaF,CAAAA,EAAAA,EAAAA,EAAAA,EAAYojB,IAGvD,UAACb,GAAAA,CAAgB,UAAWC,E,SAC1B,UAACc,GAAAA,CAA0BA,CAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CACzB,oBAAqB,IAAMN,EAAoBN,GAC/C,mBAAoB,IAAMQ,EAAYN,GACtC,eAAgB,IAAMM,EAAYP,E,EAC9Bld,G,EAIZ,CAEAgd,CAAAA,GAAc,SAAS,CAAG,CACxB,oBAAqBl0B,EAAAA,IAAIA,CACzB,eAAgBA,EAAAA,IAAIA,CACpB,mBAAoBA,EAAAA,IAAIA,AAC1B,EAEAk0B,GAAc,YAAY,CAAG,CAC3B,oBAAqBh0B,GAAKA,EAC1B,eAAgBA,GAAKA,EACrB,mBAAoBA,GAAKA,CAC3B,EClBA,OAzC+B,KAC7B,IAAMvD,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAGX,CACJ6H,OAAAA,CAAM,CACN/B,UAAAA,CAAS,CACV,CAJqB3F,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,uBAAiC,EAM7Dw2B,EAAsBz2B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,qBAA+B,EACjEwe,EAASze,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,iBAA2B,CAACyH,IAEjDkpB,EAAqB6F,GAAuB34B,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,SAAuB,EAC1FmC,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACJ0wB,GACFhxB,EAASqO,EAAAA,EAAgC,CAAC,CAAE,GAAIhG,GAAAA,EAAAA,CAAAA,IAAsB,CAAEwW,OAAAA,CAAO,GAEnF,EAAG,CAACmS,EAAmB,EAEvB,IAAMqH,EAAcj3B,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,IAAM,KAAM,EAAE,SAE9C,AAAI,AAAC0G,GAAW/B,EAIZirB,EAA2B,KAG7B,sB,SACE,UAACsH,GAAAA,CAAkBA,CAAAA,CACjB,mCD+BOf,GC9BP,oBAAqBc,EACrB,uBFjCOlB,GEkCP,aAAc,GACd,OAAQrvB,EACR,UAAW/B,C,KAbR,UAACwyB,GAAAA,CAAWA,CAAAA,CAAC,UAAU,oB,EAiBlC,E,0CCsCA,GA9EmC,KACjC,IAAMv4B,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACX,CAAEu4B,wBAAAA,CAAuB,CAAEC,0BAAAA,CAAyB,CAAE,CAAGr4B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,sBAAgC,EACrG,CAAE,MAAOq4B,CAAa,CAAE,QAASC,CAAe,CAAE,CAAGC,CAAAA,EAAAA,GAAAA,EAAAA,IACrDC,EAAkBz4B,CAAAA,EAAAA,EAAAA,EAAAA,EAAY04B,CAAAA,EAAAA,GAAAA,SAAAA,EAAU/2B,EAAAA,EAAAA,CAAAA,2BAAoC,UAElF,AAAI82B,IAAoBE,EAAAA,EAAAA,CAAAA,MAAqC,CAAS,KAGpE,WAAC9oB,GAAAA,CAAIA,CAAAA,CACH,UAAU,+IACV,MAAO,CAAE,OAAQ,IAAK,E,UAGpB4oB,IAAoBE,EAAAA,EAAAA,CAAAA,MAAqC,EACvD,UAAChD,GAAAA,CAAUA,CAAAA,CACT,UAAU,mBACV,WAAU,G,SAET52B,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,4G,GAKP05B,IAAoBE,EAAAA,EAAAA,CAAAA,KAAoC,EACtD,UAAChD,GAAAA,CAAUA,CAAAA,CACT,UAAU,mBACV,WAAU,G,SAET52B,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,wB,GAIT,WAAC8Q,GAAAA,CAAIA,CAAAA,CACH,UAAW,CACT,KAAM,SACN,GAAI,KACN,EACA,eAAe,UACf,WAAW,SACX,UAAU,gF,UAEV,WAACA,GAAAA,CAAIA,CAAAA,CACH,UAAU,SACV,UAAU,eACV,KAAK,I,UAEL,UAAC,MAAG,UAAU,qC,SAAsCuoB,GAA2BE,C,GAC/E,UAAC,KAAE,UAAU,qC,SAAsCD,GAA6BE,C,MAElF,WAAC1oB,GAAAA,CAAIA,CAAAA,CACH,UAAU,MACV,UAAU,gCACV,eAAe,U,UAEf,UAACpP,GAAAA,CAAMA,CAAAA,CACL,QAAQ,UACR,WAAW,YACX,OAAO,UACP,MAAM,QACN,UAAU,SACV,QAAS,IAAMb,EAAS,CAAE,KAAMg5B,GAAAA,EAAyBA,AAAC,G,SAEzD75B,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,U,GAEL,UAAC0B,GAAAA,CAAMA,CAAAA,CACL,UAAU,SACV,QAAS,IAAMb,EAAS,CAAE,KAAMi5B,GAAAA,GAAuBA,AAAC,GACxD,OAAQJ,IAAoBE,EAAAA,EAAAA,CAAAA,OAAsC,C,SAEjE55B,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,Q,WAMf,ECvDA,IAAM+5B,GAAyB,AAAgE,MAAhE,IAAIC,gBAAgBjtB,OAAO,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,YACzEktB,GAAeltB,AAAyB,aAAzBA,OAAO,QAAQ,CAAC,IAAI,CACnCmtB,GAAgBntB,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAACotB,GAAAA,CAAAA,CAAAA,aAAuB,EAErEC,GAAY,CAAC,CACjBhtB,GAAAA,CAAE,CACF7M,cAAAA,CAAa,CACb85B,iBAAAA,CAAgB,CAChBC,gBAAAA,CAAe,CACfC,gBAAAA,CAAe,CACfC,YAAAA,CAAW,CACXl6B,SAAAA,CAAQ,CACT,IACC,GAAM,CACJ,GAAIm6B,CAAU,CAAEC,gBAAAA,CAAe,CAAEC,SAAAA,CAAQ,CAAEvO,eAAAA,CAAc,CAAEzE,OAAAA,CAAM,CAClE,CAAGpnB,EACEq6B,EAAsB35B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,sBAAgC,EAClE25B,EAAW55B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,gBAA0B,EACjD45B,EAAc75B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,mBAA6B,EACvD65B,EAAa95B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,kBAA4B,EACrD85B,EAAkB/5B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,uBAAiC,EAC/DF,EAAgBC,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,gBAA0B,EACtD+5B,EAAQh6B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,QAAkB,EACtCmN,EAAoBpN,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,uBAAiC,EACjE6I,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACXkxB,EAAgBvT,AAAW,aAAXA,EAChBwT,EAAoBl6B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,SAAmB,CAAC0B,EAAAA,EAAAA,CAAAA,iBAA0B,GAEpFzB,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACJ85B,GAAS,CAACluB,OAAO,cAAc,EACjCquB,CAAAA,EAAAA,EAAAA,EAAAA,EAAsBH,EAE1B,EAAG,CAACA,EAAM,EAEV,IAAMI,EAAO51B,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,KACnB,OAAQ,IACN,IAAK,CAACo1B,GAAY,CAAC97B,CAAAA,EAAAA,GAAAA,CAAAA,EAAiBC,GAAAA,EAAAA,CAAAA,UAAwB,EAC1D,MAAO,UAACo6B,GAAAA,CAAWA,CAAAA,CAAC,UAAWkC,EAAAA,EAAAA,CAAAA,OAAwB,A,EACzD,MAAKhB,EACH,MAAO,UAAClB,GAAAA,CAAWA,CAAAA,CAAC,UAAWkC,EAAAA,EAAAA,CAAAA,WAA4B,A,EAC7D,MAAMjB,GAAoBE,GAAmBW,EAC3C,MAAO,UAAC9B,GAAAA,CAAWA,CAAAA,CAAC,UAAWkC,EAAAA,EAAAA,CAAAA,YAAAA,CAAAA,OAAqC,CAAE,gBAAiBZ,C,EACzF,KAAK,CAAC,CAACI,EACL,MAAQ,UAAC1B,GAAAA,CAAWA,CAAAA,CAAC,UAAW0B,EAAa,gBAAiBE,C,EAChE,MAAKD,EACH,IAAMQ,EAAqBxxB,E9BIpBylB,GCxCAK,G6BqCP,MACE,uB,UACE,WAAC2L,GAAoBA,C,UACnB,U9BAChM,G8BAcA,CACb,WAAY,CAAE,OAAQ,CAAC,iBAAiB,AAAC,EACzC,KAAK,8B,SAEL,UAACiM,GAAsBA,CAAC,QAAO,E,KAEjC,UAACF,EAAAA,CACC,KAAK,QACL,cAAe,IAAM,UAAC,O,SAAK,CAAC,EAAEv7B,CAAAA,EAAAA,EAAAA,CAAAA,EAAE,QAAQ,EAAE,EAAEqO,EAAkB,CAAC,CAAC,A,YAEhE,ULTDyH,GKSsBA,CACnB,QAAO,E,KAGX,U9BdC0Z,G8BccA,CACb,KAAK,Y,SAEL,UAACkM,GAAcA,CAAC,QAAO,E,KAEzB,UAAC1Y,GAAUA,CAAC,KAAK,IAAI,QAAO,E,GAE5B,U9BrBCwM,G8BqBcA,CAAC,KAAK,0B,SACnB,UAACxM,GAAUA,CACT,KAAK,IACL,WAAY,GACZ,iBAAkB,E,KAItB,UAACA,GAAUA,CAAC,KAAK,e,GAChB,CAAC,kBAAmB,qBAAqB,CAAC,GAAG,CAAC2Y,GAC7C,U9B/BDnM,G8B+BgBA,CAAY,KAAMmM,E,SAC/B,UAACn8B,GAA4BA,CAAC,QAAO,G,SACnC,UxChBLysB,GwCgBqBA,CACd,QAAO,GACP,KAAM3F,EAAAA,EAAAA,CAAAA,OAAqB,CAC3B,MAAOlZ,EACP,UAAWgf,EACX,eAAgBA,C,MAPDuP,IAYvB,UjC8CCrN,GiC9CeA,CAAC,MAAOlhB,EAAI,KAAK,e,MAEnC,UAACwuB,GAAAA,CAAoBA,CAAAA,CAAAA,GACpB56B,GAAiB,UAAC66B,GAAQA,CAAAA,G,EAGjC,SACE,MAAO,UAACC,GAAAA,CAAgBA,CAAAA,CAAAA,EAC5B,CACF,EAAG,CACDhB,EAAaD,EACbE,EACA3tB,EAAIitB,EAAkBE,EAAiBE,EAAYC,EACnDE,EACAvsB,EACD,EAEK0tB,EAAQt2B,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IAGbu2B,AAFe,CAAClB,GAAeN,GAAe5yB,CAAAA,EAAAA,EAAAA,EAAAA,EAAM+yB,IAAa,CAAC5tB,OAAO,cAAc,EAAI,CAACutB,GAAmB,CAACD,GAAoB,CAACN,IAA0B,CAACmB,GAGrK,UvFwCS/6B,GuFxCCA,CACR,UAAWq6B,EACX,SAAUl6B,EACV,cAAeC,C,GAGlB,CAACu6B,EAAaN,EAAaj6B,EAAeo6B,EAAUL,EAAiBD,EAAiB,EAEnF4B,EAA8Bx2B,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,KAC1C,IAAMy2B,EAAc,CAACjC,IAAgB,CAACa,GAAe,CAACR,GAAmB,CAACD,GAAoB,CAACa,EACzFiB,EAAmB,CAACjf,CAAAA,EAAAA,EAAAA,EAAAA,KAAWtV,CAAAA,EAAAA,EAAAA,EAAAA,EAAM+yB,IAAa,CAACQ,EAEzD,MAAOiB,AADqB,CAACD,GAAoBD,GAAe,CAACnC,IAA0B,CAACG,IAC9D,UAACmC,GAA0BA,CAAAA,EAC3D,EAAG,CAACvB,EAAaK,EAAkB,EAE7BmB,EAAqBrC,IAAgBha,CAAAA,EAAAA,EAAAA,EAAAA,IAAwB,kBAAoB,GAEvF,MACE,WAAC9gB,GAAeA,CAAC,UAAW,CAAC,QAAQ,EAAEm9B,EAAmB,CAAC,C,UACzD,WAACC,EAAAA,CAAMA,CAAAA,C,UACL,UAAC,QAAK,KAAK,KAAK,UAAU,a,GAC1B,UAAC,QAAK,UAAU,a,GAChB,UAAC,QAAK,KAAK,WAAW,QAAQ,2E,MAEhC,uB,UACGlB,EACAU,EACAE,E,KAIT,CAEA7B,CAAAA,GAAU,SAAS,CAAG,CACpB,GAAIt2B,EAAAA,MAAMA,CACV,cAAeG,CAAAA,EAAAA,EAAAA,KAAAA,EAAM,CAAC,GACtB,iBAAkBE,EAAAA,IAAIA,CACtB,gBAAiBA,EAAAA,IAAIA,CACrB,gBAAiBA,EAAAA,IAAIA,CACrB,YAAaN,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,CAACC,EAAAA,MAAMA,CAAEK,EAAAA,IAAIA,CAAC,EACrC,SAAUD,EAAAA,IAAIA,AAChB,EAEAk2B,GAAU,YAAY,CAAG,CACvB,GAAI,GACJ,cAAe,CAAC,EAChB,iBAAkB,GAClB,gBAAiB,GACjB,gBAAiB,GACjB,YAAa,GACb,SAAUh2B,GAAKA,CACjB,EnGlKA,IAAMo4B,GAAqB,CAAC,CAAEve,MAAAA,CAAK,CAAE1M,SAAAA,CAAQ,CAAE,IAC7C,IAAM1Q,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAEX27B,EAAUx7B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,aAAuB,EAC7Cw7B,EAAcz7B,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,cAAwB,EAClDwR,EAAOzR,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,OAAiB,EACpCX,EAAgBU,CAAAA,EAAAA,EAAAA,EAAAA,EAAYC,EAAAA,CAAAA,CAAAA,sBAAgC,EAE5D,CACJ,GAAIu5B,CAAU,CAAEjC,cAAAA,CAAa,CAAEmE,cAAAA,CAAa,CAC7C,CAAGp8B,EAGE,CACJ,cAAeq8B,CAA0B,CACzC,eAAgBC,CAA4B,CAC7C,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,EAAkBH,GAEhBI,EAAsBt3B,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IAC3BmC,CAAAA,EAAAA,EAAAA,EAAAA,EAAM4wB,IAAkB,CAACoE,GAA8B,CAACC,EAC9D,CAACrE,EAAeoE,EAA4BC,EAA6B,EAEtE,CAACtC,EAAiByC,EAAmB,CAAG13B,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IACjD23B,EAAuBh7B,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,KACvC,IAAMi7B,EAAeC,CAAAA,EAAAA,EAAAA,EAAAA,IACfC,EAAKF,EAAe,CAAC,CAAC,EAAEA,EAAa,CAAC,CAAG,GAC/C3rB,EAAS,CAAC,EAAEwZ,CAAAA,EAAAA,EAAAA,EAAAA,IAAa,CAAC,EAAE4R,EAAc,EAAES,EAAG,CAAC,CAAE,CAAE,QAAS,EAAK,EACpE,EAAG,CAACT,EAAc,EAEZU,EAA8B,KAClC,IAAMH,EAAe,IAAIlD,gBAAgBjtB,OAAO,QAAQ,CAAC,MAAM,EAC3DuwB,EAAAA,EAAAA,CAAAA,QAAmC,CAACJ,EAAa,GAAG,CAAC,gBACvDnwB,OAAO,OAAO,CAAC,SAAS,CAAC,KAAM,KAAM,CAAC,EAAEge,CAAAA,EAAAA,EAAAA,EAAAA,IAAa,CAAC,EAAE9M,EAAM,CAAC,CAEnE,EAEMsf,EAAmBt7B,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,KACnC,GAAI86B,EAAqB,CACvBE,IACA,MACF,CACAD,EAAmB,GACrB,EAAG,CAACD,EAAqBJ,EAAc,EAEjC,CAAE,cAAetC,CAAgB,CAAE,aAAcC,CAAe,CAAE,CAAGwC,CAAAA,EAAAA,EAAAA,EAAAA,EAAkBrC,EAAY8C,GAEzGp8B,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACJk5B,GAAoB0C,GACtBE,GAEJ,EAAG,CAAC5C,EAAkB0C,EAAoB,EAE1C,IAAMS,EAAqBzwB,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,YAGnD0wB,EAAiB57B,CAAAA,EAAAA,EAAAA,MAAAA,GACvB47B,CAAAA,EAAe,OAAO,CAAGf,EAEzB,GAAM,CAAClC,EAAakD,EAAe,CAAGp4B,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IAEzCq4B,EAAe,CAACC,EAAY,EAAK,IACrC/8B,EAASg9B,CAAAA,EAAAA,EAAAA,EAAAA,EAAcC,EAAAA,EAAAA,CAAAA,MAAgB,GACnCrD,CAAAA,IAAexc,GAAS2f,CAAQ,GAClC/8B,EAASk9B,CAAAA,EAAAA,EAAAA,EAAAA,EAAkB9f,IAE7Bpd,EAASm9B,CAAAA,EAAAA,EAAAA,EAAAA,EAAmB,CAAE,cAAe9gB,CAAAA,EAAAA,EAAAA,EAAAA,IAAS,eAAgB+gB,CAAAA,EAAAA,EAAAA,EAAAA,EAAqBhgB,EAAO,GACpG,EAEA9c,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACRw8B,GACF,EAAG,CAAC1f,EAAM,EAEV9c,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACR,GAAIuR,EAAK,QAAQ,CAAE,CACjB,IAAMwrB,EAAanxB,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAACotB,GAAAA,CAAAA,CAAAA,aAAuB,EAClE+C,EAAe,IAAIlD,gBAAgBjtB,OAAO,QAAQ,CAAC,MAAM,EAC/D,OAAQ,IACN,KAAKywB,EACH38B,EAASO,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,OAAQ,cAAe,IACnD,MACF,MAAK88B,EACHr9B,EAASO,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,OAAQ,mBAAoB,IACxD,MACF,SACEP,EAASO,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,OAAQ,YAAa,OAAQ,CAAE,UAAW87B,EAAa,GAAG,CAAC,aAAc,CAAE,GAC3G,CACAG,GACF,CACF,EAAG,CAAC3qB,EAAK,EAET,IAAMyrB,EAAqBl8B,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,KACrCm8B,CAAAA,EAAAA,EAAAA,EAAAA,EAAuBngB,GACvBpd,EAASm9B,CAAAA,EAAAA,EAAAA,EAAAA,EAAmB,CAAE,cAAe9gB,CAAAA,EAAAA,EAAAA,EAAAA,IAAS,eAAgB,EAAK,IAC3Erc,EAASO,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,OAAQ,cAAe,IACnDs8B,EAAe,GACjB,EAAG,CAACzf,EAAM,EAEJogB,EAAqBC,EAAAA,CAAAA,CAAAA,EAAgB,CAAC,UAAYvxB,OAAO,SAAS,CAAC,cAAc,CAAG,EACpFwxB,EAAQD,EAAAA,CAAAA,CAAAA,EAAgB,CAAC,QAAUD,EACnCp0B,EAAWq0B,EAAAA,CAAAA,CAAAA,EAAgB,CAAC,WAAaA,EAAAA,CAAAA,CAAAA,EAAgB,CAAC,WAAaD,EACvEG,EAAkBv8B,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,SAC9Bw8B,EACJ,IAAMC,EAAqBjB,EAAe,OAAO,CACjD,OAAQ,IACN,KAAK9/B,GAAkB,CAAC8+B,GAAW,CAACiC,EAClCD,EAAY,2BACZ,KACF,KAAK,CAAC9gC,GAAkB,CAAC8+B,GAAW,CAACiC,GAAsBH,EACzDE,EAAYH,EAAAA,CAAAA,CAAAA,EAAgB,CAAC,UAAY,WAAa,eACtD,KACF,KAAK,CAAC3gC,GAAkB,CAAC8+B,GAAW,CAACiC,GAAsBJ,EAAAA,CAAAA,CAAAA,EAAgB,CAAC,WAC1EG,EAAY,eACZ,KACF,MAAKx0B,EACHw0B,EAAY,eACZ,KACF,SACEA,EAAY,EAEhB,CAEIC,CAAAA,GAAsBjC,GAAWvf,CAAAA,EAAAA,EAAAA,EAAAA,KAAWsgB,GAAsBvpB,CAAAA,EAAAA,EAAAA,EAAAA,GAAiB,GACrFwqB,CAAAA,EAAY,EAAI,EAElBf,EAAee,EACjB,EAAG,EAAE,EAECE,EAA4B18B,CAAAA,EAAAA,EAAAA,WAAAA,EAAYnC,IAC5CA,EAAE,cAAc,GAChB,IAAM8+B,EAAuBC,CAAAA,EAAAA,EAAAA,EAAAA,EAAwB5gB,GACrD,GAAI2gB,EAAsB,CACxB,IAAME,EAAMC,KAAK,GAAG,GAEpB,GAAIC,AADSF,EAAMF,GACP,IACV,MAAO,EAEX,CACAjhC,EAAiBmC,EAGjBs+B,CAAAA,EAAAA,EAAAA,EAAAA,EAAuBngB,EAAO,IAE9BugB,GACF,EAAG,CAACvgB,EAAM,EAEVgN,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,sBAAuB0T,GACxC1T,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,eAAgBkT,GACjCc,CAAAA,EAAAA,EAAAA,EAAAA,EAAWT,EAAiB,KAG5B,IAAMU,EAAiBj9B,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,KAC7BtE,IACFA,EAAe,MAAM,GAGrBA,EAAe,UAAU,CAAC,IAAI,CAACwhC,IACzBA,AAAyB,aAAzBA,EAAa,OAAO,CACtBt+B,EAASO,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,OAAQ,uBAAwB,IAE5DP,EAASO,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CAAE,OAAQ,wBAAyB,GAEjE,GAEJ,EAAG,EAAE,EAECg+B,EAAoBxiB,IACxB,GAAM,CAAE,KAAMnI,CAAW,CAAE,CAAGmI,EAAO,OAAO,CAC5C/b,EAASw+B,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB5qB,GAC5B,EAEM6qB,EAAuB1iB,I,IAErB2iB,EACIC,EAFV3+B,EAASoI,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,CACxB,GAAI,AAAc,OAAds2B,CAAAA,EAAAA,EAAO,OAAO,AAAD,GAAbA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAgB,eAAe,CACnC,OAAQ,AAAc,OAAdC,CAAAA,EAAAA,EAAO,OAAO,AAAD,GAAbA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAgB,MAAM,AAChC,GACF,EAEMC,EAA2B7iB,IAC/B,GAAM,CAAEjU,OAAAA,CAAM,CAAE,CAAGiU,EAAO,OAAO,CAC3B8iB,EAAe7pB,SAAS,cAAc,CAAClN,GAE7C,IAAI,CAAC+2B,EAeLC,AAbuBC,CAAAA,IACrB,GAAM,CAAEC,IAAAA,CAAG,CAAEhmB,OAAAA,CAAM,CAAE,CAAG+lB,EAAQ,qBAAqB,GAC/C,CAAEE,UAAAA,CAAS,CAAE,CAAGjqB,SAAS,eAAe,CACxCkqB,EAAehzB,OAAO,WAAW,CAIvCA,OAAO,QAAQ,CAAC,CACd,IAHqB8yB,EAAMC,EAAaC,EAAe,EAAMlmB,EAAS,EAItE,SAAU,QACZ,EACF,GAEe6lB,EACjB,EAuBA,MArBAzU,CAAAA,EAAAA,EAAAA,EAAAA,EAAiB,UAAW+U,IAC1B,GAAM,CAAE,KAAM,CAAEpjB,OAAAA,EAAS,CAAC,CAAC,CAAEqjB,UAAAA,CAAS,CAAE,CAAG,CAAC,CAAC,CAAE,CAAGD,EAElD,OAAQpjB,EAAO,IAAI,EACjB,IAAK,cACCqjB,GAAWb,EAAkBxiB,GACjC,KACF,KAAK,mBACH0iB,EAAqB1iB,GACrB,KACF,KAAK,cACH6iB,EAAyB7iB,GACzB,KACF,KAAK,aACH+gB,EAAa,GAIjB,CACF,GAGE,UmGzDWvD,GnGyDDA,CACR,GAAInc,EACJ,cAAe1d,EACf,iBAAkB85B,EAClB,gBAAiBC,EACjB,gBAAiBC,EACjB,YAAaC,EACb,SAAU0E,C,EAGhB,CAEA1C,CAAAA,GAAmB,SAAS,CAAG,CAC7B,MAAO14B,EAAAA,MAAMA,CACb,SAAUI,EAAAA,IAAIA,AAChB,EAEAs4B,GAAmB,YAAY,CAAG,CAChC,MAAO,GACP,SAAUp4B,GAAKA,CACjB,EAEA,OAAeo4B,E","debug_id":"32a16f2c-3db6-560d-acd4-cd063159a7d4"}