{"version":3,"file":"js/654-c6875459f80e370c26aa.js","mappings":"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","sources":["webpack://hnmi/./app/webpacker/Components/GoogleTranslate.tsx","webpack://hnmi/./app/webpacker/Components/GtmWrapper.tsx","webpack://hnmi/./app/webpacker/Components/HeroTitle.tsx","webpack://hnmi/./app/webpacker/Components/ReverseMenuContainer.tsx","webpack://hnmi/./app/webpacker/Components/NavbarComponents/Desktop/SubMenu.tsx","webpack://hnmi/./app/webpacker/Components/NavbarComponents/Desktop/TopLevelMenu.tsx","webpack://hnmi/./app/webpacker/Components/NavbarComponents/DesktopNavbar.tsx","webpack://hnmi/./app/webpacker/Components/NavbarComponents/GtmNavbarAction.tsx","webpack://hnmi/./app/webpacker/Components/NavbarComponents/GtmNavbarLink.tsx","webpack://hnmi/./app/webpacker/Components/NavbarComponents/GtmNavbarRouteLink.tsx","webpack://hnmi/./app/webpacker/Components/NavbarComponents/Mobile/SubMenu.tsx","webpack://hnmi/./app/webpacker/Components/NavbarComponents/Mobile/SubMenuBody.tsx","webpack://hnmi/./app/webpacker/Components/NavbarComponents/MobileNavbar.tsx","webpack://hnmi/./app/webpacker/Components/NavbarComponents/Navbar.tsx","webpack://hnmi/./app/webpacker/Components/NavbarComponents/NavbarItems.tsx","webpack://hnmi/./app/webpacker/Components/PageFooter/PageFooterNewsletterSignup.tsx","webpack://hnmi/./app/webpacker/Components/PageFooter/PageFooter.tsx","webpack://hnmi/./app/webpacker/Hooks/useIsMobile.tsx","webpack://hnmi/./app/webpacker/Hooks/useSrOnlyClassName.ts","webpack://hnmi/./app/webpacker/User/Components/PageNavBar.tsx","webpack://hnmi/./app/webpacker/User/Components/UserLayout.tsx","webpack://hnmi/./app/webpacker/consts/urls.ts","webpack://hnmi/./app/webpacker/gqlTypes.tsx","webpack://hnmi/./app/webpacker/utils/featureToggle.ts"],"sourcesContent":["import { Skeleton } from \"@mui/material\";\nimport React, { useEffect, useState, useCallback, useRef } from \"react\";\nimport { GtmTriggers } from \"types\";\n\n/**\n * NOTE: Google will only mount one Google Translate widget on the page. It doesn't seem possible to re-mount the\n * widget if it is removed from the DOM, and cloning it breaks all the event listeners. Further, it will only mount if\n * the element is visible, so it has to be mounted into the actual layout first. Once mounted it can be moved around the\n * DOM and should keep its functionality. Therefore, the strategy here is to mount a holding div into the react root and\n * pass the mounted translate Node back and forth from the holding div as we mount GoogleTranslate components in the\n * React tree. This should ensure that the translate widget is never removed from the dom, ensuring that it continues to\n * work as expected.\n */\n\nexport type GoogleTranslateProps = {};\n\nconst id = `google_translate_element`;\n\nconst holder = document.createElement(\"div\");\nholder.setAttribute(\"style\", \"display: none;\");\nconst elem = document.createElement(\"div\");\nelem.setAttribute(\"id\", id);\ndocument.getElementById(\"j-root\")?.appendChild(holder);\n\nconst GoogleTranslate: React.FC> = () => {\n const [attempts, setAttempts] = useState(0);\n const timeout = useRef();\n const root = useRef(null);\n const [selectElem, setSelectElem] = useState(\n () => elem.querySelector(\"select\") || null,\n );\n\n const attemptToLoad = useCallback(() => {\n timeout.current = setTimeout(() => {\n // @ts-ignore\n if (google?.translate?.TranslateElement) {\n root.current?.appendChild(elem);\n if (!elem.hasChildNodes()) {\n // @ts-ignore\n new google.translate.TranslateElement({ pageLanguage: \"en\" }, id);\n setSelectElem(elem.querySelector(\"select\"));\n }\n } else {\n setAttempts(attempts + 1);\n }\n }, 1000);\n }, [attempts]);\n\n useEffect(() => {\n attemptToLoad();\n return () => {\n timeout.current && clearInterval(timeout.current);\n holder.appendChild(elem);\n };\n }, []); // eslint-disable-line\n useEffect(() => attemptToLoad(), [attempts]); // eslint-disable-line\n\n useEffect(() => {\n if (selectElem) {\n const handler = (e: React.ChangeEvent) => {\n try {\n const value = e.target.value;\n const option = Array.from(e.target.options).find((o) => o.value === value);\n const text = option?.textContent;\n (window as any).dataLayer.push({\n event: GtmTriggers.GoogleTranslate,\n lang: value,\n langName: text,\n });\n } catch (err) {\n console.error(\"Error handling google translate select change\", err);\n }\n };\n // @ts-ignore - lib.dom.ts doesn't have typings for addEventListener EventTypes on Elements\n selectElem.addEventListener(\"change\", handler);\n // @ts-ignore - lib.dom.ts doesn't have typings for addEventListener EventTypes on Elements\n return () => selectElem.removeEventListener(\"change\", handler);\n }\n }, [selectElem]);\n\n return (\n
{selectElem ? null : }
\n );\n};\n\nexport default GoogleTranslate;\n","import { Box, BoxProps } from \"@mui/material\";\nimport { localizationMessages } from \"Localization/messages\";\nimport React from \"react\";\nimport { GtmActions, GtmLabels, GtmTriggers, GTM_LABELS } from \"types\";\n\nexport type GtmWrapperProps = {\n trigger: GtmTriggers;\n label: GtmLabels;\n labelValue?: string;\n action?: GtmActions;\n otherData?: { [key: string]: string | void };\n children:\n | React.ReactElement\n | ((\n className: string,\n dataAttrs: { [key: string]: string | void },\n ref?: React.Ref,\n ) => React.ReactElement);\n} & Omit;\n\ntype GetDataAttrsProps = Pick<\n GtmWrapperProps,\n \"trigger\" | \"label\" | \"labelValue\" | \"action\" | \"otherData\"\n>;\n\nexport const getDataAttrs = ({\n trigger,\n label,\n labelValue,\n action,\n otherData = {},\n}: GetDataAttrsProps) => {\n const labelString = GTM_LABELS[trigger][label];\n const dataAttrs = {\n [\"data-gtm-label\"]: labelValue ? labelValue : localizationMessages[\"en\"][labelString],\n [\"data-gtm-action\"]: action,\n ...otherData,\n };\n\n return dataAttrs;\n};\n\nconst GtmWrapper = React.forwardRef((props, ref) => {\n const { trigger, label, labelValue, action, children, ...boxProps } = props;\n const dataAttrs = getDataAttrs(props);\n if (typeof children === \"function\") {\n return children(trigger, dataAttrs, ref);\n }\n return (\n \n {children}\n \n );\n});\n\nexport default GtmWrapper;\n","import { Box, Typography } from \"@mui/material\";\nimport { makeStyles } from \"tss-react/mui\";\nimport React, { ReactNode } from \"react\";\n\nconst useStyles = makeStyles()(({ spacing, palette }) => ({\n subtitle: {\n fontFamily: \"Source Sans Pro, sans-serif\",\n color: palette.grey[800],\n fontSize: \"1.4rem\",\n lineHeight: \"1.2\",\n \"font-weight\": \"200\",\n paddingTop: spacing(1),\n },\n}));\n\nconst HeroTitle: React.FC<\n React.PropsWithChildren<{ primary: ReactNode; secondary: ReactNode }>\n> = ({ primary, secondary }) => {\n const { classes } = useStyles();\n return (\n \n \n {primary}\n \n {secondary && (\n \n {secondary}\n \n )}\n \n );\n};\nexport default HeroTitle;\n","import React, { ReactNode, ReactElement } from \"react\";\nimport { Menu, MenuProps } from \"@mui/material\";\nimport { usePopupState, bindTrigger, bindMenu } from \"material-ui-popup-state/hooks\";\nimport { v4 as uuid } from \"uuid\";\n\nexport type ReverseMenuContainerProps = {\n renderTrigger: (triggerProps: ReturnType) => ReactNode;\n id?: string;\n children: ReactElement[] | ReactElement | null | undefined;\n} & Partial;\n\nconst ReverseMenuContainer: React.FC> = ({\n children,\n renderTrigger,\n id = uuid(),\n ...props\n}) => {\n const popupState = usePopupState({ variant: \"popover\", popupId: id });\n return (\n <>\n {renderTrigger(bindTrigger(popupState))}\n \n {React.Children.map(\n children,\n (child) =>\n React.isValidElement(child) &&\n React.cloneElement(child, {\n // @ts-ignore: This doesn't type correctly, but does work as expected\n onClick: (...args: any) => {\n child.props.onClick && child.props.onClick(...args);\n popupState.close();\n },\n }),\n )}\n \n \n );\n};\n\nexport default ReverseMenuContainer;\n","import React from \"react\";\nimport { MenuItem } from \"@mui/material\";\n\nimport ReverseMenuContainer, { ReverseMenuContainerProps } from \"Components/ReverseMenuContainer\";\nimport {\n NavbarLink,\n NavbarRouteLink,\n NavbarMenu,\n NavbarAction,\n isType,\n} from \"Components/NavbarComponents/NavbarItems\";\nimport GtmWrapper from \"Components/GtmWrapper\";\nimport GtmNavbarLink from \"../GtmNavbarLink\";\nimport GtmNavbarRouteLink from \"../GtmNavbarRouteLink\";\nimport GtmNavbarAction from \"../GtmNavbarAction\";\n\nexport type NavbarSubMenuProps = {\n renderTrigger: ReverseMenuContainerProps[\"renderTrigger\"];\n};\n\nconst NavbarSubMenu: React.FC> = ({\n renderTrigger,\n children,\n}) => {\n return (\n \n {React.Children.map(children, (child, i) => {\n if (React.isValidElement(child)) {\n if (isType(child, NavbarAction))\n return ;\n if (isType(child, NavbarLink))\n return ;\n if (isType(child, NavbarRouteLink))\n return ;\n if (isType(child, NavbarMenu))\n return (\n (\n \n {(trigger, dataAttrs) => (\n \n {child.props.title}\n \n )}\n \n )}\n >\n {child.props.children}\n \n );\n return child;\n }\n return null;\n })}\n \n );\n};\n\nexport default NavbarSubMenu;\n","import React, { ReactNode } from \"react\";\nimport { Link, Typography } from \"@mui/material\";\nimport { makeStyles } from \"tss-react/mui\";\n\nimport SubMenu from \"./SubMenu\";\nimport {\n NavbarLink,\n NavbarRouteLink,\n NavbarMenu,\n NavbarAction,\n isType,\n} from \"Components/NavbarComponents/NavbarItems\";\nimport GtmWrapper from \"Components/GtmWrapper\";\nimport GtmNavbarLink from \"../GtmNavbarLink\";\nimport GtmNavbarRouteLink from \"../GtmNavbarRouteLink\";\nimport GtmNavbarAction from \"../GtmNavbarAction\";\n\nexport type NavbarTopLevelMenuProps = {\n children: ReactNode;\n};\n\nconst useStyles = makeStyles()(() => ({\n inheritWeight: {\n fontFamily: \"inherit\",\n fontWeight: \"inherit\",\n },\n unsetWeight: {\n fontFamily: \"inherit\",\n fontWeight: \"unset\",\n },\n}));\n\nconst NavbarTopLevelMenu: React.FC> = ({\n children,\n}) => {\n const { classes } = useStyles();\n return (\n <>\n {React.Children.map(children, (child, i) => {\n if (React.isValidElement(child)) {\n if (isType(child, NavbarAction))\n return (\n \n {child.props.title}\n \n );\n if (isType(child, NavbarLink)) {\n return ;\n }\n if (isType(child, NavbarRouteLink)) {\n return ;\n }\n if (isType(child, NavbarMenu))\n return (\n (\n \n {(trigger, dataAttrs) => (\n \n \n {child.props.title}\n \n \n )}\n \n )}\n >\n {child.props.children}\n \n );\n return child;\n }\n return null;\n })}\n \n );\n};\n\nexport default NavbarTopLevelMenu;\n","import { Box } from \"@mui/material\";\nimport AppBar from \"@mui/material/AppBar\";\nimport Link from \"@mui/material/Link\";\nimport { makeStyles } from \"tss-react/mui\";\nimport Toolbar from \"@mui/material/Toolbar\";\n// @ts-ignore: Yes it can find this\nimport logoImg from \"./logo.svg\";\nimport React from \"react\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport { NavbarProps } from \"./Navbar\";\nimport TopLevelMenu from \"./Desktop/TopLevelMenu\";\nimport GoogleTranslate from \"Components/GoogleTranslate\";\nimport { featureIsToggled } from \"utils/featureToggle\";\nimport { FeatureToggle } from \"gqlTypes\";\nimport { GtmLabels, GtmTriggers } from \"../../types\";\nimport GtmWrapper from \"Components/GtmWrapper\";\n\nconst useStyles = makeStyles()(({ palette, typography, spacing, shape }) => ({\n root: {},\n menuItem: {\n textTransform: \"none\",\n fontWeight: \"inherit\",\n fontSize: \"inherit\",\n height: \"100%\",\n paddingLeft: spacing(2),\n paddingRight: spacing(2),\n display: \"flex\",\n },\n toolbar: {\n height: 107,\n fontWeight: 600,\n fontSize: typography.body1.fontSize,\n display: \"flex\",\n alignItems: \"center\",\n backgroundColor: \"white\",\n color: palette.primary.main,\n borderBottom: `1px solid #E0E0E0`,\n },\n navbarBrand: {\n paddingTop: spacing(1),\n \"& a\": {\n borderRadius: shape.borderRadius,\n },\n \"& img\": {\n height: \"4rem\",\n },\n },\n itemContainer: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n // flexGrow: 1,\n gap: spacing(3),\n },\n}));\n\nconst DesktopNavbar: React.FC> = ({\n noTranslate,\n children,\n bannerContent,\n}) => {\n const { classes } = useStyles();\n return (\n \n {bannerContent}\n \n \n \n \n {(trigger, dataAttrs) => (\n \n \"Housing\n \n )}\n \n \n \n {featureIsToggled(FeatureToggle.GoogleTranslate) && !noTranslate && (\n \n \n \n )}\n \n \n \n \n \n );\n};\n\nexport default DesktopNavbar;\n","import { Link, MenuItem } from \"@mui/material\";\nimport React from \"react\";\nimport { NavbarActionProps } from \"./NavbarItems\";\nimport GtmWrapper from \"Components/GtmWrapper\";\n\nexport type GtmNavbarActionProps = {\n menuItem?: boolean;\n} & NavbarActionProps;\n\nconst GtmNavbarAction: React.FC> = ({\n title,\n action,\n disabled,\n LinkProps,\n GtmWrapperProps,\n menuItem = false,\n children,\n}) => {\n return (\n \n {(trigger, dataAttrs) =>\n menuItem ? (\n {} : action}\n className={`${LinkProps?.className || \"\"} ${trigger}`}\n {...dataAttrs}\n >\n {title}\n \n ) : (\n \n {children}\n \n )\n }\n \n );\n};\n\nexport default GtmNavbarAction;\n","import { Link, MenuItem, Typography } from \"@mui/material\";\nimport React from \"react\";\nimport { NavbarLinkProps } from \"./NavbarItems\";\nimport GtmWrapper from \"Components/GtmWrapper\";\n\nexport type GtmNavbarLinkProps = {\n menuItem?: boolean;\n} & NavbarLinkProps;\n\nconst GtmNavbarLink: React.FC> = ({\n title,\n href,\n disabled,\n LinkProps,\n GtmWrapperProps,\n menuItem = false,\n}) => {\n if (disabled) {\n return menuItem ? {title} : {title};\n }\n\n return (\n \n {(trigger, dataAttrs) =>\n menuItem ? (\n \n {title}\n \n ) : (\n \n {title}\n \n )\n }\n \n );\n};\n\nexport default GtmNavbarLink;\n","import React from \"react\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport { Link, Typography, MenuItem } from \"@mui/material\";\nimport { NavbarRouteLinkProps } from \"./NavbarItems\";\nimport GtmWrapper from \"Components/GtmWrapper\";\n\nexport type GtmNavbarRouteLinkProps = {\n menuItem?: boolean;\n} & NavbarRouteLinkProps;\n\nconst GtmNavbarRouteLink: React.FC> = ({\n title,\n disabled,\n to,\n LinkProps,\n GtmWrapperProps,\n menuItem = false,\n}) => {\n if (disabled) {\n return menuItem ? {title} : {title};\n }\n\n return (\n \n {(trigger, dataAttrs) =>\n menuItem ? (\n \n {title}\n \n ) : (\n \n {title}\n \n )\n }\n \n );\n};\n\nexport default GtmNavbarRouteLink;\n","import React, { useState } from \"react\";\nimport { MenuItem, Collapse } from \"@mui/material\";\nimport { makeStyles } from \"tss-react/mui\";\n\nimport { NavbarMenuProps } from \"Components/NavbarComponents/NavbarItems\";\nimport SubMenuBody from \"./SubMenuBody\";\nimport ExpandMoreIcon from \"@mui/icons-material/ExpandMore\";\nimport ExpandLessIcon from \"@mui/icons-material/ExpandLess\";\nimport GtmWrapper from \"Components/GtmWrapper\";\n\nexport type NavbarMobileSubMenuProps = {\n startOpen?: boolean;\n level?: number;\n} & NavbarMenuProps;\n\nconst useStyles = makeStyles()(({ palette }) => ({\n trigger: {\n display: \"flex\",\n justifyContent: \"space-between\",\n },\n collapse: {\n borderBottom: `1px solid ${palette.divider}`,\n borderTop: `1px solid ${palette.divider}`,\n },\n}));\n\nconst NavbarMobileSubMenu: React.FC> = ({\n startOpen = false,\n children,\n level,\n ...props\n}) => {\n const [open, setOpen] = useState(startOpen);\n const { classes } = useStyles();\n return (\n \n {(trigger, dataAttrs) => (\n <>\n setOpen(!open)}\n className={`${classes.trigger} ${trigger}`}\n {...dataAttrs}\n >\n {props.title}\n {open ? : }\n \n \n {children}\n \n \n )}\n \n );\n};\n\nexport default NavbarMobileSubMenu;\n","import React from \"react\";\nimport { makeStyles } from \"tss-react/mui\";\nimport GtmNavbarLink from \"../GtmNavbarLink\";\n\nimport {\n NavbarLink,\n NavbarRouteLink,\n NavbarMenu,\n NavbarAction,\n isType,\n} from \"Components/NavbarComponents/NavbarItems\";\nimport SubMenu from \"./SubMenu\";\nimport GtmNavbarRouteLink from \"../GtmNavbarRouteLink\";\nimport GtmNavbarAction from \"../GtmNavbarAction\";\n\nexport type NavbarMobileSubMenuBodyProps = { level?: number };\n\ntype StyleProps = {\n level?: number;\n};\n\nconst useStyles = makeStyles()(({ spacing, palette }, { level = 0 }) => ({\n menuList: {\n marginLeft: spacing(level * 2),\n \"& .MuiMenuItem-root\": {\n fontWeight: 600,\n },\n \"& > *:last-child\": {\n \"&.MuiCollapse-entered\": {\n borderBottom: \"none\",\n },\n },\n \"& > .MuiCollapse-entered\": {\n borderBottom: `1px solid ${palette.divider}`,\n },\n },\n}));\n\nconst NavbarMobileSubMenuBody = React.forwardRef<\n any,\n React.PropsWithChildren\n>(({ level = 0, children }, ref) => {\n const { classes } = useStyles({ level });\n return (\n
\n {React.Children.map(children, (child, i) => {\n if (React.isValidElement(child)) {\n if (isType(child, NavbarAction))\n return ;\n if (isType(child, NavbarLink))\n return ;\n if (isType(child, NavbarRouteLink))\n return ;\n if (isType(child, NavbarMenu)) return ;\n return child;\n }\n return null;\n })}\n
\n );\n});\n\nexport default NavbarMobileSubMenuBody;\n","import { Box, Typography, Slide, Backdrop, Menu, MenuProps } from \"@mui/material\";\nimport AppBar from \"@mui/material/AppBar\";\nimport Link from \"@mui/material/Link\";\nimport { makeStyles } from \"tss-react/mui\";\nimport Toolbar from \"@mui/material/Toolbar\";\n// @ts-ignore: Yes it can find this\nimport logoImg from \"./logo.svg\";\nimport React, { useRef, useState, useEffect, useCallback } from \"react\";\nimport { Link as RouterLink, useLocation } from \"react-router-dom\";\nimport { NavbarProps } from \"./Navbar\";\nimport {\n NavbarLink,\n NavbarRouteLink,\n NavbarMenu,\n NavbarAction,\n isType,\n} from \"Components/NavbarComponents/NavbarItems\";\nimport SubMenuBody from \"./Mobile/SubMenuBody\";\nimport { GtmLabels, GtmTriggers } from \"types\";\nimport GtmWrapper from \"Components/GtmWrapper\";\nimport GtmNavbarLink from \"./GtmNavbarLink\";\nimport GtmNavbarRouteLink from \"./GtmNavbarRouteLink\";\nimport GtmNavbarAction from \"./GtmNavbarAction\";\n\nconst useStyles = makeStyles()(({ palette, typography, spacing }) => ({\n menuItem: {\n textTransform: \"none\",\n fontWeight: \"inherit\",\n fontSize: \"inherit\",\n height: \"100%\",\n display: \"flex\",\n alignItems: \"center\",\n },\n toolbar: {\n fontWeight: 600,\n fontSize: typography.body1.fontSize,\n display: \"flex\",\n alignItems: \"center\",\n backgroundColor: \"white\",\n color: palette.primary.main,\n borderBottom: `1px solid #e0e0e0`,\n paddingLeft: spacing(2),\n paddingRight: spacing(2),\n // paddingLeft: 0,\n // paddingRight: 0,\n zIndex: 1,\n },\n navbarBrand: {\n \"&:hover\": {\n textDecoration: \"none\",\n },\n \"& img\": {\n height: \"2.5rem\",\n },\n \"& .logoText\": {\n fontWeight: 400,\n fontSize: typography.pxToRem(20),\n },\n },\n itemContainer: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n gap: spacing(1.5),\n flexGrow: 1,\n \"& > *\": {\n marginRight: spacing(3),\n \"&:last-child\": {\n marginRight: 0,\n },\n },\n },\n menuPaper: {\n left: \"0px !important\",\n boxShadow: \"0px 3px 6px #00000029\",\n minWidth: \"100vw !important\",\n maxWidth: \"100vw !important\",\n width: \"100vw !important\",\n borderRadius: 0,\n },\n}));\n\nconst MobileNavbar: React.FC> = ({\n children,\n bannerContent,\n}) => {\n const ref = useRef(null);\n const menuRef = useRef(null);\n const { classes } = useStyles();\n const [menuOpen, setMenuOpen] = useState();\n const location = useLocation();\n const focusRef = useRef(null);\n\n useEffect(() => {\n setMenuOpen(undefined);\n }, [location]);\n\n // Stock Material-UI Menu components don't do keyboard nav with nested menus correctly, so this is needed to make things work as expected\n const handleKeyDownInMenu: JSX.IntrinsicElements[\"div\"][\"onKeyDown\"] = useCallback<\n NonNullable\n >((evt) => {\n if ([\"ArrowUp\", \"ArrowDown\"].includes(evt.key)) {\n evt.preventDefault();\n evt.stopPropagation();\n\n const menuItems = Array.from(\n menuRef.current?.querySelectorAll(\".MuiMenuItem-root, select\") || [],\n );\n if (!menuItems.find((e) => e === document.activeElement)) focusRef.current = null;\n const currentIndex = focusRef.current ? menuItems.indexOf(focusRef.current) : -1;\n const maxIndex = menuItems.length - 1;\n let nextIndex = currentIndex;\n\n if (evt.key === \"ArrowDown\") {\n nextIndex = currentIndex === -1 ? 0 : currentIndex + 1;\n if (nextIndex > maxIndex) nextIndex = 0;\n } else if (evt.key === \"ArrowUp\") {\n nextIndex = currentIndex === -1 ? maxIndex : currentIndex - 1;\n if (nextIndex < 0) nextIndex = maxIndex;\n }\n\n focusRef.current = menuItems[nextIndex] as HTMLElement;\n focusRef.current.focus();\n }\n\n if (evt.key === \"Escape\") setMenuOpen(undefined);\n }, []);\n\n let menus: [number, JSX.Element][] = [];\n const items = React.Children.map(children, (child, i) => {\n if (React.isValidElement(child)) {\n if (isType(child, NavbarAction))\n return (\n \n {child.props.title}\n \n );\n if (isType(child, NavbarLink)) {\n return ;\n }\n if (isType(child, NavbarRouteLink)) {\n return ;\n }\n if (isType(child, NavbarMenu)) {\n menus.push([i, child]);\n return (\n \n {(trigger, dataAttrs) => (\n setMenuOpen(menuOpen === i ? undefined : i)}\n className={trigger}\n aria-expanded={menuOpen === i}\n {...dataAttrs}\n >\n {child.props.title}\n \n )}\n \n );\n }\n return child;\n }\n return null;\n });\n\n return (\n <>\n theme.zIndex.appBar, width: \"100vw\" }}\n role=\"banner\"\n >\n {bannerContent}\n \n \n \n \n {(trigger, dataAttrs) => (\n \n \"Housing\n \n )}\n \n \n \n \n \n \n \n \n {menus.map(([index, elem]) => (\n setMenuOpen(undefined)}\n anchorEl={ref.current}\n sx={{\n zIndex: (theme) => theme.zIndex.appBar - 1,\n }}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"center\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"center\",\n }}\n classes={{\n paper: classes.menuPaper,\n }}\n TransitionComponent={Slide}\n onKeyDown={handleKeyDownInMenu}\n >\n {elem.props.children}\n \n ))}\n setMenuOpen(undefined)}\n sx={{ zIndex: 1 }}\n />\n \n );\n};\n\nexport default MobileNavbar;\n","import React, { ReactNode } from \"react\";\n\nimport MobileNavbar from \"./MobileNavbar\";\nimport DesktopNavbar from \"./DesktopNavbar\";\nimport useIsMobile from \"Hooks/useIsMobile\";\n\nexport type NavbarProps = {\n noTranslate?: boolean;\n children: ReactNode;\n bannerContent?: ReactNode;\n};\n\nconst Navbar: React.FC> = (props) => {\n const isMobile = useIsMobile();\n if (isMobile) return ;\n return ;\n};\n\nexport default Navbar;\n","import React, { ReactNode, ReactElement, ComponentProps, Ref } from \"react\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport { LinkProps } from \"@mui/material\";\nimport { GtmWrapperProps } from \"Components/GtmWrapper\";\n\nexport type NavbarActionProps = {\n title: ReactNode;\n action: VoidFunction;\n disabled?: boolean;\n LinkProps?: LinkProps;\n GtmWrapperProps: Omit;\n};\n\nexport type NavbarLinkProps = {\n title: ReactNode;\n href: string;\n disabled?: boolean;\n LinkProps?: LinkProps;\n GtmWrapperProps: Omit;\n};\n\nexport type NavbarRouteLinkProps = {\n title: ReactNode;\n LinkProps?: LinkProps;\n disabled?: boolean;\n to: string;\n GtmWrapperProps: Omit;\n};\n\nexport type NavbarMenuProps = {\n title: ReactNode;\n label?: string;\n LinkProps?: LinkProps;\n ref?: Ref;\n children: ReactNode;\n GtmWrapperProps: Omit;\n};\n\nexport const NavbarAction: React.FC> = () => null;\nexport const NavbarLink: React.FC> = () => null;\nexport const NavbarRouteLink: React.FC> = () => null;\nexport const NavbarMenu: React.FC> = () => null;\n\nexport type ItemTypes =\n | typeof NavbarAction\n | typeof NavbarLink\n | typeof NavbarRouteLink\n | typeof NavbarMenu;\n\nexport const isType = (\n elem: ReactElement,\n type: T,\n): elem is ReactElement> => elem.type === type;\n","import React, { useRef } from \"react\";\nimport { makeStyles } from \"tss-react/mui\";\nimport {\n Button,\n Checkbox,\n CheckboxProps,\n FormControlLabel,\n FormGroup,\n Grid,\n TextField,\n TextFieldProps,\n Typography,\n} from \"@mui/material\";\nimport { useFormatMessage } from \"Localization/hooks\";\nimport useSrOnlyClassName from \"Hooks/useSrOnlyClassName\";\n\ntype WhiteCheckboxProps = CheckboxProps & { error?: boolean };\n\nconst useCheckboxStyles = makeStyles()(\n ({ palette }, { error }, classes) => ({\n root: {\n color: error ? palette.error.main : \"white\",\n [`&.${classes.checked}`]: {\n color: \"white\",\n },\n svg: {\n backgroundColor: \"#0b66ad\",\n },\n },\n checked: {},\n }),\n);\n\nconst WhiteCheckbox = ({ error, ...props }: WhiteCheckboxProps) => {\n const { classes } = useCheckboxStyles({ error });\n return ;\n};\n\nconst useStyles = makeStyles()(({ spacing, palette, breakpoints }) => ({\n mcEmbedSignup: {\n fontFamily: \"Roboto, sans-serif\",\n },\n fieldGroup: {\n marginBottom: spacing(2),\n },\n input: {\n backgroundColor: palette.background.paper,\n borderRadius: \"8px\",\n },\n inputRoot: {\n flexDirection: \"column\",\n },\n helperText: {\n position: \"absolute\",\n right: 0,\n bottom: 0,\n top: 0,\n display: \"flex\",\n alignItems: \"center\",\n },\n label: {\n backgroundColor: palette.background.paper,\n borderRadius: \"3px\",\n padding: \"0px 5px\",\n color: \"black\",\n lineHeight: 1.4,\n fontFamily: \"Roboto, sans-serif\",\n },\n checkboxLabel: {\n color: \"white\",\n fontFamily: \"Roboto, sans-serif\",\n fontWeight: 500,\n },\n email: {\n appearance: \"none\",\n backgroundColor: \"rgb(232, 240, 254)\",\n borderRadius: \"8px\",\n border: \"1px solid rgb(154, 153, 154)\",\n padding: \"3px 15px\",\n },\n subscribeText: {\n color: palette.primary.contrastText,\n marginBottom: spacing(2),\n fontSize: \"1.4rem\",\n fontWeight: 500,\n fontFamily: \"Roboto, sans-serif\",\n [breakpoints.down(\"md\")]: {\n fontSize: \"1.1rem\",\n },\n },\n}));\n\nconst PageFooterNewsletterSignup: React.FC> = () => {\n const { classes } = useStyles();\n const t = useFormatMessage();\n const srOnly = useSrOnlyClassName();\n const formElement = useRef(null);\n const [newsChecked, setNewsChecked] = React.useState(true);\n const [listingsChecked, setListingsChecked] = React.useState(true);\n const [email, setEmail] = React.useState(\"\");\n const [fName, setFname] = React.useState(\"\");\n const [lName, setLname] = React.useState(\"\");\n\n const [emailError, setEmailError] = React.useState(false);\n const [fNameError, setFNameError] = React.useState(false);\n const [lNameError, setLNameError] = React.useState(false);\n const [noSelectionsError, setNoSelectionsError] = React.useState(false);\n\n const [subscribed, setSubscribed] = React.useState(false);\n\n const textFieldConfig: TextFieldProps = {\n required: true,\n fullWidth: true,\n size: \"small\",\n variant: \"outlined\",\n className: classes.inputRoot,\n InputLabelProps: {\n classes: {\n root: classes.label,\n },\n },\n FormHelperTextProps: {\n classes: {\n root: classes.helperText,\n },\n },\n InputProps: {\n className: \"required\",\n classes: {\n root: classes.input,\n },\n },\n };\n\n const handleSubmit = (event: React.FormEvent) => {\n event.preventDefault();\n if (!email || !fName || !lName || (!listingsChecked && !newsChecked)) {\n email ? setEmailError(false) : setEmailError(true);\n fName ? setFNameError(false) : setFNameError(true);\n lName ? setLNameError(false) : setLNameError(true);\n listingsChecked || newsChecked ? setNoSelectionsError(false) : setNoSelectionsError(true);\n } else {\n formElement.current?.submit();\n setSubscribed(true);\n }\n };\n const handleEmailChange = (event: React.ChangeEvent) => {\n const value = event.target.value;\n setEmail(value);\n value ? setEmailError(false) : setEmailError(true);\n };\n const handleFNameChange = (event: React.ChangeEvent) => {\n const value = event.target.value;\n setFname(value);\n value ? setFNameError(false) : setFNameError(true);\n };\n const handleLNameChange = (event: React.ChangeEvent) => {\n const value = event.target.value;\n setLname(value);\n value ? setLNameError(false) : setLNameError(true);\n };\n\n const handleCheckboxChange = (event: React.ChangeEvent, name: string) => {\n if (name === \"news\") {\n setNewsChecked(event.target.checked);\n }\n if (name === \"listings\") {\n setListingsChecked(event.target.checked);\n }\n };\n return (\n
\n {subscribed ? (\n {t(\"footer.subscribeComplete\")}\n ) : (\n
\n \n \n {t(\"footer.subscribeToOurNewsletter\")}\n \n \n \n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n \n handleCheckboxChange(event, \"news\")}\n />\n }\n label={t(\"footer.newsCheckbox\")}\n />\n handleCheckboxChange(event, \"listings\")}\n />\n }\n label={t(\"footer.listingsCheckbox\")}\n />\n {noSelectionsError && Selection Required}\n \n
\n \n {/* */}\n
\n
\n
\n
\n
\n \n
\n \n {t(\"footer.signupButtonText\")}\n \n \n \n \n \n )}\n \n );\n};\n\nexport default PageFooterNewsletterSignup;\n","import { Container, Grid, Link, Typography, Button, Box, Tooltip } from \"@mui/material\";\nimport { makeStyles } from \"tss-react/mui\";\n//@ts-ignore\nimport logoImg from \"Components/PageFooter/logo.svg\";\n//@ts-ignore\nimport eohLogo from \"Components/PageFooter/feoh-white.png\";\n//@ts-ignore\nimport logoMark from \"Components/PageFooter/logo-mark.svg\";\nimport React, { useMemo } from \"react\";\nimport { useFormatMessage } from \"Localization/hooks\";\nimport PublishIcon from \"@mui/icons-material/Publish\";\nimport LinkedInIcon from \"@mui/icons-material/LinkedIn\";\nimport useIsMobile from \"Hooks/useIsMobile\";\nimport * as URLS from \"consts/urls\";\nimport PageFooterNewsletterSignup from \"./PageFooterNewsletterSignup\";\nimport { GtmLabels, GtmTriggers } from \"types\";\nimport GtmWrapper from \"Components/GtmWrapper\";\n\nconst useStyles = makeStyles()(({ spacing, palette, typography, breakpoints }) => ({\n footer: {\n backgroundColor: \"rgb(31,52,101)\",\n backgroundImage: `url(${logoMark})`,\n backgroundSize: \"300% auto\",\n backgroundPosition: \"bottom right\",\n backgroundRepeat: \"no-repeat\",\n padding: spacing(6, 0),\n borderTop: `4px solid #ffec40`,\n [\"@media screen and (min-width: 768px)\"]: {\n backgroundSize: \"200% auto\",\n },\n [\"@media screen and (min-width: 1024px)\"]: {\n backgroundSize: \"100% auto\",\n backgroundPosition: \"bottom right -120px\",\n },\n },\n link: {\n display: \"block\",\n marginBottom: spacing(1.5),\n fontSize: typography.body1.fontSize,\n color: palette.primary.contrastText,\n [breakpoints.down(\"md\")]: {\n textAlign: \"center\",\n },\n \"&:last-child\": {\n marginBottom: 0,\n },\n },\n leftCol: {\n textAlign: \"right\",\n color: palette.primary.contrastText,\n },\n logo: {\n width: 200,\n },\n eohLogo: {\n height: 70,\n marginRight: spacing(4),\n },\n input: {\n backgroundColor: palette.background.paper,\n borderRadius: 8,\n },\n button: {\n textTransform: \"none\",\n borderRadius: 8,\n whiteSpace: \"nowrap\",\n },\n subscribeText: {\n textAlign: \"center\",\n color: palette.primary.contrastText,\n fontSize: \"1.4rem\",\n [breakpoints.down(\"md\")]: {\n fontSize: \"1.1rem\",\n },\n },\n checkbox: {\n color: palette.primary.contrastText,\n padding: 6,\n },\n socialButton: {\n borderRadius: 18,\n paddingLeft: spacing(1.5),\n paddingRight: spacing(1.5),\n marginRight: spacing(4),\n color: palette.primary.main,\n backgroundColor: palette.background.paper,\n minWidth: \"unset\",\n transition: \"color 0.2s, background-color 0.2s\",\n \"&:last-child\": {\n marginRight: 0,\n },\n \"&:hover\": {\n color: palette.primary.contrastText,\n backgroundColor: \"transparent\",\n border: `2px solid ${palette.primary.contrastText}`,\n paddingTop: spacing(0.5),\n paddingBottom: spacing(0.5),\n paddingLeft: spacing(1.25),\n paddingRight: spacing(1.25),\n },\n \"&.outlined\": {\n color: palette.primary.contrastText,\n backgroundColor: \"transparent\",\n border: `2px solid ${palette.primary.contrastText}`,\n paddingTop: spacing(0.5),\n paddingBottom: spacing(0.5),\n paddingLeft: spacing(1.25),\n paddingRight: spacing(1.25),\n \"&:hover\": {\n backgroundColor: palette.primary.contrastText,\n color: palette.primary.main,\n },\n },\n },\n}));\n\nconst PageFooter: React.FC> = () => {\n const { classes, cx } = useStyles();\n const t = useFormatMessage();\n const isMobileXs = useIsMobile(\"sm\");\n const isMobile = useIsMobile();\n const navigationItems = [\n {\n href: URLS.about,\n title: t(\"navigation.about\"),\n gtmTrigger: GtmTriggers.FooterNavLink,\n gtmLabel: GtmLabels.HeaderNavLinkAbout,\n },\n {\n href: URLS.resources,\n title: t(\"navigation.resources\"),\n gtmTrigger: GtmTriggers.FooterNavLink,\n gtmLabel: GtmLabels.HeaderNavLinkResources,\n },\n {\n href: URLS.termsOfService,\n title: t(\"navigation.termsOfService\"),\n gtmTrigger: GtmTriggers.FooterNavLink,\n gtmLabel: GtmLabels.FooterNavLinkTermsOfService,\n },\n {\n href: URLS.privacyPolicy,\n title: t(\"navigation.privacyPolicy\"),\n gtmTrigger: GtmTriggers.FooterNavLink,\n gtmLabel: GtmLabels.FooterNavLinkPrivacyPolicy,\n },\n {\n href: URLS.accessibilityPolicy,\n title: t(\"navigation.accessibilityPolicy\"),\n gtmTrigger: GtmTriggers.FooterNavLink,\n gtmLabel: GtmLabels.FooterNavLinkAccessibilityPolicy,\n },\n ];\n const navigation = (\n <>\n {navigationItems.map((navItem, i) => (\n \n {(trigger, dataAttrs) => (\n \n {navItem.title}\n \n )}\n \n ))}\n \n );\n\n const mailChimpSignup = ;\n\n const logos = (\n <>\n {t(\"footer.eohLogoAltText\")}\n {t(\"footer.hnmiLogoAltText\")}\n \n );\n\n // const copyright = <>â’¸ {new Date().getFullYear()} Housing Navigator Massachusetts, Inc\n const copyright = t(\"footer.copyright\", { year: new Date().getFullYear() });\n\n const socialButtons = (\n <>\n \n \n \n \n \n \n \n {(trigger, dataAttrs) => (\n {\n window.scroll({ top: 0, behavior: \"smooth\" });\n document.querySelector(\"a\")?.focus();\n }}\n {...dataAttrs}\n >\n \n \n )}\n \n \n \n );\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const gridItems = {\n links: (\n \n {navigation}\n \n ),\n signup: (\n \n {mailChimpSignup}\n \n ),\n branding: (\n \n \n {logos}\n \n \n {copyright}\n \n \n {socialButtons}\n \n \n ),\n };\n\n const grid = useMemo(() => {\n if (isMobileXs)\n return (\n \n {gridItems.signup}\n {gridItems.links}\n {gridItems.branding}\n \n );\n if (isMobile)\n return (\n \n {gridItems.signup}\n {gridItems.branding}\n {gridItems.links}\n \n );\n return (\n \n {gridItems.links}\n {gridItems.signup}\n {gridItems.branding}\n \n );\n }, [isMobile, isMobileXs, gridItems]);\n\n return (\n
\n {grid}\n
\n );\n};\nexport default PageFooter;\n","import { useMediaQuery } from \"@mui/material\";\nimport { useTheme } from \"@mui/material\";\n\ntype AllowedBreakpointValues = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n\nconst useIsMobile = (breakpoint: AllowedBreakpointValues = \"md\") =>\n useMediaQuery(useTheme().breakpoints.down(breakpoint));\n\nexport default useIsMobile;\n","import { makeStyles } from \"tss-react/mui\";\n\nconst useStyles = makeStyles()(() => ({\n srOnly: {\n position: \"absolute\",\n left: -10000,\n top: \"auto\",\n width: 1,\n height: 1,\n overflow: \"hidden\",\n },\n}));\n\nconst useSrOnlyClassNames = () => useStyles().classes.srOnly;\n\nexport default useSrOnlyClassNames;\n","import MenuIcon from \"@mui/icons-material/Menu\";\n// @ts-ignore: Yes it can find this\nimport React, { ReactNode } from \"react\";\nimport NavbarContainer from \"Components/NavbarComponents/Navbar\";\nimport { NavbarMenu } from \"Components/NavbarComponents/NavbarItems\";\nimport { GtmLabels, GtmTriggers } from \"types\";\n\ntype UserPageNavbarProps = {\n callToAction?: ReactNode;\n};\n\nconst UserPageNavbar: React.FC> = ({\n callToAction,\n}) => {\n return (\n \n {callToAction && (\n }\n GtmWrapperProps={{ trigger: GtmTriggers.None, label: GtmLabels.None }}\n >\n {callToAction}\n \n )}\n \n );\n};\n\nexport default UserPageNavbar;\n","import { makeStyles } from \"tss-react/mui\";\nimport HeroTitle from \"Components/HeroTitle\";\nimport PageFooter from \"Components/PageFooter\";\nimport React, { ReactNode } from \"react\";\n// @ts-ignore: Yes it can find this\nimport BannerSvg from \"User/assets/banner.svg\";\nimport UserPageNavbar from \"./PageNavBar\";\n\n// approx header + footer heights. Could use refs here to get\n// a more accurate height calc\nconst pushHeight = 164;\nconst useStyles = makeStyles<{ fullHeight?: boolean }, \"title\" | \"subtitle\">()(\n ({ spacing, palette, breakpoints }, { fullHeight }, classes) => ({\n container: {\n minHeight: fullHeight ? \"100vh\" : `calc(100vh - ${pushHeight}px)`,\n },\n root: {\n display: \"flex\",\n flexDirection: \"column\",\n minHeight: \"100vh\",\n },\n pageContainer: {\n flexGrow: 1,\n display: \"flex\",\n flexDirection: \"column\",\n },\n contentContainer: {\n backgroundColor: \"white\",\n \"flex-grow\": \"2\",\n },\n banner: {\n width: \"100%\",\n height: \"330px\",\n backgroundColor: \"rgba(241,249,255,0.8)\",\n backgroundImage: `url(${BannerSvg})`,\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"884px 128px\",\n backgroundPosition: \"top center\",\n textAlign: \"center\",\n overflow: \"hidden\",\n position: \"relative\",\n },\n bannerOverlay: {\n position: \"absolute\",\n width: \"100%\",\n height: \"128px\",\n top: \"0px\",\n left: \"0px\",\n backgroundImage: \"linear-gradient(90deg, #F4FAFF 0%, rgba(244,250,255,0) 50%, #F4FAFF 100%)\",\n },\n content: {\n position: \"relative\",\n width: \"95%\",\n maxWidth: \"630px\",\n margin: \"0px auto\",\n marginTop: spacing(-25),\n minHeight: spacing(25),\n backgroundColor: \"white\",\n borderTopLeftRadius: spacing(6),\n borderTopRightRadius: spacing(6),\n padding: spacing(4, 6),\n [breakpoints.down(\"sm\")]: {\n padding: spacing(2),\n },\n },\n welcomeContent: {\n maxWidth: \"900px\",\n padding: spacing(4, 15),\n [breakpoints.down(\"sm\")]: {\n padding: spacing(2),\n },\n [`& .${classes.title}`]: {\n textAlign: \"center\",\n },\n [`& .${classes.subtitle}`]: {\n textAlign: \"center\",\n },\n },\n title: {},\n subtitle: {\n fontFamily: \"Source Sans Pro, sans-serif\",\n color: palette.grey[800],\n fontSize: \"1.4rem\",\n lineHeight: \"1.2\",\n \"font-weight\": \"200\",\n paddingTop: spacing(1),\n },\n }),\n);\n\nexport type UserFormProps = {\n children?: ReactNode;\n title?: string;\n subtitle?: string;\n welcome?: boolean;\n showNav?: boolean;\n showFooter?: boolean;\n};\n\nconst UserLayout: React.FC> = ({\n children,\n title,\n subtitle,\n welcome = false,\n showNav = true,\n showFooter = true,\n}) => {\n const { classes } = useStyles({ fullHeight: !showNav && !showFooter });\n return (\n
\n {showNav && (\n
\n \n
\n )}\n
\n
\n
\n
\n
\n \n {(title || subtitle) && }\n {children}\n
\n
\n
\n {showFooter && (\n
\n \n
\n )}\n \n );\n};\n\nexport default UserLayout;\n","export const hnmiLinkedIn = \"https://www.linkedin.com/company/housing-navigator\";\nexport const about = \"https://housingnavigatorma.org/\";\nexport const resources = \"https://housingnavigatorma.org/resources/help-center/\";\nexport const accessibilityPolicy = \"https://housingnavigatorma.org/accessibility-statement/\";\nexport const contactUs = \"#\";\nexport const careers = \"#\";\nexport const availableSoon = \"#\";\nexport const termsOfService = \"https://housingnavigatorma.org/terms-of-service/\";\nexport const privacyPolicy = \"https://housingnavigatorma.org/privacy-policy/\";\nexport const ownerResources =\n \"https://www.housingnavigatorma.org/resources/owner-developer-resources/\";\nexport const learnMore = \"https://www.housingnavigatorma.org\";\nexport const supportUs =\n \"https://www.housingnavigatorma.org/get-involved/support-our-mission/#donate-anchor\";\nexport const joinOwnerDrive = \"https://housingnavigatorma.org/resources/owner-developer-resources/\";\nexport const housingAuthorityLinks = {\n dhcd: \"https://www.mass.gov/orgs/housing-and-community-development\",\n mhp: \"https://www.mhp.net/\",\n masshousing: \"https://www.masshousing.com/\",\n massdevelopment: \"https://www.masshousing.com/\",\n};\nexport const metrolist = \"https://www.boston.gov/metrolist\";\nexport const masshousing = \"https://www.masshousing.com/renters\";\nexport const massaccess = \"https://www.massaccesshousingregistry.org/\";\nexport const myMassHomes = \"https://www.mymasshome.org/find\";\nexport const champPreferenceImminentDanger =\n \"https://www.mass.gov/doc/housing-situation-priority-policy-for-lhas/download\";\nexport const champPreferenceHowToApply =\n \"https://www.mass.gov/guides/how-to-apply-for-public-housing\";\nexport const landingV2ResourcesLink =\n \"https://housingnavigatorma.org/resources/help-center/?_gl=1*13gdx9w*_ga*MjAwNDM0OTIzNC4xNzI2MTY5Mzc1*_ga_CYX83NNXBL*MTcyOTU0MTM4Ni4xLjEuMTcyOTU0MTU1OC4wLjAuMA\";\nexport const learnMoreV2WhoSiteFor = \"https://housingnavigatorma.org/resources/help-center/\";\nexport const supportUsV2WhoSiteFor = \"https://housingnavigatorma.org/support-our-mission/\";\nexport const myMassHomeV2WhoSiteFor = \"https://www.mymasshome.org/\";\n","import { gql } from '@apollo/client';\nexport type Maybe = T | null;\nexport type Exact = { [K in keyof T]: T[K] };\nexport type MakeOptional = Omit & { [SubKey in K]?: Maybe };\nexport type MakeMaybe = Omit & { [SubKey in K]: Maybe };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: string;\n String: string;\n Boolean: boolean;\n Int: number;\n Float: number;\n /** DateTime type */\n Datetime: any;\n /** File Upload Type with translation */\n File: any;\n /** Arbitrary JSON Type */\n JsonObject: any;\n};\n\n/** Autogenerated input type of AddListingToOrganization */\nexport type AddListingToOrganizationInput = {\n /** A unique identifier for the client performing the mutation. */\n clientMutationId?: Maybe;\n organizationId: Scalars['ID'];\n role?: Maybe>;\n slug: Scalars['ID'];\n};\n\n/** Autogenerated input type of AddOrganizationRoleToUser */\nexport type AddOrganizationRoleToUserInput = {\n /** A unique identifier for the client performing the mutation. */\n clientMutationId?: Maybe;\n organizationId: Scalars['ID'];\n role: OrganizationUserRoleEnum;\n userId: Scalars['ID'];\n};\n\n/** Autogenerated input type of AddUserToOrganization */\nexport type AddUserToOrganizationInput = {\n /** A unique identifier for the client performing the mutation. */\n clientMutationId?: Maybe;\n organizationId: Scalars['ID'];\n userId: Scalars['ID'];\n};\n\nexport type AppDocument = FileOwnerInterface & {\n __typename?: 'AppDocument';\n category?: Maybe;\n extension?: Maybe;\n fileUrl?: Maybe;\n filename?: Maybe;\n id: Scalars['ID'];\n name: Scalars['String'];\n};\n\nexport type AppDocumentInput = {\n blobId?: Maybe;\n category?: Maybe;\n deleted?: Maybe;\n id?: Maybe;\n name?: Maybe;\n};\n\n/** A user-readable error */\nexport type AttributeError = {\n __typename?: 'AttributeError';\n /** Which input value this error came from */\n attribute: Scalars['String'];\n /** A description of the error */\n message: Scalars['String'];\n};\n\nexport type Banner = {\n __typename?: 'Banner';\n active: Scalars['Boolean'];\n color: BannerColorEnum;\n content: Scalars['String'];\n};\n\nexport enum BannerColorEnum {\n Blue = 'BLUE',\n Red = 'RED',\n Yellow = 'YELLOW'\n}\n\nexport type BannerInput = {\n active?: Maybe;\n color: BannerColorEnum;\n content: Scalars['String'];\n otpAttempt: Scalars['String'];\n};\n\nexport type BoundsInput = {\n ne?: Maybe;\n nw?: Maybe;\n se?: Maybe;\n sw?: Maybe;\n};\n\nexport type Building = BuildingInterface & Publishable & {\n __typename?: 'Building';\n accessibilityDetails?: Maybe;\n additionalDetails?: Maybe;\n address: BuildingAddress;\n afhmp?: Maybe;\n ageRestrictionDetail?: Maybe;\n ageRestrictionOrDisabled?: Maybe;\n ageRestrictionSize?: Maybe;\n ageRestrictionType?: Maybe;\n allowedUnitTypes: Array;\n amenities: Array;\n amenitiesDetails?: Maybe;\n applicationUrl?: Maybe;\n availability: Array;\n cedacId?: Maybe;\n changedAt?: Maybe;\n changedBy?: Maybe;\n cityOptions: Array;\n closedReferralCount?: Maybe;\n closedReferralType?: Maybe;\n contact?: Maybe;\n contactEmail?: Maybe;\n contactName?: Maybe;\n contactPhone?: Maybe;\n deedRestrictionDetails?: Maybe;\n description?: Maybe;\n developer?: Maybe;\n documents: Array;\n duplicate?: Maybe;\n duplicateSlug?: Maybe;\n fcfsAvailableUnitGroups: Array;\n featured?: Maybe;\n geocode?: Maybe;\n hasAccessibleImages: Scalars['Boolean'];\n hasAccessibleUnits: Scalars['Boolean'];\n hasAgeRestrictions?: Maybe;\n hasClosedReferrals?: Maybe;\n hasClosedWaitlist: Scalars['Boolean'];\n hasCustomIncomeRestrictions: Scalars['Boolean'];\n hasElevator?: Maybe;\n hasFcfs: Scalars['Boolean'];\n hasLottery: Scalars['Boolean'];\n hasOpenWaitlist: Scalars['Boolean'];\n hasPreferences?: Maybe;\n hasRollInShowers?: Maybe;\n hasSetAsides?: Maybe;\n hasStepFreeEntrance?: Maybe;\n hasUnknownStatus: Scalars['Boolean'];\n hasWheelchairAccess?: Maybe;\n history: HistoryEntriesPaginated;\n historySearchFields: Array;\n housingLottery?: Maybe;\n housingSetAsides: Array;\n housingShortWaitlist?: Maybe;\n housingType?: Maybe;\n housingVacancy?: Maybe;\n housingWaitlist: HousingWaitlist;\n id: Scalars['ID'];\n images?: Maybe>;\n includedUtilities: Array;\n isChamp: Scalars['Boolean'];\n isChanged: Scalars['Boolean'];\n isFuture?: Maybe;\n isNew: Scalars['Boolean'];\n isOutdated: Scalars['Boolean'];\n isPublished: Scalars['Boolean'];\n isVerified: Scalars['Boolean'];\n listingScores?: Maybe>;\n location?: Maybe;\n manager?: Maybe;\n managers?: Maybe>;\n masterRecord: MasterRecord;\n maxIncomes: Array;\n metadata?: Maybe;\n minimumAdminPublishScore: ScoreLevel;\n minimumPublishScore: ScoreLevel;\n moveInRequirements: Array;\n name?: Maybe;\n nhpdId?: Maybe;\n noNotifications: Scalars['Boolean'];\n notes?: Maybe;\n organizations: Array;\n overrides?: Maybe>;\n owners?: Maybe>;\n permissions: BuildingPermissions;\n petFriendly?: Maybe;\n petPolicy?: Maybe;\n preferences: Array;\n project: Project;\n projectId?: Maybe;\n publishedAt?: Maybe;\n publishedBy?: Maybe;\n publishedReleaseDate?: Maybe;\n releaseDate?: Maybe;\n scatteredSite?: Maybe;\n scoreSet?: Maybe;\n scoreSets?: Maybe>;\n sensitiveListing: Scalars['Boolean'];\n sensitiveType?: Maybe;\n shiComprehensivePermit?: Maybe;\n shiId?: Maybe;\n showRbi: Scalars['Boolean'];\n slug: Scalars['String'];\n sourceRecords?: Maybe>;\n tags: Array;\n tenure?: Maybe;\n unitGroups: Array;\n units: BuildingUnits;\n unpublishedAt?: Maybe;\n unpublishedBy?: Maybe;\n url?: Maybe;\n utilitiesIncluded?: Maybe;\n verifiedAt?: Maybe;\n verifiedBy?: Maybe;\n visibility?: Maybe;\n visibilityDetails?: Maybe;\n willBeFuture?: Maybe;\n yearBuilt?: Maybe;\n yearMadeAffordable?: Maybe;\n};\n\n\nexport type BuildingAvailabilityArgs = {\n exhaustive?: Maybe;\n};\n\n\nexport type BuildingHistoryArgs = {\n input?: Maybe;\n page?: Maybe;\n pageSize?: Maybe;\n};\n\n\nexport type BuildingHousingLotteryArgs = {\n showExpired?: Maybe;\n};\n\n\nexport type BuildingScoreSetArgs = {\n formName: Scalars['String'];\n};\n\nexport type BuildingAddress = {\n __typename?: 'BuildingAddress';\n city?: Maybe;\n state?: Maybe;\n street1?: Maybe;\n street2?: Maybe;\n street3?: Maybe;\n zipCode?: Maybe;\n};\n\nexport type BuildingAddressInput = {\n city?: Maybe;\n state?: Maybe;\n street1?: Maybe;\n street2?: Maybe;\n street3?: Maybe;\n zipCode?: Maybe;\n};\n\nexport enum BuildingAgeRestriction {\n /** 55+ */\n Age55plus = 'age55plus',\n /** 58+ */\n Age58plus = 'age58plus',\n /** 60+ */\n Age60plus = 'age60plus',\n /** 62+ */\n Age62plus = 'age62plus',\n /** Family */\n Family = 'family',\n /** Other Elderly */\n Other = 'other'\n}\n\nexport enum BuildingAgeRestrictionSizeEnum {\n /** All */\n All = 'all',\n /** One */\n One = 'one'\n}\n\nexport type BuildingAvailabilityResult = {\n __typename?: 'BuildingAvailabilityResult';\n accessibleBedrooms: Array;\n allRbi?: Maybe;\n bedrooms: Array;\n bedroomsInfo: Array;\n maxRent?: Maybe;\n minRent?: Maybe;\n rbi?: Maybe;\n status: BuildingAvailabilityStatus;\n unitCount?: Maybe;\n units?: Maybe>;\n};\n\nexport type BuildingAvailabilityResultBedroomInfo = {\n __typename?: 'BuildingAvailabilityResultBedroomInfo';\n accessible: Scalars['Boolean'];\n allRbi?: Maybe;\n bedroom: BuildingBedroom;\n maxRent?: Maybe;\n minRent?: Maybe;\n rbi?: Maybe;\n unitCount?: Maybe;\n units?: Maybe>;\n};\n\nexport enum BuildingAvailabilityStatus {\n /** Current FCFS units */\n Fcfs = 'fcfs',\n /** Current lottery */\n Lottery = 'lottery',\n /** Has a short waitlist */\n ShortWaitlist = 'shortWaitlist',\n /** Status unknown */\n Unknown = 'unknown',\n /** Waitlist is closed */\n WaitlistClosed = 'waitlistClosed',\n /** Waitlist is open */\n WaitlistOpen = 'waitlistOpen'\n}\n\nexport enum BuildingBedroom {\n /** Eight bedrooms */\n Eight = 'EIGHT',\n /** Five bedrooms */\n Five = 'FIVE',\n /** Four bedrooms */\n Four = 'FOUR',\n /** Four or more bedrooms */\n FourPlus = 'FOUR_PLUS',\n /** One bedroom */\n One = 'ONE',\n /** Seven bedrooms */\n Seven = 'SEVEN',\n /** Six bedrooms */\n Six = 'SIX',\n /** Single room occupancy */\n Sro = 'SRO',\n /** Studio, or other 0BR */\n Studio = 'STUDIO',\n /** Three bedroom */\n Three = 'THREE',\n /** Two bedroom */\n Two = 'TWO'\n}\n\nexport enum BuildingClosedReferralTypeEnum {\n /** All */\n All = 'all',\n /** None */\n None = 'none',\n /** Some */\n Some = 'some'\n}\n\n/** Interface for a general Building */\nexport type BuildingFieldsInterface = {\n accessibilityDetails?: Maybe;\n additionalDetails?: Maybe;\n address: BuildingAddress;\n ageRestrictionDetail?: Maybe;\n ageRestrictionOrDisabled?: Maybe;\n ageRestrictionSize?: Maybe;\n ageRestrictionType?: Maybe;\n amenities: Array;\n amenitiesDetails?: Maybe;\n applicationUrl?: Maybe;\n cedacId?: Maybe;\n closedReferralCount?: Maybe;\n closedReferralType?: Maybe;\n contact?: Maybe;\n contactEmail?: Maybe;\n contactName?: Maybe;\n contactPhone?: Maybe;\n deedRestrictionDetails?: Maybe;\n description?: Maybe;\n developer?: Maybe;\n duplicate?: Maybe;\n duplicateSlug?: Maybe;\n hasAgeRestrictions?: Maybe;\n hasClosedReferrals?: Maybe;\n hasElevator?: Maybe;\n hasPreferences?: Maybe;\n hasRollInShowers?: Maybe;\n hasSetAsides?: Maybe;\n hasStepFreeEntrance?: Maybe;\n hasWheelchairAccess?: Maybe;\n housingSetAsides: Array;\n housingType?: Maybe;\n id: Scalars['ID'];\n includedUtilities: Array;\n manager?: Maybe;\n moveInRequirements: Array;\n name?: Maybe;\n nhpdId?: Maybe;\n noNotifications: Scalars['Boolean'];\n notes?: Maybe;\n petFriendly?: Maybe;\n petPolicy?: Maybe;\n preferences: Array;\n project: Project;\n projectId?: Maybe;\n scatteredSite?: Maybe;\n sensitiveListing: Scalars['Boolean'];\n sensitiveType?: Maybe;\n shiComprehensivePermit?: Maybe;\n shiId?: Maybe;\n slug: Scalars['String'];\n tags: Array;\n tenure?: Maybe;\n units: BuildingUnits;\n url?: Maybe;\n utilitiesIncluded?: Maybe;\n visibility?: Maybe;\n visibilityDetails?: Maybe;\n yearBuilt?: Maybe;\n yearMadeAffordable?: Maybe;\n};\n\nexport type BuildingImage = {\n __typename?: 'BuildingImage';\n accessibilityFeatures: Scalars['Boolean'];\n bannerUrl: Scalars['String'];\n caption?: Maybe;\n cardUrl: Scalars['String'];\n deleted: Scalars['Boolean'];\n id: Scalars['ID'];\n landingUrl: Scalars['String'];\n lightboxUrl: Scalars['String'];\n location?: Maybe;\n name?: Maybe;\n owner: BuildingObject;\n slug: Scalars['String'];\n thumbnailUrl: Scalars['String'];\n url: Scalars['String'];\n};\n\nexport type BuildingImageInput = {\n accessibilityFeatures?: Maybe;\n blobId?: Maybe;\n caption?: Maybe;\n deleted?: Maybe;\n location?: Maybe;\n name?: Maybe;\n organizationId?: Maybe;\n};\n\nexport type BuildingInput = {\n cedacId?: Maybe;\n deedRestrictionDetails?: Maybe;\n developer?: Maybe;\n duplicate?: Maybe;\n duplicateSlug?: Maybe;\n manager?: Maybe;\n nhpdId?: Maybe;\n noNotifications?: Maybe;\n notes?: Maybe;\n sensitiveListing?: Maybe;\n sensitiveType?: Maybe;\n shiComprehensivePermit?: Maybe;\n shiId?: Maybe;\n tags?: Maybe>;\n visibility?: Maybe;\n visibilityDetails?: Maybe;\n yearBuilt?: Maybe;\n yearMadeAffordable?: Maybe;\n};\n\n/** Interface for a general Building */\nexport type BuildingInterface = {\n accessibilityDetails?: Maybe;\n additionalDetails?: Maybe;\n address: BuildingAddress;\n afhmp?: Maybe;\n ageRestrictionDetail?: Maybe;\n ageRestrictionOrDisabled?: Maybe;\n ageRestrictionSize?: Maybe;\n ageRestrictionType?: Maybe;\n allowedUnitTypes: Array;\n amenities: Array;\n amenitiesDetails?: Maybe;\n applicationUrl?: Maybe;\n availability: Array;\n cedacId?: Maybe;\n cityOptions: Array;\n closedReferralCount?: Maybe;\n closedReferralType?: Maybe;\n contact?: Maybe;\n contactEmail?: Maybe;\n contactName?: Maybe;\n contactPhone?: Maybe;\n deedRestrictionDetails?: Maybe;\n description?: Maybe;\n developer?: Maybe;\n documents: Array;\n duplicate?: Maybe;\n duplicateSlug?: Maybe;\n fcfsAvailableUnitGroups: Array;\n featured?: Maybe;\n geocode?: Maybe;\n hasAccessibleImages: Scalars['Boolean'];\n hasAccessibleUnits: Scalars['Boolean'];\n hasAgeRestrictions?: Maybe;\n hasClosedReferrals?: Maybe;\n hasClosedWaitlist: Scalars['Boolean'];\n hasCustomIncomeRestrictions: Scalars['Boolean'];\n hasElevator?: Maybe;\n hasFcfs: Scalars['Boolean'];\n hasLottery: Scalars['Boolean'];\n hasOpenWaitlist: Scalars['Boolean'];\n hasPreferences?: Maybe;\n hasRollInShowers?: Maybe;\n hasSetAsides?: Maybe;\n hasStepFreeEntrance?: Maybe;\n hasUnknownStatus: Scalars['Boolean'];\n hasWheelchairAccess?: Maybe;\n history: HistoryEntriesPaginated;\n historySearchFields: Array;\n housingLottery?: Maybe;\n housingSetAsides: Array;\n housingShortWaitlist?: Maybe;\n housingType?: Maybe;\n housingVacancy?: Maybe;\n housingWaitlist: HousingWaitlist;\n id: Scalars['ID'];\n images?: Maybe>;\n includedUtilities: Array;\n isChamp: Scalars['Boolean'];\n listingScores?: Maybe>;\n location?: Maybe;\n manager?: Maybe;\n managers?: Maybe>;\n maxIncomes: Array;\n minimumAdminPublishScore: ScoreLevel;\n minimumPublishScore: ScoreLevel;\n moveInRequirements: Array;\n name?: Maybe;\n nhpdId?: Maybe;\n noNotifications: Scalars['Boolean'];\n notes?: Maybe;\n organizations: Array;\n overrides?: Maybe>;\n owners?: Maybe>;\n permissions: BuildingPermissions;\n petFriendly?: Maybe;\n petPolicy?: Maybe;\n preferences: Array;\n project: Project;\n projectId?: Maybe;\n releaseDate?: Maybe;\n scatteredSite?: Maybe;\n scoreSet?: Maybe;\n scoreSets?: Maybe>;\n sensitiveListing: Scalars['Boolean'];\n sensitiveType?: Maybe;\n shiComprehensivePermit?: Maybe;\n shiId?: Maybe;\n showRbi: Scalars['Boolean'];\n slug: Scalars['String'];\n sourceRecords?: Maybe>;\n tags: Array;\n tenure?: Maybe;\n unitGroups: Array;\n units: BuildingUnits;\n url?: Maybe;\n utilitiesIncluded?: Maybe;\n visibility?: Maybe;\n visibilityDetails?: Maybe;\n willBeFuture?: Maybe;\n yearBuilt?: Maybe;\n yearMadeAffordable?: Maybe;\n};\n\n\n/** Interface for a general Building */\nexport type BuildingInterfaceAvailabilityArgs = {\n exhaustive?: Maybe;\n};\n\n\n/** Interface for a general Building */\nexport type BuildingInterfaceHistoryArgs = {\n input?: Maybe;\n page?: Maybe;\n pageSize?: Maybe;\n};\n\n\n/** Interface for a general Building */\nexport type BuildingInterfaceHousingLotteryArgs = {\n showExpired?: Maybe;\n};\n\n\n/** Interface for a general Building */\nexport type BuildingInterfaceScoreSetArgs = {\n formName: Scalars['String'];\n};\n\nexport type BuildingManager = {\n __typename?: 'BuildingManager';\n name: Scalars['String'];\n};\n\nexport type BuildingManagerInput = {\n name?: Maybe;\n};\n\nexport type BuildingMetadata = {\n __typename?: 'BuildingMetadata';\n created: Scalars['Datetime'];\n lastMerged: Scalars['Datetime'];\n published: Scalars['Boolean'];\n updated: Scalars['Datetime'];\n};\n\n/** Objects that share the primary building interface */\nexport type BuildingObject = Building | BuildingPreview | InventoryRecord;\n\nexport type BuildingOverride = {\n __typename?: 'BuildingOverride';\n id: Scalars['ID'];\n originalValue?: Maybe;\n property: Scalars['String'];\n updatedAt: Scalars['Datetime'];\n updatedBy?: Maybe;\n value: Scalars['String'];\n};\n\nexport type BuildingPermissions = {\n __typename?: 'BuildingPermissions';\n /** Admin publish listing? */\n canAdminPublishListing?: Maybe;\n /** Publish listing? */\n canPublishListing?: Maybe;\n /** Unpublish listing? */\n canUnpublishListing?: Maybe;\n /** Update preview? */\n canUpdatePreview?: Maybe;\n /** Verify listing? */\n canVerifyListing?: Maybe;\n};\n\nexport type BuildingPreview = BuildingInterface & Publishable & {\n __typename?: 'BuildingPreview';\n accessibilityDetails?: Maybe;\n additionalDetails?: Maybe;\n address: BuildingAddress;\n afhmp?: Maybe;\n ageRestrictionDetail?: Maybe;\n ageRestrictionOrDisabled?: Maybe;\n ageRestrictionSize?: Maybe;\n ageRestrictionType?: Maybe;\n allowedUnitTypes: Array;\n amenities: Array;\n amenitiesDetails?: Maybe;\n applicationUrl?: Maybe;\n availability: Array;\n cedacId?: Maybe;\n changedAt?: Maybe;\n changedBy?: Maybe;\n cityOptions: Array;\n closedReferralCount?: Maybe;\n closedReferralType?: Maybe;\n contact?: Maybe;\n contactEmail?: Maybe;\n contactName?: Maybe;\n contactPhone?: Maybe;\n deedRestrictionDetails?: Maybe;\n description?: Maybe;\n developer?: Maybe;\n documents: Array;\n duplicate?: Maybe;\n duplicateSlug?: Maybe;\n fcfsAvailableUnitGroups: Array;\n featured?: Maybe;\n geocode?: Maybe;\n hasAccessibleImages: Scalars['Boolean'];\n hasAccessibleUnits: Scalars['Boolean'];\n hasAgeRestrictions?: Maybe;\n hasClosedReferrals?: Maybe;\n hasClosedWaitlist: Scalars['Boolean'];\n hasCustomIncomeRestrictions: Scalars['Boolean'];\n hasElevator?: Maybe;\n hasFcfs: Scalars['Boolean'];\n hasLottery: Scalars['Boolean'];\n hasOpenWaitlist: Scalars['Boolean'];\n hasPreferences?: Maybe;\n hasRollInShowers?: Maybe;\n hasSetAsides?: Maybe;\n hasStepFreeEntrance?: Maybe;\n hasUnknownStatus: Scalars['Boolean'];\n hasWheelchairAccess?: Maybe;\n history: HistoryEntriesPaginated;\n historySearchFields: Array;\n housingLottery?: Maybe;\n housingSetAsides: Array;\n housingShortWaitlist?: Maybe;\n housingType?: Maybe;\n housingVacancy?: Maybe;\n housingWaitlist: HousingWaitlist;\n id: Scalars['ID'];\n images?: Maybe>;\n includedUtilities: Array;\n isChamp: Scalars['Boolean'];\n isChanged: Scalars['Boolean'];\n isFuture?: Maybe;\n isNew: Scalars['Boolean'];\n isOutdated: Scalars['Boolean'];\n isPublished: Scalars['Boolean'];\n isVerified: Scalars['Boolean'];\n listingScores?: Maybe>;\n location?: Maybe;\n manager?: Maybe;\n managers?: Maybe>;\n masterRecord: MasterRecord;\n maxIncomes: Array;\n metadata?: Maybe;\n minimumAdminPublishScore: ScoreLevel;\n minimumPublishScore: ScoreLevel;\n moveInRequirements: Array;\n name?: Maybe;\n nhpdId?: Maybe;\n noNotifications: Scalars['Boolean'];\n notes?: Maybe;\n organizations: Array;\n overrides?: Maybe>;\n owners?: Maybe>;\n permissions: BuildingPermissions;\n petFriendly?: Maybe;\n petPolicy?: Maybe;\n preferences: Array;\n project: Project;\n projectId?: Maybe;\n publishedAt?: Maybe;\n publishedBy?: Maybe;\n publishedReleaseDate?: Maybe;\n releaseDate?: Maybe;\n scatteredSite?: Maybe;\n scoreSet?: Maybe;\n scoreSets?: Maybe>;\n sensitiveListing: Scalars['Boolean'];\n sensitiveType?: Maybe;\n shiComprehensivePermit?: Maybe;\n shiId?: Maybe;\n showRbi: Scalars['Boolean'];\n slug: Scalars['String'];\n sourceRecords?: Maybe>;\n tags: Array;\n tenure?: Maybe;\n unitGroups: Array;\n units: BuildingUnits;\n unpublishedAt?: Maybe;\n unpublishedBy?: Maybe;\n url?: Maybe;\n utilitiesIncluded?: Maybe;\n verifiedAt?: Maybe;\n verifiedBy?: Maybe;\n visibility?: Maybe;\n visibilityDetails?: Maybe;\n willBeFuture?: Maybe;\n yearBuilt?: Maybe;\n yearMadeAffordable?: Maybe;\n};\n\n\nexport type BuildingPreviewAvailabilityArgs = {\n exhaustive?: Maybe;\n};\n\n\nexport type BuildingPreviewHistoryArgs = {\n input?: Maybe;\n page?: Maybe;\n pageSize?: Maybe;\n};\n\n\nexport type BuildingPreviewHousingLotteryArgs = {\n showExpired?: Maybe;\n};\n\n\nexport type BuildingPreviewScoreSetArgs = {\n formName: Scalars['String'];\n};\n\nexport type BuildingSearchInput = {\n accessibilityFeatures?: Maybe>;\n ageRestrictedOrDisabled?: Maybe;\n ageRestriction?: Maybe;\n allNearby?: Maybe;\n amenities?: Maybe>;\n availability?: Maybe;\n bounds?: Maybe;\n city?: Maybe;\n geoComponents?: Maybe>;\n hasBelowMarketRentUnits?: Maybe;\n hasClosedWaitlist?: Maybe;\n hasDeeplyAffordableUnits?: Maybe;\n hasElderlyHousing?: Maybe;\n hasFcfs?: Maybe;\n hasLottery?: Maybe;\n hasOpenWaitlist?: Maybe;\n hasShortWaitlist?: Maybe;\n hasUnitAccessibility?: Maybe>;\n isAgeRestricted?: Maybe;\n loc?: Maybe;\n locCoords?: Maybe;\n locType?: Maybe;\n numberBedrooms?: Maybe>;\n petFriendly?: Maybe;\n term?: Maybe;\n verified?: Maybe;\n};\n\nexport type BuildingSearchResult = PaginatedInterface & {\n __typename?: 'BuildingSearchResult';\n allNearbyResults: Array;\n allResults: Array;\n currentPage: Scalars['Int'];\n nearbyCount: Scalars['Int'];\n nearbyResults: Array;\n nextPage?: Maybe;\n otherCounts: BuildingSearchResultCounts;\n overLimit: Scalars['Boolean'];\n pageSize: Scalars['Int'];\n pageWithItem?: Maybe;\n prevPage?: Maybe;\n results: Array;\n totalCount: Scalars['Int'];\n totalPages: Scalars['Int'];\n};\n\n\nexport type BuildingSearchResultPageWithItemArgs = {\n field: Scalars['String'];\n id: Scalars['ID'];\n};\n\nexport type BuildingSearchResultCounts = {\n __typename?: 'BuildingSearchResultCounts';\n accessibleUnits: Scalars['Int'];\n adminVisibility: Scalars['Int'];\n affordableUnits: Scalars['Int'];\n allProperties: Scalars['Int'];\n editorVisibility: Scalars['Int'];\n fcfsProperties: Scalars['Int'];\n fcfsUnits: Scalars['Int'];\n lotteryProperties: Scalars['Int'];\n lotteryUnits: Scalars['Int'];\n mobilityAccessibleUnits: Scalars['Int'];\n notPublishedProperties: Scalars['Int'];\n publicVisibility: Scalars['Int'];\n publishedProperties: Scalars['Int'];\n sensitiveProperties: Scalars['Int'];\n totalUnits: Scalars['Int'];\n verifiedProperties: Scalars['Int'];\n waitlistClosedProperties: Scalars['Int'];\n waitlistClosedUnits: Scalars['Int'];\n waitlistOpenProperties: Scalars['Int'];\n waitlistOpenUnits: Scalars['Int'];\n waitlistUnknownProperties: Scalars['Int'];\n waitlistUnknownUnits: Scalars['Int'];\n};\n\nexport enum BuildingTenure {\n Mixed = 'mixed',\n Own = 'own',\n Rent = 'rent'\n}\n\nexport type BuildingUnitGroup = {\n __typename?: 'BuildingUnitGroup';\n ami?: Maybe;\n bathroomCount?: Maybe;\n deleted: Scalars['Boolean'];\n estimatedMaxIncome?: Maybe;\n fcfsUnitCount?: Maybe;\n floating: Scalars['Boolean'];\n hearingAccessible: Scalars['Boolean'];\n id: Scalars['ID'];\n isAffordable: Scalars['Boolean'];\n maxIncome?: Maybe;\n maxIncomes: Array;\n minIncome?: Maybe;\n mobilityAccessible: Scalars['Boolean'];\n rentType?: Maybe;\n rentalCost?: Maybe;\n shortWaitlist: Scalars['Boolean'];\n unitCount: Scalars['Int'];\n unitType: BuildingBedroom;\n visionAccessible: Scalars['Boolean'];\n};\n\n\nexport type BuildingUnitGroupEstimatedMaxIncomeArgs = {\n householdSize?: Maybe;\n};\n\n\nexport type BuildingUnitGroupMaxIncomeArgs = {\n householdSize?: Maybe;\n};\n\nexport type BuildingUnitGroupInput = {\n ami?: Maybe;\n bathroomCount?: Maybe;\n deleted?: Maybe;\n fcfsUnitCount?: Maybe;\n floating?: Maybe;\n hearingAccessible?: Maybe;\n id?: Maybe;\n minIncome?: Maybe;\n mobilityAccessible?: Maybe;\n rentType?: Maybe;\n rentalCost?: Maybe;\n shortWaitlist?: Maybe;\n unitCount?: Maybe;\n unitType?: Maybe;\n visionAccessible?: Maybe;\n};\n\nexport type BuildingUnits = {\n __typename?: 'BuildingUnits';\n availability: Array;\n deeplyAffordable?: Maybe;\n maxRent?: Maybe;\n minRent?: Maybe;\n totals: BuildingUnitsTotals;\n};\n\nexport type BuildingUnitsAvailability = {\n __typename?: 'BuildingUnitsAvailability';\n accessible?: Maybe;\n available?: Maybe;\n bedrooms: BuildingBedroom;\n total?: Maybe;\n};\n\nexport type BuildingUnitsTotals = {\n __typename?: 'BuildingUnitsTotals';\n accessible?: Maybe;\n affordable?: Maybe;\n deeplyAffordable?: Maybe;\n units?: Maybe;\n};\n\nexport type BuildingUpdateInput = {\n accessibilityDetails?: Maybe;\n additionalDetails?: Maybe;\n address?: Maybe;\n afhmp?: Maybe;\n ageRestrictionDetail?: Maybe;\n ageRestrictionOrDisabled?: Maybe;\n ageRestrictionSize?: Maybe;\n ageRestrictionType?: Maybe;\n amenities?: Maybe>;\n amenitiesDetails?: Maybe;\n applicationUrl?: Maybe;\n closedReferralCount?: Maybe;\n closedReferralType?: Maybe;\n contactEmail?: Maybe;\n contactName?: Maybe;\n contactPhone?: Maybe;\n description?: Maybe;\n documents?: Maybe>;\n geocodeId?: Maybe;\n hasAgeRestrictions?: Maybe;\n hasClosedReferrals?: Maybe;\n hasElevator?: Maybe;\n hasPreferences?: Maybe;\n hasRollInShowers?: Maybe;\n hasSetAsides?: Maybe;\n hasStepFreeEntrance?: Maybe;\n hasWheelchairAccess?: Maybe;\n housingSetAsides?: Maybe>;\n includedUtilities?: Maybe>;\n maxIncomes?: Maybe>;\n moveInRequirements?: Maybe>;\n name?: Maybe;\n petFriendly?: Maybe;\n petPolicy?: Maybe;\n preferences?: Maybe>;\n releaseDate?: Maybe;\n scatteredSite?: Maybe;\n totalAffordableUnits?: Maybe;\n totalUnits?: Maybe;\n unitGroups?: Maybe>;\n url?: Maybe;\n utilitiesIncluded?: Maybe;\n yearBuilt?: Maybe;\n yearMadeAffordable?: Maybe;\n};\n\nexport enum BuildingVisibilities {\n /** Only admins can view */\n Admin = 'admin',\n /** Editors and admins can view */\n Editor = 'editor',\n /** Anyone can view */\n Public = 'public'\n}\n\nexport type BuildingsPaginated = {\n __typename?: 'BuildingsPaginated';\n allItems: Array;\n hasMoreAfter: Scalars['Boolean'];\n hasMoreBefore: Scalars['Boolean'];\n items: Array;\n itemsCount: Scalars['Int'];\n otherCounts?: Maybe;\n page: Scalars['Int'];\n pageSize: Scalars['Int'];\n pagesCount: Scalars['Int'];\n};\n\nexport enum CacheEnum {\n Building = 'building',\n Search = 'search'\n}\n\nexport enum CertaintyTypes {\n /** Records are exclusively a match */\n Exclusive = 'EXCLUSIVE',\n /** Records are definitely not a match */\n Negative = 'NEGATIVE',\n /** Records are definitely a match */\n Positive = 'POSITIVE',\n /** Records are possibly a match */\n Possible = 'POSSIBLE'\n}\n\n/** Autogenerated return type of ClearCache. */\nexport type ClearCachePayload = {\n __typename?: 'ClearCachePayload';\n message: Scalars['String'];\n success: Scalars['Boolean'];\n};\n\nexport type Coordinates = {\n __typename?: 'Coordinates';\n latitude: Scalars['Float'];\n longitude: Scalars['Float'];\n};\n\nexport type CoordinatesInput = {\n latitude: Scalars['Float'];\n longitude: Scalars['Float'];\n};\n\nexport type CreateBuildingInput = {\n affordableUnits?: Maybe;\n city: Scalars['String'];\n name: Scalars['String'];\n ownerId?: Maybe;\n street1: Scalars['String'];\n totalUnits: Scalars['Int'];\n zipCode: Scalars['String'];\n};\n\n/** Autogenerated input type of CreateOrganization */\nexport type CreateOrganizationInput = {\n /** A unique identifier for the client performing the mutation. */\n clientMutationId?: Maybe;\n input: OrganizationInput;\n};\n\n/** Sources for raw data */\nexport type DataSource = {\n __typename?: 'DataSource';\n code: Scalars['String'];\n createdAt: Scalars['Datetime'];\n description: Scalars['String'];\n id: Scalars['ID'];\n name: Scalars['String'];\n snapshottedAt?: Maybe;\n updatedAt: Scalars['Datetime'];\n};\n\nexport enum DataSourcesEnum {\n /** Boston DND */\n BostonDnd = 'BOSTON_DND',\n /** DHCD MRVP PB */\n Dhcdmrvppb = 'DHCDMRVPPB',\n /** Department of Housing and Community Development 40B Program */\n Dhcd_40B = 'DHCD_40B',\n /** Department of Housing and Community Development Capital Planning System */\n DhcdCps = 'DHCD_CPS',\n /** DHCD Fair Housing */\n DhcdFair = 'DHCD_FAIR',\n /** Department of Housing and Community Development Intelligrants */\n DhcdIntelligrants = 'DHCD_INTELLIGRANTS',\n /** Department of Housing and Community Development Local Action Units (40B Program) */\n DhcdLau_40B = 'DHCD_LAU_40B',\n /** Department of Housing and Community Development Low-Income Housing Tax Credit */\n DhcdLihtc = 'DHCD_LIHTC',\n /** Department of Housing and Community Development Project Based Voucher Program */\n DhcdPbv = 'DHCD_PBV',\n /** DHCD SLIHTC */\n DhcdSlihtc = 'DHCD_SLIHTC',\n /** HNMI Update/Create records */\n Hnmi = 'HNMI',\n /** U.S. Department of Housing and Urban Development Assisted */\n HudAssisted = 'HUD_ASSISTED',\n /** HUD Federal */\n HudFederal = 'HUD_FEDERAL',\n /** U.S. Department of Housing and Urban Development Low-Income Housing Tax Credit */\n HudLihtc = 'HUD_LIHTC',\n /** HUD Multi-Family data */\n HudMultifamily = 'HUD_MULTIFAMILY',\n /** MassHousing 40B data */\n Masshousing_40B = 'MASSHOUSING_40B',\n /** MassHousing data */\n MassHousing = 'MASS_HOUSING',\n /** Mass Housing Partnership */\n Mhp = 'MHP',\n /** MHP 40B */\n Mhp40B = 'MHP40B',\n /** MHP Bedroom */\n Mhpbedroom = 'MHPBEDROOM'\n}\n\n\n/** Autogenerated input type of DeleteBuildingImage */\nexport type DeleteBuildingImageInput = {\n /** A unique identifier for the client performing the mutation. */\n clientMutationId?: Maybe;\n id: Scalars['ID'];\n};\n\n/** Autogenerated input type of DeleteOrganization */\nexport type DeleteOrganizationInput = {\n /** A unique identifier for the client performing the mutation. */\n clientMutationId?: Maybe;\n id: Scalars['ID'];\n};\n\n/** Autogenerated input type of DeleteRecordUpdateBatch */\nexport type DeleteRecordUpdateBatchInput = {\n /** A unique identifier for the client performing the mutation. */\n clientMutationId?: Maybe;\n id: Scalars['ID'];\n};\n\n/** Autogenerated return type of DeleteRecordUpdateBatch. */\nexport type DeleteRecordUpdateBatchPayload = {\n __typename?: 'DeleteRecordUpdateBatchPayload';\n batch?: Maybe;\n /** A unique identifier for the client performing the mutation. */\n clientMutationId?: Maybe;\n errors: Array;\n success: Scalars['Boolean'];\n};\n\n/** Autogenerated input type of DeleteUser */\nexport type DeleteUserInput = {\n /** A unique identifier for the client performing the mutation. */\n clientMutationId?: Maybe;\n userId: Scalars['ID'];\n};\n\n/** Represents direct upload credentials */\nexport type DirectUpload = {\n __typename?: 'DirectUpload';\n /** Created blob record ID */\n blobId: Scalars['ID'];\n filename: Scalars['String'];\n /** HTTP request headers (JSON-encoded) */\n headers: Scalars['String'];\n /** Created blob record signed ID */\n signedBlobId: Scalars['ID'];\n /** Upload URL */\n url: Scalars['String'];\n};\n\n/** File information required to prepare a direct upload */\nexport type DirectUploadInput = {\n /** File size (bytes) */\n byteSize: Scalars['Int'];\n /** MD5 file checksum as base64 */\n checksum: Scalars['String'];\n /** File content type */\n contentType: Scalars['String'];\n /** Original file name */\n filename: Scalars['String'];\n};\n\nexport type DsiFile = {\n __typename?: 'DsiFile';\n createdAt: Scalars['Datetime'];\n filename: Scalars['String'];\n id: Scalars['ID'];\n import: DsiImport;\n};\n\nexport type DsiFileInput = {\n blobId: Scalars['String'];\n filename?: Maybe;\n rawRecordType: DsiRawRecordType;\n};\n\nexport type DsiImport = {\n __typename?: 'DsiImport';\n createdAt: Scalars['Datetime'];\n createdBy?: Maybe;\n files: Array;\n id: Scalars['ID'];\n name?: Maybe;\n progress: DsiImportProgress;\n recordSearchFields: Array;\n records: DsiRecordsPaginated;\n stats: DsiImportStats;\n submittedAt?: Maybe;\n submittedBy?: Maybe;\n};\n\n\nexport type DsiImportRecordsArgs = {\n input: SearchInput;\n page?: Maybe;\n pageSize?: Maybe;\n};\n\nexport type DsiImportInput = {\n files: Array;\n name?: Maybe;\n};\n\nexport type DsiImportProgress = {\n __typename?: 'DsiImportProgress';\n current?: Maybe;\n id: Scalars['ID'];\n percent?: Maybe;\n status: DsiImportStatus;\n total?: Maybe;\n};\n\nexport type DsiImportStats = {\n __typename?: 'DsiImportStats';\n id: Scalars['ID'];\n statuses: Array;\n totalInventoryRecords: Scalars['Int'];\n totalMatches: Scalars['Int'];\n totalNotMatched: Scalars['Int'];\n totalPossibleMatches: Scalars['Int'];\n totalRecordsToUpdate: Scalars['Int'];\n totalSourceRecords: Scalars['Int'];\n};\n\nexport type DsiImportStatsForStatus = {\n __typename?: 'DsiImportStatsForStatus';\n id: Scalars['ID'];\n status: DsiMatchStatus;\n totalInventoryRecords: Scalars['Int'];\n totalMatches: Scalars['Int'];\n totalRecordsToUpdate: Scalars['Int'];\n totalSourceRecords: Scalars['Int'];\n};\n\nexport enum DsiImportStatus {\n BuildingLinks = 'building_links',\n BuildingMatches = 'building_matches',\n Extracting = 'extracting',\n Initializing = 'initializing',\n Normalizing = 'normalizing',\n Ready = 'ready',\n Submitted = 'submitted'\n}\n\nexport type DsiMatchLink = {\n __typename?: 'DsiMatchLink';\n certainty: DsiMatchLinkCertainty;\n id: Scalars['ID'];\n message?: Maybe;\n score?: Maybe;\n};\n\nexport enum DsiMatchLinkCertainty {\n Positive = 'POSITIVE',\n Possible = 'POSSIBLE'\n}\n\nexport type DsiMatchRecord = {\n __typename?: 'DsiMatchRecord';\n certainty?: Maybe;\n id: Scalars['ID'];\n import: DsiImport;\n matchLinks: Array;\n source: DsiSourceRecord;\n status: DsiMatchStatus;\n};\n\nexport enum DsiMatchStatus {\n Accepted = 'accepted',\n Ignored = 'ignored',\n Likely = 'likely',\n MatchRemoved = 'match_removed',\n Positive = 'positive',\n Possible = 'possible',\n Rejected = 'rejected',\n Unmatched = 'unmatched'\n}\n\nexport enum DsiRawRecordType {\n /** CPS */\n Cps = 'CPS',\n /** HUD LIHTC */\n HudLihtc = 'HUD_LIHTC'\n}\n\nexport type DsiRecord = {\n __typename?: 'DsiRecord';\n id: Scalars['ID'];\n inventoryRecord?: Maybe;\n matchRecords: Array;\n};\n\nexport type DsiRecordsPaginated = {\n __typename?: 'DsiRecordsPaginated';\n allItems: Array;\n hasMoreAfter: Scalars['Boolean'];\n hasMoreBefore: Scalars['Boolean'];\n items: Array;\n itemsCount: Scalars['Int'];\n page: Scalars['Int'];\n pageSize: Scalars['Int'];\n pagesCount: Scalars['Int'];\n};\n\nexport type DsiSourceRecord = {\n __typename?: 'DsiSourceRecord';\n data?: Maybe;\n geocode?: Maybe;\n id: Scalars['ID'];\n projectCity?: Maybe;\n projectName?: Maybe;\n projectStateCode?: Maybe;\n projectStreet1?: Maybe;\n projectZipCode?: Maybe;\n rawData: Scalars['JsonObject'];\n totalUnits?: Maybe;\n type: Scalars['String'];\n};\n\n/** Autogenerated input type of EditUser */\nexport type EditUserInput = {\n /** A unique identifier for the client performing the mutation. */\n clientMutationId?: Maybe;\n id: Scalars['ID'];\n user: UserInput;\n};\n\nexport enum ExportFieldsEnum {\n /** Details about accessible units */\n AccessibilityDetails = 'accessibility_details',\n /** Additional details */\n AdditionalDetails = 'additional_details',\n /** Restriction Details */\n AgeRestrictionDetails = 'age_restriction_details',\n /** Property Amenities */\n Amenities = 'amenities',\n /** Amenities Details */\n AmenitiesDetails = 'amenities_details',\n /** URL - Application */\n ApplicationUrl = 'application_url',\n /** CEDAC ID */\n CedacId = 'cedac_id',\n /** Closed Referral */\n ClosedReferral = 'closed_referral',\n /** Contact Email */\n ContactEmail = 'contact_email',\n /** Contact Name */\n ContactName = 'contact_name',\n /** Contact Information */\n ContactPhone = 'contact_phone',\n /** Data Sources */\n DataSources = 'data_sources',\n /** Property Overview / Description */\n Description = 'description',\n /** Has elevator? */\n HasElevator = 'has_elevator',\n /** HNMI URL */\n HnmiUrl = 'hnmi_url',\n /** Preferences */\n HousingPreferences = 'housing_preferences',\n /** Set Asides */\n HousingSetAsides = 'housing_set_asides',\n /** Housing Type */\n HousingType = 'housing_type',\n /** Waitlists */\n HousingWaitlists = 'housing_waitlists',\n /** Primary Key */\n Id = 'id',\n /** Included Utilities */\n IncludedUtilities = 'included_utilities',\n /** NHPD ID */\n NhpdId = 'nhpd_id',\n /** Notes for HNMI */\n Notes = 'notes',\n /** Organizations */\n Organizations = 'organizations',\n /** Organizations - Manager */\n OrganizationsManager = 'organizations_manager',\n /** Organizations - Owner */\n OrganizationsOwner = 'organizations_owner',\n /** Pets */\n PetFriendly = 'pet_friendly',\n /** Details about pet policy */\n PetPolicy = 'pet_policy',\n /** City */\n ProjectCity = 'project_city',\n /** Developer/Owner notes */\n ProjectDeveloperName = 'project_developer_name',\n /** Source ID */\n ProjectId = 'project_id',\n /** Projects Ids */\n ProjectIds = 'project_ids',\n /** Manager notes */\n ProjectManagementCompany = 'project_management_company',\n /** Property Name */\n ProjectName = 'project_name',\n /** State */\n ProjectStateCode = 'project_state_code',\n /** Address */\n ProjectStreet1 = 'project_street1',\n /** Zip */\n ProjectZipCode = 'project_zip_code',\n /** Published */\n Published = 'published',\n /** Is this a scattered site (multiple locations / addresses using the same application) */\n ScatteredSite = 'scattered_site',\n /** Sensitive Listing */\n SensitiveListing = 'sensitive_listing',\n /** SHI Comprehensive Permit */\n ShiComprehensivePermit = 'shi_comprehensive_permit',\n /** SHI ID */\n ShiId = 'shi_id',\n /** HNMI ID slug */\n Slug = 'slug',\n /** Tags */\n Tags = 'tags',\n /** Rental or mix of rental and home ownership? */\n Tenure = 'tenure',\n /** # of 1BRs */\n Total_1BedroomUnits = 'total_1_bedroom_units',\n /** # of 2BRs */\n Total_2BedroomUnits = 'total_2_bedroom_units',\n /** # of 3BRs */\n Total_3BedroomUnits = 'total_3_bedroom_units',\n /** # of 4+ BRs */\n Total_4PlusBedroomUnits = 'total_4_plus_bedroom_units',\n /** # of accessible units */\n TotalAccessibleUnits = 'total_accessible_units',\n /** # of Total Affordable Units */\n TotalAffordableUnits = 'total_affordable_units',\n /** # of deeply affordable (income based rent) units */\n TotalDeeplyAffordableUnits = 'total_deeply_affordable_units',\n /** # of SROS */\n TotalSroUnits = 'total_sro_units',\n /** # of Studios */\n TotalStudioUnits = 'total_studio_units',\n /** # of Total Units */\n TotalUnits = 'total_units',\n /** URL */\n Url = 'url',\n /** Verified */\n Verified = 'verified',\n /** Visibility */\n Visibility = 'visibility',\n /** Year Built */\n YearBuilt = 'year_built',\n /** Year Made Affordable */\n YearMadeAffordable = 'year_made_affordable'\n}\n\nexport enum FeatureToggle {\n AdminBanner = 'admin_banner',\n GoogleTranslate = 'google_translate',\n ShowMostAffordable = 'show_most_affordable'\n}\n\n\n/** Interface for an item that has a file attached */\nexport type FileOwnerInterface = {\n extension?: Maybe;\n fileUrl?: Maybe;\n filename?: Maybe;\n};\n\n/** Results from attempted geocoding */\nexport type Geocode = {\n __typename?: 'Geocode';\n accuracy?: Maybe;\n components?: Maybe>;\n createdAt: Scalars['Datetime'];\n formattedAddress?: Maybe;\n geocodedAt?: Maybe;\n geom?: Maybe;\n id: Scalars['ID'];\n latitude?: Maybe;\n longitude?: Maybe;\n query: Scalars['String'];\n rawResult: Scalars['JsonObject'];\n updatedAt: Scalars['Datetime'];\n usable: Scalars['Boolean'];\n};\n\nexport type HistoryChange = {\n __typename?: 'HistoryChange';\n after?: Maybe;\n before?: Maybe;\n key: Scalars['String'];\n};\n\nexport type HistoryEntriesPaginated = {\n __typename?: 'HistoryEntriesPaginated';\n allItems: Array;\n hasMoreAfter: Scalars['Boolean'];\n hasMoreBefore: Scalars['Boolean'];\n items: Array;\n itemsCount: Scalars['Int'];\n page: Scalars['Int'];\n pageSize: Scalars['Int'];\n pagesCount: Scalars['Int'];\n};\n\nexport type HistoryEntry = {\n __typename?: 'HistoryEntry';\n changes?: Maybe>;\n createdAt?: Maybe;\n event: HistoryEvent;\n id: Scalars['ID'];\n itemId: Scalars['ID'];\n itemType: Scalars['String'];\n objectChanges?: Maybe;\n whodunnit?: Maybe;\n};\n\nexport enum HistoryEvent {\n Create = 'create',\n Destroy = 'destroy',\n Update = 'update'\n}\n\n/** Housing Lottery Type */\nexport type HousingLottery = {\n __typename?: 'HousingLottery';\n allowedUnitTypes: Array;\n applicantAccommodations?: Maybe;\n contactEmail?: Maybe;\n contactName?: Maybe;\n contactPhone?: Maybe;\n details?: Maybe;\n documents: Array;\n endDate: Scalars['String'];\n id: Scalars['ID'];\n infoSession1Datetime?: Maybe;\n infoSession2Datetime?: Maybe;\n infoSessionDetails?: Maybe;\n infoSessionUrl?: Maybe;\n isActive: Scalars['Boolean'];\n isAllUnits: Scalars['Boolean'];\n isCurrent: Scalars['Boolean'];\n isDatesChanged: Scalars['Boolean'];\n isExpired: Scalars['Boolean'];\n isFuture: Scalars['Boolean'];\n isPublishedActive: Scalars['Boolean'];\n isUnitsChanged: Scalars['Boolean'];\n notifyPropertyContact: Scalars['Boolean'];\n ownContactInfo: Scalars['Boolean'];\n owner: BuildingObject;\n propertyContacts: Array;\n startDate: Scalars['String'];\n unitGroups: Array;\n unitTypes: Array;\n url?: Maybe;\n waitlistStatus: Scalars['String'];\n};\n\nexport type HousingLotteryInput = {\n active?: Maybe;\n applicantAccommodations?: Maybe;\n contactEmail?: Maybe;\n contactName?: Maybe;\n contactPhone?: Maybe;\n details?: Maybe;\n documents?: Maybe>;\n endDate?: Maybe;\n infoSession1Datetime?: Maybe;\n infoSession2Datetime?: Maybe;\n infoSessionDetails?: Maybe;\n infoSessionUrl?: Maybe;\n isAllUnits?: Maybe;\n notifyPropertyContact?: Maybe;\n ownContactInfo?: Maybe;\n propertyContacts?: Maybe>;\n startDate?: Maybe;\n unitGroups?: Maybe>;\n unitTypes?: Maybe>;\n url?: Maybe;\n waitlistStatus?: Maybe;\n};\n\nexport type HousingPreference = {\n __typename?: 'HousingPreference';\n condition?: Maybe;\n details?: Maybe;\n document?: Maybe;\n id: Scalars['ID'];\n kind: Scalars['String'];\n};\n\nexport type HousingPreferenceInput = {\n condition?: Maybe;\n deleted?: Maybe;\n details?: Maybe;\n document?: Maybe;\n id?: Maybe;\n kind?: Maybe;\n};\n\nexport type HousingSetAside = {\n __typename?: 'HousingSetAside';\n details?: Maybe;\n type: HousingSetAsideTypeEnum;\n unitCount?: Maybe;\n};\n\nexport type HousingSetAsideInput = {\n details?: Maybe;\n type?: Maybe;\n unitCount?: Maybe;\n};\n\nexport enum HousingSetAsideTypeEnum {\n /** Homeless */\n Homeless = 'homeless',\n /** Other */\n Other = 'other',\n /** Supportive Services */\n SupportiveServices = 'supportive_services',\n /** Violence Against Women Act */\n Vawa = 'vawa',\n /** Veterans */\n Veterans = 'veterans'\n}\n\n/** Housing Short Waitlist Type */\nexport type HousingShortWaitlist = {\n __typename?: 'HousingShortWaitlist';\n availableUnitGroups: Array;\n expiryDays: Scalars['Int'];\n id: Scalars['ID'];\n isActive: Scalars['Boolean'];\n isCurrent: Scalars['Boolean'];\n isEmpty: Scalars['Boolean'];\n isExpired?: Maybe;\n isUnitsChanged: Scalars['Boolean'];\n notifyPropertyContact: Scalars['Boolean'];\n propertyContacts: Array;\n publishedActive?: Maybe;\n transitionDate?: Maybe;\n transitioned?: Maybe;\n unitGroups: Array;\n};\n\nexport type HousingShortWaitlistInput = {\n active?: Maybe;\n contactEmail?: Maybe;\n notifyPropertyContact?: Maybe;\n propertyContacts?: Maybe>;\n unitGroups?: Maybe>;\n};\n\n/** Interface for Housing Lotteries / Preview Housing Lotteries */\nexport type HousingVacancy = {\n __typename?: 'HousingVacancy';\n availableUnitGroups: Array;\n details?: Maybe;\n documents: Array;\n expiryDays: Scalars['Int'];\n id: Scalars['ID'];\n isActive: Scalars['Boolean'];\n isCurrent: Scalars['Boolean'];\n isEmpty: Scalars['Boolean'];\n isExpired?: Maybe;\n isUnitsChanged: Scalars['Boolean'];\n notifyPropertyContact: Scalars['Boolean'];\n propertyContacts: Array;\n publishedActive?: Maybe;\n transitionDate?: Maybe;\n transitionToSw: Scalars['Boolean'];\n transitioned?: Maybe;\n transitionedToSw?: Maybe;\n unitGroups: Array;\n};\n\nexport type HousingVacancyInput = {\n active?: Maybe;\n details?: Maybe;\n documents?: Maybe>;\n notifyPropertyContact?: Maybe;\n propertyContacts?: Maybe>;\n transitionToSw?: Maybe;\n unitGroups?: Maybe>;\n};\n\n/** Interface for Housing Wait Lists / Preview Housing Wait Lists */\nexport type HousingWaitlist = {\n __typename?: 'HousingWaitlist';\n closeDate?: Maybe;\n lockMessage?: Maybe;\n lockReason?: Maybe;\n locked: Scalars['Boolean'];\n openDate?: Maybe;\n status?: Maybe;\n statusIsGlobal: Scalars['Boolean'];\n units: Array;\n};\n\nexport type HousingWaitlistInput = {\n status?: Maybe;\n statusIsGlobal: Scalars['Boolean'];\n units: Array;\n};\n\n/** A single run of importing raw data from a single source */\nexport type ImportBatch = {\n __typename?: 'ImportBatch';\n dataSource: DataSource;\n fileName: Scalars['String'];\n id: Scalars['ID'];\n importedAt: Scalars['Datetime'];\n originalExportDate: Scalars['Datetime'];\n};\n\nexport type Info = {\n __typename?: 'Info';\n actionableRbi?: Maybe>;\n actionableRbiCount?: Maybe;\n fcfs?: Maybe>;\n fcfsCount?: Maybe;\n id: Scalars['ID'];\n lotteries?: Maybe>;\n lotteryCount?: Maybe;\n shortWaitlist?: Maybe>;\n shortWaitlistCount?: Maybe;\n};\n\n\nexport type InfoActionableRbiArgs = {\n seed?: Maybe;\n};\n\n\nexport type InfoFcfsArgs = {\n seed?: Maybe;\n};\n\n\nexport type InfoShortWaitlistArgs = {\n seed?: Maybe;\n};\n\nexport type InventoryRecord = BuildingInterface & Publishable & {\n __typename?: 'InventoryRecord';\n accessibilityDetails?: Maybe;\n additionalDetails?: Maybe;\n address: BuildingAddress;\n afhmp?: Maybe;\n ageRestrictionDetail?: Maybe;\n ageRestrictionOrDisabled?: Maybe;\n ageRestrictionSize?: Maybe;\n ageRestrictionType?: Maybe;\n allowedUnitTypes: Array;\n amenities: Array;\n amenitiesDetails?: Maybe;\n applicationUrl?: Maybe;\n availability: Array;\n cedacId?: Maybe;\n changedAt?: Maybe;\n changedBy?: Maybe;\n cityOptions: Array;\n closedReferralCount?: Maybe;\n closedReferralType?: Maybe;\n contact?: Maybe;\n contactEmail?: Maybe;\n contactName?: Maybe;\n contactPhone?: Maybe;\n deedRestrictionDetails?: Maybe;\n description?: Maybe;\n developer?: Maybe;\n documents: Array;\n duplicate?: Maybe;\n duplicateSlug?: Maybe;\n fcfsAvailableUnitGroups: Array;\n featured?: Maybe;\n geocode?: Maybe;\n hasAccessibleImages: Scalars['Boolean'];\n hasAccessibleUnits: Scalars['Boolean'];\n hasAgeRestrictions?: Maybe;\n hasClosedReferrals?: Maybe;\n hasClosedWaitlist: Scalars['Boolean'];\n hasCustomIncomeRestrictions: Scalars['Boolean'];\n hasElevator?: Maybe;\n hasFcfs: Scalars['Boolean'];\n hasLottery: Scalars['Boolean'];\n hasOpenWaitlist: Scalars['Boolean'];\n hasPreferences?: Maybe;\n hasRollInShowers?: Maybe;\n hasSetAsides?: Maybe;\n hasStepFreeEntrance?: Maybe;\n hasUnknownStatus: Scalars['Boolean'];\n hasWheelchairAccess?: Maybe;\n history: HistoryEntriesPaginated;\n historySearchFields: Array;\n housingLottery?: Maybe;\n housingSetAsides: Array;\n housingShortWaitlist?: Maybe;\n housingType?: Maybe;\n housingVacancy?: Maybe;\n housingWaitlist: HousingWaitlist;\n id: Scalars['ID'];\n images?: Maybe>;\n includedUtilities: Array;\n isChamp: Scalars['Boolean'];\n isChanged: Scalars['Boolean'];\n isFuture?: Maybe;\n isNew: Scalars['Boolean'];\n isOutdated: Scalars['Boolean'];\n isPublished: Scalars['Boolean'];\n isVerified: Scalars['Boolean'];\n listingScores?: Maybe>;\n location?: Maybe;\n manager?: Maybe;\n managers?: Maybe>;\n masterRecord: MasterRecord;\n maxIncomes: Array;\n metadata?: Maybe;\n minimumAdminPublishScore: ScoreLevel;\n minimumPublishScore: ScoreLevel;\n moveInRequirements: Array;\n name?: Maybe;\n nhpdId?: Maybe;\n noNotifications: Scalars['Boolean'];\n notes?: Maybe;\n organizations: Array;\n overrides?: Maybe>;\n owners?: Maybe>;\n permissions: BuildingPermissions;\n petFriendly?: Maybe;\n petPolicy?: Maybe;\n preferences: Array;\n project: Project;\n projectId?: Maybe;\n publishedAt?: Maybe;\n publishedBy?: Maybe;\n publishedReleaseDate?: Maybe;\n releaseDate?: Maybe;\n scatteredSite?: Maybe;\n scoreSet?: Maybe;\n scoreSets?: Maybe>;\n sensitiveListing: Scalars['Boolean'];\n sensitiveType?: Maybe;\n shiComprehensivePermit?: Maybe;\n shiId?: Maybe;\n showRbi: Scalars['Boolean'];\n slug: Scalars['String'];\n sourceRecords?: Maybe>;\n tags: Array;\n tenure?: Maybe;\n unitGroups: Array;\n units: BuildingUnits;\n unpublishedAt?: Maybe;\n unpublishedBy?: Maybe;\n url?: Maybe;\n utilitiesIncluded?: Maybe;\n verifiedAt?: Maybe;\n verifiedBy?: Maybe;\n visibility?: Maybe;\n visibilityDetails?: Maybe;\n willBeFuture?: Maybe;\n yearBuilt?: Maybe;\n yearMadeAffordable?: Maybe;\n};\n\n\nexport type InventoryRecordAvailabilityArgs = {\n exhaustive?: Maybe;\n};\n\n\nexport type InventoryRecordHistoryArgs = {\n input?: Maybe;\n page?: Maybe;\n pageSize?: Maybe;\n};\n\n\nexport type InventoryRecordHousingLotteryArgs = {\n showExpired?: Maybe;\n};\n\n\nexport type InventoryRecordScoreSetArgs = {\n formName: Scalars['String'];\n};\n\n/** Autogenerated input type of InviteUser */\nexport type InviteUserInput = {\n /** A unique identifier for the client performing the mutation. */\n clientMutationId?: Maybe;\n sendInvite?: Maybe;\n user: UserInput;\n};\n\n/** Autogenerated return type of InviteUser. */\nexport type InviteUserPayload = {\n __typename?: 'InviteUserPayload';\n /** A unique identifier for the client performing the mutation. */\n clientMutationId?: Maybe;\n errors: Array;\n user?: Maybe;\n};\n\n\n/** A listing completeness score */\nexport type ListingScore = {\n __typename?: 'ListingScore';\n allowedIgnoreMessages?: Maybe>;\n fieldName?: Maybe;\n formName?: Maybe;\n helpText?: Maybe;\n id: Scalars['ID'];\n ignore?: Maybe;\n ignoreMessage?: Maybe;\n key: Scalars['String'];\n level: ScoreLevel;\n message: Scalars['String'];\n owner: BuildingObject;\n passed: Scalars['Boolean'];\n};\n\nexport type MasterRecord = BuildingInterface & {\n __typename?: 'MasterRecord';\n accessibilityDetails?: Maybe;\n additionalDetails?: Maybe;\n address: BuildingAddress;\n afhmp?: Maybe;\n ageRestrictionDetail?: Maybe;\n ageRestrictionOrDisabled?: Maybe;\n ageRestrictionSize?: Maybe;\n ageRestrictionType?: Maybe;\n allowedUnitTypes: Array;\n amenities: Array;\n amenitiesDetails?: Maybe;\n applicationUrl?: Maybe;\n availability: Array;\n cedacId?: Maybe;\n cityOptions: Array;\n closedReferralCount?: Maybe;\n closedReferralType?: Maybe;\n contact?: Maybe;\n contactEmail?: Maybe;\n contactName?: Maybe;\n contactPhone?: Maybe;\n deedRestrictionDetails?: Maybe;\n description?: Maybe;\n developer?: Maybe;\n documents: Array;\n duplicate?: Maybe;\n duplicateSlug?: Maybe;\n fcfsAvailableUnitGroups: Array;\n featured?: Maybe;\n geocode?: Maybe;\n hasAccessibleImages: Scalars['Boolean'];\n hasAccessibleUnits: Scalars['Boolean'];\n hasAgeRestrictions?: Maybe;\n hasClosedReferrals?: Maybe;\n hasClosedWaitlist: Scalars['Boolean'];\n hasCustomIncomeRestrictions: Scalars['Boolean'];\n hasElevator?: Maybe;\n hasFcfs: Scalars['Boolean'];\n hasLottery: Scalars['Boolean'];\n hasOpenWaitlist: Scalars['Boolean'];\n hasPreferences?: Maybe;\n hasRollInShowers?: Maybe;\n hasSetAsides?: Maybe;\n hasStepFreeEntrance?: Maybe;\n hasUnknownStatus: Scalars['Boolean'];\n hasWheelchairAccess?: Maybe;\n history: HistoryEntriesPaginated;\n historySearchFields: Array;\n housingLottery?: Maybe;\n housingSetAsides: Array;\n housingShortWaitlist?: Maybe;\n housingType?: Maybe;\n housingVacancy?: Maybe;\n housingWaitlist: HousingWaitlist;\n id: Scalars['ID'];\n images?: Maybe>;\n includedUtilities: Array;\n isChamp: Scalars['Boolean'];\n listingScores?: Maybe>;\n location?: Maybe;\n manager?: Maybe;\n managers?: Maybe>;\n maxIncomes: Array;\n metadata: BuildingMetadata;\n minimumAdminPublishScore: ScoreLevel;\n minimumPublishScore: ScoreLevel;\n moveInRequirements: Array;\n name?: Maybe;\n nhpdId?: Maybe;\n noNotifications: Scalars['Boolean'];\n notes?: Maybe;\n organizations: Array;\n overrides?: Maybe>;\n owners?: Maybe>;\n permissions: BuildingPermissions;\n petFriendly?: Maybe;\n petPolicy?: Maybe;\n preferences: Array;\n project: Project;\n projectId?: Maybe;\n releaseDate?: Maybe;\n scatteredSite?: Maybe;\n scoreSet?: Maybe;\n scoreSets?: Maybe>;\n sensitiveListing: Scalars['Boolean'];\n sensitiveType?: Maybe;\n shiComprehensivePermit?: Maybe;\n shiId?: Maybe;\n showRbi: Scalars['Boolean'];\n slug: Scalars['String'];\n sourceRecords: Array;\n tags: Array;\n tenure?: Maybe;\n unitGroups: Array;\n units: BuildingUnits;\n url?: Maybe;\n utilitiesIncluded?: Maybe;\n visibility?: Maybe;\n visibilityDetails?: Maybe;\n willBeFuture?: Maybe;\n yearBuilt?: Maybe;\n yearMadeAffordable?: Maybe;\n};\n\n\nexport type MasterRecordAvailabilityArgs = {\n exhaustive?: Maybe;\n};\n\n\nexport type MasterRecordHistoryArgs = {\n input?: Maybe;\n page?: Maybe;\n pageSize?: Maybe;\n};\n\n\nexport type MasterRecordHousingLotteryArgs = {\n showExpired?: Maybe;\n};\n\n\nexport type MasterRecordScoreSetArgs = {\n formName: Scalars['String'];\n};\n\nexport type MasterRecordExportField = {\n __typename?: 'MasterRecordExportField';\n default?: Maybe;\n display?: Maybe;\n key: ExportFieldsEnum;\n};\n\n/** Autogenerated input type of MasterRecordExport */\nexport type MasterRecordExportInput = {\n /** A unique identifier for the client performing the mutation. */\n clientMutationId?: Maybe;\n fields?: Maybe>;\n input: Array;\n sortDirection?: Maybe;\n sortField?: Maybe;\n};\n\nexport type MaxIncome = {\n __typename?: 'MaxIncome';\n ami: Scalars['Int'];\n customMaxIncome?: Maybe;\n estimatedMaxIncome?: Maybe;\n householdSize: Scalars['Int'];\n id: Scalars['ID'];\n maxIncome?: Maybe;\n};\n\nexport type MaxIncomeInput = {\n ami?: Maybe;\n estimatedMaxIncome?: Maybe;\n householdSize?: Maybe;\n maxIncome?: Maybe;\n};\n\nexport type Mutation = {\n __typename?: 'Mutation';\n activateUser?: Maybe;\n addListingToOrganization?: Maybe;\n addOrganizationRoleToUser?: Maybe;\n addUserToOrganization?: Maybe;\n clearCache?: Maybe;\n createBuilding?: Maybe;\n createBuildingPhoto?: Maybe;\n createDirectUpload?: Maybe;\n createDsiImport?: Maybe;\n createHousingLottery?: Maybe;\n createOrganization?: Maybe;\n createRecordUpdateBatch?: Maybe;\n deactivateUser?: Maybe;\n deleteBuildingImage?: Maybe;\n deleteDsiImport?: Maybe;\n deleteOrganization?: Maybe;\n deleteRecordUpdateBatch?: Maybe;\n deleteUser?: Maybe;\n disableTwoFactor?: Maybe;\n editUser?: Maybe;\n inviteUser?: Maybe;\n masterRecordExport?: Maybe;\n processRecordUpdateBatch?: Maybe;\n publishListings?: Maybe>;\n removeListingFromOrganization?: Maybe;\n removeOrganizationRoleFromUser?: Maybe;\n removeUserFromOrganization?: Maybe;\n renewHousingShortWaitlist?: Maybe;\n renewHousingVacancy?: Maybe;\n reorderPhotos?: Maybe;\n resendInvite?: Maybe;\n reuploadRecordUpdateBatch?: Maybe;\n submitDsiImport?: Maybe;\n unpublishListing?: Maybe;\n updateBanner?: Maybe;\n updateBuilding?: Maybe;\n updateBuildingImage?: Maybe;\n updateBuildingPhoto?: Maybe;\n updateDsiMatchStatus?: Maybe;\n updateDsiMatchTarget?: Maybe;\n updateHousingLottery?: Maybe;\n updateHousingShortWaitlist?: Maybe;\n updateHousingVacancy?: Maybe;\n updateHousingWaitlist?: Maybe;\n updateMyAccount?: Maybe;\n updateMyDevToggles?: Maybe;\n updateOrganization?: Maybe;\n updateOrganizationRole?: Maybe;\n updatePreview?: Maybe;\n uploadBuildingImage?: Maybe;\n};\n\n\nexport type MutationActivateUserArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type MutationAddListingToOrganizationArgs = {\n input: AddListingToOrganizationInput;\n};\n\n\nexport type MutationAddOrganizationRoleToUserArgs = {\n input: AddOrganizationRoleToUserInput;\n};\n\n\nexport type MutationAddUserToOrganizationArgs = {\n input: AddUserToOrganizationInput;\n};\n\n\nexport type MutationClearCacheArgs = {\n cache: CacheEnum;\n slug?: Maybe;\n};\n\n\nexport type MutationCreateBuildingArgs = {\n input: CreateBuildingInput;\n};\n\n\nexport type MutationCreateBuildingPhotoArgs = {\n input: BuildingImageInput;\n slug: Scalars['ID'];\n};\n\n\nexport type MutationCreateDirectUploadArgs = {\n input: DirectUploadInput;\n};\n\n\nexport type MutationCreateDsiImportArgs = {\n input: DsiImportInput;\n};\n\n\nexport type MutationCreateHousingLotteryArgs = {\n input: HousingLotteryInput;\n slug: Scalars['ID'];\n};\n\n\nexport type MutationCreateOrganizationArgs = {\n input: CreateOrganizationInput;\n};\n\n\nexport type MutationCreateRecordUpdateBatchArgs = {\n input: RecordUpdateBatchInput;\n};\n\n\nexport type MutationDeactivateUserArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type MutationDeleteBuildingImageArgs = {\n input: DeleteBuildingImageInput;\n};\n\n\nexport type MutationDeleteDsiImportArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type MutationDeleteOrganizationArgs = {\n input: DeleteOrganizationInput;\n};\n\n\nexport type MutationDeleteRecordUpdateBatchArgs = {\n input: DeleteRecordUpdateBatchInput;\n};\n\n\nexport type MutationDeleteUserArgs = {\n input: DeleteUserInput;\n};\n\n\nexport type MutationDisableTwoFactorArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type MutationEditUserArgs = {\n input: EditUserInput;\n};\n\n\nexport type MutationInviteUserArgs = {\n input: InviteUserInput;\n};\n\n\nexport type MutationMasterRecordExportArgs = {\n input: MasterRecordExportInput;\n};\n\n\nexport type MutationProcessRecordUpdateBatchArgs = {\n batchId: Scalars['ID'];\n};\n\n\nexport type MutationPublishListingsArgs = {\n slugs: Array;\n verify?: Maybe;\n};\n\n\nexport type MutationRemoveListingFromOrganizationArgs = {\n input: RemoveListingFromOrganizationInput;\n};\n\n\nexport type MutationRemoveOrganizationRoleFromUserArgs = {\n input: RemoveOrganizationRoleFromUserInput;\n};\n\n\nexport type MutationRemoveUserFromOrganizationArgs = {\n input: RemoveUserFromOrganizationInput;\n};\n\n\nexport type MutationRenewHousingShortWaitlistArgs = {\n slug: Scalars['ID'];\n};\n\n\nexport type MutationRenewHousingVacancyArgs = {\n slug: Scalars['ID'];\n};\n\n\nexport type MutationReorderPhotosArgs = {\n order: Array;\n slug: Scalars['ID'];\n};\n\n\nexport type MutationResendInviteArgs = {\n input: ResendInviteInput;\n};\n\n\nexport type MutationReuploadRecordUpdateBatchArgs = {\n blobId: Scalars['String'];\n id: Scalars['ID'];\n};\n\n\nexport type MutationSubmitDsiImportArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type MutationUnpublishListingArgs = {\n slug: Scalars['ID'];\n unverify?: Maybe;\n};\n\n\nexport type MutationUpdateBannerArgs = {\n input: BannerInput;\n};\n\n\nexport type MutationUpdateBuildingArgs = {\n input: UpdateBuildingInput;\n};\n\n\nexport type MutationUpdateBuildingImageArgs = {\n input: UpdateBuildingImageInput;\n};\n\n\nexport type MutationUpdateBuildingPhotoArgs = {\n id: Scalars['ID'];\n input: BuildingImageInput;\n};\n\n\nexport type MutationUpdateDsiMatchStatusArgs = {\n id: Scalars['ID'];\n status: DsiMatchStatus;\n};\n\n\nexport type MutationUpdateDsiMatchTargetArgs = {\n id: Scalars['ID'];\n targetId: Scalars['ID'];\n};\n\n\nexport type MutationUpdateHousingLotteryArgs = {\n id: Scalars['ID'];\n input: HousingLotteryInput;\n};\n\n\nexport type MutationUpdateHousingShortWaitlistArgs = {\n input: HousingShortWaitlistInput;\n slug: Scalars['ID'];\n};\n\n\nexport type MutationUpdateHousingVacancyArgs = {\n input: HousingVacancyInput;\n slug: Scalars['ID'];\n};\n\n\nexport type MutationUpdateHousingWaitlistArgs = {\n input: HousingWaitlistInput;\n slug: Scalars['ID'];\n};\n\n\nexport type MutationUpdateMyAccountArgs = {\n input: MyAccountInput;\n};\n\n\nexport type MutationUpdateMyDevTogglesArgs = {\n toggles: Array;\n};\n\n\nexport type MutationUpdateOrganizationArgs = {\n input: UpdateOrganizationInput;\n};\n\n\nexport type MutationUpdateOrganizationRoleArgs = {\n input: UpdateOrganizationRoleInput;\n};\n\n\nexport type MutationUpdatePreviewArgs = {\n input: BuildingUpdateInput;\n slug: Scalars['ID'];\n};\n\n\nexport type MutationUploadBuildingImageArgs = {\n input: UploadBuildingImageInput;\n};\n\nexport type MyAccountInput = {\n email?: Maybe;\n name?: Maybe;\n password?: Maybe;\n passwordConfirmation?: Maybe;\n};\n\nexport type OperationError = {\n __typename?: 'OperationError';\n field?: Maybe;\n message: Scalars['String'];\n};\n\nexport type Organization = {\n __typename?: 'Organization';\n buildings: Array;\n city?: Maybe;\n id: Scalars['ID'];\n listingCount: Scalars['Int'];\n listingLinks: Array;\n listings: Array;\n name: Scalars['String'];\n other?: Maybe;\n permissions: OrganizationPermissions;\n phone?: Maybe;\n salesforceRecord?: Maybe;\n state?: Maybe;\n street1?: Maybe;\n userLinks: Array;\n zipCode?: Maybe;\n};\n\n\nexport type OrganizationBuildingsArgs = {\n input?: Maybe;\n};\n\n\nexport type OrganizationListingLinksArgs = {\n input?: Maybe;\n};\n\n\nexport type OrganizationUserLinksArgs = {\n input?: Maybe;\n};\n\nexport type OrganizationBuildingFilterInput = {\n city?: Maybe;\n firstCome?: Maybe;\n lottery?: Maybe;\n recentlyAdded?: Maybe;\n term?: Maybe;\n verified?: Maybe;\n waitListClosed?: Maybe;\n waitListOpen?: Maybe;\n};\n\nexport type OrganizationInput = {\n city?: Maybe;\n name?: Maybe;\n other?: Maybe;\n phone?: Maybe;\n salesforceRecord?: Maybe;\n state?: Maybe;\n street1?: Maybe;\n zipCode?: Maybe;\n};\n\nexport type OrganizationListingLink = {\n __typename?: 'OrganizationListingLink';\n id: Scalars['ID'];\n listing: BuildingObject;\n organization: Organization;\n role: Array;\n};\n\nexport type OrganizationPermissions = {\n __typename?: 'OrganizationPermissions';\n /** Delete organization? */\n canDeleteOrganization?: Maybe;\n /** Manage organization listings? */\n canManageOrganizationListings?: Maybe;\n /** Manage organization users? */\n canManageOrganizationUsers?: Maybe;\n /** Update organization? */\n canUpdateOrganization?: Maybe;\n};\n\nexport enum OrganizationRoleEnum {\n /** Property Funder */\n Funder = 'funder',\n /** Property Manager */\n Manager = 'manager',\n /** Property Owner */\n Owner = 'owner'\n}\n\nexport type OrganizationUserLink = {\n __typename?: 'OrganizationUserLink';\n id: Scalars['ID'];\n organization: Organization;\n roles: Array;\n user: User;\n};\n\nexport enum OrganizationUserRoleEnum {\n /** Admin User */\n Admin = 'admin',\n /** Base User */\n User = 'user'\n}\n\nexport type OrganizationsPaginated = {\n __typename?: 'OrganizationsPaginated';\n allItems: Array;\n hasMoreAfter: Scalars['Boolean'];\n hasMoreBefore: Scalars['Boolean'];\n items: Array;\n itemsCount: Scalars['Int'];\n page: Scalars['Int'];\n pageSize: Scalars['Int'];\n pagesCount: Scalars['Int'];\n};\n\n/** Interface for paginated information */\nexport type PaginatedInterface = {\n currentPage: Scalars['Int'];\n nextPage?: Maybe;\n pageSize: Scalars['Int'];\n pageWithItem?: Maybe;\n prevPage?: Maybe;\n totalCount: Scalars['Int'];\n totalPages: Scalars['Int'];\n};\n\n\n/** Interface for paginated information */\nexport type PaginatedInterfacePageWithItemArgs = {\n field: Scalars['String'];\n id: Scalars['ID'];\n};\n\nexport type Project = {\n __typename?: 'Project';\n developer?: Maybe;\n name?: Maybe;\n year?: Maybe;\n};\n\nexport type ProjectDeveloper = {\n __typename?: 'ProjectDeveloper';\n name: Scalars['String'];\n};\n\nexport type ProjectDeveloperInput = {\n name?: Maybe;\n};\n\nexport type PropertyContact = {\n __typename?: 'PropertyContact';\n email?: Maybe;\n id: Scalars['ID'];\n name?: Maybe;\n phone?: Maybe;\n};\n\nexport type PropertyContactInput = {\n deleted?: Maybe;\n email?: Maybe;\n id?: Maybe;\n name?: Maybe;\n phone?: Maybe;\n};\n\n/** Publication status for a given slug */\nexport type PublicationStatus = Publishable & {\n __typename?: 'PublicationStatus';\n changedAt?: Maybe;\n changedBy?: Maybe;\n id: Scalars['ID'];\n isChanged: Scalars['Boolean'];\n isFuture?: Maybe;\n isNew: Scalars['Boolean'];\n isOutdated: Scalars['Boolean'];\n isPublished: Scalars['Boolean'];\n isVerified: Scalars['Boolean'];\n publishedAt?: Maybe;\n publishedBy?: Maybe;\n publishedReleaseDate?: Maybe;\n unpublishedAt?: Maybe;\n unpublishedBy?: Maybe;\n verifiedAt?: Maybe;\n verifiedBy?: Maybe;\n};\n\n/** Interface for a publishable item */\nexport type Publishable = {\n changedAt?: Maybe;\n changedBy?: Maybe;\n isChanged: Scalars['Boolean'];\n isFuture?: Maybe;\n isNew: Scalars['Boolean'];\n isOutdated: Scalars['Boolean'];\n isPublished: Scalars['Boolean'];\n isVerified: Scalars['Boolean'];\n publishedAt?: Maybe;\n publishedBy?: Maybe;\n publishedReleaseDate?: Maybe;\n unpublishedAt?: Maybe;\n unpublishedBy?: Maybe;\n verifiedAt?: Maybe;\n verifiedBy?: Maybe;\n};\n\nexport type Query = {\n __typename?: 'Query';\n banner?: Maybe;\n building?: Maybe;\n buildingImage?: Maybe;\n buildingPreviews: Array;\n buildingSearch: BuildingSearchResult;\n buildingTags: Array;\n buildings: Array;\n cities: Array;\n dataSources: Array;\n dsiImport?: Maybe;\n dsiImports: Array;\n geocode: Geocode;\n info: Info;\n masterRecord?: Maybe;\n masterRecordExportFields: Array;\n myAccount?: Maybe;\n myPermissions: RootPermissions;\n organization?: Maybe;\n organizationBuilding?: Maybe;\n organizationSearch: OrganizationsPaginated;\n organizationSearchFields: Array;\n organizations: Array;\n preview?: Maybe;\n publicationStatus?: Maybe;\n published?: Maybe;\n record?: Maybe;\n recordExport?: Maybe;\n recordSearch: BuildingsPaginated;\n recordSearchFields: Array;\n recordUpdateBatch?: Maybe;\n recordUpdateBatches: Array;\n records: RecordSearchResult;\n slugs: Array;\n sourceRecord?: Maybe;\n tags: Array;\n user?: Maybe;\n userSearch: UsersPaginated;\n userSearchFields: Array;\n users: Array;\n};\n\n\nexport type QueryBuildingArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type QueryBuildingImageArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type QueryBuildingPreviewsArgs = {\n organizationId?: Maybe;\n};\n\n\nexport type QueryBuildingSearchArgs = {\n input: BuildingSearchInput;\n page?: Maybe;\n seed?: Maybe;\n};\n\n\nexport type QueryBuildingsArgs = {\n input: BuildingSearchInput;\n};\n\n\nexport type QueryCitiesArgs = {\n organizationId?: Maybe;\n};\n\n\nexport type QueryDsiImportArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type QueryGeocodeArgs = {\n input: BuildingAddressInput;\n};\n\n\nexport type QueryMasterRecordArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type QueryOrganizationArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type QueryOrganizationBuildingArgs = {\n slug: Scalars['ID'];\n};\n\n\nexport type QueryOrganizationSearchArgs = {\n input: SearchInput;\n page?: Maybe;\n pageSize?: Maybe;\n};\n\n\nexport type QueryPreviewArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type QueryPublicationStatusArgs = {\n slug: Scalars['ID'];\n};\n\n\nexport type QueryPublishedArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type QueryRecordArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type QueryRecordExportArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type QueryRecordSearchArgs = {\n input: SearchInput;\n page?: Maybe;\n pageSize?: Maybe;\n};\n\n\nexport type QueryRecordUpdateBatchArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type QueryRecordsArgs = {\n input: RecordSearchInput;\n page?: Maybe;\n pageSize?: Maybe;\n};\n\n\nexport type QuerySlugsArgs = {\n limit?: Maybe;\n str: Scalars['String'];\n};\n\n\nexport type QuerySourceRecordArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type QueryUserArgs = {\n id: Scalars['ID'];\n};\n\n\nexport type QueryUserSearchArgs = {\n input: SearchInput;\n page?: Maybe;\n pageSize?: Maybe;\n};\n\n\nexport type QueryUsersArgs = {\n organizationTerm?: Maybe;\n term?: Maybe;\n};\n\n/** Data as we've received them from the original source. */\nexport type RawRecord = {\n __typename?: 'RawRecord';\n id: Scalars['ID'];\n importBatch: ImportBatch;\n values: Scalars['String'];\n};\n\n/** Spreadsheet export for a record */\nexport type RecordExport = {\n __typename?: 'RecordExport';\n allProcessed: Scalars['Boolean'];\n fields: Array;\n finished: Scalars['Boolean'];\n id: Scalars['ID'];\n percentProcessed?: Maybe;\n processed?: Maybe;\n slugs: Array;\n started: Scalars['Boolean'];\n total?: Maybe;\n url?: Maybe;\n};\n\nexport type RecordSearchInput = {\n accessibilityFeatures?: Maybe>;\n ageRestrictedOrDisabled?: Maybe;\n ageRestriction?: Maybe;\n allNearby?: Maybe;\n amenities?: Maybe>;\n availability?: Maybe;\n bounds?: Maybe;\n city?: Maybe;\n dataSources?: Maybe>;\n geoComponents?: Maybe>;\n hasBelowMarketRentUnits?: Maybe;\n hasClosedWaitlist?: Maybe;\n hasDeeplyAffordableUnits?: Maybe;\n hasElderlyHousing?: Maybe;\n hasFcfs?: Maybe;\n hasLottery?: Maybe;\n hasOpenWaitlist?: Maybe;\n hasShortWaitlist?: Maybe;\n hasUnitAccessibility?: Maybe>;\n isAgeRestricted?: Maybe;\n loc?: Maybe;\n locCoords?: Maybe;\n locType?: Maybe;\n numberBedrooms?: Maybe>;\n organizationIds?: Maybe>;\n petFriendly?: Maybe;\n published?: Maybe;\n tags?: Maybe>;\n term?: Maybe;\n verified?: Maybe;\n visibilities?: Maybe>;\n};\n\nexport type RecordSearchResult = PaginatedInterface & {\n __typename?: 'RecordSearchResult';\n currentPage: Scalars['Int'];\n nextPage?: Maybe;\n otherCounts: BuildingSearchResultCounts;\n pageSize: Scalars['Int'];\n pageWithItem?: Maybe;\n prevPage?: Maybe;\n results: Array;\n totalCount: Scalars['Int'];\n totalPages: Scalars['Int'];\n};\n\n\nexport type RecordSearchResultPageWithItemArgs = {\n field: Scalars['String'];\n id: Scalars['ID'];\n};\n\nexport type RecordUpdateBatch = {\n __typename?: 'RecordUpdateBatch';\n checked: RecordUpdateBatchStatus;\n countErrors?: Maybe;\n countExtracted?: Maybe;\n countNew?: Maybe;\n countRecordsWithErrors?: Maybe;\n countRecordsWithIssues?: Maybe;\n countRecordsWithWarnings?: Maybe;\n countTotal?: Maybe;\n countUpdated?: Maybe;\n countWarnings?: Maybe;\n createdAt: Scalars['Datetime'];\n createdBy?: Maybe;\n error?: Maybe;\n extracted: RecordUpdateBatchStatus;\n id: Scalars['ID'];\n imported: RecordUpdateBatchStatus;\n importedAt?: Maybe;\n importedBy?: Maybe;\n initialized: RecordUpdateBatchStatus;\n isError: Scalars['Boolean'];\n isImported: Scalars['Boolean'];\n isReady: Scalars['Boolean'];\n isStarted: Scalars['Boolean'];\n name?: Maybe;\n processed: RecordUpdateBatchStatus;\n recordUpdateErrors: Array;\n recordUpdateFile: RecordUpdateFile;\n recordUpdateItems: Array;\n recordUpdateRows: Array;\n rowCount: Scalars['Int'];\n started: Scalars['Boolean'];\n};\n\n\nexport type RecordUpdateBatchRecordUpdateItemsArgs = {\n page?: Maybe;\n pageSize?: Maybe;\n search?: Maybe;\n showAll?: Maybe;\n};\n\n\nexport type RecordUpdateBatchRecordUpdateRowsArgs = {\n page?: Maybe;\n pageSize?: Maybe;\n search?: Maybe;\n showAll?: Maybe;\n withErrors?: Maybe;\n withWarnings?: Maybe;\n};\n\n\nexport type RecordUpdateBatchRowCountArgs = {\n search?: Maybe;\n};\n\nexport type RecordUpdateBatchInput = {\n blobId: Scalars['String'];\n name?: Maybe;\n};\n\nexport type RecordUpdateBatchStatus = {\n __typename?: 'RecordUpdateBatchStatus';\n current?: Maybe;\n done: Scalars['Boolean'];\n indeterminate?: Maybe;\n percent?: Maybe;\n stage: RecordUpdateBatchStatusEnum;\n started: Scalars['Boolean'];\n total?: Maybe;\n};\n\nexport enum RecordUpdateBatchStatusEnum {\n Check = 'check',\n Extract = 'extract',\n Import = 'import',\n Initialize = 'initialize',\n Process = 'process'\n}\n\nexport type RecordUpdateError = {\n __typename?: 'RecordUpdateError';\n field?: Maybe;\n id: Scalars['ID'];\n message: Scalars['String'];\n recordUpdateBatch: RecordUpdateBatch;\n recordUpdateFile: RecordUpdateFile;\n recordUpdateRow: RecordUpdateRow;\n severity: RecordUpdateErrorSeverity;\n};\n\nexport enum RecordUpdateErrorSeverity {\n /** error */\n Error = 'error',\n /** warning */\n Warning = 'warning'\n}\n\nexport type RecordUpdateFile = FileOwnerInterface & {\n __typename?: 'RecordUpdateFile';\n extension?: Maybe;\n fileUrl?: Maybe;\n filename?: Maybe;\n id: Scalars['ID'];\n name: Scalars['String'];\n recordUpdateBatch: RecordUpdateBatch;\n recordUpdateErrors: Array;\n recordUpdateRows: Array;\n uploadedAt: Scalars['Datetime'];\n uploadedBy?: Maybe;\n};\n\nexport type RecordUpdateItem = {\n __typename?: 'RecordUpdateItem';\n accessibilityDetails?: Maybe;\n additionalDetails?: Maybe;\n ageRestrictionOrDisabled?: Maybe;\n ageRestrictionSize?: Maybe;\n ageRestrictionType?: Maybe;\n amenities?: Maybe>;\n applicationUrl?: Maybe;\n asBuilding: RecordUpdateItemBuilding;\n attributes: Scalars['JsonObject'];\n building?: Maybe;\n contactEmail?: Maybe;\n contactPhone?: Maybe;\n description?: Maybe;\n has1Bedroom?: Maybe;\n has2Bedroom?: Maybe;\n has3Bedroom?: Maybe;\n has4PlusBedrooms?: Maybe;\n hasAgeRestrictions?: Maybe;\n hasDeeplyAffordableUnits?: Maybe;\n hasSroUnits?: Maybe;\n hasStudioUnits?: Maybe;\n housingType?: Maybe;\n id: Scalars['ID'];\n isImported: Scalars['Boolean'];\n isNew: Scalars['Boolean'];\n mergedAttributes: Scalars['JsonObject'];\n notes?: Maybe;\n petFriendly?: Maybe;\n petPolicy?: Maybe;\n projectCity?: Maybe;\n projectDeveloperName?: Maybe;\n projectId?: Maybe;\n projectManagementCompany?: Maybe;\n projectName?: Maybe;\n projectStateCode?: Maybe;\n projectStreet1?: Maybe;\n projectStreet2?: Maybe;\n projectStreet3?: Maybe;\n projectZipCode?: Maybe;\n rawRecord?: Maybe;\n recordUpdateBatch: RecordUpdateBatch;\n recordUpdateRow?: Maybe;\n scatteredSite?: Maybe;\n sensitiveListing?: Maybe;\n slug?: Maybe;\n tenure?: Maybe;\n total1BedroomUnits?: Maybe;\n total2BedroomUnits?: Maybe;\n total3BedroomUnits?: Maybe;\n total4PlusBedroomUnits?: Maybe;\n totalAccessibleUnits?: Maybe;\n totalAffordableUnits?: Maybe;\n totalDeeplyAffordableUnits?: Maybe;\n totalSroUnits?: Maybe;\n totalStudioUnits?: Maybe;\n totalUnits?: Maybe;\n url?: Maybe;\n};\n\nexport type RecordUpdateItemBuilding = BuildingFieldsInterface & {\n __typename?: 'RecordUpdateItemBuilding';\n accessibilityDetails?: Maybe;\n additionalDetails?: Maybe;\n address: BuildingAddress;\n ageRestrictionDetail?: Maybe;\n ageRestrictionOrDisabled?: Maybe;\n ageRestrictionSize?: Maybe;\n ageRestrictionType?: Maybe;\n amenities: Array;\n amenitiesDetails?: Maybe;\n applicationUrl?: Maybe;\n cedacId?: Maybe;\n closedReferralCount?: Maybe;\n closedReferralType?: Maybe;\n contact?: Maybe;\n contactEmail?: Maybe;\n contactName?: Maybe;\n contactPhone?: Maybe;\n deedRestrictionDetails?: Maybe;\n description?: Maybe;\n developer?: Maybe;\n duplicate?: Maybe;\n duplicateSlug?: Maybe;\n hasAgeRestrictions?: Maybe;\n hasClosedReferrals?: Maybe;\n hasElevator?: Maybe;\n hasPreferences?: Maybe;\n hasRollInShowers?: Maybe;\n hasSetAsides?: Maybe;\n hasStepFreeEntrance?: Maybe;\n hasWheelchairAccess?: Maybe;\n housingSetAsides: Array;\n housingType?: Maybe;\n id: Scalars['ID'];\n includedUtilities: Array;\n manager?: Maybe;\n moveInRequirements: Array;\n name?: Maybe;\n nhpdId?: Maybe;\n noNotifications: Scalars['Boolean'];\n notes?: Maybe;\n petFriendly?: Maybe;\n petPolicy?: Maybe;\n preferences: Array;\n project: Project;\n projectId?: Maybe;\n scatteredSite?: Maybe;\n sensitiveListing: Scalars['Boolean'];\n sensitiveType?: Maybe;\n shiComprehensivePermit?: Maybe;\n shiId?: Maybe;\n slug: Scalars['String'];\n tags: Array;\n tenure?: Maybe;\n units: BuildingUnits;\n url?: Maybe;\n utilitiesIncluded?: Maybe;\n visibility?: Maybe;\n visibilityDetails?: Maybe;\n yearBuilt?: Maybe;\n yearMadeAffordable?: Maybe;\n};\n\nexport type RecordUpdateRow = {\n __typename?: 'RecordUpdateRow';\n building?: Maybe;\n data: Scalars['JsonObject'];\n generated: Scalars['Boolean'];\n id: Scalars['ID'];\n index: Scalars['Int'];\n isCurrent: Scalars['Boolean'];\n isImported: Scalars['Boolean'];\n name?: Maybe;\n recordUpdateBatch: RecordUpdateBatch;\n recordUpdateErrors: Array;\n recordUpdateFile: RecordUpdateFile;\n recordUpdateItem?: Maybe;\n slug?: Maybe;\n};\n\n/** Autogenerated input type of RemoveListingFromOrganization */\nexport type RemoveListingFromOrganizationInput = {\n /** A unique identifier for the client performing the mutation. */\n clientMutationId?: Maybe;\n organizationId: Scalars['ID'];\n slug: Scalars['ID'];\n};\n\n/** Autogenerated input type of RemoveOrganizationRoleFromUser */\nexport type RemoveOrganizationRoleFromUserInput = {\n /** A unique identifier for the client performing the mutation. */\n clientMutationId?: Maybe;\n organizationId: Scalars['ID'];\n role: OrganizationUserRoleEnum;\n userId: Scalars['ID'];\n};\n\n/** Autogenerated input type of RemoveUserFromOrganization */\nexport type RemoveUserFromOrganizationInput = {\n /** A unique identifier for the client performing the mutation. */\n clientMutationId?: Maybe;\n organizationId: Scalars['ID'];\n userId: Scalars['ID'];\n};\n\n/** Autogenerated input type of ResendInvite */\nexport type ResendInviteInput = {\n /** A unique identifier for the client performing the mutation. */\n clientMutationId?: Maybe;\n userId: Scalars['ID'];\n};\n\nexport type RootPermissions = {\n __typename?: 'RootPermissions';\n /** Admin? */\n canAdmin?: Maybe;\n /** Admin search? */\n canAdminSearch?: Maybe;\n /** Administer listings? */\n canAdministerListings?: Maybe;\n /** Clear caches? */\n canClearCaches?: Maybe;\n /** Create admin users? */\n canCreateAdminUsers?: Maybe;\n /** Create listings? */\n canCreateListings?: Maybe;\n /** Create non admin users? */\n canCreateNonAdminUsers?: Maybe;\n /** Create organizations? */\n canCreateOrganizations?: Maybe;\n /** Export records? */\n canExportRecords?: Maybe;\n /** Import records? */\n canImportRecords?: Maybe;\n /** Set admin banner? */\n canSetAdminBanner?: Maybe;\n /** Superadmin? */\n canSuperadmin?: Maybe;\n /** View non public listings? */\n canViewNonPublicListings?: Maybe;\n /** View sensitive listings? */\n canViewSensitiveListings?: Maybe;\n};\n\nexport enum ScoreLevel {\n Error = 'error',\n L0 = 'l0',\n L1 = 'l1',\n L2 = 'l2',\n L3 = 'l3',\n L4 = 'l4'\n}\n\n/** A set of listing scores */\nexport type ScoreSet = {\n __typename?: 'ScoreSet';\n currentLevel: ScoreLevel;\n formName: Scalars['String'];\n id: Scalars['ID'];\n nextLevel?: Maybe;\n scores: Array;\n};\n\nexport type SearchCondition = {\n fieldName: Scalars['String'];\n operator: Scalars['String'];\n value: Scalars['JsonObject'];\n};\n\nexport type SearchFieldDefinition = {\n __typename?: 'SearchFieldDefinition';\n allowMultipleValues: Scalars['Boolean'];\n defaultOperator?: Maybe;\n defaultSortOption?: Maybe;\n field: Scalars['String'];\n fieldType: SearchFieldType;\n filterable: Scalars['Boolean'];\n id: Scalars['ID'];\n label: Scalars['String'];\n operators: Array;\n options?: Maybe>;\n sortOptions?: Maybe>;\n sortable: Scalars['Boolean'];\n};\n\nexport enum SearchFieldType {\n ArrayField = 'ArrayField',\n BooleanField = 'BooleanField',\n DateField = 'DateField',\n EnumField = 'EnumField',\n NumberField = 'NumberField',\n TextField = 'TextField'\n}\n\nexport type SearchInput = {\n input: Array;\n sortDirection?: Maybe;\n sortField?: Maybe;\n};\n\nexport enum SortDirection {\n Asc = 'ASC',\n Desc = 'DESC'\n}\n\n/** Normalized records based on the raw data we've received */\nexport type SourceRecord = BuildingInterface & {\n __typename?: 'SourceRecord';\n accessibilityDetails?: Maybe;\n additionalDetails?: Maybe;\n address: BuildingAddress;\n afhmp?: Maybe;\n ageRestrictionDetail?: Maybe;\n ageRestrictionOrDisabled?: Maybe;\n ageRestrictionSize?: Maybe;\n ageRestrictionType?: Maybe;\n allowedUnitTypes: Array;\n amenities: Array;\n amenitiesDetails?: Maybe;\n applicationUrl?: Maybe;\n availability: Array;\n cedacId?: Maybe;\n cityOptions: Array;\n closedReferralCount?: Maybe;\n closedReferralType?: Maybe;\n contact?: Maybe;\n contactEmail?: Maybe;\n contactName?: Maybe;\n contactPhone?: Maybe;\n createdAt: Scalars['Datetime'];\n dataSource: DataSource;\n deedRestrictionDetails?: Maybe;\n description?: Maybe;\n developer?: Maybe;\n documents: Array;\n duplicate?: Maybe;\n duplicateSlug?: Maybe;\n fcfsAvailableUnitGroups: Array;\n featured?: Maybe;\n geocode?: Maybe;\n hasAccessibleImages: Scalars['Boolean'];\n hasAccessibleUnits: Scalars['Boolean'];\n hasAgeRestrictions?: Maybe;\n hasClosedReferrals?: Maybe;\n hasClosedWaitlist: Scalars['Boolean'];\n hasCustomIncomeRestrictions: Scalars['Boolean'];\n hasElevator?: Maybe;\n hasFcfs: Scalars['Boolean'];\n hasLottery: Scalars['Boolean'];\n hasOpenWaitlist: Scalars['Boolean'];\n hasPreferences?: Maybe;\n hasRollInShowers?: Maybe;\n hasSetAsides?: Maybe;\n hasStepFreeEntrance?: Maybe;\n hasUnknownStatus: Scalars['Boolean'];\n hasWheelchairAccess?: Maybe;\n history: HistoryEntriesPaginated;\n historySearchFields: Array;\n housingLottery?: Maybe;\n housingSetAsides: Array;\n housingShortWaitlist?: Maybe;\n housingType?: Maybe;\n housingVacancy?: Maybe;\n housingWaitlist: HousingWaitlist;\n id: Scalars['ID'];\n images?: Maybe>;\n importBatch?: Maybe;\n includedUtilities: Array;\n isChamp: Scalars['Boolean'];\n listingScores?: Maybe>;\n location?: Maybe;\n manager?: Maybe;\n managers?: Maybe>;\n masterRecord?: Maybe;\n matches: Array;\n maxIncomes: Array;\n minimumAdminPublishScore: ScoreLevel;\n minimumPublishScore: ScoreLevel;\n moveInRequirements: Array;\n name?: Maybe;\n nhpdId?: Maybe;\n noNotifications: Scalars['Boolean'];\n notes?: Maybe;\n organizations: Array;\n overrides?: Maybe>;\n owners?: Maybe>;\n permissions: BuildingPermissions;\n petFriendly?: Maybe;\n petPolicy?: Maybe;\n preferences: Array;\n project: Project;\n projectId?: Maybe;\n rawRecord?: Maybe;\n releaseDate?: Maybe;\n scatteredSite?: Maybe;\n scoreSet?: Maybe;\n scoreSets?: Maybe>;\n sensitiveListing: Scalars['Boolean'];\n sensitiveType?: Maybe;\n shiComprehensivePermit?: Maybe;\n shiId?: Maybe;\n showRbi: Scalars['Boolean'];\n slug: Scalars['String'];\n sourceRecords?: Maybe>;\n tags: Array;\n tenure?: Maybe;\n unitGroups: Array;\n units: BuildingUnits;\n url?: Maybe;\n utilitiesIncluded?: Maybe;\n visibility?: Maybe;\n visibilityDetails?: Maybe;\n willBeFuture?: Maybe;\n yearBuilt?: Maybe;\n yearMadeAffordable?: Maybe;\n};\n\n\n/** Normalized records based on the raw data we've received */\nexport type SourceRecordAvailabilityArgs = {\n exhaustive?: Maybe;\n};\n\n\n/** Normalized records based on the raw data we've received */\nexport type SourceRecordHistoryArgs = {\n input?: Maybe;\n page?: Maybe;\n pageSize?: Maybe;\n};\n\n\n/** Normalized records based on the raw data we've received */\nexport type SourceRecordHousingLotteryArgs = {\n showExpired?: Maybe;\n};\n\n\n/** Normalized records based on the raw data we've received */\nexport type SourceRecordScoreSetArgs = {\n formName: Scalars['String'];\n};\n\n/** SourceRecordMatches */\nexport type SourceRecordMatch = {\n __typename?: 'SourceRecordMatch';\n certainty: CertaintyTypes;\n info?: Maybe;\n score?: Maybe;\n source: SourceRecord;\n target: SourceRecord;\n};\n\nexport enum UnitAccessibility {\n /** Hearing accessible */\n Hearing = 'HEARING',\n /** Mobility accessible */\n Mobility = 'MOBILITY',\n /** Vision accessible */\n Vision = 'VISION'\n}\n\nexport type UnitWaitlist = {\n __typename?: 'UnitWaitlist';\n closeDate?: Maybe;\n lockMessage?: Maybe;\n lockReason?: Maybe;\n locked: Scalars['Boolean'];\n openDate?: Maybe;\n status?: Maybe;\n unitType: BuildingBedroom;\n};\n\nexport type UnitWaitlistInput = {\n status?: Maybe;\n unitType: BuildingBedroom;\n};\n\n/** Autogenerated return type of UpdateBanner. */\nexport type UpdateBannerPayload = {\n __typename?: 'UpdateBannerPayload';\n banner?: Maybe;\n errors?: Maybe>;\n};\n\n/** Autogenerated input type of UpdateBuildingImage */\nexport type UpdateBuildingImageInput = {\n buildingImage: BuildingImageInput;\n /** A unique identifier for the client performing the mutation. */\n clientMutationId?: Maybe;\n id: Scalars['ID'];\n};\n\n/** Autogenerated input type of UpdateBuilding */\nexport type UpdateBuildingInput = {\n building: BuildingInput;\n /** A unique identifier for the client performing the mutation. */\n clientMutationId?: Maybe;\n slug: Scalars['String'];\n};\n\n/** Autogenerated return type of UpdateMatchStatus. */\nexport type UpdateMatchStatusPayload = {\n __typename?: 'UpdateMatchStatusPayload';\n affectedRecords: Array;\n record: DsiMatchRecord;\n};\n\n/** Autogenerated return type of UpdateMatchTarget. */\nexport type UpdateMatchTargetPayload = {\n __typename?: 'UpdateMatchTargetPayload';\n affectedRecordMatches: Array;\n record: DsiMatchRecord;\n};\n\n/** Autogenerated return type of UpdateMyAccount. */\nexport type UpdateMyAccountPayload = {\n __typename?: 'UpdateMyAccountPayload';\n errors?: Maybe>;\n user?: Maybe;\n};\n\n/** Autogenerated return type of UpdateMyDevToggles. */\nexport type UpdateMyDevTogglesPayload = {\n __typename?: 'UpdateMyDevTogglesPayload';\n errors?: Maybe>;\n user?: Maybe;\n};\n\n/** Autogenerated input type of UpdateOrganization */\nexport type UpdateOrganizationInput = {\n /** A unique identifier for the client performing the mutation. */\n clientMutationId?: Maybe;\n id: Scalars['ID'];\n input: OrganizationInput;\n};\n\n/** Autogenerated input type of UpdateOrganizationRole */\nexport type UpdateOrganizationRoleInput = {\n /** A unique identifier for the client performing the mutation. */\n clientMutationId?: Maybe;\n organizationId: Scalars['ID'];\n role?: Maybe>;\n slug: Scalars['ID'];\n};\n\n/** Autogenerated input type of UploadBuildingImage */\nexport type UploadBuildingImageInput = {\n caption?: Maybe;\n /** A unique identifier for the client performing the mutation. */\n clientMutationId?: Maybe;\n image: Scalars['File'];\n name?: Maybe;\n slug: Scalars['String'];\n};\n\n/** User Type */\nexport type User = {\n __typename?: 'User';\n deactivated?: Maybe;\n dev: Scalars['Boolean'];\n devToggles: Array;\n email: Scalars['String'];\n id: Scalars['ID'];\n invitationAcceptedAt?: Maybe;\n invitationCreatedAt?: Maybe;\n invitationSentAt?: Maybe;\n invitedBy?: Maybe;\n lastActive?: Maybe;\n lastLogin?: Maybe;\n name?: Maybe;\n organizationLinks?: Maybe>;\n permissions: UserPermissions;\n role: UserRole;\n status?: Maybe;\n twoFactorEnabled: Scalars['Boolean'];\n};\n\nexport type UserInput = {\n email?: Maybe;\n name?: Maybe;\n organizationIds?: Maybe>;\n role?: Maybe;\n};\n\nexport type UserPermissions = {\n __typename?: 'UserPermissions';\n /** Activate user? */\n canActivateUser?: Maybe;\n /** Deactivate user? */\n canDeactivateUser?: Maybe;\n /** Delete user? */\n canDeleteUser?: Maybe;\n /** Manage mfa? */\n canManageMfa?: Maybe;\n /** Manage user? */\n canManageUser?: Maybe;\n /** Reset mfa? */\n canResetMfa?: Maybe;\n /** Reset password? */\n canResetPassword?: Maybe;\n /** Send invitation? */\n canSendInvitation?: Maybe;\n /** View audit logs? */\n canViewAuditLogs?: Maybe;\n};\n\nexport enum UserRole {\n Admin = 'admin',\n PropertyManager = 'property_manager',\n Superadmin = 'superadmin',\n Viewer = 'viewer'\n}\n\nexport enum UserStatus {\n Active = 'active',\n Inactive = 'inactive',\n InviteExpired = 'invite_expired',\n Invited = 'invited',\n Locked = 'locked'\n}\n\nexport type UsersPaginated = {\n __typename?: 'UsersPaginated';\n allItems: Array;\n hasMoreAfter: Scalars['Boolean'];\n hasMoreBefore: Scalars['Boolean'];\n items: Array;\n itemsCount: Scalars['Int'];\n page: Scalars['Int'];\n pageSize: Scalars['Int'];\n pagesCount: Scalars['Int'];\n};\n","import _every from \"lodash-es/every\";\nimport _some from \"lodash-es/some\";\nimport { FeatureToggle } from \"gqlTypes\";\n\nexport type ToggleMode = \"all\" | \"any\";\nexport type ToggleFunction = (flags: FeatureToggle | FeatureToggle[], mode?: ToggleMode) => boolean;\n\n// @ts-ignore - Passed from webpack config\nif (FEATURE_TOGGLES && FEATURE_TOGGLES.length > 0) console.log({ FEATURE_TOGGLES });\n\n// @ts-ignore - Passed from webpack config\nexport const getEnvToggles = () => (ENV_TOGGLES || []) as FeatureToggle[];\n\nconst toArray = (x: any | any[]) => (Array.isArray(x) ? x : [x]);\n\nexport const toggleFactory =\n (flagSet: FeatureToggle[]): ToggleFunction =>\n (flags: FeatureToggle | FeatureToggle[], mode: ToggleMode = \"all\") =>\n (mode === \"all\" ? _every : _some)(\n (toArray(flags) || []).map((f) => flagSet.includes(f)),\n Boolean,\n );\n\n// @ts-ignore - Passed from webpack config\nexport const featureIsToggled: ToggleFunction = toggleFactory(FEATURE_TOGGLES);\n"],"names":["id","holder","document","createElement","setAttribute","elem","getElementById","appendChild","GoogleTranslate","attempts","setAttempts","useState","timeout","useRef","root","selectElem","setSelectElem","querySelector","attemptToLoad","useCallback","current","setTimeout","google","translate","TranslateElement","hasChildNodes","pageLanguage","useEffect","clearInterval","handler","e","value","target","option","Array","from","options","find","o","text","textContent","window","dataLayer","push","event","GtmTriggers","lang","langName","err","console","error","addEventListener","removeEventListener","React","ref","Skeleton","width","height","getDataAttrs","trigger","label","labelValue","action","otherData","labelString","GTM_LABELS","localizationMessages","GtmWrapper","props","children","boxProps","dataAttrs","Box","Object","assign","className","useStyles","makeStyles","spacing","palette","subtitle","fontFamily","color","grey","fontSize","lineHeight","paddingTop","HeroTitle","primary","secondary","classes","sx","mb","Typography","variant","component","ReverseMenuContainer","renderTrigger","uuid","popupState","usePopupState","popupId","bindTrigger","Menu","bindMenu","map","child","onClick","args","close","NavbarSubMenu","i","isType","NavbarAction","GtmNavbarAction","key","menuItem","NavbarLink","GtmNavbarLink","NavbarRouteLink","GtmNavbarRouteLink","NavbarMenu","p","GtmWrapperProps","MenuItem","title","inheritWeight","fontWeight","unsetWeight","NavbarTopLevelMenu","LinkProps","SubMenu","Link","typography","shape","textTransform","paddingLeft","paddingRight","display","toolbar","body1","alignItems","backgroundColor","main","borderBottom","navbarBrand","borderRadius","itemContainer","justifyContent","gap","DesktopNavbar","noTranslate","bannerContent","AppBar","position","elevation","role","Toolbar","HeaderNavLink","GtmLabels","HeaderNavLinkHome","RouterLink","to","src","logoImg","alt","flexDirection","featureIsToggled","FeatureToggle","TopLevelMenu","disabled","underline","href","undefined","collapse","divider","borderTop","NavbarMobileSubMenu","startOpen","level","open","setOpen","ExpandLessIcon","ExpandMoreIcon","Collapse","in","unmountOnExit","SubMenuBody","menuList","marginLeft","zIndex","textDecoration","pxToRem","flexGrow","marginRight","menuPaper","left","boxShadow","minWidth","maxWidth","MobileNavbar","menuRef","menuOpen","setMenuOpen","location","useLocation","focusRef","handleKeyDownInMenu","evt","includes","preventDefault","stopPropagation","menuItems","querySelectorAll","activeElement","currentIndex","indexOf","maxIndex","length","nextIndex","focus","menus","items","theme","appBar","index","disableAutoFocusItem","disableAutoFocus","disablePortal","tabIndex","onClose","anchorEl","anchorOrigin","vertical","horizontal","transformOrigin","paper","TransitionComponent","Slide","onKeyDown","Backdrop","useIsMobile","type","useCheckboxStyles","checked","svg","WhiteCheckbox","Checkbox","breakpoints","mcEmbedSignup","fieldGroup","marginBottom","input","background","inputRoot","helperText","right","bottom","top","padding","checkboxLabel","email","appearance","border","subscribeText","contrastText","down","PageFooterNewsletterSignup","t","useFormatMessage","srOnly","useSrOnlyClassName","formElement","newsChecked","setNewsChecked","listingsChecked","setListingsChecked","setEmail","fName","setFname","lName","setLname","emailError","setEmailError","fNameError","setFNameError","lNameError","setLNameError","noSelectionsError","setNoSelectionsError","subscribed","setSubscribed","textFieldConfig","required","fullWidth","size","InputLabelProps","FormHelperTextProps","InputProps","handleCheckboxChange","name","method","noValidate","Grid","container","item","xs","md","htmlFor","TextField","autoComplete","onChange","FormGroup","row","FormControlLabel","control","style","defaultValue","Button","submit","footer","backgroundImage","logoMark","backgroundSize","backgroundPosition","backgroundRepeat","link","textAlign","leftCol","logo","eohLogo","button","whiteSpace","checkbox","socialButton","transition","paddingBottom","PageFooter","cx","isMobileXs","isMobile","navigationItems","URLS","gtmTrigger","FooterNavLink","gtmLabel","HeaderNavLinkAbout","HeaderNavLinkResources","FooterNavLinkTermsOfService","FooterNavLinkPrivacyPolicy","FooterNavLinkAccessibilityPolicy","navigation","navItem","mailChimpSignup","logos","copyright","year","Date","getFullYear","socialButtons","Tooltip","LinkedInIcon","FooterNavLinkBackToTop","scroll","behavior","PublishIcon","gridItems","links","sm","signup","branding","align","mt","grid","useMemo","Container","breakpoint","useMediaQuery","useTheme","overflow","useSrOnlyClassNames","UserPageNavbar","callToAction","NavbarContainer","MenuIcon","None","fullHeight","minHeight","pageContainer","contentContainer","banner","BannerSvg","bannerOverlay","content","margin","marginTop","borderTopLeftRadius","borderTopRightRadius","welcomeContent","UserLayout","welcome","showNav","showFooter","hnmiLinkedIn","about","resources","accessibilityPolicy","termsOfService","privacyPolicy","joinOwnerDrive","housingAuthorityLinks","dhcd","mhp","masshousing","massdevelopment","champPreferenceImminentDanger","champPreferenceHowToApply","landingV2ResourcesLink","learnMoreV2WhoSiteFor","supportUsV2WhoSiteFor","myMassHomeV2WhoSiteFor","BannerColorEnum","BuildingAgeRestriction","BuildingAgeRestrictionSizeEnum","BuildingAvailabilityStatus","BuildingBedroom","BuildingClosedReferralTypeEnum","BuildingVisibilities","CacheEnum","CertaintyTypes","DsiImportStatus","DsiMatchStatus","DsiRawRecordType","ExportFieldsEnum","HistoryEvent","HousingSetAsideTypeEnum","OrganizationRoleEnum","OrganizationUserRoleEnum","RecordUpdateBatchStatusEnum","ScoreLevel","SearchFieldType","SortDirection","UnitAccessibility","UserRole","UserStatus","FEATURE_TOGGLES","log","getEnvToggles","ENV_TOGGLES","flagSet","flags","mode","_every","_some","x","isArray","f","Boolean"],"sourceRoot":""}