@acuteinfo/common-screens 1.0.57 → 1.0.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/pages/auth/style.ts","../src/pages/auth/usernamePassword.tsx","../src/pages/auth/otpPopup.tsx","../src/pages/auth/verifyFinger.tsx","../src/pages/auth/api.ts","../src/pages/auth/biometric.ts","../src/pages/auth/utils.ts","../src/pages/auth/bankDetails.tsx","../src/pages/auth/passwordRotation.tsx","../src/pages/auth/authController.tsx","../src/pages/auth/forgotPasswordField.tsx","../src/pages/auth/forgotPassword.tsx","../src/pages/branchSelection/gridMetadata.ts","../src/pages/branchSelection/style.ts","../src/pages/branchSelection/branchSelectionGrid.tsx","../src/pages/appbar/style.ts","../src/pages/appbar/appBar.tsx","../src/pages/sidebar/style.ts","../src/pages/sidebar/reportMetaData.ts","../src/pages/sidebar/navigation/style.ts","../src/pages/sidebar/navigation/sideBarNavigation.tsx","../src/pages/sidebar/navigation/filterMetaData.ts","../src/pages/sidebar/navigation/searchViewNavigation.tsx","../src/pages/sidebar/icons.ts","../src/pages/sidebar/transformer.ts","../src/pages/sidebar/sideBar.tsx","../src/pages/sidebar/drawer.tsx"],"sourcesContent":["import { makeStyles } from \"@mui/styles\";\r\n\r\nexport const useStyles = makeStyles((theme: any) => ({\r\n wrapper: {\r\n minHeight: \"100vh\",\r\n boxShadow: \"0 3px 6px rgba(0,0,0,0.03)\",\r\n // background: \"#fff\",\r\n background: \"var(--white)\",\r\n },\r\n loginEmp: {\r\n background: \"#fff\",\r\n padding: theme.spacing(2, 4),\r\n display: \"flex\",\r\n maxWidth: \"400px\",\r\n margin: \"auto\",\r\n boxShadow: \"0 0 20px rgba(0,0,0,0.06)\",\r\n borderRadius: \"8px\",\r\n [theme.breakpoints.down(\"sm\")]: {\r\n width: \"100%\",\r\n },\r\n },\r\n formWrap: {\r\n marginTop: theme.spacing(2),\r\n },\r\n loginBtn: {\r\n minWidth: \"100% !important\",\r\n margin: theme.spacing(2, 0),\r\n fontSize: \"1rem\",\r\n padding: \"10px .75rem\",\r\n background: \"rgb(128,0,0)\",\r\n border: 0,\r\n color: \"#fff !important\",\r\n fontWeight: 600,\r\n letterSpacing: \"0.02857em\",\r\n boxShadow: \"none\",\r\n textTransform: \"capitalize\",\r\n alignSelf: \"flex-end\",\r\n \"&:hover\": {\r\n background: \"#fedad8\",\r\n boxShadow: \"none\",\r\n },\r\n },\r\n OTPTimer: {\r\n marginTop: \"10px\",\r\n color: theme.palette.primary.main,\r\n fontWeight: 600,\r\n },\r\n resendLink: {\r\n marginTop: \"10px\",\r\n cursor: \"pointer\",\r\n color: theme.palette.secondary.main,\r\n fontWeight: 600,\r\n fontSize: \"0.875 rem\",\r\n },\r\n logo: {\r\n marginBottom: theme.spacing(1),\r\n },\r\n\r\n loginLeft: {\r\n [theme.breakpoints.down(\"sm\")]: {\r\n display: \"none\",\r\n },\r\n },\r\n loginRight: {\r\n background: \"#fff\",\r\n padding: theme.spacing(2, 4),\r\n display: \"flex\",\r\n maxWidth: \"400px\",\r\n margin: \"auto\",\r\n boxShadow: \"0 0 20px rgba(0,0,0,0.06)\",\r\n borderRadius: \"8px\",\r\n [theme.breakpoints.down(\"sm\")]: {\r\n width: \"100%\",\r\n },\r\n \"& img\": {\r\n alignSelf: \"center\",\r\n },\r\n },\r\n\r\n loginImg: {},\r\n\r\n verifybutton: {\r\n alignSelf: \"center\",\r\n // marginBottom: \"10px\",\r\n // marginTop: \"10px\",\r\n padding: \"5px\",\r\n },\r\n otpButtons: {\r\n // padding: \"10px\",\r\n },\r\n\r\n divflex: {\r\n display: \"flex\",\r\n },\r\n otpinputpadding: {\r\n \"& input\": {\r\n marginRight: \"25px !important\",\r\n border: \"1.42444px solid var(--theme-color3)\",\r\n borderRadius: \"10px\",\r\n width: \"45px !important\",\r\n height: \"45px !important\",\r\n marginBottom: \"15px\",\r\n boxShadow: \"0px 5.69775px 11.3955px rgba(66, 99, 199, 0.16)\",\r\n },\r\n },\r\n ibtnvisible: {\r\n // padding: \"7px !important\",\r\n // alignItems: \"baseline\",\r\n marginBottom: \"15px\",\r\n },\r\n btnvisibleoff: {\r\n display: \"none\",\r\n },\r\n OTPalignName: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n // justifyContent: \"space-between\",\r\n marginBottom: \"12px\",\r\n color: \"#1C1C1C\",\r\n fonWeight: \"400\",\r\n fontSize: \"17px\",\r\n lineHeight: \"33px\",\r\n },\r\n resendOTPalign: {\r\n color: \"var(--theme-color3)\",\r\n fonWeight: \"400\",\r\n fontSize: \"17px\",\r\n lineHeight: \"33px\",\r\n margin: \"0 auto\",\r\n // marginTop: \"15px\",\r\n // display: \"block !important\",\r\n },\r\n resendbtnLink: {\r\n textDecoration: \"underline\",\r\n color: \"var(--theme-color3)\",\r\n cursor: \"pointer\",\r\n \"&:hover\": {\r\n textDecoration: \"underline\",\r\n color: \"var(--theme-color3)\",\r\n },\r\n },\r\n dialogTitleClass: {\r\n background: \"var(--primary-bg)\",\r\n padding: \"6px 15px !important\",\r\n margin: \"10px\",\r\n color: \"var(--white)\",\r\n borderRadius: \"4px\",\r\n \"& h2\": {\r\n fontWeight: \"500 !important\",\r\n },\r\n },\r\n lang_svg: {\r\n marginRight: \"10px\",\r\n width: \"22px\",\r\n height: \"22px\",\r\n },\r\n dialogContent: {\r\n padding: \"0px 15px\",\r\n \"& p\": {\r\n whiteSpace: \"pre-wrap\",\r\n color: \"black\",\r\n marginTop: \"8px\",\r\n marginBottom: \"6px\",\r\n },\r\n },\r\n button: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n flexDirection: \"column\",\r\n margin: \"6px\",\r\n background: \"var(--theme-color1)\",\r\n \"&:hover\": {\r\n background: \"var(--theme-color1) !important\",\r\n },\r\n },\r\n}));\r\n","import { GradientButton, TextField } from \"@acuteinfo/common-base\";\r\nimport { Fragment, useState, useEffect, useRef } from \"react\";\r\nimport Visibility from \"@mui/icons-material/Visibility\";\r\nimport VisibilityOff from \"@mui/icons-material/VisibilityOff\";\r\nimport { CircularProgress, IconButton, InputAdornment } from \"@mui/material\";\r\nimport { Container } from \"@mui/material\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { useTranslation } from \"react-i18next\";\r\nexport const UsernamePasswordField = ({\r\n classes,\r\n loginState,\r\n verifyUsernamePassword,\r\n forgotPasswordEndpoint,\r\n}) => {\r\n const [input, setInput] = useState({ userName: \"\", password: \"\" });\r\n const [showPasswordTime, setShowPasswordTime] = useState(0);\r\n const showPassword = Date.now() < showPasswordTime;\r\n const [, forceUpdate] = useState<any | null>();\r\n const timerRef = useRef<any>(null);\r\n const { t } = useTranslation();\r\n useEffect(() => {\r\n return () => clearTimeout(timerRef.current);\r\n }, []);\r\n const handleChange = (event) => {\r\n const name = event.target.name;\r\n const value = event.target.value;\r\n if (name === \"userName\" && value) {\r\n loginState.isUsernameError = false;\r\n }\r\n if (name === \"password\" && value) {\r\n loginState.isPasswordError = false;\r\n }\r\n\r\n setInput((values) => ({ ...values, [name]: value }));\r\n };\r\n const inputRef = useRef<any>(null);\r\n const inputPassRef = useRef<any>(null);\r\n const inputButtonRef = useRef<any>(null);\r\n\r\n useEffect(() => {\r\n let timeoutCd;\r\n if (loginState.isUsernameError) {\r\n timeoutCd = setTimeout(() => {\r\n inputRef?.current?.focus?.();\r\n }, 1000);\r\n } else if (loginState.isPasswordError) {\r\n timeoutCd = setTimeout(() => {\r\n inputPassRef?.current?.focus?.();\r\n }, 1000);\r\n }\r\n return () => {\r\n if (timeoutCd) {\r\n clearTimeout(timeoutCd);\r\n }\r\n };\r\n }, [loginState.isUsernameError, loginState.isPasswordError]);\r\n useEffect(() => {\r\n let timeoutCd;\r\n if (loginState?.otpmodelClose ?? false) {\r\n setInput((values) => ({ ...values, password: \"\" }));\r\n timeoutCd = setTimeout(() => {\r\n inputPassRef?.current?.focus?.();\r\n }, 1500);\r\n }\r\n return () => {\r\n if (timeoutCd) {\r\n clearTimeout(timeoutCd);\r\n }\r\n };\r\n }, [loginState.otpmodelClose]);\r\n\r\n return (\r\n <Fragment>\r\n <Container maxWidth=\"xs\">\r\n <Grid alignItems=\"center\" style={{ paddingTop: \"20px\" }}>\r\n <div\r\n style={{\r\n color: \"#000000 !important\",\r\n fontSize: \"30px\",\r\n fontWeight: \"600\",\r\n // fontFamily: \"Poppins\",\r\n alignItems: \"center\",\r\n fontStyle: \"normal\",\r\n lineHeight: \"150%\",\r\n }}\r\n >\r\n <h3>{t(\"SignIn\")}</h3>\r\n </div>\r\n <div\r\n className=\"\"\r\n style={{\r\n color: \"#949597\",\r\n fontSize: \"16px\",\r\n fontWeight: \"400\",\r\n // fontFamily: \"Poppins\",\r\n alignItems: \"center\",\r\n fontStyle: \"normal\",\r\n\r\n width: \"360px\",\r\n }}\r\n >\r\n {t(\"SignInWithUserIDandPassword\")}\r\n </div>\r\n <div className={classes.formWrap}>\r\n <TextField\r\n // variant=\"filled\"\r\n // color=\"secondary\"\r\n autoFocus={true}\r\n label={t(\"UserID\")}\r\n // placeholder=\"User ID\"\r\n placeholder={String(t(\"UserID\"))}\r\n style={{\r\n marginTop: \"10px\",\r\n marginBottom: \"17px\",\r\n }}\r\n fullWidth\r\n type={\"text\"}\r\n name=\"userName\"\r\n value={input.userName.trimStart() || \"\"}\r\n onChange={handleChange}\r\n error={loginState.isUsernameError}\r\n helperText={\r\n loginState.isUsernameError\r\n ? t(loginState.userMessageforusername)\r\n : \"\"\r\n }\r\n InputLabelProps={{ shrink: true }}\r\n disabled={loginState.loading}\r\n autoComplete=\"off\"\r\n ref={inputRef}\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n inputButtonRef?.current?.click?.();\r\n }\r\n }}\r\n inputProps={{\r\n maxLength: \"16\",\r\n }}\r\n />\r\n\r\n <div\r\n style={{\r\n display: \"flex\",\r\n flexDirection: \"row-reverse\",\r\n marginTop: \"8px\",\r\n }}\r\n >\r\n <TextField\r\n key=\"employee\"\r\n label={t(\"Password\")}\r\n // variant=\"filled\"\r\n // color=\"secondary\"\r\n\r\n placeholder={String(t(\"EnterPassword\"))}\r\n InputLabelProps={{\r\n shrink: true,\r\n }}\r\n fullWidth\r\n type={showPassword ? \"text\" : \"password\"}\r\n name=\"password\"\r\n value={input.password}\r\n onChange={handleChange}\r\n error={loginState.isPasswordError}\r\n helperText={\r\n loginState.isPasswordError\r\n ? t(loginState.userMessageforpassword)\r\n : \"\"\r\n }\r\n disabled={loginState.loading}\r\n ref={inputPassRef}\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n inputButtonRef?.current?.click?.();\r\n }\r\n }}\r\n InputProps={{\r\n endAdornment: (\r\n <InputAdornment position=\"end\">\r\n <IconButton\r\n aria-label=\"toggle password visibility\"\r\n onClick={() => {\r\n if (!showPassword) {\r\n setShowPasswordTime(Date.now() + 5000);\r\n timerRef.current = setTimeout(\r\n () => forceUpdate(Date.now()),\r\n 5000,\r\n );\r\n } else if (showPassword) setShowPasswordTime(0);\r\n }}\r\n onMouseDown={(e) => e.preventDefault()}\r\n disabled={loginState.loading}\r\n >\r\n {showPassword ? <Visibility /> : <VisibilityOff />}\r\n </IconButton>\r\n </InputAdornment>\r\n ),\r\n }}\r\n inputProps={{ maxLength: \"16\" }}\r\n />\r\n </div>\r\n <div style={{ marginTop: \"20px\", display: \"flex\" }}>\r\n <div style={{ flex: \"auto\", textAlign: \"end\" }}>\r\n <a\r\n href={forgotPasswordEndpoint ?? \"\"}\r\n style={{ color: \"var(--theme-color3)\" }}\r\n >\r\n {t(\"ForgotPassword\")}\r\n </a>\r\n </div>\r\n </div>\r\n <div style={{ marginTop: \"20px\", display: \"flex\" }}>\r\n <div\r\n style={{\r\n flex: \"auto\",\r\n textAlign: \"center\",\r\n marginTop: \"5px\",\r\n marginBottom: \"17px\",\r\n }}\r\n >\r\n <GradientButton\r\n style={{\r\n borderRadius: loginState.loading ? \"50%\" : \"10px\",\r\n height: loginState.loading ? \"40px\" : \"100%\",\r\n width: loginState.loading ? \"0px\" : \"100%\",\r\n minWidth: loginState.loading ? \"40px\" : \"80px\",\r\n }}\r\n fullWidth\r\n disabled={loginState.loading}\r\n onClick={() =>\r\n verifyUsernamePassword(\r\n (input.userName || \"\").toLowerCase(),\r\n input.password,\r\n )\r\n }\r\n ref={inputButtonRef}\r\n endicon={loginState.loading ? undefined : \"East\"}\r\n rotateIcon=\"scale(1.4) rotateX(360deg)\"\r\n >\r\n {loginState.loading ? (\r\n <CircularProgress size={25} thickness={4.6} />\r\n ) : (\r\n t(\"Next\")\r\n )}\r\n </GradientButton>\r\n </div>\r\n </div>\r\n </div>\r\n </Grid>\r\n </Container>\r\n </Fragment>\r\n );\r\n};\r\n","import { FormHelperText } from \"@mui/material\";\r\nimport { GradientButton } from \"@acuteinfo/common-base\";\r\nimport { Fragment, useState, useRef, useEffect } from \"react\";\r\nimport OTPInput, { ResendOTP } from \"otp-input-react\";\r\nimport Visibility from \"@mui/icons-material/Visibility\";\r\nimport VisibilityOff from \"@mui/icons-material/VisibilityOff\";\r\nimport { CircularProgress } from \"@mui/material\";\r\nimport { Container } from \"@mui/material\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport { Grid } from \"@mui/material\";\r\nimport clsx from \"clsx\";\r\nimport { useSnackbar } from \"notistack\";\r\nimport { useTranslation } from \"react-i18next\";\r\nexport const OTPModel = ({\r\n classes,\r\n OTPResendRequest,\r\n open,\r\n handleClose,\r\n loginState,\r\n VerifyOTP,\r\n OTPError,\r\n setOTPError,\r\n previousStep,\r\n setNewRequestID = (id) => {},\r\n otpresendCount = 0,\r\n resendFlag,\r\n}) => {\r\n const [OTP, setOTP] = useState(\"\");\r\n const [showPasswordTime, setShowPasswordTime] = useState(0);\r\n const showPassword = Date.now() < showPasswordTime;\r\n const [, forceUpdate] = useState<any | null>();\r\n const timerRef = useRef<any>(null);\r\n useEffect(() => {\r\n return () => clearTimeout(timerRef.current);\r\n }, []);\r\n const [btnshow, setbtnshow] = useState(false);\r\n const inputButtonRef = useRef<any>(null);\r\n const [resendotpLoading, setResendotpLoading] = useState(false);\r\n const { enqueueSnackbar } = useSnackbar();\r\n const { t } = useTranslation();\r\n // const renderButton = (buttonProps) => {\r\n // let { remainingTime, ...other } = buttonProps;\r\n // return resendotpLoading ? (\r\n // <a\r\n // remainingtime={remainingTime}\r\n // {...other}\r\n // className={clsx(\r\n // classes.resendbtnLink,\r\n // !btnshow && classes.btnvisibleoff\r\n // )}\r\n // >\r\n // {t(\"otp.ResendOTP\")}\r\n // </a>\r\n // ) : null;\r\n // };\r\n const renderButton = (buttonProps) => {\r\n let { remainingTime, ...other } = buttonProps;\r\n return resendotpLoading ? (\r\n <a\r\n className={clsx(\r\n classes.resendbtnLink,\r\n !btnshow && classes.btnvisibleoff,\r\n )}\r\n style={{ cursor: \"wait\" }}\r\n >\r\n {/* {t(\"otp.ResendOTP\")} {<CircularProgress size={20} color=\"secondary\" />} */}\r\n {t(\"otp.GetNewOTP\")} {<CircularProgress size={20} color=\"secondary\" />}\r\n </a>\r\n ) : (\r\n <a\r\n remainingtime={remainingTime}\r\n {...other}\r\n className={clsx(\r\n classes.resendbtnLink,\r\n !btnshow && classes.btnvisibleoff,\r\n )}\r\n >\r\n {/* {t(\"otp.ResendOTP\")} */}\r\n {t(\"otp.GetNewOTP\")}\r\n </a>\r\n );\r\n };\r\n\r\n const ClickEventHandler = () => {\r\n if (!Boolean(OTP) || OTP.length < 6) {\r\n setOTPError(\"otp.EnterOTPDigit\");\r\n } else {\r\n setOTPError(\"\");\r\n VerifyOTP(OTP);\r\n }\r\n };\r\n\r\n const handleResendClick = async () => {\r\n setResendotpLoading(true);\r\n const { status, data, message } = await OTPResendRequest(\r\n resendFlag === \"FORGET_PW\" || resendFlag === \"FORGT_TOTP\"\r\n ? loginState?.requestCd\r\n : loginState?.transactionID,\r\n loginState?.username,\r\n resendFlag,\r\n loginState.auth_data?.[0]?.company_ID,\r\n loginState.auth_data?.[0]?.branch_cd,\r\n );\r\n setResendotpLoading(false);\r\n if (status === \"0\") {\r\n setNewRequestID(data?.TRAN_CD);\r\n setbtnshow(false);\r\n enqueueSnackbar(message, { variant: \"success\" });\r\n } else {\r\n enqueueSnackbar(message, { variant: \"error\" });\r\n }\r\n };\r\n const handleCloseEvent = () => {\r\n setOTPError(\"\");\r\n setOTP(\"\");\r\n handleClose(\"\");\r\n };\r\n const renderTime = (remainingtime) => {\r\n if (parseInt(remainingtime) === 0) {\r\n setTimeout(() => {\r\n setbtnshow(true);\r\n }, 700);\r\n }\r\n return (\r\n <span className={clsx(btnshow && classes.btnvisibleoff)}>\r\n {t(\"otp.OtpExpired\")} {remainingtime} {t(\"otp.second\")}\r\n {/* {t(\"otp.ValidFor\")} {remainingtime} */}\r\n </span>\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n if (loginState?.otpmodelClose ?? false) {\r\n handleCloseEvent();\r\n }\r\n }, [loginState.otpmodelClose]);\r\n return (\r\n <Fragment>\r\n <Container maxWidth=\"sm\">\r\n <Grid alignItems=\"center\" marginTop={\"4em\"}>\r\n <div\r\n // className={classes.formWrap}\r\n style={\r\n {\r\n // marginRight: \"25px\",\r\n // width: \"100%\",\r\n // position: \"relative\",\r\n // right: \"42px\",\r\n // bottom: \"13px\",\r\n }\r\n }\r\n >\r\n <div\r\n style={{\r\n color: \"#000000\",\r\n fontSize: \"30px\",\r\n fontWeight: \"600\",\r\n // fontFamily: \"Poppins\",\r\n alignItems: \"center\",\r\n fontStyle: \"normal\",\r\n lineHeight: \"150%\",\r\n marginBottom: \"10px\",\r\n }}\r\n >\r\n {t(\"otp.OTPAuthentication\")}\r\n </div>\r\n <div\r\n style={{\r\n color: \"#949597\",\r\n fontSize: \"16px\",\r\n fontWeight: \"400\",\r\n alignItems: \"center\",\r\n fontStyle: \"normal\",\r\n lineHeight: \"33px\",\r\n }}\r\n >\r\n {t(\"otp.EnterOTP\")}\r\n </div>\r\n {/* <div\r\n style={{\r\n color: \"#949597\",\r\n fontSize: \"16px\",\r\n fontWeight: \"400\",\r\n alignItems: \"center\",\r\n fontStyle: \"normal\",\r\n lineHeight: \"33px\",\r\n }}\r\n >\r\n {t(\"otp.GenerateNewOTP\")}\r\n </div> */}\r\n\r\n <div className={classes.OTPalignName}>\r\n {t(\"otp.Hello\")}{\" \"}\r\n {loginState?.username\r\n ? loginState.username.charAt(0).toUpperCase() +\r\n loginState.username.slice(1)\r\n : null}\r\n <ResendOTP\r\n // onResendClick={() => setbtnshow(false)}\r\n onResendClick={handleResendClick}\r\n // onTimerComplete={() => setbtnshow(true)}\r\n renderButton={renderButton}\r\n renderTime={renderTime}\r\n maxTime={loginState?.otpValidFor ?? 60}\r\n className={classes.resendOTPalign}\r\n />\r\n </div>\r\n <div\r\n className={classes.divflex}\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n inputButtonRef?.current?.click?.();\r\n }\r\n }}\r\n >\r\n <OTPInput\r\n value={OTP}\r\n onChange={setOTP}\r\n autoFocus\r\n OTPLength={6}\r\n otpType=\"number\"\r\n disabled={false}\r\n secure={!showPassword}\r\n className={classes.otpinputpadding}\r\n />\r\n <IconButton\r\n aria-label=\"toggle password visibility\"\r\n onClick={() => {\r\n if (!showPassword) {\r\n setShowPasswordTime(Date.now() + 5000);\r\n timerRef.current = setTimeout(\r\n () => forceUpdate(Date.now()),\r\n 5000,\r\n );\r\n } else if (showPassword) setShowPasswordTime(0);\r\n }}\r\n onMouseDown={(e) => e.preventDefault()}\r\n disabled={loginState.otploading}\r\n className={classes.ibtnvisible}\r\n >\r\n {showPassword ? <Visibility /> : <VisibilityOff />}\r\n </IconButton>\r\n </div>\r\n {Boolean(OTPError) ? (\r\n <FormHelperText style={{ color: \"red\" }}>\r\n {OTPError}\r\n </FormHelperText>\r\n ) : null}\r\n <div\r\n style={{\r\n display: \"flex\",\r\n gap: \"10px\",\r\n margin: \"42px 0 0 42px\",\r\n width: \"60%\",\r\n }}\r\n >\r\n <GradientButton\r\n // fullWidth\r\n disabled={loginState.otploading}\r\n onClick={() => {\r\n previousStep(false, \"\");\r\n }}\r\n className={classes.otpButtons}\r\n textColor={\"var(--theme-color3)\"}\r\n sx={{\r\n border: \"var(--theme-color3)1px solid\",\r\n minWidth: \"50%\",\r\n background: \"var(--white)\",\r\n borderRadius: \"10px\",\r\n \"&:hover\": {\r\n background: \"var(--white) !important\",\r\n },\r\n }}\r\n // customstyle = {{color : \"var(--theme-color3) !important\"}}\r\n starticon={\"West\"}\r\n rotateIcon=\"scale(1.4) rotateX(360deg)\"\r\n >\r\n {t(\"otp.Back\")}\r\n </GradientButton>\r\n <GradientButton\r\n style={{\r\n borderRadius: loginState.loading ? \"50%\" : \"10px\",\r\n height: loginState.loading ? \"40px\" : \"100%\",\r\n width: loginState.loading ? \"0px\" : \"100%\",\r\n minWidth: loginState.loading ? \"40px\" : \"80px\",\r\n }}\r\n fullWidth\r\n disabled={loginState.loading}\r\n onClick={ClickEventHandler}\r\n ref={inputButtonRef}\r\n className={classes.otpButtons}\r\n endicon={loginState.loading ? undefined : \"TaskAlt\"}\r\n rotateIcon=\"scale(1.4)\"\r\n >\r\n {loginState.loading ? (\r\n <CircularProgress size={25} thickness={4.6} />\r\n ) : (\r\n t(\"otp.VerifyOTP\")\r\n )}\r\n </GradientButton>\r\n </div>\r\n </div>\r\n </Grid>\r\n </Container>\r\n </Fragment>\r\n );\r\n};\r\n\r\nexport const OTPModelForm = ({\r\n classes,\r\n OTPResendRequest,\r\n handleClose,\r\n loginState,\r\n VerifyOTP,\r\n OTPError,\r\n setOTPError,\r\n resendFlag,\r\n setNewRequestID = (id) => {},\r\n otpresendCount = 0,\r\n}) => {\r\n const [OTP, setOTP] = useState(\"\");\r\n const [showPasswordTime, setShowPasswordTime] = useState(0);\r\n const showPassword = Date.now() < showPasswordTime;\r\n const [, forceUpdate] = useState<any | null>();\r\n const timerRef = useRef<any>(null);\r\n useEffect(() => {\r\n return () => clearTimeout(timerRef.current);\r\n }, []);\r\n const [btnshow, setbtnshow] = useState(false);\r\n const [resendotpLoading, setResendotpLoading] = useState(false);\r\n const inputButtonRef = useRef<any>(null);\r\n const { enqueueSnackbar } = useSnackbar();\r\n const { t } = useTranslation();\r\n const renderButton = (buttonProps) => {\r\n let { remainingTime, ...other } = buttonProps;\r\n return resendotpLoading ? (\r\n <a\r\n className={clsx(\r\n classes.resendbtnLink,\r\n !btnshow && classes.btnvisibleoff,\r\n )}\r\n style={{ cursor: \"wait\" }}\r\n >\r\n {/* {t(\"otp.ResendOTP\")} {<CircularProgress size={20} color=\"secondary\" />} */}\r\n {t(\"otp.GetNewOTP\")} {<CircularProgress size={20} color=\"secondary\" />}\r\n </a>\r\n ) : (\r\n <a\r\n remainingtime={remainingTime}\r\n {...other}\r\n className={clsx(\r\n classes.resendbtnLink,\r\n !btnshow && classes.btnvisibleoff,\r\n )}\r\n >\r\n {/* {t(\"otp.ResendOTP\")} */}\r\n {t(\"otp.GetNewOTP\")}\r\n </a>\r\n );\r\n };\r\n const ClickEventHandler = () => {\r\n if (!Boolean(OTP) || OTP.length < 6) {\r\n setOTPError(\"otp.EnterOTPDigit\");\r\n } else {\r\n setOTPError(\"\");\r\n VerifyOTP(OTP);\r\n }\r\n };\r\n const handleResendClick = async () => {\r\n setResendotpLoading(true);\r\n const { status, data, message } = await OTPResendRequest(\r\n resendFlag === \"FORGET_PW\"\r\n ? loginState?.requestCd\r\n : loginState?.transactionID,\r\n loginState?.username,\r\n resendFlag,\r\n loginState?.company_ID,\r\n loginState?.branch_cd,\r\n );\r\n setResendotpLoading(false);\r\n if (status === \"0\") {\r\n setNewRequestID(data?.TRAN_CD);\r\n setbtnshow(false);\r\n enqueueSnackbar(message, { variant: \"success\" });\r\n } else {\r\n enqueueSnackbar(message, { variant: \"error\" });\r\n }\r\n };\r\n const handleCloseEvent = () => {\r\n setOTPError(\"\");\r\n setOTP(\"\");\r\n handleClose();\r\n };\r\n const renderTime = (remainingtime) => {\r\n if (parseInt(remainingtime) === 0) {\r\n setTimeout(() => {\r\n setbtnshow(true);\r\n }, 700);\r\n }\r\n return (\r\n <span className={clsx(btnshow && classes.btnvisibleoff)}>\r\n {t(\"otp.OtpExpired\")} {remainingtime}\r\n </span>\r\n );\r\n };\r\n useEffect(() => {\r\n if (loginState?.otpmodelClose ?? false) {\r\n handleCloseEvent();\r\n }\r\n }, [loginState.otpmodelClose]);\r\n\r\n return (\r\n <Fragment>\r\n <Grid alignItems=\"center\">\r\n <div>\r\n <div\r\n style={{\r\n color: \"#000000\",\r\n fontSize: \"30px\",\r\n fontWeight: \"600\",\r\n // fontFamily: \"Poppins\",\r\n alignItems: \"center\",\r\n fontStyle: \"normal\",\r\n lineHeight: \"150%\",\r\n marginBottom: \"10px\",\r\n }}\r\n >\r\n {t(\"otp.OTPAuthentication\")}\r\n </div>\r\n {/* <div\r\n style={{\r\n color: \"#949597\",\r\n fontSize: \"16px\",\r\n fontWeight: \"400\",\r\n alignItems: \"center\",\r\n lineHeight: \"33px\",\r\n }}\r\n >\r\n {t(\"otp.GenerateNewOTP\")}\r\n </div> */}\r\n <div className={classes.OTPalignName}>\r\n {t(\"otp.Hello\")}{\" \"}\r\n {loginState?.username\r\n ? loginState.username.charAt(0).toUpperCase() +\r\n loginState.username.slice(1)\r\n : null}\r\n {loginState.otploading ||\r\n otpresendCount >= 3 ||\r\n loginState?.auth_type === \"TOTP\" ? null : (\r\n <ResendOTP\r\n onResendClick={handleResendClick}\r\n // onTimerComplete={() => setbtnshow(true)}\r\n renderButton={renderButton}\r\n renderTime={renderTime}\r\n maxTime={loginState?.otpValidFor ?? 60}\r\n className={classes.resendOTPalign}\r\n />\r\n )}\r\n </div>\r\n <div\r\n className={classes.divflex}\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n inputButtonRef?.current?.click?.();\r\n }\r\n }}\r\n >\r\n <OTPInput\r\n value={OTP}\r\n onChange={setOTP}\r\n autoFocus\r\n OTPLength={6}\r\n otpType=\"number\"\r\n disabled={false}\r\n secure={!showPassword}\r\n className={classes.otpinputpadding}\r\n />\r\n\r\n {/* <IconButton\r\n aria-label=\"toggle password visibility\"\r\n // onClick={() => {\r\n // if (!showPassword) {\r\n // setShowPasswordTime(Date.now() + 5000);\r\n // timerRef.current = setTimeout(\r\n // () => forceUpdate(Date.now()),\r\n // 5000\r\n // );\r\n // } else if (showPassword) setShowPasswordTime(0);\r\n // }}\r\n onMouseDown={(e) => e.preventDefault()}\r\n disabled={loginState.otploading}\r\n className={classes.ibtnvisible}\r\n >\r\n {showPassword ? <VisibilityOffIcon /> : <VisibilityIcon />}\r\n </IconButton> */}\r\n <IconButton\r\n aria-label=\"toggle password visibility\"\r\n onClick={() => {\r\n if (!showPassword) {\r\n setShowPasswordTime(Date.now() + 5000);\r\n timerRef.current = setTimeout(\r\n () => forceUpdate(Date.now()),\r\n 5000,\r\n );\r\n } else if (showPassword) setShowPasswordTime(0);\r\n }}\r\n onMouseDown={(e) => e.preventDefault()}\r\n disabled={loginState.otploading}\r\n className={classes.ibtnvisible}\r\n >\r\n {showPassword ? <Visibility /> : <VisibilityOff />}\r\n </IconButton>\r\n </div>\r\n {Boolean(OTPError) ? (\r\n <FormHelperText style={{ color: \"red\" }}>{OTPError}</FormHelperText>\r\n ) : null}\r\n {loginState?.auth_type === \"TOTP\" ? (\r\n <div style={{ flex: \"auto\" }}>\r\n <a href=\"forgot-totp\" style={{ color: \"var(--theme-color3)\" }}>\r\n Forgot TOTP\r\n </a>\r\n </div>\r\n ) : (\r\n <></>\r\n )}\r\n\r\n <div\r\n style={{\r\n display: \"flex\",\r\n gap: \"10px\",\r\n margin: \"42px 0 0 42px\",\r\n width: \"60%\",\r\n }}\r\n >\r\n <GradientButton\r\n fullWidth\r\n disabled={loginState.otploading}\r\n onClick={handleCloseEvent}\r\n className={classes.otpButtons}\r\n starticon={\"West\"}\r\n textColor={\"var(--white) !important\"}\r\n sx={{\r\n \"&:disabled\": {\r\n color: \"var(-theme-color3) !important\",\r\n },\r\n }}\r\n rotateIcon=\"scale(1.4) rotateX(360deg)\"\r\n style={{\r\n // border: \"var(--theme-color3) 1px solid\",\r\n // color: \"var(--white)\",\r\n // background: \"var(--white)\",\r\n borderRadius: \"10px\",\r\n minWidth: \"48%\",\r\n }}\r\n >\r\n {t(\"otp.Back\")}\r\n </GradientButton>\r\n <GradientButton\r\n style={{\r\n borderRadius: loginState.otploading ? \"50%\" : \"10px\",\r\n height: loginState.otploading ? \"40px\" : \"100%\",\r\n width: loginState.otploading ? \"0px\" : \"100%\",\r\n minWidth: loginState.otploading ? \"40px\" : \"80px\",\r\n }}\r\n // fullWidth\r\n disabled={loginState.loading}\r\n onClick={ClickEventHandler}\r\n ref={inputButtonRef}\r\n className={classes.otpButtons}\r\n >\r\n {loginState.otploading ? (\r\n <CircularProgress size={25} thickness={4.6} />\r\n ) : (\r\n t(\"otp.VerifyOTP\")\r\n )}\r\n </GradientButton>\r\n </div>\r\n </div>\r\n </Grid>\r\n </Fragment>\r\n );\r\n};\r\n","import { Fragment } from \"react\";\r\nimport { GradientButton } from \"@acuteinfo/common-base\";\r\nimport FingerprintSharpIcon from \"@mui/icons-material/FingerprintSharp\";\r\nimport { CircularProgress, Container, Typography } from \"@mui/material\";\r\nimport { Grid } from \"@mui/material\";\r\nimport \"./verify.css\";\r\nimport { useTranslation } from \"react-i18next\";\r\nexport const VerifyFinger = ({\r\n classes,\r\n loginState,\r\n verifyFinger,\r\n previousStep,\r\n}) => {\r\n const { t } = useTranslation();\r\n return (\r\n <Fragment>\r\n <Container maxWidth=\"xs\">\r\n <Grid alignItems=\"center\">\r\n <div\r\n style={{\r\n marginRight: \"25px\",\r\n width: \"102%\",\r\n // marginBottom: \"55px\",\r\n }}\r\n >\r\n <br />\r\n <div\r\n style={{\r\n color: \"#000000\",\r\n fontSize: \"34px\",\r\n fontWeight: \"600\",\r\n // fontFamily: \"Poppins\",\r\n alignItems: \"center\",\r\n fontStyle: \"normal\",\r\n lineHeight: \"150%\",\r\n marginBottom: \"10px\",\r\n }}\r\n >\r\n {t(\"Biometric.BiometrixAuthentication\")}\r\n </div>\r\n <div\r\n style={{\r\n color: \"#949597\",\r\n fontSize: \"18px\",\r\n fontWeight: \"400\",\r\n // fontFamily: \"Poppins\",\r\n alignItems: \"center\",\r\n fontStyle: \"normal\",\r\n lineHeight: \"33px\",\r\n // marginBottom: \"10px\",\r\n }}\r\n >\r\n {t(\"Biometric.Kindlyplaceyoufinger\")}\r\n </div>\r\n <br />\r\n <Typography variant=\"h5\" style={{ color: \"#000000\" }}>\r\n {t(\"otp.Hello\")} {\"\"}\r\n {` ${\r\n loginState?.username\r\n ? loginState.username.charAt(0).toUpperCase() +\r\n loginState.username.slice(1)\r\n : null\r\n }`}\r\n </Typography>\r\n <br />\r\n <div\r\n className={\r\n loginState?.isBiometricError\r\n ? classes.eFingerUi\r\n : classes.fingerUi\r\n }\r\n >\r\n <div className=\"spinner-wrap\">\r\n <FingerprintSharpIcon\r\n sx={{\r\n fontSize: \"80px\",\r\n opacity: \"0.4\",\r\n borderRadius: \"50%\",\r\n display: \"flex\",\r\n margin: \"0 auto\",\r\n \"&:after\": {\r\n borderBottom: \"2px solid #26A456\",\r\n },\r\n }}\r\n className={\r\n loginState?.isBiometricError ? classes.FingerIcon : null\r\n }\r\n color={loginState?.isBiometricError ? \"error\" : \"inherit\"}\r\n />\r\n {loginState?.isScanning ? (\r\n <>\r\n <div\r\n className=\"spinner-item\"\r\n style={{\r\n border: loginState?.isScanning\r\n ? \"1px solid #949597\"\r\n : \" 1px solid red\",\r\n }}\r\n ></div>\r\n <div\r\n className=\"spinner-item spinner-item--2\"\r\n style={{\r\n border: loginState?.isScanning\r\n ? \"1px solid #949597\"\r\n : \"1px solid red\",\r\n }}\r\n ></div>\r\n <div\r\n className=\"spinner-item spinner-item--3\"\r\n style={{\r\n border: loginState?.isScanning\r\n ? \"1px solid #949597\"\r\n : \"1px solid red\",\r\n }}\r\n ></div>\r\n </>\r\n ) : null}\r\n </div>\r\n </div>\r\n\r\n <div className={classes.biometric}>\r\n <div style={{ marginTop: \"50px\" }}>\r\n <div className={loginState.isScanning ? \"progress\" : \"hide\"}>\r\n <div\r\n className=\"bar\"\r\n style={{ width: loginState.isScanning ? \"30%\" : \"0%\" }}\r\n ></div>\r\n </div>\r\n <h3\r\n style={{\r\n display: \"flex\",\r\n marginTop: \"20px\",\r\n justifyContent: \"space-around\",\r\n color: loginState?.isBiometricError\r\n ? \"rgb(255 0 0 / 65%)\"\r\n : \"inherit\",\r\n }}\r\n >\r\n {loginState?.isBiometricError\r\n ? loginState?.userMessage\r\n : loginState?.loading\r\n ? t(\"Biometric.Loading\")\r\n : loginState?.isScanning\r\n ? t(\"Biometric.Scanning\")\r\n : null}\r\n </h3>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n style={{\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n margin: \"42px 0 0 42px\",\r\n // margin: \"38px 0 0 0\",\r\n gap: \"10px\",\r\n }}\r\n >\r\n <GradientButton\r\n fullWidth\r\n disabled={loginState.loading}\r\n onClick={() => {\r\n previousStep(false, \"\");\r\n }}\r\n className={classes.otpButtons}\r\n starticon={\"West\"}\r\n rotateIcon=\"scale(1.4) rotateX(360deg)\"\r\n textColor={\"var(--theme-color3) !important\"}\r\n style={{\r\n border: \"var(--theme-color3)1px solid\",\r\n color: \"var(--theme-color3)\",\r\n background: \"var(--white)\",\r\n borderRadius: \"10px\",\r\n minWidth: \"48%\",\r\n }}\r\n >\r\n {t(\"otp.Back\")}\r\n </GradientButton>\r\n <GradientButton\r\n style={{\r\n borderRadius: loginState.loading ? \"50%\" : \"10px\",\r\n height: loginState.loading ? \"40px\" : \"100%\",\r\n width: loginState.loading ? \"0px\" : \"100%\",\r\n minWidth: loginState.loading ? \"40px\" : \"80px\",\r\n // width: loginState.loading ? \"0px\" : \"90%\",\r\n // minWidth: loginState.loading ? \"40px\" : \"80px\",\r\n }}\r\n disabled={loginState.loading}\r\n onKeyDown={(e) => e.keyCode === 13 && verifyFinger}\r\n onClick={verifyFinger}\r\n className={classes.otpButtons}\r\n >\r\n {loginState.loading ? (\r\n <CircularProgress\r\n size={25}\r\n thickness={4.6}\r\n style={{ color: \"#fff\" }}\r\n />\r\n ) : (\r\n t(\"Biometric.Verify\")\r\n )}\r\n </GradientButton>\r\n </div>\r\n </Grid>\r\n </Container>\r\n </Fragment>\r\n );\r\n};\r\n","export const capture = async () => {\r\n var MFS100Request = {\r\n Quality: 60,\r\n TimeOut: 10,\r\n };\r\n var jsondata = JSON.stringify(MFS100Request);\r\n const rawResponse = await fetch(\"http://localhost:8004/mfs100/capture\", {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: jsondata,\r\n });\r\n const content = await rawResponse.json();\r\n return content;\r\n};\r\n","import CryptoJS from \"crypto-js\";\r\n\r\nconst decryptString = (encryptString: string) => {\r\n var secretKey = \"SUPERACUTE@MKS\";\r\n var keyBytes = CryptoJS.PBKDF2(secretKey, \"Ivan Medvedev\", {\r\n keySize: 48 / 4,\r\n iterations: 1000,\r\n });\r\n console.log(keyBytes.toString());\r\n\r\n // take first 32 bytes as key (like in C# code)\r\n var key = new CryptoJS.lib.WordArray.init(keyBytes.words, 32);\r\n\r\n // // skip first 32 bytes and take next 16 bytes as IV\r\n var iv = new CryptoJS.lib.WordArray.init(keyBytes.words.splice(32 / 4), 16);\r\n\r\n // console.log(key.toString());\r\n //console.log(encryptString, CryptoJS.enc.Base64.parse(encryptString));\r\n\r\n var dec = CryptoJS.AES.decrypt(\r\n {\r\n ciphertext: CryptoJS.enc.Base64.parse(\r\n CryptoJS.enc.Base64.parse(encryptString).toString(CryptoJS.enc.Utf8),\r\n ),\r\n },\r\n key,\r\n {\r\n iv: iv,\r\n },\r\n );\r\n console.log(\"CryptoJS.AES.decrypt\", dec);\r\n return dec.toString(CryptoJS.enc.Utf8).split(String.fromCharCode(0)).join(\"\");\r\n return dec.toString();\r\n};\r\n\r\nexport const matchFinger = async (rows: any, captureFinger: string) => {\r\n var promise = new Promise((resolve, reject) => {\r\n //console.log(\"matchFinger\", rows, typeof rows);\r\n if (typeof rows === \"string\") {\r\n rows = JSON.parse(rows);\r\n }\r\n rows.forEach(async (element: any, i: number) => {\r\n try {\r\n var galleryTemplate = decryptString(element.IMG_DATA);\r\n var MFS100Request = {\r\n GalleryTemplate: galleryTemplate,\r\n ProbTemplate: captureFinger,\r\n BioType: \"Iso\",\r\n };\r\n var jsondata = JSON.stringify(MFS100Request);\r\n await fetch(\"http://localhost:8004/mfs100/verify\", {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: jsondata,\r\n })\r\n .then((response: any) => response.json())\r\n .then((response: any) => {\r\n if (response?.ErrorCode === \"0\" && response[\"Status\"]) {\r\n resolve({\r\n status: true,\r\n errorCode: \"0\",\r\n errorMessage: \"\",\r\n isError: false,\r\n sr_cd: element.SR_CD,\r\n });\r\n return;\r\n }\r\n\r\n if (rows.length === i + 1) {\r\n resolve({\r\n status: false,\r\n errorCode: response.ErrorCode,\r\n errorMessage: response.ErrorMessage,\r\n isError: false,\r\n });\r\n return;\r\n }\r\n })\r\n .catch((reason) => {\r\n resolve({\r\n status: false,\r\n errorCode: \"999\",\r\n errorMessage: reason,\r\n isError: true,\r\n });\r\n });\r\n } catch (err) {\r\n console.log(err);\r\n resolve({\r\n status: false,\r\n errorCode: \"999\",\r\n errorMessage: \"Something went wrong!\",\r\n isError: true,\r\n });\r\n }\r\n });\r\n });\r\n return promise;\r\n};\r\n","export const isBase64 = (str = \"\"): boolean => {\r\n if (typeof str !== \"string\") {\r\n return false;\r\n }\r\n const base64Regex =\r\n /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;\r\n\r\n return base64Regex.test(str);\r\n};\r\n","import { useEffect, useState, useRef, useMemo } from \"react\";\r\nimport { useStyles } from \"./style\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { Container } from \"@mui/material\";\r\nimport { utilFunction } from \"@acuteinfo/common-base\";\r\nimport { isBase64 } from \"./utils\";\r\n\r\nexport const BankDetails = ({ bannerDetails }: any) => {\r\n const [loginImageURL, setLoginImageURL] = useState<any | null>(null);\r\n const urlObj = useRef<any>(null);\r\n const classes = useStyles();\r\n\r\n const banner = useMemo(() => bannerDetails, []);\r\n\r\n useEffect(() => {\r\n if (Boolean(banner?.bannerImg)) {\r\n if (isBase64(banner?.bannerImg)) {\r\n let blob = utilFunction.base64toBlob(banner?.bannerImg);\r\n urlObj.current =\r\n typeof blob === \"object\" && Boolean(blob)\r\n ? URL.createObjectURL(blob)\r\n : \"\";\r\n setLoginImageURL(urlObj.current);\r\n } else {\r\n setLoginImageURL(banner?.bannerImg);\r\n }\r\n }\r\n }, [banner]);\r\n return (\r\n <>\r\n {/* <Grid container style={{ height: \"100vh\", overflow: \"hidden\" }}> */}\r\n <Grid item xs={6} md={6} lg={6} className={classes.loginLeft}>\r\n <Grid item xs={12} md={12} lg={12} style={{ height: \"70vh\" }}>\r\n <img\r\n alt=\"\"\r\n style={{\r\n width: \"100%\",\r\n height: \"100%\",\r\n objectFit: \"cover\",\r\n objectPosition: \"center\",\r\n }}\r\n src={Boolean(loginImageURL) ? loginImageURL : \"\"}\r\n />\r\n </Grid>\r\n <Grid\r\n item\r\n xs={12}\r\n md={12}\r\n lg={12}\r\n style={{\r\n height: \"30vh\",\r\n background: \"var(--primary-bg)\",\r\n }}\r\n >\r\n <Container maxWidth=\"sm\">\r\n <div\r\n className=\"text\"\r\n style={{\r\n color: \"white\",\r\n fontStyle: \"normal\",\r\n fontSize: \"35px\",\r\n paddingTop: \"30px\",\r\n }}\r\n >\r\n {banner?.bannerTitle ?? \"\"}\r\n <span style={{ marginLeft: \"8px\", fontWeight: \"900\" }}>\r\n {/* EasyBank */}\r\n </span>\r\n </div>\r\n <div\r\n style={{\r\n lineHeight: \"27px\",\r\n fontSize: \"15px\",\r\n fontWeight: \"500px\",\r\n letterSpacing: \"0.02em\",\r\n color: \"#ebedee\",\r\n maxWidth: \"464px\",\r\n }}\r\n >\r\n {banner?.bannerNote ?? \"\"}\r\n </div>\r\n </Container>\r\n </Grid>\r\n </Grid>\r\n {/* </Grid> */}\r\n </>\r\n );\r\n};\r\n","import {\r\n TextField,\r\n GradientButton,\r\n utilFunction,\r\n} from \"@acuteinfo/common-base\";\r\n\r\nimport {\r\n CircularProgress,\r\n Container,\r\n FormHelperText,\r\n Grid,\r\n} from \"@mui/material\";\r\nimport { Fragment, useRef, useState } from \"react\";\r\n// import { ResetPassword } from \"./api\";\r\nimport { useSnackbar } from \"notistack\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nexport const PasswordRotation = ({\r\n classes,\r\n ResetPassword,\r\n open,\r\n username,\r\n accessToken,\r\n tokenType,\r\n handleClose,\r\n}) => {\r\n const inputButtonRef = useRef<any>(null);\r\n const { enqueueSnackbar } = useSnackbar();\r\n const { t } = useTranslation();\r\n const [input, setInput] = useState({\r\n userName: username,\r\n oldpassword: \"\",\r\n password: \"\",\r\n confirmpassword: \"\",\r\n });\r\n const [pwdReset, setPasswordReset] = useState({\r\n isError: false,\r\n errorMessage: \"\",\r\n isLoading: false,\r\n isoldPwdError: false,\r\n oldpassworderror: \"\",\r\n isnewpwdError: false,\r\n newpassworderror: \"\",\r\n isconfirmnewpwdError: false,\r\n confirmnewpassworderror: \"\",\r\n });\r\n\r\n const handleCloseEvent = () => {\r\n handleClose(\"\");\r\n };\r\n const ClickEventHandler = async () => {\r\n let isError = false;\r\n let setPwdData = {\r\n isError: false,\r\n errorMessage: \"\",\r\n isLoading: false,\r\n isoldPwdError: false,\r\n oldpassworderror: \"\",\r\n isnewpwdError: false,\r\n newpassworderror: \"\",\r\n isconfirmnewpwdError: false,\r\n confirmnewpassworderror: \"\",\r\n };\r\n if (!Boolean(input.oldpassword)) {\r\n setPwdData.isoldPwdError = true;\r\n setPwdData.oldpassworderror = \"Current Password is required.\";\r\n isError = true;\r\n }\r\n\r\n let pwdData = utilFunction.ValidatePassword(input.password);\r\n if (Boolean(pwdData)) {\r\n setPwdData.isnewpwdError = true;\r\n setPwdData.newpassworderror = pwdData;\r\n isError = true;\r\n }\r\n if (\r\n Boolean(input.oldpassword) &&\r\n Boolean(input.password) &&\r\n input.oldpassword === input.password\r\n ) {\r\n setPwdData.isnewpwdError = true;\r\n setPwdData.newpassworderror =\r\n \"The new password cannot be the same as the old password\";\r\n isError = true;\r\n }\r\n if (!Boolean(input.confirmpassword)) {\r\n setPwdData.isconfirmnewpwdError = true;\r\n setPwdData.confirmnewpassworderror = \"Confirm new password is required.\";\r\n isError = true;\r\n } else if (\r\n Boolean(input.password) &&\r\n input.password !== input.confirmpassword\r\n ) {\r\n setPwdData.isconfirmnewpwdError = true;\r\n setPwdData.confirmnewpassworderror =\r\n \"New Password and Confirm Password did not matched\";\r\n isError = true;\r\n }\r\n if (isError) {\r\n setPasswordReset(setPwdData);\r\n } else {\r\n setPasswordReset((values) => ({ ...values, isLoading: true }));\r\n let response = await ResetPassword(\r\n input.userName,\r\n input.oldpassword,\r\n input.password,\r\n accessToken,\r\n tokenType,\r\n );\r\n setPasswordReset((values) => ({ ...values, isLoading: false }));\r\n if (response.status === \"0\") {\r\n enqueueSnackbar(\"Password successfully changed.\", {\r\n variant: \"success\",\r\n });\r\n handleClose(\"0\");\r\n } else {\r\n setPasswordReset((values) => ({\r\n ...values,\r\n isError: true,\r\n errorMessage: response.message,\r\n }));\r\n }\r\n }\r\n };\r\n const handleChange = (event) => {\r\n const name = event.target.name;\r\n let value = event.target.value;\r\n if (name === \"oldpassword\" && Boolean(value)) {\r\n setPasswordReset((values) => ({ ...values, isoldPwdError: false }));\r\n } else if (name === \"password\" && Boolean(value)) {\r\n setPasswordReset((values) => ({ ...values, isnewpwdError: false }));\r\n } else if (name === \"confirmpassword\" && Boolean(value)) {\r\n setPasswordReset((values) => ({\r\n ...values,\r\n isconfirmnewpwdError: false,\r\n }));\r\n }\r\n setInput((values) => ({ ...values, [name]: value }));\r\n };\r\n\r\n return (\r\n <Fragment>\r\n <Container maxWidth=\"xs\">\r\n <Grid alignItems=\"center\">\r\n <div\r\n style={{\r\n color: \"#000000 !important\",\r\n fontSize: \"30px\",\r\n fontWeight: \"600\",\r\n alignItems: \"center\",\r\n fontStyle: \"normal\",\r\n }}\r\n >\r\n <h3>Password Rotation</h3>\r\n </div>\r\n <div\r\n className=\"\"\r\n style={{\r\n color: \"#949597\",\r\n fontSize: \"18px\",\r\n fontWeight: \"400\",\r\n alignItems: \"center\",\r\n fontStyle: \"normal\",\r\n width: \"360px\",\r\n }}\r\n >\r\n Please Verify OTP\r\n </div>\r\n <div className={classes.formWrap}>\r\n <TextField\r\n label={\"User ID\"}\r\n placeholder=\"Enter User ID\"\r\n fullWidth\r\n type={\"text\"}\r\n name=\"userName\"\r\n value={input.userName || \"\"}\r\n onChange={handleChange}\r\n InputLabelProps={{ shrink: true }}\r\n disabled={true}\r\n autoComplete=\"off\"\r\n inputProps={{ maxLength: 16 }}\r\n style={{ paddingBottom: \"8px\" }}\r\n />\r\n <TextField\r\n autoFocus={true}\r\n label={\"Current Password\"}\r\n placeholder=\"Enter Current Password\"\r\n fullWidth\r\n type={\"password\"}\r\n name=\"oldpassword\"\r\n value={input.oldpassword || \"\"}\r\n onChange={handleChange}\r\n error={pwdReset.isoldPwdError}\r\n helperText={\r\n pwdReset.isoldPwdError ? t(pwdReset.oldpassworderror) : \"\"\r\n }\r\n InputLabelProps={{ shrink: true }}\r\n disabled={pwdReset.isLoading}\r\n autoComplete=\"off\"\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n inputButtonRef?.current?.click?.();\r\n }\r\n }}\r\n inputProps={{ maxLength: 16 }}\r\n style={{ paddingBottom: \"8px\" }}\r\n />\r\n <TextField\r\n label={\"New Password\"}\r\n placeholder=\"Enter New Password\"\r\n fullWidth\r\n type={\"password\"}\r\n name=\"password\"\r\n value={input.password || \"\"}\r\n onChange={handleChange}\r\n error={pwdReset.isnewpwdError}\r\n helperText={\r\n pwdReset.isnewpwdError ? t(pwdReset.newpassworderror) : \"\"\r\n }\r\n InputLabelProps={{ shrink: true }}\r\n disabled={pwdReset.isLoading}\r\n autoComplete=\"off\"\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n inputButtonRef?.current?.click?.();\r\n }\r\n }}\r\n inputProps={{ maxLength: 16 }}\r\n style={{ paddingBottom: \"8px\" }}\r\n />\r\n <TextField\r\n label={\"Confirm New Password\"}\r\n placeholder=\"Enter confirm new password\"\r\n fullWidth\r\n type={\"password\"}\r\n name=\"confirmpassword\"\r\n value={input.confirmpassword || \"\"}\r\n onChange={handleChange}\r\n error={pwdReset.isconfirmnewpwdError}\r\n helperText={\r\n pwdReset.isconfirmnewpwdError\r\n ? t(pwdReset.confirmnewpassworderror)\r\n : \"\"\r\n }\r\n InputLabelProps={{ shrink: true }}\r\n disabled={pwdReset.isLoading}\r\n autoComplete=\"off\"\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n inputButtonRef?.current?.click?.();\r\n }\r\n }}\r\n inputProps={{ maxLength: 16 }}\r\n style={{ paddingBottom: \"8px\" }}\r\n />\r\n {pwdReset.isError ? (\r\n <FormHelperText style={{ color: \"red\" }}>\r\n {pwdReset.errorMessage}\r\n </FormHelperText>\r\n ) : null}\r\n </div>\r\n <div\r\n style={{\r\n display: \"flex\",\r\n gap: \"10px\",\r\n margin: \"20px 0 0 10px\",\r\n width: \"94%\",\r\n }}\r\n >\r\n <GradientButton\r\n fullWidth\r\n disabled={pwdReset.isLoading}\r\n onClick={handleCloseEvent}\r\n className={classes.otpButtons}\r\n style={{\r\n border: \"var(--theme-color3)1px solid\",\r\n color: \"var(--theme-color3)\",\r\n // pebbackground: \"var(--white)\",\r\n borderRadius: \"10px\",\r\n }}\r\n >\r\n Back\r\n </GradientButton>\r\n <GradientButton\r\n style={{\r\n borderRadius: pwdReset.isLoading ? \"50%\" : \"10px\",\r\n height: pwdReset.isLoading ? \"40px\" : \"100%\",\r\n width: pwdReset.isLoading ? \"0px\" : \"100%\",\r\n minWidth: pwdReset.isLoading ? \"40px\" : \"80px\",\r\n }}\r\n fullWidth\r\n disabled={pwdReset.isLoading}\r\n onClick={ClickEventHandler}\r\n ref={inputButtonRef}\r\n className={classes.otpButtons}\r\n >\r\n {pwdReset.isLoading ? (\r\n <CircularProgress size={25} thickness={4.6} />\r\n ) : (\r\n \"Update\"\r\n )}\r\n </GradientButton>\r\n </div>\r\n </Grid>\r\n </Container>\r\n </Fragment>\r\n );\r\n};\r\n","import { utilFunction } from \"@acuteinfo/common-base\";\r\n\r\nimport { useReducer, useEffect, useState, useRef } from \"react\";\r\nimport { useStyles } from \"./style\";\r\nimport { UsernamePasswordField } from \"./usernamePassword\";\r\nimport { OTPModel, OTPModelForm } from \"./otpPopup\";\r\nimport { VerifyFinger } from \"./verifyFinger\";\r\nimport * as API from \"./api\";\r\nimport { matchFinger } from \"./biometric\";\r\nimport { Grid, Tooltip } from \"@mui/material\";\r\nimport { BankDetails } from \"./bankDetails\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { PasswordRotation } from \"./passwordRotation\";\r\nimport { isBase64 } from \"./utils\";\r\nimport {\r\n OTPResendRequestFnType,\r\n ResetPasswordFnType,\r\n VerifyOtpFnType,\r\n VerifyUsernamePassFnType,\r\n} from \"pages/types\";\r\n\r\nconst inititalState = {\r\n username: \"\",\r\n firstName: \"\",\r\n lastName: \"\",\r\n loading: false,\r\n otploading: false,\r\n isError: false,\r\n isUsernameError: false,\r\n isPasswordError: false,\r\n userMessage: \"\",\r\n OtpuserMessage: \"\",\r\n userMessageforpassword: \"\",\r\n userMessageforusername: \"\",\r\n currentFlow: \"username\",\r\n transactionID: \"\",\r\n access_token: \"\",\r\n token_type: \"\",\r\n otpmodelClose: false,\r\n authType: \"\",\r\n isScanning: false,\r\n auth_data: [],\r\n company_ID: \"\",\r\n Branch_CD: \"\",\r\n auth_type: \"O\",\r\n otpValidFor: 60,\r\n};\r\n\r\nconst reducer = (state, action) => {\r\n switch (action.type) {\r\n case \"inititateUserFingerVerification\":\r\n case \"inititateOTPVerification\": {\r\n return {\r\n ...state,\r\n loading: true,\r\n isError: false,\r\n isUsernameError: false,\r\n isPasswordError: false,\r\n isOTPError: false,\r\n isBiometricError: false,\r\n userMessage: \"\",\r\n };\r\n }\r\n case \"inititateUserFingerScanner\": {\r\n return { ...state, isScanning: true, isBiometricError: false };\r\n }\r\n case \"usernameandpasswordrequired\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n isError: true,\r\n isUsernameError: true,\r\n isPasswordError: true,\r\n otploading: false,\r\n userMessage: action?.payload?.error,\r\n userMessageforpassword: action?.payload?.errorPassword,\r\n userMessageforusername: action?.payload?.errorUsername,\r\n username: \"\",\r\n transactionID: \"\",\r\n };\r\n }\r\n case \"passwordVerificationFailure\":\r\n return {\r\n ...state,\r\n loading: false,\r\n isError: true,\r\n isUsernameError: false,\r\n isPasswordError: true,\r\n otploading: false,\r\n userMessage: action?.payload?.error,\r\n userMessageforpassword: action?.payload?.errorPassword,\r\n username: \"\",\r\n transactionID: \"\",\r\n };\r\n case \"usernameVerificationFailure\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n isError: true,\r\n isUsernameError: true,\r\n isPasswordError: false,\r\n otploading: false,\r\n userMessage: action?.payload?.error,\r\n userMessageforusername: action?.payload?.errorUsername,\r\n username: \"\",\r\n transactionID: \"\",\r\n };\r\n }\r\n case \"inititatePasswordVerification\": {\r\n return {\r\n ...state,\r\n loading: true,\r\n isError: false,\r\n isUsernameError: false,\r\n isPasswordError: false,\r\n otploading: false,\r\n userMessage: \"\",\r\n userMessageforusername: \"\",\r\n userMessageforpassword: \"\",\r\n username: \"\",\r\n transactionID: \"\",\r\n access_token: \"\",\r\n };\r\n }\r\n case \"passwordRotation\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n username: action?.payload?.username,\r\n access_token: action?.payload?.access_token,\r\n token_type: action?.payload?.token_type,\r\n };\r\n }\r\n case \"passwordRotationsuccess\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n otpmodelClose: Boolean(action?.payload?.otpmodelclose),\r\n };\r\n }\r\n case \"passwordVerificationSuccessful\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n otploading: false,\r\n transactionID: action?.payload?.transactionID,\r\n username: action?.payload?.username,\r\n auth_type: action?.payload?.auth_type,\r\n OtpuserMessage: \"\",\r\n access_token: action?.payload?.access_token,\r\n token_type: action?.payload?.token_type,\r\n otpmodelClose: false,\r\n currentFlow: \"OTP\",\r\n authType: action?.payload?.authType,\r\n auth_data: action?.payload?.auth_data,\r\n otpValidFor: action?.payload?.otpValidFor,\r\n company_ID: action?.paylod?.company_ID,\r\n };\r\n }\r\n case \"inititatebiometricVerification\": {\r\n return {\r\n ...state,\r\n loading: true,\r\n otploading: true,\r\n OtpuserMessage: \"\",\r\n otpmodelClose: false,\r\n };\r\n }\r\n case \"biometricVerificationFailure\":\r\n return {\r\n ...state,\r\n loading: false,\r\n isError: true,\r\n isBiometricError: true,\r\n userMessage: action?.payload?.error,\r\n isScanning: false,\r\n };\r\n case \"biometricVerificationSuccessful\":\r\n return {\r\n ...state,\r\n loading: false,\r\n isError: false,\r\n isBiometricError: false,\r\n state: action.payload,\r\n isScanning: false,\r\n };\r\n case \"OTPVerificationComplate\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n otploading: false,\r\n OtpuserMessage: \"\",\r\n };\r\n }\r\n case \"OTPVerificationFailed\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n otploading: false,\r\n OtpuserMessage: action?.payload?.error,\r\n otpmodelClose: Boolean(action?.payload?.otpmodelclose),\r\n };\r\n }\r\n case \"OTPResendSuccess\": {\r\n return {\r\n ...state,\r\n transactionID: action?.payload?.transactionID,\r\n };\r\n }\r\n case \"backToUsernameVerification\": {\r\n return {\r\n ...inititalState,\r\n isPasswordError: action?.payload?.isError,\r\n userMessageforpassword: action?.payload?.errorMessage,\r\n };\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n};\r\n\r\ninterface AuthControllerProps {\r\n bannerDetails: {\r\n bannerImg: string;\r\n bannerTitle: string;\r\n bannerNote: string;\r\n };\r\n logoUrl?: string;\r\n logoTitle?: string;\r\n loginFn: Function;\r\n veirfyUsernameandPassword: VerifyUsernamePassFnType;\r\n verifyOTP: VerifyOtpFnType;\r\n OTPResendRequest: OTPResendRequestFnType;\r\n ResetPassword: ResetPasswordFnType;\r\n LanguageComponent?: React.ComponentType<any>;\r\n forgotPasswordEndpoint: string;\r\n}\r\n\r\nexport const AuthControllerWrapper: React.FC<AuthControllerProps> = ({\r\n bannerDetails,\r\n logoUrl,\r\n logoTitle,\r\n loginFn,\r\n veirfyUsernameandPassword,\r\n verifyOTP,\r\n OTPResendRequest,\r\n ResetPassword,\r\n LanguageComponent,\r\n forgotPasswordEndpoint,\r\n}) => {\r\n const classes = useStyles();\r\n const [loginState, dispath] = useReducer(reducer, inititalState);\r\n const [openpwdreset, setOpenPwdReset] = useState(false);\r\n const failureCount = useRef(0);\r\n const [dashboardLogoURL, setDashboardLogoURL] = useState<any | null>(null);\r\n const urlObj = useRef<any>(null);\r\n const { t } = useTranslation();\r\n const otpResendRef = useRef(1);\r\n\r\n useEffect(() => {\r\n if (Boolean(logoUrl)) {\r\n if (isBase64(logoUrl)) {\r\n let blob = utilFunction.base64toBlob(logoUrl);\r\n urlObj.current =\r\n typeof blob === \"object\" && Boolean(blob)\r\n ? URL.createObjectURL(blob)\r\n : \"\";\r\n setDashboardLogoURL(urlObj.current);\r\n } else {\r\n setDashboardLogoURL(logoUrl);\r\n }\r\n }\r\n }, [logoUrl]);\r\n\r\n const verifyUsernamePassword = async (username, password) => {\r\n if (Boolean(username) && Boolean(password)) {\r\n dispath({ type: \"inititatePasswordVerification\" });\r\n try {\r\n const {\r\n status = \"\",\r\n data = null,\r\n message = \"\",\r\n responseType = \"\",\r\n access_token = null,\r\n } = await veirfyUsernameandPassword(username, password);\r\n\r\n if (status === \"0\" && responseType === \"S\") {\r\n dispath({\r\n type: \"passwordRotation\",\r\n payload: {\r\n username: username,\r\n access_token: access_token?.access_token || \"\",\r\n token_type: access_token?.token_type || \"\",\r\n },\r\n });\r\n setOpenPwdReset(true);\r\n } else if (status === \"0\") {\r\n dispath({\r\n type: \"passwordVerificationSuccessful\",\r\n payload: {\r\n transactionID: data?.REQUEST_CD,\r\n username: username,\r\n access_token: access_token?.access_token,\r\n token_type: access_token?.token_type,\r\n authType: data?.AUTH_TYPE,\r\n auth_data: [\r\n {\r\n company_ID: data?.BASE_COMP_CD ?? \"\",\r\n branch_cd: data?.BASE_BRANCH_CD,\r\n },\r\n ],\r\n otpValidFor: data?.OTP_VALID,\r\n },\r\n });\r\n } else {\r\n dispath({\r\n type: \"passwordVerificationFailure\",\r\n payload: { error: message, errorPassword: message },\r\n });\r\n }\r\n } catch (err) {\r\n throw new Error(\r\n \"Error occurred while verifying username and password: \" + err,\r\n );\r\n }\r\n } else if (!Boolean(username) && !Boolean(password)) {\r\n dispath({\r\n type: \"usernameandpasswordrequired\",\r\n payload: {\r\n error: \"UsernamenandPasswordisRequired\",\r\n errorUsername: \"UsernameisRequired\",\r\n errorPassword: \"PasswordisRequired\",\r\n },\r\n });\r\n } else if (!Boolean(username)) {\r\n dispath({\r\n type: \"usernameVerificationFailure\",\r\n payload: {\r\n error: \"UsernameisRequired\",\r\n errorUsername: \"UsernameisRequired\",\r\n },\r\n });\r\n } else {\r\n dispath({\r\n type: \"passwordVerificationFailure\",\r\n payload: {\r\n error: \"PasswordisRequired\",\r\n errorPassword: \"PasswordisRequired\",\r\n },\r\n });\r\n }\r\n };\r\n\r\n const VerifyOTP = async (OTPNumber) => {\r\n if (Boolean(OTPNumber) && OTPNumber.toString().length === 6) {\r\n dispath({ type: \"inititateOTPVerification\" });\r\n const { status, data, message } = await verifyOTP(\r\n loginState.transactionID,\r\n // loginState.app_transactionId,\r\n loginState.username,\r\n OTPNumber,\r\n loginState.access_token,\r\n loginState.token_type,\r\n loginState.authType,\r\n );\r\n if (status === \"0\") {\r\n // try {\r\n // audio.play();\r\n // } catch (error) {\r\n // console.log(error);\r\n // }\r\n dispath({ type: \"OTPVerificationComplate\" });\r\n loginFn(data);\r\n } else if (status === \"999\") {\r\n dispath({\r\n type: \"OTPVerificationFailed\",\r\n payload: { error: message, otpmodelclose: true },\r\n });\r\n // enqueueSnackbar(message, { variant: \"error\" });\r\n } else {\r\n dispath({\r\n type: \"OTPVerificationFailed\",\r\n payload: { error: message, otpmodelclose: false },\r\n });\r\n }\r\n } else {\r\n dispath({\r\n type: \"OTPVerificationFailed\",\r\n payload: { error: \"Please enter a 6 digit OTP number\" },\r\n });\r\n }\r\n };\r\n\r\n const handlePasswordRotationClose = (flag) => {\r\n if (flag === \"0\") {\r\n dispath({\r\n type: \"passwordRotationsuccess\",\r\n payload: { otpmodelclose: true },\r\n });\r\n }\r\n setOpenPwdReset(false);\r\n };\r\n const changeUserName = (isError = false, errorMessage = \"\") => {\r\n dispath({\r\n type: \"backToUsernameVerification\",\r\n payload: {\r\n isError: isError,\r\n errorMessage: errorMessage,\r\n },\r\n });\r\n };\r\n const verifyFinger = async () => {\r\n try {\r\n dispath({ type: \"inititateUserFingerScanner\" });\r\n const fingerResponse = await API.capture();\r\n if (fingerResponse?.ErrorCode === \"0\") {\r\n dispath({ type: \"inititateUserFingerVerification\" });\r\n const promise: any = await matchFinger(\r\n loginState.auth_data,\r\n fingerResponse.IsoTemplate,\r\n );\r\n if (promise.isError) {\r\n dispath({\r\n type: \"biometricVerificationFailure\",\r\n payload: {\r\n error: promise?.errorMessage ?? \"Something went wrong.\",\r\n },\r\n });\r\n } else {\r\n const { status, data, message } = await verifyOTP(\r\n loginState.transactionID,\r\n loginState.username,\r\n String(promise?.sr_cd ?? \"0\"),\r\n loginState.access_token,\r\n loginState.token_type,\r\n loginState.authType,\r\n promise.status ? \"Y\" : \"N\",\r\n );\r\n if (status === \"0\" && promise.status) {\r\n dispath({ type: \"biometricVerificationSuccessful\" });\r\n loginFn(data);\r\n } else if (status === \"0\" && !promise.status) {\r\n failureCount.current = failureCount.current + 1;\r\n dispath({\r\n type: \"biometricVerificationFailure\",\r\n payload: {\r\n error: \"Finger Not Match.Please Try Again\",\r\n },\r\n });\r\n if (failureCount.current >= 3)\r\n changeUserName(true, \"Finger Not Match.Please Try Again\");\r\n } else if (status === \"99\") {\r\n dispath({\r\n type: \"biometricVerificationFailure\",\r\n payload: {\r\n error: message ?? \"Finger Not Match.Please Try Again\",\r\n },\r\n });\r\n } else if (status === \"999\") {\r\n dispath({\r\n type: \"biometricVerificationFailure\",\r\n payload: {\r\n error: message ?? \"Finger Not Match.Please Try Again\",\r\n },\r\n });\r\n changeUserName(\r\n true,\r\n message ?? \"Finger Not Match.Please Try Again\",\r\n );\r\n } else {\r\n dispath({\r\n type: \"biometricVerificationFailure\",\r\n payload: {\r\n error: message ?? \"Finger Not Match.Please Try Again\",\r\n },\r\n });\r\n }\r\n }\r\n } else {\r\n dispath({\r\n type: \"biometricVerificationFailure\",\r\n payload: {\r\n error:\r\n fingerResponse?.ErrorMessage ?? t(\"Biometric.MFS100NotFound\"),\r\n },\r\n });\r\n }\r\n } catch (e: any) {\r\n dispath({\r\n type: \"biometricVerificationFailure\",\r\n payload: {\r\n error: e?.message ?? t(\"Biometric.Unknownerroroccured\"),\r\n },\r\n });\r\n }\r\n };\r\n return (\r\n <>\r\n <Grid container style={{ height: \"100vh\", overflow: \"hidden\" }}>\r\n <BankDetails bannerDetails={bannerDetails} />\r\n <Grid item xs={11} md={6} lg={6} sm={6}>\r\n {logoUrl ? (\r\n <Grid\r\n container\r\n direction=\"row\"\r\n justifyContent=\"flex-end\"\r\n alignItems=\"center\"\r\n padding={\"25px\"}\r\n maxWidth={\"210px\"}\r\n ml={\"auto\"}\r\n >\r\n <Tooltip describeChild title={logoTitle ?? \"\"}>\r\n <img\r\n src={Boolean(dashboardLogoURL) ? dashboardLogoURL : \"\"}\r\n alt=\"Logo\"\r\n width={\"100%\"}\r\n />\r\n </Tooltip>\r\n </Grid>\r\n ) : null}\r\n\r\n {LanguageComponent ? (\r\n <Grid\r\n container\r\n direction=\"row\"\r\n justifyContent=\"flex-end\"\r\n alignItems=\"center\"\r\n padding={\"0 35px 0 0\"}\r\n maxWidth={\"180px\"}\r\n ml={\"auto\"}\r\n >\r\n <LanguageComponent />\r\n </Grid>\r\n ) : null}\r\n\r\n {openpwdreset ? (\r\n <PasswordRotation\r\n classes={classes}\r\n ResetPassword={ResetPassword}\r\n open={openpwdreset}\r\n username={loginState.username}\r\n accessToken={loginState.access_token}\r\n tokenType={loginState.token_type}\r\n handleClose={handlePasswordRotationClose}\r\n />\r\n ) : (\r\n <>\r\n {loginState.currentFlow === \"username\" ? (\r\n <UsernamePasswordField\r\n key=\"username\"\r\n classes={classes}\r\n loginState={loginState}\r\n verifyUsernamePassword={verifyUsernamePassword}\r\n forgotPasswordEndpoint={forgotPasswordEndpoint}\r\n />\r\n ) : (\r\n <>\r\n {loginState.authType === \"OTP\" ? (\r\n <OTPModel\r\n key=\"otp\"\r\n OTPResendRequest={OTPResendRequest}\r\n classes={classes}\r\n loginState={loginState}\r\n VerifyOTP={VerifyOTP}\r\n previousStep={changeUserName}\r\n OTPError={t(loginState?.OtpuserMessage ?? \"\")}\r\n setOTPError={(error) => {\r\n dispath({\r\n type: \"OTPVerificationFailed\",\r\n payload: { error: error },\r\n });\r\n }}\r\n open={true}\r\n handleClose={changeUserName}\r\n resendFlag={\"LOGIN\"}\r\n setNewRequestID={(newRequestID) => {\r\n dispath({\r\n type: \"OTPResendSuccess\",\r\n payload: { transactionID: newRequestID },\r\n });\r\n otpResendRef.current = otpResendRef.current + 1;\r\n }}\r\n otpresendCount={otpResendRef.current}\r\n />\r\n ) : loginState.authType === \"TOTP\" ? (\r\n <>\r\n {\" \"}\r\n <OTPModelForm\r\n key={\"OTPForm\"}\r\n OTPResendRequest={OTPResendRequest}\r\n classes={classes}\r\n // handleClose={() => {}}\r\n handleClose={changeUserName}\r\n loginState={loginState}\r\n VerifyOTP={VerifyOTP}\r\n OTPError={loginState?.OtpuserMessage ?? \"\"}\r\n setOTPError={(error) => {\r\n dispath({\r\n type: \"OTPVerificationFailed\",\r\n payload: { error: error },\r\n });\r\n }}\r\n resendFlag={\"LOGIN\"}\r\n setNewRequestID={(newRequestID) => {\r\n dispath({\r\n type: \"OTPResendSuccess\",\r\n payload: { transactionID: newRequestID },\r\n });\r\n otpResendRef.current = otpResendRef.current + 1;\r\n }}\r\n otpresendCount={otpResendRef.current}\r\n />\r\n </>\r\n ) : (\r\n <VerifyFinger\r\n key=\"biometric\"\r\n classes={classes}\r\n loginState={loginState}\r\n verifyFinger={verifyFinger}\r\n previousStep={changeUserName}\r\n />\r\n )}\r\n </>\r\n )}\r\n </>\r\n )}\r\n </Grid>\r\n </Grid>\r\n </>\r\n );\r\n};\r\n","import { TextField, GradientButton } from \"@acuteinfo/common-base\";\r\n\r\nimport { Fragment, useState, useEffect, useRef } from \"react\";\r\nimport {\r\n CircularProgress,\r\n FormHelperText,\r\n IconButton,\r\n InputAdornment,\r\n} from \"@mui/material\";\r\nimport Visibility from \"@mui/icons-material/Visibility\";\r\nimport VisibilityOff from \"@mui/icons-material/VisibilityOff\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nexport const ForgotPasswordFields = ({\r\n classes,\r\n loginState,\r\n onSubmit,\r\n navigate,\r\n loginPageEndpoint,\r\n}) => {\r\n const [input, setInput] = useState({\r\n userName: loginState.workingState === 1 ? loginState?.username : \"\",\r\n mobileno: \"\",\r\n password: \"\",\r\n confirmpassword: \"\",\r\n });\r\n const inputRef = useRef<any>(null);\r\n const inputPassRef = useRef<any>(null);\r\n const inputButtonRef = useRef<any>(null);\r\n const [showPasswordTime, setShowPasswordTime] = useState(0);\r\n const [showConfirmPasswordTime, setShowConfirmPasswordTime] = useState(0);\r\n const showPassword = Date.now() < showPasswordTime;\r\n const showConfirmPassword = Date.now() < showConfirmPasswordTime;\r\n const [, forceUpdate] = useState<any | null>();\r\n const timerRef = useRef<any>(null);\r\n\r\n useEffect(() => {\r\n return () => clearTimeout(timerRef.current);\r\n }, []);\r\n // const navigate = useNavigate();\r\n const { t } = useTranslation();\r\n const handleChange = (event) => {\r\n const name = event.target.name;\r\n let value = event.target.value;\r\n if (name === \"userName\" && value) {\r\n loginState.isUsernameError = false;\r\n }\r\n if (name === \"mobileno\" && value) {\r\n value = value.replace(/\\D/g, \"\");\r\n if (Boolean(value)) {\r\n loginState.isMobileError = false;\r\n }\r\n }\r\n setInput((values) => ({ ...values, [name]: value }));\r\n };\r\n useEffect(() => {\r\n if (loginState.workingState === 1) {\r\n setTimeout(() => {\r\n inputPassRef?.current?.focus?.();\r\n }, 2000);\r\n }\r\n }, [loginState.workingState]);\r\n return (\r\n <Fragment>\r\n <div className={classes.formWrap}>\r\n <TextField\r\n autoFocus={true}\r\n label={t(\"UserID\")}\r\n placeholder={String(t(\"UserID\"))}\r\n fullWidth\r\n type={\"text\"}\r\n name=\"userName\"\r\n value={input.userName || \"\"}\r\n onChange={handleChange}\r\n error={loginState.isUsernameError}\r\n helperText={\r\n loginState.isUsernameError\r\n ? t(loginState.userMessageforusername)\r\n : \"\"\r\n }\r\n InputLabelProps={{ shrink: true }}\r\n disabled={\r\n loginState.loading\r\n ? true\r\n : loginState.workingState === 0\r\n ? false\r\n : true\r\n }\r\n autoComplete=\"off\"\r\n ref={inputRef}\r\n inputProps={{ maxLength: 16 }}\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n inputButtonRef?.current?.click?.();\r\n }\r\n }}\r\n style={{ paddingBottom: \"8px\" }}\r\n />\r\n {loginState.workingState === 0 ? (\r\n <TextField\r\n label={t(\"MobileNo\")}\r\n placeholder=\"Enter Mobile No.\"\r\n // placeholder={String(t(\"EnterMobileNo\"))}\r\n fullWidth\r\n type={\"text\"}\r\n name=\"mobileno\"\r\n value={input.mobileno || \"\"}\r\n onChange={handleChange}\r\n error={loginState.isMobileError}\r\n helperText={\r\n loginState.isMobileError\r\n ? t(loginState.userMessageforMobileno)\r\n : \"\"\r\n }\r\n InputLabelProps={{ shrink: true }}\r\n disabled={\r\n loginState.loading\r\n ? true\r\n : loginState.workingState === 0\r\n ? false\r\n : true\r\n }\r\n autoComplete=\"off\"\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n inputButtonRef?.current?.click?.();\r\n }\r\n }}\r\n inputProps={{ maxLength: 13 }}\r\n style={{ paddingBottom: \"8px\" }}\r\n />\r\n ) : null}\r\n {loginState.workingState === 1 ? (\r\n <>\r\n <TextField\r\n autoFocus={true}\r\n label={t(\"Password\")}\r\n placeholder=\"Enter Password\"\r\n fullWidth\r\n type={showPassword ? \"text\" : \"password\"}\r\n name=\"password\"\r\n value={input.password || \"\"}\r\n onChange={handleChange}\r\n error={loginState.isPasswordError}\r\n helperText={\r\n loginState.isPasswordError\r\n ? t(loginState.userMessageforPassword)\r\n : \"\"\r\n }\r\n InputLabelProps={{ shrink: true }}\r\n disabled={loginState.loading}\r\n autoComplete=\"off\"\r\n ref={inputPassRef}\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n inputButtonRef?.current?.click?.();\r\n }\r\n }}\r\n InputProps={{\r\n endAdornment: (\r\n <InputAdornment position=\"end\">\r\n <IconButton\r\n aria-label=\"toggle password visibility\"\r\n onClick={() => {\r\n if (!showPassword) {\r\n setShowPasswordTime(Date.now() + 5000);\r\n timerRef.current = setTimeout(\r\n () => forceUpdate(Date.now()),\r\n 5000,\r\n );\r\n } else if (showPassword) setShowPasswordTime(0);\r\n }}\r\n onMouseDown={(e) => e.preventDefault()}\r\n disabled={loginState.loading}\r\n >\r\n {showPassword ? <Visibility /> : <VisibilityOff />}\r\n </IconButton>\r\n </InputAdornment>\r\n ),\r\n }}\r\n inputProps={{ maxLength: 16 }}\r\n style={{ paddingBottom: \"8px\" }}\r\n />\r\n <TextField\r\n label={t(\"ConfirmPassword\")}\r\n placeholder={String(t(\"EnterConfirmPassword\"))}\r\n fullWidth\r\n type={showConfirmPassword ? \"text\" : \"password\"}\r\n name=\"confirmpassword\"\r\n value={input.confirmpassword || \"\"}\r\n onChange={handleChange}\r\n error={loginState.isConfirmPasswordError}\r\n helperText={\r\n loginState.isConfirmPasswordError\r\n ? t(loginState.userMessageforconfirmPassword)\r\n : \"\"\r\n }\r\n InputLabelProps={{ shrink: true }}\r\n disabled={loginState.loading}\r\n autoComplete=\"off\"\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n inputButtonRef?.current?.click?.();\r\n }\r\n }}\r\n InputProps={{\r\n endAdornment: (\r\n <InputAdornment position=\"end\">\r\n <IconButton\r\n aria-label=\"toggle password visibility\"\r\n onClick={() => {\r\n if (!showConfirmPassword) {\r\n setShowConfirmPasswordTime(Date.now() + 5000);\r\n timerRef.current = setTimeout(\r\n () => forceUpdate(Date.now()),\r\n 5000,\r\n );\r\n } else if (showConfirmPassword)\r\n setShowConfirmPasswordTime(0);\r\n }}\r\n onMouseDown={(e) => e.preventDefault()}\r\n disabled={loginState.loading}\r\n >\r\n {showConfirmPassword ? <Visibility /> : <VisibilityOff />}\r\n </IconButton>\r\n </InputAdornment>\r\n ),\r\n }}\r\n inputProps={{ maxLength: 16 }}\r\n style={{ paddingBottom: \"8px\" }}\r\n />\r\n </>\r\n ) : null}\r\n {loginState.isApiError ? (\r\n <FormHelperText style={{ color: \"red\" }}>\r\n {loginState.apierrorMessage}\r\n </FormHelperText>\r\n ) : null}\r\n <div\r\n style={{\r\n marginTop: \"20px\",\r\n display: \"flex\",\r\n flexDirection: \"row-reverse\",\r\n }}\r\n >\r\n <div\r\n style={{\r\n flex: \"auto\",\r\n textAlign: \"center\",\r\n marginTop: \"5px\",\r\n marginBottom: \"17px\",\r\n }}\r\n >\r\n <div>\r\n <GradientButton\r\n style={{ borderRadius: \"10px\", marginRight: \"5px\" }}\r\n // fullWidth\r\n\r\n disabled={loginState.loading}\r\n onClick={() => {\r\n navigate(loginPageEndpoint);\r\n }}\r\n starticon={\"West\"}\r\n rotateIcon=\"scale(1.4) rotateX(360deg)\"\r\n >\r\n {t(\"backtologin\")}\r\n </GradientButton>\r\n\r\n <GradientButton\r\n style={{ borderRadius: \"10px\" }}\r\n disabled={loginState.loading}\r\n onClick={() => {\r\n onSubmit(input, loginState.workingState);\r\n }}\r\n ref={inputButtonRef}\r\n endicon={loginState.loading ? undefined : \"East\"}\r\n rotateIcon=\"scale(1.4) rotateX(360deg)\"\r\n >\r\n {loginState.loading ? (\r\n <CircularProgress size={25} thickness={4.6} />\r\n ) : (\r\n t(\"Next\")\r\n )}\r\n </GradientButton>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </Fragment>\r\n );\r\n};\r\n","import { useReducer, useState, useRef, useEffect } from \"react\";\r\nimport { NavigateFunction } from \"react-router-dom\";\r\nimport { useStyles } from \"./style\";\r\nimport { ForgotPasswordFields } from \"./forgotPasswordField\";\r\nimport { OTPModelForm } from \"./otpPopup\";\r\nimport { utilFunction } from \"@acuteinfo/common-base\";\r\nimport { useSnackbar } from \"notistack\";\r\nimport { Container, Grid, Tooltip } from \"@mui/material\";\r\nimport { BankDetails } from \"./bankDetails\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { t } from \"i18next\";\r\nimport { isBase64 } from \"./utils\";\r\nimport {\r\n UpdateNewPasswordFnType,\r\n VerifyOtpForPWDResetFnType,\r\n VerifyUsernameMobileFnType,\r\n} from \"pages/types\";\r\n\r\nexport const ValidatePassword = (pwd) => {\r\n // if (!Boolean(pwd)) {\r\n // return \"Password is Required\";\r\n // } else if (pwd.length < 8 || pwd.length > 16) {\r\n // return \"Password must be between 8 and 16 characters long.\";\r\n // }\r\n // return \"\";\r\n\r\n if (!Boolean(pwd)) {\r\n // return t(\"PasswordisRequired\");\r\n return \"Password is Required\";\r\n } else if (!/(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*\\W)(?!.*\\s)/.test(pwd)) {\r\n // return t(\"EnterPasswordPolicy\");\r\n return \"Password must be 8-16 characters long, containing at least one uppercase letter, one lowercase letter, one number, and one special character, with no spaces allowed.\";\r\n } else if (pwd.length < 8 || pwd.length > 16) {\r\n // return t(\"EnterPasswordValid\");\r\n return \"Password must be between 8 and 16 characters long.\";\r\n // return \"Password must be between 8 and 16 characters long.\";\r\n }\r\n return \"\";\r\n};\r\n\r\nconst inititalState = {\r\n isUsernameError: false,\r\n userMessageforusername: \"\",\r\n loading: false,\r\n isMobileError: false,\r\n userMessageforMobileno: \"\",\r\n isPasswordError: false,\r\n userMessageforPassword: \"\",\r\n isConfirmPasswordError: false,\r\n userMessageforconfirmPassword: \"\",\r\n workingState: 0,\r\n isApiError: false,\r\n apierrorMessage: \"\",\r\n otploading: false,\r\n OtpuserMessage: \"\",\r\n otpmodelClose: false,\r\n requestCd: \"\",\r\n username: \"\",\r\n auth_type: \"O\",\r\n transactionID: \"\",\r\n};\r\nconst reducer = (state, action) => {\r\n switch (action.type) {\r\n case \"verifyUserNameandMobileNoFailed\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n isUsernameError: action?.payload?.isUsernameError ?? false,\r\n isMobileError: action?.payload?.isMobileError ?? false,\r\n userMessageforusername: action?.payload?.userMessageforusername ?? \"\",\r\n userMessageforMobileno: action?.payload?.userMessageforMobileno ?? \"\",\r\n isApiError: action?.payload?.isApiError ?? false,\r\n apierrorMessage: action?.payload?.apierrorMessage ?? \"\",\r\n requestCd: \"\",\r\n username: \"\",\r\n };\r\n }\r\n case \"initverifyUserNameandMobileNo\": {\r\n return {\r\n ...state,\r\n loading: true,\r\n isUsernameError: false,\r\n isMobileError: false,\r\n requestCd: \"\",\r\n username: \"\",\r\n };\r\n }\r\n case \"verifyUserNameandMobileNoSuccess\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n isUsernameError: false,\r\n isMobileError: false,\r\n workingState: 0,\r\n isApiError: false,\r\n apierrorMessage: \"\",\r\n requestCd: action?.payload?.requestCd ?? \"\",\r\n username: action?.payload?.username ?? \"\",\r\n auth_type: action?.payload?.auth_type,\r\n company_ID: action?.payload?.company_ID,\r\n branch_cd: action?.payload?.branch_cd,\r\n otpValidFor: action?.payload?.otpValidFor,\r\n };\r\n }\r\n case \"inititateOTPVerification\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n otploading: true,\r\n OtpuserMessage: \"\",\r\n otpmodelClose: false,\r\n };\r\n }\r\n case \"OTPVerificationComplate\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n otploading: false,\r\n OtpuserMessage: \"\",\r\n workingState: 1,\r\n otpmodelClose: Boolean(action?.payload?.otpmodelclose),\r\n };\r\n }\r\n case \"OTPVerificationFailed\": {\r\n return {\r\n ...state,\r\n otploading: false,\r\n OtpuserMessage: action?.payload?.error,\r\n otpmodelClose: Boolean(action?.payload?.otpmodelclose),\r\n };\r\n }\r\n case \"verifyPasswordFailed\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n isPasswordError: action?.payload?.isPasswordError ?? false,\r\n isConfirmPasswordError:\r\n action?.payload?.isConfirmPasswordError ?? false,\r\n userMessageforPassword: action?.payload?.userMessageforPassword ?? \"\",\r\n userMessageforconfirmPassword:\r\n action?.payload?.userMessageforconfirmPassword ?? \"\",\r\n isApiError: false,\r\n apierrorMessage: \"\",\r\n };\r\n }\r\n case \"initverifyPasswordSetReq\": {\r\n return {\r\n ...state,\r\n loading: true,\r\n isPasswordError: false,\r\n isConfirmPasswordError: false,\r\n };\r\n }\r\n case \"passwordRegistaredSuccess\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n isPasswordError: false,\r\n isConfirmPasswordError: false,\r\n };\r\n }\r\n case \"OTPResendSuccess\": {\r\n return {\r\n ...state,\r\n requestCd: action?.payload?.requestCd,\r\n };\r\n }\r\n default: {\r\n return state;\r\n }\r\n }\r\n};\r\n\r\ninterface ForgotPasswordControllerProps {\r\n bannerDetails: {\r\n bannerImg: string;\r\n bannerTitle: string;\r\n bannerNote: string;\r\n };\r\n logoUrl?: string;\r\n logoTitle?: string;\r\n updatenewPassword: UpdateNewPasswordFnType;\r\n veirfyUsernameandMobileNo: VerifyUsernameMobileFnType;\r\n verifyOTPForPWDReset: VerifyOtpForPWDResetFnType;\r\n LanguageComponent?: React.ComponentType<any>;\r\n screenFlag: \"password\" | \"totp\";\r\n navigate: NavigateFunction;\r\n loginPageEndpoint: string;\r\n}\r\n\r\nexport const ForgotPasswordControllerWrapper: React.FC<\r\n ForgotPasswordControllerProps\r\n> = ({\r\n screenFlag,\r\n updatenewPassword,\r\n veirfyUsernameandMobileNo,\r\n verifyOTPForPWDReset,\r\n logoUrl,\r\n logoTitle,\r\n LanguageComponent,\r\n bannerDetails,\r\n navigate,\r\n loginPageEndpoint,\r\n}) => {\r\n const classes = useStyles();\r\n const [loginState, dispath] = useReducer(reducer, inititalState);\r\n const [open, setOpen] = useState(false);\r\n const { enqueueSnackbar } = useSnackbar();\r\n const otpResendRef = useRef(1);\r\n const { t } = useTranslation();\r\n const [dashboardLogoURL, setDashboardLogoURL] = useState<any | null>(null);\r\n const urlObj = useRef<any>(null);\r\n\r\n useEffect(() => {\r\n if (Boolean(logoUrl)) {\r\n if (isBase64(logoUrl)) {\r\n let blob = utilFunction.base64toBlob(logoUrl);\r\n urlObj.current =\r\n typeof blob === \"object\" && Boolean(blob)\r\n ? URL.createObjectURL(blob)\r\n : \"\";\r\n setDashboardLogoURL(urlObj.current);\r\n } else {\r\n setDashboardLogoURL(logoUrl);\r\n }\r\n }\r\n }, [logoUrl]);\r\n\r\n const onSubmitHandel = async (data, flag) => {\r\n if (verifyRequestData(data, flag)) {\r\n if (flag === 0) {\r\n dispath({ type: \"initverifyUserNameandMobileNo\" });\r\n const {\r\n status,\r\n data: resdata,\r\n message,\r\n } = await veirfyUsernameandMobileNo(\r\n data?.userName.toLowerCase(),\r\n data?.mobileno,\r\n screenFlag,\r\n );\r\n\r\n if (status === \"0\") {\r\n dispath({\r\n type: \"verifyUserNameandMobileNoSuccess\",\r\n payload: {\r\n requestCd: String(resdata?.TRAN_CD ?? \"\"),\r\n username: data?.userName,\r\n auth_type: resdata?.AUTH_TYPE,\r\n company_ID: resdata?.COMP_CD,\r\n branch_cd: resdata?.BRANCH_CD,\r\n otpValidFor: resdata?.OTP_VALID,\r\n },\r\n });\r\n setOpen(true);\r\n } else {\r\n dispath({\r\n type: \"verifyUserNameandMobileNoFailed\",\r\n payload: {\r\n isApiError: true,\r\n apierrorMessage: message,\r\n },\r\n });\r\n }\r\n } else if (flag === 1) {\r\n dispath({ type: \"initverifyPasswordSetReq\" });\r\n const {\r\n status,\r\n data: resdata,\r\n message,\r\n } = await updatenewPassword(\r\n loginState?.requestCd,\r\n loginState?.username,\r\n data?.password,\r\n );\r\n if (status === \"0\") {\r\n dispath({ type: \"passwordRegistaredSuccess\" });\r\n enqueueSnackbar(\"Password successfully reset\", {\r\n variant: \"success\",\r\n });\r\n navigate(loginPageEndpoint);\r\n } else if (status === \"99\") {\r\n dispath({\r\n type: \"verifyPasswordFailed\",\r\n payload: {\r\n isApiError: true,\r\n apierrorMessage: message,\r\n },\r\n });\r\n } else {\r\n enqueueSnackbar(message, {\r\n variant: \"error\",\r\n });\r\n navigate(loginPageEndpoint);\r\n }\r\n }\r\n }\r\n };\r\n\r\n const verifyRequestData = (data, flag) => {\r\n if (flag === 0) {\r\n let validationData = {\r\n isUsernameError: false,\r\n isMobileError: false,\r\n userMessageforusername: \"\",\r\n userMessageforMobileno: \"\",\r\n };\r\n if (!Boolean(data.userName)) {\r\n validationData.isUsernameError = true;\r\n validationData.userMessageforusername = \"UsernameisRequired\";\r\n }\r\n if (!Boolean(data.mobileno)) {\r\n validationData.isMobileError = true;\r\n validationData.userMessageforMobileno = \"MobileNoisRequired\";\r\n } else if (\r\n isNaN(data.mobileno) ||\r\n (data.mobileno.length !== 10 && data.mobileno.length !== 13)\r\n ) {\r\n validationData.isMobileError = true;\r\n validationData.userMessageforMobileno = \"Please enter valid Mobile No.\";\r\n }\r\n dispath({\r\n type: \"verifyUserNameandMobileNoFailed\",\r\n payload: validationData,\r\n });\r\n return !(validationData.isMobileError || validationData.isUsernameError);\r\n } else if (flag === 1) {\r\n let validationData = {\r\n isPasswordError: false,\r\n userMessageforPassword: \"\",\r\n isConfirmPasswordError: false,\r\n userMessageforconfirmPassword: \"\",\r\n };\r\n let pwdverify = ValidatePassword(data.password);\r\n if (Boolean(pwdverify)) {\r\n validationData.isPasswordError = true;\r\n validationData.userMessageforPassword = pwdverify;\r\n }\r\n if (!Boolean(data.confirmpassword)) {\r\n validationData.isConfirmPasswordError = true;\r\n validationData.userMessageforconfirmPassword =\r\n \"Confirmpasswordisrequired\";\r\n } else if (\r\n Boolean(data.password) &&\r\n data.password !== data.confirmpassword\r\n ) {\r\n validationData.isConfirmPasswordError = true;\r\n validationData.userMessageforconfirmPassword =\r\n \"New Password and Confirm Password did not matched\";\r\n }\r\n dispath({\r\n type: \"verifyPasswordFailed\",\r\n payload: validationData,\r\n });\r\n return !(\r\n validationData.isConfirmPasswordError || validationData.isPasswordError\r\n );\r\n }\r\n return true;\r\n };\r\n const handleClose = () => {\r\n setOpen(false);\r\n };\r\n const changeUserName = () => {\r\n dispath({\r\n type: \"backToUsernameVerification\",\r\n });\r\n };\r\n\r\n const VerifyOTP = async (OTPNumber) => {\r\n if (Boolean(OTPNumber) && OTPNumber.toString().length === 6) {\r\n dispath({ type: \"inititateOTPVerification\" });\r\n const {\r\n status,\r\n data: resdata,\r\n message,\r\n } = await verifyOTPForPWDReset(\r\n loginState?.requestCd,\r\n loginState?.username,\r\n OTPNumber,\r\n loginState?.auth_type,\r\n screenFlag,\r\n );\r\n if (status === \"0\") {\r\n if (screenFlag === \"totp\") {\r\n enqueueSnackbar(message, {\r\n variant: \"success\",\r\n });\r\n navigate(loginPageEndpoint);\r\n } else {\r\n dispath({\r\n type: \"OTPVerificationComplate\",\r\n payload: { otpmodelclose: true },\r\n });\r\n }\r\n } else if (status === \"99\") {\r\n dispath({\r\n type: \"OTPVerificationFailed\",\r\n payload: { error: message },\r\n });\r\n } else {\r\n enqueueSnackbar(message, {\r\n variant: \"error\",\r\n });\r\n navigate(loginPageEndpoint);\r\n }\r\n } else {\r\n dispath({\r\n type: \"OTPVerificationFailed\",\r\n payload: { error: \"Please enter a 6 digit OTP number\" },\r\n });\r\n }\r\n };\r\n return (\r\n <>\r\n <Grid container style={{ height: \"100vh\", overflow: \"hidden\" }}>\r\n <BankDetails bannerDetails={bannerDetails} />\r\n <Grid item xs={6} md={6} lg={6} sm={6}>\r\n {logoUrl ? (\r\n <Grid\r\n container\r\n direction=\"row\"\r\n justifyContent=\"flex-end\"\r\n alignItems=\"center\"\r\n padding={\"31px\"}\r\n maxWidth={\"210px\"}\r\n ml={\"auto\"}\r\n >\r\n <Tooltip describeChild title={logoTitle ?? \"\"}>\r\n <img\r\n src={Boolean(dashboardLogoURL) ? dashboardLogoURL : \"\"}\r\n alt=\"Logo\"\r\n width={\"100%\"}\r\n />\r\n </Tooltip>\r\n </Grid>\r\n ) : null}\r\n {LanguageComponent ? (\r\n <Grid\r\n container\r\n direction=\"row\"\r\n justifyContent=\"flex-end\"\r\n alignItems=\"center\"\r\n padding={\"0 35px 0 0\"}\r\n maxWidth={\"180px\"}\r\n ml={\"auto\"}\r\n >\r\n <LanguageComponent />\r\n </Grid>\r\n ) : null}\r\n <Container maxWidth=\"xs\">\r\n <Grid alignItems=\"center\" style={{ paddingTop: \"20px\" }}>\r\n <h2 style={{ margin: \"10px 0\" }}>\r\n {loginState.workingState === 1\r\n ? t(\"Setnewpassword\")\r\n : screenFlag === \"totp\"\r\n ? \"Forgot TOTP\"\r\n : t(\"ForgotPassword\")}\r\n </h2>\r\n {open ? (\r\n <OTPModelForm\r\n classes={classes}\r\n handleClose={handleClose}\r\n loginState={loginState}\r\n VerifyOTP={VerifyOTP}\r\n OTPError={t(loginState?.OtpuserMessage ?? \"\")}\r\n setOTPError={(error) => {\r\n dispath({\r\n type: \"OTPVerificationFailed\",\r\n payload: { error: error },\r\n });\r\n }}\r\n resendFlag={\"FORGET_PW\"}\r\n setNewRequestID={(newRequestID) => {\r\n dispath({\r\n type: \"OTPResendSuccess\",\r\n payload: { requestCd: newRequestID },\r\n });\r\n otpResendRef.current = otpResendRef.current + 1;\r\n }}\r\n otpresendCount={otpResendRef.current}\r\n OTPResendRequest={undefined}\r\n />\r\n ) : (\r\n <ForgotPasswordFields\r\n classes={classes}\r\n loginState={loginState}\r\n onSubmit={onSubmitHandel}\r\n navigate={navigate}\r\n loginPageEndpoint={loginPageEndpoint}\r\n />\r\n )}\r\n </Grid>\r\n </Container>\r\n </Grid>\r\n </Grid>\r\n </>\r\n );\r\n};\r\n","import { GridMetaDataType } from \"@acuteinfo/common-base\";\r\nexport const BranchSelectionGridMetaData: GridMetaDataType = {\r\n gridConfig: {\r\n dense: true,\r\n gridLabel: \"Access Branch List\",\r\n rowIdColumn: \"BRANCH_CD\",\r\n // searchPlaceholder: \"Branches\",\r\n defaultColumnConfig: {\r\n width: 400,\r\n maxWidth: 450,\r\n minWidth: 300,\r\n },\r\n\r\n allowColumnReordering: false,\r\n disableSorting: false,\r\n hideHeader: false,\r\n disableGroupBy: true,\r\n enablePagination: false,\r\n containerHeight: {\r\n min: \"68vh\",\r\n max: \"68vh \",\r\n },\r\n allowFilter: false,\r\n allowColumnHiding: false,\r\n allowRowSelection: false,\r\n isCusrsorFocused: true,\r\n hideFooter: true,\r\n },\r\n columns: [\r\n {\r\n accessor: \"BRANCH_CD\",\r\n columnName: \"Branch Code\",\r\n sequence: 1,\r\n alignment: \"left\",\r\n componentType: \"default\",\r\n width: 200,\r\n minWidth: 140,\r\n maxWidth: 220,\r\n },\r\n {\r\n accessor: \"BRANCH_NM\",\r\n columnName: \"Branch Name\",\r\n sequence: 2,\r\n alignment: \"left\",\r\n componentType: \"default\",\r\n width: 280,\r\n minWidth: 280,\r\n maxWidth: 420,\r\n },\r\n {\r\n accessor: \"DISP_STATUS\",\r\n columnName: \"Status\",\r\n sequence: 3,\r\n alignment: \"left\",\r\n componentType: \"default\",\r\n width: 200,\r\n minWidth: 140,\r\n maxWidth: 220,\r\n },\r\n {\r\n accessor: \"BEGIN_DATETIME\",\r\n columnName: \"Begin Time\",\r\n sequence: 4,\r\n alignment: \"left\",\r\n componentType: \"dateTime\",\r\n width: 222,\r\n minWidth: 140,\r\n maxWidth: 240,\r\n },\r\n {\r\n accessor: \"END_DATETIME\",\r\n columnName: \"End Time\",\r\n sequence: 5,\r\n alignment: \"left\",\r\n componentType: \"dateTime\",\r\n width: 222,\r\n minWidth: 140,\r\n maxWidth: 240,\r\n },\r\n {\r\n accessor: \"DAYEND_STATUS\",\r\n columnName: \"Dayend Status\",\r\n sequence: 6,\r\n componentType: \"default\",\r\n isVisible: false,\r\n },\r\n {\r\n accessor: \"EOD_RUNNING_STATUS\",\r\n columnName: \"EOD Running Status\",\r\n sequence: 6,\r\n componentType: \"default\",\r\n isVisible: false,\r\n },\r\n {\r\n accessor: \"BASE_COMP_CD\",\r\n columnName: \"Base Comp Cd\",\r\n sequence: 6,\r\n componentType: \"default\",\r\n isVisible: false,\r\n },\r\n {\r\n accessor: \"BASE_BRANCH_CD\",\r\n columnName: \"Base Branch Cd\",\r\n sequence: 6,\r\n componentType: \"default\",\r\n isVisible: false,\r\n },\r\n {\r\n accessor: \"COMP_CD\",\r\n columnName: \"Comp Cd\",\r\n sequence: 6,\r\n componentType: \"default\",\r\n isVisible: false,\r\n },\r\n {\r\n accessor: \"COMP_NM\",\r\n columnName: \"Comp Name\",\r\n sequence: 6,\r\n componentType: \"default\",\r\n isVisible: false,\r\n },\r\n ],\r\n};\r\n","import { makeStyles } from \"@mui/styles\";\r\n\r\nexport const useStyles = makeStyles((theme: any) => ({\r\n heading_user_img: {\r\n width: \"40px\",\r\n height: \"40px\",\r\n // cursor: \"pointer\",\r\n },\r\n heading_user_img_border: {\r\n border: \"2px dashed var(--theme-color3)\",\r\n borderRadius: \"50%\",\r\n padding: \"4px\",\r\n },\r\n logo: {\r\n height: \"38px\",\r\n },\r\n}));\r\n","import {\r\n GridWrapper,\r\n ActionTypes,\r\n GridMetaDataType,\r\n ClearCacheProvider,\r\n Alert,\r\n queryClient,\r\n} from \"@acuteinfo/common-base\";\r\n\r\nimport { Fragment, useCallback, useEffect } from \"react\";\r\nimport { BranchSelectionGridMetaData } from \"./gridMetadata\";\r\nimport \"./styles.css\";\r\nimport {\r\n Avatar,\r\n Box,\r\n Button,\r\n Grid,\r\n Stack,\r\n Tooltip,\r\n tooltipClasses,\r\n} from \"@mui/material\";\r\nimport { useMutation, useQuery } from \"react-query\";\r\nimport { NavigateFunction } from \"react-router-dom\";\r\nimport { useSnackbar } from \"notistack\";\r\nimport bank_logo_default from \"../../assets/images/BecomePartnerImg.svg\";\r\nimport Waving_hand from \"../../assets/images/waving-hand.png\";\r\n\r\nimport { useStyles } from \"./style\";\r\nimport { styled } from \"@mui/material/styles\";\r\nimport USER_PROFILE_DEFAULT from \"../../assets/images/profile-default.png\";\r\nimport { BranchSelectionGridDataFnType, GetMenuDataFnType } from \"pages/types\";\r\nconst actions: ActionTypes[] = [\r\n {\r\n actionName: \"back\",\r\n actionLabel: \"Back\",\r\n multiple: false,\r\n rowDoubleClick: false,\r\n actionTextColor: \"var(--theme-color3)\",\r\n actionBackground: \"var(--white)\",\r\n startsIcon: \"West\",\r\n rotateIcon: \"scale(1.4) rotateX(-360deg)\",\r\n },\r\n {\r\n actionName: \"proceed\",\r\n actionLabel: \"Proceed\",\r\n multiple: false,\r\n rowDoubleClick: true,\r\n actionTextColor: \"var(--white)\",\r\n actionBackground: \"var(--theme-color3)\",\r\n onEnterSubmit: true,\r\n endsIcon: \"East\",\r\n rotateIcon: \"scale(1.4) rotateX(-360deg)\",\r\n },\r\n];\r\n\r\ninterface BranchSelectionWrapperProps {\r\n selectionMode: \"S\" | \"C\";\r\n authState: any;\r\n isBranchSelectedFn: () => boolean;\r\n isLoggedInFn: () => boolean;\r\n logoutFn: () => void;\r\n branchSelectFn: Function;\r\n BranchSelectionGridDataApiFn: BranchSelectionGridDataFnType;\r\n GetMenuDataApiFn: GetMenuDataFnType;\r\n sideImage?: string;\r\n logos: any;\r\n logo?: string;\r\n navigate: NavigateFunction;\r\n dashboardUrl: string;\r\n loginUrl: string;\r\n appTranCd: string;\r\n}\r\n\r\nconst BranchSelectionGrid: React.FC<BranchSelectionWrapperProps> = ({\r\n selectionMode,\r\n authState,\r\n isBranchSelectedFn,\r\n isLoggedInFn,\r\n logoutFn,\r\n logos,\r\n logo,\r\n navigate,\r\n BranchSelectionGridDataApiFn,\r\n GetMenuDataApiFn,\r\n sideImage,\r\n branchSelectFn,\r\n dashboardUrl,\r\n loginUrl,\r\n appTranCd,\r\n}) => {\r\n const classes = useStyles();\r\n\r\n const { enqueueSnackbar } = useSnackbar();\r\n const { data, isLoading, isFetching, error, isError } = useQuery<any, any>(\r\n [\"BranchSelectionGridData\"],\r\n () => BranchSelectionGridDataApiFn(),\r\n );\r\n\r\n useEffect(() => {\r\n return () => {\r\n queryClient.removeQueries([\"BranchSelectionGridData\", {}]);\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!isLoggedInFn()) {\r\n navigate(loginUrl);\r\n } else if (isBranchSelectedFn() && selectionMode !== \"C\") {\r\n navigate(dashboardUrl);\r\n }\r\n }, [isBranchSelectedFn, isLoggedInFn]);\r\n\r\n type MutationErrorType = {\r\n severity: string;\r\n error_msg: string;\r\n error_detail: string;\r\n };\r\n\r\n const mutation: any = useMutation(GetMenuDataApiFn, {\r\n onSuccess: (data, extreData: any) => {\r\n branchSelectFn({\r\n menulistdata: data,\r\n branchCode: extreData?.BRANCH_CD,\r\n branch: extreData?.BRANCH_NM,\r\n baseBranchCode: extreData?.BASE_BRANCH_CD,\r\n });\r\n },\r\n });\r\n const getError: any = mutation.error as MutationErrorType;\r\n const setCurrentAction = useCallback(\r\n (data) => {\r\n if (data.name === \"proceed\") {\r\n if (data.rows?.length === 0) {\r\n enqueueSnackbar(\"Please Select Branch\", {\r\n variant: \"error\",\r\n });\r\n } else if (data.rows?.[0]?.data?.STATUS === \"C\") {\r\n enqueueSnackbar(\r\n \"Branch is in Day End Status.~rPlease contact system Vendor.\",\r\n {\r\n variant: \"error\",\r\n },\r\n );\r\n } else {\r\n mutation.mutate({\r\n BASE_COMP_CD: data.rows?.[0]?.data?.BASE_COMP_CD ?? \"\",\r\n BASE_BRANCH_CD: data.rows?.[0]?.data?.BASE_BRANCH_CD ?? \"\",\r\n COMP_CD: data.rows?.[0]?.data?.COMP_CD ?? \"\",\r\n BRANCH_CD: data.rows?.[0]?.data?.BRANCH_CD ?? \"\",\r\n GROUP_NAME: authState?.groupName ?? \"\",\r\n APP_TRAN_CD: appTranCd,\r\n COMP_NM: data.rows?.[0]?.data?.COMP_NM ?? \"\",\r\n BRANCH_NM: data.rows?.[0]?.data?.BRANCH_NM ?? \"\",\r\n DAYEND_STATUS: data.rows?.[0]?.data?.DAYEND_STATUS ?? \"\",\r\n EOD_RUNNING_STATUS: data.rows?.[0]?.data?.EOD_RUNNING_STATUS ?? \"\",\r\n IS_UPD_DEF_BRANCH: authState?.user?.isUpdDefBranch ?? \"\",\r\n COMP_BASE_BRANCH_CD:\r\n data.rows?.[0]?.data?.COMP_BASE_BRANCH_CD ?? \"\",\r\n selectionMode: selectionMode,\r\n });\r\n }\r\n } else if (data.name === \"back\") {\r\n if (selectionMode === \"C\") {\r\n navigate(dashboardUrl, {\r\n replace: true,\r\n });\r\n } else {\r\n logoutFn();\r\n }\r\n }\r\n },\r\n [navigate, data, mutation],\r\n );\r\n\r\n useEffect(() => {\r\n var oneBranchOpen = data?.some((branch) => branch.STATUS === \"O\");\r\n if (oneBranchOpen === false) {\r\n enqueueSnackbar(\r\n \"Branch is in Day End Status.~rPlease contact system Vendor.\",\r\n {\r\n variant: \"error\",\r\n },\r\n );\r\n logoutFn();\r\n }\r\n if (data?.length === 1) {\r\n if (data?.[0]?.STATUS === \"O\") {\r\n setCurrentAction({ name: \"proceed\", rows: [{ data: { ...data[0] } }] });\r\n }\r\n }\r\n }, [JSON.stringify(data)]);\r\n\r\n const Greetings = () => {\r\n let hours = new Date().getHours();\r\n let greet;\r\n\r\n if (hours < 12) greet = \"morning\";\r\n else if (hours >= 12 && hours <= 16) greet = \"afternoon\";\r\n else if (hours >= 16 && hours <= 24) greet = \"evening\";\r\n\r\n return <span>Good {greet},</span>;\r\n };\r\n\r\n const LightTooltip = styled(({ className, ...props }: any) => (\r\n <Tooltip {...props} classes={{ popper: className }} />\r\n ))(({ theme }) => ({\r\n [`& .${tooltipClasses.tooltip}`]: {\r\n backgroundColor: theme.palette.common.white,\r\n color: \"rgba(0, 0, 0, 0.87)\",\r\n boxShadow: theme.shadows[1],\r\n fontSize: 13,\r\n },\r\n }));\r\n\r\n // const greet = Greetings();\r\n\r\n return (\r\n <>\r\n <Grid\r\n container\r\n style={{\r\n margin: \"0\",\r\n padding: \"0\",\r\n height: \"100vh\",\r\n // overflowY: \"hidden\",\r\n }}\r\n >\r\n {sideImage ? (\r\n <Grid item lg={1} md={1} xl={1} xs={1} sm={1}>\r\n <img className=\"sideImage\" src={sideImage} alt=\"side-Image\" />\r\n </Grid>\r\n ) : null}\r\n\r\n <Grid\r\n item\r\n lg={11}\r\n md={11}\r\n xl={11}\r\n xs={11}\r\n style={{\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n }}\r\n >\r\n <Grid\r\n container\r\n style={{\r\n minHeight: \"100vh\",\r\n padding: \"10px 0px 0px 0px\",\r\n }}\r\n lg={11}\r\n md={11}\r\n xl={11}\r\n xs={11}\r\n >\r\n <Grid\r\n container\r\n style={{\r\n margin: \"0\",\r\n padding: \"0\",\r\n // height: \"12vh\",\r\n }}\r\n lg={12}\r\n md={12}\r\n xl={12}\r\n xs={12}\r\n >\r\n <Grid\r\n xs={12}\r\n sm={1}\r\n md={1}\r\n lg={1}\r\n xl={1}\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n // justifyContent: \"center\",\r\n }}\r\n >\r\n <Stack direction=\"row\" spacing={4} ml={1}>\r\n <Box\r\n className={classes.heading_user_img_border}\r\n sx={{ cursor: \"pointer\" }}\r\n >\r\n <LightTooltip\r\n title={\r\n <>\r\n <div>User ID : {authState?.user?.id ?? \"\"}</div>\r\n <div>Role : {authState?.roleName ?? \"\"}</div>\r\n <div>Last Unsuccessful Login : \"\"</div>\r\n </>\r\n }\r\n placement=\"bottom-start\"\r\n >\r\n <Avatar\r\n className={classes.heading_user_img}\r\n // onClick={handleNavigate}\r\n alt=\"Remy Sharp\"\r\n src={\r\n Boolean(logos?.profile)\r\n ? logos?.profile\r\n : USER_PROFILE_DEFAULT\r\n }\r\n />\r\n </LightTooltip>\r\n </Box>\r\n </Stack>\r\n </Grid>\r\n <Grid\r\n xs={12}\r\n sm={5}\r\n md={5}\r\n lg={5}\r\n xl={5}\r\n sx={{\r\n justifyContent: \"center\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n }}\r\n >\r\n <h1\r\n className=\"name-heading\"\r\n style={{ fontSize: \"24px\", margin: \"4px 0px\" }}\r\n >\r\n Welcome <span>{`${authState?.user?.name ?? \"\"},`}</span>\r\n </h1>\r\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 10 }}>\r\n <h3 style={{ margin: \"4px 0px\" }}>{Greetings()}</h3>\r\n <img src={Waving_hand} alt=\"\" style={{ height: \"18px\" }} />\r\n </div>\r\n </Grid>\r\n <Grid\r\n xs={12}\r\n sm={1}\r\n md={1}\r\n lg={1}\r\n xl={1}\r\n sx={{\r\n display: \"flex\",\r\n // flexDirection: \"column\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n <Stack direction=\"row\" justifyContent=\"flex-start\" spacing={2}>\r\n <Box className={classes.heading_user_img_border}>\r\n <Avatar\r\n className={classes.heading_user_img}\r\n alt=\"Remy Sharp\"\r\n src={\r\n Boolean(logos?.bank) ? logos?.bank : bank_logo_default\r\n }\r\n />\r\n </Box>\r\n </Stack>\r\n </Grid>\r\n <Grid\r\n xs={12}\r\n sm={3}\r\n md={3}\r\n lg={3}\r\n xl={3}\r\n sx={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n justifyContent: \"center\",\r\n }}\r\n >\r\n <div\r\n className=\"bank-name-container\"\r\n style={{ fontSize: \"14px\" }}\r\n >\r\n <p className=\"bank-name\">\r\n {`Bank Name: ${authState?.companyName ?? \"\"}`}\r\n </p>\r\n </div>\r\n\r\n <p className=\"emp-id\">\r\n {`Emp. Id: ${authState?.user?.employeeID ?? \"\"}`}\r\n </p>\r\n </Grid>\r\n <Grid\r\n xs={12}\r\n sm={3}\r\n md={3}\r\n lg={2}\r\n xl={2}\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"right\",\r\n }}\r\n >\r\n {\" \"}\r\n <div>\r\n <img\r\n src={Boolean(logos?.logo) ? logos?.logo : logo}\r\n alt=\"bank_logo\"\r\n className={classes.logo}\r\n />\r\n </div>\r\n </Grid>\r\n </Grid>\r\n\r\n {isError ? (\r\n <Fragment>\r\n <div style={{ width: \"100%\", paddingTop: \"10px\" }}>\r\n <Alert\r\n severity={error?.severity ?? \"error\"}\r\n errorMsg={error?.error_msg ?? \"Error\"}\r\n errorDetail={error?.error_detail ?? \"\"}\r\n />\r\n </div>\r\n </Fragment>\r\n ) : mutation.isError && mutation.error ? (\r\n <Fragment>\r\n <div style={{ width: \"100%\", paddingTop: \"10px\" }}>\r\n <Alert\r\n severity={getError.severity ?? \"error\"}\r\n errorMsg={getError.error_msg ?? \"Error\"}\r\n errorDetail={getError.error_detail ?? \"\"}\r\n />\r\n </div>\r\n </Fragment>\r\n ) : null}\r\n <GridWrapper\r\n key={`branchSelection`}\r\n finalMetaData={BranchSelectionGridMetaData as GridMetaDataType}\r\n data={data ?? []}\r\n setData={() => null}\r\n actions={actions}\r\n setAction={setCurrentAction}\r\n controlsAtBottom={true}\r\n actionContextAtBottom={true}\r\n headerToolbarStyle={{\r\n background: \"#fff !important\",\r\n padding: \"0\",\r\n \"& .MuiTypography-root\": {\r\n color: \"black\",\r\n },\r\n }}\r\n disableMultipleRowSelect={true}\r\n variant=\"outlined\"\r\n loading={isLoading || isFetching || mutation.isLoading}\r\n defaultSelectedRowId={authState?.user?.branchCode ?? null}\r\n />\r\n {isError || data?.length === 0 ? (\r\n <Button\r\n sx={{\r\n backgroundColor: \"var(--theme-color3)\",\r\n position: \"absolute\",\r\n right: \"113px\",\r\n bottom: \"20px\",\r\n width: \"7rem\",\r\n \"&:hover\": {\r\n backgroundColor: \"var(--theme-color3)\",\r\n },\r\n }}\r\n onClick={() => {\r\n if (selectionMode === \"C\") {\r\n navigate(dashboardUrl, {\r\n replace: true,\r\n });\r\n } else {\r\n logoutFn();\r\n }\r\n }}\r\n >\r\n Back\r\n </Button>\r\n ) : null}\r\n </Grid>\r\n </Grid>\r\n </Grid>\r\n </>\r\n );\r\n};\r\n\r\nexport const BranchSelectionGridWrapper: React.FC<\r\n BranchSelectionWrapperProps\r\n> = (props) => {\r\n return (\r\n <ClearCacheProvider>\r\n <BranchSelectionGrid {...props} />\r\n </ClearCacheProvider>\r\n );\r\n};\r\n","import { alpha } from \"@mui/material\";\r\nimport { makeStyles } from \"@mui/styles\";\r\n\r\nexport const useStyles = makeStyles((theme: any) => ({\r\n appBar: {\r\n // zIndex: theme.zIndex.drawer + 1,\r\n transition: theme.transitions.create([\"width\", \"margin\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n color: \"#0063A3\",\r\n height: \"80px\",\r\n background: \"var(--white)\",\r\n boxShadow: \"0px 1px 0px -0.5px #DEE0E2\",\r\n },\r\n searchBar: {\r\n width: 290,\r\n border: \"none\",\r\n color: \"rgba(0, 0, 0, 0.87) !important\",\r\n backgroundColor: \"rgb(235 237 238 / 26%)!important\",\r\n\r\n \"& input\": {\r\n width: \"100% !important\",\r\n },\r\n },\r\n searchList: {\r\n position: \"absolute\",\r\n background: \"#fff\",\r\n width: \"100%\",\r\n borderRadius: \"6px\",\r\n boxShadow: \"0 12px 25px rgba(0,0,0,.3)\",\r\n top: \"120%\",\r\n height: \"auto\",\r\n maxHeight: \"325px\",\r\n overflowY: \"auto\",\r\n\r\n \"& .list-links\": {\r\n background: \"none\",\r\n border: \"none\",\r\n outline: \"none\",\r\n cursor: \"pointer\",\r\n textDecoration: \"none\",\r\n padding: \"0.7rem 1rem\",\r\n fontSize: \"0.90rem\",\r\n textAlign: \"left\",\r\n borderBottom: \"1px solid #ddd\",\r\n color: \"#222 !important\",\r\n fontWeight: 500,\r\n \"&:hover, &.active\": {\r\n backgroundColor: \"#f4f4f4\",\r\n },\r\n },\r\n },\r\n appBarShift: {\r\n paddingLeft: \"0px\",\r\n // width: `calc(100% - ${drawerWidth}px)`,\r\n transition: theme.transitions.create([\"width\", \"margin\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n background: \"rgba(250, 251, 255, 0.9)\",\r\n }),\r\n },\r\n heading_user_dtl: {\r\n width: \"458px\",\r\n height: \"73px\",\r\n left: \"37px\",\r\n top: \"calc(50% - 73px/2)\",\r\n },\r\n heading_user_img: {\r\n width: \"40px\",\r\n height: \"40px\",\r\n // cursor: \"pointer\",\r\n },\r\n heading_user_img_border: {\r\n border: \"2px dashed var(--theme-color3)\",\r\n borderRadius: \"50%\",\r\n padding: \"4px\",\r\n },\r\n toolbar: {\r\n minHeight: \"80px\",\r\n paddingLeft: \"0px\",\r\n height: \"80px\",\r\n },\r\n title: {\r\n flexGrow: 1,\r\n padding: theme.spacing(0.5, 0),\r\n color: \"var(--theme-color1)\",\r\n },\r\n searchRoot: {\r\n fontFamily: theme.typography.fontFamily,\r\n position: \"relative\",\r\n boxShadow:\r\n \"0px 2px 4px -1px rgba(0,0,0,0.2), 0px 4px 5px 0px rgba(0,0,0,0.14), 0px 1px 10px 0px rgba(0,0,0,0.12)\",\r\n marginRight: theme.spacing(2),\r\n marginLeft: theme.spacing(1),\r\n marginBottom: theme.spacing(0.25),\r\n marginTop: theme.spacing(0.25),\r\n borderRadius: 40,\r\n backgroundColor: alpha(theme.palette.common.white, 0.15),\r\n \"&:hover\": {\r\n backgroundColor: alpha(theme.palette.common.white, 0.25),\r\n },\r\n \"& $inputInput\": {\r\n transition: theme.transitions.create(\"width\"),\r\n width: 120,\r\n \"&:focus\": {\r\n width: 170,\r\n },\r\n },\r\n },\r\n search: {\r\n width: theme.spacing(6),\r\n height: \"100%\",\r\n position: \"absolute\",\r\n pointerEvents: \"none\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n },\r\n inputRoot: {\r\n color: \"inherit\",\r\n marginTop: 0,\r\n borderRadius: \"40px\",\r\n },\r\n inputInput: {\r\n padding: theme.spacing(1, 1, 1, 6),\r\n },\r\n\r\n loggedInUser: {\r\n marginLeft: theme.spacing(2),\r\n },\r\n nameClass: {\r\n color: \"#0063A3\",\r\n fontWeight: 600,\r\n textTransform: \"capitalize\",\r\n lineHeight: \"1.4\",\r\n textAlign: \"left\",\r\n },\r\n dropDown: {\r\n fontSize: \"2rem\",\r\n },\r\n vTop: {\r\n verticalAlign: \"top\",\r\n paddingLeft: \"4px\",\r\n color: \"var(--theme-color1)\",\r\n },\r\n userDesignation: {\r\n margin: \"0px\",\r\n fontWeight: 500,\r\n fontSize: \"0.875rem\",\r\n lineHeight: 1.57,\r\n color: \"var(--theme-color1)\",\r\n },\r\n userName: {\r\n margin: \"0px\",\r\n fontWeight: 500,\r\n fontSize: \"0.875rem\",\r\n lineHeight: 1.57,\r\n color: \"var(--theme-color3)\",\r\n },\r\n userprofilehover: {\r\n \"&:hover\": {\r\n backgroundColor: \"var(--white)\",\r\n },\r\n },\r\n lang_svg: {\r\n marginRight: \"10px\",\r\n width: \"22px\",\r\n height: \"22px\",\r\n },\r\n logo: {\r\n height: \"38px\",\r\n },\r\n version01: {\r\n margin: \"0\",\r\n textAlign: \"center\",\r\n color: \"var(--theme-color3)\",\r\n fontSize: \"9px\",\r\n },\r\n DrawerClose_icon: {\r\n color: \"var(--theme-color3)\",\r\n position: \"static\",\r\n background: \"transperant\",\r\n \"&:hover\": {\r\n background: \"var(--theme-color4)\",\r\n },\r\n width: \"46px\",\r\n height: \"46px\",\r\n },\r\n marquee: {\r\n animation: \"$marquee 10s linear infinite\",\r\n animationDelay: \"3s\",\r\n },\r\n \"@keyframes marquee\": {\r\n \"0%\": { transform: \"translateX(100%)\" },\r\n \"100%\": { transform: \"translateX(-100%)\" },\r\n },\r\n popover: {\r\n popover: {\r\n maxWidth: \"100%\",\r\n width: \"fit-content\",\r\n \"& .MuiPopover-paper\": {\r\n maxWidth: \"100%\",\r\n },\r\n },\r\n },\r\n}));\r\n","import { NavigateFunction } from \"react-router-dom\";\r\nimport clsx from \"clsx\";\r\nimport { useStyles } from \"./style\";\r\nimport Waving_hand from \"../../assets/images/waving-hand.png\";\r\nimport BecomePartnerImg from \"../../assets/images/BecomePartnerImg.svg\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport LogoutIcon from \"@mui/icons-material/Logout\";\r\nimport MenuOutlinedIcon from \"@mui/icons-material/MenuOutlined\";\r\nimport { styled } from \"@mui/material/styles\";\r\nimport {\r\n AppBar,\r\n Avatar,\r\n Box,\r\n Stack,\r\n Toolbar,\r\n Tooltip,\r\n Typography,\r\n tooltipClasses,\r\n} from \"@mui/material\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { format } from \"date-fns\";\r\n\r\ninterface AppbarWrapperProps {\r\n handleDrawerOpen: Function;\r\n handleDrawerClose: Function;\r\n open: boolean;\r\n authState: any;\r\n LanguageComponent?: React.ComponentType<any>;\r\n SearchComponent?: React.ComponentType<any>;\r\n dashboardUrl?: string;\r\n logos?: any;\r\n bankLogo?: any;\r\n profilePic?: string;\r\n handleLogout?: Function;\r\n handleProfile?: Function;\r\n navigate: NavigateFunction;\r\n hideGreetings?: boolean;\r\n menuIconPosition?: \"left\" | \"right\";\r\n}\r\n\r\nexport const AppbarWrapper: React.FC<AppbarWrapperProps> = ({\r\n handleDrawerOpen,\r\n handleDrawerClose,\r\n open,\r\n authState,\r\n LanguageComponent,\r\n SearchComponent,\r\n dashboardUrl,\r\n logos,\r\n bankLogo,\r\n profilePic,\r\n handleLogout,\r\n handleProfile,\r\n navigate,\r\n hideGreetings,\r\n menuIconPosition = \"left\",\r\n}) => {\r\n const classes = useStyles();\r\n const { t } = useTranslation();\r\n\r\n const LightTooltip = styled(({ className, ...props }: any) => (\r\n <Tooltip {...props} classes={{ popper: className }} />\r\n ))(({ theme }) => ({\r\n [`& .${tooltipClasses.tooltip}`]: {\r\n backgroundColor: theme.palette.common.white,\r\n color: \"rgba(0, 0, 0, 0.87)\",\r\n boxShadow: theme.shadows[1],\r\n fontSize: 13,\r\n },\r\n }));\r\n const Greetings = () => {\r\n let hours = new Date().getHours();\r\n let greet;\r\n\r\n if (hours < 12) greet = \"morning\";\r\n else if (hours >= 12 && hours <= 16) greet = \"afternoon\";\r\n else if (hours >= 16 && hours <= 24) greet = \"evening\";\r\n\r\n return <span>Good {greet},</span>;\r\n };\r\n\r\n return (\r\n <AppBar\r\n position=\"fixed\"\r\n elevation={0}\r\n className={clsx(classes.appBar, open && classes.appBarShift)}\r\n >\r\n <Toolbar className={classes.toolbar}>\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-evenly\",\r\n alignItems: \"center\",\r\n height: \"80px\",\r\n width: \"227px\",\r\n flexDirection: menuIconPosition === \"right\" ? \"row-reverse\" : \"row\",\r\n }}\r\n >\r\n {open ? (\r\n <IconButton\r\n disableRipple\r\n onClick={() => handleDrawerClose()}\r\n className={classes.DrawerClose_icon}\r\n >\r\n <MenuOutlinedIcon fontSize=\"large\" />\r\n </IconButton>\r\n ) : (\r\n <IconButton\r\n disableRipple\r\n aria-label=\"open drawer\"\r\n onClick={() => handleDrawerOpen()}\r\n className={classes.DrawerClose_icon}\r\n >\r\n <MenuOutlinedIcon fontSize=\"large\" />\r\n </IconButton>\r\n )}\r\n\r\n <div>\r\n <img\r\n src={Boolean(logos?.logo) ? logos?.logo : bankLogo}\r\n alt=\"bank_logo\"\r\n className={classes.logo}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n navigate(dashboardUrl ?? \"./dashboard\");\r\n }}\r\n />\r\n <p className={classes.version01}>{logos?.version}</p>\r\n </div>\r\n </Box>\r\n <Stack direction=\"row\" spacing={4} mx={2}>\r\n <Box className={classes.heading_user_img_border}>\r\n <Avatar\r\n className={classes.heading_user_img}\r\n alt=\"Remy Sharp\"\r\n src={Boolean(logos?.bank) ? logos?.bank : BecomePartnerImg}\r\n />\r\n </Box>\r\n </Stack>\r\n <Typography\r\n component=\"h1\"\r\n variant=\"h6\"\r\n color=\"inherit\"\r\n noWrap\r\n className={classes.title}\r\n >\r\n <Box\r\n style={{\r\n marginBottom: \"8px\",\r\n fontSize: \"17px\",\r\n color: \"var(--theme-color1)\",\r\n width: \"555px\",\r\n }}\r\n className={clsx({\r\n [classes.marquee]: authState?.companyName.length > 55,\r\n })}\r\n >\r\n {authState?.companyName || \"\"}\r\n </Box>\r\n <div style={{ display: \"flex\", gap: \"8px\" }}>\r\n <div style={{ color: \"var(--theme-color6)\" }}>\r\n <Typography\r\n variant=\"caption\"\r\n display=\"block\"\r\n lineHeight={0}\r\n fontSize={\"11px\"}\r\n >\r\n {t(\"appBar.Branch\")}:{authState?.user?.branchCode ?? \"001 \"}-\r\n {authState?.user?.branch ?? \"\"}\r\n </Typography>\r\n <Typography variant=\"caption\" display=\"inline\" fontSize={\"11px\"}>\r\n {t(\"appBar.WorkingDate\")}:{\" \"}\r\n {Boolean(authState?.workingDate)\r\n ? checkDateAndDisplay(\r\n format(new Date(authState?.workingDate), \"dd/MM/yyyy\"),\r\n // authState?.workingDate ?? \"\"\r\n )\r\n : \"not found\"}\r\n </Typography>\r\n <Typography\r\n marginLeft={1}\r\n variant=\"caption\"\r\n display=\"inline\"\r\n fontSize={\"11px\"}\r\n >\r\n {t(\"appBar.LastLoginDate\")} :{\" \"}\r\n {checkDateAndDisplay(authState?.user?.lastLogin ?? \"Vastrapur\")}\r\n </Typography>\r\n </div>\r\n </div>\r\n </Typography>\r\n <Box>\r\n {!hideGreetings ? (\r\n <Box sx={{ marginBottom: \"3px\", paddingRight: \"15px\" }}>\r\n <Stack\r\n direction=\"row\"\r\n spacing={2}\r\n justifyContent={\"flex-end\"}\r\n alignItems={\"center\"}\r\n >\r\n <Typography fontSize={\"17px\"} color={\"#1C1C1C\"}>\r\n {Greetings()} {authState?.user?.id ?? \"\"}\r\n </Typography>\r\n <img src={Waving_hand} alt=\"\" style={{ height: \"18px\" }} />\r\n </Stack>\r\n </Box>\r\n ) : null}\r\n <Box\r\n display={\"flex\"}\r\n justifyContent={\"space-evenly\"}\r\n alignItems={\"center\"}\r\n >\r\n {SearchComponent ? <SearchComponent /> : null}\r\n {LanguageComponent ? <LanguageComponent /> : null}\r\n\r\n <Box maxWidth={170} display={\"flex\"} justifyContent={\"end\"}>\r\n <Tooltip title=\"Logout\" placement=\"bottom\" arrow>\r\n <IconButton\r\n onClick={() =>\r\n typeof handleLogout === \"function\" ? handleLogout() : null\r\n }\r\n color=\"error\"\r\n sx={{\r\n backgroundColor: \"rgba(235, 237, 238, 0.45)\",\r\n\r\n borderRadius: \"10px\",\r\n height: \"30px\",\r\n width: \"30px\",\r\n \"&:hover\": {\r\n background: \"var(--white)\",\r\n borderRadius: \"10px\",\r\n transition: \"all 0.2s ease 0s\",\r\n boxShadow:\r\n \"rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px\",\r\n \"& .MuiSvgIcon-root\": {\r\n height: \"32px\",\r\n width: \"32px\",\r\n transition: \"all 0.2s ease 0s\",\r\n padding: \"4px\",\r\n },\r\n },\r\n }}\r\n aria-label=\"show 4 new mails\"\r\n >\r\n <LogoutIcon />\r\n </IconButton>\r\n </Tooltip>\r\n </Box>\r\n </Box>\r\n </Box>\r\n <Stack direction=\"row\" spacing={4} ml={1}>\r\n <Box\r\n className={classes.heading_user_img_border}\r\n sx={{ cursor: \"pointer\" }}\r\n >\r\n <LightTooltip\r\n title={\r\n <>\r\n <div>\r\n {\" \"}\r\n {t(\"appBar.UserID\")}: {authState?.user?.id}\r\n </div>\r\n <div>\r\n {t(\"appBar.Role\")} : {authState?.roleName}\r\n </div>\r\n <div>{t(\"appBar.LastUnsuccessfulLogin\")} : \"\"</div>\r\n </>\r\n }\r\n placement=\"bottom-start\"\r\n >\r\n <Avatar\r\n className={classes.heading_user_img}\r\n onClick={() =>\r\n typeof handleProfile === \"function\" ? handleProfile() : null\r\n }\r\n alt=\"Remy Sharp\"\r\n src={profilePic ?? \"\"}\r\n />\r\n </LightTooltip>\r\n </Box>\r\n </Stack>\r\n </Toolbar>\r\n </AppBar>\r\n );\r\n};\r\n\r\nexport const checkDateAndDisplay = (dateStr: string) => {\r\n // const dt = new Date(dateStr);\r\n // //@ts-ignore\r\n // if (dt instanceof Date && !isNaN(dt)) {\r\n // return dt.toDateString();\r\n // }\r\n if (Boolean(dateStr)) {\r\n return dateStr;\r\n }\r\n return \"N/A\";\r\n};\r\n","import { Theme } from \"@mui/material\";\r\nimport { makeStyles } from \"@mui/styles\";\r\n\r\nconst drawerWidth = 227;\r\n\r\nexport const useStyles = makeStyles((theme: Theme) => {\r\n return {\r\n drawerPaper: {\r\n position: \"relative\",\r\n whiteSpace: \"nowrap\",\r\n width: drawerWidth,\r\n transition: theme.transitions.create(\"width\", {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n border: \"none\",\r\n overflow: \"hidden\",\r\n zIndex: 120,\r\n },\r\n drawerPaperClose: {\r\n overflowX: \"hidden\",\r\n transition: theme.transitions.create(\"width\", {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n width: theme.spacing(8),\r\n [theme.breakpoints.up(\"sm\")]: {\r\n width: theme.spacing(8),\r\n },\r\n },\r\n toolbarIcon: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n zIndex: 9999,\r\n ...theme.mixins.toolbar,\r\n background: \"var(--white)\",\r\n justifyContent: \"center\",\r\n height: \"80px\",\r\n // borderBottom: \"1px dashed #949597\",\r\n },\r\n hrCSS: {\r\n zIndex: 9999,\r\n },\r\n buttonLink: {\r\n backgroundColor: \"transparent\",\r\n border: \"none\",\r\n cursor: \"pointer\",\r\n textDecoration: \"underline\",\r\n display: \"inline\",\r\n margin: 0,\r\n padding: 0,\r\n \"&:focus\": {\r\n textDecoration: \"none\",\r\n },\r\n \"$:hover\": {\r\n textDecoration: \"none\",\r\n },\r\n },\r\n };\r\n});\r\n\r\n/*\r\n \r\n*/\r\n","import { NavItemType } from \"./navigation\";\r\n\r\nexport const reportMetaData: NavItemType[] = [];\r\n","// import { createTheme } from \"@mui/material\";\r\nimport { makeStyles } from \"@mui/styles\";\r\n// const theme = createTheme();\r\n\r\nexport const useStylesBootstrapNav = makeStyles((theme: any) => ({\r\n navBarCSS: {\r\n padding: \"4px 1rem \",\r\n backgroundColor: \"#fff !important\",\r\n minHeight: \"64px\",\r\n boxShadow: \"0 3px 6px rgba(0,0,0,0.03)\",\r\n margin: \"10px\",\r\n },\r\n headerDropdown: {\r\n backgroundColor: \"#fff\",\r\n minWidth: \"205px\",\r\n boxShadow: \"0 3px 6px rgba(0,0,0,0.16)\",\r\n textDecoration: \"none\",\r\n borderBottom: \"3px solid #26A456\",\r\n },\r\n navLinkHeader: {\r\n color: \"#555\",\r\n fontSize: \"14px\",\r\n lineHeight: \"1.2\",\r\n paddingTop: \"4px\",\r\n paddingBottom: \"4px\",\r\n paddingRight: \".5rem\",\r\n paddingLeft: \".5rem\",\r\n fontWeight: 600,\r\n textTransform: \"capitalize\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n cursor: \"pointer\",\r\n\r\n \"& hover\": {\r\n color: \"#0b6fb8\",\r\n },\r\n },\r\n productLink: {\r\n color: \"#555\",\r\n padding: \"0 1rem 8px 1rem\",\r\n display: \"inline-block\",\r\n verticalAlign: \"middle\",\r\n cursor: \"pointer\",\r\n textTransform: \"capitalize\",\r\n },\r\n font13: {\r\n fontSize: \"13px\",\r\n },\r\n loginDropdown: {\r\n width: \"160px\",\r\n },\r\n}));\r\n\r\nexport const useStylesSideBar = makeStyles((theme: any) => ({\r\n root: {\r\n justifyContent: \"center\",\r\n },\r\n drawer: {\r\n margin: \"5px\",\r\n },\r\n item: {\r\n display: \"flex\",\r\n //borderBottom: \"2px solid #93242433\",\r\n borderRadius: \"8px\",\r\n marginLeft: \"7px\",\r\n marginTop: \"6.5px\",\r\n width: \"90%\",\r\n height: \"50px\",\r\n paddingLeft: theme.spacing(2),\r\n paddingRight: theme.spacing(2),\r\n background: \"var(--white)\",\r\n boxShadow: \"3px 6px 9px rgba(93, 95, 121, 0.26)\",\r\n \"& svg\": {\r\n // color: theme.palette.primary.main,\r\n color: \"var(--theme-color1)\",\r\n },\r\n \"&:hover\": {\r\n boxShadow:\r\n \"6px 6px 1px -1px rgba(0,0,0,0.2), 0px 1px 1px 0px rgba(0,0,0,0.14), 0px 1px 0px 0px rgba(0,0,5,0.12)\",\r\n background: \"var(--theme-color4)\",\r\n transition: \"0.6s ease\",\r\n },\r\n },\r\n drawerIconSize: {\r\n width: \"50px\",\r\n height: \"50px\",\r\n padding: \"18px\",\r\n justifyItems: \"cenetr\",\r\n },\r\n button: {\r\n color: \"#0063A3\",\r\n padding: \"10px 8px\",\r\n //justifyContent: \"flex-start\",\r\n textTransform: \"none\",\r\n letterSpacing: 0,\r\n width: \"100%\",\r\n textAlign: \"left\",\r\n \"&:hover\": {\r\n backgroundColor: \"var(--theme-color1)\",\r\n // boxShadow: \"0px 15px 20px rgb(221 176 176 / 37%)\",\r\n },\r\n },\r\n btnRoot: {\r\n paddingLeft: \"24px\",\r\n justifyContent: \"left \",\r\n },\r\n navLinks: {\r\n // height: \"calc(100vh - 78px)\",\r\n overflowY: \"auto\",\r\n overflowX: \"hidden\",\r\n // height:\"100px\",\r\n backgroundColor: \"rgba(250, 251, 255, 0.9);\",\r\n // height: \"calc(100vh - 230px)\",\r\n //background: \"var(--theme-color1)\",\r\n // marginTop: \"25px\",\r\n // boxShadow: \"0 3px 6px rgba(255, 99, 71, 0.3)\",\r\n borderRadius: \"10px\",\r\n paddingTop: \"5px\",\r\n //margin: \"5px\",\r\n },\r\n navLinksforseparateView: {\r\n overflowY: \"auto\",\r\n overflowX: \"hidden\",\r\n height: \"calc(100vh - 180px)\",\r\n // height:\"auto\",\r\n paddingTop: \"10px\",\r\n },\r\n nestedMenuLevel1: {\r\n paddingLeft: \"20px\",\r\n marginTop: \"11px\",\r\n paddingRight: theme.spacing(3),\r\n height: \"auto\",\r\n fontSize: \"13px\",\r\n \"& div > svg\": {\r\n fontSize: \"14px\",\r\n },\r\n },\r\n nestedMenuLevel2: {\r\n paddingLeft: \"20px\",\r\n marginTop: \"11px\",\r\n fontSize: \"12px\",\r\n \"& div > svg\": {\r\n fontSize: \"9px\",\r\n },\r\n },\r\n listIcon: {\r\n minWidth: \"30px !important\",\r\n justifyItems: \"center\",\r\n color: \"var(--theme-color6)\",\r\n fontWeight: 700,\r\n fontSize: \"18px\",\r\n },\r\n link: {\r\n fontSize: \"1rem \",\r\n marginTop: \"2px\",\r\n marginBottom: \"2px\",\r\n textOverflow: \"ellipsis\",\r\n color: \"var(--theme-color1)\",\r\n marginLeft: \"15px\",\r\n whiteSpace: \"break-spaces\",\r\n \"& span\": {\r\n fontWeight: 400,\r\n whiteSpace: \"break-spaces\",\r\n },\r\n \"& p\": {\r\n color: \"var(--theme-color3)\",\r\n fontweight: 400,\r\n },\r\n },\r\n linktext: {\r\n backgroundColor: \"var(--white)\",\r\n \"&:hover\": {\r\n background: \"var(--theme-color1)\",\r\n \"& div\": {\r\n color: \"var(--white) !important\",\r\n },\r\n \"& div > svg\": {\r\n color: \"var(--white) !important\",\r\n },\r\n },\r\n },\r\n faSmall: {\r\n fontSize: \"13px \",\r\n },\r\n openList: {\r\n \":not(activeMenuItem)\": {\r\n \"& > div\": {\r\n backgroundColor: \"rgba(0, 0, 0, 0.04)\",\r\n },\r\n \"& *\": {\r\n color: \"var(--white)\",\r\n },\r\n },\r\n },\r\n openCurrent: {\r\n backgroundColor: \"var(--theme-color1)\",\r\n \"& *\": {\r\n color: \"var(--white)\",\r\n },\r\n \"&:hover\": {\r\n backgroundColor: \"var(--theme-color1)\",\r\n },\r\n },\r\n slimList: {\r\n paddingTop: \"15px\",\r\n paddingBottom: \"13px\",\r\n height: \"auto\",\r\n paddingLeft: \"15px\",\r\n justifyItems: \"center\",\r\n },\r\n activeMenuItem: {\r\n backgroundColor: \"var(--theme-color1)!important \", //\"var(--white)!important\",\r\n\r\n \"& > div\": {\r\n color: \"var(--white)!important\",\r\n },\r\n \"& svg\": {\r\n color: \"var(--theme-color4)\",\r\n },\r\n \"& hover\": {\r\n \"& > div\": {\r\n color: \"var(--theme-color3)\",\r\n },\r\n },\r\n \"& p\": {\r\n color: \"var(--theme-color6)\",\r\n },\r\n },\r\n}));\r\n","import { FC } from \"react\";\r\nimport { useState } from \"react\";\r\nimport { NavigateFunction } from \"react-router-dom\";\r\nimport clsx from \"clsx\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { NavItemType, SideBarRendererType } from \"./types\";\r\nimport { useStylesSideBar } from \"./style\";\r\nimport ScrollBar from \"react-perfect-scrollbar\";\r\nimport {\r\n Collapse,\r\n List,\r\n ListItem,\r\n ListItemIcon,\r\n ListItemText,\r\n Tooltip,\r\n} from \"@mui/material\";\r\nimport { ExpandLess, ExpandMore } from \"@mui/icons-material\";\r\nlet localdrawerOpen = true;\r\n\r\ninterface SideBarNavProps extends SideBarRendererType {\r\n rootUrl: string;\r\n dashboardUrl?: string;\r\n navigate: NavigateFunction;\r\n}\r\n\r\nexport const SideBarNav: FC<SideBarNavProps> = ({\r\n metaData,\r\n handleDrawerOpen,\r\n drawerOpen,\r\n setView,\r\n slimSize,\r\n setNewFilterData,\r\n setNewFilterView,\r\n isFromSeparetView = false,\r\n rootUrl,\r\n dashboardUrl,\r\n navigate,\r\n}) => {\r\n const classes = useStylesSideBar();\r\n let result: JSX.Element[] | null = null;\r\n localdrawerOpen = drawerOpen;\r\n if (Array.isArray(metaData.navItems)) {\r\n result = metaData.navItems.map((one) => {\r\n if (one?.seperateView === true) {\r\n return (\r\n <SeperateListView\r\n key={one.label}\r\n item={one}\r\n setView={setView}\r\n classes={classes}\r\n level={0}\r\n slimSize={slimSize}\r\n setNewFilterData={setNewFilterData}\r\n setNewFilterView={setNewFilterView}\r\n />\r\n );\r\n } else if (Array.isArray(one.children)) {\r\n return (\r\n <NestedListItem\r\n key={one.label}\r\n item={one}\r\n classes={classes}\r\n level={0}\r\n handleDrawerOpen={handleDrawerOpen}\r\n drawerOpen={drawerOpen}\r\n slimSize={slimSize}\r\n rootUrl={rootUrl}\r\n dashboardUrl={dashboardUrl}\r\n navigate={navigate}\r\n />\r\n );\r\n } else {\r\n return (\r\n <SingleListItem\r\n key={one.label}\r\n item={one}\r\n classes={classes}\r\n level={0}\r\n slimSize={slimSize}\r\n drawerOpen={drawerOpen}\r\n rootUrl={rootUrl}\r\n dashboardUrl={dashboardUrl}\r\n navigate={navigate}\r\n />\r\n );\r\n }\r\n });\r\n }\r\n return (\r\n <List\r\n component=\"nav\"\r\n disablePadding\r\n className={\r\n isFromSeparetView ? classes.navLinksforseparateView : classes.navLinks\r\n }\r\n >\r\n <ScrollBar>{result}</ScrollBar>\r\n </List>\r\n );\r\n};\r\n\r\nconst SeperateListView: FC<{\r\n item: NavItemType;\r\n setView: any;\r\n classes: ReturnType<typeof useStylesSideBar>;\r\n level: number;\r\n slimSize?: boolean;\r\n setNewFilterData?: any;\r\n setNewFilterView?: any;\r\n}> = ({\r\n item,\r\n setView,\r\n level,\r\n classes,\r\n slimSize,\r\n setNewFilterData,\r\n setNewFilterView,\r\n}) => {\r\n let labelStart: any =\r\n (item.label || \"\").toLowerCase().substring(0, 1) || \"circle\";\r\n // const icon = item.icon ? (\r\n // <ListItemIcon className={classes.listIcon}>\r\n // <FontAwesomeIcon icon={[\"fas\", labelStart]} />\r\n // </ListItemIcon>\r\n // ) : null;\r\n\r\n const icon = item.icon?.toLowerCase() !== \"process.gif\" && item.icon ? (\r\n <ListItemIcon className={classes.listIcon}>\r\n <FontAwesomeIcon icon={[\"fas\", item.icon]} />\r\n </ListItemIcon>\r\n ) : (\r\n <ListItemIcon className={classes.listIcon}>\r\n <FontAwesomeIcon\r\n icon={[\"fas\", labelStart]}\r\n />\r\n </ListItemIcon>\r\n );\r\n\r\n const levelClassName =\r\n level === 1\r\n ? classes.nestedMenuLevel1\r\n : level === 2\r\n ? classes.nestedMenuLevel2\r\n : \"\";\r\n\r\n return (\r\n <ListItem\r\n button\r\n disableGutters\r\n className={clsx({\r\n [classes.item]: true,\r\n [levelClassName]: Boolean(levelClassName),\r\n [classes.slimList]: Boolean(slimSize),\r\n [classes.drawerIconSize]: !localdrawerOpen,\r\n })}\r\n onClick={() => {\r\n if (item.viewName === \"newfilterview\" && Array.isArray(item.children)) {\r\n setNewFilterView({\r\n label: item.label,\r\n placeholder: \"Search \" + item.label + \" Screen...\",\r\n });\r\n let newChield = item.children.map((item1) => {\r\n return { ...item1, secondaryLabel: item1.user_code };\r\n });\r\n setNewFilterData(newChield);\r\n }\r\n setView(item.viewName);\r\n }}\r\n >\r\n <Tooltip\r\n title={item.label}\r\n arrow={true}\r\n placement={localdrawerOpen ? \"bottom-start\" : \"right\"}\r\n >\r\n <span>{icon}</span>\r\n </Tooltip>\r\n {(localdrawerOpen && item.label.length > 27) || !Boolean(icon) ? (\r\n <Tooltip\r\n title={item.label}\r\n arrow={true}\r\n placement={localdrawerOpen ? \"bottom-start\" : \"right\"}\r\n >\r\n <ListItemText\r\n primary={item.label}\r\n className={classes.link}\r\n secondary={item.secondaryLabel ?? null}\r\n ></ListItemText>\r\n </Tooltip>\r\n ) : localdrawerOpen ? (\r\n <ListItemText\r\n primary={item.label}\r\n className={classes.link}\r\n secondary={item.secondaryLabel ?? null}\r\n ></ListItemText>\r\n ) : null}\r\n </ListItem>\r\n );\r\n};\r\n\r\nconst SingleListItem: FC<{\r\n item: NavItemType;\r\n classes: ReturnType<typeof useStylesSideBar>;\r\n level: number;\r\n slimSize?: boolean;\r\n drawerOpen?: any;\r\n rootUrl: string;\r\n dashboardUrl?: string;\r\n navigate: NavigateFunction;\r\n}> = ({\r\n item,\r\n classes,\r\n level,\r\n slimSize,\r\n drawerOpen,\r\n rootUrl,\r\n dashboardUrl,\r\n navigate,\r\n}) => {\r\n const isActiveMenu = isActiveMenuFromhref(\r\n window.location?.pathname ?? \"\",\r\n item?.href ?? \"\",\r\n item?.navigationProps,\r\n rootUrl,\r\n dashboardUrl,\r\n );\r\n if (isActiveMenu) {\r\n // GeneralAPI.setDocumentName(item.label);\r\n let titleText = document.title;\r\n document.title = titleText.split(\" - \")[0] + \" - \" + item.label;\r\n }\r\n let labelStart: any =\r\n (item.label || \"\").toLowerCase().substring(0, 1) || \"circle\";\r\n\r\n const icon =\r\n item.icon.toLowerCase() === \"process.gif\" || !Boolean(item.icon) ? (\r\n <ListItemIcon className={classes.listIcon}>\r\n <FontAwesomeIcon icon={[\"fas\", labelStart]} />\r\n </ListItemIcon>\r\n ) : (\r\n <ListItemIcon className={classes.listIcon}>\r\n <FontAwesomeIcon icon={[\"fas\", item.icon]} />\r\n </ListItemIcon>\r\n );\r\n const levelClassName =\r\n level === 1\r\n ? classes.nestedMenuLevel1\r\n : level === 2\r\n ? classes.nestedMenuLevel2\r\n : \"\";\r\n return (\r\n <ListItem\r\n button\r\n disableGutters\r\n className={clsx({\r\n [classes.item]: true,\r\n [levelClassName]: Boolean(levelClassName),\r\n [classes.slimList]: Boolean(slimSize),\r\n [classes.activeMenuItem]: isActiveMenu,\r\n [classes.drawerIconSize]: !localdrawerOpen,\r\n })}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n if (item.isRouterLink) {\r\n let path = item.href;\r\n path =\r\n item.href?.substring(0, 1) === \"/\"\r\n ? item.href.substring(1)\r\n : item.href;\r\n if (item.passNavigationPropsAsURLParmas) {\r\n let urlParms = new URLSearchParams(item?.navigationProps);\r\n navigate(`${path}?${urlParms.toString()}`);\r\n } else {\r\n navigate(`${path}` as string, {\r\n state: { ...item?.navigationProps },\r\n });\r\n }\r\n } else if (Boolean(item.href)) {\r\n window.open(item.href, item.rel ?? \"_newtab\");\r\n }\r\n }}\r\n >\r\n <Tooltip\r\n title={item.label}\r\n arrow={true}\r\n placement={localdrawerOpen ? \"bottom-start\" : \"right\"}\r\n >\r\n <span>{icon}</span>\r\n </Tooltip>\r\n {/* {console.log(localdrawerOpen, item.label.length)} */}\r\n {(localdrawerOpen && item.label.length > 27) || !Boolean(icon) ? (\r\n <Tooltip\r\n title={item.label}\r\n arrow={true}\r\n placement={localdrawerOpen ? \"bottom-start\" : \"right\"}\r\n >\r\n <ListItemText\r\n primary={item.label}\r\n className={classes.link}\r\n secondary={item.secondaryLabel ?? null}\r\n ></ListItemText>\r\n </Tooltip>\r\n ) : localdrawerOpen ? (\r\n <ListItemText\r\n primary={item.label}\r\n className={classes.link}\r\n secondary={item.secondaryLabel ?? null}\r\n ></ListItemText>\r\n ) : null}\r\n {/* <ListItemText\r\n primary={item.label}\r\n className={classes.link}\r\n secondary={item.secondaryLabel ?? null}\r\n ></ListItemText> */}\r\n </ListItem>\r\n );\r\n};\r\n\r\nconst NestedListItem: FC<{\r\n item: NavItemType;\r\n classes: ReturnType<typeof useStylesSideBar>;\r\n level: number;\r\n handleDrawerOpen: Function;\r\n drawerOpen: boolean;\r\n slimSize?: boolean;\r\n rootUrl: string;\r\n dashboardUrl?: string;\r\n navigate: NavigateFunction;\r\n}> = ({\r\n item,\r\n classes,\r\n level,\r\n handleDrawerOpen,\r\n drawerOpen,\r\n slimSize,\r\n rootUrl,\r\n navigate,\r\n}) => {\r\n const [open, setOpen] = useState(false);\r\n const handleClick = () => {\r\n if (!drawerOpen) {\r\n // handleDrawerOpen();\r\n }\r\n setOpen(!open);\r\n };\r\n const childrens = item.children?.map((one) => {\r\n if (Array.isArray(one.children)) {\r\n return (\r\n <NestedListItem\r\n key={one.label}\r\n item={one}\r\n classes={classes}\r\n level={level + 1}\r\n handleDrawerOpen={handleDrawerOpen}\r\n drawerOpen={drawerOpen}\r\n slimSize={slimSize}\r\n rootUrl={rootUrl}\r\n navigate={navigate}\r\n />\r\n );\r\n } else {\r\n return (\r\n <SingleListItem\r\n key={one.label}\r\n item={one}\r\n classes={classes}\r\n level={level + 1}\r\n slimSize={slimSize}\r\n rootUrl={rootUrl}\r\n navigate={navigate}\r\n />\r\n );\r\n }\r\n });\r\n let labelStart: any =\r\n (item.label || \"\").toLowerCase().substring(0, 1) || \"circle\";\r\n\r\n const icon =\r\n item.icon?.toLowerCase() === \"process.gif\" || !Boolean(item.icon) ? (\r\n <ListItemIcon className={classes.listIcon}>\r\n <FontAwesomeIcon icon={[\"fas\", labelStart]} />\r\n </ListItemIcon>\r\n ) : (\r\n <ListItemIcon className={classes.listIcon}>\r\n <FontAwesomeIcon icon={[\"fas\", item.icon]} />\r\n </ListItemIcon>\r\n );\r\n\r\n const levelClassName =\r\n level === 1\r\n ? classes.nestedMenuLevel1\r\n : level === 2\r\n ? classes.nestedMenuLevel2\r\n : \"\";\r\n return (\r\n <>\r\n <ListItem\r\n button\r\n onClick={handleClick}\r\n disableGutters\r\n className={\r\n open\r\n ? clsx({\r\n [classes.item]: true,\r\n [levelClassName]: Boolean(levelClassName),\r\n [classes.slimList]: Boolean(slimSize),\r\n [classes.openCurrent]: true,\r\n [classes.drawerIconSize]: !localdrawerOpen,\r\n })\r\n : clsx({\r\n [classes.item]: true,\r\n [levelClassName]: Boolean(levelClassName),\r\n [classes.slimList]: Boolean(slimSize),\r\n [classes.drawerIconSize]: !localdrawerOpen,\r\n })\r\n }\r\n >\r\n <Tooltip\r\n title={item.label}\r\n arrow={true}\r\n placement={localdrawerOpen ? \"bottom-start\" : \"right\"}\r\n >\r\n <span>{icon}</span>\r\n </Tooltip>\r\n {/* {icon} */}\r\n {drawerOpen || !Boolean(icon) ? (\r\n <>\r\n <ListItemText\r\n primary={item.label}\r\n secondary={item.secondaryLabel ?? null}\r\n color=\"primary\"\r\n className={classes.link}\r\n ></ListItemText>\r\n {open ? <ExpandLess /> : <ExpandMore />}\r\n </>\r\n ) : null}\r\n </ListItem>\r\n\r\n <Collapse in={open} timeout=\"auto\" unmountOnExit>\r\n <List\r\n component=\"div\"\r\n disablePadding\r\n className={open ? classes.openList : \"\"}\r\n >\r\n {childrens}\r\n </List>\r\n </Collapse>\r\n </>\r\n );\r\n};\r\nconst isActiveMenuFromhref = (\r\n location,\r\n menuhref,\r\n navigationProps,\r\n rootUrl,\r\n dashboardUrl,\r\n) => {\r\n if (\r\n (location === `/${rootUrl}` || location === `/${rootUrl}/`) &&\r\n menuhref === dashboardUrl\r\n ) {\r\n return true;\r\n } else if (menuhref === \"report\") {\r\n try {\r\n let urlParms = new URLSearchParams(navigationProps);\r\n if (\"?\" + urlParms.toString() === window.location.search) {\r\n return true;\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n return false;\r\n } else if (\r\n location !== `/${rootUrl}` &&\r\n location !== \"/\" &&\r\n Boolean(menuhref) &&\r\n location.includes(menuhref)\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n","import { NavItemType } from \"./types\";\r\n\r\nconst matchByValue = (search, tags, navItem) => {\r\n if (!Array.isArray(tags)) {\r\n tags = [tags];\r\n }\r\n return tags.some((one) =>\r\n navItem[one]\r\n ?.toLocaleLowerCase?.()\r\n ?.includes(search?.toLocaleLowerCase?.()),\r\n );\r\n};\r\n\r\nexport const filterMetaDataByValue = (\r\n searchString: string,\r\n navItems: NavItemType[],\r\n tagsToSearch?: string[],\r\n): NavItemType[] => {\r\n let newNavItems: NavItemType[] = [];\r\n for (let i = 0; i < navItems.length; i++) {\r\n if (matchByValue(searchString, tagsToSearch, navItems[i])) {\r\n let { children, ...newItem } = navItems[i];\r\n if (Array.isArray(children) && children.length > 0) {\r\n let newChildren = filterMetaDataByValue(\r\n searchString,\r\n children,\r\n tagsToSearch,\r\n );\r\n if (newChildren.length > 0) {\r\n newNavItems.push({ ...newItem, children: newChildren });\r\n }\r\n } else {\r\n newNavItems.push({ ...newItem });\r\n }\r\n }\r\n }\r\n return newNavItems;\r\n};\r\n","import { FC, useMemo, useState } from \"react\";\r\nimport clsx from \"clsx\";\r\nimport { SearchBar } from \"@acuteinfo/common-base\";\r\nimport ArrowBackIosNewIcon from \"@mui/icons-material/ArrowBackIosNew\";\r\nimport { useStylesSideBar } from \"./style\";\r\nimport { filterMetaDataByValue } from \"./filterMetaData\";\r\nimport { SideBarNav } from \"./sideBarNavigation\";\r\nimport { SideBarRendererType } from \"./types\";\r\nimport { ListItem, ListItemIcon, ListItemText } from \"@mui/material\";\r\nimport { NavigateFunction } from \"react-router-dom\";\r\n\r\ninterface NewSideBarNav extends SideBarRendererType {\r\n label: string;\r\n icon?: any;\r\n placeholder?: any;\r\n rootUrl: string;\r\n dashboardUrl?: string;\r\n navigate: NavigateFunction;\r\n}\r\n\r\nexport const SearchViewNavigation: FC<NewSideBarNav> = ({\r\n metaData,\r\n handleDrawerOpen,\r\n drawerOpen,\r\n setView,\r\n label,\r\n icon,\r\n placeholder = \"Search Reports...\",\r\n rootUrl,\r\n dashboardUrl,\r\n navigate,\r\n}) => {\r\n const [search, setSearch] = useState(\"\");\r\n const filteredMetaData = useMemo(() => {\r\n return filterMetaDataByValue(search, metaData.navItems, [\r\n \"label\",\r\n \"secondaryLabel\",\r\n ]);\r\n }, [search, metaData.navItems]);\r\n const classes = useStylesSideBar();\r\n\r\n const myIcon = icon ? (\r\n <ListItemIcon className={classes.listIcon}>\r\n <ArrowBackIosNewIcon />\r\n </ListItemIcon>\r\n ) : null;\r\n const handleClick = () => {\r\n if (!drawerOpen) {\r\n handleDrawerOpen();\r\n }\r\n };\r\n return (\r\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\r\n <ListItem\r\n button\r\n className={clsx({\r\n [classes.item]: true,\r\n [classes.nestedMenuLevel1]: true,\r\n [classes.linktext]: true,\r\n })}\r\n onClick={() => setView(\"/\")}\r\n >\r\n {myIcon}\r\n <ListItemText primary={label} className={classes.link} />\r\n </ListItem>\r\n {/* <div onClick={handleDrawerOpen}> */}\r\n <SearchBar\r\n sx={{ overflow: \"hidden\" }}\r\n value={search}\r\n onChange={(e) => setSearch(e.target.value)}\r\n onClick={handleClick}\r\n placeholder={Boolean(placeholder) ? placeholder : \"Search Reports...\"}\r\n autoFocus={drawerOpen}\r\n />\r\n {/* </div> */}\r\n <SideBarNav\r\n handleDrawerOpen={handleDrawerOpen}\r\n drawerOpen={drawerOpen}\r\n setView={setView}\r\n metaData={{\r\n navItems: filteredMetaData,\r\n config: { rel: \"\", target: \"_blank\" },\r\n }}\r\n slimSize={true}\r\n isFromSeparetView={true}\r\n rootUrl={rootUrl}\r\n dashboardUrl={dashboardUrl}\r\n navigate={navigate}\r\n />\r\n </div>\r\n );\r\n};\r\n","import { library } from \"@fortawesome/fontawesome-svg-core\";\r\nimport {\r\n faHandsHelping,\r\n faUsers,\r\n faBars,\r\n faBalanceScale,\r\n faHandHoldingHeart,\r\n faTasks,\r\n faCog,\r\n faHome,\r\n faTh,\r\n faUsersCog,\r\n faCircle,\r\n faUserCircle,\r\n faHashtag,\r\n faThumbtack,\r\n faSquare,\r\n faLink,\r\n faQuestion,\r\n faPlus,\r\n faTable,\r\n faLocationArrow,\r\n faHeadset,\r\n faGears,\r\n faArrowDown,\r\n faArrowUp,\r\n faSpinner,\r\n faCircleExclamation,\r\n faRotateRight,\r\n faUserLock,\r\n faUserClock,\r\n faGripHorizontal,\r\n faBarsProgress,\r\n faFileExport,\r\n faFileLines,\r\n faGear,\r\n faHeadphones,\r\n faUsersGear,\r\n faMessage,\r\n faUnlock,\r\n faUserPlus,\r\n faUserCheck,\r\n faKey,\r\n faIdCard,\r\n faIdBadge,\r\n faCheck,\r\n faCheckDouble,\r\n faCircleCheck,\r\n faPenToSquare,\r\n faCircleXmark,\r\n faUserTag,\r\n faAddressCard,\r\n faChartColumn,\r\n faUserPen,\r\n faHandHolding,\r\n faHandHoldingMedical,\r\n faObjectGroup,\r\n faTowerCell,\r\n faTowerObservation,\r\n faBuilding,\r\n faMailBulk,\r\n faLandmarkFlag,\r\n faCreditCard,\r\n faHospitalSymbol,\r\n faPlugCircleBolt,\r\n faCodeBranch,\r\n faPersonCircleCheck,\r\n faBank,\r\n faServer,\r\n faNotesMedical,\r\n faA,\r\n faB,\r\n faC,\r\n faD,\r\n faE,\r\n faF,\r\n faG,\r\n faH,\r\n faI,\r\n faJ,\r\n faK,\r\n faL,\r\n faM,\r\n faN,\r\n faO,\r\n faP,\r\n faQ,\r\n faR,\r\n faS,\r\n faT,\r\n faU,\r\n faV,\r\n faW,\r\n faX,\r\n faY,\r\n faZ,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nlibrary.add(\r\n faHandsHelping,\r\n faUsers,\r\n faBars,\r\n faBalanceScale,\r\n faHandHoldingHeart,\r\n faTasks,\r\n faCog,\r\n faHome,\r\n faTh,\r\n faUsersCog,\r\n faCircle,\r\n faUserCircle,\r\n faHashtag,\r\n faThumbtack,\r\n faSquare,\r\n faLink,\r\n faQuestion,\r\n faPlus,\r\n faTable,\r\n faLocationArrow,\r\n faHeadset,\r\n faGears,\r\n faArrowDown,\r\n faArrowUp,\r\n faSpinner,\r\n faCircleExclamation,\r\n faRotateRight,\r\n faUserLock,\r\n faUserClock,\r\n faGripHorizontal,\r\n faFileLines,\r\n faGear,\r\n faHeadphones,\r\n faUsersGear,\r\n faMessage,\r\n faUnlock,\r\n faUserPlus,\r\n faUserCheck,\r\n faKey,\r\n faIdCard,\r\n faIdBadge,\r\n faCheck,\r\n faCheckDouble,\r\n faCircleCheck,\r\n faCircleXmark,\r\n faUserTag,\r\n faAddressCard,\r\n faChartColumn,\r\n faUserPen,\r\n faHandHolding,\r\n faHandHoldingMedical,\r\n faObjectGroup,\r\n faTowerCell,\r\n faTowerObservation,\r\n faBuilding,\r\n faMailBulk,\r\n faLandmarkFlag,\r\n faCreditCard,\r\n faHospitalSymbol,\r\n faPlugCircleBolt,\r\n faCodeBranch,\r\n faPersonCircleCheck,\r\n faBank,\r\n faServer,\r\n faNotesMedical,\r\n faPenToSquare,\r\n faBarsProgress,\r\n faFileExport,\r\n faA,\r\n faB,\r\n faC,\r\n faD,\r\n faE,\r\n faF,\r\n faG,\r\n faH,\r\n faI,\r\n faJ,\r\n faK,\r\n faL,\r\n faM,\r\n faN,\r\n faO,\r\n faP,\r\n faQ,\r\n faR,\r\n faS,\r\n faT,\r\n faU,\r\n faV,\r\n faW,\r\n faX,\r\n faY,\r\n faZ\r\n);\r\n","import { NavBarMetaDataType, NavItemType } from \"./navigation\";\r\nimport { cloneDeep } from \"lodash\";\r\n\r\nexport const transformMetaDataAsPerRole = (\r\n metaData: NavBarMetaDataType,\r\n role: number,\r\n branches: string[],\r\n company: string,\r\n access: any,\r\n products: string[],\r\n) => {\r\n let navItems = filterMetaData(\r\n metaData.navItems,\r\n role,\r\n branches,\r\n company,\r\n access,\r\n products,\r\n );\r\n //console.log(navItems);\r\n let newnavItem = navItems.map((item) => {\r\n let { children, ...newItem } = item;\r\n if (Array.isArray(children) && children.length > 5) {\r\n if (!Boolean(newItem.seperateView)) {\r\n newItem.seperateView = true;\r\n newItem.viewName = \"newfilterview\";\r\n //console.log(newItem);\r\n }\r\n }\r\n return { ...newItem, children: children };\r\n });\r\n return {\r\n config: metaData.config,\r\n navItems: newnavItem,\r\n };\r\n};\r\nexport const transformMetaDataAsPerMenuRights = (\r\n metaData: NavBarMetaDataType,\r\n authState: any,\r\n) => {\r\n let newMetadata = cloneDeep(metaData) as NavBarMetaDataType;\r\n let NavItem = filterMetaDataAsperRights(newMetadata.navItems, authState);\r\n newMetadata.navItems = NavItem;\r\n return newMetadata;\r\n};\r\nconst filterMetaDataAsperRights = (navItems, accessgroup) => {\r\n let newNavItems: NavItemType[] = [];\r\n for (let i = 0; i < navItems.length; i++) {\r\n let { children, ...newItem } = navItems[i];\r\n if (Array.isArray(children) && children.length > 0) {\r\n let newChildren = filterMetaDataAsperRights(children, accessgroup);\r\n if (newChildren.length > 0) {\r\n newNavItems.push({ ...newItem, children: newChildren });\r\n }\r\n } else {\r\n //if(newItem?.doccd) ///condition\r\n ///newNavItems.push({ ...newItem });\r\n }\r\n }\r\n return newNavItems;\r\n};\r\nconst matchBranches = (userBranches, accessBranches) => {\r\n if (!Array.isArray(accessBranches) || !Array.isArray(userBranches)) {\r\n return true;\r\n }\r\n if (accessBranches.length <= 0 || userBranches.length <= 0) {\r\n return true;\r\n }\r\n for (const one of accessBranches) {\r\n if (userBranches.indexOf(one) >= 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n};\r\n\r\nconst matchComany = (userCompany, accessCompany) => {\r\n if (!Array.isArray(accessCompany) || !Boolean(userCompany)) {\r\n return true;\r\n }\r\n if (accessCompany.length <= 0) {\r\n return true;\r\n }\r\n if (accessCompany.indexOf(userCompany) >= 0) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\nconst matchRoles = (userRole, accessRoles) => {\r\n if (!Array.isArray(accessRoles) || typeof userRole !== \"number\") {\r\n return true;\r\n }\r\n if (accessRoles.length <= 0) {\r\n return true;\r\n }\r\n if (accessRoles.indexOf(userRole) >= 0) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\nconst matchInvisibleRoles = (userRole, accessRoles) => {\r\n if (!Array.isArray(accessRoles) || typeof userRole !== \"number\") {\r\n return true;\r\n }\r\n if (accessRoles.length <= 0) {\r\n return true;\r\n }\r\n if (accessRoles.indexOf(userRole) >= 0) {\r\n return false;\r\n }\r\n return true;\r\n};\r\n\r\nconst matchProducts = (userProducts, accessProducts) => {\r\n if (!Array.isArray(accessProducts) || !Array.isArray(userProducts)) {\r\n return true;\r\n }\r\n if (accessProducts.length <= 0 || userProducts.length <= 0) {\r\n return true;\r\n }\r\n\r\n for (const one of accessProducts) {\r\n if (userProducts.indexOf(one) >= 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n};\r\nconst ishrefisNotNull = (item) => {\r\n if (\r\n !(Array.isArray(item.children) && item.children.length > 0) &&\r\n !Boolean(item.href)\r\n ) {\r\n //console.log(item);\r\n return false;\r\n }\r\n return true;\r\n};\r\nconst filterMetaData = (\r\n navItems: NavItemType[],\r\n role: number,\r\n branches: string[],\r\n company: string,\r\n access: any,\r\n products: string[],\r\n): NavItemType[] => {\r\n let newNavItems: NavItemType[] = [];\r\n for (let i = 0; i < navItems.length; i++) {\r\n if (\r\n matchRoles(Number(role), navItems[i].visibleToRoles) &&\r\n matchComany(company, navItems[i].visibleToCompanies) &&\r\n matchBranches(branches, navItems[i].visibleToBranches) &&\r\n matchInvisibleRoles(Number(role), navItems[i].invisibleToRoles) &&\r\n matchProducts(products, navItems[i].visibleToProducts) &&\r\n ishrefisNotNull(navItems[i])\r\n ) {\r\n let { children, ...newItem } = navItems[i];\r\n if (Array.isArray(children) && children.length > 0) {\r\n let newChildren = filterMetaData(\r\n children,\r\n role,\r\n branches,\r\n company,\r\n access,\r\n products,\r\n );\r\n if (newChildren.length > 0) {\r\n newNavItems.push({ ...newItem, children: newChildren });\r\n }\r\n } else {\r\n newNavItems.push({ ...newItem, secondaryLabel: newItem.system_code });\r\n }\r\n }\r\n }\r\n return newNavItems;\r\n};\r\n","import { FC, useMemo, useState } from \"react\";\r\nimport { reportMetaData } from \"./reportMetaData\";\r\nimport { SideBarNav } from \"./navigation\";\r\nimport { SearchViewNavigation } from \"./navigation/searchViewNavigation\";\r\nimport \"./icons\";\r\nimport { transformMetaDataAsPerRole } from \"./transformer\";\r\n\r\n/* eslint-disable react-hooks/exhaustive-deps */\r\nexport const SideBar = ({\r\n authState,\r\n handleDrawerOpen,\r\n open,\r\n rootUrl,\r\n dashboardUrl = \"dashboard\",\r\n navigate,\r\n}) => {\r\n const [view, setView] = useState(\"/\");\r\n const [NewFilterView, setNewFilterView] = useState<any>({});\r\n const [NewFilterData, setNewFilterData] = useState([]);\r\n\r\n const branches = useMemo(() => {\r\n let myBranches = authState?.access?.entities?.Branch ?? [];\r\n if (Array.isArray(myBranches) && myBranches.length >= 0) {\r\n return myBranches.map((one) => one.branchCode);\r\n } else {\r\n return [];\r\n }\r\n }, []);\r\n\r\n const products = useMemo(() => {\r\n let myProducts = authState?.access?.products ?? [];\r\n if (Array.isArray(myProducts) && myProducts.length >= 0) {\r\n return myProducts.map((one) => one.categoryCode);\r\n } else {\r\n return [];\r\n }\r\n }, []);\r\n let newMetaData = { navItems: authState.menulistdata };\r\n let filteredMetaDataSideBar = transformMetaDataAsPerRole(\r\n newMetaData,\r\n Number(authState.role),\r\n branches,\r\n authState.companyID,\r\n authState.access,\r\n products,\r\n );\r\n\r\n let filteredReportsMetaData = transformMetaDataAsPerRole(\r\n {\r\n config: { rel: \"\", target: \"_blank\" },\r\n navItems: reportMetaData,\r\n },\r\n Number(authState.role),\r\n branches,\r\n authState.companyID,\r\n authState.access,\r\n products,\r\n );\r\n return view === \"report\" ? (\r\n <SearchViewNavigation\r\n metaData={filteredReportsMetaData}\r\n handleDrawerOpen={handleDrawerOpen}\r\n drawerOpen={open}\r\n setView={setView}\r\n label=\"Reports\"\r\n icon=\"table\"\r\n rootUrl={rootUrl}\r\n dashboardUrl={dashboardUrl}\r\n navigate={navigate}\r\n />\r\n ) : view === \"newfilterview\" ? (\r\n <SearchViewNavigation\r\n metaData={{\r\n config: { rel: \"\", target: \"_blank\" },\r\n navItems: NewFilterData,\r\n }}\r\n handleDrawerOpen={handleDrawerOpen}\r\n drawerOpen={open}\r\n setView={setView}\r\n label={NewFilterView?.label ?? \"Reports\"}\r\n icon=\"table\"\r\n placeholder={NewFilterView?.placeholder}\r\n rootUrl={rootUrl}\r\n dashboardUrl={dashboardUrl}\r\n navigate={navigate}\r\n />\r\n ) : (\r\n <>\r\n <SideBarNav\r\n metaData={filteredMetaDataSideBar}\r\n handleDrawerOpen={handleDrawerOpen}\r\n drawerOpen={open}\r\n setView={setView}\r\n slimSize={true}\r\n setNewFilterData={setNewFilterData}\r\n setNewFilterView={setNewFilterView}\r\n rootUrl={rootUrl}\r\n dashboardUrl={dashboardUrl}\r\n navigate={navigate}\r\n />\r\n </>\r\n );\r\n};\r\n","import React from \"react\";\r\nimport { NavigateFunction } from \"react-router-dom\";\r\nimport clsx from \"clsx\";\r\nimport { useStyles } from \"./style\";\r\nimport { Drawer } from \"@mui/material\";\r\nimport { SideBar } from \"./sideBar\";\r\n\r\ninterface SidebarWrapperProps {\r\n authState: any;\r\n navigate: NavigateFunction;\r\n handleDrawerOpen: Function;\r\n handleDrawerClose?: Function;\r\n open: boolean;\r\n rootUrl: string;\r\n dashboardUrl?: string;\r\n}\r\n\r\nexport const SidebarWrapper: React.FC<SidebarWrapperProps> = (props) => {\r\n const classes = useStyles();\r\n return (\r\n <Drawer\r\n variant=\"permanent\"\r\n classes={{\r\n paper: clsx(\r\n classes.drawerPaper,\r\n !props.open && classes.drawerPaperClose,\r\n ),\r\n }}\r\n open={props.open}\r\n >\r\n <div className={classes.toolbarIcon}></div>\r\n <SideBar {...props} />\r\n </Drawer>\r\n );\r\n};\r\n"],"names":["useStyles","_jsx","_jsxs","IconButton","_Fragment","inititalState","reducer","API.capture","BecomePartnerImg"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,MAAMA,WAAS,GAAG,UAAU,CAAC,CAAC,KAAU,MAAM;AACnD,IAAA,OAAO,EAAE;AACP,QAAA,SAAS,EAAE,OAAO;AAClB,QAAA,SAAS,EAAE,4BAA4B;;AAEvC,QAAA,UAAU,EAAE,cAAc;AAC3B,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5B,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,QAAQ,EAAE,OAAO;AACjB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,SAAS,EAAE,2BAA2B;AACtC,QAAA,YAAY,EAAE,KAAK;QACnB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;AAC9B,YAAA,KAAK,EAAE,MAAM;AACd,SAAA;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5B,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,QAAQ,EAAE,iBAAiB;QAC3B,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;AAC3B,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,UAAU,EAAE,cAAc;AAC1B,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,KAAK,EAAE,iBAAiB;AACxB,QAAA,UAAU,EAAE,GAAG;AACf,QAAA,aAAa,EAAE,WAAW;AAC1B,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,aAAa,EAAE,YAAY;AAC3B,QAAA,SAAS,EAAE,UAAU;AACrB,QAAA,SAAS,EAAE;AACT,YAAA,UAAU,EAAE,SAAS;AACrB,YAAA,SAAS,EAAE,MAAM;AAClB,SAAA;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;AACjC,QAAA,UAAU,EAAE,GAAG;AAChB,KAAA;AACD,IAAA,UAAU,EAAE;AACV,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI;AACnC,QAAA,UAAU,EAAE,GAAG;AACf,QAAA,QAAQ,EAAE,WAAW;AACtB,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/B,KAAA;AAED,IAAA,SAAS,EAAE;QACT,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;AAC9B,YAAA,OAAO,EAAE,MAAM;AAChB,SAAA;AACF,KAAA;AACD,IAAA,UAAU,EAAE;AACV,QAAA,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5B,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,QAAQ,EAAE,OAAO;AACjB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,SAAS,EAAE,2BAA2B;AACtC,QAAA,YAAY,EAAE,KAAK;QACnB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;AAC9B,YAAA,KAAK,EAAE,MAAM;AACd,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,SAAS,EAAE,QAAQ;AACpB,SAAA;AACF,KAAA;AAED,IAAA,QAAQ,EAAE,EAAE;AAEZ,IAAA,YAAY,EAAE;AACZ,QAAA,SAAS,EAAE,QAAQ;;;AAGnB,QAAA,OAAO,EAAE,KAAK;AACf,KAAA;AACD,IAAA,UAAU,EAAE;;AAEX,KAAA;AAED,IAAA,OAAO,EAAE;AACP,QAAA,OAAO,EAAE,MAAM;AAChB,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,SAAS,EAAE;AACT,YAAA,WAAW,EAAE,iBAAiB;AAC9B,YAAA,MAAM,EAAE,qCAAqC;AAC7C,YAAA,YAAY,EAAE,MAAM;AACpB,YAAA,KAAK,EAAE,iBAAiB;AACxB,YAAA,MAAM,EAAE,iBAAiB;AACzB,YAAA,YAAY,EAAE,MAAM;AACpB,YAAA,SAAS,EAAE,iDAAiD;AAC7D,SAAA;AACF,KAAA;AACD,IAAA,WAAW,EAAE;;;AAGX,QAAA,YAAY,EAAE,MAAM;AACrB,KAAA;AACD,IAAA,aAAa,EAAE;AACb,QAAA,OAAO,EAAE,MAAM;AAChB,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,UAAU,EAAE,QAAQ;;AAEpB,QAAA,YAAY,EAAE,MAAM;AACpB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,UAAU,EAAE,MAAM;AACnB,KAAA;AACD,IAAA,cAAc,EAAE;AACd,QAAA,KAAK,EAAE,qBAAqB;AAC5B,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,UAAU,EAAE,MAAM;AAClB,QAAA,MAAM,EAAE,QAAQ;;;AAGjB,KAAA;AACD,IAAA,aAAa,EAAE;AACb,QAAA,cAAc,EAAE,WAAW;AAC3B,QAAA,KAAK,EAAE,qBAAqB;AAC5B,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,SAAS,EAAE;AACT,YAAA,cAAc,EAAE,WAAW;AAC3B,YAAA,KAAK,EAAE,qBAAqB;AAC7B,SAAA;AACF,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA,UAAU,EAAE,mBAAmB;AAC/B,QAAA,OAAO,EAAE,qBAAqB;AAC9B,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,KAAK,EAAE,cAAc;AACrB,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,MAAM,EAAE;AACN,YAAA,UAAU,EAAE,gBAAgB;AAC7B,SAAA;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,WAAW,EAAE,MAAM;AACnB,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,MAAM,EAAE,MAAM;AACf,KAAA;AACD,IAAA,aAAa,EAAE;AACb,QAAA,OAAO,EAAE,UAAU;AACnB,QAAA,KAAK,EAAE;AACL,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,YAAY,EAAE,KAAK;AACpB,SAAA;AACF,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,UAAU,EAAE,QAAQ;AACpB,QAAA,cAAc,EAAE,QAAQ;AACxB,QAAA,aAAa,EAAE,QAAQ;AACvB,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,UAAU,EAAE,qBAAqB;AACjC,QAAA,SAAS,EAAE;AACT,YAAA,UAAU,EAAE,gCAAgC;AAC7C,SAAA;AACF,KAAA;AACF,CAAA,CAAC,CAAC;;ACxKI,MAAM,qBAAqB,GAAG,CAAC,EACpC,OAAO,EACP,UAAU,EACV,sBAAsB,EACtB,sBAAsB,GACvB,KAAI;AACH,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACnE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC;AACnD,IAAA,MAAM,GAAG,WAAW,CAAC,GAAG,QAAQ,EAAc,CAAC;AAC/C,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAM,IAAI,CAAC,CAAC;AACnC,IAAA,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,SAAS,CAAC,MAAK;QACb,OAAO,MAAM,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;KAC7C,EAAE,EAAE,CAAC,CAAC;AACP,IAAA,MAAM,YAAY,GAAG,CAAC,KAAK,KAAI;AAC7B,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AAC/B,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACjC,QAAA,IAAI,IAAI,KAAK,UAAU,IAAI,KAAK,EAAE;AAChC,YAAA,UAAU,CAAC,eAAe,GAAG,KAAK,CAAC;AACpC,SAAA;AACD,QAAA,IAAI,IAAI,KAAK,UAAU,IAAI,KAAK,EAAE;AAChC,YAAA,UAAU,CAAC,eAAe,GAAG,KAAK,CAAC;AACpC,SAAA;AAED,QAAA,QAAQ,CAAC,CAAC,MAAM,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;AACvD,KAAC,CAAC;AACF,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAM,IAAI,CAAC,CAAC;AACnC,IAAA,MAAM,YAAY,GAAG,MAAM,CAAM,IAAI,CAAC,CAAC;AACvC,IAAA,MAAM,cAAc,GAAG,MAAM,CAAM,IAAI,CAAC,CAAC;IAEzC,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,SAAS,CAAC;QACd,IAAI,UAAU,CAAC,eAAe,EAAE;AAC9B,YAAA,SAAS,GAAG,UAAU,CAAC,MAAK;AAC1B,gBAAA,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;aAC9B,EAAE,IAAI,CAAC,CAAC;AACV,SAAA;aAAM,IAAI,UAAU,CAAC,eAAe,EAAE;AACrC,YAAA,SAAS,GAAG,UAAU,CAAC,MAAK;AAC1B,gBAAA,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;aAClC,EAAE,IAAI,CAAC,CAAC;AACV,SAAA;AACD,QAAA,OAAO,MAAK;AACV,YAAA,IAAI,SAAS,EAAE;gBACb,YAAY,CAAC,SAAS,CAAC,CAAC;AACzB,aAAA;AACH,SAAC,CAAC;KACH,EAAE,CAAC,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7D,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,SAAS,CAAC;AACd,QAAA,IAAI,UAAU,EAAE,aAAa,IAAI,KAAK,EAAE;AACtC,YAAA,QAAQ,CAAC,CAAC,MAAM,MAAM,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AACpD,YAAA,SAAS,GAAG,UAAU,CAAC,MAAK;AAC1B,gBAAA,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;aAClC,EAAE,IAAI,CAAC,CAAC;AACV,SAAA;AACD,QAAA,OAAO,MAAK;AACV,YAAA,IAAI,SAAS,EAAE;gBACb,YAAY,CAAC,SAAS,CAAC,CAAC;AACzB,aAAA;AACH,SAAC,CAAC;AACJ,KAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;AAE/B,IAAA,QACEC,GAAA,CAAC,QAAQ,EAAA,EAAA,QAAA,EACPA,GAAC,CAAA,SAAS,EAAC,EAAA,QAAQ,EAAC,IAAI,EACtB,QAAA,EAAAC,IAAA,CAAC,IAAI,EAAA,EAAC,UAAU,EAAC,QAAQ,EAAC,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAA,QAAA,EAAA,CACrDD,GACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,oBAAoB;AAC3B,4BAAA,QAAQ,EAAE,MAAM;AAChB,4BAAA,UAAU,EAAE,KAAK;;AAEjB,4BAAA,UAAU,EAAE,QAAQ;AACpB,4BAAA,SAAS,EAAE,QAAQ;AACnB,4BAAA,UAAU,EAAE,MAAM;AACnB,yBAAA,EAAA,QAAA,EAEDA,GAAK,CAAA,IAAA,EAAA,EAAA,QAAA,EAAA,CAAC,CAAC,QAAQ,CAAC,EAAM,CAAA,EAAA,CAClB,EACNA,GAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAC,EAAE,EACZ,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,SAAS;AAChB,4BAAA,QAAQ,EAAE,MAAM;AAChB,4BAAA,UAAU,EAAE,KAAK;;AAEjB,4BAAA,UAAU,EAAE,QAAQ;AACpB,4BAAA,SAAS,EAAE,QAAQ;AAEnB,4BAAA,KAAK,EAAE,OAAO;AACf,yBAAA,EAAA,QAAA,EAEA,CAAC,CAAC,6BAA6B,CAAC,GAC7B,EACNC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAA,QAAA,EAAA,CAC9BD,IAAC,SAAS;;;;;;gCAGR,SAAS,EAAE,IAAI,EACf,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC;;gCAElB,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAChC,KAAK,EAAE;AACL,oCAAA,SAAS,EAAE,MAAM;AACjB,oCAAA,YAAY,EAAE,MAAM;AACrB,iCAAA,EACD,SAAS,EAAA,IAAA,EACT,IAAI,EAAE,MAAM,EACZ,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,EACvC,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,UAAU,CAAC,eAAe,EACjC,UAAU,EACR,UAAU,CAAC,eAAe;AACxB,sCAAE,CAAC,CAAC,UAAU,CAAC,sBAAsB,CAAC;AACtC,sCAAE,EAAE,EAER,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EACjC,QAAQ,EAAE,UAAU,CAAC,OAAO,EAC5B,YAAY,EAAC,KAAK,EAClB,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,CAAC,CAAC,KAAI;AACf,oCAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;AACrB,wCAAA,cAAc,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AACpC,qCAAA;iCACF,EACD,UAAU,EAAE;AACV,oCAAA,SAAS,EAAE,IAAI;iCAChB,EACD,CAAA,EAEFA,GACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE;AACL,oCAAA,OAAO,EAAE,MAAM;AACf,oCAAA,aAAa,EAAE,aAAa;AAC5B,oCAAA,SAAS,EAAE,KAAK;iCACjB,EAED,QAAA,EAAAA,GAAA,CAAC,SAAS,EAER,EAAA,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC;;;oCAIpB,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EACvC,eAAe,EAAE;AACf,wCAAA,MAAM,EAAE,IAAI;AACb,qCAAA,EACD,SAAS,EACT,IAAA,EAAA,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,UAAU,EACxC,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,KAAK,CAAC,QAAQ,EACrB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,UAAU,CAAC,eAAe,EACjC,UAAU,EACR,UAAU,CAAC,eAAe;AACxB,0CAAE,CAAC,CAAC,UAAU,CAAC,sBAAsB,CAAC;AACtC,0CAAE,EAAE,EAER,QAAQ,EAAE,UAAU,CAAC,OAAO,EAC5B,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,CAAC,CAAC,KAAI;AACf,wCAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;AACrB,4CAAA,cAAc,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AACpC,yCAAA;qCACF,EACD,UAAU,EAAE;AACV,wCAAA,YAAY,GACVA,GAAA,CAAC,cAAc,EAAA,EAAC,QAAQ,EAAC,KAAK,EAC5B,QAAA,EAAAA,GAAA,CAAC,UAAU,EACE,EAAA,YAAA,EAAA,4BAA4B,EACvC,OAAO,EAAE,MAAK;oDACZ,IAAI,CAAC,YAAY,EAAE;wDACjB,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AACvC,wDAAA,QAAQ,CAAC,OAAO,GAAG,UAAU,CAC3B,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAC7B,IAAI,CACL,CAAC;AACH,qDAAA;AAAM,yDAAA,IAAI,YAAY;wDAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAClD,iDAAC,EACD,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,EACtC,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAA,QAAA,EAE3B,YAAY,GAAGA,IAAC,UAAU,EAAA,EAAA,CAAG,GAAGA,GAAC,CAAA,aAAa,EAAG,EAAA,CAAA,EAAA,CACvC,GACE,CAClB;AACF,qCAAA,EACD,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAA,EAjD3B,UAAU,CAkDd,GACE,EACNA,GAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAA,QAAA,EAChDA,aAAK,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAA,QAAA,EAC5CA,GACE,CAAA,GAAA,EAAA,EAAA,IAAI,EAAE,sBAAsB,IAAI,EAAE,EAClC,KAAK,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAAA,QAAA,EAEtC,CAAC,CAAC,gBAAgB,CAAC,EAAA,CAClB,EACA,CAAA,EAAA,CACF,EACNA,GAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAChD,QAAA,EAAAA,GAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,wCAAA,IAAI,EAAE,MAAM;AACZ,wCAAA,SAAS,EAAE,QAAQ;AACnB,wCAAA,SAAS,EAAE,KAAK;AAChB,wCAAA,YAAY,EAAE,MAAM;AACrB,qCAAA,EAAA,QAAA,EAEDA,GAAC,CAAA,cAAc,EACb,EAAA,KAAK,EAAE;4CACL,YAAY,EAAE,UAAU,CAAC,OAAO,GAAG,KAAK,GAAG,MAAM;4CACjD,MAAM,EAAE,UAAU,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM;4CAC5C,KAAK,EAAE,UAAU,CAAC,OAAO,GAAG,KAAK,GAAG,MAAM;4CAC1C,QAAQ,EAAE,UAAU,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM;AAC/C,yCAAA,EACD,SAAS,EACT,IAAA,EAAA,QAAQ,EAAE,UAAU,CAAC,OAAO,EAC5B,OAAO,EAAE,MACP,sBAAsB,CACpB,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,WAAW,EAAE,EACpC,KAAK,CAAC,QAAQ,CACf,EAEH,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,UAAU,CAAC,OAAO,GAAG,SAAS,GAAG,MAAM,EAChD,UAAU,EAAC,4BAA4B,YAEtC,UAAU,CAAC,OAAO,IACjBA,GAAA,CAAC,gBAAgB,EAAC,EAAA,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,GAAI,KAE9C,CAAC,CAAC,MAAM,CAAC,CACV,EAAA,CACc,GACb,EACF,CAAA,CAAA,EAAA,CACF,IACD,EACG,CAAA,EAAA,CACH,EACX;AACJ,CAAC;;AC9OM,MAAM,QAAQ,GAAG,CAAC,EACvB,OAAO,EACP,gBAAgB,EAChB,IAAI,EACJ,WAAW,EACX,UAAU,EACV,SAAS,EACT,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,eAAe,GAAG,CAAC,EAAE,KAAI,GAAG,EAC5B,cAAc,GAAG,CAAC,EAClB,UAAU,GACX,KAAI;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC;AACnD,IAAA,MAAM,GAAG,WAAW,CAAC,GAAG,QAAQ,EAAc,CAAC;AAC/C,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAM,IAAI,CAAC,CAAC;IACnC,SAAS,CAAC,MAAK;QACb,OAAO,MAAM,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;KAC7C,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9C,IAAA,MAAM,cAAc,GAAG,MAAM,CAAM,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChE,IAAA,MAAM,EAAE,eAAe,EAAE,GAAG,WAAW,EAAE,CAAC;AAC1C,IAAA,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;;;;;;;;;;;;;;;;AAgB/B,IAAA,MAAM,YAAY,GAAG,CAAC,WAAW,KAAI;QACnC,IAAI,EAAE,aAAa,EAAE,GAAG,KAAK,EAAE,GAAG,WAAW,CAAC;AAC9C,QAAA,OAAO,gBAAgB,IACrBC,YACE,SAAS,EAAE,IAAI,CACb,OAAO,CAAC,aAAa,EACrB,CAAC,OAAO,IAAI,OAAO,CAAC,aAAa,CAClC,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAGxB,QAAA,EAAA,CAAA,CAAC,CAAC,eAAe,CAAC,OAAGD,GAAC,CAAA,gBAAgB,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,WAAW,EAAG,CAAA,CAAA,EAAA,CACpE,KAEJA,WACE,aAAa,EAAE,aAAa,EACxB,GAAA,KAAK,EACT,SAAS,EAAE,IAAI,CACb,OAAO,CAAC,aAAa,EACrB,CAAC,OAAO,IAAI,OAAO,CAAC,aAAa,CAClC,YAGA,CAAC,CAAC,eAAe,CAAC,EAAA,CACjB,CACL,CAAC;AACJ,KAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,MAAK;QAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,WAAW,CAAC,mBAAmB,CAAC,CAAC;AAClC,SAAA;AAAM,aAAA;YACL,WAAW,CAAC,EAAE,CAAC,CAAC;YAChB,SAAS,CAAC,GAAG,CAAC,CAAC;AAChB,SAAA;AACH,KAAC,CAAC;AAEF,IAAA,MAAM,iBAAiB,GAAG,YAAW;QACnC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC1B,QAAA,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,CACtD,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,YAAY;cACrD,UAAU,EAAE,SAAS;AACvB,cAAE,UAAU,EAAE,aAAa,EAC7B,UAAU,EAAE,QAAQ,EACpB,UAAU,EACV,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,UAAU,EACrC,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,SAAS,CACrC,CAAC;QACF,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,MAAM,KAAK,GAAG,EAAE;AAClB,YAAA,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC/B,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,eAAe,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AAClD,SAAA;AAAM,aAAA;YACL,eAAe,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;AAChD,SAAA;AACH,KAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,MAAK;QAC5B,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,EAAE,CAAC,CAAC;QACX,WAAW,CAAC,EAAE,CAAC,CAAC;AAClB,KAAC,CAAC;AACF,IAAA,MAAM,UAAU,GAAG,CAAC,aAAa,KAAI;AACnC,QAAA,IAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YACjC,UAAU,CAAC,MAAK;gBACd,UAAU,CAAC,IAAI,CAAC,CAAC;aAClB,EAAE,GAAG,CAAC,CAAC;AACT,SAAA;QACD,QACEC,IAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,EAAA,QAAA,EAAA,CACpD,CAAC,CAAC,gBAAgB,CAAC,EAAA,GAAA,EAAG,aAAa,EAAA,GAAA,EAAG,CAAC,CAAC,YAAY,CAAC,CAEjD,EAAA,CAAA,EACP;AACJ,KAAC,CAAC;IAEF,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,UAAU,EAAE,aAAa,IAAI,KAAK,EAAE;AACtC,YAAA,gBAAgB,EAAE,CAAC;AACpB,SAAA;AACH,KAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;IAC/B,QACED,IAAC,QAAQ,EAAA,EAAA,QAAA,EACPA,IAAC,SAAS,EAAA,EAAC,QAAQ,EAAC,IAAI,YACtBA,GAAC,CAAA,IAAI,IAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAE,KAAK,EACxC,QAAA,EAAAC,IAAA,CAAA,KAAA,EAAA;;AAEE,oBAAA,KAAK,EACH;;;;;;qBAMC,EAGH,QAAA,EAAA,CAAAD,GAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,gCAAA,KAAK,EAAE,SAAS;AAChB,gCAAA,QAAQ,EAAE,MAAM;AAChB,gCAAA,UAAU,EAAE,KAAK;;AAEjB,gCAAA,UAAU,EAAE,QAAQ;AACpB,gCAAA,SAAS,EAAE,QAAQ;AACnB,gCAAA,UAAU,EAAE,MAAM;AAClB,gCAAA,YAAY,EAAE,MAAM;6BACrB,EAEA,QAAA,EAAA,CAAC,CAAC,uBAAuB,CAAC,GACvB,EACNA,GAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,gCAAA,KAAK,EAAE,SAAS;AAChB,gCAAA,QAAQ,EAAE,MAAM;AAChB,gCAAA,UAAU,EAAE,KAAK;AACjB,gCAAA,UAAU,EAAE,QAAQ;AACpB,gCAAA,SAAS,EAAE,QAAQ;AACnB,gCAAA,UAAU,EAAE,MAAM;6BACnB,EAEA,QAAA,EAAA,CAAC,CAAC,cAAc,CAAC,GACd,EAcNC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,OAAO,CAAC,YAAY,EACjC,QAAA,EAAA,CAAA,CAAC,CAAC,WAAW,CAAC,EAAE,GAAG,EACnB,UAAU,EAAE,QAAQ;sCACjB,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AAC3C,wCAAA,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9B,sCAAE,IAAI,EACRD,GAAA,CAAC,SAAS;;;;AAER,oCAAA,aAAa,EAAE,iBAAiB;;AAEhC,oCAAA,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,UAAU,EAAE,WAAW,IAAI,EAAE,EACtC,SAAS,EAAE,OAAO,CAAC,cAAc,EACjC,CAAA,CAAA,EAAA,CACE,EACNC,IAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,OAAO,CAAC,OAAO,EAC1B,SAAS,EAAE,CAAC,CAAC,KAAI;AACf,gCAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;AACrB,oCAAA,cAAc,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AACpC,iCAAA;6BACF,EAAA,QAAA,EAAA,CAEDD,IAAC,QAAQ,EAAA,EACP,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,MAAM,EAChB,SAAS,QACT,SAAS,EAAE,CAAC,EACZ,OAAO,EAAC,QAAQ,EAChB,QAAQ,EAAE,KAAK,EACf,MAAM,EAAE,CAAC,YAAY,EACrB,SAAS,EAAE,OAAO,CAAC,eAAe,EAClC,CAAA,EACFA,IAACE,YAAU,EAAA,EAAA,YAAA,EACE,4BAA4B,EACvC,OAAO,EAAE,MAAK;wCACZ,IAAI,CAAC,YAAY,EAAE;4CACjB,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AACvC,4CAAA,QAAQ,CAAC,OAAO,GAAG,UAAU,CAC3B,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAC7B,IAAI,CACL,CAAC;AACH,yCAAA;AAAM,6CAAA,IAAI,YAAY;4CAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAClD,qCAAC,EACD,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,EACtC,QAAQ,EAAE,UAAU,CAAC,UAAU,EAC/B,SAAS,EAAE,OAAO,CAAC,WAAW,EAAA,QAAA,EAE7B,YAAY,GAAGF,GAAA,CAAC,UAAU,EAAA,EAAA,CAAG,GAAGA,GAAC,CAAA,aAAa,EAAG,EAAA,CAAA,EAAA,CACvC,CACT,EAAA,CAAA,EACL,OAAO,CAAC,QAAQ,CAAC,IAChBA,GAAA,CAAC,cAAc,EAAC,EAAA,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YACpC,QAAQ,EAAA,CACM,IACf,IAAI,EACRC,IAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,gCAAA,OAAO,EAAE,MAAM;AACf,gCAAA,GAAG,EAAE,MAAM;AACX,gCAAA,MAAM,EAAE,eAAe;AACvB,gCAAA,KAAK,EAAE,KAAK;AACb,6BAAA,EAAA,QAAA,EAAA,CAEDD,IAAC,cAAc;;;;oCAEb,QAAQ,EAAE,UAAU,CAAC,UAAU,EAC/B,OAAO,EAAE,MAAK;AACZ,wCAAA,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC1B,qCAAC,EACD,SAAS,EAAE,OAAO,CAAC,UAAU,EAC7B,SAAS,EAAE,qBAAqB,EAChC,EAAE,EAAE;AACF,wCAAA,MAAM,EAAE,8BAA8B;AACtC,wCAAA,QAAQ,EAAE,KAAK;AACf,wCAAA,UAAU,EAAE,cAAc;AAC1B,wCAAA,YAAY,EAAE,MAAM;AACpB,wCAAA,SAAS,EAAE;AACT,4CAAA,UAAU,EAAE,yBAAyB;AACtC,yCAAA;AACF,qCAAA;;AAED,oCAAA,SAAS,EAAE,MAAM,EACjB,UAAU,EAAC,4BAA4B,EAEtC,QAAA,EAAA,CAAC,CAAC,UAAU,CAAC,EACC,CAAA,EACjBA,IAAC,cAAc,EAAA,EACb,KAAK,EAAE;wCACL,YAAY,EAAE,UAAU,CAAC,OAAO,GAAG,KAAK,GAAG,MAAM;wCACjD,MAAM,EAAE,UAAU,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM;wCAC5C,KAAK,EAAE,UAAU,CAAC,OAAO,GAAG,KAAK,GAAG,MAAM;wCAC1C,QAAQ,EAAE,UAAU,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM;AAC/C,qCAAA,EACD,SAAS,EAAA,IAAA,EACT,QAAQ,EAAE,UAAU,CAAC,OAAO,EAC5B,OAAO,EAAE,iBAAiB,EAC1B,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,OAAO,CAAC,UAAU,EAC7B,OAAO,EAAE,UAAU,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,EACnD,UAAU,EAAC,YAAY,YAEtB,UAAU,CAAC,OAAO,IACjBA,GAAC,CAAA,gBAAgB,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAI,CAAA,KAE9C,CAAC,CAAC,eAAe,CAAC,CACnB,EAAA,CACc,IACb,CACF,EAAA,CAAA,EAAA,CACD,EACG,CAAA,EAAA,CACH,EACX;AACJ,CAAC,CAAC;AAEK,MAAM,YAAY,GAAG,CAAC,EAC3B,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,SAAS,EACT,QAAQ,EACR,WAAW,EACX,UAAU,EACV,eAAe,GAAG,CAAC,EAAE,KAAM,GAAC,EAC5B,cAAc,GAAG,CAAC,GACnB,KAAI;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC;AACnD,IAAA,MAAM,GAAG,WAAW,CAAC,GAAG,QAAQ,EAAc,CAAC;AAC/C,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAM,IAAI,CAAC,CAAC;IACnC,SAAS,CAAC,MAAK;QACb,OAAO,MAAM,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;KAC7C,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChE,IAAA,MAAM,cAAc,GAAG,MAAM,CAAM,IAAI,CAAC,CAAC;AACzC,IAAA,MAAM,EAAE,eAAe,EAAE,GAAG,WAAW,EAAE,CAAC;AAC1C,IAAA,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;AAC/B,IAAA,MAAM,YAAY,GAAG,CAAC,WAAW,KAAI;QACnC,IAAI,EAAE,aAAa,EAAE,GAAG,KAAK,EAAE,GAAG,WAAW,CAAC;AAC9C,QAAA,OAAO,gBAAgB,IACrBC,YACE,SAAS,EAAE,IAAI,CACb,OAAO,CAAC,aAAa,EACrB,CAAC,OAAO,IAAI,OAAO,CAAC,aAAa,CAClC,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAGxB,QAAA,EAAA,CAAA,CAAC,CAAC,eAAe,CAAC,OAAGD,GAAC,CAAA,gBAAgB,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,WAAW,EAAG,CAAA,CAAA,EAAA,CACpE,KAEJA,WACE,aAAa,EAAE,aAAa,EACxB,GAAA,KAAK,EACT,SAAS,EAAE,IAAI,CACb,OAAO,CAAC,aAAa,EACrB,CAAC,OAAO,IAAI,OAAO,CAAC,aAAa,CAClC,YAGA,CAAC,CAAC,eAAe,CAAC,EAAA,CACjB,CACL,CAAC;AACJ,KAAC,CAAC;IACF,MAAM,iBAAiB,GAAG,MAAK;QAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,WAAW,CAAC,mBAAmB,CAAC,CAAC;AAClC,SAAA;AAAM,aAAA;YACL,WAAW,CAAC,EAAE,CAAC,CAAC;YAChB,SAAS,CAAC,GAAG,CAAC,CAAC;AAChB,SAAA;AACH,KAAC,CAAC;AACF,IAAA,MAAM,iBAAiB,GAAG,YAAW;QACnC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC1B,QAAA,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,CACtD,UAAU,KAAK,WAAW;cACtB,UAAU,EAAE,SAAS;AACvB,cAAE,UAAU,EAAE,aAAa,EAC7B,UAAU,EAAE,QAAQ,EACpB,UAAU,EACV,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,SAAS,CACtB,CAAC;QACF,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,MAAM,KAAK,GAAG,EAAE;AAClB,YAAA,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC/B,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,eAAe,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AAClD,SAAA;AAAM,aAAA;YACL,eAAe,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;AAChD,SAAA;AACH,KAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,MAAK;QAC5B,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,EAAE,CAAC,CAAC;AACX,QAAA,WAAW,EAAE,CAAC;AAChB,KAAC,CAAC;AACF,IAAA,MAAM,UAAU,GAAG,CAAC,aAAa,KAAI;AACnC,QAAA,IAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YACjC,UAAU,CAAC,MAAK;gBACd,UAAU,CAAC,IAAI,CAAC,CAAC;aAClB,EAAE,GAAG,CAAC,CAAC;AACT,SAAA;QACD,QACEC,eAAM,SAAS,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,EAAA,QAAA,EAAA,CACpD,CAAC,CAAC,gBAAgB,CAAC,EAAG,GAAA,EAAA,aAAa,CAC/B,EAAA,CAAA,EACP;AACJ,KAAC,CAAC;IACF,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,UAAU,EAAE,aAAa,IAAI,KAAK,EAAE;AACtC,YAAA,gBAAgB,EAAE,CAAC;AACpB,SAAA;AACH,KAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;AAE/B,IAAA,QACED,GAAA,CAAC,QAAQ,EAAA,EAAA,QAAA,EACPA,IAAC,IAAI,EAAA,EAAC,UAAU,EAAC,QAAQ,EAAA,QAAA,EACvBC,IACE,CAAA,KAAA,EAAA,EAAA,QAAA,EAAA,CAAAD,GAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,SAAS;AAChB,4BAAA,QAAQ,EAAE,MAAM;AAChB,4BAAA,UAAU,EAAE,KAAK;;AAEjB,4BAAA,UAAU,EAAE,QAAQ;AACpB,4BAAA,SAAS,EAAE,QAAQ;AACnB,4BAAA,UAAU,EAAE,MAAM;AAClB,4BAAA,YAAY,EAAE,MAAM;yBACrB,EAEA,QAAA,EAAA,CAAC,CAAC,uBAAuB,CAAC,GACvB,EAYNC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,OAAO,CAAC,YAAY,EACjC,QAAA,EAAA,CAAA,CAAC,CAAC,WAAW,CAAC,EAAE,GAAG,EACnB,UAAU,EAAE,QAAQ;kCACjB,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AAC3C,oCAAA,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9B,kCAAE,IAAI,EACP,UAAU,CAAC,UAAU;AACtB,gCAAA,cAAc,IAAI,CAAC;AACnB,gCAAA,UAAU,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,IACrCD,GAAA,CAAC,SAAS,EACR,EAAA,aAAa,EAAE,iBAAiB;;AAEhC,gCAAA,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,UAAU,EAAE,WAAW,IAAI,EAAE,EACtC,SAAS,EAAE,OAAO,CAAC,cAAc,GACjC,CACH,CAAA,EAAA,CACG,EACNC,IAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,OAAO,CAAC,OAAO,EAC1B,SAAS,EAAE,CAAC,CAAC,KAAI;AACf,4BAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;AACrB,gCAAA,cAAc,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AACpC,6BAAA;yBACF,EAAA,QAAA,EAAA,CAEDD,IAAC,QAAQ,EAAA,EACP,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,MAAM,EAChB,SAAS,QACT,SAAS,EAAE,CAAC,EACZ,OAAO,EAAC,QAAQ,EAChB,QAAQ,EAAE,KAAK,EACf,MAAM,EAAE,CAAC,YAAY,EACrB,SAAS,EAAE,OAAO,CAAC,eAAe,EAClC,CAAA,EAmBFA,IAACE,YAAU,EAAA,EAAA,YAAA,EACE,4BAA4B,EACvC,OAAO,EAAE,MAAK;oCACZ,IAAI,CAAC,YAAY,EAAE;wCACjB,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AACvC,wCAAA,QAAQ,CAAC,OAAO,GAAG,UAAU,CAC3B,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAC7B,IAAI,CACL,CAAC;AACH,qCAAA;AAAM,yCAAA,IAAI,YAAY;wCAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;iCACjD,EACD,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,EACtC,QAAQ,EAAE,UAAU,CAAC,UAAU,EAC/B,SAAS,EAAE,OAAO,CAAC,WAAW,EAE7B,QAAA,EAAA,YAAY,GAAGF,GAAC,CAAA,UAAU,EAAG,EAAA,CAAA,GAAGA,GAAA,CAAC,aAAa,EAAA,EAAA,CAAG,EACvC,CAAA,CAAA,EAAA,CACT,EACL,OAAO,CAAC,QAAQ,CAAC,IAChBA,GAAC,CAAA,cAAc,EAAC,EAAA,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAA,QAAA,EAAG,QAAQ,EAAA,CAAkB,IAClE,IAAI,EACP,UAAU,EAAE,SAAS,KAAK,MAAM,IAC/BA,GAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAA,QAAA,EAC1BA,GAAG,CAAA,GAAA,EAAA,EAAA,IAAI,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAEzD,QAAA,EAAA,aAAA,EAAA,CAAA,EAAA,CACA,KAENA,GAAA,CAAAG,UAAA,EAAA,EAAA,CAAK,CACN,EAEDF,IACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE;AACL,4BAAA,OAAO,EAAE,MAAM;AACf,4BAAA,GAAG,EAAE,MAAM;AACX,4BAAA,MAAM,EAAE,eAAe;AACvB,4BAAA,KAAK,EAAE,KAAK;AACb,yBAAA,EAAA,QAAA,EAAA,CAEDD,GAAC,CAAA,cAAc,EACb,EAAA,SAAS,EACT,IAAA,EAAA,QAAQ,EAAE,UAAU,CAAC,UAAU,EAC/B,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,OAAO,CAAC,UAAU,EAC7B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,yBAAyB,EACpC,EAAE,EAAE;AACF,oCAAA,YAAY,EAAE;AACZ,wCAAA,KAAK,EAAE,+BAA+B;AACvC,qCAAA;AACF,iCAAA,EACD,UAAU,EAAC,4BAA4B,EACvC,KAAK,EAAE;;;;AAIL,oCAAA,YAAY,EAAE,MAAM;AACpB,oCAAA,QAAQ,EAAE,KAAK;iCAChB,EAEA,QAAA,EAAA,CAAC,CAAC,UAAU,CAAC,EAAA,CACC,EACjBA,GAAC,CAAA,cAAc,EACb,EAAA,KAAK,EAAE;oCACL,YAAY,EAAE,UAAU,CAAC,UAAU,GAAG,KAAK,GAAG,MAAM;oCACpD,MAAM,EAAE,UAAU,CAAC,UAAU,GAAG,MAAM,GAAG,MAAM;oCAC/C,KAAK,EAAE,UAAU,CAAC,UAAU,GAAG,KAAK,GAAG,MAAM;oCAC7C,QAAQ,EAAE,UAAU,CAAC,UAAU,GAAG,MAAM,GAAG,MAAM;AAClD,iCAAA;;gCAED,QAAQ,EAAE,UAAU,CAAC,OAAO,EAC5B,OAAO,EAAE,iBAAiB,EAC1B,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,OAAO,CAAC,UAAU,EAAA,QAAA,EAE5B,UAAU,CAAC,UAAU,IACpBA,IAAC,gBAAgB,EAAA,EAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAI,CAAA,KAE9C,CAAC,CAAC,eAAe,CAAC,CACnB,EACc,CAAA,CAAA,EAAA,CACb,CACF,EAAA,CAAA,EAAA,CACD,EACE,CAAA,EACX;AACJ,CAAC;;AC9jBM,MAAM,YAAY,GAAG,CAAC,EAC3B,OAAO,EACP,UAAU,EACV,YAAY,EACZ,YAAY,GACb,KAAI;AACH,IAAA,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,QACEA,IAAC,QAAQ,EAAA,EAAA,QAAA,EACPA,IAAC,SAAS,EAAA,EAAC,QAAQ,EAAC,IAAI,YACtBC,IAAC,CAAA,IAAI,IAAC,UAAU,EAAC,QAAQ,EACvB,QAAA,EAAA,CAAAA,IAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,4BAAA,WAAW,EAAE,MAAM;AACnB,4BAAA,KAAK,EAAE,MAAM;;AAEd,yBAAA,EAAA,QAAA,EAAA,CAEDD,GAAM,CAAA,IAAA,EAAA,EAAA,CAAA,EACNA,GACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE;AACL,oCAAA,KAAK,EAAE,SAAS;AAChB,oCAAA,QAAQ,EAAE,MAAM;AAChB,oCAAA,UAAU,EAAE,KAAK;;AAEjB,oCAAA,UAAU,EAAE,QAAQ;AACpB,oCAAA,SAAS,EAAE,QAAQ;AACnB,oCAAA,UAAU,EAAE,MAAM;AAClB,oCAAA,YAAY,EAAE,MAAM;iCACrB,EAEA,QAAA,EAAA,CAAC,CAAC,mCAAmC,CAAC,GACnC,EACNA,GAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,oCAAA,KAAK,EAAE,SAAS;AAChB,oCAAA,QAAQ,EAAE,MAAM;AAChB,oCAAA,UAAU,EAAE,KAAK;;AAEjB,oCAAA,UAAU,EAAE,QAAQ;AACpB,oCAAA,SAAS,EAAE,QAAQ;AACnB,oCAAA,UAAU,EAAE,MAAM;;AAEnB,iCAAA,EAAA,QAAA,EAEA,CAAC,CAAC,gCAAgC,CAAC,GAChC,EACNA,GAAA,CAAA,IAAA,EAAA,EAAA,CAAM,EACNC,IAAA,CAAC,UAAU,EAAA,EAAC,OAAO,EAAC,IAAI,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,aACjD,CAAC,CAAC,WAAW,CAAC,OAAG,EAAE,EACnB,CACC,CAAA,EAAA,UAAU,EAAE,QAAQ;0CAChB,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AAC3C,4CAAA,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9B,0CAAE,IACN,CAAE,CAAA,CAAA,EAAA,CACS,EACbD,GAAA,CAAA,IAAA,EAAA,EAAA,CAAM,EACNA,GAAA,CAAA,KAAA,EAAA,EACE,SAAS,EACP,UAAU,EAAE,gBAAgB;sCACxB,OAAO,CAAC,SAAS;AACnB,sCAAE,OAAO,CAAC,QAAQ,YAGtBC,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,cAAc,EAC3B,QAAA,EAAA,CAAAD,GAAA,CAAC,oBAAoB,EAAA,EACnB,EAAE,EAAE;AACF,gDAAA,QAAQ,EAAE,MAAM;AAChB,gDAAA,OAAO,EAAE,KAAK;AACd,gDAAA,YAAY,EAAE,KAAK;AACnB,gDAAA,OAAO,EAAE,MAAM;AACf,gDAAA,MAAM,EAAE,QAAQ;AAChB,gDAAA,SAAS,EAAE;AACT,oDAAA,YAAY,EAAE,mBAAmB;AAClC,iDAAA;6CACF,EACD,SAAS,EACP,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,EAE1D,KAAK,EAAE,UAAU,EAAE,gBAAgB,GAAG,OAAO,GAAG,SAAS,EACzD,CAAA,EACD,UAAU,EAAE,UAAU,IACrBC,IACE,CAAAE,UAAA,EAAA,EAAA,QAAA,EAAA,CAAAH,GAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAC,cAAc,EACxB,KAAK,EAAE;wDACL,MAAM,EAAE,UAAU,EAAE,UAAU;AAC5B,8DAAE,mBAAmB;AACrB,8DAAE,gBAAgB;AACrB,qDAAA,EAAA,CACI,EACPA,GACE,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,8BAA8B,EACxC,KAAK,EAAE;wDACL,MAAM,EAAE,UAAU,EAAE,UAAU;AAC5B,8DAAE,mBAAmB;AACrB,8DAAE,eAAe;AACpB,qDAAA,EAAA,CACI,EACPA,GACE,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,8BAA8B,EACxC,KAAK,EAAE;wDACL,MAAM,EAAE,UAAU,EAAE,UAAU;AAC5B,8DAAE,mBAAmB;AACrB,8DAAE,eAAe;AACpB,qDAAA,EAAA,CACI,CACN,EAAA,CAAA,IACD,IAAI,CACJ,EAAA,CAAA,EAAA,CACF,EAENA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,OAAO,CAAC,SAAS,EAC/B,QAAA,EAAAC,IAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAC/B,QAAA,EAAA,CAAAD,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,UAAU,CAAC,UAAU,GAAG,UAAU,GAAG,MAAM,YACzDA,GACE,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,KAAK,EACf,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,GAAG,KAAK,GAAG,IAAI,EAAE,EACjD,CAAA,EAAA,CACH,EACNA,GAAA,CAAA,IAAA,EAAA,EACE,KAAK,EAAE;AACL,gDAAA,OAAO,EAAE,MAAM;AACf,gDAAA,SAAS,EAAE,MAAM;AACjB,gDAAA,cAAc,EAAE,cAAc;gDAC9B,KAAK,EAAE,UAAU,EAAE,gBAAgB;AACjC,sDAAE,oBAAoB;AACtB,sDAAE,SAAS;6CACd,EAEA,QAAA,EAAA,UAAU,EAAE,gBAAgB;kDACzB,UAAU,EAAE,WAAW;kDACvB,UAAU,EAAE,OAAO;AACnB,sDAAE,CAAC,CAAC,mBAAmB,CAAC;sDACtB,UAAU,EAAE,UAAU;AACtB,0DAAE,CAAC,CAAC,oBAAoB,CAAC;0DACvB,IAAI,EACT,CAAA,CAAA,EAAA,CACD,GACF,CACF,EAAA,CAAA,EACNC,IACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE;AACL,4BAAA,OAAO,EAAE,MAAM;AACf,4BAAA,cAAc,EAAE,QAAQ;AACxB,4BAAA,MAAM,EAAE,eAAe;;AAEvB,4BAAA,GAAG,EAAE,MAAM;AACZ,yBAAA,EAAA,QAAA,EAAA,CAEDD,GAAC,CAAA,cAAc,EACb,EAAA,SAAS,QACT,QAAQ,EAAE,UAAU,CAAC,OAAO,EAC5B,OAAO,EAAE,MAAK;AACZ,oCAAA,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;iCACzB,EACD,SAAS,EAAE,OAAO,CAAC,UAAU,EAC7B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAC,4BAA4B,EACvC,SAAS,EAAE,gCAAgC,EAC3C,KAAK,EAAE;AACL,oCAAA,MAAM,EAAE,8BAA8B;AACtC,oCAAA,KAAK,EAAE,qBAAqB;AAC5B,oCAAA,UAAU,EAAE,cAAc;AAC1B,oCAAA,YAAY,EAAE,MAAM;AACpB,oCAAA,QAAQ,EAAE,KAAK;iCAChB,EAEA,QAAA,EAAA,CAAC,CAAC,UAAU,CAAC,EAAA,CACC,EACjBA,GAAC,CAAA,cAAc,EACb,EAAA,KAAK,EAAE;oCACL,YAAY,EAAE,UAAU,CAAC,OAAO,GAAG,KAAK,GAAG,MAAM;oCACjD,MAAM,EAAE,UAAU,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM;oCAC5C,KAAK,EAAE,UAAU,CAAC,OAAO,GAAG,KAAK,GAAG,MAAM;oCAC1C,QAAQ,EAAE,UAAU,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM;;;AAG/C,iCAAA,EACD,QAAQ,EAAE,UAAU,CAAC,OAAO,EAC5B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,YAAY,EAClD,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,OAAO,CAAC,UAAU,EAAA,QAAA,EAE5B,UAAU,CAAC,OAAO,IACjBA,GAAC,CAAA,gBAAgB,EACf,EAAA,IAAI,EAAE,EAAE,EACR,SAAS,EAAE,GAAG,EACd,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAA,CACxB,KAEF,CAAC,CAAC,kBAAkB,CAAC,CACtB,GACc,CACb,EAAA,CAAA,CAAA,EAAA,CACD,EACG,CAAA,EAAA,CACH,EACX;AACJ,CAAC;;AC/MM,MAAM,OAAO,GAAG,YAAW;AAChC,IAAA,IAAI,aAAa,GAAG;AAClB,QAAA,OAAO,EAAE,EAAE;AACX,QAAA,OAAO,EAAE,EAAE;KACZ,CAAC;IACF,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;AAC7C,IAAA,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,sCAAsC,EAAE;AACtE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,OAAO,EAAE;AACP,YAAA,MAAM,EAAE,kBAAkB;AAC1B,YAAA,cAAc,EAAE,kBAAkB;AACnC,SAAA;AACD,QAAA,IAAI,EAAE,QAAQ;AACf,KAAA,CAAC,CAAC;AACH,IAAA,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;AACzC,IAAA,OAAO,OAAO,CAAC;AACjB,CAAC;;ACdD,MAAM,aAAa,GAAG,CAAC,aAAqB,KAAI;IAC9C,IAAI,SAAS,GAAG,gBAAgB,CAAC;IACjC,IAAI,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE;QACzD,OAAO,EAAE,EAAE,GAAG,CAAC;AACf,QAAA,UAAU,EAAE,IAAI;AACjB,KAAA,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;;AAGjC,IAAA,IAAI,GAAG,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;;IAG9D,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;;;AAK5E,IAAA,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAC5B;AACE,QAAA,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CACnC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CACrE;AACF,KAAA,EACD,GAAG,EACH;AACE,QAAA,EAAE,EAAE,EAAE;AACP,KAAA,CACF,CAAC;AACF,IAAA,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;IACzC,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAEhF,CAAC,CAAC;AAEK,MAAM,WAAW,GAAG,OAAO,IAAS,EAAE,aAAqB,KAAI;IACpE,IAAI,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;;AAE5C,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC5B,YAAA,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACzB,SAAA;QACD,IAAI,CAAC,OAAO,CAAC,OAAO,OAAY,EAAE,CAAS,KAAI;YAC7C,IAAI;gBACF,IAAI,eAAe,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACtD,gBAAA,IAAI,aAAa,GAAG;AAClB,oBAAA,eAAe,EAAE,eAAe;AAChC,oBAAA,YAAY,EAAE,aAAa;AAC3B,oBAAA,OAAO,EAAE,KAAK;iBACf,CAAC;gBACF,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAC7C,MAAM,KAAK,CAAC,qCAAqC,EAAE;AACjD,oBAAA,MAAM,EAAE,MAAM;AACd,oBAAA,OAAO,EAAE;AACP,wBAAA,MAAM,EAAE,kBAAkB;AAC1B,wBAAA,cAAc,EAAE,kBAAkB;AACnC,qBAAA;AACD,oBAAA,IAAI,EAAE,QAAQ;iBACf,CAAC;qBACC,IAAI,CAAC,CAAC,QAAa,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;AACxC,qBAAA,IAAI,CAAC,CAAC,QAAa,KAAI;oBACtB,IAAI,QAAQ,EAAE,SAAS,KAAK,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE;AACrD,wBAAA,OAAO,CAAC;AACN,4BAAA,MAAM,EAAE,IAAI;AACZ,4BAAA,SAAS,EAAE,GAAG;AACd,4BAAA,YAAY,EAAE,EAAE;AAChB,4BAAA,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,OAAO,CAAC,KAAK;AACrB,yBAAA,CAAC,CAAC;wBACH,OAAO;AACR,qBAAA;AAED,oBAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;AACzB,wBAAA,OAAO,CAAC;AACN,4BAAA,MAAM,EAAE,KAAK;4BACb,SAAS,EAAE,QAAQ,CAAC,SAAS;4BAC7B,YAAY,EAAE,QAAQ,CAAC,YAAY;AACnC,4BAAA,OAAO,EAAE,KAAK;AACf,yBAAA,CAAC,CAAC;wBACH,OAAO;AACR,qBAAA;AACH,iBAAC,CAAC;AACD,qBAAA,KAAK,CAAC,CAAC,MAAM,KAAI;AAChB,oBAAA,OAAO,CAAC;AACN,wBAAA,MAAM,EAAE,KAAK;AACb,wBAAA,SAAS,EAAE,KAAK;AAChB,wBAAA,YAAY,EAAE,MAAM;AACpB,wBAAA,OAAO,EAAE,IAAI;AACd,qBAAA,CAAC,CAAC;AACL,iBAAC,CAAC,CAAC;AACN,aAAA;AAAC,YAAA,OAAO,GAAG,EAAE;AACZ,gBAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACjB,gBAAA,OAAO,CAAC;AACN,oBAAA,MAAM,EAAE,KAAK;AACb,oBAAA,SAAS,EAAE,KAAK;AAChB,oBAAA,YAAY,EAAE,uBAAuB;AACrC,oBAAA,OAAO,EAAE,IAAI;AACd,iBAAA,CAAC,CAAC;AACJ,aAAA;AACH,SAAC,CAAC,CAAC;AACL,KAAC,CAAC,CAAC;AACH,IAAA,OAAO,OAAO,CAAC;AACjB,CAAC;;ACrGM,MAAM,QAAQ,GAAG,CAAC,GAAG,GAAG,EAAE,KAAa;AAC5C,IAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAC3B,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;IACD,MAAM,WAAW,GACf,kEAAkE,CAAC;AAErE,IAAA,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;;ACDM,MAAM,WAAW,GAAG,CAAC,EAAE,aAAa,EAAO,KAAI;IACpD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAa,IAAI,CAAC,CAAC;AACrE,IAAA,MAAM,MAAM,GAAG,MAAM,CAAM,IAAI,CAAC,CAAC;AACjC,IAAA,MAAM,OAAO,GAAGD,WAAS,EAAE,CAAC;IAE5B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,aAAa,EAAE,EAAE,CAAC,CAAC;IAEhD,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;AAC9B,YAAA,IAAI,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;gBAC/B,IAAI,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACxD,gBAAA,MAAM,CAAC,OAAO;AACZ,oBAAA,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;AACvC,0BAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;0BACzB,EAAE,CAAC;AACT,gBAAA,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAClC,aAAA;AAAM,iBAAA;AACL,gBAAA,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACrC,aAAA;AACF,SAAA;AACH,KAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,QACEC,GAEE,CAAAG,UAAA,EAAA,EAAA,QAAA,EAAAF,IAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAA,IAAA,EAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAC1D,QAAA,EAAA,CAAAD,GAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAC,IAAA,EAAA,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAA,QAAA,EAC1DA,GACE,CAAA,KAAA,EAAA,EAAA,GAAG,EAAC,EAAE,EACN,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,MAAM;AACb,4BAAA,MAAM,EAAE,MAAM;AACd,4BAAA,SAAS,EAAE,OAAO;AAClB,4BAAA,cAAc,EAAE,QAAQ;AACzB,yBAAA,EACD,GAAG,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,GAAG,EAAE,GAChD,EACG,CAAA,EACPA,GAAC,CAAA,IAAI,IACH,IAAI,EAAA,IAAA,EACJ,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,EACN,KAAK,EAAE;AACL,wBAAA,MAAM,EAAE,MAAM;AACd,wBAAA,UAAU,EAAE,mBAAmB;AAChC,qBAAA,EAAA,QAAA,EAEDC,IAAC,CAAA,SAAS,EAAC,EAAA,QAAQ,EAAC,IAAI,EACtB,QAAA,EAAA,CAAAA,IAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAC,MAAM,EAChB,KAAK,EAAE;AACL,oCAAA,KAAK,EAAE,OAAO;AACd,oCAAA,SAAS,EAAE,QAAQ;AACnB,oCAAA,QAAQ,EAAE,MAAM;AAChB,oCAAA,UAAU,EAAE,MAAM;iCACnB,EAEA,QAAA,EAAA,CAAA,MAAM,EAAE,WAAW,IAAI,EAAE,EAC1BD,GAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,GAE9C,CACH,EAAA,CAAA,EACNA,GACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE;AACL,oCAAA,UAAU,EAAE,MAAM;AAClB,oCAAA,QAAQ,EAAE,MAAM;AAChB,oCAAA,UAAU,EAAE,OAAO;AACnB,oCAAA,aAAa,EAAE,QAAQ;AACvB,oCAAA,KAAK,EAAE,SAAS;AAChB,oCAAA,QAAQ,EAAE,OAAO;iCAClB,EAEA,QAAA,EAAA,MAAM,EAAE,UAAU,IAAI,EAAE,EACrB,CAAA,CAAA,EAAA,CACI,EACP,CAAA,CAAA,EAAA,CACF,EAEN,CAAA,EACH;AACJ,CAAC;;ACtEM,MAAM,gBAAgB,GAAG,CAAC,EAC/B,OAAO,EACP,aAAa,EACb,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,SAAS,EACT,WAAW,GACZ,KAAI;AACH,IAAA,MAAM,cAAc,GAAG,MAAM,CAAM,IAAI,CAAC,CAAC;AACzC,IAAA,MAAM,EAAE,eAAe,EAAE,GAAG,WAAW,EAAE,CAAC;AAC1C,IAAA,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;AAC/B,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC;AACjC,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,eAAe,EAAE,EAAE;AACpB,KAAA,CAAC,CAAC;AACH,IAAA,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC;AAC5C,QAAA,OAAO,EAAE,KAAK;AACd,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,aAAa,EAAE,KAAK;AACpB,QAAA,gBAAgB,EAAE,EAAE;AACpB,QAAA,aAAa,EAAE,KAAK;AACpB,QAAA,gBAAgB,EAAE,EAAE;AACpB,QAAA,oBAAoB,EAAE,KAAK;AAC3B,QAAA,uBAAuB,EAAE,EAAE;AAC5B,KAAA,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,MAAK;QAC5B,WAAW,CAAC,EAAE,CAAC,CAAC;AAClB,KAAC,CAAC;AACF,IAAA,MAAM,iBAAiB,GAAG,YAAW;QACnC,IAAI,OAAO,GAAG,KAAK,CAAC;AACpB,QAAA,IAAI,UAAU,GAAG;AACf,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,YAAY,EAAE,EAAE;AAChB,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,gBAAgB,EAAE,EAAE;AACpB,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,gBAAgB,EAAE,EAAE;AACpB,YAAA,oBAAoB,EAAE,KAAK;AAC3B,YAAA,uBAAuB,EAAE,EAAE;SAC5B,CAAC;AACF,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;AAC/B,YAAA,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;AAChC,YAAA,UAAU,CAAC,gBAAgB,GAAG,+BAA+B,CAAC;YAC9D,OAAO,GAAG,IAAI,CAAC;AAChB,SAAA;QAED,IAAI,OAAO,GAAG,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC5D,QAAA,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;AACpB,YAAA,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;AAChC,YAAA,UAAU,CAAC,gBAAgB,GAAG,OAAO,CAAC;YACtC,OAAO,GAAG,IAAI,CAAC;AAChB,SAAA;AACD,QAAA,IACE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;AAC1B,YAAA,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;AACvB,YAAA,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,QAAQ,EACpC;AACA,YAAA,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;AAChC,YAAA,UAAU,CAAC,gBAAgB;AACzB,gBAAA,yDAAyD,CAAC;YAC5D,OAAO,GAAG,IAAI,CAAC;AAChB,SAAA;AACD,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE;AACnC,YAAA,UAAU,CAAC,oBAAoB,GAAG,IAAI,CAAC;AACvC,YAAA,UAAU,CAAC,uBAAuB,GAAG,mCAAmC,CAAC;YACzE,OAAO,GAAG,IAAI,CAAC;AAChB,SAAA;AAAM,aAAA,IACL,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;AACvB,YAAA,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,eAAe,EACxC;AACA,YAAA,UAAU,CAAC,oBAAoB,GAAG,IAAI,CAAC;AACvC,YAAA,UAAU,CAAC,uBAAuB;AAChC,gBAAA,mDAAmD,CAAC;YACtD,OAAO,GAAG,IAAI,CAAC;AAChB,SAAA;AACD,QAAA,IAAI,OAAO,EAAE;YACX,gBAAgB,CAAC,UAAU,CAAC,CAAC;AAC9B,SAAA;AAAM,aAAA;AACL,YAAA,gBAAgB,CAAC,CAAC,MAAM,MAAM,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC/D,IAAI,QAAQ,GAAG,MAAM,aAAa,CAChC,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,QAAQ,EACd,WAAW,EACX,SAAS,CACV,CAAC;AACF,YAAA,gBAAgB,CAAC,CAAC,MAAM,MAAM,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAChE,YAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;gBAC3B,eAAe,CAAC,gCAAgC,EAAE;AAChD,oBAAA,OAAO,EAAE,SAAS;AACnB,iBAAA,CAAC,CAAC;gBACH,WAAW,CAAC,GAAG,CAAC,CAAC;AAClB,aAAA;AAAM,iBAAA;AACL,gBAAA,gBAAgB,CAAC,CAAC,MAAM,MAAM;AAC5B,oBAAA,GAAG,MAAM;AACT,oBAAA,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE,QAAQ,CAAC,OAAO;AAC/B,iBAAA,CAAC,CAAC,CAAC;AACL,aAAA;AACF,SAAA;AACH,KAAC,CAAC;AACF,IAAA,MAAM,YAAY,GAAG,CAAC,KAAK,KAAI;AAC7B,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AAC/B,QAAA,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/B,IAAI,IAAI,KAAK,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;AAC5C,YAAA,gBAAgB,CAAC,CAAC,MAAM,MAAM,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACrE,SAAA;aAAM,IAAI,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;AAChD,YAAA,gBAAgB,CAAC,CAAC,MAAM,MAAM,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACrE,SAAA;aAAM,IAAI,IAAI,KAAK,iBAAiB,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;AACvD,YAAA,gBAAgB,CAAC,CAAC,MAAM,MAAM;AAC5B,gBAAA,GAAG,MAAM;AACT,gBAAA,oBAAoB,EAAE,KAAK;AAC5B,aAAA,CAAC,CAAC,CAAC;AACL,SAAA;AACD,QAAA,QAAQ,CAAC,CAAC,MAAM,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;AACvD,KAAC,CAAC;IAEF,QACEA,IAAC,QAAQ,EAAA,EAAA,QAAA,EACPA,IAAC,SAAS,EAAA,EAAC,QAAQ,EAAC,IAAI,YACtBC,IAAC,CAAA,IAAI,IAAC,UAAU,EAAC,QAAQ,EACvB,QAAA,EAAA,CAAAD,GAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,oBAAoB;AAC3B,4BAAA,QAAQ,EAAE,MAAM;AAChB,4BAAA,UAAU,EAAE,KAAK;AACjB,4BAAA,UAAU,EAAE,QAAQ;AACpB,4BAAA,SAAS,EAAE,QAAQ;yBACpB,EAED,QAAA,EAAAA,GAAA,CAAA,IAAA,EAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,CAA0B,GACtB,EACNA,GAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAC,EAAE,EACZ,KAAK,EAAE;AACL,4BAAA,KAAK,EAAE,SAAS;AAChB,4BAAA,QAAQ,EAAE,MAAM;AAChB,4BAAA,UAAU,EAAE,KAAK;AACjB,4BAAA,UAAU,EAAE,QAAQ;AACpB,4BAAA,SAAS,EAAE,QAAQ;AACnB,4BAAA,KAAK,EAAE,OAAO;AACf,yBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,CAGG,EACNC,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAA,QAAA,EAAA,CAC9BD,GAAC,CAAA,SAAS,IACR,KAAK,EAAE,SAAS,EAChB,WAAW,EAAC,eAAe,EAC3B,SAAS,QACT,IAAI,EAAE,MAAM,EACZ,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE,EAC3B,QAAQ,EAAE,YAAY,EACtB,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EACjC,QAAQ,EAAE,IAAI,EACd,YAAY,EAAC,KAAK,EAClB,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAC7B,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,EAAA,CAC/B,EACFA,GAAC,CAAA,SAAS,IACR,SAAS,EAAE,IAAI,EACf,KAAK,EAAE,kBAAkB,EACzB,WAAW,EAAC,wBAAwB,EACpC,SAAS,EAAA,IAAA,EACT,IAAI,EAAE,UAAU,EAChB,IAAI,EAAC,aAAa,EAClB,KAAK,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE,EAC9B,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,QAAQ,CAAC,aAAa,EAC7B,UAAU,EACR,QAAQ,CAAC,aAAa,GAAG,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAE5D,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EACjC,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAC5B,YAAY,EAAC,KAAK,EAClB,SAAS,EAAE,CAAC,CAAC,KAAI;AACf,oCAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;AACrB,wCAAA,cAAc,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AACpC,qCAAA;iCACF,EACD,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAC7B,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,GAC/B,EACFA,GAAA,CAAC,SAAS,EAAA,EACR,KAAK,EAAE,cAAc,EACrB,WAAW,EAAC,oBAAoB,EAChC,SAAS,EACT,IAAA,EAAA,IAAI,EAAE,UAAU,EAChB,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE,EAC3B,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,QAAQ,CAAC,aAAa,EAC7B,UAAU,EACR,QAAQ,CAAC,aAAa,GAAG,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAE5D,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EACjC,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAC5B,YAAY,EAAC,KAAK,EAClB,SAAS,EAAE,CAAC,CAAC,KAAI;AACf,oCAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;AACrB,wCAAA,cAAc,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AACpC,qCAAA;AACH,iCAAC,EACD,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAC7B,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,EAC/B,CAAA,EACFA,GAAC,CAAA,SAAS,EACR,EAAA,KAAK,EAAE,sBAAsB,EAC7B,WAAW,EAAC,4BAA4B,EACxC,SAAS,EACT,IAAA,EAAA,IAAI,EAAE,UAAU,EAChB,IAAI,EAAC,iBAAiB,EACtB,KAAK,EAAE,KAAK,CAAC,eAAe,IAAI,EAAE,EAClC,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,QAAQ,CAAC,oBAAoB,EACpC,UAAU,EACR,QAAQ,CAAC,oBAAoB;AAC3B,sCAAE,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;sCACnC,EAAE,EAER,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EACjC,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAC5B,YAAY,EAAC,KAAK,EAClB,SAAS,EAAE,CAAC,CAAC,KAAI;AACf,oCAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;AACrB,wCAAA,cAAc,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AACpC,qCAAA;iCACF,EACD,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAC7B,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,EAAA,CAC/B,EACD,QAAQ,CAAC,OAAO,IACfA,GAAC,CAAA,cAAc,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EACpC,QAAA,EAAA,QAAQ,CAAC,YAAY,EAAA,CACP,IACf,IAAI,CACJ,EAAA,CAAA,EACNC,IACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE;AACL,4BAAA,OAAO,EAAE,MAAM;AACf,4BAAA,GAAG,EAAE,MAAM;AACX,4BAAA,MAAM,EAAE,eAAe;AACvB,4BAAA,KAAK,EAAE,KAAK;yBACb,EAED,QAAA,EAAA,CAAAD,GAAA,CAAC,cAAc,EACb,EAAA,SAAS,QACT,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAC5B,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,OAAO,CAAC,UAAU,EAC7B,KAAK,EAAE;AACL,oCAAA,MAAM,EAAE,8BAA8B;AACtC,oCAAA,KAAK,EAAE,qBAAqB;;AAE5B,oCAAA,YAAY,EAAE,MAAM;AACrB,iCAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAGc,EACjBA,GAAA,CAAC,cAAc,EAAA,EACb,KAAK,EAAE;oCACL,YAAY,EAAE,QAAQ,CAAC,SAAS,GAAG,KAAK,GAAG,MAAM;oCACjD,MAAM,EAAE,QAAQ,CAAC,SAAS,GAAG,MAAM,GAAG,MAAM;oCAC5C,KAAK,EAAE,QAAQ,CAAC,SAAS,GAAG,KAAK,GAAG,MAAM;oCAC1C,QAAQ,EAAE,QAAQ,CAAC,SAAS,GAAG,MAAM,GAAG,MAAM;iCAC/C,EACD,SAAS,EACT,IAAA,EAAA,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAC5B,OAAO,EAAE,iBAAiB,EAC1B,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,OAAO,CAAC,UAAU,EAAA,QAAA,EAE5B,QAAQ,CAAC,SAAS,IACjBA,GAAC,CAAA,gBAAgB,EAAC,EAAA,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAA,CAAI,KAE9C,QAAQ,CACT,EACc,CAAA,CAAA,EAAA,CACb,CACD,EAAA,CAAA,EAAA,CACG,EACH,CAAA,EACX;AACJ,CAAC;;AC9RD,MAAMI,eAAa,GAAG;AACpB,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,WAAW,EAAE,EAAE;AACf,IAAA,cAAc,EAAE,EAAE;AAClB,IAAA,sBAAsB,EAAE,EAAE;AAC1B,IAAA,sBAAsB,EAAE,EAAE;AAC1B,IAAA,WAAW,EAAE,UAAU;AACvB,IAAA,aAAa,EAAE,EAAE;AACjB,IAAA,YAAY,EAAE,EAAE;AAChB,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,WAAW,EAAE,EAAE;CAChB,CAAC;AAEF,MAAMC,SAAO,GAAG,CAAC,KAAK,EAAE,MAAM,KAAI;IAChC,QAAQ,MAAM,CAAC,IAAI;AACjB,QAAA,KAAK,iCAAiC,CAAC;QACvC,KAAK,0BAA0B,EAAE;YAC/B,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,eAAe,EAAE,KAAK;AACtB,gBAAA,eAAe,EAAE,KAAK;AACtB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,gBAAgB,EAAE,KAAK;AACvB,gBAAA,WAAW,EAAE,EAAE;aAChB,CAAC;AACH,SAAA;QACD,KAAK,4BAA4B,EAAE;AACjC,YAAA,OAAO,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;AAChE,SAAA;QACD,KAAK,6BAA6B,EAAE;YAClC,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,eAAe,EAAE,IAAI;AACrB,gBAAA,eAAe,EAAE,IAAI;AACrB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AACnC,gBAAA,sBAAsB,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa;AACtD,gBAAA,sBAAsB,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa;AACtD,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,aAAa,EAAE,EAAE;aAClB,CAAC;AACH,SAAA;AACD,QAAA,KAAK,6BAA6B;YAChC,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,eAAe,EAAE,KAAK;AACtB,gBAAA,eAAe,EAAE,IAAI;AACrB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AACnC,gBAAA,sBAAsB,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa;AACtD,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,aAAa,EAAE,EAAE;aAClB,CAAC;QACJ,KAAK,6BAA6B,EAAE;YAClC,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,eAAe,EAAE,IAAI;AACrB,gBAAA,eAAe,EAAE,KAAK;AACtB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AACnC,gBAAA,sBAAsB,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa;AACtD,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,aAAa,EAAE,EAAE;aAClB,CAAC;AACH,SAAA;QACD,KAAK,+BAA+B,EAAE;YACpC,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,eAAe,EAAE,KAAK;AACtB,gBAAA,eAAe,EAAE,KAAK;AACtB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,WAAW,EAAE,EAAE;AACf,gBAAA,sBAAsB,EAAE,EAAE;AAC1B,gBAAA,sBAAsB,EAAE,EAAE;AAC1B,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,aAAa,EAAE,EAAE;AACjB,gBAAA,YAAY,EAAE,EAAE;aACjB,CAAC;AACH,SAAA;QACD,KAAK,kBAAkB,EAAE;YACvB,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;AACnC,gBAAA,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;AAC3C,gBAAA,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU;aACxC,CAAC;AACH,SAAA;QACD,KAAK,yBAAyB,EAAE;YAC9B,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC;aACvD,CAAC;AACH,SAAA;QACD,KAAK,gCAAgC,EAAE;YACrC,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa;AAC7C,gBAAA,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;AACnC,gBAAA,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS;AACrC,gBAAA,cAAc,EAAE,EAAE;AAClB,gBAAA,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;AAC3C,gBAAA,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU;AACvC,gBAAA,aAAa,EAAE,KAAK;AACpB,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;AACnC,gBAAA,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS;AACrC,gBAAA,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;AACzC,gBAAA,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU;aACvC,CAAC;AACH,SAAA;QACD,KAAK,gCAAgC,EAAE;YACrC,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,cAAc,EAAE,EAAE;AAClB,gBAAA,aAAa,EAAE,KAAK;aACrB,CAAC;AACH,SAAA;AACD,QAAA,KAAK,8BAA8B;YACjC,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,gBAAgB,EAAE,IAAI;AACtB,gBAAA,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AACnC,gBAAA,UAAU,EAAE,KAAK;aAClB,CAAC;AACJ,QAAA,KAAK,iCAAiC;YACpC,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,gBAAgB,EAAE,KAAK;gBACvB,KAAK,EAAE,MAAM,CAAC,OAAO;AACrB,gBAAA,UAAU,EAAE,KAAK;aAClB,CAAC;QACJ,KAAK,yBAAyB,EAAE;YAC9B,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,cAAc,EAAE,EAAE;aACnB,CAAC;AACH,SAAA;QACD,KAAK,uBAAuB,EAAE;YAC5B,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;gBACtC,aAAa,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC;aACvD,CAAC;AACH,SAAA;QACD,KAAK,kBAAkB,EAAE;YACvB,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa;aAC9C,CAAC;AACH,SAAA;QACD,KAAK,4BAA4B,EAAE;YACjC,OAAO;AACL,gBAAA,GAAGD,eAAa;AAChB,gBAAA,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;AACzC,gBAAA,sBAAsB,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;aACtD,CAAC;AACH,SAAA;AAED,QAAA,SAAS;AACP,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AACF,KAAA;AACH,CAAC,CAAC;AAmBW,MAAA,qBAAqB,GAAkC,CAAC,EACnE,aAAa,EACb,OAAO,EACP,SAAS,EACT,OAAO,EACP,yBAAyB,EACzB,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,sBAAsB,GACvB,KAAI;AACH,IAAA,MAAM,OAAO,GAAGL,WAAS,EAAE,CAAC;AAC5B,IAAA,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,UAAU,CAACM,SAAO,EAAED,eAAa,CAAC,CAAC;IACjE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxD,IAAA,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAa,IAAI,CAAC,CAAC;AAC3E,IAAA,MAAM,MAAM,GAAG,MAAM,CAAM,IAAI,CAAC,CAAC;AACjC,IAAA,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;AAC/B,IAAA,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAE/B,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;AACpB,YAAA,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACrB,IAAI,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAC9C,gBAAA,MAAM,CAAC,OAAO;AACZ,oBAAA,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;AACvC,0BAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;0BACzB,EAAE,CAAC;AACT,gBAAA,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACrC,aAAA;AAAM,iBAAA;gBACL,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC9B,aAAA;AACF,SAAA;AACH,KAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,sBAAsB,GAAG,OAAO,QAAQ,EAAE,QAAQ,KAAI;QAC1D,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;AAC1C,YAAA,OAAO,CAAC,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAAC,CAAC;YACnD,IAAI;AACF,gBAAA,MAAM,EACJ,MAAM,GAAG,EAAE,EACX,IAAI,GAAG,IAAI,EACX,OAAO,GAAG,EAAE,EACZ,YAAY,GAAG,EAAE,EACjB,YAAY,GAAG,IAAI,GACpB,GAAG,MAAM,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAExD,gBAAA,IAAI,MAAM,KAAK,GAAG,IAAI,YAAY,KAAK,GAAG,EAAE;AAC1C,oBAAA,OAAO,CAAC;AACN,wBAAA,IAAI,EAAE,kBAAkB;AACxB,wBAAA,OAAO,EAAE;AACP,4BAAA,QAAQ,EAAE,QAAQ;AAClB,4BAAA,YAAY,EAAE,YAAY,EAAE,YAAY,IAAI,EAAE;AAC9C,4BAAA,UAAU,EAAE,YAAY,EAAE,UAAU,IAAI,EAAE;AAC3C,yBAAA;AACF,qBAAA,CAAC,CAAC;oBACH,eAAe,CAAC,IAAI,CAAC,CAAC;AACvB,iBAAA;qBAAM,IAAI,MAAM,KAAK,GAAG,EAAE;AACzB,oBAAA,OAAO,CAAC;AACN,wBAAA,IAAI,EAAE,gCAAgC;AACtC,wBAAA,OAAO,EAAE;4BACP,aAAa,EAAE,IAAI,EAAE,UAAU;AAC/B,4BAAA,QAAQ,EAAE,QAAQ;4BAClB,YAAY,EAAE,YAAY,EAAE,YAAY;4BACxC,UAAU,EAAE,YAAY,EAAE,UAAU;4BACpC,QAAQ,EAAE,IAAI,EAAE,SAAS;AACzB,4BAAA,SAAS,EAAE;AACT,gCAAA;AACE,oCAAA,UAAU,EAAE,IAAI,EAAE,YAAY,IAAI,EAAE;oCACpC,SAAS,EAAE,IAAI,EAAE,cAAc;AAChC,iCAAA;AACF,6BAAA;4BACD,WAAW,EAAE,IAAI,EAAE,SAAS;AAC7B,yBAAA;AACF,qBAAA,CAAC,CAAC;AACJ,iBAAA;AAAM,qBAAA;AACL,oBAAA,OAAO,CAAC;AACN,wBAAA,IAAI,EAAE,6BAA6B;wBACnC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE;AACpD,qBAAA,CAAC,CAAC;AACJ,iBAAA;AACF,aAAA;AAAC,YAAA,OAAO,GAAG,EAAE;AACZ,gBAAA,MAAM,IAAI,KAAK,CACb,wDAAwD,GAAG,GAAG,CAC/D,CAAC;AACH,aAAA;AACF,SAAA;aAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AACnD,YAAA,OAAO,CAAC;AACN,gBAAA,IAAI,EAAE,6BAA6B;AACnC,gBAAA,OAAO,EAAE;AACP,oBAAA,KAAK,EAAE,gCAAgC;AACvC,oBAAA,aAAa,EAAE,oBAAoB;AACnC,oBAAA,aAAa,EAAE,oBAAoB;AACpC,iBAAA;AACF,aAAA,CAAC,CAAC;AACJ,SAAA;AAAM,aAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AAC7B,YAAA,OAAO,CAAC;AACN,gBAAA,IAAI,EAAE,6BAA6B;AACnC,gBAAA,OAAO,EAAE;AACP,oBAAA,KAAK,EAAE,oBAAoB;AAC3B,oBAAA,aAAa,EAAE,oBAAoB;AACpC,iBAAA;AACF,aAAA,CAAC,CAAC;AACJ,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,CAAC;AACN,gBAAA,IAAI,EAAE,6BAA6B;AACnC,gBAAA,OAAO,EAAE;AACP,oBAAA,KAAK,EAAE,oBAAoB;AAC3B,oBAAA,aAAa,EAAE,oBAAoB;AACpC,iBAAA;AACF,aAAA,CAAC,CAAC;AACJ,SAAA;AACH,KAAC,CAAC;AAEF,IAAA,MAAM,SAAS,GAAG,OAAO,SAAS,KAAI;AACpC,QAAA,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3D,YAAA,OAAO,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC,CAAC;AAC9C,YAAA,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,SAAS,CAC/C,UAAU,CAAC,aAAa;;AAExB,YAAA,UAAU,CAAC,QAAQ,EACnB,SAAS,EACT,UAAU,CAAC,YAAY,EACvB,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,QAAQ,CACpB,CAAC;YACF,IAAI,MAAM,KAAK,GAAG,EAAE;;;;;;AAMlB,gBAAA,OAAO,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC,CAAC;gBAC7C,OAAO,CAAC,IAAI,CAAC,CAAC;AACf,aAAA;iBAAM,IAAI,MAAM,KAAK,KAAK,EAAE;AAC3B,gBAAA,OAAO,CAAC;AACN,oBAAA,IAAI,EAAE,uBAAuB;oBAC7B,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE;AACjD,iBAAA,CAAC,CAAC;;AAEJ,aAAA;AAAM,iBAAA;AACL,gBAAA,OAAO,CAAC;AACN,oBAAA,IAAI,EAAE,uBAAuB;oBAC7B,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE;AAClD,iBAAA,CAAC,CAAC;AACJ,aAAA;AACF,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,CAAC;AACN,gBAAA,IAAI,EAAE,uBAAuB;AAC7B,gBAAA,OAAO,EAAE,EAAE,KAAK,EAAE,mCAAmC,EAAE;AACxD,aAAA,CAAC,CAAC;AACJ,SAAA;AACH,KAAC,CAAC;AAEF,IAAA,MAAM,2BAA2B,GAAG,CAAC,IAAI,KAAI;QAC3C,IAAI,IAAI,KAAK,GAAG,EAAE;AAChB,YAAA,OAAO,CAAC;AACN,gBAAA,IAAI,EAAE,yBAAyB;AAC/B,gBAAA,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;AACjC,aAAA,CAAC,CAAC;AACJ,SAAA;QACD,eAAe,CAAC,KAAK,CAAC,CAAC;AACzB,KAAC,CAAC;IACF,MAAM,cAAc,GAAG,CAAC,OAAO,GAAG,KAAK,EAAE,YAAY,GAAG,EAAE,KAAI;AAC5D,QAAA,OAAO,CAAC;AACN,YAAA,IAAI,EAAE,4BAA4B;AAClC,YAAA,OAAO,EAAE;AACP,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,YAAY,EAAE,YAAY;AAC3B,aAAA;AACF,SAAA,CAAC,CAAC;AACL,KAAC,CAAC;AACF,IAAA,MAAM,YAAY,GAAG,YAAW;QAC9B,IAAI;AACF,YAAA,OAAO,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC;AAChD,YAAA,MAAM,cAAc,GAAG,MAAME,OAAW,EAAE,CAAC;AAC3C,YAAA,IAAI,cAAc,EAAE,SAAS,KAAK,GAAG,EAAE;AACrC,gBAAA,OAAO,CAAC,EAAE,IAAI,EAAE,iCAAiC,EAAE,CAAC,CAAC;AACrD,gBAAA,MAAM,OAAO,GAAQ,MAAM,WAAW,CACpC,UAAU,CAAC,SAAS,EACpB,cAAc,CAAC,WAAW,CAC3B,CAAC;gBACF,IAAI,OAAO,CAAC,OAAO,EAAE;AACnB,oBAAA,OAAO,CAAC;AACN,wBAAA,IAAI,EAAE,8BAA8B;AACpC,wBAAA,OAAO,EAAE;AACP,4BAAA,KAAK,EAAE,OAAO,EAAE,YAAY,IAAI,uBAAuB;AACxD,yBAAA;AACF,qBAAA,CAAC,CAAC;AACJ,iBAAA;AAAM,qBAAA;oBACL,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,SAAS,CAC/C,UAAU,CAAC,aAAa,EACxB,UAAU,CAAC,QAAQ,EACnB,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,GAAG,CAAC,EAC7B,UAAU,CAAC,YAAY,EACvB,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,QAAQ,EACnB,OAAO,CAAC,MAAM,GAAG,GAAG,GAAG,GAAG,CAC3B,CAAC;AACF,oBAAA,IAAI,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE;AACpC,wBAAA,OAAO,CAAC,EAAE,IAAI,EAAE,iCAAiC,EAAE,CAAC,CAAC;wBACrD,OAAO,CAAC,IAAI,CAAC,CAAC;AACf,qBAAA;yBAAM,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;wBAC5C,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC;AAChD,wBAAA,OAAO,CAAC;AACN,4BAAA,IAAI,EAAE,8BAA8B;AACpC,4BAAA,OAAO,EAAE;AACP,gCAAA,KAAK,EAAE,mCAAmC;AAC3C,6BAAA;AACF,yBAAA,CAAC,CAAC;AACH,wBAAA,IAAI,YAAY,CAAC,OAAO,IAAI,CAAC;AAC3B,4BAAA,cAAc,CAAC,IAAI,EAAE,mCAAmC,CAAC,CAAC;AAC7D,qBAAA;yBAAM,IAAI,MAAM,KAAK,IAAI,EAAE;AAC1B,wBAAA,OAAO,CAAC;AACN,4BAAA,IAAI,EAAE,8BAA8B;AACpC,4BAAA,OAAO,EAAE;gCACP,KAAK,EAAE,OAAO,IAAI,mCAAmC;AACtD,6BAAA;AACF,yBAAA,CAAC,CAAC;AACJ,qBAAA;yBAAM,IAAI,MAAM,KAAK,KAAK,EAAE;AAC3B,wBAAA,OAAO,CAAC;AACN,4BAAA,IAAI,EAAE,8BAA8B;AACpC,4BAAA,OAAO,EAAE;gCACP,KAAK,EAAE,OAAO,IAAI,mCAAmC;AACtD,6BAAA;AACF,yBAAA,CAAC,CAAC;AACH,wBAAA,cAAc,CACZ,IAAI,EACJ,OAAO,IAAI,mCAAmC,CAC/C,CAAC;AACH,qBAAA;AAAM,yBAAA;AACL,wBAAA,OAAO,CAAC;AACN,4BAAA,IAAI,EAAE,8BAA8B;AACpC,4BAAA,OAAO,EAAE;gCACP,KAAK,EAAE,OAAO,IAAI,mCAAmC;AACtD,6BAAA;AACF,yBAAA,CAAC,CAAC;AACJ,qBAAA;AACF,iBAAA;AACF,aAAA;AAAM,iBAAA;AACL,gBAAA,OAAO,CAAC;AACN,oBAAA,IAAI,EAAE,8BAA8B;AACpC,oBAAA,OAAO,EAAE;wBACP,KAAK,EACH,cAAc,EAAE,YAAY,IAAI,CAAC,CAAC,0BAA0B,CAAC;AAChE,qBAAA;AACF,iBAAA,CAAC,CAAC;AACJ,aAAA;AACF,SAAA;AAAC,QAAA,OAAO,CAAM,EAAE;AACf,YAAA,OAAO,CAAC;AACN,gBAAA,IAAI,EAAE,8BAA8B;AACpC,gBAAA,OAAO,EAAE;oBACP,KAAK,EAAE,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,+BAA+B,CAAC;AACxD,iBAAA;AACF,aAAA,CAAC,CAAC;AACJ,SAAA;AACH,KAAC,CAAC;AACF,IAAA,QACEN,GAAA,CAAAG,UAAA,EAAA,EAAA,QAAA,EACEF,IAAC,CAAA,IAAI,IAAC,SAAS,EAAA,IAAA,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,CAC5DD,GAAC,CAAA,WAAW,EAAC,EAAA,aAAa,EAAE,aAAa,EAAA,CAAI,EAC7CC,IAAA,CAAC,IAAI,EAAC,EAAA,IAAI,EAAC,IAAA,EAAA,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,aACnC,OAAO,IACND,GAAC,CAAA,IAAI,EACH,EAAA,SAAS,EACT,IAAA,EAAA,SAAS,EAAC,KAAK,EACf,cAAc,EAAC,UAAU,EACzB,UAAU,EAAC,QAAQ,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,OAAO,EACjB,EAAE,EAAE,MAAM,EAEV,QAAA,EAAAA,GAAA,CAAC,OAAO,EAAA,EAAC,aAAa,EAAC,IAAA,EAAA,KAAK,EAAE,SAAS,IAAI,EAAE,EAAA,QAAA,EAC3CA,GACE,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,GAAG,EAAE,EACtD,GAAG,EAAC,MAAM,EACV,KAAK,EAAE,MAAM,EACb,CAAA,EAAA,CACM,GACL,IACL,IAAI,EAEP,iBAAiB,IAChBA,GAAA,CAAC,IAAI,EAAA,EACH,SAAS,EAAA,IAAA,EACT,SAAS,EAAC,KAAK,EACf,cAAc,EAAC,UAAU,EACzB,UAAU,EAAC,QAAQ,EACnB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,OAAO,EACjB,EAAE,EAAE,MAAM,EAAA,QAAA,EAEVA,GAAC,CAAA,iBAAiB,KAAG,EAChB,CAAA,IACL,IAAI,EAEP,YAAY,IACXA,GAAA,CAAC,gBAAgB,EACf,EAAA,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAC7B,WAAW,EAAE,UAAU,CAAC,YAAY,EACpC,SAAS,EAAE,UAAU,CAAC,UAAU,EAChC,WAAW,EAAE,2BAA2B,EAAA,CACxC,KAEFA,GACG,CAAAG,UAAA,EAAA,EAAA,QAAA,EAAA,UAAU,CAAC,WAAW,KAAK,UAAU,IACpCH,GAAC,CAAA,qBAAqB,EAEpB,EAAA,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,sBAAsB,EAAE,sBAAsB,EAC9C,sBAAsB,EAAE,sBAAsB,EAAA,EAJ1C,UAAU,CAKd,KAEFA,GACG,CAAAG,UAAA,EAAA,EAAA,QAAA,EAAA,UAAU,CAAC,QAAQ,KAAK,KAAK,IAC5BH,GAAC,CAAA,QAAQ,EAEP,EAAA,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,cAAc,EAC5B,QAAQ,EAAE,CAAC,CAAC,UAAU,EAAE,cAAc,IAAI,EAAE,CAAC,EAC7C,WAAW,EAAE,CAAC,KAAK,KAAI;AACrB,wCAAA,OAAO,CAAC;AACN,4CAAA,IAAI,EAAE,uBAAuB;AAC7B,4CAAA,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;AAC1B,yCAAA,CAAC,CAAC;AACL,qCAAC,EACD,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,cAAc,EAC3B,UAAU,EAAE,OAAO,EACnB,eAAe,EAAE,CAAC,YAAY,KAAI;AAChC,wCAAA,OAAO,CAAC;AACN,4CAAA,IAAI,EAAE,kBAAkB;AACxB,4CAAA,OAAO,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE;AACzC,yCAAA,CAAC,CAAC;wCACH,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC;AAClD,qCAAC,EACD,cAAc,EAAE,YAAY,CAAC,OAAO,EAAA,EAvBhC,KAAK,CAwBT,IACA,UAAU,CAAC,QAAQ,KAAK,MAAM,IAChCC,IAAA,CAAAE,UAAA,EAAA,EAAA,QAAA,EAAA,CACG,GAAG,EACJH,GAAA,CAAC,YAAY,EAAA,EAEX,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,OAAO;;4CAEhB,WAAW,EAAE,cAAc,EAC3B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,UAAU,EAAE,cAAc,IAAI,EAAE,EAC1C,WAAW,EAAE,CAAC,KAAK,KAAI;AACrB,gDAAA,OAAO,CAAC;AACN,oDAAA,IAAI,EAAE,uBAAuB;AAC7B,oDAAA,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;AAC1B,iDAAA,CAAC,CAAC;6CACJ,EACD,UAAU,EAAE,OAAO,EACnB,eAAe,EAAE,CAAC,YAAY,KAAI;AAChC,gDAAA,OAAO,CAAC;AACN,oDAAA,IAAI,EAAE,kBAAkB;AACxB,oDAAA,OAAO,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE;AACzC,iDAAA,CAAC,CAAC;gDACH,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC;6CACjD,EACD,cAAc,EAAE,YAAY,CAAC,OAAO,EAAA,EAtB/B,SAAS,CAuBd,CAAA,EAAA,CACD,KAEHA,GAAA,CAAC,YAAY,EAEX,EAAA,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,cAAc,EAAA,EAJxB,WAAW,CAKf,CACH,GACA,CACJ,EAAA,CACA,CACJ,CACI,EAAA,CAAA,CAAA,EAAA,CACF,EACN,CAAA,EACH;AACJ;;AC3mBO,MAAM,oBAAoB,GAAG,CAAC,EACnC,OAAO,EACP,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,iBAAiB,GAClB,KAAI;AACH,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC;AACjC,QAAA,QAAQ,EAAE,UAAU,CAAC,YAAY,KAAK,CAAC,GAAG,UAAU,EAAE,QAAQ,GAAG,EAAE;AACnE,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,eAAe,EAAE,EAAE;AACpB,KAAA,CAAC,CAAC;AACH,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAM,IAAI,CAAC,CAAC;AACnC,IAAA,MAAM,YAAY,GAAG,MAAM,CAAM,IAAI,CAAC,CAAC;AACvC,IAAA,MAAM,cAAc,GAAG,MAAM,CAAM,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC;IACnD,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,uBAAuB,CAAC;AACjE,IAAA,MAAM,GAAG,WAAW,CAAC,GAAG,QAAQ,EAAc,CAAC;AAC/C,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAM,IAAI,CAAC,CAAC;IAEnC,SAAS,CAAC,MAAK;QACb,OAAO,MAAM,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;KAC7C,EAAE,EAAE,CAAC,CAAC;;AAEP,IAAA,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;AAC/B,IAAA,MAAM,YAAY,GAAG,CAAC,KAAK,KAAI;AAC7B,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AAC/B,QAAA,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AAC/B,QAAA,IAAI,IAAI,KAAK,UAAU,IAAI,KAAK,EAAE;AAChC,YAAA,UAAU,CAAC,eAAe,GAAG,KAAK,CAAC;AACpC,SAAA;AACD,QAAA,IAAI,IAAI,KAAK,UAAU,IAAI,KAAK,EAAE;YAChC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACjC,YAAA,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;AAClB,gBAAA,UAAU,CAAC,aAAa,GAAG,KAAK,CAAC;AAClC,aAAA;AACF,SAAA;AACD,QAAA,QAAQ,CAAC,CAAC,MAAM,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;AACvD,KAAC,CAAC;IACF,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,UAAU,CAAC,YAAY,KAAK,CAAC,EAAE;YACjC,UAAU,CAAC,MAAK;AACd,gBAAA,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;aAClC,EAAE,IAAI,CAAC,CAAC;AACV,SAAA;AACH,KAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;AAC9B,IAAA,QACEA,GAAA,CAAC,QAAQ,EAAA,EAAA,QAAA,EACPC,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,OAAO,CAAC,QAAQ,EAC9B,QAAA,EAAA,CAAAD,GAAA,CAAC,SAAS,EACR,EAAA,SAAS,EAAE,IAAI,EACf,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,EAClB,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAChC,SAAS,EAAA,IAAA,EACT,IAAI,EAAE,MAAM,EACZ,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE,EAC3B,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,UAAU,CAAC,eAAe,EACjC,UAAU,EACR,UAAU,CAAC,eAAe;AACxB,0BAAE,CAAC,CAAC,UAAU,CAAC,sBAAsB,CAAC;AACtC,0BAAE,EAAE,EAER,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EACjC,QAAQ,EACN,UAAU,CAAC,OAAO;AAChB,0BAAE,IAAI;AACN,0BAAE,UAAU,CAAC,YAAY,KAAK,CAAC;AAC7B,8BAAE,KAAK;8BACL,IAAI,EAEZ,YAAY,EAAC,KAAK,EAClB,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAC7B,SAAS,EAAE,CAAC,CAAC,KAAI;AACf,wBAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;AACrB,4BAAA,cAAc,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AACpC,yBAAA;AACH,qBAAC,EACD,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,EAC/B,CAAA,EACD,UAAU,CAAC,YAAY,KAAK,CAAC,IAC5BA,GAAC,CAAA,SAAS,IACR,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,EACpB,WAAW,EAAC,kBAAkB;;AAE9B,oBAAA,SAAS,EACT,IAAA,EAAA,IAAI,EAAE,MAAM,EACZ,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE,EAC3B,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,UAAU,CAAC,aAAa,EAC/B,UAAU,EACR,UAAU,CAAC,aAAa;AACtB,0BAAE,CAAC,CAAC,UAAU,CAAC,sBAAsB,CAAC;AACtC,0BAAE,EAAE,EAER,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EACjC,QAAQ,EACN,UAAU,CAAC,OAAO;AAChB,0BAAE,IAAI;AACN,0BAAE,UAAU,CAAC,YAAY,KAAK,CAAC;AAC7B,8BAAE,KAAK;AACP,8BAAE,IAAI,EAEZ,YAAY,EAAC,KAAK,EAClB,SAAS,EAAE,CAAC,CAAC,KAAI;AACf,wBAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;AACrB,4BAAA,cAAc,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AACpC,yBAAA;AACH,qBAAC,EACD,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAC7B,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,EAC/B,CAAA,IACA,IAAI,EACP,UAAU,CAAC,YAAY,KAAK,CAAC,IAC5BC,IAAA,CAAAE,UAAA,EAAA,EAAA,QAAA,EAAA,CACEH,IAAC,SAAS,EAAA,EACR,SAAS,EAAE,IAAI,EACf,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,EACpB,WAAW,EAAC,gBAAgB,EAC5B,SAAS,EACT,IAAA,EAAA,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,UAAU,EACxC,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE,EAC3B,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,UAAU,CAAC,eAAe,EACjC,UAAU,EACR,UAAU,CAAC,eAAe;AACxB,kCAAE,CAAC,CAAC,UAAU,CAAC,sBAAsB,CAAC;AACtC,kCAAE,EAAE,EAER,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EACjC,QAAQ,EAAE,UAAU,CAAC,OAAO,EAC5B,YAAY,EAAC,KAAK,EAClB,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,CAAC,CAAC,KAAI;AACf,gCAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;AACrB,oCAAA,cAAc,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AACpC,iCAAA;6BACF,EACD,UAAU,EAAE;AACV,gCAAA,YAAY,GACVA,GAAA,CAAC,cAAc,EAAA,EAAC,QAAQ,EAAC,KAAK,EAC5B,QAAA,EAAAA,GAAA,CAAC,UAAU,EACE,EAAA,YAAA,EAAA,4BAA4B,EACvC,OAAO,EAAE,MAAK;4CACZ,IAAI,CAAC,YAAY,EAAE;gDACjB,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AACvC,gDAAA,QAAQ,CAAC,OAAO,GAAG,UAAU,CAC3B,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAC7B,IAAI,CACL,CAAC;AACH,6CAAA;AAAM,iDAAA,IAAI,YAAY;gDAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAClD,yCAAC,EACD,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,EACtC,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAA,QAAA,EAE3B,YAAY,GAAGA,IAAC,UAAU,EAAA,EAAA,CAAG,GAAGA,GAAC,CAAA,aAAa,EAAG,EAAA,CAAA,EAAA,CACvC,GACE,CAClB;AACF,6BAAA,EACD,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAC7B,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,GAC/B,EACFA,GAAA,CAAC,SAAS,EAAA,EACR,KAAK,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAC3B,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,EAC9C,SAAS,EACT,IAAA,EAAA,IAAI,EAAE,mBAAmB,GAAG,MAAM,GAAG,UAAU,EAC/C,IAAI,EAAC,iBAAiB,EACtB,KAAK,EAAE,KAAK,CAAC,eAAe,IAAI,EAAE,EAClC,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,UAAU,CAAC,sBAAsB,EACxC,UAAU,EACR,UAAU,CAAC,sBAAsB;AAC/B,kCAAE,CAAC,CAAC,UAAU,CAAC,6BAA6B,CAAC;kCAC3C,EAAE,EAER,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EACjC,QAAQ,EAAE,UAAU,CAAC,OAAO,EAC5B,YAAY,EAAC,KAAK,EAClB,SAAS,EAAE,CAAC,CAAC,KAAI;AACf,gCAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;AACrB,oCAAA,cAAc,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AACpC,iCAAA;6BACF,EACD,UAAU,EAAE;AACV,gCAAA,YAAY,GACVA,GAAA,CAAC,cAAc,EAAA,EAAC,QAAQ,EAAC,KAAK,EAC5B,QAAA,EAAAA,GAAA,CAAC,UAAU,EACE,EAAA,YAAA,EAAA,4BAA4B,EACvC,OAAO,EAAE,MAAK;4CACZ,IAAI,CAAC,mBAAmB,EAAE;gDACxB,0BAA0B,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAC9C,gDAAA,QAAQ,CAAC,OAAO,GAAG,UAAU,CAC3B,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAC7B,IAAI,CACL,CAAC;AACH,6CAAA;AAAM,iDAAA,IAAI,mBAAmB;gDAC5B,0BAA0B,CAAC,CAAC,CAAC,CAAC;AAClC,yCAAC,EACD,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,EACtC,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAA,QAAA,EAE3B,mBAAmB,GAAGA,IAAC,UAAU,EAAA,EAAA,CAAG,GAAGA,GAAC,CAAA,aAAa,EAAG,EAAA,CAAA,EAAA,CAC9C,GACE,CAClB;6BACF,EACD,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAC7B,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,EAC/B,CAAA,CAAA,EAAA,CACD,IACD,IAAI,EACP,UAAU,CAAC,UAAU,IACpBA,GAAA,CAAC,cAAc,EAAA,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YACpC,UAAU,CAAC,eAAe,EAAA,CACZ,IACf,IAAI,EACRA,GACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE;AACL,wBAAA,SAAS,EAAE,MAAM;AACjB,wBAAA,OAAO,EAAE,MAAM;AACf,wBAAA,aAAa,EAAE,aAAa;qBAC7B,EAED,QAAA,EAAAA,GAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,4BAAA,IAAI,EAAE,MAAM;AACZ,4BAAA,SAAS,EAAE,QAAQ;AACnB,4BAAA,SAAS,EAAE,KAAK;AAChB,4BAAA,YAAY,EAAE,MAAM;AACrB,yBAAA,EAAA,QAAA,EAEDC,IACE,CAAA,KAAA,EAAA,EAAA,QAAA,EAAA,CAAAD,GAAA,CAAC,cAAc,EAAA,EACb,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE;;oCAGnD,QAAQ,EAAE,UAAU,CAAC,OAAO,EAC5B,OAAO,EAAE,MAAK;wCACZ,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAC9B,qCAAC,EACD,SAAS,EAAE,MAAM,EACjB,UAAU,EAAC,4BAA4B,EAAA,QAAA,EAEtC,CAAC,CAAC,aAAa,CAAC,EAAA,CACF,EAEjBA,GAAC,CAAA,cAAc,EACb,EAAA,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAC/B,QAAQ,EAAE,UAAU,CAAC,OAAO,EAC5B,OAAO,EAAE,MAAK;AACZ,wCAAA,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;qCAC1C,EACD,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,UAAU,CAAC,OAAO,GAAG,SAAS,GAAG,MAAM,EAChD,UAAU,EAAC,4BAA4B,EAAA,QAAA,EAEtC,UAAU,CAAC,OAAO,IACjBA,GAAC,CAAA,gBAAgB,EAAC,EAAA,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAI,CAAA,KAE9C,CAAC,CAAC,MAAM,CAAC,CACV,EAAA,CACc,CACb,EAAA,CAAA,EAAA,CACF,EACF,CAAA,CAAA,EAAA,CACF,EACG,CAAA,EACX;AACJ,CAAC;;AChRY,MAAA,gBAAgB,GAAG,CAAC,GAAG,KAAI;;;;;;;AAQtC,IAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;;AAEjB,QAAA,OAAO,sBAAsB,CAAC;AAC/B,KAAA;AAAM,SAAA,IAAI,CAAC,gDAAgD,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;;AAEtE,QAAA,OAAO,uKAAuK,CAAC;AAChL,KAAA;SAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE;;AAE5C,QAAA,OAAO,oDAAoD,CAAC;;AAE7D,KAAA;AACD,IAAA,OAAO,EAAE,CAAC;AACZ,EAAE;AAEF,MAAM,aAAa,GAAG;AACpB,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,sBAAsB,EAAE,EAAE;AAC1B,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,sBAAsB,EAAE,EAAE;AAC1B,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,sBAAsB,EAAE,EAAE;AAC1B,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,6BAA6B,EAAE,EAAE;AACjC,IAAA,YAAY,EAAE,CAAC;AACf,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,eAAe,EAAE,EAAE;AACnB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,cAAc,EAAE,EAAE;AAClB,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,aAAa,EAAE,EAAE;CAClB,CAAC;AACF,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,KAAI;IAChC,QAAQ,MAAM,CAAC,IAAI;QACjB,KAAK,iCAAiC,EAAE;YACtC,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,IAAI,KAAK;AAC1D,gBAAA,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,IAAI,KAAK;AACtD,gBAAA,sBAAsB,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,IAAI,EAAE;AACrE,gBAAA,sBAAsB,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,IAAI,EAAE;AACrE,gBAAA,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,IAAI,KAAK;AAChD,gBAAA,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,IAAI,EAAE;AACvD,gBAAA,SAAS,EAAE,EAAE;AACb,gBAAA,QAAQ,EAAE,EAAE;aACb,CAAC;AACH,SAAA;QACD,KAAK,+BAA+B,EAAE;YACpC,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,eAAe,EAAE,KAAK;AACtB,gBAAA,aAAa,EAAE,KAAK;AACpB,gBAAA,SAAS,EAAE,EAAE;AACb,gBAAA,QAAQ,EAAE,EAAE;aACb,CAAC;AACH,SAAA;QACD,KAAK,kCAAkC,EAAE;YACvC,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,eAAe,EAAE,KAAK;AACtB,gBAAA,aAAa,EAAE,KAAK;AACpB,gBAAA,YAAY,EAAE,CAAC;AACf,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,eAAe,EAAE,EAAE;AACnB,gBAAA,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,IAAI,EAAE;AAC3C,gBAAA,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE;AACzC,gBAAA,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS;AACrC,gBAAA,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU;AACvC,gBAAA,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS;AACrC,gBAAA,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;aAC1C,CAAC;AACH,SAAA;QACD,KAAK,0BAA0B,EAAE;YAC/B,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,cAAc,EAAE,EAAE;AAClB,gBAAA,aAAa,EAAE,KAAK;aACrB,CAAC;AACH,SAAA;QACD,KAAK,yBAAyB,EAAE;YAC9B,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,cAAc,EAAE,EAAE;AAClB,gBAAA,YAAY,EAAE,CAAC;gBACf,aAAa,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC;aACvD,CAAC;AACH,SAAA;QACD,KAAK,uBAAuB,EAAE;YAC5B,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;gBACtC,aAAa,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC;aACvD,CAAC;AACH,SAAA;QACD,KAAK,sBAAsB,EAAE;YAC3B,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,IAAI,KAAK;AAC1D,gBAAA,sBAAsB,EACpB,MAAM,EAAE,OAAO,EAAE,sBAAsB,IAAI,KAAK;AAClD,gBAAA,sBAAsB,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,IAAI,EAAE;AACrE,gBAAA,6BAA6B,EAC3B,MAAM,EAAE,OAAO,EAAE,6BAA6B,IAAI,EAAE;AACtD,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,eAAe,EAAE,EAAE;aACpB,CAAC;AACH,SAAA;QACD,KAAK,0BAA0B,EAAE;YAC/B,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,eAAe,EAAE,KAAK;AACtB,gBAAA,sBAAsB,EAAE,KAAK;aAC9B,CAAC;AACH,SAAA;QACD,KAAK,2BAA2B,EAAE;YAChC,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,eAAe,EAAE,KAAK;AACtB,gBAAA,sBAAsB,EAAE,KAAK;aAC9B,CAAC;AACH,SAAA;QACD,KAAK,kBAAkB,EAAE;YACvB,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS;aACtC,CAAC;AACH,SAAA;AACD,QAAA,SAAS;AACP,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AACF,KAAA;AACH,CAAC,CAAC;AAmBW,MAAA,+BAA+B,GAExC,CAAC,EACH,UAAU,EACV,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,EACpB,OAAO,EACP,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,iBAAiB,GAClB,KAAI;AACH,IAAA,MAAM,OAAO,GAAGD,WAAS,EAAE,CAAC;AAC5B,IAAA,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACjE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxC,IAAA,MAAM,EAAE,eAAe,EAAE,GAAG,WAAW,EAAE,CAAC;AAC1C,IAAA,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAC/B,IAAA,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAa,IAAI,CAAC,CAAC;AAC3E,IAAA,MAAM,MAAM,GAAG,MAAM,CAAM,IAAI,CAAC,CAAC;IAEjC,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;AACpB,YAAA,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACrB,IAAI,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAC9C,gBAAA,MAAM,CAAC,OAAO;AACZ,oBAAA,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;AACvC,0BAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;0BACzB,EAAE,CAAC;AACT,gBAAA,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACrC,aAAA;AAAM,iBAAA;gBACL,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC9B,aAAA;AACF,SAAA;AACH,KAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,cAAc,GAAG,OAAO,IAAI,EAAE,IAAI,KAAI;AAC1C,QAAA,IAAI,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;YACjC,IAAI,IAAI,KAAK,CAAC,EAAE;AACd,gBAAA,OAAO,CAAC,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAAC,CAAC;gBACnD,MAAM,EACJ,MAAM,EACN,IAAI,EAAE,OAAO,EACb,OAAO,GACR,GAAG,MAAM,yBAAyB,CACjC,IAAI,EAAE,QAAQ,CAAC,WAAW,EAAE,EAC5B,IAAI,EAAE,QAAQ,EACd,UAAU,CACX,CAAC;gBAEF,IAAI,MAAM,KAAK,GAAG,EAAE;AAClB,oBAAA,OAAO,CAAC;AACN,wBAAA,IAAI,EAAE,kCAAkC;AACxC,wBAAA,OAAO,EAAE;4BACP,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;4BACzC,QAAQ,EAAE,IAAI,EAAE,QAAQ;4BACxB,SAAS,EAAE,OAAO,EAAE,SAAS;4BAC7B,UAAU,EAAE,OAAO,EAAE,OAAO;4BAC5B,SAAS,EAAE,OAAO,EAAE,SAAS;4BAC7B,WAAW,EAAE,OAAO,EAAE,SAAS;AAChC,yBAAA;AACF,qBAAA,CAAC,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,CAAC;AACf,iBAAA;AAAM,qBAAA;AACL,oBAAA,OAAO,CAAC;AACN,wBAAA,IAAI,EAAE,iCAAiC;AACvC,wBAAA,OAAO,EAAE;AACP,4BAAA,UAAU,EAAE,IAAI;AAChB,4BAAA,eAAe,EAAE,OAAO;AACzB,yBAAA;AACF,qBAAA,CAAC,CAAC;AACJ,iBAAA;AACF,aAAA;iBAAM,IAAI,IAAI,KAAK,CAAC,EAAE;AACrB,gBAAA,OAAO,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC,CAAC;gBAC9C,MAAM,EACJ,MAAM,EACN,IAAI,EAAE,OAAO,EACb,OAAO,GACR,GAAG,MAAM,iBAAiB,CACzB,UAAU,EAAE,SAAS,EACrB,UAAU,EAAE,QAAQ,EACpB,IAAI,EAAE,QAAQ,CACf,CAAC;gBACF,IAAI,MAAM,KAAK,GAAG,EAAE;AAClB,oBAAA,OAAO,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC;oBAC/C,eAAe,CAAC,6BAA6B,EAAE;AAC7C,wBAAA,OAAO,EAAE,SAAS;AACnB,qBAAA,CAAC,CAAC;oBACH,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAC7B,iBAAA;qBAAM,IAAI,MAAM,KAAK,IAAI,EAAE;AAC1B,oBAAA,OAAO,CAAC;AACN,wBAAA,IAAI,EAAE,sBAAsB;AAC5B,wBAAA,OAAO,EAAE;AACP,4BAAA,UAAU,EAAE,IAAI;AAChB,4BAAA,eAAe,EAAE,OAAO;AACzB,yBAAA;AACF,qBAAA,CAAC,CAAC;AACJ,iBAAA;AAAM,qBAAA;oBACL,eAAe,CAAC,OAAO,EAAE;AACvB,wBAAA,OAAO,EAAE,OAAO;AACjB,qBAAA,CAAC,CAAC;oBACH,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAC7B,iBAAA;AACF,aAAA;AACF,SAAA;AACH,KAAC,CAAC;AAEF,IAAA,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,KAAI;QACvC,IAAI,IAAI,KAAK,CAAC,EAAE;AACd,YAAA,IAAI,cAAc,GAAG;AACnB,gBAAA,eAAe,EAAE,KAAK;AACtB,gBAAA,aAAa,EAAE,KAAK;AACpB,gBAAA,sBAAsB,EAAE,EAAE;AAC1B,gBAAA,sBAAsB,EAAE,EAAE;aAC3B,CAAC;AACF,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AAC3B,gBAAA,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC;AACtC,gBAAA,cAAc,CAAC,sBAAsB,GAAG,oBAAoB,CAAC;AAC9D,aAAA;AACD,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AAC3B,gBAAA,cAAc,CAAC,aAAa,GAAG,IAAI,CAAC;AACpC,gBAAA,cAAc,CAAC,sBAAsB,GAAG,oBAAoB,CAAC;AAC9D,aAAA;AAAM,iBAAA,IACL,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;AACpB,iBAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,EAAE,CAAC,EAC5D;AACA,gBAAA,cAAc,CAAC,aAAa,GAAG,IAAI,CAAC;AACpC,gBAAA,cAAc,CAAC,sBAAsB,GAAG,+BAA+B,CAAC;AACzE,aAAA;AACD,YAAA,OAAO,CAAC;AACN,gBAAA,IAAI,EAAE,iCAAiC;AACvC,gBAAA,OAAO,EAAE,cAAc;AACxB,aAAA,CAAC,CAAC;YACH,OAAO,EAAE,cAAc,CAAC,aAAa,IAAI,cAAc,CAAC,eAAe,CAAC,CAAC;AAC1E,SAAA;aAAM,IAAI,IAAI,KAAK,CAAC,EAAE;AACrB,YAAA,IAAI,cAAc,GAAG;AACnB,gBAAA,eAAe,EAAE,KAAK;AACtB,gBAAA,sBAAsB,EAAE,EAAE;AAC1B,gBAAA,sBAAsB,EAAE,KAAK;AAC7B,gBAAA,6BAA6B,EAAE,EAAE;aAClC,CAAC;YACF,IAAI,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChD,YAAA,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;AACtB,gBAAA,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC;AACtC,gBAAA,cAAc,CAAC,sBAAsB,GAAG,SAAS,CAAC;AACnD,aAAA;AACD,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;AAClC,gBAAA,cAAc,CAAC,sBAAsB,GAAG,IAAI,CAAC;AAC7C,gBAAA,cAAc,CAAC,6BAA6B;AAC1C,oBAAA,2BAA2B,CAAC;AAC/B,aAAA;AAAM,iBAAA,IACL,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;AACtB,gBAAA,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,eAAe,EACtC;AACA,gBAAA,cAAc,CAAC,sBAAsB,GAAG,IAAI,CAAC;AAC7C,gBAAA,cAAc,CAAC,6BAA6B;AAC1C,oBAAA,mDAAmD,CAAC;AACvD,aAAA;AACD,YAAA,OAAO,CAAC;AACN,gBAAA,IAAI,EAAE,sBAAsB;AAC5B,gBAAA,OAAO,EAAE,cAAc;AACxB,aAAA,CAAC,CAAC;YACH,OAAO,EACL,cAAc,CAAC,sBAAsB,IAAI,cAAc,CAAC,eAAe,CACxE,CAAC;AACH,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;AACd,KAAC,CAAC;IACF,MAAM,WAAW,GAAG,MAAK;QACvB,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,KAAC,CAAC;AAOF,IAAA,MAAM,SAAS,GAAG,OAAO,SAAS,KAAI;AACpC,QAAA,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3D,YAAA,OAAO,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC,CAAC;AAC9C,YAAA,MAAM,EACJ,MAAM,EACN,IAAI,EAAE,OAAO,EACb,OAAO,GACR,GAAG,MAAM,oBAAoB,CAC5B,UAAU,EAAE,SAAS,EACrB,UAAU,EAAE,QAAQ,EACpB,SAAS,EACT,UAAU,EAAE,SAAS,EACrB,UAAU,CACX,CAAC;YACF,IAAI,MAAM,KAAK,GAAG,EAAE;gBAClB,IAAI,UAAU,KAAK,MAAM,EAAE;oBACzB,eAAe,CAAC,OAAO,EAAE;AACvB,wBAAA,OAAO,EAAE,SAAS;AACnB,qBAAA,CAAC,CAAC;oBACH,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAC7B,iBAAA;AAAM,qBAAA;AACL,oBAAA,OAAO,CAAC;AACN,wBAAA,IAAI,EAAE,yBAAyB;AAC/B,wBAAA,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;AACjC,qBAAA,CAAC,CAAC;AACJ,iBAAA;AACF,aAAA;iBAAM,IAAI,MAAM,KAAK,IAAI,EAAE;AAC1B,gBAAA,OAAO,CAAC;AACN,oBAAA,IAAI,EAAE,uBAAuB;AAC7B,oBAAA,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;AAC5B,iBAAA,CAAC,CAAC;AACJ,aAAA;AAAM,iBAAA;gBACL,eAAe,CAAC,OAAO,EAAE;AACvB,oBAAA,OAAO,EAAE,OAAO;AACjB,iBAAA,CAAC,CAAC;gBACH,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAC7B,aAAA;AACF,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,CAAC;AACN,gBAAA,IAAI,EAAE,uBAAuB;AAC7B,gBAAA,OAAO,EAAE,EAAE,KAAK,EAAE,mCAAmC,EAAE;AACxD,aAAA,CAAC,CAAC;AACJ,SAAA;AACH,KAAC,CAAC;IACF,QACEC,4BACEC,IAAC,CAAA,IAAI,IAAC,SAAS,EAAA,IAAA,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAC5D,QAAA,EAAA,CAAAD,GAAA,CAAC,WAAW,EAAA,EAAC,aAAa,EAAE,aAAa,EAAI,CAAA,EAC7CC,KAAC,IAAI,EAAA,EAAC,IAAI,EAAC,IAAA,EAAA,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAA,QAAA,EAAA,CAClC,OAAO,IACND,IAAC,IAAI,EAAA,EACH,SAAS,EACT,IAAA,EAAA,SAAS,EAAC,KAAK,EACf,cAAc,EAAC,UAAU,EACzB,UAAU,EAAC,QAAQ,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,OAAO,EACjB,EAAE,EAAE,MAAM,EAAA,QAAA,EAEVA,IAAC,OAAO,EAAA,EAAC,aAAa,EAAA,IAAA,EAAC,KAAK,EAAE,SAAS,IAAI,EAAE,YAC3CA,GACE,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,GAAG,EAAE,EACtD,GAAG,EAAC,MAAM,EACV,KAAK,EAAE,MAAM,EACb,CAAA,EAAA,CACM,GACL,IACL,IAAI,EACP,iBAAiB,IAChBA,GAAA,CAAC,IAAI,EACH,EAAA,SAAS,QACT,SAAS,EAAC,KAAK,EACf,cAAc,EAAC,UAAU,EACzB,UAAU,EAAC,QAAQ,EACnB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,OAAO,EACjB,EAAE,EAAE,MAAM,EAEV,QAAA,EAAAA,GAAA,CAAC,iBAAiB,EAAG,EAAA,CAAA,EAAA,CAChB,IACL,IAAI,EACRA,GAAA,CAAC,SAAS,EAAC,EAAA,QAAQ,EAAC,IAAI,EAAA,QAAA,EACtBC,IAAC,CAAA,IAAI,EAAC,EAAA,UAAU,EAAC,QAAQ,EAAC,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAA,QAAA,EAAA,CACrDD,GAAI,CAAA,IAAA,EAAA,EAAA,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,YAC5B,UAAU,CAAC,YAAY,KAAK,CAAC;AAC5B,8CAAE,CAAC,CAAC,gBAAgB,CAAC;8CACnB,UAAU,KAAK,MAAM;AACrB,kDAAE,aAAa;kDACb,CAAC,CAAC,gBAAgB,CAAC,EACtB,CAAA,EACJ,IAAI,IACHA,GAAA,CAAC,YAAY,EACX,EAAA,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,CAAC,CAAC,UAAU,EAAE,cAAc,IAAI,EAAE,CAAC,EAC7C,WAAW,EAAE,CAAC,KAAK,KAAI;AACrB,4CAAA,OAAO,CAAC;AACN,gDAAA,IAAI,EAAE,uBAAuB;AAC7B,gDAAA,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;AAC1B,6CAAA,CAAC,CAAC;yCACJ,EACD,UAAU,EAAE,WAAW,EACvB,eAAe,EAAE,CAAC,YAAY,KAAI;AAChC,4CAAA,OAAO,CAAC;AACN,gDAAA,IAAI,EAAE,kBAAkB;AACxB,gDAAA,OAAO,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE;AACrC,6CAAA,CAAC,CAAC;4CACH,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC;yCACjD,EACD,cAAc,EAAE,YAAY,CAAC,OAAO,EACpC,gBAAgB,EAAE,SAAS,GAC3B,KAEFA,IAAC,oBAAoB,EAAA,EACnB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,QAAQ,EAClB,iBAAiB,EAAE,iBAAiB,GACpC,CACH,CAAA,EAAA,CACI,GACG,CACP,EAAA,CAAA,CAAA,EAAA,CACF,EACN,CAAA,EACH;AACJ;;ACjfO,MAAM,2BAA2B,GAAqB;AAC3D,IAAA,UAAU,EAAE;AACV,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,SAAS,EAAE,oBAAoB;AAC/B,QAAA,WAAW,EAAE,WAAW;;AAExB,QAAA,mBAAmB,EAAE;AACnB,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,QAAQ,EAAE,GAAG;AACb,YAAA,QAAQ,EAAE,GAAG;AACd,SAAA;AAED,QAAA,qBAAqB,EAAE,KAAK;AAC5B,QAAA,cAAc,EAAE,KAAK;AACrB,QAAA,UAAU,EAAE,KAAK;AACjB,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,gBAAgB,EAAE,KAAK;AACvB,QAAA,eAAe,EAAE;AACf,YAAA,GAAG,EAAE,MAAM;AACX,YAAA,GAAG,EAAE,OAAO;AACb,SAAA;AACD,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,iBAAiB,EAAE,KAAK;AACxB,QAAA,iBAAiB,EAAE,KAAK;AACxB,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,UAAU,EAAE,IAAI;AACjB,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA;AACE,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,UAAU,EAAE,aAAa;AACzB,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,aAAa,EAAE,SAAS;AACxB,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,QAAQ,EAAE,GAAG;AACb,YAAA,QAAQ,EAAE,GAAG;AACd,SAAA;AACD,QAAA;AACE,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,UAAU,EAAE,aAAa;AACzB,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,aAAa,EAAE,SAAS;AACxB,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,QAAQ,EAAE,GAAG;AACb,YAAA,QAAQ,EAAE,GAAG;AACd,SAAA;AACD,QAAA;AACE,YAAA,QAAQ,EAAE,aAAa;AACvB,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,aAAa,EAAE,SAAS;AACxB,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,QAAQ,EAAE,GAAG;AACb,YAAA,QAAQ,EAAE,GAAG;AACd,SAAA;AACD,QAAA;AACE,YAAA,QAAQ,EAAE,gBAAgB;AAC1B,YAAA,UAAU,EAAE,YAAY;AACxB,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,aAAa,EAAE,UAAU;AACzB,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,QAAQ,EAAE,GAAG;AACb,YAAA,QAAQ,EAAE,GAAG;AACd,SAAA;AACD,QAAA;AACE,YAAA,QAAQ,EAAE,cAAc;AACxB,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,aAAa,EAAE,UAAU;AACzB,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,QAAQ,EAAE,GAAG;AACb,YAAA,QAAQ,EAAE,GAAG;AACd,SAAA;AACD,QAAA;AACE,YAAA,QAAQ,EAAE,eAAe;AACzB,YAAA,UAAU,EAAE,eAAe;AAC3B,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,aAAa,EAAE,SAAS;AACxB,YAAA,SAAS,EAAE,KAAK;AACjB,SAAA;AACD,QAAA;AACE,YAAA,QAAQ,EAAE,oBAAoB;AAC9B,YAAA,UAAU,EAAE,oBAAoB;AAChC,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,aAAa,EAAE,SAAS;AACxB,YAAA,SAAS,EAAE,KAAK;AACjB,SAAA;AACD,QAAA;AACE,YAAA,QAAQ,EAAE,cAAc;AACxB,YAAA,UAAU,EAAE,cAAc;AAC1B,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,aAAa,EAAE,SAAS;AACxB,YAAA,SAAS,EAAE,KAAK;AACjB,SAAA;AACD,QAAA;AACE,YAAA,QAAQ,EAAE,gBAAgB;AAC1B,YAAA,UAAU,EAAE,gBAAgB;AAC5B,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,aAAa,EAAE,SAAS;AACxB,YAAA,SAAS,EAAE,KAAK;AACjB,SAAA;AACD,QAAA;AACE,YAAA,QAAQ,EAAE,SAAS;AACnB,YAAA,UAAU,EAAE,SAAS;AACrB,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,aAAa,EAAE,SAAS;AACxB,YAAA,SAAS,EAAE,KAAK;AACjB,SAAA;AACD,QAAA;AACE,YAAA,QAAQ,EAAE,SAAS;AACnB,YAAA,UAAU,EAAE,WAAW;AACvB,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,aAAa,EAAE,SAAS;AACxB,YAAA,SAAS,EAAE,KAAK;AACjB,SAAA;AACF,KAAA;CACF;;ACxHM,MAAMD,WAAS,GAAG,UAAU,CAAC,CAAC,KAAU,MAAM;AACnD,IAAA,gBAAgB,EAAE;AAChB,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,MAAM,EAAE,MAAM;;AAEf,KAAA;AACD,IAAA,uBAAuB,EAAE;AACvB,QAAA,MAAM,EAAE,gCAAgC;AACxC,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,OAAO,EAAE,KAAK;AACf,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MAAM;AACf,KAAA;AACF,CAAA,CAAC,CAAC;;ACeH,MAAM,OAAO,GAAkB;AAC7B,IAAA;AACE,QAAA,UAAU,EAAE,MAAM;AAClB,QAAA,WAAW,EAAE,MAAM;AACnB,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,cAAc,EAAE,KAAK;AACrB,QAAA,eAAe,EAAE,qBAAqB;AACtC,QAAA,gBAAgB,EAAE,cAAc;AAChC,QAAA,UAAU,EAAE,MAAM;AAClB,QAAA,UAAU,EAAE,6BAA6B;AAC1C,KAAA;AACD,IAAA;AACE,QAAA,UAAU,EAAE,SAAS;AACrB,QAAA,WAAW,EAAE,SAAS;AACtB,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,eAAe,EAAE,cAAc;AAC/B,QAAA,gBAAgB,EAAE,qBAAqB;AACvC,QAAA,aAAa,EAAE,IAAI;AACnB,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,UAAU,EAAE,6BAA6B;AAC1C,KAAA;CACF,CAAC;AAoBF,MAAM,mBAAmB,GAA0C,CAAC,EAClE,aAAa,EACb,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,4BAA4B,EAC5B,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,SAAS,GACV,KAAI;AACH,IAAA,MAAM,OAAO,GAAGA,WAAS,EAAE,CAAC;AAE5B,IAAA,MAAM,EAAE,eAAe,EAAE,GAAG,WAAW,EAAE,CAAC;IAC1C,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAC9D,CAAC,yBAAyB,CAAC,EAC3B,MAAM,4BAA4B,EAAE,CACrC,CAAC;IAEF,SAAS,CAAC,MAAK;AACb,QAAA,OAAO,MAAK;YACV,WAAW,CAAC,aAAa,CAAC,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC,CAAC;AAC7D,SAAC,CAAC;KACH,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,MAAK;QACb,IAAI,CAAC,YAAY,EAAE,EAAE;YACnB,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACpB,SAAA;AAAM,aAAA,IAAI,kBAAkB,EAAE,IAAI,aAAa,KAAK,GAAG,EAAE;YACxD,QAAQ,CAAC,YAAY,CAAC,CAAC;AACxB,SAAA;AACH,KAAC,EAAE,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC,CAAC;AAQvC,IAAA,MAAM,QAAQ,GAAQ,WAAW,CAAC,gBAAgB,EAAE;AAClD,QAAA,SAAS,EAAE,CAAC,IAAI,EAAE,SAAc,KAAI;AAClC,YAAA,cAAc,CAAC;AACb,gBAAA,YAAY,EAAE,IAAI;gBAClB,UAAU,EAAE,SAAS,EAAE,SAAS;gBAChC,MAAM,EAAE,SAAS,EAAE,SAAS;gBAC5B,cAAc,EAAE,SAAS,EAAE,cAAc;AAC1C,aAAA,CAAC,CAAC;SACJ;AACF,KAAA,CAAC,CAAC;AACH,IAAA,MAAM,QAAQ,GAAQ,QAAQ,CAAC,KAA0B,CAAC;AAC1D,IAAA,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,IAAI,KAAI;AACP,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;AAC3B,YAAA,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,EAAE;gBAC3B,eAAe,CAAC,sBAAsB,EAAE;AACtC,oBAAA,OAAO,EAAE,OAAO;AACjB,iBAAA,CAAC,CAAC;AACJ,aAAA;AAAM,iBAAA,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,GAAG,EAAE;gBAC/C,eAAe,CACb,6DAA6D,EAC7D;AACE,oBAAA,OAAO,EAAE,OAAO;AACjB,iBAAA,CACF,CAAC;AACH,aAAA;AAAM,iBAAA;gBACL,QAAQ,CAAC,MAAM,CAAC;AACd,oBAAA,YAAY,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,IAAI,EAAE;AACtD,oBAAA,cAAc,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,IAAI,EAAE;AAC1D,oBAAA,OAAO,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE;AAC5C,oBAAA,SAAS,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,IAAI,EAAE;AAChD,oBAAA,UAAU,EAAE,SAAS,EAAE,SAAS,IAAI,EAAE;AACtC,oBAAA,WAAW,EAAE,SAAS;AACtB,oBAAA,OAAO,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE;AAC5C,oBAAA,SAAS,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,IAAI,EAAE;AAChD,oBAAA,aAAa,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,IAAI,EAAE;AACxD,oBAAA,kBAAkB,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,IAAI,EAAE;AAClE,oBAAA,iBAAiB,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,IAAI,EAAE;AACxD,oBAAA,mBAAmB,EACjB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,IAAI,EAAE;AACjD,oBAAA,aAAa,EAAE,aAAa;AAC7B,iBAAA,CAAC,CAAC;AACJ,aAAA;AACF,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YAC/B,IAAI,aAAa,KAAK,GAAG,EAAE;gBACzB,QAAQ,CAAC,YAAY,EAAE;AACrB,oBAAA,OAAO,EAAE,IAAI;AACd,iBAAA,CAAC,CAAC;AACJ,aAAA;AAAM,iBAAA;AACL,gBAAA,QAAQ,EAAE,CAAC;AACZ,aAAA;AACF,SAAA;KACF,EACD,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAC3B,CAAC;IAEF,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,aAAa,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;QAClE,IAAI,aAAa,KAAK,KAAK,EAAE;YAC3B,eAAe,CACb,6DAA6D,EAC7D;AACE,gBAAA,OAAO,EAAE,OAAO;AACjB,aAAA,CACF,CAAC;AACF,YAAA,QAAQ,EAAE,CAAC;AACZ,SAAA;AACD,QAAA,IAAI,IAAI,EAAE,MAAM,KAAK,CAAC,EAAE;YACtB,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,GAAG,EAAE;gBAC7B,gBAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AACzE,aAAA;AACF,SAAA;KACF,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3B,MAAM,SAAS,GAAG,MAAK;QACrB,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;AAClC,QAAA,IAAI,KAAK,CAAC;QAEV,IAAI,KAAK,GAAG,EAAE;YAAE,KAAK,GAAG,SAAS,CAAC;AAC7B,aAAA,IAAI,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE;YAAE,KAAK,GAAG,WAAW,CAAC;AACpD,aAAA,IAAI,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE;YAAE,KAAK,GAAG,SAAS,CAAC;QAEvD,OAAOE,IAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,OAAA,EAAY,KAAK,EAAA,GAAA,CAAA,EAAA,CAAS,CAAC;AACpC,KAAC,CAAC;AAEF,IAAA,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAO,MACvDD,GAAA,CAAC,OAAO,EAAK,EAAA,GAAA,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAI,CAAA,CACvD,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AACjB,QAAA,CAAC,MAAM,cAAc,CAAC,OAAO,CAAA,CAAE,GAAG;AAChC,YAAA,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;AAC3C,YAAA,KAAK,EAAE,qBAAqB;AAC5B,YAAA,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3B,YAAA,QAAQ,EAAE,EAAE;AACb,SAAA;AACF,KAAA,CAAC,CAAC,CAAC;;IAIJ,QACEA,4BACEC,IAAC,CAAA,IAAI,IACH,SAAS,EAAA,IAAA,EACT,KAAK,EAAE;AACL,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,OAAO,EAAE,GAAG;AACZ,gBAAA,MAAM,EAAE,OAAO;;AAEhB,aAAA,EAAA,QAAA,EAAA,CAEA,SAAS,IACRD,GAAC,CAAA,IAAI,EAAC,EAAA,IAAI,QAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAC1C,QAAA,EAAAA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,WAAW,EAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAC,YAAY,GAAG,EACzD,CAAA,IACL,IAAI,EAERA,GAAC,CAAA,IAAI,IACH,IAAI,EAAA,IAAA,EACJ,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,EACN,KAAK,EAAE;AACL,wBAAA,OAAO,EAAE,MAAM;AACf,wBAAA,cAAc,EAAE,QAAQ;AACzB,qBAAA,EAAA,QAAA,EAEDC,KAAC,IAAI,EAAA,EACH,SAAS,EAAA,IAAA,EACT,KAAK,EAAE;AACL,4BAAA,SAAS,EAAE,OAAO;AAClB,4BAAA,OAAO,EAAE,kBAAkB;yBAC5B,EACD,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,EAEN,QAAA,EAAA,CAAAA,IAAA,CAAC,IAAI,EACH,EAAA,SAAS,EACT,IAAA,EAAA,KAAK,EAAE;AACL,oCAAA,MAAM,EAAE,GAAG;AACX,oCAAA,OAAO,EAAE,GAAG;;AAEb,iCAAA,EACD,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,EAEN,QAAA,EAAA,CAAAD,GAAA,CAAC,IAAI,EACH,EAAA,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAE;AACF,4CAAA,OAAO,EAAE,MAAM;AACf,4CAAA,UAAU,EAAE,QAAQ;;AAErB,yCAAA,EAAA,QAAA,EAEDA,GAAC,CAAA,KAAK,EAAC,EAAA,SAAS,EAAC,KAAK,EAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EACtC,QAAA,EAAAA,GAAA,CAAC,GAAG,EAAA,EACF,SAAS,EAAE,OAAO,CAAC,uBAAuB,EAC1C,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAA,QAAA,EAEzBA,IAAC,YAAY,EAAA,EACX,KAAK,EACHC,IACE,CAAAE,UAAA,EAAA,EAAA,QAAA,EAAA,CAAAF,IAAA,CAAA,KAAA,EAAA,EAAA,QAAA,EAAA,CAAA,YAAA,EAAgB,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAO,EAAA,CAAA,EAChDA,IAAa,CAAA,KAAA,EAAA,EAAA,QAAA,EAAA,CAAA,SAAA,EAAA,SAAS,EAAE,QAAQ,IAAI,EAAE,CAAA,EAAA,CAAO,EAC7CD,GAAA,CAAA,KAAA,EAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,CAAuC,CACtC,EAAA,CAAA,EAEL,SAAS,EAAC,cAAc,EAExB,QAAA,EAAAA,GAAA,CAAC,MAAM,EACL,EAAA,SAAS,EAAE,OAAO,CAAC,gBAAgB;;wDAEnC,GAAG,EAAC,YAAY,EAChB,GAAG,EACD,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;8DACnB,KAAK,EAAE,OAAO;AAChB,8DAAE,oBAAoB,EAE1B,CAAA,EAAA,CACW,GACX,EACA,CAAA,EAAA,CACH,EACPC,IAAA,CAAC,IAAI,EAAA,EACH,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAE;AACF,4CAAA,cAAc,EAAE,QAAQ;AACxB,4CAAA,OAAO,EAAE,MAAM;AACf,4CAAA,aAAa,EAAE,QAAQ;yCACxB,EAED,QAAA,EAAA,CAAAA,IAAA,CAAA,IAAA,EAAA,EACE,SAAS,EAAC,cAAc,EACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,EAEtC,QAAA,EAAA,CAAA,UAAA,EAAAD,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,GAAG,SAAS,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAG,CAAA,CAAA,EAAA,CAAQ,IACrD,EACLC,IAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAC5D,QAAA,EAAA,CAAAD,GAAA,CAAA,IAAA,EAAA,EAAI,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,YAAG,SAAS,EAAE,GAAM,EACpDA,GAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,WAAW,EAAE,GAAG,EAAC,EAAE,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAA,CAAI,CACvD,EAAA,CAAA,CAAA,EAAA,CACD,EACPA,GAAC,CAAA,IAAI,IACH,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAE;AACF,4CAAA,OAAO,EAAE,MAAM;;AAEf,4CAAA,cAAc,EAAE,QAAQ;AACxB,4CAAA,UAAU,EAAE,QAAQ;AACrB,yCAAA,EAAA,QAAA,EAEDA,IAAC,KAAK,EAAA,EAAC,SAAS,EAAC,KAAK,EAAC,cAAc,EAAC,YAAY,EAAC,OAAO,EAAE,CAAC,YAC3DA,GAAC,CAAA,GAAG,IAAC,SAAS,EAAE,OAAO,CAAC,uBAAuB,EAC7C,QAAA,EAAAA,GAAA,CAAC,MAAM,EACL,EAAA,SAAS,EAAE,OAAO,CAAC,gBAAgB,EACnC,GAAG,EAAC,YAAY,EAChB,GAAG,EACD,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,EAAE,IAAI,GAAG,iBAAiB,GAExD,EACE,CAAA,EAAA,CACA,GACH,EACPC,IAAA,CAAC,IAAI,EACH,EAAA,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAE;AACF,4CAAA,OAAO,EAAE,MAAM;AACf,4CAAA,aAAa,EAAE,QAAQ;AACvB,4CAAA,cAAc,EAAE,QAAQ;AACzB,yCAAA,EAAA,QAAA,EAAA,CAEDD,GACE,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,qBAAqB,EAC/B,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAA,QAAA,EAE3BA,WAAG,SAAS,EAAC,WAAW,EAAA,QAAA,EACrB,CAAc,WAAA,EAAA,SAAS,EAAE,WAAW,IAAI,EAAE,CAAA,CAAE,EAC3C,CAAA,EAAA,CACA,EAENA,GAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,QAAQ,EAClB,QAAA,EAAA,CAAA,SAAA,EAAY,SAAS,EAAE,IAAI,EAAE,UAAU,IAAI,EAAE,CAAE,CAAA,EAAA,CAC9C,CACC,EAAA,CAAA,EACPC,IAAC,CAAA,IAAI,EACH,EAAA,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAE;AACF,4CAAA,OAAO,EAAE,MAAM;AACf,4CAAA,UAAU,EAAE,QAAQ;AACpB,4CAAA,cAAc,EAAE,OAAO;yCACxB,EAEA,QAAA,EAAA,CAAA,GAAG,EACJD,GACE,CAAA,KAAA,EAAA,EAAA,QAAA,EAAAA,GAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,EAAE,IAAI,GAAG,IAAI,EAC9C,GAAG,EAAC,WAAW,EACf,SAAS,EAAE,OAAO,CAAC,IAAI,EACvB,CAAA,EAAA,CACE,IACD,CACF,EAAA,CAAA,EAEN,OAAO,IACNA,GAAA,CAAC,QAAQ,EACP,EAAA,QAAA,EAAAA,GAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAAA,QAAA,EAC/CA,IAAC,KAAK,EAAA,EACJ,QAAQ,EAAE,KAAK,EAAE,QAAQ,IAAI,OAAO,EACpC,QAAQ,EAAE,KAAK,EAAE,SAAS,IAAI,OAAO,EACrC,WAAW,EAAE,KAAK,EAAE,YAAY,IAAI,EAAE,EAAA,CACtC,GACE,EACG,CAAA,IACT,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,KAAK,IACpCA,GAAC,CAAA,QAAQ,cACPA,GAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAC/C,QAAA,EAAAA,GAAA,CAAC,KAAK,EACJ,EAAA,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,OAAO,EACtC,QAAQ,EAAE,QAAQ,CAAC,SAAS,IAAI,OAAO,EACvC,WAAW,EAAE,QAAQ,CAAC,YAAY,IAAI,EAAE,EACxC,CAAA,EAAA,CACE,GACG,IACT,IAAI,EACRA,GAAC,CAAA,WAAW,IAEV,aAAa,EAAE,2BAA+C,EAC9D,IAAI,EAAE,IAAI,IAAI,EAAE,EAChB,OAAO,EAAE,MAAM,IAAI,EACnB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,gBAAgB,EAC3B,gBAAgB,EAAE,IAAI,EACtB,qBAAqB,EAAE,IAAI,EAC3B,kBAAkB,EAAE;AAClB,oCAAA,UAAU,EAAE,iBAAiB;AAC7B,oCAAA,OAAO,EAAE,GAAG;AACZ,oCAAA,uBAAuB,EAAE;AACvB,wCAAA,KAAK,EAAE,OAAO;AACf,qCAAA;iCACF,EACD,wBAAwB,EAAE,IAAI,EAC9B,OAAO,EAAC,UAAU,EAClB,OAAO,EAAE,SAAS,IAAI,UAAU,IAAI,QAAQ,CAAC,SAAS,EACtD,oBAAoB,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,IAAI,IAAI,EAlBpD,EAAA,CAAA,eAAA,CAAiB,CAmBtB,EACD,OAAO,IAAI,IAAI,EAAE,MAAM,KAAK,CAAC,IAC5BA,GAAC,CAAA,MAAM,EACL,EAAA,EAAE,EAAE;AACF,oCAAA,eAAe,EAAE,qBAAqB;AACtC,oCAAA,QAAQ,EAAE,UAAU;AACpB,oCAAA,KAAK,EAAE,OAAO;AACd,oCAAA,MAAM,EAAE,MAAM;AACd,oCAAA,KAAK,EAAE,MAAM;AACb,oCAAA,SAAS,EAAE;AACT,wCAAA,eAAe,EAAE,qBAAqB;AACvC,qCAAA;iCACF,EACD,OAAO,EAAE,MAAK;oCACZ,IAAI,aAAa,KAAK,GAAG,EAAE;wCACzB,QAAQ,CAAC,YAAY,EAAE;AACrB,4CAAA,OAAO,EAAE,IAAI;AACd,yCAAA,CAAC,CAAC;AACJ,qCAAA;AAAM,yCAAA;AACL,wCAAA,QAAQ,EAAE,CAAC;AACZ,qCAAA;iCACF,EAAA,QAAA,EAAA,MAAA,EAAA,CAGM,IACP,IAAI,CAAA,EAAA,CACH,EACF,CAAA,CAAA,EAAA,CACF,EACN,CAAA,EACH;AACJ,CAAC,CAAC;AAEW,MAAA,0BAA0B,GAEnC,CAAC,KAAK,KAAI;IACZ,QACEA,GAAC,CAAA,kBAAkB,EACjB,EAAA,QAAA,EAAAA,GAAA,CAAC,mBAAmB,EAAA,EAAA,GAAK,KAAK,EAAA,CAAI,EACf,CAAA,EACrB;AACJ;;ACneO,MAAMD,WAAS,GAAG,UAAU,CAAC,CAAC,KAAU,MAAM;AACnD,IAAA,MAAM,EAAE;;AAEN,QAAA,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;AACxD,YAAA,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK;AACtC,YAAA,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa;SACnD,CAAC;AACF,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,UAAU,EAAE,cAAc;AAC1B,QAAA,SAAS,EAAE,4BAA4B;AACxC,KAAA;AACD,IAAA,SAAS,EAAE;AACT,QAAA,KAAK,EAAE,GAAG;AACV,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,KAAK,EAAE,gCAAgC;AACvC,QAAA,eAAe,EAAE,kCAAkC;AAEnD,QAAA,SAAS,EAAE;AACT,YAAA,KAAK,EAAE,iBAAiB;AACzB,SAAA;AACF,KAAA;AACD,IAAA,UAAU,EAAE;AACV,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,UAAU,EAAE,MAAM;AAClB,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,SAAS,EAAE,4BAA4B;AACvC,QAAA,GAAG,EAAE,MAAM;AACX,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,SAAS,EAAE,OAAO;AAClB,QAAA,SAAS,EAAE,MAAM;AAEjB,QAAA,eAAe,EAAE;AACf,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,MAAM,EAAE,SAAS;AACjB,YAAA,cAAc,EAAE,MAAM;AACtB,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,QAAQ,EAAE,SAAS;AACnB,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,YAAY,EAAE,gBAAgB;AAC9B,YAAA,KAAK,EAAE,iBAAiB;AACxB,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,mBAAmB,EAAE;AACnB,gBAAA,eAAe,EAAE,SAAS;AAC3B,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA,WAAW,EAAE;AACX,QAAA,WAAW,EAAE,KAAK;;AAElB,QAAA,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;AACxD,YAAA,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK;AACtC,YAAA,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc;AACnD,YAAA,UAAU,EAAE,0BAA0B;SACvC,CAAC;AACH,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,GAAG,EAAE,oBAAoB;AAC1B,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,MAAM,EAAE,MAAM;;AAEf,KAAA;AACD,IAAA,uBAAuB,EAAE;AACvB,QAAA,MAAM,EAAE,gCAAgC;AACxC,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,OAAO,EAAE,KAAK;AACf,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,MAAM,EAAE,MAAM;AACf,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9B,QAAA,KAAK,EAAE,qBAAqB;AAC7B,KAAA;AACD,IAAA,UAAU,EAAE;AACV,QAAA,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU;AACvC,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,SAAS,EACP,uGAAuG;AACzG,QAAA,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7B,QAAA,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5B,QAAA,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;AACjC,QAAA,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;AAC9B,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC;AACxD,QAAA,SAAS,EAAE;AACT,YAAA,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC;AACzD,SAAA;AACD,QAAA,eAAe,EAAE;YACf,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;AAC7C,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,SAAS,EAAE;AACT,gBAAA,KAAK,EAAE,GAAG;AACX,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACvB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,aAAa,EAAE,MAAM;AACrB,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,UAAU,EAAE,QAAQ;AACpB,QAAA,cAAc,EAAE,QAAQ;AACzB,KAAA;AACD,IAAA,SAAS,EAAE;AACT,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,SAAS,EAAE,CAAC;AACZ,QAAA,YAAY,EAAE,MAAM;AACrB,KAAA;AACD,IAAA,UAAU,EAAE;AACV,QAAA,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnC,KAAA;AAED,IAAA,YAAY,EAAE;AACZ,QAAA,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7B,KAAA;AACD,IAAA,SAAS,EAAE;AACT,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,UAAU,EAAE,GAAG;AACf,QAAA,aAAa,EAAE,YAAY;AAC3B,QAAA,UAAU,EAAE,KAAK;AACjB,QAAA,SAAS,EAAE,MAAM;AAClB,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,QAAQ,EAAE,MAAM;AACjB,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,aAAa,EAAE,KAAK;AACpB,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,KAAK,EAAE,qBAAqB;AAC7B,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,UAAU,EAAE,GAAG;AACf,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,KAAK,EAAE,qBAAqB;AAC7B,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,UAAU,EAAE,GAAG;AACf,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,KAAK,EAAE,qBAAqB;AAC7B,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA,SAAS,EAAE;AACT,YAAA,eAAe,EAAE,cAAc;AAChC,SAAA;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,WAAW,EAAE,MAAM;AACnB,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,MAAM,EAAE,MAAM;AACf,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MAAM;AACf,KAAA;AACD,IAAA,SAAS,EAAE;AACT,QAAA,MAAM,EAAE,GAAG;AACX,QAAA,SAAS,EAAE,QAAQ;AACnB,QAAA,KAAK,EAAE,qBAAqB;AAC5B,QAAA,QAAQ,EAAE,KAAK;AAChB,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA,KAAK,EAAE,qBAAqB;AAC5B,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,SAAS,EAAE;AACT,YAAA,UAAU,EAAE,qBAAqB;AAClC,SAAA;AACD,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,MAAM,EAAE,MAAM;AACf,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,SAAS,EAAE,8BAA8B;AACzC,QAAA,cAAc,EAAE,IAAI;AACrB,KAAA;AACD,IAAA,oBAAoB,EAAE;AACpB,QAAA,IAAI,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE;AACvC,QAAA,MAAM,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE;AAC3C,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,OAAO,EAAE;AACP,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,qBAAqB,EAAE;AACrB,gBAAA,QAAQ,EAAE,MAAM;AACjB,aAAA;AACF,SAAA;AACF,KAAA;AACF,CAAA,CAAC,CAAC;;ACtKU,MAAA,aAAa,GAAiC,CAAC,EAC1D,gBAAgB,EAChB,iBAAiB,EACjB,IAAI,EACJ,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,aAAa,EACb,gBAAgB,GAAG,MAAM,GAC1B,KAAI;AACH,IAAA,MAAM,OAAO,GAAGA,WAAS,EAAE,CAAC;AAC5B,IAAA,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;AAE/B,IAAA,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAO,MACvDC,GAAA,CAAC,OAAO,EAAK,EAAA,GAAA,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAI,CAAA,CACvD,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AACjB,QAAA,CAAC,MAAM,cAAc,CAAC,OAAO,CAAA,CAAE,GAAG;AAChC,YAAA,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;AAC3C,YAAA,KAAK,EAAE,qBAAqB;AAC5B,YAAA,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3B,YAAA,QAAQ,EAAE,EAAE;AACb,SAAA;AACF,KAAA,CAAC,CAAC,CAAC;IACJ,MAAM,SAAS,GAAG,MAAK;QACrB,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;AAClC,QAAA,IAAI,KAAK,CAAC;QAEV,IAAI,KAAK,GAAG,EAAE;YAAE,KAAK,GAAG,SAAS,CAAC;AAC7B,aAAA,IAAI,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE;YAAE,KAAK,GAAG,WAAW,CAAC;AACpD,aAAA,IAAI,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE;YAAE,KAAK,GAAG,SAAS,CAAC;QAEvD,OAAOC,IAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,OAAA,EAAY,KAAK,EAAA,GAAA,CAAA,EAAA,CAAS,CAAC;AACpC,KAAC,CAAC;AAEF,IAAA,QACED,GAAC,CAAA,MAAM,IACL,QAAQ,EAAC,OAAO,EAChB,SAAS,EAAE,CAAC,EACZ,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,EAE5D,QAAA,EAAAC,IAAA,CAAC,OAAO,EAAC,EAAA,SAAS,EAAE,OAAO,CAAC,OAAO,EAAA,QAAA,EAAA,CACjCA,KAAC,GAAG,EAAA,EACF,EAAE,EAAE;AACF,wBAAA,OAAO,EAAE,MAAM;AACf,wBAAA,cAAc,EAAE,cAAc;AAC9B,wBAAA,UAAU,EAAE,QAAQ;AACpB,wBAAA,MAAM,EAAE,MAAM;AACd,wBAAA,KAAK,EAAE,OAAO;wBACd,aAAa,EAAE,gBAAgB,KAAK,OAAO,GAAG,aAAa,GAAG,KAAK;qBACpE,EAEA,QAAA,EAAA,CAAA,IAAI,IACHD,GAAC,CAAAE,YAAU,EACT,EAAA,aAAa,EACb,IAAA,EAAA,OAAO,EAAE,MAAM,iBAAiB,EAAE,EAClC,SAAS,EAAE,OAAO,CAAC,gBAAgB,EAEnC,QAAA,EAAAF,GAAA,CAAC,gBAAgB,EAAC,EAAA,QAAQ,EAAC,OAAO,EAAA,CAAG,GAC1B,KAEbA,GAAA,CAACE,YAAU,EACT,EAAA,aAAa,EACF,IAAA,EAAA,YAAA,EAAA,aAAa,EACxB,OAAO,EAAE,MAAM,gBAAgB,EAAE,EACjC,SAAS,EAAE,OAAO,CAAC,gBAAgB,EAAA,QAAA,EAEnCF,IAAC,gBAAgB,EAAA,EAAC,QAAQ,EAAC,OAAO,EAAA,CAAG,GAC1B,CACd,EAEDC,IACE,CAAA,KAAA,EAAA,EAAA,QAAA,EAAA,CAAAD,GAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,EAAE,IAAI,GAAG,QAAQ,EAClD,GAAG,EAAC,WAAW,EACf,SAAS,EAAE,OAAO,CAAC,IAAI,EACvB,OAAO,EAAE,CAAC,CAAC,KAAI;wCACb,CAAC,CAAC,cAAc,EAAE,CAAC;AACnB,wCAAA,QAAQ,CAAC,YAAY,IAAI,aAAa,CAAC,CAAC;qCACzC,EAAA,CACD,EACFA,GAAG,CAAA,GAAA,EAAA,EAAA,SAAS,EAAE,OAAO,CAAC,SAAS,EAAA,QAAA,EAAG,KAAK,EAAE,OAAO,EAAK,CAAA,CAAA,EAAA,CACjD,IACF,EACNA,GAAA,CAAC,KAAK,EAAC,EAAA,SAAS,EAAC,KAAK,EAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,YACtCA,GAAC,CAAA,GAAG,EAAC,EAAA,SAAS,EAAE,OAAO,CAAC,uBAAuB,EAAA,QAAA,EAC7CA,GAAC,CAAA,MAAM,EACL,EAAA,SAAS,EAAE,OAAO,CAAC,gBAAgB,EACnC,GAAG,EAAC,YAAY,EAChB,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,EAAE,IAAI,GAAGO,iBAAgB,EAC1D,CAAA,EAAA,CACE,EACA,CAAA,EACRN,IAAC,CAAA,UAAU,IACT,SAAS,EAAC,IAAI,EACd,OAAO,EAAC,IAAI,EACZ,KAAK,EAAC,SAAS,EACf,MAAM,EACN,IAAA,EAAA,SAAS,EAAE,OAAO,CAAC,KAAK,aAExBD,GAAC,CAAA,GAAG,EACF,EAAA,KAAK,EAAE;AACL,gCAAA,YAAY,EAAE,KAAK;AACnB,gCAAA,QAAQ,EAAE,MAAM;AAChB,gCAAA,KAAK,EAAE,qBAAqB;AAC5B,gCAAA,KAAK,EAAE,OAAO;6BACf,EACD,SAAS,EAAE,IAAI,CAAC;gCACd,CAAC,OAAO,CAAC,OAAO,GAAG,SAAS,EAAE,WAAW,CAAC,MAAM,GAAG,EAAE;6BACtD,CAAC,EAAA,QAAA,EAED,SAAS,EAAE,WAAW,IAAI,EAAE,EAAA,CACzB,EACNA,GAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAA,QAAA,EACzCC,IAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,aAC1CA,IAAC,CAAA,UAAU,EACT,EAAA,OAAO,EAAC,SAAS,EACjB,OAAO,EAAC,OAAO,EACf,UAAU,EAAE,CAAC,EACb,QAAQ,EAAE,MAAM,EAAA,QAAA,EAAA,CAEf,CAAC,CAAC,eAAe,CAAC,EAAG,GAAA,EAAA,SAAS,EAAE,IAAI,EAAE,UAAU,IAAI,MAAM,OAC1D,SAAS,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,CAAA,EAAA,CACnB,EACbA,IAAA,CAAC,UAAU,EAAA,EAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAC,QAAQ,EAAC,QAAQ,EAAE,MAAM,EAC5D,QAAA,EAAA,CAAA,CAAC,CAAC,oBAAoB,CAAC,OAAG,GAAG,EAC7B,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC;AAC9B,kDAAE,mBAAmB,CACjB,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,YAAY,CAAC,CAEvD;kDACD,WAAW,CAAA,EAAA,CACJ,EACbA,IAAA,CAAC,UAAU,EACT,EAAA,UAAU,EAAE,CAAC,EACb,OAAO,EAAC,SAAS,EACjB,OAAO,EAAC,QAAQ,EAChB,QAAQ,EAAE,MAAM,EAAA,QAAA,EAAA,CAEf,CAAC,CAAC,sBAAsB,CAAC,QAAI,GAAG,EAChC,mBAAmB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,WAAW,CAAC,CAAA,EAAA,CACpD,IACT,EACF,CAAA,CAAA,EAAA,CACK,EACbA,IAAA,CAAC,GAAG,EAAA,EAAA,QAAA,EAAA,CACD,CAAC,aAAa,IACbD,GAAC,CAAA,GAAG,IAAC,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,EACpD,QAAA,EAAAC,IAAA,CAAC,KAAK,EACJ,EAAA,SAAS,EAAC,KAAK,EACf,OAAO,EAAE,CAAC,EACV,cAAc,EAAE,UAAU,EAC1B,UAAU,EAAE,QAAQ,EAAA,QAAA,EAAA,CAEpBA,IAAC,CAAA,UAAU,EAAC,EAAA,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAC3C,QAAA,EAAA,CAAA,SAAS,EAAE,EAAG,GAAA,EAAA,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAC7B,EAAA,CAAA,EACbD,GAAK,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,WAAW,EAAE,GAAG,EAAC,EAAE,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAI,CAAA,CAAA,EAAA,CACrD,GACJ,IACJ,IAAI,EACRC,IAAC,CAAA,GAAG,EACF,EAAA,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,QAAQ,EAAA,QAAA,EAAA,CAEnB,eAAe,GAAGD,GAAA,CAAC,eAAe,EAAA,EAAA,CAAG,GAAG,IAAI,EAC5C,iBAAiB,GAAGA,GAAC,CAAA,iBAAiB,EAAG,EAAA,CAAA,GAAG,IAAI,EAEjDA,GAAA,CAAC,GAAG,EAAA,EAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAA,QAAA,EACxDA,GAAC,CAAA,OAAO,EAAC,EAAA,KAAK,EAAC,QAAQ,EAAC,SAAS,EAAC,QAAQ,EAAC,KAAK,kBAC9CA,GAAC,CAAAE,YAAU,EACT,EAAA,OAAO,EAAE,MACP,OAAO,YAAY,KAAK,UAAU,GAAG,YAAY,EAAE,GAAG,IAAI,EAE5D,KAAK,EAAC,OAAO,EACb,EAAE,EAAE;AACF,gDAAA,eAAe,EAAE,2BAA2B;AAE5C,gDAAA,YAAY,EAAE,MAAM;AACpB,gDAAA,MAAM,EAAE,MAAM;AACd,gDAAA,KAAK,EAAE,MAAM;AACb,gDAAA,SAAS,EAAE;AACT,oDAAA,UAAU,EAAE,cAAc;AAC1B,oDAAA,YAAY,EAAE,MAAM;AACpB,oDAAA,UAAU,EAAE,kBAAkB;AAC9B,oDAAA,SAAS,EACP,kEAAkE;AACpE,oDAAA,oBAAoB,EAAE;AACpB,wDAAA,MAAM,EAAE,MAAM;AACd,wDAAA,KAAK,EAAE,MAAM;AACb,wDAAA,UAAU,EAAE,kBAAkB;AAC9B,wDAAA,OAAO,EAAE,KAAK;AACf,qDAAA;AACF,iDAAA;AACF,6CAAA,EAAA,YAAA,EACU,kBAAkB,EAAA,QAAA,EAE7BF,GAAC,CAAA,UAAU,EAAG,EAAA,CAAA,EAAA,CACH,EACL,CAAA,EAAA,CACN,CACF,EAAA,CAAA,CAAA,EAAA,CACF,EACNA,GAAA,CAAC,KAAK,EAAA,EAAC,SAAS,EAAC,KAAK,EAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAA,QAAA,EACtCA,GAAC,CAAA,GAAG,IACF,SAAS,EAAE,OAAO,CAAC,uBAAuB,EAC1C,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAA,QAAA,EAEzBA,GAAC,CAAA,YAAY,IACX,KAAK,EACHC,IACE,CAAAE,UAAA,EAAA,EAAA,QAAA,EAAA,CAAAF,IAAA,CAAA,KAAA,EAAA,EAAA,QAAA,EAAA,CACG,GAAG,EACH,CAAC,CAAC,eAAe,CAAC,EAAI,IAAA,EAAA,SAAS,EAAE,IAAI,EAAE,EAAE,IACtC,EACNA,IAAA,CAAA,KAAA,EAAA,EAAA,QAAA,EAAA,CACG,CAAC,CAAC,aAAa,CAAC,EAAK,KAAA,EAAA,SAAS,EAAE,QAAQ,CACrC,EAAA,CAAA,EACNA,IAAM,CAAA,KAAA,EAAA,EAAA,QAAA,EAAA,CAAA,CAAC,CAAC,8BAA8B,CAAC,EAAY,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAClD,EAEL,SAAS,EAAC,cAAc,EAExB,QAAA,EAAAD,GAAA,CAAC,MAAM,EAAA,EACL,SAAS,EAAE,OAAO,CAAC,gBAAgB,EACnC,OAAO,EAAE,MACP,OAAO,aAAa,KAAK,UAAU,GAAG,aAAa,EAAE,GAAG,IAAI,EAE9D,GAAG,EAAC,YAAY,EAChB,GAAG,EAAE,UAAU,IAAI,EAAE,EACrB,CAAA,EAAA,CACW,EACX,CAAA,EAAA,CACA,CACA,EAAA,CAAA,EAAA,CACH,EACT;AACJ,EAAE;AAEK,MAAM,mBAAmB,GAAG,CAAC,OAAe,KAAI;;;;;;AAMrD,IAAA,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;AACpB,QAAA,OAAO,OAAO,CAAC;AAChB,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACf,CAAC;;ACrSD,MAAM,WAAW,GAAG,GAAG,CAAC;AAEjB,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,KAAY,KAAI;IACnD,OAAO;AACL,QAAA,WAAW,EAAE;AACX,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,KAAK,EAAE,WAAW;YAClB,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE;AAC5C,gBAAA,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK;AACtC,gBAAA,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc;aACpD,CAAC;AACF,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,MAAM,EAAE,GAAG;AACZ,SAAA;AACD,QAAA,gBAAgB,EAAE;AAChB,YAAA,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE;AAC5C,gBAAA,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK;AACtC,gBAAA,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa;aACnD,CAAC;AACF,YAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACvB,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;AAC5B,gBAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACxB,aAAA;AACF,SAAA;AACD,QAAA,WAAW,EAAE;AACX,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO;AACvB,YAAA,UAAU,EAAE,cAAc;AAC1B,YAAA,cAAc,EAAE,QAAQ;AACxB,YAAA,MAAM,EAAE,MAAM;;AAEf,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,MAAM,EAAE,IAAI;AACb,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,eAAe,EAAE,aAAa;AAC9B,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,MAAM,EAAE,SAAS;AACjB,YAAA,cAAc,EAAE,WAAW;AAC3B,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,OAAO,EAAE,CAAC;AACV,YAAA,SAAS,EAAE;AACT,gBAAA,cAAc,EAAE,MAAM;AACvB,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,cAAc,EAAE,MAAM;AACvB,aAAA;AACF,SAAA;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH;;AAEE;;AC7DK,MAAM,cAAc,GAAkB,EAAE;;ACF/C;AAEA;AAEqC,UAAU,CAAC,CAAC,KAAU,MAAM;AAC/D,IAAA,SAAS,EAAE;AACT,QAAA,OAAO,EAAE,WAAW;AACpB,QAAA,eAAe,EAAE,iBAAiB;AAClC,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,SAAS,EAAE,4BAA4B;AACvC,QAAA,MAAM,EAAE,MAAM;AACf,KAAA;AACD,IAAA,cAAc,EAAE;AACd,QAAA,eAAe,EAAE,MAAM;AACvB,QAAA,QAAQ,EAAE,OAAO;AACjB,QAAA,SAAS,EAAE,4BAA4B;AACvC,QAAA,cAAc,EAAE,MAAM;AACtB,QAAA,YAAY,EAAE,oBAAoB;AACnC,KAAA;AACD,IAAA,aAAa,EAAE;AACb,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,UAAU,EAAE,KAAK;AACjB,QAAA,UAAU,EAAE,KAAK;AACjB,QAAA,aAAa,EAAE,KAAK;AACpB,QAAA,YAAY,EAAE,OAAO;AACrB,QAAA,WAAW,EAAE,OAAO;AACpB,QAAA,UAAU,EAAE,GAAG;AACf,QAAA,aAAa,EAAE,YAAY;AAC3B,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,UAAU,EAAE,QAAQ;AACpB,QAAA,MAAM,EAAE,SAAS;AAEjB,QAAA,SAAS,EAAE;AACT,YAAA,KAAK,EAAE,SAAS;AACjB,SAAA;AACF,KAAA;AACD,IAAA,WAAW,EAAE;AACX,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,OAAO,EAAE,iBAAiB;AAC1B,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,aAAa,EAAE,QAAQ;AACvB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,aAAa,EAAE,YAAY;AAC5B,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,QAAQ,EAAE,MAAM;AACjB,KAAA;AACD,IAAA,aAAa,EAAE;AACb,QAAA,KAAK,EAAE,OAAO;AACf,KAAA;AACF,CAAA,CAAC,EAAE;AAEG,MAAM,gBAAgB,GAAG,UAAU,CAAC,CAAC,KAAU,MAAM;AAC1D,IAAA,IAAI,EAAE;AACJ,QAAA,cAAc,EAAE,QAAQ;AACzB,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,MAAM,EAAE,KAAK;AACd,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,OAAO,EAAE,MAAM;;AAEf,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,UAAU,EAAE,KAAK;AACjB,QAAA,SAAS,EAAE,OAAO;AAClB,QAAA,KAAK,EAAE,KAAK;AACZ,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7B,QAAA,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9B,QAAA,UAAU,EAAE,cAAc;AAC1B,QAAA,SAAS,EAAE,qCAAqC;AAChD,QAAA,OAAO,EAAE;;AAEP,YAAA,KAAK,EAAE,qBAAqB;AAC7B,SAAA;AACD,QAAA,SAAS,EAAE;AACT,YAAA,SAAS,EACP,sGAAsG;AACxG,YAAA,UAAU,EAAE,qBAAqB;AACjC,YAAA,UAAU,EAAE,WAAW;AACxB,SAAA;AACF,KAAA;AACD,IAAA,cAAc,EAAE;AACd,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,YAAY,EAAE,QAAQ;AACvB,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,OAAO,EAAE,UAAU;;AAEnB,QAAA,aAAa,EAAE,MAAM;AACrB,QAAA,aAAa,EAAE,CAAC;AAChB,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,SAAS,EAAE;AACT,YAAA,eAAe,EAAE,qBAAqB;;AAEvC,SAAA;AACF,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,WAAW,EAAE,MAAM;AACnB,QAAA,cAAc,EAAE,OAAO;AACxB,KAAA;AACD,IAAA,QAAQ,EAAE;;AAER,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,SAAS,EAAE,QAAQ;;AAEnB,QAAA,eAAe,EAAE,2BAA2B;;;;;AAK5C,QAAA,YAAY,EAAE,MAAM;AACpB,QAAA,UAAU,EAAE,KAAK;;AAElB,KAAA;AACD,IAAA,uBAAuB,EAAE;AACvB,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,SAAS,EAAE,QAAQ;AACnB,QAAA,MAAM,EAAE,qBAAqB;;AAE7B,QAAA,UAAU,EAAE,MAAM;AACnB,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA,WAAW,EAAE,MAAM;AACnB,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9B,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,aAAa,EAAE;AACb,YAAA,QAAQ,EAAE,MAAM;AACjB,SAAA;AACF,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA,WAAW,EAAE,MAAM;AACnB,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,aAAa,EAAE;AACb,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,QAAQ,EAAE,iBAAiB;AAC3B,QAAA,YAAY,EAAE,QAAQ;AACtB,QAAA,KAAK,EAAE,qBAAqB;AAC5B,QAAA,UAAU,EAAE,GAAG;AACf,QAAA,QAAQ,EAAE,MAAM;AACjB,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,QAAQ,EAAE,OAAO;AACjB,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,YAAY,EAAE,UAAU;AACxB,QAAA,KAAK,EAAE,qBAAqB;AAC5B,QAAA,UAAU,EAAE,MAAM;AAClB,QAAA,UAAU,EAAE,cAAc;AAC1B,QAAA,QAAQ,EAAE;AACR,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,UAAU,EAAE,cAAc;AAC3B,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,KAAK,EAAE,qBAAqB;AAC5B,YAAA,UAAU,EAAE,GAAG;AAChB,SAAA;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,eAAe,EAAE,cAAc;AAC/B,QAAA,SAAS,EAAE;AACT,YAAA,UAAU,EAAE,qBAAqB;AACjC,YAAA,OAAO,EAAE;AACP,gBAAA,KAAK,EAAE,yBAAyB;AACjC,aAAA;AACD,YAAA,aAAa,EAAE;AACb,gBAAA,KAAK,EAAE,yBAAyB;AACjC,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,QAAQ,EAAE,OAAO;AAClB,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,sBAAsB,EAAE;AACtB,YAAA,SAAS,EAAE;AACT,gBAAA,eAAe,EAAE,qBAAqB;AACvC,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,KAAK,EAAE,cAAc;AACtB,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA,WAAW,EAAE;AACX,QAAA,eAAe,EAAE,qBAAqB;AACtC,QAAA,MAAM,EAAE;AACN,YAAA,KAAK,EAAE,cAAc;AACtB,SAAA;AACD,QAAA,SAAS,EAAE;AACT,YAAA,eAAe,EAAE,qBAAqB;AACvC,SAAA;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,UAAU,EAAE,MAAM;AAClB,QAAA,aAAa,EAAE,MAAM;AACrB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,WAAW,EAAE,MAAM;AACnB,QAAA,YAAY,EAAE,QAAQ;AACvB,KAAA;AACD,IAAA,cAAc,EAAE;AACd,QAAA,eAAe,EAAE,gCAAgC;AAEjD,QAAA,SAAS,EAAE;AACT,YAAA,KAAK,EAAE,wBAAwB;AAChC,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,qBAAqB;AAC7B,SAAA;AACD,QAAA,SAAS,EAAE;AACT,YAAA,SAAS,EAAE;AACT,gBAAA,KAAK,EAAE,qBAAqB;AAC7B,aAAA;AACF,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,KAAK,EAAE,qBAAqB;AAC7B,SAAA;AACF,KAAA;AACF,CAAA,CAAC,CAAC;;ACnNH,IAAI,eAAe,GAAG,IAAI,CAAC;AAQpB,MAAM,UAAU,GAAwB,CAAC,EAC9C,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAAG,KAAK,EACzB,OAAO,EACP,YAAY,EACZ,QAAQ,GACT,KAAI;AACH,IAAA,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,IAAI,MAAM,GAAyB,IAAI,CAAC;IACxC,eAAe,GAAG,UAAU,CAAC;IAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QACpC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,KAAI;AACrC,YAAA,IAAI,GAAG,EAAE,YAAY,KAAK,IAAI,EAAE;AAC9B,gBAAA,QACEA,GAAC,CAAA,gBAAgB,EAEf,EAAA,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAP7B,EAAA,GAAG,CAAC,KAAK,CAQd,EACF;AACH,aAAA;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACtC,QACEA,IAAC,cAAc,EAAA,EAEb,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,CAAC,EACR,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAAA,EATb,GAAG,CAAC,KAAK,CAUd,EACF;AACH,aAAA;AAAM,iBAAA;AACL,gBAAA,QACEA,GAAC,CAAA,cAAc,IAEb,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EARb,EAAA,GAAG,CAAC,KAAK,CASd,EACF;AACH,aAAA;AACH,SAAC,CAAC,CAAC;AACJ,KAAA;AACD,IAAA,QACEA,GAAA,CAAC,IAAI,EAAA,EACH,SAAS,EAAC,KAAK,EACf,cAAc,EACd,IAAA,EAAA,SAAS,EACP,iBAAiB,GAAG,OAAO,CAAC,uBAAuB,GAAG,OAAO,CAAC,QAAQ,EAGxE,QAAA,EAAAA,GAAA,CAAC,SAAS,EAAE,EAAA,QAAA,EAAA,MAAM,EAAa,CAAA,EAAA,CAC1B,EACP;AACJ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAQjB,CAAC,EACJ,IAAI,EACJ,OAAO,EACP,KAAK,EACL,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,GACjB,KAAI;IACH,IAAI,UAAU,GACZ,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC;;;;;;AAO/D,IAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,IAClEA,GAAC,CAAA,YAAY,EAAC,EAAA,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAA,QAAA,EACvCA,GAAC,CAAA,eAAe,EAAC,EAAA,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAA,CAAI,GAChC,KAEfA,GAAA,CAAC,YAAY,EAAA,EAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EACvC,QAAA,EAAAA,GAAA,CAAC,eAAe,EAAA,EACd,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,EACzB,CAAA,EAAA,CACW,CAChB,CAAC;AAEF,IAAA,MAAM,cAAc,GAClB,KAAK,KAAK,CAAC;UACP,OAAO,CAAC,gBAAgB;UACxB,KAAK,KAAK,CAAC;cACT,OAAO,CAAC,gBAAgB;cACxB,EAAE,CAAC;IAEX,QACEC,IAAC,CAAA,QAAQ,EACP,EAAA,MAAM,EACN,IAAA,EAAA,cAAc,EACd,IAAA,EAAA,SAAS,EAAE,IAAI,CAAC;AACd,YAAA,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI;AACpB,YAAA,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;YACzC,CAAC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AACrC,YAAA,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,eAAe;AAC3C,SAAA,CAAC,EACF,OAAO,EAAE,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,eAAe,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACrE,gBAAA,gBAAgB,CAAC;oBACf,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,oBAAA,WAAW,EAAE,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,YAAY;AACnD,iBAAA,CAAC,CAAC;gBACH,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,KAAI;oBAC1C,OAAO,EAAE,GAAG,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;AACvD,iBAAC,CAAC,CAAC;gBACH,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAC7B,aAAA;AACD,YAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzB,SAAC,EAED,QAAA,EAAA,CAAAD,GAAA,CAAC,OAAO,EAAA,EACN,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,KAAK,EAAE,IAAI,EACX,SAAS,EAAE,eAAe,GAAG,cAAc,GAAG,OAAO,EAErD,QAAA,EAAAA,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,IAAI,EAAA,CAAQ,EACX,CAAA,EACT,CAAC,eAAe,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAC5DA,GAAC,CAAA,OAAO,EACN,EAAA,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,KAAK,EAAE,IAAI,EACX,SAAS,EAAE,eAAe,GAAG,cAAc,GAAG,OAAO,YAErDA,GAAC,CAAA,YAAY,EACX,EAAA,OAAO,EAAE,IAAI,CAAC,KAAK,EACnB,SAAS,EAAE,OAAO,CAAC,IAAI,EACvB,SAAS,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,EACxB,CAAA,EAAA,CACR,IACR,eAAe,IACjBA,GAAC,CAAA,YAAY,IACX,OAAO,EAAE,IAAI,CAAC,KAAK,EACnB,SAAS,EAAE,OAAO,CAAC,IAAI,EACvB,SAAS,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,EAAA,CACxB,IACd,IAAI,CAAA,EAAA,CACC,EACX;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GASf,CAAC,EACJ,IAAI,EACJ,OAAO,EACP,KAAK,EACL,QAAQ,EACR,UAAU,EACV,OAAO,EACP,YAAY,EACZ,QAAQ,GACT,KAAI;IACH,MAAM,YAAY,GAAG,oBAAoB,CACvC,MAAM,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,EAC/B,IAAI,EAAE,IAAI,IAAI,EAAE,EAChB,IAAI,EAAE,eAAe,EACrB,OAAO,EACP,YAAY,CACb,CAAC;AACF,IAAA,IAAI,YAAY,EAAE;;AAEhB,QAAA,IAAI,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC;AAC/B,QAAA,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACjE,KAAA;IACD,IAAI,UAAU,GACZ,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC;AAE/D,IAAA,MAAM,IAAI,GACR,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,aAAa,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAC9DA,GAAA,CAAC,YAAY,EAAC,EAAA,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAA,QAAA,EACvCA,GAAC,CAAA,eAAe,IAAC,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,EAAA,CAAI,GACjC,KAEfA,GAAC,CAAA,YAAY,EAAC,EAAA,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAA,QAAA,EACvCA,GAAC,CAAA,eAAe,EAAC,EAAA,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAI,CAAA,EAAA,CAChC,CAChB,CAAC;AACJ,IAAA,MAAM,cAAc,GAClB,KAAK,KAAK,CAAC;UACP,OAAO,CAAC,gBAAgB;UACxB,KAAK,KAAK,CAAC;cACT,OAAO,CAAC,gBAAgB;cACxB,EAAE,CAAC;IACX,QACEC,IAAC,CAAA,QAAQ,EACP,EAAA,MAAM,EACN,IAAA,EAAA,cAAc,EACd,IAAA,EAAA,SAAS,EAAE,IAAI,CAAC;AACd,YAAA,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI;AACpB,YAAA,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;YACzC,CAAC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AACrC,YAAA,CAAC,OAAO,CAAC,cAAc,GAAG,YAAY;AACtC,YAAA,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,eAAe;AAC3C,SAAA,CAAC,EACF,OAAO,EAAE,CAAC,CAAC,KAAI;YACb,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,gBAAA,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACrB,IAAI;oBACF,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG;0BAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AACxB,0BAAE,IAAI,CAAC,IAAI,CAAC;gBAChB,IAAI,IAAI,CAAC,8BAA8B,EAAE;oBACvC,IAAI,QAAQ,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;oBAC1D,QAAQ,CAAC,CAAG,EAAA,IAAI,CAAI,CAAA,EAAA,QAAQ,CAAC,QAAQ,EAAE,CAAE,CAAA,CAAC,CAAC;AAC5C,iBAAA;AAAM,qBAAA;AACL,oBAAA,QAAQ,CAAC,CAAA,EAAG,IAAI,CAAA,CAAY,EAAE;AAC5B,wBAAA,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,eAAe,EAAE;AACpC,qBAAA,CAAC,CAAC;AACJ,iBAAA;AACF,aAAA;AAAM,iBAAA,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC7B,gBAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC;AAC/C,aAAA;AACH,SAAC,EAED,QAAA,EAAA,CAAAD,GAAA,CAAC,OAAO,EAAA,EACN,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,KAAK,EAAE,IAAI,EACX,SAAS,EAAE,eAAe,GAAG,cAAc,GAAG,OAAO,EAErD,QAAA,EAAAA,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,IAAI,EAAA,CAAQ,EACX,CAAA,EAET,CAAC,eAAe,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAC5DA,GAAC,CAAA,OAAO,EACN,EAAA,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,KAAK,EAAE,IAAI,EACX,SAAS,EAAE,eAAe,GAAG,cAAc,GAAG,OAAO,YAErDA,GAAC,CAAA,YAAY,EACX,EAAA,OAAO,EAAE,IAAI,CAAC,KAAK,EACnB,SAAS,EAAE,OAAO,CAAC,IAAI,EACvB,SAAS,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,EACxB,CAAA,EAAA,CACR,IACR,eAAe,IACjBA,GAAC,CAAA,YAAY,IACX,OAAO,EAAE,IAAI,CAAC,KAAK,EACnB,SAAS,EAAE,OAAO,CAAC,IAAI,EACvB,SAAS,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,EAAA,CACxB,IACd,IAAI,CAAA,EAAA,CAMC,EACX;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAUf,CAAC,EACJ,IAAI,EACJ,OAAO,EACP,KAAK,EACL,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,OAAO,EACP,QAAQ,GACT,KAAI;IACH,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,MAAK;AAIvB,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AACjB,KAAC,CAAC;IACF,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,KAAI;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;AAC/B,YAAA,QACEA,GAAC,CAAA,cAAc,IAEb,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,GAAG,CAAC,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EARb,EAAA,GAAG,CAAC,KAAK,CASd,EACF;AACH,SAAA;AAAM,aAAA;AACL,YAAA,QACEA,GAAA,CAAC,cAAc,EAAA,EAEb,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,GAAG,CAAC,EAChB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,IANb,GAAG,CAAC,KAAK,CAOd,EACF;AACH,SAAA;AACH,KAAC,CAAC,CAAC;IACH,IAAI,UAAU,GACZ,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC;AAE/D,IAAA,MAAM,IAAI,GACR,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,aAAa,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAC/DA,GAAA,CAAC,YAAY,EAAC,EAAA,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAA,QAAA,EACvCA,GAAC,CAAA,eAAe,IAAC,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,EAAA,CAAI,GACjC,KAEfA,GAAC,CAAA,YAAY,EAAC,EAAA,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAA,QAAA,EACvCA,GAAC,CAAA,eAAe,EAAC,EAAA,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAI,CAAA,EAAA,CAChC,CAChB,CAAC;AAEJ,IAAA,MAAM,cAAc,GAClB,KAAK,KAAK,CAAC;UACP,OAAO,CAAC,gBAAgB;UACxB,KAAK,KAAK,CAAC;cACT,OAAO,CAAC,gBAAgB;cACxB,EAAE,CAAC;AACX,IAAA,QACEC,IAAA,CAAAE,UAAA,EAAA,EAAA,QAAA,EAAA,CACEF,IAAC,CAAA,QAAQ,IACP,MAAM,EAAA,IAAA,EACN,OAAO,EAAE,WAAW,EACpB,cAAc,EACd,IAAA,EAAA,SAAS,EACP,IAAI;sBACA,IAAI,CAAC;AACH,wBAAA,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI;AACpB,wBAAA,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;wBACzC,CAAC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AACrC,wBAAA,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI;AAC3B,wBAAA,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,eAAe;qBAC3C,CAAC;sBACF,IAAI,CAAC;AACH,wBAAA,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI;AACpB,wBAAA,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;wBACzC,CAAC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AACrC,wBAAA,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,eAAe;AAC3C,qBAAA,CAAC,EAGR,QAAA,EAAA,CAAAD,GAAA,CAAC,OAAO,EAAA,EACN,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,KAAK,EAAE,IAAI,EACX,SAAS,EAAE,eAAe,GAAG,cAAc,GAAG,OAAO,EAErD,QAAA,EAAAA,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,IAAI,EAAA,CAAQ,GACX,EAET,UAAU,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAC3BC,IACE,CAAAE,UAAA,EAAA,EAAA,QAAA,EAAA,CAAAH,GAAA,CAAC,YAAY,EAAA,EACX,OAAO,EAAE,IAAI,CAAC,KAAK,EACnB,SAAS,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,EACtC,KAAK,EAAC,SAAS,EACf,SAAS,EAAE,OAAO,CAAC,IAAI,EAAA,CACT,EACf,IAAI,GAAGA,GAAA,CAAC,UAAU,EAAA,EAAA,CAAG,GAAGA,GAAC,CAAA,UAAU,EAAG,EAAA,CAAA,CAAA,EAAA,CACtC,IACD,IAAI,CAAA,EAAA,CACC,EAEXA,GAAA,CAAC,QAAQ,EAAA,EAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAC,MAAM,EAAC,aAAa,EAC9C,IAAA,EAAA,QAAA,EAAAA,GAAA,CAAC,IAAI,EAAA,EACH,SAAS,EAAC,KAAK,EACf,cAAc,EAAA,IAAA,EACd,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,QAAQ,GAAG,EAAE,EAAA,QAAA,EAEtC,SAAS,EAAA,CACL,EACE,CAAA,CAAA,EAAA,CACV,EACH;AACJ,CAAC,CAAC;AACF,MAAM,oBAAoB,GAAG,CAC3B,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,OAAO,EACP,YAAY,KACV;AACF,IAAA,IACE,CAAC,QAAQ,KAAK,CAAA,CAAA,EAAI,OAAO,CAAA,CAAE,IAAI,QAAQ,KAAK,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA,CAAG;QAC1D,QAAQ,KAAK,YAAY,EACzB;AACA,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;SAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE;QAChC,IAAI;AACF,YAAA,IAAI,QAAQ,GAAG,IAAI,eAAe,CAAC,eAAe,CAAC,CAAC;AACpD,YAAA,IAAI,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;AACxD,gBAAA,OAAO,IAAI,CAAC;AACb,aAAA;AACF,SAAA;AAAC,QAAA,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACpB,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AAAM,SAAA,IACL,QAAQ,KAAK,CAAI,CAAA,EAAA,OAAO,CAAE,CAAA;AAC1B,QAAA,QAAQ,KAAK,GAAG;QAChB,OAAO,CAAC,QAAQ,CAAC;AACjB,QAAA,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC3B;AACA,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACf,CAAC;;AC9dD,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,KAAI;AAC7C,IAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACxB,QAAA,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;AACf,KAAA;AACD,IAAA,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KACnB,OAAO,CAAC,GAAG,CAAC;UACR,iBAAiB,IAAI;UACrB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,IAAI,CAAC,CAC5C,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAAG,CACnC,YAAoB,EACpB,QAAuB,EACvB,YAAuB,KACN;IACjB,IAAI,WAAW,GAAkB,EAAE,CAAC;AACpC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,IAAI,YAAY,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;YACzD,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC3C,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClD,IAAI,WAAW,GAAG,qBAAqB,CACrC,YAAY,EACZ,QAAQ,EACR,YAAY,CACb,CAAC;AACF,gBAAA,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1B,oBAAA,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;AACzD,iBAAA;AACF,aAAA;AAAM,iBAAA;gBACL,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAClC,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA,OAAO,WAAW,CAAC;AACrB,CAAC;;ACjBM,MAAM,oBAAoB,GAAsB,CAAC,EACtD,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,OAAO,EACP,KAAK,EACL,IAAI,EACJ,WAAW,GAAG,mBAAmB,EACjC,OAAO,EACP,YAAY,EACZ,QAAQ,GACT,KAAI;IACH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;AACzC,IAAA,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAK;AACpC,QAAA,OAAO,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE;YACtD,OAAO;YACP,gBAAgB;AACjB,SAAA,CAAC,CAAC;KACJ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChC,IAAA,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IAEnC,MAAM,MAAM,GAAG,IAAI,IACjBA,GAAA,CAAC,YAAY,EAAA,EAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EACvC,QAAA,EAAAA,GAAA,CAAC,mBAAmB,EAAA,EAAA,CAAG,EACV,CAAA,IACb,IAAI,CAAC;IACT,MAAM,WAAW,GAAG,MAAK;QACvB,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,gBAAgB,EAAE,CAAC;AACpB,SAAA;AACH,KAAC,CAAC;IACF,QACEC,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,CACtDA,KAAC,QAAQ,EAAA,EACP,MAAM,EACN,IAAA,EAAA,SAAS,EAAE,IAAI,CAAC;AACd,oBAAA,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI;AACpB,oBAAA,CAAC,OAAO,CAAC,gBAAgB,GAAG,IAAI;AAChC,oBAAA,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI;iBACzB,CAAC,EACF,OAAO,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,aAE1B,MAAM,EACPD,IAAC,YAAY,EAAA,EAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,EAAA,CAAI,IAChD,EAEXA,GAAA,CAAC,SAAS,EACR,EAAA,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAC1B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC1C,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,GAAG,mBAAmB,EACrE,SAAS,EAAE,UAAU,GACrB,EAEFA,GAAA,CAAC,UAAU,EAAA,EACT,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE;AACR,oBAAA,QAAQ,EAAE,gBAAgB;oBAC1B,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;iBACtC,EACD,QAAQ,EAAE,IAAI,EACd,iBAAiB,EAAE,IAAI,EACvB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAAA,CAClB,CACE,EAAA,CAAA,EACN;AACJ,CAAC;;ACOD,OAAO,CAAC,GAAG,CACT,cAAc,EACd,OAAO,EACP,MAAM,EACN,cAAc,EACd,kBAAkB,EAClB,OAAO,EACP,KAAK,EACL,MAAM,EACN,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,WAAW,EACX,QAAQ,EACR,MAAM,EACN,UAAU,EACV,MAAM,EACN,OAAO,EACP,eAAe,EACf,SAAS,EACT,OAAO,EACP,WAAW,EACX,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,MAAM,EACN,YAAY,EACZ,WAAW,EACX,SAAS,EACT,QAAQ,EACR,UAAU,EACV,WAAW,EACX,KAAK,EACL,QAAQ,EACR,SAAS,EACT,OAAO,EACP,aAAa,EACb,aAAa,EACb,aAAa,EACb,SAAS,EACT,aAAa,EACb,aAAa,EACb,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,MAAM,EACN,QAAQ,EACR,cAAc,EACd,aAAa,EACb,cAAc,EACd,YAAY,EACZ,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACJ;;AC9LM,MAAM,0BAA0B,GAAG,CACxC,QAA4B,EAC5B,IAAY,EACZ,QAAkB,EAClB,OAAe,EACf,MAAW,EACX,QAAkB,KAChB;AACF,IAAA,IAAI,QAAQ,GAAG,cAAc,CAC3B,QAAQ,CAAC,QAAQ,EACjB,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,MAAM,EACN,QAAQ,CACT,CAAC;;IAEF,IAAI,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;QACrC,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC;AACpC,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AAClD,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;AAClC,gBAAA,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;AAC5B,gBAAA,OAAO,CAAC,QAAQ,GAAG,eAAe,CAAC;;AAEpC,aAAA;AACF,SAAA;QACD,OAAO,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC5C,KAAC,CAAC,CAAC;IACH,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM;AACvB,QAAA,QAAQ,EAAE,UAAU;KACrB,CAAC;AACJ,CAAC,CAAC;AA0BF,MAAM,aAAa,GAAG,CAAC,YAAY,EAAE,cAAc,KAAI;AACrD,IAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;AAClE,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;IACD,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE;AAC1D,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;AACD,IAAA,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE;QAChC,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAClC,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AACF,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,WAAW,EAAE,aAAa,KAAI;AACjD,IAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AAC1D,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;AACD,IAAA,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;AAC7B,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;IACD,IAAI,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;AAC3C,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,WAAW,KAAI;AAC3C,IAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAC/D,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;AACD,IAAA,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;AAC3B,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;IACD,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AACtC,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE,WAAW,KAAI;AACpD,IAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAC/D,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;AACD,IAAA,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;AAC3B,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;IACD,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AACtC,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,YAAY,EAAE,cAAc,KAAI;AACrD,IAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;AAClE,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;IACD,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE;AAC1D,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;AAED,IAAA,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE;QAChC,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAClC,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AACF,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AACF,MAAM,eAAe,GAAG,CAAC,IAAI,KAAI;AAC/B,IAAA,IACE,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3D,QAAA,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EACnB;;AAEA,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACD,IAAA,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AACF,MAAM,cAAc,GAAG,CACrB,QAAuB,EACvB,IAAY,EACZ,QAAkB,EAClB,OAAe,EACf,MAAW,EACX,QAAkB,KACD;IACjB,IAAI,WAAW,GAAkB,EAAE,CAAC;AACpC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACxC,QAAA,IACE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YACpD,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;YACpD,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;AACtD,YAAA,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAC/D,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;AACtD,YAAA,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAC5B;YACA,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC3C,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AAClD,gBAAA,IAAI,WAAW,GAAG,cAAc,CAC9B,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,MAAM,EACN,QAAQ,CACT,CAAC;AACF,gBAAA,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1B,oBAAA,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;AACzD,iBAAA;AACF,aAAA;AAAM,iBAAA;AACL,gBAAA,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AACvE,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA,OAAO,WAAW,CAAC;AACrB,CAAC;;AC1KD;AACO,MAAM,OAAO,GAAG,CAAC,EACtB,SAAS,EACT,gBAAgB,EAChB,IAAI,EACJ,OAAO,EACP,YAAY,GAAG,WAAW,EAC1B,QAAQ,GACT,KAAI;IACH,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAM,EAAE,CAAC,CAAC;IAC5D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;AAEvD,IAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAK;QAC5B,IAAI,UAAU,GAAG,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC;AAC3D,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;AACvD,YAAA,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC;AAChD,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;KACF,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAK;QAC5B,IAAI,UAAU,GAAG,SAAS,EAAE,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;AACnD,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;AACvD,YAAA,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,YAAY,CAAC,CAAC;AAClD,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;KACF,EAAE,EAAE,CAAC,CAAC;IACP,IAAI,WAAW,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC;IACvD,IAAI,uBAAuB,GAAG,0BAA0B,CACtD,WAAW,EACX,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EACtB,QAAQ,EACR,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,MAAM,EAChB,QAAQ,CACT,CAAC;IAEF,IAAI,uBAAuB,GAAG,0BAA0B,CACtD;QACE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;AACrC,QAAA,QAAQ,EAAE,cAAc;AACzB,KAAA,EACD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EACtB,QAAQ,EACR,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,MAAM,EAChB,QAAQ,CACT,CAAC;AACF,IAAA,OAAO,IAAI,KAAK,QAAQ,IACtBA,GAAA,CAAC,oBAAoB,EAAA,EACnB,QAAQ,EAAE,uBAAuB,EACjC,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,IAAI,EAChB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAC,SAAS,EACf,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAAA,CAClB,IACA,IAAI,KAAK,eAAe,IAC1BA,GAAA,CAAC,oBAAoB,EAAA,EACnB,QAAQ,EAAE;YACR,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;AACrC,YAAA,QAAQ,EAAE,aAAa;SACxB,EACD,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,IAAI,EAChB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,aAAa,EAAE,KAAK,IAAI,SAAS,EACxC,IAAI,EAAC,OAAO,EACZ,WAAW,EAAE,aAAa,EAAE,WAAW,EACvC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,CAAA,KAEFA,GACE,CAAAG,UAAA,EAAA,EAAA,QAAA,EAAAH,GAAA,CAAC,UAAU,EACT,EAAA,QAAQ,EAAE,uBAAuB,EACjC,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,IAAI,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,IAAI,EACd,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAAA,CAClB,EACD,CAAA,CACJ,CAAC;AACJ,CAAC;;ACrFY,MAAA,cAAc,GAAkC,CAAC,KAAK,KAAI;AACrE,IAAA,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,QACEC,KAAC,MAAM,EAAA,EACL,OAAO,EAAC,WAAW,EACnB,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,IAAI,CACT,OAAO,CAAC,WAAW,EACnB,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC,gBAAgB,CACxC;SACF,EACD,IAAI,EAAE,KAAK,CAAC,IAAI,EAEhB,QAAA,EAAA,CAAAD,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,OAAO,CAAC,WAAW,EAAA,CAAQ,EAC3CA,GAAC,CAAA,OAAO,OAAK,KAAK,EAAA,CAAI,CACf,EAAA,CAAA,EACT;AACJ;;;;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/pages/auth/style.ts","../src/pages/auth/usernamePassword.tsx","../src/pages/auth/otpPopup.tsx","../src/pages/auth/verifyFinger.tsx","../src/pages/auth/api.ts","../src/pages/auth/biometric.ts","../src/pages/auth/utils.ts","../src/pages/auth/bankDetails.tsx","../src/pages/auth/passwordRotation.tsx","../src/pages/auth/authController.tsx","../src/pages/auth/forgotPasswordField.tsx","../src/pages/auth/forgotPassword.tsx","../src/pages/branchSelection/gridMetadata.ts","../src/pages/branchSelection/style.ts","../src/pages/branchSelection/branchSelectionGrid.tsx","../src/pages/appbar/style.ts","../src/pages/appbar/appBar.tsx","../src/pages/sidebar/style.ts","../src/pages/sidebar/reportMetaData.ts","../src/pages/sidebar/navigation/style.ts","../src/pages/sidebar/navigation/sideBarNavigation.tsx","../src/pages/sidebar/navigation/filterMetaData.ts","../src/pages/sidebar/navigation/searchViewNavigation.tsx","../src/pages/sidebar/icons.ts","../src/pages/sidebar/transformer.ts","../src/pages/sidebar/sideBar.tsx","../src/pages/sidebar/drawer.tsx"],"sourcesContent":["import { makeStyles } from \"@mui/styles\";\r\n\r\nexport const useStyles = makeStyles((theme: any) => ({\r\n wrapper: {\r\n minHeight: \"100vh\",\r\n boxShadow: \"0 3px 6px rgba(0,0,0,0.03)\",\r\n // background: \"#fff\",\r\n background: \"var(--white)\",\r\n },\r\n loginEmp: {\r\n background: \"#fff\",\r\n padding: theme.spacing(2, 4),\r\n display: \"flex\",\r\n maxWidth: \"400px\",\r\n margin: \"auto\",\r\n boxShadow: \"0 0 20px rgba(0,0,0,0.06)\",\r\n borderRadius: \"8px\",\r\n [theme.breakpoints.down(\"sm\")]: {\r\n width: \"100%\",\r\n },\r\n },\r\n formWrap: {\r\n marginTop: theme.spacing(2),\r\n },\r\n loginBtn: {\r\n minWidth: \"100% !important\",\r\n margin: theme.spacing(2, 0),\r\n fontSize: \"1rem\",\r\n padding: \"10px .75rem\",\r\n background: \"rgb(128,0,0)\",\r\n border: 0,\r\n color: \"#fff !important\",\r\n fontWeight: 600,\r\n letterSpacing: \"0.02857em\",\r\n boxShadow: \"none\",\r\n textTransform: \"capitalize\",\r\n alignSelf: \"flex-end\",\r\n \"&:hover\": {\r\n background: \"#fedad8\",\r\n boxShadow: \"none\",\r\n },\r\n },\r\n OTPTimer: {\r\n marginTop: \"10px\",\r\n color: theme.palette.primary.main,\r\n fontWeight: 600,\r\n },\r\n resendLink: {\r\n marginTop: \"10px\",\r\n cursor: \"pointer\",\r\n color: theme.palette.secondary.main,\r\n fontWeight: 600,\r\n fontSize: \"0.875 rem\",\r\n },\r\n logo: {\r\n marginBottom: theme.spacing(1),\r\n },\r\n\r\n loginLeft: {\r\n [theme.breakpoints.down(\"sm\")]: {\r\n display: \"none\",\r\n },\r\n },\r\n loginRight: {\r\n background: \"#fff\",\r\n padding: theme.spacing(2, 4),\r\n display: \"flex\",\r\n maxWidth: \"400px\",\r\n margin: \"auto\",\r\n boxShadow: \"0 0 20px rgba(0,0,0,0.06)\",\r\n borderRadius: \"8px\",\r\n [theme.breakpoints.down(\"sm\")]: {\r\n width: \"100%\",\r\n },\r\n \"& img\": {\r\n alignSelf: \"center\",\r\n },\r\n },\r\n\r\n loginImg: {},\r\n\r\n verifybutton: {\r\n alignSelf: \"center\",\r\n // marginBottom: \"10px\",\r\n // marginTop: \"10px\",\r\n padding: \"5px\",\r\n },\r\n otpButtons: {\r\n // padding: \"10px\",\r\n },\r\n\r\n divflex: {\r\n display: \"flex\",\r\n },\r\n otpinputpadding: {\r\n \"& input\": {\r\n marginRight: \"25px !important\",\r\n border: \"1.42444px solid var(--theme-color3)\",\r\n borderRadius: \"10px\",\r\n width: \"45px !important\",\r\n height: \"45px !important\",\r\n marginBottom: \"15px\",\r\n boxShadow: \"0px 5.69775px 11.3955px rgba(66, 99, 199, 0.16)\",\r\n },\r\n },\r\n ibtnvisible: {\r\n // padding: \"7px !important\",\r\n // alignItems: \"baseline\",\r\n marginBottom: \"15px\",\r\n },\r\n btnvisibleoff: {\r\n display: \"none\",\r\n },\r\n OTPalignName: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n // justifyContent: \"space-between\",\r\n marginBottom: \"12px\",\r\n color: \"#1C1C1C\",\r\n fonWeight: \"400\",\r\n fontSize: \"17px\",\r\n lineHeight: \"33px\",\r\n },\r\n resendOTPalign: {\r\n color: \"var(--theme-color3)\",\r\n fonWeight: \"400\",\r\n fontSize: \"17px\",\r\n lineHeight: \"33px\",\r\n margin: \"0 auto\",\r\n // marginTop: \"15px\",\r\n // display: \"block !important\",\r\n },\r\n resendbtnLink: {\r\n textDecoration: \"underline\",\r\n color: \"var(--theme-color3)\",\r\n cursor: \"pointer\",\r\n \"&:hover\": {\r\n textDecoration: \"underline\",\r\n color: \"var(--theme-color3)\",\r\n },\r\n },\r\n dialogTitleClass: {\r\n background: \"var(--primary-bg)\",\r\n padding: \"6px 15px !important\",\r\n margin: \"10px\",\r\n color: \"var(--white)\",\r\n borderRadius: \"4px\",\r\n \"& h2\": {\r\n fontWeight: \"500 !important\",\r\n },\r\n },\r\n lang_svg: {\r\n marginRight: \"10px\",\r\n width: \"22px\",\r\n height: \"22px\",\r\n },\r\n dialogContent: {\r\n padding: \"0px 15px\",\r\n \"& p\": {\r\n whiteSpace: \"pre-wrap\",\r\n color: \"black\",\r\n marginTop: \"8px\",\r\n marginBottom: \"6px\",\r\n },\r\n },\r\n button: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n flexDirection: \"column\",\r\n margin: \"6px\",\r\n background: \"var(--theme-color1)\",\r\n \"&:hover\": {\r\n background: \"var(--theme-color1) !important\",\r\n },\r\n },\r\n}));\r\n","import { GradientButton, TextField } from \"@acuteinfo/common-base\";\r\nimport { Fragment, useState, useEffect, useRef } from \"react\";\r\nimport Visibility from \"@mui/icons-material/Visibility\";\r\nimport VisibilityOff from \"@mui/icons-material/VisibilityOff\";\r\nimport { CircularProgress, IconButton, InputAdornment } from \"@mui/material\";\r\nimport { Container } from \"@mui/material\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { useTranslation } from \"react-i18next\";\r\nexport const UsernamePasswordField = ({\r\n classes,\r\n loginState,\r\n verifyUsernamePassword,\r\n forgotPasswordEndpoint,\r\n}) => {\r\n const [input, setInput] = useState({ userName: \"\", password: \"\" });\r\n const [showPasswordTime, setShowPasswordTime] = useState(0);\r\n const showPassword = Date.now() < showPasswordTime;\r\n const [, forceUpdate] = useState<any | null>();\r\n const timerRef = useRef<any>(null);\r\n const { t } = useTranslation();\r\n useEffect(() => {\r\n return () => clearTimeout(timerRef.current);\r\n }, []);\r\n const handleChange = (event) => {\r\n const name = event.target.name;\r\n const value = event.target.value;\r\n if (name === \"userName\" && value) {\r\n loginState.isUsernameError = false;\r\n }\r\n if (name === \"password\" && value) {\r\n loginState.isPasswordError = false;\r\n }\r\n\r\n setInput((values) => ({ ...values, [name]: value }));\r\n };\r\n const inputRef = useRef<any>(null);\r\n const inputPassRef = useRef<any>(null);\r\n const inputButtonRef = useRef<any>(null);\r\n\r\n useEffect(() => {\r\n let timeoutCd;\r\n if (loginState.isUsernameError) {\r\n timeoutCd = setTimeout(() => {\r\n inputRef?.current?.focus?.();\r\n }, 1000);\r\n } else if (loginState.isPasswordError) {\r\n timeoutCd = setTimeout(() => {\r\n inputPassRef?.current?.focus?.();\r\n }, 1000);\r\n }\r\n return () => {\r\n if (timeoutCd) {\r\n clearTimeout(timeoutCd);\r\n }\r\n };\r\n }, [loginState.isUsernameError, loginState.isPasswordError]);\r\n useEffect(() => {\r\n let timeoutCd;\r\n if (loginState?.otpmodelClose ?? false) {\r\n setInput((values) => ({ ...values, password: \"\" }));\r\n timeoutCd = setTimeout(() => {\r\n inputPassRef?.current?.focus?.();\r\n }, 1500);\r\n }\r\n return () => {\r\n if (timeoutCd) {\r\n clearTimeout(timeoutCd);\r\n }\r\n };\r\n }, [loginState.otpmodelClose]);\r\n\r\n return (\r\n <Fragment>\r\n <Container maxWidth=\"xs\">\r\n <Grid alignItems=\"center\" style={{ paddingTop: \"20px\" }}>\r\n <div\r\n style={{\r\n color: \"#000000 !important\",\r\n fontSize: \"30px\",\r\n fontWeight: \"600\",\r\n // fontFamily: \"Poppins\",\r\n alignItems: \"center\",\r\n fontStyle: \"normal\",\r\n lineHeight: \"150%\",\r\n }}\r\n >\r\n <h3>{t(\"SignIn\")}</h3>\r\n </div>\r\n <div\r\n className=\"\"\r\n style={{\r\n color: \"#949597\",\r\n fontSize: \"16px\",\r\n fontWeight: \"400\",\r\n // fontFamily: \"Poppins\",\r\n alignItems: \"center\",\r\n fontStyle: \"normal\",\r\n\r\n width: \"360px\",\r\n }}\r\n >\r\n {t(\"SignInWithUserIDandPassword\")}\r\n </div>\r\n <div className={classes.formWrap}>\r\n <TextField\r\n // variant=\"filled\"\r\n // color=\"secondary\"\r\n autoFocus={true}\r\n label={t(\"UserID\")}\r\n // placeholder=\"User ID\"\r\n placeholder={String(t(\"UserID\"))}\r\n style={{\r\n marginTop: \"10px\",\r\n marginBottom: \"17px\",\r\n }}\r\n fullWidth\r\n type={\"text\"}\r\n name=\"userName\"\r\n value={input.userName.trimStart() || \"\"}\r\n onChange={handleChange}\r\n error={loginState.isUsernameError}\r\n helperText={\r\n loginState.isUsernameError\r\n ? t(loginState.userMessageforusername)\r\n : \"\"\r\n }\r\n InputLabelProps={{ shrink: true }}\r\n disabled={loginState.loading}\r\n autoComplete=\"off\"\r\n ref={inputRef}\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n inputButtonRef?.current?.click?.();\r\n }\r\n }}\r\n inputProps={{\r\n maxLength: \"16\",\r\n }}\r\n />\r\n\r\n <div\r\n style={{\r\n display: \"flex\",\r\n flexDirection: \"row-reverse\",\r\n marginTop: \"8px\",\r\n }}\r\n >\r\n <TextField\r\n key=\"employee\"\r\n label={t(\"Password\")}\r\n // variant=\"filled\"\r\n // color=\"secondary\"\r\n\r\n placeholder={String(t(\"EnterPassword\"))}\r\n InputLabelProps={{\r\n shrink: true,\r\n }}\r\n fullWidth\r\n type={showPassword ? \"text\" : \"password\"}\r\n name=\"password\"\r\n value={input.password}\r\n onChange={handleChange}\r\n error={loginState.isPasswordError}\r\n helperText={\r\n loginState.isPasswordError\r\n ? t(loginState.userMessageforpassword)\r\n : \"\"\r\n }\r\n disabled={loginState.loading}\r\n ref={inputPassRef}\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n inputButtonRef?.current?.click?.();\r\n }\r\n }}\r\n InputProps={{\r\n endAdornment: (\r\n <InputAdornment position=\"end\">\r\n <IconButton\r\n aria-label=\"toggle password visibility\"\r\n onClick={() => {\r\n if (!showPassword) {\r\n setShowPasswordTime(Date.now() + 5000);\r\n timerRef.current = setTimeout(\r\n () => forceUpdate(Date.now()),\r\n 5000,\r\n );\r\n } else if (showPassword) setShowPasswordTime(0);\r\n }}\r\n onMouseDown={(e) => e.preventDefault()}\r\n disabled={loginState.loading}\r\n >\r\n {showPassword ? <Visibility /> : <VisibilityOff />}\r\n </IconButton>\r\n </InputAdornment>\r\n ),\r\n }}\r\n inputProps={{ maxLength: \"16\" }}\r\n />\r\n </div>\r\n <div style={{ marginTop: \"20px\", display: \"flex\" }}>\r\n <div style={{ flex: \"auto\", textAlign: \"end\" }}>\r\n <a\r\n href={forgotPasswordEndpoint ?? \"\"}\r\n style={{ color: \"var(--theme-color3)\" }}\r\n >\r\n {t(\"ForgotPassword\")}\r\n </a>\r\n </div>\r\n </div>\r\n <div style={{ marginTop: \"20px\", display: \"flex\" }}>\r\n <div\r\n style={{\r\n flex: \"auto\",\r\n textAlign: \"center\",\r\n marginTop: \"5px\",\r\n marginBottom: \"17px\",\r\n }}\r\n >\r\n <GradientButton\r\n style={{\r\n borderRadius: loginState.loading ? \"50%\" : \"10px\",\r\n height: loginState.loading ? \"40px\" : \"100%\",\r\n width: loginState.loading ? \"0px\" : \"100%\",\r\n minWidth: loginState.loading ? \"40px\" : \"80px\",\r\n }}\r\n fullWidth\r\n disabled={loginState.loading}\r\n onClick={() =>\r\n verifyUsernamePassword(\r\n (input.userName || \"\").toLowerCase(),\r\n input.password,\r\n )\r\n }\r\n ref={inputButtonRef}\r\n endicon={loginState.loading ? undefined : \"East\"}\r\n rotateIcon=\"scale(1.4) rotateX(360deg)\"\r\n >\r\n {loginState.loading ? (\r\n <CircularProgress size={25} thickness={4.6} />\r\n ) : (\r\n t(\"Next\")\r\n )}\r\n </GradientButton>\r\n </div>\r\n </div>\r\n </div>\r\n </Grid>\r\n </Container>\r\n </Fragment>\r\n );\r\n};\r\n","import { FormHelperText } from \"@mui/material\";\r\nimport { GradientButton } from \"@acuteinfo/common-base\";\r\nimport { Fragment, useState, useRef, useEffect } from \"react\";\r\nimport OTPInput, { ResendOTP } from \"otp-input-react\";\r\nimport Visibility from \"@mui/icons-material/Visibility\";\r\nimport VisibilityOff from \"@mui/icons-material/VisibilityOff\";\r\nimport { CircularProgress } from \"@mui/material\";\r\nimport { Container } from \"@mui/material\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport { Grid } from \"@mui/material\";\r\nimport clsx from \"clsx\";\r\nimport { useSnackbar } from \"notistack\";\r\nimport { useTranslation } from \"react-i18next\";\r\nexport const OTPModel = ({\r\n classes,\r\n OTPResendRequest,\r\n open,\r\n handleClose,\r\n loginState,\r\n VerifyOTP,\r\n OTPError,\r\n setOTPError,\r\n previousStep,\r\n setNewRequestID = (id) => {},\r\n otpresendCount = 0,\r\n resendFlag,\r\n}) => {\r\n const [OTP, setOTP] = useState(\"\");\r\n const [showPasswordTime, setShowPasswordTime] = useState(0);\r\n const showPassword = Date.now() < showPasswordTime;\r\n const [, forceUpdate] = useState<any | null>();\r\n const timerRef = useRef<any>(null);\r\n useEffect(() => {\r\n return () => clearTimeout(timerRef.current);\r\n }, []);\r\n const [btnshow, setbtnshow] = useState(false);\r\n const inputButtonRef = useRef<any>(null);\r\n const [resendotpLoading, setResendotpLoading] = useState(false);\r\n const { enqueueSnackbar } = useSnackbar();\r\n const { t } = useTranslation();\r\n // const renderButton = (buttonProps) => {\r\n // let { remainingTime, ...other } = buttonProps;\r\n // return resendotpLoading ? (\r\n // <a\r\n // remainingtime={remainingTime}\r\n // {...other}\r\n // className={clsx(\r\n // classes.resendbtnLink,\r\n // !btnshow && classes.btnvisibleoff\r\n // )}\r\n // >\r\n // {t(\"otp.ResendOTP\")}\r\n // </a>\r\n // ) : null;\r\n // };\r\n const renderButton = (buttonProps) => {\r\n let { remainingTime, ...other } = buttonProps;\r\n return resendotpLoading ? (\r\n <a\r\n className={clsx(\r\n classes.resendbtnLink,\r\n !btnshow && classes.btnvisibleoff,\r\n )}\r\n style={{ cursor: \"wait\" }}\r\n >\r\n {/* {t(\"otp.ResendOTP\")} {<CircularProgress size={20} color=\"secondary\" />} */}\r\n {t(\"otp.GetNewOTP\")} {<CircularProgress size={20} color=\"secondary\" />}\r\n </a>\r\n ) : (\r\n <a\r\n remainingtime={remainingTime}\r\n {...other}\r\n className={clsx(\r\n classes.resendbtnLink,\r\n !btnshow && classes.btnvisibleoff,\r\n )}\r\n >\r\n {/* {t(\"otp.ResendOTP\")} */}\r\n {t(\"otp.GetNewOTP\")}\r\n </a>\r\n );\r\n };\r\n\r\n const ClickEventHandler = () => {\r\n if (!Boolean(OTP) || OTP.length < 6) {\r\n setOTPError(\"otp.EnterOTPDigit\");\r\n } else {\r\n setOTPError(\"\");\r\n VerifyOTP(OTP);\r\n }\r\n };\r\n\r\n const handleResendClick = async () => {\r\n setResendotpLoading(true);\r\n const { status, data, message } = await OTPResendRequest(\r\n resendFlag === \"FORGET_PW\" || resendFlag === \"FORGT_TOTP\"\r\n ? loginState?.requestCd\r\n : loginState?.transactionID,\r\n loginState?.username,\r\n resendFlag,\r\n loginState.auth_data?.[0]?.company_ID,\r\n loginState.auth_data?.[0]?.branch_cd,\r\n );\r\n setResendotpLoading(false);\r\n if (status === \"0\") {\r\n setNewRequestID(data?.TRAN_CD);\r\n setbtnshow(false);\r\n enqueueSnackbar(message, { variant: \"success\" });\r\n } else {\r\n enqueueSnackbar(message, { variant: \"error\" });\r\n }\r\n };\r\n const handleCloseEvent = () => {\r\n setOTPError(\"\");\r\n setOTP(\"\");\r\n handleClose(\"\");\r\n };\r\n const renderTime = (remainingtime) => {\r\n if (parseInt(remainingtime) === 0) {\r\n setTimeout(() => {\r\n setbtnshow(true);\r\n }, 700);\r\n }\r\n return (\r\n <span className={clsx(btnshow && classes.btnvisibleoff)}>\r\n {t(\"otp.OtpExpired\")} {remainingtime} {t(\"otp.second\")}\r\n {/* {t(\"otp.ValidFor\")} {remainingtime} */}\r\n </span>\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n if (loginState?.otpmodelClose ?? false) {\r\n handleCloseEvent();\r\n }\r\n }, [loginState.otpmodelClose]);\r\n return (\r\n <Fragment>\r\n <Container maxWidth=\"sm\">\r\n <Grid alignItems=\"center\" marginTop={\"4em\"}>\r\n <div\r\n // className={classes.formWrap}\r\n style={\r\n {\r\n // marginRight: \"25px\",\r\n // width: \"100%\",\r\n // position: \"relative\",\r\n // right: \"42px\",\r\n // bottom: \"13px\",\r\n }\r\n }\r\n >\r\n <div\r\n style={{\r\n color: \"#000000\",\r\n fontSize: \"30px\",\r\n fontWeight: \"600\",\r\n // fontFamily: \"Poppins\",\r\n alignItems: \"center\",\r\n fontStyle: \"normal\",\r\n lineHeight: \"150%\",\r\n marginBottom: \"10px\",\r\n }}\r\n >\r\n {t(\"otp.OTPAuthentication\")}\r\n </div>\r\n <div\r\n style={{\r\n color: \"#949597\",\r\n fontSize: \"16px\",\r\n fontWeight: \"400\",\r\n alignItems: \"center\",\r\n fontStyle: \"normal\",\r\n lineHeight: \"33px\",\r\n }}\r\n >\r\n {t(\"otp.EnterOTP\")}\r\n </div>\r\n {/* <div\r\n style={{\r\n color: \"#949597\",\r\n fontSize: \"16px\",\r\n fontWeight: \"400\",\r\n alignItems: \"center\",\r\n fontStyle: \"normal\",\r\n lineHeight: \"33px\",\r\n }}\r\n >\r\n {t(\"otp.GenerateNewOTP\")}\r\n </div> */}\r\n\r\n <div className={classes.OTPalignName}>\r\n {t(\"otp.Hello\")}{\" \"}\r\n {loginState?.username\r\n ? loginState.username.charAt(0).toUpperCase() +\r\n loginState.username.slice(1)\r\n : null}\r\n <ResendOTP\r\n // onResendClick={() => setbtnshow(false)}\r\n onResendClick={handleResendClick}\r\n // onTimerComplete={() => setbtnshow(true)}\r\n renderButton={renderButton}\r\n renderTime={renderTime}\r\n maxTime={loginState?.otpValidFor ?? 60}\r\n className={classes.resendOTPalign}\r\n />\r\n </div>\r\n <div\r\n className={classes.divflex}\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n inputButtonRef?.current?.click?.();\r\n }\r\n }}\r\n >\r\n <OTPInput\r\n value={OTP}\r\n onChange={setOTP}\r\n autoFocus\r\n OTPLength={6}\r\n otpType=\"number\"\r\n disabled={false}\r\n secure={!showPassword}\r\n className={classes.otpinputpadding}\r\n />\r\n <IconButton\r\n aria-label=\"toggle password visibility\"\r\n onClick={() => {\r\n if (!showPassword) {\r\n setShowPasswordTime(Date.now() + 5000);\r\n timerRef.current = setTimeout(\r\n () => forceUpdate(Date.now()),\r\n 5000,\r\n );\r\n } else if (showPassword) setShowPasswordTime(0);\r\n }}\r\n onMouseDown={(e) => e.preventDefault()}\r\n disabled={loginState.otploading}\r\n className={classes.ibtnvisible}\r\n >\r\n {showPassword ? <Visibility /> : <VisibilityOff />}\r\n </IconButton>\r\n </div>\r\n {Boolean(OTPError) ? (\r\n <FormHelperText style={{ color: \"red\" }}>\r\n {OTPError}\r\n </FormHelperText>\r\n ) : null}\r\n <div\r\n style={{\r\n display: \"flex\",\r\n gap: \"10px\",\r\n margin: \"42px 0 0 42px\",\r\n width: \"60%\",\r\n }}\r\n >\r\n <GradientButton\r\n // fullWidth\r\n disabled={loginState.otploading}\r\n onClick={() => {\r\n previousStep(false, \"\");\r\n }}\r\n className={classes.otpButtons}\r\n textColor={\"var(--theme-color3)\"}\r\n sx={{\r\n border: \"var(--theme-color3)1px solid\",\r\n minWidth: \"50%\",\r\n background: \"var(--white)\",\r\n borderRadius: \"10px\",\r\n \"&:hover\": {\r\n background: \"var(--white) !important\",\r\n },\r\n }}\r\n // customstyle = {{color : \"var(--theme-color3) !important\"}}\r\n starticon={\"West\"}\r\n rotateIcon=\"scale(1.4) rotateX(360deg)\"\r\n >\r\n {t(\"otp.Back\")}\r\n </GradientButton>\r\n <GradientButton\r\n style={{\r\n borderRadius: loginState.loading ? \"50%\" : \"10px\",\r\n height: loginState.loading ? \"40px\" : \"100%\",\r\n width: loginState.loading ? \"0px\" : \"100%\",\r\n minWidth: loginState.loading ? \"40px\" : \"80px\",\r\n }}\r\n fullWidth\r\n disabled={loginState.loading}\r\n onClick={ClickEventHandler}\r\n ref={inputButtonRef}\r\n className={classes.otpButtons}\r\n endicon={loginState.loading ? undefined : \"TaskAlt\"}\r\n rotateIcon=\"scale(1.4)\"\r\n >\r\n {loginState.loading ? (\r\n <CircularProgress size={25} thickness={4.6} />\r\n ) : (\r\n t(\"otp.VerifyOTP\")\r\n )}\r\n </GradientButton>\r\n </div>\r\n </div>\r\n </Grid>\r\n </Container>\r\n </Fragment>\r\n );\r\n};\r\n\r\nexport const OTPModelForm = ({\r\n classes,\r\n OTPResendRequest,\r\n handleClose,\r\n loginState,\r\n VerifyOTP,\r\n OTPError,\r\n setOTPError,\r\n resendFlag,\r\n setNewRequestID = (id) => {},\r\n otpresendCount = 0,\r\n}) => {\r\n const [OTP, setOTP] = useState(\"\");\r\n const [showPasswordTime, setShowPasswordTime] = useState(0);\r\n const showPassword = Date.now() < showPasswordTime;\r\n const [, forceUpdate] = useState<any | null>();\r\n const timerRef = useRef<any>(null);\r\n useEffect(() => {\r\n return () => clearTimeout(timerRef.current);\r\n }, []);\r\n const [btnshow, setbtnshow] = useState(false);\r\n const [resendotpLoading, setResendotpLoading] = useState(false);\r\n const inputButtonRef = useRef<any>(null);\r\n const { enqueueSnackbar } = useSnackbar();\r\n const { t } = useTranslation();\r\n const renderButton = (buttonProps) => {\r\n let { remainingTime, ...other } = buttonProps;\r\n return resendotpLoading ? (\r\n <a\r\n className={clsx(\r\n classes.resendbtnLink,\r\n !btnshow && classes.btnvisibleoff,\r\n )}\r\n style={{ cursor: \"wait\" }}\r\n >\r\n {/* {t(\"otp.ResendOTP\")} {<CircularProgress size={20} color=\"secondary\" />} */}\r\n {t(\"otp.GetNewOTP\")} {<CircularProgress size={20} color=\"secondary\" />}\r\n </a>\r\n ) : (\r\n <a\r\n remainingtime={remainingTime}\r\n {...other}\r\n className={clsx(\r\n classes.resendbtnLink,\r\n !btnshow && classes.btnvisibleoff,\r\n )}\r\n >\r\n {/* {t(\"otp.ResendOTP\")} */}\r\n {t(\"otp.GetNewOTP\")}\r\n </a>\r\n );\r\n };\r\n const ClickEventHandler = () => {\r\n if (!Boolean(OTP) || OTP.length < 6) {\r\n setOTPError(\"otp.EnterOTPDigit\");\r\n } else {\r\n setOTPError(\"\");\r\n VerifyOTP(OTP);\r\n }\r\n };\r\n const handleResendClick = async () => {\r\n setResendotpLoading(true);\r\n const { status, data, message } = await OTPResendRequest(\r\n resendFlag === \"FORGET_PW\"\r\n ? loginState?.requestCd\r\n : loginState?.transactionID,\r\n loginState?.username,\r\n resendFlag,\r\n loginState?.company_ID,\r\n loginState?.branch_cd,\r\n );\r\n setResendotpLoading(false);\r\n if (status === \"0\") {\r\n setNewRequestID(data?.TRAN_CD);\r\n setbtnshow(false);\r\n enqueueSnackbar(message, { variant: \"success\" });\r\n } else {\r\n enqueueSnackbar(message, { variant: \"error\" });\r\n }\r\n };\r\n const handleCloseEvent = () => {\r\n setOTPError(\"\");\r\n setOTP(\"\");\r\n handleClose();\r\n };\r\n const renderTime = (remainingtime) => {\r\n if (parseInt(remainingtime) === 0) {\r\n setTimeout(() => {\r\n setbtnshow(true);\r\n }, 700);\r\n }\r\n return (\r\n <span className={clsx(btnshow && classes.btnvisibleoff)}>\r\n {t(\"otp.OtpExpired\")} {remainingtime}\r\n </span>\r\n );\r\n };\r\n useEffect(() => {\r\n if (loginState?.otpmodelClose ?? false) {\r\n handleCloseEvent();\r\n }\r\n }, [loginState.otpmodelClose]);\r\n\r\n return (\r\n <Fragment>\r\n <Grid alignItems=\"center\">\r\n <div>\r\n <div\r\n style={{\r\n color: \"#000000\",\r\n fontSize: \"30px\",\r\n fontWeight: \"600\",\r\n // fontFamily: \"Poppins\",\r\n alignItems: \"center\",\r\n fontStyle: \"normal\",\r\n lineHeight: \"150%\",\r\n marginBottom: \"10px\",\r\n }}\r\n >\r\n {t(\"otp.OTPAuthentication\")}\r\n </div>\r\n {/* <div\r\n style={{\r\n color: \"#949597\",\r\n fontSize: \"16px\",\r\n fontWeight: \"400\",\r\n alignItems: \"center\",\r\n lineHeight: \"33px\",\r\n }}\r\n >\r\n {t(\"otp.GenerateNewOTP\")}\r\n </div> */}\r\n <div className={classes.OTPalignName}>\r\n {t(\"otp.Hello\")}{\" \"}\r\n {loginState?.username\r\n ? loginState.username.charAt(0).toUpperCase() +\r\n loginState.username.slice(1)\r\n : null}\r\n {loginState.otploading ||\r\n otpresendCount >= 3 ||\r\n loginState?.auth_type === \"TOTP\" ? null : (\r\n <ResendOTP\r\n onResendClick={handleResendClick}\r\n // onTimerComplete={() => setbtnshow(true)}\r\n renderButton={renderButton}\r\n renderTime={renderTime}\r\n maxTime={loginState?.otpValidFor ?? 60}\r\n className={classes.resendOTPalign}\r\n />\r\n )}\r\n </div>\r\n <div\r\n className={classes.divflex}\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n inputButtonRef?.current?.click?.();\r\n }\r\n }}\r\n >\r\n <OTPInput\r\n value={OTP}\r\n onChange={setOTP}\r\n autoFocus\r\n OTPLength={6}\r\n otpType=\"number\"\r\n disabled={false}\r\n secure={!showPassword}\r\n className={classes.otpinputpadding}\r\n />\r\n\r\n {/* <IconButton\r\n aria-label=\"toggle password visibility\"\r\n // onClick={() => {\r\n // if (!showPassword) {\r\n // setShowPasswordTime(Date.now() + 5000);\r\n // timerRef.current = setTimeout(\r\n // () => forceUpdate(Date.now()),\r\n // 5000\r\n // );\r\n // } else if (showPassword) setShowPasswordTime(0);\r\n // }}\r\n onMouseDown={(e) => e.preventDefault()}\r\n disabled={loginState.otploading}\r\n className={classes.ibtnvisible}\r\n >\r\n {showPassword ? <VisibilityOffIcon /> : <VisibilityIcon />}\r\n </IconButton> */}\r\n <IconButton\r\n aria-label=\"toggle password visibility\"\r\n onClick={() => {\r\n if (!showPassword) {\r\n setShowPasswordTime(Date.now() + 5000);\r\n timerRef.current = setTimeout(\r\n () => forceUpdate(Date.now()),\r\n 5000,\r\n );\r\n } else if (showPassword) setShowPasswordTime(0);\r\n }}\r\n onMouseDown={(e) => e.preventDefault()}\r\n disabled={loginState.otploading}\r\n className={classes.ibtnvisible}\r\n >\r\n {showPassword ? <Visibility /> : <VisibilityOff />}\r\n </IconButton>\r\n </div>\r\n {Boolean(OTPError) ? (\r\n <FormHelperText style={{ color: \"red\" }}>{OTPError}</FormHelperText>\r\n ) : null}\r\n {loginState?.auth_type === \"TOTP\" ? (\r\n <div style={{ flex: \"auto\" }}>\r\n <a href=\"forgot-totp\" style={{ color: \"var(--theme-color3)\" }}>\r\n Forgot TOTP\r\n </a>\r\n </div>\r\n ) : (\r\n <></>\r\n )}\r\n\r\n <div\r\n style={{\r\n display: \"flex\",\r\n gap: \"10px\",\r\n margin: \"42px 0 0 42px\",\r\n width: \"60%\",\r\n }}\r\n >\r\n <GradientButton\r\n fullWidth\r\n disabled={loginState.otploading}\r\n onClick={handleCloseEvent}\r\n className={classes.otpButtons}\r\n starticon={\"West\"}\r\n textColor={\"var(--white) !important\"}\r\n sx={{\r\n \"&:disabled\": {\r\n color: \"var(-theme-color3) !important\",\r\n },\r\n }}\r\n rotateIcon=\"scale(1.4) rotateX(360deg)\"\r\n style={{\r\n // border: \"var(--theme-color3) 1px solid\",\r\n // color: \"var(--white)\",\r\n // background: \"var(--white)\",\r\n borderRadius: \"10px\",\r\n minWidth: \"48%\",\r\n }}\r\n >\r\n {t(\"otp.Back\")}\r\n </GradientButton>\r\n <GradientButton\r\n style={{\r\n borderRadius: loginState.otploading ? \"50%\" : \"10px\",\r\n height: loginState.otploading ? \"40px\" : \"100%\",\r\n width: loginState.otploading ? \"0px\" : \"100%\",\r\n minWidth: loginState.otploading ? \"40px\" : \"80px\",\r\n }}\r\n // fullWidth\r\n disabled={loginState.loading}\r\n onClick={ClickEventHandler}\r\n ref={inputButtonRef}\r\n className={classes.otpButtons}\r\n >\r\n {loginState.otploading ? (\r\n <CircularProgress size={25} thickness={4.6} />\r\n ) : (\r\n t(\"otp.VerifyOTP\")\r\n )}\r\n </GradientButton>\r\n </div>\r\n </div>\r\n </Grid>\r\n </Fragment>\r\n );\r\n};\r\n","import { Fragment } from \"react\";\r\nimport { GradientButton } from \"@acuteinfo/common-base\";\r\nimport FingerprintSharpIcon from \"@mui/icons-material/FingerprintSharp\";\r\nimport { CircularProgress, Container, Typography } from \"@mui/material\";\r\nimport { Grid } from \"@mui/material\";\r\nimport \"./verify.css\";\r\nimport { useTranslation } from \"react-i18next\";\r\nexport const VerifyFinger = ({\r\n classes,\r\n loginState,\r\n verifyFinger,\r\n previousStep,\r\n}) => {\r\n const { t } = useTranslation();\r\n return (\r\n <Fragment>\r\n <Container maxWidth=\"xs\">\r\n <Grid alignItems=\"center\">\r\n <div\r\n style={{\r\n marginRight: \"25px\",\r\n width: \"102%\",\r\n // marginBottom: \"55px\",\r\n }}\r\n >\r\n <br />\r\n <div\r\n style={{\r\n color: \"#000000\",\r\n fontSize: \"34px\",\r\n fontWeight: \"600\",\r\n // fontFamily: \"Poppins\",\r\n alignItems: \"center\",\r\n fontStyle: \"normal\",\r\n lineHeight: \"150%\",\r\n marginBottom: \"10px\",\r\n }}\r\n >\r\n {t(\"Biometric.BiometrixAuthentication\")}\r\n </div>\r\n <div\r\n style={{\r\n color: \"#949597\",\r\n fontSize: \"18px\",\r\n fontWeight: \"400\",\r\n // fontFamily: \"Poppins\",\r\n alignItems: \"center\",\r\n fontStyle: \"normal\",\r\n lineHeight: \"33px\",\r\n // marginBottom: \"10px\",\r\n }}\r\n >\r\n {t(\"Biometric.Kindlyplaceyoufinger\")}\r\n </div>\r\n <br />\r\n <Typography variant=\"h5\" style={{ color: \"#000000\" }}>\r\n {t(\"otp.Hello\")} {\"\"}\r\n {` ${\r\n loginState?.username\r\n ? loginState.username.charAt(0).toUpperCase() +\r\n loginState.username.slice(1)\r\n : null\r\n }`}\r\n </Typography>\r\n <br />\r\n <div\r\n className={\r\n loginState?.isBiometricError\r\n ? classes.eFingerUi\r\n : classes.fingerUi\r\n }\r\n >\r\n <div className=\"spinner-wrap\">\r\n <FingerprintSharpIcon\r\n sx={{\r\n fontSize: \"80px\",\r\n opacity: \"0.4\",\r\n borderRadius: \"50%\",\r\n display: \"flex\",\r\n margin: \"0 auto\",\r\n \"&:after\": {\r\n borderBottom: \"2px solid #26A456\",\r\n },\r\n }}\r\n className={\r\n loginState?.isBiometricError ? classes.FingerIcon : null\r\n }\r\n color={loginState?.isBiometricError ? \"error\" : \"inherit\"}\r\n />\r\n {loginState?.isScanning ? (\r\n <>\r\n <div\r\n className=\"spinner-item\"\r\n style={{\r\n border: loginState?.isScanning\r\n ? \"1px solid #949597\"\r\n : \" 1px solid red\",\r\n }}\r\n ></div>\r\n <div\r\n className=\"spinner-item spinner-item--2\"\r\n style={{\r\n border: loginState?.isScanning\r\n ? \"1px solid #949597\"\r\n : \"1px solid red\",\r\n }}\r\n ></div>\r\n <div\r\n className=\"spinner-item spinner-item--3\"\r\n style={{\r\n border: loginState?.isScanning\r\n ? \"1px solid #949597\"\r\n : \"1px solid red\",\r\n }}\r\n ></div>\r\n </>\r\n ) : null}\r\n </div>\r\n </div>\r\n\r\n <div className={classes.biometric}>\r\n <div style={{ marginTop: \"50px\" }}>\r\n <div className={loginState.isScanning ? \"progress\" : \"hide\"}>\r\n <div\r\n className=\"bar\"\r\n style={{ width: loginState.isScanning ? \"30%\" : \"0%\" }}\r\n ></div>\r\n </div>\r\n <h3\r\n style={{\r\n display: \"flex\",\r\n marginTop: \"20px\",\r\n justifyContent: \"space-around\",\r\n color: loginState?.isBiometricError\r\n ? \"rgb(255 0 0 / 65%)\"\r\n : \"inherit\",\r\n }}\r\n >\r\n {loginState?.isBiometricError\r\n ? loginState?.userMessage\r\n : loginState?.loading\r\n ? t(\"Biometric.Loading\")\r\n : loginState?.isScanning\r\n ? t(\"Biometric.Scanning\")\r\n : null}\r\n </h3>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n style={{\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n margin: \"42px 0 0 42px\",\r\n // margin: \"38px 0 0 0\",\r\n gap: \"10px\",\r\n }}\r\n >\r\n <GradientButton\r\n fullWidth\r\n disabled={loginState.loading}\r\n onClick={() => {\r\n previousStep(false, \"\");\r\n }}\r\n className={classes.otpButtons}\r\n starticon={\"West\"}\r\n rotateIcon=\"scale(1.4) rotateX(360deg)\"\r\n textColor={\"var(--theme-color3) !important\"}\r\n style={{\r\n border: \"var(--theme-color3)1px solid\",\r\n color: \"var(--theme-color3)\",\r\n background: \"var(--white)\",\r\n borderRadius: \"10px\",\r\n minWidth: \"48%\",\r\n }}\r\n >\r\n {t(\"otp.Back\")}\r\n </GradientButton>\r\n <GradientButton\r\n style={{\r\n borderRadius: loginState.loading ? \"50%\" : \"10px\",\r\n height: loginState.loading ? \"40px\" : \"100%\",\r\n width: loginState.loading ? \"0px\" : \"100%\",\r\n minWidth: loginState.loading ? \"40px\" : \"80px\",\r\n // width: loginState.loading ? \"0px\" : \"90%\",\r\n // minWidth: loginState.loading ? \"40px\" : \"80px\",\r\n }}\r\n disabled={loginState.loading}\r\n onKeyDown={(e) => e.keyCode === 13 && verifyFinger}\r\n onClick={verifyFinger}\r\n className={classes.otpButtons}\r\n >\r\n {loginState.loading ? (\r\n <CircularProgress\r\n size={25}\r\n thickness={4.6}\r\n style={{ color: \"#fff\" }}\r\n />\r\n ) : (\r\n t(\"Biometric.Verify\")\r\n )}\r\n </GradientButton>\r\n </div>\r\n </Grid>\r\n </Container>\r\n </Fragment>\r\n );\r\n};\r\n","export const capture = async () => {\r\n var MFS100Request = {\r\n Quality: 60,\r\n TimeOut: 10,\r\n };\r\n var jsondata = JSON.stringify(MFS100Request);\r\n const rawResponse = await fetch(\"http://localhost:8004/mfs100/capture\", {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: jsondata,\r\n });\r\n const content = await rawResponse.json();\r\n return content;\r\n};\r\n","import CryptoJS from \"crypto-js\";\r\n\r\nconst decryptString = (encryptString: string) => {\r\n var secretKey = \"SUPERACUTE@MKS\";\r\n var keyBytes = CryptoJS.PBKDF2(secretKey, \"Ivan Medvedev\", {\r\n keySize: 48 / 4,\r\n iterations: 1000,\r\n });\r\n console.log(keyBytes.toString());\r\n\r\n // take first 32 bytes as key (like in C# code)\r\n var key = new CryptoJS.lib.WordArray.init(keyBytes.words, 32);\r\n\r\n // // skip first 32 bytes and take next 16 bytes as IV\r\n var iv = new CryptoJS.lib.WordArray.init(keyBytes.words.splice(32 / 4), 16);\r\n\r\n // console.log(key.toString());\r\n //console.log(encryptString, CryptoJS.enc.Base64.parse(encryptString));\r\n\r\n var dec = CryptoJS.AES.decrypt(\r\n {\r\n ciphertext: CryptoJS.enc.Base64.parse(\r\n CryptoJS.enc.Base64.parse(encryptString).toString(CryptoJS.enc.Utf8),\r\n ),\r\n },\r\n key,\r\n {\r\n iv: iv,\r\n },\r\n );\r\n console.log(\"CryptoJS.AES.decrypt\", dec);\r\n return dec.toString(CryptoJS.enc.Utf8).split(String.fromCharCode(0)).join(\"\");\r\n return dec.toString();\r\n};\r\n\r\nexport const matchFinger = async (rows: any, captureFinger: string) => {\r\n var promise = new Promise((resolve, reject) => {\r\n //console.log(\"matchFinger\", rows, typeof rows);\r\n if (typeof rows === \"string\") {\r\n rows = JSON.parse(rows);\r\n }\r\n rows.forEach(async (element: any, i: number) => {\r\n try {\r\n var galleryTemplate = decryptString(element.IMG_DATA);\r\n var MFS100Request = {\r\n GalleryTemplate: galleryTemplate,\r\n ProbTemplate: captureFinger,\r\n BioType: \"Iso\",\r\n };\r\n var jsondata = JSON.stringify(MFS100Request);\r\n await fetch(\"http://localhost:8004/mfs100/verify\", {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: jsondata,\r\n })\r\n .then((response: any) => response.json())\r\n .then((response: any) => {\r\n if (response?.ErrorCode === \"0\" && response[\"Status\"]) {\r\n resolve({\r\n status: true,\r\n errorCode: \"0\",\r\n errorMessage: \"\",\r\n isError: false,\r\n sr_cd: element.SR_CD,\r\n });\r\n return;\r\n }\r\n\r\n if (rows.length === i + 1) {\r\n resolve({\r\n status: false,\r\n errorCode: response.ErrorCode,\r\n errorMessage: response.ErrorMessage,\r\n isError: false,\r\n });\r\n return;\r\n }\r\n })\r\n .catch((reason) => {\r\n resolve({\r\n status: false,\r\n errorCode: \"999\",\r\n errorMessage: reason,\r\n isError: true,\r\n });\r\n });\r\n } catch (err) {\r\n console.log(err);\r\n resolve({\r\n status: false,\r\n errorCode: \"999\",\r\n errorMessage: \"Something went wrong!\",\r\n isError: true,\r\n });\r\n }\r\n });\r\n });\r\n return promise;\r\n};\r\n","export const isBase64 = (str = \"\"): boolean => {\r\n if (typeof str !== \"string\") {\r\n return false;\r\n }\r\n const base64Regex =\r\n /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;\r\n\r\n return base64Regex.test(str);\r\n};\r\n","import { useEffect, useState, useRef, useMemo } from \"react\";\r\nimport { useStyles } from \"./style\";\r\nimport { Grid } from \"@mui/material\";\r\nimport { Container } from \"@mui/material\";\r\nimport { utilFunction } from \"@acuteinfo/common-base\";\r\nimport { isBase64 } from \"./utils\";\r\n\r\nexport const BankDetails = ({ bannerDetails }: any) => {\r\n const [loginImageURL, setLoginImageURL] = useState<any | null>(null);\r\n const urlObj = useRef<any>(null);\r\n const classes = useStyles();\r\n\r\n const banner = useMemo(() => bannerDetails, []);\r\n\r\n useEffect(() => {\r\n if (Boolean(banner?.bannerImg)) {\r\n if (isBase64(banner?.bannerImg)) {\r\n let blob = utilFunction.base64toBlob(banner?.bannerImg);\r\n urlObj.current =\r\n typeof blob === \"object\" && Boolean(blob)\r\n ? URL.createObjectURL(blob)\r\n : \"\";\r\n setLoginImageURL(urlObj.current);\r\n } else {\r\n setLoginImageURL(banner?.bannerImg);\r\n }\r\n }\r\n }, [banner]);\r\n return (\r\n <>\r\n {/* <Grid container style={{ height: \"100vh\", overflow: \"hidden\" }}> */}\r\n <Grid item xs={6} md={6} lg={6} className={classes.loginLeft}>\r\n <Grid item xs={12} md={12} lg={12} style={{ height: \"70vh\" }}>\r\n <img\r\n alt=\"\"\r\n style={{\r\n width: \"100%\",\r\n height: \"100%\",\r\n objectFit: \"cover\",\r\n objectPosition: \"center\",\r\n }}\r\n src={Boolean(loginImageURL) ? loginImageURL : \"\"}\r\n />\r\n </Grid>\r\n <Grid\r\n item\r\n xs={12}\r\n md={12}\r\n lg={12}\r\n style={{\r\n height: \"30vh\",\r\n background: \"var(--primary-bg)\",\r\n }}\r\n >\r\n <Container maxWidth=\"sm\">\r\n <div\r\n className=\"text\"\r\n style={{\r\n color: \"white\",\r\n fontStyle: \"normal\",\r\n fontSize: \"35px\",\r\n paddingTop: \"30px\",\r\n }}\r\n >\r\n {banner?.bannerTitle ?? \"\"}\r\n <span style={{ marginLeft: \"8px\", fontWeight: \"900\" }}>\r\n {/* EasyBank */}\r\n </span>\r\n </div>\r\n <div\r\n style={{\r\n lineHeight: \"27px\",\r\n fontSize: \"15px\",\r\n fontWeight: \"500px\",\r\n letterSpacing: \"0.02em\",\r\n color: \"#ebedee\",\r\n maxWidth: \"464px\",\r\n }}\r\n >\r\n {banner?.bannerNote ?? \"\"}\r\n </div>\r\n </Container>\r\n </Grid>\r\n </Grid>\r\n {/* </Grid> */}\r\n </>\r\n );\r\n};\r\n","import {\r\n TextField,\r\n GradientButton,\r\n utilFunction,\r\n} from \"@acuteinfo/common-base\";\r\n\r\nimport {\r\n CircularProgress,\r\n Container,\r\n FormHelperText,\r\n Grid,\r\n} from \"@mui/material\";\r\nimport { Fragment, useRef, useState } from \"react\";\r\n// import { ResetPassword } from \"./api\";\r\nimport { useSnackbar } from \"notistack\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nexport const PasswordRotation = ({\r\n classes,\r\n ResetPassword,\r\n open,\r\n username,\r\n accessToken,\r\n tokenType,\r\n handleClose,\r\n}) => {\r\n const inputButtonRef = useRef<any>(null);\r\n const { enqueueSnackbar } = useSnackbar();\r\n const { t } = useTranslation();\r\n const [input, setInput] = useState({\r\n userName: username,\r\n oldpassword: \"\",\r\n password: \"\",\r\n confirmpassword: \"\",\r\n });\r\n const [pwdReset, setPasswordReset] = useState({\r\n isError: false,\r\n errorMessage: \"\",\r\n isLoading: false,\r\n isoldPwdError: false,\r\n oldpassworderror: \"\",\r\n isnewpwdError: false,\r\n newpassworderror: \"\",\r\n isconfirmnewpwdError: false,\r\n confirmnewpassworderror: \"\",\r\n });\r\n\r\n const handleCloseEvent = () => {\r\n handleClose(\"\");\r\n };\r\n const ClickEventHandler = async () => {\r\n let isError = false;\r\n let setPwdData = {\r\n isError: false,\r\n errorMessage: \"\",\r\n isLoading: false,\r\n isoldPwdError: false,\r\n oldpassworderror: \"\",\r\n isnewpwdError: false,\r\n newpassworderror: \"\",\r\n isconfirmnewpwdError: false,\r\n confirmnewpassworderror: \"\",\r\n };\r\n if (!Boolean(input.oldpassword)) {\r\n setPwdData.isoldPwdError = true;\r\n setPwdData.oldpassworderror = \"Current Password is required.\";\r\n isError = true;\r\n }\r\n\r\n let pwdData = utilFunction.ValidatePassword(input.password);\r\n if (Boolean(pwdData)) {\r\n setPwdData.isnewpwdError = true;\r\n setPwdData.newpassworderror = pwdData;\r\n isError = true;\r\n }\r\n if (\r\n Boolean(input.oldpassword) &&\r\n Boolean(input.password) &&\r\n input.oldpassword === input.password\r\n ) {\r\n setPwdData.isnewpwdError = true;\r\n setPwdData.newpassworderror =\r\n \"The new password cannot be the same as the old password\";\r\n isError = true;\r\n }\r\n if (!Boolean(input.confirmpassword)) {\r\n setPwdData.isconfirmnewpwdError = true;\r\n setPwdData.confirmnewpassworderror = \"Confirm new password is required.\";\r\n isError = true;\r\n } else if (\r\n Boolean(input.password) &&\r\n input.password !== input.confirmpassword\r\n ) {\r\n setPwdData.isconfirmnewpwdError = true;\r\n setPwdData.confirmnewpassworderror =\r\n \"New Password and Confirm Password did not matched\";\r\n isError = true;\r\n }\r\n if (isError) {\r\n setPasswordReset(setPwdData);\r\n } else {\r\n setPasswordReset((values) => ({ ...values, isLoading: true }));\r\n let response = await ResetPassword(\r\n input.userName,\r\n input.oldpassword,\r\n input.password,\r\n accessToken,\r\n tokenType,\r\n );\r\n setPasswordReset((values) => ({ ...values, isLoading: false }));\r\n if (response.status === \"0\") {\r\n enqueueSnackbar(\"Password successfully changed.\", {\r\n variant: \"success\",\r\n });\r\n handleClose(\"0\");\r\n } else {\r\n setPasswordReset((values) => ({\r\n ...values,\r\n isError: true,\r\n errorMessage: response.message,\r\n }));\r\n }\r\n }\r\n };\r\n const handleChange = (event) => {\r\n const name = event.target.name;\r\n let value = event.target.value;\r\n if (name === \"oldpassword\" && Boolean(value)) {\r\n setPasswordReset((values) => ({ ...values, isoldPwdError: false }));\r\n } else if (name === \"password\" && Boolean(value)) {\r\n setPasswordReset((values) => ({ ...values, isnewpwdError: false }));\r\n } else if (name === \"confirmpassword\" && Boolean(value)) {\r\n setPasswordReset((values) => ({\r\n ...values,\r\n isconfirmnewpwdError: false,\r\n }));\r\n }\r\n setInput((values) => ({ ...values, [name]: value }));\r\n };\r\n\r\n return (\r\n <Fragment>\r\n <Container maxWidth=\"xs\">\r\n <Grid alignItems=\"center\">\r\n <div\r\n style={{\r\n color: \"#000000 !important\",\r\n fontSize: \"30px\",\r\n fontWeight: \"600\",\r\n alignItems: \"center\",\r\n fontStyle: \"normal\",\r\n }}\r\n >\r\n <h3>Password Rotation</h3>\r\n </div>\r\n <div\r\n className=\"\"\r\n style={{\r\n color: \"#949597\",\r\n fontSize: \"18px\",\r\n fontWeight: \"400\",\r\n alignItems: \"center\",\r\n fontStyle: \"normal\",\r\n width: \"360px\",\r\n }}\r\n >\r\n Please Verify OTP\r\n </div>\r\n <div className={classes.formWrap}>\r\n <TextField\r\n label={\"User ID\"}\r\n placeholder=\"Enter User ID\"\r\n fullWidth\r\n type={\"text\"}\r\n name=\"userName\"\r\n value={input.userName || \"\"}\r\n onChange={handleChange}\r\n InputLabelProps={{ shrink: true }}\r\n disabled={true}\r\n autoComplete=\"off\"\r\n inputProps={{ maxLength: 16 }}\r\n style={{ paddingBottom: \"8px\" }}\r\n />\r\n <TextField\r\n autoFocus={true}\r\n label={\"Current Password\"}\r\n placeholder=\"Enter Current Password\"\r\n fullWidth\r\n type={\"password\"}\r\n name=\"oldpassword\"\r\n value={input.oldpassword || \"\"}\r\n onChange={handleChange}\r\n error={pwdReset.isoldPwdError}\r\n helperText={\r\n pwdReset.isoldPwdError ? t(pwdReset.oldpassworderror) : \"\"\r\n }\r\n InputLabelProps={{ shrink: true }}\r\n disabled={pwdReset.isLoading}\r\n autoComplete=\"off\"\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n inputButtonRef?.current?.click?.();\r\n }\r\n }}\r\n inputProps={{ maxLength: 16 }}\r\n style={{ paddingBottom: \"8px\" }}\r\n />\r\n <TextField\r\n label={\"New Password\"}\r\n placeholder=\"Enter New Password\"\r\n fullWidth\r\n type={\"password\"}\r\n name=\"password\"\r\n value={input.password || \"\"}\r\n onChange={handleChange}\r\n error={pwdReset.isnewpwdError}\r\n helperText={\r\n pwdReset.isnewpwdError ? t(pwdReset.newpassworderror) : \"\"\r\n }\r\n InputLabelProps={{ shrink: true }}\r\n disabled={pwdReset.isLoading}\r\n autoComplete=\"off\"\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n inputButtonRef?.current?.click?.();\r\n }\r\n }}\r\n inputProps={{ maxLength: 16 }}\r\n style={{ paddingBottom: \"8px\" }}\r\n />\r\n <TextField\r\n label={\"Confirm New Password\"}\r\n placeholder=\"Enter confirm new password\"\r\n fullWidth\r\n type={\"password\"}\r\n name=\"confirmpassword\"\r\n value={input.confirmpassword || \"\"}\r\n onChange={handleChange}\r\n error={pwdReset.isconfirmnewpwdError}\r\n helperText={\r\n pwdReset.isconfirmnewpwdError\r\n ? t(pwdReset.confirmnewpassworderror)\r\n : \"\"\r\n }\r\n InputLabelProps={{ shrink: true }}\r\n disabled={pwdReset.isLoading}\r\n autoComplete=\"off\"\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n inputButtonRef?.current?.click?.();\r\n }\r\n }}\r\n inputProps={{ maxLength: 16 }}\r\n style={{ paddingBottom: \"8px\" }}\r\n />\r\n {pwdReset.isError ? (\r\n <FormHelperText style={{ color: \"red\" }}>\r\n {pwdReset.errorMessage}\r\n </FormHelperText>\r\n ) : null}\r\n </div>\r\n <div\r\n style={{\r\n display: \"flex\",\r\n gap: \"10px\",\r\n margin: \"20px 0 0 10px\",\r\n width: \"94%\",\r\n }}\r\n >\r\n <GradientButton\r\n fullWidth\r\n disabled={pwdReset.isLoading}\r\n onClick={handleCloseEvent}\r\n className={classes.otpButtons}\r\n style={{\r\n border: \"var(--theme-color3)1px solid\",\r\n color: \"var(--theme-color3)\",\r\n // pebbackground: \"var(--white)\",\r\n borderRadius: \"10px\",\r\n }}\r\n >\r\n Back\r\n </GradientButton>\r\n <GradientButton\r\n style={{\r\n borderRadius: pwdReset.isLoading ? \"50%\" : \"10px\",\r\n height: pwdReset.isLoading ? \"40px\" : \"100%\",\r\n width: pwdReset.isLoading ? \"0px\" : \"100%\",\r\n minWidth: pwdReset.isLoading ? \"40px\" : \"80px\",\r\n }}\r\n fullWidth\r\n disabled={pwdReset.isLoading}\r\n onClick={ClickEventHandler}\r\n ref={inputButtonRef}\r\n className={classes.otpButtons}\r\n >\r\n {pwdReset.isLoading ? (\r\n <CircularProgress size={25} thickness={4.6} />\r\n ) : (\r\n \"Update\"\r\n )}\r\n </GradientButton>\r\n </div>\r\n </Grid>\r\n </Container>\r\n </Fragment>\r\n );\r\n};\r\n","import { utilFunction } from \"@acuteinfo/common-base\";\r\n\r\nimport { useReducer, useEffect, useState, useRef } from \"react\";\r\nimport { useStyles } from \"./style\";\r\nimport { UsernamePasswordField } from \"./usernamePassword\";\r\nimport { OTPModel, OTPModelForm } from \"./otpPopup\";\r\nimport { VerifyFinger } from \"./verifyFinger\";\r\nimport * as API from \"./api\";\r\nimport { matchFinger } from \"./biometric\";\r\nimport { Grid, Tooltip } from \"@mui/material\";\r\nimport { BankDetails } from \"./bankDetails\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { PasswordRotation } from \"./passwordRotation\";\r\nimport { isBase64 } from \"./utils\";\r\nimport {\r\n OTPResendRequestFnType,\r\n ResetPasswordFnType,\r\n VerifyOtpFnType,\r\n VerifyUsernamePassFnType,\r\n} from \"pages/types\";\r\n\r\nconst inititalState = {\r\n username: \"\",\r\n firstName: \"\",\r\n lastName: \"\",\r\n loading: false,\r\n otploading: false,\r\n isError: false,\r\n isUsernameError: false,\r\n isPasswordError: false,\r\n userMessage: \"\",\r\n OtpuserMessage: \"\",\r\n userMessageforpassword: \"\",\r\n userMessageforusername: \"\",\r\n currentFlow: \"username\",\r\n transactionID: \"\",\r\n access_token: \"\",\r\n token_type: \"\",\r\n otpmodelClose: false,\r\n authType: \"\",\r\n isScanning: false,\r\n auth_data: [],\r\n company_ID: \"\",\r\n Branch_CD: \"\",\r\n auth_type: \"O\",\r\n otpValidFor: 60,\r\n};\r\n\r\nconst reducer = (state, action) => {\r\n switch (action.type) {\r\n case \"inititateUserFingerVerification\":\r\n case \"inititateOTPVerification\": {\r\n return {\r\n ...state,\r\n loading: true,\r\n isError: false,\r\n isUsernameError: false,\r\n isPasswordError: false,\r\n isOTPError: false,\r\n isBiometricError: false,\r\n userMessage: \"\",\r\n };\r\n }\r\n case \"inititateUserFingerScanner\": {\r\n return { ...state, isScanning: true, isBiometricError: false };\r\n }\r\n case \"usernameandpasswordrequired\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n isError: true,\r\n isUsernameError: true,\r\n isPasswordError: true,\r\n otploading: false,\r\n userMessage: action?.payload?.error,\r\n userMessageforpassword: action?.payload?.errorPassword,\r\n userMessageforusername: action?.payload?.errorUsername,\r\n username: \"\",\r\n transactionID: \"\",\r\n };\r\n }\r\n case \"passwordVerificationFailure\":\r\n return {\r\n ...state,\r\n loading: false,\r\n isError: true,\r\n isUsernameError: false,\r\n isPasswordError: true,\r\n otploading: false,\r\n userMessage: action?.payload?.error,\r\n userMessageforpassword: action?.payload?.errorPassword,\r\n username: \"\",\r\n transactionID: \"\",\r\n };\r\n case \"usernameVerificationFailure\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n isError: true,\r\n isUsernameError: true,\r\n isPasswordError: false,\r\n otploading: false,\r\n userMessage: action?.payload?.error,\r\n userMessageforusername: action?.payload?.errorUsername,\r\n username: \"\",\r\n transactionID: \"\",\r\n };\r\n }\r\n case \"inititatePasswordVerification\": {\r\n return {\r\n ...state,\r\n loading: true,\r\n isError: false,\r\n isUsernameError: false,\r\n isPasswordError: false,\r\n otploading: false,\r\n userMessage: \"\",\r\n userMessageforusername: \"\",\r\n userMessageforpassword: \"\",\r\n username: \"\",\r\n transactionID: \"\",\r\n access_token: \"\",\r\n };\r\n }\r\n case \"passwordRotation\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n username: action?.payload?.username,\r\n access_token: action?.payload?.access_token,\r\n token_type: action?.payload?.token_type,\r\n };\r\n }\r\n case \"passwordRotationsuccess\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n otpmodelClose: Boolean(action?.payload?.otpmodelclose),\r\n };\r\n }\r\n case \"passwordVerificationSuccessful\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n otploading: false,\r\n transactionID: action?.payload?.transactionID,\r\n username: action?.payload?.username,\r\n auth_type: action?.payload?.auth_type,\r\n OtpuserMessage: \"\",\r\n access_token: action?.payload?.access_token,\r\n token_type: action?.payload?.token_type,\r\n otpmodelClose: false,\r\n currentFlow: \"OTP\",\r\n authType: action?.payload?.authType,\r\n auth_data: action?.payload?.auth_data,\r\n otpValidFor: action?.payload?.otpValidFor,\r\n company_ID: action?.paylod?.company_ID,\r\n };\r\n }\r\n case \"inititatebiometricVerification\": {\r\n return {\r\n ...state,\r\n loading: true,\r\n otploading: true,\r\n OtpuserMessage: \"\",\r\n otpmodelClose: false,\r\n };\r\n }\r\n case \"biometricVerificationFailure\":\r\n return {\r\n ...state,\r\n loading: false,\r\n isError: true,\r\n isBiometricError: true,\r\n userMessage: action?.payload?.error,\r\n isScanning: false,\r\n };\r\n case \"biometricVerificationSuccessful\":\r\n return {\r\n ...state,\r\n loading: false,\r\n isError: false,\r\n isBiometricError: false,\r\n state: action.payload,\r\n isScanning: false,\r\n };\r\n case \"OTPVerificationComplate\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n otploading: false,\r\n OtpuserMessage: \"\",\r\n };\r\n }\r\n case \"OTPVerificationFailed\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n otploading: false,\r\n OtpuserMessage: action?.payload?.error,\r\n otpmodelClose: Boolean(action?.payload?.otpmodelclose),\r\n };\r\n }\r\n case \"OTPResendSuccess\": {\r\n return {\r\n ...state,\r\n transactionID: action?.payload?.transactionID,\r\n };\r\n }\r\n case \"backToUsernameVerification\": {\r\n return {\r\n ...inititalState,\r\n isPasswordError: action?.payload?.isError,\r\n userMessageforpassword: action?.payload?.errorMessage,\r\n };\r\n }\r\n\r\n default: {\r\n return state;\r\n }\r\n }\r\n};\r\n\r\ninterface AuthControllerProps {\r\n bannerDetails: {\r\n bannerImg: string;\r\n bannerTitle: string;\r\n bannerNote: string;\r\n };\r\n logoUrl?: string;\r\n logoTitle?: string;\r\n loginFn: Function;\r\n veirfyUsernameandPassword: VerifyUsernamePassFnType;\r\n verifyOTP: VerifyOtpFnType;\r\n OTPResendRequest: OTPResendRequestFnType;\r\n ResetPassword: ResetPasswordFnType;\r\n LanguageComponent?: React.ComponentType<any>;\r\n forgotPasswordEndpoint: string;\r\n}\r\n\r\nexport const AuthControllerWrapper: React.FC<AuthControllerProps> = ({\r\n bannerDetails,\r\n logoUrl,\r\n logoTitle,\r\n loginFn,\r\n veirfyUsernameandPassword,\r\n verifyOTP,\r\n OTPResendRequest,\r\n ResetPassword,\r\n LanguageComponent,\r\n forgotPasswordEndpoint,\r\n}) => {\r\n const classes = useStyles();\r\n const [loginState, dispath] = useReducer(reducer, inititalState);\r\n const [openpwdreset, setOpenPwdReset] = useState(false);\r\n const failureCount = useRef(0);\r\n const [dashboardLogoURL, setDashboardLogoURL] = useState<any | null>(null);\r\n const urlObj = useRef<any>(null);\r\n const { t } = useTranslation();\r\n const otpResendRef = useRef(1);\r\n\r\n useEffect(() => {\r\n if (Boolean(logoUrl)) {\r\n if (isBase64(logoUrl)) {\r\n let blob = utilFunction.base64toBlob(logoUrl);\r\n urlObj.current =\r\n typeof blob === \"object\" && Boolean(blob)\r\n ? URL.createObjectURL(blob)\r\n : \"\";\r\n setDashboardLogoURL(urlObj.current);\r\n } else {\r\n setDashboardLogoURL(logoUrl);\r\n }\r\n }\r\n }, [logoUrl]);\r\n\r\n const verifyUsernamePassword = async (username, password) => {\r\n if (Boolean(username) && Boolean(password)) {\r\n dispath({ type: \"inititatePasswordVerification\" });\r\n try {\r\n const {\r\n status = \"\",\r\n data = null,\r\n message = \"\",\r\n responseType = \"\",\r\n access_token = null,\r\n } = await veirfyUsernameandPassword(username, password);\r\n\r\n if (status === \"0\" && responseType === \"S\") {\r\n dispath({\r\n type: \"passwordRotation\",\r\n payload: {\r\n username: username,\r\n access_token: access_token?.access_token || \"\",\r\n token_type: access_token?.token_type || \"\",\r\n },\r\n });\r\n setOpenPwdReset(true);\r\n } else if (status === \"0\") {\r\n dispath({\r\n type: \"passwordVerificationSuccessful\",\r\n payload: {\r\n transactionID: data?.REQUEST_CD,\r\n username: username,\r\n access_token: access_token?.access_token,\r\n token_type: access_token?.token_type,\r\n authType: data?.AUTH_TYPE,\r\n auth_data: [\r\n {\r\n company_ID: data?.BASE_COMP_CD ?? \"\",\r\n branch_cd: data?.BASE_BRANCH_CD,\r\n },\r\n ],\r\n otpValidFor: data?.OTP_VALID,\r\n },\r\n });\r\n } else {\r\n dispath({\r\n type: \"passwordVerificationFailure\",\r\n payload: { error: message, errorPassword: message },\r\n });\r\n }\r\n } catch (err) {\r\n throw new Error(\r\n \"Error occurred while verifying username and password: \" + err,\r\n );\r\n }\r\n } else if (!Boolean(username) && !Boolean(password)) {\r\n dispath({\r\n type: \"usernameandpasswordrequired\",\r\n payload: {\r\n error: \"UsernamenandPasswordisRequired\",\r\n errorUsername: \"UsernameisRequired\",\r\n errorPassword: \"PasswordisRequired\",\r\n },\r\n });\r\n } else if (!Boolean(username)) {\r\n dispath({\r\n type: \"usernameVerificationFailure\",\r\n payload: {\r\n error: \"UsernameisRequired\",\r\n errorUsername: \"UsernameisRequired\",\r\n },\r\n });\r\n } else {\r\n dispath({\r\n type: \"passwordVerificationFailure\",\r\n payload: {\r\n error: \"PasswordisRequired\",\r\n errorPassword: \"PasswordisRequired\",\r\n },\r\n });\r\n }\r\n };\r\n\r\n const VerifyOTP = async (OTPNumber) => {\r\n if (Boolean(OTPNumber) && OTPNumber.toString().length === 6) {\r\n dispath({ type: \"inititateOTPVerification\" });\r\n const { status, data, message } = await verifyOTP(\r\n loginState.transactionID,\r\n // loginState.app_transactionId,\r\n loginState.username,\r\n OTPNumber,\r\n loginState.access_token,\r\n loginState.token_type,\r\n loginState.authType,\r\n );\r\n if (status === \"0\") {\r\n // try {\r\n // audio.play();\r\n // } catch (error) {\r\n // console.log(error);\r\n // }\r\n dispath({ type: \"OTPVerificationComplate\" });\r\n loginFn(data);\r\n } else if (status === \"999\") {\r\n dispath({\r\n type: \"OTPVerificationFailed\",\r\n payload: { error: message, otpmodelclose: true },\r\n });\r\n // enqueueSnackbar(message, { variant: \"error\" });\r\n } else {\r\n dispath({\r\n type: \"OTPVerificationFailed\",\r\n payload: { error: message, otpmodelclose: false },\r\n });\r\n }\r\n } else {\r\n dispath({\r\n type: \"OTPVerificationFailed\",\r\n payload: { error: \"Please enter a 6 digit OTP number\" },\r\n });\r\n }\r\n };\r\n\r\n const handlePasswordRotationClose = (flag) => {\r\n if (flag === \"0\") {\r\n dispath({\r\n type: \"passwordRotationsuccess\",\r\n payload: { otpmodelclose: true },\r\n });\r\n }\r\n setOpenPwdReset(false);\r\n };\r\n const changeUserName = (isError = false, errorMessage = \"\") => {\r\n dispath({\r\n type: \"backToUsernameVerification\",\r\n payload: {\r\n isError: isError,\r\n errorMessage: errorMessage,\r\n },\r\n });\r\n };\r\n const verifyFinger = async () => {\r\n try {\r\n dispath({ type: \"inititateUserFingerScanner\" });\r\n const fingerResponse = await API.capture();\r\n if (fingerResponse?.ErrorCode === \"0\") {\r\n dispath({ type: \"inititateUserFingerVerification\" });\r\n const promise: any = await matchFinger(\r\n loginState.auth_data,\r\n fingerResponse.IsoTemplate,\r\n );\r\n if (promise.isError) {\r\n dispath({\r\n type: \"biometricVerificationFailure\",\r\n payload: {\r\n error: promise?.errorMessage ?? \"Something went wrong.\",\r\n },\r\n });\r\n } else {\r\n const { status, data, message } = await verifyOTP(\r\n loginState.transactionID,\r\n loginState.username,\r\n String(promise?.sr_cd ?? \"0\"),\r\n loginState.access_token,\r\n loginState.token_type,\r\n loginState.authType,\r\n promise.status ? \"Y\" : \"N\",\r\n );\r\n if (status === \"0\" && promise.status) {\r\n dispath({ type: \"biometricVerificationSuccessful\" });\r\n loginFn(data);\r\n } else if (status === \"0\" && !promise.status) {\r\n failureCount.current = failureCount.current + 1;\r\n dispath({\r\n type: \"biometricVerificationFailure\",\r\n payload: {\r\n error: \"Finger Not Match.Please Try Again\",\r\n },\r\n });\r\n if (failureCount.current >= 3)\r\n changeUserName(true, \"Finger Not Match.Please Try Again\");\r\n } else if (status === \"99\") {\r\n dispath({\r\n type: \"biometricVerificationFailure\",\r\n payload: {\r\n error: message ?? \"Finger Not Match.Please Try Again\",\r\n },\r\n });\r\n } else if (status === \"999\") {\r\n dispath({\r\n type: \"biometricVerificationFailure\",\r\n payload: {\r\n error: message ?? \"Finger Not Match.Please Try Again\",\r\n },\r\n });\r\n changeUserName(\r\n true,\r\n message ?? \"Finger Not Match.Please Try Again\",\r\n );\r\n } else {\r\n dispath({\r\n type: \"biometricVerificationFailure\",\r\n payload: {\r\n error: message ?? \"Finger Not Match.Please Try Again\",\r\n },\r\n });\r\n }\r\n }\r\n } else {\r\n dispath({\r\n type: \"biometricVerificationFailure\",\r\n payload: {\r\n error:\r\n fingerResponse?.ErrorMessage ?? t(\"Biometric.MFS100NotFound\"),\r\n },\r\n });\r\n }\r\n } catch (e: any) {\r\n dispath({\r\n type: \"biometricVerificationFailure\",\r\n payload: {\r\n error: e?.message ?? t(\"Biometric.Unknownerroroccured\"),\r\n },\r\n });\r\n }\r\n };\r\n return (\r\n <>\r\n <Grid container style={{ height: \"100vh\", overflow: \"hidden\" }}>\r\n <BankDetails bannerDetails={bannerDetails} />\r\n <Grid item xs={11} md={6} lg={6} sm={6}>\r\n {logoUrl ? (\r\n <Grid\r\n container\r\n direction=\"row\"\r\n justifyContent=\"flex-end\"\r\n alignItems=\"center\"\r\n padding={\"25px\"}\r\n maxWidth={\"210px\"}\r\n ml={\"auto\"}\r\n >\r\n <Tooltip describeChild title={logoTitle ?? \"\"}>\r\n <img\r\n src={Boolean(dashboardLogoURL) ? dashboardLogoURL : \"\"}\r\n alt=\"Logo\"\r\n width={\"100%\"}\r\n />\r\n </Tooltip>\r\n </Grid>\r\n ) : null}\r\n\r\n {LanguageComponent ? (\r\n <Grid\r\n container\r\n direction=\"row\"\r\n justifyContent=\"flex-end\"\r\n alignItems=\"center\"\r\n padding={\"0 35px 0 0\"}\r\n maxWidth={\"180px\"}\r\n ml={\"auto\"}\r\n >\r\n <LanguageComponent />\r\n </Grid>\r\n ) : null}\r\n\r\n {openpwdreset ? (\r\n <PasswordRotation\r\n classes={classes}\r\n ResetPassword={ResetPassword}\r\n open={openpwdreset}\r\n username={loginState.username}\r\n accessToken={loginState.access_token}\r\n tokenType={loginState.token_type}\r\n handleClose={handlePasswordRotationClose}\r\n />\r\n ) : (\r\n <>\r\n {loginState.currentFlow === \"username\" ? (\r\n <UsernamePasswordField\r\n key=\"username\"\r\n classes={classes}\r\n loginState={loginState}\r\n verifyUsernamePassword={verifyUsernamePassword}\r\n forgotPasswordEndpoint={forgotPasswordEndpoint}\r\n />\r\n ) : (\r\n <>\r\n {loginState.authType === \"OTP\" ? (\r\n <OTPModel\r\n key=\"otp\"\r\n OTPResendRequest={OTPResendRequest}\r\n classes={classes}\r\n loginState={loginState}\r\n VerifyOTP={VerifyOTP}\r\n previousStep={changeUserName}\r\n OTPError={t(loginState?.OtpuserMessage ?? \"\")}\r\n setOTPError={(error) => {\r\n dispath({\r\n type: \"OTPVerificationFailed\",\r\n payload: { error: error },\r\n });\r\n }}\r\n open={true}\r\n handleClose={changeUserName}\r\n resendFlag={\"LOGIN\"}\r\n setNewRequestID={(newRequestID) => {\r\n dispath({\r\n type: \"OTPResendSuccess\",\r\n payload: { transactionID: newRequestID },\r\n });\r\n otpResendRef.current = otpResendRef.current + 1;\r\n }}\r\n otpresendCount={otpResendRef.current}\r\n />\r\n ) : loginState.authType === \"TOTP\" ? (\r\n <>\r\n {\" \"}\r\n <OTPModelForm\r\n key={\"OTPForm\"}\r\n OTPResendRequest={OTPResendRequest}\r\n classes={classes}\r\n // handleClose={() => {}}\r\n handleClose={changeUserName}\r\n loginState={loginState}\r\n VerifyOTP={VerifyOTP}\r\n OTPError={loginState?.OtpuserMessage ?? \"\"}\r\n setOTPError={(error) => {\r\n dispath({\r\n type: \"OTPVerificationFailed\",\r\n payload: { error: error },\r\n });\r\n }}\r\n resendFlag={\"LOGIN\"}\r\n setNewRequestID={(newRequestID) => {\r\n dispath({\r\n type: \"OTPResendSuccess\",\r\n payload: { transactionID: newRequestID },\r\n });\r\n otpResendRef.current = otpResendRef.current + 1;\r\n }}\r\n otpresendCount={otpResendRef.current}\r\n />\r\n </>\r\n ) : (\r\n <VerifyFinger\r\n key=\"biometric\"\r\n classes={classes}\r\n loginState={loginState}\r\n verifyFinger={verifyFinger}\r\n previousStep={changeUserName}\r\n />\r\n )}\r\n </>\r\n )}\r\n </>\r\n )}\r\n </Grid>\r\n </Grid>\r\n </>\r\n );\r\n};\r\n","import { TextField, GradientButton } from \"@acuteinfo/common-base\";\r\n\r\nimport { Fragment, useState, useEffect, useRef } from \"react\";\r\nimport {\r\n CircularProgress,\r\n FormHelperText,\r\n IconButton,\r\n InputAdornment,\r\n} from \"@mui/material\";\r\nimport Visibility from \"@mui/icons-material/Visibility\";\r\nimport VisibilityOff from \"@mui/icons-material/VisibilityOff\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nexport const ForgotPasswordFields = ({\r\n classes,\r\n loginState,\r\n onSubmit,\r\n navigate,\r\n loginPageEndpoint,\r\n}) => {\r\n const [input, setInput] = useState({\r\n userName: loginState.workingState === 1 ? loginState?.username : \"\",\r\n mobileno: \"\",\r\n password: \"\",\r\n confirmpassword: \"\",\r\n });\r\n const inputRef = useRef<any>(null);\r\n const inputPassRef = useRef<any>(null);\r\n const inputButtonRef = useRef<any>(null);\r\n const [showPasswordTime, setShowPasswordTime] = useState(0);\r\n const [showConfirmPasswordTime, setShowConfirmPasswordTime] = useState(0);\r\n const showPassword = Date.now() < showPasswordTime;\r\n const showConfirmPassword = Date.now() < showConfirmPasswordTime;\r\n const [, forceUpdate] = useState<any | null>();\r\n const timerRef = useRef<any>(null);\r\n\r\n useEffect(() => {\r\n return () => clearTimeout(timerRef.current);\r\n }, []);\r\n // const navigate = useNavigate();\r\n const { t } = useTranslation();\r\n const handleChange = (event) => {\r\n const name = event.target.name;\r\n let value = event.target.value;\r\n if (name === \"userName\" && value) {\r\n loginState.isUsernameError = false;\r\n }\r\n if (name === \"mobileno\" && value) {\r\n value = value.replace(/\\D/g, \"\");\r\n if (Boolean(value)) {\r\n loginState.isMobileError = false;\r\n }\r\n }\r\n setInput((values) => ({ ...values, [name]: value }));\r\n };\r\n useEffect(() => {\r\n if (loginState.workingState === 1) {\r\n setTimeout(() => {\r\n inputPassRef?.current?.focus?.();\r\n }, 2000);\r\n }\r\n }, [loginState.workingState]);\r\n return (\r\n <Fragment>\r\n <div className={classes.formWrap}>\r\n <TextField\r\n autoFocus={true}\r\n label={t(\"UserID\")}\r\n placeholder={String(t(\"UserID\"))}\r\n fullWidth\r\n type={\"text\"}\r\n name=\"userName\"\r\n value={input.userName || \"\"}\r\n onChange={handleChange}\r\n error={loginState.isUsernameError}\r\n helperText={\r\n loginState.isUsernameError\r\n ? t(loginState.userMessageforusername)\r\n : \"\"\r\n }\r\n InputLabelProps={{ shrink: true }}\r\n disabled={\r\n loginState.loading\r\n ? true\r\n : loginState.workingState === 0\r\n ? false\r\n : true\r\n }\r\n autoComplete=\"off\"\r\n ref={inputRef}\r\n inputProps={{ maxLength: 16 }}\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n inputButtonRef?.current?.click?.();\r\n }\r\n }}\r\n style={{ paddingBottom: \"8px\" }}\r\n />\r\n {loginState.workingState === 0 ? (\r\n <TextField\r\n label={t(\"MobileNo\")}\r\n placeholder=\"Enter Mobile No.\"\r\n // placeholder={String(t(\"EnterMobileNo\"))}\r\n fullWidth\r\n type={\"text\"}\r\n name=\"mobileno\"\r\n value={input.mobileno || \"\"}\r\n onChange={handleChange}\r\n error={loginState.isMobileError}\r\n helperText={\r\n loginState.isMobileError\r\n ? t(loginState.userMessageforMobileno)\r\n : \"\"\r\n }\r\n InputLabelProps={{ shrink: true }}\r\n disabled={\r\n loginState.loading\r\n ? true\r\n : loginState.workingState === 0\r\n ? false\r\n : true\r\n }\r\n autoComplete=\"off\"\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n inputButtonRef?.current?.click?.();\r\n }\r\n }}\r\n inputProps={{ maxLength: 13 }}\r\n style={{ paddingBottom: \"8px\" }}\r\n />\r\n ) : null}\r\n {loginState.workingState === 1 ? (\r\n <>\r\n <TextField\r\n autoFocus={true}\r\n label={t(\"Password\")}\r\n placeholder=\"Enter Password\"\r\n fullWidth\r\n type={showPassword ? \"text\" : \"password\"}\r\n name=\"password\"\r\n value={input.password || \"\"}\r\n onChange={handleChange}\r\n error={loginState.isPasswordError}\r\n helperText={\r\n loginState.isPasswordError\r\n ? t(loginState.userMessageforPassword)\r\n : \"\"\r\n }\r\n InputLabelProps={{ shrink: true }}\r\n disabled={loginState.loading}\r\n autoComplete=\"off\"\r\n ref={inputPassRef}\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n inputButtonRef?.current?.click?.();\r\n }\r\n }}\r\n InputProps={{\r\n endAdornment: (\r\n <InputAdornment position=\"end\">\r\n <IconButton\r\n aria-label=\"toggle password visibility\"\r\n onClick={() => {\r\n if (!showPassword) {\r\n setShowPasswordTime(Date.now() + 5000);\r\n timerRef.current = setTimeout(\r\n () => forceUpdate(Date.now()),\r\n 5000,\r\n );\r\n } else if (showPassword) setShowPasswordTime(0);\r\n }}\r\n onMouseDown={(e) => e.preventDefault()}\r\n disabled={loginState.loading}\r\n >\r\n {showPassword ? <Visibility /> : <VisibilityOff />}\r\n </IconButton>\r\n </InputAdornment>\r\n ),\r\n }}\r\n inputProps={{ maxLength: 16 }}\r\n style={{ paddingBottom: \"8px\" }}\r\n />\r\n <TextField\r\n label={t(\"ConfirmPassword\")}\r\n placeholder={String(t(\"EnterConfirmPassword\"))}\r\n fullWidth\r\n type={showConfirmPassword ? \"text\" : \"password\"}\r\n name=\"confirmpassword\"\r\n value={input.confirmpassword || \"\"}\r\n onChange={handleChange}\r\n error={loginState.isConfirmPasswordError}\r\n helperText={\r\n loginState.isConfirmPasswordError\r\n ? t(loginState.userMessageforconfirmPassword)\r\n : \"\"\r\n }\r\n InputLabelProps={{ shrink: true }}\r\n disabled={loginState.loading}\r\n autoComplete=\"off\"\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\") {\r\n inputButtonRef?.current?.click?.();\r\n }\r\n }}\r\n InputProps={{\r\n endAdornment: (\r\n <InputAdornment position=\"end\">\r\n <IconButton\r\n aria-label=\"toggle password visibility\"\r\n onClick={() => {\r\n if (!showConfirmPassword) {\r\n setShowConfirmPasswordTime(Date.now() + 5000);\r\n timerRef.current = setTimeout(\r\n () => forceUpdate(Date.now()),\r\n 5000,\r\n );\r\n } else if (showConfirmPassword)\r\n setShowConfirmPasswordTime(0);\r\n }}\r\n onMouseDown={(e) => e.preventDefault()}\r\n disabled={loginState.loading}\r\n >\r\n {showConfirmPassword ? <Visibility /> : <VisibilityOff />}\r\n </IconButton>\r\n </InputAdornment>\r\n ),\r\n }}\r\n inputProps={{ maxLength: 16 }}\r\n style={{ paddingBottom: \"8px\" }}\r\n />\r\n </>\r\n ) : null}\r\n {loginState.isApiError ? (\r\n <FormHelperText style={{ color: \"red\" }}>\r\n {loginState.apierrorMessage}\r\n </FormHelperText>\r\n ) : null}\r\n <div\r\n style={{\r\n marginTop: \"20px\",\r\n display: \"flex\",\r\n flexDirection: \"row-reverse\",\r\n }}\r\n >\r\n <div\r\n style={{\r\n flex: \"auto\",\r\n textAlign: \"center\",\r\n marginTop: \"5px\",\r\n marginBottom: \"17px\",\r\n }}\r\n >\r\n <div>\r\n <GradientButton\r\n style={{ borderRadius: \"10px\", marginRight: \"5px\" }}\r\n // fullWidth\r\n\r\n disabled={loginState.loading}\r\n onClick={() => {\r\n navigate(loginPageEndpoint);\r\n }}\r\n starticon={\"West\"}\r\n rotateIcon=\"scale(1.4) rotateX(360deg)\"\r\n >\r\n {t(\"backtologin\")}\r\n </GradientButton>\r\n\r\n <GradientButton\r\n style={{ borderRadius: \"10px\" }}\r\n disabled={loginState.loading}\r\n onClick={() => {\r\n onSubmit(input, loginState.workingState);\r\n }}\r\n ref={inputButtonRef}\r\n endicon={loginState.loading ? undefined : \"East\"}\r\n rotateIcon=\"scale(1.4) rotateX(360deg)\"\r\n >\r\n {loginState.loading ? (\r\n <CircularProgress size={25} thickness={4.6} />\r\n ) : (\r\n t(\"Next\")\r\n )}\r\n </GradientButton>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </Fragment>\r\n );\r\n};\r\n","import { useReducer, useState, useRef, useEffect } from \"react\";\r\nimport { NavigateFunction } from \"react-router-dom\";\r\nimport { useStyles } from \"./style\";\r\nimport { ForgotPasswordFields } from \"./forgotPasswordField\";\r\nimport { OTPModelForm } from \"./otpPopup\";\r\nimport { utilFunction } from \"@acuteinfo/common-base\";\r\nimport { useSnackbar } from \"notistack\";\r\nimport { Container, Grid, Tooltip } from \"@mui/material\";\r\nimport { BankDetails } from \"./bankDetails\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { t } from \"i18next\";\r\nimport { isBase64 } from \"./utils\";\r\nimport {\r\n UpdateNewPasswordFnType,\r\n VerifyOtpForPWDResetFnType,\r\n VerifyUsernameMobileFnType,\r\n} from \"pages/types\";\r\n\r\nexport const ValidatePassword = (pwd) => {\r\n // if (!Boolean(pwd)) {\r\n // return \"Password is Required\";\r\n // } else if (pwd.length < 8 || pwd.length > 16) {\r\n // return \"Password must be between 8 and 16 characters long.\";\r\n // }\r\n // return \"\";\r\n\r\n if (!Boolean(pwd)) {\r\n // return t(\"PasswordisRequired\");\r\n return \"Password is Required\";\r\n } else if (!/(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*\\W)(?!.*\\s)/.test(pwd)) {\r\n // return t(\"EnterPasswordPolicy\");\r\n return \"Password must be 8-16 characters long, containing at least one uppercase letter, one lowercase letter, one number, and one special character, with no spaces allowed.\";\r\n } else if (pwd.length < 8 || pwd.length > 16) {\r\n // return t(\"EnterPasswordValid\");\r\n return \"Password must be between 8 and 16 characters long.\";\r\n // return \"Password must be between 8 and 16 characters long.\";\r\n }\r\n return \"\";\r\n};\r\n\r\nconst inititalState = {\r\n isUsernameError: false,\r\n userMessageforusername: \"\",\r\n loading: false,\r\n isMobileError: false,\r\n userMessageforMobileno: \"\",\r\n isPasswordError: false,\r\n userMessageforPassword: \"\",\r\n isConfirmPasswordError: false,\r\n userMessageforconfirmPassword: \"\",\r\n workingState: 0,\r\n isApiError: false,\r\n apierrorMessage: \"\",\r\n otploading: false,\r\n OtpuserMessage: \"\",\r\n otpmodelClose: false,\r\n requestCd: \"\",\r\n username: \"\",\r\n auth_type: \"O\",\r\n transactionID: \"\",\r\n};\r\nconst reducer = (state, action) => {\r\n switch (action.type) {\r\n case \"verifyUserNameandMobileNoFailed\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n isUsernameError: action?.payload?.isUsernameError ?? false,\r\n isMobileError: action?.payload?.isMobileError ?? false,\r\n userMessageforusername: action?.payload?.userMessageforusername ?? \"\",\r\n userMessageforMobileno: action?.payload?.userMessageforMobileno ?? \"\",\r\n isApiError: action?.payload?.isApiError ?? false,\r\n apierrorMessage: action?.payload?.apierrorMessage ?? \"\",\r\n requestCd: \"\",\r\n username: \"\",\r\n };\r\n }\r\n case \"initverifyUserNameandMobileNo\": {\r\n return {\r\n ...state,\r\n loading: true,\r\n isUsernameError: false,\r\n isMobileError: false,\r\n requestCd: \"\",\r\n username: \"\",\r\n };\r\n }\r\n case \"verifyUserNameandMobileNoSuccess\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n isUsernameError: false,\r\n isMobileError: false,\r\n workingState: 0,\r\n isApiError: false,\r\n apierrorMessage: \"\",\r\n requestCd: action?.payload?.requestCd ?? \"\",\r\n username: action?.payload?.username ?? \"\",\r\n auth_type: action?.payload?.auth_type,\r\n company_ID: action?.payload?.company_ID,\r\n branch_cd: action?.payload?.branch_cd,\r\n otpValidFor: action?.payload?.otpValidFor,\r\n };\r\n }\r\n case \"inititateOTPVerification\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n otploading: true,\r\n OtpuserMessage: \"\",\r\n otpmodelClose: false,\r\n };\r\n }\r\n case \"OTPVerificationComplate\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n otploading: false,\r\n OtpuserMessage: \"\",\r\n workingState: 1,\r\n otpmodelClose: Boolean(action?.payload?.otpmodelclose),\r\n };\r\n }\r\n case \"OTPVerificationFailed\": {\r\n return {\r\n ...state,\r\n otploading: false,\r\n OtpuserMessage: action?.payload?.error,\r\n otpmodelClose: Boolean(action?.payload?.otpmodelclose),\r\n };\r\n }\r\n case \"verifyPasswordFailed\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n isPasswordError: action?.payload?.isPasswordError ?? false,\r\n isConfirmPasswordError:\r\n action?.payload?.isConfirmPasswordError ?? false,\r\n userMessageforPassword: action?.payload?.userMessageforPassword ?? \"\",\r\n userMessageforconfirmPassword:\r\n action?.payload?.userMessageforconfirmPassword ?? \"\",\r\n isApiError: false,\r\n apierrorMessage: \"\",\r\n };\r\n }\r\n case \"initverifyPasswordSetReq\": {\r\n return {\r\n ...state,\r\n loading: true,\r\n isPasswordError: false,\r\n isConfirmPasswordError: false,\r\n };\r\n }\r\n case \"passwordRegistaredSuccess\": {\r\n return {\r\n ...state,\r\n loading: false,\r\n isPasswordError: false,\r\n isConfirmPasswordError: false,\r\n };\r\n }\r\n case \"OTPResendSuccess\": {\r\n return {\r\n ...state,\r\n requestCd: action?.payload?.requestCd,\r\n };\r\n }\r\n default: {\r\n return state;\r\n }\r\n }\r\n};\r\n\r\ninterface ForgotPasswordControllerProps {\r\n bannerDetails: {\r\n bannerImg: string;\r\n bannerTitle: string;\r\n bannerNote: string;\r\n };\r\n logoUrl?: string;\r\n logoTitle?: string;\r\n updatenewPassword: UpdateNewPasswordFnType;\r\n veirfyUsernameandMobileNo: VerifyUsernameMobileFnType;\r\n verifyOTPForPWDReset: VerifyOtpForPWDResetFnType;\r\n LanguageComponent?: React.ComponentType<any>;\r\n screenFlag: \"password\" | \"totp\";\r\n navigate: NavigateFunction;\r\n loginPageEndpoint: string;\r\n}\r\n\r\nexport const ForgotPasswordControllerWrapper: React.FC<\r\n ForgotPasswordControllerProps\r\n> = ({\r\n screenFlag,\r\n updatenewPassword,\r\n veirfyUsernameandMobileNo,\r\n verifyOTPForPWDReset,\r\n logoUrl,\r\n logoTitle,\r\n LanguageComponent,\r\n bannerDetails,\r\n navigate,\r\n loginPageEndpoint,\r\n}) => {\r\n const classes = useStyles();\r\n const [loginState, dispath] = useReducer(reducer, inititalState);\r\n const [open, setOpen] = useState(false);\r\n const { enqueueSnackbar } = useSnackbar();\r\n const otpResendRef = useRef(1);\r\n const { t } = useTranslation();\r\n const [dashboardLogoURL, setDashboardLogoURL] = useState<any | null>(null);\r\n const urlObj = useRef<any>(null);\r\n\r\n useEffect(() => {\r\n if (Boolean(logoUrl)) {\r\n if (isBase64(logoUrl)) {\r\n let blob = utilFunction.base64toBlob(logoUrl);\r\n urlObj.current =\r\n typeof blob === \"object\" && Boolean(blob)\r\n ? URL.createObjectURL(blob)\r\n : \"\";\r\n setDashboardLogoURL(urlObj.current);\r\n } else {\r\n setDashboardLogoURL(logoUrl);\r\n }\r\n }\r\n }, [logoUrl]);\r\n\r\n const onSubmitHandel = async (data, flag) => {\r\n if (verifyRequestData(data, flag)) {\r\n if (flag === 0) {\r\n dispath({ type: \"initverifyUserNameandMobileNo\" });\r\n const {\r\n status,\r\n data: resdata,\r\n message,\r\n } = await veirfyUsernameandMobileNo(\r\n data?.userName.toLowerCase(),\r\n data?.mobileno,\r\n screenFlag,\r\n );\r\n\r\n if (status === \"0\") {\r\n dispath({\r\n type: \"verifyUserNameandMobileNoSuccess\",\r\n payload: {\r\n requestCd: String(resdata?.TRAN_CD ?? \"\"),\r\n username: data?.userName,\r\n auth_type: resdata?.AUTH_TYPE,\r\n company_ID: resdata?.COMP_CD,\r\n branch_cd: resdata?.BRANCH_CD,\r\n otpValidFor: resdata?.OTP_VALID,\r\n },\r\n });\r\n setOpen(true);\r\n } else {\r\n dispath({\r\n type: \"verifyUserNameandMobileNoFailed\",\r\n payload: {\r\n isApiError: true,\r\n apierrorMessage: message,\r\n },\r\n });\r\n }\r\n } else if (flag === 1) {\r\n dispath({ type: \"initverifyPasswordSetReq\" });\r\n const {\r\n status,\r\n data: resdata,\r\n message,\r\n } = await updatenewPassword(\r\n loginState?.requestCd,\r\n loginState?.username,\r\n data?.password,\r\n );\r\n if (status === \"0\") {\r\n dispath({ type: \"passwordRegistaredSuccess\" });\r\n enqueueSnackbar(\"Password successfully reset\", {\r\n variant: \"success\",\r\n });\r\n navigate(loginPageEndpoint);\r\n } else if (status === \"99\") {\r\n dispath({\r\n type: \"verifyPasswordFailed\",\r\n payload: {\r\n isApiError: true,\r\n apierrorMessage: message,\r\n },\r\n });\r\n } else {\r\n enqueueSnackbar(message, {\r\n variant: \"error\",\r\n });\r\n navigate(loginPageEndpoint);\r\n }\r\n }\r\n }\r\n };\r\n\r\n const verifyRequestData = (data, flag) => {\r\n if (flag === 0) {\r\n let validationData = {\r\n isUsernameError: false,\r\n isMobileError: false,\r\n userMessageforusername: \"\",\r\n userMessageforMobileno: \"\",\r\n };\r\n if (!Boolean(data.userName)) {\r\n validationData.isUsernameError = true;\r\n validationData.userMessageforusername = \"UsernameisRequired\";\r\n }\r\n if (!Boolean(data.mobileno)) {\r\n validationData.isMobileError = true;\r\n validationData.userMessageforMobileno = \"MobileNoisRequired\";\r\n } else if (\r\n isNaN(data.mobileno) ||\r\n (data.mobileno.length !== 10 && data.mobileno.length !== 13)\r\n ) {\r\n validationData.isMobileError = true;\r\n validationData.userMessageforMobileno = \"Please enter valid Mobile No.\";\r\n }\r\n dispath({\r\n type: \"verifyUserNameandMobileNoFailed\",\r\n payload: validationData,\r\n });\r\n return !(validationData.isMobileError || validationData.isUsernameError);\r\n } else if (flag === 1) {\r\n let validationData = {\r\n isPasswordError: false,\r\n userMessageforPassword: \"\",\r\n isConfirmPasswordError: false,\r\n userMessageforconfirmPassword: \"\",\r\n };\r\n let pwdverify = ValidatePassword(data.password);\r\n if (Boolean(pwdverify)) {\r\n validationData.isPasswordError = true;\r\n validationData.userMessageforPassword = pwdverify;\r\n }\r\n if (!Boolean(data.confirmpassword)) {\r\n validationData.isConfirmPasswordError = true;\r\n validationData.userMessageforconfirmPassword =\r\n \"Confirmpasswordisrequired\";\r\n } else if (\r\n Boolean(data.password) &&\r\n data.password !== data.confirmpassword\r\n ) {\r\n validationData.isConfirmPasswordError = true;\r\n validationData.userMessageforconfirmPassword =\r\n \"New Password and Confirm Password did not matched\";\r\n }\r\n dispath({\r\n type: \"verifyPasswordFailed\",\r\n payload: validationData,\r\n });\r\n return !(\r\n validationData.isConfirmPasswordError || validationData.isPasswordError\r\n );\r\n }\r\n return true;\r\n };\r\n const handleClose = () => {\r\n setOpen(false);\r\n };\r\n const changeUserName = () => {\r\n dispath({\r\n type: \"backToUsernameVerification\",\r\n });\r\n };\r\n\r\n const VerifyOTP = async (OTPNumber) => {\r\n if (Boolean(OTPNumber) && OTPNumber.toString().length === 6) {\r\n dispath({ type: \"inititateOTPVerification\" });\r\n const {\r\n status,\r\n data: resdata,\r\n message,\r\n } = await verifyOTPForPWDReset(\r\n loginState?.requestCd,\r\n loginState?.username,\r\n OTPNumber,\r\n loginState?.auth_type,\r\n screenFlag,\r\n );\r\n if (status === \"0\") {\r\n if (screenFlag === \"totp\") {\r\n enqueueSnackbar(message, {\r\n variant: \"success\",\r\n });\r\n navigate(loginPageEndpoint);\r\n } else {\r\n dispath({\r\n type: \"OTPVerificationComplate\",\r\n payload: { otpmodelclose: true },\r\n });\r\n }\r\n } else if (status === \"99\") {\r\n dispath({\r\n type: \"OTPVerificationFailed\",\r\n payload: { error: message },\r\n });\r\n } else {\r\n enqueueSnackbar(message, {\r\n variant: \"error\",\r\n });\r\n navigate(loginPageEndpoint);\r\n }\r\n } else {\r\n dispath({\r\n type: \"OTPVerificationFailed\",\r\n payload: { error: \"Please enter a 6 digit OTP number\" },\r\n });\r\n }\r\n };\r\n return (\r\n <>\r\n <Grid container style={{ height: \"100vh\", overflow: \"hidden\" }}>\r\n <BankDetails bannerDetails={bannerDetails} />\r\n <Grid item xs={6} md={6} lg={6} sm={6}>\r\n {logoUrl ? (\r\n <Grid\r\n container\r\n direction=\"row\"\r\n justifyContent=\"flex-end\"\r\n alignItems=\"center\"\r\n padding={\"31px\"}\r\n maxWidth={\"210px\"}\r\n ml={\"auto\"}\r\n >\r\n <Tooltip describeChild title={logoTitle ?? \"\"}>\r\n <img\r\n src={Boolean(dashboardLogoURL) ? dashboardLogoURL : \"\"}\r\n alt=\"Logo\"\r\n width={\"100%\"}\r\n />\r\n </Tooltip>\r\n </Grid>\r\n ) : null}\r\n {LanguageComponent ? (\r\n <Grid\r\n container\r\n direction=\"row\"\r\n justifyContent=\"flex-end\"\r\n alignItems=\"center\"\r\n padding={\"0 35px 0 0\"}\r\n maxWidth={\"180px\"}\r\n ml={\"auto\"}\r\n >\r\n <LanguageComponent />\r\n </Grid>\r\n ) : null}\r\n <Container maxWidth=\"xs\">\r\n <Grid alignItems=\"center\" style={{ paddingTop: \"20px\" }}>\r\n <h2 style={{ margin: \"10px 0\" }}>\r\n {loginState.workingState === 1\r\n ? t(\"Setnewpassword\")\r\n : screenFlag === \"totp\"\r\n ? \"Forgot TOTP\"\r\n : t(\"ForgotPassword\")}\r\n </h2>\r\n {open ? (\r\n <OTPModelForm\r\n classes={classes}\r\n handleClose={handleClose}\r\n loginState={loginState}\r\n VerifyOTP={VerifyOTP}\r\n OTPError={t(loginState?.OtpuserMessage ?? \"\")}\r\n setOTPError={(error) => {\r\n dispath({\r\n type: \"OTPVerificationFailed\",\r\n payload: { error: error },\r\n });\r\n }}\r\n resendFlag={\"FORGET_PW\"}\r\n setNewRequestID={(newRequestID) => {\r\n dispath({\r\n type: \"OTPResendSuccess\",\r\n payload: { requestCd: newRequestID },\r\n });\r\n otpResendRef.current = otpResendRef.current + 1;\r\n }}\r\n otpresendCount={otpResendRef.current}\r\n OTPResendRequest={undefined}\r\n />\r\n ) : (\r\n <ForgotPasswordFields\r\n classes={classes}\r\n loginState={loginState}\r\n onSubmit={onSubmitHandel}\r\n navigate={navigate}\r\n loginPageEndpoint={loginPageEndpoint}\r\n />\r\n )}\r\n </Grid>\r\n </Container>\r\n </Grid>\r\n </Grid>\r\n </>\r\n );\r\n};\r\n","import { GridMetaDataType } from \"@acuteinfo/common-base\";\r\nexport const BranchSelectionGridMetaData: GridMetaDataType = {\r\n gridConfig: {\r\n dense: true,\r\n gridLabel: \"Access Branch List\",\r\n rowIdColumn: \"BRANCH_CD\",\r\n // searchPlaceholder: \"Branches\",\r\n defaultColumnConfig: {\r\n width: 400,\r\n maxWidth: 450,\r\n minWidth: 300,\r\n },\r\n\r\n allowColumnReordering: false,\r\n disableSorting: false,\r\n hideHeader: false,\r\n disableGroupBy: true,\r\n enablePagination: false,\r\n containerHeight: {\r\n min: \"68vh\",\r\n max: \"68vh \",\r\n },\r\n allowFilter: false,\r\n allowColumnHiding: false,\r\n allowRowSelection: false,\r\n isCusrsorFocused: true,\r\n hideFooter: true,\r\n },\r\n columns: [\r\n {\r\n accessor: \"BRANCH_CD\",\r\n columnName: \"Branch Code\",\r\n sequence: 1,\r\n alignment: \"left\",\r\n componentType: \"default\",\r\n width: 200,\r\n minWidth: 140,\r\n maxWidth: 220,\r\n },\r\n {\r\n accessor: \"BRANCH_NM\",\r\n columnName: \"Branch Name\",\r\n sequence: 2,\r\n alignment: \"left\",\r\n componentType: \"default\",\r\n width: 280,\r\n minWidth: 280,\r\n maxWidth: 420,\r\n },\r\n {\r\n accessor: \"DISP_STATUS\",\r\n columnName: \"Status\",\r\n sequence: 3,\r\n alignment: \"left\",\r\n componentType: \"default\",\r\n width: 200,\r\n minWidth: 140,\r\n maxWidth: 220,\r\n },\r\n {\r\n accessor: \"BEGIN_DATETIME\",\r\n columnName: \"Begin Time\",\r\n sequence: 4,\r\n alignment: \"left\",\r\n componentType: \"dateTime\",\r\n width: 222,\r\n minWidth: 140,\r\n maxWidth: 240,\r\n },\r\n {\r\n accessor: \"END_DATETIME\",\r\n columnName: \"End Time\",\r\n sequence: 5,\r\n alignment: \"left\",\r\n componentType: \"dateTime\",\r\n width: 222,\r\n minWidth: 140,\r\n maxWidth: 240,\r\n },\r\n {\r\n accessor: \"DAYEND_STATUS\",\r\n columnName: \"Dayend Status\",\r\n sequence: 6,\r\n componentType: \"default\",\r\n isVisible: false,\r\n },\r\n {\r\n accessor: \"EOD_RUNNING_STATUS\",\r\n columnName: \"EOD Running Status\",\r\n sequence: 6,\r\n componentType: \"default\",\r\n isVisible: false,\r\n },\r\n {\r\n accessor: \"BASE_COMP_CD\",\r\n columnName: \"Base Comp Cd\",\r\n sequence: 6,\r\n componentType: \"default\",\r\n isVisible: false,\r\n },\r\n {\r\n accessor: \"BASE_BRANCH_CD\",\r\n columnName: \"Base Branch Cd\",\r\n sequence: 6,\r\n componentType: \"default\",\r\n isVisible: false,\r\n },\r\n {\r\n accessor: \"COMP_CD\",\r\n columnName: \"Comp Cd\",\r\n sequence: 6,\r\n componentType: \"default\",\r\n isVisible: false,\r\n },\r\n {\r\n accessor: \"COMP_NM\",\r\n columnName: \"Comp Name\",\r\n sequence: 6,\r\n componentType: \"default\",\r\n isVisible: false,\r\n },\r\n ],\r\n};\r\n","import { makeStyles } from \"@mui/styles\";\r\n\r\nexport const useStyles = makeStyles((theme: any) => ({\r\n heading_user_img: {\r\n width: \"40px\",\r\n height: \"40px\",\r\n // cursor: \"pointer\",\r\n },\r\n heading_user_img_border: {\r\n border: \"2px dashed var(--theme-color3)\",\r\n borderRadius: \"50%\",\r\n padding: \"4px\",\r\n },\r\n logo: {\r\n height: \"38px\",\r\n },\r\n}));\r\n","import {\r\n GridWrapper,\r\n ActionTypes,\r\n GridMetaDataType,\r\n ClearCacheProvider,\r\n Alert,\r\n queryClient,\r\n} from \"@acuteinfo/common-base\";\r\n\r\nimport { Fragment, useCallback, useEffect } from \"react\";\r\nimport { BranchSelectionGridMetaData } from \"./gridMetadata\";\r\nimport \"./styles.css\";\r\nimport {\r\n Avatar,\r\n Box,\r\n Button,\r\n Grid,\r\n Stack,\r\n Tooltip,\r\n tooltipClasses,\r\n} from \"@mui/material\";\r\nimport { useMutation, useQuery } from \"react-query\";\r\nimport { NavigateFunction } from \"react-router-dom\";\r\nimport { useSnackbar } from \"notistack\";\r\nimport bank_logo_default from \"../../assets/images/BecomePartnerImg.svg\";\r\nimport Waving_hand from \"../../assets/images/waving-hand.png\";\r\n\r\nimport { useStyles } from \"./style\";\r\nimport { styled } from \"@mui/material/styles\";\r\nimport USER_PROFILE_DEFAULT from \"../../assets/images/profile-default.png\";\r\nimport { BranchSelectionGridDataFnType, GetMenuDataFnType } from \"pages/types\";\r\nconst actions: ActionTypes[] = [\r\n {\r\n actionName: \"back\",\r\n actionLabel: \"Back\",\r\n multiple: false,\r\n rowDoubleClick: false,\r\n actionTextColor: \"var(--theme-color3)\",\r\n actionBackground: \"var(--white)\",\r\n startsIcon: \"West\",\r\n rotateIcon: \"scale(1.4) rotateX(-360deg)\",\r\n },\r\n {\r\n actionName: \"proceed\",\r\n actionLabel: \"Proceed\",\r\n multiple: false,\r\n rowDoubleClick: true,\r\n actionTextColor: \"var(--white)\",\r\n actionBackground: \"var(--theme-color3)\",\r\n onEnterSubmit: true,\r\n endsIcon: \"East\",\r\n rotateIcon: \"scale(1.4) rotateX(-360deg)\",\r\n },\r\n];\r\n\r\ninterface BranchSelectionWrapperProps {\r\n selectionMode: \"S\" | \"C\";\r\n authState: any;\r\n isBranchSelectedFn: () => boolean;\r\n isLoggedInFn: () => boolean;\r\n logoutFn: () => void;\r\n branchSelectFn: Function;\r\n BranchSelectionGridDataApiFn: BranchSelectionGridDataFnType;\r\n GetMenuDataApiFn: GetMenuDataFnType;\r\n sideImage?: string;\r\n logos: any;\r\n logo?: string;\r\n navigate: NavigateFunction;\r\n dashboardUrl: string;\r\n loginUrl: string;\r\n appTranCd: string;\r\n}\r\n\r\nconst BranchSelectionGrid: React.FC<BranchSelectionWrapperProps> = ({\r\n selectionMode,\r\n authState,\r\n isBranchSelectedFn,\r\n isLoggedInFn,\r\n logoutFn,\r\n logos,\r\n logo,\r\n navigate,\r\n BranchSelectionGridDataApiFn,\r\n GetMenuDataApiFn,\r\n sideImage,\r\n branchSelectFn,\r\n dashboardUrl,\r\n loginUrl,\r\n appTranCd,\r\n}) => {\r\n const classes = useStyles();\r\n\r\n const { enqueueSnackbar } = useSnackbar();\r\n const { data, isLoading, isFetching, error, isError } = useQuery<any, any>(\r\n [\"BranchSelectionGridData\"],\r\n () => BranchSelectionGridDataApiFn(),\r\n );\r\n\r\n useEffect(() => {\r\n return () => {\r\n queryClient.removeQueries([\"BranchSelectionGridData\", {}]);\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!isLoggedInFn()) {\r\n navigate(loginUrl);\r\n } else if (isBranchSelectedFn() && selectionMode !== \"C\") {\r\n navigate(dashboardUrl);\r\n }\r\n }, [isBranchSelectedFn, isLoggedInFn]);\r\n\r\n type MutationErrorType = {\r\n severity: string;\r\n error_msg: string;\r\n error_detail: string;\r\n };\r\n\r\n const mutation: any = useMutation(GetMenuDataApiFn, {\r\n onSuccess: (data, extreData: any) => {\r\n branchSelectFn({\r\n menulistdata: data,\r\n branchCode: extreData?.BRANCH_CD,\r\n branch: extreData?.BRANCH_NM,\r\n baseBranchCode: extreData?.BASE_BRANCH_CD,\r\n });\r\n },\r\n });\r\n const getError: any = mutation.error as MutationErrorType;\r\n const setCurrentAction = useCallback(\r\n (data) => {\r\n if (data.name === \"proceed\") {\r\n if (data.rows?.length === 0) {\r\n enqueueSnackbar(\"Please Select Branch\", {\r\n variant: \"error\",\r\n });\r\n } else if (data.rows?.[0]?.data?.STATUS === \"C\") {\r\n enqueueSnackbar(\r\n \"Branch is in Day End Status.~rPlease contact system Vendor.\",\r\n {\r\n variant: \"error\",\r\n },\r\n );\r\n } else {\r\n mutation.mutate({\r\n BASE_COMP_CD: data.rows?.[0]?.data?.BASE_COMP_CD ?? \"\",\r\n BASE_BRANCH_CD: data.rows?.[0]?.data?.BASE_BRANCH_CD ?? \"\",\r\n COMP_CD: data.rows?.[0]?.data?.COMP_CD ?? \"\",\r\n BRANCH_CD: data.rows?.[0]?.data?.BRANCH_CD ?? \"\",\r\n GROUP_NAME: authState?.groupName ?? \"\",\r\n APP_TRAN_CD: appTranCd,\r\n COMP_NM: data.rows?.[0]?.data?.COMP_NM ?? \"\",\r\n BRANCH_NM: data.rows?.[0]?.data?.BRANCH_NM ?? \"\",\r\n DAYEND_STATUS: data.rows?.[0]?.data?.DAYEND_STATUS ?? \"\",\r\n EOD_RUNNING_STATUS: data.rows?.[0]?.data?.EOD_RUNNING_STATUS ?? \"\",\r\n IS_UPD_DEF_BRANCH: authState?.user?.isUpdDefBranch ?? \"\",\r\n COMP_BASE_BRANCH_CD:\r\n data.rows?.[0]?.data?.COMP_BASE_BRANCH_CD ?? \"\",\r\n selectionMode: selectionMode,\r\n });\r\n }\r\n } else if (data.name === \"back\") {\r\n if (selectionMode === \"C\") {\r\n navigate(dashboardUrl, {\r\n replace: true,\r\n });\r\n } else {\r\n logoutFn();\r\n }\r\n }\r\n },\r\n [navigate, data, mutation],\r\n );\r\n\r\n useEffect(() => {\r\n var oneBranchOpen = data?.some((branch) => branch.STATUS === \"O\");\r\n if (oneBranchOpen === false) {\r\n enqueueSnackbar(\r\n \"Branch is in Day End Status.~rPlease contact system Vendor.\",\r\n {\r\n variant: \"error\",\r\n },\r\n );\r\n logoutFn();\r\n }\r\n if (data?.length === 1) {\r\n if (data?.[0]?.STATUS === \"O\") {\r\n setCurrentAction({ name: \"proceed\", rows: [{ data: { ...data[0] } }] });\r\n }\r\n }\r\n }, [JSON.stringify(data)]);\r\n\r\n const Greetings = () => {\r\n let hours = new Date().getHours();\r\n let greet;\r\n\r\n if (hours < 12) greet = \"morning\";\r\n else if (hours >= 12 && hours <= 16) greet = \"afternoon\";\r\n else if (hours >= 16 && hours <= 24) greet = \"evening\";\r\n\r\n return <span>Good {greet},</span>;\r\n };\r\n\r\n const LightTooltip = styled(({ className, ...props }: any) => (\r\n <Tooltip {...props} classes={{ popper: className }} />\r\n ))(({ theme }) => ({\r\n [`& .${tooltipClasses.tooltip}`]: {\r\n backgroundColor: theme.palette.common.white,\r\n color: \"rgba(0, 0, 0, 0.87)\",\r\n boxShadow: theme.shadows[1],\r\n fontSize: 13,\r\n },\r\n }));\r\n\r\n // const greet = Greetings();\r\n\r\n return (\r\n <>\r\n <Grid\r\n container\r\n style={{\r\n margin: \"0\",\r\n padding: \"0\",\r\n height: \"100vh\",\r\n // overflowY: \"hidden\",\r\n }}\r\n >\r\n {sideImage ? (\r\n <Grid item lg={1} md={1} xl={1} xs={1} sm={1}>\r\n <img className=\"sideImage\" src={sideImage} alt=\"side-Image\" />\r\n </Grid>\r\n ) : null}\r\n\r\n <Grid\r\n item\r\n lg={11}\r\n md={11}\r\n xl={11}\r\n xs={11}\r\n style={{\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n }}\r\n >\r\n <Grid\r\n container\r\n style={{\r\n minHeight: \"100vh\",\r\n padding: \"10px 0px 0px 0px\",\r\n }}\r\n lg={11}\r\n md={11}\r\n xl={11}\r\n xs={11}\r\n >\r\n <Grid\r\n container\r\n style={{\r\n margin: \"0\",\r\n padding: \"0\",\r\n // height: \"12vh\",\r\n }}\r\n lg={12}\r\n md={12}\r\n xl={12}\r\n xs={12}\r\n >\r\n <Grid\r\n xs={12}\r\n sm={1}\r\n md={1}\r\n lg={1}\r\n xl={1}\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n // justifyContent: \"center\",\r\n }}\r\n >\r\n <Stack direction=\"row\" spacing={4} ml={1}>\r\n <Box\r\n className={classes.heading_user_img_border}\r\n sx={{ cursor: \"pointer\" }}\r\n >\r\n <LightTooltip\r\n title={\r\n <>\r\n <div>User ID : {authState?.user?.id ?? \"\"}</div>\r\n <div>Role : {authState?.roleName ?? \"\"}</div>\r\n <div>Last Unsuccessful Login : \"\"</div>\r\n </>\r\n }\r\n placement=\"bottom-start\"\r\n >\r\n <Avatar\r\n className={classes.heading_user_img}\r\n // onClick={handleNavigate}\r\n alt=\"Remy Sharp\"\r\n src={\r\n Boolean(logos?.profile)\r\n ? logos?.profile\r\n : USER_PROFILE_DEFAULT\r\n }\r\n />\r\n </LightTooltip>\r\n </Box>\r\n </Stack>\r\n </Grid>\r\n <Grid\r\n xs={12}\r\n sm={5}\r\n md={5}\r\n lg={5}\r\n xl={5}\r\n sx={{\r\n justifyContent: \"center\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n }}\r\n >\r\n <h1\r\n className=\"name-heading\"\r\n style={{ fontSize: \"24px\", margin: \"4px 0px\" }}\r\n >\r\n Welcome <span>{`${authState?.user?.name ?? \"\"},`}</span>\r\n </h1>\r\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 10 }}>\r\n <h3 style={{ margin: \"4px 0px\" }}>{Greetings()}</h3>\r\n <img src={Waving_hand} alt=\"\" style={{ height: \"18px\" }} />\r\n </div>\r\n </Grid>\r\n <Grid\r\n xs={12}\r\n sm={1}\r\n md={1}\r\n lg={1}\r\n xl={1}\r\n sx={{\r\n display: \"flex\",\r\n // flexDirection: \"column\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n }}\r\n >\r\n <Stack direction=\"row\" justifyContent=\"flex-start\" spacing={2}>\r\n <Box className={classes.heading_user_img_border}>\r\n <Avatar\r\n className={classes.heading_user_img}\r\n alt=\"Remy Sharp\"\r\n src={\r\n Boolean(logos?.bank) ? logos?.bank : bank_logo_default\r\n }\r\n />\r\n </Box>\r\n </Stack>\r\n </Grid>\r\n <Grid\r\n xs={12}\r\n sm={3}\r\n md={3}\r\n lg={3}\r\n xl={3}\r\n sx={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n justifyContent: \"center\",\r\n }}\r\n >\r\n <div\r\n className=\"bank-name-container\"\r\n style={{ fontSize: \"14px\" }}\r\n >\r\n <p className=\"bank-name\">\r\n {`Bank Name: ${authState?.companyName ?? \"\"}`}\r\n </p>\r\n </div>\r\n\r\n <p className=\"emp-id\">\r\n {`Emp. Id: ${authState?.user?.employeeID ?? \"\"}`}\r\n </p>\r\n </Grid>\r\n <Grid\r\n xs={12}\r\n sm={3}\r\n md={3}\r\n lg={2}\r\n xl={2}\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"right\",\r\n }}\r\n >\r\n {\" \"}\r\n <div>\r\n <img\r\n src={Boolean(logos?.logo) ? logos?.logo : logo}\r\n alt=\"bank_logo\"\r\n className={classes.logo}\r\n />\r\n </div>\r\n </Grid>\r\n </Grid>\r\n\r\n {isError ? (\r\n <Fragment>\r\n <div style={{ width: \"100%\", paddingTop: \"10px\" }}>\r\n <Alert\r\n severity={error?.severity ?? \"error\"}\r\n errorMsg={error?.error_msg ?? \"Error\"}\r\n errorDetail={error?.error_detail ?? \"\"}\r\n />\r\n </div>\r\n </Fragment>\r\n ) : mutation.isError && mutation.error ? (\r\n <Fragment>\r\n <div style={{ width: \"100%\", paddingTop: \"10px\" }}>\r\n <Alert\r\n severity={getError.severity ?? \"error\"}\r\n errorMsg={getError.error_msg ?? \"Error\"}\r\n errorDetail={getError.error_detail ?? \"\"}\r\n />\r\n </div>\r\n </Fragment>\r\n ) : null}\r\n <GridWrapper\r\n key={`branchSelection`}\r\n finalMetaData={BranchSelectionGridMetaData as GridMetaDataType}\r\n data={data ?? []}\r\n setData={() => null}\r\n actions={actions}\r\n setAction={setCurrentAction}\r\n controlsAtBottom={true}\r\n actionContextAtBottom={true}\r\n headerToolbarStyle={{\r\n background: \"#fff !important\",\r\n padding: \"0\",\r\n \"& .MuiTypography-root\": {\r\n color: \"black\",\r\n },\r\n }}\r\n disableMultipleRowSelect={true}\r\n variant=\"outlined\"\r\n loading={isLoading || isFetching || mutation.isLoading}\r\n defaultSelectedRowId={authState?.user?.branchCode ?? null}\r\n />\r\n {isError || data?.length === 0 ? (\r\n <Button\r\n sx={{\r\n backgroundColor: \"var(--theme-color3)\",\r\n position: \"absolute\",\r\n right: \"113px\",\r\n bottom: \"20px\",\r\n width: \"7rem\",\r\n \"&:hover\": {\r\n backgroundColor: \"var(--theme-color3)\",\r\n },\r\n }}\r\n onClick={() => {\r\n if (selectionMode === \"C\") {\r\n navigate(dashboardUrl, {\r\n replace: true,\r\n });\r\n } else {\r\n logoutFn();\r\n }\r\n }}\r\n >\r\n Back\r\n </Button>\r\n ) : null}\r\n </Grid>\r\n </Grid>\r\n </Grid>\r\n </>\r\n );\r\n};\r\n\r\nexport const BranchSelectionGridWrapper: React.FC<\r\n BranchSelectionWrapperProps\r\n> = (props) => {\r\n return (\r\n <ClearCacheProvider>\r\n <BranchSelectionGrid {...props} />\r\n </ClearCacheProvider>\r\n );\r\n};\r\n","import { alpha } from \"@mui/material\";\r\nimport { makeStyles } from \"@mui/styles\";\r\n\r\nexport const useStyles = makeStyles((theme: any) => ({\r\n appBar: {\r\n // zIndex: theme.zIndex.drawer + 1,\r\n transition: theme.transitions.create([\"width\", \"margin\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n color: \"#0063A3\",\r\n height: \"80px\",\r\n background: \"var(--white)\",\r\n boxShadow: \"0px 1px 0px -0.5px #DEE0E2\",\r\n },\r\n searchBar: {\r\n width: 290,\r\n border: \"none\",\r\n color: \"rgba(0, 0, 0, 0.87) !important\",\r\n backgroundColor: \"rgb(235 237 238 / 26%)!important\",\r\n\r\n \"& input\": {\r\n width: \"100% !important\",\r\n },\r\n },\r\n searchList: {\r\n position: \"absolute\",\r\n background: \"#fff\",\r\n width: \"100%\",\r\n borderRadius: \"6px\",\r\n boxShadow: \"0 12px 25px rgba(0,0,0,.3)\",\r\n top: \"120%\",\r\n height: \"auto\",\r\n maxHeight: \"325px\",\r\n overflowY: \"auto\",\r\n\r\n \"& .list-links\": {\r\n background: \"none\",\r\n border: \"none\",\r\n outline: \"none\",\r\n cursor: \"pointer\",\r\n textDecoration: \"none\",\r\n padding: \"0.7rem 1rem\",\r\n fontSize: \"0.90rem\",\r\n textAlign: \"left\",\r\n borderBottom: \"1px solid #ddd\",\r\n color: \"#222 !important\",\r\n fontWeight: 500,\r\n \"&:hover, &.active\": {\r\n backgroundColor: \"#f4f4f4\",\r\n },\r\n },\r\n },\r\n appBarShift: {\r\n paddingLeft: \"0px\",\r\n // width: `calc(100% - ${drawerWidth}px)`,\r\n transition: theme.transitions.create([\"width\", \"margin\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n background: \"rgba(250, 251, 255, 0.9)\",\r\n }),\r\n },\r\n heading_user_dtl: {\r\n width: \"458px\",\r\n height: \"73px\",\r\n left: \"37px\",\r\n top: \"calc(50% - 73px/2)\",\r\n },\r\n heading_user_img: {\r\n width: \"40px\",\r\n height: \"40px\",\r\n // cursor: \"pointer\",\r\n },\r\n heading_user_img_border: {\r\n border: \"2px dashed var(--theme-color3)\",\r\n borderRadius: \"50%\",\r\n padding: \"4px\",\r\n },\r\n toolbar: {\r\n minHeight: \"80px\",\r\n paddingLeft: \"0px\",\r\n height: \"80px\",\r\n },\r\n title: {\r\n flexGrow: 1,\r\n padding: theme.spacing(0.5, 0),\r\n color: \"var(--theme-color1)\",\r\n },\r\n searchRoot: {\r\n fontFamily: theme.typography.fontFamily,\r\n position: \"relative\",\r\n boxShadow:\r\n \"0px 2px 4px -1px rgba(0,0,0,0.2), 0px 4px 5px 0px rgba(0,0,0,0.14), 0px 1px 10px 0px rgba(0,0,0,0.12)\",\r\n marginRight: theme.spacing(2),\r\n marginLeft: theme.spacing(1),\r\n marginBottom: theme.spacing(0.25),\r\n marginTop: theme.spacing(0.25),\r\n borderRadius: 40,\r\n backgroundColor: alpha(theme.palette.common.white, 0.15),\r\n \"&:hover\": {\r\n backgroundColor: alpha(theme.palette.common.white, 0.25),\r\n },\r\n \"& $inputInput\": {\r\n transition: theme.transitions.create(\"width\"),\r\n width: 120,\r\n \"&:focus\": {\r\n width: 170,\r\n },\r\n },\r\n },\r\n search: {\r\n width: theme.spacing(6),\r\n height: \"100%\",\r\n position: \"absolute\",\r\n pointerEvents: \"none\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n },\r\n inputRoot: {\r\n color: \"inherit\",\r\n marginTop: 0,\r\n borderRadius: \"40px\",\r\n },\r\n inputInput: {\r\n padding: theme.spacing(1, 1, 1, 6),\r\n },\r\n\r\n loggedInUser: {\r\n marginLeft: theme.spacing(2),\r\n },\r\n nameClass: {\r\n color: \"#0063A3\",\r\n fontWeight: 600,\r\n textTransform: \"capitalize\",\r\n lineHeight: \"1.4\",\r\n textAlign: \"left\",\r\n },\r\n dropDown: {\r\n fontSize: \"2rem\",\r\n },\r\n vTop: {\r\n verticalAlign: \"top\",\r\n paddingLeft: \"4px\",\r\n color: \"var(--theme-color1)\",\r\n },\r\n userDesignation: {\r\n margin: \"0px\",\r\n fontWeight: 500,\r\n fontSize: \"0.875rem\",\r\n lineHeight: 1.57,\r\n color: \"var(--theme-color1)\",\r\n },\r\n userName: {\r\n margin: \"0px\",\r\n fontWeight: 500,\r\n fontSize: \"0.875rem\",\r\n lineHeight: 1.57,\r\n color: \"var(--theme-color3)\",\r\n },\r\n userprofilehover: {\r\n \"&:hover\": {\r\n backgroundColor: \"var(--white)\",\r\n },\r\n },\r\n lang_svg: {\r\n marginRight: \"10px\",\r\n width: \"22px\",\r\n height: \"22px\",\r\n },\r\n logo: {\r\n height: \"38px\",\r\n },\r\n version01: {\r\n margin: \"0\",\r\n textAlign: \"center\",\r\n color: \"var(--theme-color3)\",\r\n fontSize: \"9px\",\r\n },\r\n DrawerClose_icon: {\r\n color: \"var(--theme-color3)\",\r\n position: \"static\",\r\n background: \"transperant\",\r\n \"&:hover\": {\r\n background: \"var(--theme-color4)\",\r\n },\r\n width: \"46px\",\r\n height: \"46px\",\r\n },\r\n marquee: {\r\n animation: \"$marquee 10s linear infinite\",\r\n animationDelay: \"3s\",\r\n },\r\n \"@keyframes marquee\": {\r\n \"0%\": { transform: \"translateX(100%)\" },\r\n \"100%\": { transform: \"translateX(-100%)\" },\r\n },\r\n popover: {\r\n popover: {\r\n maxWidth: \"100%\",\r\n width: \"fit-content\",\r\n \"& .MuiPopover-paper\": {\r\n maxWidth: \"100%\",\r\n },\r\n },\r\n },\r\n}));\r\n","import { NavigateFunction } from \"react-router-dom\";\r\nimport clsx from \"clsx\";\r\nimport { useStyles } from \"./style\";\r\nimport Waving_hand from \"../../assets/images/waving-hand.png\";\r\nimport BecomePartnerImg from \"../../assets/images/BecomePartnerImg.svg\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport LogoutIcon from \"@mui/icons-material/Logout\";\r\nimport MenuOutlinedIcon from \"@mui/icons-material/MenuOutlined\";\r\nimport { styled } from \"@mui/material/styles\";\r\nimport {\r\n AppBar,\r\n Avatar,\r\n Box,\r\n Stack,\r\n Toolbar,\r\n Tooltip,\r\n Typography,\r\n tooltipClasses,\r\n} from \"@mui/material\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { format } from \"date-fns\";\r\n\r\ninterface AppbarWrapperProps {\r\n handleDrawerOpen: Function;\r\n handleDrawerClose: Function;\r\n open: boolean;\r\n authState: any;\r\n LanguageComponent?: React.ComponentType<any>;\r\n SearchComponent?: React.ComponentType<any>;\r\n dashboardUrl?: string;\r\n logos?: any;\r\n bankLogo?: any;\r\n profilePic?: string;\r\n handleLogout?: Function;\r\n handleProfile?: Function;\r\n navigate: NavigateFunction;\r\n hideGreetings?: boolean;\r\n menuIconPosition?: \"left\" | \"right\";\r\n}\r\n\r\nexport const AppbarWrapper: React.FC<AppbarWrapperProps> = ({\r\n handleDrawerOpen,\r\n handleDrawerClose,\r\n open,\r\n authState,\r\n LanguageComponent,\r\n SearchComponent,\r\n dashboardUrl,\r\n logos,\r\n bankLogo,\r\n profilePic,\r\n handleLogout,\r\n handleProfile,\r\n navigate,\r\n hideGreetings,\r\n menuIconPosition = \"left\",\r\n}) => {\r\n const classes = useStyles();\r\n const { t } = useTranslation();\r\n\r\n const LightTooltip = styled(({ className, ...props }: any) => (\r\n <Tooltip {...props} classes={{ popper: className }} />\r\n ))(({ theme }) => ({\r\n [`& .${tooltipClasses.tooltip}`]: {\r\n backgroundColor: theme.palette.common.white,\r\n color: \"rgba(0, 0, 0, 0.87)\",\r\n boxShadow: theme.shadows[1],\r\n fontSize: 13,\r\n },\r\n }));\r\n const Greetings = () => {\r\n let hours = new Date().getHours();\r\n let greet;\r\n\r\n if (hours < 12) greet = \"morning\";\r\n else if (hours >= 12 && hours <= 16) greet = \"afternoon\";\r\n else if (hours >= 16 && hours <= 24) greet = \"evening\";\r\n\r\n return <span>Good {greet},</span>;\r\n };\r\n\r\n return (\r\n <AppBar\r\n position=\"fixed\"\r\n elevation={0}\r\n className={clsx(classes.appBar, open && classes.appBarShift)}\r\n >\r\n <Toolbar className={classes.toolbar}>\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"space-evenly\",\r\n alignItems: \"center\",\r\n height: \"80px\",\r\n width: \"227px\",\r\n flexDirection: menuIconPosition === \"right\" ? \"row-reverse\" : \"row\",\r\n }}\r\n >\r\n {open ? (\r\n <IconButton\r\n disableRipple\r\n onClick={() => handleDrawerClose()}\r\n className={classes.DrawerClose_icon}\r\n >\r\n <MenuOutlinedIcon fontSize=\"large\" />\r\n </IconButton>\r\n ) : (\r\n <IconButton\r\n disableRipple\r\n aria-label=\"open drawer\"\r\n onClick={() => handleDrawerOpen()}\r\n className={classes.DrawerClose_icon}\r\n >\r\n <MenuOutlinedIcon fontSize=\"large\" />\r\n </IconButton>\r\n )}\r\n\r\n <div>\r\n <img\r\n src={Boolean(logos?.logo) ? logos?.logo : bankLogo}\r\n alt=\"bank_logo\"\r\n className={classes.logo}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n navigate(dashboardUrl ?? \"./dashboard\");\r\n }}\r\n />\r\n <p className={classes.version01}>{logos?.version}</p>\r\n </div>\r\n </Box>\r\n <Stack direction=\"row\" spacing={4} mx={2}>\r\n <Box className={classes.heading_user_img_border}>\r\n <Avatar\r\n className={classes.heading_user_img}\r\n alt=\"Remy Sharp\"\r\n src={Boolean(logos?.bank) ? logos?.bank : BecomePartnerImg}\r\n />\r\n </Box>\r\n </Stack>\r\n <Typography\r\n component=\"h1\"\r\n variant=\"h6\"\r\n color=\"inherit\"\r\n noWrap\r\n className={classes.title}\r\n >\r\n <Box\r\n style={{\r\n marginBottom: \"8px\",\r\n fontSize: \"17px\",\r\n color: \"var(--theme-color1)\",\r\n width: \"555px\",\r\n }}\r\n className={clsx({\r\n [classes.marquee]: authState?.companyName.length > 55,\r\n })}\r\n >\r\n {authState?.companyName || \"\"}\r\n </Box>\r\n <div style={{ display: \"flex\", gap: \"8px\" }}>\r\n <div style={{ color: \"var(--theme-color6)\" }}>\r\n <Typography\r\n variant=\"caption\"\r\n display=\"block\"\r\n lineHeight={0}\r\n fontSize={\"11px\"}\r\n >\r\n {t(\"appBar.Branch\")}:{authState?.user?.branchCode ?? \"001 \"}-\r\n {authState?.user?.branch ?? \"\"}\r\n </Typography>\r\n <Typography variant=\"caption\" display=\"inline\" fontSize={\"11px\"}>\r\n {t(\"appBar.WorkingDate\")}:{\" \"}\r\n {Boolean(authState?.workingDate)\r\n ? checkDateAndDisplay(\r\n format(new Date(authState?.workingDate), \"dd/MM/yyyy\"),\r\n // authState?.workingDate ?? \"\"\r\n )\r\n : \"not found\"}\r\n </Typography>\r\n <Typography\r\n marginLeft={1}\r\n variant=\"caption\"\r\n display=\"inline\"\r\n fontSize={\"11px\"}\r\n >\r\n {t(\"appBar.LastLoginDate\")} :{\" \"}\r\n {checkDateAndDisplay(authState?.user?.lastLogin ?? \"Vastrapur\")}\r\n </Typography>\r\n </div>\r\n </div>\r\n </Typography>\r\n <Box>\r\n {!hideGreetings ? (\r\n <Box sx={{ marginBottom: \"3px\", paddingRight: \"15px\" }}>\r\n <Stack\r\n direction=\"row\"\r\n spacing={2}\r\n justifyContent={\"flex-end\"}\r\n alignItems={\"center\"}\r\n >\r\n <Typography fontSize={\"17px\"} color={\"#1C1C1C\"}>\r\n {Greetings()} {authState?.user?.id ?? \"\"}\r\n </Typography>\r\n <img src={Waving_hand} alt=\"\" style={{ height: \"18px\" }} />\r\n </Stack>\r\n </Box>\r\n ) : null}\r\n <Box\r\n display={\"flex\"}\r\n justifyContent={\"space-evenly\"}\r\n alignItems={\"center\"}\r\n >\r\n {SearchComponent ? <SearchComponent /> : null}\r\n {LanguageComponent ? <LanguageComponent /> : null}\r\n\r\n <Box maxWidth={170} display={\"flex\"} justifyContent={\"end\"}>\r\n <Tooltip title=\"Logout\" placement=\"bottom\" arrow>\r\n <IconButton\r\n onClick={() =>\r\n typeof handleLogout === \"function\" ? handleLogout() : null\r\n }\r\n color=\"error\"\r\n sx={{\r\n backgroundColor: \"rgba(235, 237, 238, 0.45)\",\r\n\r\n borderRadius: \"10px\",\r\n height: \"30px\",\r\n width: \"30px\",\r\n \"&:hover\": {\r\n background: \"var(--white)\",\r\n borderRadius: \"10px\",\r\n transition: \"all 0.2s ease 0s\",\r\n boxShadow:\r\n \"rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px\",\r\n \"& .MuiSvgIcon-root\": {\r\n height: \"32px\",\r\n width: \"32px\",\r\n transition: \"all 0.2s ease 0s\",\r\n padding: \"4px\",\r\n },\r\n },\r\n }}\r\n aria-label=\"show 4 new mails\"\r\n >\r\n <LogoutIcon />\r\n </IconButton>\r\n </Tooltip>\r\n </Box>\r\n </Box>\r\n </Box>\r\n <Stack direction=\"row\" spacing={4} ml={1}>\r\n <Box\r\n className={classes.heading_user_img_border}\r\n sx={{ cursor: \"pointer\" }}\r\n >\r\n <LightTooltip\r\n title={\r\n <>\r\n <div>\r\n {\" \"}\r\n {t(\"appBar.UserID\")}: {authState?.user?.id}\r\n </div>\r\n <div>\r\n {t(\"appBar.Role\")} : {authState?.roleName}\r\n </div>\r\n <div>{t(\"appBar.LastUnsuccessfulLogin\")} : \"\"</div>\r\n </>\r\n }\r\n placement=\"bottom-start\"\r\n >\r\n <Avatar\r\n className={classes.heading_user_img}\r\n onClick={() =>\r\n typeof handleProfile === \"function\" ? handleProfile() : null\r\n }\r\n alt=\"Remy Sharp\"\r\n src={profilePic ?? \"\"}\r\n />\r\n </LightTooltip>\r\n </Box>\r\n </Stack>\r\n </Toolbar>\r\n </AppBar>\r\n );\r\n};\r\n\r\nexport const checkDateAndDisplay = (dateStr: string) => {\r\n // const dt = new Date(dateStr);\r\n // //@ts-ignore\r\n // if (dt instanceof Date && !isNaN(dt)) {\r\n // return dt.toDateString();\r\n // }\r\n if (Boolean(dateStr)) {\r\n return dateStr;\r\n }\r\n return \"N/A\";\r\n};\r\n","import { Theme } from \"@mui/material\";\r\nimport { makeStyles } from \"@mui/styles\";\r\n\r\nconst drawerWidth = 227;\r\n\r\nexport const useStyles = makeStyles((theme: Theme) => {\r\n return {\r\n drawerPaper: {\r\n position: \"relative\",\r\n whiteSpace: \"nowrap\",\r\n width: drawerWidth,\r\n transition: theme.transitions.create(\"width\", {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n border: \"none\",\r\n overflow: \"hidden\",\r\n zIndex: 120,\r\n },\r\n drawerPaperClose: {\r\n overflowX: \"hidden\",\r\n transition: theme.transitions.create(\"width\", {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n width: theme.spacing(8),\r\n [theme.breakpoints.up(\"sm\")]: {\r\n width: theme.spacing(8),\r\n },\r\n },\r\n toolbarIcon: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n zIndex: 9999,\r\n ...theme.mixins.toolbar,\r\n background: \"var(--white)\",\r\n justifyContent: \"center\",\r\n height: \"80px\",\r\n // borderBottom: \"1px dashed #949597\",\r\n },\r\n hrCSS: {\r\n zIndex: 9999,\r\n },\r\n buttonLink: {\r\n backgroundColor: \"transparent\",\r\n border: \"none\",\r\n cursor: \"pointer\",\r\n textDecoration: \"underline\",\r\n display: \"inline\",\r\n margin: 0,\r\n padding: 0,\r\n \"&:focus\": {\r\n textDecoration: \"none\",\r\n },\r\n \"$:hover\": {\r\n textDecoration: \"none\",\r\n },\r\n },\r\n };\r\n});\r\n\r\n/*\r\n \r\n*/\r\n","import { NavItemType } from \"./navigation\";\r\n\r\nexport const reportMetaData: NavItemType[] = [];\r\n","// import { createTheme } from \"@mui/material\";\r\nimport { makeStyles } from \"@mui/styles\";\r\n// const theme = createTheme();\r\n\r\nexport const useStylesBootstrapNav = makeStyles((theme: any) => ({\r\n navBarCSS: {\r\n padding: \"4px 1rem \",\r\n backgroundColor: \"#fff !important\",\r\n minHeight: \"64px\",\r\n boxShadow: \"0 3px 6px rgba(0,0,0,0.03)\",\r\n margin: \"10px\",\r\n },\r\n headerDropdown: {\r\n backgroundColor: \"#fff\",\r\n minWidth: \"205px\",\r\n boxShadow: \"0 3px 6px rgba(0,0,0,0.16)\",\r\n textDecoration: \"none\",\r\n borderBottom: \"3px solid #26A456\",\r\n },\r\n navLinkHeader: {\r\n color: \"#555\",\r\n fontSize: \"14px\",\r\n lineHeight: \"1.2\",\r\n paddingTop: \"4px\",\r\n paddingBottom: \"4px\",\r\n paddingRight: \".5rem\",\r\n paddingLeft: \".5rem\",\r\n fontWeight: 600,\r\n textTransform: \"capitalize\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n cursor: \"pointer\",\r\n\r\n \"& hover\": {\r\n color: \"#0b6fb8\",\r\n },\r\n },\r\n productLink: {\r\n color: \"#555\",\r\n padding: \"0 1rem 8px 1rem\",\r\n display: \"inline-block\",\r\n verticalAlign: \"middle\",\r\n cursor: \"pointer\",\r\n textTransform: \"capitalize\",\r\n },\r\n font13: {\r\n fontSize: \"13px\",\r\n },\r\n loginDropdown: {\r\n width: \"160px\",\r\n },\r\n}));\r\n\r\nexport const useStylesSideBar = makeStyles((theme: any) => ({\r\n root: {\r\n justifyContent: \"center\",\r\n },\r\n drawer: {\r\n margin: \"5px\",\r\n },\r\n item: {\r\n display: \"flex\",\r\n //borderBottom: \"2px solid #93242433\",\r\n borderRadius: \"8px\",\r\n marginLeft: \"7px\",\r\n marginTop: \"6.5px\",\r\n width: \"90%\",\r\n height: \"50px\",\r\n paddingLeft: theme.spacing(2),\r\n paddingRight: theme.spacing(2),\r\n background: \"var(--white)\",\r\n boxShadow: \"3px 6px 9px rgba(93, 95, 121, 0.26)\",\r\n \"& svg\": {\r\n // color: theme.palette.primary.main,\r\n color: \"var(--theme-color1)\",\r\n },\r\n \"&:hover\": {\r\n boxShadow:\r\n \"6px 6px 1px -1px rgba(0,0,0,0.2), 0px 1px 1px 0px rgba(0,0,0,0.14), 0px 1px 0px 0px rgba(0,0,5,0.12)\",\r\n background: \"var(--theme-color4)\",\r\n transition: \"0.6s ease\",\r\n },\r\n },\r\n drawerIconSize: {\r\n width: \"50px\",\r\n height: \"50px\",\r\n padding: \"18px\",\r\n justifyItems: \"cenetr\",\r\n },\r\n button: {\r\n color: \"#0063A3\",\r\n padding: \"10px 8px\",\r\n //justifyContent: \"flex-start\",\r\n textTransform: \"none\",\r\n letterSpacing: 0,\r\n width: \"100%\",\r\n textAlign: \"left\",\r\n \"&:hover\": {\r\n backgroundColor: \"var(--theme-color1)\",\r\n // boxShadow: \"0px 15px 20px rgb(221 176 176 / 37%)\",\r\n },\r\n },\r\n btnRoot: {\r\n paddingLeft: \"24px\",\r\n justifyContent: \"left \",\r\n },\r\n navLinks: {\r\n // height: \"calc(100vh - 78px)\",\r\n overflowY: \"auto\",\r\n overflowX: \"hidden\",\r\n // height:\"100px\",\r\n backgroundColor: \"rgba(250, 251, 255, 0.9);\",\r\n // height: \"calc(100vh - 230px)\",\r\n //background: \"var(--theme-color1)\",\r\n // marginTop: \"25px\",\r\n // boxShadow: \"0 3px 6px rgba(255, 99, 71, 0.3)\",\r\n borderRadius: \"10px\",\r\n paddingTop: \"5px\",\r\n //margin: \"5px\",\r\n },\r\n navLinksforseparateView: {\r\n overflowY: \"auto\",\r\n overflowX: \"hidden\",\r\n height: \"calc(100vh - 180px)\",\r\n // height:\"auto\",\r\n paddingTop: \"10px\",\r\n },\r\n nestedMenuLevel1: {\r\n paddingLeft: \"20px\",\r\n marginTop: \"11px\",\r\n paddingRight: theme.spacing(3),\r\n height: \"auto\",\r\n fontSize: \"13px\",\r\n \"& div > svg\": {\r\n fontSize: \"14px\",\r\n },\r\n },\r\n nestedMenuLevel2: {\r\n paddingLeft: \"20px\",\r\n marginTop: \"11px\",\r\n fontSize: \"12px\",\r\n \"& div > svg\": {\r\n fontSize: \"9px\",\r\n },\r\n },\r\n listIcon: {\r\n minWidth: \"30px !important\",\r\n justifyItems: \"center\",\r\n color: \"var(--theme-color6)\",\r\n fontWeight: 700,\r\n fontSize: \"18px\",\r\n },\r\n link: {\r\n fontSize: \"1rem \",\r\n marginTop: \"2px\",\r\n marginBottom: \"2px\",\r\n textOverflow: \"ellipsis\",\r\n color: \"var(--theme-color1)\",\r\n marginLeft: \"15px\",\r\n whiteSpace: \"break-spaces\",\r\n \"& span\": {\r\n fontWeight: 400,\r\n whiteSpace: \"break-spaces\",\r\n },\r\n \"& p\": {\r\n color: \"var(--theme-color3)\",\r\n fontweight: 400,\r\n },\r\n },\r\n linktext: {\r\n backgroundColor: \"var(--white)\",\r\n \"&:hover\": {\r\n background: \"var(--theme-color1)\",\r\n \"& div\": {\r\n color: \"var(--white) !important\",\r\n },\r\n \"& div > svg\": {\r\n color: \"var(--white) !important\",\r\n },\r\n },\r\n },\r\n faSmall: {\r\n fontSize: \"13px \",\r\n },\r\n openList: {\r\n \":not(activeMenuItem)\": {\r\n \"& > div\": {\r\n backgroundColor: \"rgba(0, 0, 0, 0.04)\",\r\n },\r\n \"& *\": {\r\n color: \"var(--white)\",\r\n },\r\n },\r\n },\r\n openCurrent: {\r\n backgroundColor: \"var(--theme-color1)\",\r\n \"& *\": {\r\n color: \"var(--white)\",\r\n },\r\n \"&:hover\": {\r\n backgroundColor: \"var(--theme-color1)\",\r\n },\r\n },\r\n slimList: {\r\n paddingTop: \"15px\",\r\n paddingBottom: \"13px\",\r\n height: \"auto\",\r\n paddingLeft: \"15px\",\r\n justifyItems: \"center\",\r\n },\r\n activeMenuItem: {\r\n backgroundColor: \"var(--theme-color1)!important \", //\"var(--white)!important\",\r\n\r\n \"& > div\": {\r\n color: \"var(--white)!important\",\r\n },\r\n \"& svg\": {\r\n color: \"var(--theme-color4)\",\r\n },\r\n \"& hover\": {\r\n \"& > div\": {\r\n color: \"var(--theme-color3)\",\r\n },\r\n },\r\n \"& p\": {\r\n color: \"var(--theme-color6)\",\r\n },\r\n },\r\n}));\r\n","import { FC } from \"react\";\r\nimport { useState } from \"react\";\r\nimport { NavigateFunction } from \"react-router-dom\";\r\nimport clsx from \"clsx\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { NavItemType, SideBarRendererType } from \"./types\";\r\nimport { useStylesSideBar } from \"./style\";\r\nimport ScrollBar from \"react-perfect-scrollbar\";\r\nimport {\r\n Collapse,\r\n List,\r\n ListItem,\r\n ListItemIcon,\r\n ListItemText,\r\n Tooltip,\r\n} from \"@mui/material\";\r\nimport { ExpandLess, ExpandMore } from \"@mui/icons-material\";\r\nlet localdrawerOpen = true;\r\n\r\ninterface SideBarNavProps extends SideBarRendererType {\r\n rootUrl: string;\r\n dashboardUrl?: string;\r\n navigate: NavigateFunction;\r\n}\r\n\r\nexport const SideBarNav: FC<SideBarNavProps> = ({\r\n metaData,\r\n handleDrawerOpen,\r\n drawerOpen,\r\n setView,\r\n slimSize,\r\n setNewFilterData,\r\n setNewFilterView,\r\n isFromSeparetView = false,\r\n rootUrl,\r\n dashboardUrl,\r\n navigate,\r\n}) => {\r\n const classes = useStylesSideBar();\r\n let result: JSX.Element[] | null = null;\r\n localdrawerOpen = drawerOpen;\r\n if (Array.isArray(metaData.navItems)) {\r\n result = metaData.navItems.map((one) => {\r\n if (one?.seperateView === true) {\r\n return (\r\n <SeperateListView\r\n key={one.label}\r\n item={one}\r\n setView={setView}\r\n classes={classes}\r\n level={0}\r\n slimSize={slimSize}\r\n setNewFilterData={setNewFilterData}\r\n setNewFilterView={setNewFilterView}\r\n />\r\n );\r\n } else if (Array.isArray(one.children)) {\r\n return (\r\n <NestedListItem\r\n key={one.label}\r\n item={one}\r\n classes={classes}\r\n level={0}\r\n handleDrawerOpen={handleDrawerOpen}\r\n drawerOpen={drawerOpen}\r\n slimSize={slimSize}\r\n rootUrl={rootUrl}\r\n dashboardUrl={dashboardUrl}\r\n navigate={navigate}\r\n />\r\n );\r\n } else {\r\n return (\r\n <SingleListItem\r\n key={one.label}\r\n item={one}\r\n classes={classes}\r\n level={0}\r\n slimSize={slimSize}\r\n drawerOpen={drawerOpen}\r\n rootUrl={rootUrl}\r\n dashboardUrl={dashboardUrl}\r\n navigate={navigate}\r\n />\r\n );\r\n }\r\n });\r\n }\r\n return (\r\n <List\r\n component=\"nav\"\r\n disablePadding\r\n className={\r\n isFromSeparetView ? classes.navLinksforseparateView : classes.navLinks\r\n }\r\n >\r\n <ScrollBar>{result}</ScrollBar>\r\n </List>\r\n );\r\n};\r\n\r\nconst SeperateListView: FC<{\r\n item: NavItemType;\r\n setView: any;\r\n classes: ReturnType<typeof useStylesSideBar>;\r\n level: number;\r\n slimSize?: boolean;\r\n setNewFilterData?: any;\r\n setNewFilterView?: any;\r\n}> = ({\r\n item,\r\n setView,\r\n level,\r\n classes,\r\n slimSize,\r\n setNewFilterData,\r\n setNewFilterView,\r\n}) => {\r\n let labelStart: any =\r\n (item.label || \"\").toLowerCase().substring(0, 1) || \"circle\";\r\n // const icon = item.icon ? (\r\n // <ListItemIcon className={classes.listIcon}>\r\n // <FontAwesomeIcon icon={[\"fas\", labelStart]} />\r\n // </ListItemIcon>\r\n // ) : null;\r\n\r\n const icon =\r\n item.icon?.toLowerCase() !== \"process.gif\" && item.icon ? (\r\n <ListItemIcon className={classes.listIcon}>\r\n <FontAwesomeIcon icon={[\"fas\", item.icon]} />\r\n </ListItemIcon>\r\n ) : (\r\n <ListItemIcon className={classes.listIcon}>\r\n <FontAwesomeIcon icon={[\"fas\", labelStart]} />\r\n </ListItemIcon>\r\n );\r\n\r\n const levelClassName =\r\n level === 1\r\n ? classes.nestedMenuLevel1\r\n : level === 2\r\n ? classes.nestedMenuLevel2\r\n : \"\";\r\n\r\n return (\r\n <ListItem\r\n button\r\n disableGutters\r\n className={clsx({\r\n [classes.item]: true,\r\n [levelClassName]: Boolean(levelClassName),\r\n [classes.slimList]: Boolean(slimSize),\r\n [classes.drawerIconSize]: !localdrawerOpen,\r\n })}\r\n onClick={() => {\r\n if (item.viewName === \"newfilterview\" && Array.isArray(item.children)) {\r\n setNewFilterView({\r\n label: item.label,\r\n placeholder: \"Search \" + item.label + \" Screen...\",\r\n });\r\n let newChield = item.children.map((item1) => {\r\n return { ...item1, secondaryLabel: item1.user_code };\r\n });\r\n setNewFilterData(newChield);\r\n }\r\n setView(item.viewName);\r\n }}\r\n >\r\n <Tooltip\r\n title={item.label}\r\n arrow={true}\r\n placement={localdrawerOpen ? \"bottom-start\" : \"right\"}\r\n >\r\n <span>{icon}</span>\r\n </Tooltip>\r\n {(localdrawerOpen && item.label.length > 27) || !Boolean(icon) ? (\r\n <Tooltip\r\n title={item.label}\r\n arrow={true}\r\n placement={localdrawerOpen ? \"bottom-start\" : \"right\"}\r\n >\r\n <ListItemText\r\n primary={item.label}\r\n className={classes.link}\r\n secondary={item.secondaryLabel ?? null}\r\n ></ListItemText>\r\n </Tooltip>\r\n ) : localdrawerOpen ? (\r\n <ListItemText\r\n primary={item.label}\r\n className={classes.link}\r\n secondary={item.secondaryLabel ?? null}\r\n ></ListItemText>\r\n ) : null}\r\n </ListItem>\r\n );\r\n};\r\n\r\nconst SingleListItem: FC<{\r\n item: NavItemType;\r\n classes: ReturnType<typeof useStylesSideBar>;\r\n level: number;\r\n slimSize?: boolean;\r\n drawerOpen?: any;\r\n rootUrl: string;\r\n dashboardUrl?: string;\r\n navigate: NavigateFunction;\r\n}> = ({\r\n item,\r\n classes,\r\n level,\r\n slimSize,\r\n drawerOpen,\r\n rootUrl,\r\n dashboardUrl,\r\n navigate,\r\n}) => {\r\n const isActiveMenu = isActiveMenuFromhref(\r\n window.location?.pathname ?? \"\",\r\n item?.href ?? \"\",\r\n item?.navigationProps,\r\n rootUrl,\r\n dashboardUrl,\r\n );\r\n if (isActiveMenu) {\r\n // GeneralAPI.setDocumentName(item.label);\r\n let titleText = document.title;\r\n document.title = titleText.split(\" - \")[0] + \" - \" + item.label;\r\n }\r\n let labelStart: any =\r\n (item.label || \"\").toLowerCase().substring(0, 1) || \"circle\";\r\n\r\n const icon =\r\n item.icon.toLowerCase() === \"process.gif\" || !Boolean(item.icon) ? (\r\n <ListItemIcon className={classes.listIcon}>\r\n <FontAwesomeIcon icon={[\"fas\", labelStart]} />\r\n </ListItemIcon>\r\n ) : (\r\n <ListItemIcon className={classes.listIcon}>\r\n <FontAwesomeIcon icon={[\"fas\", item.icon]} />\r\n </ListItemIcon>\r\n );\r\n const levelClassName =\r\n level === 1\r\n ? classes.nestedMenuLevel1\r\n : level === 2\r\n ? classes.nestedMenuLevel2\r\n : \"\";\r\n return (\r\n <ListItem\r\n button\r\n disableGutters\r\n className={clsx({\r\n [classes.item]: true,\r\n [levelClassName]: Boolean(levelClassName),\r\n [classes.slimList]: Boolean(slimSize),\r\n [classes.activeMenuItem]: isActiveMenu,\r\n [classes.drawerIconSize]: !localdrawerOpen,\r\n })}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n if (item.isRouterLink) {\r\n let path = item.href;\r\n path =\r\n item.href?.substring(0, 1) === \"/\"\r\n ? item.href.substring(1)\r\n : item.href;\r\n if (item.passNavigationPropsAsURLParmas) {\r\n let urlParms = new URLSearchParams(item?.navigationProps);\r\n navigate(`${path}?${urlParms.toString()}`);\r\n } else {\r\n navigate(`${path}` as string, {\r\n state: { ...item?.navigationProps },\r\n });\r\n }\r\n } else if (Boolean(item.href)) {\r\n window.open(item.href, item.rel ?? \"_newtab\");\r\n }\r\n }}\r\n >\r\n <Tooltip\r\n title={item.label}\r\n arrow={true}\r\n placement={localdrawerOpen ? \"bottom-start\" : \"right\"}\r\n >\r\n <span>{icon}</span>\r\n </Tooltip>\r\n {/* {console.log(localdrawerOpen, item.label.length)} */}\r\n {(localdrawerOpen && item.label.length > 27) || !Boolean(icon) ? (\r\n <Tooltip\r\n title={item.label}\r\n arrow={true}\r\n placement={localdrawerOpen ? \"bottom-start\" : \"right\"}\r\n >\r\n <ListItemText\r\n primary={item.label}\r\n className={classes.link}\r\n secondary={item.secondaryLabel ?? null}\r\n ></ListItemText>\r\n </Tooltip>\r\n ) : localdrawerOpen ? (\r\n <ListItemText\r\n primary={item.label}\r\n className={classes.link}\r\n secondary={item.secondaryLabel ?? null}\r\n ></ListItemText>\r\n ) : null}\r\n {/* <ListItemText\r\n primary={item.label}\r\n className={classes.link}\r\n secondary={item.secondaryLabel ?? null}\r\n ></ListItemText> */}\r\n </ListItem>\r\n );\r\n};\r\n\r\nconst NestedListItem: FC<{\r\n item: NavItemType;\r\n classes: ReturnType<typeof useStylesSideBar>;\r\n level: number;\r\n handleDrawerOpen: Function;\r\n drawerOpen: boolean;\r\n slimSize?: boolean;\r\n rootUrl: string;\r\n dashboardUrl?: string;\r\n navigate: NavigateFunction;\r\n}> = ({\r\n item,\r\n classes,\r\n level,\r\n handleDrawerOpen,\r\n drawerOpen,\r\n slimSize,\r\n rootUrl,\r\n navigate,\r\n}) => {\r\n const [open, setOpen] = useState(false);\r\n const handleClick = () => {\r\n if (!drawerOpen) {\r\n // handleDrawerOpen();\r\n }\r\n setOpen(!open);\r\n };\r\n const childrens = item.children?.map((one) => {\r\n if (Array.isArray(one.children)) {\r\n return (\r\n <NestedListItem\r\n key={one.label}\r\n item={one}\r\n classes={classes}\r\n level={level + 1}\r\n handleDrawerOpen={handleDrawerOpen}\r\n drawerOpen={drawerOpen}\r\n slimSize={slimSize}\r\n rootUrl={rootUrl}\r\n navigate={navigate}\r\n />\r\n );\r\n } else {\r\n return (\r\n <SingleListItem\r\n key={one.label}\r\n item={one}\r\n classes={classes}\r\n level={level + 1}\r\n slimSize={slimSize}\r\n rootUrl={rootUrl}\r\n navigate={navigate}\r\n />\r\n );\r\n }\r\n });\r\n let labelStart: any =\r\n (item.label || \"\").toLowerCase().substring(0, 1) || \"circle\";\r\n\r\n const icon =\r\n item.icon?.toLowerCase() === \"process.gif\" || !Boolean(item.icon) ? (\r\n <ListItemIcon className={classes.listIcon}>\r\n <FontAwesomeIcon icon={[\"fas\", labelStart]} />\r\n </ListItemIcon>\r\n ) : (\r\n <ListItemIcon className={classes.listIcon}>\r\n <FontAwesomeIcon icon={[\"fas\", item.icon]} />\r\n </ListItemIcon>\r\n );\r\n\r\n const levelClassName =\r\n level === 1\r\n ? classes.nestedMenuLevel1\r\n : level === 2\r\n ? classes.nestedMenuLevel2\r\n : \"\";\r\n return (\r\n <>\r\n <ListItem\r\n button\r\n onClick={handleClick}\r\n disableGutters\r\n className={\r\n open\r\n ? clsx({\r\n [classes.item]: true,\r\n [levelClassName]: Boolean(levelClassName),\r\n [classes.slimList]: Boolean(slimSize),\r\n [classes.openCurrent]: true,\r\n [classes.drawerIconSize]: !localdrawerOpen,\r\n })\r\n : clsx({\r\n [classes.item]: true,\r\n [levelClassName]: Boolean(levelClassName),\r\n [classes.slimList]: Boolean(slimSize),\r\n [classes.drawerIconSize]: !localdrawerOpen,\r\n })\r\n }\r\n >\r\n <Tooltip\r\n title={item.label}\r\n arrow={true}\r\n placement={localdrawerOpen ? \"bottom-start\" : \"right\"}\r\n >\r\n <span>{icon}</span>\r\n </Tooltip>\r\n {/* {icon} */}\r\n {drawerOpen || !Boolean(icon) ? (\r\n <>\r\n <ListItemText\r\n primary={item.label}\r\n secondary={item.secondaryLabel ?? null}\r\n color=\"primary\"\r\n className={classes.link}\r\n ></ListItemText>\r\n {open ? <ExpandLess /> : <ExpandMore />}\r\n </>\r\n ) : null}\r\n </ListItem>\r\n\r\n <Collapse in={open} timeout=\"auto\" unmountOnExit>\r\n <List\r\n component=\"div\"\r\n disablePadding\r\n className={open ? classes.openList : \"\"}\r\n >\r\n {childrens}\r\n </List>\r\n </Collapse>\r\n </>\r\n );\r\n};\r\nconst isActiveMenuFromhref = (\r\n location,\r\n menuhref,\r\n navigationProps,\r\n rootUrl,\r\n dashboardUrl,\r\n) => {\r\n if (\r\n (location === `/${rootUrl}` || location === `/${rootUrl}/`) &&\r\n menuhref === dashboardUrl\r\n ) {\r\n return true;\r\n } else if (menuhref === \"report\") {\r\n try {\r\n let urlParms = new URLSearchParams(navigationProps);\r\n if (\"?\" + urlParms.toString() === window.location.search) {\r\n return true;\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n return false;\r\n } else if (\r\n location !== `/${rootUrl}` &&\r\n location !== \"/\" &&\r\n Boolean(menuhref) &&\r\n location.includes(menuhref)\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n","import { NavItemType } from \"./types\";\r\n\r\nconst matchByValue = (search, tags, navItem) => {\r\n if (!Array.isArray(tags)) {\r\n tags = [tags];\r\n }\r\n return tags.some((one) =>\r\n navItem[one]\r\n ?.toLocaleLowerCase?.()\r\n ?.includes(search?.toLocaleLowerCase?.()),\r\n );\r\n};\r\n\r\nexport const filterMetaDataByValue = (\r\n searchString: string,\r\n navItems: NavItemType[],\r\n tagsToSearch?: string[],\r\n): NavItemType[] => {\r\n let newNavItems: NavItemType[] = [];\r\n for (let i = 0; i < navItems.length; i++) {\r\n if (matchByValue(searchString, tagsToSearch, navItems[i])) {\r\n let { children, ...newItem } = navItems[i];\r\n if (Array.isArray(children) && children.length > 0) {\r\n let newChildren = filterMetaDataByValue(\r\n searchString,\r\n children,\r\n tagsToSearch,\r\n );\r\n if (newChildren.length > 0) {\r\n newNavItems.push({ ...newItem, children: newChildren });\r\n }\r\n } else {\r\n newNavItems.push({ ...newItem });\r\n }\r\n }\r\n }\r\n return newNavItems;\r\n};\r\n","import { FC, useMemo, useState } from \"react\";\r\nimport clsx from \"clsx\";\r\nimport { SearchBar } from \"@acuteinfo/common-base\";\r\nimport ArrowBackIosNewIcon from \"@mui/icons-material/ArrowBackIosNew\";\r\nimport { useStylesSideBar } from \"./style\";\r\nimport { filterMetaDataByValue } from \"./filterMetaData\";\r\nimport { SideBarNav } from \"./sideBarNavigation\";\r\nimport { SideBarRendererType } from \"./types\";\r\nimport { ListItem, ListItemIcon, ListItemText } from \"@mui/material\";\r\nimport { NavigateFunction } from \"react-router-dom\";\r\n\r\ninterface NewSideBarNav extends SideBarRendererType {\r\n label: string;\r\n icon?: any;\r\n placeholder?: any;\r\n rootUrl: string;\r\n dashboardUrl?: string;\r\n navigate: NavigateFunction;\r\n}\r\n\r\nexport const SearchViewNavigation: FC<NewSideBarNav> = ({\r\n metaData,\r\n handleDrawerOpen,\r\n drawerOpen,\r\n setView,\r\n label,\r\n icon,\r\n placeholder = \"Search Reports...\",\r\n rootUrl,\r\n dashboardUrl,\r\n navigate,\r\n}) => {\r\n const [search, setSearch] = useState(\"\");\r\n const filteredMetaData = useMemo(() => {\r\n return filterMetaDataByValue(search, metaData.navItems, [\r\n \"label\",\r\n \"secondaryLabel\",\r\n ]);\r\n }, [search, metaData.navItems]);\r\n const classes = useStylesSideBar();\r\n\r\n const myIcon = icon ? (\r\n <ListItemIcon className={classes.listIcon}>\r\n <ArrowBackIosNewIcon />\r\n </ListItemIcon>\r\n ) : null;\r\n const handleClick = () => {\r\n if (!drawerOpen) {\r\n handleDrawerOpen();\r\n }\r\n };\r\n return (\r\n <div style={{ display: \"flex\", flexDirection: \"column\" }}>\r\n <ListItem\r\n button\r\n className={clsx({\r\n [classes.item]: true,\r\n [classes.nestedMenuLevel1]: true,\r\n [classes.linktext]: true,\r\n })}\r\n onClick={() => setView(\"/\")}\r\n >\r\n {myIcon}\r\n <ListItemText primary={label} className={classes.link} />\r\n </ListItem>\r\n {/* <div onClick={handleDrawerOpen}> */}\r\n <SearchBar\r\n sx={{ overflow: \"hidden\" }}\r\n value={search}\r\n onChange={(e) => setSearch(e.target.value)}\r\n onClick={handleClick}\r\n placeholder={Boolean(placeholder) ? placeholder : \"Search Reports...\"}\r\n autoFocus={drawerOpen}\r\n />\r\n {/* </div> */}\r\n <SideBarNav\r\n handleDrawerOpen={handleDrawerOpen}\r\n drawerOpen={drawerOpen}\r\n setView={setView}\r\n metaData={{\r\n navItems: filteredMetaData,\r\n config: { rel: \"\", target: \"_blank\" },\r\n }}\r\n slimSize={true}\r\n isFromSeparetView={true}\r\n rootUrl={rootUrl}\r\n dashboardUrl={dashboardUrl}\r\n navigate={navigate}\r\n />\r\n </div>\r\n );\r\n};\r\n","import { library } from \"@fortawesome/fontawesome-svg-core\";\r\nimport {\r\n faHandsHelping,\r\n faUsers,\r\n faBars,\r\n faBalanceScale,\r\n faHandHoldingHeart,\r\n faTasks,\r\n faCog,\r\n faHome,\r\n faTh,\r\n faUsersCog,\r\n faCircle,\r\n faUserCircle,\r\n faHashtag,\r\n faThumbtack,\r\n faSquare,\r\n faLink,\r\n faQuestion,\r\n faPlus,\r\n faTable,\r\n faLocationArrow,\r\n faHeadset,\r\n faGears,\r\n faArrowDown,\r\n faArrowUp,\r\n faSpinner,\r\n faCircleExclamation,\r\n faRotateRight,\r\n faUserLock,\r\n faUserClock,\r\n faGripHorizontal,\r\n faBarsProgress,\r\n faFileExport,\r\n faFileLines,\r\n faGear,\r\n faHeadphones,\r\n faUsersGear,\r\n faMessage,\r\n faUnlock,\r\n faUserPlus,\r\n faUserCheck,\r\n faKey,\r\n faIdCard,\r\n faIdBadge,\r\n faCheck,\r\n faCheckDouble,\r\n faCircleCheck,\r\n faPenToSquare,\r\n faCircleXmark,\r\n faUserTag,\r\n faAddressCard,\r\n faChartColumn,\r\n faUserPen,\r\n faHandHolding,\r\n faHandHoldingMedical,\r\n faObjectGroup,\r\n faTowerCell,\r\n faTowerObservation,\r\n faBuilding,\r\n faMailBulk,\r\n faLandmarkFlag,\r\n faCreditCard,\r\n faHospitalSymbol,\r\n faPlugCircleBolt,\r\n faCodeBranch,\r\n faPersonCircleCheck,\r\n faBank,\r\n faServer,\r\n faNotesMedical,\r\n faA,\r\n faB,\r\n faC,\r\n faD,\r\n faE,\r\n faF,\r\n faG,\r\n faH,\r\n faI,\r\n faJ,\r\n faK,\r\n faL,\r\n faM,\r\n faN,\r\n faO,\r\n faP,\r\n faQ,\r\n faR,\r\n faS,\r\n faT,\r\n faU,\r\n faV,\r\n faW,\r\n faX,\r\n faY,\r\n faZ,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nlibrary.add(\r\n faHandsHelping,\r\n faUsers,\r\n faBars,\r\n faBalanceScale,\r\n faHandHoldingHeart,\r\n faTasks,\r\n faCog,\r\n faHome,\r\n faTh,\r\n faUsersCog,\r\n faCircle,\r\n faUserCircle,\r\n faHashtag,\r\n faThumbtack,\r\n faSquare,\r\n faLink,\r\n faQuestion,\r\n faPlus,\r\n faTable,\r\n faLocationArrow,\r\n faHeadset,\r\n faGears,\r\n faArrowDown,\r\n faArrowUp,\r\n faSpinner,\r\n faCircleExclamation,\r\n faRotateRight,\r\n faUserLock,\r\n faUserClock,\r\n faGripHorizontal,\r\n faFileLines,\r\n faGear,\r\n faHeadphones,\r\n faUsersGear,\r\n faMessage,\r\n faUnlock,\r\n faUserPlus,\r\n faUserCheck,\r\n faKey,\r\n faIdCard,\r\n faIdBadge,\r\n faCheck,\r\n faCheckDouble,\r\n faCircleCheck,\r\n faCircleXmark,\r\n faUserTag,\r\n faAddressCard,\r\n faChartColumn,\r\n faUserPen,\r\n faHandHolding,\r\n faHandHoldingMedical,\r\n faObjectGroup,\r\n faTowerCell,\r\n faTowerObservation,\r\n faBuilding,\r\n faMailBulk,\r\n faLandmarkFlag,\r\n faCreditCard,\r\n faHospitalSymbol,\r\n faPlugCircleBolt,\r\n faCodeBranch,\r\n faPersonCircleCheck,\r\n faBank,\r\n faServer,\r\n faNotesMedical,\r\n faPenToSquare,\r\n faBarsProgress,\r\n faFileExport,\r\n faA,\r\n faB,\r\n faC,\r\n faD,\r\n faE,\r\n faF,\r\n faG,\r\n faH,\r\n faI,\r\n faJ,\r\n faK,\r\n faL,\r\n faM,\r\n faN,\r\n faO,\r\n faP,\r\n faQ,\r\n faR,\r\n faS,\r\n faT,\r\n faU,\r\n faV,\r\n faW,\r\n faX,\r\n faY,\r\n faZ,\r\n);\r\n","import { NavBarMetaDataType, NavItemType } from \"./navigation\";\r\nimport { cloneDeep } from \"lodash\";\r\n\r\nexport const transformMetaDataAsPerRole = (\r\n metaData: NavBarMetaDataType,\r\n role: number,\r\n branches: string[],\r\n company: string,\r\n access: any,\r\n products: string[],\r\n) => {\r\n let navItems = filterMetaData(\r\n metaData.navItems,\r\n role,\r\n branches,\r\n company,\r\n access,\r\n products,\r\n );\r\n //console.log(navItems);\r\n let newnavItem = navItems.map((item) => {\r\n let { children, ...newItem } = item;\r\n if (Array.isArray(children) && children.length > 5) {\r\n if (!Boolean(newItem.seperateView)) {\r\n newItem.seperateView = true;\r\n newItem.viewName = \"newfilterview\";\r\n //console.log(newItem);\r\n }\r\n }\r\n return { ...newItem, children: children };\r\n });\r\n return {\r\n config: metaData.config,\r\n navItems: newnavItem,\r\n };\r\n};\r\nexport const transformMetaDataAsPerMenuRights = (\r\n metaData: NavBarMetaDataType,\r\n authState: any,\r\n) => {\r\n let newMetadata = cloneDeep(metaData) as NavBarMetaDataType;\r\n let NavItem = filterMetaDataAsperRights(newMetadata.navItems, authState);\r\n newMetadata.navItems = NavItem;\r\n return newMetadata;\r\n};\r\nconst filterMetaDataAsperRights = (navItems, accessgroup) => {\r\n let newNavItems: NavItemType[] = [];\r\n for (let i = 0; i < navItems.length; i++) {\r\n let { children, ...newItem } = navItems[i];\r\n if (Array.isArray(children) && children.length > 0) {\r\n let newChildren = filterMetaDataAsperRights(children, accessgroup);\r\n if (newChildren.length > 0) {\r\n newNavItems.push({ ...newItem, children: newChildren });\r\n }\r\n } else {\r\n //if(newItem?.doccd) ///condition\r\n ///newNavItems.push({ ...newItem });\r\n }\r\n }\r\n return newNavItems;\r\n};\r\nconst matchBranches = (userBranches, accessBranches) => {\r\n if (!Array.isArray(accessBranches) || !Array.isArray(userBranches)) {\r\n return true;\r\n }\r\n if (accessBranches.length <= 0 || userBranches.length <= 0) {\r\n return true;\r\n }\r\n for (const one of accessBranches) {\r\n if (userBranches.indexOf(one) >= 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n};\r\n\r\nconst matchComany = (userCompany, accessCompany) => {\r\n if (!Array.isArray(accessCompany) || !Boolean(userCompany)) {\r\n return true;\r\n }\r\n if (accessCompany.length <= 0) {\r\n return true;\r\n }\r\n if (accessCompany.indexOf(userCompany) >= 0) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\nconst matchRoles = (userRole, accessRoles) => {\r\n if (!Array.isArray(accessRoles) || typeof userRole !== \"number\") {\r\n return true;\r\n }\r\n if (accessRoles.length <= 0) {\r\n return true;\r\n }\r\n if (accessRoles.indexOf(userRole) >= 0) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\nconst matchInvisibleRoles = (userRole, accessRoles) => {\r\n if (!Array.isArray(accessRoles) || typeof userRole !== \"number\") {\r\n return true;\r\n }\r\n if (accessRoles.length <= 0) {\r\n return true;\r\n }\r\n if (accessRoles.indexOf(userRole) >= 0) {\r\n return false;\r\n }\r\n return true;\r\n};\r\n\r\nconst matchProducts = (userProducts, accessProducts) => {\r\n if (!Array.isArray(accessProducts) || !Array.isArray(userProducts)) {\r\n return true;\r\n }\r\n if (accessProducts.length <= 0 || userProducts.length <= 0) {\r\n return true;\r\n }\r\n\r\n for (const one of accessProducts) {\r\n if (userProducts.indexOf(one) >= 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n};\r\nconst ishrefisNotNull = (item) => {\r\n if (\r\n !(Array.isArray(item.children) && item.children.length > 0) &&\r\n !Boolean(item.href)\r\n ) {\r\n //console.log(item);\r\n return false;\r\n }\r\n return true;\r\n};\r\nconst filterMetaData = (\r\n navItems: NavItemType[],\r\n role: number,\r\n branches: string[],\r\n company: string,\r\n access: any,\r\n products: string[],\r\n): NavItemType[] => {\r\n let newNavItems: NavItemType[] = [];\r\n for (let i = 0; i < navItems.length; i++) {\r\n if (\r\n matchRoles(Number(role), navItems[i].visibleToRoles) &&\r\n matchComany(company, navItems[i].visibleToCompanies) &&\r\n matchBranches(branches, navItems[i].visibleToBranches) &&\r\n matchInvisibleRoles(Number(role), navItems[i].invisibleToRoles) &&\r\n matchProducts(products, navItems[i].visibleToProducts) &&\r\n ishrefisNotNull(navItems[i])\r\n ) {\r\n let { children, ...newItem } = navItems[i];\r\n if (Array.isArray(children) && children.length > 0) {\r\n let newChildren = filterMetaData(\r\n children,\r\n role,\r\n branches,\r\n company,\r\n access,\r\n products,\r\n );\r\n if (newChildren.length > 0) {\r\n newNavItems.push({ ...newItem, children: newChildren });\r\n }\r\n } else {\r\n newNavItems.push({ ...newItem, secondaryLabel: newItem.system_code });\r\n }\r\n }\r\n }\r\n return newNavItems;\r\n};\r\n","import { FC, useMemo, useState } from \"react\";\r\nimport { reportMetaData } from \"./reportMetaData\";\r\nimport { SideBarNav } from \"./navigation\";\r\nimport { SearchViewNavigation } from \"./navigation/searchViewNavigation\";\r\nimport \"./icons\";\r\nimport { transformMetaDataAsPerRole } from \"./transformer\";\r\n\r\n/* eslint-disable react-hooks/exhaustive-deps */\r\nexport const SideBar = ({\r\n authState,\r\n handleDrawerOpen,\r\n open,\r\n rootUrl,\r\n dashboardUrl = \"dashboard\",\r\n navigate,\r\n}) => {\r\n const [view, setView] = useState(\"/\");\r\n const [NewFilterView, setNewFilterView] = useState<any>({});\r\n const [NewFilterData, setNewFilterData] = useState([]);\r\n\r\n const branches = useMemo(() => {\r\n let myBranches = authState?.access?.entities?.Branch ?? [];\r\n if (Array.isArray(myBranches) && myBranches.length >= 0) {\r\n return myBranches.map((one) => one.branchCode);\r\n } else {\r\n return [];\r\n }\r\n }, []);\r\n\r\n const products = useMemo(() => {\r\n let myProducts = authState?.access?.products ?? [];\r\n if (Array.isArray(myProducts) && myProducts.length >= 0) {\r\n return myProducts.map((one) => one.categoryCode);\r\n } else {\r\n return [];\r\n }\r\n }, []);\r\n let newMetaData = { navItems: authState.menulistdata };\r\n let filteredMetaDataSideBar = transformMetaDataAsPerRole(\r\n newMetaData,\r\n Number(authState.role),\r\n branches,\r\n authState.companyID,\r\n authState.access,\r\n products,\r\n );\r\n\r\n let filteredReportsMetaData = transformMetaDataAsPerRole(\r\n {\r\n config: { rel: \"\", target: \"_blank\" },\r\n navItems: reportMetaData,\r\n },\r\n Number(authState.role),\r\n branches,\r\n authState.companyID,\r\n authState.access,\r\n products,\r\n );\r\n return view === \"report\" ? (\r\n <SearchViewNavigation\r\n metaData={filteredReportsMetaData}\r\n handleDrawerOpen={handleDrawerOpen}\r\n drawerOpen={open}\r\n setView={setView}\r\n label=\"Reports\"\r\n icon=\"table\"\r\n rootUrl={rootUrl}\r\n dashboardUrl={dashboardUrl}\r\n navigate={navigate}\r\n />\r\n ) : view === \"newfilterview\" ? (\r\n <SearchViewNavigation\r\n metaData={{\r\n config: { rel: \"\", target: \"_blank\" },\r\n navItems: NewFilterData,\r\n }}\r\n handleDrawerOpen={handleDrawerOpen}\r\n drawerOpen={open}\r\n setView={setView}\r\n label={NewFilterView?.label ?? \"Reports\"}\r\n icon=\"table\"\r\n placeholder={NewFilterView?.placeholder}\r\n rootUrl={rootUrl}\r\n dashboardUrl={dashboardUrl}\r\n navigate={navigate}\r\n />\r\n ) : (\r\n <>\r\n <SideBarNav\r\n metaData={filteredMetaDataSideBar}\r\n handleDrawerOpen={handleDrawerOpen}\r\n drawerOpen={open}\r\n setView={setView}\r\n slimSize={true}\r\n setNewFilterData={setNewFilterData}\r\n setNewFilterView={setNewFilterView}\r\n rootUrl={rootUrl}\r\n dashboardUrl={dashboardUrl}\r\n navigate={navigate}\r\n />\r\n </>\r\n );\r\n};\r\n","import React from \"react\";\r\nimport { NavigateFunction } from \"react-router-dom\";\r\nimport clsx from \"clsx\";\r\nimport { useStyles } from \"./style\";\r\nimport { Drawer } from \"@mui/material\";\r\nimport { SideBar } from \"./sideBar\";\r\n\r\ninterface SidebarWrapperProps {\r\n authState: any;\r\n navigate: NavigateFunction;\r\n handleDrawerOpen: Function;\r\n handleDrawerClose?: Function;\r\n open: boolean;\r\n rootUrl: string;\r\n dashboardUrl?: string;\r\n}\r\n\r\nexport const SidebarWrapper: React.FC<SidebarWrapperProps> = (props) => {\r\n const classes = useStyles();\r\n return (\r\n <Drawer\r\n variant=\"permanent\"\r\n classes={{\r\n paper: clsx(\r\n classes.drawerPaper,\r\n !props.open && classes.drawerPaperClose,\r\n ),\r\n }}\r\n open={props.open}\r\n >\r\n <div className={classes.toolbarIcon}></div>\r\n <SideBar {...props} />\r\n </Drawer>\r\n );\r\n};\r\n"],"names":["useStyles","_jsx","_jsxs","IconButton","_Fragment","inititalState","reducer","API.capture","BecomePartnerImg"],"mappings":"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"}
|