= ({ to, children, className, type = 'primary', testId }) => {\n const classes = useStyles();\n return (\n \n {children}\n \n );\n};\n\nconst useStyles = makeStyles(theme => ({\n white: {\n color: theme.palette.background.paper,\n textDecoration: 'none'\n },\n primary: {\n color: theme.palette.primary.main,\n textDecoration: 'none',\n '&:hover': {\n color: theme.palette.primary.dark\n }\n }\n}));\n","const config = require('../buildSettings.json');\n\nconst createSeqLog = async (level: string, details: any, message: string) => {\n if (!config.REACT_APP_SEQ_SERVER_URL || !config.REACT_APP_SEQ_API_KEY || !config.REACT_APP_SEQ_ENVIRONMENT) {\n return;\n }\n\n const options = {\n Application: 'Enrollment Alliance - Dashboard',\n Environment: config.REACT_APP_SEQ_ENVIRONMENT,\n ...(details ? details.toJSON() : details) //TODO: Determine if this is going to break something in the future. We are double logging errors in certain places\n };\n try {\n const event = { '@t': new Date(), '@m': message, '@l': level, ...options };\n await fetch(`${config.REACT_APP_SEQ_SERVER_URL}/api/events/raw?clef&apiKey=${config.REACT_APP_SEQ_API_KEY}`, {\n body: JSON.stringify(event),\n method: 'POST',\n // sending the envents as no-cors otherwise we get CORS errors, still works fine https://logs.mwks.io/#/events?filter=Application%20%3D%20'CCBSS%20-%20Self%20Service'\n mode: 'no-cors',\n headers: {\n 'Content-Type': 'application/json'\n }\n });\n } catch (error) {\n //console.log(error);\n }\n};\n\nexport const logInfo = (details: any, message: string) => {\n createSeqLog('Information', details, message);\n};\n\nexport const logWarn = (details: any, message: string) => {\n createSeqLog('Warning', details, message);\n};\n\nexport const logError = (details: any, message: string) => {\n createSeqLog('Error', details, message);\n};\n","import React, { useEffect } from 'react';\nimport ReactGA from 'react-ga4';\nimport { RouteComponentProps } from 'react-router-dom';\n\nexport const withTracker = (WrappedComponent: React.ComponentType
, options = {}) => {\n const trackPage = (page: string) => {\n ReactGA.set({ page, ...options });\n ReactGA.pageview(page);\n };\n\n return (props: P) => {\n useEffect(() => {\n trackPage(props.location.pathname);\n }, [props.location.pathname]);\n\n return ;\n };\n};\n","import Axios, { Method } from 'axios';\n\nimport { logError, logInfo } from '../services';\n//let buildConfig = require('../buildSettings');\n// uncomment for hitting staging\nlet buildConfig = require('../buildSettings.json');\n\nconst axiosInstance = Axios.create({\n baseURL: `${buildConfig.REACT_APP_API_URL}/api/`\n});\n\nconst axiosRequest = async (method: Method, url: string, data: object | null, options: object, params?: any) => {\n logInfo(null, `axios.js request started: ${url}`);\n try {\n return await axiosInstance({\n method,\n url,\n ...(data ? { data } : {}),\n ...options,\n params\n });\n } catch (err) {\n logError(err, 'axios.js request failed');\n return Promise.reject(err);\n }\n};\n\n// eslint-disable-next-line import/no-anonymous-default-export\nexport default {\n get: async (url: string, options = {}, params?: any) => {\n return await axiosRequest('get', url, null, options, params);\n },\n post: async (url: string, data = {}, options = {}) => {\n return await axiosRequest('post', url, data, { ...options });\n },\n put: async (url: string, data = {}, options = {}) => {\n return await axiosRequest('put', url, data, { ...options });\n },\n patch: async (url: string, data = {}, options = {}) => {\n return await axiosRequest('patch', url, data, { ...options });\n },\n delete: async (url: string, options = {}) => {\n return await axiosRequest('delete', url, null, { ...options });\n }\n};\n","import { format, parseISO } from 'date-fns';\nimport { IBuildStep } from '../models';\n\nexport const formatInputPhoneNumber = (val: string | undefined) => {\n let number = val?.replace(/\\D/g, '').match(/(\\d{0,3})(\\d{0,3})(\\d{0,4})/);\n // taken from here, https://stackoverflow.com/questions/17651207/mask-us-phone-number-string-with-javascript\n return number && (!number[2] ? number[1] : `(${number[1]}) ${number[2]}${number[3] ? `-${number[3]}` : ''}`);\n};\n\nexport const phoneRegExp = /1?\\W*([2-9][0-8][0-9])\\W*([2-9][0-9]{2})\\W*([0-9]{4})(\\se?x?t?(\\d*))?/;\nexport const passwordRegex = new RegExp(/^(?=.*[A-Z])(?=.*[A-z])(?=.*[0-9])(?=.*[!@#$%^&*()_+\\-=[\\]{};':\"\\\\|,.<>/?])\\S{6,20}$/);\n// eslint-disable-next-line\nexport const urlRegex = /[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)?/gi;\n\n// append https:// if the url doesn't have it\nexport const formatUrl = (text?: string, protocol: 'http' | 'https' = 'https'): string => {\n if (text && !text.startsWith('https://') && !text.startsWith('http://')) {\n return `${protocol}://${text}`;\n }\n return text;\n};\n\n/**\n * Format date into a short friendly date with time\n * @example 1/6/2020 2:00pm\n * @example 12/12/2020 12:00am\n * @param date Date | number | string\n * @returns string\n */\nexport const formatShortFriendlyDateWithTime = (date: Date | number | string, timeZone = 'EST'): string => {\n // need to append \"Z\" to the end of the date string so true UTC is reflected and we show the correct zone\n const parsedDate: Date | number | string = typeof date === 'string' ? parseISO(`${date}Z`) : date;\n // Make sure the value is a date\n var timeZoneDate = new Date(parsedDate);\n // Convert from string back to a date\n const newTimeZoneDate = new Date(timeZoneDate.toLocaleString('en-US', { timeZone: timeZone }));\n return format(newTimeZoneDate, 'L/d/yyyy h:mma');\n};\n\n/**\n * Format date string to Date\n * @example \"2020-06-09T00:00:00+00:00\" => Tue Jun 09 2020 00:00:00 GMT-0400\n * @param date string\n * @returns Date\n */\nexport const stringToDate = (date: string): Date => {\n const d = date.split('T')[0].split('-');\n // Months are 0 index so subtract 1\n return new Date(+d[0], +d[1] - 1, +d[2]);\n};\n\n/**\n * Format date\n * @example 1/6/2020\n * @example 12/12/2020\n * @param date Date | number | string\n * @returns string\n */\nexport const formatDate = (date: Date | number | string | null): string | null => {\n if (date) {\n const stringDate: Date | number = typeof date === 'string' ? stringToDate(date) : date;\n return format(stringDate, 'L/d/yyyy');\n }\n return null;\n};\n\n/**\n * Formats a string or number into USD\n * @example formatMoney(1) => $1.00\n * @example formatMoney(0) => $0.00\n * @example formatMoney('1.99') => $1.99\n * @example formatMoney('9999.99') => $9,999.99\n * @example formatMoney(undefined) => $0.00\n * @example formatMoney(null) => $0.00\n * @param value number | string | undefined | null\n * @param digits number | undefined\n * @returns string\n */\nexport const formatMoney = (value: number | string | undefined | null, digits = 2): string => {\n let amount = 0;\n\n if (value) {\n if (typeof value === 'string') {\n // strip out any commas or dollar signs so that $9,999.99 passes !isNaN test\n value = value.includes(',') || value.includes('$') ? value.replace(',', '').replace('$', '') : value;\n // make sure the string is a number\n if (!isNaN(value as unknown as number)) {\n amount = Number(value);\n }\n } else if (typeof value === 'number' && value > 0) {\n amount = value;\n }\n }\n\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat\n return new Intl.NumberFormat('en-US', { maximumFractionDigits: digits, minimumFractionDigits: digits, style: 'currency', currency: 'USD' }).format(amount);\n};\n\nexport const formatDueDateKey = (step: IBuildStep) => {\n // this turns this, i.e. `ProductOverview` into `productOverviewDate` to match the correct key for the\n // target date endpoint\n let key = `${step.buildStep.charAt(0).toLowerCase() + step.buildStep.slice(1)}Date`;\n\n if (step.buildStep === 'HROverview') {\n key = 'hrOverviewDate';\n }\n if (step.buildStep === 'CensusProfile') {\n key = 'censusDate';\n }\n return key;\n};\n\nexport const getBuildStepOptions = (projectType: string, steps: IBuildStep[]) => {\n // filter out product overview and hr overview for this selection\n if (projectType === 'CommunicationOnly') {\n return steps.filter(p => p.buildStep !== 'ProductOverview' && p.buildStep !== 'HROverview');\n }\n // filter out enrollment overview and hr overview and communication overview for this selection\n if (projectType === 'TechOnly') {\n return steps.filter(p => p.buildStep !== 'EnrollmentOverview' && p.buildStep !== 'HROverview' && p.buildStep !== 'Communication Overview');\n }\n // filter out communication overview and hr overview for this selection\n if (projectType === 'EnrollmentOnly') {\n return steps.filter(p => p.buildStep !== 'CommunicationOverview');\n }\n // filter out he overview for this selection\n if (projectType === 'TechAndCommunication') {\n return steps.filter(p => p.buildStep !== 'HROverview');\n }\n // filter out communication overview for this selection\n if (projectType === 'TechAndEnrollment') {\n return steps.filter(p => p.buildStep !== 'CommunicationOverview');\n }\n return steps;\n};\n\nexport const reorder = (list: any[], startIndex: number, endIndex: number) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result;\n};\n","import { createTheme, Theme, lighten, darken } from '@mui/material/styles';\n\nconst baseFontSize = 14; // .875rem\n\nexport const theme: Theme = createTheme({\n spacing: 16, // 1rem\n palette: {\n common: {\n black: '#000',\n white: '#fff'\n },\n // type: 'light',\n primary: {\n light: lighten('#11a5c5', 0.1),\n main: '#11a5c5',\n dark: darken('#11a5c5', 0.4),\n contrastText: '#fff'\n },\n secondary: {\n light: lighten('#000', 0.1),\n main: '#000',\n dark: darken('#000', 0.4),\n contrastText: '#fff'\n },\n error: {\n main: '#A94442'\n },\n warning: {\n main: '#8A6D3B'\n },\n info: {\n main: '#31708F'\n },\n success: {\n main: '#3C763D'\n },\n background: {\n default: '#fff'\n }\n },\n typography: {\n fontFamily: 'droid-sans, sans-serif',\n fontSize: baseFontSize,\n h1: {\n fontSize: baseFontSize * 2.25,\n fontFamily: 'DinPro-Light, sans-serif'\n },\n h2: {\n fontSize: baseFontSize * 2,\n fontFamily: 'DinPro-Light, sans-serif'\n },\n h3: {\n fontSize: baseFontSize * 1.75,\n fontFamily: 'DinPro-Light, sans-serif'\n },\n h4: {\n fontSize: baseFontSize * 1.5,\n fontFamily: 'DinPro-Light, sans-serif'\n },\n h5: {\n fontSize: baseFontSize * 1.25,\n fontFamily: 'DinPro-Light, sans-serif'\n }\n }\n});\n\n// Break this out so that we can reference palette and other options\ntheme.components = {\n MuiButton: {\n defaultProps: {\n disableElevation: true\n },\n styleOverrides: {\n root: {\n borderRadius: 0\n }\n }\n },\n MuiPaper: {\n defaultProps: {\n square: true,\n elevation: 1\n }\n },\n MuiAccordion: {\n defaultProps: {\n square: true\n }\n },\n MuiRadio: {\n defaultProps: {\n color: 'primary'\n }\n },\n MuiDialog: {\n styleOverrides: {\n root: {\n borderRadius: 0\n }\n }\n },\n MuiTableCell: {\n styleOverrides: {\n head: {\n lineHeight: 1.25\n }\n }\n }\n};\n","// @ts-ignore\nimport { ThemeProvider, Theme, StyledEngineProvider } from '@mui/material/styles';\nimport React, { ReactElement } from 'react';\nimport { Router } from 'react-router-dom';\nimport { createMemoryHistory } from 'history';\nimport { render } from '@testing-library/react';\nimport { theme } from '../styles/theme';\n\n\ndeclare module '@mui/styles/defaultTheme' {\n // eslint-disable-next-line @typescript-eslint/no-empty-interface\n interface DefaultTheme extends Theme {}\n}\n\n\ninterface Props {\n children: React.ReactNode;\n}\n\nexport const renderWithProviders = (ui: ReactElement) => {\n setWindowToDesktop();\n const Providers = ({ children }: Props) => {\n return (\n \n \n {children}\n \n \n );\n };\n // @ts-ignore\n return render(ui, { wrapper: Providers });\n};\n\nexport const setWindowToDesktop = () => {\n if (process.env.NODE_ENV === 'test') {\n window.matchMedia = jest.fn().mockImplementation(query => {\n return {\n matches: true,\n media: query,\n onchange: null,\n addListener: jest.fn(), // deprecated\n removeListener: jest.fn(), // deprecated\n addEventListener: jest.fn(),\n removeEventListener: jest.fn(),\n dispatchEvent: jest.fn()\n };\n });\n }\n};\n","import { Environments } from '../models';\n\n/**\n * Get site environment (one of 'localhost' | 'dev' | 'stg' | 'prod')\n * @param {string} origin string\n * @returns {Environments} Environments\n */\nexport const getEnvironment = (): Environments => {\n const environment = window.location.href.includes('localhost') // http://localhost:5001\n ? 'localhost'\n : window.location.href.includes('dev-enrollmentalliance') // https://dev-enrollmentalliance-web01.azurewebsites.net/\n ? 'dev'\n : window.location.href.includes('stg-enrollmentalliance') // https://stg-enrollmentalliance-web01.azurewebsites.net/\n ? 'stg'\n : 'prod';\n return environment;\n};\n","import * as localForage from 'localforage';\n\n/**\n * Sets an item in local storage. NOTE: Only for use within the browser.\n * @param key string\n * @param value any\n * @returns boolean\n */\nexport const setLocalStorage = async (key: string, value: any): Promise => {\n try {\n const item = JSON.stringify(value);\n await localForage.setItem(key, item);\n return true;\n } catch (error) {\n console.error('setLocalStorage', error);\n return false;\n }\n};\n\n/**\n * Gets an item from local storage. NOTE: Only for use within the browser.\n * @param key string\n * @returns any\n */\nexport const getLocalStorage = async (key: string): Promise => {\n try {\n const item: any = await localForage.getItem(key);\n if (item) {\n const parsed = JSON.parse(item);\n return parsed;\n } else {\n return undefined;\n }\n } catch (error) {\n console.error('getLocalStorage', error);\n return undefined;\n }\n};\n\n/**\n * Removes an item from local storage. NOTE: Only for use within the browser.\n * @param key string\n * @returns boolean\n */\nexport const removeLocalStorage = async (key: string): Promise => {\n try {\n await localForage.removeItem(key);\n return true;\n } catch (error) {\n console.error('removeLocalStorage', error);\n return false;\n }\n};\n","import { isAfter } from 'date-fns';\n// helpers\nimport { getEnvironment } from './environment';\nimport { setCookie, getCookie, removeCookie } from './cookies';\nimport { setLocalStorage, removeLocalStorage, getLocalStorage } from './local-storage';\n// models\nimport { ILoginUser } from '../models';\n\n/**\n * Set user to local storage\n * @param user ILoginUser\n */\nexport const setUserLocalStorage = (user: ILoginUser | undefined): void => {\n if (user) {\n setLocalStorage(`enrollmentalliance-${getEnvironment()}-user`, user);\n }\n};\n\n/**\n * Remove user from local storage\n */\nexport const removeUserLocalStorage = async (): Promise => {\n await removeLocalStorage(`enrollmentalliance-${getEnvironment()}-user`);\n};\n\n/**\n * Get user from local storage\n */\nexport const getUserLocalStorage = async (): Promise => {\n return await getLocalStorage(`enrollmentalliance-${getEnvironment()}-user`);\n};\n\n/**\n * Set access token and refresh token cookies for a user\n * @param accessToken string\n * @param tokenExpiresAt string\n */\nexport const setUserTokenCookies = (accessToken: string, tokenExpiresAt: string): void => {\n setCookie(`enrollmentalliance-${getEnvironment()}-token`, accessToken, { expires: new Date(tokenExpiresAt) });\n};\n\n/**\n * Remove access token and refresh token cookies. Used when logging out.\n */\nexport const removeUserTokenCookies = (): void => {\n removeCookie(`enrollmentalliance-${getEnvironment()}-token`);\n};\n\n/**\n * Get user access token\n * @returns string | undefined\n */\nexport const getUserAccessTokenCookie = (): string | undefined => {\n return getCookie(`enrollmentalliance-${getEnvironment()}-token`);\n};\n\n/**\n * Check to see if a user's JWT token has expired\n * @returns boolean\n */\nexport const getIsUserExpired = (tokenExpiresAt?: string): boolean => {\n let isExpired = true;\n\n if (tokenExpiresAt) {\n const now = new Date();\n const expires = new Date(tokenExpiresAt);\n if (!isAfter(now, expires)) {\n isExpired = false;\n }\n }\n\n return isExpired;\n};\n\n/**\n * When logging a user out, remove their tokens and local storage\n */\nexport const userLogout = async () => {\n await removeUserLocalStorage();\n removeUserTokenCookies();\n};\n","import Cookies, { CookieSetOptions } from 'universal-cookie';\n\n/**\n * Set a cookie client-side.\n * @param key string\n * @param value any\n * @returns boolean\n */\nexport const setCookie = (key: string, value: any, options?: CookieSetOptions): boolean => {\n const cookies = new Cookies();\n cookies.set(key, value, { path: '/', ...options });\n return true;\n};\n\n/**\n * Get a cookie client-side.\n * @param key string\n * @returns any\n */\nexport const getCookie = (key: string): any => {\n const cookies = new Cookies();\n const cookie = cookies.get(key);\n return cookie;\n};\n\n/**\n * Remove a cookie client-side.\n * @param key string\n * @returns boolean\n */\nexport const removeCookie = (key: string, options?: CookieSetOptions): boolean => {\n const cookies = new Cookies();\n cookies.remove(key, { path: '/', ...options });\n return true;\n};\n","import React from 'react';\nimport makeStyles from '@mui/styles/makeStyles';\n\n// eslint-disable-next-line no-useless-escape\nconst passwordRegex = /^(?=.*[A-z])(?=.*[0-9])(?=.*[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?])\\S{8,20}$/;\nexport const isValidPassword = (value: string = ''): boolean | string => passwordRegex.test(value);\nexport const PasswordRequirements = (): JSX.Element => {\n const classes = useStyles();\n return (\n <>\n Please enter a valid password\n \n - Must be between 8 and 20 characters long
\n - Must have at least one numeric character
\n - Must have at least one \"special\" character, ex: !$#@%
\n
\n >\n );\n};\nconst useStyles = makeStyles(() => {\n return {\n list: {\n marginTop: 0\n }\n };\n});\n","import {\n SCHEDULING_STATUS_ENUM,\n SCHEDULING_STATUS,\n ENROLLMENT_MEETING_OUTCOME,\n ENHANCED_STATUS_FILTERS_ENUM,\n ENROLLMENT_MEETING_OUTCOME_ENUM,\n POST_ENROLLMENT_FOLLOWUP_ITEM_ENUM,\n POST_ENROLLMENT_FOLLOWUP_ITEM,\n POST_ENROLLMENT_FOLLOWUP_ITEM_PARENT,\n POST_ENROLLMENT_FOLLOWUP_ITEM_PARENT_ENUM\n} from '../models';\n\nexport const formatCountData = (enhancedFilterType, status): string => {\n if (enhancedFilterType === 'SchedulingStatus') {\n return getEmployeeStatus(status as SCHEDULING_STATUS_ENUM);\n }\n if (enhancedFilterType === 'EnrollmentMeetingOutcome') {\n return getEmployeeEnrollmentMtgStatus(status as ENROLLMENT_MEETING_OUTCOME_ENUM);\n }\n if (enhancedFilterType === 'PostEnrollmentFollowUpItem') {\n return getEmployeePostEnrollmentStatusParent(status as POST_ENROLLMENT_FOLLOWUP_ITEM_PARENT_ENUM);\n }\n};\n\nexport const getEmployeeStatus = (statusEnum: SCHEDULING_STATUS_ENUM): string => {\n if (statusEnum === 'FailedToReschedule') {\n return 'Failed to Reschedule';\n }\n\n if (statusEnum === 'NeedsToReschedule') {\n return 'Needs to Reschedule';\n }\n\n if (statusEnum === 'NotScheduled') {\n return 'Not Scheduled';\n }\n\n if (statusEnum === 'NonResponsive') {\n return 'Non-Responsive';\n }\n\n if (statusEnum === 'CancelledMeeting') {\n return 'Cancelled Meeting';\n }\n\n if (statusEnum === 'HRAssistanceNeeded') {\n return 'HR Assistance Needed';\n }\n\n return statusEnum;\n};\n\nexport const getEmployeeStatusEnum = (status: SCHEDULING_STATUS): string => {\n if (status === 'Failed to Reschedule') {\n return 'FailedToReschedule';\n }\n\n if (status === 'Needs to Reschedule') {\n return 'NeedsToReschedule';\n }\n\n if (status === 'Not Scheduled') {\n return 'NotScheduled';\n }\n\n if (status === 'Non-Responsive') {\n return 'NonResponsive';\n }\n\n if (status === 'Cancelled Meeting') {\n return 'CancelledMeeting';\n }\n if (status === 'HR Assistance Needed') {\n return 'HRAssistanceNeeded';\n }\n\n return status;\n};\n\nexport const getEmployeeEnrollmentMtgStatus = (statusEnum: ENROLLMENT_MEETING_OUTCOME_ENUM): string => {\n if (statusEnum === 'NotStarted') {\n return 'Not Started';\n }\n\n return statusEnum;\n};\n\nexport const getEmployeeEnrollmentMtgStatusEnum = (status: ENROLLMENT_MEETING_OUTCOME): string => {\n if (status === 'Cancelled Meeting') {\n return 'CancelledMeeting';\n }\n\n if (status === 'Missed Meeting') {\n return 'MissedMeeting';\n }\n\n if (status === 'Not Started') {\n return 'NotStarted';\n }\n\n if (status === 'Upcoming Meeting') {\n return 'UpcomingMeeting';\n }\n\n return status;\n};\n\nexport const getEmployeePostEnrollmentStatus = (statusEnum: POST_ENROLLMENT_FOLLOWUP_ITEM_ENUM): string => {\n if (statusEnum === 'ContactInfoInvalid') {\n return 'Limitation: Employee Contact Info Invalid';\n }\n if (statusEnum === 'EmployeeNotEligible') {\n return 'Limitation: Employee Termed or Not Eligible';\n }\n if (statusEnum === 'EmployeeNotInSystem') {\n return 'Limitation: Employee Not In System';\n }\n if (statusEnum === 'EnrolledPrior') {\n return 'Complete: Enrolled on System Prior to Benefit Meeting';\n }\n if (statusEnum === 'FurtherInfoToCollect') {\n return 'Complete: Further Info to Collect (Dep., SS, EOI)';\n }\n if (statusEnum === 'IncorrectInfo') {\n return 'Limitation: System Displaying Incorrect Rates / Products/ Info';\n }\n if (statusEnum === 'Indecisive') {\n return 'Incomplete: Indecisive / Not Prepared to Finalize Elections';\n }\n if (statusEnum === 'NoFollowUpRequired') {\n return 'Complete: No Follow Up Required';\n }\n if (statusEnum === 'NoMeetingOccurred') {\n return 'Missed Meeting: Meeting Did Not Occur';\n }\n if (statusEnum === 'RequestToReschedule') {\n return 'Incomplete: Employee Request to Reschedule';\n }\n};\n\nexport const getEmployeePostEnrollmentStatusEnum = (status: POST_ENROLLMENT_FOLLOWUP_ITEM): string => {\n if (status === 'Limitation: Employee Contact Info Invalid') {\n return 'ContactInfoInvalid';\n }\n\n if (status === 'Limitation: Employee Termed or Not Eligible') {\n return 'EmployeeNotEligible';\n }\n\n if (status === 'Limitation: Employee Not In System') {\n return 'EmployeeNotInSystem';\n }\n\n if (status === 'Complete: Enrolled on System Prior to Benefit Meeting') {\n return 'EnrolledPrior';\n }\n if (status === 'Complete: Further Info to Collect (Dep., SS, EOI)') {\n return 'FurtherInfoToCollect';\n }\n if (status === 'Limitation: System Displaying Incorrect Rates / Products/ Info') {\n return 'IncorrectInfo';\n }\n if (status === 'Incomplete: Indecisive / Not Prepared to Finalize Elections') {\n return 'Indecisive';\n }\n if (status === 'Complete: No Follow Up Required') {\n return 'NoFollowUpRequired';\n }\n if (status === 'Missed Meeting: Meeting Did Not Occur') {\n return 'NoMeetingOccurred';\n }\n if (status === 'Incomplete: Employee Request to Reschedule') {\n return 'RequestToReschedule';\n }\n};\n\nexport const getEmployeePostEnrollmentStatusParent = (status: POST_ENROLLMENT_FOLLOWUP_ITEM_PARENT_ENUM): string => {\n if (status === 'NoFollowUpRequired') {\n return 'No Follow-Up Required';\n }\n if (status === 'HrAssistanceRecommended') {\n return 'HR Assistance Recommended';\n }\n if (status === 'ReviewInBenefitsAdminSystem') {\n return 'Review in Benefits Admin. System';\n }\n};\n\nexport const getEmployeePostEnrollmentStatusParentEnum = (status: POST_ENROLLMENT_FOLLOWUP_ITEM_PARENT): string => {\n if (status === 'No Follow-Up Required') {\n return 'NoFollowUpRequired';\n }\n if (status === 'HR Assistance Recommended') {\n return 'HrAssistanceRecommended';\n }\n if (status === 'Review in Benefits Admin. System') {\n return 'ReviewInBenefitsAdminSystem';\n }\n};\n\nexport const enhancedFilterTypeArray = [\n { value: 'SchedulingStatus', description: 'Scheduling Status' },\n { value: 'EnrollmentMeetingOutcome', description: 'Meeting Outcome' },\n { value: 'PostEnrollmentFollowUpItem', description: 'Post Enrollment Follow-Up' }\n];\n\nexport const getEnhancedFilterType = (type: ENHANCED_STATUS_FILTERS_ENUM): string => {\n if (type === 'SchedulingStatus') {\n return 'Mtg. Schedule Status';\n }\n\n if (type === 'EnrollmentMeetingOutcome') {\n return 'Enrollment Mtg. Outcome';\n }\n\n if (type === 'PostEnrollmentFollowUpItem') {\n return 'Post Enrollment Follow-Up';\n }\n};\n","export const months = (isFuture?: boolean) => {\n const year = isFuture ? new Date().getFullYear() + 1 : new Date().getFullYear();\n return [\n {\n label: 'January',\n value: new Date(year, 0, 1).toISOString(),\n lastDay: new Date(year, 1, 0).toISOString()\n },\n {\n label: 'February',\n value: new Date(year, 1, 1).toISOString(),\n lastDay: new Date(year, 2, 0).toISOString()\n },\n {\n label: 'March',\n value: new Date(year, 2, 1).toISOString(),\n lastDay: new Date(year, 3, 0).toISOString()\n },\n {\n label: 'April',\n value: new Date(year, 3, 1).toISOString(),\n lastDay: new Date(year, 4, 0).toISOString()\n },\n {\n label: 'May',\n value: new Date(year, 4, 1).toISOString(),\n lastDay: new Date(year, 5, 0).toISOString()\n },\n {\n label: 'June',\n value: new Date(year, 5, 1).toISOString(),\n lastDay: new Date(year, 6, 0).toISOString()\n },\n {\n label: 'July',\n value: new Date(year, 6, 1).toISOString(),\n lastDay: new Date(year, 7, 0).toISOString()\n },\n {\n label: 'August',\n value: new Date(year, 7, 1).toISOString(),\n lastDay: new Date(year, 8, 0).toISOString()\n },\n {\n label: 'September',\n value: new Date(year, 8, 1).toISOString(),\n lastDay: new Date(year, 9, 0).toISOString()\n },\n {\n label: 'October',\n value: new Date(year, 9, 1).toISOString(),\n lastDay: new Date(year, 10, 0).toISOString()\n },\n {\n label: 'November',\n value: new Date(year, 10, 1).toISOString(),\n lastDay: new Date(year, 11, 0).toISOString()\n },\n {\n label: 'December',\n value: new Date(year, 11, 1).toISOString(),\n lastDay: new Date(year, 12, 0).toISOString()\n }\n ];\n};\n\nexport const nextSixMonthsFromCurrent = (currentMonth?: number) => {\n const selectedMonths = [];\n for (var cal = 0; cal < 6; cal++) {\n const currentMonthNumber = typeof currentMonth === 'number' ? currentMonth : new Date().getMonth();\n let numberDate = currentMonthNumber + cal + 1;\n\n // conditional checks here to loop the array to grab the next months correctly\n // since we are adding up the values and loop through six times\n if (numberDate === 12) {\n numberDate = 0;\n }\n if (numberDate === 13) {\n numberDate = 1;\n }\n if (numberDate === 14) {\n numberDate = 2;\n }\n if (numberDate === 15) {\n numberDate = 3;\n }\n if (numberDate === 16) {\n numberDate = 4;\n }\n if (numberDate === 17) {\n numberDate = 5;\n }\n selectedMonths.push(months()[numberDate]);\n }\n return selectedMonths;\n};\n\nconst getDaysInMonth = (year, month) => new Date(year, month, 0).getDate();\n\nexport const addMonths = (input: Date, months: number): Date => {\n const date = new Date(input);\n date.setDate(1);\n date.setMonth(date.getMonth() + months);\n date.setDate(Math.min(input.getDate(), getDaysInMonth(date.getFullYear(), date.getMonth() + 1)));\n return date;\n};\n","export const getUserErrorHandling = (res: any): { hasError: boolean; message?: string } => {\n // the api sends a boolean on success\n // or a valid uuid string, if there is an error, the service worker sends back html\n if (res && !res.Errors && (typeof res === 'boolean' || (res && !res.startsWith('<')))) {\n return {\n hasError: false\n };\n } else if (res && res.Errors) {\n let message = '';\n\n if (res.Errors.UserId) {\n // grabbing the first instance of the string in the array\n message = res.Errors.UserId[0];\n }\n\n if (res.Errors[`Body.Password`]) {\n // grabbing the first instance of the string in the array\n message = res.Errors[`Body.Password`][0];\n }\n\n if (res.Errors[`Body.BusinessClientId`]) {\n // grabbing the first instance of the string in the array\n message = res.Errors[`Body.Password`][0];\n }\n\n if (res.Errors.command) {\n // grabbing the first instance of the string in the array\n message = res.Errors.command[0];\n }\n // validation errors\n return {\n hasError: true,\n message\n };\n } else {\n // server errors\n return {\n hasError: true,\n message: 'Error, please try again'\n };\n }\n};\n","import React, { createContext, FC, useEffect, useState } from 'react';\nimport { useLocation, useHistory } from 'react-router-dom';\n// helpers\nimport { setUserLocalStorage, removeUserLocalStorage, getUserLocalStorage, getIsUserExpired, userLogout } from '../helpers';\n// models\nimport { ILoginUser } from '../models';\n\ninterface IUserContext {\n setUser: (user: ILoginUser | undefined) => void;\n user: ILoginUser | undefined;\n isFetching: boolean;\n}\n\nexport const UserContext = createContext({ setUser: () => {}, user: undefined, isFetching: false });\n\ninterface IUserContextHandlerProps {}\n\nexport const UserContextHandler: FC = ({ children }): JSX.Element => {\n const history = useHistory();\n const location = useLocation();\n\n const [user, setUser] = useState(undefined);\n const [isFetching, setFetching] = useState(true);\n\n const handleSetUser = (user: ILoginUser | undefined) => {\n if (user) {\n setUserLocalStorage(user);\n } else {\n removeUserLocalStorage();\n }\n setUser(user);\n };\n\n const fetchUserFromLocalStorage = async () => {\n try {\n const user = await getUserLocalStorage();\n if (user) {\n // token expired\n if (getIsUserExpired(user.accessTokenExpiresAt)) {\n userLogout();\n history.push('/login');\n } else {\n setUser(user);\n }\n }\n } catch (e) {\n console.log(e, 'fetchUserFromLocalStorage');\n } finally {\n setFetching(false);\n }\n };\n useEffect(() => {\n fetchUserFromLocalStorage();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location.pathname]);\n\n return {children};\n};\n","export const DESC_SORT = 'Desc';\nexport const ASC_SORT = 'Asc';\nexport type SortOptions = 'Desc' | 'Asc';\n","export interface IUser {\n userId: string;\n firstName: string;\n lastName: string;\n email: string;\n phoneNumber: string;\n role: string;\n clientName: string;\n isActive: boolean;\n}\n\nexport interface IUserDetail {\n userId: string;\n firstName: string;\n lastName: string;\n email: string;\n phoneNumber: string;\n role: string;\n businessClient: {\n businessClientId: number;\n name: string;\n broker: {\n brokerId: number;\n name: string;\n };\n }[];\n broker: {\n brokerId: number;\n name: string;\n };\n isActive: boolean;\n}\n\nexport type UserRoles =\n | 'Administrator'\n | 'Carrier Partner'\n | 'General Agent'\n | 'Account Manager'\n | 'Broker Client'\n | 'Broker Manager'\n | 'Broker'\n | 'Business Client'\n | 'Enrolling Agent'\n | 'Manager'\n | 'Broker Client Manager';\nexport enum EUserRoles {\n ADMIN = 'Administrator',\n BROKER_CLIENT = 'BrokerClient',\n BROKER_MANAGER = 'BrokerManager',\n BROKER = 'Broker',\n BUSINESS_CLIENT = 'BusinessClient',\n ENROLLING_AGENT = 'EnrollingAgent',\n MANAGER = 'Manager',\n BROKER_CLIENT_MANAGER = 'BrokerClientManager'\n}\n\nexport interface IUserRes {\n records: IUser[];\n totalRecordCount: number;\n}\n\nexport interface IUserRole {\n value: string;\n description: string;\n shorthand: string;\n}\n\nexport interface IUserPost {\n email: string;\n password: string;\n firstName: string;\n lastName: string;\n role: UserRoles;\n brokerId: number;\n businessClientIds: number[];\n}\n\nexport interface IUserPut {\n isActive: boolean;\n email: string;\n password: string;\n firstName: string;\n lastName: string;\n role: UserRoles;\n brokerId: number;\n businessClientIds: number[];\n}\n\nexport interface ILoginPost {\n email: string;\n password: string;\n}\n\nexport interface IResetPasswordPost {\n email: string;\n resetPasswordToken: string;\n newPassword: string;\n}\n\nexport interface ILoginUser {\n username: string;\n name: string | null;\n email: string;\n accessTokenExpired: string;\n accessTokenExpiresAt: string;\n userId: string;\n firstName: string;\n lastName: string;\n roles: UserRoles[];\n accessToken: string;\n brokerId: number;\n brokerLogo: string;\n businessClientIds: number[];\n businessClientLogo: string;\n}\nexport interface IForgotPasswordPost {\n email: string;\n}\nexport interface IResetPasswordPost {\n email: string;\n resetPasswordToken: string;\n newPassword: string;\n}\n","import { IBroker } from './broker';\n\nexport interface ISectionDocumentsFile {\n id: number;\n fileVersionId: number;\n fileUrl: string;\n fileName: string;\n otherInformations: string;\n docContentType: string;\n externalFileUrl: string;\n fileExtension: string;\n uploadedBy: string;\n uploadedDateTime: string;\n}\n\nexport interface ISectionDocuments {\n id: number | null;\n status: string;\n category: string;\n categoryDescription: string;\n files: ISectionDocumentsFile[];\n orderIndex: number;\n}\n\nexport type OfferedNotOfferedBenefit = {\n benefitName: string;\n offered: boolean;\n}\n\nexport interface ISystemOfRecordRes {\n records: ISystemOfRecord[];\n totalRecordCount: number;\n}\n\nexport interface ISystemOfRecord {\n systemOfRecordId: number;\n name: string;\n}\n\nexport interface IDropdownResponse {\n value: string;\n description: string;\n shorthand: string;\n}\n\nexport interface IDefaultDropdownsOptions {\n defaultPreExRulesOptions: IDropdownResponse[];\n defaultPlanOfferOptions: IDropdownResponse[];\n defaultPeriodOptions: IDropdownResponse[];\n\n defaultPortabilityOptions: IDropdownResponse[];\n defaultGIEligibilityOptions: IDropdownResponse[];\n defaultPaymentTypeOptions: IDropdownResponse[];\n defaultEliminationAccumulationPeriodsOptions: IDropdownResponse[];\n}\n\nexport interface IEnrollmentEngagementNumbers {\n id?: number;\n priorYearEnrollmentStyle: string;\n priorYearEngagement: string;\n employeeEngagement: string;\n numberOfEnrollerDays: string;\n engagementPercentage: string;\n}\n\nexport interface IProductParticipation {\n id?: number | null;\n hsaParticipationPriorYear: string;\n hsaParticipation: string;\n fieldTitle: string;\n}\n\nexport interface IChallengesAndSolutions {\n id?: number | null;\n topChallengesToSolveForEnrollment: string;\n solutionsImplemented: string;\n keyTakeawaysFromStrategy: string;\n}\n\nexport interface IGeneralDropdownsOptions {\n projectTypesOptions: IDropdownResponse[];\n stdBuyUpOptions: IDropdownResponse[];\n accidentSicknessEliminationPeriods: IDropdownResponse[];\n stdCoverageTerminatesOn: IDropdownResponse[];\n stdCoverageClassPolicyTypes: IDropdownResponse[];\n\n basicADeDOptions: IDropdownResponse[];\n employeeRateBasisOptions: IDropdownResponse[];\n faceAmountOptions: IDropdownResponse[];\n incrementsOptions: IDropdownResponse[];\n maxFactorOptions: IDropdownResponse[];\n spouseRateBasisOptions: IDropdownResponse[];\n tobaccoRateBasisOptions: IDropdownResponse[];\n volADeDOptions: IDropdownResponse[];\n volLifeEmployeeRateBasisOptions: IDropdownResponse[];\n volLifeSpouseRateBasisOptions: IDropdownResponse[];\n volLifeTobaccoRateBasisOptions: IDropdownResponse[];\n accidentPlanTypeOptions: IDropdownResponse[];\n\n hospitalPlanTypeOptions: IDropdownResponse[];\n creditForTimeServedOptions: IDropdownResponse[];\n cancerPlanTypeOptions: IDropdownResponse[];\n criticalIllnessPlanTypeOptions: IDropdownResponse[];\n\n criticalIllnessMaxAmountOptions: IDropdownResponse[];\n criticalIllnessMaxFactorOptions: IDropdownResponse[];\n criticalIllnessIncrementsOptions: IDropdownResponse[];\n\n portableLifePlanTypeOptions: IDropdownResponse[];\n\n priorYearEnrollmentStyleOptions: IDropdownResponse[];\n defaultPeriodOptions: IDropdownResponse[];\n stateOptions: IDropdownResponse[];\n\n anticipatedSupportOptions: IDropdownResponse[];\n industryOptions: IDropdownResponse[];\n\n dataFileRecipientsOptions: IDropdownResponse[];\n\n typeOfEnrollmentOptions: IDropdownResponse[];\n enrollmentConditionsOptions: IDropdownResponse[];\n primaryEnrollmentMethodOptions: IDropdownResponse[];\n secondaryEnrollmentMethodOptions: IDropdownResponse[];\n engagementPercentageOptions: IDropdownResponse[];\n}\n\nexport interface IFinancialOptions {\n standardPeriodOptions: IDropdownResponse[];\n}\n\nexport interface IInsuranceCoverageOptions {\n defaultPlanOfferOptions: IDropdownResponse[];\n}\n\nexport interface IMedicalInsuranceOptions {\n telemedicineOptions: IDropdownResponse[];\n medicalDeductibleTypeOptions: IDropdownResponse[];\n medicalPlanOfferingOptions: IDropdownResponse[];\n medicalCoverageTerminatesOnOptions: IDropdownResponse[];\n}\n\nexport interface IBusinessClassOptions {\n waitingPeriods: IDropdownResponse[];\n classPayCycles: IDropdownResponse[];\n classEligibilityPeriods: IDropdownResponse[];\n classEligibilityRules: IDropdownResponse[];\n}\n\nexport interface IDentalInsurance {\n dentalInsuranceId?: number;\n offerDentalCoverage: boolean;\n dentalCarrier: string;\n previousDentalCarrier: string;\n dentalPlanOffering: string;\n coverageTerminatesOn?: string;\n dentalNotes: string;\n dentalInsurancePlans: IDentalInsurancePlan[];\n}\n\nexport interface IDentalInsurancePlan {\n dentalInsurancePlanId?: number;\n planName: string;\n pcpRequired: boolean;\n mostSimilarPreviousPlan: string;\n}\n\nexport interface IVisionInsurance {\n visionInsuranceId?: number;\n offerVisionCoverage: boolean;\n visionCarrier: string;\n previousVisionCarrier: string;\n visionPlanOffering: string;\n coverageTerminatesOn: string;\n visionNotes: string;\n visionInsurancePlans: IVisionInsurancePlan[];\n}\n\nexport interface IVisionInsurancePlan {\n visionInsurancePlanId?: number;\n planName: string;\n mostSimilarPreviousPlan: string;\n}\n\nexport interface IMedicalInsurance {\n id?: number;\n offerMedicalInsurance: boolean;\n medicalCarrier: string;\n previousMedicalCarrier: string;\n medicalPlanOffering?: string;\n medicalDeductibleType?: string;\n telemedicine?: string;\n medicalCoverageTerminatesOn?: string;\n medicalNotes: string;\n medicalPlans: IMedicalInsurancePlan[];\n}\n\nexport interface IMedicalInsurancePlan {\n id: number;\n planName: string;\n pcpRequired: boolean;\n mostSimilarPreviousPlan: string;\n}\n\nexport interface IVoluntaryLifeCoverage {\n id?: number;\n offerVoluntaryLifeCoverage: boolean;\n voluntaryLifeCarrier: string;\n previousVoluntaryLifeCarrier: string;\n volADeD?: string;\n volLifeGiEligibility?: string;\n volLifeOffering?: string;\n volLifePortability?: string;\n volLifeEmployeeRateBasis?: string;\n volLifeSpouseRateBasis?: string;\n volLifeTobaccoRateBasis?: string;\n voluntaryLifeCoverageGuaranteedIssues: IVoluntaryLifeCoverageGuaranteedIssue[];\n}\n\nexport interface IVoluntaryLifeCoverageGuaranteedIssue {\n id?: number;\n giAmount: string;\n maxAmount?: string;\n maxFactor?: string;\n increments?: string;\n}\n\n\nexport interface IGroupLifeInsurance {\n id?: number;\n offerBasicLifeCoverage: boolean;\n basicLifeCarrier: string;\n previousBasicLifeCarrier: string;\n basicLifeOffering?: string;\n lifeNotes: string;\n groupLifeInsuranceClasses: IGroupLifeInsuranceClass[];\n groupLifeInsuranceGuaranteedIssues: IGroupLifeInsuranceGuaranteedIssue[];\n\n basicADeD?: string;\n}\n\nexport interface IGroupLifeInsuranceClass {\n id?: number;\n className: string;\n notes: string;\n\n faceAmount: string;\n maxFactor: string;\n}\n\nexport interface IGroupLifeInsuranceGuaranteedIssue {\n id?: number;\n giAmount?: string;\n\n maxAmount?: string;\n maxFactor?: string;\n increments?: string;\n}\n\nexport interface ICriticalIllnessCoverageGuaranteedIssue {\n id?: number;\n giAmount?: string;\n\n maxAmount?: string;\n maxFactor?: string;\n increments?: string;\n}\n\nexport interface IAccidentInsurance {\n id?: number;\n offerAccidentCoverage: boolean;\n accidentCarrier: string;\n previousAccidentCarrier: string;\n highlights: string;\n accidentTaxStatus: boolean;\n accidentNotes: string;\n\n accidentOffering: string;\n accidentPlanType: string;\n accidentPortability: string;\n}\n\nexport interface IHospitalCoverage {\n id?: number;\n offerHospitalCoverage: boolean;\n hospitalCarrier: string;\n previousHospitalCarrier: string;\n hospitalTaxStatus: boolean;\n hospitalNotes: string;\n\n hospitalOffering: string;\n hospitalGIEligibility: string;\n hospitalPlanType: string;\n hospitalPreExRules: string;\n hospitalPortability: string;\n hospitalCreditForTimeServed: string;\n\n}\n\nexport interface ICancerInsurance {\n id?: number;\n offerCancerCoverage: boolean;\n cancerCarrier: string;\n previousCancerCarrier: string;\n cancerTaxStatus: boolean;\n cancerNotes: string;\n\n cancerOffering: string;\n cancerPlanType: string;\n cancerPreExRules: string;\n cancerPortability: string;\n cancerCreditForTimeServed: string;\n}\n\nexport interface ICriticalIllnessInsurance {\n id?: number;\n offerCriticalIllnessCoverage: boolean;\n criticalIllnessCarrier: string;\n previousCriticalIllnessCarrier: string;\n ciTaxStatus: boolean;\n criticalIllnessNotes: string;\n\n criticalIllnessOffering: string;\n criticalIllnessGIEligibility: string;\n criticalIllnessPlan: string;\n ciPreExRules: string;\n ciPortability: string;\n ciCreditForTimeServed: string;\n\n ciEmployeeRateBasis: string;\n ciSpouseRateBasis: string;\n ciTobaccoRateBasis: string;\n\n criticalIllnessInsuranceGuaranteedIssues: ICriticalIllnessCoverageGuaranteedIssue[]\n}\n\nexport interface IPortableLifeInsurance {\n id?: number;\n offerPortableLifeInsuranceCoverage: boolean;\n portableLifeCarrier: string;\n previousPortableLifeCarrier: string;\n portableLifeTaxStatus: boolean;\n portableLifeNotes: string;\n\n portableLifeGIEligibility: string;\n portableLifePortability: string;\n\n portableLifeOffering: string;\n portableLifePlanType: string;\n portableLifePreExRules: string;\n portableLifeCreditForTimeServed: string;\n portableLifeEmployeeRateBasedOn: string;\n portableLifeTobaccoRate: string;\n portableLifeSpouseRateBasis: string;\n\n portableLifeInsuranceGuaranteedIssues: IPortableLifeInsuranceGuaranteedIssue[]\n}\n\nexport interface IPortableLifeInsuranceGuaranteedIssue {\n id?: number;\n giAmount?: string;\n\n maxAmount?: string;\n maxFactor?: string;\n}\n\nexport interface IShortTermDisabilityCoverage {\n shortTermDisabilityCoverageId?: number;\n offerShortTermDisabilityCoverage: boolean;\n stdCarrier: string;\n previousSTDCarrier: string;\n areMultiplePlansAvailable: boolean;\n stdOffering: string;\n\n stdBuyUpOptions: string;\n stdPortability: string;\n stdPolicyType: string;\n accidentSicknessEliminationPeriods: string;\n coverageTerminatesOn: string;\n\n\n eligibleClasses: string;\n stdPreExRules: string;\n stdMaxWeeklyBenefit: string;\n stdTaxStatus: string;\n preExExceptionForPregnancy: boolean;\n stdNotes: string;\n\n stdCreditForTimeServed: string;\n stdgiEligibility: string;\n stdPaymentType: string;\n\n shortTermDisabilityCoverageClasses: IShortTermDisabilityCoverageClass[];\n}\n\nexport interface IShortTermDisabilityCoverageClass {\n id?: number;\n shortTermDisabilityCoverageId?: number;\n className: string;\n maxWeeklyBenefit: string;\n\n policyType: string;\n preExRules: string;\n giEligibility: string;\n paymentType: string;\n eliminationPeriods: string;\n\n}\n\nexport interface ILongTermDisabilityCoverage {\n longTermDisabilityCoverageId?: number;\n offerLongTermDisabilityCoverage: boolean;\n ltdCarrier: string;\n previousLTDCarrier: string;\n areMultiplePlansAvailable: boolean;\n ltdOffering: string;\n eligibleClasses: string;\n ltdMaxMonthlyBenefit: string;\n ltdNotes: string;\n maxMonthlyBenefit: string;\n\n ltdPreExRules: string;\n eliminationAccumulationPeriods: string;\n\n ltdPolicyType: string;\n ltdPortability: string;\n ltdgiEligibility: string;\n ltdBuyUpOptions: string;\n ltdCreditForTimeServed: string;\n ltdPaymentType: string;\n\n ltdTaxStatus: string;\n coverageTerminatesOn: string;\n\n longTermDisabilityCoverageClasses: ILongTermDisabilityCoverageClass[];\n}\n\nexport interface ILongTermDisabilityCoverageClass {\n id?: number;\n className: string;\n\n policyType: string;\n giEligibility: string;\n paymentType: string;\n\n eliminationAccumulationPeriods: string;\n}\n\n//start\nexport interface IHealthReimbursementAccount {\n offerHealthReimbursementAccount: boolean;\n erContribution?: string;\n contingentPlans?: string;\n coverageTerminatesOn?: string;\n highlights?: string;\n}\n\nexport interface IFlexibleSpendingAccount {\n offerFlexibleSpendingAccount: boolean;\n erContribution: string;\n employeeMaxAnnualAccount?: string;\n coverageTerminatesOn: string;\n}\n\nexport interface IDependentCareFlexSpendingAccount {\n offerDependentCareFlexSpendingAccount: boolean;\n erContribution: string;\n employeeMaxAnnualContribution?: string;\n familyMaxAnnualContribution?: string;\n coverageTerminatesOn: string;\n}\n\nexport interface ILimitedPurposeFlexSpendingAccount {\n offerLimitedPurposeFlexSpendingAccount: boolean;\n erContribution: string;\n employeeMaxAnnualContribution?: string;\n coverageTerminatesOn: string;\n\n}\n//end \n\nexport interface IBusinessClient {\n businessClientId: number;\n name: string;\n broker: IBroker;\n}\n\nexport interface IBuildStep {\n businessClientBuildStepId: number;\n buildStep: string;\n url: string;\n buildStepStatus: string;\n icon?: any;\n}\n\nexport interface ISpecialAttentionBusinessClientEmployee {\n businessClientSpecialAttentionEmployeeId?: number;\n name: string | null;\n title: string | null;\n}\n\nexport interface IDataFileRecipient {\n businessClientDataFileRecipientId?: number;\n recipient: string;\n otherRecipientDescription: string | null;\n}\n\nexport interface IHealthSavingsAccount {\n offerHealthSavingsAccount: boolean;\n erContributionsDistribution: string;\n employeeMaxAnnualContribution?: string;\n familyMaxAnnualContribution?: string;\n bankName: string;\n contingentPlans: string;\n coverageTermination: string;\n setupRequirements: string;\n erContribution: string;\n}\n\nexport interface ISupplementalProduct {\n id?: number;\n offerSupplementalProducts: boolean;\n carrierName: string;\n notes: string;\n}\n\nexport interface IEligibilityRules {\n id?: number;\n arePartTimeEmployeesEligibleToEnroll: boolean;\n partTimeEmployeesEligibility: boolean;\n areDomesticPartnersEligibleToEnroll: boolean;\n domesticPartnerPlanEligibility: boolean;\n eligibilityRulesDeductions: IEligibilityRulesDeduction[];\n}\n\nexport interface IEligibilityRulesDeduction {\n id?: number;\n deductionFrequency: string;\n hoursRequiredForEligibility: string;\n}\n\nexport interface IBusinessClientDetailFormValues {\n name: string;\n brokerName: string;\n\n shouldCompanyNameUsedInCommunication: boolean;\n companyNameUsedInCommunication: string;\n\n eligibilityRules?: IEligibilityRules;\n\n caseOverviewUrl: string;\n benefitProgramSupportDocumentationUrl: string;\n importantCaseNotes: string;\n logoUrl: string;\n appLogoUrl: string;\n systemOfRecord: string;\n systemOfRecordUrl: string;\n systemOfRecordUsername: string;\n systemOfRecordPassword: string;\n openEnrollmentEffectiveDate: string;\n openEnrollmentStartDate: string | null;\n dashboardOpenEnrollmentView: number;\n selfServiceStartDate: string;\n selfServiceEndDate: string;\n enrollmentDeadline: string;\n newHireScheduleUrl: string;\n classes: IBusinessClientClass[];\n location: IBusinessClientLocation[];\n contacts?: IBusinessClientContact[];\n supplementalProducts?: ISupplementalProduct[];\n\n mobileAppEnabled: boolean;\n appLogoType: string;\n homeLogoType: string;\n hexColor: string;\n secondaryHexColor: string;\n textHexColor: string;\n header: string;\n links: any[];\n hrManagerFirstName: string;\n hrManagerLastName: string;\n hrManagerEmail: string | null;\n hrManagerPhoneNumber: string | null;\n automatedEmployeeCommunication: boolean;\n qrCodes: QRCode[];\n // enrollment builder\n projectType: string | null;\n enrollmentStart: string | null;\n enrollmentEnd: string | null;\n targetDate: string | null;\n buildSteps: IBuildStep[];\n // enrollment overview\n // -- client details\n situsState: string;\n industry: string;\n industryTier?: string;\n benAdminBuildType?: string;\n engagementPercentage?: string;\n anticipatedSupport?: string;\n\n\n healthSavingsAccount: IHealthSavingsAccount;\n healthReimbursementAccount: IHealthReimbursementAccount;\n flexibleSpendingAccount: IFlexibleSpendingAccount;\n dependentCareFlexSpendingAccount: IDependentCareFlexSpendingAccount;\n limitedPurposeFlexSpendingAccount: ILimitedPurposeFlexSpendingAccount;\n financialProductNotes: string;\n\n enrollmentEngagementNumbers: IEnrollmentEngagementNumbers;\n\n productParticipation: IProductParticipation;\n challengesAndSolutions: IChallengesAndSolutions;\n\n medicalInsurance: IMedicalInsurance;\n\n dentalInsurance: IDentalInsurance;\n visionInsurance: IVisionInsurance;\n shortTermDisabilityCoverage: IShortTermDisabilityCoverage;\n longTermDisabilityCoverage: ILongTermDisabilityCoverage;\n groupLifeInsurance: IGroupLifeInsurance;\n voluntaryLifeCoverage: IVoluntaryLifeCoverage;\n\n accidentInsurance: IAccidentInsurance;\n hospitalCoverage: IHospitalCoverage;\n cancerInsurance: ICancerInsurance;\n criticalIllnessInsurance: ICriticalIllnessInsurance;\n portableLifeInsurance: IPortableLifeInsurance;\n\n sicCode: string;\n street: string;\n streetLine2: string;\n city: string;\n state: string;\n postalCode: string | null;\n taxId: string | number | null;\n totalEligibleEmployees: string | number;\n totalEmployees: string | number;\n engagementPackageType: string;\n carrierRepGoals: string;\n // -- client preferences\n highlightsChallenges: string | null;\n specialAttentionBusinessClientEmployees: ISpecialAttentionBusinessClientEmployee[];\n hrDeadline: string | null;\n provideDataFile: boolean;\n dataDeliveryDate: string | null;\n dataFileRecipients: IDataFileRecipient[];\n accountManagerUserId: string | number | null;\n\n //pretty new\n previousYearEnrollmentDetails: string | null;\n isEnrollmentAllianceProvidingBenAdminSystem: boolean;\n\n projectedNumberOfBenefitMeetingsRequired: string | null;\n\n estimatedEngagementRate: string | null;\n\n proposedDatesAndTimes: string | null;\n timeZone: string | null;\n enrollmentMethodAndSchedulingNotes: string | null;\n\n businessClientLocationAndLogistic: IBusinessClientLocationAndLogistic;\n faceToFaceEnrollment: IFaceToFaceEnrollmentDetails;\n\n businessClientFollowUpMessages: IBusinessClientFollowUpMessages;\n\n typeOfEnrollment?: string;\n enrollmentConditions?: string;\n primaryEnrollmentMethod?: string;\n secondaryEnrollmentMethod?: string;\n\n enrollmentSchedulingTools: IEnrollmentSchedulingTool[];\n\n sectionsDocuments: ISectionDocuments[];\n}\n\nexport interface IEnrollmentSchedulingTool {\n schedulingTool?: string;\n schedulingToolDescription?: string;\n otherToolDescription?: string;\n isSelected?: boolean;\n}\n\nexport interface IMinimalAddBusinessClient {\n name: string;\n projectType: string | null;\n openEnrollmentEffectiveDate: string | null;\n}\n\nexport interface IBusinessClientDetail {\n businessClientId: number;\n name: string;\n brokerId: number;\n\n shouldCompanyNameUsedInCommunication: boolean;\n companyNameUsedInCommunication: string;\n\n eligibilityRules?: IEligibilityRules;\n\n importantCaseNotes: string;\n caseOverviewUrl: string;\n dashboardOpenEnrollmentView: number;\n newHireScheduleUrl: string;\n benefitProgramSupportDocumentationUrl: string;\n systemOfRecordId: 0;\n systemOfRecordUrl: string;\n systemOfRecordUsername: string;\n systemOfRecordPassword: string;\n logoUrl: string;\n appLogoUrl: string;\n openEnrollmentEffectiveDate: string;\n openEnrollmentStartDate: string;\n selfServiceEndDate: string;\n selfServiceStartDate: string;\n enrollmentDeadline: string;\n broker: IBroker;\n systemOfRecord: ISystemOfRecord;\n classes: IBusinessClientClass[];\n location: IBusinessClientLocation[];\n contacts: IBusinessClientContact[];\n supplementalProducts?: ISupplementalProduct[];\n mobileAppEnabled: boolean;\n appLogoType: string;\n homeLogoType: string;\n hexColor: string;\n secondaryHexColor: string;\n textHexColor: string;\n header: string;\n links: IMobileAppLink[];\n qrCodes: QRCode[];\n hrManagerFirstName: string;\n hrManagerLastName: string;\n hrManagerEmail: string;\n hrManagerPhoneNumber: string;\n automatedEmployeeCommunication: boolean;\n projectType: string | null;\n enrollmentStart: string;\n enrollmentEnd: string;\n targetDate: string;\n buildSteps: IBuildStep[];\n situsState: string;\n industry: string;\n industryTier?: string;\n benAdminBuildType?: string;\n engagementPercentage?: string;\n anticipatedSupport?: string;\n\n healthSavingsAccount: IHealthSavingsAccount;\n healthReimbursementAccount: IHealthReimbursementAccount;\n flexibleSpendingAccount: IFlexibleSpendingAccount;\n dependentCareFlexSpendingAccount: IDependentCareFlexSpendingAccount;\n limitedPurposeFlexSpendingAccount: ILimitedPurposeFlexSpendingAccount;\n financialProductNotes: string;\n\n enrollmentEngagementNumbers: IEnrollmentEngagementNumbers;\n\n productParticipation: IProductParticipation;\n challengesAndSolutions: IChallengesAndSolutions;\n\n medicalInsurance: IMedicalInsurance;\n\n dentalInsurance: IDentalInsurance;\n visionInsurance: IVisionInsurance;\n shortTermDisabilityCoverage: IShortTermDisabilityCoverage;\n longTermDisabilityCoverage: ILongTermDisabilityCoverage;\n groupLifeInsurance: IGroupLifeInsurance;\n voluntaryLifeCoverage: IVoluntaryLifeCoverage;\n\n accidentInsurance: IAccidentInsurance;\n hospitalCoverage: IHospitalCoverage;\n cancerInsurance: ICancerInsurance;\n criticalIllnessInsurance: ICriticalIllnessInsurance;\n portableLifeInsurance: IPortableLifeInsurance;\n\n sicCode: string;\n street: string;\n streetLine2: string;\n city: string;\n state: string;\n postalCode: string | null;\n taxId: string;\n totalEligibleEmployees: number;\n totalEmployees: string | number;\n engagementPackageType: string;\n carrierRepGoals: string;\n highlightsChallenges: string | null;\n specialAttentionBusinessClientEmployees: ISpecialAttentionBusinessClientEmployee[];\n hrDeadline: string | null;\n provideDataFile: boolean;\n dataDeliveryDate: string | null;\n dataFileRecipients: IDataFileRecipient[];\n accountManagerUserId: string | number;\n\n previousYearEnrollmentDetails: string | null;\n isEnrollmentAllianceProvidingBenAdminSystem: boolean;\n\n projectedNumberOfBenefitMeetingsRequired: string | null;\n\n estimatedEngagementRate: string | null;\n\n proposedDatesAndTimes: string | null;\n timeZone: string | null;\n enrollmentMethodAndSchedulingNotes: string | null;\n\n businessClientLocationAndLogistic: IBusinessClientLocationAndLogistic;\n faceToFaceEnrollment: IFaceToFaceEnrollmentDetails;\n\n businessClientFollowUpMessages: IBusinessClientFollowUpMessages;\n\n typeOfEnrollment?: string;\n enrollmentConditions?: string;\n primaryEnrollmentMethod?: string;\n secondaryEnrollmentMethod?: string;\n\n enrollmentSchedulingTools: IEnrollmentSchedulingTool[];\n\n sectionsDocuments: ISectionDocuments[];\n}\n\nexport interface QRCode {\n name: string;\n link: string;\n url: string;\n businessClientClassId: number;\n businessClientLocationId: number;\n}\n\nexport interface IBusinessClientLocationAndLogistic {\n id?: number | null;\n isThereNeedForOtherLanguages: boolean;\n isThereNeedForSpanish: boolean;\n areAnyOtherLanguagesNeeded: boolean;\n additionalLanguages: string;\n}\n\nexport interface IFaceToFaceEnrollmentLocation {\n id?: number | null;\n locationName: string;\n streetAddress: string;\n city: string;\n state: string;\n zip: string;\n}\n\nexport interface IFaceToFaceEnrollmentDetails {\n id?: number | null;\n multipleLocationsRequired: boolean;\n notesAboutEnrollmentLogistics: string;\n locations: IFaceToFaceEnrollmentLocation[];\n}\n\nexport interface IBusinessClientFollowUpMessages {\n id?: number | null;\n targetAudience: string | null;\n messages: IBusinessClientFollowUpMessageItem[];\n}\n\nexport interface IBusinessClientFollowUpMessageItem {\n id?: number | null;\n messageDeliveryDate: string | null;\n textMessage: string | null;\n emailSubjectLine: string | null;\n emailMessage: string | null;\n}\n\n\nexport interface IBusinessClientLocation {\n businessClientLocationId?: number;\n name: string;\n calendarLinkUrl: string | null;\n supervisorName?: string | null;\n}\n\nexport interface IBusinessClientRes {\n records: IBusinessClient[];\n totalRecordCount: number;\n}\n\nexport interface IBusinessClientClass {\n businessClientClassId?: number;\n name: string;\n benefitGuideUrl: string | null;\n benefitGuideMultilingualUrl: string | null;\n videoUrl: string | null;\n videoMultilingualUrl: string | null;\n waitingPeriod: string;\n\n classPayCycle: string;\n classEligibilityPeriod: string;\n classEligibilityRule: string;\n}\n\nexport interface IBusinessClientContact {\n businessClientContactId?: number;\n businessClientId?: number;\n name: string;\n email: string;\n hasBenAdminAccess: boolean;\n hasDashboardAccess: boolean;\n role?: string | null;\n}\n\nexport interface IBusinessClientPost {\n name: string;\n brokerId: number;\n caseOverviewUrl?: string;\n newHireScheduleUrl?: string;\n benefitProgramSupportDocumentationUrl?: string;\n systemOfRecordId?: number;\n systemOfRecordUrl?: string;\n systemOfRecordUsername?: string;\n systemOfRecordPassword?: string;\n logoUrl?: string;\n openEnrollmentEffectiveDate?: string;\n openEnrollmentStartDate?: string;\n enrollmentDeadline?: string;\n classes?: IBusinessClientClass[];\n locations?: IBusinessClientLocation[];\n contacts?: IBusinessClientContact[];\n supplementalProducts?: ISupplementalProduct[];\n mobileAppEnabled: boolean;\n appLogoType: string;\n homeLogoType: string;\n hexColor: string;\n links: IMobileAppLink[];\n hrManagerFirstName?: string;\n hrManagerLastName?: string;\n hrManagerEmail?: string;\n hrManagerPhoneNumber?: string;\n automatedEmployeeCommunication?: boolean;\n classLocations: {\n businessClientClassId: number;\n businessClientLocationId: number;\n url: string;\n }[];\n situsState: string;\n industry: string;\n industryTier?: string;\n benAdminBuildType?: string;\n engagementPercentage?: string;\n anticipatedSupport?: string;\n\n\n healthSavingsAccount: IHealthSavingsAccount;\n healthReimbursementAccount: IHealthReimbursementAccount;\n flexibleSpendingAccount: IFlexibleSpendingAccount;\n dependentCareFlexSpendingAccount: IDependentCareFlexSpendingAccount;\n limitedPurposeFlexSpendingAccount: ILimitedPurposeFlexSpendingAccount;\n financialProductNotes: string;\n\n medicalInsurance: IMedicalInsurance;\n\n dentalInsurance: IDentalInsurance;\n visionInsurance: IVisionInsurance;\n shortTermDisabilityCoverage: IShortTermDisabilityCoverage;\n longTermDisabilityCoverage: ILongTermDisabilityCoverage;\n groupLifeInsurance: IGroupLifeInsurance;\n voluntaryLifeCoverage: IVoluntaryLifeCoverage;\n\n accidentInsurance: IAccidentInsurance;\n hospitalCoverage: IHospitalCoverage;\n cancerInsurance: ICancerInsurance;\n criticalIllnessInsurance: ICriticalIllnessInsurance;\n portableLifeInsurance: IPortableLifeInsurance;\n\n medicalDeductibleType?: string;\n telemedicine?: string;\n medicalNotes?: string;\n\n sicCode: string;\n street: string;\n streetLine2: string;\n city: string;\n state: string;\n postalCode: string;\n taxId: string;\n totalEligibleEmployees: number;\n totalEmployees: string | number;\n engagementPackageType: string;\n carrierRepGoals: string;\n highlightsChallenges: string | null;\n specialAttentionBusinessClientEmployees?: ISpecialAttentionBusinessClientEmployee[];\n hrDeadline: string | null;\n provideDataFile: boolean;\n dataDeliveryDate: string | null;\n dataFileRecipients: IDataFileRecipient[];\n accountManagerUserId: string | number;\n\n previousYearEnrollmentDetails: string | null;\n isEnrollmentAllianceProvidingBenAdminSystem: boolean;\n\n projectedNumberOfBenefitMeetingsRequired: string | null;\n\n estimatedEngagementRate: string | null;\n\n proposedDatesAndTimes: string | null;\n timeZone: string | null;\n enrollmentMethodAndSchedulingNotes: string | null;\n\n businessClientLocationAndLogistic: IBusinessClientLocationAndLogistic;\n faceToFaceEnrollment: IFaceToFaceEnrollmentDetails;\n\n businessClientFollowUpMessages: IBusinessClientFollowUpMessages;\n\n typeOfEnrollment?: string;\n enrollmentConditions?: string;\n primaryEnrollmentMethod?: string;\n secondaryEnrollmentMethod?: string;\n\n enrollmentSchedulingTools: IEnrollmentSchedulingTool[];\n\n sectionsDocuments: ISectionDocuments[];\n}\n\nexport interface IBusinessClientPut {\n name: string;\n}\n\nexport interface IBusinessClientDashboardEmployeeCount {\n status: string;\n count: number;\n}\n\nexport interface IBusinessClientDashboard {\n businessClientId: number;\n name: string;\n logoUrl: string;\n isOpenEnrollment: boolean;\n employeeStatusCounts: IBusinessClientDashboardEmployeeCount[];\n}\n\nexport interface IImageUploadRes {\n url: string;\n}\n\nexport type mobileAppLogoTypes = 'Broker' | 'BusinessClient' | 'Custom' | 'Default';\n\nexport type mobileAppLogoTypeTitles = 'Broker Logo' | 'Business Client Logo' | 'Enrollment Alliance' | 'Custom App Icon Logo';\n\nexport enum EMobileAppLogoTypeEnums {\n BROKER = 'Broker',\n BUSINESS_CLIENT = 'BusinessClient',\n DEFAULT = 'Default'\n}\n\nexport interface IMobileAppLogoType {\n type: mobileAppLogoTypes;\n title: mobileAppLogoTypeTitles;\n}\n\nexport const mobileAppLogoTypeOptions: IMobileAppLogoType[] = [\n { type: 'Broker', title: 'Broker Logo' },\n { type: 'BusinessClient', title: 'Business Client Logo' },\n { type: 'Custom', title: 'Custom App Icon Logo' },\n { type: 'Default', title: 'Enrollment Alliance' }\n];\n\nexport type mobileAppLinkTypes =\n | 'Instructions'\n | 'Calendar'\n | 'TalkToAdvisor'\n | 'BenefitsInfo'\n | 'BenefitsInfoMultilingual'\n | 'Media'\n | 'MediaMultilingual'\n | 'Chat'\n | 'FindADoctor'\n | 'EnrollInBenefits'\n | 'EnrollInBenefitsMultilingual'\n | 'VirtualDoctorVisit'\n | 'PrescriptionDiscounts'\n | 'WellnessIncentives'\n | 'MentalHealth'\n | 'SpeakToConcierge'\n | 'Retirement'\n | 'Payroll'\n | 'ScreenShare'\n | 'Webinar'\n | 'WebinarMultilingual'\n | 'Legal'\n | 'IdentityProtection'\n | 'PetInsurance'\n | 'AutoInsurance'\n | 'BoatInsurance'\n | 'Forms'\n | 'HomeInsurance'\n | 'LifeInsurance';\n\nexport enum EMobileAppLinkTypeEnums {\n INSTRUCTIONS = 'Instructions',\n CALENDAR = 'Calendar',\n TALK_TO_ADVISOR = 'TalkToAdvisor',\n BENEFITS_INFO = 'BenefitsInfo',\n BENEFITS_INFO_MULTILINGUAL = 'BenefitsInfoMultilingual',\n MEDIA = 'Media',\n MEDIA_MULTILINGUAL = 'MediaMultilingual',\n CHAT = 'Chat',\n FIND_A_DOCTOR = 'FindADoctor',\n ENROLL_In_BENEFITS = 'EnrollInBenefits',\n ENROLL_In_BENEFITS_MULTILINGUAL = 'EnrollInBenefitsMultilingual',\n VIRTUAL_DOCTOR_VISIT = 'VirtualDoctorVisit',\n PRESCRIPTION_DISCOUNTS = 'PrescriptionDiscounts',\n WELLNESS_INCENTIVES = 'WellnessIncentives',\n MENTAL_HEALTH = 'MentalHealth',\n SPEAK_TO_CONCIERGE = 'SpeakToConcierge',\n RETIREMENT = 'Retirement',\n PAYROLL = 'Payroll',\n SCREEN_SHARE = 'ScreenShare',\n WEBINAR = 'Webinar',\n WEBINAR_MULTILINGUAL = 'WebinarMultilingual',\n LEGAL = 'Legal',\n IDENTITY_PROTECTION = 'IdentityProtection',\n PET_INSURANCE = 'PetInsurance',\n AUTO_INSURANCE = 'AutoInsurance',\n BOAT_INSURANCE = 'BoatInsurance',\n FORMS = 'Forms',\n HOME_INSURANCE = 'HomeInsurance',\n LIFE_INSURANCE = 'LifeInsurance'\n}\n\nexport interface IMobileAppLink {\n businessClientMobileAppLinkId?: number;\n enabled: boolean;\n link: string;\n type: mobileAppLinkTypes;\n name: string | null;\n}\n\nexport const instructionsForDownloadAppLinkOptions: IMobileAppLink[] = [\n { enabled: false, link: 'https://enrollmentalliance.com/', type: EMobileAppLinkTypeEnums.INSTRUCTIONS, name: 'Add app to Home Screen' }\n];\n\nexport const sharedAppLinkOptions: IMobileAppLink[] = [\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.AUTO_INSURANCE, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.BOAT_INSURANCE, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.FORMS, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.HOME_INSURANCE, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.LIFE_INSURANCE, name: '' },\n];\n\n// this was created to possible handle some clients that saved their link options, but were missing FIND_A_DOCTOR\nexport const multilingualAppLinkOptions: IMobileAppLink[] = [\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.BENEFITS_INFO_MULTILINGUAL, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.MEDIA_MULTILINGUAL, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.WEBINAR_MULTILINGUAL, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.ENROLL_In_BENEFITS_MULTILINGUAL, name: '' }\n];\nexport const missingMobileAppLinkOptions: IMobileAppLink[] = [\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.RETIREMENT, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.PAYROLL, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.SCREEN_SHARE, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.WEBINAR, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.LEGAL, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.IDENTITY_PROTECTION, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.PET_INSURANCE, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.FIND_A_DOCTOR, name: '' },\n ...multilingualAppLinkOptions,\n ...instructionsForDownloadAppLinkOptions\n];\n\nexport const extraMobileAppLinkOptions: IMobileAppLink[] = [\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.RETIREMENT, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.PAYROLL, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.SCREEN_SHARE, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.WEBINAR, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.LEGAL, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.IDENTITY_PROTECTION, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.PET_INSURANCE, name: '' },\n ...multilingualAppLinkOptions,\n ...instructionsForDownloadAppLinkOptions\n];\n\nexport const newMobileAppLinkOptions: IMobileAppLink[] = [\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.ENROLL_In_BENEFITS, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.VIRTUAL_DOCTOR_VISIT, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.PRESCRIPTION_DISCOUNTS, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.WELLNESS_INCENTIVES, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.MENTAL_HEALTH, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.SPEAK_TO_CONCIERGE, name: '' },\n ...extraMobileAppLinkOptions,\n ...instructionsForDownloadAppLinkOptions\n];\n\nexport const mobileAppLinkOptions: IMobileAppLink[] = [\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.CALENDAR, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.BENEFITS_INFO, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.TALK_TO_ADVISOR, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.MEDIA, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.CHAT, name: '' },\n { enabled: false, link: '', type: EMobileAppLinkTypeEnums.FIND_A_DOCTOR, name: '' },\n ...newMobileAppLinkOptions,\n ...instructionsForDownloadAppLinkOptions\n];\n\n\n// Had to add incase doubled links got through\nconst makeLinksDistinct = (array, property = 'type') => array.filter((value, index, self) => index === self.findIndex(t => t[property] === value[property]));\n\nexport const getDefaultLinks = (currentLinks: IMobileAppLink[]) => {\n // // Add instructions no matter what\n // currentLinks = makeLinksDistinct([...currentLinks, ...instructionsForDownloadAppLinkOptions]);\n // this check is for possible some clients missing one of the options (11) and saved their selections with one less option\n if (currentLinks.length === 11) {\n return makeLinksDistinct([...currentLinks, ...missingMobileAppLinkOptions, ...sharedAppLinkOptions]);\n }\n // this check is for when a client has all of the latest options (12) except the most recent icons\n if (currentLinks.length === 12) {\n return makeLinksDistinct([...currentLinks, ...extraMobileAppLinkOptions, ...sharedAppLinkOptions]);\n }\n // this check is for when a client has all of the latest options (6) except the most recent icons\n if (currentLinks.length === 6) {\n return makeLinksDistinct([...currentLinks, ...newMobileAppLinkOptions, ...sharedAppLinkOptions]);\n }\n // use the client options if they have already saved all of the latest options to the API\n if (currentLinks.length > 12) {\n return makeLinksDistinct([...currentLinks, ...instructionsForDownloadAppLinkOptions, ...sharedAppLinkOptions]);\n }\n\n // return all of the static default options for brand new clients\n // Adding Multilingual options and making them distinct\n return makeLinksDistinct([...mobileAppLinkOptions, ...sharedAppLinkOptions]);\n};\n\nexport interface ITargetDate {\n targetDate: string;\n projectType: string;\n censusDate: string;\n essentialDocsDate: string;\n productOverviewDate: string;\n enrollmentOverviewDate: string;\n hrOverviewDate: string;\n communicationOverviewDate: string;\n}\n\nexport interface IEnrollmentBuilderDashboard {\n businessClientId: number;\n name: string | null;\n enrollmentStart: string | null;\n enrollmentEnd: string | null;\n targetDates: ITargetDate;\n buildSteps: IBuildStep[];\n}\n","export interface IBroker {\n brokerId: number;\n name: string;\n logoUrl?: string;\n}\n\nexport interface IBrokerRes {\n records: IBroker[];\n totalRecordCount: number;\n}\n\nexport interface IBrokerPost {\n name: string;\n logoUrl?: string;\n}\n\nexport interface IBrokerPut {\n name: string;\n logoUrl?: string;\n}\n\nexport type BrokerDashboardStatus = 'OpenEnrollment' | 'NewHire' | 'All';\nexport enum EBrokerDashboardStatus {\n OPEN_ENROLLMENT = 'OpenEnrollment',\n NEW_HIRE = 'NewHire',\n ALL = 'All'\n}\n\nexport interface IBrokerDashboardEmployeeCount {\n status: string;\n count: number;\n}\n\nexport interface IBrokerDashboard {\n businessClientId: number;\n name: string;\n logoUrl: string;\n isOpenEnrollment: boolean;\n openEnrollmentStartDate: string;\n openEnrollmentEffectiveDate: string;\n enrollmentDeadline: string;\n employeeStatusCounts: IBrokerDashboardEmployeeCount[];\n}\n\nexport interface IBrokerDashboardRes {\n totalRecordCount: number;\n records: IBrokerDashboard[];\n}\n","import React, { createContext, FC, useState } from 'react';\nimport { SortOptions, ASC_SORT } from '../models';\n\ninterface IManageBusinessClientCtx {\n selectedSort: string;\n setSelectedSort: (val: string) => void;\n searchValue: string;\n setSearchValue: (val: string) => void;\n sortDirection: {\n Name?: SortOptions;\n Broker?: SortOptions;\n };\n setSortDirection: (val: { Name?: SortOptions; Broker?: SortOptions }) => void;\n}\n\nexport const ManageBusinessClientCtx = createContext({\n selectedSort: 'Name',\n setSelectedSort: () => {},\n searchValue: '',\n setSearchValue: () => {},\n sortDirection: {},\n setSortDirection: () => {}\n});\n\ninterface IManageBusinessClientCtxHandlerProps {}\n\nexport const ManageBusinessClientCtxHandler: FC = ({ children }): JSX.Element => {\n const [sortDirection, setSortDirection] = useState<{\n Name?: SortOptions;\n Broker?: SortOptions;\n }>({\n Name: ASC_SORT\n });\n const [selectedSort, setSelectedSort] = useState('Name');\n const [searchValue, setSearchValue] = useState('');\n\n return (\n \n {children}\n \n );\n};\n","import React, { createContext, FC, useEffect, useState } from 'react';\nimport { getLocalStorage, setLocalStorage } from '../helpers';\n// helpers\n\ninterface ITimeZoneContext {\n setTimeZone: (timezone: string) => void;\n timeZone: string;\n}\n\nexport const TimeZoneContext = createContext({ setTimeZone: () => {}, timeZone: undefined });\n\ninterface ITimeZoneContextHandlerProps {}\n\nexport const TimeZoneContextHandler: FC = ({ children }): JSX.Element => {\n const [timeZone, setTimeZone] = useState('America/New_York');\n useEffect(() => {\n getLocalStorage('timezone')\n .then(data => {\n if (data) {\n setTimeZone(data);\n } else {\n setTimeZone('America/New_York');\n }\n })\n .catch(err => {\n console.log('Error', err);\n setTimeZone('America/New_York');\n });\n }, []);\n\n useEffect(() => {\n setLocalStorage('timezone', timeZone);\n }, [timeZone]);\n\n return {children};\n};\n","import React, { FC, useState, useEffect, useContext } from 'react';\nimport { Theme, darken } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport { Link as MLink, useHistory } from 'react-router-dom';\nimport clsx from 'clsx';\n// Components\nimport { Button, Drawer, Divider, List, ListItem, ListItemText, ListItemIcon, TextField, MenuItem } from '@mui/material';\n// icons\nimport { Close, Menu, HomeOutlined, ExitToAppOutlined } from '@mui/icons-material';\n// helpers\nimport { userLogout } from '../../helpers';\n// context\nimport { UserContext } from '../../context';\n// models\nimport { ILoginUser } from '../../models';\nimport { TimeZoneContext } from '../../context/timezone';\n\ninterface IMobileDrawer {\n user: ILoginUser;\n}\n\nexport const MobileDrawer: FC = ({ user }) => {\n const classes = useStyles();\n\n const [isDrawerOpen, setDrawerOpen] = useState(false);\n\n const toggleDrawer = isOpen => event => {\n if (event.type === 'keydown' && (event.key === 'Tab' || event.key === 'Shift')) {\n return;\n }\n\n setDrawerOpen(isOpen);\n };\n\n const isDesktop = useMediaQuery('(min-width: 768px)');\n\n // close the drawer if the menu gets resized into desktop view\n useEffect(() => {\n if (isDesktop && isDrawerOpen) {\n setDrawerOpen(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isDesktop]);\n\n const history = useHistory();\n const { setUser } = useContext(UserContext);\n\n const { timeZone, setTimeZone } = useContext(TimeZoneContext);\n\n const timeZones = [\n { name: 'EST', tzName: 'America/New_York' },\n { name: 'CST', tzName: 'America/Chicago' },\n { name: 'MST', tzName: 'America/Phoenix' },\n { name: 'PST', tzName: 'America/Los_Angeles' }\n ];\n return (\n \n
\n
\n \n
\n {\n setTimeZone(e.target.value);\n }}\n name={`timeZoneMobile`}\n id={`timeZoneMobile`}\n label='Time Zone'\n size='small'\n value={timeZone}\n >\n {timeZones.map((timezone, index) => {\n return (\n \n );\n })}\n \n
\n
} color='primary' onClick={toggleDrawer(false)}>\n Close\n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n {\n await userLogout();\n setUser(null);\n history.push('/login');\n }}\n >\n \n \n \n \n \n
\n
\n \n
\n );\n};\n\nconst useStyles = makeStyles((theme: Theme) => ({\n mobileWrapper: {\n display: 'block',\n '@media (min-width: 912px)': {\n display: 'none'\n }\n },\n menuButton: {\n height: 78,\n borderRadius: 0,\n boxShadow: 'none',\n color: theme.palette.background.paper,\n fontSize: theme.spacing(1),\n padding: theme.spacing(1, 1.5),\n fontWeight: 100,\n textTransform: 'uppercase',\n '&:hover': {\n backgroundColor: darken(theme.palette.primary.main, 0.3)\n },\n '&.active': {\n backgroundColor: darken(theme.palette.primary.main, 0.3)\n },\n '@media (min-width: 912px)': {\n height: 118\n }\n },\n mobileMenuButton: {\n backgroundColor: '#262626'\n },\n drawerList: {\n padding: theme.spacing(0.5),\n width: 300\n },\n drawerMobileListItem: {\n textTransform: 'uppercase',\n '&& .MuiListItemText-primary': {\n fontSize: theme.spacing(1),\n letterSpacing: theme.spacing(0.2)\n }\n },\n drawerLink: {\n color: theme.palette.primary.main,\n textDecoration: 'none',\n '&.active': {\n color: darken(theme.palette.primary.main, 0.3)\n }\n },\n tzDropdownContainer: {\n marginTop: theme.spacing(0.5),\n width: '7rem'\n },\n tzDropdown: {\n backgroundColor: theme.palette.common.white\n },\n drawerCloseButton: {\n display: 'flex',\n justifyContent: 'space-between',\n\n padding: theme.spacing(0.5)\n },\n listItemIcon: {\n minWidth: theme.spacing(2)\n }\n}));\n","import React, { FC, useContext } from 'react';\nimport { Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { useLocation, Link as MLink, useHistory } from 'react-router-dom';\nimport clsx from 'clsx';\n// Components\nimport { AppBar, Button, Grid, Divider, MenuItem, Menu, MenuList } from '@mui/material';\nimport { Logo } from './Logo';\nimport { BrokerLogo } from './BrokerLogo';\nimport { Link } from '../link';\nimport { MobileDrawer } from './MobileDrawer';\n// Icons\nimport { HomeOutlined, ExitToAppOutlined, ArrowDownward, ArrowUpward } from '@mui/icons-material';\nimport { userLogout } from '../../helpers';\n// context\nimport { UserContext } from '../../context';\nimport { TimeZoneContext } from '../../context/timezone';\n\nexport const Header: FC = () => {\n const { pathname } = useLocation();\n const history = useHistory();\n\n const classes = useStyles();\n\n const { setUser, user } = useContext(UserContext);\n const { timeZone, setTimeZone } = useContext(TimeZoneContext);\n\n const [anchorEl, setAnchorEl] = React.useState(null);\n const open = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const timeZones = [\n { name: 'EST', tzName: 'America/New_York' },\n { name: 'CST', tzName: 'America/Chicago' },\n { name: 'MST', tzName: 'America/Phoenix' },\n { name: 'PST', tzName: 'America/Los_Angeles' }\n ];\n\n return (\n <>\n \n \n \n
\n \n \n {user && user.brokerLogo && (\n <>\n
\n
\n \n \n >\n )}\n
\n\n \n
\n
:
}\n className={clsx(classes.menuButton)}\n id='timeZone-button'\n aria-controls={open ? 'time-zone-menu' : undefined}\n aria-haspopup='true'\n aria-expanded={open ? 'true' : undefined}\n onClick={handleClick}\n >\n {/* The Default is EST */}\n {timeZone ? `Time Zone: ${timeZones.filter(tz => tz.tzName === timeZone)[0].name}` : `Time Zone: EST`}\n \n \n
\n
\n
} className={clsx(classes.menuButton, pathname === '/' && 'active')}>\n Home\n \n \n
\n
\n \n \n \n >\n );\n};\n\nconst useStyles = makeStyles((theme: Theme) => ({\n topHeader: {\n height: 78,\n boxShadow: '0px 2px 7.2px 0px rgba(0, 0, 0, 0.1)',\n '@media (min-width: 912px)': {\n height: 100\n },\n backgroundColor: '#262626'\n },\n logo: {\n marginTop: 5,\n marginRight: 16,\n marginLeft: 8\n },\n brokerLogo: {\n paddingLeft: theme.spacing(1),\n width: 'auto',\n maxWidth: 90,\n height: 'auto',\n maxHeight: 64\n },\n appBarGrid: {\n height: '100%',\n paddingLeft: theme.spacing(0.5),\n '@media (min-width: 912px)': {\n paddingLeft: 0\n }\n },\n menuOptionsWrapper: {\n alignItems: 'center',\n display: 'none',\n '@media (min-width: 912px)': {\n display: 'flex'\n }\n },\n tzMenuItem: {\n fontSize: theme.spacing(1.25)\n },\n tzDropdownContainer: {},\n tzDropdown: {\n backgroundColor: theme.palette.common.white\n },\n logosWrapper: {\n alignItems: 'center',\n display: 'flex'\n },\n mobileDrawer: {\n alignItems: 'left'\n },\n divider: {\n backgroundColor: theme.palette.grey[700]\n },\n menuButton: {\n height: 78,\n borderRadius: 0,\n boxShadow: 'none',\n letterSpacing: theme.spacing(0.2),\n color: theme.palette.background.paper,\n fontSize: theme.spacing(1.25),\n padding: theme.spacing(1, 0.75),\n fontWeight: 100,\n textTransform: 'uppercase',\n borderBottom: '4px solid #262626',\n '&:hover': {\n color: theme.palette.primary.light,\n borderBottom: `4px solid ${theme.palette.primary.light}`\n },\n '&.active': {\n color: theme.palette.primary.main,\n borderBottom: `4px solid ${theme.palette.primary.main}`\n },\n '@media (min-width: 912px)': {\n height: 99,\n padding: theme.spacing(1, 1.5)\n }\n },\n brokerLogoLink: {\n lineHeight: 0\n }\n}));\n","import React from 'react';\nimport { useLocation } from 'react-router-dom';\nimport makeStyles from '@mui/styles/makeStyles';\nimport clsx from 'clsx';\n// Components\nimport { Button, Grid } from '@mui/material';\nimport { Link } from '../link';\n// Icons\nimport { Home, SupervisorAccount, LocationCity, Work } from '@mui/icons-material';\n\nexport const AdminMenu = () => {\n const classes = useStyles();\n const { pathname } = useLocation();\n\n return (\n \n
\n \n \n } className={clsx(classes.adminMenuButton, pathname === '/' && 'active')}>\n Home\n \n \n \n } className={clsx(classes.adminMenuButton, pathname === '/manage-users' && 'active')}>\n Manage Users\n \n \n \n } className={clsx(classes.adminMenuButton, pathname === '/manage-brokers' && 'active')}>\n Manage Brokers\n \n \n \n } className={clsx(classes.adminMenuButton, pathname.includes('/manage-business-clients') && 'active')}>\n Manage Business Clients\n \n \n
\n \n
\n );\n};\n\nconst useStyles = makeStyles(theme => ({\n adminNavigation: {\n width: 100,\n display: 'block',\n borderRight: '1px solid'\n },\n adminMenuButton: {\n width: '100%',\n padding: `${theme.spacing(2)} 4px`,\n display: 'flex',\n flexDirection: 'column',\n textTransform: 'initial',\n color: '#000',\n lineHeight: 1.25,\n '& > span': {\n margin: 0\n },\n '&.active': {\n color: theme.palette.primary.main,\n borderRight: `4px solid ${theme.palette.primary.main}`\n }\n }\n}));\n","import React, { useEffect, useState, FC, useContext } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport makeStyles from '@mui/styles/makeStyles';\n// Components\nimport { Header } from './Header';\nimport { Footer } from './Footer';\nimport { AdminMenu } from './AdminMenu';\nimport { SwipeableDrawer, Fab } from '@mui/material';\n// Icons\nimport { Settings } from '@mui/icons-material';\n// context\nimport { UserContext } from '../../context';\nimport { EUserRoles } from '../../models';\n\ninterface IPage {\n children: any;\n title: string;\n}\n\nexport const Page: FC = ({ children, title }) => {\n const classes = useStyles();\n const { pathname } = useLocation();\n const renderTitle = `${title} | Enrollment Alliance`;\n const [isMobileAdminMenuOpen, setIsMobileAdminMenuOpen] = useState(false);\n\n useEffect(() => {\n document.title = renderTitle;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pathname, title]);\n\n const { user } = useContext(UserContext);\n\n const isAdmin = user && user.roles.includes(EUserRoles.ADMIN);\n return (\n <>\n \n \n {isAdmin && (\n <>\n
\n
\n
setIsMobileAdminMenuOpen(!isMobileAdminMenuOpen)} size='small' className={classes.mobileAdminMenuButton} color='primary' aria-label='admin-menu'>\n \n \n
setIsMobileAdminMenuOpen(false)} onOpen={() => setIsMobileAdminMenuOpen(true)}>\n \n \n
\n >\n )}\n
{children}
\n
\n \n >\n );\n};\n\nconst useStyles = makeStyles(theme => ({\n mainContent: {\n minHeight: `calc(100vh - 168px)`,\n '@media (min-width: 676px)': {\n minHeight: `calc(100vh - 183px)`\n },\n display: 'flex'\n },\n contentArea: {\n flexGrow: 1,\n padding: theme.spacing(1.8, 1, 1, 1.8),\n maxWidth: '100%',\n\n '@media (max-width: 960px)': {\n padding: theme.spacing(1),\n },\n\n display: 'flex',\n flexDirection: 'column'\n },\n mobileAdminMenuButton: {\n position: 'fixed',\n top: theme.spacing(5.5),\n right: theme.spacing(0.5),\n zIndex: 2,\n '@media (min-width: 676px)': {\n top: theme.spacing(7)\n }\n },\n adminMenuWrapper: {\n display: 'none',\n '@media (min-width: 960px)': {\n display: 'inherit'\n }\n },\n adminMenuWrapperWithCog: {\n display: 'inherit',\n '@media (min-width: 960px)': {\n display: 'none'\n }\n }\n}));\n","import React, { FC } from 'react';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { Grid, Divider, Typography } from '@mui/material';\n\ninterface IPageTitle {\n title: string;\n showDivider?: boolean;\n additionalHeaderContent?: JSX.Element;\n}\n\nexport const PageTitle: FC = ({ title, showDivider = true, additionalHeaderContent }) => {\n const classes = useStyles();\n return (\n <>\n \n \n {title}\n \n {additionalHeaderContent}\n \n {showDivider && }\n >\n );\n};\n\nconst useStyles = makeStyles(theme => ({\n heading: {\n lineHeight: 1.2,\n marginBottom: theme.spacing(1),\n color: theme.palette.primary.main,\n textAlign: 'center',\n fontSize: 30,\n [theme.breakpoints.up('sm')]: {\n fontSize: 36,\n textAlign: 'left'\n }\n },\n topWrapper: {\n marginBottom: theme.spacing(0.5),\n justifyContent: 'center',\n flexDirection: 'column',\n [theme.breakpoints.up('sm')]: {\n justifyContent: 'flex-start',\n flexDirection: 'row'\n }\n },\n divider: {\n marginBottom: theme.spacing(1)\n }\n}));\n","import React, { useContext } from 'react';\nimport { Route, Redirect, useLocation } from 'react-router-dom';\nimport { UserContext } from '../../context';\n\n// A wrapper for that redirects to the login\n// screen if you're not yet authenticated.\nexport const PrivateRoute = props => {\n const { user, isFetching } = useContext(UserContext);\n\n const location = useLocation();\n\n if (isFetching) {\n return null;\n }\n\n if (!user && !isFetching) {\n return (\n \n );\n }\n\n return ;\n};\n","import React, { useContext } from 'react';\nimport { Route, Redirect, useLocation } from 'react-router-dom';\n// context\nimport { UserContext } from '../../context';\n// models\nimport { EUserRoles } from '../../models';\n\nexport const AdminRoute = props => {\n const { user, isFetching } = useContext(UserContext);\n\n const location = useLocation();\n\n if (isFetching) {\n return null;\n }\n\n if (!user && !isFetching) {\n return (\n \n );\n }\n\n if (user && !isFetching && !user.roles.includes(EUserRoles.ADMIN)) {\n return (\n \n );\n }\n\n return ;\n};\n","import { ExpandMore } from '@mui/icons-material';\nimport React, { FC } from 'react';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { Accordion as MuiAccordion, AccordionDetails as MuiAccordionDetails, AccordionSummary as MuiAccordionSummary, Box, Theme, Typography } from '@mui/material';\n\ninterface IAccordionProps {\n title: string | JSX.Element;\n defaultExpanded?: boolean;\n component?: 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p';\n variant?: 'inherit' | 'button' | 'overline' | 'caption' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'subtitle1' | 'subtitle2' | 'body1' | 'body2';\n hasRequiredFields?: boolean;\n hasErrors?: boolean;\n}\n\nexport const Accordion: FC = ({ title, children, defaultExpanded, component = 'p', variant = 'inherit', hasRequiredFields, hasErrors }) => {\n const classes = useStyles();\n return (\n \n } aria-controls={`${title}-content`} id={`${title}-content`}>\n \n theme.palette.error.main : 'inherit' }}>\n {title}\n {hasRequiredFields && ' *'}\n \n \n \n {children}\n \n );\n};\n\nconst useStyles = makeStyles((theme: Theme) => ({\n root: {\n maxWidth: '100%',\n border: `1px solid ${theme.palette.grey[300]}`,\n '&:focus': {\n border: '1px dashed red'\n }\n },\n accordion: {\n padding: '0 16px',\n '&& .MuiAccordionSummary-expandIcon': {\n padding: 3\n }\n },\n boldName: {\n color: theme.palette.primary.main,\n fontWeight: 600\n },\n details: {\n display: 'flex',\n flexDirection: 'column',\n padding: '16px',\n borderTop: `1px solid ${theme.palette.grey[300]}`\n }\n}));\n","import React, { FC } from 'react';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport FirstPageIcon from '@mui/icons-material/FirstPage';\nimport IconButton from '@mui/material/IconButton';\nimport KeyboardArrowLeft from '@mui/icons-material/KeyboardArrowLeft';\nimport KeyboardArrowRight from '@mui/icons-material/KeyboardArrowRight';\nimport LastPageIcon from '@mui/icons-material/LastPage';\nimport { useTheme } from '@mui/material/styles';\n\nimport makeStyles from '@mui/styles/makeStyles';\n\ninterface IPaginationActionsProps {\n count: number;\n page: number;\n rowsPerPage: number;\n onPageChange: (event: React.MouseEvent | null, page: number) => void;\n}\n\nexport const TablePaginationActions: FC = ({ count, page, rowsPerPage, onPageChange }) => {\n const classes = useStyles();\n const theme = useTheme();\n const isDesktop = useMediaQuery('(min-width: 960px)');\n\n const handleFirstPageButtonClick = () => {\n onPageChange(null, 0);\n };\n\n const handleBackButtonClick = () => {\n onPageChange(null, page - 1);\n };\n\n const handleNextButtonClick = () => {\n onPageChange(null, page + 1);\n };\n\n const handleLastPageButtonClick = () => {\n onPageChange(null, Math.max(0, Math.ceil(count / rowsPerPage) - 1));\n };\n\n return (\n \n {isDesktop && (\n \n {theme.direction === 'rtl' ? : }\n \n )}\n \n {theme.direction === 'rtl' ? : }\n \n = Math.ceil(count / rowsPerPage) - 1} aria-label='next page' size='large'>\n {theme.direction === 'rtl' ? : }\n \n {isDesktop && (\n = Math.ceil(count / rowsPerPage) - 1} aria-label='last page' size='large'>\n {theme.direction === 'rtl' ? : }\n \n )}\n
\n );\n};\n\nconst useStyles = makeStyles(theme => ({\n root: {\n flexShrink: 0,\n [theme.breakpoints.up('md')]: {\n marginLeft: theme.spacing(2.5)\n }\n },\n button: {\n [theme.breakpoints.down('lg')]: {\n padding: 0\n }\n }\n}));\n","import React, { FC } from 'react';\nimport { Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport TablePagination from '@mui/material/TablePagination';\nimport { TablePaginationActions } from './TablePaginationActions';\n\ninterface IPaginationProps {\n labelRowsPerPage?: string;\n rowsPerPageOptions?: number[] | { label: string; value: number }[] | any;\n count: number;\n rowsPerPage: number;\n page: number;\n setPage: (newPage: number) => void;\n setRowsPerPage: (val: number) => void;\n}\n\nexport const Pagination: FC = ({ labelRowsPerPage, rowsPerPageOptions, count, rowsPerPage, page, setPage, setRowsPerPage }) => {\n const classes = paginationStyles();\n return (\n setPage(newPage)}\n onRowsPerPageChange={(e: React.ChangeEvent) => {\n setPage(0);\n setRowsPerPage(parseInt(e.target.value, 10));\n }}\n ActionsComponent={TablePaginationActions}\n />\n );\n};\n\nconst paginationStyles = makeStyles((theme: Theme) => ({\n paginationRoot: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n '&& .MuiTablePagination-selectRoot': {\n marginLeft: 0,\n marginRight: '5px'\n },\n '&& .MuiToolbar-gutters': {\n paddingLeft: 0\n },\n '&& .MuiTablePagination-actions': {\n marginLeft: 0\n },\n [theme.breakpoints.up('md')]: {\n '&& .MuiTablePagination-selectRoot': {\n marginLeft: '8px',\n marginRight: '32px'\n },\n '&& .MuiToolbar-gutters': {\n paddingLeft: 0\n },\n '&& .MuiTablePagination-actions': {\n marginLeft: '20px'\n }\n }\n }\n}));\n","import React, { FC, useEffect } from 'react';\nimport { Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport isFunction from 'lodash/isFunction';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport clsx from 'clsx';\n// Components`\nimport { TableBody, TableCell, TableContainer, TableHead, TableRow, TableSortLabel, Typography, Grid, Table as MaUTable } from '@mui/material';\nimport { useGlobalFilter, usePagination, useRowSelect, useSortBy, useTable, Column, Row } from 'react-table';\nimport Skeleton from '@mui/material/Skeleton';\nimport { Pagination } from './Pagination';\n\nexport interface ITableColumn extends Column {\n id?: string;\n Header: string;\n accessor?: (() => string | number) | ((item: unknown) => string | number) | string;\n canFilter?: boolean;\n className?: string;\n sort?: boolean;\n isServerSorted?: boolean;\n isServerSortedDesc?: boolean;\n handleClickColumn?: (columnId: any) => void;\n hideLoad?: boolean;\n overrideWidth?: number;\n filterType?: 'input' | 'autocomplete';\n isDate?: boolean;\n isNumber?: boolean;\n isRate?: boolean;\n title?: string;\n}\n\ninterface ITableProps {\n data: any[];\n columns: ITableColumn[];\n noResultsText?: string;\n isLoading?: boolean;\n rowOnClick?: (e, val?: any) => void;\n hideDeleted?: boolean;\n cellClasses?: any;\n rowClasses?: any;\n useTableProps?: { [key: string]: any };\n hidePagination?: boolean;\n stickyHeader?: boolean;\n ResponsiveComponent?: FC;\n ResponsiveComponentLoader?: FC;\n containerClasses?: string;\n tableSize?: 'medium' | 'small' | undefined;\n onRowsPerPageChange?: (rows: number) => void;\n LoadMoreComponent?: FC;\n mobileProps?: any;\n hover?: boolean;\n}\n\nexport const Table: FC = ({\n columns,\n data,\n isLoading,\n noResultsText = 'No Results',\n hideDeleted,\n cellClasses = '',\n rowClasses,\n useTableProps = {},\n hidePagination,\n stickyHeader = false,\n rowOnClick,\n ResponsiveComponent,\n containerClasses = '',\n ResponsiveComponentLoader,\n tableSize = 'medium',\n onRowsPerPageChange,\n LoadMoreComponent,\n mobileProps,\n hover = false\n}) => {\n const {\n getTableProps,\n headerGroups,\n prepareRow,\n page,\n gotoPage,\n setPageSize,\n state: { pageIndex, pageSize }\n } = useTable(\n {\n columns,\n data,\n userPageCount: 1, // ignored if manualPagination is false\n manualPagination: hidePagination,\n autoResetPage: isLoading, // reset page when loading\n autoResetSortBy: isLoading, // reset sort when loading\n ...useTableProps\n },\n useGlobalFilter,\n useSortBy,\n usePagination,\n useRowSelect\n );\n\n const handleChangePage = (page: number) => {\n gotoPage(page);\n };\n\n const handleChangeRowsPerPage = (value: number) => {\n setPageSize(value);\n if (onRowsPerPageChange) {\n onRowsPerPageChange(value);\n }\n };\n\n // update page size if we hide pagination\n useEffect(() => {\n if (hidePagination && Array.isArray(data)) {\n setPageSize(Number(data.length));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data]);\n // always start on first page if data length changes, ie; filter was applied\n useEffect(() => {\n handleChangePage(0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data.length]);\n\n const classes = useStyles();\n const isDesktop = useMediaQuery('(min-width: 960px)');\n\n const getCellStyle = (column: ITableColumn, type: 'header' | 'cell') => {\n let style: any = { cursor: 'inherit' };\n\n if (column.isDate) {\n style = {\n ...style,\n textAlign: 'center'\n };\n } else if (column.isNumber) {\n style = {\n ...style,\n textAlign: 'right',\n paddingRight: '3rem'\n };\n } else if (column.isRate) {\n style = {\n ...style,\n textAlign: 'right'\n };\n }\n\n if (column.overrideWidth) {\n style = {\n ...style,\n width: column.overrideWidth,\n maxWidth: column.overrideWidth,\n wordWrap: 'break-word', // IE11\n overflowWrap: 'break-word'\n };\n }\n\n if (type === 'header') {\n style = {\n ...style,\n fontWeight: 'bold',\n cursor: column.handleClickColumn ? 'pointer' : 'inherit',\n color: '#11a5c5'\n };\n }\n\n return style;\n };\n\n return <>\n \n \n {isDesktop || !ResponsiveComponent ? (\n <>\n \n {headerGroups.map(headerGroup => (\n \n {headerGroup.headers.map(column => (\n {\n const { handleClickColumn, sort } = column as ITableColumn;\n const sortProps: any = column.getHeaderProps(column.getSortByToggleProps());\n\n // If the column is sortable and there's an onClick handler, then call it\n const { onClick } = sortProps || {};\n sort !== false && onClick && onClick(e);\n\n // Also run column click handler if passed\n handleClickColumn && handleClickColumn(column.id);\n }}\n >\n {(column as ITableColumn).sort !== false || (column as ITableColumn).isServerSorted ? (\n \n {column.render('Header')}\n \n ) : (\n column.render('Header')\n )}\n \n ))}\n \n ))}\n \n \n {isLoading\n ? new Array(pageSize || 3).fill('').map((x, j) => (\n \n {columns.map((column, i) => (\n \n {column.hideLoad ? null : }\n \n ))}\n \n ))\n : page.map((row: Row, i) => {\n prepareRow(row);\n return !hideDeleted || (hideDeleted && !(row.original as any).isDeleted) ? (\n \n rowOnClick(e, row.original) } : {})}\n >\n {row.cells.map((cell, j) => {\n return (\n \n {cell.render('Cell')}\n \n );\n })}\n \n \n ) : null;\n })}\n \n >\n ) : (\n \n {isLoading ? (\n \n \n {ResponsiveComponentLoader ? : }\n \n \n ) : (\n page.map((row, i) => {\n prepareRow(row);\n return !hideDeleted || (hideDeleted && !(row.original as any).isDeleted) ? (\n \n rowOnClick(e, row.original) } : {})}\n style={ResponsiveComponent ? { display: 'block' } : undefined}\n >\n \n \n \n \n \n ) : null;\n })\n )}\n \n )}\n \n {!isLoading && Array.isArray(data) && data.length > 0 && !hidePagination && (\n \n )}\n {!isLoading && Array.isArray(data) && data.length === 0 && (\n \n \n {noResultsText}\n \n \n )}\n\n {LoadMoreComponent && }\n \n >;\n};\n\nconst useStyles = makeStyles((theme: Theme) => ({\n noResults: {\n marginTop: '1rem'\n },\n stickyHeader: {\n flexGrow: 1,\n maxHeight: '100%'\n },\n borderNone: {\n border: 'none'\n },\n mobileTable: {\n display: 'block'\n },\n mobileCell: {\n padding: 0,\n border: 0\n },\n\n}));\n","import React, { FC } from 'react';\nimport { Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Alert from '@mui/material/Alert';\nimport Snackbar from '@mui/material/Snackbar';\nimport { SnackbarProps } from '@mui/material/Snackbar';\n\ninterface IToastProps extends SnackbarProps {\n autoHideDuration?: number | null;\n id: string;\n message: React.ReactNode | string;\n open: boolean;\n onClose: (e: React.SyntheticEvent, reason?: string) => void;\n variant: 'error' | 'info' | 'success' | 'warning';\n action?: React.ReactNode;\n}\n\nexport const Toast: FC = ({ autoHideDuration = 3000, id, message, onClose, open, variant, action, ...props }) => {\n const classes = useStyles();\n return (\n \n \n {message}\n \n \n );\n};\n\nconst useStyles = makeStyles((theme: Theme) => ({\n toast: {\n // needed so its above the footer\n bottom: theme.spacing(5)\n }\n}));\n","import React, { FC } from 'react';\nimport { SnackbarProps } from '@mui/material/Snackbar';\nimport { Toast } from './Toast';\nimport { Button } from '../../components';\n\ninterface IEmployeeWarningToastProps extends SnackbarProps {\n autoHideDuration?: number | null; // Null makes the alert sticky. Requires confirmation before it can be closed.\n message?: React.ReactNode | string;\n open: boolean;\n variant?: 'error' | 'info' | 'success' | 'warning';\n onConfirm: () => void;\n}\n\nconst defaultWarningMessage = (\n <>\n Friendly Reminder: You are attempting to add new hires with an effective date that is less than 15 days away. This creates a challenge to connect with and\n enroll employees prior to their deadline. Please double check date of hire/effective dates to ensure all employees have the correct information uploaded. THANK YOU!\n >\n);\n\nexport const EmployeeWarningToast: FC = ({\n autoHideDuration = null,\n message = defaultWarningMessage,\n open = false,\n variant = 'error',\n onConfirm,\n ...props\n}) => {\n return (\n {\n //Do Nothing\n }}\n variant={variant}\n autoHideDuration={autoHideDuration}\n action={\n \n }\n />\n );\n};\n","import React, { FC } from 'react';\nimport clsx from 'clsx';\nimport { Theme, alpha } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport createStyles from '@mui/styles/createStyles';\n// components\nimport CircularProgress from '@mui/material/CircularProgress';\nimport Typography from '@mui/material/Typography';\n// types\nimport { CircularProgressProps } from '@mui/material/CircularProgress';\n\ntype LoaderPosition = 'centered' | 'left' | 'top-center';\ntype LoaderSize = 'small' | 'medium' | 'large';\ntype LoaderType = 'fullscreen' | 'inline' | 'overlay';\ntype LoaderTopOffset = number;\n\ninterface ILoaderExtendedProps extends CircularProgressProps {\n loaderWrapperClassName?: string;\n /** 'centered' | 'left' */\n position?: LoaderPosition;\n /** number */\n topOffset?: LoaderTopOffset;\n /** 'small' | 'medium' | 'large' */\n size?: LoaderSize;\n subtitle?: string;\n title?: string;\n /** 'inline' | 'overlay' */\n type?: LoaderType;\n}\n\nexport type ILoaderProps = Omit;\n\nexport const Loader: FC = ({ children, loaderWrapperClassName, subtitle, title = 'Loading...', ...props }) => {\n const classes = useStyles(props);\n return (\n \n
\n
\n
\n {children}\n {!children && (\n <>\n \n {title}\n \n {subtitle && (\n \n {subtitle}\n \n )}\n >\n )}\n
\n
\n
\n );\n};\n\nconst useStyles = makeStyles((theme: Theme) => {\n return createStyles({\n inner: {\n alignItems: 'center',\n display: 'flex',\n flexShrink: 1,\n flexWrap: 'wrap',\n justifyContent: props => (props.position === 'top-center' ? 'center' : props.position === 'centered' ? 'center' : 'flex-start'),\n marginTop: props => props.topOffset && props.topOffset + '%',\n width: '100%'\n },\n loader: {\n alignItems: props => (props.position === 'centered' ? 'center' : 'flex-start'),\n backgroundColor: props => (props.type === 'fullscreen' || props.type === 'overlay' ? alpha(theme.palette.background.paper, 0.75) : ''),\n bottom: 0,\n display: 'flex',\n fontSize: props => (props.size === 'large' ? '1.25rem' : props.size === 'small' ? '0.875rem' : '1rem'),\n height: props => (props.position === 'centered' ? '100%' : 'auto'),\n left: 0,\n position: props => (props.type === 'fullscreen' ? 'fixed' : props.type === 'overlay' ? 'absolute' : 'static'),\n right: 0,\n top: 0,\n width: '100%',\n zIndex: theme.zIndex.tooltip + 1\n },\n progress: {\n color: theme.palette.primary.main,\n margin: theme.spacing(0, 1, 0, 0)\n },\n subtitle: {\n color: theme.palette.grey[800],\n fontSize: props => (props.size === 'large' ? '0.875rem' : props.size === 'small' ? '0.625rem' : '0.75rem'),\n margin: theme.spacing(0.25, 0, 0),\n textTransform: 'uppercase'\n },\n text: {\n maxWidth: 230 // this is needed for long subtitles (to force that text to wrap)\n },\n title: {\n color: theme.palette.primary.main,\n fontSize: props => (props.size === 'large' ? '1.25rem' : props.size === 'small' ? '0.875rem' : '1rem'),\n margin: 0\n }\n });\n});\n","import { Button as MuiButton } from '@mui/material';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { ButtonProps } from '@mui/material/Button';\nimport { Link } from 'react-router-dom';\nimport React, { forwardRef } from 'react';\n// components\nimport { Loader, ILoaderProps } from '../loader';\n\nexport interface IButtonProps extends ButtonProps {\n id: string;\n loading?: JSX.Element | string;\n LoaderProps?: ILoaderProps;\n target?: string;\n rel?: string;\n asLink?: boolean;\n to?: string;\n}\n\nexport const Button = forwardRef((props, ref) => {\n const classes = buttonStyles();\n\n const { children, color, id, loading, LoaderProps, asLink, to, ...rest } = props;\n\n return (\n \n {loading ? (\n \n {loading}\n \n ) : (\n children\n )}\n \n );\n});\n\nButton.displayName = 'Button';\n\nconst buttonStyles = makeStyles(() => {\n return {\n loader: {\n color: 'inherit'\n }\n };\n});\n","var _path, _path2;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgVideo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24 36c-1.3.8-1.5 9.8-1.8 69.4C22 173 22 174 24 176s3 2 105.8 2c99.4 0 104-.1 105.5-1.8 1.6-1.7 1.7-8 1.7-69.6 0-44.8-.4-68.4-1-69.7-1-1.9-3.3-1.9-105.8-1.9C66 35 24.9 35.4 24 36zm204 70v63H31v-62.3c0-34.3.3-62.7.7-63 .3-.4 44.7-.7 98.5-.7H228v63z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M104.6 76.6c-1.4 1.3-1.6 5.4-1.6 29.8 0 29.3.2 30.6 4.3 30.6 1 0 12.4-6.4 25.3-14.2 21.6-13 23.5-14.3 23.2-16.7-.3-2.1-3.9-4.7-23.8-16.8-12.9-7.8-24-14.2-24.7-14.3-.6 0-1.9.7-2.7 1.6zm23 20c7.9 4.7 14.6 8.9 14.9 9.4.5.8-28.8 19-30.6 19-.5 0-.9-8.3-.9-18.5 0-12.9.3-18.5 1.1-18.5.6 0 7.6 3.9 15.5 8.6zM76.5 184.4c-8.1 3.5-13.4 11.3-13.5 19.7-.1 15.6 13.4 25.8 28.2 21.5 19.8-5.7 21.1-33.2 1.9-41.2-4.2-1.7-12.6-1.8-16.6 0zm13.9 8c4.9 2.1 7.6 6.4 7.6 12.5 0 4.2-.5 5.6-3 8.5-4.4 5-9 6.3-14.6 4.1-8.3-3.2-11.8-12.7-7.2-19.5 2.5-3.8 7.9-7 11.6-7 1.2 0 3.8.6 5.6 1.4zM22 205v4h36v-8H22v4zM112 205v4h125v-8H112v4z\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgVideo);\nexport default __webpack_public_path__ + \"static/media/video.88b4ceeb.svg\";\nexport { ForwardRef as ReactComponent };","import { Typography, Button } from '@mui/material';\nimport { Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { Block, AccountCircle } from '@mui/icons-material';\nimport clsx from 'clsx';\nimport React, { FC, HTMLAttributes } from 'react';\n\ninterface IMessageProps extends HTMLAttributes {\n action?: (e: React.MouseEvent) => void;\n actionLink?: JSX.Element;\n actionText?: string;\n drawer?: boolean;\n id?: string;\n message: string;\n size?: 'small' | 'medium';\n stateType?: 'cart' | 'empty' | 'error';\n title?: string;\n icon?: 'User' | 'NotFound';\n}\n\nexport const Message: FC = props => {\n const { action, actionLink, actionText, id, icon, message, stateType = 'empty', title, ...divProps } = props;\n\n const classes = useStyles(props);\n\n return (\n \n {icon && icon === 'User' ?
:
}\n
\n {title && (\n \n {title}\n \n )}\n \n {message}\n \n {action && (\n \n )}\n {actionLink && actionLink}\n
\n
\n );\n};\n\nconst useStyles = makeStyles(theme => {\n return {\n actions: {\n maxWidth: '100%',\n textAlign: 'center',\n [theme.breakpoints.up('sm')]: {\n textAlign: 'left'\n }\n },\n state: {\n alignItems: 'center',\n display: 'flex',\n flex: '1 0 auto',\n flexDirection: 'column',\n justifyContent: 'center',\n height: '100%',\n margin: '0 auto',\n maxWidth: 700,\n padding: theme.spacing(3),\n width: '100%',\n [theme.breakpoints.up('sm')]: {\n flexDirection: 'row'\n }\n },\n icon: {\n color: props => (props.drawer ? theme.palette.grey[400] : theme.palette.text.secondary),\n display: 'block',\n fontSize: props => (props.size === 'small' ? '2.5rem' : '5rem'),\n flexShrink: 0,\n margin: '0 auto',\n [theme.breakpoints.up('sm')]: {\n fontSize: props => (props.size === 'small' ? '3.5rem' : '7rem'),\n margin: 0,\n marginRight: theme.spacing(3)\n }\n },\n message: {\n color: props => (props.drawer ? theme.palette.grey[700] : theme.palette.text.secondary),\n fontSize: props => (props.size === 'small' ? '0.875rem' : '1rem'),\n fontWeight: 400,\n lineHeight: 1.4,\n margin: theme.spacing(1.5, 0),\n [theme.breakpoints.up('sm')]: {\n fontSize: props => (props.size === 'small' ? '1rem' : '1.125rem'),\n margin: theme.spacing(0, 0, 1)\n }\n },\n title: {\n color: props => (props.drawer ? theme.palette.grey[400] : theme.palette.text.primary),\n fontSize: props => (props.size === 'small' ? '1rem' : '1.125rem'),\n fontWeight: 700,\n lineHeight: 1.2,\n margin: theme.spacing(1.5, 0, 0),\n textTransform: 'uppercase',\n [theme.breakpoints.up('sm')]: {\n fontSize: props => (props.size === 'small' ? '1.125rem' : '1.25rem'),\n margin: theme.spacing(1, 0)\n }\n }\n };\n});\n","import React, { FC } from 'react';\nimport { Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\n// components\nimport CloseIcon from '@mui/icons-material/Close';\nimport Dialog, { DialogProps } from '@mui/material/Dialog';\nimport IconButton from '@mui/material/IconButton';\nimport DialogActions from '@mui/material/DialogActions';\nimport MuiDialogTitle, { DialogTitleProps } from '@mui/material/DialogTitle';\nimport MuiDialogContent, { DialogContentProps } from '@mui/material/DialogContent';\nimport Typography from '@mui/material/Typography';\n\ninterface IModalProps extends DialogProps {\n DialogContentProps?: DialogContentProps;\n DialogTitleProps?: DialogTitleProps;\n subtitle?: string;\n title?: string;\n actions?: JSX.Element;\n noPaddingContent?: boolean;\n showClose?: boolean;\n}\n\nexport const Modal: FC = ({ DialogContentProps, DialogTitleProps, subtitle, title, actions, children, noPaddingContent, showClose = true, ...dialogProps }) => {\n const classes = modalStyles({ noPaddingContent });\n\n return (\n \n );\n};\n\nconst modalStyles = makeStyles((theme: Theme) => {\n return {\n close: {\n position: 'absolute',\n right: theme.spacing(0.25),\n top: theme.spacing(0.25),\n color: theme.palette.grey[600]\n },\n dialogContent: {\n // minHeight is to give component top and bottom space, if shown with no content to overlay\n minHeight: theme.spacing(4),\n padding: ({ noPaddingContent }) => (noPaddingContent ? 0 : theme.spacing(0.5, 1.5, 1.5))\n },\n dialogTitle: {\n margin: 0,\n padding: theme.spacing(1, 4, .8, 1.5)\n },\n subtitle: {\n color: theme.palette.secondary.main,\n fontSize: 28,\n lineHeight: 1.3,\n margin: theme.spacing(0, 0, 1)\n },\n title: {\n fontSize: 20,\n textTransform: 'uppercase'\n }\n };\n});\n","import { FC } from 'react';\nimport { Modal } from './Modal';\nimport { Fade, Typography, Box, Button } from '@mui/material';\n\ninterface IConfirmationModal {\n open: boolean;\n handleClose: (val?: string) => void;\n items?: string[];\n title: string;\n}\n\nexport const ConfirmationModal: FC = ({ open, handleClose, items, title }) => {\n return (\n {\n if (reason !== 'backdropClick' && reason !== 'escapeKeyDown') {\n handleClose();\n }\n }}\n maxWidth='xs'\n >\n \n \n
\n {title}\n \n {items && (\n
\n {items\n .flatMap(item => item)\n .map((item, index) => {\n return (\n - \n {item}\n
\n );\n })}\n
\n )}\n
\n \n \n
\n \n \n );\n};\n","import { FC } from 'react';\n// Components\nimport { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns';\nimport { LocalizationProvider } from '@mui/x-date-pickers';\nimport { DatePicker as KeyboardDatePicker, DatePickerProps } from '@mui/x-date-pickers/DatePicker';\n\nexport const DatePicker: FC> = ({ onChange, ...props }) => {\n return (\n \n {\n // we allow partial dates now, don't return the date unless\n // it is actually valid. If invalid the .getDate() method\n // will return NaN\n if (date && !isNaN(date)) {\n onChange(date);\n } else {\n onChange('');\n }\n }}\n {...props}\n />\n \n );\n};\n","import React, { FC, useState } from 'react';\nimport { Theme, useTheme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { ChromePicker, MaterialPicker, MaterialPickerProps, ColorChangeHandler } from 'react-color';\nimport { FormControl, FormLabel, InputLabel, ClickAwayListener, FormHelperText, FormControlProps, InputLabelProps, FormHelperTextProps } from '@mui/material';\ninterface IColorPickerProps {\n color: string;\n FormControlProps?: FormControlProps;\n FormHelperTextProps?: FormHelperTextProps;\n helperText?: string;\n InputLabelProps?: InputLabelProps;\n label?: string;\n MaterialPickerProps?: MaterialPickerProps;\n onChangeComplete?: ColorChangeHandler;\n disable?: boolean;\n margin?: boolean;\n}\nexport const ColorPicker: FC = ({\n color,\n FormControlProps,\n FormHelperTextProps,\n helperText,\n InputLabelProps,\n label,\n MaterialPickerProps,\n onChangeComplete,\n disable,\n margin\n}) => {\n const classes = useStyles();\n const theme = useTheme();\n const [showGradient, setShowGradient] = useState(false);\n // For more style props: https://github.com/casesandberg/react-color/blob/master/src/components/material/Material.js\n const pickerStyles = {\n default: {\n HEXlabel: { fontFamily: theme.typography.fontFamily },\n HEXinput: { fontFamily: theme.typography.fontFamily },\n RGBlabel: { fontFamily: theme.typography.fontFamily },\n RGBinput: { fontFamily: theme.typography.fontFamily }\n }\n };\n return (\n \n {label && (\n \n {label}\n \n )}\n \n
\n
\n {showGradient && (\n
{\n setShowGradient(false);\n }}\n >\n \n \n
\n \n )}\n
\n {helperText && {helperText}}\n \n );\n};\nconst useStyles = makeStyles((theme: Theme) => ({\n wrapper: {\n width: '100%'\n },\n colorPicker: {\n marginTop: theme.spacing(1),\n position: 'relative',\n maxWidth: '260px'\n },\n colorPickerInner: {\n alignItems: 'center',\n border: `1px solid ${theme.palette.grey[300]}`,\n //borderRadius: `${theme.shape.borderRadius}px`,\n //boxShadow: '0 2px 3px rgba(0,0,0,0.06)',\n display: 'flex',\n overflow: 'hidden',\n width: '100%',\n '& > div:nth-child(2)': {\n '& > div': {\n border: '0 !important',\n boxShadow: `none !important`,\n '& > .material-picker': {\n height: '130px !important',\n width: '130px !important'\n }\n }\n }\n },\n gradient: {\n backgroundColor: theme.palette.common.white,\n boxShadow: '0 2px 3px rgba(0,0,0,0.06)',\n left: theme.spacing(1),\n padding: theme.spacing(0, 1, 1, 1),\n position: 'absolute',\n top: '90%',\n zIndex: 10,\n '& > .chrome-picker': {\n boxShadow: `none !important`,\n '& > div:last-child': {\n paddingBottom: `${theme.spacing(1)} !important`,\n paddingLeft: `${theme.spacing(1)} !important`,\n paddingRight: `${theme.spacing(1)} !important`,\n '& > div:last-child': {\n display: 'none !important'\n }\n }\n },\n '&:before': {\n borderColor: `transparent transparent ${theme.palette.common.white} transparent`,\n borderStyle: 'solid',\n borderWidth: `0 ${theme.spacing(1)} ${theme.spacing(1)} ${theme.spacing(1)}`,\n content: '\"\"',\n display: 'block',\n height: 0,\n position: 'relative',\n top: theme.spacing(-1),\n width: 0,\n zIndex: 10\n }\n },\n inputLabel: {\n position: 'static',\n transform: 'none',\n color: theme.palette.primary.main\n },\n preview: {\n appearance: 'none',\n border: 0,\n borderRight: `1px solid ${theme.palette.grey[300]}`,\n cursor: 'pointer',\n height: '130px',\n margin: 0,\n padding: 0,\n width: '130px'\n },\n disabledColorPicker: {\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n width: '130px',\n height: '130px',\n float: 'right',\n alignItems: 'center',\n justifyContent: 'center',\n '&& > label': {\n display: 'block',\n marginBottom: theme.spacing(0.25),\n fontSize: '11px',\n fontWeight: 'bold'\n }\n }\n}));\n","import { axios, getUserAccessTokenCookie } from '../helpers';\nimport { IForgotPasswordPost, IResetPasswordPost, IUserRes, IUserDetail, IUserRole, IUserPost, IUserPut } from '../models';\n\nexport const getUsers = async (filters: {\n page?: number;\n perPage?: number | string;\n sortBy?: string;\n sortDirection?: string;\n role?: string;\n isActive: boolean;\n search?: string;\n}): Promise => {\n try {\n const res = await axios.get(\n `Users`,\n {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n },\n {\n ...filters,\n UserRole: filters.role\n }\n );\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getUser = async (id: string): Promise => {\n try {\n const res = await axios.get(`Users/${id}`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getUserRoles = async (): Promise => {\n try {\n const res = await axios.get(`Users/Roles`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const createUser = async (data: IUserPost) => {\n try {\n const res = await axios.post('Users', data, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const updateUser = async (id: string, data: IUserPut) => {\n try {\n const res = await axios.put(`Users/${id}`, data, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\n/**\n * Send reset link\n * @param email string\n * @returns IForgotPasswordPost\n */\nexport const sendResetLink = async (data: IForgotPasswordPost): Promise => {\n try {\n const res = await axios.post('ForgotPassword', data, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n/**\n * POST password reset\n * @param email string\n * @returns IResetPasswordPost\n */\nexport const resetPassword = async (data: IResetPasswordPost) => {\n try {\n const res = await axios.post('ResetPassword', data, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n","import { axios, setUserTokenCookies, setUserLocalStorage } from '../helpers';\nimport { ILoginPost, ILoginUser, IResetPasswordPost, IError } from '../models';\n\n/**\n * auths a user on login\n * @param data ILoginPost\n * @returns user or error\n */\nexport const login = async (data: ILoginPost): Promise => {\n try {\n const res = await axios.post('Login', data);\n\n if (res && res.data && res.data.accessToken) {\n const resMe = await axios.get('Me', {\n headers: {\n Authorization: `Bearer ${res.data.accessToken}`\n }\n });\n setUserTokenCookies(res.data.accessToken, res.data.accessTokenExpiresAt);\n setUserLocalStorage({\n ...res.data,\n ...resMe.data\n });\n return {\n ...res.data,\n ...resMe.data\n };\n }\n const error = { Detail: 'Error logging in. Please try again.', status_code: 500 };\n return Promise.reject(error);\n } catch (error) {\n console.log(error);\n return Promise.reject(error.response.data);\n }\n};\n\n/**\n * sets up a users password\n * @param data ILoginPost\n * @returns user or error\n */\nexport const setupPassword = async (data: IResetPasswordPost): Promise => {\n try {\n const res = await axios.post('ResetPassword', data);\n\n if (res && res.data && res.data.accessToken) {\n const resMe = await axios.get('Me', {\n headers: {\n Authorization: `Bearer ${res.data.accessToken}`\n }\n });\n setUserTokenCookies(res.data.accessToken, res.data.accessTokenExpiresAt);\n setUserLocalStorage({\n ...res.data,\n ...resMe.data\n });\n\n return {\n ...res.data,\n ...resMe.data\n };\n }\n const error = { Detail: 'Error logging in. Please try again.', status_code: 500 };\n return Promise.reject(error);\n } catch (error) {\n console.log(error);\n return Promise.reject(error.response.data);\n }\n};\n","import { axios, getUserAccessTokenCookie } from '../helpers';\nimport {\n IBusinessClientRes,\n IBusinessClientPost,\n IBusinessClientDetail,\n ISystemOfRecordRes,\n IDropdownResponse,\n IBusinessClientDashboard,\n IImageUploadRes,\n ITargetDate,\n IEnrollmentBuilderDashboard,\n IMedicalInsuranceOptions,\n IFinancialOptions,\n IInsuranceCoverageOptions,\n IDefaultDropdownsOptions,\n IBusinessClassOptions,\n IGeneralDropdownsOptions,\n IMinimalAddBusinessClient\n} from '../models';\n\nexport const getBusinessClients = async (filters: {\n page?: number;\n perPage: number | string;\n sortBy?: string;\n sortDirection?: string;\n search?: string;\n}): Promise => {\n try {\n const res = await axios.get(\n `BusinessClients`,\n {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n },\n filters\n );\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getBusinessClient = async (id: number): Promise => {\n try {\n const res = await axios.get(`BusinessClients/${id}`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\n//\n\nexport const createBusinessClientWithMinimalData = async (data: IMinimalAddBusinessClient) => {\n try {\n const res = await axios.post(`BusinessClients/minimal-data`, data, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const createBusinessClient = async (data: IBusinessClientPost) => {\n try {\n const res = await axios.post(`BusinessClients`, data, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const downloadBusinessClientPdf = async (id: number) => {\n try {\n const res = await axios.get(`BusinessClients/${id}/download-pdf`, {\n responseType: 'blob',\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n },\n });\n\n const blob = new Blob([res.data], { type: 'application/pdf' });\n\n // Create a URL for the blob object\n const url = window.URL.createObjectURL(blob);\n\n // Create a link element and simulate a click to trigger the download\n const link = document.createElement('a');\n link.href = url;\n link.download = 'Enrollment Overview.pdf'; // Specify the desired file name\n link.click();\n\n // Clean up by revoking the blob URL\n window.URL.revokeObjectURL(url);\n\n return true;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const updateBusinessClient = async (id: number, data: IBusinessClientPost) => {\n try {\n const res = await axios.put(`BusinessClients/${id}`, data, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const deleteBusinessClient = async (id: number) => {\n try {\n const res = await axios.delete(`BusinessClients/${id}`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getSystemOfRecords = async (filters: { page?: number; perPage?: number | string; sortBy?: string; sortDirection?: string }): Promise => {\n try {\n const res = await axios.get(\n `SystemsOfRecord`,\n {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n },\n filters\n );\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getWaitingPeriods = async (): Promise => {\n try {\n const res = await axios.get(`WaitingPeriods`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getBusinessClassOptions = async (): Promise => {\n try {\n const res = await axios.get(`BusinessClients/business-class-options`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\n\nexport const getBusinessClientDashboard = async (id: number, type?: string, newHireMinimum?: string, newHireMaximum?: string): Promise => {\n try {\n const res = await axios.get(\n `BusinessClients/${id}/Dashboard`,\n {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n },\n {\n type,\n EffectiveDateMinimum: newHireMinimum,\n EffectiveDateMaximum: newHireMaximum\n }\n );\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const storeBusinessClientCompanyLogo = async (id: number, data: FormData): Promise => {\n try {\n const res = await axios.put(`BusinessClients/${id}/logo/HomeLogo`, data, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`,\n 'Content-Type': 'multipart/form-data'\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const storeBusinessClientAppLogo = async (id: number, data: FormData): Promise => {\n try {\n const res = await axios.put(`BusinessClients/${id}/logo/AppLogo`, data, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`,\n 'Content-Type': 'multipart/form-data'\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getBusinessClientLinkTypes = async (): Promise => {\n try {\n const res = await axios.get(`BusinessClients/link-types`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getBusinessClientProjectTypes = async (): Promise => {\n try {\n const res = await axios.get(`BusinessClients/project-types`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getBusinessClientTargetDate = async (startDate: string, projectType: string): Promise => {\n try {\n const res = await axios.get(\n `BusinessClients/target-date`,\n {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n },\n {\n startDate,\n projectType\n }\n );\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\nexport const getEnrollmentBuilderDashboard = async (id: number): Promise => {\n try {\n const res = await axios.get(`BusinessClients/${id}/enrollment-builder`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getStates = async (): Promise => {\n try {\n const res = await axios.get(`BusinessClients/states`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getIndustries = async (): Promise => {\n try {\n const res = await axios.get(`BusinessClients/industries`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getIndustriesTiers = async (): Promise => {\n try {\n const res = await axios.get(`BusinessClients/industries-tiers`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getBenAdminBuildTypes = async (): Promise => {\n try {\n const res = await axios.get(`BusinessClients/ben-admin-build-types`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getEngagementPercentages = async (): Promise => {\n try {\n const res = await axios.get(`BusinessClients/engagement-percentages`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getMedicalInsuranceOptionsRequest = async (): Promise => {\n try {\n const res = await axios.get(`BusinessClients/medical-insurance-options`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getDefaultDropdownsOptionsRequest = async (): Promise => {\n try {\n const res = await axios.get(`BusinessClients/default-dropdowns-options`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getGeneralDropdownsOptionsRequest = async (): Promise => {\n try {\n const res = await axios.get(`BusinessClients/general-dropdowns-options`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\n\nexport const getFinancialOptionsRequest = async (): Promise => {\n try {\n const res = await axios.get(`BusinessClients/financial-options`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getInsuranceCoverageOptionsRequest = async (): Promise => {\n try {\n const res = await axios.get(`BusinessClients/insurance-coverage-options`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getAnticipatedSupports = async (): Promise => {\n try {\n const res = await axios.get(`BusinessClients/anticipated-supports`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getContactRoles = async (): Promise => {\n try {\n const res = await axios.get(`BusinessClients/contact-roles`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getDataFileRecipients = async (): Promise => {\n try {\n const res = await axios.get(`BusinessClients/data-file-recipients`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n","import { axios, getUserAccessTokenCookie } from '../helpers';\nimport { IBrokerRes, IBrokerPost, IBrokerPut, IBrokerDashboardRes, IImageUploadRes } from '../models';\n\nexport const getBrokers = async (filters: { page?: number; perPage?: number | string; sortBy?: string; sortDirection?: string; search?: string }): Promise => {\n try {\n const res = await axios.get(\n `Brokers`,\n {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n },\n filters\n );\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getBroker = async (BrokerId: number) => {\n try {\n const res = await axios.get(`Brokers/${BrokerId}`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.error(error);\n return error.response.data;\n }\n};\n\nexport const createBroker = async (data: IBrokerPost) => {\n try {\n const res = await axios.post(`Brokers`, data, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const updateBroker = async (id: number, data: IBrokerPut) => {\n try {\n const res = await axios.put(`Brokers/${id}`, data, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const deleteBroker = async (id: number) => {\n try {\n const res = await axios.delete(`Brokers/${id}`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getBrokersDashboard = async (params: { type: string; brokerId?: number; search?: string; page?: number; perPage?: number }): Promise => {\n try {\n const res = await axios.get(\n `brokers/dashboard`,\n {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n },\n params\n );\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const storeBrokerCompanyLogo = async (id: number, data: FormData): Promise => {\n try {\n const res = await axios.put(`Brokers/${id}/Logo`, data, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`,\n 'Content-Type': 'multipart/form-data'\n }\n });\n return res.data;\n } catch (error) {\n console.error('Error: ', error);\n return error.response.data;\n }\n};\n","import { axios, getUserAccessTokenCookie } from '../helpers';\nimport { IEmployeeRes, IEmployeeFilter, IEmployeeDetail, IEmployeePost, IEmployeePut, IEmployeeUploadProcessing } from '../models';\n\nexport const getEmployees = async (\n businessClientId: number,\n filters: {\n page?: number;\n perPage: number | string;\n sortBy?: string;\n sortDirection?: string;\n search?: string;\n schedulingStatus?: string;\n enrollmentMeetingOutcome?: string;\n postEnrollmentFollowupItem?: string;\n effectiveDateMinimum?: string;\n effectiveDateMaximum?: string;\n dashboardSchedulingStatus?: string;\n dashboardEnrollmentMeetingOutcome?: string;\n dashboardPostEnrollmentFollowupItem?: string;\n }\n): Promise => {\n try {\n const res = await axios.get(\n `BusinessClients/${businessClientId}/Employees`,\n {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n },\n filters\n );\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getEmployeesUploadProcessing = async (businessClientId: number): Promise => {\n try {\n const res = await axios.get(`BusinessClients/${businessClientId}/Employees/uploads-processing`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getSchedulingStatuses = async (parentStatus?: string): Promise => {\n try {\n const res = await axios.get(\n `Employees/SchedulingStatuses`,\n {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n },\n {\n DashboardSchedulingStatus: parentStatus\n }\n );\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getEnrollmentMeetingOutcomes = async (parentStatus?: string): Promise => {\n try {\n const res = await axios.get(\n `Employees/EnrollmentMeetingOutcomes`,\n {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n },\n {\n DashboardEnrollmentMeetingOutcome: parentStatus\n }\n );\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getFollowUpItems = async (parentStatus?: string): Promise => {\n try {\n const res = await axios.get(\n `Employees/FollowUpItems`,\n {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n },\n {\n DashboardPostEnrollmentFollowUpItem: parentStatus\n }\n );\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getEmployee = async (businessClientId: string, id: string): Promise => {\n try {\n const res = await axios.get(`BusinessClients/${businessClientId}/Employees/${id}`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const createEmployee = async (businessClientId: string, data: IEmployeePost) => {\n try {\n const res = await axios.post(`BusinessClients/${businessClientId}/Employees`, data, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n throw error.response.data;\n }\n};\n\nexport const updateEmployee = async (businessClientId: string, employeeId: number, data: IEmployeePut) => {\n try {\n const res = await axios.put(`BusinessClients/${businessClientId}/Employees/${employeeId}`, data, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n throw error.response.data;\n }\n};\n\nexport const deleteEmployee = async (businessClientId: string, employeeId: number) => {\n try {\n const res = await axios.delete(`BusinessClients/${businessClientId}/Employees/${employeeId}`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const deleteCSVFile = async (businessClientId: number,csvFileId: number) => {\n try {\n const res = await axios.delete(`BusinessClients/${businessClientId}/Employees/cancel-uploads-processing/${csvFileId}`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n console.log(error);\n return error.response.data;\n }\n};\n\nexport const getEmployeeDetailedCommunicationTimeline = async (\n businessClientId: string,\n employeeId: number,\n filters?: {\n page: number;\n perPage: number;\n }\n) => {\n try {\n const res = await axios.get(\n `BusinessClients/${businessClientId}/Employees/${employeeId}/Communications`,\n {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n },\n filters\n );\n return res.data;\n } catch (error) {\n return error.response.data;\n }\n};\n\nexport const getEmployeeTurboDialNotes = async (businessClientId: string, employeeId: number) => {\n try {\n const res = await axios.get(`/BusinessClients/${businessClientId}/Employees/${employeeId}/turbo-dial-notes`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n return error.response.data;\n }\n};\n\nexport const getEmployeeEmail = async (businessClientId: string, employeeId: number, emailId: number) => {\n try {\n const res = await axios.get(`/BusinessClients/${businessClientId}/Employees/${employeeId}/Emails/${emailId}`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n return error.response.data;\n }\n};\n\nexport const uploadEmployees = async (businessClientId: string, data: FormData, effectiveDateConfirmed: boolean) => {\n try {\n const res = await axios.put(`/BusinessClients/${businessClientId}/Employees?effectiveDateConfirmed=${effectiveDateConfirmed}`, data, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n throw error.response.data;\n }\n};\n\nexport const downloadEmployeesTemplate = async () => {\n try {\n const res = await axios.get(`/employees/upload-template`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n return error.response.data;\n }\n};\n\nexport const calculateEmployeeEffectiveDate = async (businessClientId: string, classId: string, dateOfHire: string) => {\n try {\n const res = await axios.get(\n `/BusinessClients/${businessClientId}/Employees/calculate-effective-date`,\n {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n },\n {\n ClassId: classId,\n DateOfHire: dateOfHire\n }\n );\n return res.data;\n } catch (error) {\n return error.response.data;\n }\n};\n\nexport const downloadOutcomesTemplate = async () => {\n try {\n const res = await axios.get(`/employees/outcomes/upload-template`, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n return error.response.data;\n }\n};\nexport const uploadOutcomes = async (businessClientId: string, data: FormData) => {\n try {\n const res = await axios.put(`/BusinessClients/${businessClientId}/Employees/outcomes`, data, {\n headers: {\n Authorization: `Bearer ${getUserAccessTokenCookie()}`\n }\n });\n return res.data;\n } catch (error) {\n return error.response.data;\n }\n};\n","import React, { FC, useState } from 'react';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { FormControl, TextField, Typography, Theme } from '@mui/material';\nimport ArrowBackIcon from '@mui/icons-material/ArrowBack';\nimport { Formik, FormikHelpers, Field, FieldProps, FormikProps, Form } from 'formik';\nimport * as Yup from 'yup';\nimport { Toast, Button } from '../../components';\nimport { sendResetLink } from '../../fetch';\nimport { useHistory } from 'react-router-dom';\n\ninterface IForgotPasswordProps {}\n\nconst forgotPasswordSchema = Yup.object().shape({\n email: Yup.string().email('Email is not valid').required('Required')\n});\n\ninterface IForgotPasswordValues {\n email: string;\n}\n\nexport const ForgotPasswordForm: FC = () => {\n const classes = useStyles();\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(null);\n const [success, setSuccess] = useState(null);\n const history = useHistory();\n const handleOnSubmit = () => {\n setTimeout(function () {\n history.push(`/`);\n }, 1000);\n };\n return (\n <>\n ) => {\n setLoading(true);\n try {\n const res = await sendResetLink(values);\n if (res && typeof res === 'boolean') {\n setSuccess({ message: `If you are a user that exists in our system we will send you an email.` });\n actions.resetForm({\n values: {\n email: ''\n }\n });\n } else {\n setError({ message: 'Error sending reset link, please try again.' });\n }\n } catch (error) {\n if (error && error.Detail) {\n setError({ message: error.Detail });\n } else {\n setError({ message: 'Error sending reset link, please try again.' });\n }\n const forgotEmail = document && document.getElementById('forgot-email');\n if (forgotEmail) {\n forgotEmail.focus();\n }\n } finally {\n actions.setSubmitting(false);\n setLoading(false);\n }\n }}\n validationSchema={forgotPasswordSchema}\n >\n {(formikProps: FormikProps) => {\n return (\n <>\n \n >\n );\n }}\n \n setSuccess(null)}\n onClose={() => {\n setSuccess(null);\n handleOnSubmit();\n }}\n open={success ? true : false}\n variant='success'\n />\n setError(null)}\n onClose={() => {\n setError(null);\n }}\n open={error ? true : false}\n variant='error'\n />\n >\n );\n};\n\nconst useStyles = makeStyles((theme: Theme) => {\n return {\n back: {\n textDecoration: 'none',\n textTransform: 'none',\n '&:hover': {\n textDecoration: 'underline'\n }\n },\n icon: {\n height: '15px',\n marginRight: theme.spacing(1),\n width: '15px !important'\n },\n paper: {\n maxWidth: 360\n },\n instructions: {\n marginTop: 16\n }\n };\n});\n","import React, { FC, useState, useContext } from 'react';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { FormControl, TextField, Theme } from '@mui/material';\nimport ArrowBackIcon from '@mui/icons-material/ArrowBack';\nimport { Formik, FormikHelpers, Field, FieldProps, FormikProps, Form } from 'formik';\nimport * as Yup from 'yup';\nimport { Toast, Button } from '../../components';\nimport { useHistory, useLocation, Redirect } from 'react-router-dom';\n// fetch\nimport { login, resetPassword } from '../../fetch';\n// helpers\nimport { passwordRegex } from '../../helpers';\nimport { IResetPasswordPost } from '../../models';\n// context\nimport { UserContext } from '../../context';\n\ninterface IResetPasswordProps {\n // a way to bypass the token check and still render the form like normal\n // mainly used for unit tests\n overrideToken?: any;\n}\n\nconst resetPasswordSchema = Yup.object().shape({\n confirm: Yup.string()\n .required('Required')\n .min(8, 'Password must be at least 8 characters')\n .matches(passwordRegex, {\n message: 'Invalid Password'\n })\n .oneOf([Yup.ref('password'), null], `Passwords don't match`),\n email: Yup.string().email('Invalid email').required('Required'),\n password: Yup.string().required('Required').min(8, 'Password must be at least 8 characters').matches(passwordRegex, {\n message: 'Invalid password'\n })\n});\n\ninterface IResetPasswordFormValues {\n confirm: string;\n email: string;\n password: string;\n}\n\n/**\n * Reset password should be sent at least on prop of onClose, redirect, or reload\n * @param props IResetPasswordProps\n */\nexport const ResetPasswordForm: FC = ({ overrideToken }) => {\n const classes = useStyles();\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(null);\n const [success, setSuccess] = useState(null);\n\n const { setUser } = useContext(UserContext);\n\n const history = useHistory();\n\n // Get token from URL\n const location = useLocation();\n const params = location.search;\n const tokenCode = params.split('?token=')[1]; // Remove token query string and return exact remaining from URL, don't decode\n\n // Prevent users from getting to this screen without a token in the URL\n // or someone passes in an override flag\n if (!tokenCode && !overrideToken) {\n return ;\n }\n\n const handleOnSubmit = () => {\n setTimeout(function () {\n history.push(`/`);\n }, 3000);\n };\n return (\n <>\n ) => {\n setLoading(true);\n const data: IResetPasswordPost = {\n email: values.email,\n resetPasswordToken: tokenCode,\n newPassword: values.password\n };\n\n try {\n const res: any = await resetPassword(data);\n if (!res || res.Detail || res.Errors) {\n ///reset-password?token=O1EXxWsJn5dw7twrFP11c9ON+EQoOwRg11N+a/TybT0/LEV/Yz2j2vnOUwrUp/vh54rOT19gTNQH5GncnBNTaA==\n if (res.Detail) {\n setError({ message: res.Detail });\n } else {\n setError({ message: res.Errors && res.Errors.Body && res.Errors.Body[0] });\n }\n return;\n } else if (res) {\n setSuccess({ message: `Password Reset Successfully. Logging in...` });\n } else {\n throw Error();\n }\n actions.resetForm({\n values: {\n confirm: '',\n email: '',\n password: ''\n }\n });\n\n // Log user in with new password upon password reset\n const res1: any = await login({ email: values.email, password: values.password });\n if (!res1 || res1.Detail) {\n setError({ message: res1.Detail });\n return;\n } else if (res1 && res1.firstName) {\n setUser(res1);\n } else {\n throw Error();\n }\n } catch (error) {\n if (error && error.Detail) {\n setError({ message: error.Detail });\n } else {\n setError(error);\n }\n } finally {\n actions.setSubmitting(false);\n setLoading(false);\n }\n }}\n validationSchema={resetPasswordSchema}\n >\n {(formikProps: FormikProps) => {\n return (\n <>\n \n >\n );\n }}\n \n setSuccess(null)}\n onClose={() => {\n setSuccess(null);\n handleOnSubmit();\n }}\n open={success ? true : false}\n variant='success'\n />\n setError(null)}\n onClose={() => {\n setError(null);\n }}\n open={error ? true : false}\n variant='error'\n />\n >\n );\n};\n\nconst useStyles = makeStyles((theme: Theme) => {\n return {\n back: {\n textDecoration: 'none',\n textTransform: 'none',\n '&:hover': {\n textDecoration: 'underline'\n }\n },\n icon: {\n height: '15px',\n marginRight: theme.spacing(1),\n width: '15px !important'\n },\n paper: {\n maxWidth: 360\n },\n list: {\n fontSize: '0.875rem',\n margin: 0,\n padding: '0 0 0 1rem'\n }\n };\n});\n","import React from 'react';\nimport makeStyles from '@mui/styles/makeStyles';\n\nexport const PasswordRequirements = (): JSX.Element => {\n const classes = useStyles();\n return (\n \n - Must be at least 6 characters long
\n - Must have at least one capital letter
\n - Must have at least one numeric character
\n - Must have at least one "special" character, ex: !$#@%
\n
\n );\n};\nconst useStyles = makeStyles(() => {\n return {\n list: {\n fontSize: 14,\n paddingLeft: 24\n }\n };\n});\n","import { InputLabel } from '@mui/material';\nimport clsx from 'clsx';\nimport { FC } from 'react';\nimport { Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\n\ninterface IFormLabelProps {\n label: string;\n id: string;\n}\n\nexport const FormLabel: FC = ({ label, id }) => {\n const classes = useStyles();\n return (\n \n {label}\n \n );\n};\n\nconst useStyles = makeStyles((theme: Theme) => ({\n outlinedLabel: {\n backgroundColor: theme.palette.common.white,\n paddingLeft: 2,\n paddingRight: 2\n },\n smallerLeading: {\n letterSpacing: '-.25px'\n }\n}));\n","import React, { FC, useEffect, useState } from 'react';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { scaleLinear } from 'd3-scale';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n// Componnents\nimport { Button } from '@mui/material';\nimport clsx from 'clsx';\nimport { CheckCircleOutline, EventAvailable, HourglassEmpty } from '@mui/icons-material';\nimport { IProgressBarColors, IProgressBarItem } from '../../models';\n\ninterface IProgressBarProps {\n data?: {\n [key: string]: any;\n }[];\n totalCount: number;\n handleClick?: (val: string) => void;\n onLoad?: () => void;\n colors?: IProgressBarColors[];\n icons?: JSX.Element[];\n order?: number[];\n}\n\nexport const ProgressBar: FC = ({\n data,\n totalCount,\n handleClick,\n onLoad,\n colors = [\n { background: '#4C4B4C', text: '#fff' },\n { background: '#7CDEF3', text: '#fff' },\n { background: '#11A5C5', text: '#fff' }\n ],\n icons = [, , ],\n order\n}) => {\n const classes = useStyles();\n const isDesktop = useMediaQuery('(min-width: 600px)');\n\n const ticks = scaleLinear().domain([0, totalCount]).ticks(10);\n\n const assembleStatuses = () => {\n let statusArray = [];\n\n for (const [key, value] of Object.entries(data[0])) {\n const status = { name: key, count: value };\n statusArray.push(status);\n }\n // When received status order does not match what is desired to be displayed, things should be rearranged by given order\n if (order) {\n statusArray = statusArray.map((status, index) => {\n return {\n ...status,\n order: order[index]\n };\n });\n statusArray.sort((a, b) => (a.order > b.order ? 1 : -1));\n }\n // Combine colors and icons into status array\n const newStatuses = statusArray.map((status, index) => {\n return {\n ...status,\n background: colors[index].background,\n text: colors[index].text,\n icon: icons[index]\n };\n });\n setProgressBarData(newStatuses);\n };\n\n const calculateBarPercentage = (count: number) => {\n const value = (count / totalCount) * 100;\n const percent = value + '%';\n return percent;\n };\n\n const [progressBarData, setProgressBarData] = useState();\n\n useEffect(() => {\n assembleStatuses();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data, totalCount]);\n\n if (progressBarData) {\n return (\n \n
\n {progressBarData.map((status, index) => {\n return (\n
\n
\n
\n );\n })}\n
\n
\n {ticks.map(tick => {\n return (\n
\n {tick}\n
\n );\n })}\n
\n
\n {progressBarData.map((status, index) => {\n return (\n
\n );\n })}\n
\n
\n );\n } else return null;\n};\n\nconst useStyles = makeStyles(theme => ({\n progressBarContainer: {\n position: 'relative',\n marginBottom: theme.spacing(1),\n display: 'flex',\n flexFlow: 'row nowrap',\n '&:last-child': {\n marginBottom: 0\n },\n [theme.breakpoints.up('sm')]: {\n flexFlow: 'column wrap'\n }\n },\n progressBar: {\n height: '500px',\n backgroundColor: '#f1f2f2',\n flexDirection: 'column-reverse',\n display: 'flex',\n flex: 1,\n minHeight: 1,\n minWidth: 1,\n [theme.breakpoints.up('sm')]: {\n height: '110px',\n flexFlow: 'row nowrap'\n }\n },\n progressBarColumn: {\n display: 'flex',\n width: '100%',\n height: 'auto',\n flexGrow: 0,\n flexFlow: 'column nowrap',\n minHeight: '4rem',\n minWidth: '4.75rem',\n [theme.breakpoints.up('sm')]: {\n minHeight: '110px',\n width: 'auto',\n flexFlow: 'row nowrap',\n alignItems: 'stretch'\n }\n },\n columnGrow: {\n flex: 1,\n [theme.breakpoints.up('sm')]: {\n flex: '0 1 auto'\n }\n },\n progressBarLink: {\n padding: '1rem',\n width: '100%',\n backgroundColor: 'transparent',\n alignItems: 'flex-start',\n flexFlow: 'row nowrap',\n textAlign: 'left',\n justifyContent: 'flex-start',\n textTransform: 'none',\n height: '100%',\n [theme.breakpoints.up('sm')]: {},\n '& > .MuiButton-label': {\n height: '100%'\n }\n },\n progressBarLinkInner: {\n alignItems: 'center',\n display: 'flex',\n width: '100%',\n fontSize: theme.typography.fontSize * 1.14,\n [theme.breakpoints.up('sm')]: {\n height: '100%',\n alignItems: 'flex-start',\n flexFlow: 'column wrap'\n }\n },\n progressBarValue: {\n display: 'inline-block',\n flex: '0 0 auto',\n paddingRight: '.5rem',\n fontSize: theme.typography.fontSize * 1.43,\n width: '3rem',\n fontWeight: 'bold',\n [theme.breakpoints.up('sm')]: {\n order: 1,\n width: '100%',\n alignSelf: 'flex-end',\n textAlign: 'right',\n paddingRight: '.5rem',\n minWidth: 1,\n flex: 1,\n position: 'relative',\n top: '.5rem'\n }\n },\n progressBarLabel: {\n flexBasis: '100%',\n flexGrow: 10,\n minWidth: '1px',\n fontWeight: 'bold',\n paddingRight: '1.5rem'\n },\n progressBarIcon: {\n height: '20px',\n width: 'auto',\n [theme.breakpoints.up('sm')]: {\n height: '40px',\n order: 0\n },\n '& > .MuiSvgIcon-root': {\n height: '100%',\n width: 'auto'\n }\n },\n hourGlassOffset: {\n marginLeft: '-.5rem'\n },\n progressBarAxis: {\n backgroundColor: theme.palette.common.white,\n width: '3rem',\n borderLeft: '1px solid #ccc',\n marginLeft: '.5rem',\n display: 'flex',\n flexFlow: 'column-reverse wrap',\n justifyContent: 'space-between',\n color: '#b2b1b2',\n [theme.breakpoints.up('sm')]: {\n width: '100%',\n height: '3rem',\n borderTop: '1px solid #ccc',\n borderLeft: 'none',\n marginTop: '.5rem',\n marginLeft: 0,\n flexFlow: 'row nowrap'\n }\n },\n progressBarTick: {\n position: 'relative',\n display: 'flex',\n flexFlow: 'row nowrap',\n alignItems: 'center',\n [theme.breakpoints.up('sm')]: {\n flexFlow: 'column wrap'\n },\n '&&::before': {\n content: '\"\"',\n display: 'block',\n position: 'relative',\n backgroundColor: '#ccc',\n width: '5px',\n height: '1px',\n marginRight: '5px',\n [theme.breakpoints.up('sm')]: { width: '1px', height: '5px', marginLeft: 'auto', marginRight: 'auto' }\n }\n },\n progressBarLegend: {\n display: 'none',\n flexFlow: 'row nowrap',\n justifyContent: 'center',\n [theme.breakpoints.up('sm')]: {\n display: 'flex',\n marginBottom: '2rem'\n }\n },\n progressBarLegendItem: {\n display: 'flex',\n flexFlow: 'row nowrap',\n alignItems: 'center',\n marginRight: '60px',\n '&:last-child': { marginRight: 0 }\n },\n progressBarLegendColor: {\n display: 'inline-block',\n height: '20px',\n width: '12px',\n marginRight: '.5rem'\n },\n progressBarLegendLabel: { display: 'inline-block' }\n}));\n","import React, { useEffect, FC } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { FormControl, Typography, Container, Grid, Card, CardContent } from '@mui/material';\nimport { Logo } from '../../components';\n\ninterface IMinimalPage {\n children: any;\n title: string;\n}\n\nexport const MinimalPage: FC = ({ children, title }) => {\n const classes = useStyles();\n const { pathname } = useLocation();\n const renderTitle = `${title} | Enrollment Alliance`;\n useEffect(() => {\n document.title = renderTitle;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pathname]);\n return (\n \n \n \n \n \n \n \n \n \n \n {title}\n \n \n \n {children}\n \n \n \n \n \n \n );\n};\n\nexport const MinimalPageLoading = () => {\n return (\n \n \n \n );\n};\n\nconst useStyles = makeStyles((theme: Theme) => {\n return {\n card: {\n width: '100%',\n '@media (min-width: 500px)': {\n width: 400\n }\n },\n cardContent: {\n '@media (min-width: 500px)': {\n padding: theme.spacing(1.5, 3)\n }\n },\n forgotPassword: {\n textDecoration: 'underline',\n textTransform: 'none',\n '&:hover': {\n textDecoration: 'underline'\n }\n },\n grid: {\n width: '100%',\n '@media (min-height: 568px)': {\n minHeight: '100vh'\n }\n },\n h1: {\n textAlign: 'center',\n fontSize: theme.typography.h3.fontSize,\n fontWeight: 'bold'\n },\n image: {\n display: 'block',\n maxWidth: 150,\n marginBottom: theme.spacing(3),\n marginLeft: 'auto',\n marginRight: 'auto',\n marginTop: theme.spacing(3),\n width: '100%'\n },\n logoWrapper: {\n display: 'flex',\n alignItems: 'center',\n background: '#000'\n },\n logo: {\n width: 200\n }\n };\n});\n","import React, { FC } from 'react';\nimport { Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport clsx from 'clsx';\n// Components\nimport { FormLabel, Accordion, AccordionSummary, AccordionDetails, Typography, Divider, IconButton } from '@mui/material';\nimport { ExpandMore, Edit } from '@mui/icons-material';\n// Types\nimport { IUser } from '../../../models';\n// helpers\nimport { formatInputPhoneNumber } from '../../../helpers';\n\ninterface IMobileManageUser {\n original: IUser;\n handleEdit: (val: IUser) => void;\n}\n\nexport const MobileManageUser: FC = ({ original, handleEdit }) => {\n const classes = useStyles();\n const { firstName, lastName, email, isActive, role, clientName, phoneNumber } = original;\n\n return (\n \n } aria-controls='panel1a-content' id='panel1a-header'>\n \n
\n
\n
{isActive ? 'Active' : 'Inactive'}\n
\n
{role}\n
\n
{\n e.stopPropagation();\n handleEdit(original);\n }}\n size=\"large\">\n \n \n
\n
\n \n {firstName} {lastName}\n \n {clientName || '--'}\n
\n
\n \n \n \n \n Email:\n \n {email || '--'}\n
\n \n \n Phone:\n \n {phoneNumber ? formatInputPhoneNumber(phoneNumber) : '--'}\n
\n \n \n );\n};\n\nconst useStyles = makeStyles((theme: Theme) => ({\n root: {\n maxWidth: '100%',\n border: `1px solid ${theme.palette.grey[300]}`,\n overflowX: 'hidden'\n },\n accordion: {\n padding: '0 16px',\n '&& .MuiAccordionSummary-content': {\n marginBottom: 0\n }\n },\n panelSummaryWrapper: {\n marginTop: theme.spacing(0.5),\n '&:first-child': { marginTop: 0 }\n },\n details: {\n display: 'flex',\n flexDirection: 'column',\n padding: '12px 16px',\n backgroundColor: theme.palette.grey[100]\n },\n roleWrapper: {\n display: 'flex',\n alignItems: 'center'\n },\n editButton: {\n position: 'absolute',\n right: 0,\n top: 0\n },\n boldName: {\n color: theme.palette.primary.main,\n fontWeight: 600\n },\n activeName: {\n color: theme.palette.grey[500]\n },\n divider: {\n margin: '0 5px'\n },\n subLabelEmail: {\n marginRight: 10\n },\n subLabelPhone: {\n marginRight: 5\n }\n}));\n","import React, { FC, useState } from 'react';\nimport clsx from 'clsx';\nimport { Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { FormControl, InputLabel, Select, MenuItem, Grid, Button, TextField, InputAdornment, Divider } from '@mui/material';\nimport { FilterList, Close, ArrowDropDown, ArrowDropUp, Search } from '@mui/icons-material';\n\ninterface IManageUsersFilters {\n isLoading: boolean;\n applyFilters: (clearFilters?: boolean) => void;\n selectedStatus: string;\n setSelectedStatus: (val: string) => void;\n setSelectedRole: (val: string) => void;\n selectedRole: string;\n setSearchValue: (val: string) => void;\n searchValue: string;\n handleSearch: (clearSearch?: boolean) => void;\n}\n\nexport const ManageUsersFilters: FC = ({\n isLoading,\n applyFilters,\n selectedStatus,\n setSelectedStatus,\n selectedRole,\n setSelectedRole,\n setSearchValue,\n handleSearch,\n searchValue\n}) => {\n const [hasAppliedFilters, setHasAppliedFilters] = useState(false);\n const [isMobileFilterButtonOpen, toggleMobileFilter] = useState(false);\n\n const classes = useStyles({ isMobileFilterButtonOpen });\n return (\n <>\n }\n endIcon={isMobileFilterButtonOpen ? : }\n onClick={() => {\n toggleMobileFilter(!isMobileFilterButtonOpen);\n }}\n >\n Filters\n \n {!isMobileFilterButtonOpen && }\n \n \n {\n if (searchValue.length > 0) {\n setHasAppliedFilters(true);\n handleSearch();\n }\n }}\n >\n \n \n ),\n endAdornment: searchValue ? (\n {\n setSearchValue('');\n handleSearch(true);\n }}\n >\n \n \n ) : null\n }}\n onKeyDown={e => {\n if (e.key === 'Enter' && searchValue.length > 0) {\n handleSearch();\n }\n }}\n onChange={e => {\n setSearchValue(e.target.value);\n }}\n />\n \n \n \n Status\n \n \n \n \n \n Role\n \n \n \n \n }\n onClick={() => {\n setHasAppliedFilters(true);\n applyFilters();\n }}\n >\n Apply Filters\n \n {hasAppliedFilters && (\n }\n onClick={() => {\n setSelectedStatus('Active');\n setHasAppliedFilters(false);\n setSearchValue('');\n setSelectedRole('');\n applyFilters(true);\n }}\n >\n Reset\n \n )}\n \n \n >\n );\n};\n\nconst useStyles = makeStyles((theme: Theme) => ({\n mobileButton: {\n width: '100%',\n [theme.breakpoints.up('sm')]: {\n display: 'none'\n }\n },\n button: {\n height: 40,\n textTransform: 'capitalize',\n width: '100%',\n '@media (min-width: 400px)': {\n width: '48%'\n },\n [theme.breakpoints.up('sm')]: {\n width: 'auto'\n }\n },\n resetButton: {\n '@media (min-width: 400px)': {\n marginLeft: 11\n },\n [theme.breakpoints.up('sm')]: {\n marginLeft: theme.spacing(1)\n }\n },\n wrapper: ({ isMobileFilterButtonOpen }) =>\n isMobileFilterButtonOpen\n ? {\n marginTop: 10,\n marginBottom: 10,\n display: 'flex'\n }\n : {\n display: 'none',\n marginBottom: theme.spacing(1),\n [theme.breakpoints.up('sm')]: {\n display: 'flex',\n marginBottom: theme.spacing(1)\n }\n },\n divider: {\n display: 'block',\n marginBottom: theme.spacing(1),\n [theme.breakpoints.up('sm')]: {\n display: 'none'\n }\n },\n searchIcon: {\n cursor: 'pointer',\n color: theme.palette.grey[500]\n }\n}));\n","import React, { FC, useState, useEffect } from 'react';\nimport { Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { Formik, Form } from 'formik';\nimport * as Yup from 'yup';\nimport { deepEqual } from 'fast-equals';\nimport { Add, Save, Close, RecentActors } from '@mui/icons-material';\nimport Autocomplete from '@mui/material/Autocomplete';\n// Components\nimport { Toast, Modal, Loader, PasswordRequirements } from '../../../components';\nimport {\n Card,\n Fade,\n CardActions,\n Button,\n CardContent,\n CardHeader,\n TextField,\n Grid,\n FormControl,\n Paper,\n Select,\n InputLabel,\n MenuItem,\n Typography,\n FormHelperText,\n Switch,\n FormControlLabel\n} from '@mui/material';\n// models\nimport { IUserDetail, IUserRole, EUserRoles, UserRoles, IBroker, IBusinessClient } from '../../../models';\n// fetch\nimport { getUserRoles, updateUser, createUser, getBrokers, getBusinessClients } from '../../../fetch';\n// helpers\nimport { formatInputPhoneNumber, passwordRegex, getUserErrorHandling } from '../../../helpers';\n\ninterface IUserModal {\n open: boolean;\n onClose: () => void;\n onSave: () => void;\n currentUser: IUserDetail | null;\n}\n\nconst UserSchema = Yup.object().shape({\n firstName: Yup.string().max(255, 'Max 255 characters').required('Required'),\n lastName: Yup.string().max(255, 'Max 255 characters').required('Required'),\n brokerName: Yup.mixed().when('role', {\n is: (val: string) => val === EUserRoles.BROKER,\n then: Yup.string().required('Required'),\n otherwise: Yup.string().notRequired()\n }),\n businessClientNames: Yup.mixed().when('role', {\n is: (val: string) => {\n return val && val !== 'Administrator' && val !== 'Broker';\n },\n then: Yup.array().of(Yup.string()).required('Required'),\n otherwise: Yup.array().notRequired()\n }),\n newEmail: Yup.string().required('Required').max(255, 'Max 255 characters').email('Email address invalid'),\n role: Yup.string().required('Required'),\n newPassword: Yup.mixed().when('role', {\n is: (val: string) => {\n return val !== EUserRoles.ADMIN;\n },\n then: Yup.string().notRequired(),\n otherwise: Yup.string().required('Required').min(6, 'Password must be at least 6 characters').matches(passwordRegex, {\n message: 'Invalid Password'\n })\n })\n});\n\nconst EditUserSchema = Yup.object().shape({\n firstName: Yup.string().max(255, 'Max 255 characters').required('Required'),\n lastName: Yup.string().max(255, 'Max 255 characters').required('Required'),\n newEmail: Yup.string().required('Required').max(255, 'Max 255 characters').email('Email address invalid'),\n status: Yup.boolean(),\n brokerName: Yup.mixed().when('role', {\n is: (val: string) => val === EUserRoles.BROKER,\n then: Yup.string().required('Required'),\n otherwise: Yup.string().notRequired()\n }),\n businessClientNames: Yup.mixed().when('role', {\n is: (val: string) => val && val !== 'Administrator' && val !== 'Broker',\n then: Yup.array().of(Yup.string()).required('Required'),\n otherwise: Yup.array().notRequired()\n }),\n hasInitialDummyPassoword: Yup.boolean(),\n role: Yup.string().required('Required'),\n newPassword: Yup.mixed().when('hasInitialDummyPassoword', {\n is: (val: boolean) => val,\n then: Yup.string().notRequired(),\n otherwise: Yup.string().required('Required').min(6, 'Password must be at least 6 characters').matches(passwordRegex, {\n message: 'Invalid Password'\n })\n })\n});\n\nexport const UserModal: FC = ({ open, onClose, onSave, currentUser }) => {\n const classes = useStyles();\n const [isError, showError] = useState(false);\n const [isSuccess, showSuccess] = useState(false);\n const [errorMessage, setErrorMessage] = useState('');\n const [successMessage, setSuccessMessage] = useState('');\n const [roles, setRoles] = useState([]);\n const [brokers, setBrokers] = useState([]);\n const [brokersLoading, setBrokersLoading] = useState(true);\n const [businessClients, setBusinessClients] = useState([]);\n const [businessClientsLoading, setBusinessClientsLoading] = useState(true);\n\n const fetchRoles = async () => {\n try {\n const res = await getUserRoles();\n setRoles(res);\n } catch (err) {\n console.error(err);\n }\n };\n\n const fetchBrokers = async () => {\n try {\n const res = await getBrokers({\n perPage: '2147483647' // get all records\n });\n if (res.records) {\n setBrokers(res.records);\n } else {\n console.error(`No 'records' on brokers response.`);\n setErrorMessage('Error loading brokers, please try again.');\n }\n } catch (error) {\n console.error(error);\n setErrorMessage('Error loading brokers, please try again.');\n }\n setBrokersLoading(false);\n };\n\n const fetchBusinessClients = async () => {\n try {\n const res = await getBusinessClients({\n perPage: '2147483647' // get all records\n });\n if (res.records) {\n setBusinessClients(res.records);\n } else {\n console.error(`No 'records' on business clients response.`);\n setErrorMessage('Error loading business clients, please try again.');\n }\n } catch (error) {\n console.error(error);\n setErrorMessage('Error loading business clients, please try again.');\n }\n setBusinessClientsLoading(false);\n };\n\n useEffect(() => {\n fetchBrokers();\n fetchRoles();\n fetchBusinessClients();\n }, []);\n\n return (\n <>\n 0 ? currentUser.businessClient.map(client => client.name) : []\n }}\n validationSchema={currentUser ? EditUserSchema : UserSchema}\n onSubmit={async (values, actions) => {\n try {\n if (currentUser) {\n const { brokerName, businessClientNames, ...rest } = values;\n let businessClientIds: number[] = [];\n\n if (businessClientNames && businessClientNames.length > 0) {\n // eslint-disable-next-line\n businessClientNames.map(name => {\n // eslint-disable-next-line\n businessClients.map(client => {\n if (name === client.name) {\n businessClientIds.push(client.businessClientId);\n }\n });\n });\n }\n const selectedBroker = brokers.find(broker => broker.name === brokerName);\n const selectedRole = roles.find(role => role.description === rest.role);\n const res = await updateUser(currentUser.userId, {\n firstName: rest.firstName,\n lastName: rest.lastName,\n email: rest.newEmail,\n isActive: rest.status,\n role: selectedRole && (selectedRole.value as UserRoles as any),\n password: rest.hasInitialDummyPassoword ? null : rest.newPassword,\n brokerId: selectedBroker ? selectedBroker.brokerId : undefined,\n businessClientIds: businessClientIds.length === 0 ? undefined : businessClientIds\n });\n const { hasError, message } = getUserErrorHandling(res);\n if (message && hasError) {\n setErrorMessage(message);\n showError(true);\n }\n if (!hasError) {\n showSuccess(true);\n setSuccessMessage('User Updated!');\n onClose();\n onSave();\n actions.resetForm();\n }\n } else {\n const { brokerName, businessClientNames, ...rest } = values;\n let businessClientIds: number[] = [];\n\n if (businessClientNames && businessClientNames.length > 0) {\n // eslint-disable-next-line\n businessClientNames.map(name => {\n // eslint-disable-next-line\n businessClients.map(client => {\n if (name === client.name) {\n businessClientIds.push(client.businessClientId);\n }\n });\n });\n }\n const selectedBroker = brokers.find(broker => broker.name === brokerName);\n const selectedRole = roles.find(role => role.description === rest.role);\n const res = await createUser({\n firstName: rest.firstName,\n lastName: rest.lastName,\n email: rest.newEmail,\n role: selectedRole && (selectedRole.value as UserRoles as any),\n password: rest.hasInitialDummyPassoword ? null : rest.newPassword,\n brokerId: selectedBroker ? selectedBroker.brokerId : undefined,\n businessClientIds: businessClientIds.length === 0 ? undefined : businessClientIds\n });\n const { hasError, message } = getUserErrorHandling(res);\n if (message && hasError) {\n setErrorMessage(message);\n showError(true);\n }\n\n if (!hasError) {\n showSuccess(true);\n onClose();\n onSave();\n actions.resetForm();\n }\n }\n } catch (error) {\n console.log(error);\n if (error && error.Errors && Object.values(error.Errors)[0] && Object.values(Object.values(error.Errors)[0])[0]) {\n setErrorMessage(Object.values(Object.values(error.Errors)[0])[0] as string);\n }\n showError(true);\n }\n }}\n >\n {({ resetForm, isSubmitting, values, initialValues, setFieldValue, errors, touched, handleSubmit, dirty, isValid, handleBlur }) => {\n return (\n {\n if (!deepEqual(initialValues, values)) {\n const result = window.confirm('You have unsaved changes, are you sure you want to exit?');\n if (result) {\n resetForm();\n onClose();\n } else {\n return;\n }\n } else {\n onClose();\n resetForm();\n }\n }}\n maxWidth='md'\n >\n {isSubmitting && }\n \n \n \n \n );\n }}\n \n {\n setSuccessMessage('');\n showSuccess(false);\n }}\n variant='success'\n />\n {\n setErrorMessage('');\n showError(false);\n }}\n variant='error'\n />\n >\n );\n};\n\nconst useStyles = makeStyles((theme: Theme) => ({\n primaryHeader: {\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.common.white,\n marginBottom: theme.spacing(1)\n },\n marginBottom: {\n marginBottom: theme.spacing(1)\n },\n column: {\n display: 'flex',\n flexDirection: 'column',\n '& > div:not(:first-of-type)': {\n marginTop: theme.spacing(1)\n }\n },\n outlinedLabel: {\n backgroundColor: theme.palette.common.white,\n paddingLeft: 2,\n paddingRight: 2\n },\n content: {\n marginTop: theme.spacing(1)\n },\n cardContent: {\n paddingTop: 0\n },\n paperBorder: {\n border: `1px solid ${theme.palette.grey[300]}`\n }\n}));\n","import React, { useMemo, useState, useEffect } from 'react';\nimport { Grid, IconButton, Typography } from '@mui/material';\nimport { Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n// Components\nimport { Page } from '../../../components/skeleton';\nimport { Table, Pagination, Toast, PageTitle, Button, Loader } from '../../../components';\nimport { MobileManageUser } from './MobileManageUser';\nimport { ManageUsersFilters } from './ManageUsersFilters';\nimport { UserModal } from './UserModal';\n// icons\nimport { Edit, Add, Close } from '@mui/icons-material';\n// Types\nimport { SortOptions, DESC_SORT, ASC_SORT, IUser, IUserDetail } from '../../../models';\n// Fetch\nimport { getUser, getUsers } from '../../../fetch';\n\ninterface IFilters {\n search?: string;\n role?: string;\n isActive?: boolean;\n}\n\nexport const ManageUsers = () => {\n const classes = useStyles();\n\n // state\n const [page, setPage] = useState(0);\n const [perPage, setRowsPerPage] = useState(10);\n const [recordCount, setRecordCount] = useState(0);\n const [users, setUsers] = useState([]);\n const [isLoading, setIsLoading] = useState(true);\n const [errorMessage, setErrorMessage] = useState('');\n const [successMessage, setSuccessMessage] = useState('');\n const [sortDirection, setSortDirection] = useState<{\n ClientName?: SortOptions;\n FirstName?: SortOptions;\n LastName?: SortOptions;\n Email?: SortOptions;\n PhoneNumber?: SortOptions;\n Role?: SortOptions;\n IsActive?: SortOptions;\n }>({\n FirstName: ASC_SORT\n });\n const [selectedSort, setSelectedSort] = useState('FirstName');\n const [filters, setFilters] = useState(null);\n const [isUserModalOpen, showUserModal] = useState(false);\n const [currentUser, setCurrentUser] = useState(null);\n const [isLoadingOverlay, setLoadingOverlay] = useState(false);\n const [selectedStatus, setSelectedStatus] = useState('Active');\n const [selectedRole, setSelectedRole] = useState('');\n const [searchValue, setSearch] = useState('');\n const [searchedValue, setSearchedValue] = useState('');\n\n const fetchUsers = async () => {\n setIsLoading(true);\n try {\n const searchParams = {\n page: page + 1,\n perPage,\n sortBy: selectedSort,\n sortDirection: sortDirection[selectedSort] as string,\n role: filters && filters.role ? filters.role : null,\n isActive: filters && filters.isActive !== null ? filters.isActive : true,\n search: searchValue ? searchValue : null\n };\n const usersResponse = await getUsers(searchParams);\n if (searchValue) {\n setSearchedValue(searchValue);\n } else {\n setSearchedValue('');\n }\n if (usersResponse.records) {\n setUsers(usersResponse.records);\n setRecordCount(usersResponse.totalRecordCount);\n } else {\n console.error(`No 'records' on users response.`);\n setErrorMessage('Error loading users, please try again.');\n }\n } catch (error) {\n console.error(error);\n setErrorMessage('Error loading users, please try again.');\n }\n setIsLoading(false);\n };\n\n useEffect(() => {\n fetchUsers();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [sortDirection, selectedSort, page, perPage, filters]);\n\n const handleClickColumn = (column: string) => {\n setSelectedSort(column);\n setSortDirection({\n ...sortDirection,\n [column]: sortDirection[column] === ASC_SORT ? DESC_SORT : ASC_SORT\n });\n };\n\n const handleEdit = async id => {\n try {\n setLoadingOverlay(true);\n const res = await getUser(id);\n setCurrentUser(res);\n showUserModal(true);\n } catch (error) {\n console.log(error);\n } finally {\n setLoadingOverlay(false);\n }\n };\n\n const columns = useMemo(() => {\n return [\n {\n Header: 'Broker/Client Name',\n accessor: 'clientName',\n isServerSorted: selectedSort === 'ClientName',\n isServerSortedDesc: sortDirection.ClientName === DESC_SORT,\n handleClickColumn: () => handleClickColumn('ClientName')\n },\n {\n Header: 'First Name',\n accessor: 'firstName',\n isServerSorted: selectedSort === 'FirstName',\n isServerSortedDesc: sortDirection.FirstName === DESC_SORT,\n handleClickColumn: () => handleClickColumn('FirstName')\n },\n {\n Header: 'Last Name',\n accessor: 'lastName',\n isServerSorted: selectedSort === 'LastName',\n isServerSortedDesc: sortDirection.LastName === DESC_SORT,\n handleClickColumn: () => handleClickColumn('LastName')\n },\n {\n Header: 'Email',\n accessor: 'email',\n isServerSorted: selectedSort === 'Email',\n isServerSortedDesc: sortDirection.Email === DESC_SORT,\n handleClickColumn: () => handleClickColumn('Email')\n },\n {\n Header: 'Phone',\n accessor: 'phoneNumber',\n isServerSorted: selectedSort === 'PhoneNumber',\n isServerSortedDesc: sortDirection.PhoneNumber === DESC_SORT,\n handleClickColumn: () => handleClickColumn('PhoneNumber')\n },\n {\n Header: 'Role',\n accessor: 'role',\n isServerSorted: selectedSort === 'Role',\n isServerSortedDesc: sortDirection.Role === DESC_SORT,\n handleClickColumn: () => handleClickColumn('Role')\n },\n {\n Header: 'Active',\n accessor: (d: IUser) => (d.isActive ? 'Yes' : 'No'),\n isServerSorted: selectedSort === 'IsActive',\n isServerSortedDesc: sortDirection.IsActive === DESC_SORT,\n handleClickColumn: () => handleClickColumn('IsActive'),\n overrideWidth: 60\n },\n {\n id: 'actions',\n overrideWidth: 60,\n Header: '',\n className: classes.editButton,\n Cell: ({\n cell: {\n row: { original }\n }\n }: {\n cell: { row: { original: IUser } };\n }) => {\n return <>\n {\n handleEdit(original.userId);\n }}\n size=\"large\">\n \n \n >;\n }\n }\n ];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [users, sortDirection, selectedSort, page, perPage, filters]);\n\n const hasData = users && users.length > 0;\n const isMobile = useMediaQuery('(max-width: 960px)');\n const isSmMobile = useMediaQuery('(max-width: 600px)');\n\n return <>\n {isLoadingOverlay && (\n \n Loading...\n \n )}\n \n \n \n } onClick={() => showUserModal(true)} color='primary' variant='contained' className={classes.addUserButton}>\n Add User\n \n \n setSearch(val)}\n setSelectedRole={(val: string) => setSelectedRole(val)}\n setSelectedStatus={(val: string) => setSelectedStatus(val)}\n handleSearch={(clearSearch?: boolean) => {\n setFilters({\n isActive: selectedStatus === 'Active' ? true : false,\n role: selectedRole,\n search: clearSearch ? null : searchValue\n });\n if (clearSearch) {\n setSearchedValue('');\n }\n }}\n applyFilters={(clearFilters?: boolean, clearSearch?: boolean) => {\n if (clearFilters) {\n setFilters({\n isActive: true,\n role: '',\n search: ''\n });\n } else {\n setFilters({\n ...filters,\n isActive: selectedStatus === 'Active' ? true : false,\n role: selectedRole\n });\n }\n }}\n />\n {searchedValue && (\n \n \n Showing results for \"{searchedValue}\"\n \n }\n className={classes.clearSearchButton}\n onClick={() => {\n setSearch('');\n setSearchedValue('');\n setFilters({\n isActive: selectedStatus === 'Active' ? true : false,\n role: selectedRole,\n search: null\n });\n }}>\n Clear Search\n \n \n )}\n \n
{\n handleEdit(val.userId);\n }\n }}\n />\n {!isLoading && hasData && (\n \n )}\n \n {\n showUserModal(false);\n setTimeout(() => {\n setCurrentUser(null);\n }, 500);\n }}\n onSave={() => fetchUsers()}\n />\n setSuccessMessage('')} variant='success' />\n setErrorMessage('')} variant='error' />\n \n >;\n};\n\nconst useStyles = makeStyles((theme: Theme) => ({\n wrapper: {\n paddingTop: theme.spacing(0.125)\n },\n paginationWrapper: {\n margin: theme.spacing(0.5, 0)\n },\n editButton: {\n textAlign: 'right'\n },\n deleteButton: {\n marginLeft: theme.spacing(0.5),\n color: theme.palette.error.main\n },\n addUserWrapper: {\n marginBottom: theme.spacing(1)\n },\n addUserButton: {\n width: '100%',\n [theme.breakpoints.up('sm')]: {\n width: 'auto'\n }\n },\n searchWrapper: {\n margin: theme.spacing(1, 0)\n },\n clearSearchButton: {\n '@media (min-width: 408px)': {\n marginTop: 3,\n marginLeft: theme.spacing(1)\n }\n }\n}));\n","import React, { FC } from 'react';\nimport { Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport clsx from 'clsx';\n// Components\nimport { FormLabel, Accordion, AccordionSummary, AccordionDetails, Typography, IconButton } from '@mui/material';\nimport { ExpandMore, Edit, Delete } from '@mui/icons-material';\n// Types\nimport { IBusinessClient } from '../../../models';\n\ninterface IMobileBusinessClient {\n original: IBusinessClient;\n handleEdit: (val: IBusinessClient) => void;\n handleDelete: (val: IBusinessClient) => void;\n}\n\nexport const MobileBusinessClient: FC = ({ original, handleEdit, handleDelete }) => {\n const classes = useStyles();\n const { name, broker } = original;\n\n return (\n \n } aria-controls='panel1a-content' id='panel1a-header'>\n \n
\n {name}\n \n
\n {\n e.stopPropagation();\n handleEdit(original);\n }}\n size=\"large\">\n \n \n {\n e.stopPropagation();\n handleDelete(original);\n }}\n size=\"large\">\n \n \n
\n
\n \n \n \n \n Business Client:\n \n {name || '--'}\n
\n \n \n Broker:\n \n {broker && broker.name ? broker.name : '--'}\n
\n \n \n );\n};\n\nconst useStyles = makeStyles((theme: Theme) => ({\n root: {\n maxWidth: '100%',\n border: `1px solid ${theme.palette.grey[300]}`,\n overflowX: 'hidden'\n },\n accordion: {\n padding: '0 16px',\n '&& .MuiAccordionSummary-expandIcon': {\n padding: 3\n }\n },\n topPanelSummaryWrapper: {\n marginTop: theme.spacing(0.5),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '100%',\n '&:first-child': { marginTop: 0 }\n },\n panelSummaryWrapper: {\n '&:first-child': { marginTop: 0 }\n },\n details: {\n display: 'flex',\n flexDirection: 'column',\n padding: '12px 16px',\n backgroundColor: theme.palette.grey[100]\n },\n roleWrapper: {\n display: 'flex',\n alignItems: 'center'\n },\n editButton: {\n padding: `2px 5px`\n },\n deleteButton: {\n padding: `2px 5px`,\n color: theme.palette.error.main\n },\n boldName: {\n color: theme.palette.primary.main,\n fontWeight: 600\n },\n subLabelEmail: {\n marginRight: 10\n },\n buttonsWrapper: {\n display: 'flex'\n }\n}));\n","import { DependencyList, useEffect } from 'react';\nimport { useTimeoutFn } from './useTimeoutFn';\n\nexport type UseDebounceReturn = [() => boolean | null, () => void];\n\nexport const useDebounce = (fn: Function, ms: number = 0, deps: DependencyList = []): UseDebounceReturn => {\n const [isReady, cancel, reset] = useTimeoutFn(fn, ms);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(reset, deps);\n\n return [isReady, cancel];\n};\n","import { useCallback, useEffect, useRef } from 'react';\n\nexport type UseTimeoutFnReturn = [() => boolean | null, () => void, () => void];\n\nexport const useTimeoutFn = (fn: Function, ms: number = 0): UseTimeoutFnReturn => {\n const ready = useRef(false);\n const timeout = useRef>();\n const callback = useRef(fn);\n\n const isReady = useCallback(() => ready.current, []);\n\n const set = useCallback(() => {\n ready.current = false;\n timeout.current && clearTimeout(timeout.current);\n\n timeout.current = setTimeout(() => {\n ready.current = true;\n callback.current();\n }, ms);\n }, [ms]);\n\n const clear = useCallback(() => {\n ready.current = null;\n timeout.current && clearTimeout(timeout.current);\n }, []);\n\n // update ref when function changes\n useEffect(() => {\n callback.current = fn;\n }, [fn]);\n\n // set on mount, clear on unmount\n useEffect(() => {\n set();\n\n return clear;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ms]);\n\n return [isReady, clear, set];\n};\n","import { useState } from 'react';\n\ntype RequestState = {\n isLoading: boolean;\n error: Error | null;\n data: T | null;\n};\n\nconst useRequestState = () => {\n const [requestState, setRequestState] = useState>({\n isLoading: false,\n error: null,\n data: null,\n });\n\n const request = async (requestFunction: () => Promise) => {\n setRequestState({\n isLoading: true,\n error: null,\n data: null,\n });\n\n try {\n const response = await requestFunction();\n setRequestState({\n isLoading: false,\n error: null,\n data: response,\n });\n } catch (err) {\n setRequestState({\n isLoading: false,\n error: err as Error,\n data: null,\n });\n }\n };\n\n return { ...requestState, request };\n};\n\nexport default useRequestState;","import React from 'react';\nimport { FormHelperText, Theme } from '@mui/material'; // Assuming you are using Material-UI\nimport makeStyles from '@mui/styles/makeStyles';\n\ninterface Props {\n message?: string;\n error?: boolean;\n testClass?: string;\n}\n\nconst FieldErrorMessage: React.FC = ({ message, error = true, testClass }) => {\n const classes = useStyles();\n return message ? (\n {message}\n ) : null;\n};\nconst useStyles = makeStyles((theme: Theme) => ({\n errorText: {\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n }\n}));\n\nexport default FieldErrorMessage;","import React from 'react';\nimport {\n FormControl,\n Select,\n MenuItem,\n FormHelperText,\n} from '@mui/material';\nimport { FormLabel } from '..';\nimport { IDropdownResponse } from '../../models';\nimport FieldErrorMessage from '../field-error-message/FieldErrorMessage ';\n\ninterface Props {\n options: IDropdownResponse[];\n isLoading: boolean;\n error?: string;\n value: any;\n setFieldValue: (field: string, value: any) => void;\n handleBlur: any;\n label: string;\n id: string;\n}\n\nconst GenericDropdown: React.FC = ({\n options,\n isLoading,\n error,\n value,\n setFieldValue,\n handleBlur,\n label,\n id\n}) => {\n return (\n \n \n \n\n \n \n );\n};\n\nexport default GenericDropdown;","import { Form, Formik } from 'formik';\nimport React, { FC, useState, useEffect } from 'react';\nimport { Button, Loader, Modal, Toast } from '../../../../../components';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { Theme } from '@mui/material/styles';\nimport {\n Fade,\n Grid,\n TextField,\n FormControl,\n Typography,\n CardActions,\n} from '@mui/material';\nimport { createBusinessClientWithMinimalData, getBusinessClientProjectTypes } from '../../../../../fetch';\nimport useRequestState from '../../../../../hooks/useRequestState';\nimport { IDropdownResponse, IMinimalAddBusinessClient } from '../../../../../models';\nimport { DatePicker } from '../../../../../components';\nimport { Save } from '@mui/icons-material';\nimport * as Yup from 'yup';\nimport { SubmitStatus } from '../../../../../models/util';\nimport GenericDropdown from '../../../../../components/generic-dropdown/GenericDropdown';\n\ninterface IAddNewBusinessClientModal {\n open: boolean;\n onClose: () => void;\n onSave: (result?: string) => void;\n}\n\nconst schema = Yup.object().shape({\n name: Yup.string().max(255, 'Max 255 characters').required('Required'),\n projectType: Yup.string().optional().nullable(),\n openEnrollmentEffectiveDate: Yup.string().optional().nullable(),\n});\n\n\nconst hasErrorsOnResponse = (res: any) => {\n if (res && (typeof res === 'boolean' || typeof res === 'number')) {\n return false;\n }\n\n return true;\n}\n\nconst getErrorMessageOnResponse = (res: any) => {\n\n if (res?.Errors && Object?.values(Object?.values(res?.Errors)?.[0])?.[0]) {\n // validation errors\n return Object.values(Object.values(res.Errors)[0])[0] as string;\n }\n if (res?.Detail) {\n return res?.Detail;\n }\n};\n\nconst AddNewBusinessClientModal: FC = ({ open, onClose, onSave }) => {\n const initialValues: IMinimalAddBusinessClient = { name: '', projectType: null, openEnrollmentEffectiveDate: null };\n const classes = useStyles();\n const { isLoading: isLoadingProjectTypes, data: projectTypes, request } = useRequestState();\n\n\n const [submitStatus, setSubmitStatus] = useState({ status: 'idle' });\n\n useEffect(() => {\n const fetchProjectTypes = async () => {\n try {\n const res = await getBusinessClientProjectTypes();\n return res;\n } catch (error) {\n console.error(error);\n }\n };\n\n request(fetchProjectTypes);\n }, []);\n\n return <>\n { }} />\n { }}\n variant='error'\n />\n {\n\n setSubmitStatus({ status: 'submitting' });\n\n const res = await createBusinessClientWithMinimalData(values);\n const hasErrors = hasErrorsOnResponse(res);\n\n if (hasErrors) {\n const errorMessage = getErrorMessageOnResponse(res);\n setSubmitStatus({ status: 'error', errorMessage: errorMessage });\n return;\n }\n\n setSubmitStatus({ status: 'success' });\n actions.resetForm();\n\n onClose();\n onSave(values.name);\n\n }}\n validationSchema={schema}\n\n >\n {({ resetForm, isSubmitting, values, initialValues, setFieldValue, errors, touched, handleSubmit, dirty, isValid, handleBlur }) => {\n return ( {\n setSubmitStatus({ status: 'idle' });\n resetForm();\n onClose()\n }}\n maxWidth='md'\n >\n \n \n \n\n )\n }}\n >\n}\n\nconst useStyles = makeStyles((theme: Theme) => ({\n buttonsContainer: {\n marginTop: theme.spacing(1)\n },\n saveButton: {\n '@media (max-width: 450px)': {\n width: '100%'\n }\n },\n primaryHeader: {\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.common.white,\n marginBottom: theme.spacing(1)\n },\n marginBottom: {\n marginBottom: theme.spacing(1)\n },\n column: {\n display: 'flex',\n flexDirection: 'column',\n '& > div:not(:first-of-type)': {\n marginTop: theme.spacing(1)\n }\n },\n outlinedLabel: {\n backgroundColor: theme.palette.common.white,\n paddingLeft: 2,\n paddingRight: 2\n },\n content: {\n marginTop: theme.spacing(1)\n },\n cardContent: {\n paddingTop: 0\n },\n paperBorder: {\n border: `1px solid ${theme.palette.grey[300]}`\n }\n}));\n\nexport default AddNewBusinessClientModal;","import React, { useMemo, useState, useEffect, useContext } from 'react';\nimport { TextField, InputAdornment, Box } from '@mui/material';\nimport { Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport { useHistory } from 'react-router-dom';\nimport { withTracker } from '../../../services';\n// Components\nimport { Page } from '../../../components/skeleton';\nimport { Table, Pagination, Toast, PageTitle, Button, Loader } from '../../../components';\nimport { MobileBusinessClient } from './MobileBusinessClients';\n// icons\nimport { Edit, Add, Delete, Close, Search } from '@mui/icons-material';\n// Types\nimport { DESC_SORT, ASC_SORT, IBusinessClient } from '../../../models';\n// Fetch\nimport { getBusinessClients, deleteBusinessClient } from '../../../fetch';\n// hooks\nimport { useDebounce } from '../../../hooks';\n// context\nimport { ManageBusinessClientCtx } from '../../../context';\nimport AddNewBusinessClientModal from './AddNewBusinessClient/AddNewBusinessClientModal';\n\nexport const ManageBusinessClients = withTracker(() => {\n const classes = useStyles();\n const history = useHistory();\n const { selectedSort, setSelectedSort, searchValue, setSearchValue, sortDirection, setSortDirection } = useContext(ManageBusinessClientCtx);\n // state\n const [page, setPage] = useState(0);\n const [perPage, setRowsPerPage] = useState(10);\n const [recordCount, setRecordCount] = useState(0);\n const [businessClients, setBusinessClients] = useState([]);\n const [isLoading, setIsLoading] = useState(true);\n const [errorMessage, setErrorMessage] = useState('');\n const [successMessage, setSuccessMessage] = useState('');\n const [isDeleting, setDeleting] = React.useState(false);\n\n const [isAddNewBusinessClientModal, showAddNewBusinessClientModal] = useState(false);\n\n const fetchBusinessClients = async (search?: string, startPage?: number) => {\n setIsLoading(true);\n try {\n const res = await getBusinessClients({\n page: startPage ?? page + 1,\n perPage,\n sortBy: selectedSort,\n sortDirection: sortDirection[selectedSort] as string,\n search: search === null ? undefined : search || searchValue\n });\n if (startPage) {\n setPage(0);\n }\n if (res.records) {\n setBusinessClients(res.records);\n setRecordCount(res.totalRecordCount);\n } else {\n console.error(`No 'records' on business clients response.`);\n setErrorMessage('Error loading business clients, please try again.');\n }\n } catch (error) {\n console.error(error);\n setErrorMessage('Error loading business clients, please try again.');\n } finally {\n setIsLoading(false);\n }\n };\n\n const handleDelete = async id => {\n const result = window.confirm('Are you sure you want to delete this business client?');\n if (result) {\n setDeleting(true);\n try {\n await deleteBusinessClient(id);\n fetchBusinessClients();\n setSuccessMessage('Business Client Deleted!');\n } catch (error) {\n setErrorMessage(error);\n } finally {\n setDeleting(false);\n }\n }\n };\n\n const handleEdit = async id => {\n history.push(`/manage-business-clients/${id}`);\n };\n\n useEffect(() => {\n fetchBusinessClients();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [sortDirection, selectedSort, page, perPage]);\n\n const handleClickColumn = (column: string) => {\n setSelectedSort(column);\n setSortDirection({\n ...sortDirection,\n [column]: sortDirection[column] === ASC_SORT ? DESC_SORT : ASC_SORT\n });\n };\n const columns = useMemo(() => {\n return [\n {\n Header: 'Business Client',\n accessor: 'name',\n isServerSorted: selectedSort === 'Name',\n isServerSortedDesc: sortDirection.Name === DESC_SORT,\n handleClickColumn: () => handleClickColumn('Name')\n },\n {\n Header: 'Broker',\n accessor: 'broker.name',\n isServerSorted: selectedSort === 'Broker',\n isServerSortedDesc: sortDirection.Broker === DESC_SORT,\n handleClickColumn: () => handleClickColumn('Broker')\n },\n {\n id: 'actions',\n Header: '',\n className: classes.editButton,\n Cell: ({\n cell: {\n row: { original }\n }\n }: {\n cell: { row: { original: IBusinessClient } };\n }) => {\n return (\n <>\n }\n onClick={async () => {\n handleEdit(original.businessClientId);\n }}\n >\n Edit\n \n }\n onClick={() => {\n handleDelete(original.businessClientId);\n }}\n >\n Delete\n \n >\n );\n }\n }\n ];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [businessClients, sortDirection, selectedSort, page, perPage]);\n\n const hasData = businessClients && businessClients.length > 0;\n const isMobile = useMediaQuery('(max-width: 960px)');\n\n useDebounce(\n () => {\n if (searchValue) {\n fetchBusinessClients(searchValue, 1);\n }\n },\n 500,\n [searchValue]\n );\n\n return (\n <>\n {isDeleting && (\n \n Deleting...\n \n )}\n \n \n \n
\n \n \n \n \n ),\n endAdornment: searchValue ? (\n {\n setSearchValue('');\n fetchBusinessClients(null);\n }}\n >\n \n \n ) : null\n }}\n onChange={e => {\n setSearchValue(e.target.value);\n }}\n />\n \n }\n onClick={() => showAddNewBusinessClientModal(true)}\n color='primary'\n variant='contained'\n className={classes.addButton}\n >\n Add Business Client\n \n \n
handleEdit(bussinessClient.businessClientId),\n handleDelete: (bussinessClient: IBusinessClient) => handleDelete(bussinessClient.businessClientId)\n }}\n />\n\n showAddNewBusinessClientModal(false)}\n onSave={(result) => { setSearchValue(result) }} />\n {!isLoading && hasData && (\n \n )}\n \n \n setErrorMessage('')} variant='error' />\n setSuccessMessage('')} variant='success' />\n >\n );\n});\n\nconst useStyles = makeStyles((theme: Theme) => ({\n wrapper: {\n paddingTop: theme.spacing(1),\n [theme.breakpoints.up('md')]: {\n paddingTop: theme.spacing(0.125)\n }\n },\n addButton: {\n width: '100%',\n [theme.breakpoints.up('sm')]: {\n width: 'auto'\n }\n },\n bold: {\n fontWeight: 'bold'\n },\n paginationWrapper: {\n margin: theme.spacing(0.5, 0)\n },\n mobileItem: {\n border: `1px solid ${theme.palette.grey[300]}`,\n padding: theme.spacing(0.5)\n },\n editButton: {\n textAlign: 'right'\n },\n deleteButton: {\n marginLeft: theme.spacing(0.5),\n color: theme.palette.error.main\n },\n searchIcon: {\n color: theme.palette.grey[500]\n },\n searchCloseIcon: {\n cursor: 'pointer',\n color: theme.palette.grey[500]\n },\n searchWrapper: {\n marginBottom: '1rem',\n display: 'flex',\n flexDirection: 'column',\n [theme.breakpoints.up('sm')]: {\n flexDirection: 'row'\n }\n }\n}));\n","import React, { FC } from 'react';\nimport { Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport clsx from 'clsx';\n// Components\nimport { FormLabel, Accordion, AccordionSummary, AccordionDetails, Typography, IconButton } from '@mui/material';\nimport { Delete, ExpandMore, Edit } from '@mui/icons-material';\n// Types\nimport { IBroker } from '../../../models';\n\ninterface IMobileManageBroker {\n original: IBroker;\n handleEdit: (val: IBroker) => void;\n handleDelete: (val: IBroker) => void;\n}\n\nexport const MobileManageBroker: FC = ({ original, handleEdit, handleDelete }) => {\n const classes = useStyles();\n const { name } = original;\n\n return (\n \n } aria-controls='panel1a-content' id='panel1a-header'>\n \n
\n {name}\n \n
\n {\n e.stopPropagation();\n handleEdit(original);\n }}\n size=\"large\">\n \n \n {\n e.stopPropagation();\n handleDelete(original);\n }}\n size=\"large\">\n \n \n
\n
\n \n \n \n \n Broker Name:\n \n {name || '--'}\n
\n \n \n );\n};\n\nconst useStyles = makeStyles((theme: Theme) => ({\n root: {\n maxWidth: '100%',\n border: `1px solid ${theme.palette.grey[300]}`,\n overflowX: 'hidden'\n },\n accordion: {\n padding: '0 16px',\n '&& .MuiAccordionSummary-expandIcon': {\n padding: 3\n }\n },\n topPanelSummaryWrapper: {\n marginTop: theme.spacing(0.5),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '100%',\n '&:first-child': { marginTop: 0 }\n },\n panelSummaryWrapper: {\n '&:first-child': { marginTop: 0 }\n },\n details: {\n display: 'flex',\n flexDirection: 'column',\n padding: '12px 16px',\n backgroundColor: theme.palette.grey[100]\n },\n roleWrapper: {\n display: 'flex',\n alignItems: 'center'\n },\n editButton: {\n padding: `2px 5px`\n },\n deleteButton: {\n padding: `2px 5px`,\n color: theme.palette.error.main\n },\n boldName: {\n color: theme.palette.primary.main,\n fontWeight: 600\n },\n subLabelEmail: {\n marginRight: 10\n },\n buttonsWrapper: {\n display: 'flex'\n }\n}));\n","import clsx from 'clsx';\nimport { FormHelperText, Typography } from '@mui/material';\nimport { alpha, Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport React, { FC } from 'react';\nimport { DropzoneState } from 'react-dropzone';\n\ninterface IFileDropProps extends DropzoneState {\n error?: Error | null;\n id: string;\n title: string;\n className?: string;\n}\n\nexport const FileDrop: FC = ({ children, error, id, title, className, ...props }) => {\n const classes = useStyles();\n\n return (\n \n
0) || error\n ? classes.draggedFiles\n : props.isDragActive\n ? classes.isDragActive\n : props.isFocused\n ? classes.isFocused\n : ''\n )}\n {...props.getRootProps()}\n >\n
\n
\n {title}\n \n
{children}
\n {props.isDragActive && (\n
\n Drop your image\n
\n )}\n
\n {((props.draggedFiles && props.draggedFiles.length > 0) || error) && (\n
{error ? error.message : <>Invalid file. Please try again.>}\n )}\n
\n );\n};\n\nconst useStyles = makeStyles((theme: Theme) => ({\n active: {\n alignItems: 'center',\n backgroundColor: alpha(theme.palette.common.white, 0.9),\n bottom: 0,\n color: theme.palette.primary.main,\n display: 'flex',\n fontSize: '1.125rem',\n fontWeight: 700,\n justifyContent: 'center',\n left: 0,\n position: 'absolute',\n right: 0,\n textAlign: 'center',\n textTransform: 'uppercase',\n top: 0,\n width: '100%',\n zIndex: 1\n },\n fileDrop: {\n margin: theme.spacing(2, 0),\n width: '100%'\n },\n dropzone: {\n border: `2px dashed ${theme.palette.grey[300]}`,\n borderRadius: theme.shape.borderRadius,\n boxShadow: '0 2px 3px rgba(0,0,0,0.06)',\n padding: theme.spacing(3),\n position: 'relative',\n width: '100%'\n },\n isDragActive: {\n border: `2px solid ${theme.palette.primary.main}`\n },\n isFocused: {\n border: `2px dashed ${theme.palette.primary.main}`,\n outline: 0\n },\n instructions: {\n color: theme.palette.grey[500],\n fontSize: '0.875rem',\n textAlign: 'center',\n '& > *': {\n margin: theme.spacing(1, 0)\n },\n '& > p': {\n fontSize: '0.875rem'\n }\n },\n draggedFiles: {\n border: `2px solid ${theme.palette.error.main}`\n },\n title: {\n color: theme.palette.grey[600],\n fontSize: '1rem',\n fontWeight: 700,\n marginBottom: theme.spacing(1),\n textAlign: 'center'\n }\n}));\n","import { Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport createStyles from '@mui/styles/createStyles';\nimport { Divider, Typography } from '@mui/material';\nimport React, { FC } from 'react';\nimport clsx from 'clsx';\n// icons\nimport { Delete } from '@mui/icons-material';\n// components\nimport { Button } from '../button';\n\nexport interface IFileUploadedPreview {\n name: string;\n src: string;\n}\n\ninterface IFileUploadedProps {\n backgroundColor?: string;\n id: string;\n name?: string;\n onRemove: () => void;\n src: string;\n title?: string;\n margin?: boolean;\n border?: boolean;\n className?: string;\n}\n\nexport const FileUploaded: FC = ({ backgroundColor, id, name, onRemove, src, title, margin = true, border = true, className }) => {\n const classes = useStyles({ backgroundColor, id, name, onRemove, src, title });\n return (\n \n
\n {title && (\n
\n {title}\n \n )}\n

\n
\n
\n
\n {name && (\n \n {name}\n \n )}\n \n
\n
\n );\n};\n\nconst useStyles = makeStyles((theme: Theme) => {\n return createStyles({\n actions: {\n alignItems: 'center',\n display: 'flex',\n flexWrap: 'wrap',\n padding: theme.spacing(1)\n },\n fileUploaded: {\n border: `1px solid ${theme.palette.grey[300]}`,\n borderRadius: 0,\n boxShadow: '0 2px 3px rgba(0,0,0,0.06)',\n margin: theme.spacing(2, 0),\n width: '100%'\n },\n display: {\n padding: theme.spacing(1.5, 2, 2, 2)\n },\n divider: {},\n icon: {\n height: '15px',\n marginLeft: theme.spacing(0.5)\n },\n image: {\n backgroundColor: props => (props.backgroundColor ? props.backgroundColor : '#ffffff'),\n maxHeight: '350px',\n maxWidth: '100%',\n width: '100%',\n padding: theme.spacing(1)\n },\n name: {\n margin: theme.spacing(0, 1, 1, 0),\n wordBreak: 'break-word'\n },\n remove: {\n color: theme.palette.error.main,\n fontSize: theme.typography.caption.fontSize,\n margin: 0\n },\n title: {\n color: theme.palette.grey[600],\n fontSize: '1rem',\n fontWeight: 700,\n marginBottom: theme.spacing(1)\n },\n marginOff: {\n margin: 0\n },\n borderOff: {\n border: 'none'\n }\n });\n});\n","import React, { FC, useState } from 'react';\nimport { Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { Form, Formik } from 'formik';\nimport * as Yup from 'yup';\nimport { deepEqual } from 'fast-equals';\nimport { Add, Close, RecentActors, Save } from '@mui/icons-material';\n// Components\nimport { Loader, Modal, Toast } from '../../../components';\nimport { Button, Card, CardActions, CardContent, CardHeader, Fade, FormHelperText, Grid, Paper, TextField, Typography } from '@mui/material';\n// models\nimport { IBroker } from '../../../models';\n// fetch\nimport { createBroker, storeBrokerCompanyLogo, updateBroker } from '../../../fetch';\nimport { FileDrop, FileUploaded } from '../../../components/file';\nimport { useDropzone } from 'react-dropzone';\n\ninterface IBrokerModal {\n open: boolean;\n onClose: () => void;\n onSave: () => void;\n currentBroker: IBroker | null;\n}\n\nconst BrokerSchema = Yup.object().shape({\n name: Yup.string().max(255, 'Max 255 characters').required('Required'),\n logoUrl: Yup.string()\n});\n\nexport const BrokerModal: FC = ({ open, onClose, onSave, currentBroker }) => {\n const classes = useStyles();\n const [isError, showError] = useState(false);\n const [isSuccess, showSuccess] = useState(false);\n const [errorMessage, setErrorMessage] = useState('');\n const [successMessage, setSuccessMessage] = useState('');\n const [previewError, setPreviewError] = useState('');\n const [brokerLogo, setBrokerLogo] = useState(undefined);\n\n return (\n <>\n {\n try {\n if (currentBroker) {\n const res = await updateBroker(currentBroker.brokerId, values);\n if (res.Errors && Object.values(res.Errors)[0] && Object.values(Object.values(res.Errors)[0])[0]) {\n setErrorMessage(Object.values(Object.values(res.Errors)[0])[0] as string);\n return showError(true);\n }\n showSuccess(true);\n setSuccessMessage('Broker Updated!');\n onClose();\n onSave();\n actions.resetForm();\n } else {\n const res = await createBroker({\n name: values.name,\n logoUrl: ''\n });\n if (res.Errors && Object.values(res.Errors)[0] && Object.values(Object.values(res.Errors)[0])[0]) {\n setErrorMessage(Object.values(Object.values(res.Errors)[0])[0] as string);\n return showError(true);\n }\n if (brokerLogo) {\n const updateRes = await updateBroker(res, {\n name: values.name,\n logoUrl: values.logoUrl\n });\n if (updateRes.Errors && Object.values(updateRes.Errors)[0] && Object.values(Object.values(updateRes.Errors)[0])[0]) {\n setErrorMessage(Object.values(Object.values(updateRes.Errors)[0])[0] as string);\n return showError(true);\n }\n }\n showSuccess(true);\n setSuccessMessage('Broker Added!');\n onClose();\n onSave();\n actions.resetForm();\n }\n } catch (error) {\n console.log(error);\n if (error && error.Errors && Object.values(error.Errors)[0] && Object.values(Object.values(error.Errors)[0])[0]) {\n setErrorMessage(Object.values(Object.values(error.Errors)[0])[0] as string);\n }\n showError(true);\n }\n }}\n >\n {({ resetForm, isSubmitting, values, initialValues, setFieldValue, errors, setFieldTouched, handleSubmit, dirty, isValid, handleBlur }) => {\n /* eslint-disable react-hooks/rules-of-hooks */\n const imageDZUrlEdit = (acceptedFile: File) => {\n const imageUrl = URL.createObjectURL(acceptedFile);\n const img = document.createElement('img');\n img.src = imageUrl;\n img.onload = async () => {\n // icon needs a minimum height of 140px\n if (img.height < 140) {\n setFieldValue('logoUrl', '');\n setPreviewError(`The image provided is too small. The minimum height is 140 pixels tall. Your image is ${img.width} pixels wide by ${img.height} pixels tall.`);\n } else {\n const create = new FormData();\n create.append('image', acceptedFile);\n try {\n const imageUrl = await storeBrokerCompanyLogo(currentBroker.brokerId, create);\n setFieldValue('logoUrl', imageUrl);\n } catch (error) {\n if (error && error.Errors && Object.values(error.Errors)[0] && Object.values(Object.values(error.Errors)[0])[0]) {\n setErrorMessage(Object.values(Object.values(error.Errors)[0])[0] as string);\n }\n showError(true);\n }\n setPreviewError('');\n }\n };\n };\n const imageDZUrlAdd = (acceptedFile: File) => {\n const imageUrl = URL.createObjectURL(acceptedFile);\n const img = document.createElement('img');\n img.src = imageUrl;\n img.onload = async () => {\n // icon needs a minimum height of 140px\n if (img.height < 140) {\n setBrokerLogo(null);\n setPreviewError(`The image provided is too small. The minimum height is 140 pixels tall. Your image is ${img.width} pixels wide by ${img.height} pixels tall.`);\n } else {\n setBrokerLogo(acceptedFile);\n setFieldValue('logoUrl', imageUrl);\n setPreviewError('');\n }\n };\n };\n const imageDZUrl = useDropzone({\n accept: '.jpg, .jpeg, .png',\n onDrop: acceptedFiles => {\n if (acceptedFiles.length > 0 && currentBroker) {\n imageDZUrlEdit(acceptedFiles[0]);\n } else if (acceptedFiles.length > 0) {\n imageDZUrlAdd(acceptedFiles[0]);\n }\n }\n });\n /* eslint-enable react-hooks/rules-of-hooks */\n return (\n {\n if (!deepEqual(initialValues, values)) {\n const result = window.confirm('You have unsaved changes, are you sure you want to exit?');\n if (result) {\n resetForm();\n onClose();\n } else {\n return;\n }\n } else {\n onClose();\n resetForm();\n }\n }}\n maxWidth='sm'\n >\n {isSubmitting && }\n \n \n \n \n );\n }}\n \n showSuccess(false)} variant='success' />\n showError(false)}\n variant='error'\n />\n >\n );\n};\n\nconst useStyles = makeStyles((theme: Theme) => ({\n modal: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n },\n primaryHeader: {\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.common.white,\n marginBottom: theme.spacing(1)\n },\n subHeader: {\n marginTop: theme.spacing(2),\n fontWeight: 'bold',\n marginBottom: '-16px'\n },\n spacingInput: {\n marginTop: theme.spacing(0.5)\n },\n marginBottom: {\n marginBottom: theme.spacing(1)\n },\n logoUploaded: {\n margin: theme.spacing(1, 0, 0)\n },\n logoDrop: {\n marginTop: theme.spacing(1),\n marginBottom: 0\n },\n column: {\n display: 'flex',\n flexDirection: 'column',\n '& > div:not(:first-of-type)': {\n marginTop: theme.spacing(1)\n }\n },\n content: {\n marginTop: theme.spacing(1)\n },\n bold: {\n fontWeight: 'bold'\n },\n cardContent: {\n paddingTop: 0\n },\n cardActions: {\n '@media (max-width: 450px)': {\n flexDirection: 'column'\n }\n },\n saveButton: {\n '@media (max-width: 450px)': {\n width: '100%'\n }\n },\n cancelButton: {\n '@media (max-width: 450px)': {\n width: '100%',\n marginTop: theme.spacing(0.5),\n marginLeft: `0 !important`\n }\n }\n}));\n","import React, { useMemo, useState, useEffect } from 'react';\nimport { Grid, TextField, InputAdornment } from '@mui/material';\nimport { Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n// Components\nimport { Page } from '../../../components/skeleton';\nimport { Table, Pagination, Toast, PageTitle, Button, Loader } from '../../../components';\nimport { MobileManageBroker } from './MobileManageBroker';\nimport { BrokerModal } from './BrokerModal';\n// icons\nimport { Edit, Add, Delete, Search, Close } from '@mui/icons-material';\n// Types\nimport { SortOptions, DESC_SORT, ASC_SORT, IBroker } from '../../../models';\n// fetch\nimport { getBrokers, deleteBroker, getBroker } from '../../../fetch';\n// hooks\nimport { useDebounce } from '../../../hooks';\n\nexport const ManageBrokers = () => {\n const classes = useStyles();\n\n // state\n const [page, setPage] = useState(0);\n const [perPage, setRowsPerPage] = useState(10);\n const [recordCount, setRecordCount] = useState(0);\n const [brokers, setBrokers] = useState([]);\n const [isLoading, setIsLoading] = useState(true);\n const [errorMessage, setErrorMessage] = useState('');\n const [successMessage, setSuccessMessage] = useState('');\n const [sortDirection, setSortDirection] = useState<{\n Name?: SortOptions;\n }>({\n Name: ASC_SORT\n });\n const [selectedSort, setSelectedSort] = useState('Name');\n const [isBrokerModalOpen, showBrokerModal] = useState(false);\n const [currentBroker, setCurrentBroker] = useState(null);\n const [isDeleting, setDeleting] = React.useState(false);\n const [searchValue, setSearchValue] = useState('');\n const [searchValueDebounced, setSearchValueDebounced] = useState('');\n\n const fetchBroker = async (id: number) => {\n try {\n const res = await getBroker(id);\n setCurrentBroker(res);\n } catch (error) {\n console.error(error);\n setErrorMessage('Error loading brokers, please try again.');\n }\n };\n\n const fetchBrokers = async () => {\n setIsLoading(true);\n try {\n const res = await getBrokers({\n page: searchValueDebounced ? 1 : page + 1,\n perPage,\n sortBy: selectedSort,\n sortDirection: sortDirection[selectedSort] as string,\n search: searchValueDebounced\n });\n if (searchValueDebounced) {\n setPage(0);\n }\n if (res.records) {\n setBrokers(res.records);\n setRecordCount(res.totalRecordCount);\n } else {\n console.error(`No 'records' on brokers response.`);\n setErrorMessage('Error loading brokers, please try again.');\n }\n } catch (error) {\n console.error(error);\n setErrorMessage('Error loading brokers, please try again.');\n }\n setIsLoading(false);\n };\n useEffect(() => {\n fetchBrokers();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [sortDirection, selectedSort, page, perPage]);\n\n const handleClickColumn = (column: string) => {\n setSelectedSort(column);\n setSortDirection({\n ...sortDirection,\n [column]: sortDirection[column] === ASC_SORT ? DESC_SORT : ASC_SORT\n });\n };\n\n const handleDelete = async id => {\n const result = window.confirm('Are you sure you want to delete this broker?');\n if (result) {\n setDeleting(true);\n try {\n await deleteBroker(id);\n fetchBrokers();\n setSuccessMessage('Broker Deleted!');\n } catch (error) {\n setErrorMessage(error);\n } finally {\n setDeleting(false);\n }\n }\n };\n\n const columns = useMemo(() => {\n return [\n {\n Header: 'Name',\n accessor: 'name',\n isServerSorted: selectedSort === 'Name',\n isServerSortedDesc: sortDirection.Name === DESC_SORT,\n handleClickColumn: () => handleClickColumn('Name')\n },\n {\n id: 'actions',\n Header: '',\n className: classes.editButton,\n Cell: ({\n cell: {\n row: { original }\n }\n }: {\n cell: { row: { original: IBroker } };\n }) => {\n return (\n <>\n }\n onClick={() => {\n fetchBroker(original.brokerId);\n showBrokerModal(true);\n }}\n >\n Edit\n \n }\n onClick={() => {\n handleDelete(original.brokerId);\n }}\n >\n Delete\n \n >\n );\n }\n }\n ];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [brokers, sortDirection, selectedSort, page, perPage]);\n\n const hasData = brokers && brokers.length > 0;\n const isMobile = useMediaQuery('(max-width: 960px)');\n const isSmMobile = useMediaQuery('(max-width: 600px)');\n\n useDebounce(\n () => {\n setSearchValueDebounced(searchValue);\n },\n 500,\n [searchValue]\n );\n\n useEffect(() => {\n fetchBrokers();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [searchValueDebounced]);\n\n return (\n <>\n {isDeleting && (\n \n Deleting...\n \n )}\n \n \n \n } onClick={() => showBrokerModal(true)} color='primary' variant='contained' className={classes.addBrokerButton}>\n Add Broker\n \n \n \n
\n \n \n \n \n ),\n endAdornment: searchValue ? (\n {\n setSearchValue('');\n setSearchValueDebounced('');\n }}\n >\n \n \n ) : null\n }}\n onChange={e => {\n setSearchValue(e.target.value);\n }}\n />\n \n
\n
{\n await fetchBroker(broker.brokerId);\n // setCurrentBroker(broker);\n showBrokerModal(true);\n },\n handleDelete: (broker: IBroker) => handleDelete(broker.brokerId)\n }}\n />\n {!isLoading && hasData && (\n \n )}\n \n \n setErrorMessage('')} variant='error' />\n setSuccessMessage('')} variant='success' />\n {\n showBrokerModal(false);\n setTimeout(() => {\n setCurrentBroker(null);\n }, 500);\n }}\n onSave={() => fetchBrokers()}\n />\n >\n );\n};\n\nconst useStyles = makeStyles((theme: Theme) => ({\n wrapper: {\n paddingTop: theme.spacing(1),\n [theme.breakpoints.up('md')]: {\n paddingTop: theme.spacing(0.125)\n }\n },\n bold: {\n fontWeight: 'bold'\n },\n paginationWrapper: {\n margin: theme.spacing(0.5, 0)\n },\n editButton: {\n textAlign: 'right'\n },\n deleteButton: {\n marginLeft: theme.spacing(0.5),\n color: theme.palette.error.main\n },\n addBrokerButton: {\n width: '100%',\n [theme.breakpoints.up('sm')]: {\n width: 'auto'\n }\n },\n searchIcon: {\n color: theme.palette.grey[500]\n },\n searchCloseIcon: {\n cursor: 'pointer',\n color: theme.palette.grey[500]\n },\n searchWrapper: {\n marginBottom: theme.spacing(1)\n }\n}));\n","import { Theme } from \"@mui/material\";\nimport { theme } from \"../../../../styles/theme\";\nimport { makeStyles } from '@mui/styles';\n\nexport const formLabel = { color: theme.palette.primary.main }\n\nexport const container = {\n marginBottom: '2em'\n};\n\nexport const addClassButton = {\n marginTop: theme.spacing(1)\n};\n\nexport const removeButton = {\n color: theme.palette.error.main\n};\n\nexport const classText = {\n margin: theme.spacing(0.5, 0)\n};\n\nexport const useSharedStyles = makeStyles((theme: Theme) => ({\n formLabel: formLabel,\n container,\n addClassButton,\n removeButton,\n classText,\n tableCellSmall: {\n padding: '0.7em 0.4em',\n },\n logoUploaded: {\n margin: theme.spacing(1, 0, 0)\n },\n logoDrop: {\n marginTop: theme.spacing(1),\n marginBottom: 0\n },\n outlinedLabel: {\n backgroundColor: theme.palette.common.white,\n paddingLeft: 2,\n paddingRight: 2\n },\n tableCell: {\n padding: '0.7em 0.4em',\n\n '@media (min-width: 820px)': {\n minWidth: '190px'\n },\n\n '@media (max-width: 820px)': {\n minWidth: '180px'\n },\n },\n alertMessage: {\n '&& ul': {\n margin: 0,\n padding: `0 0 0 ${theme.spacing(1)}`\n }\n },\n removeButtonWrapper: {\n marginTop: '-16px',\n textAlign: 'right'\n },\n paperBorder: {\n border: `1px solid ${theme.palette.grey[300]}`\n },\n\n tabContent: {\n minHeight: '35vh',\n marginTop: theme.spacing(1.5),\n [theme.breakpoints.up('sm')]: {\n paddingLeft: theme.spacing(1),\n paddingRight: theme.spacing(1)\n }\n },\n}));","import { Button, Grid, TextField, InputAdornment } from '@mui/material';\nimport { Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { FC, useState } from 'react';\nimport { QRCode } from '../../../models';\nimport { formLabel } from './shared/styles';\n\ninterface IMobileAppInfoTab {\n qrCode: QRCode;\n appToggle: boolean;\n handleLinkChange: (val: string) => void;\n}\n\nexport const QRCodeLink: FC = ({ qrCode, appToggle, handleLinkChange }) => {\n const classes = useStyles();\n const disableFields = appToggle ? false : true;\n\n const [isCopied, setCopied] = useState(false);\n return (\n <>\n \n \n \n \n \n {`${qrCode.link.split('.com/')[0]}.com/`}\n }}\n onChange={e => {\n handleLinkChange(e.target.value);\n }}\n />\n \n >\n );\n};\n\nconst useStyles = makeStyles((theme: Theme) => ({\n qrCode: {\n display: 'flex',\n alignItems: 'center'\n },\n qrCodeButton: {\n marginLeft: theme.spacing(1)\n },\n divider: {\n flexBasis: '100%',\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n formLabel: formLabel,\n radioGroupLabel: { marginBottom: theme.spacing(0.5) },\n qrAdornment: {\n marginRight: 1\n }\n}));\n","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgChat(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 256.000000 256.000000\",\n preserveAspectRatio: \"xMidYMid meet\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.000000,256.000000) scale(0.100000,-0.100000)\",\n stroke: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M242 2414 c-12 -8 -22 -13 -22 -10 0 12 -49 -42 -64 -71 -14 -29 -16 -112 -16 -872 l0 -841 25 -16 c16 -10 34 -14 51 -10 16 4 108 89 230 211 l205 205 634 0 c429 0 635 4 635 11 0 6 4 7 10 4 9 -6 89 69 91 86 1 5 2 13 3 18 0 5 4 13 9 17 4 4 7 265 7 579 l0 572 -23 43 c-16 30 -37 51 -67 67 l-43 23 -821 0 c-727 0 -824 -2 -844 -16z m1675 -50 c24 -9 41 -19 39 -22 -3 -2 1 -14 9 -26 13 -17 15 -107 15 -594 0 -571 0 -574 -21 -604 -42 -59 -31 -58 -709 -58 l-620 0 -206 -202 c-113 -112 -212 -204 -220 -206 -12 -3 -14 110 -12 820 3 775 4 825 21 856 10 17 25 32 33 32 8 0 14 4 14 10 0 6 295 9 807 10 728 0 811 -1 850 -16z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M579 1023 c-13 -16 -12 -17 4 -4 9 7 17 15 17 17 0 8 -8 3 -21 -13z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2198 1615 c4 -22 9 -25 49 -25 56 0 97 -21 117 -61 14 -28 16 -107 16 -656 0 -592 -1 -623 -18 -623 -19 0 -102 78 -102 96 0 6 -48 57 -106 112 l-106 102 -466 1 c-257 1 -478 4 -492 8 -45 12 -70 80 -70 189 0 91 -1 93 -22 90 -22 -3 -23 -7 -24 -107 -2 -120 5 -144 49 -184 66 -58 56 -57 559 -57 l463 -1 50 -50 c28 -29 50 -54 50 -58 0 -3 47 -52 104 -109 92 -92 106 -103 130 -97 14 4 31 11 38 17 17 14 19 1328 3 1328 -6 0 -8 5 -5 10 3 6 1 10 -5 10 -6 0 -9 4 -6 8 3 5 -8 22 -24 37 -17 16 -30 26 -30 22 0 -3 -16 1 -35 9 -19 7 -54 14 -78 14 -42 0 -44 -1 -39 -25z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgChat);\nexport default __webpack_public_path__ + \"static/media/Chat.dfad26f4.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgWellness(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 256.000000 256.000000\",\n preserveAspectRatio: \"xMidYMid meet\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.000000,256.000000) scale(0.100000,-0.100000)\",\n stroke: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M835 2249 c-16 -5 -43 -12 -60 -15 -16 -3 -33 -10 -37 -17 -4 -7 -8 -8 -8 -4 0 5 -13 -1 -29 -12 -15 -11 -31 -18 -34 -14 -4 3 -9 -2 -13 -11 -3 -9 -12 -16 -19 -16 -7 0 -15 -7 -19 -15 -3 -8 -17 -20 -31 -25 -14 -5 -29 -20 -34 -32 -5 -13 -22 -36 -38 -53 -15 -16 -27 -33 -25 -37 1 -5 -2 -8 -8 -8 -6 0 -9 -3 -8 -7 1 -5 -8 -27 -20 -51 -28 -53 -37 -104 -37 -212 0 -112 8 -158 39 -218 14 -27 22 -52 19 -56 -4 -3 -1 -6 6 -6 7 0 10 -4 6 -9 -3 -5 2 -16 10 -25 8 -8 24 -34 34 -58 10 -24 26 -49 35 -57 8 -7 13 -17 11 -22 -3 -4 3 -12 12 -18 10 -6 14 -11 9 -11 -5 0 3 -12 18 -26 14 -15 26 -32 26 -38 0 -6 8 -19 18 -28 37 -37 52 -55 52 -65 0 -6 11 -18 25 -27 14 -9 24 -20 22 -24 -1 -5 15 -23 36 -41 44 -39 48 -67 10 -84 -16 -6 -31 -16 -35 -22 -4 -5 -8 -6 -8 -2 0 5 -7 1 -16 -7 -8 -9 -22 -16 -30 -16 -8 0 -14 -5 -14 -11 0 -5 -4 -8 -8 -5 -5 3 -21 -6 -36 -19 -16 -14 -32 -23 -35 -20 -4 2 -20 -7 -36 -21 -15 -13 -34 -24 -42 -24 -7 0 -13 -5 -13 -11 0 -5 -4 -8 -9 -4 -5 3 -12 1 -16 -5 -9 -15 -45 -12 -51 5 -10 24 -32 18 -146 -38 -77 -37 -108 -57 -108 -70 0 -32 24 -28 115 18 85 43 128 55 122 37 -1 -5 9 -24 23 -42 14 -18 25 -36 25 -40 0 -4 11 -22 25 -40 14 -18 25 -36 25 -40 0 -4 11 -22 25 -40 14 -18 25 -36 25 -40 0 -4 11 -22 25 -40 14 -18 25 -36 25 -40 0 -4 11 -22 25 -40 14 -18 24 -36 23 -40 -1 -3 11 -22 28 -41 31 -37 38 -69 14 -69 -8 0 -15 -4 -15 -8 0 -8 -46 -35 -62 -36 -4 -1 -17 -9 -28 -19 -11 -9 -24 -17 -28 -17 -4 0 -8 -9 -9 -20 -1 -11 4 -20 12 -20 22 0 99 36 114 54 7 9 20 16 28 16 21 0 81 62 65 68 -18 6 -15 49 6 56 19 8 65 33 102 58 22 15 69 17 375 20 l350 3 53 27 c28 15 52 25 52 22 0 -2 19 8 42 23 24 14 49 26 55 26 7 0 13 4 13 9 0 5 5 6 10 3 6 -3 10 -1 10 4 0 6 3 10 8 9 4 -1 43 15 87 37 44 21 83 38 88 37 4 -1 7 3 7 9 0 5 4 8 8 5 5 -3 25 6 45 20 20 14 37 22 37 18 0 -3 24 8 54 24 30 17 57 28 60 25 3 -4 6 -1 6 6 0 7 4 10 9 7 15 -10 96 70 116 114 16 36 17 48 7 85 -11 40 -68 112 -84 107 -5 -1 -8 2 -8 7 0 5 -28 9 -62 9 -51 0 -76 -7 -130 -34 -38 -19 -68 -32 -68 -28 0 3 -21 -6 -46 -21 -54 -32 -94 -41 -94 -22 0 7 27 38 60 68 33 29 60 59 60 65 0 7 11 19 25 28 14 9 25 23 25 31 0 8 9 19 20 25 11 6 20 17 20 25 0 8 8 19 18 24 10 5 24 22 32 38 8 15 24 38 35 50 11 12 20 26 20 31 0 5 11 24 25 42 14 18 24 35 23 39 -1 3 9 20 22 37 13 17 21 34 18 38 -4 3 0 6 7 6 7 0 11 3 7 6 -3 3 7 31 23 63 29 57 32 65 51 182 11 65 8 91 -26 241 -5 23 -48 102 -58 106 -4 2 -5 8 -1 13 3 5 -2 12 -10 15 -9 3 -16 11 -16 18 0 15 -72 86 -87 86 -6 0 -13 7 -17 15 -3 8 -12 15 -20 15 -8 0 -16 3 -18 8 -5 13 -85 52 -92 45 -3 -3 -6 -1 -6 5 0 7 -3 11 -7 10 -5 -1 -32 4 -61 10 -71 16 -198 15 -255 -2 -25 -7 -48 -11 -51 -8 -4 3 -6 -1 -6 -8 0 -7 -3 -10 -6 -7 -7 7 -87 -33 -92 -46 -2 -4 -8 -5 -12 -2 -5 3 -16 -5 -24 -17 -9 -12 -16 -18 -16 -13 0 5 -20 -10 -44 -34 -25 -24 -44 -49 -43 -54 1 -6 -6 -13 -16 -15 -13 -2 -41 18 -85 63 -37 37 -84 74 -104 82 -21 8 -38 19 -38 23 0 9 -21 18 -58 25 -11 2 -37 8 -58 14 -47 13 -197 13 -239 0z m264 -58 c28 -10 52 -16 55 -13 4 3 6 0 6 -7 0 -7 4 -10 9 -7 4 3 21 -5 37 -19 15 -13 30 -23 33 -22 8 1 121 -114 121 -123 0 -3 10 -16 23 -28 19 -17 25 -19 40 -8 9 7 17 18 17 25 0 6 5 11 10 11 6 0 10 5 10 10 0 12 91 103 103 104 4 1 12 8 17 16 5 8 10 11 10 6 0 -5 8 -2 18 7 9 8 48 27 86 41 95 36 230 37 329 2 37 -13 77 -32 87 -41 11 -10 20 -14 20 -9 0 5 5 2 10 -6 5 -8 13 -15 17 -15 12 0 124 -117 118 -123 -3 -3 4 -15 16 -28 11 -12 21 -28 23 -35 1 -8 11 -39 22 -69 27 -78 25 -216 -4 -287 -12 -29 -19 -53 -16 -53 3 0 -6 -20 -20 -44 -14 -24 -22 -46 -19 -50 3 -3 0 -6 -7 -6 -7 0 -10 -3 -7 -7 4 -3 -4 -21 -18 -38 -13 -18 -21 -35 -18 -39 4 -3 1 -6 -5 -6 -7 0 -12 -4 -12 -10 0 -5 -7 -18 -15 -27 -8 -10 -16 -22 -17 -28 -2 -12 -16 -30 -40 -52 -9 -9 -15 -20 -12 -24 3 -5 -4 -14 -16 -21 -11 -7 -20 -17 -20 -23 0 -6 -9 -16 -20 -23 -12 -7 -19 -16 -16 -21 3 -4 -8 -18 -24 -30 -17 -12 -30 -26 -30 -31 0 -13 -236 -250 -249 -250 -6 0 -11 -4 -11 -10 0 -5 -6 -10 -14 -10 -9 0 -15 17 -18 54 -3 32 -11 61 -21 71 -10 9 -22 25 -28 36 -5 11 -14 17 -19 14 -4 -3 -10 1 -12 7 -4 10 -89 13 -381 14 -281 1 -381 5 -392 14 -8 7 -12 16 -10 21 3 4 -13 22 -35 40 -21 17 -37 35 -35 39 3 4 -7 15 -20 24 -14 9 -23 21 -20 26 3 5 -4 14 -15 20 -11 6 -20 16 -20 23 0 7 -12 23 -25 36 -14 13 -25 29 -25 37 0 8 -4 14 -10 14 -5 0 -10 4 -10 10 0 5 -7 18 -15 27 -8 10 -16 23 -16 28 -1 6 -14 28 -30 49 -15 21 -26 43 -23 48 3 4 0 8 -5 8 -6 0 -10 4 -9 8 2 4 -7 28 -19 52 -34 72 -53 152 -53 229 0 77 30 203 55 231 8 9 12 20 8 23 -3 4 -1 7 5 7 7 0 12 7 12 15 0 8 9 19 20 25 11 6 18 15 16 19 -3 4 8 21 24 36 17 16 30 25 30 20 0 -5 7 1 16 13 8 12 19 20 24 17 5 -3 12 1 17 8 8 14 73 52 73 43 0 -2 21 4 48 14 67 27 223 27 291 1z m519 -1296 c20 -14 33 -25 30 -25 -4 0 -3 -12 3 -27 13 -36 3 -74 -29 -111 l-28 -31 -238 -1 c-132 0 -243 -3 -247 -6 -18 -11 -9 -44 14 -49 13 -4 124 -5 248 -3 l224 4 70 31 c39 17 107 47 150 68 44 21 83 37 88 37 4 -1 7 2 7 6 0 5 6 9 13 9 18 0 211 85 219 97 4 6 8 8 8 3 0 -4 13 -1 30 8 16 8 42 15 58 15 30 0 102 -25 102 -36 0 -3 -6 -2 -12 2 -7 5 -3 -5 10 -20 32 -41 28 -77 -13 -126 -19 -23 -35 -39 -35 -36 0 5 -92 -38 -167 -77 -18 -10 -35 -17 -38 -17 -7 0 -109 -51 -115 -59 -3 -3 -11 -7 -18 -9 -25 -5 -167 -75 -170 -84 -2 -4 -8 -6 -13 -2 -5 3 -9 1 -9 -4 0 -5 -6 -9 -12 -10 -7 0 -42 -13 -78 -29 l-65 -28 -345 -5 -345 -5 -79 -47 c-43 -26 -84 -44 -92 -41 -8 3 -12 8 -9 13 2 4 -5 17 -16 28 -10 12 -19 24 -19 27 1 12 -52 95 -61 95 -5 0 -8 3 -7 8 3 12 -32 72 -42 72 -6 0 -9 3 -8 8 3 12 -32 72 -42 72 -6 0 -9 3 -8 8 1 4 -3 17 -10 30 -9 15 -10 27 -3 40 6 9 11 13 11 9 0 -9 60 24 60 33 0 4 6 7 13 7 15 0 149 82 159 97 4 6 8 8 8 3 0 -4 18 4 40 18 100 63 106 64 453 64 l318 1 37 -25z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1565 1770 c3 -5 1 -10 -5 -10 -6 0 -9 -4 -6 -8 3 -5 -6 -32 -20 -61 -13 -29 -26 -66 -29 -81 -3 -15 -16 -52 -30 -83 -13 -31 -27 -71 -30 -88 -3 -17 -14 -48 -25 -69 -11 -21 -21 -49 -24 -64 -15 -82 -31 -85 -66 -14 -14 28 -25 54 -25 57 0 3 -10 23 -23 43 -13 20 -25 46 -27 58 -4 23 -43 80 -54 80 -13 0 -51 -41 -51 -55 0 -8 -5 -15 -12 -15 -6 0 -8 -3 -5 -6 4 -4 -5 -20 -18 -36 -14 -16 -25 -36 -25 -44 0 -11 -25 -14 -134 -14 l-133 0 5 -25 4 -25 146 0 c80 0 143 3 139 6 -3 4 5 22 20 40 14 19 22 34 19 34 -4 0 1 11 10 25 9 14 22 25 28 25 15 0 58 -74 49 -84 -3 -3 0 -6 7 -6 7 0 11 -3 8 -6 -4 -3 5 -22 18 -41 13 -19 21 -39 18 -44 -3 -5 0 -9 6 -9 6 0 9 -4 6 -9 -3 -5 4 -21 15 -35 11 -15 22 -34 23 -44 4 -23 56 -30 56 -8 0 9 0 18 0 21 1 3 14 36 30 74 17 39 30 76 30 84 0 8 11 40 25 70 13 31 26 67 29 80 2 13 14 47 26 74 19 45 27 70 29 96 1 4 8 7 16 7 14 0 19 -12 16 -32 0 -5 4 -8 11 -8 6 0 9 -3 5 -6 -3 -4 5 -28 18 -54 13 -26 21 -50 18 -54 -4 -3 0 -6 7 -6 7 0 11 -3 7 -6 -3 -4 5 -28 18 -54 13 -26 21 -50 18 -54 -4 -3 0 -6 7 -6 7 0 10 -3 7 -6 -3 -4 -1 -16 5 -28 7 -11 11 -24 10 -27 -1 -4 57 -8 128 -8 l130 -2 0 26 0 25 -108 0 -108 0 -24 53 c-13 28 -29 68 -35 88 -7 20 -20 47 -29 60 -9 13 -16 31 -16 39 0 9 -12 39 -26 68 -14 28 -29 64 -33 78 -4 18 -15 28 -30 31 -13 2 -20 -1 -16 -7z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWellness);\nexport default __webpack_public_path__ + \"static/media/Wellness.a7169a34.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgRx(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 256.000000 256.000000\",\n preserveAspectRatio: \"xMidYMid meet\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.000000,256.000000) scale(0.100000,-0.100000)\",\n stroke: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M428 2424 c-42 -22 -58 -63 -58 -149 l0 -75 -43 0 c-23 0 -53 -7 -65 -16 -21 -14 -22 -22 -22 -138 0 -131 2 -136 51 -136 19 0 19 -16 19 -797 l-1 -798 22 -17 c19 -17 57 -18 460 -18 l439 0 0 25 0 25 -440 0 -440 0 0 790 0 790 488 -2 487 -3 3 -83 c2 -72 5 -83 20 -80 14 3 17 17 20 86 3 78 4 82 26 82 42 0 48 20 44 144 -2 71 -8 120 -15 127 -6 6 -34 14 -61 17 l-49 4 -6 86 c-5 83 -6 87 -41 119 l-36 33 -387 0 c-324 -1 -393 -3 -415 -16z m806 -40 c13 -5 16 -23 16 -95 l0 -89 -235 0 -235 0 0 -25 0 -25 305 0 305 0 0 -95 0 -95 -550 0 -550 0 -5 23 c-3 12 -5 54 -3 92 l3 70 103 3 c101 3 102 3 102 27 0 22 -4 25 -35 25 l-35 0 0 85 c0 69 3 86 18 94 18 11 768 16 796 5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M510 1565 l0 -25 170 0 170 0 0 -414 c0 -368 -2 -415 -16 -420 -9 -3 -85 -6 -171 -6 l-154 0 3 -22 c3 -23 5 -23 173 -26 126 -2 175 1 188 10 16 12 17 47 18 462 0 356 -3 451 -13 458 -7 4 -93 8 -190 8 l-178 0 0 -25z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1337 1583 c-4 -3 -7 -260 -7 -570 0 -555 0 -563 20 -563 19 0 20 8 22 238 l3 237 183 3 c183 2 222 -3 222 -33 0 -7 45 -56 100 -107 55 -51 100 -98 100 -104 0 -6 9 -19 20 -29 11 -10 20 -23 20 -28 0 -11 -128 -151 -232 -254 -56 -55 -61 -64 -48 -77 13 -13 31 2 160 138 80 85 149 155 154 155 10 1 132 -110 129 -119 -1 -4 40 -48 91 -99 79 -79 94 -90 105 -77 11 13 -18 47 -182 218 -348 365 -367 385 -367 401 0 10 14 20 35 26 104 28 203 125 235 228 26 83 25 106 -4 191 -21 63 -70 142 -88 142 -4 0 -18 11 -31 24 -14 14 -55 34 -92 45 -60 19 -92 21 -304 21 -131 0 -241 -3 -244 -7z m573 -75 c109 -65 155 -141 154 -253 -1 -88 -28 -149 -92 -205 -72 -64 -112 -71 -373 -68 l-224 3 -3 265 c-1 146 0 271 3 278 4 11 51 13 247 10 l243 -3 45 -27z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2261 873 c-69 -74 -88 -100 -79 -110 14 -17 18 -13 122 94 81 84 97 113 61 113 -7 0 -54 -44 -104 -97z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRx);\nexport default __webpack_public_path__ + \"static/media/Rx.c15b1362.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgScheduleAdvisorMeeting(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 256.000000 256.000000\",\n preserveAspectRatio: \"xMidYMid meet\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.000000,256.000000) scale(0.100000,-0.100000)\",\n stroke: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M633 2243 c-9 -3 -13 -35 -13 -109 l0 -104 -177 -2 -178 -3 0 -762 c0 -757 0 -762 21 -790 11 -15 36 -38 54 -50 l33 -23 490 0 490 0 68 -65 c79 -74 159 -118 256 -141 135 -32 302 1 420 82 272 187 301 599 58 823 l-45 41 -2 443 -3 442 -177 3 -178 2 0 99 c0 75 -4 101 -15 111 -12 10 -18 10 -30 0 -11 -10 -15 -36 -15 -111 l0 -99 -505 0 -505 0 0 98 c0 109 -9 131 -47 115z m-11 -340 c3 -60 5 -68 23 -68 18 0 20 8 23 68 l3 67 509 0 510 0 0 -57 c0 -66 9 -86 36 -81 16 3 19 14 22 71 l3 67 149 0 150 0 0 -185 0 -185 -800 0 c-705 0 -801 -2 -806 -15 -4 -8 -1 -22 6 -30 11 -13 116 -15 806 -15 l794 0 0 -181 c0 -169 -1 -181 -17 -174 -91 38 -128 47 -208 52 -250 15 -458 -130 -541 -377 -29 -85 -25 -224 9 -323 15 -42 27 -80 27 -82 0 -3 -203 -5 -451 -5 -397 0 -455 2 -485 16 -67 32 -64 -2 -64 789 l0 715 150 0 149 0 3 -67z m1293 -735 c224 -57 381 -296 345 -526 -29 -182 -171 -341 -345 -387 -184 -47 -382 21 -497 172 -138 183 -128 429 26 600 120 134 294 186 471 141z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M580 1285 c0 -24 2 -25 65 -25 63 0 65 1 65 25 0 24 -2 25 -65 25 -63 0 -65 -1 -65 -25z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M940 1285 c0 -24 2 -25 65 -25 63 0 65 1 65 25 0 24 -2 25 -65 25 -63 0 -65 -1 -65 -25z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1300 1285 c0 -24 2 -25 65 -25 63 0 65 1 65 25 0 24 -2 25 -65 25 -63 0 -65 -1 -65 -25z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M580 1000 l0 -30 65 0 65 0 0 30 0 30 -65 0 -65 0 0 -30z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M940 1000 l0 -30 65 0 65 0 0 30 0 30 -65 0 -65 0 0 -30z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M580 710 l0 -30 65 0 65 0 0 30 0 30 -65 0 -65 0 0 -30z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M940 710 l0 -30 65 0 65 0 0 30 0 30 -65 0 -65 0 0 -30z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1766 935 c-3 -9 -6 -57 -6 -105 l0 -89 -102 -3 c-91 -3 -103 -5 -106 -22 -6 -29 16 -36 116 -36 l92 0 0 -92 c0 -100 7 -122 36 -116 17 3 19 15 22 106 l3 102 98 0 c103 0 128 10 115 44 -5 13 -23 16 -110 16 l-103 0 -3 103 c-3 95 -4 102 -24 105 -13 2 -24 -4 -28 -13z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgScheduleAdvisorMeeting);\nexport default __webpack_public_path__ + \"static/media/schedule-advisor-meeting.028d5db6.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgEnroll(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 256.000000 256.000000\",\n preserveAspectRatio: \"xMidYMid meet\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.000000,256.000000) scale(0.100000,-0.100000)\",\n stroke: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M190 1340 l0 -691 157 3 c140 3 158 5 161 20 3 16 -10 18 -130 20 l-133 3 -3 643 -2 642 1040 0 1040 0 0 -645 0 -645 -136 0 c-124 0 -135 -2 -132 -17 3 -16 20 -18 161 -21 l157 -3 0 691 0 690 -1090 0 -1090 0 0 -690z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M310 1330 l0 -580 970 0 970 0 0 580 0 580 -970 0 -970 0 0 -580z m1898 -3 l2 -537 -927 2 -928 3 -3 525 c-1 289 0 531 3 538 3 10 194 12 927 10 l923 -3 3 -538z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1019 1564 c-11 -14 -8 -50 24 -242 34 -205 44 -241 69 -242 4 0 31 31 60 69 29 39 56 69 60 68 4 -1 52 -44 108 -94 80 -74 107 -93 131 -93 43 0 79 39 79 85 0 32 -11 47 -97 136 -53 54 -94 100 -92 102 71 52 139 112 139 123 0 22 -31 31 -240 64 -107 17 -202 33 -211 36 -9 2 -22 -3 -30 -12z m396 -94 c16 -1 12 -7 -20 -33 -56 -45 -85 -74 -85 -87 0 -5 45 -58 100 -117 55 -60 100 -116 100 -125 0 -15 -27 -38 -45 -38 -3 0 -53 45 -111 100 -59 55 -115 100 -125 100 -11 0 -36 -23 -60 -55 -23 -30 -44 -55 -48 -55 -6 0 -61 317 -61 351 0 14 20 12 168 -12 92 -16 176 -29 187 -29z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32 588 c-21 -28 -21 -55 0 -98 44 -87 -58 -80 1248 -80 1080 0 1157 1 1189 18 46 23 73 61 74 105 2 71 37 67 -589 67 -364 0 -565 -4 -569 -10 -3 -6 -50 -10 -105 -10 -55 0 -102 4 -105 10 -10 16 -1130 14 -1143 -2z m1132 -43 c28 -21 203 -21 233 0 19 13 93 15 560 13 l538 -3 3 -22 c2 -14 -6 -32 -22 -48 l-25 -25 -1171 0 -1171 0 -24 26 c-24 26 -32 54 -18 67 3 4 247 7 542 7 455 -1 539 -3 555 -15z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEnroll);\nexport default __webpack_public_path__ + \"static/media/Enroll.ebb8df05.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgTelemedicine(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 256.000000 256.000000\",\n preserveAspectRatio: \"xMidYMid meet\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.000000,256.000000) scale(0.100000,-0.100000)\",\n stroke: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1140 2376 c-19 -7 -46 -18 -60 -23 -14 -6 -28 -10 -32 -9 -4 0 -23 -15 -43 -34 -20 -19 -39 -34 -42 -32 -3 2 -11 -6 -17 -17 -6 -11 -24 -38 -39 -59 -40 -57 -50 -144 -35 -317 11 -117 60 -267 95 -288 7 -4 13 -14 13 -22 0 -8 10 -21 21 -29 21 -14 21 -18 10 -73 -13 -58 -13 -58 -74 -88 -34 -16 -65 -29 -69 -27 -5 1 -8 -3 -8 -9 0 -5 -4 -7 -10 -4 -5 3 -10 1 -10 -4 0 -6 -3 -10 -7 -9 -5 1 -46 -17 -93 -41 -47 -23 -93 -44 -102 -46 -10 -2 -34 -16 -53 -31 -19 -14 -35 -23 -35 -20 0 25 -117 -124 -125 -160 -2 -10 -9 -37 -14 -59 -6 -22 -11 -113 -11 -202 l0 -163 24 0 24 0 2 176 c1 162 3 181 25 233 34 82 94 141 193 189 45 23 82 38 82 35 0 -3 16 4 36 16 56 33 78 26 54 -18 -9 -18 -13 -36 -25 -123 -7 -44 -21 -60 -57 -63 -11 0 -88 -68 -88 -78 0 -5 -9 -20 -20 -34 -11 -14 -17 -29 -14 -34 3 -5 1 -9 -4 -9 -12 0 -12 -4 -18 -157 l-6 -133 77 0 c74 0 76 1 73 22 -3 20 -10 23 -51 26 l-49 3 5 97 c4 103 9 128 28 163 16 31 67 85 82 87 76 12 100 13 115 6 9 -4 20 -8 23 -8 15 -2 66 -66 87 -107 18 -37 23 -67 25 -142 l2 -96 -50 -3 c-43 -3 -50 -6 -53 -26 -3 -21 0 -22 72 -22 73 0 76 1 82 26 13 50 -4 206 -28 264 -12 30 -26 57 -30 58 -4 2 -8 7 -8 12 0 12 -57 70 -69 70 -6 0 -11 5 -11 12 0 6 -3 9 -6 5 -3 -3 -19 -1 -36 5 -29 10 -30 12 -23 57 5 25 9 55 11 66 1 11 3 21 4 23 2 1 3 5 4 10 7 29 19 52 27 52 5 0 9 6 9 13 0 18 43 57 63 57 10 0 21 -14 28 -40 7 -22 17 -40 22 -40 6 0 8 -3 4 -6 -3 -3 4 -17 16 -31 12 -13 22 -28 22 -31 1 -12 129 -136 154 -149 26 -14 67 -8 79 13 4 7 41 48 82 91 46 48 86 102 105 140 23 47 35 61 49 59 11 -2 22 -9 25 -17 3 -8 14 -26 24 -40 10 -15 20 -35 22 -45 2 -11 11 -50 19 -89 17 -77 21 -225 7 -225 -19 0 -74 -55 -87 -86 -29 -68 28 -153 108 -160 40 -4 117 22 107 36 -2 3 4 16 14 30 35 50 11 133 -47 164 -35 19 -36 20 -36 80 0 70 -19 211 -35 263 -6 18 -3 23 12 23 10 0 28 -7 39 -15 12 -8 24 -11 28 -8 3 3 6 0 6 -7 0 -7 3 -10 7 -7 3 4 31 -8 62 -25 31 -18 57 -31 59 -30 7 6 21 0 42 -20 13 -13 33 -27 44 -33 10 -5 19 -14 19 -20 0 -5 7 -15 16 -22 9 -6 16 -15 16 -20 1 -4 10 -24 20 -43 17 -30 21 -61 25 -225 5 -187 5 -190 27 -193 32 -5 36 24 31 201 -4 125 -8 160 -25 199 -12 25 -19 49 -15 52 3 3 -1 6 -8 6 -7 0 -10 3 -7 6 4 4 -19 34 -50 68 -31 34 -57 59 -57 56 -1 -3 -14 5 -31 16 -34 24 -126 68 -137 66 -5 -1 -8 3 -8 10 0 6 -3 8 -7 5 -3 -4 -30 7 -60 24 -29 17 -53 28 -53 24 0 -6 -79 34 -90 45 -3 3 -17 11 -31 17 -14 6 -26 17 -26 25 0 7 -6 32 -12 55 -10 37 -9 45 6 61 36 38 58 67 55 75 -1 4 2 7 8 7 6 0 9 3 8 8 -1 4 4 18 9 32 25 57 32 80 37 116 22 151 26 185 26 235 0 31 -6 77 -14 102 -7 25 -11 48 -8 51 3 4 0 6 -7 6 -7 0 -9 5 -6 10 3 6 2 10 -3 10 -5 0 -17 16 -27 36 -9 20 -32 45 -51 56 -19 11 -34 24 -34 30 0 5 -4 7 -9 4 -5 -4 -11 -3 -13 2 -1 4 -28 19 -58 32 -68 29 -224 39 -280 16z m281 -70 c54 -25 129 -87 129 -106 0 -6 5 -10 12 -10 6 0 9 -3 6 -6 -4 -3 2 -24 13 -47 30 -66 25 -172 -16 -387 -6 -34 -37 -103 -50 -112 -5 -4 -6 -8 -1 -8 9 0 -63 -72 -74 -75 -22 -5 -58 -30 -68 -46 -13 -21 -13 -22 47 -23 29 -1 36 -6 42 -28 13 -50 5 -145 -16 -168 -10 -11 -14 -20 -9 -20 5 0 1 -5 -9 -11 -9 -6 -15 -14 -12 -19 3 -5 -4 -14 -15 -20 -11 -6 -20 -16 -20 -22 0 -17 -71 -88 -87 -88 -8 0 -16 -6 -19 -14 -3 -8 -11 -13 -17 -12 -14 2 -161 146 -150 146 4 0 1 5 -7 10 -8 5 -15 13 -15 17 -1 4 -11 27 -23 50 -25 47 -28 87 -10 145 11 38 12 38 50 33 33 -5 38 -4 38 14 0 18 -31 45 -53 46 -4 0 -12 7 -17 15 -5 8 -10 11 -10 5 0 -5 -16 8 -35 29 -19 22 -35 46 -35 53 0 7 -5 13 -12 13 -6 0 -9 3 -6 6 4 3 -2 25 -13 49 -10 24 -21 63 -23 87 -3 23 -10 82 -17 129 -7 55 -9 104 -3 135 4 27 8 55 7 62 0 6 3 12 8 12 5 0 8 3 7 8 -4 13 13 52 23 52 5 0 9 6 9 13 0 8 11 24 25 37 14 13 25 20 25 15 0 -5 7 0 15 11 8 10 15 15 15 11 0 -5 13 1 28 11 43 31 89 40 192 37 79 -2 106 -7 151 -29z m308 -1452 c28 -35 26 -69 -4 -99 -35 -35 -76 -33 -109 6 -31 36 -32 46 -9 79 23 34 33 40 70 40 22 0 38 -8 52 -26z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M409 1831 c-14 -5 -36 -14 -50 -22 -13 -7 -27 -13 -30 -14 -3 0 -19 -16 -35 -35 -16 -19 -35 -41 -41 -48 -7 -7 -14 -16 -14 -20 -7 -34 -8 -125 -11 -590 l-3 -532 28 0 27 0 1 540 c1 297 3 545 4 550 1 6 3 14 4 19 2 17 75 82 107 96 23 10 75 14 198 12 l166 -2 0 28 0 27 -162 -1 c-90 0 -175 -4 -189 -8z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1750 1813 l0 -28 157 3 c152 3 243 -8 243 -29 0 -5 6 -9 14 -9 17 0 58 -54 49 -64 -3 -3 -2 -6 4 -6 5 0 11 -6 13 -12 2 -7 5 -257 7 -555 l3 -543 25 0 25 0 0 518 c0 324 -4 532 -11 557 -6 22 -11 46 -11 53 -1 6 -5 12 -10 12 -4 0 -8 6 -8 14 0 8 -7 16 -15 20 -8 3 -15 12 -15 21 0 8 -3 14 -7 13 -5 -1 -28 11 -53 27 l-45 30 -182 3 -183 4 0 -29z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M160 445 c0 -20 6 -51 14 -70 8 -18 12 -35 10 -37 -8 -9 116 -119 150 -133 30 -13 161 -14 923 -12 488 1 899 6 913 10 14 4 37 16 52 27 15 11 31 20 36 20 5 0 15 11 22 25 7 14 17 25 21 25 11 0 45 78 53 124 5 28 4 41 -6 47 -7 5 -214 9 -460 9 l-448 0 0 -35 0 -35 -180 0 c-171 0 -180 1 -180 19 0 54 24 51 -466 51 l-454 0 0 -35z m862 -47 l3 -33 230 0 230 0 3 33 3 32 406 0 405 0 -7 -27 c-15 -65 -85 -133 -156 -153 -21 -6 -362 -10 -880 -10 -756 0 -852 2 -897 16 -71 23 -124 77 -146 152 l-7 22 405 0 405 0 3 -32z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTelemedicine);\nexport default __webpack_public_path__ + \"static/media/telemedicine.14d0ea4c.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgOnlineSupport(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 256.000000 256.000000\",\n preserveAspectRatio: \"xMidYMid meet\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.000000,256.000000) scale(0.100000,-0.100000)\",\n stroke: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1241 2226 c-50 -28 -50 -30 -51 -502 0 -369 2 -443 14 -453 12 -10 38 9 140 98 l125 111 338 0 c186 0 355 3 375 6 21 4 49 18 63 32 l25 25 0 319 0 320 -29 29 -29 29 -474 0 c-373 -1 -478 -3 -497 -14z m969 -46 c19 -19 20 -33 20 -317 0 -262 -2 -299 -17 -315 -15 -17 -40 -18 -389 -18 l-372 0 -43 -47 c-23 -27 -38 -41 -34 -33 5 8 -12 -3 -36 -25 -25 -22 -43 -44 -41 -49 3 -5 0 -6 -5 -3 -6 4 -16 0 -23 -8 -7 -8 -16 -15 -21 -15 -6 0 -9 178 -9 419 1 387 2 420 18 424 9 3 223 5 475 6 444 1 458 0 477 -19z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1450 1960 c0 -20 4 -20 283 -18 243 3 282 5 282 18 0 13 -39 15 -282 18 -279 2 -283 2 -283 -18z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1453 1775 c-11 -31 13 -36 158 -33 136 3 144 4 144 23 0 19 -8 20 -148 23 -127 2 -148 0 -154 -13z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M440 1768 c-33 -17 -51 -35 -68 -68 l-22 -45 2 -570 c3 -561 3 -570 23 -573 20 -3 20 2 17 545 -2 301 0 567 3 590 4 25 16 51 32 67 l26 26 293 0 294 0 0 25 0 25 -278 0 c-268 0 -279 -1 -322 -22z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2123 1333 l-23 -4 0 -410 c0 -401 0 -409 20 -409 19 0 20 9 22 415 2 228 3 414 3 414 0 -1 -10 -4 -22 -6z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M880 1293 c-129 -53 -148 -253 -31 -330 47 -32 135 -32 182 0 99 65 104 240 8 307 -33 24 -125 37 -159 23z m116 -48 c12 -8 24 -11 28 -8 4 4 9 -3 13 -15 3 -12 9 -22 14 -22 5 0 9 -35 9 -78 0 -66 -3 -83 -21 -103 -12 -13 -25 -23 -30 -22 -5 2 -9 -1 -9 -6 0 -5 -27 -9 -60 -9 -33 0 -60 4 -60 9 0 5 -4 8 -9 6 -5 -1 -18 8 -29 21 -17 19 -20 37 -20 102 0 44 3 80 8 80 4 0 10 10 13 22 4 12 9 19 13 15 4 -3 16 0 28 8 26 19 86 19 112 0z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M741 855 c-35 -19 -72 -42 -82 -51 -50 -45 -97 -219 -60 -219 10 0 20 23 31 65 22 92 46 127 111 163 l57 32 48 -18 c62 -22 116 -22 177 0 l48 17 57 -31 c66 -36 90 -71 112 -162 16 -65 34 -87 46 -56 10 25 -25 141 -56 183 -17 24 -53 51 -97 75 -70 36 -71 37 -104 20 -66 -33 -144 -28 -219 14 -3 1 -34 -13 -69 -32z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M231 416 c-14 -16 -7 -54 19 -106 23 -46 55 -74 110 -99 44 -20 61 -21 880 -21 563 0 848 4 874 11 77 21 164 133 154 200 l-3 24 -394 3 c-282 1 -398 -1 -407 -9 -8 -6 -14 -22 -14 -35 l0 -24 -202 2 -203 3 -5 30 -5 30 -396 3 c-332 2 -398 0 -408 -12z m761 -63 l3 -28 253 -3 252 -2 0 30 0 30 360 0 c296 0 360 -2 360 -13 0 -8 -13 -32 -29 -54 -56 -78 3 -73 -940 -73 -684 0 -848 3 -874 14 -39 16 -97 79 -97 106 0 20 9 20 354 20 l355 0 3 -27z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgOnlineSupport);\nexport default __webpack_public_path__ + \"static/media/online-support.2502c36e.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgMentalHealth(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 256.000000 256.000000\",\n preserveAspectRatio: \"xMidYMid meet\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.000000,256.000000) scale(0.100000,-0.100000)\",\n stroke: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1042 2409 c-324 -39 -615 -245 -753 -534 -72 -150 -81 -192 -86 -405 -6 -208 -3 -197 -113 -384 -28 -47 -53 -98 -56 -113 -8 -40 26 -81 74 -88 102 -17 94 -10 90 -73 -3 -32 3 -97 13 -147 9 -49 20 -126 24 -170 9 -103 26 -139 78 -164 71 -34 111 -35 237 -6 206 48 280 14 280 -126 0 -41 19 -63 45 -53 15 6 17 17 13 78 -3 39 -12 86 -22 103 -38 74 -164 100 -304 64 -96 -25 -181 -27 -222 -6 -32 17 -33 20 -50 175 -6 52 -13 103 -16 113 -4 14 1 17 33 17 49 0 66 11 61 41 -3 21 -10 25 -53 29 l-50 5 -3 50 c-5 101 -13 110 -109 125 -31 5 -58 12 -61 14 -2 3 23 51 56 108 121 209 116 193 113 358 -2 159 12 253 55 369 110 294 414 523 737 558 61 6 90 24 81 48 -8 20 -22 22 -92 14z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1275 2339 c-181 -22 -350 -144 -430 -309 -47 -99 -58 -163 -52 -295 5 -116 26 -195 80 -300 104 -204 337 -427 632 -603 151 -91 153 -92 217 -57 343 185 625 444 737 678 22 45 47 110 55 143 21 83 21 272 0 345 -43 145 -152 276 -284 341 -95 47 -143 58 -255 57 -116 0 -189 -25 -295 -100 -13 -9 -29 -3 -78 29 -92 59 -210 85 -327 71z m239 -92 c33 -15 79 -44 103 -63 39 -32 46 -34 62 -22 147 107 188 121 327 116 95 -3 106 -6 186 -46 194 -95 302 -286 285 -500 -25 -305 -281 -614 -719 -867 l-96 -56 -109 65 c-165 98 -277 181 -390 290 -213 204 -301 369 -310 583 -5 94 -2 122 15 180 49 159 170 282 330 334 43 14 81 18 157 16 85 -2 109 -6 159 -30z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2044 2115 c-8 -21 3 -33 43 -50 87 -37 157 -124 183 -227 13 -51 29 -63 55 -44 16 12 16 16 0 72 -9 32 -27 77 -40 100 -58 100 -221 202 -241 149z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1849 773 c-39 -46 -129 -204 -144 -253 -12 -37 -19 -106 -22 -211 -5 -142 -4 -156 12 -163 35 -13 42 9 48 162 6 174 16 208 99 341 58 93 69 133 37 139 -8 1 -22 -5 -30 -15z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMentalHealth);\nexport default __webpack_public_path__ + \"static/media/mental-health.c8a6d6df.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgFindAProvider(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 256.000000 256.000000\",\n preserveAspectRatio: \"xMidYMid meet\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.000000,256.000000) scale(0.100000,-0.100000)\",\n stroke: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1165 2479 c-228 -33 -442 -185 -549 -389 -62 -117 -78 -180 -83 -331 -5 -118 -2 -147 17 -220 42 -162 108 -263 363 -551 163 -184 243 -307 302 -466 28 -78 35 -87 59 -90 37 -5 52 10 72 71 9 29 36 91 60 139 63 128 121 207 279 383 209 233 264 315 320 471 27 73 29 90 29 229 0 137 -2 157 -27 231 -122 365 -464 578 -842 523z m217 -100 c242 -38 432 -197 524 -441 25 -66 28 -85 28 -208 0 -122 -2 -142 -27 -209 -37 -103 -99 -198 -214 -330 -253 -290 -306 -359 -373 -488 -30 -58 -50 -79 -50 -51 0 18 -89 167 -145 243 -29 39 -100 124 -160 190 -195 217 -257 306 -305 435 -19 52 -25 89 -28 188 -4 111 -2 131 22 207 48 153 137 275 266 360 144 96 295 130 462 104z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1127 2103 c-4 -3 -7 -53 -7 -110 l0 -103 -105 0 -105 0 0 -160 0 -160 105 0 104 0 3 -107 3 -108 158 -3 157 -3 0 111 0 110 110 0 110 0 0 160 0 160 -110 0 -110 0 0 110 0 110 -153 0 c-85 0 -157 -3 -160 -7z m213 -203 l0 -110 110 0 110 0 0 -60 0 -60 -110 0 -110 0 0 -110 0 -111 -57 3 -58 3 -3 108 -3 107 -104 0 -105 0 0 60 0 60 105 0 105 0 0 103 c0 57 3 107 7 110 3 4 30 7 60 7 l53 0 0 -110z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M864 640 c-142 -37 -252 -100 -306 -174 -22 -31 -28 -50 -28 -93 0 -67 16 -99 77 -153 158 -140 573 -209 928 -156 395 60 590 227 471 406 -45 68 -181 142 -324 176 -71 16 -97 12 -113 -17 -20 -37 11 -64 92 -83 140 -31 279 -119 279 -176 0 -27 -53 -85 -107 -114 -214 -120 -688 -142 -988 -46 -191 62 -258 141 -186 219 36 39 153 94 247 117 38 9 75 21 82 27 19 15 15 65 -7 77 -25 13 -32 12 -117 -10z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFindAProvider);\nexport default __webpack_public_path__ + \"static/media/find-a-provider.717cd6c5.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgBenefitInfo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 256.000000 256.000000\",\n preserveAspectRatio: \"xMidYMid meet\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.000000,256.000000) scale(0.100000,-0.100000)\",\n stroke: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1338 2324 c-73 -79 -162 -216 -227 -349 -70 -141 -93 -205 -116 -325 -9 -47 -16 -64 -26 -61 -8 2 -55 6 -105 8 -159 9 -380 -39 -664 -146 -152 -57 -177 -76 -157 -121 7 -16 142 -275 302 -576 196 -369 296 -549 310 -554 13 -5 39 0 70 13 127 52 430 148 525 168 131 26 305 24 359 -5 41 -22 70 -15 97 24 47 69 164 197 234 257 170 146 317 219 542 267 15 4 32 15 38 27 14 24 16 20 -353 654 -312 536 -283 503 -392 442 -54 -31 -60 -37 -60 -67 0 -44 24 -59 67 -41 18 7 40 15 48 17 11 3 90 -125 285 -461 149 -256 271 -471 273 -478 2 -9 -16 -18 -50 -26 -153 -34 -352 -152 -515 -304 l-63 -60 31 89 c42 123 137 318 204 421 33 51 55 93 52 104 -6 23 -595 1079 -615 1102 -24 27 -58 21 -94 -19z m331 -602 l270 -484 -65 -108 c-78 -130 -150 -293 -201 -453 -20 -64 -40 -117 -43 -117 -3 0 -128 218 -278 484 l-272 484 11 78 c19 144 87 315 187 469 62 98 103 148 113 138 4 -4 129 -225 278 -491z m-698 -240 c20 -8 85 -114 298 -492 149 -264 271 -482 271 -484 0 -2 -60 -6 -132 -9 -157 -6 -321 -44 -544 -127 -77 -28 -146 -54 -154 -56 -12 -4 -83 122 -284 501 -147 279 -264 511 -260 515 25 23 370 131 494 155 84 16 271 14 311 -3z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M715 1268 c-22 -11 -41 -22 -43 -23 -3 -3 35 -84 43 -93 5 -6 85 38 85 46 -1 4 -11 26 -23 49 l-22 41 -40 -20z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M791 1059 c-30 -10 -56 -20 -58 -22 -1 -2 4 -24 13 -50 14 -43 17 -45 40 -37 23 9 27 5 79 -100 l55 -109 -40 -12 c-22 -7 -40 -15 -40 -18 0 -3 7 -25 17 -49 12 -32 20 -41 32 -37 9 4 69 25 134 47 129 45 125 39 97 112 l-9 25 -46 -16 c-25 -8 -48 -14 -50 -12 -2 2 -38 70 -80 152 -42 81 -80 147 -83 146 -4 0 -31 -9 -61 -20z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBenefitInfo);\nexport default __webpack_public_path__ + \"static/media/Benefit-Info.e8312982.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgMedicalConcierge(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 256.000000 256.000000\",\n preserveAspectRatio: \"xMidYMid meet\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.000000,256.000000) scale(0.100000,-0.100000)\",\n stroke: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1516 2134 c-3 -9 -6 -83 -6 -165 l0 -149 -162 -2 -163 -3 0 -180 0 -180 163 -3 162 -2 0 -149 c0 -82 3 -156 6 -165 5 -14 31 -16 180 -16 161 0 174 1 184 19 5 11 10 84 10 165 l0 146 153 0 c106 0 157 4 165 12 17 17 17 329 0 346 -8 8 -59 12 -165 12 l-153 0 0 153 c0 106 -4 157 -12 165 -8 8 -64 12 -184 12 -147 0 -173 -2 -178 -16z m333 -186 l-1 -163 166 -3 166 -2 0 -145 0 -145 -166 -2 -166 -3 1 -162 2 -163 -151 0 -150 0 0 165 0 165 -165 0 -165 0 0 145 0 145 165 0 165 0 0 165 0 165 150 0 151 0 -2 -162z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M520 1826 c-63 -34 -136 -115 -172 -192 -40 -85 -49 -213 -24 -314 58 -227 305 -560 581 -783 280 -226 490 -316 671 -288 179 28 334 164 334 292 0 156 -253 350 -373 288 -12 -7 -52 -40 -89 -75 l-66 -64 -61 0 c-77 0 -123 22 -248 119 -96 74 -182 166 -253 271 -53 78 -70 119 -70 169 0 59 13 84 74 142 98 93 105 157 30 281 -88 145 -229 210 -334 154z m152 -30 c34 -15 138 -109 138 -127 0 -5 4 -9 8 -9 15 0 54 -127 46 -152 -4 -13 -7 -25 -8 -27 -2 -7 -57 -61 -62 -61 -3 0 -18 16 -35 35 -17 19 -39 35 -49 35 -29 0 -20 -38 17 -71 38 -32 38 -35 18 -55 -38 -39 -44 -183 -9 -219 8 -8 15 -18 14 -22 0 -4 7 -16 15 -26 8 -9 15 -22 15 -27 0 -6 5 -10 11 -10 5 0 8 -4 4 -9 -3 -5 4 -16 15 -24 11 -7 17 -16 14 -20 -3 -3 3 -12 15 -19 12 -7 21 -16 21 -20 0 -9 162 -173 170 -173 3 0 20 -15 39 -32 19 -18 38 -30 42 -28 4 3 10 -2 13 -11 3 -8 10 -13 15 -10 5 3 12 -1 15 -10 3 -8 10 -12 16 -9 5 3 10 2 10 -4 0 -10 38 -27 53 -23 4 1 7 -2 7 -6 0 -7 38 -14 80 -15 34 -1 85 13 95 25 18 23 37 20 69 -10 40 -37 65 -46 73 -26 3 10 -8 30 -32 54 -30 31 -36 42 -27 53 7 8 8 18 4 22 -4 5 -2 5 5 1 6 -3 18 2 25 12 10 15 26 19 71 20 34 0 57 -4 57 -11 0 -6 3 -7 7 -4 3 4 15 0 25 -10 10 -9 18 -12 18 -7 0 5 5 2 10 -6 5 -8 13 -15 17 -15 15 0 115 -111 122 -136 20 -65 6 -149 -29 -176 -8 -7 -11 -13 -6 -13 13 0 -25 -40 -38 -40 -6 0 -24 -11 -39 -25 -15 -14 -27 -23 -27 -19 0 4 -9 -1 -20 -11 -11 -10 -20 -15 -20 -12 0 3 -17 -1 -37 -10 -50 -20 -212 -20 -270 1 -24 8 -43 13 -43 11 0 -3 -34 13 -75 34 -41 22 -75 38 -75 35 0 -3 -10 4 -22 15 -11 11 -25 18 -30 15 -4 -3 -11 2 -14 10 -3 9 -10 13 -15 10 -5 -3 -12 2 -15 10 -3 9 -12 16 -19 16 -7 0 -16 7 -19 16 -4 9 -9 14 -13 10 -3 -3 -13 3 -20 14 -8 11 -18 18 -23 15 -4 -3 -10 2 -14 10 -3 8 -12 15 -20 15 -7 0 -21 11 -30 25 -9 14 -20 23 -25 21 -4 -3 -25 15 -45 40 -21 25 -41 43 -44 40 -9 -10 -32 16 -25 28 3 6 2 8 -2 3 -10 -8 -57 32 -50 43 3 4 -14 25 -38 46 -23 21 -41 42 -40 46 2 4 -9 16 -22 26 -14 11 -25 25 -25 31 0 5 -9 15 -20 21 -11 6 -18 15 -16 19 3 4 -8 22 -23 39 -16 17 -26 33 -23 36 2 3 -3 8 -12 12 -9 3 -16 12 -16 20 0 8 -4 14 -10 14 -5 0 -10 7 -10 15 0 8 -5 15 -11 15 -5 0 -8 4 -5 8 3 5 -3 18 -14 29 -10 12 -16 24 -13 27 4 3 1 6 -6 6 -7 0 -10 4 -6 9 3 5 -1 16 -9 24 -8 8 -12 17 -9 21 4 3 0 6 -7 6 -7 0 -11 3 -8 6 3 3 -4 33 -17 68 -18 50 -23 83 -23 161 1 59 6 112 14 131 7 17 10 34 7 38 -4 3 -1 6 6 6 7 0 9 5 6 10 -3 6 -1 10 6 10 7 0 10 3 6 6 -3 3 4 17 16 31 12 13 20 27 19 30 -6 8 51 63 65 63 7 0 13 4 13 8 0 13 51 30 91 31 20 1 52 -5 71 -13z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMedicalConcierge);\nexport default __webpack_public_path__ + \"static/media/Medical-Concierge.529930ce.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction Svg401K(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 256.000000 256.000000\",\n preserveAspectRatio: \"xMidYMid meet\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.000000,256.000000) scale(0.100000,-0.100000)\",\n stroke: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1142 2384 c-103 -27 -189 -107 -231 -212 -42 -107 -21 -250 51 -345 12 -16 15 -15 49 15 l36 33 -23 32 c-77 114 -39 282 83 358 60 38 160 47 228 21 148 -57 209 -248 121 -378 l-23 -34 37 -32 37 -31 22 29 c65 89 82 219 42 327 -65 175 -246 267 -429 217z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1060 1773 c-50 -8 -206 -55 -263 -79 l-58 -25 -32 20 c-18 11 -64 31 -103 45 -224 81 -299 19 -204 -169 22 -44 40 -82 40 -86 0 -3 -18 -26 -41 -50 -22 -24 -52 -63 -66 -87 -30 -51 -46 -58 -141 -68 -57 -5 -75 -11 -94 -31 -21 -22 -23 -34 -22 -111 2 -99 35 -208 85 -276 53 -72 248 -219 407 -306 l62 -35 0 -160 c0 -88 4 -165 8 -171 15 -23 53 -34 116 -34 94 0 106 8 156 111 24 49 49 89 55 89 5 0 71 -9 145 -20 165 -24 229 -24 390 0 69 10 126 17 126 17 1 -1 20 -38 42 -83 50 -99 70 -114 157 -114 84 0 120 18 128 62 3 18 17 102 32 186 25 152 39 196 69 221 57 48 133 232 143 346 6 64 9 73 42 103 41 37 47 39 56 13 3 -11 16 -26 28 -33 58 -38 111 -26 165 36 30 35 32 40 19 59 -22 33 -55 33 -89 0 -23 -21 -32 -25 -36 -14 -3 8 -17 25 -31 39 -21 19 -34 23 -71 20 -25 -3 -53 -8 -62 -12 -14 -6 -19 0 -28 36 -71 269 -362 490 -734 557 -56 10 -342 13 -396 4z m353 -92 c163 -37 201 -48 271 -78 141 -60 274 -164 348 -271 76 -111 98 -271 58 -427 -25 -98 -51 -150 -114 -228 -48 -59 -51 -67 -68 -167 -10 -58 -24 -139 -31 -180 l-13 -75 -37 -3 c-32 -3 -38 1 -60 35 -14 21 -38 66 -55 100 -17 33 -38 63 -46 66 -8 3 -34 0 -59 -8 -132 -40 -421 -44 -572 -9 -129 30 -123 34 -183 -83 -51 -101 -54 -103 -87 -103 l-35 0 0 149 c0 82 -3 156 -6 165 -3 9 -34 30 -68 47 -88 44 -270 166 -348 232 -77 66 -110 124 -133 234 -19 89 -14 103 34 103 42 0 139 26 159 43 8 6 23 29 34 51 11 23 52 71 89 109 38 37 69 72 69 77 0 6 -20 45 -44 88 -56 100 -63 122 -38 122 61 0 218 -74 277 -131 l31 -29 37 26 c33 22 36 27 26 46 -9 16 -8 23 2 29 22 14 108 41 189 59 85 20 306 26 373 11z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1312 1568 c-16 -16 -15 -53 1 -65 6 -6 43 -13 82 -17 204 -20 411 -152 485 -307 16 -35 30 -78 30 -94 0 -36 16 -55 46 -55 36 0 47 24 41 86 -9 89 -49 158 -146 254 -71 71 -102 94 -181 132 -133 65 -324 100 -358 66z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M580 1230 l0 -50 50 0 50 0 0 50 0 50 -50 0 -50 0 0 -50z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(Svg401K);\nexport default __webpack_public_path__ + \"static/media/401k.9defced3.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgPayroll(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 256.000000 256.000000\",\n preserveAspectRatio: \"xMidYMid meet\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.000000,256.000000) scale(0.100000,-0.100000)\",\n stroke: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M652 2238 c-9 -9 -12 -99 -12 -343 l0 -331 -207 -133 c-115 -74 -223 -145 -240 -158 l-33 -24 0 -548 c0 -412 3 -550 12 -559 17 -17 2209 -17 2226 0 9 9 12 147 12 559 l0 548 -23 18 c-13 10 -121 81 -240 158 l-217 140 0 330 c0 244 -3 334 -12 343 -17 17 -1249 17 -1266 0z m1218 -670 l0 -623 -148 -95 c-81 -52 -208 -134 -282 -182 -74 -48 -143 -88 -154 -88 -16 0 -528 321 -563 354 -9 8 -13 159 -15 634 l-3 622 583 0 582 0 0 -622z m-1230 -328 c0 -174 -3 -240 -11 -240 -20 0 -370 232 -366 243 4 13 348 237 365 237 9 0 12 -55 12 -240z m1490 127 c96 -63 175 -119 175 -126 0 -14 -342 -241 -362 -241 -10 0 -13 55 -13 240 0 189 3 240 13 240 7 0 91 -51 187 -113z m-1529 -429 c197 -128 358 -236 356 -240 -2 -7 -693 -457 -714 -465 -10 -4 -13 89 -13 466 0 259 3 471 6 471 3 0 167 -105 365 -232z m1744 -238 c0 -259 -4 -470 -8 -470 -8 0 -105 62 -624 399 -57 36 -103 68 -103 71 0 7 713 469 725 469 7 1 10 -162 10 -469z m-1217 -98 c48 -32 103 -68 124 -80 l36 -22 124 80 c67 44 128 79 135 78 22 -5 692 -443 697 -456 4 -9 -191 -12 -959 -12 -811 0 -964 2 -959 14 3 7 15 18 27 24 12 6 166 106 342 221 176 115 326 210 333 210 7 1 52 -25 100 -57z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1277 1984 c-4 -4 -7 -24 -7 -45 0 -35 -2 -37 -37 -44 -50 -9 -122 -47 -155 -82 -45 -47 -71 -119 -65 -174 13 -109 83 -174 240 -223 15 -5 17 -21 17 -152 l0 -146 -37 7 c-44 8 -106 38 -132 64 -17 17 -20 16 -67 -29 l-50 -47 56 -36 c60 -38 144 -67 197 -67 32 0 33 -1 33 -45 0 -43 1 -45 30 -45 29 0 30 2 30 44 l0 43 44 5 c91 11 183 91 207 182 36 134 -37 250 -193 307 l-58 22 0 134 0 135 43 -7 c23 -4 57 -15 75 -26 18 -10 37 -19 42 -19 13 0 80 68 80 81 0 18 -122 68 -181 75 l-58 6 -3 42 c-2 32 -7 42 -23 44 -12 2 -24 0 -28 -4z m-7 -318 l0 -123 -26 5 c-14 2 -41 19 -60 37 -30 28 -34 38 -34 81 0 58 19 90 64 110 56 24 56 24 56 -110z m116 -301 c54 -31 64 -50 64 -113 0 -35 -6 -57 -21 -76 -20 -26 -68 -56 -89 -56 -6 0 -10 47 -10 135 0 74 3 135 7 135 3 0 26 -11 49 -25z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPayroll);\nexport default __webpack_public_path__ + \"static/media/Payroll.f731ca6a.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgContactSupport(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 250.000000 250.000000\",\n preserveAspectRatio: \"xMidYMid meet\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.000000,250.000000) scale(0.100000,-0.100000)\",\n stroke: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1142 2439 c-277 -49 -482 -298 -482 -585 l0 -81 -40 -12 c-49 -15 -102 -60 -124 -105 -22 -47 -22 -215 0 -262 23 -48 77 -92 128 -105 32 -8 46 -17 50 -33 14 -54 105 -132 176 -149 15 -4 33 -21 44 -42 29 -54 109 -128 175 -164 120 -64 289 -64 417 -1 71 35 161 125 198 198 57 112 68 173 73 395 l6 207 -37 0 -36 0 0 -198 c0 -214 -9 -270 -56 -364 -34 -66 -111 -148 -171 -181 -104 -56 -255 -57 -366 -1 -46 24 -147 116 -147 136 0 4 30 8 67 8 63 0 68 -2 94 -32 l27 -33 125 -3 c98 -3 131 0 155 12 59 30 67 125 15 166 -23 18 -40 20 -156 20 l-130 0 -33 -35 c-32 -35 -33 -35 -118 -35 l-85 0 -22 68 c-19 57 -23 96 -27 270 l-4 202 -29 0 -29 0 0 -177 c0 -119 5 -201 15 -248 18 -85 18 -85 2 -85 -21 0 -77 64 -87 101 -14 46 -13 590 1 665 37 204 206 375 414 419 89 19 134 19 230 0 202 -38 370 -181 438 -373 19 -52 21 -89 26 -387 l6 -330 54 1 c63 2 123 38 155 94 25 42 34 183 16 250 -15 56 -74 115 -130 130 l-40 11 0 62 c-1 278 -186 515 -465 593 -65 18 -225 26 -293 13z m-492 -914 c0 -96 -2 -175 -5 -175 -18 0 -64 32 -79 54 -19 30 -23 204 -5 237 10 19 65 59 82 59 4 0 7 -79 7 -175z m1304 156 c46 -30 55 -57 56 -154 0 -102 -14 -137 -66 -162 -18 -8 -35 -15 -38 -15 -3 0 -6 79 -6 175 0 190 0 191 54 156z m-560 -527 c12 -12 13 -20 6 -35 -10 -17 -22 -19 -119 -19 -119 0 -143 9 -121 49 10 19 20 21 115 21 81 0 107 -3 119 -16z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1498 2017 c-46 -56 -135 -102 -251 -132 -96 -24 -273 -45 -384 -45 l-63 0 0 -31 0 -32 138 6 c258 12 451 60 551 138 32 26 35 25 56 -20 32 -72 105 -121 180 -121 32 0 35 3 35 29 0 26 -3 29 -46 34 -28 3 -55 13 -71 28 -32 30 -62 95 -63 135 0 30 -15 54 -35 54 -6 0 -27 -19 -47 -43z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M626 759 c-120 -43 -240 -92 -266 -109 -133 -85 -223 -240 -237 -407 l-6 -73 30 0 29 0 12 86 c14 109 52 190 122 267 71 78 106 96 326 173 234 82 227 80 261 56 102 -72 240 -112 386 -112 142 0 232 27 383 116 l32 18 153 -58 c234 -89 273 -109 338 -171 90 -86 151 -220 151 -332 0 -41 1 -43 30 -43 29 0 30 1 30 48 0 68 -25 163 -61 234 -38 76 -132 175 -199 212 -46 25 -432 176 -451 176 -4 0 -41 -20 -81 -44 -40 -25 -109 -57 -153 -71 -73 -25 -90 -27 -195 -23 -137 6 -210 28 -312 94 -38 24 -76 44 -86 43 -9 -1 -115 -37 -236 -80z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgContactSupport);\nexport default __webpack_public_path__ + \"static/media/Contact-Support.1c69b006.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgWebinar(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 256.000000 256.000000\",\n preserveAspectRatio: \"xMidYMid meet\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.000000,256.000000) scale(0.100000,-0.100000)\",\n stroke: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M252 2308 c-9 -9 -12 -162 -12 -625 l0 -613 40 0 40 0 0 585 0 585 960 0 960 0 0 -545 0 -545 -546 0 -545 0 3 -37 3 -38 559 -3 c488 -2 562 0 583 13 l23 15 0 598 c0 452 -3 601 -12 610 -17 17 -2039 17 -2056 0z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M695 2051 c-114 -51 -153 -178 -95 -309 28 -62 54 -88 109 -109 l46 -18 -125 -5 c-109 -4 -129 -8 -156 -27 -59 -42 -64 -68 -64 -303 l0 -211 38 3 37 3 3 206 c2 200 3 206 25 228 l23 21 509 -2 c471 -3 509 -4 519 -20 8 -13 8 -23 0 -35 -10 -16 -38 -19 -270 -24 -142 -3 -260 -6 -261 -7 -43 -38 -43 -41 -43 -209 l0 -163 40 0 40 0 0 150 0 150 245 0 c200 0 251 3 275 15 55 28 76 105 45 165 -31 59 -37 60 -452 61 -373 0 -378 1 -338 19 86 39 135 122 135 232 0 155 -146 252 -285 189z m145 -76 c40 -20 60 -63 60 -125 0 -88 -50 -150 -121 -150 -93 0 -160 131 -114 221 32 61 113 86 175 54z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1240 1910 l0 -40 415 0 415 0 0 40 0 40 -415 0 -415 0 0 -40z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1240 1740 l0 -40 330 0 330 0 0 40 0 40 -330 0 -330 0 0 -40z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M376 975 c-51 -18 -102 -69 -122 -122 -21 -54 -15 -143 14 -200 26 -51 84 -102 125 -110 27 -6 16 -10 -63 -24 -119 -21 -207 -55 -234 -92 -16 -22 -22 -47 -25 -108 l-3 -79 41 0 41 0 0 64 c0 79 8 88 98 116 133 42 348 34 446 -17 42 -22 46 -29 46 -100 l0 -63 40 0 40 0 0 65 c0 75 -17 125 -51 149 -35 24 -164 63 -238 71 l-65 7 38 13 c78 27 135 108 143 207 7 75 -15 135 -67 182 -59 53 -129 68 -204 41z m125 -80 c92 -48 92 -201 0 -262 -43 -29 -69 -29 -112 0 -90 60 -93 204 -6 257 39 24 78 25 118 5z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1210 977 c-52 -17 -114 -84 -129 -139 -33 -119 34 -260 138 -292 37 -12 41 -15 18 -15 -45 -1 -175 -31 -234 -53 -75 -28 -93 -59 -93 -160 l0 -78 40 0 39 0 3 73 c3 72 3 72 39 90 129 63 412 58 517 -9 19 -13 22 -23 22 -84 l0 -70 41 0 41 0 -3 84 c-4 77 -7 87 -32 114 -34 35 -125 67 -243 86 -71 11 -75 13 -45 19 122 25 193 214 128 338 -43 81 -158 126 -247 96z m120 -82 c49 -26 70 -61 70 -122 0 -106 -70 -178 -150 -154 -44 13 -67 37 -86 88 -28 79 -6 151 57 185 41 22 71 23 109 3z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2049 976 c-95 -34 -139 -100 -139 -207 0 -111 61 -204 150 -226 33 -9 30 -10 -46 -21 -113 -16 -207 -48 -241 -84 -25 -27 -28 -37 -32 -114 l-3 -84 41 0 40 0 3 72 3 73 39 18 c108 51 315 59 448 17 83 -25 98 -45 98 -122 l0 -58 41 0 42 0 -6 75 c-8 103 -27 134 -102 164 -33 13 -105 31 -160 41 -91 15 -97 17 -62 24 104 20 180 172 146 294 -23 82 -116 153 -200 152 -13 -1 -40 -7 -60 -14z m120 -84 c63 -34 85 -106 57 -185 -19 -51 -42 -75 -86 -88 -79 -24 -150 48 -150 153 0 60 16 90 64 119 39 24 72 24 115 1z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWebinar);\nexport default __webpack_public_path__ + \"static/media/Webinar.802493b2.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgLegal(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 256.000000 256.000000\",\n preserveAspectRatio: \"xMidYMid meet\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.000000,256.000000) scale(0.100000,-0.100000)\",\n stroke: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1151 2224 c-62 -63 -72 -78 -67 -99 4 -14 11 -25 16 -25 27 0 -9 -40 -195 -223 l-202 -198 -30 17 -31 18 -76 -78 c-42 -43 -76 -86 -76 -96 0 -9 11 -28 24 -42 12 -14 26 -33 29 -42 4 -9 11 -16 17 -16 5 0 10 -5 10 -12 0 -7 8 -21 19 -33 29 -32 204 -206 226 -225 58 -50 134 -100 152 -100 11 0 50 32 93 76 l74 76 -17 31 -18 31 55 55 56 56 180 -180 c148 -148 180 -184 178 -206 -2 -29 2 -34 263 -313 41 -43 101 -108 134 -144 33 -36 87 -94 120 -128 33 -35 75 -81 93 -103 19 -24 42 -41 54 -41 24 0 118 49 118 62 0 4 6 8 14 8 31 0 146 165 146 208 0 5 -24 31 -52 57 -29 26 -84 76 -123 112 -38 36 -104 97 -145 136 -90 84 -176 164 -295 275 -78 74 -92 83 -117 78 -26 -5 -43 9 -208 176 -99 101 -180 183 -180 184 0 0 25 26 57 57 55 56 73 67 73 47 0 -5 12 -13 26 -16 22 -6 36 3 100 67 41 40 74 82 74 92 0 62 -417 478 -478 477 -10 0 -50 -34 -91 -76z m212 -99 c107 -95 267 -271 267 -294 0 -17 -59 -81 -74 -81 -13 0 -386 371 -386 384 0 17 63 76 80 76 9 0 59 -38 113 -85z m-51 -232 c76 -76 138 -140 138 -144 0 -7 -397 -403 -408 -407 -8 -2 -282 267 -282 278 0 11 393 407 405 409 5 0 72 -61 147 -136z m-470 -470 c104 -103 188 -192 188 -197 0 -15 -52 -66 -68 -66 -48 0 -382 333 -382 381 0 16 50 69 64 69 6 0 95 -84 198 -187z m676 -85 l182 -183 -35 -35 -35 -35 -182 182 -182 182 34 36 c19 19 34 35 35 35 0 0 83 -82 183 -182z m319 -240 c16 -18 72 -71 124 -118 51 -47 115 -105 140 -130 26 -25 88 -83 139 -130 195 -178 197 -181 163 -230 -28 -42 -100 -106 -134 -120 -31 -13 -33 -12 -62 21 -30 35 -186 204 -247 268 -19 20 -75 81 -125 135 -49 55 -109 117 -132 139 -24 22 -43 49 -43 61 0 24 107 136 130 136 9 0 30 -15 47 -32z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M337 743 c-4 -3 -7 -48 -7 -100 l0 -93 -27 0 c-45 0 -90 -34 -103 -77 -6 -21 -10 -76 -8 -123 l3 -85 605 0 605 0 3 108 3 108 -35 35 c-24 24 -43 34 -65 34 l-31 0 0 83 c0 125 2 123 -156 103 -164 -21 -488 -21 -639 -1 -125 17 -139 18 -148 8z m248 -93 c171 -16 423 -10 578 16 l37 6 0 -61 0 -61 -397 2 -398 3 -3 59 -3 58 43 -6 c24 -3 88 -11 143 -16z m739 -186 c11 -10 16 -34 16 -75 l0 -59 -540 0 -540 0 0 53 c0 31 6 61 16 75 l15 22 509 0 c449 0 510 -2 524 -16z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLegal);\nexport default __webpack_public_path__ + \"static/media/Legal.e9fca220.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgIdProtection(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 256.000000 256.000000\",\n preserveAspectRatio: \"xMidYMid meet\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.000000,256.000000) scale(0.100000,-0.100000)\",\n stroke: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1124 2465 c-233 -51 -437 -214 -533 -427 -52 -115 -62 -169 -68 -365 l-5 -183 45 0 45 0 4 188 c4 157 8 197 26 252 33 99 89 187 173 272 63 62 94 85 170 121 52 25 119 51 149 58 78 19 241 16 320 -5 184 -50 341 -176 429 -345 59 -114 74 -186 75 -378 l1 -163 44 0 43 0 -4 188 c-4 169 -7 195 -31 267 -42 126 -100 220 -191 311 -152 152 -327 224 -536 223 -52 0 -123 -7 -156 -14z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1143 2245 c-189 -51 -338 -204 -388 -400 -10 -40 -15 -107 -15 -207 l0 -148 40 0 40 0 0 118 c0 64 5 146 11 182 31 195 185 349 382 383 187 32 387 -72 472 -247 45 -91 55 -148 55 -307 l0 -129 40 0 40 0 0 153 c0 234 -36 336 -164 462 -111 110 -222 155 -376 154 -47 0 -109 -7 -137 -14z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M452 1389 c-26 -13 -55 -39 -70 -62 l-27 -41 -3 -520 c-2 -344 0 -533 7 -557 15 -49 45 -86 92 -109 37 -19 62 -20 829 -20 770 0 792 1 830 20 21 11 51 36 67 57 l28 36 3 539 c2 525 2 539 -18 578 -11 22 -39 52 -62 67 l-42 28 -795 3 -796 2 -43 -21z m1613 -73 c67 -28 66 -18 63 -586 l-3 -510 -28 -27 -27 -28 -775 -3 c-861 -3 -822 -6 -851 63 -20 50 -21 989 0 1038 28 69 -4 67 834 67 628 0 758 -2 787 -14z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1164 1235 c-230 -50 -394 -258 -394 -498 1 -228 173 -439 398 -486 279 -58 551 127 602 409 39 214 -77 441 -274 535 -113 54 -214 66 -332 40z m233 -91 c121 -33 243 -156 279 -281 26 -89 16 -211 -24 -296 -78 -167 -267 -269 -443 -239 -228 40 -388 257 -351 478 23 138 112 257 237 316 101 47 188 53 302 22z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1325 790 l-150 -150 -50 50 -51 50 -29 -30 -29 -31 79 -79 80 -80 180 180 180 180 -30 30 -30 30 -150 -150z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIdProtection);\nexport default __webpack_public_path__ + \"static/media/ID-Protection.1752f6fe.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgPetInsurance(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 256.000000 256.000000\",\n preserveAspectRatio: \"xMidYMid meet\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.000000,256.000000) scale(0.100000,-0.100000)\",\n stroke: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M765 2463 c-105 -55 -162 -191 -135 -325 31 -161 138 -267 268 -268 87 0 154 46 203 140 20 38 23 60 23 140 0 80 -4 104 -26 151 -53 116 -140 179 -245 179 -33 -1 -71 -8 -88 -17z m177 -82 c36 -23 53 -44 79 -97 45 -90 47 -174 8 -249 -70 -136 -209 -125 -297 24 -31 53 -43 180 -21 233 45 113 137 149 231 89z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1465 2459 c-178 -94 -233 -366 -104 -513 21 -24 54 -51 73 -60 45 -21 131 -20 182 3 213 97 242 470 43 571 -53 27 -141 27 -194 -1z m171 -69 c103 -64 113 -267 19 -378 -88 -102 -202 -94 -265 18 -20 37 -25 59 -24 120 0 63 4 85 30 135 53 108 159 154 240 105z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M330 1970 c-69 -12 -120 -51 -156 -120 -14 -27 -19 -57 -19 -125 0 -77 4 -98 27 -147 57 -122 164 -201 273 -201 115 -1 192 70 216 196 38 206 -154 429 -341 397z m108 -86 c89 -37 162 -153 162 -257 0 -111 -54 -177 -144 -177 -129 0 -248 152 -233 297 13 124 106 183 215 137z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2010 1970 c-58 -10 -141 -62 -181 -112 -120 -153 -109 -370 24 -452 164 -101 398 64 415 293 5 80 -8 135 -48 189 -47 65 -129 97 -210 82z m115 -90 c118 -73 84 -302 -59 -397 -91 -61 -187 -40 -230 51 -20 43 -21 129 0 189 8 25 34 67 57 93 70 80 165 106 232 64z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1117 1790 c-141 -24 -218 -100 -351 -342 -48 -89 -129 -196 -265 -353 -130 -149 -147 -178 -161 -272 -26 -168 46 -338 184 -432 89 -61 225 -93 303 -72 24 7 80 37 124 68 117 80 158 96 248 96 42 0 93 -5 114 -12 43 -14 67 -3 67 31 0 34 -62 52 -175 51 -134 -1 -160 -11 -329 -130 -35 -25 -48 -28 -120 -28 -72 0 -89 4 -148 33 -121 59 -189 166 -196 305 -7 135 0 149 192 369 106 122 217 281 271 387 53 105 105 164 176 200 55 28 72 31 149 31 53 0 105 -6 134 -16 61 -21 139 -98 186 -182 70 -126 115 -198 163 -265 42 -58 53 -68 76 -65 44 5 36 36 -33 132 -35 49 -88 134 -117 190 -92 171 -188 254 -319 275 -73 12 -104 12 -173 1z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1461 1156 c-21 -25 -10 -553 13 -626 29 -90 85 -181 155 -250 69 -68 269 -200 303 -200 35 0 247 140 314 208 69 70 123 165 149 262 22 81 22 608 0 616 -8 3 -49 -8 -92 -26 -71 -30 -83 -32 -163 -27 -64 3 -100 11 -148 33 l-63 28 -57 -29 c-45 -22 -74 -29 -143 -33 -76 -4 -92 -1 -150 23 -87 36 -103 39 -118 21z m540 -92 c53 -22 79 -27 154 -27 59 0 105 6 134 17 24 9 45 16 47 16 2 0 4 -100 4 -222 0 -242 -7 -287 -57 -386 -42 -84 -121 -163 -239 -238 -121 -77 -104 -78 -242 12 -115 75 -173 137 -224 241 l-43 86 -5 254 c-3 139 -2 253 1 253 4 0 24 -6 45 -14 96 -33 213 -28 306 14 24 11 46 20 49 20 3 0 34 -12 70 -26z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1985 730 l-139 -139 -48 45 c-41 38 -51 43 -68 34 -11 -6 -20 -19 -20 -28 0 -19 118 -142 136 -142 12 0 327 313 332 331 5 14 -18 39 -37 39 -9 0 -79 -63 -156 -140z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPetInsurance);\nexport default __webpack_public_path__ + \"static/media/Pet-Insurance.0a2fcfcf.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgInstructionsIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"svg\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n viewBox: \"0 0 400.000000 400.000000\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"svgg\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"path0\",\n d: \"M197.200 18.000 C 197.200 18.220,196.840 18.400,196.400 18.400 C 195.960 18.400,195.645 18.625,195.700 18.900 C 195.756 19.179,195.491 19.348,195.100 19.282 C 194.690 19.214,194.400 19.416,194.400 19.770 C 194.400 20.143,194.170 20.287,193.800 20.145 C 193.420 19.999,193.200 20.150,193.200 20.557 C 193.200 20.911,193.001 21.200,192.757 21.200 C 192.501 21.200,192.426 21.494,192.581 21.900 C 192.795 22.461,192.748 22.501,192.344 22.100 C 191.643 21.404,191.066 21.475,191.353 22.221 C 191.496 22.594,191.425 22.739,191.174 22.584 C 190.945 22.442,190.431 22.703,190.032 23.163 C 189.633 23.623,189.078 24.000,188.800 24.000 C 188.522 24.000,187.971 24.372,187.577 24.826 C 187.183 25.281,186.757 25.641,186.630 25.626 C 185.800 25.532,185.599 25.701,185.594 26.500 C 185.589 27.228,185.514 27.285,185.200 26.800 C 184.918 26.364,184.811 26.343,184.806 26.724 C 184.803 27.012,184.620 27.136,184.400 27.000 C 184.180 26.864,184.000 26.931,184.000 27.149 C 184.000 27.368,183.662 27.653,183.250 27.784 C 182.837 27.915,181.809 28.692,180.965 29.511 C 180.121 30.330,179.570 30.775,179.739 30.500 C 179.909 30.225,179.934 30.000,179.795 30.000 C 179.403 30.000,178.400 31.098,178.400 31.528 C 178.400 31.740,177.950 32.026,177.400 32.164 C 176.850 32.302,176.400 32.663,176.400 32.965 C 176.400 33.513,175.305 34.196,174.659 34.050 C 174.268 33.961,172.800 35.550,172.800 36.061 C 172.800 36.248,172.390 36.400,171.888 36.400 C 171.387 36.400,170.717 36.760,170.400 37.200 C 170.083 37.640,169.620 38.000,169.371 38.000 C 169.122 38.000,168.354 38.540,167.663 39.200 C 166.972 39.860,166.175 40.400,165.892 40.400 C 165.609 40.400,165.117 40.760,164.800 41.200 C 164.483 41.640,164.002 42.000,163.732 42.000 C 163.462 42.000,162.756 42.450,162.162 43.000 C 161.569 43.550,160.919 44.000,160.718 44.000 C 160.517 44.000,160.481 44.208,160.638 44.462 C 160.814 44.747,160.748 44.815,160.465 44.640 C 160.212 44.484,159.550 44.814,158.985 45.378 C 158.423 45.940,157.742 46.400,157.470 46.400 C 157.199 46.400,156.717 46.760,156.400 47.200 C 156.083 47.640,155.587 48.000,155.299 48.000 C 155.011 48.000,154.674 48.263,154.550 48.585 C 154.427 48.906,153.980 49.279,153.557 49.414 C 153.134 49.548,152.892 49.825,153.018 50.029 C 153.229 50.371,152.658 50.574,151.870 50.437 C 151.688 50.406,151.031 50.924,150.409 51.590 C 149.788 52.255,148.972 52.800,148.597 52.800 C 148.161 52.800,147.996 53.012,148.140 53.387 C 148.264 53.710,148.208 54.071,148.017 54.190 C 147.825 54.308,147.577 54.179,147.466 53.902 C 147.305 53.503,147.257 53.503,147.232 53.900 C 147.214 54.175,147.006 54.400,146.769 54.400 C 146.531 54.400,145.631 55.135,144.769 56.033 C 143.906 56.931,143.200 57.467,143.200 57.225 C 143.200 56.983,142.573 57.431,141.807 58.220 C 141.040 59.010,140.230 59.542,140.007 59.404 C 139.783 59.266,139.600 59.322,139.600 59.528 C 139.600 59.734,139.054 60.129,138.386 60.406 C 137.719 60.682,136.838 61.334,136.429 61.854 C 136.020 62.374,135.287 62.800,134.800 62.800 C 134.186 62.800,133.983 62.980,134.140 63.387 C 134.264 63.710,134.193 64.081,133.983 64.211 C 133.772 64.341,133.600 64.229,133.600 63.962 C 133.600 63.696,133.223 63.910,132.762 64.439 C 132.301 64.967,131.653 65.343,131.322 65.273 C 130.978 65.201,130.833 65.329,130.983 65.573 C 131.129 65.808,130.967 66.000,130.624 66.000 C 130.281 66.000,130.000 66.180,130.000 66.400 C 130.000 66.620,129.730 66.800,129.400 66.800 C 129.070 66.800,128.800 66.980,128.800 67.200 C 128.800 67.420,128.607 67.600,128.371 67.600 C 127.880 67.600,126.777 68.617,126.759 69.086 C 126.753 69.259,126.489 69.347,126.174 69.282 C 125.853 69.217,125.600 69.467,125.600 69.849 C 125.600 70.225,125.481 70.414,125.336 70.269 C 125.191 70.124,124.820 70.364,124.513 70.803 C 124.206 71.241,123.645 71.600,123.266 71.600 C 122.887 71.600,122.317 71.960,122.000 72.400 C 121.683 72.840,121.180 73.200,120.883 73.200 C 120.292 73.200,119.135 74.201,119.409 74.476 C 119.503 74.570,118.954 74.873,118.190 75.149 C 117.425 75.426,116.800 75.921,116.800 76.249 C 116.800 76.578,116.632 76.744,116.427 76.617 C 116.222 76.490,115.817 76.705,115.527 77.093 C 115.237 77.482,114.730 77.855,114.400 77.922 C 114.070 77.989,113.600 78.304,113.356 78.622 C 113.112 78.940,112.787 79.200,112.635 79.200 C 111.887 79.200,109.562 81.135,110.156 81.263 C 110.622 81.364,110.527 81.522,109.794 81.863 C 109.247 82.117,108.900 82.162,109.023 81.963 C 109.517 81.164,108.655 81.671,107.600 82.800 C 106.983 83.460,106.234 84.000,105.934 84.000 C 105.635 84.000,105.054 84.447,104.645 84.992 C 104.235 85.538,103.758 85.898,103.585 85.791 C 103.413 85.684,102.622 86.228,101.829 86.999 C 101.035 87.769,100.217 88.400,100.011 88.400 C 99.805 88.400,99.186 88.850,98.636 89.400 C 98.086 89.950,97.440 90.400,97.200 90.400 C 96.960 90.400,96.314 90.850,95.764 91.400 C 95.214 91.950,94.507 92.400,94.194 92.400 C 93.828 92.400,93.716 92.637,93.881 93.066 C 94.041 93.484,93.977 93.633,93.709 93.467 C 93.473 93.322,92.867 93.633,92.361 94.159 C 91.856 94.684,91.207 95.024,90.921 94.914 C 90.634 94.804,90.400 94.902,90.400 95.130 C 90.400 95.359,90.034 95.662,89.587 95.804 C 89.140 95.946,88.338 96.498,87.805 97.031 C 87.272 97.564,86.558 98.000,86.218 98.000 C 85.878 98.000,85.600 98.258,85.600 98.573 C 85.600 98.888,85.240 99.260,84.800 99.400 C 84.360 99.540,84.000 99.822,84.000 100.027 C 84.000 100.232,83.764 100.400,83.475 100.400 C 83.187 100.400,82.564 100.760,82.092 101.200 C 81.620 101.640,81.046 102.000,80.817 102.000 C 80.588 102.000,80.400 102.180,80.400 102.400 C 80.400 102.620,80.170 102.800,79.888 102.800 C 79.607 102.800,79.117 103.160,78.800 103.600 C 78.483 104.040,77.983 104.400,77.688 104.400 C 77.394 104.400,77.264 104.580,77.400 104.800 C 77.537 105.022,77.236 105.203,76.724 105.206 C 76.039 105.211,75.943 105.303,76.354 105.563 C 76.931 105.928,75.834 106.800,74.798 106.800 C 74.186 106.800,73.175 107.842,73.486 108.152 C 73.622 108.289,73.264 108.400,72.689 108.400 C 72.112 108.400,71.404 108.745,71.105 109.171 C 70.808 109.595,70.078 110.164,69.483 110.435 C 68.887 110.706,68.400 111.067,68.400 111.237 C 68.400 111.407,68.037 111.661,67.594 111.802 C 67.151 111.943,66.892 112.225,67.018 112.429 C 67.144 112.633,67.057 112.822,66.824 112.850 C 66.591 112.878,66.175 112.931,65.900 112.968 C 65.625 113.006,65.451 113.270,65.512 113.556 C 65.574 113.841,65.394 113.995,65.112 113.897 C 64.831 113.799,64.105 114.230,63.500 114.856 C 62.895 115.481,62.400 115.787,62.400 115.535 C 62.400 115.283,62.064 115.465,61.653 115.939 C 61.242 116.412,60.708 116.800,60.466 116.800 C 60.223 116.800,60.122 117.052,60.240 117.360 C 60.380 117.724,60.200 117.899,59.727 117.860 C 59.327 117.827,59.044 118.022,59.098 118.293 C 59.151 118.564,58.701 118.908,58.098 119.057 C 57.494 119.206,56.709 119.659,56.353 120.064 C 55.997 120.469,55.412 120.800,55.053 120.800 C 54.694 120.800,54.400 120.996,54.400 121.236 C 54.400 121.759,52.781 123.168,52.159 123.187 C 51.917 123.194,51.154 123.740,50.463 124.400 C 49.772 125.060,48.964 125.600,48.666 125.600 C 48.368 125.600,47.802 125.955,47.409 126.390 C 47.016 126.824,46.356 127.287,45.941 127.419 C 45.527 127.550,45.309 127.852,45.456 128.091 C 45.608 128.337,45.538 128.409,45.294 128.258 C 45.058 128.112,44.593 128.264,44.261 128.596 C 43.929 128.928,43.541 129.200,43.400 129.200 C 42.957 129.200,42.000 130.320,42.000 130.838 C 42.000 131.110,41.888 131.221,41.750 131.084 C 41.613 130.946,41.169 131.231,40.764 131.717 C 40.341 132.223,40.021 132.380,40.013 132.084 C 40.002 131.663,39.897 131.663,39.442 132.084 C 39.135 132.368,38.966 132.735,39.066 132.900 C 39.165 133.065,38.877 133.200,38.424 133.200 C 37.971 133.200,37.600 133.380,37.600 133.600 C 37.600 133.820,37.370 134.000,37.088 134.000 C 36.807 134.000,36.317 134.360,36.000 134.800 C 35.683 135.240,35.185 135.600,34.894 135.600 C 34.230 135.600,32.362 137.429,32.691 137.758 C 32.824 137.891,32.530 138.000,32.038 138.000 C 31.073 138.000,30.000 138.850,30.000 139.614 C 30.000 139.873,29.743 139.987,29.429 139.867 C 28.805 139.627,27.846 140.512,28.270 140.937 C 28.415 141.082,28.233 141.200,27.867 141.200 C 27.500 141.200,27.200 141.460,27.200 141.777 C 27.200 142.143,26.901 142.296,26.381 142.196 C 25.869 142.098,25.241 142.407,24.708 143.019 C 24.239 143.559,23.509 144.000,23.085 144.000 C 22.567 144.000,22.389 144.195,22.543 144.595 C 22.668 144.923,22.643 145.163,22.486 145.131 C 21.858 144.999,20.028 146.008,18.963 147.073 C 18.343 147.693,17.602 148.147,17.318 148.082 C 16.845 147.975,16.617 148.489,16.763 149.330 C 16.794 149.511,16.665 149.564,16.475 149.446 C 15.951 149.123,14.349 150.393,14.655 150.889 C 14.807 151.135,14.739 151.210,14.498 151.061 C 13.879 150.678,12.800 151.190,12.800 151.866 C 12.800 152.186,12.609 152.329,12.375 152.184 C 11.889 151.884,10.321 153.149,10.607 153.611 C 10.710 153.778,10.318 154.034,9.736 154.180 C 9.154 154.326,8.211 154.931,7.639 155.523 C 7.068 156.115,6.105 156.855,5.500 157.168 C 4.895 157.480,4.400 157.885,4.400 158.068 C 4.400 158.250,4.085 158.403,3.700 158.407 C 3.315 158.410,2.318 159.105,1.485 159.951 L -0.030 161.489 0.085 165.445 C 0.183 168.802,0.298 169.393,0.849 169.353 C 1.307 169.320,1.436 169.539,1.290 170.099 C 1.118 170.759,1.226 170.846,1.941 170.619 C 2.844 170.332,3.170 170.984,2.300 171.335 C 2.025 171.446,2.306 171.551,2.924 171.568 C 3.591 171.587,3.943 171.768,3.791 172.014 C 3.623 172.287,4.437 172.404,6.167 172.356 C 8.048 172.305,8.800 172.133,8.800 171.755 C 8.800 171.444,9.053 171.322,9.412 171.460 C 9.765 171.596,10.335 171.337,10.759 170.847 C 11.163 170.381,11.706 170.000,11.965 170.000 C 12.224 170.000,12.872 169.564,13.405 169.031 C 13.938 168.498,14.740 167.946,15.187 167.804 C 15.635 167.662,16.000 167.199,16.000 166.773 C 16.000 166.215,16.278 166.000,17.000 166.000 C 17.550 166.000,18.000 165.820,18.000 165.600 C 18.000 165.380,18.230 165.200,18.512 165.200 C 18.793 165.200,19.283 164.840,19.600 164.400 C 19.917 163.960,20.457 163.600,20.800 163.600 C 21.143 163.600,21.683 163.240,22.000 162.800 C 22.317 162.360,22.817 162.000,23.112 162.000 C 23.406 162.000,23.536 161.820,23.400 161.600 C 23.264 161.380,23.317 161.200,23.518 161.200 C 24.074 161.200,25.985 159.318,25.709 159.042 C 25.576 158.909,25.947 158.800,26.533 158.800 C 27.120 158.800,27.600 158.609,27.600 158.376 C 27.600 158.143,27.780 158.064,28.000 158.200 C 28.220 158.336,28.400 158.278,28.400 158.072 C 28.400 157.866,28.940 157.473,29.600 157.200 C 30.260 156.927,30.800 156.575,30.800 156.419 C 30.800 156.263,31.295 155.880,31.900 155.568 C 32.505 155.255,33.219 154.730,33.487 154.400 C 33.897 153.895,34.400 362.114,34.005 369.155 C 33.963 369.900,34.121 370.627,34.355 370.772 C 34.588 370.916,34.839 371.387,34.910 371.817 C 35.289 374.089,39.189 379.200,40.543 379.200 C 40.807 379.200,41.283 379.560,41.600 380.000 C 42.229 380.873,43.003 381.107,42.594 380.300 C 42.455 380.025,42.579 380.086,42.870 380.435 C 43.162 380.784,43.650 380.986,43.956 380.883 C 44.329 380.758,44.406 380.867,44.190 381.216 C 43.960 381.588,44.055 381.664,44.523 381.485 C 44.883 381.347,45.439 381.496,45.760 381.817 C 46.476 382.533,353.759 382.713,354.202 381.997 C 354.337 381.779,354.807 381.600,355.247 381.600 C 355.687 381.600,355.937 381.422,355.803 381.205 C 355.663 380.978,355.823 380.911,356.179 381.047 C 356.522 381.179,356.800 381.076,356.800 380.819 C 356.800 380.563,356.990 380.470,357.221 380.613 C 357.453 380.756,357.969 380.497,358.368 380.037 C 358.767 379.577,359.304 379.200,359.560 379.200 C 360.220 379.200,362.800 376.541,362.800 375.862 C 362.800 375.552,363.205 375.014,363.700 374.666 C 364.408 374.170,364.486 373.958,364.066 373.673 C 363.654 373.393,363.722 373.261,364.366 373.093 C 364.935 372.944,365.200 372.552,365.200 371.861 C 365.200 371.303,365.389 370.731,365.619 370.588 C 365.850 370.446,366.009 370.030,365.973 369.665 C 365.326 363.074,366.118 153.975,366.786 154.693 C 367.219 155.158,367.939 155.654,368.386 155.796 C 368.834 155.938,369.200 156.193,369.200 156.363 C 369.200 156.811,371.194 157.651,371.625 157.384 C 371.826 157.260,371.887 157.430,371.759 157.762 C 371.600 158.176,371.853 158.448,372.561 158.626 C 373.129 158.769,373.495 159.046,373.374 159.243 C 373.252 159.439,373.451 159.600,373.816 159.600 C 374.181 159.600,374.983 160.140,375.600 160.800 C 376.217 161.460,376.879 162.000,377.072 162.000 C 377.265 162.000,377.683 162.360,378.000 162.800 C 378.317 163.240,378.897 163.600,379.288 163.600 C 379.680 163.600,380.000 163.780,380.000 164.000 C 380.000 164.220,380.191 164.400,380.424 164.400 C 380.657 164.400,380.719 164.192,380.562 163.938 C 380.389 163.659,380.452 163.585,380.721 163.751 C 380.965 163.902,381.071 164.270,380.957 164.568 C 380.830 164.900,381.224 165.321,381.974 165.653 C 382.648 165.951,383.200 166.342,383.200 166.521 C 383.200 166.701,383.380 166.736,383.600 166.600 C 383.820 166.464,384.000 166.653,384.000 167.019 C 384.000 167.457,384.213 167.604,384.621 167.447 C 384.977 167.311,385.137 167.378,384.997 167.605 C 384.863 167.822,384.915 168.000,385.114 168.000 C 385.313 168.000,385.999 168.450,386.638 169.000 C 387.277 169.549,388.025 169.999,388.300 170.000 C 388.575 170.000,388.800 170.191,388.800 170.424 C 388.800 170.657,388.980 170.736,389.200 170.600 C 389.420 170.464,389.600 170.633,389.600 170.976 C 389.600 171.333,389.942 171.600,390.400 171.600 C 390.840 171.600,391.200 171.780,391.200 172.000 C 391.200 172.220,392.190 172.400,393.400 172.400 C 394.822 172.400,395.565 172.241,395.500 171.950 C 395.445 171.702,395.625 171.417,395.900 171.317 C 396.238 171.193,396.315 171.372,396.138 171.867 C 395.940 172.419,396.089 172.362,396.738 171.639 C 397.223 171.098,397.600 170.906,397.600 171.200 C 397.600 171.498,397.940 171.331,398.392 170.810 C 398.827 170.308,399.084 169.736,398.962 169.538 C 398.840 169.341,398.979 169.230,399.270 169.290 C 399.678 169.375,399.819 168.461,399.885 165.313 C 399.972 161.104,399.616 160.000,398.171 160.000 C 397.857 160.000,397.645 159.803,397.700 159.563 C 397.829 159.000,395.557 157.758,394.714 157.932 C 394.557 157.964,394.544 157.691,394.684 157.326 C 394.874 156.830,394.774 156.724,394.290 156.910 C 393.833 157.086,393.707 156.988,393.863 156.580 C 394.014 156.186,393.814 156.000,393.243 156.000 C 392.779 156.000,392.400 155.801,392.400 155.557 C 392.400 155.314,392.139 155.214,391.820 155.337 C 391.433 155.485,391.315 155.367,391.463 154.980 C 391.586 154.661,391.462 154.400,391.190 154.400 C 390.917 154.400,390.367 154.023,389.968 153.563 C 389.545 153.076,389.041 152.851,388.759 153.025 C 388.443 153.221,388.381 153.155,388.578 152.835 C 388.771 152.524,388.575 152.266,388.040 152.126 C 387.578 152.006,387.197 151.703,387.194 151.453 C 387.191 151.204,387.013 151.270,386.800 151.600 C 386.486 152.085,386.411 152.028,386.406 151.300 C 386.403 150.805,386.157 150.400,385.859 150.400 C 385.562 150.400,384.739 149.846,384.030 149.168 C 383.314 148.484,382.488 148.034,382.171 148.156 C 381.857 148.276,381.600 148.176,381.600 147.934 C 381.600 147.206,379.456 145.583,378.642 145.695 C 378.156 145.762,377.842 145.527,377.768 145.040 C 377.636 144.169,376.914 143.615,375.900 143.606 C 375.515 143.603,375.200 143.311,375.200 142.957 C 375.200 142.541,374.982 142.398,374.579 142.553 C 374.223 142.689,374.063 142.622,374.203 142.395 C 374.337 142.178,374.255 142.000,374.020 142.000 C 373.785 142.000,373.028 141.460,372.337 140.800 C 371.646 140.140,370.838 139.600,370.541 139.600 C 370.243 139.600,370.000 139.409,370.000 139.176 C 370.000 138.943,369.820 138.864,369.600 139.000 C 369.380 139.136,369.200 138.967,369.200 138.624 C 369.200 138.281,368.930 138.000,368.600 138.000 C 368.270 138.000,368.000 137.820,368.000 137.600 C 368.000 137.380,367.770 137.200,367.488 137.200 C 367.207 137.200,366.717 136.840,366.400 136.400 C 366.083 135.960,365.383 135.600,364.845 135.600 C 364.307 135.600,363.976 135.491,364.109 135.358 C 364.422 135.044,362.545 133.158,362.057 133.295 C 361.854 133.353,361.352 133.023,360.944 132.563 C 360.106 131.620,358.370 130.581,357.870 130.725 C 357.689 130.777,357.645 130.651,357.773 130.444 C 357.900 130.238,357.476 129.835,356.831 129.550 C 356.186 129.264,355.720 128.930,355.795 128.807 C 355.871 128.685,355.325 128.186,354.582 127.698 C 353.424 126.939,353.262 126.912,353.457 127.506 C 353.583 127.888,353.299 127.599,352.827 126.864 C 352.105 125.742,351.871 125.609,351.362 126.032 C 351.028 126.309,350.786 126.370,350.825 126.168 C 350.996 125.266,350.731 124.869,349.800 124.636 C 349.250 124.498,348.800 124.110,348.800 123.775 C 348.800 123.439,348.567 123.218,348.282 123.282 C 347.998 123.347,347.278 122.914,346.684 122.319 C 346.089 121.725,344.973 120.940,344.205 120.575 C 343.436 120.211,342.894 119.771,343.001 119.598 C 343.198 119.279,342.050 118.620,341.500 118.736 C 341.335 118.771,341.200 118.608,341.200 118.373 C 341.200 118.131,340.811 118.043,340.300 118.169 C 339.805 118.292,339.615 118.293,339.878 118.170 C 340.396 117.929,340.136 116.800,339.562 116.800 C 339.228 116.800,338.145 116.002,336.984 114.900 C 336.694 114.625,336.304 114.400,336.117 114.400 C 335.930 114.400,335.522 114.047,335.211 113.615 C 334.757 112.985,334.523 112.923,334.023 113.302 C 333.680 113.561,333.528 113.621,333.686 113.435 C 334.097 112.946,331.206 110.478,329.871 110.178 C 329.251 110.038,328.844 109.823,328.968 109.699 C 329.327 109.339,328.366 108.400,327.639 108.400 C 327.275 108.400,326.717 108.040,326.400 107.600 C 326.083 107.160,325.633 106.800,325.400 106.800 C 325.167 106.800,324.724 106.450,324.415 106.021 C 324.107 105.593,323.707 105.334,323.527 105.445 C 323.347 105.556,323.200 105.457,323.200 105.224 C 323.200 104.991,323.002 104.800,322.760 104.800 C 322.518 104.800,321.690 104.170,320.920 103.400 C 320.150 102.630,319.308 102.000,319.048 102.000 C 318.789 102.000,318.317 101.640,318.000 101.200 C 317.683 100.760,317.103 100.400,316.712 100.400 C 316.320 100.400,316.000 100.201,316.000 99.957 C 316.000 99.714,315.736 99.616,315.413 99.740 C 315.090 99.864,314.702 99.765,314.551 99.521 C 314.385 99.252,314.459 99.189,314.738 99.362 C 315.385 99.761,315.315 99.258,314.629 98.571 C 314.314 98.257,313.774 98.000,313.429 98.000 C 313.083 98.000,312.800 97.801,312.800 97.557 C 312.800 97.314,312.544 97.213,312.230 97.333 C 311.901 97.459,311.394 97.145,311.029 96.589 C 310.636 95.988,310.167 95.715,309.783 95.862 C 309.444 95.992,309.203 95.941,309.247 95.749 C 309.388 95.135,308.729 93.997,308.364 94.222 C 308.170 94.342,307.475 93.891,306.819 93.220 C 306.164 92.549,305.351 92.000,305.013 92.000 C 304.676 92.000,304.400 91.809,304.400 91.576 C 304.400 91.343,304.220 91.264,304.000 91.400 C 303.780 91.536,303.600 91.367,303.600 91.024 C 303.600 90.481,302.881 90.198,301.900 90.353 C 301.735 90.379,301.600 90.248,301.600 90.061 C 301.600 89.508,300.146 88.000,299.614 88.000 C 299.343 88.000,298.617 87.460,298.000 86.800 C 297.383 86.140,296.631 85.600,296.328 85.600 C 296.025 85.600,295.517 85.240,295.200 84.800 C 294.883 84.360,294.393 84.000,294.112 84.000 C 293.830 84.000,293.600 83.809,293.600 83.576 C 293.600 83.343,293.419 83.265,293.197 83.402 C 292.976 83.539,292.686 83.369,292.554 83.025 C 292.422 82.681,292.053 82.400,291.734 82.400 C 291.411 82.400,291.274 82.203,291.426 81.957 C 291.613 81.655,291.413 81.605,290.800 81.800 C 290.261 81.971,289.994 81.933,290.136 81.704 C 290.509 81.100,288.146 79.058,287.403 79.343 C 287.049 79.480,286.861 79.425,286.987 79.221 C 287.317 78.688,284.531 76.672,283.955 77.028 C 283.666 77.206,283.581 77.154,283.741 76.896 C 283.887 76.659,283.337 76.062,282.502 75.555 C 281.676 75.052,280.704 74.311,280.341 73.907 C 279.979 73.503,279.529 73.200,279.341 73.234 C 278.612 73.364,277.879 73.187,278.126 72.940 C 278.423 72.643,276.411 70.801,275.788 70.800 C 275.562 70.800,275.117 70.440,274.800 70.000 C 274.226 69.203,273.332 68.843,273.797 69.595 C 273.935 69.819,273.782 69.891,273.446 69.762 C 273.118 69.637,272.951 69.271,273.074 68.951 C 273.212 68.592,273.087 68.412,272.749 68.484 C 272.447 68.548,272.239 68.394,272.286 68.143 C 272.333 67.891,271.838 67.464,271.186 67.194 C 270.534 66.924,270.000 66.584,270.000 66.438 C 270.000 66.292,269.467 65.857,268.815 65.472 C 268.163 65.087,267.353 64.495,267.015 64.157 C 266.653 63.796,266.400 63.729,266.400 63.995 C 266.400 64.244,266.228 64.341,266.017 64.211 C 265.807 64.081,265.736 63.710,265.860 63.387 C 266.025 62.958,265.787 62.800,264.976 62.800 C 264.366 62.800,263.984 62.682,264.128 62.539 C 264.506 62.161,262.103 60.486,260.761 60.191 C 260.133 60.054,259.660 59.744,259.710 59.503 C 259.759 59.262,259.396 58.855,258.902 58.597 C 258.409 58.339,258.124 58.010,258.269 57.864 C 258.414 57.719,258.233 57.600,257.867 57.600 C 257.500 57.600,257.200 57.420,257.200 57.200 C 257.200 56.980,256.930 56.800,256.600 56.800 C 256.270 56.800,256.000 56.656,256.000 56.480 C 256.000 56.305,255.285 55.720,254.411 55.180 C 253.537 54.641,252.817 54.065,252.811 53.900 C 252.805 53.735,252.609 53.600,252.376 53.600 C 252.143 53.600,252.081 53.808,252.238 54.062 C 252.411 54.341,252.348 54.415,252.079 54.249 C 251.835 54.098,251.736 53.710,251.860 53.387 C 251.993 53.041,251.853 52.800,251.518 52.800 C 251.206 52.800,250.579 52.454,250.125 52.031 C 249.558 51.502,249.170 51.390,248.887 51.673 C 248.604 51.956,248.494 51.852,248.537 51.343 C 248.580 50.843,248.291 50.557,247.654 50.466 C 247.133 50.393,246.623 50.010,246.520 49.616 C 246.417 49.222,245.853 48.653,245.266 48.352 C 244.680 48.052,243.930 47.516,243.600 47.162 C 242.734 46.234,240.556 45.183,240.187 45.516 C 240.013 45.672,239.989 45.595,240.131 45.345 C 240.274 45.095,240.123 44.668,239.796 44.396 C 239.468 44.124,239.200 44.020,239.200 44.165 C 239.200 44.309,238.666 43.881,238.013 43.214 C 237.361 42.546,236.431 42.000,235.947 42.000 C 235.463 42.000,235.178 41.889,235.314 41.752 C 235.450 41.616,235.313 41.256,235.010 40.952 C 234.321 40.264,233.862 40.233,234.225 40.900 C 234.375 41.175,233.776 40.635,232.895 39.700 C 232.014 38.765,231.041 38.000,230.735 38.000 C 230.428 38.000,229.924 37.650,229.615 37.221 C 229.307 36.793,228.907 36.534,228.727 36.645 C 228.547 36.756,228.400 36.546,228.400 36.177 C 228.400 35.704,228.165 35.568,227.600 35.716 C 227.160 35.831,226.800 35.749,226.800 35.534 C 226.800 35.092,225.797 34.000,225.392 34.000 C 225.246 34.000,224.681 33.650,224.138 33.222 C 223.594 32.795,222.935 32.495,222.674 32.557 C 222.414 32.618,222.335 32.593,222.500 32.501 C 222.948 32.251,222.862 31.600,222.382 31.600 C 222.152 31.600,221.540 31.195,221.022 30.700 C 220.504 30.205,219.166 29.260,218.048 28.600 C 216.930 27.940,216.012 27.246,216.008 27.057 C 216.003 26.869,215.713 26.824,215.363 26.959 C 214.947 27.118,214.658 26.945,214.532 26.461 C 214.425 26.053,213.716 25.422,212.957 25.060 C 212.197 24.698,211.472 24.131,211.345 23.801 C 211.218 23.470,210.775 23.200,210.361 23.200 C 209.946 23.200,209.382 22.840,209.107 22.400 C 208.832 21.960,208.461 21.600,208.282 21.600 C 208.103 21.600,207.381 21.061,206.678 20.402 C 205.975 19.743,205.175 19.203,204.900 19.202 C 204.625 19.201,204.399 19.065,204.397 18.900 C 204.395 18.735,203.909 18.375,203.317 18.100 C 202.034 17.504,197.200 17.425,197.200 18.000 M200.686 33.448 C 200.304 33.829,201.285 34.634,202.504 34.940 C 203.107 35.091,203.600 35.482,203.600 35.808 C 203.600 36.529,204.246 36.591,204.563 35.900 C 204.689 35.625,204.692 35.805,204.569 36.300 C 204.407 36.954,204.523 37.200,204.991 37.200 C 205.346 37.200,206.086 37.650,206.636 38.200 C 207.186 38.750,207.855 39.200,208.122 39.200 C 208.389 39.200,208.832 39.560,209.107 40.000 C 209.382 40.440,209.796 40.800,210.027 40.800 C 210.258 40.800,210.319 40.592,210.162 40.338 C 209.984 40.050,210.052 39.985,210.345 40.166 C 210.602 40.325,210.691 40.653,210.541 40.896 C 210.359 41.189,210.520 41.240,211.022 41.047 C 211.437 40.888,211.656 40.877,211.510 41.023 C 211.226 41.308,213.277 43.200,213.869 43.200 C 214.064 43.200,214.476 43.550,214.785 43.979 C 215.093 44.407,215.474 44.678,215.631 44.581 C 215.788 44.484,216.019 44.674,216.146 45.002 C 216.272 45.331,216.611 45.600,216.899 45.600 C 217.187 45.600,217.683 45.960,218.000 46.400 C 218.317 46.840,218.857 47.200,219.200 47.200 C 219.543 47.200,220.083 47.560,220.400 48.000 C 220.717 48.440,221.217 48.800,221.512 48.800 C 221.806 48.800,221.936 48.980,221.800 49.200 C 221.664 49.420,221.842 49.600,222.195 49.600 C 222.548 49.600,223.273 50.037,223.807 50.571 C 224.341 51.105,225.323 51.864,225.989 52.257 C 226.655 52.651,227.200 53.114,227.200 53.286 C 227.200 53.459,227.470 53.600,227.800 53.600 C 228.130 53.600,228.400 53.780,228.400 54.000 C 228.400 54.220,228.681 54.400,229.024 54.400 C 229.385 54.400,229.530 54.590,229.368 54.852 C 229.200 55.123,229.304 55.232,229.629 55.124 C 229.925 55.025,230.693 55.406,231.334 55.972 C 231.975 56.537,232.670 56.951,232.879 56.890 C 233.088 56.830,233.146 56.963,233.008 57.186 C 232.870 57.410,233.397 57.898,234.179 58.270 C 234.960 58.643,235.600 59.095,235.600 59.274 C 235.600 59.453,235.950 59.600,236.377 59.600 C 236.805 59.600,237.420 59.980,237.745 60.443 C 238.070 60.907,238.528 61.168,238.763 61.023 C 239.030 60.858,239.097 61.003,238.941 61.409 C 238.779 61.831,238.887 62.033,239.246 61.983 C 240.186 61.851,240.946 61.988,240.691 62.242 C 240.365 62.569,242.228 64.400,242.886 64.400 C 243.173 64.400,243.643 64.778,243.932 65.239 C 244.282 65.800,244.723 66.009,245.260 65.869 C 245.776 65.733,245.998 65.827,245.882 66.131 C 245.650 66.736,246.466 67.511,247.109 67.297 C 247.379 67.207,247.603 67.463,247.606 67.867 C 247.610 68.327,247.722 68.430,247.906 68.144 C 248.119 67.814,248.342 67.842,248.716 68.244 C 248.999 68.550,249.107 68.800,248.955 68.800 C 248.802 68.800,249.093 69.160,249.600 69.600 C 250.107 70.040,250.662 70.400,250.833 70.400 C 251.003 70.400,251.426 70.683,251.771 71.029 C 252.135 71.392,252.400 71.466,252.400 71.205 C 252.400 70.956,252.572 70.859,252.783 70.989 C 252.993 71.119,253.053 71.518,252.915 71.876 C 252.705 72.424,252.882 72.489,254.033 72.290 C 254.785 72.160,255.175 72.147,254.900 72.260 C 254.196 72.551,254.273 73.334,254.980 73.063 C 255.341 72.924,255.485 73.033,255.363 73.352 C 255.245 73.660,255.811 74.154,256.783 74.593 C 257.673 74.993,258.400 75.485,258.400 75.684 C 258.400 75.884,258.580 75.936,258.800 75.800 C 259.020 75.664,259.200 75.853,259.200 76.219 C 259.200 76.647,259.415 76.803,259.800 76.655 C 260.165 76.515,260.400 76.655,260.400 77.013 C 260.400 77.336,260.681 77.600,261.024 77.600 C 261.367 77.600,261.536 77.780,261.400 78.000 C 261.264 78.220,261.523 78.400,261.976 78.400 C 262.429 78.400,262.800 78.610,262.800 78.867 C 262.800 79.123,262.914 79.219,263.053 79.080 C 263.192 78.941,263.655 79.271,264.082 79.814 C 264.526 80.378,265.273 80.800,265.829 80.800 C 266.543 80.800,266.800 81.018,266.800 81.624 C 266.800 82.077,266.961 82.348,267.158 82.226 C 267.355 82.104,267.619 82.274,267.746 82.602 C 267.872 82.931,268.211 83.200,268.499 83.200 C 268.787 83.200,269.283 83.560,269.600 84.000 C 269.917 84.440,270.617 84.800,271.155 84.800 C 271.693 84.800,272.024 84.909,271.891 85.042 C 271.588 85.345,273.405 87.200,274.004 87.200 C 274.245 87.200,275.019 87.739,275.722 88.398 C 276.425 89.057,277.197 89.597,277.438 89.598 C 277.679 89.599,278.202 89.960,278.600 90.400 C 278.998 90.840,279.541 91.200,279.806 91.200 C 280.071 91.200,280.626 91.650,281.039 92.200 C 281.462 92.764,282.195 93.200,282.719 93.200 C 283.326 93.200,283.547 93.362,283.358 93.668 C 283.165 93.980,283.284 94.053,283.714 93.888 C 284.167 93.714,284.293 93.813,284.137 94.220 C 283.995 94.590,284.167 94.800,284.610 94.800 C 284.993 94.800,285.629 95.172,286.023 95.626 C 286.417 96.081,286.888 96.486,287.070 96.526 C 287.251 96.567,287.355 96.735,287.300 96.900 C 287.245 97.065,287.560 97.200,288.000 97.200 C 288.440 97.200,288.803 97.425,288.806 97.700 C 288.810 98.033,288.942 98.000,289.200 97.600 C 289.516 97.111,289.589 97.160,289.594 97.866 C 289.598 98.441,290.004 98.912,290.800 99.264 C 291.460 99.556,292.003 99.976,292.006 100.198 C 292.009 100.419,292.187 100.330,292.400 100.000 C 292.711 99.519,292.789 99.587,292.794 100.343 C 292.798 101.015,292.972 101.220,293.400 101.055 C 293.737 100.926,294.000 101.045,294.000 101.326 C 294.000 101.602,294.545 102.149,295.211 102.543 C 295.877 102.936,296.868 103.705,297.414 104.251 C 297.960 104.796,298.566 105.144,298.761 105.024 C 298.957 104.903,299.220 105.075,299.347 105.406 C 299.474 105.737,299.718 105.961,299.889 105.904 C 300.060 105.847,300.200 105.927,300.200 106.083 C 300.200 106.658,301.789 107.541,302.054 107.113 C 302.201 106.875,302.427 107.054,302.577 107.527 C 302.722 107.985,303.192 108.470,303.620 108.606 C 304.049 108.743,304.400 109.022,304.400 109.227 C 304.400 109.432,304.772 109.600,305.226 109.600 C 305.680 109.600,306.506 110.140,307.062 110.801 C 307.618 111.462,308.238 111.900,308.439 111.776 C 308.641 111.651,308.914 111.831,309.046 112.175 C 309.178 112.519,309.671 112.803,310.143 112.806 C 310.843 112.811,310.890 112.883,310.400 113.200 C 309.921 113.509,309.996 113.589,310.767 113.594 C 311.298 113.597,311.624 113.709,311.491 113.842 C 311.085 114.248,313.108 116.000,313.982 116.000 C 314.432 116.000,314.800 116.173,314.800 116.384 C 314.800 116.964,316.472 118.403,316.863 118.161 C 317.052 118.044,317.314 118.231,317.446 118.575 C 317.578 118.919,317.936 119.200,318.243 119.200 C 318.549 119.200,318.800 119.399,318.800 119.643 C 318.800 119.886,319.070 119.982,319.400 119.855 C 319.765 119.715,320.000 119.855,320.000 120.213 C 320.000 120.553,320.378 120.803,320.900 120.806 C 321.510 120.810,321.636 120.916,321.292 121.134 C 320.928 121.366,321.098 121.617,321.892 122.026 C 322.502 122.339,323.298 122.918,323.661 123.314 C 324.158 123.854,324.374 123.904,324.530 123.516 C 324.672 123.161,324.747 123.198,324.768 123.636 C 324.806 124.393,326.661 125.329,327.330 124.928 C 327.593 124.771,327.558 124.944,327.251 125.323 C 326.761 125.927,326.817 126.000,327.775 126.000 C 328.365 126.000,328.770 126.135,328.676 126.300 C 328.582 126.465,328.932 127.011,329.453 127.514 C 329.974 128.017,330.400 128.228,330.400 127.984 C 330.400 127.740,331.165 128.271,332.100 129.166 C 333.035 130.060,333.985 130.793,334.212 130.796 C 334.438 130.798,334.883 131.160,335.200 131.600 C 335.517 132.040,336.193 132.400,336.701 132.400 C 337.286 132.400,337.759 132.731,337.988 133.300 C 338.187 133.795,338.361 133.975,338.375 133.700 C 338.389 133.425,338.574 133.200,338.787 133.200 C 339.001 133.200,339.067 133.481,338.935 133.824 C 338.776 134.241,338.979 134.522,339.548 134.671 C 340.017 134.793,340.400 135.052,340.400 135.247 C 340.400 135.441,340.535 135.555,340.700 135.500 C 340.865 135.445,341.000 135.522,341.000 135.670 C 341.000 135.819,341.720 136.425,342.600 137.019 C 343.480 137.612,344.260 138.255,344.333 138.449 C 344.407 138.642,344.722 138.800,345.033 138.800 C 345.345 138.800,345.939 139.115,346.353 139.500 C 347.734 140.785,348.957 141.600,349.505 141.600 C 349.803 141.600,349.946 141.764,349.821 141.965 C 349.697 142.166,350.136 142.570,350.797 142.863 L 351.999 143.395 352.099 254.985 L 352.200 366.575 351.354 367.487 L 350.508 368.400 200.180 368.400 L 49.852 368.400 48.926 367.530 L 48.000 366.661 48.000 254.930 C 48.000 165.813,48.101 143.200,48.500 143.200 C 48.775 143.199,49.482 142.794,50.070 142.300 C 50.659 141.805,51.706 141.087,52.396 140.704 C 53.087 140.321,53.537 139.821,53.396 139.594 C 53.256 139.366,53.379 139.230,53.670 139.290 C 53.962 139.351,54.152 139.166,54.094 138.881 C 54.032 138.580,54.284 138.412,54.694 138.481 C 55.110 138.551,55.355 138.383,55.290 138.070 C 55.230 137.779,55.358 137.650,55.574 137.784 C 56.133 138.130,58.832 136.299,58.618 135.720 C 58.512 135.434,58.675 135.331,59.020 135.463 C 59.339 135.586,59.600 135.486,59.600 135.243 C 59.600 134.999,59.981 134.800,60.447 134.800 C 61.104 134.800,61.245 134.616,61.078 133.977 C 60.902 133.302,60.965 133.239,61.431 133.626 C 61.885 134.002,62.000 133.961,62.000 133.425 C 62.000 133.055,62.161 132.852,62.358 132.974 C 62.555 133.096,62.827 132.908,62.961 132.556 C 63.101 132.192,63.463 132.015,63.803 132.146 C 64.172 132.287,64.400 132.141,64.400 131.764 C 64.400 131.428,64.580 131.264,64.800 131.400 C 65.020 131.536,65.200 131.457,65.200 131.224 C 65.200 130.991,65.571 130.800,66.024 130.800 C 66.477 130.800,66.736 130.620,66.600 130.400 C 66.464 130.180,66.594 130.000,66.888 130.000 C 67.183 130.000,67.683 129.640,68.000 129.200 C 68.317 128.760,68.857 128.400,69.200 128.400 C 69.543 128.400,70.083 128.040,70.400 127.600 C 70.717 127.160,71.207 126.800,71.488 126.800 C 71.770 126.800,72.000 126.620,72.000 126.400 C 72.000 126.180,72.315 125.997,72.700 125.994 C 73.298 125.989,73.313 125.931,72.800 125.600 C 72.316 125.287,72.377 125.211,73.113 125.206 C 73.614 125.203,74.128 124.931,74.254 124.602 C 74.381 124.274,74.634 124.098,74.818 124.211 C 75.163 124.424,76.800 122.885,76.800 122.348 C 76.800 122.182,77.160 122.115,77.600 122.200 C 78.202 122.316,78.402 122.137,78.406 121.477 C 78.411 120.764,78.485 120.712,78.800 121.200 C 79.013 121.530,79.191 121.605,79.194 121.368 C 79.197 121.130,79.695 120.681,80.300 120.370 C 80.905 120.060,81.670 119.522,82.000 119.175 C 82.330 118.828,82.926 118.423,83.325 118.275 C 83.751 118.117,83.931 117.811,83.760 117.535 C 83.556 117.206,83.696 117.151,84.222 117.353 C 84.637 117.512,84.848 117.514,84.691 117.358 C 84.260 116.927,85.196 116.000,86.062 116.000 C 86.483 116.000,87.348 115.505,87.985 114.900 C 89.624 113.344,91.455 112.000,91.936 112.000 C 92.162 112.000,92.460 111.640,92.600 111.200 C 92.740 110.760,93.068 110.400,93.331 110.400 C 93.593 110.400,94.049 110.014,94.344 109.541 C 94.777 108.848,94.948 108.790,95.234 109.241 C 95.515 109.685,95.589 109.651,95.594 109.076 C 95.597 108.678,95.750 108.445,95.933 108.559 C 96.258 108.760,98.873 107.165,99.929 106.122 C 100.219 105.835,100.616 105.600,100.810 105.600 C 101.005 105.600,101.614 105.150,102.164 104.600 C 102.714 104.050,103.362 103.600,103.605 103.600 C 103.848 103.600,103.919 103.392,103.762 103.138 C 103.593 102.864,103.651 102.785,103.906 102.942 C 104.142 103.088,104.575 102.971,104.868 102.681 C 105.160 102.392,106.074 101.700,106.898 101.142 C 107.722 100.585,108.277 100.010,108.131 99.865 C 107.986 99.719,108.184 99.600,108.573 99.600 C 108.961 99.600,109.783 99.060,110.400 98.400 C 111.017 97.740,111.809 97.200,112.160 97.200 C 112.512 97.200,112.800 96.919,112.800 96.576 C 112.800 96.233,112.967 96.056,113.171 96.182 C 113.375 96.308,113.665 96.025,113.815 95.553 C 114.002 94.962,114.181 94.846,114.388 95.181 C 114.608 95.536,114.757 95.489,114.942 95.008 C 115.081 94.646,115.343 94.441,115.524 94.553 C 115.706 94.665,116.107 94.407,116.415 93.979 C 116.724 93.550,117.215 93.200,117.506 93.200 C 117.798 93.200,118.455 92.795,118.968 92.300 C 119.480 91.805,120.473 91.087,121.175 90.704 C 121.956 90.278,122.340 89.827,122.164 89.542 C 121.984 89.251,122.051 89.184,122.341 89.363 C 122.908 89.714,125.301 88.087,124.981 87.569 C 124.856 87.366,125.033 87.200,125.376 87.200 C 125.719 87.200,126.014 86.975,126.032 86.700 C 126.057 86.305,126.106 86.306,126.267 86.705 C 126.405 87.048,126.811 86.856,127.535 86.105 C 128.121 85.497,129.095 84.745,129.700 84.432 C 130.305 84.120,130.800 83.715,130.800 83.532 C 130.800 83.350,131.076 83.200,131.413 83.200 C 131.749 83.200,132.128 82.931,132.254 82.602 C 132.381 82.274,132.645 82.104,132.842 82.226 C 133.167 82.427,133.368 81.866,133.247 81.100 C 133.221 80.935,133.674 80.800,134.253 80.800 C 135.230 80.800,137.198 79.112,137.200 78.273 C 137.200 78.093,137.521 78.048,137.912 78.172 C 138.357 78.313,138.841 78.098,139.201 77.599 C 139.517 77.160,139.925 76.800,140.106 76.800 C 140.288 76.800,140.855 76.381,141.366 75.870 C 141.878 75.358,142.819 74.723,143.458 74.459 C 144.097 74.194,144.797 73.578,145.014 73.089 C 145.257 72.538,145.689 72.249,146.147 72.327 C 146.553 72.398,147.147 72.083,147.466 71.627 C 147.785 71.172,148.260 70.799,148.523 70.798 C 148.785 70.797,149.540 70.292,150.200 69.676 C 150.860 69.060,151.726 68.432,152.125 68.281 C 152.551 68.119,152.730 67.811,152.560 67.535 C 152.363 67.217,152.485 67.147,152.934 67.319 C 153.300 67.460,153.600 67.439,153.600 67.274 C 153.600 67.108,154.143 66.652,154.807 66.259 C 155.471 65.867,155.912 65.381,155.786 65.178 C 155.661 64.975,155.838 64.916,156.179 65.047 C 156.521 65.178,156.800 65.086,156.800 64.843 C 156.800 64.599,156.972 64.400,157.182 64.400 C 157.718 64.400,159.563 62.497,159.291 62.224 C 159.168 62.101,159.507 62.000,160.045 62.000 C 160.583 62.000,161.283 61.640,161.600 61.200 C 161.917 60.760,162.413 60.400,162.701 60.400 C 162.990 60.400,163.389 59.995,163.588 59.500 C 163.787 59.005,163.961 58.832,163.975 59.116 C 164.001 59.650,164.169 59.555,165.814 58.071 C 166.136 57.781,166.400 57.653,166.400 57.787 C 166.400 58.017,166.879 57.672,168.185 56.500 C 168.492 56.225,168.902 56.000,169.096 56.000 C 169.290 56.000,169.803 55.671,170.235 55.268 C 170.667 54.865,171.536 54.198,172.167 53.785 C 172.797 53.372,173.647 52.487,174.055 51.817 C 174.608 50.910,174.797 50.789,174.799 51.342 C 174.800 51.951,175.009 51.861,175.960 50.842 C 176.599 50.159,177.369 49.600,177.672 49.600 C 177.975 49.600,178.483 49.240,178.800 48.800 C 179.117 48.360,179.562 48.000,179.788 48.000 C 180.411 47.999,182.423 46.157,182.126 45.860 C 181.983 45.717,182.270 45.600,182.762 45.600 C 183.716 45.600,184.800 44.752,184.800 44.005 C 184.800 43.756,184.980 43.664,185.200 43.800 C 185.420 43.936,185.600 43.857,185.600 43.624 C 185.600 43.391,185.920 43.200,186.312 43.200 C 186.703 43.200,187.283 42.840,187.600 42.400 C 187.917 41.960,188.362 41.598,188.588 41.596 C 189.007 41.592,191.880 39.491,193.486 38.015 C 193.973 37.567,194.648 37.200,194.986 37.200 C 195.324 37.200,195.600 37.009,195.600 36.776 C 195.600 36.543,195.392 36.481,195.138 36.638 C 194.859 36.811,194.785 36.748,194.951 36.479 C 195.102 36.235,195.490 36.136,195.813 36.260 C 196.136 36.384,196.400 36.298,196.400 36.070 C 196.400 35.841,196.784 35.532,197.253 35.383 C 197.934 35.167,197.995 35.036,197.553 34.730 C 197.146 34.448,197.214 34.407,197.812 34.573 C 198.350 34.722,198.820 34.528,199.201 33.999 C 199.517 33.560,200.037 33.200,200.355 33.200 C 200.673 33.200,200.822 33.311,200.686 33.448 M188.800 132.016 C 188.800 132.227,187.555 132.400,186.033 132.400 C 184.331 132.400,183.209 132.574,183.116 132.852 C 183.029 133.112,182.156 133.289,181.068 133.267 C 180.024 133.246,179.265 133.382,179.381 133.569 C 179.497 133.756,179.368 133.902,179.096 133.892 C 177.118 133.821,175.588 134.057,175.800 134.400 C 175.950 134.642,175.395 134.800,174.395 134.800 C 173.459 134.800,172.483 135.060,172.142 135.400 C 171.778 135.765,171.178 135.909,170.615 135.768 C 170.105 135.640,169.567 135.730,169.420 135.968 C 169.273 136.205,168.724 136.400,168.200 136.400 C 167.676 136.400,167.136 136.580,167.000 136.800 C 166.864 137.020,166.223 137.200,165.576 137.200 C 164.929 137.200,164.400 137.380,164.400 137.600 C 164.400 137.820,164.040 138.000,163.600 138.000 C 163.160 138.000,162.800 138.180,162.800 138.400 C 162.800 138.620,162.350 138.800,161.800 138.800 C 161.250 138.800,160.800 138.980,160.800 139.200 C 160.800 139.420,160.339 139.600,159.776 139.600 C 159.196 139.600,158.860 139.773,159.000 140.000 C 159.140 140.226,158.812 140.400,158.247 140.400 C 157.697 140.400,157.136 140.580,157.000 140.800 C 156.864 141.020,156.403 141.200,155.976 141.200 C 155.549 141.200,155.200 141.380,155.200 141.600 C 155.200 141.820,154.859 142.000,154.443 142.000 C 154.026 142.000,153.572 142.296,153.433 142.657 C 153.295 143.019,153.080 143.213,152.957 143.090 C 152.566 142.700,150.400 143.654,150.400 144.216 C 150.400 144.511,150.222 144.863,150.005 144.997 C 149.768 145.143,149.717 144.960,149.878 144.541 C 150.105 143.948,149.958 143.976,148.912 144.721 C 148.232 145.204,147.401 145.600,147.065 145.600 C 146.729 145.600,146.332 145.984,146.183 146.453 C 146.012 146.992,145.810 147.139,145.632 146.852 C 145.440 146.540,145.084 146.649,144.493 147.199 C 144.020 147.640,143.486 148.000,143.305 148.000 C 143.124 148.000,142.717 148.360,142.400 148.800 C 142.083 149.240,141.638 149.600,141.412 149.601 C 141.185 149.601,140.370 150.141,139.600 150.800 C 138.830 151.459,137.967 151.999,137.682 151.999 C 137.398 152.000,137.218 152.278,137.282 152.618 C 137.394 153.207,136.782 153.658,134.286 154.828 C 133.618 155.141,133.256 155.568,133.381 155.896 C 133.497 156.196,133.429 156.342,133.231 156.219 C 132.765 155.931,129.975 158.632,130.330 159.027 C 130.479 159.192,130.265 159.207,129.855 159.059 C 129.297 158.858,129.169 158.942,129.343 159.395 C 129.500 159.805,129.328 160.000,128.810 160.000 C 128.390 160.000,127.765 160.400,127.423 160.889 C 127.080 161.378,126.800 161.635,126.800 161.460 C 126.800 161.286,126.530 161.413,126.200 161.743 C 125.870 162.073,125.600 162.471,125.600 162.628 C 125.600 162.785,125.060 163.429,124.400 164.060 C 123.740 164.691,123.200 165.565,123.200 166.003 C 123.200 166.442,123.020 166.800,122.800 166.800 C 122.101 166.800,121.820 166.950,120.953 167.785 C 120.487 168.233,120.182 168.735,120.276 168.900 C 120.370 169.065,120.197 169.200,119.891 169.200 C 119.585 169.200,119.080 169.692,118.768 170.293 C 118.455 170.894,117.694 171.923,117.076 172.578 C 116.405 173.289,116.027 174.059,116.139 174.487 C 116.271 174.992,116.042 175.275,115.363 175.445 C 114.660 175.622,114.400 175.963,114.400 176.710 C 114.400 177.273,114.282 177.615,114.137 177.470 C 113.687 177.020,112.800 178.051,112.800 179.025 C 112.800 179.535,112.592 180.081,112.338 180.238 C 112.035 180.426,111.976 180.331,112.168 179.962 C 112.328 179.653,112.182 179.760,111.843 180.200 C 111.504 180.640,111.037 181.221,110.805 181.492 C 110.573 181.763,110.275 182.525,110.143 183.186 C 110.011 183.846,109.783 184.313,109.636 184.222 C 109.490 184.132,109.152 184.585,108.885 185.229 C 108.618 185.873,108.176 186.940,107.902 187.600 C 107.629 188.260,107.249 188.800,107.060 188.800 C 106.870 188.800,106.821 189.077,106.950 189.415 C 107.085 189.765,106.931 190.128,106.593 190.258 C 106.267 190.383,106.000 190.927,106.000 191.466 C 106.000 192.018,105.825 192.339,105.600 192.200 C 105.380 192.064,105.200 192.323,105.200 192.776 C 105.200 193.229,105.020 193.600,104.800 193.600 C 104.580 193.600,104.400 194.050,104.400 194.600 C 104.400 195.150,104.220 195.600,104.000 195.600 C 103.780 195.600,103.600 195.930,103.600 196.333 C 103.600 196.737,103.475 197.191,103.323 197.344 C 103.171 197.496,102.985 198.021,102.911 198.510 C 102.837 199.000,102.602 199.460,102.388 199.533 C 102.175 199.607,102.000 200.292,102.000 201.057 C 102.000 201.822,101.838 202.347,101.641 202.225 C 101.443 202.103,101.308 202.707,101.341 203.568 C 101.390 204.867,101.305 205.054,100.840 204.668 C 100.375 204.281,100.312 204.422,100.471 205.501 C 100.609 206.440,100.506 206.800,100.100 206.800 C 99.701 206.800,99.574 207.210,99.661 208.220 C 99.737 209.105,99.577 209.767,99.234 209.979 C 98.922 210.172,98.777 210.670,98.898 211.133 C 99.016 211.581,98.862 212.304,98.557 212.740 C 98.252 213.175,98.032 214.282,98.068 215.200 C 98.104 216.119,97.948 216.989,97.721 217.135 C 97.493 217.281,97.302 218.458,97.296 219.750 C 97.289 221.043,97.124 222.213,96.928 222.350 C 96.324 222.773,96.274 225.674,96.865 226.048 C 97.242 226.287,97.257 226.390,96.915 226.394 C 96.223 226.403,96.225 244.300,96.917 245.156 C 97.298 245.627,97.294 245.690,96.900 245.453 C 96.537 245.235,96.400 245.549,96.400 246.600 C 96.400 247.463,96.561 247.947,96.800 247.800 C 97.234 247.532,97.335 248.354,97.231 251.310 C 97.187 252.558,97.374 253.431,97.769 253.826 C 98.171 254.228,98.294 254.829,98.137 255.614 C 98.007 256.265,98.095 257.032,98.332 257.318 C 98.570 257.605,98.810 258.525,98.867 259.364 C 98.923 260.204,99.176 260.969,99.428 261.066 C 99.679 261.163,99.837 261.683,99.778 262.223 C 99.718 262.762,99.834 263.102,100.035 262.978 C 100.237 262.854,100.400 263.659,100.400 264.776 C 100.400 266.217,100.557 266.800,100.945 266.800 C 101.303 266.800,101.427 267.126,101.307 267.753 C 101.207 268.277,101.322 268.828,101.562 268.977 C 101.803 269.125,102.000 269.676,102.000 270.200 C 102.000 270.724,102.180 271.264,102.400 271.400 C 102.620 271.536,102.800 271.997,102.800 272.424 C 102.800 272.851,102.980 273.200,103.200 273.200 C 103.420 273.200,103.600 273.650,103.600 274.200 C 103.600 274.750,103.759 275.200,103.953 275.200 C 104.148 275.200,104.406 275.578,104.526 276.040 C 104.647 276.502,104.906 276.782,105.101 276.661 C 105.296 276.541,105.382 276.938,105.294 277.544 C 105.196 278.212,105.372 278.845,105.742 279.152 C 106.078 279.431,106.263 279.892,106.153 280.178 C 106.044 280.463,106.231 280.803,106.570 280.933 C 106.926 281.070,107.087 281.429,106.950 281.785 C 106.821 282.123,106.914 282.400,107.157 282.400 C 107.401 282.400,107.600 282.760,107.600 283.200 C 107.600 283.640,107.735 284.000,107.900 284.000 C 108.065 284.000,108.800 285.251,109.534 286.779 C 110.268 288.308,111.123 289.770,111.434 290.028 C 111.745 290.287,112.000 290.746,112.000 291.049 C 112.000 291.352,112.281 291.600,112.624 291.600 C 112.967 291.600,113.145 291.765,113.020 291.968 C 112.895 292.170,113.056 292.599,113.377 292.920 C 113.699 293.242,113.850 293.616,113.714 293.752 C 113.578 293.889,113.777 294.000,114.157 294.000 C 114.537 294.000,114.736 294.180,114.600 294.400 C 114.464 294.620,114.543 294.800,114.776 294.800 C 115.009 294.800,115.200 295.072,115.200 295.404 C 115.200 295.736,115.740 296.572,116.400 297.263 C 117.060 297.954,117.600 298.690,117.600 298.899 C 117.600 299.108,118.140 299.783,118.800 300.400 C 119.460 301.017,120.000 301.699,120.000 301.917 C 120.000 302.135,120.433 302.422,120.963 302.555 C 121.686 302.736,121.874 302.996,121.716 303.598 C 121.564 304.179,121.703 304.400,122.220 304.400 C 122.612 304.400,122.826 304.508,122.694 304.639 C 122.380 304.954,124.908 307.539,125.310 307.314 C 125.480 307.219,125.570 307.310,125.510 307.516 C 125.392 307.921,128.345 310.800,128.878 310.800 C 129.055 310.800,129.200 311.089,129.200 311.443 C 129.200 311.859,129.418 312.002,129.821 311.847 C 130.190 311.706,130.338 311.776,130.188 312.020 C 129.940 312.421,132.640 315.200,133.278 315.200 C 133.454 315.200,134.341 315.920,135.248 316.800 C 136.155 317.680,137.105 318.400,137.360 318.400 C 137.615 318.400,138.083 318.760,138.399 319.199 C 138.759 319.698,139.243 319.913,139.688 319.772 C 140.171 319.619,140.400 319.755,140.400 320.197 C 140.400 320.554,140.580 320.736,140.800 320.600 C 141.020 320.464,141.200 320.644,141.200 321.000 C 141.200 321.356,141.381 321.535,141.603 321.398 C 141.824 321.261,142.114 321.431,142.246 321.775 C 142.378 322.119,142.736 322.400,143.043 322.400 C 143.349 322.400,143.600 322.580,143.600 322.800 C 143.600 323.020,143.870 323.200,144.200 323.200 C 144.530 323.200,144.800 323.351,144.800 323.535 C 144.800 323.719,145.835 324.388,147.100 325.022 C 148.365 325.656,149.460 326.315,149.533 326.487 C 149.607 326.659,150.012 326.800,150.433 326.800 C 150.855 326.800,151.200 326.980,151.200 327.200 C 151.200 327.420,151.560 327.600,152.000 327.600 C 152.440 327.600,152.800 327.780,152.800 328.000 C 152.800 328.220,153.250 328.400,153.800 328.400 C 154.350 328.400,154.800 328.599,154.800 328.843 C 154.800 329.086,155.070 329.182,155.400 329.055 C 155.765 328.915,156.000 329.055,156.000 329.413 C 156.000 329.772,156.387 330.000,157.000 330.000 C 157.550 330.000,158.000 330.191,158.000 330.424 C 158.000 330.657,158.165 330.745,158.368 330.620 C 158.570 330.495,159.051 330.708,159.436 331.093 C 159.925 331.582,160.184 331.647,160.297 331.308 C 160.408 330.977,160.727 331.074,161.305 331.612 C 161.770 332.045,162.342 332.397,162.575 332.394 C 162.809 332.391,162.730 332.213,162.400 332.000 C 162.038 331.766,161.989 331.610,162.277 331.606 C 162.540 331.603,163.035 332.000,163.377 332.489 C 163.793 333.083,164.002 333.182,164.006 332.789 C 164.010 332.441,164.133 332.364,164.306 332.600 C 164.468 332.820,164.870 333.058,165.200 333.130 C 165.530 333.201,165.860 333.426,165.933 333.630 C 166.007 333.833,166.491 334.000,167.010 334.000 C 167.528 334.000,168.050 334.158,168.169 334.350 C 168.288 334.543,168.876 334.700,169.476 334.700 C 170.076 334.700,170.634 334.903,170.717 335.150 C 170.799 335.398,171.356 335.600,171.953 335.600 C 172.551 335.600,173.239 335.799,173.483 336.043 C 173.727 336.287,174.730 336.422,175.712 336.343 C 176.936 336.245,177.443 336.344,177.323 336.658 C 177.149 337.111,178.355 337.349,183.186 337.818 C 184.388 337.935,185.477 338.202,185.607 338.411 C 185.736 338.621,187.523 338.779,189.577 338.763 C 191.722 338.746,193.419 338.908,193.565 339.143 C 193.719 339.393,196.269 339.553,200.141 339.556 C 205.013 339.559,206.373 339.449,206.065 339.080 C 205.758 338.711,206.643 338.627,209.900 338.715 C 212.966 338.798,214.220 338.692,214.444 338.329 C 214.643 338.007,215.554 337.856,216.992 337.907 C 218.483 337.960,219.295 337.818,219.423 337.483 C 219.547 337.161,220.172 337.033,221.161 337.128 C 222.011 337.209,222.828 337.078,222.977 336.838 C 223.126 336.597,223.962 336.400,224.836 336.400 C 225.802 336.400,226.506 336.188,226.633 335.859 C 226.762 335.521,227.223 335.392,227.863 335.514 C 228.425 335.622,229.017 335.496,229.178 335.236 C 229.339 334.975,229.905 334.721,230.435 334.671 C 230.966 334.620,231.781 334.365,232.247 334.104 C 232.713 333.842,233.218 333.752,233.369 333.902 C 233.520 334.053,233.793 333.935,233.976 333.638 C 234.159 333.342,234.779 333.100,235.355 333.100 C 235.930 333.100,236.400 332.943,236.400 332.750 C 236.400 332.558,236.850 332.400,237.400 332.400 C 237.950 332.400,238.400 332.220,238.400 332.000 C 238.400 331.780,238.745 331.600,239.167 331.600 C 239.588 331.600,240.001 331.397,240.083 331.150 C 240.166 330.902,240.718 330.700,241.309 330.700 C 241.901 330.700,242.288 330.543,242.169 330.350 C 241.979 330.043,242.845 329.818,243.700 329.953 C 243.865 329.979,244.000 329.820,244.000 329.600 C 244.000 329.380,244.360 329.200,244.800 329.200 C 245.240 329.200,245.600 329.020,245.600 328.800 C 245.600 328.580,245.960 328.400,246.400 328.400 C 246.840 328.400,247.200 328.220,247.200 328.000 C 247.200 327.780,247.560 327.600,248.000 327.600 C 248.440 327.600,248.800 327.420,248.800 327.200 C 248.800 326.980,249.160 326.800,249.600 326.800 C 250.040 326.800,250.400 326.620,250.400 326.400 C 250.400 326.180,250.670 326.000,251.000 326.000 C 251.330 326.000,251.600 325.841,251.600 325.647 C 251.600 325.345,252.672 324.838,253.700 324.654 C 253.865 324.624,254.620 324.105,255.379 323.500 C 256.137 322.895,256.947 322.400,257.179 322.400 C 257.410 322.400,257.600 322.220,257.600 322.000 C 257.600 321.780,257.915 321.597,258.300 321.594 C 258.835 321.589,258.874 321.508,258.468 321.250 C 258.090 321.011,258.282 320.844,259.133 320.673 C 259.791 320.542,260.787 319.976,261.347 319.417 C 261.906 318.858,262.552 318.400,262.782 318.400 C 263.012 318.400,263.200 318.220,263.200 318.000 C 263.200 317.780,263.398 317.600,263.640 317.600 C 263.881 317.600,264.583 317.060,265.200 316.400 C 265.817 315.740,266.502 315.200,266.724 315.200 C 267.148 315.200,278.152 304.489,278.435 303.800 C 278.526 303.580,278.735 303.445,278.900 303.500 C 279.192 303.597,279.376 302.603,279.214 301.800 C 279.170 301.580,279.263 301.530,279.421 301.688 C 279.766 302.033,283.190 298.416,283.196 297.700 C 283.198 297.425,283.350 297.200,283.532 297.200 C 283.715 297.200,284.120 296.705,284.432 296.100 C 284.745 295.495,285.391 294.601,285.869 294.113 C 286.347 293.625,286.854 292.860,286.996 292.413 C 287.138 291.966,287.422 291.600,287.627 291.600 C 287.832 291.600,288.000 291.358,288.000 291.062 C 288.000 290.766,288.371 290.188,288.825 289.778 C 289.282 289.363,289.568 288.719,289.466 288.329 C 289.365 287.943,289.480 287.666,289.723 287.714 C 289.965 287.761,290.194 287.575,290.232 287.300 C 290.269 287.025,290.344 286.665,290.397 286.500 C 290.451 286.335,290.469 286.052,290.437 285.870 C 290.406 285.689,290.546 285.643,290.748 285.768 C 291.166 286.026,291.600 285.110,291.600 283.971 C 291.600 283.551,291.960 282.982,292.400 282.707 C 292.840 282.432,293.200 281.891,293.200 281.504 C 293.200 281.117,293.380 280.800,293.600 280.800 C 293.820 280.800,294.000 280.451,294.000 280.024 C 294.000 279.597,294.180 279.136,294.400 279.000 C 294.620 278.864,294.800 278.313,294.800 277.776 C 294.800 277.239,294.980 276.800,295.200 276.800 C 295.420 276.800,295.600 276.440,295.600 276.000 C 295.600 275.560,295.780 275.200,296.000 275.200 C 296.220 275.200,296.400 274.660,296.400 274.000 C 296.400 273.340,296.535 272.799,296.700 272.797 C 297.106 272.793,298.000 270.814,298.000 269.920 C 298.000 269.524,298.201 269.200,298.447 269.200 C 298.711 269.200,298.813 268.779,298.696 268.168 C 298.574 267.527,298.700 267.060,299.030 266.933 C 299.364 266.805,299.520 266.209,299.450 265.325 C 299.381 264.443,299.537 263.846,299.870 263.718 C 300.161 263.606,300.400 262.994,300.400 262.357 C 300.400 261.721,300.577 261.200,300.792 261.200 C 301.008 261.200,301.138 260.394,301.080 259.409 C 301.012 258.241,301.153 257.550,301.488 257.422 C 301.800 257.302,302.000 256.517,302.000 255.413 C 302.000 254.416,302.148 253.600,302.329 253.600 C 302.510 253.600,302.673 252.424,302.691 250.987 C 302.709 249.549,302.913 248.146,303.144 247.867 C 303.700 247.197,303.687 223.194,303.130 222.518 C 302.911 222.253,302.685 220.903,302.628 219.518 C 302.570 218.133,302.360 217.030,302.161 217.067 C 301.963 217.104,301.827 216.330,301.861 215.346 C 301.894 214.363,301.708 213.359,301.448 213.116 C 301.187 212.872,301.048 212.047,301.139 211.275 C 301.263 210.207,301.171 209.925,300.751 210.087 C 300.323 210.251,300.231 209.909,300.340 208.549 C 300.428 207.458,300.315 206.800,300.040 206.800 C 299.798 206.800,299.600 206.429,299.600 205.976 C 299.600 205.424,299.435 205.252,299.100 205.453 C 298.760 205.657,298.776 205.537,299.149 205.077 C 299.507 204.636,299.542 204.400,299.249 204.400 C 299.002 204.400,298.800 203.860,298.800 203.200 C 298.800 202.540,298.620 202.000,298.400 202.000 C 298.180 202.000,298.000 201.460,298.000 200.800 C 298.000 200.140,297.820 199.600,297.600 199.600 C 297.380 199.600,297.200 199.172,297.200 198.649 C 297.200 198.126,296.941 197.483,296.624 197.220 C 296.307 196.957,296.146 196.485,296.267 196.171 C 296.387 195.857,296.286 195.600,296.043 195.600 C 295.799 195.600,295.600 195.319,295.600 194.976 C 295.600 194.584,295.415 194.464,295.100 194.653 C 294.760 194.857,294.776 194.737,295.149 194.277 C 295.507 193.836,295.542 193.600,295.249 193.600 C 295.002 193.600,294.800 193.240,294.800 192.800 C 294.800 192.360,294.620 192.000,294.400 192.000 C 294.180 192.000,294.000 191.640,294.000 191.200 C 294.000 190.760,293.820 190.400,293.600 190.400 C 293.380 190.400,293.200 190.059,293.200 189.643 C 293.200 189.226,292.933 188.783,292.607 188.658 C 292.269 188.528,292.115 188.165,292.250 187.815 C 292.379 187.477,292.286 187.200,292.043 187.200 C 291.799 187.200,291.600 186.936,291.600 186.614 C 291.600 185.801,290.324 183.200,289.926 183.200 C 289.747 183.200,289.600 182.840,289.600 182.400 C 289.600 181.960,289.464 181.600,289.298 181.600 C 289.131 181.600,288.760 181.069,288.473 180.419 C 288.185 179.769,287.577 179.120,287.122 178.975 C 286.582 178.804,286.455 178.613,286.757 178.427 C 287.078 178.228,286.972 177.917,286.409 177.409 C 285.964 177.006,285.600 176.474,285.600 176.226 C 285.600 175.979,285.240 175.517,284.800 175.200 C 284.360 174.883,284.000 174.379,284.000 174.080 C 284.000 173.782,283.280 172.846,282.400 172.000 C 281.520 171.154,280.800 170.256,280.800 170.003 C 280.800 169.316,279.757 168.404,278.929 168.368 C 278.528 168.351,278.419 168.248,278.687 168.140 C 278.983 168.020,278.395 167.176,277.187 165.987 C 276.094 164.911,275.199 163.889,275.198 163.716 C 275.195 163.152,271.450 159.489,270.687 159.303 C 270.514 159.260,269.480 158.309,268.389 157.188 C 267.297 156.067,266.225 155.261,266.006 155.396 C 265.778 155.537,265.710 155.378,265.847 155.021 C 266.002 154.619,265.859 154.400,265.443 154.400 C 265.090 154.400,264.059 153.680,263.152 152.800 C 262.245 151.920,261.295 151.200,261.040 151.200 C 260.785 151.200,260.317 150.840,260.000 150.400 C 259.683 149.960,259.143 149.600,258.800 149.600 C 258.457 149.600,257.917 149.240,257.600 148.800 C 256.996 147.961,256.144 147.662,256.638 148.462 C 256.815 148.748,256.748 148.815,256.462 148.638 C 256.208 148.481,256.000 148.093,256.000 147.776 C 256.000 147.459,255.745 147.200,255.433 147.200 C 255.122 147.200,254.775 146.975,254.664 146.700 C 254.511 146.324,254.356 146.348,254.037 146.800 C 253.685 147.297,253.611 147.245,253.606 146.500 C 253.602 145.863,253.362 145.600,252.783 145.600 C 252.334 145.600,251.590 145.249,251.129 144.820 C 249.955 143.726,247.653 142.694,246.972 142.955 C 246.636 143.084,246.400 142.933,246.400 142.587 C 246.400 142.264,246.040 142.000,245.600 142.000 C 245.160 142.000,244.800 141.826,244.800 141.613 C 244.800 141.399,244.532 141.328,244.203 141.454 C 243.863 141.585,243.501 141.408,243.361 141.042 C 243.213 140.657,242.650 140.400,241.957 140.400 C 241.321 140.400,240.800 140.220,240.800 140.000 C 240.800 139.780,240.530 139.600,240.200 139.600 C 239.870 139.600,239.600 139.420,239.600 139.200 C 239.600 138.980,239.060 138.800,238.400 138.800 C 237.740 138.800,237.200 138.599,237.200 138.353 C 237.200 138.097,236.789 137.985,236.237 138.091 C 235.546 138.223,235.332 138.123,235.479 137.738 C 235.593 137.442,235.486 137.200,235.243 137.200 C 234.999 137.200,234.800 137.402,234.800 137.649 C 234.800 137.965,234.628 137.955,234.218 137.615 C 233.897 137.349,233.419 137.264,233.156 137.427 C 232.851 137.616,232.781 137.554,232.965 137.257 C 233.152 136.954,232.822 136.704,232.027 136.545 C 231.352 136.410,230.800 136.143,230.800 135.950 C 230.800 135.758,230.080 135.600,229.200 135.600 C 228.291 135.600,227.600 135.408,227.600 135.155 C 227.600 134.887,227.119 134.780,226.392 134.886 C 225.678 134.991,225.005 134.847,224.743 134.532 C 224.218 133.899,223.437 133.812,223.818 134.430 C 224.007 134.736,223.842 134.736,223.242 134.430 C 222.779 134.193,222.022 133.807,221.561 133.572 C 221.099 133.337,219.918 133.194,218.935 133.254 C 217.953 133.315,217.025 133.170,216.874 132.933 C 216.723 132.696,215.430 132.477,214.000 132.447 C 212.570 132.417,211.342 132.219,211.270 132.007 C 211.095 131.486,188.800 131.495,188.800 132.016 M209.755 145.940 C 210.000 146.130,211.171 146.302,212.359 146.322 C 213.546 146.341,214.707 146.547,214.939 146.779 C 215.170 147.010,216.224 147.200,217.280 147.200 C 218.336 147.200,219.200 147.351,219.200 147.535 C 219.200 147.720,219.874 147.896,220.697 147.927 C 221.521 147.958,222.262 148.187,222.346 148.437 C 222.448 148.744,222.608 148.715,222.842 148.345 C 223.095 147.946,223.189 147.934,223.194 148.300 C 223.197 148.575,223.560 148.800,224.000 148.800 C 224.440 148.800,224.800 148.994,224.800 149.232 C 224.800 149.498,225.236 149.568,225.936 149.414 C 226.726 149.240,227.235 149.360,227.604 149.805 C 227.897 150.158,228.601 150.417,229.168 150.381 C 230.780 150.278,231.047 150.378,230.400 150.841 C 229.915 151.187,229.967 151.233,230.674 151.079 C 231.219 150.960,231.635 151.115,231.779 151.490 C 231.924 151.866,232.316 152.011,232.829 151.876 C 233.329 151.746,233.734 151.884,233.867 152.231 C 233.987 152.544,234.426 152.800,234.843 152.800 C 235.259 152.800,235.600 152.980,235.600 153.200 C 235.600 153.420,235.877 153.600,236.216 153.600 C 236.555 153.600,237.551 153.967,238.430 154.415 C 239.308 154.863,240.229 155.106,240.476 154.953 C 240.769 154.772,240.810 154.859,240.596 155.206 C 240.356 155.594,240.453 155.665,240.955 155.473 C 241.333 155.328,241.547 155.362,241.432 155.548 C 241.317 155.734,241.893 156.225,242.711 156.640 C 243.530 157.054,244.508 157.641,244.885 157.945 C 245.266 158.252,245.883 158.377,246.273 158.227 C 246.659 158.079,246.855 158.079,246.707 158.226 C 246.335 158.598,247.404 159.600,248.171 159.600 C 248.517 159.600,248.800 159.791,248.800 160.024 C 248.800 160.257,248.961 160.348,249.158 160.226 C 249.355 160.104,249.619 160.274,249.746 160.602 C 249.872 160.931,250.251 161.200,250.587 161.200 C 250.924 161.200,251.200 161.391,251.200 161.624 C 251.200 161.857,251.380 161.936,251.600 161.800 C 251.820 161.664,252.000 161.803,252.000 162.109 C 252.000 162.415,252.492 162.920,253.093 163.232 C 253.694 163.545,254.718 164.301,255.367 164.914 C 256.017 165.527,256.785 165.938,257.074 165.827 C 257.363 165.716,257.600 165.797,257.600 166.006 C 257.600 166.484,266.088 175.246,266.323 175.011 C 266.570 174.763,267.600 175.861,267.600 176.371 C 267.600 176.607,267.881 176.800,268.224 176.800 C 268.567 176.800,268.736 176.980,268.600 177.200 C 268.464 177.420,268.543 177.600,268.776 177.600 C 269.009 177.600,269.200 177.876,269.200 178.213 C 269.200 178.781,271.601 181.495,272.291 181.707 C 272.458 181.758,272.542 182.029,272.478 182.309 C 272.340 182.911,273.394 184.073,273.752 183.714 C 273.889 183.578,274.000 183.907,274.000 184.445 C 274.000 184.983,274.360 185.683,274.800 186.000 C 275.240 186.317,275.600 186.831,275.600 187.141 C 275.600 187.452,275.972 188.029,276.426 188.423 C 276.881 188.817,277.241 189.243,277.226 189.370 C 277.116 190.336,277.251 190.545,277.632 190.000 C 277.970 189.518,278.008 189.561,277.824 190.222 C 277.675 190.757,277.911 191.383,278.498 192.014 C 278.994 192.548,279.355 193.123,279.300 193.292 C 279.245 193.462,279.380 193.600,279.600 193.600 C 279.820 193.600,280.003 194.095,280.006 194.700 C 280.011 195.557,280.098 195.668,280.400 195.200 C 280.696 194.742,280.789 194.898,280.794 195.857 C 280.797 196.571,281.046 197.209,281.369 197.333 C 281.704 197.461,281.854 197.872,281.734 198.330 C 281.622 198.759,281.726 199.231,281.965 199.378 C 282.204 199.526,282.400 199.997,282.400 200.424 C 282.400 200.851,282.580 201.200,282.800 201.200 C 283.020 201.200,283.200 201.481,283.200 201.824 C 283.200 202.167,283.384 202.333,283.610 202.194 C 283.835 202.055,283.994 202.089,283.963 202.270 C 283.768 203.393,284.059 205.211,284.400 205.000 C 284.633 204.856,284.800 205.263,284.800 205.976 C 284.800 206.726,285.005 207.200,285.331 207.200 C 285.693 207.200,285.806 207.581,285.685 208.400 C 285.580 209.120,285.687 209.600,285.955 209.600 C 286.200 209.600,286.400 210.134,286.400 210.787 C 286.400 211.587,286.567 211.911,286.911 211.779 C 287.290 211.633,287.382 212.012,287.265 213.239 C 287.161 214.323,287.289 215.008,287.633 215.221 C 287.963 215.425,288.122 216.176,288.060 217.237 C 288.002 218.211,288.161 219.052,288.434 219.221 C 288.718 219.396,288.887 220.403,288.856 221.735 C 288.828 222.956,288.984 224.066,289.202 224.201 C 289.443 224.350,289.600 227.367,289.600 231.824 C 289.600 236.475,289.748 239.200,290.000 239.200 C 290.220 239.200,290.400 239.391,290.400 239.624 C 290.400 239.857,290.241 239.949,290.046 239.828 C 289.851 239.708,289.666 241.261,289.633 243.279 C 289.601 245.297,289.432 247.140,289.258 247.374 C 289.084 247.608,288.894 248.610,288.836 249.600 C 288.778 250.590,288.567 251.460,288.366 251.533 C 288.165 251.607,288.000 252.562,288.000 253.657 C 288.000 255.057,287.863 255.563,287.539 255.362 C 287.207 255.157,287.141 255.542,287.301 256.739 C 287.454 257.883,287.375 258.400,287.047 258.400 C 286.785 258.400,286.526 258.982,286.472 259.693 C 286.417 260.405,286.199 261.161,285.987 261.373 C 285.774 261.586,285.600 262.174,285.600 262.680 C 285.600 263.186,285.399 263.600,285.153 263.600 C 284.889 263.600,284.787 264.021,284.904 264.632 C 285.029 265.287,284.900 265.740,284.551 265.874 C 284.248 265.991,284.000 266.516,284.000 267.043 C 284.000 267.569,283.799 268.000,283.553 268.000 C 283.299 268.000,283.200 268.355,283.322 268.824 C 283.454 269.329,283.317 269.734,282.969 269.867 C 282.656 269.987,282.400 270.426,282.400 270.843 C 282.400 271.259,282.199 271.600,281.953 271.600 C 281.693 271.600,281.586 272.016,281.698 272.600 C 281.810 273.188,281.703 273.600,281.439 273.600 C 281.024 273.600,279.600 276.352,279.600 277.154 C 279.600 277.345,279.322 277.733,278.982 278.015 C 278.642 278.297,278.453 278.760,278.561 279.044 C 278.677 279.345,278.546 279.477,278.246 279.362 C 277.964 279.254,277.705 279.398,277.670 279.683 C 277.455 281.452,277.312 282.018,277.011 282.292 C 276.824 282.461,276.801 282.375,276.959 282.100 C 277.503 281.156,276.892 281.600,276.205 282.649 C 275.826 283.227,275.743 283.559,276.020 283.387 C 276.347 283.186,276.423 283.238,276.238 283.538 C 276.081 283.792,275.672 284.000,275.330 284.000 C 274.887 284.000,274.760 284.279,274.891 284.963 C 275.032 285.701,274.933 285.872,274.468 285.694 C 274.021 285.522,273.931 285.643,274.126 286.151 C 274.285 286.565,274.231 286.743,273.993 286.595 C 273.774 286.460,273.472 286.667,273.323 287.056 C 273.174 287.444,272.546 288.292,271.926 288.940 C 271.307 289.588,270.800 290.362,270.800 290.659 C 270.800 290.957,270.609 291.200,270.376 291.200 C 270.143 291.200,270.064 291.380,270.200 291.600 C 270.336 291.820,270.244 292.000,269.995 292.000 C 269.746 292.000,269.273 292.270,268.943 292.600 C 268.613 292.930,268.455 293.200,268.592 293.200 C 268.729 293.200,268.366 293.641,267.784 294.179 C 267.156 294.762,266.848 295.354,267.026 295.641 C 267.219 295.955,267.155 296.019,266.840 295.825 C 266.145 295.395,264.258 297.646,264.914 298.123 C 265.252 298.368,265.206 298.414,264.760 298.273 C 264.064 298.054,261.850 299.717,262.274 300.140 C 262.417 300.283,262.315 300.400,262.048 300.400 C 261.782 300.400,261.133 300.831,260.606 301.358 C 260.079 301.884,259.758 302.424,259.891 302.558 C 260.024 302.691,259.825 302.800,259.448 302.800 C 258.664 302.800,256.800 304.523,256.800 305.248 C 256.800 305.515,256.686 305.619,256.547 305.480 C 256.408 305.341,255.951 305.663,255.532 306.195 C 255.092 306.755,254.523 307.069,254.185 306.939 C 253.816 306.797,253.600 306.960,253.600 307.381 C 253.600 307.747,253.433 307.944,253.229 307.818 C 253.025 307.692,252.748 307.934,252.614 308.357 C 252.479 308.780,252.097 309.231,251.764 309.358 C 251.420 309.490,251.264 309.420,251.403 309.195 C 251.871 308.438,251.253 308.808,250.062 310.000 C 248.872 311.189,248.107 311.598,248.618 310.770 C 248.764 310.534,248.503 310.579,248.037 310.870 C 247.571 311.160,247.269 311.603,247.365 311.854 C 247.474 312.138,247.240 312.231,246.745 312.102 C 246.223 311.965,245.744 312.187,245.352 312.747 C 245.024 313.216,244.513 313.600,244.218 313.600 C 243.404 313.600,240.360 315.427,240.666 315.732 C 240.934 316.000,240.239 316.152,239.300 316.030 C 239.025 315.994,238.800 316.153,238.800 316.382 C 238.800 316.612,238.260 316.800,237.600 316.800 C 236.940 316.800,236.400 316.980,236.400 317.200 C 236.400 317.420,236.119 317.600,235.776 317.600 C 235.433 317.600,235.267 317.784,235.406 318.010 C 235.545 318.235,235.511 318.379,235.330 318.329 C 234.467 318.090,232.086 319.364,232.268 319.967 C 232.411 320.439,232.345 320.420,232.007 319.894 C 231.604 319.266,231.461 319.252,230.731 319.764 C 230.278 320.080,229.677 320.251,229.395 320.143 C 229.112 320.034,228.762 320.138,228.617 320.373 C 228.472 320.608,227.913 320.800,227.376 320.800 C 226.839 320.800,226.400 320.980,226.400 321.200 C 226.400 321.420,225.849 321.600,225.176 321.600 C 224.463 321.600,224.056 321.767,224.200 322.000 C 224.433 322.377,223.104 322.584,221.500 322.421 C 221.115 322.382,220.800 322.541,220.800 322.775 C 220.800 323.009,220.080 323.200,219.200 323.200 C 218.320 323.200,217.600 323.380,217.600 323.600 C 217.600 323.822,216.533 324.000,215.200 324.000 C 213.867 324.000,212.800 324.178,212.800 324.400 C 212.800 324.626,211.667 324.800,210.200 324.800 C 208.404 324.800,207.590 324.955,207.568 325.300 C 207.543 325.700,207.496 325.700,207.335 325.300 C 207.119 324.766,206.000 324.598,206.000 325.100 C 206.000 325.265,203.300 325.400,200.000 325.400 C 196.700 325.400,194.000 325.265,194.000 325.100 C 194.000 324.935,193.865 324.821,193.700 324.847 C 192.359 325.059,186.800 324.723,186.974 324.441 C 187.096 324.244,186.177 324.071,184.930 324.056 C 183.684 324.041,182.560 323.879,182.432 323.695 C 182.305 323.512,181.577 323.320,180.816 323.268 C 180.054 323.217,179.314 322.984,179.170 322.751 C 179.026 322.519,178.479 322.365,177.954 322.409 C 176.276 322.549,175.546 322.411,175.800 322.000 C 175.944 321.767,175.537 321.600,174.824 321.600 C 174.151 321.600,173.600 321.420,173.600 321.200 C 173.600 320.980,173.161 320.800,172.624 320.800 C 172.087 320.800,171.536 320.620,171.400 320.400 C 171.264 320.180,170.713 320.000,170.176 320.000 C 169.639 320.000,169.200 319.820,169.200 319.600 C 169.200 319.380,168.469 319.200,167.576 319.200 C 166.596 319.200,166.051 319.042,166.200 318.800 C 166.336 318.580,166.167 318.400,165.824 318.400 C 165.481 318.400,165.200 318.226,165.200 318.013 C 165.200 317.799,164.932 317.728,164.603 317.854 C 164.274 317.980,163.905 317.818,163.780 317.492 C 163.655 317.166,163.076 316.900,162.493 316.900 C 161.910 316.900,161.366 316.697,161.283 316.450 C 161.201 316.203,160.871 316.000,160.550 316.000 C 160.229 316.000,159.580 315.640,159.108 315.200 C 158.636 314.760,158.013 314.400,157.725 314.400 C 157.436 314.400,157.200 314.199,157.200 313.953 C 157.200 313.697,156.789 313.585,156.237 313.691 C 155.546 313.823,155.332 313.723,155.479 313.338 C 155.599 313.025,155.417 312.800,155.043 312.800 C 154.689 312.800,154.399 312.665,154.397 312.500 C 154.392 312.032,152.336 311.193,151.882 311.473 C 151.651 311.616,151.599 311.525,151.762 311.261 C 151.936 310.979,151.644 310.645,151.014 310.405 C 150.445 310.189,149.590 309.649,149.114 309.206 C 148.638 308.763,148.013 308.400,147.725 308.400 C 147.436 308.400,147.200 308.226,147.200 308.013 C 147.200 307.799,146.928 307.729,146.595 307.857 C 146.163 308.023,146.061 307.906,146.238 307.445 C 146.428 306.951,146.236 306.800,145.419 306.800 C 144.833 306.800,144.456 306.633,144.582 306.429 C 144.708 306.225,144.449 305.943,144.006 305.802 C 143.563 305.661,143.200 305.331,143.200 305.068 C 143.200 304.805,142.720 304.232,142.134 303.795 C 141.548 303.358,140.829 302.764,140.537 302.474 C 140.245 302.185,139.797 302.078,139.541 302.236 C 139.253 302.414,139.184 302.349,139.360 302.064 C 139.705 301.506,134.120 295.878,133.563 296.223 C 133.353 296.353,133.206 296.311,133.237 296.130 C 133.385 295.280,133.147 294.800,132.576 294.800 C 132.233 294.800,132.063 294.622,132.198 294.403 C 132.480 293.947,130.608 291.925,130.242 292.291 C 130.109 292.424,130.000 292.233,130.000 291.867 C 130.000 291.500,129.820 291.200,129.600 291.200 C 129.380 291.200,129.200 290.917,129.200 290.571 C 129.200 289.841,128.262 288.800,127.605 288.800 C 127.356 288.800,127.251 288.640,127.372 288.445 C 127.492 288.250,127.232 287.997,126.794 287.882 C 126.297 287.752,126.081 287.454,126.221 287.089 C 126.345 286.767,126.209 286.255,125.918 285.952 C 125.628 285.648,125.169 284.900,124.899 284.289 C 124.628 283.678,124.147 283.078,123.829 282.956 C 123.511 282.834,123.340 282.502,123.448 282.218 C 123.557 281.935,123.400 281.455,123.098 281.152 C 122.797 280.848,122.293 280.015,121.978 279.300 C 121.663 278.585,121.269 278.000,121.102 278.000 C 120.936 278.000,120.800 277.640,120.800 277.200 C 120.800 276.760,120.536 276.400,120.213 276.400 C 119.838 276.400,119.714 276.168,119.871 275.760 C 120.006 275.407,119.955 275.002,119.758 274.860 C 119.208 274.461,118.400 272.882,118.400 272.205 C 118.400 271.872,118.136 271.600,117.813 271.600 C 117.438 271.600,117.314 271.368,117.471 270.960 C 117.606 270.607,117.488 270.178,117.208 270.005 C 116.929 269.832,116.700 269.221,116.700 268.645 C 116.700 268.070,116.543 267.600,116.350 267.600 C 116.158 267.600,116.000 267.240,116.000 266.800 C 116.000 266.360,115.820 266.000,115.600 266.000 C 115.380 266.000,115.200 265.460,115.200 264.800 C 115.200 264.140,115.048 263.600,114.863 263.600 C 114.464 263.600,113.600 260.882,113.600 259.625 C 113.600 259.140,113.354 258.496,113.052 258.195 C 112.751 257.894,112.560 257.146,112.627 256.532 C 112.695 255.918,112.590 255.317,112.394 255.196 C 112.198 255.075,111.968 254.335,111.881 253.550 C 111.795 252.766,111.576 251.885,111.396 251.593 C 111.216 251.302,111.075 250.017,111.084 248.739 C 111.092 247.461,110.942 246.512,110.750 246.631 C 110.370 246.866,110.216 243.038,110.383 237.500 C 110.455 235.136,110.345 234.000,110.045 234.000 C 109.800 234.000,109.603 233.685,109.606 233.300 C 109.611 232.702,109.669 232.687,110.000 233.200 C 110.342 233.729,110.388 233.726,110.394 233.180 C 110.397 232.839,110.175 232.318,109.900 232.021 C 109.625 231.725,109.601 231.595,109.847 231.732 C 110.162 231.908,110.311 230.835,110.348 228.114 C 110.385 225.511,110.565 224.142,110.901 223.929 C 111.299 223.676,111.299 223.611,110.900 223.606 C 110.625 223.603,110.400 223.409,110.400 223.176 C 110.400 222.943,110.625 222.888,110.900 223.053 C 111.191 223.228,111.150 223.039,110.800 222.600 C 110.450 222.161,110.409 221.972,110.700 222.147 C 111.067 222.367,111.200 222.016,111.200 220.824 C 111.200 219.931,111.394 219.200,111.630 219.200 C 111.892 219.200,112.015 218.468,111.945 217.328 C 111.871 216.128,112.004 215.399,112.315 215.295 C 112.585 215.205,112.800 214.438,112.800 213.567 C 112.800 212.705,112.980 212.000,113.200 212.000 C 113.420 212.000,113.600 211.460,113.600 210.800 C 113.600 210.140,113.741 209.600,113.913 209.600 C 114.085 209.600,114.266 209.115,114.315 208.522 C 114.364 207.930,114.609 207.318,114.860 207.163 C 115.111 207.008,115.211 206.606,115.082 206.270 C 114.953 205.933,115.107 205.443,115.424 205.180 C 115.741 204.917,116.000 204.274,116.000 203.751 C 116.000 203.228,116.191 202.800,116.424 202.800 C 116.657 202.800,116.745 202.635,116.620 202.432 C 116.495 202.230,116.664 201.793,116.996 201.461 C 117.328 201.129,117.600 200.585,117.600 200.252 C 117.600 199.919,117.780 199.536,118.000 199.400 C 118.220 199.264,118.400 198.713,118.400 198.176 C 118.400 197.639,118.580 197.200,118.800 197.200 C 119.020 197.200,119.200 196.840,119.200 196.400 C 119.200 195.960,119.399 195.600,119.643 195.600 C 119.886 195.600,119.979 195.323,119.850 194.985 C 119.715 194.635,119.869 194.272,120.207 194.142 C 120.533 194.017,120.800 193.574,120.800 193.157 C 120.800 192.741,120.980 192.400,121.200 192.400 C 121.420 192.400,121.600 192.189,121.600 191.931 C 121.600 191.674,121.856 191.179,122.168 190.831 C 122.481 190.484,122.796 189.936,122.868 189.614 C 122.941 189.292,123.294 188.752,123.653 188.414 C 124.012 188.076,124.732 186.990,125.253 186.000 C 125.774 185.010,126.515 183.909,126.900 183.553 C 127.285 183.197,127.600 182.678,127.600 182.400 C 127.600 182.122,127.972 181.571,128.426 181.177 C 128.881 180.783,129.216 180.312,129.172 180.130 C 129.127 179.949,129.475 179.622,129.945 179.405 C 130.415 179.188,130.800 178.735,130.800 178.398 C 130.800 178.061,131.968 176.734,133.396 175.449 C 134.825 174.164,135.894 172.952,135.773 172.756 C 135.652 172.560,135.793 172.400,136.087 172.400 C 136.382 172.400,138.008 170.960,139.702 169.200 C 141.396 167.440,142.979 166.000,143.219 166.000 C 143.889 166.000,144.883 164.857,144.605 164.408 C 144.462 164.177,144.621 164.110,144.979 164.247 C 145.380 164.401,145.600 164.260,145.600 163.850 C 145.600 163.490,146.076 163.098,146.700 162.944 C 147.305 162.794,148.091 162.341,148.447 161.936 C 148.803 161.531,149.345 161.200,149.652 161.200 C 149.959 161.200,150.554 160.743,150.974 160.183 C 151.393 159.624,151.964 159.254,152.243 159.361 C 152.521 159.468,152.805 159.408,152.874 159.228 C 153.052 158.765,163.028 153.600,163.743 153.600 C 164.068 153.600,164.393 153.434,164.467 153.230 C 164.540 153.027,164.866 152.802,165.190 152.730 C 165.515 152.659,166.015 152.383,166.302 152.117 C 166.589 151.851,167.070 151.729,167.371 151.844 C 167.672 151.960,168.038 151.862,168.183 151.627 C 168.328 151.392,168.791 151.200,169.211 151.200 C 169.718 151.200,169.899 151.003,169.750 150.613 C 169.584 150.182,169.827 150.026,170.662 150.025 C 172.873 150.021,175.200 149.510,175.200 149.027 C 175.200 148.712,175.625 148.601,176.400 148.715 C 177.120 148.820,177.600 148.713,177.600 148.445 C 177.600 148.192,178.291 148.000,179.200 148.000 C 180.080 148.000,180.800 147.820,180.800 147.600 C 180.800 147.380,181.664 147.200,182.720 147.200 C 183.776 147.200,184.849 146.991,185.104 146.736 C 185.359 146.481,186.497 146.305,187.632 146.345 C 188.767 146.385,189.908 146.243,190.166 146.028 C 191.031 145.310,208.843 145.230,209.755 145.940 M174.800 168.006 C 174.800 168.223,174.524 168.400,174.187 168.400 C 173.144 168.400,170.693 171.147,170.929 172.051 C 171.054 172.529,170.910 172.937,170.569 173.067 C 170.090 173.251,170.000 175.869,170.000 189.643 L 170.000 206.000 153.200 206.000 C 142.267 206.000,136.400 206.140,136.400 206.400 C 136.400 206.620,136.117 206.800,135.771 206.800 C 135.041 206.800,134.000 207.738,134.000 208.395 C 134.000 208.644,133.789 208.717,133.532 208.558 C 133.215 208.362,133.148 208.489,133.325 208.950 C 133.486 209.369,133.362 209.717,132.999 209.856 C 132.285 210.130,132.092 261.200,132.806 261.200 C 133.023 261.200,133.200 261.445,133.200 261.745 C 133.200 262.526,135.219 264.438,135.968 264.368 C 137.655 264.208,138.638 264.440,137.800 264.800 C 137.335 265.000,143.918 265.156,153.500 265.172 L 170.000 265.200 170.000 281.351 C 170.000 294.923,170.092 297.578,170.576 297.980 C 170.893 298.243,171.054 298.715,170.933 299.029 C 170.804 299.367,170.959 299.600,171.313 299.600 C 171.642 299.600,171.886 299.915,171.856 300.300 C 171.821 300.739,172.061 300.979,172.500 300.944 C 173.304 300.881,173.444 301.435,172.700 301.735 C 172.425 301.846,172.605 301.951,173.100 301.968 C 173.595 301.986,174.000 302.175,174.000 302.390 C 174.000 303.109,225.864 302.932,226.140 302.211 C 226.266 301.882,226.620 301.709,226.925 301.827 C 227.507 302.050,228.912 299.705,228.548 299.116 C 228.441 298.942,228.543 298.800,228.776 298.800 C 229.009 298.800,229.200 298.440,229.200 298.000 C 229.200 297.560,229.360 297.200,229.556 297.200 C 229.751 297.200,229.903 296.975,229.893 296.700 C 229.882 296.425,229.902 289.225,229.937 280.700 L 230.000 265.200 245.767 265.200 C 258.006 265.200,261.578 265.088,261.735 264.700 C 261.896 264.300,261.943 264.300,261.968 264.700 C 261.986 264.975,262.199 265.200,262.443 265.200 C 262.686 265.200,262.796 264.966,262.686 264.680 C 262.548 264.321,262.829 264.184,263.592 264.237 C 264.251 264.282,265.122 263.948,265.749 263.410 C 266.966 262.364,267.097 261.932,266.100 262.245 C 265.715 262.366,265.895 262.139,266.500 261.740 L 267.600 261.015 267.600 235.265 C 267.600 213.474,267.515 209.547,267.045 209.727 C 266.656 209.877,266.551 209.710,266.692 209.170 C 266.832 208.636,266.688 208.400,266.223 208.400 C 265.854 208.400,265.664 208.220,265.800 208.000 C 265.936 207.780,265.756 207.600,265.400 207.600 C 265.044 207.600,264.864 207.420,265.000 207.200 C 265.222 206.840,264.697 206.627,263.900 206.753 C 263.735 206.779,263.600 206.620,263.600 206.400 C 263.600 206.180,263.465 206.021,263.300 206.047 C 263.135 206.073,255.575 206.073,246.500 206.047 L 230.000 206.000 230.000 189.600 C 230.000 178.933,229.860 173.200,229.600 173.200 C 229.380 173.200,229.200 172.744,229.200 172.187 C 229.200 171.060,226.821 168.400,225.813 168.400 C 225.476 168.400,225.200 168.223,225.200 168.006 C 225.200 167.752,216.273 167.612,200.000 167.612 C 183.727 167.612,174.800 167.752,174.800 168.006 M216.000 198.400 C 216.000 211.570,216.108 215.201,216.500 215.206 C 216.833 215.210,216.800 215.342,216.400 215.600 C 215.890 215.929,215.908 215.989,216.518 215.994 C 216.977 215.998,217.193 216.251,217.118 216.700 C 217.053 217.085,217.219 217.357,217.486 217.305 C 217.785 217.246,217.874 217.463,217.718 217.870 C 217.556 218.291,217.622 218.433,217.900 218.262 C 218.139 218.114,218.587 218.244,218.895 218.552 C 219.218 218.875,219.988 219.050,220.711 218.966 C 221.689 218.852,221.917 218.950,221.741 219.410 C 221.544 219.924,223.577 220.000,237.548 220.000 L 253.582 220.000 253.691 235.700 L 253.800 251.400 237.500 251.291 C 224.523 251.205,221.199 251.286,221.194 251.691 C 221.190 252.042,221.067 252.014,220.800 251.600 C 220.542 251.200,220.410 251.167,220.406 251.500 C 220.403 251.775,220.016 252.000,219.547 252.000 C 218.555 252.000,216.801 253.867,216.800 254.924 C 216.800 255.322,216.620 255.536,216.400 255.400 C 216.136 255.237,216.000 260.996,216.000 272.376 L 216.000 289.600 200.000 289.600 L 184.000 289.600 184.000 272.400 C 184.000 261.200,183.860 255.200,183.600 255.200 C 183.380 255.200,183.200 254.922,183.200 254.582 C 183.200 253.793,181.423 252.000,180.642 252.000 C 180.315 252.000,179.936 251.820,179.800 251.600 C 179.642 251.344,173.529 251.200,162.776 251.200 L 146.000 251.200 146.000 235.600 L 146.000 220.000 162.157 220.000 C 175.291 220.000,178.353 219.900,178.520 219.464 C 178.633 219.169,179.143 218.959,179.652 218.996 C 180.588 219.065,181.646 218.415,181.362 217.945 C 181.278 217.805,181.520 217.715,181.900 217.745 C 182.280 217.775,182.771 217.395,182.991 216.900 C 183.210 216.405,183.527 216.000,183.695 216.000 C 183.863 216.000,184.000 208.260,184.000 198.800 L 184.000 181.600 200.000 181.600 L 216.000 181.600 216.000 198.400 \",\n stroke: \"none\",\n fillRule: \"evenodd\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"path1\",\n d: \"M259.817 59.572 C 259.703 59.757,259.967 60.003,260.404 60.117 C 260.842 60.231,261.200 60.181,261.200 60.005 C 261.200 59.535,260.061 59.178,259.817 59.572 M84.456 116.834 C 83.936 117.255,83.666 117.594,83.856 117.587 C 84.344 117.569,85.776 116.443,85.571 116.239 C 85.477 116.145,84.975 116.413,84.456 116.834 M136.500 153.288 C 136.005 153.527,135.600 153.879,135.600 154.070 C 135.600 154.262,136.050 154.124,136.600 153.763 C 138.067 152.802,138.016 152.557,136.500 153.288 M146.182 235.600 C 146.182 244.290,146.235 247.845,146.300 243.500 C 146.364 239.155,146.364 232.045,146.300 227.700 C 146.235 223.355,146.182 226.910,146.182 235.600 M276.673 281.354 C 276.542 281.695,276.595 282.073,276.790 282.194 C 277.300 282.509,277.604 281.854,277.229 281.247 C 276.981 280.846,276.859 280.869,276.673 281.354 M194.500 325.476 C 194.885 325.576,195.515 325.576,195.900 325.476 C 196.285 325.375,195.970 325.293,195.200 325.293 C 194.430 325.293,194.115 325.375,194.500 325.476 M204.100 325.476 C 204.485 325.576,205.115 325.576,205.500 325.476 C 205.885 325.375,205.570 325.293,204.800 325.293 C 204.030 325.293,203.715 325.375,204.100 325.476 \",\n stroke: \"none\",\n fillRule: \"evenodd\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"path2\",\n d: \"\",\n stroke: \"none\",\n fillRule: \"evenodd\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"path3\",\n d: \"\",\n stroke: \"none\",\n fillRule: \"evenodd\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"path4\",\n d: \"\",\n stroke: \"none\",\n fillRule: \"evenodd\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgInstructionsIcon);\nexport default __webpack_public_path__ + \"static/media/Instructions-icon.1a5f3c96.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgAutoInsurance(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 300,\n height: 300,\n preserveAspectRatio: \"xMidYMid\",\n id: \"svg8\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", {\n id: \"defs8\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#000000\",\n stroke: \"none\",\n transform: \"matrix(0.03085972,0,0,-0.03085972,-2.0062979,207.34554)\",\n id: \"g8\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 1973,6336 c -126,-31 -264,-129 -333,-236 -47,-73 -300,-669 -300,-706 0,-36 46,-84 80,-84 27,0 64,19 77,39 6,9 63,141 128,291 64,151 131,301 147,333 57,107 163,179 291,198 83,12 2403,11 2486,-1 90,-13 179,-59 238,-123 41,-46 63,-88 147,-285 55,-128 102,-232 106,-232 4,0 25,7 46,16 22,9 57,19 80,23 l 41,6 -101,235 c -56,130 -113,256 -128,281 -64,109 -225,221 -356,248 -81,17 -2579,14 -2649,-3 z\",\n id: \"path1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 5068,5177 c -164,-163 -296,-250 -518,-337 -263,-105 -702,-179 -1053,-180 -73,0 -80,-2 -108,-29 l -29,-29 V 3368 c 0,-1338 0,-1335 55,-1503 66,-199 167,-359 317,-500 85,-81 96,-88 1231,-832 151,-100 241,-153 258,-153 18,0 122,62 310,186 156,103 388,254 514,337 568,371 609,400 703,495 169,171 292,424 322,664 6,53 10,528 10,1311 v 1229 l -29,29 c -27,27 -35,29 -103,29 -230,1 -558,39 -763,89 -401,99 -656,245 -893,514 -26,29 -41,37 -67,37 -30,0 -48,-14 -157,-123 z m 235,-183 c 251,-233 645,-401 1102,-468 140,-21 315,-36 413,-36 h 82 V 3295 c 0,-1315 3,-1254 -62,-1431 -32,-89 -115,-230 -175,-298 -73,-84 -170,-157 -416,-318 -138,-91 -425,-279 -637,-418 l -384,-252 -31,16 c -16,8 -182,115 -367,238 -186,123 -462,304 -614,403 -290,189 -388,268 -476,385 -64,84 -141,242 -170,350 l -23,85 v 2430 l 135,7 c 429,22 768,99 1068,243 159,77 291,165 392,262 41,40 77,73 78,73 2,0 41,-34 85,-76 z\",\n id: \"path2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 6198,3740 c -10,-6 -270,-348 -579,-760 -308,-413 -564,-750 -567,-749 -4,0 -133,144 -287,321 -413,472 -473,537 -500,544 -62,15 -127,-53 -106,-109 9,-23 798,-931 843,-969 24,-21 87,-24 110,-5 9,6 285,372 614,812 540,722 598,804 598,837 0,25 -6,45 -20,58 -24,24 -82,35 -106,20 z\",\n id: \"path3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 537,5210 c -45,-12 -98,-46 -127,-83 -45,-56 -50,-87 -50,-282 0,-184 0,-186 25,-210 35,-36 85,-37 123,-2 21,20 22,27 22,187 0,154 2,169 21,194 l 20,26 h 198 c 207,0 257,-8 346,-52 23,-12 145,-124 281,-259 l 241,-239 h 1453 v 63 c 0,34 3,72 6,85 l 6,22 H 1716 l -226,223 c -238,237 -278,267 -405,308 -62,20 -94,22 -290,25 -121,2 -237,-1 -258,-6 z\",\n id: \"path4\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 826,4538 C 813,4525 754,4445 695,4360 543,4139 486,4014 455,3832 442,3757 440,3649 442,3159 l 3,-584 23,-43 c 33,-62 96,-118 158,-142 54,-20 71,-20 1259,-20 h 1205 v 180 H 693 l -28,22 c -55,43 -55,45 -55,580 0,493 7,620 37,733 28,104 97,235 212,399 88,126 111,167 111,193 0,73 -89,110 -144,61 z\",\n id: \"path5\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 1209,3865 c -35,-19 -51,-65 -37,-105 19,-56 40,-60 322,-60 144,0 266,4 281,10 61,23 64,125 4,155 -41,22 -531,21 -570,0 z\",\n id: \"path6\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 2360,3867 c -48,-24 -50,-36 -50,-440 0,-414 1,-423 58,-446 37,-16 77,-5 102,26 19,24 20,42 20,359 v 334 h 600 v 180 h -352 c -263,0 -359,-3 -378,-13 z\",\n id: \"path7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 814,2156 c -3,-8 -4,-111 -2,-228 3,-210 3,-214 31,-270 30,-61 78,-105 141,-132 34,-14 98,-16 506,-16 509,0 494,-1 576,58 27,20 52,51 70,89 l 29,58 v 450 h -170 l -5,-210 c -3,-115 -9,-218 -14,-228 -4,-10 -17,-22 -27,-27 -24,-13 -894,-13 -918,0 -10,5 -23,17 -27,27 -5,10 -11,113 -14,228 l -5,210 -83,3 c -66,2 -83,0 -88,-12 z\",\n id: \"path8\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAutoInsurance);\nexport default __webpack_public_path__ + \"static/media/Auto-Insurance.21bb9ba7.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgBoatInsurance(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 300,\n height: 300,\n preserveAspectRatio: \"xMidYMid\",\n id: \"svg9\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", {\n id: \"defs9\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#000000\",\n stroke: \"none\",\n transform: \"matrix(0.03280684,0,0,-0.03280684,-15.520426,230.66728)\",\n id: \"g9\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 3054,6850 c -12,-4 -31,-21 -43,-36 -21,-26 -21,-32 -21,-500 v -474 h 190 v 820 h 940 v -830 h 187 l 6,467 c 5,388 4,472 -8,500 -27,64 -20,63 -657,62 -315,0 -583,-4 -594,-9 z\",\n id: \"path1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 1543,5526 c -17,-8 -36,-23 -41,-33 -8,-16 -25,-1593 -16,-1593 1,0 46,20 98,44 l 96,45 v 1351 h 3940 v -435 h 200 v 275 c 0,256 -1,277 -20,307 -11,18 -30,35 -42,37 -13,3 -959,7 -2103,10 -1783,5 -2085,4 -2112,-8 z\",\n id: \"path2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 5589,4617 c -55,-55 -124,-111 -165,-136 -208,-122 -455,-185 -788,-200 l -158,-7 -29,-32 -29,-32 v -674 c 0,-742 2,-779 61,-925 41,-103 126,-228 202,-296 34,-31 271,-194 527,-363 385,-253 472,-307 505,-309 38,-4 67,14 490,292 248,163 477,317 510,343 125,100 225,251 277,422 22,74 22,80 26,785 2,511 0,717 -9,736 -18,45 -59,56 -224,62 -233,8 -444,51 -619,123 -132,55 -214,111 -314,211 -85,84 -97,93 -131,93 -34,0 -47,-9 -132,-93 z m 201,-212 c 219,-179 544,-289 924,-313 l 111,-7 v -630 c 0,-565 -2,-636 -17,-692 -38,-136 -119,-261 -223,-341 -27,-21 -233,-159 -457,-305 l -408,-267 -433,285 c -505,331 -543,364 -617,529 -49,108 -50,126 -50,796 v 630 h 63 c 85,0 271,24 387,50 247,55 454,153 610,289 19,16 37,30 39,31 2,0 34,-25 71,-55 z\",\n id: \"path3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 6308,3727 c -18,-8 -139,-162 -353,-447 -179,-239 -330,-436 -334,-438 -5,-1 -101,112 -214,251 -113,140 -213,257 -222,261 -38,14 -77,6 -106,-23 -41,-42 -39,-86 7,-147 87,-114 458,-571 476,-586 20,-18 72,-24 103,-12 10,4 188,234 396,512 325,434 379,510 379,539 0,47 -16,72 -55,89 -41,17 -42,17 -77,1 z\",\n id: \"path4\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 3590,4663 c -32,-12 -123,-55 -360,-166 -135,-63 -387,-181 -560,-262 -173,-81 -423,-198 -555,-260 -447,-210 -720,-338 -790,-370 -242,-113 -286,-136 -323,-170 -23,-21 -56,-67 -74,-103 -30,-60 -33,-75 -33,-152 l 1,-85 203,-490 c 112,-269 225,-542 251,-605 26,-63 134,-324 240,-580 106,-256 207,-501 225,-545 21,-50 38,-79 47,-77 7,1 48,17 90,34 69,28 76,33 68,52 -4,12 -88,215 -185,451 -98,237 -210,509 -250,605 -40,96 -167,405 -283,685 -116,281 -213,522 -217,537 -9,36 10,92 43,123 15,14 88,54 162,89 119,56 1079,506 2038,955 l 324,151 276,-131 c 152,-72 283,-133 290,-136 7,-3 12,4 12,18 0,28 34,106 57,132 10,10 13,21 7,26 -5,4 -137,68 -293,141 -244,115 -293,134 -340,137 -31,1 -63,0 -71,-4 z\",\n id: \"path5\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 3610,3932 c -19,-9 -40,-28 -47,-42 -10,-20 -13,-309 -13,-1342 V 1230 l 29,-32 c 24,-27 36,-33 69,-33 49,0 78,24 93,74 7,24 9,462 7,1343 l -3,1308 -25,24 c -35,33 -69,39 -110,18 z\",\n id: \"path6\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 2611,3245 c -206,-102 -233,-118 -247,-149 -20,-41 -13,-78 21,-112 42,-42 74,-34 313,85 222,111 262,139 262,187 0,54 -47,104 -99,104 -11,0 -123,-52 -250,-115 z\",\n id: \"path7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 5531,1482 c -40,-78 -252,-615 -245,-622 13,-12 164,-74 168,-69 3,3 242,580 262,632 4,11 -7,16 -43,21 -26,3 -67,17 -90,31 -39,22 -44,22 -52,7 z\",\n id: \"path8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 907,909 c -28,-17 -49,-68 -43,-104 10,-52 35,-67 141,-80 113,-15 190,-49 280,-125 161,-135 215,-176 280,-207 88,-41 186,-63 290,-63 188,0 315,54 505,215 69,58 152,119 185,136 145,71 340,59 470,-31 26,-18 79,-60 119,-94 92,-80 141,-116 196,-148 126,-72 329,-97 480,-59 123,31 195,71 342,193 72,60 157,122 189,139 78,39 186,55 279,41 120,-18 163,-43 380,-223 152,-126 294,-175 479,-167 186,9 296,58 481,217 142,123 212,158 340,175 54,7 106,18 114,25 8,7 20,28 26,46 9,28 8,41 -5,69 -22,47 -59,60 -149,53 -148,-11 -262,-61 -398,-175 -37,-31 -92,-77 -121,-100 -113,-95 -250,-133 -394,-112 -104,16 -183,59 -308,167 -157,136 -230,177 -370,208 -108,24 -262,16 -363,-18 C 4232,852 4171,814 4043,703 3868,552 3747,507 3582,530 3458,547 3412,573 3229,730 3077,860 2964,908 2789,917 2592,927 2450,875 2277,728 2073,555 2014,527 1855,527 c -156,0 -220,30 -420,199 -112,96 -204,147 -311,174 -83,21 -188,26 -217,9 z\",\n id: \"path9\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBoatInsurance);\nexport default __webpack_public_path__ + \"static/media/Boat-Insurance.a301e4bb.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgForms(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 300,\n height: 300,\n preserveAspectRatio: \"xMidYMid\",\n id: \"svg7\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", {\n id: \"defs7\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#000000\",\n stroke: \"none\",\n transform: \"matrix(0.03173996,0,0,-0.03173996,-15.082235,226.35546)\",\n id: \"g7\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 953,7010 c -47,-11 -115,-54 -141,-89 -55,-76 -52,117 -52,-2895 0,-1885 3,-2793 10,-2818 16,-56 69,-119 125,-147 l 49,-26 1513,-3 c 931,-1 1513,1 1513,7 0,5 -10,22 -23,38 -13,15 -43,56 -67,91 l -43,62 H 2420 c -1117,0 -1420,3 -1433,13 -16,11 -17,187 -15,2787 l 3,2775 2074,3 c 1525,1 2077,-1 2087,-9 12,-10 14,-174 14,-963 v -951 h 200 v 964 c 0,730 -3,974 -12,1005 -8,25 -31,59 -59,88 -85,85 112,78 -2223,77 -1139,-1 -2085,-4 -2103,-9 z\",\n id: \"path1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 1754,5672 c -27,-21 -44,-54 -44,-82 0,-32 30,-78 59,-90 18,-7 423,-9 1304,-8 l 1279,3 24,28 c 35,41 33,99 -5,138 l -29,29 H 3058 c -1201,0 -1284,-2 -1304,-18 z\",\n id: \"path2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 5204,4677 c -12,-7 -44,-39 -71,-72 -186,-225 -491,-421 -828,-534 -235,-78 -441,-115 -709,-128 -138,-6 -141,-7 -169,-35 l -29,-29 5,-437 c 5,-468 11,-535 71,-834 149,-736 565,-1451 1136,-1951 248,-217 569,-437 639,-437 44,0 180,80 367,216 767,558 1280,1384 1439,2317 35,207 45,373 45,752 v 377 l -28,27 c -26,27 -32,28 -168,34 -260,13 -472,50 -689,122 -259,85 -463,194 -650,345 -73,59 -192,181 -221,225 -32,49 -96,68 -140,42 z m 87,-293 c 18,-20 73,-69 122,-110 364,-307 834,-484 1405,-530 l 82,-6 v -282 c 0,-303 -9,-438 -41,-641 C 6769,2247 6539,1721 6174,1250 6064,1107 5771,813 5625,696 5503,600 5271,440 5252,440 c -17,0 -156,92 -280,184 -676,503 -1144,1241 -1306,2061 -48,241 -58,351 -63,712 l -5,341 88,7 c 600,46 1121,256 1479,598 44,42 82,76 86,77 3,0 21,-16 40,-36 z\",\n id: \"path3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 6281,3273 c -16,-16 -264,-365 -551,-778 -288,-412 -531,-758 -540,-768 -16,-18 -34,2 -379,442 -199,253 -372,467 -384,476 -34,24 -82,19 -116,-12 -42,-39 -46,-69 -19,-121 23,-43 802,-1036 833,-1062 10,-8 35,-15 56,-15 30,0 46,7 68,30 22,23 1035,1463 1174,1670 36,54 36,98 -2,136 -40,40 -98,41 -140,2 z\",\n id: \"path4\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 1774,4640 c -12,-4 -31,-21 -44,-37 -17,-22 -21,-36 -17,-68 7,-50 42,-82 99,-90 24,-3 602,-5 1285,-3 l 1242,3 30,29 c 51,49 41,130 -19,161 -25,13 -184,15 -1292,14 -695,0 -1273,-4 -1284,-9 z\",\n id: \"path5\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 1757,3589 c -23,-13 -47,-62 -47,-95 0,-16 12,-38 34,-60 l 34,-34 h 1412 v 200 h -707 c -462,-1 -714,-4 -726,-11 z\",\n id: \"path6\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 1744,2526 c -22,-22 -34,-44 -34,-60 0,-35 25,-83 49,-96 13,-7 281,-10 792,-10 h 771 l -6,23 c -3,12 -14,57 -23,100 l -18,77 H 1778 Z\",\n id: \"path7\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgForms);\nexport default __webpack_public_path__ + \"static/media/Forms.0cc2f210.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgHomeInsurance(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 300,\n height: 300,\n preserveAspectRatio: \"xMidYMid\",\n id: \"svg5\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", {\n id: \"defs5\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#000000\",\n stroke: \"none\",\n transform: \"matrix(0.03137777,0,0,-0.03137777,-6.9292649,218.95539)\",\n id: \"g5\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 1957,5092 C 549,3684 508,3642 508,3606 c 0,-53 33,-86 86,-86 h 41 l 1405,1405 1405,1405 250,-250 c 213,-214 251,-248 260,-233 6,9 31,40 57,68 l 47,51 -287,287 c -280,279 -289,287 -327,287 -40,0 -52,-12 -1488,-1448 z\",\n id: \"path1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 5575,6238 c -10,-6 -30,-25 -44,-42 -120,-148 -325,-272 -570,-345 -166,-50 -471,-91 -668,-91 -55,0 -67,-4 -89,-25 l -25,-25 4,-857 c 3,-829 4,-860 23,-928 58,-199 181,-385 323,-489 105,-77 1055,-696 1070,-697 9,-1 25,0 35,1 11,1 253,156 540,343 547,359 622,416 711,542 94,132 149,283 165,452 6,62 10,422 10,851 0,789 0,796 -47,820 -10,5 -83,12 -163,16 -352,17 -611,75 -832,188 -120,61 -203,123 -294,222 -75,80 -102,91 -149,64 z m 193,-340 c 229,-169 589,-278 1000,-304 l 112,-7 v -756 c 0,-814 -1,-821 -53,-951 -73,-180 -147,-255 -454,-457 -480,-315 -753,-493 -757,-493 -2,0 -224,144 -493,321 -317,209 -508,340 -546,377 -101,99 -176,232 -209,373 -10,41 -13,237 -13,819 v 765 l 100,7 c 319,23 584,82 794,179 106,49 262,153 320,213 l 45,45 46,-43 c 25,-24 74,-64 108,-88 z\",\n id: \"path2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 6383,5082 c -21,-26 -213,-283 -428,-570 -214,-286 -393,-521 -397,-522 -4,0 -133,144 -287,319 -155,176 -290,323 -301,326 -31,10 -78,-4 -95,-28 -8,-12 -15,-38 -15,-58 0,-34 24,-64 301,-380 165,-189 316,-359 334,-376 40,-38 90,-44 123,-15 21,18 903,1196 921,1231 31,58 -9,121 -78,121 -36,0 -44,-5 -78,-48 z\",\n id: \"path3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 1205,6035 -25,-24 V 4565 l 85,85 85,85 v 1155 h 600 v -555 l 85,85 85,85 v 506 l -25,24 -24,25 h -842 z\",\n id: \"path4\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 1222,3683 c -7,-3 -19,-18 -27,-33 -13,-25 -15,-219 -15,-1480 V 719 l 25,-24 24,-25 h 800 c 440,0 807,3 816,6 46,18 45,2 45,1034 v 970 H 4000 V 713 l 23,-21 23,-22 h 1611 l 21,23 22,23 V 2475 H 5530 V 840 H 4170 v 1962 l -29,29 -29,29 h -661 c -490,0 -667,-3 -686,-12 -57,-26 -55,17 -55,-1038 V 840 H 1350 v 2801 l -25,24 c -23,24 -69,32 -103,18 z\",\n id: \"path5\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgHomeInsurance);\nexport default __webpack_public_path__ + \"static/media/Home-Insurance.4d5925a2.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgLifeInsurance(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 300,\n height: 300,\n preserveAspectRatio: \"xMidYMid\",\n id: \"svg6\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", {\n id: \"defs6\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#000000\",\n stroke: \"none\",\n transform: \"matrix(0.03322522,0,0,-0.03322522,-16.885111,227.62694)\",\n id: \"g6\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 2278,6563 c -150,-167 -288,-275 -476,-368 -241,-120 -489,-181 -824,-201 -105,-6 -108,-7 -134,-37 l -27,-32 6,-340 c 6,-355 16,-461 62,-691 157,-779 649,-1487 1331,-1915 72,-45 121,-69 140,-69 34,0 124,50 261,146 191,134 388,311 548,494 98,112 253,323 260,353 3,12 4,99 3,192 l -3,170 -53,-98 c -65,-119 -187,-302 -278,-417 -88,-110 -315,-337 -424,-424 -87,-68 -277,-202 -303,-212 -19,-7 -228,134 -352,238 -530,447 -862,1030 -977,1718 -26,162 -39,727 -17,741 8,5 39,9 69,9 117,0 352,45 515,97 273,88 495,214 688,393 l 68,63 67,-65 c 252,-241 598,-401 1012,-468 69,-11 152,-20 185,-20 33,0 66,-4 73,-9 11,-7 13,-59 10,-273 l -3,-264 60,42 c 33,23 75,49 93,58 l 32,17 v 550 l -23,23 c -21,21 -37,25 -123,30 -337,22 -568,75 -804,187 -171,81 -289,166 -427,305 -110,112 -126,124 -158,124 -29,0 -42,-8 -77,-47 z\",\n id: \"path1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 4946,6595 c -137,-35 -281,-139 -357,-256 -79,-123 -110,-310 -75,-449 54,-213 217,-381 422,-435 75,-19 223,-19 299,0 136,36 264,127 341,242 116,175 127,415 28,603 -19,36 -52,86 -74,112 -52,61 -170,139 -251,168 -84,29 -249,36 -333,15 z m 284,-194 c 221,-83 322,-342 216,-555 -43,-88 -102,-146 -194,-189 -61,-29 -75,-32 -167,-32 -92,0 -106,3 -168,32 -260,123 -315,464 -106,657 91,85 180,119 294,112 39,-2 95,-14 125,-25 z\",\n id: \"path2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 3237,5460 c -14,-11 -233,-317 -487,-681 -255,-363 -466,-657 -470,-652 -4,4 -148,187 -320,406 -198,253 -321,402 -337,408 -29,11 -84,-3 -103,-26 -7,-8 -14,-31 -17,-52 -5,-38 2,-47 364,-508 396,-505 396,-504 459,-474 21,10 172,218 537,739 279,399 510,735 513,748 9,33 -14,81 -47,97 -38,20 -62,19 -92,-5 z\",\n id: \"path3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 4071,5154 c -151,-40 -275,-161 -333,-324 l -23,-65 -3,-915 c -1,-503 0,-925 3,-938 15,-59 96,-83 146,-43 l 24,19 5,924 5,923 31,66 c 36,76 90,133 154,163 45,21 49,21 995,21 h 950 l 53,-29 c 65,-36 107,-82 141,-156 l 26,-55 5,-928 5,-929 24,-19 c 34,-28 96,-25 126,6 l 25,24 v 909 c 0,563 -4,930 -10,963 -33,179 -180,339 -355,385 -77,21 -1917,19 -1994,-2 z\",\n id: \"path4\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 4331,4236 c -51,-29 -50,-11 -51,-753 v -692 l 34,-283 c 33,-264 192,-1567 220,-1795 l 13,-103 H 2720 C 1409,610 884,607 861,599 802,578 782,502 824,453 l 24,-28 1909,-2 c 1514,-2 1913,0 1933,10 13,7 31,24 39,39 16,28 14,47 -119,1133 -16,127 -56,455 -90,730 l -62,500 7,663 c 8,718 8,709 -46,737 -34,18 -57,18 -88,1 z\",\n id: \"path5\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m 5764,4240 c -56,-23 -54,5 -54,-748 v -693 l -90,-737 c -50,-405 -113,-921 -141,-1146 -41,-339 -48,-415 -38,-438 25,-60 3,-58 769,-58 751,0 743,-1 770,49 24,47 -2,113 -51,130 -22,8 -228,11 -665,11 -501,0 -634,3 -634,13 0,11 47,399 134,1112 20,160 56,456 81,658 l 45,369 v 1435 l -23,21 c -27,25 -73,35 -103,22 z\",\n id: \"path6\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLifeInsurance);\nexport default __webpack_public_path__ + \"static/media/Life-Insurance.6cc27d40.svg\";\nexport { ForwardRef as ReactComponent };","import { ReactComponent as Video } from '../../../assets/icons/video.svg';\nimport { ReactComponent as Chat } from '../../../assets/icons/Chat.svg';\nimport { ReactComponent as Wellness } from '../../../assets/icons/Wellness.svg';\nimport { ReactComponent as Rx } from '../../../assets/icons/Rx.svg';\nimport { ReactComponent as Meeting } from '../../../assets/icons/schedule-advisor-meeting.svg';\nimport { ReactComponent as Enroll } from '../../../assets/icons/Enroll.svg';\nimport { ReactComponent as Telemed } from '../../../assets/icons/telemedicine.svg';\nimport { ReactComponent as OnlineSupport } from '../../../assets/icons/online-support.svg';\nimport { ReactComponent as MentalHealth } from '../../../assets/icons/mental-health.svg';\nimport { ReactComponent as Location } from '../../../assets/icons/find-a-provider.svg';\nimport { ReactComponent as BenefitInfo } from '../../../assets/icons/Benefit-Info.svg';\nimport { ReactComponent as MedicalConcierge } from '../../../assets/icons/Medical-Concierge.svg';\nimport { ReactComponent as Retirement } from '../../../assets/icons/401k.svg';\nimport { ReactComponent as Payroll } from '../../../assets/icons/Payroll.svg';\nimport { ReactComponent as ContactSupport } from '../../../assets/icons/Contact-Support.svg';\nimport { ReactComponent as Webinar } from '../../../assets/icons/Webinar.svg';\nimport { ReactComponent as Legal } from '../../../assets/icons/Legal.svg';\nimport { ReactComponent as IdentityProtection } from '../../../assets/icons/ID-Protection.svg';\nimport { ReactComponent as PetInsurance } from '../../../assets/icons/Pet-Insurance.svg';\nimport { ReactComponent as Instructions } from '../../../assets/icons/Instructions-icon.svg';\nimport { SvgIcon, Typography } from '@mui/material';\nimport { EMobileAppLinkTypeEnums } from '../../../models';\n\n\nimport { ReactComponent as AutoInsurance } from '../../../assets/icons/Auto-Insurance.svg';\nimport { ReactComponent as BoatInsurance } from '../../../assets/icons/Boat-Insurance.svg';\nimport { ReactComponent as Forms } from '../../../assets/icons/Forms.svg';\nimport { ReactComponent as HomeInsurance } from '../../../assets/icons/Home-Insurance.svg';\nimport { ReactComponent as LifeInsurance } from '../../../assets/icons/Life-Insurance.svg';\n\nconst icons = [\n {\n label: 'Auto Insurance',\n type: EMobileAppLinkTypeEnums.AUTO_INSURANCE,\n icon: \n },\n {\n label: 'Boat Insurance',\n type: EMobileAppLinkTypeEnums.BOAT_INSURANCE,\n icon: \n },\n {\n label: 'Forms',\n type: EMobileAppLinkTypeEnums.FORMS,\n icon: \n },\n {\n label: 'Home Insurance',\n type: EMobileAppLinkTypeEnums.HOME_INSURANCE,\n icon: \n },\n {\n label: 'Life Insurance',\n type: EMobileAppLinkTypeEnums.LIFE_INSURANCE,\n icon: \n },\n {\n label: 'Download to Home Screen',\n type: EMobileAppLinkTypeEnums.INSTRUCTIONS,\n icon: \n },\n {\n label: 'Schedule Meeting',\n type: EMobileAppLinkTypeEnums.CALENDAR,\n icon: \n },\n {\n label: 'Contact Support',\n type: EMobileAppLinkTypeEnums.TALK_TO_ADVISOR,\n icon: \n },\n {\n label: 'Benefit Info',\n type: EMobileAppLinkTypeEnums.BENEFITS_INFO,\n icon: \n },\n {\n label: 'Benefit Guide - Multilingual',\n type: EMobileAppLinkTypeEnums.BENEFITS_INFO_MULTILINGUAL,\n icon: \n },\n {\n label: 'Video',\n type: EMobileAppLinkTypeEnums.MEDIA,\n icon: \n },\n {\n label: 'Video - Multilingual',\n type: EMobileAppLinkTypeEnums.MEDIA_MULTILINGUAL,\n icon: \n },\n {\n label: 'Chat',\n type: EMobileAppLinkTypeEnums.CHAT,\n icon: \n },\n {\n label: 'Find A Provider',\n type: EMobileAppLinkTypeEnums.FIND_A_DOCTOR,\n icon: \n },\n {\n label: 'Enroll Online',\n type: EMobileAppLinkTypeEnums.ENROLL_In_BENEFITS,\n icon: \n },\n {\n label: 'Enroll Online - Multilingual',\n type: EMobileAppLinkTypeEnums.ENROLL_In_BENEFITS_MULTILINGUAL,\n icon: \n },\n {\n label: 'Telemedicine',\n type: EMobileAppLinkTypeEnums.VIRTUAL_DOCTOR_VISIT,\n icon: \n },\n {\n label: 'Rx',\n type: EMobileAppLinkTypeEnums.PRESCRIPTION_DISCOUNTS,\n icon: \n },\n {\n label: 'Wellness',\n type: EMobileAppLinkTypeEnums.WELLNESS_INCENTIVES,\n icon: \n },\n {\n label: 'Mental Health',\n type: EMobileAppLinkTypeEnums.MENTAL_HEALTH,\n icon: \n },\n {\n label: 'Medical Concierge',\n type: EMobileAppLinkTypeEnums.SPEAK_TO_CONCIERGE,\n icon: \n },\n {\n label: '401K',\n type: EMobileAppLinkTypeEnums.RETIREMENT,\n icon: \n },\n {\n label: 'Payroll',\n type: EMobileAppLinkTypeEnums.PAYROLL,\n icon: \n },\n {\n label: 'Screen Share',\n type: EMobileAppLinkTypeEnums.SCREEN_SHARE,\n icon: \n },\n {\n label: 'Webinar',\n type: EMobileAppLinkTypeEnums.WEBINAR,\n icon: \n },\n {\n label: 'Webinar - Multilingual',\n type: EMobileAppLinkTypeEnums.WEBINAR_MULTILINGUAL,\n icon: \n },\n {\n label: 'Legal',\n type: EMobileAppLinkTypeEnums.LEGAL,\n icon: \n },\n {\n label: 'Identity Protection',\n type: EMobileAppLinkTypeEnums.IDENTITY_PROTECTION,\n icon: \n },\n {\n label: 'Pet Insurance',\n type: EMobileAppLinkTypeEnums.PET_INSURANCE,\n icon: \n }\n];\n\nexport const getAppIcon = formType => {\n const selectedIcon = icons.find(i => i.type === formType);\n if (selectedIcon) {\n return {\n label: selectedIcon.label,\n component: {selectedIcon.icon}\n };\n }\n return null;\n};\n\nexport const getMobileAppPreviewIcon = (icon, appButtonColor, textColor, linkClass, iconClass, nameClass) => {\n const selectedIcon = icons.find(i => i.type === icon.type);\n if (selectedIcon) {\n return (\n \n
\n \n {selectedIcon.icon}\n \n
\n {icon.name && (\n
\n {icon.name}\n \n )}\n
\n );\n }\n return null;\n};\n","import { FC } from 'react';\nimport 'html5-device-mockups/dist/device-mockups.min.css';\nimport { IPhone6 } from 'react-device-mockups';\nimport { Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { Grid, Typography } from '@mui/material';\nimport { getMobileAppPreviewIcon } from './AppLinks';\nimport { IMobileAppLink } from '../../../models';\n\ninterface IMobilePreviewScreen {\n logo?: string;\n formValues?: any;\n headerColor?: string;\n appButtonColor?: string;\n textColor?: string;\n icons?: IMobileAppLink[];\n appToggle?: boolean;\n}\n\nexport const MobilePreviewScreen: FC = ({\n logo,\n formValues = '',\n headerColor = '#11a5c5',\n appButtonColor = '#000000',\n textColor = '#000000',\n icons,\n appToggle = true\n}) => {\n const classes = useStyles({ appToggle });\n return (\n \n
\n \n \n
\n \n \n \n {formValues.header}\n \n \n \n {icons.map((icon, index) => {\n return icon.enabled ? (\n \n {getMobileAppPreviewIcon(icon, appButtonColor, textColor, classes.link, classes.icon, classes.name)}\n \n ) : null;\n })}\n \n \n \n
\n );\n};\nconst useStyles = makeStyles((theme: Theme) => ({\n logoContainer: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexDirection: 'column',\n boxShadow: '0px 2px 7.2px 0px rgba(0, 0, 0, 0.1)',\n backgroundColor: '#262626',\n padding: '1rem 0'\n },\n appLogo: {\n width: '60%',\n '@media (min-width: 400px)': {\n width: '50%'\n }\n },\n icon: {\n fontSize: '2.25rem',\n color: '#fff',\n '@media (min-width: 400px)': {\n fontSize: '3.5rem'\n }\n },\n appBackground: {\n padding: 0,\n maxWidth: '320px',\n height: '100%',\n textAlign: 'center'\n },\n preview: ({ appToggle }: { appToggle: boolean }) => {\n return {\n '& .device-wrapper': {\n marginTop: theme.spacing(0.5),\n margin: '0 auto',\n opacity: `${appToggle ? '1' : '0.3'}`\n },\n '& .screen': {\n overflow: 'auto',\n pointerEvents: 'all',\n background: '#fff'\n }\n };\n },\n linkItems: {\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n alignItems: 'flex-start',\n justifyContent: 'center',\n padding: '2.25rem 1.5rem',\n '@media (min-width: 400px)': {\n padding: '1rem 2rem'\n }\n },\n col: {\n textAlign: 'center',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n },\n link: {\n height: '100%',\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: '.75rem',\n '@media (min-width: 400px)': {\n padding: '1rem'\n }\n },\n name: {\n marginTop: 5\n },\n headerTextContainer: {\n padding: `0 ${theme.spacing(0.5)}`,\n marginTop: theme.spacing(0.5)\n },\n headerText: {\n fontSize: '.85rem'\n }\n}));\n","import { TextFieldProps, TextField } from \"@mui/material\";\nimport { useField } from \"formik\";\nimport React, { memo, useEffect, useState } from \"react\";\nimport { usePropagateRef } from \"./usePropagateRef\";\n\nexport type PerformantTextFieldProps = Omit & {\n name: string;\n /**\n * IF true, it will use the traditional method for disabling performance\n */\n disablePerformance?: boolean;\n loading?: boolean;\n min?: number;\n max?: number;\n};\n\n/**\n * This is kind of hacky solution, but it mostly works. Your mileage may vary\n */\n\nexport const PerformantTextField: React.FC = memo(\n (props) => {\n const [field, meta] = useField(props.name);\n const error = !!meta.error && meta.touched;\n\n /**\n * For performance reasons (possible due to CSS in JS issues), heavy views\n * affect re-renders (Formik changes state in every re-render), bringing keyboard\n * input to its knees. To control this, we create a setState that handles the field's inner\n * (otherwise you wouldn't be able to type) and then propagate the change to Formik onBlur and\n * onFocus.\n */\n const [fieldValue, setFieldValue] = useState(field.value);\n const { disablePerformance, loading, ...otherProps } = props;\n usePropagateRef({\n setFieldValue,\n name: props.name,\n value: field.value,\n });\n\n /**\n * Using this useEffect guarantees us that pre-filled forms\n * such as passwords work.\n */\n useEffect(() => {\n if (meta.touched) {\n return;\n }\n\n if (field.value !== fieldValue) {\n setFieldValue(field.value);\n }\n // eslint-disable-next-line\n }, [field.value]);\n\n const onChange = (evt: React.ChangeEvent) => {\n setFieldValue(evt.target.value);\n };\n const onBlur = (evt: React.FocusEvent) => {\n const val = evt.target.value || \"\";\n window.setTimeout(() => {\n field.onChange({\n target: {\n name: props.name,\n value: props.type === \"number\" ? parseInt(val, 10) : val,\n },\n });\n }, 0);\n };\n\n // Will set depending on the performance props\n const performanceProps = disablePerformance\n ? {\n ...field,\n value: loading ? \"Cargando...\" : fieldValue,\n }\n : {\n ...field,\n value: loading ? \"Cargando...\" : fieldValue,\n onChange,\n onBlur,\n onFocus: onBlur,\n };\n\n return (\n <>\n \n >\n );\n }\n);","import { useEffect, useRef } from 'react';\n\ntype UsePropagateRefProps = {\n setFieldValue: React.Dispatch>;\n name: string;\n value: any;\n};\n\nexport function usePropagateRef(props: UsePropagateRefProps) {\n const { name, value, setFieldValue } = props;\n /**\n * This is a special useRef that is used to propagate Formik's changes\n * to the component (the other way around that is done).\n *\n * This needs to be done whenever the name property changes and the content of the\n * component remains the same.\n *\n * An example is when you have a dynamic view that changes the TextField's name attribute. \n * If we don't do this, the useBlur hook will overwrite the value that you left before you \n * changed the TextField's value. \n *\n */\n const flagRef = useRef(true);\n useEffect(() => {\n if (flagRef.current) {\n flagRef.current = false;\n return;\n }\n\n setFieldValue(value);\n // eslint-disable-next-line\n }, [name]);\n}\n","import React, { Fragment } from 'react';\nimport { Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { InfoOutlined, DragIndicator } from '@mui/icons-material';\nimport { SortableContainer, SortableElement, SortableHandle } from 'react-sortable-hoc';\n// Components\nimport { Grid, Switch, FormControlLabel, TextField, Box, useMediaQuery } from '@mui/material';\n// Types\nimport { EMobileAppLinkTypeEnums } from '../../../models';\nimport { Field } from 'formik';\nimport clsx from 'clsx';\nimport { getAppIcon } from './AppLinks';\nimport { PerformantTextField } from '../../../components/inputs/PerformantTextField';\n\ninterface ISortableList {\n links: any[];\n form: any;\n disableFields: boolean;\n}\n\ninterface ISortableItem {\n itemIndex: number;\n form: any;\n disableFields: boolean;\n disableUrlField: boolean;\n urlLabel: string;\n linkUrl: string;\n icon: any;\n isMobile: boolean;\n linkType: string;\n}\n\nconst DragHandle = SortableHandle(() => {\n const classes = useStyles();\n return ;\n});\n\nconst SortableItem = SortableElement(({ isMobile, itemIndex, icon, form, disableFields, disableUrlField, urlLabel, linkUrl, linkType }: ISortableItem) => {\n const classes = useStyles();\n const isInstructions = linkType === EMobileAppLinkTypeEnums.INSTRUCTIONS;\n const isAutoAssigned = linkType === EMobileAppLinkTypeEnums.CALENDAR || linkType === EMobileAppLinkTypeEnums.BENEFITS_INFO || linkType === EMobileAppLinkTypeEnums.MEDIA;\n return (\n \n \n \n \n {({ field }) => {\n return (\n ) => {\n form.setFieldValue(`links.${itemIndex}.enabled`, e.target.checked);\n }}\n onBlur={form.handleBlur}\n disabled={disableFields}\n margin='false'\n />\n }\n title={form.values.links[itemIndex].enabled ? `Turn ${urlLabel} OFF` : `Turn ${urlLabel} ON`}\n label=''\n className={classes.linkSwitchLabel}\n />\n );\n }}\n \n \n \n \n {({ field }) => {\n return icon;\n }}\n \n \n \n \n
\n {({ field }) => {\n return (\n \n );\n }}\n \n
\n {({ field }) => {\n return (\n \n );\n }}\n \n
\n \n \n {!isMobile && }\n \n );\n});\n\nexport const SortableLinksList = SortableContainer(({ form, disableFields, links }: ISortableList) => {\n const classes = useStyles();\n const isMobile = useMediaQuery('(max-width: 960px)');\n return (\n \n {links &&\n links.length > 0 &&\n links.map((item, index) => {\n let urlLabel = 'URL';\n let disableUrlField = disableFields ? true : false;\n let icon = ;\n let linkUrl = form.values.links[index].link || '';\n const { label, component } = getAppIcon(form.values.links[index].type);\n urlLabel = label;\n // disable schedule and benefits fields since those come from the other business client modal\n disableUrlField =\n form.values.links[index].type === EMobileAppLinkTypeEnums.CALENDAR ||\n form.values.links[index].type === EMobileAppLinkTypeEnums.BENEFITS_INFO ||\n form.values.links[index].type === EMobileAppLinkTypeEnums.MEDIA;\n icon = React.cloneElement(component, {\n className: classes.linkIcon\n });\n\n return (\n \n \n \n );\n })}\n \n );\n});\n\nconst useStyles = makeStyles((theme: Theme) => ({\n linkSwitchLabel: {\n marginRight: 0,\n [theme.breakpoints.up('md')]: {\n marginLeft: theme.spacing(1)\n }\n },\n linkIcon: {\n fontSize: theme.spacing(2)\n },\n linkColumnGrow: {\n minWidth: '1px',\n width: '100%',\n [theme.breakpoints.up('md')]: {\n width: 'auto',\n flex: 1\n }\n },\n linkIconColumn: {\n '&&.MuiGrid-item': {\n paddingTop: theme.spacing(1.25)\n },\n [theme.breakpoints.down('lg')]: {\n '&&.MuiGrid-item': {\n paddingBottom: 0,\n marginBottom: -theme.spacing(0.25)\n }\n }\n },\n linkSwitchColumn: {\n '&&.MuiGrid-item': {\n paddingTop: theme.spacing(1)\n },\n [theme.breakpoints.down('lg')]: {\n '&&.MuiGrid-item': {\n paddingBottom: 0,\n marginBottom: -theme.spacing(0.25)\n }\n }\n },\n linkRow: {\n alignItems: 'center',\n '&&.MuiGrid-container': {\n paddingBottom: theme.spacing(2)\n }\n },\n disableOpacity: {\n opacity: '.3'\n },\n activeIcon: {\n color: theme.palette.primary.dark\n },\n\n nameTextField: {\n marginTop: theme.spacing(1)\n },\n\n dragIcon: {\n position: 'absolute',\n top: 40,\n right: -40,\n background: 'white',\n fill: theme.palette.grey[600],\n fontSize: '2.5rem',\n cursor: 'grab'\n }\n}));\n","import React, { Dispatch, FC, Fragment, SetStateAction, useEffect, useState } from 'react';\nimport { Theme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\n// Components\nimport { Box, FormLabel, Grid, Switch, FormControlLabel, FormControl, RadioGroup, Radio, Divider, Typography, FormHelperText, TextField } from '@mui/material';\nimport { QRCodeLink } from './QRCodeLink';\nimport { ColorPicker } from '../../../components';\nimport { MobilePreviewScreen } from './MobilePreviewScreen';\nimport { FileDrop, FileUploaded } from '../../../components/file';\nimport { useDropzone } from 'react-dropzone';\n// Types\nimport { IBusinessClientDetail, mobileAppLogoTypeOptions } from '../../../models';\nimport { getBroker, storeBusinessClientAppLogo } from '../../../fetch';\nimport EALogo from '../../../assets/logos/ea-logo-sm-2021.png';\nimport { Field, FieldProps, FieldArray } from 'formik';\nimport clsx from 'clsx';\nimport { SortableLinksList } from './MobileAppSortableLinksList';\nimport { formLabel } from './shared/styles';\n\ninterface IMobileAppInfoProps {\n currentBusinessClient: IBusinessClientDetail | null;\n appToggle: boolean;\n formValues: any;\n setFieldValue: (field: string, value: any, shouldValidate?: boolean) => void;\n setErrorMessage: Dispatch>;\n showError: Dispatch>;\n setFieldTouched: (field: string, isTouched?: boolean, shouldValidate?: boolean) => void;\n appLogo: File | undefined;\n setAppLogo: Dispatch>;\n handleBlur?: (e: any) => void;\n touched: any;\n errors: any;\n}\n\n// a little function to help us with reordering the result\nconst reorder = (list, startIndex, endIndex) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result;\n};\n\nexport const MobileAppInfo: FC = ({\n setFieldValue,\n handleBlur,\n setErrorMessage,\n showError,\n setFieldTouched,\n currentBusinessClient,\n appToggle,\n formValues,\n appLogo,\n setAppLogo,\n touched,\n errors\n}) => {\n const classes = useStyles();\n const disableFields = appToggle ? false : true;\n const [businessClientLogo, setBusinessClientLogo] = useState(null);\n const [brokerLogo, setBrokerLogo] = useState(null);\n\n const [previewError, setPreviewError] = useState('');\n const defaultLogo = EALogo;\n\n const fetchBroker = async (id: number) => {\n try {\n const broker = await getBroker(id);\n setBrokerLogo(broker.logoUrl);\n } catch (error) {\n console.error(error);\n }\n };\n\n /* eslint-disable react-hooks/rules-of-hooks */\n const imageDZUrlEdit = (acceptedFile: File) => {\n const imageUrl = URL.createObjectURL(acceptedFile);\n const img = document.createElement('img');\n img.src = imageUrl;\n img.onload = async () => {\n // icon needs a minimum height of 140px\n if (img.height < 140) {\n setFieldValue('appLogoUrl', '');\n setPreviewError(`The image provided is too small. The minimum height is 140 pixels tall. Your image is ${img.width} pixels wide by ${img.height} pixels tall.`);\n } else {\n const create = new FormData();\n create.append('image', acceptedFile);\n try {\n const imageUrl = await storeBusinessClientAppLogo(currentBusinessClient.businessClientId, create);\n setFieldValue('appLogoUrl', imageUrl);\n } catch (error) {\n console.log(error);\n if (error && error.Errors && Object.values(error.Errors)[0] && Object.values(Object.values(error.Errors)[0])[0]) {\n setErrorMessage(Object.values(Object.values(error.Errors)[0])[0] as string);\n }\n showError(true);\n }\n setPreviewError('');\n }\n };\n };\n const imageDZUrlAdd = (acceptedFile: File) => {\n const imageUrl = URL.createObjectURL(acceptedFile);\n const img = document.createElement('img');\n img.src = imageUrl;\n img.onload = async () => {\n // icon needs a minimum height of 140px\n if (img.height < 140) {\n setAppLogo(null);\n setPreviewError(`The image provided is too small. The minimum height is 140 pixels tall. Your image is ${img.width} pixels wide by ${img.height} pixels tall.`);\n } else {\n setAppLogo(acceptedFile);\n setFieldValue('appLogoUrl', imageUrl);\n setPreviewError('');\n }\n };\n };\n const imageDZUrl = useDropzone({\n accept: '.jpg, .jpeg, .png',\n onDrop: acceptedFiles => {\n if (acceptedFiles.length > 0 && currentBusinessClient) {\n imageDZUrlEdit(acceptedFiles[0]);\n } else if (acceptedFiles.length > 0) {\n imageDZUrlAdd(acceptedFiles[0]);\n }\n }\n });\n\n useEffect(() => {\n if (currentBusinessClient?.broker?.brokerId) {\n fetchBroker(currentBusinessClient?.broker?.brokerId);\n }\n setBusinessClientLogo(currentBusinessClient?.logoUrl);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const getAppLogo = logoType => {\n switch (logoType) {\n // Adding Ternaries to catch undefined logo error\n case 'Broker':\n return brokerLogo ? brokerLogo : defaultLogo;\n case 'BusinessClient':\n return businessClientLogo ? businessClientLogo : defaultLogo;\n case 'Custom':\n return formValues.appLogoUrl ? formValues.appLogoUrl : defaultLogo;\n default:\n return defaultLogo;\n }\n };\n\n const onSortEnd = ({ oldIndex, newIndex }) => {\n const items = reorder(formValues.links, oldIndex, newIndex);\n setFieldValue('links', items);\n };\n\n return (\n <>\n \n \n \n \n \n \n \n {({ field, form }: FieldProps) => {\n return (\n \n \n \n Mobile App\n \n \n \n ) => {\n form.setFieldValue('mobileAppEnabled', e.target.checked);\n }}\n onBlur={form.handleBlur}\n />\n }\n label={form.values.mobileAppEnabled ? 'ON' : 'OFF'}\n />\n \n \n );\n }}\n \n \n \n \n \n \n {({ field, form }: FieldProps) => {\n return (\n \n \n App Icon Logo\n \n ) => {\n form.setFieldValue(`appLogoType`, e.target.value);\n }}\n >\n {mobileAppLogoTypeOptions.map((option, index) => {\n return (\n \n } label={option.title} disabled={disableFields} />\n \n );\n })}\n \n \n );\n }}\n \n \n \n \n {({ field, form }: FieldProps) => (\n \n \n Header Logo\n \n ) => {\n form.setFieldValue(`homeLogoType`, e.target.value);\n }}\n >\n {mobileAppLogoTypeOptions\n .filter(option => option.type !== 'Custom')\n .map((option, index) => {\n return (\n \n } label={option.title} disabled={disableFields} />\n \n );\n })}\n \n \n )}\n \n \n {formValues.appLogoType === 'Custom' && (\n \n \n App Icon Logo\n \n {formValues.appLogoUrl && (\n {\n setFieldValue(`appLogoUrl`, '');\n setFieldTouched('appLogoUrl', true);\n }}\n src={formValues.appLogoUrl as unknown as string}\n backgroundColor={'#000'}\n />\n )}\n {!formValues.appLogoUrl && (\n <>\n \n \n Drag and drop a PNG or JPG file or{' '}\n e.preventDefault()}>\n browse and pick\n {' '}\n a file.\n \n \n Recommended transparent background with white logo.\n
\n Minimum height of 140 pixels.\n
\n For best results, use a square image between 180x180 pixels and 192x192 pixels.\n \n {previewError && {previewError}}\n \n >\n )}\n \n )}\n \n \n \n \n \n \n \n {({ field, form }: FieldProps) => {\n return (\n {\n form.setFieldValue('hexColor', c.hex);\n }}\n />\n );\n }}\n \n \n \n \n {({ field, form }: FieldProps) => {\n return (\n {\n form.setFieldValue('secondaryHexColor', c.hex);\n }}\n />\n );\n }}\n \n \n \n \n {({ field, form }: FieldProps) => {\n return (\n {\n form.setFieldValue('textHexColor', c.hex);\n }}\n />\n );\n }}\n \n \n \n \n \n \n \n \n \n \n \n Custom Mobile App Header\n \n \n setFieldValue('header', e.target.value)}\n error={Boolean(touched.header && errors.header)}\n helperText={touched.header && errors.header}\n />\n \n \n theme.spacing(1) }}>\n \n Custom Mobile App Icons\n \n \n \n \n \n {({ form }) => {\n return ;\n }}\n \n
\n \n \n \n \n \n {formValues.qrCodes.length > 0 && (\n <>\n \n \n Mobile App URLs\n \n \n {formValues.qrCodes.map((qrCode, index) => {\n return setFieldValue(`qrCodes.${index}.url`, val)} />;\n })}\n \n >\n )}\n >\n );\n};\n\nconst useStyles = makeStyles((theme: Theme) => ({\n formLabel: formLabel,\n radioGroupLabel: { marginBottom: theme.spacing(0.5) },\n linkSwitchLabel: {\n marginRight: 0\n },\n linkIcon: {\n fontSize: theme.spacing(2)\n },\n linkColumnGrow: {\n minWidth: '1px',\n width: '100%',\n [theme.breakpoints.up('md')]: {\n width: 'auto',\n flex: 1\n }\n },\n linkIconColumn: {\n '&&.MuiGrid-item': {\n paddingTop: theme.spacing(1.25)\n },\n [theme.breakpoints.down('lg')]: {\n '&&.MuiGrid-item': {\n paddingBottom: 0,\n marginBottom: -theme.spacing(0.25)\n }\n }\n },\n linkSwitchColumn: {\n '&&.MuiGrid-item': {\n paddingTop: theme.spacing(1)\n },\n [theme.breakpoints.down('lg')]: {\n '&&.MuiGrid-item': {\n paddingBottom: 0,\n marginBottom: -theme.spacing(0.25)\n }\n }\n },\n linkRow: {\n alignItems: 'center',\n '&&.MuiGrid-container': {\n paddingBottom: theme.spacing(2)\n }\n },\n scrollable: {\n paddingTop: theme.spacing(0.5),\n maxHeight: 650,\n paddingRight: 50,\n overflowY: 'scroll'\n },\n disableOpacity: {\n opacity: '.3'\n },\n activeIcon: {\n color: theme.palette.primary.dark\n },\n preview: {\n marginTop: theme.spacing(2),\n display: 'flex',\n justifyContent: 'center'\n },\n divider: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n subHeader: {\n marginTop: '-10px',\n fontWeight: 'bold',\n marginBottom: theme.spacing(0.5)\n },\n nameTextField: {\n marginTop: theme.spacing(1)\n },\n colorPicker: {\n [theme.breakpoints.up('md')]: {\n marginTop: theme.spacing(-2.5)\n }\n },\n logoDrop: {\n marginTop: theme.spacing(1),\n marginBottom: 0\n },\n logoUploaded: {\n margin: theme.spacing(1, 0, 0)\n },\n appIconLogoPicker: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n dragIcon: {\n position: 'absolute',\n top: 25,\n right: 25,\n background: 'white',\n fill: theme.palette.grey[600],\n fontSize: '2rem',\n cursor: 'grab'\n }\n}));\n","import React, { useContext } from 'react';\nimport { createContext, useState } from 'react';\n\nconst ErrorMessageCtx = createContext<[string, React.Dispatch>]>([null, () => { }]);\n\nconst ErrorMessageProvider: React.FC = ({ children }) => {\n const [errorMessage, setErrorMessage] = useState(null);\n\n return (\n \n {children}\n \n );\n};\n\nexport { ErrorMessageCtx, ErrorMessageProvider };\n\nconst useErrorMessage = (): [string, React.Dispatch>] => {\n const [errorMessage, setErrorMessage] = useContext(ErrorMessageCtx);\n return [errorMessage, setErrorMessage];\n};\n\nexport default useErrorMessage;\n","import { RequestState } from \"../models/request-state\";\n\nexport type RequestAction =\n | { type: 'REQUEST_LOADING' }\n | { type: 'REQUEST_SUCCESS'; payload: T }\n | { type: 'REQUEST_ERROR'; payload: string };\n\nconst requestReducer = () => (state: RequestState, action: RequestAction): RequestState => {\n switch (action.type) {\n case 'REQUEST_LOADING':\n return { ...state, status: 'loading', data: null, error: null };\n case 'REQUEST_SUCCESS':\n return { ...state, status: 'success', data: action.payload, error: null };\n case 'REQUEST_ERROR':\n return { ...state, status: 'error', data: null, error: action.payload };\n default:\n return state;\n }\n};\nexport default requestReducer;","import React, { useReducer } from \"react\";\nimport { IBusinessClassOptions, IDefaultDropdownsOptions, IDropdownResponse, IFinancialOptions, IGeneralDropdownsOptions, IInsuranceCoverageOptions, IMedicalInsuranceOptions, ISystemOfRecord, IUser } from \"../models\";\nimport requestReducer, { RequestAction } from \"../reducers/request-reducer\";\nimport { RequestState } from \"../models/request-state\";\n\n// Define the context data type\ninterface DropDownCollectionsCtxType {\n industriesRequest: RequestState;\n dispatchIndustries?: React.Dispatch>;\n anticipatedSupportsRequest: RequestState;\n dispatchAnticipatedSupports?: React.Dispatch>;\n contactRolesRequest: RequestState;\n dispatchContactRoles?: React.Dispatch>;\n\n medicalInsuranceOptionsRequest: RequestState;\n dispatchMedicalInsuranceOptions?: React.Dispatch>;\n\n financialOptionsRequest: RequestState;\n dispatchFinancialOptions?: React.Dispatch>;\n\n insuranceCoverageOptionsRequest: RequestState;\n dispatchInsuranceCoverageOptionsRequest?: React.Dispatch>;\n\n defaultDropdownsOptionsRequest: RequestState;\n dispatchDefaultDropdownsOptionsRequest?: React.Dispatch>;\n\n businessClassOptionsRequest: RequestState;\n dispatchBusinessClassOptionsRequest?: React.Dispatch>;\n\n states: RequestState;\n systemOfRecords: RequestState;\n users: RequestState;\n dataFileRecipients: RequestState;\n\n generalDropdownsOptionsRequest: RequestState;\n dispatchGeneralDropdownsOptionsRequest?: React.Dispatch>;\n\n sectionsDocumentsStatusRequest: RequestState;\n dispatchSectionsDocumentsStatusRequest?: React.Dispatch>;\n}\n\n// Create the initial context data\nconst initialContextData: DropDownCollectionsCtxType = {\n sectionsDocumentsStatusRequest:{\n status: 'idle',\n data: null,\n error: null\n },\n generalDropdownsOptionsRequest: {\n status: 'idle',\n data: null,\n error: null\n },\n businessClassOptionsRequest: {\n status: 'idle',\n data: null,\n error: null\n },\n defaultDropdownsOptionsRequest: {\n status: 'idle',\n data: null,\n error: null\n },\n financialOptionsRequest: {\n status: 'idle',\n data: null,\n error: null\n },\n insuranceCoverageOptionsRequest: {\n status: 'idle',\n data: null,\n error: null\n },\n medicalInsuranceOptionsRequest: {\n status: 'idle',\n data: null,\n error: null\n },\n states: {\n status: 'idle',\n data: [],\n error: null,\n },\n industriesRequest: {\n status: 'idle',\n data: [],\n error: null,\n },\n anticipatedSupportsRequest: {\n status: 'idle',\n data: [],\n error: null,\n },\n contactRolesRequest: {\n status: 'idle',\n data: [],\n error: null,\n },\n systemOfRecords: {\n status: 'idle',\n data: [],\n error: null,\n },\n users: {\n status: 'idle',\n data: [],\n error: null,\n },\n dataFileRecipients: {\n status: 'idle',\n data: [],\n error: null,\n },\n};\n\n// Create the context\nconst DropDownCollectionsCtx = React.createContext(initialContextData);\nexport { DropDownCollectionsCtx };\n\n// Create the provider component\nconst DropDownCollectionsProvider: React.FC = ({ children }) => {\n // You can define the state to store the data items here (if you want to change them over time)\n const [industriesRequest, dispatchIndustries] = useReducer(requestReducer