> {\r\n\t(dispatch: (action: TAction) => void, getState: () => TApplicationState): void;\r\n}\r\n","import { Action, Reducer } from 'redux';\r\n\r\nimport { addTask } from 'domain-task';\r\n\r\nimport { AppThunkAction } from '@app/store/index';\r\nimport { request } from '@app/components/Api';\r\n\r\nexport interface PageItemState {\r\n\tpage: P | null;\r\n\tpath: string | null;\r\n\tisLoading: boolean;\r\n}\r\n\r\nexport enum TypeKeys {\r\n\tREQUESTPAGE = 'REQUESTPAGE',\r\n\tRECIEVEPAGE = 'RECIEVEPAGE'\r\n}\r\n\r\nexport interface RequestPageAction {\r\n\ttype: TypeKeys.REQUESTPAGE;\r\n\tstorageName: string | null;\r\n\tpath: string;\r\n}\r\n\r\nexport interface ReceivePageAction {\r\n\ttype: TypeKeys.RECIEVEPAGE;\r\n\tstorageName: string | null;\r\n\tpage: any;\r\n}\r\n\r\ntype KnownPageAction = RequestPageAction | ReceivePageAction;\r\n\r\nexport const actionCreators = ({\r\n\tloadPage: (storageName: string, path: string): AppThunkAction => (dispatch, getState) => {\r\n\t\tconst storeState = (getState() as any)[storageName];\r\n\r\n\t\tif (storeState.path !== path) {\r\n\t\t\tconst fetchTask = request(\r\n\t\t\t\t'pageLoader',\r\n\t\t\t\t{ path },\r\n\t\t\t\tgetState(),\r\n\t\t\t).then((data) => dispatch({ type: TypeKeys.RECIEVEPAGE, storageName, page: data }));\r\n\r\n\t\t\taddTask(fetchTask);\r\n\t\t\tdispatch({ type: TypeKeys.REQUESTPAGE, storageName, path });\r\n\r\n\t\t\treturn fetchTask;\r\n\t\t}\r\n\t},\r\n});\r\n\r\nexport const reducer = (storageName: string):Reducer> => {\r\n\treturn (state: PageItemState = { isLoading: false, page: null, path: '' }, incomingAction: Action) => {\r\n\t\tconst action = incomingAction as KnownPageAction;\r\n\t\tif (!action.storageName || action.storageName === storageName) {\r\n\t\t\tswitch (action.type) {\r\n\t\t\t\tcase TypeKeys.REQUESTPAGE:\r\n\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tisLoading: true,\r\n\t\t\t\t\t\tpage: state.page,\r\n\t\t\t\t\t\tpath: action.path,\r\n\t\t\t\t\t};\r\n\t\t\t\tcase TypeKeys.RECIEVEPAGE:\r\n\t\t\t\t\treturn { isLoading: false, page: action.page, path: action.page.path };\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tconst exhaustiveCheck: never = action;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn state;\r\n\t};\r\n};\r\n","import { ReducersMapObject } from 'redux';\r\n\r\nimport * as Items from '@common/react/store/ItemList';\r\nimport { BaseApplicationState, BaseAppThunkAction, baseReducers } from '@common/react/store';\r\nimport { PageItemState, reducer as PageStateReducer } from '@common/react/store/PageItem';\r\n\r\nimport { User } from '@app/objects/User';\r\nimport { Event } from '@app/objects/Event';\r\n\r\n// The top-level state object\r\nexport interface ApplicationState extends BaseApplicationState {\r\n\tserverPage: PageItemState;\r\n\tupcomingEvents: Items.ItemsState;\r\n\tprevEvents: Items.ItemsState;\r\n}\r\n\r\n// Whenever an action is dispatched, Redux will update each top-level application state property using\r\n// the reducer with the matching name. It's important that the names match exactly, and that the reducer\r\n// acts on the corresponding ApplicationState property type.\r\nexport const reducers: ReducersMapObject = {\r\n\t...baseReducers,\r\n\r\n\tserverPage: PageStateReducer('serverPage'),\r\n\tupcomingEvents: Items.getReducer('upcomingEvents'),\r\n\tprevEvents: Items.getReducer('prevEvents'),\r\n};\r\n\r\n// This type can be used as a hint on action creators so that its 'dispatch' and 'getState' params are\r\n// correctly typed to match your store.\r\nexport type AppThunkAction = BaseAppThunkAction;\r\n","import 'raf/polyfill';\r\n\r\nimport 'core-js/features/array/from';\r\nimport 'core-js/features/array/find';\r\nimport 'core-js/features/array/includes';\r\nimport 'core-js/features/set';\r\nimport 'core-js/features/map';\r\nimport 'core-js/features/weak-map';\r\nimport 'core-js/features/promise';\r\n\r\nimport { bootClient, renderApp } from '@common/react/loadable/boot-client';\r\nimport { updateReducers } from '@common/react/configureStore';\r\n\r\nimport { ApplicationState, reducers } from '@app/store';\r\nimport { User } from '@app/objects/User';\r\nimport { routes } from '@app/routes';\r\n\r\nbootClient(routes, reducers);\r\n\r\n// Allow Hot Module Replacement\r\nif (module.hot) {\r\n\tmodule.hot.accept('@app/routes', () => {\r\n\t\trenderApp((require('@app/routes') as any).routes);\r\n\t});\r\n}\r\n\r\n// Enable Webpack hot module replacement for reducers\r\nif (module.hot) {\r\n\tmodule.hot.accept('@app/store', () => {\r\n\t\tconst nextRootReducer = require('@app/store');\r\n\t\tupdateReducers((nextRootReducer as any).reducers);\r\n\t});\r\n}\r\n","import { request as baseRequest } from '@common/react/components/Api';\r\n\r\nimport { ApplicationState } from '@app/store';\r\nimport { User } from '@app/objects/User';\r\n\r\nexport function request(type: string, data?: any, state?: ApplicationState) {\r\n\treturn baseRequest(type, data, state);\r\n}\r\n","import * as React from 'react';\r\nimport { RouteComponentProps, withRouter } from 'react-router-dom';\r\n\r\nimport { UnregisterCallback } from 'history';\r\n\r\nimport '@app/scss/components/errorBoundary.scss';\r\n\r\nexport class ErrorBoundary extends React.Component, { hasError: boolean }> {\r\n\tunlisten: UnregisterCallback | null = null;\r\n\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = { hasError: false };\r\n\t}\r\n\r\n\tcomponentWillUnmount() {\r\n\t\tthis.unlisten && this.unlisten();\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\tthis.unlisten = this.props.history.listen((location, action) => {\r\n\t\t\tif (this.state.hasError) {\r\n\t\t\t\tthis.setState({ hasError: false });\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tcomponentDidCatch(error, errorInfo) {\r\n\t\tthis.setState({ hasError: true });\r\n\t}\r\n\r\n\trender() {\r\n\t\tif (this.state.hasError) {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t
Whoops, something went wrong \r\n\t\t\t\t\t
Please either refresh the page or return home to try again.
\r\n\t\t\t\t\t
If the issue continues, please get in touch.
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\tGo home\r\n\t\t\t\t\t \r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\treturn this.props.children;\r\n\t}\r\n}\r\n\r\nexport default withRouter(ErrorBoundary);\r\n","import * as React from 'react';\r\n\r\nimport { RequestProvider } from '@common/react/components/RequestProvider/RequestProvider';\r\n\r\nimport ErrorBoundary from '@app/components/UI/ErrorBoundary/ErrorBoundary';\r\nimport '@app/scss/style.scss';\r\n\r\nconst Layout: React.FC = ({ children }) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{children}
\r\n\t\t\t \r\n\t\t \r\n\t);\r\n};\r\n\r\nexport default Layout;\r\n","import * as React from 'react';\r\nimport { NavLink } from 'react-router-dom';\r\n\r\nimport ImageLazy from '@common/react/components/UI/ImageLazy/ImageLazy';\r\n\r\nimport { linksAdmin } from '@app/utils/routesVerification';\r\n\r\nconst year = new Date().getFullYear();\r\n\r\nconst FooterAdmin: React.FC = () => {\r\n\tconst copyRight = `© ${year} All rights reserved.`;\r\n\r\n\treturn ;\r\n};\r\n\r\nexport default FooterAdmin;\r\n","import * as React from 'react';\r\nimport { NavLink, useHistory, useLocation } from 'react-router-dom';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport Media from '@app/components/UI/Media/Media';\r\nimport { menuLeftAdmin, menuRightAdmin } from '@app/utils/routesVerification';\r\n\r\nimport * as LoginState from '@app/store/Login';\r\n\r\nconst Header: React.FC = () => {\r\n\tconst dispatch = useDispatch();\r\n\tconst actions = bindActionCreators(LoginState.getActionCreators(), dispatch);\r\n\tconst [open, setOpen] = React.useState(false);\r\n\tconst location = useLocation();\r\n\tconst history = useHistory();\r\n\r\n\tReact.useEffect(() => {\r\n\t\tsetOpen(false);\r\n\t}, [location.pathname]);\r\n\r\n\treturn \r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{menuLeftAdmin.map((item) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.name}\r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t \r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
setOpen((open) => !open)}\r\n\t\t\t\tclassName=\"toggle-menu\"\r\n\t\t\t>\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t
\r\n\t ;\r\n};\r\n\r\nexport default Header;\r\n","import React from 'react';\r\nimport { shallowEqual, useSelector } from 'react-redux';\r\nimport { Redirect } from 'react-router-dom';\r\n\r\nimport FooterAdmin from '@app/components/UI/Footer/FooterAdmin';\r\nimport HeaderAdmin from '@app/components/UI/Header/HeaderAdmin';\r\n\r\nimport { ApplicationState } from '@app/store';\r\n\r\nconst LayoutAdmin: React.FC = ({ children }) => {\r\n\tconst login = useSelector((state: ApplicationState) => state.login, shallowEqual);\r\n\r\n\treturn (\r\n\t\tlogin.user\r\n\t\t\t? <>\r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t{children}\r\n\t\t\t\t
\r\n\t\t\t\t \r\n\t\t\t>\r\n\t\t\t: \r\n\t);\r\n};\r\n\r\nexport default LayoutAdmin;\r\n","import * as React from 'react';\r\nimport { NavLink, useHistory, useLocation } from 'react-router-dom';\r\n\r\nimport { menuLeftLanding, menuRightLanding } from '@app/utils/routesVerification';\r\nimport Media from '@app/components/UI/Media/Media';\r\n\r\nconst HeaderLanding: React.FC = () => {\r\n\tconst [open, setOpen] = React.useState(false);\r\n\tconst location = useLocation();\r\n\tconst history: any = useHistory();\r\n\r\n\tReact.useEffect(() => {\r\n\t\tsetOpen(false);\r\n\t}, [location.hash]);\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif (document && history.location.state) {\r\n\t\t\tconst ref = document.getElementById(history.location.state);\r\n\r\n\t\t\tif (ref) {\r\n\t\t\t\tref.scrollIntoView();\r\n\t\t\t\thistory.push('/children', '');\r\n\t\t\t}\r\n\t\t}\r\n\t}, [history.location.state]);\r\n\r\n\treturn \r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
setOpen((open) => !open)}\r\n\t\t\t\tclassName=\"toggle-menu\"\r\n\t\t\t>\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t
\r\n\t ;\r\n};\r\n\r\nexport default HeaderLanding;\r\n","import * as React from 'react';\r\nimport { NavLink, useHistory, useLocation } from 'react-router-dom';\r\n\r\nimport ImageLazy from '@common/react/components/UI/ImageLazy/ImageLazy';\r\n\r\nimport { linksLanding } from '@app/utils/routesVerification';\r\n\r\nconst year = new Date().getFullYear();\r\n\r\nconst FooterLanding: React.FC = () => {\r\n\tconst location = useLocation();\r\n\tconst history = useHistory();\r\n\r\n\tconst copyRight = `© ${year} All rights reserved.`;\r\n\r\n\tReact.useEffect(() => {\r\n\t\tconst hashName = location.hash;\r\n\r\n\t\tif (hashName) {\r\n\t\t\twindow.location.hash = '';\r\n\t\t\twindow.location.hash = hashName;\r\n\t\t}\r\n\t}, [location.hash]);\r\n\r\n\treturn ;\r\n};\r\n\r\nexport default FooterLanding;\r\n","import React from 'react';\r\n\r\nimport HeaderLanding from '@app/components/UI/Header/HeaderLanding';\r\nimport FooterLanding from '@app/components/UI/Footer/FooterLanding';\r\n\r\nconst LayoutLanding: React.FC = ({ children }) => {\r\n\treturn (\r\n\t\t<>\r\n\t\t\t \r\n\t\t\t{children}
\r\n\t\t\t \r\n\t\t>\r\n\t);\r\n};\r\n\r\nexport default LayoutLanding;\r\n","import * as React from 'react';\r\nimport { NavLink, useLocation } from 'react-router-dom';\r\nimport { shallowEqual, useSelector } from 'react-redux';\r\n\r\nimport { ApplicationState } from '@app/store';\r\nimport eventDate from '@app/utils/eventDate';\r\nimport { Event } from '@app/objects/Event';\r\nimport Media from '@app/components/UI/Media/Media';\r\nimport { menuLeft, menuRight } from '@app/utils/routesVerification';\r\n\r\nconst TopLine: React.FC = () => {\r\n\tconst events: Array = useSelector((state: ApplicationState) => state.upcomingEvents.items);\r\n\tconst [activeSlide, setActiveSlide] = React.useState(0);\r\n\r\n\tconst slides = events.map((event, index) => {\r\n\t\tconst dateFrom = event.dateFrom !== null && new Date(event.dateFrom);\r\n\t\tconst dateTo = event.dateTo !== null && new Date(event.dateTo);\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\tUpcoming events: \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{event.url\r\n\t\t\t\t\t\t\t? {event.name} \r\n\t\t\t\t\t\t\t: `${event.name}`\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t\t{eventDate(dateFrom, dateTo)}\r\n\t\t\t\t\t, \r\n\t\t\t\t\t{event.place}\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t);\r\n\t});\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif (activeSlide < slides.length) {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tsetActiveSlide(activeSlide + 1);\r\n\t\t\t}, 10000);\r\n\t\t} else {\r\n\t\t\tsetActiveSlide(0);\r\n\t\t}\r\n\t}, [activeSlide]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t\t{slides[activeSlide]}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t \r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst Header: React.FC = () => {\r\n\tconst login = useSelector((state: ApplicationState) => state.login, shallowEqual);\r\n\tconst [open, setOpen] = React.useState(false);\r\n\tconst location = useLocation();\r\n\r\n\tReact.useEffect(() => {\r\n\t\tsetOpen(false);\r\n\t}, [location.pathname]);\r\n\r\n\treturn \r\n\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{menuLeft.map((item) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.name}\r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t \r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{menuRight.map((item) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.name}\r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t{login.user && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAdmin\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t \r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
setOpen((open) => !open)}\r\n\t\t\t\tclassName=\"toggle-menu\"\r\n\t\t\t>\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t
\r\n\t ;\r\n};\r\n\r\nexport default Header;\r\n","import * as React from 'react';\r\nimport { NavLink } from 'react-router-dom';\r\n\r\nimport ImageLazy from '@common/react/components/UI/ImageLazy/ImageLazy';\r\n\r\nimport { links } from '@app/utils/routesVerification';\r\n\r\nconst year = new Date().getFullYear();\r\n\r\nconst Footer: React.FC = () => {\r\n\tconst copyRight = `© ${year} All rights reserved.`;\r\n\r\n\treturn ;\r\n};\r\n\r\nexport default Footer;\r\n","import React from 'react';\r\n\r\nimport Header from '@app/components/UI/Header/Header';\r\nimport Footer from '@app/components/UI/Footer/Footer';\r\n\r\nconst LayoutMain: React.FC = ({ children }) => {\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t{children}
\r\n\t\t\t\r\n\t\t>\r\n\t);\r\n};\r\n\r\nexport default LayoutMain;\r\n","import React from 'react';\r\n\r\nexport const media = [\r\n\t{\r\n\t\ticon: \r\n\t\t\t \r\n\t\t ,\r\n\t\tlink: 'https://www.youtube.com/channel/UCp9kmv63ZbC8t_movGOPj4Q',\r\n\t},\r\n\t{\r\n\t\ticon: \r\n\t\t\t \r\n\t\t\t \r\n\t\t ,\r\n\t\tlink: 'https://www.instagram.com/drmarygardner/',\r\n\t},\r\n\t{\r\n\t\ticon: \r\n\t\t\t \r\n\t\t ,\r\n\t\tlink: 'https://www.facebook.com/drmarygardner/',\r\n\t},\r\n\t{\r\n\t\ticon: \r\n\t\t\t \r\n\t\t ,\r\n\t\tlink: 'https://www.pinterest.com/greymuzzlevet',\r\n\t},\r\n\t{\r\n\t\ticon: \r\n\t\t\t \r\n\t\t ,\r\n\t\tlink: 'https://www.linkedin.com/in/mary-gardner-dvm-5714152b/',\r\n\t},\r\n];\r\n\r\nconst Media = () => {\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{media.map((item, index) => (\r\n\t\t\t\t\r\n\t\t\t\t\t{item.icon}\r\n\t\t\t\t \r\n\t\t\t))}\r\n\t\t>\r\n\t);\r\n};\r\n\r\nexport default Media;\r\n","import React from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\n\r\nconst ScrollTop: React.FC = (props) => {\r\n\tconst { pathname } = useLocation();\r\n\r\n\tReact.useEffect(() => {\r\n\t\twindow.scrollTo(0, 0);\r\n\t}, [pathname]);\r\n\r\n\treturn <>\r\n\t\t{props.children}\r\n\t>;\r\n};\r\n\r\nexport default ScrollTop;\r\n","import React from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\n\r\nconst ScrollTop: React.FC = (props) => {\r\n\tconst { pathname } = useLocation();\r\n\r\n\tconst [prevPath, setPrevPath] = React.useState('');\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif (prevPath) {\r\n\t\t\tif (!pathname.includes(prevPath)) {\r\n\t\t\t\twindow.scrollTo(0, 0);\r\n\t\t\t\tsetPrevPath(pathname.slice(1).split('/')[0]);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\twindow.scrollTo(0, 0);\r\n\t\t\tsetPrevPath(pathname.slice(1).split('/')[0]);\r\n\t\t}\r\n\t}, [pathname]);\r\n\r\n\treturn <>\r\n\t\t{props.children}\r\n\t>;\r\n};\r\n\r\nexport default ScrollTop;\r\n","import * as React from 'react';\r\nimport { Route, Switch } from 'react-router-dom';\r\n\r\nimport loadable from '@loadable/component';\r\n\r\nimport { loadableDelay, params } from '@common/react/loadable/loadableSettings';\r\n\r\nimport ScrollTopAll from '@app/hooks/ScrollTopAll';\r\nimport ScrollTopFirstRender from '@app/hooks/ScrollTopFirstRender';\r\nimport Layout from '@app/components/Layout';\r\nimport LayoutMain from '@app/components/LayoutMain';\r\nimport LayoutLanding from '@app/components/LayoutLanding';\r\nimport LayoutAdmin from '@app/components/LayoutAdmin';\r\n\r\nconst Home = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"HomePage\" */ '@app/components/Pages/Home/Home')), params);\r\nconst About = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"AboutPage\" */ '@app/components/Pages/About/About')), params);\r\nconst GeriatricPets = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"GeriatricPets\" */ '@app/components/Pages/GeriatricPets/GeriatricPets')), params);\r\n\r\nconst Speaking = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"Speaking\" */ '@app/components/Pages/Speaking/Speaking')), params);\r\nconst Books = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"Books\" */ '@app/components/Pages/Books/Books')), params);\r\nconst BookPage = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"BookPage\" */ '@app/components/Pages/BookPage/BookPage')), params);\r\nconst Education = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"Education\" */ '@app/components/Pages/Education/Education')), params);\r\nconst EducationPost = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"EducationPost\" */ '@app/components/Pages/EducationPost/EducationPost')), params);\r\nconst ArticlePage = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"ArticlePage\" */ '@app/components/Pages/Article/Article')), params);\r\nconst PetParents = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"PetParents\" */ '@app/components/Pages/PetParents/PetParents')), params);\r\nconst Contacts = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"Contacts\" */ '@app/components/Pages/Contacts/Contacts')), params);\r\nconst Children = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"Contacts\" */ '@app/components/Pages/Children/Children')), params);\r\nconst Login = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"Login\" */ '@app/components/Pages/Login/Login')), params);\r\nconst Admin = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"Admin\" */ '@app/components/Pages/Admin/Admin')), params);\r\nconst AdminBooks = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"AdminBooks\" */ '@app/components/Pages/Admin/AdminBooks')), params);\r\nconst AdminBookEditor = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"AdminBookEditor\" */ '@app/components/Pages/Admin/AdminBookEditor')), params);\r\nconst AdminEvents = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"AdminEvents\" */ '@app/components/Pages/Admin/AdminEvents')), params);\r\nconst AdminEventEditor = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"AdminEventEditor\" */ '@app/components/Pages/Admin/AdminEventEditor')), params);\r\nconst AdminInquiries = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"AdminInquiries\" */ '@app/components/Pages/Admin/AdminInquiries')), params);\r\nconst AdminBlog = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"AdminBlog\" */ '@app/components/Pages/Admin/AdminBlog')), params);\r\nconst AdminArticlesEditor = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"AdminArticlesEditor\" */ '@app/components/Pages/Admin/AdminArticlesEditor')), params);\r\nconst Memorials = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"MemorialsPage\" */ '@app/components/Pages/Resources/Memorials')), params);\r\nconst References = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"ReferencesPage\" */ '@app/components/Pages/Resources/References')), params);\r\n\r\nexport const routes = (\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t \r\n);\r\n","import { BaseUser } from '@common/react/objects/BaseUser';\r\nimport {\r\n\tLoginState as BaseLoginState,\r\n\tLoginActionCreators as BaseLoginActionCreators,\r\n\tgetActionCreators as baseGetActionCreators,\r\n\tgetReducer as baseGetReducer,\r\n} from '@common/react/store/Login';\r\n\r\nimport { User } from '@app/objects/User';\r\nimport { ApplicationState } from '@app/store/index';\r\n\r\nexport { TypeKeys } from '@common/react/store/Login';\r\n\r\nexport type LoginState = BaseLoginState;\r\n\r\nexport type LoginActionCreators = BaseLoginActionCreators;\r\n\r\nexport function getActionCreators() {\r\n\treturn baseGetActionCreators();\r\n}\r\n\r\nexport function getReducer() {\r\n\treturn baseGetReducer();\r\n}\r\n","const months = [\r\n\t'January',\r\n\t'February',\r\n\t'March',\r\n\t'April',\r\n\t'May',\r\n\t'June',\r\n\t'July',\r\n\t'August',\r\n\t'September',\r\n\t'October',\r\n\t'November',\r\n\t'December',\r\n];\r\n\r\nconst eventDate = (dateFrom, dateTo): string => {\r\n\tif (dateFrom && dateTo) {\r\n\t\tif (dateTo.getUTCFullYear() === dateFrom.getUTCFullYear()) {\r\n\t\t\tif (dateTo.getUTCMonth() === dateFrom.getUTCMonth()) {\r\n\t\t\t\tif (dateTo.getUTCDate() === dateFrom.getUTCDate()) {\r\n\t\t\t\t\treturn `${dateTo.toLocaleDateString('en-US', {\r\n\t\t\t\t\t\ttimeZone: 'UTC',\r\n\t\t\t\t\t\tmonth: 'long',\r\n\t\t\t\t\t\tyear: 'numeric',\r\n\t\t\t\t\t\tday: 'numeric',\r\n\t\t\t\t\t})}`;\r\n\t\t\t\t}\r\n\t\t\t\treturn `${months[dateTo.getUTCMonth()]} ${dateFrom.getUTCDate()}-${dateTo.getUTCDate()}, ${dateTo.getUTCFullYear()}`;\r\n\t\t\t}\r\n\t\t\treturn `${months[dateFrom.getUTCMonth()]} ${dateFrom.getUTCDate()} - ${months[dateTo.getUTCMonth()]} ${dateTo.getUTCDate()}, \r\n\t\t\t\t${dateTo.getUTCFullYear()}`;\r\n\t\t}\r\n\t\treturn `${months[dateFrom.getUTCMonth()]} ${dateFrom.getUTCDate()}, ${dateFrom.getUTCFullYear()} - \r\n\t\t\t${months[dateTo.getUTCMonth()]} ${dateTo.getUTCDate()}, ${dateTo.getUTCFullYear()}`;\r\n\t}\r\n\tif (!dateTo && dateFrom) {\r\n\t\treturn `${dateFrom.toLocaleDateString('en-US', {\r\n\t\t\ttimeZone: 'UTC',\r\n\t\t\tmonth: 'long',\r\n\t\t\tyear: 'numeric',\r\n\t\t\tday: 'numeric',\r\n\t\t})}`;\r\n\t}\r\n\tif (dateTo && !dateFrom) {\r\n\t\treturn `${dateTo.toLocaleDateString('en-US', {\r\n\t\t\ttimeZone: 'UTC',\r\n\t\t\tmonth: 'long',\r\n\t\t\tyear: 'numeric',\r\n\t\t\tday: 'numeric',\r\n\t\t})}`;\r\n\t}\r\n\treturn '';\r\n};\r\n\r\nexport default eventDate;\r\n","export const menuLeft = [\r\n\t{\r\n\t\tlink: '/about',\r\n\t\tname: 'About',\r\n\t},\r\n\t{\r\n\t\tlink: '/geriatric-pets',\r\n\t\tname: 'Geriatric Pets',\r\n\t},\r\n\t{\r\n\t\tlink: '/speaking',\r\n\t\tname: 'Speaking',\r\n\t},\r\n];\r\n\r\nexport const menuRight = [\r\n\t{\r\n\t\tlink: '/books',\r\n\t\tname: 'Books',\r\n\t},\r\n\t{\r\n\t\tlink: '/pet-parents',\r\n\t\tname: 'Pet Parents',\r\n\t},\r\n\t{\r\n\t\tlink: '/education',\r\n\t\tname: 'Education',\r\n\t},\r\n\t{\r\n\t\tlink: '/contact',\r\n\t\tname: 'Contact',\r\n\t},\r\n];\r\n\r\nexport const menuLeftAdmin = [\r\n\t{\r\n\t\tlink: '/admin/inquiries',\r\n\t\tname: 'Inquiries ',\r\n\t},\r\n\t{\r\n\t\tlink: '/admin/events',\r\n\t\tname: 'Events',\r\n\t},\r\n];\r\n\r\nexport const menuRightAdmin = [\r\n\t{\r\n\t\tlink: '/admin/books',\r\n\t\tname: 'Books',\r\n\t},\r\n\t{\r\n\t\tlink: '/admin/blog',\r\n\t\tname: 'Blog',\r\n\t},\r\n];\r\n\r\nexport const menuLeftLanding = [\r\n\t{\r\n\t\tlink: 'children-books',\r\n\t\tname: 'Children’s Books',\r\n\t},\r\n\t{\r\n\t\tlink: 'about',\r\n\t\tname: 'About',\r\n\t},\r\n\t{\r\n\t\tlink: 'educational-books',\r\n\t\tname: 'Educational Books',\r\n\t},\r\n];\r\n\r\nexport const menuRightLanding = [\r\n\t{\r\n\t\tlink: 'free-goodies',\r\n\t\tname: 'Free Goodies',\r\n\t},\r\n\t{\r\n\t\tlink: 'contact',\r\n\t\tname: 'Contact',\r\n\t},\r\n];\r\n\r\nexport const links = [\r\n\t{\r\n\t\tlink: '/about',\r\n\t\tname: 'About',\r\n\t},\r\n\t{\r\n\t\tlink: '/geriatric-pets',\r\n\t\tname: 'Geriatric Pets',\r\n\t},\r\n\t{\r\n\t\tlink: '/speaking',\r\n\t\tname: 'Speaking',\r\n\t},\r\n\t{\r\n\t\tlink: '/books',\r\n\t\tname: 'Books',\r\n\t},\r\n\t{\r\n\t\tlink: '/education',\r\n\t\tname: 'Education',\r\n\t},\r\n\t{\r\n\t\tlink: '/contact',\r\n\t\tname: 'Contact',\r\n\t},\r\n];\r\n\r\nexport const linksAdmin = [\r\n\t{\r\n\t\tlink: '/admin/inquiries',\r\n\t\tname: 'Inquiries ',\r\n\t},\r\n\t{\r\n\t\tlink: '/admin/events',\r\n\t\tname: 'Events',\r\n\t},\r\n\t{\r\n\t\tlink: '/admin/books',\r\n\t\tname: 'Books',\r\n\t},\r\n\t{\r\n\t\tlink: '/admin/blog',\r\n\t\tname: 'Blog ',\r\n\t},\r\n];\r\n\r\nexport const linksLanding = [\r\n\t{\r\n\t\tnavLink: false,\r\n\t\tlink: 'children-books',\r\n\t\tname: 'Children’s Books',\r\n\t},\r\n\t{\r\n\t\tnavLink: false,\r\n\t\tlink: 'about',\r\n\t\tname: 'About',\r\n\t},\r\n\t{\r\n\t\tnavLink: false,\r\n\t\tlink: 'educational-books',\r\n\t\tname: 'Educational Books',\r\n\t},\r\n\t{\r\n\t\tnavLink: false,\r\n\t\tlink: 'free-goodies',\r\n\t\tname: 'Free Goodies',\r\n\t},\r\n\t{\r\n\t\tnavLink: false,\r\n\t\tlink: 'contact',\r\n\t\tname: 'Contact',\r\n\t},\r\n];\r\n","import { fetch } from 'domain-task';\r\n\r\nimport { BaseApplicationState } from '@common/react/store';\r\nimport { BaseUser } from '@common/react/objects/BaseUser';\r\nimport { BaseParams } from '@common/typescript/objects/BaseParams';\r\n\r\ninterface Message {\r\n\tsuccess: number;\r\n\tresponse: T;\r\n\tsession: string;\r\n}\r\n\r\nexport interface ResponseError {\r\n\tmessage: string;\r\n\tcode: number;\r\n}\r\n\r\nfunction baseRequest<\r\n\tT,\r\n\tTUser extends BaseUser,\r\n\tTApplicationState extends BaseApplicationState\r\n>(type: string, data: BaseParams = {}, state?: TApplicationState): Promise {\r\n\treturn fetch('api/post', {\r\n\t\tcredentials: 'same-origin',\r\n\t\tmethod: 'POST',\r\n\t\theaders: {\r\n\t\t\t'Content-type': 'application/json; charset=utf-8',\r\n\t\t\tCookie: `session=${state ? state.login.session : ''}`,\r\n\t\t},\r\n\t\tbody: JSON.stringify({\r\n\t\t\ttype,\r\n\t\t\tdata: JSON.stringify(data),\r\n\t\t}),\r\n\t})\r\n\t\t.then((response) => response.json() as Message)\r\n\t\t.then((data: Message) => {\r\n\t\t\tif (!data.success) {\r\n\t\t\t\tthrow data.response as ResponseError;\r\n\t\t\t}\r\n\r\n\t\t\treturn data.response as T;\r\n\t\t});\r\n}\r\n\r\nfunction request<\r\n\tT,\r\n\tTUser extends BaseUser,\r\n\tTApplicationState extends BaseApplicationState\r\n\t>(type: string, data: BaseParams = {}, state?: TApplicationState): Promise {\r\n\treturn baseRequest(type, data, state)\r\n\t\t.catch((error: ResponseError) => {\r\n\t\t\tif (error.message === 'Access denied' && window) {\r\n\t\t\t\twindow.location.href = '/';\r\n\t\t\t}\r\n\r\n\t\t\tconsole.log(error.message);\r\n\t\t\tthrow error.message as string;\r\n\t\t});\r\n}\r\n\r\nexport { baseRequest, request };\r\n","import * as React from 'react';\r\n\r\nimport once from 'lodash/once';\r\n\r\nexport interface LoadingProviderProps {\r\n\tloader: JSX.Element;\r\n}\r\n\r\nexport interface LoadingProviderContextState {\r\n\tpageLoader: JSX.Element;\r\n}\r\n\r\nexport interface LoadingProviderContext {\r\n\tstate: LoadingProviderContextState;\r\n\tactions: {setPageLoader};\r\n}\r\n\r\nexport const createLoaderProviderContext = once(() => React.createContext({} as LoadingProviderContext));\r\n\r\nexport const useLoaderProviderContext: () => LoadingProviderContext = () => React.useContext(createLoaderProviderContext());\r\n\r\nexport const LoadingProvider: React.FC = ({ children, loader }) => {\r\n\tconst ItemContext = createLoaderProviderContext();\r\n\r\n\tconst [pageLoader, setPageLoader] = React.useState(loader);\r\n\r\n\tconst value = {\r\n\t\tstate: {\r\n\t\t\tpageLoader,\r\n\t\t},\r\n\t\tactions: {\r\n\t\t\tsetPageLoader,\r\n\t\t},\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t \r\n\t);\r\n};\r\n","import React from 'react';\r\n\r\nimport { useLoaderProviderContext } from '@common/react/components/Core/LoadingProvider/LoadingProvider';\r\n\r\ninterface Props {\r\n\tdefaultLoader?: JSX.Element;\r\n}\r\n\r\nconst Loader: React.FC = ({ defaultLoader }) => {\r\n\tconst loaderContext = useLoaderProviderContext();\r\n\r\n\treturn loaderContext?.state?.pageLoader || defaultLoader || '';\r\n};\r\n\r\nexport default Loader;\r\n","import React from 'react';\r\nimport { shallowEqual, useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nimport once from 'lodash/once';\r\nimport { fetch } from 'domain-task';\r\nimport loadable from '@loadable/component';\r\n\r\nimport { loadableDelay } from '@common/react/loadable/loadableSettings';\r\nimport { BaseApplicationState } from '@common/react/store';\r\nimport { BaseUser } from '@common/typescript/objects/BaseUser';\r\nimport { BaseParams } from '@common/typescript/objects/BaseParams';\r\nimport Loader from '@common/react/components/Core/LoadingProvider/Loader';\r\nimport { TypeKeys } from '@common/react/store/Login';\r\n\r\nconst params = { fallback: };\r\n\r\nconst ErrorPage = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"ErrorPage\" */ '@common/react/components/Pages/ErrorPage/ErrorPage')), params);\r\n\r\nconst AccessDenied = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"AccessDenied\" */\r\n\t\t'@common/react/components/Pages/AccessDenied/AccessDenied'\r\n\t)), params);\r\n\r\nconst NotFound = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"PageNotFound\" */\r\n\t\t'@common/react/components/UI/PageNotFound/PageNotFound'\r\n\t)), params);\r\n\r\nexport type RequestType = (type: string, data?: BaseParams, beforeRequest?: () => void, ttl?: number) => Promise;\r\n\r\ninterface ErrorComponents {\r\n\taccessDenied: React.JSXElementConstructor;\r\n\tnotFound: React.JSXElementConstructor;\r\n\terrorPage: React.JSXElementConstructor<{message?: string}>;\r\n}\r\n\r\nexport interface RequestProviderProps {\r\n\t/**\r\n\t * cache available flag, by default is true\r\n\t */\r\n\tcache?: boolean;\r\n\t/**\r\n\t * time to live (ms) for cached response if cache is available\r\n\t */\r\n\tttl?: number;\r\n\terrorHandlerForCustomCodes?: (ResponseError: ResponseError) => void;\r\n\tgetErrorComponents?: (ResponseError: ResponseError, component: ErrorComponents) => React.ReactNode;\r\n\terrorComponents?: Partial;\r\n\t/**\r\n\t * debug flag - if true, output cache state on each updateCache and leave keys at cache after delete value\r\n\t * by default false\r\n\t */\r\n\tdebug?: boolean;\r\n}\r\n\r\nexport interface Cache {\r\n\t[key: string]: any;\r\n}\r\n\r\nexport interface RequestProviderContextState {\r\n\trequest: RequestType;\r\n}\r\n\r\nexport interface RequestProviderContextActions {\r\n\tupdateCache: (type, data, response, ttl?: number) => void;\r\n\tgetFromCache: (type, params) => any;\r\n}\r\n\r\nexport interface RequestProviderContext {\r\n\tstate: RequestProviderContextState;\r\n\tactions: RequestProviderContextActions;\r\n}\r\n\r\nexport const createRequestProviderContext = once(() => React.createContext({} as RequestProviderContext));\r\n\r\nexport const useRequestProviderContext: () => RequestProviderContext = () => React.useContext(createRequestProviderContext());\r\n\r\ninterface Message {\r\n\tsuccess: number;\r\n\tresponse: T;\r\n\tsession: string;\r\n}\r\n\r\nexport enum ErrorCode\r\n{\r\n\tNotStated = 0,\r\n\tNoRights = 1,\r\n\tUnspecifiedError = 42,\r\n\tNotFound = 65,\r\n\tCaptchaRequired = 66,\r\n\tTemporaryDisabled = 67\r\n}\r\n\r\nexport interface ResponseError {\r\n\tmessage: string;\r\n\tcode: number;\r\n\tpath: string;\r\n\tisLogin?: boolean;\r\n}\r\n\r\nconst defaultErrorComponents = {\r\n\taccessDenied: AccessDenied,\r\n\tnotFound: NotFound,\r\n\terrorPage: ErrorPage,\r\n};\r\n\r\nexport const getDefaultErrorComponents = (error: ResponseError, components: ErrorComponents) => {\r\n\tconst {\r\n\t\taccessDenied: AccessDeniedComponent,\r\n\t\tnotFound: NotFoundComponent,\r\n\t\terrorPage: ErrorPageComponent,\r\n\t} = components;\r\n\tswitch (error.code) {\r\n\t\tcase ErrorCode.NoRights:\r\n\t\t\treturn ;\r\n\t\tcase ErrorCode.NotFound:\r\n\t\t\treturn ;\r\n\t\tcase ErrorCode.UnspecifiedError:\r\n\t\t\treturn ;\r\n\t\tdefault:\r\n\t\t\treturn null;\r\n\t}\r\n};\r\n\r\nexport const RequestProvider: React.FC = ({\r\n\tchildren,\r\n\tcache: cacheProps = true,\r\n\tttl: defaultTtl = 0,\r\n\tgetErrorComponents = getDefaultErrorComponents,\r\n\terrorHandlerForCustomCodes = () => {},\r\n\terrorComponents = defaultErrorComponents,\r\n\tdebug = false,\r\n}) => {\r\n\tconst [errorComponent, setErrorComponent] = React.useState(null);\r\n\tconst [cache, setCache] = React.useState({});\r\n\tconst timers = React.useRef({});\r\n\r\n\tconst ItemContext = createRequestProviderContext();\r\n\r\n\tconst session = useSelector((state: BaseApplicationState) => state.login.session, shallowEqual);\r\n\tconst history = useHistory();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst updateCache = (type, params, response, ttl = defaultTtl) => {\r\n\t\tdebug && console.log(cache);\r\n\r\n\t\tif (cacheProps && ttl && ttl > 0) {\r\n\t\t\tconst key = `${type}${JSON.stringify(params)}`;\r\n\r\n\t\t\tsetCache((prev) => {\r\n\t\t\t\treturn { ...prev, [key]: response };\r\n\t\t\t});\r\n\r\n\t\t\tif (timers.current[key]) {\r\n\t\t\t\tclearTimeout(timers.current[key]);\r\n\t\t\t}\r\n\t\t\ttimers.current[key] = setTimeout(() => {\r\n\t\t\t\tif (timers.current[key]) {\r\n\t\t\t\t\tsetCache((prev) => {\r\n\t\t\t\t\t\tconst cache = { ...prev, [key]: undefined };\r\n\t\t\t\t\t\t!debug && delete cache[key];\r\n\t\t\t\t\t\treturn cache;\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}, ttl);\r\n\t\t}\r\n\t};\r\n\r\n\tconst getFromCache = (type, params) => {\r\n\t\tif (cacheProps) {\r\n\t\t\tconst key = `${type}${JSON.stringify(params)}`;\r\n\r\n\t\t\tif (cache[key]) {\r\n\t\t\t\treturn cache[key];\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif (cacheProps) {\r\n\t\t\treturn () => {\r\n\t\t\t\tObject.values(timers.current)\r\n\t\t\t\t\t.map((timer: any) => timer && clearTimeout(timer));\r\n\t\t\t};\r\n\t\t}\r\n\t}, []);\r\n\r\n\tconst errorHandler = (error: ResponseError) => {\r\n\t\tif (error.code === ErrorCode.NoRights) {\r\n\t\t\tif (!error.isLogin) {\r\n\t\t\t\tdispatch({ type: TypeKeys.CLEARSTATE });\r\n\t\t\t\thistory.replace(error.path || '/');\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (error.path !== '/') {\r\n\t\t\t\thistory.replace(error.path);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst errorComponent = getErrorComponents(error, { ...defaultErrorComponents, ...errorComponents });\r\n\t\tif (errorComponent) {\r\n\t\t\tsetErrorComponent(errorComponent);\r\n\t\t} else {\r\n\t\t\terrorHandlerForCustomCodes(error);\r\n\t\t}\r\n\r\n\t\tconsole.log(error.message);\r\n\t};\r\n\r\n\tconst request = React.useMemo(() => {\r\n\t\treturn (type: string, params: BaseParams = {}, beforeRequest, ttl = defaultTtl): Promise => {\r\n\t\t\tif (cacheProps && ttl && ttl > 0) {\r\n\t\t\t\tconst key = `${type}${JSON.stringify(params)}`;\r\n\r\n\t\t\t\tif (cache[key]) {\r\n\t\t\t\t\treturn Promise.resolve(cache[key]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tbeforeRequest && beforeRequest();\r\n\r\n\t\t\treturn fetch('api/post', {\r\n\t\t\t\tcredentials: 'same-origin',\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\theaders: {\r\n\t\t\t\t\t'Content-type': 'application/json; charset=utf-8',\r\n\t\t\t\t\tCookie: `session=${session || ''}`,\r\n\t\t\t\t},\r\n\t\t\t\tbody: JSON.stringify({\r\n\t\t\t\t\ttype,\r\n\t\t\t\t\tdata: JSON.stringify(params),\r\n\t\t\t\t}),\r\n\t\t\t})\r\n\t\t\t\t.then((response) => response.json() as Message)\r\n\t\t\t\t.then((data: Message) => {\r\n\t\t\t\t\tif (!data.success) {\r\n\t\t\t\t\t\tthrow data.response as ResponseError;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tupdateCache(type, params, data.response, ttl);\r\n\r\n\t\t\t\t\treturn data.response as T;\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error: ResponseError) => {\r\n\t\t\t\t\terrorHandler(error);\r\n\r\n\t\t\t\t\tthrow error.message as string;\r\n\t\t\t\t});\r\n\t\t};\r\n\t}, [session, getErrorComponents, history.location, cacheProps, cache]);\r\n\r\n\tReact.useEffect(() => {\r\n\t\treturn history.listen((location, action) => {\r\n\t\t\tif (errorComponent) {\r\n\t\t\t\tsetErrorComponent(null);\r\n\t\t\t}\r\n\t\t});\r\n\t}, [errorComponent]);\r\n\r\n\tconst value = {\r\n\t\tstate: {\r\n\t\t\trequest,\r\n\t\t},\r\n\t\tactions: {\r\n\t\t\tupdateCache,\r\n\t\t\tgetFromCache,\r\n\t\t},\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{errorComponent || children}\r\n\t\t \r\n\t);\r\n};\r\n","import React from 'react';\r\n\r\ntype Props = React.ImgHTMLAttributes\r\n\r\nconst ImageLazy: React.FC = ({ src, ...props }) => {\r\n\tconst ref = React.useRef(null);\r\n\tconst [visible, setVisible] = React.useState(false);\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif (ref.current) {\r\n\t\t\tconst intersectionObserver = new IntersectionObserver((entries) => {\r\n\t\t\t\tif (entries[0].isIntersecting) {\r\n\t\t\t\t\tsetVisible(true);\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\trootMargin: '15px',\r\n\t\t\t\tthreshold: 0.01,\r\n\t\t\t});\r\n\r\n\t\t\tintersectionObserver.observe(ref.current);\r\n\t\t\treturn () => intersectionObserver.disconnect();\r\n\t\t}\r\n\t}, [ref.current]);\r\n\r\n\treturn ;\r\n};\r\n\r\nexport default ImageLazy;\r\n","import * as React from 'react';\r\n\r\ninterface SpinnerProps {\r\n\tclassName?: string;\r\n\tcaption?: string;\r\n}\r\n\r\nexport const Loading: React.SFC = ({ className = 'page-loading', caption = 'Loading' }) => {\r\n\treturn \r\n\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t{caption}\r\n\t\t
\r\n\t
;\r\n};\r\n","import * as React from 'react';\r\n\r\nimport { Loading } from '@common/react/components/UI/Loading/Loading';\r\n\r\nexport { default as loadable } from '@loadable/component';\r\n\r\nfunction delay(ms) {\r\n\treturn new Promise((resolve) => {\r\n\t\tsetTimeout(resolve, ms);\r\n\t});\r\n}\r\n\r\nexport const loadableDelay: (promise: Promise<{ default: T }>) => Promise<{ default: T }> = (promise) => {\r\n\tif (typeof window === 'undefined') return promise;\r\n\r\n\tlet promiseErr;\r\n\r\n\t// tslint:disable-next-line:no-parameter-reassignment\r\n\tpromise = promise.catch((err) => promiseErr = err);\r\n\r\n\treturn Promise.all([promise, delay(200)]).then((val) => (promiseErr ? Promise.reject(promiseErr) : val[0]));\r\n};\r\n\r\nexport const params = {\r\n\tfallback: ,\r\n};\r\n","import { addTask } from 'domain-task';\r\nimport { Reducer } from 'redux';\r\n\r\nimport { request } from '@common/react/components/Api';\r\nimport { BaseUser } from '@common/react/objects/BaseUser';\r\nimport { BaseApplicationState, BaseAppThunkAction } from '@common/react/store/index';\r\nimport { Lang } from '@common/typescript/objects/Lang';\r\n\r\nexport interface LoginState {\r\n\tisLoading: boolean;\r\n\tsession: string;\r\n\tuser: TUser | null;\r\n\tmessage: string;\r\n\ttransmuted: boolean;\r\n\tdebug: boolean;\r\n\tlang: Lang;\r\n\tuserAgent: string;\r\n}\r\n\r\nexport enum TypeKeys {\r\n\tREQUESTLOGIN = 'REQUEST_LOGIN',\r\n\tRECEIVELOGIN = 'RECEIVE_LOGIN',\r\n\tREQUESTLOGOFF = 'REQUEST_LOGOFF',\r\n\tRECEIVELOGOFF = 'RECEIVE_LOGOFF',\r\n\tSETSESSION = 'SET_SESSION',\r\n\tUPDATEUSER = 'UPDATE_USER',\r\n\tCLEARSTATE = 'CLEAR_STATE',\r\n\tSETLANG = 'SET_LANG',\r\n}\r\n\r\ninterface RequestLoginAction {\r\n\ttype: TypeKeys.REQUESTLOGIN;\r\n}\r\n\r\ninterface ReceiveLoginAction {\r\n\ttype: TypeKeys.RECEIVELOGIN;\r\n\tuser: BaseUser | null;\r\n\tsession: string;\r\n\tmessage: string;\r\n\ttransmuted: boolean;\r\n\tdebug: boolean;\r\n\tlang: Lang;\r\n\tuserAgent: string;\r\n}\r\n\r\ninterface RequestLogoffAction {\r\n\ttype: TypeKeys.REQUESTLOGOFF;\r\n}\r\n\r\ninterface ReceiveLogoffAction {\r\n\ttype: TypeKeys.RECEIVELOGOFF;\r\n\tsession: string;\r\n}\r\n\r\ninterface SetSessionAction {\r\n\ttype: TypeKeys.SETSESSION;\r\n\tsession: string;\r\n}\r\n\r\ninterface SetLangAction {\r\n\ttype: TypeKeys.SETLANG;\r\n\tlang: Lang;\r\n}\r\n\r\ninterface UpdateUserAction {\r\n\ttype: TypeKeys.UPDATEUSER;\r\n\tdata: any;\r\n\tsetUser?: (user) => any;\r\n}\r\n\r\ninterface ClearStateAction {\r\n\ttype: TypeKeys.CLEARSTATE;\r\n}\r\n\r\ntype KnownUserAction =\r\n\tRequestLoginAction |\r\n\tReceiveLoginAction |\r\n\tRequestLogoffAction |\r\n\tReceiveLogoffAction |\r\n\tSetSessionAction |\r\n\tUpdateUserAction |\r\n\tClearStateAction |\r\n\tSetLangAction;\r\n\r\nexport interface LoginActionCreators> {\r\n\tlogin: (login: string, password: string, path?: string) => BaseAppThunkAction;\r\n\tlogoff: (clearState?: boolean, callback?: () => void) => BaseAppThunkAction;\r\n\tupdateUser: (data: any, setUser?: (user) => any) => BaseAppThunkAction;\r\n\tsetUserAndSession: (user: BaseUser, session: string) => BaseAppThunkAction;\r\n\tsetLang: (lang: Lang) => BaseAppThunkAction;\r\n}\r\n\r\nexport function getActionCreators>() {\r\n\treturn {\r\n\t\tlogin: (login: string, password: string, path: string = 'auth'): BaseAppThunkAction =>\r\n\t\t\t(dispatch, getState) => {\r\n\t\t\t\tif (!getState().login.isLoading) {\r\n\t\t\t\t\tconst fetchTask = request(path, {\r\n\t\t\t\t\t\tlogin,\r\n\t\t\t\t\t\tpassword,\r\n\t\t\t\t\t\tpath: '/login',\r\n\t\t\t\t\t}).then((data) => {\r\n\t\t\t\t\t\tif (data.initObject) {\r\n\t\t\t\t\t\t\tdispatch({\r\n\t\t\t\t\t\t\t\ttype: TypeKeys.RECEIVELOGIN,\r\n\t\t\t\t\t\t\t\tuser: data.initObject.user,\r\n\t\t\t\t\t\t\t\tsession: data.initObject.guid,\r\n\t\t\t\t\t\t\t\tmessage: '',\r\n\t\t\t\t\t\t\t\ttransmuted: data.initObject.transmuted,\r\n\t\t\t\t\t\t\t\tdebug: data.initObject.debug,\r\n\t\t\t\t\t\t\t\tlang: data.initObject.lang,\r\n\t\t\t\t\t\t\t\tuserAgent: data.initObject.userAgent,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}).catch((data) => {\r\n\t\t\t\t\t\tdispatch({\r\n\t\t\t\t\t\t\ttype: TypeKeys.RECEIVELOGIN,\r\n\t\t\t\t\t\t\tuser: null,\r\n\t\t\t\t\t\t\tsession: getState().login.session,\r\n\t\t\t\t\t\t\tmessage: data,\r\n\t\t\t\t\t\t\ttransmuted: false,\r\n\t\t\t\t\t\t\tdebug: false,\r\n\t\t\t\t\t\t\tlang: Lang.En,\r\n\t\t\t\t\t\t\tuserAgent: '',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\taddTask(fetchTask);\r\n\t\t\t\t\tdispatch({ type: TypeKeys.REQUESTLOGIN });\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\tlogoff: (\r\n\t\t\tclearState?: boolean,\r\n\t\t\tcallback?: () => void,\r\n\t\t): BaseAppThunkAction => (dispatch, getState) => {\r\n\t\t\tif (!getState().login.isLoading) {\r\n\t\t\t\tconst fetchTask = request('logoff', {}).then((data) => {\r\n\t\t\t\t\tif (data.updatedSession) {\r\n\t\t\t\t\t\tdispatch({ type: TypeKeys.RECEIVELOGOFF, session: data.updatedSession.guid });\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (callback) callback();\r\n\r\n\t\t\t\t\tif (clearState) {\r\n\t\t\t\t\t\tdispatch({ type: TypeKeys.CLEARSTATE });\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\taddTask(fetchTask);\r\n\r\n\t\t\t\tdispatch({ type: TypeKeys.REQUESTLOGOFF });\r\n\t\t\t}\r\n\t\t},\r\n\t\tupdateUser: (data: any, getUser?: (user) => any): BaseAppThunkAction => (dispatch, getState) => {\r\n\t\t\tconst partialUser = getUser && getUser(getState().login?.user);\r\n\t\t\tdispatch({ type: TypeKeys.UPDATEUSER, data: { ...partialUser, ...data } });\r\n\t\t},\r\n\t\tsetUserAndSession: (user: BaseUser, session: string):\r\n\t\t\tBaseAppThunkAction => (dispatch, getState) => {\r\n\t\t\tconst state = getState().login;\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: TypeKeys.RECEIVELOGIN,\r\n\t\t\t\tuser,\r\n\t\t\t\tsession,\r\n\t\t\t\tmessage: '',\r\n\t\t\t\ttransmuted: false,\r\n\t\t\t\tdebug: state.debug || false,\r\n\t\t\t\tlang: state.lang,\r\n\t\t\t\tuserAgent: state.userAgent,\r\n\t\t\t});\r\n\t\t},\r\n\t\tsetLang: (lang: Lang): BaseAppThunkAction => (dispatch, getState) => {\r\n\t\t\trequest('language', { lang }).then((data) => {\r\n\t\t\t\tdispatch({ type: TypeKeys.SETLANG, lang });\r\n\t\t\t});\r\n\t\t},\r\n\t};\r\n}\r\n\r\nexport function getReducer(): Reducer> {\r\n\treturn (s: LoginState | undefined, action: KnownUserAction) => {\r\n\t\tconst state = s as LoginState;\r\n\t\tswitch (action.type) {\r\n\t\t\tcase TypeKeys.REQUESTLOGIN:\r\n\t\t\t\treturn { ...state, isLoading: true };\r\n\t\t\tcase TypeKeys.RECEIVELOGIN:\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tisLoading: false,\r\n\t\t\t\t\tuser: action.user,\r\n\t\t\t\t\tsession: action.session,\r\n\t\t\t\t\tmessage: action.message,\r\n\t\t\t\t\ttransmuted: action.transmuted,\r\n\t\t\t\t\tdebug: action.debug,\r\n\t\t\t\t\tlang: action.lang,\r\n\t\t\t\t\tuserAgent: action.userAgent,\r\n\t\t\t\t};\r\n\t\t\tcase TypeKeys.REQUESTLOGOFF:\r\n\t\t\t\treturn { ...state, isLoading: true };\r\n\t\t\tcase TypeKeys.RECEIVELOGOFF:\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state, isLoading: false, user: null, session: action.session, transmuted: false,\r\n\t\t\t\t};\r\n\t\t\tcase TypeKeys.SETSESSION:\r\n\t\t\t\treturn { ...state, session: action.session };\r\n\t\t\tcase TypeKeys.SETLANG:\r\n\t\t\t\treturn { ...state, lang: action.lang };\r\n\t\t\tcase TypeKeys.CLEARSTATE:\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state, user: null, isLoading: false, message: '', session: '', transmuted: false,\r\n\t\t\t\t};\r\n\t\t\tcase TypeKeys.UPDATEUSER:\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tuser: {\r\n\t\t\t\t\t\t...(state.user as any),\r\n\t\t\t\t\t\t...action.data,\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\tdefault:\r\n\t\t\t\tconst exhaustiveCheck: never = action;\r\n\t\t}\r\n\r\n\t\treturn state || { user: null };\r\n\t};\r\n}\r\n","export enum Lang {\r\n\tNone,\r\n\tEn,\r\n\tRu,\r\n\tDe,\r\n\tEs,\r\n\tFr, \r\n\tIt\r\n}","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var toInteger = require('./toInteger');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\nfunction before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n}\n\nmodule.exports = before;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var before = require('./before');\n\n/**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\nfunction once(func) {\n return before(2, func);\n}\n\nmodule.exports = once;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","\"use strict\";function _interopDefault(e){return e&&\"object\"==typeof e&&\"default\"in e?e.default:e}Object.defineProperty(exports,\"__esModule\",{value:!0});var React=_interopDefault(require(\"react\"));function AppContainer(e){return AppContainer.warnAboutHMRDisabled&&(AppContainer.warnAboutHMRDisabled=!0,console.error(\"React-Hot-Loader: misconfiguration detected, using production version in non-production environment.\"),console.error(\"React-Hot-Loader: Hot Module Replacement is not enabled.\")),React.Children.only(e.children)}AppContainer.warnAboutHMRDisabled=!1;var hot=function e(){return e.shouldWrapWithAppContainer?function(e){return function(n){return React.createElement(AppContainer,null,React.createElement(e,n))}}:function(e){return e}};hot.shouldWrapWithAppContainer=!1;var areComponentsEqual=function(e,n){return e===n},setConfig=function(){},cold=function(e){return e},configureComponent=function(){};exports.AppContainer=AppContainer,exports.hot=hot,exports.areComponentsEqual=areComponentsEqual,exports.setConfig=setConfig,exports.cold=cold,exports.configureComponent=configureComponent;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","module.exports = (__webpack_require__(60979))(1972);","module.exports = (__webpack_require__(60979))(2083);","module.exports = (__webpack_require__(60979))(2173);","module.exports = (__webpack_require__(60979))(2230);","module.exports = (__webpack_require__(60979))(3867);","module.exports = (__webpack_require__(60979))(3894);","module.exports = (__webpack_require__(60979))(4577);","module.exports = (__webpack_require__(60979))(5228);","module.exports = (__webpack_require__(60979))(5857);","module.exports = (__webpack_require__(60979))(6280);","module.exports = (__webpack_require__(60979))(7294);","module.exports = (__webpack_require__(60979))(7834);","module.exports = (__webpack_require__(60979))(8216);","module.exports = (__webpack_require__(60979))(8230);","module.exports = (__webpack_require__(60979))(9060);","module.exports = (__webpack_require__(60979))(9175);","module.exports = vendor_a5b8e5c5e52423f0a98d;","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"MaryGardner:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t337: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"145\":1,\"152\":1,\"315\":1,\"331\":1,\"344\":1,\"394\":1,\"397\":1,\"460\":1,\"479\":1,\"575\":1,\"592\":1,\"629\":1,\"687\":1,\"693\":1,\"760\":1,\"839\":1,\"857\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"chunks/\" + ({\"17\":\"AdminEvents\",\"75\":\"trumbowyg-ru\",\"98\":\"ErrorPage\",\"99\":\"trumbowyg-plugins-trumbowyg-cleanpaste\",\"142\":\"trumbowyg-plugins-trumbowyg-moveText\",\"145\":\"AboutPage\",\"152\":\"ReferencesPage\",\"181\":\"trumbowyg-plugins-trumbowyg-image\",\"301\":\"trumbowyg-plugins-trumbowyg-fontsize\",\"315\":\"Contacts\",\"331\":\"AccessDenied\",\"344\":\"EducationPost\",\"364\":\"AdminInquiries\",\"394\":\"GeriatricPets\",\"396\":\"AdminBlog\",\"397\":\"Education\",\"436\":\"trumbowyg-plugins-trumbowyg-fontfamily\",\"438\":\"Login\",\"460\":\"HomePage\",\"479\":\"BookPage\",\"539\":\"AdminEventEditor\",\"575\":\"MemorialsPage\",\"581\":\"trumbowyg-plugins-trumbowyg-lineheight\",\"592\":\"common\",\"616\":\"AdminArticlesEditor\",\"629\":\"ArticlePage\",\"672\":\"Admin\",\"693\":\"PetParents\",\"729\":\"jquery\",\"760\":\"Speaking\",\"763\":\"trumbowyg\",\"802\":\"trumbowyg-plugins-trumbowyg-replaceEmptyHrefLinks\",\"839\":\"AdminBookEditor\",\"857\":\"Books\",\"883\":\"AdminBooks\",\"913\":\"trumbowyg-plugins\",\"932\":\"trumbowyg-plugins-trumbowyg-quote\"}[chunkId] || chunkId) + \".chunk.\" + __webpack_require__.h() + \".js\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"styles/\" + ({\"145\":\"AboutPage\",\"152\":\"ReferencesPage\",\"315\":\"Contacts\",\"331\":\"AccessDenied\",\"337\":\"main-client\",\"344\":\"EducationPost\",\"394\":\"GeriatricPets\",\"397\":\"Education\",\"460\":\"HomePage\",\"479\":\"BookPage\",\"575\":\"MemorialsPage\",\"592\":\"common\",\"629\":\"ArticlePage\",\"693\":\"PetParents\",\"760\":\"Speaking\",\"839\":\"AdminBookEditor\",\"857\":\"Books\"}[chunkId] || chunkId) + \".\" + __webpack_require__.h() + \".css\";\n};","__webpack_require__.h = function() { return \"07ae0e232acb8bef6c46\"; }","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/dist/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t337: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(687 != chunkId) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"__LOADABLE_LOADED_CHUNKS__\"] = self[\"__LOADABLE_LOADED_CHUNKS__\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// module factories are used so entry inlining is disabled\n// startup\n// Load entry module and return exports\nvar __webpack_exports__ = __webpack_require__(66975);\n"],"names":["invariant","condition","message","error","Error","framesToPop","name","warn","console","Context","LOADABLE_REQUIRED_CHUNKS_KEY","getRequiredChunkKey","namespace","LOADABLE_SHARED","initialChunks","STATUS_PENDING","STATUS_REJECTED","identity","v","createLoadable","_ref","_ref$defaultResolveCo","defaultResolveComponent","_render","render","onLoad","loadable","loadableConstructor","options","ctor","requireAsync","resolve","chunkName","resolveConstructor","cache","_getCacheKey","props","cacheKey","module","Loadable","Component","resolveComponent","isValidElementType","preload","LoadableWithChunkExtractor","cachedLoad","promise","status","then","fileName","InnerLoadable","_React$Component","subClass","superClass","_this","call","this","state","result","loading","__chunkExtractor","requireSync","ssr","loadSync","addChunk","isReady","prototype","Object","create","constructor","setPrototypeOf","getDerivedStateFromProps","_proto","componentDidMount","mounted","cachedPromise","getCache","setCache","loadAsync","componentDidUpdate","prevProps","prevState","componentWillUnmount","safeSetState","nextState","callback","setState","getCacheKey","value","undefined","triggerOnLoad","_this2","setTimeout","_this3","resolveAsync","loadedModule","_this$props","forwardedRef","_this$props2","propFallback","fallback","_this$state","suspense","ref","EnhancedInnerLoadable","Consumer","extractor","assign","displayName","load","lazy","_createLoadable","__esModule","_createLoadable$1","current","children","loadable$1","lazy$1","BROWSER","window","loadableReady","done","_temp","_ref$namespace","_ref$chunkLoadingGlob","chunkLoadingGlobal","Promise","requiredChunks","id","dataElement","document","getElementById","JSON","parse","textContent","extElement","namedChunks","forEach","resolved","loadedChunks","originalPush","push","bind","checkReadyState","every","chunk","some","_ref2","indexOf","apply","arguments","loadable$2","lib","store","buildRootReducer","allReducers","action","type","LoginKeys","CLEARSTATE","combineReducers","baseUrl","getElementsByTagName","getAttribute","createBrowserHistory","basename","getStore","TypeKeys","ClipBy","getReducer","storageName","s","incomingAction","_action$params","INITSTORAGE","isLoading","items","params","pagination","total","length","offset","pageSize","count","objectType","REQUESTITEMS","_objectSpread","RECEIVEITEMS","page","UPDATEITEM","map","item","paramName","UPDATEBATCH","size","uid","findIndex","elem","insertNew","concat","filter","itm","storedItem","sortBy","sort","a","b","clip","Start","slice","End","shift","None","REQUESTMOREITEMS","RECEIVEMOREITEMS","ADDITEM","end","DELETEITEM","REQUESTITEM","Number","itemPathOrId","RECEIVEITEM","REMOVEITEM","baseReducers","login","Login","buildData","Item","hostOptions","reducers","serverPage","path","REQUESTPAGE","RECIEVEPAGE","upcomingEvents","Items","prevEvents","routes","initialState","initialReduxState","history","windowIfDefined","devToolsExtension","__REDUX_DEVTOOLS_EXTENSION__","createStoreWithMiddleware","compose","applyMiddleware","thunk","next","createStore","configureStore","ReactDOM","React","AppContainer","Provider","BrowserRouter","renderApp","bootClient","request","data","baseRequest","ErrorBoundary","_inherits","_super","_createSuper","_classCallCheck","_assertThisInitialized","hasError","key","unlisten","listen","location","errorInfo","className","href","withRouter","RequestProvider","year","Date","getFullYear","copyRight","NavLink","to","ImageLazy","alt","width","height","src","linksAdmin","link","dispatch","useDispatch","actions","bindActionCreators","LoginState","_React$useState2","_slicedToArray","open","setOpen","useLocation","useHistory","pathname","media","srcSet","tabIndex","menuLeftAdmin","Media","menuRightAdmin","onClick","e","preventDefault","logoff","useSelector","shallowEqual","user","HeaderAdmin","FooterAdmin","Redirect","hash","scrollIntoView","menuLeftLanding","menuRightLanding","hashName","linksLanding","HeaderLanding","FooterLanding","TopLine","events","activeSlide","setActiveSlide","slides","event","index","dateFrom","dateTo","url","target","rel","eventDate","place","xmlns","viewBox","fill","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","_React$useState4","menuLeft","menuRight","links","Header","Footer","icon","scrollTo","prevPath","setPrevPath","includes","split","Home","__webpack_modules__","importAsync","loadableDelay","__webpack_require__","About","GeriatricPets","Speaking","Books","BookPage","Education","EducationPost","ArticlePage","PetParents","Contacts","Children","Admin","AdminBooks","AdminBookEditor","AdminEvents","AdminEventEditor","AdminInquiries","AdminBlog","AdminArticlesEditor","Memorials","References","Layout","Switch","Route","exact","ScrollTopFirstRender","LayoutMain","component","ScrollTopAll","LayoutLanding","LayoutAdmin","getActionCreators","baseGetActionCreators","months","getUTCFullYear","getUTCMonth","getUTCDate","toLocaleDateString","timeZone","month","day","navLink","fetch","credentials","method","headers","Cookie","session","body","stringify","response","json","success","log","createLoaderProviderContext","once","_loaderContext$state","defaultLoader","loaderContext","pageLoader","Loader","ErrorPage","AccessDenied","NotFound","createRequestProviderContext","useRequestProviderContext","ErrorCode","defaultErrorComponents","accessDenied","notFound","errorPage","getDefaultErrorComponents","components","AccessDeniedComponent","NotFoundComponent","ErrorPageComponent","code","NoRights","UnspecifiedError","_ref$cache","cacheProps","_ref$ttl","ttl","defaultTtl","_ref$getErrorComponen","getErrorComponents","_ref$errorHandlerForC","errorHandlerForCustomCodes","_ref$errorComponents","errorComponents","_ref$debug","debug","errorComponent","setErrorComponent","timers","ItemContext","updateCache","prev","_defineProperty","clearTimeout","values","timer","beforeRequest","isLogin","replace","errorHandler","getFromCache","_objectWithoutProperties","_excluded","visible","setVisible","intersectionObserver","IntersectionObserver","entries","isIntersecting","rootMargin","threshold","observe","disconnect","_extends","onError","Loading","_ref$className","_ref$caption","caption","err","promiseErr","all","ms","val","reject","_login","_x","_x2","toString","password","getState","fetchTask","initObject","RECEIVELOGIN","guid","transmuted","lang","userAgent","Lang","En","addTask","REQUESTLOGIN","clearState","updatedSession","RECEIVELOGOFF","REQUESTLOGOFF","updateUser","getUser","_getState$login","partialUser","UPDATEUSER","setUserAndSession","setLang","SETLANG","SETSESSION","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","getDefaultProps","getDerivedStateFromError","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","isMemo","ForwardRef","Memo","defineProperty","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","exports","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","targetStatics","sourceStatics","i","descriptor","Symbol","getRawTag","objectToString","symToStringTag","toStringTag","trimmedEndIndex","reTrimStart","string","freeGlobal","g","objectProto","hasOwnProperty","nativeObjectToString","isOwn","tag","unmasked","freeSelf","self","root","Function","reWhitespace","test","charAt","toInteger","n","func","TypeError","baseGetTag","isObjectLike","before","toNumber","INFINITY","toFinite","remainder","baseTrim","isObject","isSymbol","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","other","valueOf","isBinary","default","warnAboutHMRDisabled","only","hot","shouldWrapWithAppContainer","createElement","for","c","f","h","k","l","m","p","q","r","t","w","x","y","z","u","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","typeOf","vendor_a5b8e5c5e52423f0a98d","ReferenceError","source","_objectWithoutPropertiesLoose","excluded","sourceKeys","_setPrototypeOf","o","__proto__","__webpack_module_cache__","leafPrototypes","getProto","inProgress","dataWebpackPrefix","loadStylesheet","installedCssChunks","moduleId","cachedModule","loaded","getter","obj","mode","ns","def","definition","enumerable","get","chunkId","reduce","promises","miniCssF","globalThis","prop","script","needAttach","scripts","charset","timeout","nc","setAttribute","onScriptComplete","onerror","onload","doneFns","parentNode","removeChild","fn","head","appendChild","nmd","paths","fullhref","existingLinkTags","dataHref","existingStyleTags","findStylesheet","linkTag","errorType","realHref","createStylesheet","miniCss","installedChunks","j","installedChunkData","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","__webpack_exports__"],"sourceRoot":""}