keycloak-d4science-spi-parent/keycloak-d4science-theme/src/main/resources/theme/d4science/account/resources/assets/Applications-B_V6l-qx.js.map

1 line
20 KiB
Plaintext

{"version":3,"file":"Applications-B_V6l-qx.js","sources":["../../../../../node_modules/.pnpm/@patternfly+react-core@5.2.3_react-dom@18.2.0_react@18.2.0/node_modules/@patternfly/react-core/dist/esm/components/DataList/DataListToggle.js","../../../../../node_modules/.pnpm/@patternfly+react-icons@5.2.1_react-dom@18.2.0_react@18.2.0/node_modules/@patternfly/react-icons/dist/esm/icons/info-alt-icon.js","../../src/applications/Applications.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport { css } from '@patternfly/react-styles';\nimport AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-icon';\nimport styles from '@patternfly/react-styles/css/components/DataList/data-list.mjs';\nimport { Button, ButtonVariant } from '../Button';\nexport const DataListToggle = (_a) => {\n var { className = '', isExpanded = false, 'aria-controls': ariaControls = '', 'aria-label': ariaLabel = 'Details', rowid = '', id, buttonProps } = _a, props = __rest(_a, [\"className\", \"isExpanded\", 'aria-controls', 'aria-label', \"rowid\", \"id\", \"buttonProps\"]);\n return (React.createElement(\"div\", Object.assign({ className: css(styles.dataListItemControl, className) }, props),\n React.createElement(\"div\", { className: css(styles.dataListToggle) },\n React.createElement(Button, Object.assign({ id: id, variant: ButtonVariant.plain, \"aria-controls\": ariaControls !== '' && ariaControls, \"aria-label\": ariaLabel, \"aria-labelledby\": ariaLabel !== 'Details' ? null : `${rowid} ${id}`, \"aria-expanded\": isExpanded }, buttonProps),\n React.createElement(\"div\", { className: css(styles.dataListToggleIcon) },\n React.createElement(AngleRightIcon, null))))));\n};\nDataListToggle.displayName = 'DataListToggle';\n//# sourceMappingURL=DataListToggle.js.map","import { createIcon } from '../createIcon';\n\nexport const InfoAltIconConfig = {\n name: 'InfoAltIcon',\n height: 1024,\n width: 1024,\n svgPath: 'M592,369 L592,289 C592.013862,284.755109 590.320137,280.682962 587.3,277.7 C584.338831,274.647672 580.252355,272.947987 576,273 L464,273 C459.755109,272.986138 455.682962,274.679863 452.7,277.7 C449.647672,280.661169 447.947987,284.747645 447.99884,289 L447.99884,369 C447.986138,373.244891 449.679863,377.317038 452.7,380.3 C455.661169,383.352328 459.747645,385.052013 464,385 L576,385 C580.244891,385.013862 584.317038,383.320137 587.3,380.3 C590.359349,377.343612 592.060354,373.253963 592,369 Z M592,705 L592,465 C592,456.163444 584.836556,449 576,449 L432,449 C423.163444,449 416,456.163444 416,465 L416,497 C416,505.836556 423.163444,513 432,513 L448,513 L448,705 L416,705 C407.163444,705 400,712.163444 400,721 L400,753 C400,761.836556 407.163444,769 416,769 L624,769 C632.836556,769 640,761.836556 640,753 L640,721 C640,712.163444 632.836556,705 624,705 L592,705 Z M512,896 C300.2,896 128,723.9 128,512 C128,300.3 300.2,128 512,128 C723.8,128 896,300.2 896,512 C896,723.8 723.7,896 512,896 Z M512.1,0 C229.7,0 0,229.8 0,512 C0,794.2 229.8,1024 512.1,1024 C794.4,1024 1024,794.3 1024,512 C1024,229.7 794.4,0 512.1,0 Z',\n yOffset: 0,\n xOffset: 0,\n};\n\nexport const InfoAltIcon = createIcon(InfoAltIconConfig);\n\nexport default InfoAltIcon;","import {\r\n Button,\r\n DataList,\r\n DataListCell,\r\n DataListContent,\r\n DataListItem,\r\n DataListItemCells,\r\n DataListItemRow,\r\n DataListToggle,\r\n DescriptionList,\r\n DescriptionListDescription,\r\n DescriptionListGroup,\r\n DescriptionListTerm,\r\n Grid,\r\n GridItem,\r\n Spinner,\r\n} from \"@patternfly/react-core\";\r\nimport {\r\n CheckIcon,\r\n ExternalLinkAltIcon,\r\n InfoAltIcon,\r\n} from \"@patternfly/react-icons\";\r\nimport { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { ContinueCancelModal, useAlerts } from \"ui-shared\";\r\nimport { deleteConsent, getApplications } from \"../api/methods\";\r\nimport { ClientRepresentation } from \"../api/representations\";\r\nimport { Page } from \"../components/page/Page\";\r\nimport { TFuncKey } from \"../i18n\";\r\nimport { useEnvironment } from \"../root/KeycloakContext\";\r\nimport { formatDate } from \"../utils/formatDate\";\r\nimport { usePromise } from \"../utils/usePromise\";\r\n\r\ntype Application = ClientRepresentation & {\r\n open: boolean;\r\n};\r\n\r\nexport const Applications = () => {\r\n const { t } = useTranslation();\r\n const context = useEnvironment();\r\n const { addAlert, addError } = useAlerts();\r\n\r\n const [applications, setApplications] = useState<Application[]>();\r\n const [key, setKey] = useState(1);\r\n const refresh = () => setKey(key + 1);\r\n\r\n usePromise(\r\n (signal) => getApplications({ signal, context }),\r\n (clients) => setApplications(clients.map((c) => ({ ...c, open: false }))),\r\n [key],\r\n );\r\n\r\n const toggleOpen = (clientId: string) => {\r\n setApplications([\r\n ...applications!.map((a) =>\r\n a.clientId === clientId ? { ...a, open: !a.open } : a,\r\n ),\r\n ]);\r\n };\r\n\r\n const removeConsent = async (id: string) => {\r\n try {\r\n await deleteConsent(context, id);\r\n refresh();\r\n addAlert(t(\"removeConsentSuccess\"));\r\n } catch (error) {\r\n addError(t(\"removeConsentError\", { error }).toString());\r\n }\r\n };\r\n\r\n if (!applications) {\r\n return <Spinner />;\r\n }\r\n\r\n return (\r\n <Page title={t(\"application\")} description={t(\"applicationsIntroMessage\")}>\r\n <DataList id=\"applications-list\" aria-label={t(\"application\")}>\r\n <DataListItem\r\n id=\"applications-list-header\"\r\n aria-labelledby=\"Columns names\"\r\n >\r\n <DataListItemRow>\r\n <span style={{ visibility: \"hidden\", height: 55 }}>\r\n <DataListToggle\r\n id=\"applications-list-header-invisible-toggle\"\r\n aria-controls=\"applications-list-content\"\r\n />\r\n </span>\r\n <DataListItemCells\r\n dataListCells={[\r\n <DataListCell\r\n key=\"applications-list-client-id-header\"\r\n width={2}\r\n className=\"pf-v5-u-pt-md\"\r\n >\r\n <strong>{t(\"name\")}</strong>\r\n </DataListCell>,\r\n <DataListCell\r\n key=\"applications-list-app-type-header\"\r\n width={2}\r\n className=\"pf-v5-u-pt-md\"\r\n >\r\n <strong>{t(\"applicationType\")}</strong>\r\n </DataListCell>,\r\n <DataListCell\r\n key=\"applications-list-status\"\r\n width={2}\r\n className=\"pf-v5-u-pt-md\"\r\n >\r\n <strong>{t(\"status\")}</strong>\r\n </DataListCell>,\r\n ]}\r\n />\r\n </DataListItemRow>\r\n </DataListItem>\r\n {applications.map((application) => (\r\n <DataListItem\r\n key={application.clientId}\r\n aria-labelledby=\"applications-list\"\r\n data-testid=\"applications-list-item\"\r\n isExpanded={application.open}\r\n >\r\n <DataListItemRow className=\"pf-v5-u-align-items-center\">\r\n <DataListToggle\r\n onClick={() => toggleOpen(application.clientId)}\r\n isExpanded={application.open}\r\n id={`toggle-${application.clientId}`}\r\n aria-controls={`content-${application.clientId}`}\r\n />\r\n <DataListItemCells\r\n className=\"pf-v5-u-align-items-center\"\r\n dataListCells={[\r\n <DataListCell width={2} key={`client${application.clientId}`}>\r\n {application.effectiveUrl && (\r\n <Button\r\n className=\"pf-v5-u-pl-0 title-case\"\r\n component=\"a\"\r\n variant=\"link\"\r\n onClick={() => window.open(application.effectiveUrl)}\r\n >\r\n {application.clientName || application.clientId}{\" \"}\r\n <ExternalLinkAltIcon />\r\n </Button>\r\n )}\r\n {!application.effectiveUrl && (\r\n <span>\r\n {application.clientName || application.clientId}\r\n </span>\r\n )}\r\n </DataListCell>,\r\n <DataListCell\r\n width={2}\r\n key={`internal${application.clientId}`}\r\n >\r\n {application.userConsentRequired\r\n ? t(\"thirdPartyApp\")\r\n : t(\"internalApp\")}\r\n {application.offlineAccess ? \", \" + t(\"offlineAccess\") : \"\"}\r\n </DataListCell>,\r\n <DataListCell width={2} key={`status${application.clientId}`}>\r\n {application.inUse ? t(\"inUse\") : t(\"notInUse\")}\r\n </DataListCell>,\r\n ]}\r\n />\r\n </DataListItemRow>\r\n\r\n <DataListContent\r\n id={`content-${application.clientId}`}\r\n className=\"pf-v5-u-pl-4xl\"\r\n aria-label={t(\"applicationDetails\", {\r\n clientId: application.clientId,\r\n })}\r\n isHidden={!application.open}\r\n >\r\n <DescriptionList>\r\n <DescriptionListGroup>\r\n <DescriptionListTerm>{t(\"client\")}</DescriptionListTerm>\r\n <DescriptionListDescription>\r\n {application.clientId}\r\n </DescriptionListDescription>\r\n </DescriptionListGroup>\r\n {application.description && (\r\n <DescriptionListGroup>\r\n <DescriptionListTerm>\r\n {t(\"description\")}\r\n </DescriptionListTerm>\r\n <DescriptionListDescription>\r\n {application.description}\r\n </DescriptionListDescription>\r\n </DescriptionListGroup>\r\n )}\r\n {application.effectiveUrl && (\r\n <DescriptionListGroup>\r\n <DescriptionListTerm>URL</DescriptionListTerm>\r\n <DescriptionListDescription>\r\n {application.effectiveUrl.split('\"')}\r\n </DescriptionListDescription>\r\n </DescriptionListGroup>\r\n )}\r\n {application.consent && (\r\n <>\r\n <DescriptionListGroup>\r\n <DescriptionListTerm>\r\n {t(\"hasAccessTo\")}\r\n </DescriptionListTerm>\r\n {application.consent.grantedScopes.map((scope) => (\r\n <DescriptionListDescription key={`scope${scope.id}`}>\r\n <CheckIcon /> {t(scope.name as TFuncKey)}\r\n </DescriptionListDescription>\r\n ))}\r\n </DescriptionListGroup>\r\n {application.tosUri && (\r\n <DescriptionListGroup>\r\n <DescriptionListTerm>\r\n {t(\"termsOfService\")}\r\n </DescriptionListTerm>\r\n <DescriptionListDescription>\r\n {application.tosUri}\r\n </DescriptionListDescription>\r\n </DescriptionListGroup>\r\n )}\r\n {application.policyUri && (\r\n <DescriptionListGroup>\r\n <DescriptionListTerm>\r\n {t(\"privacyPolicy\")}\r\n </DescriptionListTerm>\r\n <DescriptionListDescription>\r\n {application.policyUri}\r\n </DescriptionListDescription>\r\n </DescriptionListGroup>\r\n )}\r\n {application.logoUri && (\r\n <DescriptionListGroup>\r\n <DescriptionListTerm>{t(\"logo\")}</DescriptionListTerm>\r\n <DescriptionListDescription>\r\n <img src={application.logoUri} />\r\n </DescriptionListDescription>\r\n </DescriptionListGroup>\r\n )}\r\n <DescriptionListGroup>\r\n <DescriptionListTerm>\r\n {t(\"accessGrantedOn\")}\r\n </DescriptionListTerm>\r\n <DescriptionListDescription>\r\n {formatDate(new Date(application.consent.createdDate))}\r\n </DescriptionListDescription>\r\n </DescriptionListGroup>\r\n </>\r\n )}\r\n </DescriptionList>\r\n {(application.consent || application.offlineAccess) && (\r\n <Grid hasGutter>\r\n <hr />\r\n <GridItem>\r\n <ContinueCancelModal\r\n buttonTitle={t(\"removeAccess\")}\r\n modalTitle={t(\"removeAccess\")}\r\n continueLabel={t(\"confirm\")}\r\n cancelLabel={t(\"cancel\")}\r\n buttonVariant=\"secondary\"\r\n onContinue={() => removeConsent(application.clientId)}\r\n >\r\n {t(\"removeModalMessage\", { name: application.clientId })}\r\n </ContinueCancelModal>\r\n </GridItem>\r\n <GridItem>\r\n <InfoAltIcon /> {t(\"infoMessage\")}\r\n </GridItem>\r\n </Grid>\r\n )}\r\n </DataListContent>\r\n </DataListItem>\r\n ))}\r\n </DataList>\r\n </Page>\r\n );\r\n};\r\n\r\nexport default Applications;\r\n"],"names":["DataListToggle","_a","className","isExpanded","ariaControls","ariaLabel","rowid","id","buttonProps","props","__rest","React","css","styles","Button","ButtonVariant","AngleRightIcon","InfoAltIconConfig","InfoAltIcon","createIcon","Applications","t","useTranslation","context","useEnvironment","addAlert","addError","useAlerts","applications","setApplications","useState","key","setKey","refresh","usePromise","signal","getApplications","clients","c","toggleOpen","clientId","a","removeConsent","deleteConsent","error","Page","DataList","jsx","DataListItem","DataListItemRow","DataListItemCells","DataListCell","application","jsxs","ExternalLinkAltIcon","DataListContent","DescriptionList","DescriptionListGroup","DescriptionListTerm","DescriptionListDescription","Fragment","scope","CheckIcon","formatDate","Grid","GridItem","ContinueCancelModal","Spinner"],"mappings":"ooBAMO,MAAMA,EAAkBC,GAAO,CAClC,GAAI,CAAE,UAAAC,EAAY,GAAI,WAAAC,EAAa,GAAO,gBAAiBC,EAAe,GAAI,aAAcC,EAAY,UAAW,MAAAC,EAAQ,GAAI,GAAAC,EAAI,YAAAC,CAAW,EAAKP,EAAIQ,EAAQC,EAAOT,EAAI,CAAC,YAAa,aAAc,gBAAiB,aAAc,QAAS,KAAM,aAAa,CAAC,EAClQ,OAAQU,EAAM,cAAc,MAAO,OAAO,OAAO,CAAE,UAAWC,EAAIC,EAAO,oBAAqBX,CAAS,CAAC,EAAIO,CAAK,EAC7GE,EAAM,cAAc,MAAO,CAAE,UAAWC,EAAIC,EAAO,cAAc,CAAG,EAChEF,EAAM,cAAcG,EAAQ,OAAO,OAAO,CAAE,GAAIP,EAAI,QAASQ,EAAc,MAAO,gBAAiBX,IAAiB,IAAMA,EAAc,aAAcC,EAAW,kBAAmBA,IAAc,UAAY,KAAO,GAAGC,CAAK,IAAIC,CAAE,GAAI,gBAAiBJ,CAAU,EAAIK,CAAW,EAC7QG,EAAM,cAAc,MAAO,CAAE,UAAWC,EAAIC,EAAO,kBAAkB,CAAG,EACpEF,EAAM,cAAcK,EAAgB,IAAI,CAAC,CAAC,CAAC,CAAC,CAChE,EACAhB,EAAe,YAAc,iBCZtB,MAAMiB,EAAoB,CAC/B,KAAM,cACN,OAAQ,KACR,MAAO,KACP,QAAS,umCACT,QAAS,EACT,QAAS,CACX,EAEaC,EAAcC,EAAWF,CAAiB,EC0B1CG,GAAe,IAAM,CAC1B,KAAA,CAAE,EAAAC,GAAMC,IACRC,EAAUC,IACV,CAAE,SAAAC,EAAU,SAAAC,CAAS,EAAIC,EAAU,EAEnC,CAACC,EAAcC,CAAe,EAAIC,EAAwB,EAC1D,CAACC,EAAKC,CAAM,EAAIF,EAAS,CAAC,EAC1BG,EAAU,IAAMD,EAAOD,EAAM,CAAC,EAEpCG,EACGC,GAAWC,EAAgB,CAAE,OAAAD,EAAQ,QAAAZ,EAAS,EAC9Cc,GAAYR,EAAgBQ,EAAQ,IAAKC,IAAO,CAAE,GAAGA,EAAG,KAAM,EAAA,EAAQ,CAAC,EACxE,CAACP,CAAG,CAAA,EAGA,MAAAQ,EAAcC,GAAqB,CACvBX,EAAA,CACd,GAAGD,EAAc,IAAKa,GACpBA,EAAE,WAAaD,EAAW,CAAE,GAAGC,EAAG,KAAM,CAACA,EAAE,IAAS,EAAAA,CACtD,CAAA,CACD,CAAA,EAGGC,EAAgB,MAAOnC,GAAe,CACtC,GAAA,CACI,MAAAoC,EAAcpB,EAAShB,CAAE,EACvB0B,IACCR,EAAAJ,EAAE,sBAAsB,CAAC,QAC3BuB,EAAO,CACdlB,EAASL,EAAE,qBAAsB,CAAE,MAAAuB,EAAO,EAAE,UAAU,CACxD,CAAA,EAGF,OAAKhB,IAKFiB,EAAK,CAAA,MAAOxB,EAAE,aAAa,EAAG,YAAaA,EAAE,0BAA0B,EACtE,WAACyB,EAAS,CAAA,GAAG,oBAAoB,aAAYzB,EAAE,aAAa,EAC1D,SAAA,CAAA0B,EAACC,EAAA,CACC,GAAG,2BACH,kBAAgB,gBAEhB,WAACC,EACC,CAAA,SAAA,CAAAF,EAAC,QAAK,MAAO,CAAE,WAAY,SAAU,OAAQ,IAC3C,SAAAA,EAAC/C,EAAA,CACC,GAAG,4CACH,gBAAc,2BAAA,CAAA,EAElB,EACA+C,EAACG,EAAA,CACC,cAAe,CACbH,EAACI,EAAA,CAEC,MAAO,EACP,UAAU,gBAEV,SAACJ,EAAA,SAAA,CAAQ,SAAE1B,EAAA,MAAM,EAAE,CAAA,EAJf,oCAKN,EACA0B,EAACI,EAAA,CAEC,MAAO,EACP,UAAU,gBAEV,SAACJ,EAAA,SAAA,CAAQ,SAAE1B,EAAA,iBAAiB,EAAE,CAAA,EAJ1B,mCAKN,EACA0B,EAACI,EAAA,CAEC,MAAO,EACP,UAAU,gBAEV,SAACJ,EAAA,SAAA,CAAQ,SAAE1B,EAAA,QAAQ,EAAE,CAAA,EAJjB,0BAKN,CACF,CAAA,CACF,CAAA,EACF,CAAA,CACF,EACCO,EAAa,IAAKwB,GACjBC,EAACL,EAAA,CAEC,kBAAgB,oBAChB,cAAY,yBACZ,WAAYI,EAAY,KAExB,SAAA,CAACC,EAAAJ,EAAA,CAAgB,UAAU,6BACzB,SAAA,CAAAF,EAAC/C,EAAA,CACC,QAAS,IAAMuC,EAAWa,EAAY,QAAQ,EAC9C,WAAYA,EAAY,KACxB,GAAI,UAAUA,EAAY,QAAQ,GAClC,gBAAe,WAAWA,EAAY,QAAQ,EAAA,CAChD,EACAL,EAACG,EAAA,CACC,UAAU,6BACV,cAAe,CACbG,EAACF,EAAa,CAAA,MAAO,EAClB,SAAA,CAAAC,EAAY,cACXC,EAACvC,EAAA,CACC,UAAU,0BACV,UAAU,IACV,QAAQ,OACR,QAAS,IAAM,OAAO,KAAKsC,EAAY,YAAY,EAElD,SAAA,CAAAA,EAAY,YAAcA,EAAY,SAAU,MAChDE,EAAoB,EAAA,CAAA,CAAA,CACvB,EAED,CAACF,EAAY,cACZL,EAAC,QACE,SAAYK,EAAA,YAAcA,EAAY,SACzC,CAfyB,CAAA,EAAA,SAASA,EAAY,QAAQ,EAiB1D,EACAC,EAACF,EAAA,CACC,MAAO,EAGN,SAAA,CAAAC,EAAY,oBACT/B,EAAE,eAAe,EACjBA,EAAE,aAAa,EAClB+B,EAAY,cAAgB,KAAO/B,EAAE,eAAe,EAAI,EAAA,CAAA,EALpD,WAAW+B,EAAY,QAAQ,EAMtC,EACCL,EAAAI,EAAA,CAAa,MAAO,EAClB,WAAY,MAAQ9B,EAAE,OAAO,EAAIA,EAAE,UAAU,CAAA,EADnB,SAAS+B,EAAY,QAAQ,EAE1D,CACF,CAAA,CACF,CAAA,EACF,EAEAC,EAACE,EAAA,CACC,GAAI,WAAWH,EAAY,QAAQ,GACnC,UAAU,iBACV,aAAY/B,EAAE,qBAAsB,CAClC,SAAU+B,EAAY,QAAA,CACvB,EACD,SAAU,CAACA,EAAY,KAEvB,SAAA,CAAAC,EAACG,EACC,CAAA,SAAA,CAAAH,EAACI,EACC,CAAA,SAAA,CAACV,EAAAW,EAAA,CAAqB,SAAErC,EAAA,QAAQ,CAAE,CAAA,EAClC0B,EAACY,EACE,CAAA,SAAAP,EAAY,QACf,CAAA,CAAA,EACF,EACCA,EAAY,aACXC,EAACI,EACC,CAAA,SAAA,CAACV,EAAAW,EAAA,CACE,SAAErC,EAAA,aAAa,CAClB,CAAA,EACA0B,EAACY,EACE,CAAA,SAAAP,EAAY,WACf,CAAA,CAAA,EACF,EAEDA,EAAY,cACXC,EAACI,EACC,CAAA,SAAA,CAAAV,EAACW,GAAoB,SAAG,KAAA,CAAA,IACvBC,EACE,CAAA,SAAAP,EAAY,aAAa,MAAM,GAAG,EACrC,CAAA,EACF,EAEDA,EAAY,SAETC,EAAAO,EAAA,CAAA,SAAA,CAAAP,EAACI,EACC,CAAA,SAAA,CAACV,EAAAW,EAAA,CACE,SAAErC,EAAA,aAAa,CAClB,CAAA,EACC+B,EAAY,QAAQ,cAAc,IAAKS,KACrCF,EACC,CAAA,SAAA,CAAAZ,EAACe,EAAU,EAAA,EAAE,IAAEzC,EAAEwC,EAAM,IAAgB,CAAA,CAAA,EADR,QAAQA,EAAM,EAAE,EAEjD,CACD,CAAA,EACH,EACCT,EAAY,QACXC,EAACI,EACC,CAAA,SAAA,CAACV,EAAAW,EAAA,CACE,SAAErC,EAAA,gBAAgB,CACrB,CAAA,EACA0B,EAACY,EACE,CAAA,SAAAP,EAAY,MACf,CAAA,CAAA,EACF,EAEDA,EAAY,WACXC,EAACI,EACC,CAAA,SAAA,CAACV,EAAAW,EAAA,CACE,SAAErC,EAAA,eAAe,CACpB,CAAA,EACA0B,EAACY,EACE,CAAA,SAAAP,EAAY,SACf,CAAA,CAAA,EACF,EAEDA,EAAY,SACXC,EAACI,EACC,CAAA,SAAA,CAACV,EAAAW,EAAA,CAAqB,SAAErC,EAAA,MAAM,CAAE,CAAA,IAC/BsC,EACC,CAAA,SAAAZ,EAAC,OAAI,IAAKK,EAAY,OAAS,CAAA,EACjC,CAAA,EACF,IAEDK,EACC,CAAA,SAAA,CAACV,EAAAW,EAAA,CACE,SAAErC,EAAA,iBAAiB,CACtB,CAAA,EACA0B,EAACY,GACE,SAAWI,EAAA,IAAI,KAAKX,EAAY,QAAQ,WAAW,CAAC,EACvD,CAAA,EACF,CAAA,EACF,CAAA,EAEJ,GACEA,EAAY,SAAWA,EAAY,gBAClCC,EAAAW,EAAA,CAAK,UAAS,GACb,SAAA,CAAAjB,EAAC,KAAG,EAAA,IACHkB,EACC,CAAA,SAAAlB,EAACmB,EAAA,CACC,YAAa7C,EAAE,cAAc,EAC7B,WAAYA,EAAE,cAAc,EAC5B,cAAeA,EAAE,SAAS,EAC1B,YAAaA,EAAE,QAAQ,EACvB,cAAc,YACd,WAAY,IAAMqB,EAAcU,EAAY,QAAQ,EAEnD,WAAE,qBAAsB,CAAE,KAAMA,EAAY,SAAU,CAAA,CAAA,EAE3D,IACCa,EACC,CAAA,SAAA,CAAAlB,EAAC7B,EAAY,EAAA,EAAE,IAAEG,EAAE,aAAa,CAAA,EAClC,CAAA,EACF,CAAA,CAAA,CAEJ,CAAA,CAAA,EAzJK+B,EAAY,QAAA,CA2JpB,CAAA,CACH,CAAA,CACF,CAAA,IA3MQe,EAAQ,CAAA,CAAA,CA6MpB","x_google_ignoreList":[0,1]}