{"version":3,"sources":["webpack:///./src/index.css?1168","index.css","web.config","webpack:///./src/components/shared/FlashMessage.css?698c","components/shared/FlashMessage.css","webpack:///./src/components/shared/spinner.css?737d","components/shared/spinner.css","menuhelper.js","api/menuApi.js","lib/spaLoader.js","components/shared/UtilityFunctions.jsx","components/shared/FlashMessage.js","components/OneCustomerVoice/ocvFeedback.js","palette.js","components/shared/ReadMore.js","components/header/NoificationAlert.js","components/header/NotificationSideBar.js","components/header/notificationsRepo.js","components/header/Login.jsx","constants/localStorageConstants.js","components/shared/AlertToast.jsx","components/header/Header.jsx","components/shared/LoadSpinner.js","components/sidebar/MenuNavItem.jsx","components/sidebar/Sidebar.jsx","components/shared/splashCards.jsx","components/splashhome/splashHome.js","components/app/Help/Help.jsx","components/app/App.jsx","components/shared/CustomError.jsx","components/shared/GenericDialog.jsx","TelemetryProvider.jsx","api/telemetryApi.js","index.js"],"names":["content","module","i","options","transform","undefined","locals","exports","push","resources","getResourcesFromMenuItems","menuItems","forEach","element","children","length","resourceName","pathName","isStoreEnabled","baseUrl","process","checkMSSalesAccess","window","httpService","get","then","handleSuccess","catch","handleError","checkIfSellerManager","sellerManagerUrl","getMenuItems","getNotifications","notificationUrl","getUserPrefApiUrl","urlInference","infer","concat","_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","resolve","__await","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","delegateYield","hashPrefix","prefix","location","hash","startsWith","commonSettings","themeEventSubscribers","applyTheme","themeName","this","ts","registerThemeEventSubscriber","fun","loadApp","_x","_x2","_x3","_x4","_x5","_x6","_loadApp","apply","arguments","_asyncToGenerator","_callee","appURL","storeURL","TelemetryLogger","storeModule","customProps","random","_context","initializeTelemetry","globalEventDistributor","userPref","bootstrapUserPreference","Math","SystemJS","import","t0","storeInstance","t1","toast","error","autoClose","console","log","default","store","singleSpa","navigateToResource","resource","registerMicroFrontEnd","_x7","_x8","_registerMicroFrontEnd","_callee2","loadingPromises","cdnHostUrl","resourceScriptUrl","resourceStoreUrl","_context2","getCdnHostUrl","endsWith","toLowerCase","all","getIcon","iconname","theme","React","createElement","Icon","path","mdiAccountSettings","title","size","color","getIconColor","mdiCog","mdiBullseyeArrow","mdiFinance","mdiChartDonutVariant","mdiAccountTie","mdiCogTransfer","mdiAccountCog","mdiCheckAll","mdiEqualizer","mdiMicrosoftExcel","mdiAccountMultiple","mdiTrendingUp","mdiAtomVariant","mdiBookOpen","mdiBriefcaseCheck","mdiWrench","mdiCircle","palette","primary","main","common","white","getEnvironmentName","environmentName","toUpperCase","href","includes","FlashMessage","props","bannerInfo","className","Paper","elevation","style","paddingTop","paddingBottom","paddingLeft","paddingRight","backgroundColor","Typography","component","fontSize","fontWeight","OCVInAppFeedback","showFeedbackAlert","_this","_classCallCheck","CaptureMultiFeedback","handlePromise","OfficeBrowserFeedback","multiFeedback","CaptureSingleFeedback","feedbackType","singleFeedback","promise","err","userName","localStorage","getItem","userEmaiId","indexOf","initOptions","appId","stylesUrl","intlUrl","environment","primaryColour","secondaryColour","locale","bugForm","userEmail","userEmailConsentDefault","onError","onDismiss","success","telemetryGroup","featureArea","dark","createMuiTheme","blue","secondary","ReadMore","font","boxShadow","classes","makeStyles","button","display","padding","minHeight","minWidth","marginLeft","textAlign","box","useStyles","_useState","useState","_useState2","_slicedToArray","showMore","setShowMore","Box","flexGrow","alignContent","dangerouslySetInnerHTML","__html","data","max","helpLink","IconButton","key","aria-label","onClick","ExpandLessIcon","align","ExpandMoreIcon","withSnackbar","currentTheme","themes","appBar","position","background","spacing","flex","wrapper","notificationData","filter","isAlert","ThemeProvider","Dialog","open","openNotifications","onClose","setOpenNotifications","aria-labelledby","aria-describedby","fullWidth","maxWidth","AppBar","Toolbar","variant","edge","CloseIcon","DialogContent","map","indx","list","width","paper","icon","SwipeableDrawer","anchor","onOpen","Grid","container","item","sm","refreshNotifications","RefreshIcon","disableNotification","Notifications","AllNotifications","DisabledKeys","getfilteredNotification","itm","grow","sectionDesktop","_defineProperty","breakpoints","up","sectionMobile","EnvironmentNameChip","contrastText","borderColor","marginTop","marginRight","profileAvatar","height","formControl","select","fill","appBarItems","alias","substring","imgUrl","_React$useState","fiscalYear","openNotificationPopup","setOpenNotificationPopup","_useState3","_useState4","openNotificationSideBar","setOpenNotificationSideBar","_useState5","_useState6","setNotificationData","fetchNotifications","menuApi","useEffect","interval","setInterval","clearInterval","handleFiscalYearChange","event","target","setItem","reload","handleThemeItemClick","activeTheme","ToggleTheme","setTheme","ocvInAppFeedback","AlertSuccess","enqueueSnackbar","onkeyup","ctrlKey","shiftKey","keyCode","_React$useState3","_React$useState4","mobileMoreAnchorEl","setMobileMoreAnchorEl","isMobileMenuOpen","Boolean","renderMobileMenu","Menu","anchorEl","anchorOrigin","vertical","horizontal","id","keepMounted","transformOrigin","MenuItem","Badge","badgeContent","NotificationsIcon","SentimentSatisfiedOutlinedIcon","FlareIcon","Brightness3Icon","Avatar","alt","src","Fragment","NotificationSideBar","NotificationsDialog","FormControl","tabindex","Select","labelId","onChange","inputProps","fiscalYears","year","Chip","label","aria-controls","aria-haspopup","currentTarget","MoreVertIcon","root","zIndex","drawer","transition","transitions","easing","sharp","duration","leavingScreen","appBarShift","enteringScreen","flexShrink","whiteSpace","drawerOpen","drawerClose","overflowX","toolbar","alignItems","justifyContent","HomeLink","textDecoration","Header","useTheme","isSmallScreen","useMediaQuery","down","trigger","useScrollTrigger","isdrawerOpen","index","document","getElementById","setAttribute","Slide","appear","direction","in","onDrawerToggle","aria-expanded","onKeyDown","ChevronLeftIcon","MenuIcon","Link","noWrap","Login","LoadSpinner","showLoader","viewBox","ng-attr-d","ng-attr-fill","stroke","attributeName","calcMode","keyTimes","dur","begin","repeatCount","nested","sidebarIcon","sidebarLink","cursor","border","black","MenuNavItem","_props$openImmediatel","openImmediately","handleDrawerOpen","handleSetHeader","_React$useState2","setOpen","ListItem","to","pathname","ListItemIcon","ListItemText","onFocus","isMenuOpen","oldOpen","ExpandLess","ExpandMore","Collapse","timeout","unmountOnExit","List","dense","disablePadding","renderNavItems","pages","mobileOpen","params","_objectWithoutProperties","reduce","items","page","_ref","activePage","depth","displayNav","topLevel","linkProps","subheader","reduceChildRoutes","_objectSpread","menuButton","hide","mixins","Links","SideBarFooter","FooterDivider","marginBottom","HelpIconList","SideBar","hideHelpUI","setIsShowHelp","Drawer","clsx","Divider","onHeaderChange","mdiHelpCircle","renderhelpNavItem","Grow","assign","rel","onBlur","gutterBottom","StyledMenu","withStyles","getContentAnchorEl","StyledMenuItem","SplashCard","setAnchorEl","Card","isParent","setShowHome","CardActionArea","CardContent","SplashHome","lg","md","xs","listItemLink","secondaryText","Help","helpLinks","setHelpLinks","adminApiBaseUrl","link","text","description","App","setMobileOpen","header","setHeader","_React$useState5","_React$useState6","showHome","_React$useState7","_React$useState8","setShowLoader","lastActiveTheme","isShowHelp","flexibleGrid","warning","info","handleDrawerToggle","notistackRef","createRef","onClickDismiss","current","closeSnackbar","MuiThemeProvider","SnackbarProvider","ref","maxSnack","preventDuplicate","action","variantSuccess","variantError","variantWarning","variantInfo","autoHideDuration","ToastContainer","hideProgressBar","CssBaseline","app","setLoader","replace","addEventListener","application","applicationLCase","card","margin","avatar","red","CustomError","CardHeader","ErrorOutlineTwoToneIcon","errorObj","Date","toString","message","GenericDialog","isOpen","handleClose","TransitionProps","role","DialogTitle","DialogContentText","dismissable","DialogActions","Button","cancelText","handleOk","autoFocus","okText","TelemetryProvider","_Component","_getPrototypeOf2","_len","args","Array","_key","_possibleConstructorReturn","_getPrototypeOf","state","initialized","initialize","instrumentationKey","browserHistory","reactPlugin","ReactPlugin","aiConfig","maxBatchInterval","disableFetchTracking","isBrowserLinkTrackingEnabled","enableAjaxErrorStatusText","enableRequestHeaderTracking","enableUnhandledPromiseRejectionTracking","distributedTracingMode","DistributedTracingModes","W3C","extensions","extensionConfig","identifier","history","appInsights","ApplicationInsights","config","loadAppInsights","setAuthenticatedUserContext","GetCustomDimensions","customProperties","userAlias","_inherits","_createClass","_this2","ikey","res","setState","Component","withRouter","withAITracking","_init","parent","opener","top","JSON","parse","loadOneCustomerVoiceFiles","AuthProvider","signIn","fetchFiscalYears","renderError","ocvJs","ocvCss","head","getElementsByTagName","appendChild","defaultFiscalYear","previousSelectedFiscalYear","activeFiscalYear","planningCycle","currentSeason","_initializeShell","initializeShell","errorMsg","ExceptionMessage","ReactDOM","render","helper","find","renderShell","statusCode","finally","init","generateClassName","createGenerateClassName","seed","StylesProvider","Router","createHashHistory","Route","light"],"mappings":";mHACA,IAAIA,EAAU,EAAQ,KAEA,kBAAZA,IAAsBA,EAAU,CAAC,CAACC,EAAOC,EAAIF,EAAS,MAOhE,IAAIG,EAAU,CAAC,KAAM,EAErB,eAPIC,EAQJ,gBAAqBC,GAER,EAAQ,GAAR,CAA0DL,EAASG,GAE7EH,EAAQM,SAAQL,EAAOM,QAAUP,EAAQM,S,qBCjBlCL,EAAOM,QAAU,EAAQ,GAAR,EAAsD,IAKzEC,KAAK,CAACP,EAAOC,EAAI,whMAAmnM,GAAI,CAAC,QAAU,EAAE,QAAU,CAAC,2CAA2C,MAAQ,GAAG,SAAW,ktCAAktC,KAAO,YAAY,eAAiB,CAAC,yhMAAmnM,WAAa,O,oBCLhmbD,EAAOM,QAAU,IAA0B,c,oBCC3C,IAAIP,EAAU,EAAQ,KAEA,kBAAZA,IAAsBA,EAAU,CAAC,CAACC,EAAOC,EAAIF,EAAS,MAOhE,IAAIG,EAAU,CAAC,KAAM,EAErB,eAPIC,EAQJ,gBAAqBC,GAER,EAAQ,GAAR,CAAgEL,EAASG,GAEnFH,EAAQM,SAAQL,EAAOM,QAAUP,EAAQM,S,qBCjBlCL,EAAOM,QAAU,EAAQ,GAAR,EAA4D,IAK/EC,KAAK,CAACP,EAAOC,EAAI,kGAAmG,GAAI,CAAC,QAAU,EAAE,QAAU,CAAC,sFAAsF,MAAQ,GAAG,SAAW,iDAAiD,KAAO,mBAAmB,eAAiB,CAAC,mGAAmG,WAAa,O,oBCJjd,IAAIF,EAAU,EAAQ,KAEA,kBAAZA,IAAsBA,EAAU,CAAC,CAACC,EAAOC,EAAIF,EAAS,MAOhE,IAAIG,EAAU,CAAC,KAAM,EAErB,eAPIC,EAQJ,gBAAqBC,GAER,EAAQ,GAAR,CAAgEL,EAASG,GAEnFH,EAAQM,SAAQL,EAAOM,QAAUP,EAAQM,S,qBCjBlCL,EAAOM,QAAU,EAAQ,GAAR,EAA4D,IAK/EC,KAAK,CAACP,EAAOC,EAAI,qWAAsW,GAAI,CAAC,QAAU,EAAE,QAAU,CAAC,iFAAiF,MAAQ,GAAG,SAAW,+JAA+J,KAAO,cAAc,eAAiB,CAAC,sWAAsW,WAAa,O,oDCLvjCO,G,cAAY,IAGT,SAASC,EAA0BC,GAYxC,OAXAA,EAAUC,SAAQ,SAACC,GACbA,EAAQC,SAASC,OAAS,GAC5BL,EAA0BG,EAAQC,UAEJ,IAA5BD,EAAQC,SAASC,QACnBN,EAAUD,KAAK,CACbQ,aAAcH,EAAQI,SACtBC,eAAgBL,EAAQK,oBAIvBT,ECfT,IACMU,EAAUC,wCAKT,SAASC,IACd,OAAOC,OAAOC,YACXC,IAAIL,EAAU,sBACdM,KAAKH,OAAOC,YAAYG,eACxBC,MAAML,OAAOC,YAAYK,aAGvB,SAASC,IACd,OAAOP,OAAOC,YACXC,IAAIM,2DACJL,KAAKH,OAAOC,YAAYG,eACxBC,MAAML,OAAOC,YAAYK,aAGvB,SAASG,IACd,OAAOT,OAAOC,YACXC,IAAIL,EAAU,qBACdM,KAAKH,OAAOC,YAAYG,eACxBC,MAAML,OAAOC,YAAYK,aAkBvB,SAASI,IACd,OAAOV,OAAOC,YACXC,IAAIS,4DACJR,KAAKH,OAAOC,YAAYG,eACxBC,MAAML,OAAOC,YAAYK,aAGvB,SAASM,IACd,OAAOZ,OAAOa,aAAaC,MAAM,GAADC,OAlDlBjB,sBAkD6B,wB,gICjD7CkB,EAAA,kBAAAC,GAAA,IAAAC,EAAAD,EAAA,GAAAE,EAAAC,OAAAC,UAAAC,EAAAH,EAAAI,eAAAC,EAAAJ,OAAAK,gBAAA,SAAAP,EAAAD,EAAAE,GAAAD,EAAAD,GAAAE,EAAAO,OAAA9C,EAAA,mBAAA+C,cAAA,GAAAC,EAAAhD,EAAAiD,UAAA,aAAAC,EAAAlD,EAAAmD,eAAA,kBAAAC,EAAApD,EAAAqD,aAAA,yBAAAC,EAAAhB,EAAAD,EAAAE,GAAA,OAAAC,OAAAK,eAAAP,EAAAD,EAAA,CAAAS,MAAAP,EAAAgB,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAAnB,EAAAD,GAAA,IAAAiB,EAAA,aAAAhB,GAAAgB,EAAA,SAAAhB,EAAAD,EAAAE,GAAA,OAAAD,EAAAD,GAAAE,GAAA,SAAAmB,EAAApB,EAAAD,EAAAE,EAAAG,GAAA,IAAA1C,EAAAqC,KAAAI,qBAAAkB,EAAAtB,EAAAsB,EAAAX,EAAAR,OAAAoB,OAAA5D,EAAAyC,WAAAS,EAAA,IAAAW,EAAAnB,GAAA,WAAAE,EAAAI,EAAA,WAAAF,MAAAgB,EAAAxB,EAAAC,EAAAW,KAAAF,EAAA,SAAAe,EAAAzB,EAAAD,EAAAE,GAAA,WAAAyB,KAAA,SAAAC,IAAA3B,EAAA4B,KAAA7B,EAAAE,IAAA,MAAAD,GAAA,OAAA0B,KAAA,QAAAC,IAAA3B,IAAAD,EAAAqB,OAAA,IAAAS,EAAA,iBAAAC,EAAA,YAAAC,EAAA,YAAAC,EAAA,YAAAX,KAAA,SAAAY,KAAA,SAAAC,KAAA,IAAAC,EAAA,GAAAnB,EAAAmB,EAAAzB,GAAA,8BAAA0B,EAAAlC,OAAAmC,eAAAC,EAAAF,OAAAG,EAAA,MAAAD,OAAArC,GAAAG,EAAAwB,KAAAU,EAAA5B,KAAAyB,EAAAG,GAAA,IAAAE,EAAAN,EAAA/B,UAAAkB,EAAAlB,UAAAD,OAAAoB,OAAAa,GAAA,SAAAM,EAAAzC,GAAA,0BAAA5B,SAAA,SAAA2B,GAAAiB,EAAAhB,EAAAD,GAAA,SAAAC,GAAA,YAAA0C,QAAA3C,EAAAC,SAAA,SAAA2C,EAAA3C,EAAAD,GAAA,SAAA6C,EAAA3C,EAAAK,EAAA5C,EAAAgD,GAAA,IAAAE,EAAAa,EAAAzB,EAAAC,GAAAD,EAAAM,GAAA,aAAAM,EAAAc,KAAA,KAAAZ,EAAAF,EAAAe,IAAAE,EAAAf,EAAAN,MAAA,OAAAqB,GAAA,iBAAAA,GAAAzB,EAAAwB,KAAAC,EAAA,WAAA9B,EAAA8C,QAAAhB,EAAAiB,SAAA7D,MAAA,SAAAe,GAAA4C,EAAA,OAAA5C,EAAAtC,EAAAgD,MAAA,SAAAV,GAAA4C,EAAA,QAAA5C,EAAAtC,EAAAgD,MAAAX,EAAA8C,QAAAhB,GAAA5C,MAAA,SAAAe,GAAAc,EAAAN,MAAAR,EAAAtC,EAAAoD,MAAA,SAAAd,GAAA,OAAA4C,EAAA,QAAA5C,EAAAtC,EAAAgD,QAAAE,EAAAe,KAAA,IAAA1B,EAAAK,EAAA,gBAAAE,MAAA,SAAAR,EAAAI,GAAA,SAAA2C,IAAA,WAAAhD,GAAA,SAAAA,EAAAE,GAAA2C,EAAA5C,EAAAI,EAAAL,EAAAE,MAAA,OAAAA,MAAAhB,KAAA8D,YAAA,SAAAvB,EAAAzB,EAAAE,EAAAG,GAAA,IAAAE,EAAAuB,EAAA,gBAAAnE,EAAAgD,GAAA,GAAAJ,IAAAwB,EAAA,MAAAkB,MAAA,mCAAA1C,IAAAyB,EAAA,cAAArE,EAAA,MAAAgD,EAAA,OAAAF,MAAAR,EAAAiD,MAAA,OAAA7C,EAAA8C,OAAAxF,EAAA0C,EAAAuB,IAAAjB,IAAA,KAAAE,EAAAR,EAAA+C,SAAA,GAAAvC,EAAA,KAAAE,EAAAsC,EAAAxC,EAAAR,GAAA,GAAAU,EAAA,IAAAA,IAAAkB,EAAA,gBAAAlB,GAAA,YAAAV,EAAA8C,OAAA9C,EAAAiD,KAAAjD,EAAAkD,MAAAlD,EAAAuB,SAAA,aAAAvB,EAAA8C,OAAA,IAAA5C,IAAAuB,EAAA,MAAAvB,EAAAyB,EAAA3B,EAAAuB,IAAAvB,EAAAmD,kBAAAnD,EAAAuB,SAAA,WAAAvB,EAAA8C,QAAA9C,EAAAoD,OAAA,SAAApD,EAAAuB,KAAArB,EAAAwB,EAAA,IAAAK,EAAAV,EAAA1B,EAAAE,EAAAG,GAAA,cAAA+B,EAAAT,KAAA,IAAApB,EAAAF,EAAA6C,KAAAlB,EAAA,iBAAAI,EAAAR,MAAAK,EAAA,gBAAAxB,MAAA2B,EAAAR,IAAAsB,KAAA7C,EAAA6C,MAAA,UAAAd,EAAAT,OAAApB,EAAAyB,EAAA3B,EAAA8C,OAAA,QAAA9C,EAAAuB,IAAAQ,EAAAR,OAAA,SAAAyB,EAAArD,EAAAE,GAAA,IAAAG,EAAAH,EAAAiD,OAAA5C,EAAAP,EAAAY,SAAAP,GAAA,GAAAE,IAAAN,EAAA,OAAAC,EAAAkD,SAAA,eAAA/C,GAAAL,EAAAY,SAAA8C,SAAAxD,EAAAiD,OAAA,SAAAjD,EAAA0B,IAAA3B,EAAAoD,EAAArD,EAAAE,GAAA,UAAAA,EAAAiD,SAAA,WAAA9C,IAAAH,EAAAiD,OAAA,QAAAjD,EAAA0B,IAAA,IAAA+B,UAAA,oCAAAtD,EAAA,aAAA4B,EAAA,IAAAtE,EAAA+D,EAAAnB,EAAAP,EAAAY,SAAAV,EAAA0B,KAAA,aAAAjE,EAAAgE,KAAA,OAAAzB,EAAAiD,OAAA,QAAAjD,EAAA0B,IAAAjE,EAAAiE,IAAA1B,EAAAkD,SAAA,KAAAnB,EAAA,IAAAtB,EAAAhD,EAAAiE,IAAA,OAAAjB,IAAAuC,MAAAhD,EAAAF,EAAA4D,YAAAjD,EAAAF,MAAAP,EAAA2D,KAAA7D,EAAA8D,QAAA,WAAA5D,EAAAiD,SAAAjD,EAAAiD,OAAA,OAAAjD,EAAA0B,IAAA3B,GAAAC,EAAAkD,SAAA,KAAAnB,GAAAtB,GAAAT,EAAAiD,OAAA,QAAAjD,EAAA0B,IAAA,IAAA+B,UAAA,oCAAAzD,EAAAkD,SAAA,KAAAnB,GAAA,SAAA8B,EAAA9D,GAAA,IAAAD,EAAA,CAAAgE,OAAA/D,EAAA,SAAAA,IAAAD,EAAAiE,SAAAhE,EAAA,SAAAA,IAAAD,EAAAkE,WAAAjE,EAAA,GAAAD,EAAAmE,SAAAlE,EAAA,SAAAmE,WAAAnG,KAAA+B,GAAA,SAAAqE,EAAApE,GAAA,IAAAD,EAAAC,EAAAqE,YAAA,GAAAtE,EAAA2B,KAAA,gBAAA3B,EAAA4B,IAAA3B,EAAAqE,WAAAtE,EAAA,SAAAwB,EAAAvB,GAAA,KAAAmE,WAAA,EAAAJ,OAAA,SAAA/D,EAAA5B,QAAA0F,EAAA,WAAAQ,OAAA,YAAA/B,EAAAxC,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAE,EAAAF,EAAAW,GAAA,GAAAT,EAAA,OAAAA,EAAA2B,KAAA7B,GAAA,sBAAAA,EAAA6D,KAAA,OAAA7D,EAAA,IAAAwE,MAAAxE,EAAAxB,QAAA,KAAA+B,GAAA,EAAA5C,EAAA,SAAAkG,IAAA,OAAAtD,EAAAP,EAAAxB,QAAA,GAAA6B,EAAAwB,KAAA7B,EAAAO,GAAA,OAAAsD,EAAApD,MAAAT,EAAAO,GAAAsD,EAAAX,MAAA,EAAAW,EAAA,OAAAA,EAAApD,MAAAR,EAAA4D,EAAAX,MAAA,EAAAW,GAAA,OAAAlG,EAAAkG,KAAAlG,GAAA,UAAAgG,iBAAA3D,EAAA,2BAAAkC,EAAA9B,UAAA+B,EAAA5B,EAAAkC,EAAA,eAAAhC,MAAA0B,EAAAhB,cAAA,IAAAZ,EAAA4B,EAAA,eAAA1B,MAAAyB,EAAAf,cAAA,IAAAe,EAAAuC,YAAAxD,EAAAkB,EAAApB,EAAA,qBAAAf,EAAA0E,oBAAA,SAAAzE,GAAA,IAAAD,EAAA,mBAAAC,KAAA0E,YAAA,QAAA3E,QAAAkC,GAAA,uBAAAlC,EAAAyE,aAAAzE,EAAA4E,QAAA5E,EAAA6E,KAAA,SAAA5E,GAAA,OAAAE,OAAA2E,eAAA3E,OAAA2E,eAAA7E,EAAAkC,IAAAlC,EAAA8E,UAAA5C,EAAAlB,EAAAhB,EAAAc,EAAA,sBAAAd,EAAAG,UAAAD,OAAAoB,OAAAkB,GAAAxC,GAAAD,EAAAgF,MAAA,SAAA/E,GAAA,OAAA8C,QAAA9C,IAAAyC,EAAAE,EAAAxC,WAAAa,EAAA2B,EAAAxC,UAAAS,GAAA,0BAAAb,EAAA4C,gBAAA5C,EAAAiF,MAAA,SAAAhF,EAAAC,EAAAG,EAAAE,EAAA5C,QAAA,IAAAA,MAAAuH,SAAA,IAAAvE,EAAA,IAAAiC,EAAAvB,EAAApB,EAAAC,EAAAG,EAAAE,GAAA5C,GAAA,OAAAqC,EAAA0E,oBAAAxE,GAAAS,IAAAkD,OAAA3E,MAAA,SAAAe,GAAA,OAAAA,EAAAiD,KAAAjD,EAAAQ,MAAAE,EAAAkD,WAAAnB,EAAAD,GAAAxB,EAAAwB,EAAA1B,EAAA,aAAAE,EAAAwB,EAAA9B,GAAA,0BAAAM,EAAAwB,EAAA,qDAAAzC,EAAAmF,KAAA,SAAAlF,GAAA,IAAAD,EAAAG,OAAAF,GAAAC,EAAA,WAAAG,KAAAL,EAAAE,EAAAjC,KAAAoC,GAAA,OAAAH,EAAAkF,UAAA,SAAAvB,IAAA,KAAA3D,EAAA1B,QAAA,KAAAyB,EAAAC,EAAAmF,MAAA,GAAApF,KAAAD,EAAA,OAAA6D,EAAApD,MAAAR,EAAA4D,EAAAX,MAAA,EAAAW,EAAA,OAAAA,EAAAX,MAAA,EAAAW,IAAA7D,EAAAwC,SAAAhB,EAAApB,UAAA,CAAAuE,YAAAnD,EAAA+C,MAAA,SAAAvE,GAAA,QAAAsF,KAAA,OAAAzB,KAAA,OAAAP,KAAA,KAAAC,MAAAtD,EAAA,KAAAiD,MAAA,OAAAE,SAAA,UAAAD,OAAA,YAAAvB,IAAA3B,EAAA,KAAAmE,WAAA/F,QAAAgG,IAAArE,EAAA,QAAAE,KAAA,WAAAA,EAAAqF,OAAA,IAAAlF,EAAAwB,KAAA,KAAA3B,KAAAsE,OAAAtE,EAAAsF,MAAA,WAAAtF,GAAAD,IAAAwF,KAAA,gBAAAvC,MAAA,MAAAjD,EAAA,KAAAmE,WAAA,GAAAE,WAAA,aAAArE,EAAA0B,KAAA,MAAA1B,EAAA2B,IAAA,YAAA8D,MAAAlC,kBAAA,SAAAxD,GAAA,QAAAkD,KAAA,MAAAlD,EAAA,IAAAE,EAAA,cAAAyF,EAAAtF,EAAAE,GAAA,OAAAI,EAAAgB,KAAA,QAAAhB,EAAAiB,IAAA5B,EAAAE,EAAA2D,KAAAxD,EAAAE,IAAAL,EAAAiD,OAAA,OAAAjD,EAAA0B,IAAA3B,KAAAM,EAAA,QAAAA,EAAA,KAAA6D,WAAA5F,OAAA,EAAA+B,GAAA,IAAAA,EAAA,KAAA5C,EAAA,KAAAyG,WAAA7D,GAAAI,EAAAhD,EAAA2G,WAAA,YAAA3G,EAAAqG,OAAA,OAAA2B,EAAA,UAAAhI,EAAAqG,QAAA,KAAAsB,KAAA,KAAAzE,EAAAR,EAAAwB,KAAAlE,EAAA,YAAAoD,EAAAV,EAAAwB,KAAAlE,EAAA,iBAAAkD,GAAAE,EAAA,SAAAuE,KAAA3H,EAAAsG,SAAA,OAAA0B,EAAAhI,EAAAsG,UAAA,WAAAqB,KAAA3H,EAAAuG,WAAA,OAAAyB,EAAAhI,EAAAuG,iBAAA,GAAArD,GAAA,QAAAyE,KAAA3H,EAAAsG,SAAA,OAAA0B,EAAAhI,EAAAsG,UAAA,YAAAlD,EAAA,MAAAkC,MAAA,kDAAAqC,KAAA3H,EAAAuG,WAAA,OAAAyB,EAAAhI,EAAAuG,gBAAAT,OAAA,SAAAxD,EAAAD,GAAA,QAAAE,EAAA,KAAAkE,WAAA5F,OAAA,EAAA0B,GAAA,IAAAA,EAAA,KAAAK,EAAA,KAAA6D,WAAAlE,GAAA,GAAAK,EAAAyD,QAAA,KAAAsB,MAAAjF,EAAAwB,KAAAtB,EAAA,oBAAA+E,KAAA/E,EAAA2D,WAAA,KAAAvG,EAAA4C,EAAA,OAAA5C,IAAA,UAAAsC,GAAA,aAAAA,IAAAtC,EAAAqG,QAAAhE,MAAArC,EAAAuG,aAAAvG,EAAA,UAAAgD,EAAAhD,IAAA2G,WAAA,UAAA3D,EAAAgB,KAAA1B,EAAAU,EAAAiB,IAAA5B,EAAArC,GAAA,KAAAwF,OAAA,YAAAU,KAAAlG,EAAAuG,WAAAjC,GAAA,KAAA2D,SAAAjF,IAAAiF,SAAA,SAAA3F,EAAAD,GAAA,aAAAC,EAAA0B,KAAA,MAAA1B,EAAA2B,IAAA,gBAAA3B,EAAA0B,MAAA,aAAA1B,EAAA0B,KAAA,KAAAkC,KAAA5D,EAAA2B,IAAA,WAAA3B,EAAA0B,MAAA,KAAA+D,KAAA,KAAA9D,IAAA3B,EAAA2B,IAAA,KAAAuB,OAAA,cAAAU,KAAA,kBAAA5D,EAAA0B,MAAA3B,IAAA,KAAA6D,KAAA7D,GAAAiC,GAAA4D,OAAA,SAAA5F,GAAA,QAAAD,EAAA,KAAAoE,WAAA5F,OAAA,EAAAwB,GAAA,IAAAA,EAAA,KAAAE,EAAA,KAAAkE,WAAApE,GAAA,GAAAE,EAAAgE,aAAAjE,EAAA,YAAA2F,SAAA1F,EAAAoE,WAAApE,EAAAiE,UAAAE,EAAAnE,GAAA+B,IAAA7C,MAAA,SAAAa,GAAA,QAAAD,EAAA,KAAAoE,WAAA5F,OAAA,EAAAwB,GAAA,IAAAA,EAAA,KAAAE,EAAA,KAAAkE,WAAApE,GAAA,GAAAE,EAAA8D,SAAA/D,EAAA,KAAAI,EAAAH,EAAAoE,WAAA,aAAAjE,EAAAsB,KAAA,KAAApB,EAAAF,EAAAuB,IAAAyC,EAAAnE,GAAA,OAAAK,GAAA,MAAA0C,MAAA,0BAAA6C,cAAA,SAAA9F,EAAAE,EAAAG,GAAA,YAAA+C,SAAA,CAAAxC,SAAA4B,EAAAxC,GAAA4D,WAAA1D,EAAA4D,QAAAzD,GAAA,cAAA8C,SAAA,KAAAvB,IAAA3B,GAAAgC,IAAAjC,EAKO,SAAS+F,EAAWC,GACzB,OAAO,SAAUC,GACf,OAAOA,EAASC,KAAKC,WAAW,IAADrG,OAAKkG,KAIjC,IAAII,EAAiB,CAC1BC,sBAAuB,GACvBC,WAAY,SAAUC,GACpBC,KAAKH,sBAAsBhI,SAAQ,SAACoI,GAClCA,EAAGF,OAGPG,6BAA8B,SAAUC,GACtCH,KAAKH,sBAAsBpI,KAAK0I,KAI7B,SAAeC,EAAOC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAAA,OAAAC,EAAAC,MAAC,KAADC,WA+B5B,SAAAF,IAAA,OAAAA,EAAAG,YAAAvH,IAAA8E,MA/BM,SAAA0C,EAAuB3C,EAAMsB,EAAMsB,EAAQC,EAAUrB,EAAgBsB,GAAe,IAAAC,EAAAC,EAAAC,EAAA,OAAA9H,IAAAsB,MAAA,SAAAyG,GAAA,cAAAA,EAAAxC,KAAAwC,EAAAjE,MAAA,OAU7D,GAR5B6D,EAAgBK,sBACZJ,EAAc,GACdC,EACJ,CACEI,uBAAwB5B,EACxBsB,gBAAiBA,EACjBO,SAAUC,YAAwBvI,IAAqBiF,IAEnDiD,EAASM,KAAKN,SAAQC,EAAAxC,KAAA,GAEZmC,EAAQ,CAAAK,EAAAjE,KAAA,gBAAAiE,EAAAjE,KAAA,EACZuE,SAASC,OAAO,GAADvI,OAAI2H,EAAQ,YAAA3H,OAAW+H,IAAS,OAAAC,EAAAQ,GAAAR,EAAAxE,KAAAwE,EAAAjE,KAAA,iBAAAiE,EAAAQ,GACrD,CAAEC,cAAe,MAAO,KAAD,GAF3BZ,EAAWG,EAAAQ,GAAAR,EAAAjE,KAAA,iBAAAiE,EAAAxC,KAAA,GAAAwC,EAAAU,GAAAV,EAAA,SAIXW,IAAMC,MAAM,+BAAD5I,OAAgC8E,EAAI,KAAK,CAAE+D,UAAW,MACjEC,QAAQC,IAAI,+BAAD/I,OAAgC8E,EAAI,KAAAkD,EAAAU,IAAQ,QAGrDb,EAAYmB,UACdlB,EAAYmB,MAAQpB,EAAYmB,SAIlCE,IACEpE,GACA,kBAAMwD,SAASC,OAAO,GAADvI,OAAI0H,EAAM,YAAA1H,OAAW+H,MAC1C9B,EAAWG,GACX0B,GACA,yBAAAE,EAAArC,UAAA8B,EAAA,oBACHH,MAAA,KAAAC,WAMM,SAAS4B,EAAmBC,GAC7BA,GACFF,IAAwB,KAADlJ,OAAMoJ,IAe1B,SAAeC,EAAqBC,EAAAC,GAAA,OAAAC,EAAAlC,MAAC,KAADC,WA0C1C,SAAAiC,IAAA,OAAAA,EAAAhC,YAAAvH,IAAA8E,MA1CM,SAAA0E,EAAqCrL,EAAWwJ,GAAe,IAAA8B,EAAAC,EAAA9L,EAAAuL,EAAAzK,EAAAiL,EAAAC,EAAA,OAAA5J,IAAAsB,MAAA,SAAAuI,GAAA,cAAAA,EAAAtE,KAAAsE,EAAA/F,MAAA,YAChE3F,GAAaA,EAAUM,OAAS,GAAC,CAAAoL,EAAA/F,KAAA,SAWnC,IARM2F,EAAkB,GACT,IAEXC,EAAa1K,OAAOa,aAAaiK,cAFtB,KAE+ChL,gBAC9CiL,SAAS,OACvBL,GAA0B,KAGnB9L,EAAI,EAAGA,EAAIO,EAAUM,OAAQb,IAC9BuL,EAAWhL,EAAUP,GACrBc,EAAeyK,EAASzK,aAAasL,cACrCL,EAAiB,GAAA5J,OAAM2J,GAAU3J,OAAGrB,GAAYqB,OAAGjB,gCAGnD8K,EAAmBT,EAASvK,eAAc,GAAAmB,OACzC2J,GAAU3J,OAAGrB,EAAY,4BAC5BX,EAEJ0L,EAAgBvL,KACd2I,EACEnI,EAAa,IAADqB,OACRrB,GACJiL,EACAC,EACAvD,EACAsB,IAGL,OAAAkC,EAAA/F,KAAA,EAEKqB,QAAQ8E,IAAIR,GAAiB,KAAD,EAElCR,MAAkBY,EAAA/F,KAAA,iBAGlB4E,IAAMC,MAAM,yCAA0C,CAAEC,WAAW,IACnEC,QAAQF,MAAM,yCAAyC,yBAAAkB,EAAAnE,UAAA8D,QAE1DnC,MAAA,KAAAC,W,kQCjGY4C,GAAU,SAACC,EAAUC,GAChC,MAAiB,oBAAbD,EAEAE,IAAAC,cAACC,KAAI,CACHC,KAAMC,KACNC,MAAM,kBACNC,KAAM,EACNC,MAAOC,GAAaT,KAGH,oBAAbD,EAENE,IAAAC,cAACC,KAAI,CACHC,KAAMM,KACNJ,MAAM,kBACNC,KAAM,EACNC,MAAOC,GAAaT,KAGJ,sBAAbD,EAELE,IAAAC,cAACC,KAAI,CACHC,KAAMO,KACNL,MAAM,oBACNC,KAAM,EACNC,MAAOC,GAAaT,KAGJ,SAAbD,EACAE,IAAAC,cAACC,KAAI,CAACC,KAAMQ,KAAYN,MAAM,QAAQC,KAAM,EAAGC,MAAOC,GAAaT,KACtD,sBAAbD,EAELE,IAAAC,cAACC,KAAI,CACHC,KAAMS,KACNP,MAAM,oBACNC,KAAM,EACNC,MAAOC,GAAaT,KAGJ,2BAAbD,EAELE,IAAAC,cAACC,KAAI,CACHC,KAAMU,KACNR,MAAM,yBACNC,KAAM,EACNC,MAAOC,GAAaT,KAGL,eAAbD,EAEJE,IAAAC,cAACC,KAAI,CACHC,KAAMW,KACNT,MAAM,aACNC,KAAM,EACNC,MAAOC,GAAaT,KAGL,sBAAbD,EAEJE,IAAAC,cAACC,KAAI,CACHC,KAAMY,KACNV,MAAM,oBACNC,KAAM,EACNC,MAAOC,GAAaT,KAGL,yBAAbD,EAEJE,IAAAC,cAACC,KAAI,CACHC,KAAMa,KACNX,MAAM,uBACNC,KAAM,EACNC,MAAOC,GAAaT,KAGJ,YAAbD,EAELE,IAAAC,cAACC,KAAI,CAACC,KAAMc,KAAcZ,MAAM,iBAAiBC,KAAM,EAAGC,MAAOC,GAAaT,KAE5D,0BAAbD,EAELE,IAAAC,cAACC,KAAI,CACHC,KAAMe,KACNb,MAAM,wBACNC,KAAM,EACNC,MAAOC,GAAaT,KAGJ,aAAbD,EACAE,IAAAC,cAACC,KAAI,CAACC,KAAMa,KAAaX,MAAM,WAAWC,KAAM,EAAGC,MAAOC,GAAaT,KAC1D,kBAAbD,EAELE,IAAAC,cAACC,KAAI,CAACC,KAAMgB,KAAoBd,MAAM,gBAAgBC,KAAM,EAAGC,MAAOC,GAAaT,KAEjE,YAAbD,EACAE,IAAAC,cAACC,KAAI,CAACC,KAAMiB,KAAef,MAAM,UAAUC,KAAM,EAAGC,MAAOC,GAAaT,KAC3D,cAAbD,EACAE,IAAAC,cAACC,KAAI,CAACC,KAAMkB,KAAgBhB,MAAM,YAAYC,KAAM,EAAGC,MAAOC,GAAaT,KAC5D,wBAAbD,GAAmD,iBAAbA,EACtCE,IAAAC,cAACC,KAAI,CAACC,KAAMmB,KAAajB,MAAM,sBAAsBC,KAAM,EAAGC,MAAOC,GAAaT,KACnE,oBAAbD,EACDE,IAAAC,cAACC,KAAI,CAACC,KAAMoB,KAAmBlB,MAAM,kBAAkBC,KAAM,EAAGC,MAAOC,GAAaT,KACrE,gBAAbD,EACFE,IAAAC,cAACC,KAAI,CAACC,KAAMqB,KAAWnB,MAAM,cAAcC,KAAM,EAAGC,MAAOC,GAAaT,KAC7EC,IAAAC,cAACC,KAAI,CAACC,KAAMsB,KAAWpB,MAAM,OAAOC,KAAM,EAAGC,MAAOC,GAAaT,MAG7DS,GAAe,SAACT,GAC3B,MAA8B,UAAvBA,EAAM2B,QAAQnK,KAAmBwI,EAAM2B,QAAQC,QAAQC,KAAO7B,EAAM2B,QAAQG,OAAOC,OAG/EC,GAAqB,WAChC,IAAIC,EAAkBvN,sBActB,OAbKuN,EAQqB,SADxBA,EAAkBA,EAAgBC,iBAGhCD,EAAkB,QATpBA,EAAkBrN,OAAOkH,SAASqG,KAAKC,SAAS,QAAUxN,OAAOkH,SAASqG,KAAKC,SAAS,aACpF,MACAxN,OAAOkH,SAASqG,KAAKC,SAAS,OAC5B,MACA,OAQDH,GChHMI,OA7Bf,SAAsBC,GAEpB,IAAML,EAAkBD,KAClBO,EAAaN,EAAgBG,SAAS,QACxC,aACA,uBAEJ,OACEH,GACEhC,IAAAC,cAAA,QAAMsC,UAAU,YACdvC,IAAAC,cAACuC,KAAK,CACJC,UAAW,EACXC,MAAO,CACLC,WAAY,MACZC,cAAe,MACfC,YAAa,MACbC,aAAc,MACdC,gBAAiB,gBAGnB/C,IAAAC,cAAC+C,IAAU,CAACC,UAAU,QAAQP,MAAO,CAAEnC,MAAO,QAAS2C,SAAU,SAAUC,WAAY,SACpFb,M,8BC3BAc,GACT,SAAAA,EAAYC,GAAoB,IAADC,EAAA,KAAAC,aAAA,KAAAH,GAAA,KAqC/BI,qBAAuB,WACzBF,EAAKG,cAAc9O,OAAO+O,sBAAsBC,kBAC7C,KAMDC,sBAAwB,SAACC,GAC3BP,EAAKG,cAAc9O,OAAO+O,sBAAsBI,eAAeD,KAC5D,KAGDJ,cAAgB,SAAUM,GACtBA,EACKjP,MACG,eAGHE,OACG,SAAoBgP,GAChBxF,QAAQC,IAAI,6BAA8B,CAAEuF,YAxD9D,IAAIC,EAAWC,aAAaC,QAAQ,YAC1BC,EAAaH,EAASI,QAAQ,MAAQ,EAAIJ,EAAWA,EAAW,iBAGtEK,EAAe,CAClBC,MAAO,KACPC,UAAW/P,kGACXgQ,QAAShQ,oEACTiQ,YALiB3C,KAAqBI,SAAS,QAAU,EAAI,EAM7DwC,cAAe,UACfC,gBAAiB,UACjBC,OAAQ,cACRC,SAAS,EACTC,UAAWX,EACXY,yBAAyB,EACzBC,QAAS,SAAiBjB,GACzBxF,QAAQC,IAAI,8CAA+C,CAAEuF,SAE9DkB,UAAW,SAAUC,GAChBA,GACH9B,KAGF+B,eAAgB,CACfC,YAAa,qBAGqB3R,IAAjCiB,OAAO+O,wBACT/O,OAAO+O,sBAAsBY,YAAcA,I,qEChB/B,IACbgB,KAhBgBC,aAAe,CAC7B7D,QAAS,CACLnK,KAAM,UAeZiO,KAXgBD,aAAe,CAC7B7D,QAAS,CACLnK,KAAM,QACNkO,UAAW,CACP7D,KAAM,e,kDCsDH8D,OA3Df,SAAkBrD,GAAQ,IAEdnO,EAAqCmO,EAArCnO,QAASE,EAA4BiO,EAA5BjO,OAAQuR,EAAoBtD,EAApBsD,KAAMC,EAAcvD,EAAduD,UAmBzBC,EAjBYC,aAAW,SAAA/F,GAAK,MAAK,CACnCgG,OAAQ,CACJC,QAAS,eACTC,QAAS,EACTC,UAAW,EACXC,SAAU,EACVC,WAAY,OACZC,UAAW,SAEfC,IAAK,CACDzD,YAAY,GACZD,cAAc,GACdE,aAAa,EACbH,WAAW,OAIH4D,GAAYC,EACIC,oBAAS,GAAMC,EAAAC,YAAAH,EAAA,GAAxCI,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAQ5B,OACQ1G,IAAAC,cAAC6G,KAAG,CAACvE,UAAWsD,EAAQS,IAAKV,UAAWA,EAAWmB,SAAU,EAAG/O,EAAG,GAC/DgI,IAAAC,cAAA,OAAKyC,MAAO,CAAEsE,aAAa,gBAAiBhB,QAAS,SAAU9C,SAAS,GAADxN,OAAKiQ,EAAI,QAC5E3F,IAAAC,cAAA,SAAG,IAAE/L,EAAQmM,MAAM,IAAE,KACrBL,IAAAC,cAAA,OACIyC,MAAO,CAAEsE,aAAa,gBAAiBhB,QAAS,UAChDiB,wBAAyB,CACrBC,OAbhBN,GAAY1S,EAAQmM,MAAMjM,OAASF,EAAQiT,KAAK/S,OAASA,EAClDF,EAAQiT,KAERjT,EAAQiT,KAAK/L,MAAM,EAAG2C,KAAKqJ,IAAI,EAAGhT,EAASF,EAAQmM,MAAMjM,SAAW,UAalE,KAAK,IAAEF,EAAQmT,WACRT,GAAY1S,EAAQmM,MAAMjM,OAASF,EAAQiT,KAAK/S,OAASA,IAC1D4L,IAAAC,cAAA,KAAGiC,KAAMhO,EAAQmT,UAAU,cAAe,IAAE,QAErDnT,EAAQmM,MAAMjM,OAASF,EAAQiT,KAAK/S,OAAUA,GAC3C4L,IAAAC,cAACqH,IAAU,CACR/E,UAAWsD,EAAQE,OACnBwB,IAAI,SACJC,aAAW,iBACXjH,MAAM,UACNkH,QAAS,kBAAMZ,GAAaD,KAE3BA,EAAW5G,IAAAC,cAACyH,KAAc,CAAChF,MAAO,CAAEiF,MAAO,QAASzE,SAAS,GAADxN,OAAKiQ,MAAe3F,IAAAC,cAAC2H,KAAc,CAAClF,MAAO,CAAEiF,MAAO,QAASzE,SAAS,GAADxN,OAAKiQ,SCkBhJkC,qBA7Df,SAA6BxF,GACzB,IAAMyF,EAAqD,eAAtC5D,aAAaC,QAAQ,aAAgC4D,GAAOzC,KAAOyC,GAAOvC,KAiBzFK,EAhBYC,aAAW,SAAC/F,GAAK,MAAM,CACrCiI,OAAQ,CACJC,SAAU,WACVlF,gBAAuD,eAAtCmB,aAAaC,QAAQ,aAChC2D,EAAapG,QAAQwG,WAAWxJ,QAAUoJ,EAAapG,QAAQwG,WAAWtG,MAEpFvB,MAAO,CACH+F,WAAYrG,EAAMoI,QAAQ,GAC1BC,KAAM,EACN7H,MAAOuH,EAAapG,QAAQG,OAAOC,OAEvCuG,QAAS,CACLtF,gBAAiB+E,EAAapG,QAAQwG,WAAWxJ,YAIzC6H,GACV+B,EAAmBjG,EAAMiG,iBAAiBC,QAAO,SAAAhS,GAAC,OAAkB,IAAdA,EAAEiS,WAE9D,OACIxI,IAAAC,cAACwI,KAAa,CAAC1I,MAAO+H,GACV9H,IAAAC,cAACyI,KAAM,CACHC,KAAMtG,EAAMuG,mBAAqBN,EAAiBlU,OAAS,EAC3DyU,QAAS,kBAAMxG,EAAMyG,sBAAqB,IAC1CC,kBAAgB,sBAChBC,mBAAiB,iCACjBtG,MAAO,CAAEuD,QAAS,GAClBgD,WAAW,EACXC,SAAS,MAETlJ,IAAAC,cAACkJ,IAAM,CAAC5G,UAAWsD,EAAQmC,QACvBhI,IAAAC,cAACmJ,IAAO,KACJpJ,IAAAC,cAAC+C,IAAU,CAACqG,QAAQ,KAAK9G,UAAWsD,EAAQxF,OAAO,UAGnDL,IAAAC,cAACqH,IAAU,CACPgC,KAAK,QACL/I,MAAM,UACNkH,QAAS,WACLpF,EAAMyG,sBAAqB,IAE/BtB,aAAW,QACXlH,KAAK,SAELN,IAAAC,cAACsJ,KAAS,SAItBvJ,IAAAC,cAAA,WACAD,IAAAC,cAACuJ,KAAa,CAACxR,EAAG,GACTsQ,GAAoBA,EAAiBmB,KAAI,SAACvV,EAASwV,GAAI,OACpD1J,IAAAC,cAACyF,GAAQ,CAAC6B,IAAKmC,EAAMxV,QAASA,EAASE,OAAQ,IAAKuR,KAAM,GAAIC,UAAW,a,+BCiC9FiC,qBAvFf,SAA6BxF,GACzB,IAAMyF,EAAqD,eAAtC5D,aAAaC,QAAQ,aAAgC4D,GAAOzC,KAAOyC,GAAOvC,KAoBzFK,EAnBYC,YAAW,CACzB6D,KAAM,CACFC,MAAO,KAEX5B,OAAQ,CACJC,SAAU,WACVlF,gBAAuD,eAAtCmB,aAAaC,QAAQ,aAClC2D,EAAapG,QAAQwG,WAAWxJ,QAAUoJ,EAAapG,QAAQC,QAAQC,KAC3ErB,MAA6C,eAAtC2D,aAAaC,QAAQ,aACxB2D,EAAapG,QAAQwG,WAAWtG,KAAOkG,EAAapG,QAAQwG,WAAW2B,OAE/EC,KAAM,CACFjH,YAAY,EACZD,cAAc,EACdE,aAAa,EACbH,WAAW,IAIH4D,GAEhB,OACIvG,IAAAC,cAACwI,KAAa,CAAC1I,MAAO+H,GAClB9H,IAAAC,cAAA,OAAKsC,UAAWsD,EAAQwC,SACpBrI,IAAAC,cAAA,OAAKsC,UAAU,SACXvC,IAAAC,cAAC8J,KAAe,CACZC,OAAQ,QACRrB,KAAMtG,EAAMuG,kBACZqB,OAAQ,aACRpB,QAAS,kBAAMxG,EAAMyG,sBAAqB,KAE1C9I,IAAAC,cAAC6G,KAAG,CAACvE,UAAWsD,EAAQmC,OAAQhQ,EAAG,GAC/BgI,IAAAC,cAACiK,IAAI,CAACC,WAAS,EAAChC,QAAS,GACrBnI,IAAAC,cAACiK,IAAI,CAACE,MAAI,EAACC,IAAE,GACTrK,IAAAC,cAAC+C,IAAU,CAACqG,QAAQ,MAChBrJ,IAAAC,cAAA,SAAG,qBAGXD,IAAAC,cAACiK,IAAI,CAACE,MAAI,EAACC,GAAI,GACXrK,IAAAC,cAACqH,IAAU,CACPgC,KAAK,QACL/I,MAAM,UACNkH,QAAS,WACLpF,EAAMiI,wBAEV9C,aAAW,QACXlH,KAAK,SAELN,IAAAC,cAACsK,KAAW,QAGpBvK,IAAAC,cAACiK,IAAI,CAACE,MAAI,EAACC,GAAI,GACXrK,IAAAC,cAACqH,IAAU,CACPgC,KAAK,QACL/I,MAAM,UACNkH,QAAS,WACLpF,EAAMyG,sBAAqB,IAE/BtB,aAAW,QACXlH,KAAK,SAELN,IAAAC,cAACsJ,KAAS,UAK1BvJ,IAAAC,cAAA,OAAKsC,UAAWsD,EAAQ8D,MACnBtH,EAAMiG,kBAAoBjG,EAAMiG,iBAAiBmB,KAAI,SAACvV,EAASwV,GAAI,OAChE1J,IAAAC,cAAC6G,KAAG,CAACS,IAAKmC,EAAM9D,UAAW,EAAGI,QAAQ,QAClChG,IAAAC,cAACyF,GAAQ,CAACxR,QAASA,EAASE,OAAQ,IAAKuR,KAAM,GAAIC,UAAW,IAC9D5F,IAAAC,cAAC6G,KAAG,CAAC8C,MAAM,QACP5J,IAAAC,cAACqH,IAAU,CAAC/E,UAAWsD,EAAQiE,KAAMrC,QAAW,WAAOpF,EAAMmI,oBAAoBtW,EAAQqT,OACrFvH,IAAAC,cAACsJ,KAAS,CAAC7G,MAAO,CAAEiF,MAAO,MAAOzE,SAAU,sBCzFlFuH,GAAgB,CAClBC,iBAAkB,GAClBC,aAAc,IAGX,SAASC,KACZ,OAAOH,GAAcC,iBAAiBnC,QAAO,SAAUsC,GACnD,OAAOJ,GAAcE,aAAatG,QAAQwG,EAAItD,KAAO,KAI9CkD,UCiBTlE,GAAYT,aAAW,SAAC/F,GAAK,MAAM,CACvC+K,KAAM,CACJ/D,SAAU,GAEZgE,eAAcC,YAAA,CACZhF,QAAS,QACRjG,EAAMkL,YAAYC,GAAG,MAAQ,CAC5BlF,QAAS,SAGbmF,cAAaH,YAAA,CACXhF,QAAS,QACRjG,EAAMkL,YAAYC,GAAG,MAAQ,CAC5BlF,QAAS,SAGboF,oBAAqB,CACnB7K,MAAOR,EAAM2B,QAAQC,QAAQ0J,aAC7BC,YAAavL,EAAM2B,QAAQC,QAAQ0J,aACnCE,UAAWxL,EAAMoI,QAAQ,GACzBqD,YAAazL,EAAMoI,QAAQ,IAE7BsD,cAAe,CACb7B,MAAO7J,EAAMoI,QAAQ,GACrBuD,OAAQ3L,EAAMoI,QAAQ,GACtBqD,YAAazL,EAAMoI,QAAQ,GAC3B/B,WAAYrG,EAAMoI,QAAQ,IAE5BwD,YAAa,CACXJ,UAAWxL,EAAMoI,QAAQ,GACzBqD,YAAazL,EAAMoI,QAAQ,GAC3B5H,MAAOR,EAAM2B,QAAQC,QAAQ0J,cAE/BO,OAAQ,CACNrL,MAAOR,EAAM2B,QAAQC,QAAQ0J,aAC7B,WAAY,CACVC,YAAavL,EAAM2B,QAAQC,QAAQ0J,cAErC,UAAW,CACTC,YAAavL,EAAM2B,QAAQC,QAAQ0J,eAGvCvB,KAAM,CACJ+B,KAAM9L,EAAM2B,QAAQC,QAAQ0J,cAE9BS,YAAa,CACZP,UAAWxL,EAAMoI,QAAQ,QAwTbN,qBApTf,SAAexF,GACb,IAAMwD,EAAUU,KACVtC,EAAWC,aAAaC,QAAQ,QAChC4H,EAAQ9H,EAASI,QAAQ,MAAQ,EAAIJ,EAAS+H,UAAU,EAAG/H,EAASI,QAAQ,MAAQJ,EACpFgI,EAAM,sBAAAvW,OAAyBqW,EAAK,QAAOG,EAE5BlM,IAAMyG,SAASvC,aAAaC,QCpFV,8BDoFhCgI,EAAuFxF,YAAAuF,EAAA,GAA7E,GAAA1F,EACyCC,oBAAS,GAAMC,EAAAC,YAAAH,EAAA,GAAlE4F,EAAqB1F,EAAA,GAAE2F,EAAwB3F,EAAA,GAAA4F,EACQ7F,oBAAS,GAAM8F,EAAA5F,YAAA2F,EAAA,GAAtEE,EAAuBD,EAAA,GAAEE,EAA0BF,EAAA,GAAAG,EACVjG,mBAAS,IAAGkG,EAAAhG,YAAA+F,EAAA,GAArDpE,EAAgBqE,EAAA,GAAEC,EAAmBD,EAAA,GAgB5C,SAASE,IACPC,IAA2BhY,MAAK,SAACqS,GAC/BsD,GAAcC,iBAAmBvD,EACjCyF,EAAoBzF,GACpBsD,GAAcE,aAAe,GAC7B0B,GAAyB,MAI7B,SAAS7B,EAAoBjD,GAC3BkD,GAAcE,aAAa9W,KAAK0T,GAChCqF,EAAoBhC,MA1BtBmC,qBAAU,WAER,IAAMC,EAAWC,aAAY,WAC3BH,IAA2BhY,MAAK,SAACqS,GAC/BsD,GAAcC,iBAAmBvD,EACjCyF,EAAoBhC,WAErB,MACH,OAAO,kBAAMsC,cAAcF,MAC1B,IAEHD,qBAAU,WACRF,MACC,IAiBH,IAAI7K,EAAkBD,KAClBC,EAAgBG,SAAS,UAE3BH,OAAkBtO,GAIpB,IAAMyZ,EAAyB,SAACC,GAC1BjB,IAAeiB,EAAMC,OAAOhX,QAC9B6N,aAAaoJ,QC/HsB,4BD+HuBF,EAAMC,OAAOhX,OACvE1B,OAAOkH,SAAS0R,WAIdC,EAAuB,WAC3B,IAAIC,EAAcC,IAClBrL,EAAMsL,SAASF,GACK,eAAhBA,EACFzR,EAAeE,WAAW,YAE1BF,EAAeE,WAAW,cAIxBwR,EAAc,WAClB,MAA6C,eAAtCxJ,aAAaC,QAAQ,aAAgC,gBAAkB,cAM1EyJ,EAAmB,IAAIxK,IAHH,YACxByK,EAAaxL,EAAMyL,iBAAiB,+BElJX,CAAEzE,QAAS,WAAa,CAAEtG,gBAAiB,WFuJpEpO,OAAOoZ,QAAU,SAAUnY,IAEP,IAAdA,EAAEoY,UAAmC,IAAfpY,EAAEqY,UAAmC,KAAdrY,EAAEsY,SACjDN,EAAiBpK,wBAGtB,IAAA2K,EAEmDnO,IAAMyG,SAAS,MAAK2H,EAAAzH,YAAAwH,EAAA,GAAjEE,EAAkBD,EAAA,GAAEE,EAAqBF,EAAA,GAC1CG,EAAmBC,QAAQH,GAW3BI,EACJzO,IAAAC,cAACyO,IAAI,CACHC,SAAUN,EACVO,aAAc,CACZC,SAAU,MACVC,WAAY,SAEdC,GARiB,qCASjBC,aAAW,EACXC,gBAAiB,CACfJ,SAAU,MACVC,WAAY,SAEdnG,KAAM4F,EACN1F,QAvB0B,WAC5ByF,EAAsB,QAwBpBtO,IAAAC,cAACiP,IAAQ,CAACzH,QAAS,kBAAMgF,GAA4BD,KACnDxM,IAAAC,cAACqH,IAAU,CACTE,aAAW,eACXjH,MAAM,UACNwO,GAAG,qBACHxM,UAAU,qBAEVvC,IAAAC,cAACkP,IAAK,CAACC,aAAc9G,EAAiBlU,OAAQmM,MAAM,aAClDP,IAAAC,cAACoP,IAAiB,QAGtBrP,IAAAC,cAAA,SAAG,kBAGLD,IAAAC,cAACiP,IAAQ,CAACzH,QAASmG,EAAiBpK,sBAClCxD,IAAAC,cAACqH,IAAU,CACTE,aAAW,qBACXjH,MAAM,UACNwO,GAAG,MACHxM,UAAU,qBAEVvC,IAAAC,cAACqP,KAA8B,OAEjCtP,IAAAC,cAAA,SAAG,aAGLD,IAAAC,cAACiP,IAAQ,CAACzH,QAAS+F,GACjBxN,IAAAC,cAACqH,IAAU,CACTE,aAAW,eACXjH,MAAM,UACNwO,GAAG,oBACHxM,UAAU,qBAE6B,eAAtC2B,aAAaC,QAAQ,aAAgCnE,IAAAC,cAACsP,IAAS,MAAMvP,IAAAC,cAACuP,IAAe,OAExFxP,IAAAC,cAAA,SAAG,UAELD,IAAAC,cAACiP,IAAQ,KACPlP,IAAAC,cAACwP,IAAM,CAACC,IAAKzL,EAAU0L,IAAK1D,EAAQpG,QAASA,EAAQ4F,cAAelJ,UAAU,sBAC9EvC,IAAAC,cAAA,SAAG,aAKT,OACED,IAAAC,cAAAD,IAAA4P,SAAA,KACE5P,IAAAC,cAAA,OAAKsC,UAAWsD,EAAQiF,OACxB9K,IAAAC,cAAA,OAAKsC,UAAWsD,EAAQkF,gBACrBzC,GAAoBA,EAAiBlU,OAAS,GAC7C4L,IAAAC,cAAC4P,GAAmB,CAClBjH,kBAAmB4D,EACnB1D,qBAAsB2D,EACtBnE,iBAAkBA,EAClBkC,oBAAqBA,EACrBF,qBAAsBuC,IAEzBvE,GAAoBA,EAAiBlU,OAAS,GAC7C4L,IAAAC,cAAC6P,GAAmB,CAClBlH,kBAAmBwD,EACnBtD,qBAAsBuD,EACtB/D,iBAAkBA,IAEtBtI,IAAAC,cAACiK,IAAI,CAACC,WAAS,GACbnK,IAAAC,cAACiK,IAAI,CAACE,MAAI,GAACpK,IAAAC,cAACmC,GAAY,OACxBpC,IAAAC,cAACiK,IAAI,CAACE,MAAI,EAAC7H,UAAWsD,EAAQiG,aAC5B9L,IAAAC,cAAC8P,IAAW,CACZxN,UAAWsD,EAAQ8F,YACnBqE,SAAS,MACPhQ,IAAAC,cAACgQ,KAAM,CACLC,QAAQ,2BACRnB,GAAG,qBACH1Y,MAAO6N,aAAaC,QCnQK,6BDoQzBgM,SAAUhD,EACV5K,UAAWsD,EAAQ+F,OACnBwE,WAAY,CACVvK,QAAS,CACPiE,KAAMjE,EAAQiE,QAIjBzH,EAAMgO,aACLhO,EAAMgO,YAAYjc,OAAS,GAC3BiO,EAAMgO,YAAY5G,KAAI,SAACW,GAAI,OAAKpK,IAAAC,cAACiP,IAAQ,CAAC7Y,MAAO+T,EAAKkG,KAAM/I,IAAK6C,EAAKkG,MAAOlG,EAAKkG,WAIvFtO,GACChC,IAAAC,cAACsQ,IAAI,CACHhQ,MAAM,UACNiQ,MAAOxO,EACPqH,QAAQ,WACR9G,UAAWsD,EAAQuF,uBAIzBpL,IAAAC,cAACiK,IAAI,CAACE,MAAI,EAAC7H,UAAWsD,EAAQiG,aAC5B9L,IAAAC,cAACqH,IAAU,CACTE,aAAW,eACXjH,MAAM,UACNwO,GAAG,qBACHtH,QAAS,kBAAMgF,GAA4BD,IAC3CjK,UAAU,oBACVyN,SAAS,KAEThQ,IAAAC,cAACkP,IAAK,CAACC,aAAc9G,EAAiBlU,OAAQmM,MAAM,aAClDP,IAAAC,cAACoP,IAAiB,SAIxBrP,IAAAC,cAACiK,IAAI,CAACE,MAAI,EAAE7H,UAAWsD,EAAQiG,aAG3B9L,IAAAC,cAACqH,IAAU,CACTE,aAAW,qBACXjH,MAAM,UACNwO,GAAG,MACHtH,QAASmG,EAAiBpK,qBAC1BjB,UAAU,oBACVyN,SAAS,KAEThQ,IAAAC,cAACqP,KAA8B,QAIrCtP,IAAAC,cAACiK,IAAI,CAACE,MAAI,EAAC7H,UAAWsD,EAAQiG,aAC5B9L,IAAAC,cAACqH,IAAU,CACTE,aAAW,eACXjH,MAAM,UACNkH,QAAS+F,EACTuB,GAAG,oBACHxM,UAAU,oBACVyN,SAAS,KAE8B,eAAtC9L,aAAaC,QAAQ,aAAgCnE,IAAAC,cAACsP,IAAS,MAAMvP,IAAAC,cAACuP,IAAe,QAG1FxP,IAAAC,cAACiK,IAAI,CAACE,MAAI,EAAC7H,UAAWsD,EAAQiG,aAC1B9L,IAAAC,cAACwP,IAAM,CAACC,IAAKzL,EAAU0L,IAAK1D,EAAQpG,QAASA,EAAQ4F,cAAelJ,UAAU,yBAKzFvC,IAAAC,cAAA,OAAKsC,UAAWsD,EAAQsF,eAClBsD,EACAnG,GAAoBA,EAAiBlU,OAAS,GAC7C4L,IAAAC,cAAC4P,GAAmB,CAClBjH,kBAAmB4D,EACnB1D,qBAAsB2D,EACtBnE,iBAAkBA,EAClBkC,oBAAqBA,EACrBF,qBAAsBuC,IAEzBvE,GAAoBA,EAAiBlU,OAAS,GAC7C4L,IAAAC,cAAC6P,GAAmB,CAClBlH,kBAAmBwD,EACnBtD,qBAAsBuD,EACtB/D,iBAAkBA,IAEtBtI,IAAAC,cAACiK,IAAI,CAACC,WAAS,GACbnK,IAAAC,cAACiK,IAAI,CAACE,MAAI,GACRpK,IAAAC,cAAC8P,IAAW,CAACxN,UAAWsD,EAAQ8F,aAC9B3L,IAAAC,cAACgQ,KAAM,CACLC,QAAQ,2BACRnB,GAAG,4BACH1Y,MAAO6N,aAAaC,QChWK,6BDiWzBgM,SAAUhD,EACV5K,UAAWsD,EAAQ+F,OACnBwE,WAAY,CACVvK,QAAS,CACPiE,KAAMjE,EAAQiE,QAIjBzH,EAAMgO,aACLhO,EAAMgO,YAAYjc,OAAS,GAC3BiO,EAAMgO,YAAY5G,KAAI,SAACW,GAAI,OAAKpK,IAAAC,cAACiP,IAAQ,CAAC7Y,MAAO+T,EAAKkG,KAAM/I,IAAK6C,EAAKkG,MAAOlG,EAAKkG,YAK1FtQ,IAAAC,cAACiK,IAAI,CAACE,MAAI,GACRpK,IAAAC,cAACqH,IAAU,CACThH,KAAK,QACLkH,aAAW,YACXiJ,gBAzMS,qCA0MTC,gBAAc,OACdjJ,QA/MiB,SAAC2F,GAC5BkB,EAAsBlB,EAAMuD,gBA+MlBpQ,MAAM,WAENP,IAAAC,cAAC2Q,IAAY,c,sEGzWrBrK,GAAYT,aAAW,SAAC/F,GAAK,MAAM,CACvC8Q,KAAM,CACJ7K,QAAS,QAEXgC,OAAQ,CACNE,WACyB,SAAvBnI,EAAM2B,QAAQnK,KAAkBwI,EAAM2B,QAAQwG,WAAWxJ,QAAUqB,EAAM2B,QAAQC,QAAQC,KAC3FkP,OAAQ/Q,EAAM+Q,OAAOC,OAAS,EAC9BC,WAAYjR,EAAMkR,YAAY9Z,OAAO,CAAC,QAAS,UAAW,CACxD+Z,OAAQnR,EAAMkR,YAAYC,OAAOC,MACjCC,SAAUrR,EAAMkR,YAAYG,SAASC,iBAGzCC,YAAa,CACXlL,WAhBgB,IAiBhBwD,MAAM,eAADlU,OAjBW,IAiBiB,OACjCsb,WAAYjR,EAAMkR,YAAY9Z,OAAO,CAAC,QAAS,UAAW,CACxD+Z,OAAQnR,EAAMkR,YAAYC,OAAOC,MACjCC,SAAUrR,EAAMkR,YAAYG,SAASG,kBAGzCR,OAAQ,CACNnH,MAxBgB,IAyBhB4H,WAAY,EACZC,WAAY,UAEdC,WAAY,CACV9H,MA7BgB,IA8BhBoH,WAAYjR,EAAMkR,YAAY9Z,OAAO,QAAS,CAC5C+Z,OAAQnR,EAAMkR,YAAYC,OAAOC,MACjCC,SAAUrR,EAAMkR,YAAYG,SAASG,kBAGzCI,YAAW3G,YAAA,CACTgG,WAAYjR,EAAMkR,YAAY9Z,OAAO,QAAS,CAC5C+Z,OAAQnR,EAAMkR,YAAYC,OAAOC,MACjCC,SAAUrR,EAAMkR,YAAYG,SAASC,gBAEvCO,UAAW,SACXhI,MAAO7J,EAAMoI,QAAQ,GAAK,GACzBpI,EAAMkL,YAAYC,GAAG,MAAQ,CAC5BtB,MAAO7J,EAAMoI,QAAQ,GAAK,IAG9B0J,QAAS,CACP7L,QAAS,OACT8L,WAAY,SACZC,eAAgB,WAChB9L,QAASlG,EAAMoI,QAAQ,EAAG,IAE5B9U,QAAS,CACP0T,SAAU,EACVd,QAASlG,EAAMoI,QAAQ,IAEzB6J,SAAU,CACRC,eAAgB,OAChB1R,MAAOR,EAAM2B,QAAQC,QAAQ0J,aAC7BnI,SAAU,UACVC,WAAY,WAmFD+O,OA/Ef,SAAgB7P,GACd,IAAMwD,EAAUU,KACVxG,EAAQoS,eACRC,EAAgBC,aAActS,EAAMkL,YAAYqH,KAAK,OACrDC,EAAUC,eAuChB,OALAzF,qBAAU,WACH1K,EAAMoQ,cAfe,CAAC,oBACzB,qBAAsB,MACtB,oBAAqB,sBACLxe,SAAQ,SAAC8a,EAAI2D,GACzBC,SAASC,eAAe7D,IAC1B4D,SAASC,eAAe7D,GAAI8D,aAAa,WAAY,QAYxD,CAACxQ,EAAMoQ,eAGRzS,IAAAC,cAAA,cACED,IAAAC,cAAA,WACED,IAAAC,cAAC6S,KAAK,CAACC,QAAQ,EAAOC,UAAU,OAAOC,IAAKV,GAC1CvS,IAAAC,cAACkJ,IAAM,CAAClB,SAAS,QAAQ1F,UAAWsD,EAAQmC,QAC1ChI,IAAAC,cAACmJ,IAAO,CAACC,QAAS+I,EAAgB,QAAU,WAC1CpS,IAAAC,cAACqH,IAAU,CACT/E,UAAU,oBACVhC,MAAM,UACNiH,aAAW,sBACXC,QA/CW,WACvBpF,EAAM6Q,kBA+CM5J,KAAK,QACL6J,kBAAe9Q,EAAMoQ,aACrBW,UA9CQ,SAAChG,GACrB,GAAkB,UAAdA,EAAM7F,IAAiB,CACC,CAAC,oBACzB,qBAAsB,MACtB,oBAAqB,sBACLtT,SAAQ,SAAC8a,EAAI2D,GACzBC,SAASC,eAAe7D,IAC1B4D,SAASC,eAAe7D,GAAI8D,aAAa,YAAa,SA0C/CxQ,EAAMoQ,aAAezS,IAAAC,cAACoT,KAAe,MAAMrT,IAAAC,cAACqT,IAAQ,OAEvDtT,IAAAC,cAACsT,KAAI,CAACrR,KAAK,MAAM6M,GAAG,qBAClB/O,IAAAC,cAAC+C,IAAU,CAACqG,QAAQ,KAAKmK,QAAM,EAACjR,UAAWsD,EAAQmM,UAAU,gBAI/DhS,IAAAC,cAACwT,GAAK,CAACpD,YAAahO,EAAMgO,YAAa1C,SAhClC,SAACxR,GAChBkG,EAAMsL,SAASxR,Y,OCzEJuX,OApCf,SAAqBrR,GACnB,IAAMtC,EAAQoS,eACd,OACE9P,EAAMsR,YACJ3T,IAAAC,cAAA,OAAKsC,UAAU,cACbvC,IAAAC,cAAA,OACEsC,UAAU,YACVqR,QAAQ,cACRhK,MAAM,OACN8B,OAAO,QAEP1L,IAAAC,cAAA,QACE4T,YAAU,uBACVC,eAAa,qBACbC,OAAO,OACP9b,EAAE,6CACF4T,KAAM9L,EAAM2B,QAAQC,QAAQC,KAC5BnO,UAAU,yBAEVuM,IAAAC,cAAA,oBACE+T,cAAc,YACdzc,KAAK,SACL0c,SAAS,SACT7b,OAAO,oBACP8b,SAAS,MACTC,IAAI,KACJC,MAAM,KACNC,YAAY,mB,wFClBpB9N,GAAYT,aAAW,SAAC/F,GAAK,MAAM,CACvCuU,OAAQ,CACNzR,YAAa9C,EAAMoI,QAAQ,IAE7BoM,YAAa,CACXpO,SAAU,QAEZqO,YAAa,CACX,UAAW,CACTC,OAAQ,UACRC,OAAQ,qBAEVzC,eAAgB,OAChB1R,MACyB,SAAvBR,EAAM2B,QAAQnK,KACVwI,EAAM2B,QAAQG,OAAOC,MACrB/B,EAAM2B,QAAQG,OAAO8S,WA+FhBC,OA3Ff,SAAqBvS,GACnB,IAAMtC,EAAQoS,eAGZhe,EAMEkO,EANFlO,SACA+N,EAKEG,EALFH,KAAI2S,EAKFxS,EAJFyS,uBAAe,IAAAD,GAAQA,EACvBxU,EAGEgC,EAHFhC,MACA0U,EAEE1S,EAFF0S,iBACAC,EACE3S,EADF2S,gBAEInP,EAAUU,KAAY2F,EACJlM,IAAMyG,SAASqO,GAAgBG,EAAAtO,YAAAuF,EAAA,GAAhDvD,EAAIsM,EAAA,GAAEC,EAAOD,EAAA,GASpB,OAAI/S,EAEAlC,IAAAC,cAAA,UACID,IAAAC,cAACkV,KAAQ,CACPpP,QAAM,EACNwB,IAAKlH,EACL+U,GAAIlT,EACJA,KAAMA,EACNe,UAAU,IACVwE,QAAS,WACPuN,EAAgB3S,EAAMgT,WAExB9S,UAAWsD,EAAQ2O,aAEnBxU,IAAAC,cAACqV,KAAY,CAAC/S,UAAWsD,EAAQ0O,aAC9B1U,GAAQQ,EAAON,IAElBC,IAAAC,cAACsV,KAAY,CAAC5T,QAAStB,MAO/BL,IAAAC,cAACD,IAAM4P,SAAQ,KACb5P,IAAAC,cAAA,MACEuV,QAAS,SAACpI,GACR2H,MAGF/U,IAAAC,cAACkV,KAAQ,CACPpP,QAAM,EACNwB,IAAKlH,EACLoH,QAxCY,YACO,IAArBpF,EAAMoT,YACRV,IAEFG,GAAQ,SAACQ,GAAO,OAAMA,GAAWrT,EAAMoT,eAqCjClT,UAAWsD,EAAQ2O,aAEnBxU,IAAAC,cAACqV,KAAY,CAAC/S,UAAWsD,EAAQ0O,aAC9B1U,GAAQQ,EAAON,IAElBC,IAAAC,cAACsV,KAAY,CAAC5T,QAAStB,IACtBsI,EAAO3I,IAAAC,cAAC0V,KAAU,MAAM3V,IAAAC,cAAC2V,KAAU,QAGxC5V,IAAAC,cAAA,UACED,IAAAC,cAAC4V,KAAQ,CAAC5C,GAAItK,GAAQtG,EAAMoT,WAAYK,QAAQ,OAAOC,eAAa,GAClE/V,IAAAC,cAAC+V,KAAI,CACHC,OAAO,EACPhT,UAAU,MACViT,gBAAc,EACd3T,UAAWsD,EAAQyO,QAElBngB,O,kBC7Db,SAASgiB,GAAe3iB,GAAU,IACxB4iB,EAAkD5iB,EAAlD4iB,MAAmBpB,GAA+BxhB,EAA3C6iB,WAA2C7iB,EAA/BwhB,iBAAoBsB,EAAMC,aAAK/iB,EAAO,0CAC7DiiB,EAAajiB,EAAQ6O,MAAMgU,WAC/B,OACErW,IAAAC,cAAC+V,KAAI,CAACC,OAAO,GACVG,EAAMI,QAEL,SAACC,EAAOC,GAAI,OAcpB,SAA0BC,GAUtB,IATFtU,EAAKsU,EAALtU,MACAuU,EAAUD,EAAVC,WACAnB,EAAUkB,EAAVlB,WACAgB,EAAKE,EAALF,MACAC,EAAIC,EAAJD,KACAG,EAAKF,EAALE,MACA9B,EAAgB4B,EAAhB5B,iBACAC,EAAe2B,EAAf3B,gBACAnf,EAAC8gB,EAAD9gB,EAEA,IAAwB,IAApB6gB,EAAKI,WACP,OAAOL,EAET,GAAIC,EAAKviB,UAAYuiB,EAAKviB,SAASC,OAAS,EAAG,CAC7C,IAAM2iB,EAAgE,IAArDH,EAAWtiB,SAAS+P,QAAQ,GAAD3O,OAAIghB,EAAKpiB,SAAQ,MAC7DmiB,EAAM5iB,KACJmM,IAAAC,cAAC2U,GAAW,CACVoC,UAAWN,EAAKM,UAChBH,MAAOA,EACPtP,IAAKmP,EAAKrW,MACV0W,SAAUA,IAAaL,EAAKO,UAC5BnC,gBAAiBiC,GAAYvI,QAAQkI,EAAKO,WAC1C5W,MAAOqW,EAAKrW,MACZgV,SAAUqB,EAAKpiB,SACfmhB,WAAYA,EACZV,iBAAkBA,EAClBC,gBAAiBA,GAEhBmB,GAAe,CACd9T,QACA+T,MAAOM,EAAKviB,SACZshB,aACAmB,aACAC,MAAOA,EAAQ,EACfhhB,IACAmf,2BAKN0B,EAAOA,EAAKviB,UAAqC,IAAzBuiB,EAAKviB,SAASC,OAAesiB,EAAKviB,SAAS,GAAKuiB,EAExED,EAAM5iB,KACJmM,IAAAC,cAAC2U,GAAW,CACVoC,UAAWN,EAAKM,UAChBH,MAAOA,EACPtP,IAAKmP,EAAKrW,MACVA,MAAOqW,EAAKrW,MACZ6B,KAAM,KAAOwU,EAAKpiB,SAClB+gB,SAAUqB,EAAKpiB,SACfmhB,WAAYA,EACZT,gBAAiBA,KAKvB,OAAOyB,EAtECS,CAAiBC,aAAC,CAChBV,QACAC,OACAjB,aACAT,mBACGsB,MAEP,KAkER,IAAM/P,GAAYT,aAAW,SAAC/F,GAAK,MAAM,CACvC8Q,KAAM,CACJ7K,QAAS,QAEXoR,WAAY,CACV5L,YAAa,IAEf6L,KAAM,CACJrR,QAAS,QAEX+K,OAAQ,CACNS,WAAY,EACZC,WAAY,UAEdC,WAAY,CACV9H,MA1HgB,IA2HhBoH,WAAYjR,EAAMkR,YAAY9Z,OAAO,QAAS,CAC5C+Z,OAAQnR,EAAMkR,YAAYC,OAAOC,MACjCC,SAAU,OAGdO,YAAW3G,YAAA,CACTgG,WAAYjR,EAAMkR,YAAY9Z,OAAO,QAAS,CAC5C+Z,OAAQnR,EAAMkR,YAAYC,OAAOC,MACjCC,SAAUrR,EAAMkR,YAAYG,SAASC,gBAEvCO,UAAW,SACXhI,MAAO,OACN7J,EAAMkL,YAAYC,GAAG,MAAQ,CAC5BtB,MAAO7J,EAAMoI,QAAQ,GAAK,IAG9B0J,QAAOsF,aAAA,CACLnR,QAAS,OACT8L,WAAY,SACZC,eAAgB,WAChB9L,QAASlG,EAAMoI,QAAQ,EAAG,IACvBpI,EAAMuX,OAAOzF,SAElBxe,QAAS,CACP0T,SAAU,EACVd,QAASlG,EAAMoI,QAAQ,IAEzBoP,MAAO,CACLtF,eAAgB,OAChB7L,WAAYrG,EAAMoI,QAAQ,IAE5BqP,cAAe,CACbjM,UAAWxL,EAAMoI,QAAQ,KACzB6I,WAAYjR,EAAMkR,YAAY9Z,OAAO,QAAS,CAC5C+Z,OAAQnR,EAAMkR,YAAYC,OAAOC,MAAQ,IACzCC,SAAUrR,EAAMkR,YAAYG,SAASC,iBAGzCoG,cAAe,CACbC,aAAc3X,EAAMoI,QAAQ,IAE9BoM,YAAa,CACXpO,SAAU,QAEZqO,YAAa,CACXvC,eAAgB,OAChB,UAAW,CACTwC,OAAQ,UACRC,OAAQ,qBAEVnU,MAA8B,SAAvBR,EAAM2B,QAAQnK,KAAkBwI,EAAM2B,QAAQG,OAAOC,MAAQ/B,EAAM2B,QAAQG,OAAO8S,OAE3FgD,aAAc,CACZ1R,QAAS,WAwFE2R,OApFf,SAAiBvV,GAAQ,IACfgU,EAAehU,EAAfgU,WAEFtB,EAAmB,WACvB1S,EAAM6Q,kBAYF2E,EAAa,WACjBxV,EAAMyV,eAAc,IAGhBjS,EAAUU,KAOV6P,EAAQ/T,EAAMrO,UACpB,OACEgM,IAAAC,cAAA,WACED,IAAAC,cAAC8X,KAAM,CACL1O,QAAQ,YACR9G,UAAWyV,aAAKnS,EAAQkL,OAAM/F,wBAAA,GAC3BnF,EAAQ6L,WAAa2E,GACrBxQ,EAAQ8L,aAAe0E,IAE1BxQ,QAAS,CACPgE,MAAOmO,aAAIhN,wBAAC,GACTnF,EAAQ6L,WAAa2E,GACrBxQ,EAAQ8L,aAAe0E,MAI5BrW,IAAAC,cAAA,OAAKsC,UAAWsD,EAAQgM,UACxB7R,IAAAC,cAACgY,KAAO,MACP9B,GAAe,CACd9T,QACA+T,QACAQ,WA3BW,CACjBE,YAAY,EACZxiB,SAAU,IACV+L,OAAO,GAyBDwW,MAAO,EACP9B,mBACAC,gBA5CgB,SAAC3U,GACvBgC,EAAM6V,eAAe7X,GACrBwX,OA3LJ,SAA2BC,GACzB,IAAM/X,EAAQoS,eACRtM,EAAUU,KAChB,OACEvG,IAAAC,cAAC+V,KAAI,CAACC,OAAO,EAAM1T,UAAWsD,EAAQ8R,cACpC3X,IAAAC,cAAA,UACED,IAAAC,cAACkV,KAAQ,CACPpP,QAAM,EACNwB,IAAK,OACLE,QAAS,WACPqQ,GAAc,IAEhBvV,UAAWsD,EAAQ2O,aAEnBxU,IAAAC,cAACqV,KAAY,CAAC/S,UAAWsD,EAAQ0O,aAC/BvU,IAAAC,cAACC,KAAI,CAACC,KAAMgY,KAAe9X,MAAM,OAAOC,KAAM,EAAGC,MAAOC,GAAaT,MAEvEC,IAAAC,cAACsV,KAAY,CAAC5T,QAAS,YAsNxByW,EAzCY,WACjB/V,EAAMyV,eAAc,MA0Cd9X,IAAAC,cAACoY,KAAItiB,OAAAuiB,OAAA,CACHrF,GAAIoD,EACJ3T,MAAO,CAAEuM,gBAAiB,UACrBoH,EAAa,CAAEP,QAAS,KAAS,IAEtC9V,IAAAC,cAAA,OAAKsC,UAAWsD,EAAQ2R,eACtBxX,IAAAC,cAACgY,KAAO,CAAC1V,UAAWsD,EAAQ4R,gBAC5BzX,IAAAC,cAACsT,KAAI,CACHrR,KAAK,gDACLqW,IAAI,sBACJlL,OAAO,SACPmL,OAAQzD,GAER/U,IAAAC,cAAC+C,IAAU,CAACqG,QAAQ,QAAQmK,QAAM,EAACjR,UAAWsD,EAAQ0R,MAAOkB,cAAY,GAAC,gC,sCC3PpFlS,GAAYT,aAAW,SAAC/F,GAAK,MAAM,CACvC8Q,KAAM,OAKF6H,GAAaC,aAAW,CAC5B9O,MAAO,CACL6K,OAAQ,sBAFOiE,EAIhB,SAACtW,GAAK,OACPrC,IAAAC,cAACyO,IAAI3Y,OAAAuiB,OAAA,CACH7V,UAAW,EACXmW,mBAAoB,KACpBhK,aAAc,CACZC,SAAU,MACVC,WAAY,SAEdG,gBAAiB,CACfJ,SAAU,SACVC,WAAY,WAEVzM,OAIFwW,GAAiBF,cAAW,SAAC5Y,GAAK,MAAM,KAAvB4Y,CAA4BzJ,KAEpC,SAAS4J,GAAWzW,GACjC,IAAMtC,EAAQoS,eACRtM,EAAUU,KASd2F,EAE8BlM,IAAMyG,SAAS,MAAKwO,EAAAtO,YAAAuF,EAAA,GAA7CyC,EAAQsG,EAAA,GAAE8D,EAAW9D,EAAA,GAM5B,OACEjV,IAAAC,cAACD,IAAM4P,SAAQ,KACb5P,IAAAC,cAAC+Y,KAAI,CAACzW,UAAWsD,EAAQgL,KAAMpJ,QAjBX,SAAC2F,GAClB/K,EAAM4W,SAITF,EAAY3L,EAAMuD,gBAHlBtO,EAAM6W,aAAY,GAClBra,EAAmBwD,EAAM/N,aAevB0L,IAAAC,cAACkZ,KAAc,CAAC5W,UAAU,qBAExBvC,IAAAC,cAACmZ,KAAW,KACTvZ,GAAQwC,EAAM7H,KAAMuF,GACrBC,IAAAC,cAAC+C,IAAU,CAACyV,cAAY,EAACpP,QAAQ,KAAKpG,UAAU,MAC7CZ,EAAM7H,SAKd6H,EAAM4W,UACLjZ,IAAAC,cAACyY,GAAU,CACT3J,GAAG,kBACHJ,SAAUA,EACVK,aAAW,EACXrG,KAAM6F,QAAQG,GACd9F,QAvBY,WAClBkQ,EAAY,QAwBL1W,EAAMlO,UACLkO,EAAMlO,SAASsV,KAAI,SAACvV,EAASwe,GAC3B,OACE1S,IAAAC,cAAC4Y,GAAc,CAACtR,IAAKmL,EACnBjL,QAAS,WACPpF,EAAM6W,aAAY,GAClBra,EAAmB3K,EAAQI,YAG7B0L,IAAAC,cAACqV,KAAY,KAAEzV,GAAQ3L,EAAQmM,MAAON,IACtCC,IAAAC,cAACsV,KAAY,CAAC5T,QAASzN,EAAQmM,cC9DlCgZ,OA3Bf,SAAoBhX,GAClB,OACErC,IAAAC,cAACD,IAAM4P,SAAQ,KACb5P,IAAAC,cAAA,WAAS8O,GAAG,UACV/O,IAAAC,cAAA,UAAI,0BACJD,IAAAC,cAAA,SAAG,gDAELD,IAAAC,cAAA,WACAD,IAAAC,cAACiK,IAAI,CAACC,WAAS,EAAChC,QAAS,GACtB9F,EAAMrO,UAAUyV,KAAI,SAACvV,EAASwe,GAC7B,OACE1S,IAAAC,cAACiK,IAAI,CAACE,MAAI,EAAC7C,IAAKmL,EAAO4G,GAAI,EAAGC,GAAI,EAAGlP,GAAI,GAAImP,GAAI,GAAI9W,MAAO,CAAE2D,UAAW,WACvErG,IAAAC,cAAC6Y,GAAU,CACTG,SAAU/kB,EAAQC,UAAYD,EAAQC,SAASC,OAAS,EACxDoG,KAAMtG,EAAQmM,MACdlM,SAAUD,EAAQC,SAClBG,SAAUJ,EAAQI,SAClB4kB,YAAa7W,EAAM6W,qBCd7B3S,GAAYT,aAAW,SAAC/F,GAAK,MAAM,CACvC0Z,aAAc,CACZlZ,MAAOR,EAAM2B,QAAQC,QAAQC,KAC7BqQ,eAAgB,OAChB,UAAW,CACTA,eAAgB,cAGpByH,cAAe,CACbzH,eAAgB,uBAkFL0H,OA9Ef,WAAiB,IAADnT,EACoBC,mBAAS,IAAGC,EAAAC,YAAAH,EAAA,GAAvCoT,EAASlT,EAAA,GAAEmT,EAAYnT,EAAA,GACxBb,EAAUU,KAkChB,OA5BAvG,IAAM+M,WAAU,WnBOTpY,OAAOC,YACXC,IAAIilB,iDACJhlB,KAAKH,OAAOC,YAAYG,eACxBC,MAAML,OAAOC,YAAYK,amBTXH,MAAK,SAAA2hB,GAAK,OAAIoD,EAAapD,MAAQ,kBAAMoD,EAAa,SACpE,IA2BD7Z,IAAAC,cAACD,IAAM4P,SAAQ,KAxBVgK,GAAcA,EAAUxlB,OAI3B4L,IAAAC,cAAAD,IAAA4P,SAAA,KACE5P,IAAAC,cAAA,WAAS8O,GAAG,QACV/O,IAAAC,cAAA,UAAI,eAEND,IAAAC,cAAA,WACAD,IAAAC,cAAA,UAAI,sBACH2Z,EAAUnQ,KAAI,SAACvV,EAASwe,GAAK,OAC5B1S,IAAAC,cAAA,WACED,IAAAC,cAAC+V,KAAI,KACHhW,IAAAC,cAACkV,KAAQ,CAACpP,QAAM,GACd/F,IAAAC,cAACsV,KAAY,CAAC5T,QAAS3B,IAAAC,cAAA,YAAMD,IAAAC,cAAA,KAAGiC,KAAMhO,EAAQ6lB,KAAMxX,UAAWsD,EAAQ4T,aAAclB,IAAI,sBAAsBlL,OAAO,UAAUqF,EAAQ,EAAE,KAAGxe,EAAQ8lB,MAASha,IAAAC,cAAA,QAAMsC,UAAWsD,EAAQ6T,eAAe,MAAIxlB,EAAQ+lB,sBAK1Nja,IAAAC,cAAA,YAlBKD,IAAAC,cAAAD,IAAA4P,SAAA,MAyBP5P,IAAAC,cAAA,UAAI,sBACOD,IAAAC,cAAC+V,KAAI,KACdhW,IAAAC,cAACkV,KAAQ,CAACpP,QAAM,GACd/F,IAAAC,cAACsV,KAAY,CAAC5T,QAAS3B,IAAAC,cAAA,YAAMD,IAAAC,cAAA,KAAGiC,KAAM,0BAA2BK,UAAWsD,EAAQ4T,aAAclB,IAAI,sBAAsBlL,OAAO,UAAS,IAAE,2EAEhJrN,IAAAC,cAACkV,KAAQ,CAACpP,QAAM,GACd/F,IAAAC,cAACsV,KAAY,CAAC5T,QAAS3B,IAAAC,cAAA,YAAMD,IAAAC,cAAA,KAAGiC,KAAM,sEAAuEK,UAAWsD,EAAQ4T,aAAclB,IAAI,sBAAsBlL,OAAO,UAAS,IAAE,iDACxLrN,IAAAC,cAAA,OACEyC,MAAO,CAAEsE,aAAc,gBAAiBhB,QAAS,UACjDiB,wBAAyB,CACvBC,OA5CM,8bADNzS,ICgJDylB,OAtJf,SAAa7X,GAAQ,IAAD6J,EACkBlM,IAAMyG,UAAS,GAAMwO,EAAAtO,YAAAuF,EAAA,GAAlDmK,EAAUpB,EAAA,GAAEkF,EAAalF,EAAA,GAAA9G,EACJnO,IAAMyG,SAAS,IAAG2H,EAAAzH,YAAAwH,EAAA,GAAvCiM,EAAMhM,EAAA,GAAEiM,EAASjM,EAAA,GAAAkM,EACQta,IAAMyG,UAAS,GAAM8T,EAAA5T,YAAA2T,EAAA,GAA9CE,EAAQD,EAAA,GAAErB,EAAWqB,EAAA,GAAAE,EACQza,IAAMyG,UAAS,GAAMiU,EAAA/T,YAAA8T,EAAA,GAAlD9G,EAAU+G,EAAA,GAAEC,EAAaD,EAAA,GAAAlU,EACNC,mBAASpE,EAAMuY,iBAAgBlU,EAAAC,YAAAH,EAAA,GAAlDzG,EAAK2G,EAAA,GAAEiH,EAAQjH,EAAA,GAAA4F,EACc7F,oBAAS,GAAM8F,EAAA5F,YAAA2F,EAAA,GAA5CuO,EAAUtO,EAAA,GAAEuL,EAAavL,EAAA,GA6B1B1G,EAjBYC,aAAW,SAAC/F,GAAK,MAAM,CACvC8Q,KAAM,CACJ7K,QAAS,QAEX3S,QAAS,CACP0T,SAAU,EACVd,QAASlG,EAAMoI,QAAQ,KACvBxF,WAAY5C,EAAMoI,QAAQ,IAE5B2S,aAAc,CACZ9U,QAAS,uBAEXb,QAAS,CAAEpC,gBAAiB,WAC5BzE,MAAO,CAAEyE,gBAAiB,WAC1BgY,QAAS,CAAEhY,gBAAiB,WAC5BiY,KAAM,CAAEjY,gBAAiB,cAEXwD,GAEV0U,EAAqB,WACzBd,GAAe9D,IAejBrW,IAAM+M,WAAU,WACd,IAAMjZ,EAAYuO,EAAMvO,UAOpB0mB,GAAW,EACf1mB,EAAUG,SAAQ,SAACC,GACjBsmB,EAAWA,IAAa7lB,OAAOkH,SAASqG,KAAKC,SAASjO,EAAQG,iBAGhE6kB,EAAYsB,KACX,CAACnY,EAAMvO,YAEV,IApBwBwK,EAoBlB4c,EAAelb,IAAMmb,YACrBC,EAAiB,SAAC7T,GAAG,OAAK,WAC9B2T,EAAaG,QAAQC,cAAc/T,KAGrC,OACEvH,IAAAC,cAACsb,KAAgB,CAACxb,MAAOA,GAASgI,GAAOvC,MACvCxF,IAAAC,cAACub,KAAgB,CACfC,IAAKP,EACLQ,SAAU,GACVC,kBAAgB,EAChB/M,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAC7C8M,OAAQ,SAACrU,GAAG,OACVvH,IAAAC,cAACqH,IAAU,CAACC,IAAI,QAAQC,aAAW,QAAQjH,MAAM,UAAUkH,QAAS2T,EAAe7T,IACjFvH,IAAAC,cAACsJ,KAAS,CAAC7G,MAAO,CAAEQ,SAAU,UAGlC2C,QAAS,CACPgW,eAAgBhW,EAAQV,QACxB2W,aAAcjW,EAAQvH,MACtByd,eAAgBlW,EAAQkV,QACxBiB,YAAanW,EAAQmV,MAEvBiB,iBAAkB,KAElBjc,IAAAC,cAAA,WACED,IAAAC,cAACic,IAAc,CAAC3d,UAAW,IAAM4d,iBAAe,IAC/C9Z,EAAM/D,OA/CSA,EAgDC+D,EAAM/D,MA/CtBD,IAAMC,MAAMA,EAAO,CAAEC,WAAW,KAiD/ByB,IAAAC,cAAA,OAAKsC,UAAWsD,EAAQgL,MACtB7Q,IAAAC,cAACmc,IAAW,MACZpc,IAAAC,cAACiK,IAAI,CAACC,WAAS,EAAC5H,UAAWsD,EAAQiV,cACjC9a,IAAAC,cAACiK,IAAI,CAACC,WAAS,EAAC5H,UAAWsD,EAAQiV,cACjC9a,IAAAC,cAACiS,GAAM,CACLgB,eAAgB+H,EAChBb,OAAQA,EACR3H,aAAc4D,EACd1I,SAlGE,SAACxR,GACD,eAAdA,GACFwR,EAAS5F,GAAOzC,MAChBpB,aAAaoJ,QAAQ,YAAa,gBAElCK,EAAS5F,GAAOvC,MAChBtB,aAAaoJ,QAAQ,YAAa,mBA6FpB+C,YAAahO,EAAMgO,eAGvBrQ,IAAAC,cAACiK,IAAI,CAACC,WAAS,EAAC5H,UAAWsD,EAAQiV,cACjC9a,IAAAC,cAAC2X,GAAO,CACNvB,WAAYA,EACZnD,eAAgB+H,EAChB/C,eA1EM,SAAC7X,GnBQpB,IAA2Bgc,EAAKC,EmBPnCjC,EAAUha,GACVsa,GAAc,GnBMgB0B,EmBLZhc,EnBKiBic,EmBLV3B,EnBOT,eADA/b,IAAuByd,EAAIE,QAAQ,MAAO,IAAI5c,eAE9DhL,OAAO6nB,iBAAiB,yBAAyB,WAC/CF,GAAU,MAGZA,GAAU,GmBXVnC,GAAc,GACdjW,aAAaoJ,QAAQ,iBAAkBjN,IAsEvBrM,UAAWqO,EAAMrO,UACjB8jB,cAAeA,IAEjB9X,IAAAC,cAAA,QAAMsC,UAAWsD,EAAQxS,SACvB2M,IAAAC,cAAA,OAAKsC,UAAWsD,EAAQgM,UACxB7R,IAAAC,cAACyT,GAAW,CAACC,WAAYA,IACI,InBlFxC/U,MmBkF6BxK,QAAgBomB,IAAa7G,IAAekH,GAC5D7a,IAAAC,cAACoZ,GAAU,CAACrlB,UAAWqO,EAAMrO,UAAWklB,YAAaA,IAEtD2B,GAAc7a,IAAAC,cAAC0Z,GAAI,OAClBkB,GACAxY,EAAMvO,WACNuO,EAAMvO,UAAUM,OAAS,GACzBiO,EAAMvO,UAAU2V,KAAI,SAACgT,GACnB,IAAMC,EAAmBD,EAAYpoB,aAAasL,cAClD,OACEK,IAAAC,cAAA,OACEsH,IAAKmV,EACL3N,GAAI2N,EACJna,UAAWma,e,yCC/IjCnW,GAAYT,aAAW,SAAA/F,GAAK,MAAK,CACrC4c,KAAM,CACJzT,SAAU,IACV0T,OAAQ,IAEVC,OAAQ,CACN9Z,gBAAiB+Z,KAAI,UA2BVC,OAvBf,SAAqB1a,GACnB,IAAMwD,EAAUU,KAEhB,OACEvG,IAAAC,cAAC+Y,KAAI,CAACzW,UAAWsD,EAAQ8W,MACvB3c,IAAAC,cAAC+c,KAAU,CACTH,OACE7c,IAAAC,cAACwP,IAAM,CAACjI,aAAW,QAAQjF,UAAWsD,EAAQgX,QAC5C7c,IAAAC,cAACgd,KAAuB,OAG5B5c,MAAOgC,EAAM6a,SAAS1iB,KACtByc,WAAW,IAAIkG,MAAOC,aAExBpd,IAAAC,cAACmZ,KAAW,KACVpZ,IAAAC,cAAC+C,IAAU,CAACqG,QAAQ,QAAQ9I,MAAM,QAAQ0C,UAAU,KACjDZ,EAAM6a,SAASG,Y,wCC5BX,SAASC,GAAcjb,GACpC,OACErC,IAAAC,cAAA,WACED,IAAAC,cAACyI,KAAM,CACLC,KAAMtG,EAAMkb,SAAU,EACtB1U,QAASxG,EAAMmb,YACfzU,kBAAgB,qBAChBC,mBAAiB,2BACjByU,gBAAiB,CAACC,KAAK,SAEvB1d,IAAAC,cAAC0d,KAAW,CAAC5O,GAAG,sBAAsB1M,EAAMhC,OAC5CL,IAAAC,cAACuJ,KAAa,KACZxJ,IAAAC,cAAC2d,KAAiB,CAAC7O,GAAG,4BACnB1M,EAAM4X,cAGV5X,EAAMwb,aACL7d,IAAAC,cAAC6d,KAAa,KACZ9d,IAAAC,cAAC8d,KAAM,CAACtW,QAAS,SAAA7R,GAAC,OAAIyM,EAAMmb,YAAY5nB,IAAI2K,MAAM,WAC/C8B,EAAM2b,YAEThe,IAAAC,cAAC8d,KAAM,CAACtW,QAAS,SAAA7R,GAAC,OAAIyM,EAAM4b,SAASroB,IAAI2K,MAAM,UAAU2d,WAAS,GAC/D7b,EAAM8b,W,uGCzBrB,IAKMC,GAAiB,SAAAC,GAAA,SAAAD,IAAA,IAAAE,EAAAhb,EAAAC,aAAA,KAAA6a,GAAA,QAAAG,EAAAthB,UAAA7I,OAAAoqB,EAAA,IAAAC,MAAAF,GAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAAAF,EAAAE,GAAAzhB,UAAAyhB,GAgDjB,OAhDiBpb,EAAAqb,aAAA,MAAAL,EAAAM,aAAAR,IAAA3mB,KAAAuF,MAAAshB,EAAA,OAAA5oB,OAAA8oB,MACnBK,MAAQ,CACJC,aAAa,GAChBxb,EAEDyb,WAAa,SAACC,EAAoBC,GAC9B,IAAKA,EACD,MAAM,IAAIpmB,MAAM,0CAEpB,IAAKmmB,EACD,MAAM,IAAInmB,MAAM,oCAGpBlE,OAAOuqB,YAAc,IAAIC,KAEzB,IAAMC,EAAW,CACbJ,mBAAoBA,EACpBK,iBAAkB,EAClBC,sBAAsB,EACtBC,8BAA8B,EAC9BC,2BAA2B,EAC3BC,6BAA6B,EAC7BC,yCAAyC,EACzCC,uBAAwBC,KAAwBC,IAChDC,WAAY,CAACnrB,OAAOuqB,aACpBa,gBAAe/U,YAAA,GACVrW,OAAOuqB,YAAYc,WAAa,CAC7BC,QAAShB,IAMjBG,YAAuB3qB,2BAE3BE,OAAOurB,YAAc,IAAIC,KAAoB,CACzCC,OAAQhB,IAGZzqB,OAAOurB,YAAYG,kBACnB1rB,OAAOurB,YAAYI,4BAA4Bpc,aAAaC,QAAQ,YAAY,IAAIxP,OAAOC,YAAYuX,YACvGxX,OAAOurB,YAAYK,oBAAsB,SAACC,GACtC,OAAArJ,aAAA,GACOqJ,EAAiB,CACpBC,UAAU9rB,OAAOuP,aAAaC,QAAQ,YACtCgI,WAAWxX,OAAOC,YAAYuX,eAGzC7I,EA2BA,OA3EkBod,aAAAtC,EAAAC,GAgDlBsC,aAAAvC,EAAA,EAAA7W,IAAA,oBAAAlR,MAAA,WAEoB,IAADuqB,EAAA,KACTX,EAAW7jB,KAAKiG,MAAhB4d,QACAnB,EAAe1iB,KAAKyiB,MAApBC,YC1DA,IAAIhkB,SAAQ,SAACpC,GAChBA,EAAQ,CACJmoB,KAAMpsB,yCD2DbK,MAAK,SAAAgsB,GACF,IAAI9B,EAAqB8B,EAAID,MACxBrS,QAAQsQ,IAAgBtQ,QAAQwQ,IAAuBxQ,QAAQyR,KAChEW,EAAK7B,WAAWC,EAAoBiB,GACpCW,EAAKG,SAAS,CAACjC,aAAa,QAGnC9pB,OAAM,SAAAgP,GACH,MAAM,IAAInL,MAAM,2CAGvB,CAAA0O,IAAA,SAAAlR,MAAA,WAES,IACClC,EAAYiI,KAAKiG,MAAjBlO,SACP,OACI6L,IAAAC,cAAC2P,WAAQ,KACJzb,OAGZiqB,EA3EkB,CAAS4C,aA8EjBC,eAAWC,aAAevsB,OAAOuqB,YAAad,K,uBEvF7DzoB,GAAA,kBAAAC,GAAA,IAAAC,EAAAD,EAAA,GAAAE,EAAAC,OAAAC,UAAAC,EAAAH,EAAAI,eAAAC,EAAAJ,OAAAK,gBAAA,SAAAP,EAAAD,EAAAE,GAAAD,EAAAD,GAAAE,EAAAO,OAAA9C,EAAA,mBAAA+C,cAAA,GAAAC,EAAAhD,EAAAiD,UAAA,aAAAC,EAAAlD,EAAAmD,eAAA,kBAAAC,EAAApD,EAAAqD,aAAA,yBAAAC,EAAAhB,EAAAD,EAAAE,GAAA,OAAAC,OAAAK,eAAAP,EAAAD,EAAA,CAAAS,MAAAP,EAAAgB,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAAnB,EAAAD,GAAA,IAAAiB,EAAA,aAAAhB,GAAAgB,EAAA,SAAAhB,EAAAD,EAAAE,GAAA,OAAAD,EAAAD,GAAAE,GAAA,SAAAmB,EAAApB,EAAAD,EAAAE,EAAAG,GAAA,IAAA1C,EAAAqC,KAAAI,qBAAAkB,EAAAtB,EAAAsB,EAAAX,EAAAR,OAAAoB,OAAA5D,EAAAyC,WAAAS,EAAA,IAAAW,EAAAnB,GAAA,WAAAE,EAAAI,EAAA,WAAAF,MAAAgB,EAAAxB,EAAAC,EAAAW,KAAAF,EAAA,SAAAe,EAAAzB,EAAAD,EAAAE,GAAA,WAAAyB,KAAA,SAAAC,IAAA3B,EAAA4B,KAAA7B,EAAAE,IAAA,MAAAD,GAAA,OAAA0B,KAAA,QAAAC,IAAA3B,IAAAD,EAAAqB,OAAA,IAAAS,EAAA,iBAAAC,EAAA,YAAAC,EAAA,YAAAC,EAAA,YAAAX,KAAA,SAAAY,KAAA,SAAAC,KAAA,IAAAC,EAAA,GAAAnB,EAAAmB,EAAAzB,GAAA,8BAAA0B,EAAAlC,OAAAmC,eAAAC,EAAAF,OAAAG,EAAA,MAAAD,OAAArC,GAAAG,EAAAwB,KAAAU,EAAA5B,KAAAyB,EAAAG,GAAA,IAAAE,EAAAN,EAAA/B,UAAAkB,EAAAlB,UAAAD,OAAAoB,OAAAa,GAAA,SAAAM,EAAAzC,GAAA,0BAAA5B,SAAA,SAAA2B,GAAAiB,EAAAhB,EAAAD,GAAA,SAAAC,GAAA,YAAA0C,QAAA3C,EAAAC,SAAA,SAAA2C,EAAA3C,EAAAD,GAAA,SAAA6C,EAAA3C,EAAAK,EAAA5C,EAAAgD,GAAA,IAAAE,EAAAa,EAAAzB,EAAAC,GAAAD,EAAAM,GAAA,aAAAM,EAAAc,KAAA,KAAAZ,EAAAF,EAAAe,IAAAE,EAAAf,EAAAN,MAAA,OAAAqB,GAAA,iBAAAA,GAAAzB,EAAAwB,KAAAC,EAAA,WAAA9B,EAAA8C,QAAAhB,EAAAiB,SAAA7D,MAAA,SAAAe,GAAA4C,EAAA,OAAA5C,EAAAtC,EAAAgD,MAAA,SAAAV,GAAA4C,EAAA,QAAA5C,EAAAtC,EAAAgD,MAAAX,EAAA8C,QAAAhB,GAAA5C,MAAA,SAAAe,GAAAc,EAAAN,MAAAR,EAAAtC,EAAAoD,MAAA,SAAAd,GAAA,OAAA4C,EAAA,QAAA5C,EAAAtC,EAAAgD,QAAAE,EAAAe,KAAA,IAAA1B,EAAAK,EAAA,gBAAAE,MAAA,SAAAR,EAAAI,GAAA,SAAA2C,IAAA,WAAAhD,GAAA,SAAAA,EAAAE,GAAA2C,EAAA5C,EAAAI,EAAAL,EAAAE,MAAA,OAAAA,MAAAhB,KAAA8D,YAAA,SAAAvB,EAAAzB,EAAAE,EAAAG,GAAA,IAAAE,EAAAuB,EAAA,gBAAAnE,EAAAgD,GAAA,GAAAJ,IAAAwB,EAAA,MAAAkB,MAAA,mCAAA1C,IAAAyB,EAAA,cAAArE,EAAA,MAAAgD,EAAA,OAAAF,MAAAR,EAAAiD,MAAA,OAAA7C,EAAA8C,OAAAxF,EAAA0C,EAAAuB,IAAAjB,IAAA,KAAAE,EAAAR,EAAA+C,SAAA,GAAAvC,EAAA,KAAAE,EAAAsC,EAAAxC,EAAAR,GAAA,GAAAU,EAAA,IAAAA,IAAAkB,EAAA,gBAAAlB,GAAA,YAAAV,EAAA8C,OAAA9C,EAAAiD,KAAAjD,EAAAkD,MAAAlD,EAAAuB,SAAA,aAAAvB,EAAA8C,OAAA,IAAA5C,IAAAuB,EAAA,MAAAvB,EAAAyB,EAAA3B,EAAAuB,IAAAvB,EAAAmD,kBAAAnD,EAAAuB,SAAA,WAAAvB,EAAA8C,QAAA9C,EAAAoD,OAAA,SAAApD,EAAAuB,KAAArB,EAAAwB,EAAA,IAAAK,EAAAV,EAAA1B,EAAAE,EAAAG,GAAA,cAAA+B,EAAAT,KAAA,IAAApB,EAAAF,EAAA6C,KAAAlB,EAAA,iBAAAI,EAAAR,MAAAK,EAAA,gBAAAxB,MAAA2B,EAAAR,IAAAsB,KAAA7C,EAAA6C,MAAA,UAAAd,EAAAT,OAAApB,EAAAyB,EAAA3B,EAAA8C,OAAA,QAAA9C,EAAAuB,IAAAQ,EAAAR,OAAA,SAAAyB,EAAArD,EAAAE,GAAA,IAAAG,EAAAH,EAAAiD,OAAA5C,EAAAP,EAAAY,SAAAP,GAAA,GAAAE,IAAAN,EAAA,OAAAC,EAAAkD,SAAA,eAAA/C,GAAAL,EAAAY,SAAA8C,SAAAxD,EAAAiD,OAAA,SAAAjD,EAAA0B,IAAA3B,EAAAoD,EAAArD,EAAAE,GAAA,UAAAA,EAAAiD,SAAA,WAAA9C,IAAAH,EAAAiD,OAAA,QAAAjD,EAAA0B,IAAA,IAAA+B,UAAA,oCAAAtD,EAAA,aAAA4B,EAAA,IAAAtE,EAAA+D,EAAAnB,EAAAP,EAAAY,SAAAV,EAAA0B,KAAA,aAAAjE,EAAAgE,KAAA,OAAAzB,EAAAiD,OAAA,QAAAjD,EAAA0B,IAAAjE,EAAAiE,IAAA1B,EAAAkD,SAAA,KAAAnB,EAAA,IAAAtB,EAAAhD,EAAAiE,IAAA,OAAAjB,IAAAuC,MAAAhD,EAAAF,EAAA4D,YAAAjD,EAAAF,MAAAP,EAAA2D,KAAA7D,EAAA8D,QAAA,WAAA5D,EAAAiD,SAAAjD,EAAAiD,OAAA,OAAAjD,EAAA0B,IAAA3B,GAAAC,EAAAkD,SAAA,KAAAnB,GAAAtB,GAAAT,EAAAiD,OAAA,QAAAjD,EAAA0B,IAAA,IAAA+B,UAAA,oCAAAzD,EAAAkD,SAAA,KAAAnB,GAAA,SAAA8B,EAAA9D,GAAA,IAAAD,EAAA,CAAAgE,OAAA/D,EAAA,SAAAA,IAAAD,EAAAiE,SAAAhE,EAAA,SAAAA,IAAAD,EAAAkE,WAAAjE,EAAA,GAAAD,EAAAmE,SAAAlE,EAAA,SAAAmE,WAAAnG,KAAA+B,GAAA,SAAAqE,EAAApE,GAAA,IAAAD,EAAAC,EAAAqE,YAAA,GAAAtE,EAAA2B,KAAA,gBAAA3B,EAAA4B,IAAA3B,EAAAqE,WAAAtE,EAAA,SAAAwB,EAAAvB,GAAA,KAAAmE,WAAA,EAAAJ,OAAA,SAAA/D,EAAA5B,QAAA0F,EAAA,WAAAQ,OAAA,YAAA/B,EAAAxC,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAE,EAAAF,EAAAW,GAAA,GAAAT,EAAA,OAAAA,EAAA2B,KAAA7B,GAAA,sBAAAA,EAAA6D,KAAA,OAAA7D,EAAA,IAAAwE,MAAAxE,EAAAxB,QAAA,KAAA+B,GAAA,EAAA5C,EAAA,SAAAkG,IAAA,OAAAtD,EAAAP,EAAAxB,QAAA,GAAA6B,EAAAwB,KAAA7B,EAAAO,GAAA,OAAAsD,EAAApD,MAAAT,EAAAO,GAAAsD,EAAAX,MAAA,EAAAW,EAAA,OAAAA,EAAApD,MAAAR,EAAA4D,EAAAX,MAAA,EAAAW,GAAA,OAAAlG,EAAAkG,KAAAlG,GAAA,UAAAgG,iBAAA3D,EAAA,2BAAAkC,EAAA9B,UAAA+B,EAAA5B,EAAAkC,EAAA,eAAAhC,MAAA0B,EAAAhB,cAAA,IAAAZ,EAAA4B,EAAA,eAAA1B,MAAAyB,EAAAf,cAAA,IAAAe,EAAAuC,YAAAxD,EAAAkB,EAAApB,EAAA,qBAAAf,EAAA0E,oBAAA,SAAAzE,GAAA,IAAAD,EAAA,mBAAAC,KAAA0E,YAAA,QAAA3E,QAAAkC,GAAA,uBAAAlC,EAAAyE,aAAAzE,EAAA4E,QAAA5E,EAAA6E,KAAA,SAAA5E,GAAA,OAAAE,OAAA2E,eAAA3E,OAAA2E,eAAA7E,EAAAkC,IAAAlC,EAAA8E,UAAA5C,EAAAlB,EAAAhB,EAAAc,EAAA,sBAAAd,EAAAG,UAAAD,OAAAoB,OAAAkB,GAAAxC,GAAAD,EAAAgF,MAAA,SAAA/E,GAAA,OAAA8C,QAAA9C,IAAAyC,EAAAE,EAAAxC,WAAAa,EAAA2B,EAAAxC,UAAAS,GAAA,0BAAAb,EAAA4C,gBAAA5C,EAAAiF,MAAA,SAAAhF,EAAAC,EAAAG,EAAAE,EAAA5C,QAAA,IAAAA,MAAAuH,SAAA,IAAAvE,EAAA,IAAAiC,EAAAvB,EAAApB,EAAAC,EAAAG,EAAAE,GAAA5C,GAAA,OAAAqC,EAAA0E,oBAAAxE,GAAAS,IAAAkD,OAAA3E,MAAA,SAAAe,GAAA,OAAAA,EAAAiD,KAAAjD,EAAAQ,MAAAE,EAAAkD,WAAAnB,EAAAD,GAAAxB,EAAAwB,EAAA1B,EAAA,aAAAE,EAAAwB,EAAA9B,GAAA,0BAAAM,EAAAwB,EAAA,qDAAAzC,EAAAmF,KAAA,SAAAlF,GAAA,IAAAD,EAAAG,OAAAF,GAAAC,EAAA,WAAAG,KAAAL,EAAAE,EAAAjC,KAAAoC,GAAA,OAAAH,EAAAkF,UAAA,SAAAvB,IAAA,KAAA3D,EAAA1B,QAAA,KAAAyB,EAAAC,EAAAmF,MAAA,GAAApF,KAAAD,EAAA,OAAA6D,EAAApD,MAAAR,EAAA4D,EAAAX,MAAA,EAAAW,EAAA,OAAAA,EAAAX,MAAA,EAAAW,IAAA7D,EAAAwC,SAAAhB,EAAApB,UAAA,CAAAuE,YAAAnD,EAAA+C,MAAA,SAAAvE,GAAA,QAAAsF,KAAA,OAAAzB,KAAA,OAAAP,KAAA,KAAAC,MAAAtD,EAAA,KAAAiD,MAAA,OAAAE,SAAA,UAAAD,OAAA,YAAAvB,IAAA3B,EAAA,KAAAmE,WAAA/F,QAAAgG,IAAArE,EAAA,QAAAE,KAAA,WAAAA,EAAAqF,OAAA,IAAAlF,EAAAwB,KAAA,KAAA3B,KAAAsE,OAAAtE,EAAAsF,MAAA,WAAAtF,GAAAD,IAAAwF,KAAA,gBAAAvC,MAAA,MAAAjD,EAAA,KAAAmE,WAAA,GAAAE,WAAA,aAAArE,EAAA0B,KAAA,MAAA1B,EAAA2B,IAAA,YAAA8D,MAAAlC,kBAAA,SAAAxD,GAAA,QAAAkD,KAAA,MAAAlD,EAAA,IAAAE,EAAA,cAAAyF,EAAAtF,EAAAE,GAAA,OAAAI,EAAAgB,KAAA,QAAAhB,EAAAiB,IAAA5B,EAAAE,EAAA2D,KAAAxD,EAAAE,IAAAL,EAAAiD,OAAA,OAAAjD,EAAA0B,IAAA3B,KAAAM,EAAA,QAAAA,EAAA,KAAA6D,WAAA5F,OAAA,EAAA+B,GAAA,IAAAA,EAAA,KAAA5C,EAAA,KAAAyG,WAAA7D,GAAAI,EAAAhD,EAAA2G,WAAA,YAAA3G,EAAAqG,OAAA,OAAA2B,EAAA,UAAAhI,EAAAqG,QAAA,KAAAsB,KAAA,KAAAzE,EAAAR,EAAAwB,KAAAlE,EAAA,YAAAoD,EAAAV,EAAAwB,KAAAlE,EAAA,iBAAAkD,GAAAE,EAAA,SAAAuE,KAAA3H,EAAAsG,SAAA,OAAA0B,EAAAhI,EAAAsG,UAAA,WAAAqB,KAAA3H,EAAAuG,WAAA,OAAAyB,EAAAhI,EAAAuG,iBAAA,GAAArD,GAAA,QAAAyE,KAAA3H,EAAAsG,SAAA,OAAA0B,EAAAhI,EAAAsG,UAAA,YAAAlD,EAAA,MAAAkC,MAAA,kDAAAqC,KAAA3H,EAAAuG,WAAA,OAAAyB,EAAAhI,EAAAuG,gBAAAT,OAAA,SAAAxD,EAAAD,GAAA,QAAAE,EAAA,KAAAkE,WAAA5F,OAAA,EAAA0B,GAAA,IAAAA,EAAA,KAAAK,EAAA,KAAA6D,WAAAlE,GAAA,GAAAK,EAAAyD,QAAA,KAAAsB,MAAAjF,EAAAwB,KAAAtB,EAAA,oBAAA+E,KAAA/E,EAAA2D,WAAA,KAAAvG,EAAA4C,EAAA,OAAA5C,IAAA,UAAAsC,GAAA,aAAAA,IAAAtC,EAAAqG,QAAAhE,MAAArC,EAAAuG,aAAAvG,EAAA,UAAAgD,EAAAhD,IAAA2G,WAAA,UAAA3D,EAAAgB,KAAA1B,EAAAU,EAAAiB,IAAA5B,EAAArC,GAAA,KAAAwF,OAAA,YAAAU,KAAAlG,EAAAuG,WAAAjC,GAAA,KAAA2D,SAAAjF,IAAAiF,SAAA,SAAA3F,EAAAD,GAAA,aAAAC,EAAA0B,KAAA,MAAA1B,EAAA2B,IAAA,gBAAA3B,EAAA0B,MAAA,aAAA1B,EAAA0B,KAAA,KAAAkC,KAAA5D,EAAA2B,IAAA,WAAA3B,EAAA0B,MAAA,KAAA+D,KAAA,KAAA9D,IAAA3B,EAAA2B,IAAA,KAAAuB,OAAA,cAAAU,KAAA,kBAAA5D,EAAA0B,MAAA3B,IAAA,KAAA6D,KAAA7D,GAAAiC,GAAA4D,OAAA,SAAA5F,GAAA,QAAAD,EAAA,KAAAoE,WAAA5F,OAAA,EAAAwB,GAAA,IAAAA,EAAA,KAAAE,EAAA,KAAAkE,WAAApE,GAAA,GAAAE,EAAAgE,aAAAjE,EAAA,YAAA2F,SAAA1F,EAAAoE,WAAApE,EAAAiE,UAAAE,EAAAnE,GAAA+B,IAAA7C,MAAA,SAAAa,GAAA,QAAAD,EAAA,KAAAoE,WAAA5F,OAAA,EAAAwB,GAAA,IAAAA,EAAA,KAAAE,EAAA,KAAAkE,WAAApE,GAAA,GAAAE,EAAA8D,SAAA/D,EAAA,KAAAI,EAAAH,EAAAoE,WAAA,aAAAjE,EAAAsB,KAAA,KAAApB,EAAAF,EAAAuB,IAAAyC,EAAAnE,GAAA,OAAAK,GAAA,MAAA0C,MAAA,0BAAA6C,cAAA,SAAA9F,EAAAE,EAAAG,GAAA,YAAA+C,SAAA,CAAAxC,SAAA4B,EAAAxC,GAAA4D,WAAA1D,EAAA4D,QAAAzD,GAAA,cAAA8C,SAAA,KAAAvB,IAAA3B,GAAAgC,IAAAjC,EAmBmB,SAAAurB,KAoBlB,OApBkBA,GAAAjkB,YAAAvH,KAAA8E,MAAnB,SAAA0C,IAAA,OAAAxH,KAAAsB,MAAA,SAAAyG,GAAA,cAAAA,EAAAxC,KAAAwC,EAAAjE,MAAA,UAEM9E,SAAWA,OAAOysB,SAAUzsB,OAAO0sB,QAAU1sB,OAAO2sB,MAAQ3sB,OAAM,CAAA+I,EAAAjE,KAAA,eAAAiE,EAAArE,OAAA,iBASrE,OAFIkoB,KAAKC,MAAM/sB,gBACdgtB,KACD/jB,EAAAjE,KAAA,EACK9E,OAAO+sB,aAAaC,SAAS,KAAD,EACgE,GAAlGhtB,OAAOC,YAAYuX,WAAajI,aAAaC,QdjCN,8BciCsD,KAEzD,MAAhCxP,OAAO+sB,aAAaxE,SAAgB,CAAAxf,EAAAjE,KAAA,gBAAAiE,EAAAjE,KAAA,EAChCmoB,KAAmB,KAAD,EAAAlkB,EAAAjE,KAAA,iBAExBooB,KAAc,yBAAAnkB,EAAArC,UAAA8B,QAEjBH,MAAA,KAAAC,WAED,SAASwkB,KACL,IAAMK,EAAQnP,SAAS1S,cAAc,UACrC6hB,EAAMjP,aAAa,MAAM,GAADnd,OAAKjB,eAAqB,kCAClD,IAAMstB,EAASpP,SAAS1S,cAAc,QACtC8hB,EAAOlP,aAAa,MAAO,cAC3BkP,EAAOlP,aAAa,OAAO,GAADnd,OAAKjB,eAAqB,4CACpD,IAAMutB,EAAOrP,SAASsP,qBAAqB,QAAQ,GACnDD,EAAKE,YAAYJ,GACjBE,EAAKE,YAAYH,GAGrB,SAASH,KzBzBAjtB,OAAOC,YACXC,IAAIL,EAAU,mBACdM,KAAKH,OAAOC,YAAYG,eACxBC,MAAML,OAAOC,YAAYK,ayByBzBH,MAAK,SAACub,GACL,GAAmB,MAAfA,GAA8C,IAAvBA,EAAYjc,OACrC,MAAM,IAAIyE,MAAM,4CAGlB,IAAIspB,EAAoB9R,EAAY9H,QAAO,SAACvQ,GAAC,OAAsB,IAAjBA,EAAW,WAAY,GAEzEmqB,EAAoBA,GAAqB9R,EAAY,GACrD,IAAI+R,EAA6Ble,aAAaC,QdhEX,6BcmEH,MAA9Bie,GAEc,IADd/R,EAAY9H,QAAO,SAACvQ,GAAC,OAAKA,EAAQ,KAAEolB,aAAegF,EAA2BhF,cAC3EhpB,QAEH8P,aAAaoJ,QdvEoB,4BcuEyB6U,EAAwB,MAGpFC,EAA6Ble,aAAaC,Qd1EP,6Bc2EnC,IAAIke,EAAmBhS,EAAY9H,QAAO,SAACvQ,GAAC,OAAKA,EAAQ,KAAEolB,aAAegF,EAA2BhF,cAAY,GAEjHzoB,OAAOC,YAAYuX,WAAakW,EAAuB,KACvD1tB,OAAOC,YAAY0tB,cAAgBD,EAAgC,cACnE1tB,OAAOC,YAAY2tB,cAAgBF,EAAgC,cAE/B,MAAhC1tB,OAAO+sB,aAAaxE,SAkB7B,SAE6BzgB,GAAA+lB,GAAAxlB,MAAC,KAADC,WAnBtBwlB,CAAgBpS,GAEhBwR,QAGH7sB,OAAM,SAACsJ,GACN,IAAMokB,EAAWpkB,EAAM6I,KAAO7I,EAAM6I,KAAKwb,iBAAmB,GAC5DC,KAASC,OACP7iB,IAAAC,cAACqd,GAAa,CACZO,aAAa,EACb5D,YAAayI,EACbriB,MAAM,gCACNkd,QAAQ,IAEV5K,SAASC,eAAe,YAKF,SAAA4P,KA0E7B,OA1E6BA,GAAAtlB,YAAAvH,KAAA8E,MAA9B,SAAA0E,EAA+BkR,GAAW,OAAA1a,KAAAsB,MAAA,SAAAuI,GAAA,cAAAA,EAAAtE,KAAAsE,EAAA/F,MAAA,OACxCqT,IAA6BhY,MAAK,SAACgsB,GAC7BA,GAAOA,EAAI1sB,OACb0Y,IACGhY,MAAK,SAAC2hB,GACL,IAAM3iB,EAAYgvB,EAAiCrM,GAC/C3iB,EAAUivB,MAAK,SAACjtB,GAAC,MAAwB,mBAAnBA,EAAEzB,iBA8B1BiJ,KAAgBK,sBAChBoB,EAAsBjL,EAAWwJ,MACjC0lB,GAAYvM,EAAO3iB,EAAWuc,OAAa3c,IA/B3CoZ,IAA+BhY,MAAK,SAACgsB,GAC/BA,IACFhtB,EAAUD,KAAK,CAAEQ,aAAc,iBAAkBE,gBAAgB,IACjEkiB,EAAM5iB,KAAK,CACTwM,MAAO,kBACP/L,SAAU,iBACVC,gBAAgB,EAChBJ,SAAU,SAIba,OAAM,SAACsJ,GACsB,KAAzBA,EAAM6I,KAAK8b,YAA2C,sBAAtB3kB,EAAM6I,KAAKkW,SAC5CuF,KAASC,OACP7iB,IAAAC,cAACqd,GAAa,CACZO,aAAa,EACb5D,YAAa3b,EAAM6I,KAAKkW,QACxBhd,MAAO,kCACPkd,QAAQ,IAEV5K,SAASC,eAAe,YAG7BsQ,SAAQ,WACT5lB,KAAgBK,sBAChBoB,EAAsBjL,EAAWwJ,MACjC0lB,GAAYvM,EAAO3iB,EAAWuc,OAAa3c,SAO9CsB,OAAM,SAACsJ,GACR,IAAMokB,EAAWpkB,EAAM6I,KAAO7I,EAAM6I,KAAKwb,iBAAmB,GAC5DC,KAASC,OACP7iB,IAAAC,cAACqd,GAAa,CACZO,aAAa,EACb5D,YAAayI,EACbriB,MAAOqiB,EAAStuB,OAAS,GAAE,GAAAsB,OAAMgtB,EAAS1W,UAAU,EAAG,IAAG,UAAAtW,OAAWgtB,GACrEnF,QAAQ,IAEV5K,SAASC,eAAe,YAI9BgQ,KAASC,OACP7iB,IAAAC,cAACqd,GAAa,CACZO,aAAa,EACb5D,YAAa,6BACb5Z,MAAM,mCACNkd,QAAQ,IAEV5K,SAASC,eAAe,YAG3B5d,OAAM,WACP4tB,KAASC,OACP7iB,IAAAC,cAACqd,GAAa,CACZO,aAAa,EACb5D,YAAa,6BACb5Z,MAAM,mCACNkd,QAAQ,IAEV5K,SAASC,eAAe,YAE1B,wBAAApT,EAAAnE,UAAA8D,QACHnC,MAAA,KAAAC,YA7J8B,WAEZkkB,GAAAnkB,MAAC,KAADC,WA6JnBkmB,GAEA,IAAMC,GAAoBC,YAAwB,CAChDC,KAAM,UAGR,SAASzB,KACPe,KAASC,OACP7iB,IAAAC,cAAC8c,GAAW,CAACG,SAAUvoB,OAAO+sB,aAAaxE,WAC3CvK,SAASC,eAAe,SAa5B,SAASoQ,GAAYhvB,EAAWF,EAAWuc,EAAa/R,GACtDskB,KAASC,OACL7iB,IAAAC,cAACsjB,IAAc,CAACH,kBAAmBA,IACjCpjB,IAAAC,cAACujB,IAAM,CAACvD,QAAWwD,eACjBzjB,IAAAC,cAACme,GAAiB,KAChBpe,IAAAC,cAACyjB,IAAK,CACJvjB,KAAK,IACL0iB,OAAQ,SAACxgB,GAAK,OACZrC,IAAAC,cAACia,GAAGnkB,OAAAuiB,OAAA,GACEjW,EAAK,CACTrO,UAAWA,EACXF,UAAWA,EACXuc,YAAaA,EACb/R,MAAOA,EACPsc,gBArBE,eADF1W,aAAaC,QAAQ,aAE5B4D,GAAOzC,KAEPyC,GAAO4b,eAyBdhR,SAASC,eAAe,Y","file":"static/js/main.78a113b2.chunk.js","sourcesContent":["\nvar content = require(\"!!../node_modules/css-loader/index.js??ref--6-oneOf-4-1!../node_modules/postcss-loader/src/index.js??postcss!../node_modules/string-replace-loader/index.js??ref--6-oneOf-4-3!./index.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../node_modules/css-loader/index.js??ref--6-oneOf-4-1!../node_modules/postcss-loader/src/index.js??postcss!../node_modules/string-replace-loader/index.js??ref--6-oneOf-4-3!./index.css\", function() {\n\t\tvar newContent = require(\"!!../node_modules/css-loader/index.js??ref--6-oneOf-4-1!../node_modules/postcss-loader/src/index.js??postcss!../node_modules/string-replace-loader/index.js??ref--6-oneOf-4-3!./index.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")(true);\n// imports\n\n\n// module\nexports.push([module.id, \"body {\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", \\\"Roboto\\\", \\\"Oxygen\\\", \\\"Ubuntu\\\",\\r\\n \\\"Cantarell\\\", \\\"Fira Sans\\\", \\\"Droid Sans\\\", \\\"Helvetica Neue\\\", sans-serif;\\r\\n -webkit-font-smoothing: antialiased;\\r\\n -moz-osx-font-smoothing: grayscale;\\r\\n background-color: white;\\r\\n}\\r\\n\\r\\ncode {\\r\\n font-family: source-code-pro, Menlo, Monaco, Consolas, \\\"Courier New\\\", monospace;\\r\\n}\\r\\n\\r\\n.sideBar-button {\\r\\n padding-top: 6px !important;\\r\\n padding-right: 8px !important;\\r\\n padding-bottom: 6px !important;\\r\\n}\\r\\n\\r\\n/* Banner */\\r\\n\\r\\n#banner {\\r\\n padding: 12em 0 10em 0;\\r\\n background-image: url(\\\"https://stmintstudioprod.z1.web.core.windows.net/assets/banner.jpg\\\");\\r\\n background-size: cover;\\r\\n background-position: top;\\r\\n background-attachment: fixed;\\r\\n background-repeat: no-repeat;\\r\\n text-align: center;\\r\\n border-top: 0.5em solid #5385c1;\\r\\n}\\r\\n\\r\\n#banner h1 {\\r\\n font-size: 3.5em;\\r\\n font-weight: 100;\\r\\n color: #fff;\\r\\n line-height: 1em;\\r\\n margin: 0 0 0.5em 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n#banner p {\\r\\n font-size: 1em;\\r\\n color: rgba(255, 255, 255, 0.55);\\r\\n margin-bottom: 1.75em;\\r\\n}\\r\\n\\r\\n#newImage {\\r\\n\\ttext-align: center;\\r\\n}\\r\\n\\r\\n@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {\\r\\n #banner {\\r\\n background-attachment: scroll;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 1280px) {\\r\\n #banner {\\r\\n padding: 10em 2em 8em 2em;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 980px) {\\r\\n #banner {\\r\\n background-attachment: scroll;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 736px) {\\r\\n #banner {\\r\\n padding: 8em 1.5em 6em 1.5em;\\r\\n }\\r\\n\\r\\n #banner h1 {\\r\\n font-size: 2.5em;\\r\\n }\\r\\n\\r\\n #banner p {\\r\\n font-size: 0.9em;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 480px) {\\r\\n #banner {\\r\\n padding: 6em 1.5em 4em 1.5em;\\r\\n }\\r\\n}\\r\\n\\r\\n/* roboto-300 - vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic */\\r\\n@font-face {\\r\\n font-family: \\\"Roboto\\\";\\r\\n font-style: normal;\\r\\n font-weight: 300;\\r\\n src: local(\\\"Roboto Light\\\"), local(\\\"Roboto-Light\\\"),\\r\\n url(\\\"https://stmintstudioprod.z1.web.core.windows.net/assets/robotofont/roboto-v20-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300.woff2\\\")\\r\\n format(\\\"woff2\\\"),\\r\\n /* Chrome 26+, Opera 23+, Firefox 39+ */\\r\\n url(\\\"https://stmintstudioprod.z1.web.core.windows.net/assets/robotofont/roboto-v20-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300.woff\\\")\\r\\n format(\\\"woff\\\"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */\\r\\n}\\r\\n\\r\\n/* roboto-regular - vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic */\\r\\n@font-face {\\r\\n font-family: \\\"Roboto\\\";\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n src: local(\\\"Roboto\\\"), local(\\\"Roboto-Regular\\\"),\\r\\n url(\\\"https://stmintstudioprod.z1.web.core.windows.net/assets/robotofont/roboto-v20-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff2\\\")\\r\\n format(\\\"woff2\\\"),\\r\\n /* Chrome 26+, Opera 23+, Firefox 39+ */\\r\\n url(\\\"https://stmintstudioprod.z1.web.core.windows.net/assets/robotofont/roboto-v20-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff\\\")\\r\\n format(\\\"woff\\\"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */\\r\\n}\\r\\n\\r\\n/* roboto-500 - vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic */\\r\\n@font-face {\\r\\n font-family: \\\"Roboto\\\";\\r\\n font-style: normal;\\r\\n font-weight: 500;\\r\\n src: local(\\\"Roboto Medium\\\"), local(\\\"Roboto-Medium\\\"),\\r\\n url(\\\"https://stmintstudioprod.z1.web.core.windows.net/assets/robotofont/roboto-v20-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.woff2\\\")\\r\\n format(\\\"woff2\\\"),\\r\\n /* Chrome 26+, Opera 23+, Firefox 39+ */\\r\\n url(\\\"https://stmintstudioprod.z1.web.core.windows.net/assets/robotofont/roboto-v20-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.woff\\\")\\r\\n format(\\\"woff\\\"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */\\r\\n}\\r\\n/* roboto-700 - vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic */\\r\\n@font-face {\\r\\n font-family: \\\"Roboto\\\";\\r\\n font-style: normal;\\r\\n font-weight: 700;\\r\\n src: local(\\\"Roboto Bold\\\"), local(\\\"Roboto-Bold\\\"),\\r\\n url(\\\"https://stmintstudioprod.z1.web.core.windows.net/assets/robotofont/roboto-v20-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700.woff2\\\")\\r\\n format(\\\"woff2\\\"),\\r\\n /* Chrome 26+, Opera 23+, Firefox 39+ */\\r\\n url(\\\"https://stmintstudioprod.z1.web.core.windows.net/assets/robotofont/roboto-v20-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700.woff\\\")\\r\\n format(\\\"woff\\\"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */\\r\\n}\\r\\n/* roboto-900 - vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic */\\r\\n@font-face {\\r\\n font-family: \\\"Roboto\\\";\\r\\n font-style: normal;\\r\\n font-weight: 900;\\r\\n src: local(\\\"Roboto Black\\\"), local(\\\"Roboto-Black\\\"),\\r\\n url(\\\"https://stmintstudioprod.z1.web.core.windows.net/assets/robotofont/roboto-v20-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-900.woff2\\\")\\r\\n format(\\\"woff2\\\"),\\r\\n /* Chrome 26+, Opera 23+, Firefox 39+ */\\r\\n url(\\\"https://stmintstudioprod.z1.web.core.windows.net/assets/robotofont/roboto-v20-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-900.woff\\\")\\r\\n format(\\\"woff\\\"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */\\r\\n}\\r\\n\\r\\n.custom-chip-style:focus-within {\\r\\n border: 2px solid #e31c3d;\\r\\n}\\r\\n\\r\\n.ag-theme-balham .ag-header-cell-label {\\r\\n color: #6b6c6c !important;\\r\\n}\\r\\n\\r\\n.ag-theme-balham .ag-keyboard-focus .ag-header-cell:focus:after {\\r\\n border-color: #101d3a !important;\\r\\n}\\r\\n\\r\\n.ag-theme-balham .ag-status-name-value {\\r\\n color: #6b6c6c !important;\\r\\n}\\r\\n\\r\\n.ag-theme-balham .ag-keyboard-focus .ag-column-drop-cell:focus::after {\\r\\n border: 2px solid #4951B0 !important;\\r\\n}\", \"\", {\"version\":3,\"sources\":[\"C:/__w/1/s/src/C:/__w/1/s/src/index.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,UAAS;EACT,WAAU;EACV;yEACsE;EACtE,oCAAmC;EACnC,mCAAkC;EAClC,wBAAuB;CACzB;;AAEA;EACE,gFAA+E;CACjF;;AAEA;EACE,4BAA2B;EAC3B,8BAA6B;EAC7B,+BAA8B;CAChC;;AAEA,YAAW;;AAEX;EACE,uBAAsB;EACtB,iGAAgG;EAChG,uBAAsB;EACtB,yBAAwB;EACxB,6BAA4B;EAC5B,6BAA4B;EAC5B,mBAAkB;EAClB,gCAA+B;CACjC;;AAEA;EACE,iBAAgB;EAChB,iBAAgB;EAChB,YAAW;EACX,iBAAgB;EAChB,oBAAmB;EACnB,WAAU;CACZ;;AAEA;EACE,eAAc;EACd,iCAAgC;EAChC,sBAAqB;CACvB;;AAEA;CACC,mBAAkB;CACnB;;AAEA;EACE;IACE,8BAA6B;GAC/B;CACF;;AAEA;EACE;IACE,0BAAyB;GAC3B;CACF;;AAEA;EACE;IACE,8BAA6B;GAC/B;CACF;;AAEA;EACE;IACE,6BAA4B;GAC9B;;EAEA;IACE,iBAAgB;GAClB;;EAEA;IACE,iBAAgB;GAClB;CACF;;AAEA;EACE;IACE,6BAA4B;GAC9B;CACF;;AAEA,mFAAkF;AAClF;EACE,sBAAqB;EACrB,mBAAkB;EAClB,iBAAgB;EAChB;;;;;qBAKkB,CAAE,iDAAgD;CACtE;;AAEA,uFAAsF;AACtF;EACE,sBAAqB;EACrB,mBAAkB;EAClB,iBAAgB;EAChB;;;;;qBAKkB,CAAE,iDAAgD;CACtE;;AAEA,mFAAkF;AAClF;EACE,sBAAqB;EACrB,mBAAkB;EAClB,iBAAgB;EAChB;;;;;qBAKkB,CAAE,iDAAgD;CACtE;AACA,mFAAkF;AAClF;EACE,sBAAqB;EACrB,mBAAkB;EAClB,iBAAgB;EAChB;;;;;qBAKkB,CAAE,iDAAgD;CACtE;AACA,mFAAkF;AAClF;EACE,sBAAqB;EACrB,mBAAkB;EAClB,iBAAgB;EAChB;;;;;qBAKkB,CAAE,iDAAgD;CACtE;;AAEA;EACE,0BAAyB;CAC3B;;AAEA;EACE,0BAAyB;CAC3B;;AAEA;EACE,iCAAgC;CAClC;;AAEA;EACE,0BAAyB;CAC3B;;AAEA;EACE,qCAAoC;CACtC\",\"file\":\"index.css\",\"sourcesContent\":[\"body {\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", \\\"Roboto\\\", \\\"Oxygen\\\", \\\"Ubuntu\\\",\\r\\n \\\"Cantarell\\\", \\\"Fira Sans\\\", \\\"Droid Sans\\\", \\\"Helvetica Neue\\\", sans-serif;\\r\\n -webkit-font-smoothing: antialiased;\\r\\n -moz-osx-font-smoothing: grayscale;\\r\\n background-color: white;\\r\\n}\\r\\n\\r\\ncode {\\r\\n font-family: source-code-pro, Menlo, Monaco, Consolas, \\\"Courier New\\\", monospace;\\r\\n}\\r\\n\\r\\n.sideBar-button {\\r\\n padding-top: 6px !important;\\r\\n padding-right: 8px !important;\\r\\n padding-bottom: 6px !important;\\r\\n}\\r\\n\\r\\n/* Banner */\\r\\n\\r\\n#banner {\\r\\n padding: 12em 0 10em 0;\\r\\n background-image: url(\\\"https://stmintstudioprod.z1.web.core.windows.net/assets/banner.jpg\\\");\\r\\n background-size: cover;\\r\\n background-position: top;\\r\\n background-attachment: fixed;\\r\\n background-repeat: no-repeat;\\r\\n text-align: center;\\r\\n border-top: 0.5em solid #5385c1;\\r\\n}\\r\\n\\r\\n#banner h1 {\\r\\n font-size: 3.5em;\\r\\n font-weight: 100;\\r\\n color: #fff;\\r\\n line-height: 1em;\\r\\n margin: 0 0 0.5em 0;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n#banner p {\\r\\n font-size: 1em;\\r\\n color: rgba(255, 255, 255, 0.55);\\r\\n margin-bottom: 1.75em;\\r\\n}\\r\\n\\r\\n#newImage {\\r\\n\\ttext-align: center;\\r\\n}\\r\\n\\r\\n@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {\\r\\n #banner {\\r\\n background-attachment: scroll;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 1280px) {\\r\\n #banner {\\r\\n padding: 10em 2em 8em 2em;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 980px) {\\r\\n #banner {\\r\\n background-attachment: scroll;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 736px) {\\r\\n #banner {\\r\\n padding: 8em 1.5em 6em 1.5em;\\r\\n }\\r\\n\\r\\n #banner h1 {\\r\\n font-size: 2.5em;\\r\\n }\\r\\n\\r\\n #banner p {\\r\\n font-size: 0.9em;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 480px) {\\r\\n #banner {\\r\\n padding: 6em 1.5em 4em 1.5em;\\r\\n }\\r\\n}\\r\\n\\r\\n/* roboto-300 - vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic */\\r\\n@font-face {\\r\\n font-family: \\\"Roboto\\\";\\r\\n font-style: normal;\\r\\n font-weight: 300;\\r\\n src: local(\\\"Roboto Light\\\"), local(\\\"Roboto-Light\\\"),\\r\\n url(\\\"https://stmintstudioprod.z1.web.core.windows.net/assets/robotofont/roboto-v20-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300.woff2\\\")\\r\\n format(\\\"woff2\\\"),\\r\\n /* Chrome 26+, Opera 23+, Firefox 39+ */\\r\\n url(\\\"https://stmintstudioprod.z1.web.core.windows.net/assets/robotofont/roboto-v20-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300.woff\\\")\\r\\n format(\\\"woff\\\"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */\\r\\n}\\r\\n\\r\\n/* roboto-regular - vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic */\\r\\n@font-face {\\r\\n font-family: \\\"Roboto\\\";\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n src: local(\\\"Roboto\\\"), local(\\\"Roboto-Regular\\\"),\\r\\n url(\\\"https://stmintstudioprod.z1.web.core.windows.net/assets/robotofont/roboto-v20-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff2\\\")\\r\\n format(\\\"woff2\\\"),\\r\\n /* Chrome 26+, Opera 23+, Firefox 39+ */\\r\\n url(\\\"https://stmintstudioprod.z1.web.core.windows.net/assets/robotofont/roboto-v20-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff\\\")\\r\\n format(\\\"woff\\\"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */\\r\\n}\\r\\n\\r\\n/* roboto-500 - vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic */\\r\\n@font-face {\\r\\n font-family: \\\"Roboto\\\";\\r\\n font-style: normal;\\r\\n font-weight: 500;\\r\\n src: local(\\\"Roboto Medium\\\"), local(\\\"Roboto-Medium\\\"),\\r\\n url(\\\"https://stmintstudioprod.z1.web.core.windows.net/assets/robotofont/roboto-v20-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.woff2\\\")\\r\\n format(\\\"woff2\\\"),\\r\\n /* Chrome 26+, Opera 23+, Firefox 39+ */\\r\\n url(\\\"https://stmintstudioprod.z1.web.core.windows.net/assets/robotofont/roboto-v20-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.woff\\\")\\r\\n format(\\\"woff\\\"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */\\r\\n}\\r\\n/* roboto-700 - vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic */\\r\\n@font-face {\\r\\n font-family: \\\"Roboto\\\";\\r\\n font-style: normal;\\r\\n font-weight: 700;\\r\\n src: local(\\\"Roboto Bold\\\"), local(\\\"Roboto-Bold\\\"),\\r\\n url(\\\"https://stmintstudioprod.z1.web.core.windows.net/assets/robotofont/roboto-v20-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700.woff2\\\")\\r\\n format(\\\"woff2\\\"),\\r\\n /* Chrome 26+, Opera 23+, Firefox 39+ */\\r\\n url(\\\"https://stmintstudioprod.z1.web.core.windows.net/assets/robotofont/roboto-v20-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700.woff\\\")\\r\\n format(\\\"woff\\\"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */\\r\\n}\\r\\n/* roboto-900 - vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic */\\r\\n@font-face {\\r\\n font-family: \\\"Roboto\\\";\\r\\n font-style: normal;\\r\\n font-weight: 900;\\r\\n src: local(\\\"Roboto Black\\\"), local(\\\"Roboto-Black\\\"),\\r\\n url(\\\"https://stmintstudioprod.z1.web.core.windows.net/assets/robotofont/roboto-v20-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-900.woff2\\\")\\r\\n format(\\\"woff2\\\"),\\r\\n /* Chrome 26+, Opera 23+, Firefox 39+ */\\r\\n url(\\\"https://stmintstudioprod.z1.web.core.windows.net/assets/robotofont/roboto-v20-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-900.woff\\\")\\r\\n format(\\\"woff\\\"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */\\r\\n}\\r\\n\\r\\n.custom-chip-style:focus-within {\\r\\n border: 2px solid #e31c3d;\\r\\n}\\r\\n\\r\\n.ag-theme-balham .ag-header-cell-label {\\r\\n color: #6b6c6c !important;\\r\\n}\\r\\n\\r\\n.ag-theme-balham .ag-keyboard-focus .ag-header-cell:focus:after {\\r\\n border-color: #101d3a !important;\\r\\n}\\r\\n\\r\\n.ag-theme-balham .ag-status-name-value {\\r\\n color: #6b6c6c !important;\\r\\n}\\r\\n\\r\\n.ag-theme-balham .ag-keyboard-focus .ag-column-drop-cell:focus::after {\\r\\n border: 2px solid #4951B0 !important;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n\n// exports\n","module.exports = __webpack_public_path__ + \"web.config\";","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--6-oneOf-4-1!../../../node_modules/postcss-loader/src/index.js??postcss!../../../node_modules/string-replace-loader/index.js??ref--6-oneOf-4-3!./FlashMessage.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--6-oneOf-4-1!../../../node_modules/postcss-loader/src/index.js??postcss!../../../node_modules/string-replace-loader/index.js??ref--6-oneOf-4-3!./FlashMessage.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--6-oneOf-4-1!../../../node_modules/postcss-loader/src/index.js??postcss!../../../node_modules/string-replace-loader/index.js??ref--6-oneOf-4-3!./FlashMessage.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(true);\n// imports\n\n\n// module\nexports.push([module.id, \"/** @format */\\r\\n\\r\\n.blinking {\\r\\n display: inline-block;\\r\\n margin-right: 15px;\\r\\n}\\r\\n\", \"\", {\"version\":3,\"sources\":[\"C:/__w/1/s/src/components/shared/C:/__w/1/s/src/components/shared/FlashMessage.css\"],\"names\":[],\"mappings\":\"AAAA,cAAa;;AAEb;EACE,sBAAqB;EACrB,mBAAkB;CACpB\",\"file\":\"FlashMessage.css\",\"sourcesContent\":[\"/** @format */\\r\\n\\r\\n.blinking {\\r\\n display: inline-block;\\r\\n margin-right: 15px;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n","\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--6-oneOf-4-1!../../../node_modules/postcss-loader/src/index.js??postcss!../../../node_modules/string-replace-loader/index.js??ref--6-oneOf-4-3!./spinner.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/index.js??ref--6-oneOf-4-1!../../../node_modules/postcss-loader/src/index.js??postcss!../../../node_modules/string-replace-loader/index.js??ref--6-oneOf-4-3!./spinner.css\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/index.js??ref--6-oneOf-4-1!../../../node_modules/postcss-loader/src/index.js??postcss!../../../node_modules/string-replace-loader/index.js??ref--6-oneOf-4-3!./spinner.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(true);\n// imports\n\n\n// module\nexports.push([module.id, \".svgLoader {\\r\\n animation: spin 1s linear infinite;\\r\\n margin: auto;\\r\\n}\\r\\n\\r\\n@keyframes spin {\\r\\n 0% {\\r\\n transform: rotate(0deg);\\r\\n }\\r\\n 100% {\\r\\n transform: rotate(360deg);\\r\\n }\\r\\n}\\r\\n\\r\\n.loadingDiv {\\r\\n height: 85vh;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n z-index: 9999;\\r\\n}\\r\\n\", \"\", {\"version\":3,\"sources\":[\"C:/__w/1/s/src/components/shared/C:/__w/1/s/src/components/shared/spinner.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,mCAAkC;EAClC,aAAY;CACd;;AAEA;EACE;IACE,wBAAuB;GACzB;EACA;IACE,0BAAyB;GAC3B;CACF;;AAEA;EACE,aAAY;EACZ,cAAa;EACb,oBAAmB;EACnB,wBAAuB;EACvB,cAAa;CACf\",\"file\":\"spinner.css\",\"sourcesContent\":[\".svgLoader {\\r\\n animation: spin 1s linear infinite;\\r\\n margin: auto;\\r\\n}\\r\\n\\r\\n@keyframes spin {\\r\\n 0% {\\r\\n transform: rotate(0deg);\\r\\n }\\r\\n 100% {\\r\\n transform: rotate(360deg);\\r\\n }\\r\\n}\\r\\n\\r\\n.loadingDiv {\\r\\n height: 85vh;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n z-index: 9999;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n","var resources = [];\r\n\r\n// Function that creates resources collection from menuitems response\r\nexport function getResourcesFromMenuItems(menuItems) {\r\n menuItems.forEach((element) => {\r\n if (element.children.length > 0) {\r\n getResourcesFromMenuItems(element.children);\r\n }\r\n if (element.children.length === 0) {\r\n resources.push({\r\n resourceName: element.pathName,\r\n isStoreEnabled: element.isStoreEnabled,\r\n });\r\n }\r\n });\r\n return resources;\r\n}\r\n","const apimUrl = process.env.API_URL;\r\nconst baseUrl = process.env.API_URL + \"/UserManagementApi\";\r\nconst notificationUrl = process.env.API_URL + \"/NotificationApi\"\r\nconst sellerManagerUrl = process.env.API_URL + \"/BusinessReview\"\r\nconst adminApiBaseUrl = process.env.API_URL + \"/adminservice\"\r\n\r\nexport function checkMSSalesAccess() {\r\n return window.httpService\r\n .get(baseUrl + \"/CheckMsSaleAccess\")\r\n .then(window.httpService.handleSuccess)\r\n .catch(window.httpService.handleError);\r\n}\r\n\r\nexport function checkIfSellerManager() {\r\n return window.httpService\r\n .get(sellerManagerUrl + \"/CheckIfSellerManager\")\r\n .then(window.httpService.handleSuccess)\r\n .catch(window.httpService.handleError);\r\n}\r\n\r\nexport function getMenuItems() {\r\n return window.httpService\r\n .get(baseUrl + \"/GetUserResources\")\r\n .then(window.httpService.handleSuccess)\r\n .catch(window.httpService.handleError);\r\n}\r\n\r\nexport function getFiscalYears() {\r\n return window.httpService\r\n .get(baseUrl + \"/GetFiscalYears\")\r\n .then(window.httpService.handleSuccess)\r\n .catch(window.httpService.handleError);\r\n}\r\n\r\nexport function gethelpLinks() {\r\n return window.httpService\r\n .get(adminApiBaseUrl + \"/GetHelpLinks\")\r\n .then(window.httpService.handleSuccess)\r\n .catch(window.httpService.handleError);\r\n}\r\n\r\n\r\nexport function getNotifications() {\r\n return window.httpService\r\n .get(notificationUrl + \"/GetUserNotifications\")\r\n .then(window.httpService.handleSuccess)\r\n .catch(window.httpService.handleError);\r\n}\r\n\r\nexport function getUserPrefApiUrl() {\r\n return window.urlInference.infer(`${apimUrl}/UserPreferenceAPI/`);\r\n}","import { toast } from \"react-toastify\";\r\nimport * as singleSpa from \"single-spa\";\r\nimport { bootstrapUserPreference } from \"@mintstudiouicore/coreutil/userPreference/userPreferenceRepo\";\r\nimport { getUserPrefApiUrl } from \"../api/menuApi\";\r\n\r\n/*eslint-disable no-undef*/\r\nexport function hashPrefix(prefix) {\r\n return function (location) {\r\n return location.hash.startsWith(`#${prefix}`);\r\n };\r\n}\r\n\r\nexport let commonSettings = {\r\n themeEventSubscribers: [],\r\n applyTheme: function (themeName) {\r\n this.themeEventSubscribers.forEach((ts) => {\r\n ts(themeName);\r\n });\r\n },\r\n registerThemeEventSubscriber: function (fun) {\r\n this.themeEventSubscribers.push(fun);\r\n }\r\n};\r\n\r\nexport async function loadApp(name, hash, appURL, storeURL, commonSettings, TelemetryLogger) {\r\n\r\n TelemetryLogger.initializeTelemetry();\r\n let storeModule = {};\r\n let customProps =\r\n {\r\n globalEventDistributor: commonSettings,\r\n TelemetryLogger: TelemetryLogger,\r\n userPref: bootstrapUserPreference(getUserPrefApiUrl(), name)\r\n };\r\n const random = Math.random();\r\n try {\r\n storeModule = storeURL\r\n ? await SystemJS.import(`${storeURL}?random=${random}`)\r\n : { storeInstance: null };\r\n } catch (e) {\r\n toast.error(`Could not load store of app ${name}.`, { autoClose: 2000 });\r\n console.log(`Could not load store of app ${name}.`, e);\r\n }\r\n\r\n if (storeModule.default) {\r\n customProps.store = storeModule.default;\r\n }\r\n\r\n // register the app with singleSPA and pass a reference to the store of the app as well as a reference to the globalEventDistributor\r\n singleSpa.registerApplication(\r\n name,\r\n () => SystemJS.import(`${appURL}?random=${random}`),\r\n hashPrefix(hash),\r\n customProps\r\n );\r\n}\r\n\r\nexport function getMountedApps() {\r\n return singleSpa.getMountedApps();\r\n}\r\n\r\nexport function navigateToResource(resource) {\r\n if (resource) {\r\n singleSpa.navigateToUrl(`#/${resource}`);\r\n }\r\n}\r\n\r\nexport function handleRouterEvent(app, setLoader) {\r\n const appStatus = singleSpa.getAppStatus(app.replace(/\\s/g, \"\").toLowerCase());\r\n if (appStatus === \"NOT_LOADED\") {\r\n window.addEventListener(\"single-spa:app-change\", () => {\r\n setLoader(false);\r\n });\r\n } else {\r\n setLoader(false);\r\n }\r\n}\r\n\r\nexport async function registerMicroFrontEnd(resources, TelemetryLogger) {\r\n if (resources && resources.length > 0) {\r\n\r\n //create an instance of telemetry service\r\n const loadingPromises = [];\r\n const cdnEnv = \"\"; //Use this to target specific blob envs.\r\n\r\n let cdnHostUrl = window.urlInference.getCdnHostUrl(cdnEnv) || process.env.ASSET_URL;\r\n if (!cdnHostUrl.endsWith('/')) {\r\n cdnHostUrl = cdnHostUrl + '/';\r\n }\r\n\r\n for (let i = 0; i < resources.length; i++) {\r\n const resource = resources[i];\r\n const resourceName = resource.resourceName.toLowerCase();\r\n const resourceScriptUrl = `${cdnHostUrl}${resourceName}${process.env.BLOB_URL_APPEND\r\n }`;\r\n // const resourceScriptUrl = 'http://localhost:5000/build/static/js/singleSpaEntry.js';\r\n const resourceStoreUrl = resource.isStoreEnabled\r\n ? `${cdnHostUrl}${resourceName}/static/js/store.js`\r\n : undefined;\r\n // const resourceStoreUrl = 'http://localhost:5000/build/static/js/store.js';\r\n loadingPromises.push(\r\n loadApp(\r\n resourceName,\r\n `/${resourceName}`,\r\n resourceScriptUrl,\r\n resourceStoreUrl,\r\n commonSettings,\r\n TelemetryLogger\r\n )\r\n );\r\n }\r\n\r\n await Promise.all(loadingPromises);\r\n\r\n singleSpa.start();\r\n } else {\r\n // Properly handle this in future with app insights integration.\r\n toast.error(\"Fatal error. Resources array is empty.\", { autoClose: false });\r\n console.error(\"Fatal error. Resources array is empty\");\r\n }\r\n}\r\n","import React from \"react\";\r\nimport {\r\n mdiCheckAll,\r\n mdiAccountTie,\r\n mdiMicrosoftExcel,\r\n mdiAccountSettings,\r\n mdiChartDonutVariant,\r\n mdiFinance,\r\n mdiCircle,\r\n mdiBullseyeArrow,\r\n mdiEqualizer,\r\n mdiAccountMultiple,\r\n mdiTrendingUp,\r\n mdiAccountCog,\r\n mdiCogTransfer,\r\n mdiAtomVariant,\r\n mdiBookOpen,\r\n mdiCog,\r\n mdiBriefcaseCheck,\r\n mdiWrench \r\n} from \"@mdi/js\";\r\nimport Icon from \"@mdi/react\";\r\n\r\nexport const getIcon = (iconname, theme) => {\r\n if (iconname === \"User Management\")\r\n return (\r\n <Icon\r\n path={mdiAccountSettings}\r\n title=\"User Management\"\r\n size={1}\r\n color={getIconColor(theme)}\r\n />\r\n );\r\n else if (iconname === \"System Settings\")\r\n return (\r\n <Icon\r\n path={mdiCog}\r\n title=\"System Settings\"\r\n size={1}\r\n color={getIconColor(theme)}\r\n />\r\n );\r\n else if (iconname === \"Distributed Quota\")\r\n return (\r\n <Icon\r\n path={mdiBullseyeArrow}\r\n title=\"Distributed Quota\"\r\n size={1}\r\n color={getIconColor(theme)}\r\n />\r\n );\r\n else if (iconname === \"Home\")\r\n return <Icon path={mdiFinance} title=\"Quota\" size={1} color={getIconColor(theme)} />;\r\n else if (iconname === \"Target Management\")\r\n return (\r\n <Icon\r\n path={mdiChartDonutVariant}\r\n title=\"Target Management\"\r\n size={1}\r\n color={getIconColor(theme)}\r\n />\r\n );\r\n else if (iconname === \"Participant Management\")\r\n return (\r\n <Icon\r\n path={mdiAccountTie}\r\n title=\"Participant Management\"\r\n size={1}\r\n color={getIconColor(theme)}\r\n />\r\n\t);\r\n\telse if (iconname === \"Self Serve\")\r\n return (\r\n <Icon\r\n path={mdiCogTransfer}\r\n title=\"Self Serve\"\r\n size={1}\r\n color={getIconColor(theme)}\r\n />\r\n\t);\r\n\telse if (iconname === \"Participant Setup\")\r\n return (\r\n <Icon\r\n path={mdiAccountCog}\r\n title=\"Participant Setup\"\r\n size={1}\r\n color={getIconColor(theme)}\r\n />\r\n\t);\r\n\telse if (iconname === \"Participant Sign Off\")\r\n return (\r\n <Icon\r\n path={mdiCheckAll}\r\n title=\"Participant Sign Off\"\r\n size={1}\r\n color={getIconColor(theme)}\r\n />\r\n );\r\n else if (iconname === \"Modeler\")\r\n return (\r\n <Icon path={mdiEqualizer} title=\"Quota Modeller\" size={1} color={getIconColor(theme)} />\r\n );\r\n else if (iconname === \"Non-Distributed Quota\")\r\n return (\r\n <Icon\r\n path={mdiMicrosoftExcel}\r\n title=\"Non-Distributed Quota\"\r\n size={1}\r\n color={getIconColor(theme)}\r\n />\r\n );\r\n else if (iconname === \"Sign Off\")\r\n return <Icon path={mdiCheckAll} title=\"Sign Off\" size={1} color={getIconColor(theme)} />;\r\n else if (iconname === \"Partner Quota\")\r\n return (\r\n <Icon path={mdiAccountMultiple} title=\"Partner Quota\" size={1} color={getIconColor(theme)} />\r\n );\r\n else if (iconname === \"Reports\")\r\n return <Icon path={mdiTrendingUp} title=\"Reports\" size={1} color={getIconColor(theme)} />;\r\n else if (iconname === \"Simulator\")\r\n return <Icon path={mdiAtomVariant} title=\"Simulator\" size={1} color={getIconColor(theme)} />;\r\n else if (iconname === \"Compensable Metrics\" || iconname === \"Target Input\")\r\n return <Icon path={mdiBookOpen} title=\"Compensable Metrics\" size={1} color={getIconColor(theme)} />;\r\n else if (iconname === \"Business Review\")\r\n return <Icon path={mdiBriefcaseCheck} title=\"Business Review\" size={1} color={getIconColor(theme)} />;\r\n else if (iconname === \"Adjustments\")\r\n return <Icon path={mdiWrench} title=\"Adjustments\" size={1} color={getIconColor(theme)} />;\r\n return <Icon path={mdiCircle} title=\"icon\" size={1} color={getIconColor(theme)} />;\r\n};\r\n\r\nexport const getIconColor = (theme) => {\r\n return theme.palette.type === \"light\" ? theme.palette.primary.main : theme.palette.common.white;\r\n};\r\n\r\nexport const getEnvironmentName = () => {\r\n let environmentName = process.env.ENVIRONMENT_NAME;\r\n if (!environmentName) {\r\n environmentName = window.location.href.includes(\"dev\") || window.location.href.includes(\"localhost\")\r\n ? \"DEV\"\r\n : window.location.href.includes(\"uat\")\r\n ? \"UAT\"\r\n : \"PROD\";\r\n } else {\r\n environmentName = environmentName.toUpperCase();\r\n if (environmentName === \"PRD\") {\r\n // for consistency with code that uses window.location.href\r\n environmentName = \"PROD\";\r\n }\r\n }\r\n return environmentName;\r\n}\r\n","/** @format */\r\nimport React from \"react\";\r\nimport \"./FlashMessage.css\";\r\nimport { Typography } from \"@material-ui/core\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport { getEnvironmentName } from \"./UtilityFunctions\";\r\n\r\n\r\nfunction FlashMessage(props) {\r\n\r\n const environmentName = getEnvironmentName();\r\n const bannerInfo = environmentName.includes(\"PROD\")\r\n ? \"Production\"\r\n : \"Non-Prod Environment\";\r\n\r\n return (\r\n environmentName && (\r\n <span className=\"blinking\">\r\n <Paper\r\n elevation={3}\r\n style={{\r\n paddingTop: \"2px\",\r\n paddingBottom: \"2px\",\r\n paddingLeft: \"5px\",\r\n paddingRight: \"5px\",\r\n backgroundColor: \"greenyellow\"\r\n }}\r\n >\r\n <Typography component=\"body1\" style={{ color: \"black\", fontSize: \"1.5rem\", fontWeight: \"bold\" }}>\r\n {bannerInfo}\r\n </Typography>\r\n </Paper>\r\n </span>\r\n )\r\n );\r\n}\r\n\r\nexport default FlashMessage;\r\n","import { getEnvironmentName } from \"../shared/UtilityFunctions\";\r\n\r\nexport class OCVInAppFeedback {\r\n constructor(showFeedbackAlert) {\r\n\t\t\r\n\t\tvar userName = localStorage.getItem('username');\r\n var userEmaiId = userName.indexOf('@') >= 0 ? userName : userName + '@microsoft.com';\r\n\r\n\t\tvar environment = getEnvironmentName().includes(\"PROD\") ? 0 : 1; // 1 is for test and 0 is for Production\r\n\t\tlet initOptions = {\r\n\t\t\tappId: 2426, // Replace by your OCV onboarded App Id\r\n\t\t\tstylesUrl: process.env.PUBLIC_STATIC_ASSET_URL + process.env.PUBLIC_STATIC_ASSET_DIR + \"/officebrowserfeedback_vertical.css\", // Replace by where you have hosted the .css\r\n\t\t\tintlUrl: process.env.PUBLIC_STATIC_ASSET_URL + process.env.PUBLIC_STATIC_ASSET_DIR + \"/OCV/\", // Replace by where you have hosted the intl files.\r\n\t\t\tenvironment: environment,\r\n\t\t\tprimaryColour: \"#0078d7\",\r\n\t\t\tsecondaryColour: \"#01589D\",\r\n\t\t\tlocale: \"Mint Studio\",\r\n\t\t\tbugForm: false,\r\n\t\t\tuserEmail: userEmaiId,\r\n\t\t\tuserEmailConsentDefault: true,\r\n\t\t\tonError: function onError(err) {\r\n\t\t\t\tconsole.log(\"Office InAppFeedback SDK encountered error.\", { err });\r\n\t\t\t},\r\n\t\t\tonDismiss: function (success) {\r\n\t\t\t\tif (success) {\r\n\t\t\t\t\tshowFeedbackAlert();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\ttelemetryGroup: {\r\n\t\t\t\tfeatureArea: \"Mint Studio\" //You can also add sub-area here instead\r\n\t\t\t}\r\n\t\t};\r\n\t\tif(window.OfficeBrowserFeedback !== undefined){\r\n\t\t\twindow.OfficeBrowserFeedback.initOptions = initOptions;\r\n\t\t}\r\n }\r\n\r\n /*\r\n This launches a Multiple feedback window\r\n */\r\n CaptureMultiFeedback = () => {\r\n\t\tthis.handlePromise(window.OfficeBrowserFeedback.multiFeedback());\r\n }\r\n\r\n /*\r\n This sends a single feedback\r\n Feedback Type -> Smile, Frown or Bug\r\n */\r\n CaptureSingleFeedback = (feedbackType) => {\r\n\t\tthis.handlePromise(window.OfficeBrowserFeedback.singleFeedback(feedbackType));\r\n }\r\n\r\n // function which logs promise fulfillment/rejection\r\n handlePromise = function (promise) {\r\n promise\r\n .then(\r\n function onFulfilled() {\r\n }\r\n )\r\n .catch(\r\n function onRejected(err) {\r\n console.log(\"OCVService received error:\", { err });\r\n }\r\n );\r\n }\r\n}","import { createMuiTheme } from \"@material-ui/core/styles\";\r\n\r\nconst darkTheme = createMuiTheme({\r\n palette: {\r\n type: \"dark\",\r\n }\r\n});\r\n\r\nconst BlueTheme = createMuiTheme({\r\n palette: {\r\n type: \"light\",\r\n secondary: {\r\n main: '#a51d4d'\r\n }\r\n }\r\n});\r\n\r\nexport default {\r\n dark: darkTheme,\r\n blue: BlueTheme,\r\n};\r\n","import React, { useState } from \"react\";\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport ExpandLessIcon from '@material-ui/icons/ExpandLess';\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\r\nimport { makeStyles } from \"@material-ui/core\";\r\nimport { Box } from \"@material-ui/core\";\r\n\r\nfunction ReadMore(props) {\r\n\r\n const { element, length, font, boxShadow } = props;\r\n\r\n const useStyles = makeStyles(theme => ({\r\n button: {\r\n display: 'inline-block',\r\n padding: 0,\r\n minHeight: 0,\r\n minWidth: 0,\r\n marginLeft: 'auto',\r\n textAlign: \"right\",\r\n },\r\n box: {\r\n paddingLeft:10,\r\n paddingBottom:10,\r\n paddingRight:0,\r\n paddingTop:10,\r\n }\r\n }));\r\n\r\n const classes = useStyles();\r\n const [showMore, setShowMore] = useState(false);\r\n function getdisplayText() {\r\n if (showMore || element.title.length + element.data.length < length)\r\n return element.data;\r\n else\r\n return element.data.slice(0, Math.max(0, length - element.title.length)) + \"....\";\r\n };\r\n\r\n return (\r\n <Box className={classes.box} boxShadow={boxShadow} flexGrow={1} p={1}>\r\n <div style={{ alignContent:\"space-between\", display: \"inline\", fontSize: `${font}px` }}>\r\n <b> {element.title} {\" \"}</b>\r\n <div\r\n style={{ alignContent:\"space-between\", display: \"inline\" }}\r\n dangerouslySetInnerHTML={{\r\n __html: getdisplayText()\r\n }}>\r\n </div>\r\n {\" \"} {element.helpLink\r\n && (showMore || element.title.length + element.data.length < length)\r\n && <a href={element.helpLink}>Help link.</a>} {\" \"}\r\n </div>\r\n {(element.title.length + element.data.length) > length &&\r\n (<IconButton\r\n className={classes.button}\r\n key=\"expand\"\r\n aria-label=\"expand-message\"\r\n color=\"inherit\"\r\n onClick={() => setShowMore(!showMore)}\r\n >\r\n {showMore ? <ExpandLessIcon style={{ align: \"right\", fontSize: `${font}` }} /> : <ExpandMoreIcon style={{ align: \"right\", fontSize: `${font}` }} />}\r\n </IconButton>)\r\n }\r\n </Box>\r\n );\r\n};\r\n\r\nexport default ReadMore;","import { DialogContent } from \"@material-ui/core\";\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport {\r\n makeStyles,\r\n ThemeProvider,\r\n} from \"@material-ui/core/styles\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport { withSnackbar } from \"notistack\";\r\nimport React from \"react\";\r\nimport themes from \"../../palette\";\r\nimport ReadMore from \"../shared/ReadMore\";\r\n\r\nfunction NotificationsDialog(props) {\r\n const currentTheme = localStorage.getItem(\"themeName\") === \"Dark Theme\" ? themes.dark : themes.blue;\r\n const useStyles = makeStyles((theme) => ({\r\n appBar: {\r\n position: \"relative\",\r\n backgroundColor: localStorage.getItem(\"themeName\") === \"Dark Theme\"\r\n ? currentTheme.palette.background.default : currentTheme.palette.background.main,\r\n },\r\n title: {\r\n marginLeft: theme.spacing(2),\r\n flex: 1,\r\n color: currentTheme.palette.common.white,\r\n },\r\n wrapper: {\r\n backgroundColor: currentTheme.palette.background.default,\r\n },\r\n }));\r\n\r\n const classes = useStyles();\r\n const notificationData = props.notificationData.filter(a => a.isAlert === true);\r\n\r\n return (\r\n <ThemeProvider theme={currentTheme}>\r\n <Dialog\r\n open={props.openNotifications && notificationData.length > 0}\r\n onClose={() => props.setOpenNotifications(false)}\r\n aria-labelledby=\"notification-dialog\"\r\n aria-describedby=\"notification-mintstudio-dialog\"\r\n style={{ padding: 0 }}\r\n fullWidth={true}\r\n maxWidth=\"md\"\r\n >\r\n <AppBar className={classes.appBar}>\r\n <Toolbar>\r\n <Typography variant=\"h6\" className={classes.title}>\r\n Alerts\r\n </Typography>\r\n <IconButton\r\n edge=\"start\"\r\n color=\"inherit\"\r\n onClick={() => {\r\n props.setOpenNotifications(false);\r\n }}\r\n aria-label=\"close\"\r\n size=\"small\"\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Toolbar>\r\n </AppBar>\r\n <br />\r\n <DialogContent p={0}>\r\n {notificationData && notificationData.map((element, indx) =>\r\n <ReadMore key={indx} element={element} length={500} font={15} boxShadow={2}/>\r\n )}\r\n </DialogContent>\r\n </Dialog>\r\n </ThemeProvider>\r\n );\r\n}\r\n\r\nexport default withSnackbar(NotificationsDialog);","import {\r\n makeStyles,\r\n ThemeProvider,\r\n} from \"@material-ui/core/styles\";\r\nimport { withSnackbar } from \"notistack\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport RefreshIcon from '@material-ui/icons/Refresh';\r\nimport React from \"react\";\r\nimport themes from \"../../palette\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\r\nimport { Typography, Box } from \"@material-ui/core\";\r\nimport ReadMore from \"../shared/ReadMore\";\r\n\r\nfunction NotificationSideBar(props) {\r\n const currentTheme = localStorage.getItem(\"themeName\") === \"Dark Theme\" ? themes.dark : themes.blue;\r\n const useStyles = makeStyles({\r\n list: {\r\n width: 350,\r\n },\r\n appBar: {\r\n position: \"relative\",\r\n backgroundColor: localStorage.getItem(\"themeName\") === \"Dark Theme\" ?\r\n currentTheme.palette.background.default : currentTheme.palette.primary.main,\r\n color: localStorage.getItem(\"themeName\") === \"Dark Theme\" ?\r\n currentTheme.palette.background.main : currentTheme.palette.background.paper,\r\n },\r\n icon: {\r\n paddingLeft:0,\r\n paddingBottom:0,\r\n paddingRight:5,\r\n paddingTop:5,\r\n }\r\n });\r\n\r\n const classes = useStyles();\r\n\r\n return (\r\n <ThemeProvider theme={currentTheme}>\r\n <div className={classes.wrapper}>\r\n <div className=\"shell\">\r\n <SwipeableDrawer\r\n anchor={\"right\"}\r\n open={props.openNotifications}\r\n onOpen={() => {}}\r\n onClose={() => props.setOpenNotifications(false)}\r\n >\r\n <Box className={classes.appBar} p={1}>\r\n <Grid container spacing={1}>\r\n <Grid item sm>\r\n <Typography variant=\"h6\" >\r\n <b> Notifications </b>\r\n </Typography>\r\n </Grid>\r\n <Grid item sm={2}>\r\n <IconButton\r\n edge=\"start\"\r\n color=\"inherit\"\r\n onClick={() => {\r\n props.refreshNotifications();\r\n }}\r\n aria-label=\"close\"\r\n size=\"small\"\r\n >\r\n <RefreshIcon />\r\n </IconButton>\r\n </Grid>\r\n <Grid item sm={1}>\r\n <IconButton\r\n edge=\"start\"\r\n color=\"inherit\"\r\n onClick={() => {\r\n props.setOpenNotifications(false);\r\n }}\r\n aria-label=\"close\"\r\n size=\"small\"\r\n >\r\n <CloseIcon />\r\n </IconButton>\r\n </Grid>\r\n </Grid>\r\n </Box>\r\n <div className={classes.list}>\r\n {props.notificationData && props.notificationData.map((element, indx) =>\r\n <Box key={indx} boxShadow={1} display=\"flex\">\r\n <ReadMore element={element} length={140} font={12} boxShadow={0}/>\r\n <Box width=\"auto\">\r\n <IconButton className={classes.icon} onClick = {() => {props.disableNotification(element.key)}}>\r\n <CloseIcon style={{ align: \"top\", fontSize: '12' }}/>\r\n </IconButton>\r\n </Box> \r\n </Box>\r\n )}\r\n </div>\r\n </SwipeableDrawer>\r\n </div>\r\n </div>\r\n </ThemeProvider >\r\n );\r\n}\r\n\r\nexport default withSnackbar(NotificationSideBar);","const Notifications = {\r\n AllNotifications: [],\r\n DisabledKeys: [],\r\n};\r\n\r\nexport function getfilteredNotification() {\r\n return Notifications.AllNotifications.filter(function (itm) {\r\n return Notifications.DisabledKeys.indexOf(itm.key) < 0;\r\n });\r\n};\r\n\r\nexport default Notifications;","import { IconButton } from \"@material-ui/core\";\r\nimport Badge from \"@material-ui/core/Badge\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport Menu from '@material-ui/core/Menu';\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport Brightness3Icon from \"@material-ui/icons/Brightness3\";\r\nimport FlareIcon from \"@material-ui/icons/Flare\";\r\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\r\nimport NotificationsIcon from \"@material-ui/icons/Notifications\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport * as menuApi from \"../../api/menuApi\";\r\nimport Chip from \"@material-ui/core/Chip\";\r\nimport { commonSettings } from \"../../lib/spaLoader\";\r\nimport Avatar from \"@material-ui/core/Avatar\";\r\nimport FormControl from \"@material-ui/core/FormControl\";\r\nimport Select from \"@material-ui/core/Select\";\r\nimport * as Constants from \"../../constants\";\r\nimport FlashMessage from \"../shared/FlashMessage\";\r\nimport SentimentSatisfiedOutlinedIcon from '@material-ui/icons/SentimentSatisfiedOutlined';\r\nimport { OCVInAppFeedback } from \"../OneCustomerVoice/ocvFeedback\";\r\nimport { AlertSuccess } from \"../shared/AlertToast\";\r\nimport { withSnackbar } from \"notistack\";\r\nimport { getEnvironmentName } from \"../shared/UtilityFunctions\";\r\nimport NotificationsDialog from \"./NoificationAlert\";\r\nimport NotificationSideBar from \"./NotificationSideBar\";\r\nimport Notifications, { getfilteredNotification } from \"./notificationsRepo\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n grow: {\r\n flexGrow: 1\r\n },\r\n sectionDesktop: {\r\n display: 'none',\r\n [theme.breakpoints.up('md')]: {\r\n display: 'flex',\r\n },\r\n },\r\n sectionMobile: {\r\n display: 'flex',\r\n [theme.breakpoints.up('md')]: {\r\n display: 'none',\r\n },\r\n },\r\n EnvironmentNameChip: {\r\n color: theme.palette.primary.contrastText,\r\n borderColor: theme.palette.primary.contrastText,\r\n marginTop: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n },\r\n profileAvatar: {\r\n width: theme.spacing(4),\r\n height: theme.spacing(4),\r\n marginRight: theme.spacing(1),\r\n marginLeft: theme.spacing(1)\r\n },\r\n formControl: {\r\n marginTop: theme.spacing(1),\r\n marginRight: theme.spacing(3),\r\n color: theme.palette.primary.contrastText\r\n },\r\n select: {\r\n color: theme.palette.primary.contrastText,\r\n \"&:before\": {\r\n borderColor: theme.palette.primary.contrastText\r\n },\r\n \"&:after\": {\r\n borderColor: theme.palette.primary.contrastText\r\n }\r\n },\r\n icon: {\r\n fill: theme.palette.primary.contrastText\r\n },\r\n appBarItems: {\r\n\t marginTop: theme.spacing(0),\r\n },\r\n}));\r\n\r\nfunction Login(props) {\r\n const classes = useStyles();\r\n const userName = localStorage.getItem(\"user\");\r\n const alias = userName.indexOf('@') >= 0 ? userName.substring(0, userName.indexOf('@')) : userName;\r\n const imgUrl = `https://who/photos/${alias}.jpg`;\r\n\r\n const [fiscalYear] = React.useState(localStorage.getItem(Constants.LAST_FISCAL_YEAR_SELECTED));\r\n const [openNotificationPopup, setOpenNotificationPopup] = useState(false);\r\n const [openNotificationSideBar, setOpenNotificationSideBar] = useState(false);\r\n const [notificationData, setNotificationData] = useState({});\r\n useEffect(() => {\r\n //fetch new notifications after every 20 minutes\r\n const interval = setInterval(() => {\r\n menuApi.getNotifications().then((data) => {\r\n Notifications.AllNotifications = data;\r\n setNotificationData(getfilteredNotification());\r\n })\r\n }, 1200000);\r\n return () => clearInterval(interval);\r\n }, []);\r\n\r\n useEffect(() => {\r\n fetchNotifications();\r\n }, []);\r\n\r\n function fetchNotifications() {\r\n menuApi.getNotifications().then((data) => {\r\n Notifications.AllNotifications = data;\r\n setNotificationData(data);\r\n Notifications.DisabledKeys = [];\r\n setOpenNotificationPopup(true);\r\n });\r\n }\r\n\r\n function disableNotification(key) {\r\n Notifications.DisabledKeys.push(key);\r\n setNotificationData(getfilteredNotification());\r\n }\r\n\r\n \r\n let environmentName = getEnvironmentName();\r\n if (environmentName.includes(\"PROD\")) {\r\n // don't show environment name in production\r\n environmentName = undefined;\r\n }\r\n\r\n\r\n const handleFiscalYearChange = (event) => {\r\n if (fiscalYear !== event.target.value) {\r\n localStorage.setItem(Constants.LAST_FISCAL_YEAR_SELECTED, event.target.value);\r\n window.location.reload();\r\n }\r\n };\r\n\r\n const handleThemeItemClick = () => {\r\n var activeTheme = ToggleTheme();\r\n props.setTheme(activeTheme);\r\n if (activeTheme === \"Dark Theme\") {\r\n commonSettings.applyTheme(\"DARKMODE\");\r\n } else {\r\n commonSettings.applyTheme(\"LIGHTMODE\");\r\n }\r\n };\r\n\r\n const ToggleTheme = () => {\r\n return localStorage.getItem(\"themeName\") === \"Dark Theme\" ? \"Default Theme\" : \"Dark Theme\";\r\n };\r\n\r\n const showFeedbackAlert = () => {\r\n AlertSuccess(props.enqueueSnackbar, \"Thank You for the Feedback!!\");\r\n }\r\n const ocvInAppFeedback = new OCVInAppFeedback(showFeedbackAlert);\r\n\r\n if (process.env.HIDE_OCV !== 'true') {\r\n window.onkeyup = function (e) {\r\n // short cut CTRL + SHIFT + F\r\n if (e.ctrlKey === true && e.shiftKey === true && e.keyCode === 70) {\r\n ocvInAppFeedback.CaptureMultiFeedback();\r\n }\r\n };\r\n }\r\n\r\n const [mobileMoreAnchorEl, setMobileMoreAnchorEl] = React.useState(null);\r\n const isMobileMenuOpen = Boolean(mobileMoreAnchorEl);\r\n\r\n const handleMobileMenuClose = () => {\r\n setMobileMoreAnchorEl(null);\r\n };\r\n\r\n const handleMobileMenuOpen = (event) => {\r\n setMobileMoreAnchorEl(event.currentTarget);\r\n };\r\n\r\n const mobileMenuId = 'primary-search-account-menu-mobile';\r\n const renderMobileMenu = (\r\n <Menu\r\n anchorEl={mobileMoreAnchorEl}\r\n anchorOrigin={{\r\n vertical: 'top',\r\n horizontal: 'right',\r\n }}\r\n id={mobileMenuId}\r\n keepMounted\r\n transformOrigin={{\r\n vertical: 'top',\r\n horizontal: 'right',\r\n }}\r\n open={isMobileMenuOpen}\r\n onClose={handleMobileMenuClose}\r\n >\r\n <MenuItem onClick={() => setOpenNotificationSideBar(!openNotificationSideBar)}>\r\n <IconButton\r\n aria-label=\"Notification\"\r\n color=\"inherit\"\r\n id=\"NotificationButton\"\r\n className=\"custom-chip-style\"\r\n >\r\n <Badge badgeContent={notificationData.length} color=\"secondary\">\r\n <NotificationsIcon />\r\n </Badge>\r\n </IconButton>\r\n <p>Notifications</p>\r\n </MenuItem>\r\n {process.env.HIDE_OCV !== 'true' && (\r\n <MenuItem onClick={ocvInAppFeedback.CaptureMultiFeedback}>\r\n <IconButton\r\n aria-label=\"One Customer Voice\"\r\n color=\"inherit\"\r\n id=\"OCV\"\r\n className=\"custom-chip-style\"\r\n >\r\n <SentimentSatisfiedOutlinedIcon />\r\n </IconButton>\r\n <p>Feedback</p>\r\n </MenuItem>\r\n )}\r\n <MenuItem onClick={handleThemeItemClick}>\r\n <IconButton\r\n aria-label=\"Change Theme\"\r\n color=\"inherit\"\r\n id=\"ToggleThemeButton\"\r\n className=\"custom-chip-style\"\r\n >\r\n {localStorage.getItem(\"themeName\") === \"Dark Theme\" ? <FlareIcon /> : <Brightness3Icon />}\r\n </IconButton>\r\n <p>Theme</p>\r\n </MenuItem>\r\n <MenuItem>\r\n <Avatar alt={userName} src={imgUrl} classes={classes.profileAvatar} className=\"custom-chip-style\"/>\r\n <p>Profile</p>\r\n </MenuItem>\r\n </Menu>\r\n );\r\n\r\n return (\r\n <>\r\n <div className={classes.grow} />\r\n <div className={classes.sectionDesktop}>\r\n {notificationData && notificationData.length > 0 &&\r\n <NotificationSideBar\r\n openNotifications={openNotificationSideBar}\r\n setOpenNotifications={setOpenNotificationSideBar}\r\n notificationData={notificationData}\r\n disableNotification={disableNotification}\r\n refreshNotifications={fetchNotifications}\r\n />}\r\n {notificationData && notificationData.length > 0 &&\r\n <NotificationsDialog\r\n openNotifications={openNotificationPopup}\r\n setOpenNotifications={setOpenNotificationPopup}\r\n notificationData={notificationData}\r\n />}\r\n <Grid container>\r\n <Grid item><FlashMessage /></Grid>\r\n <Grid item className={classes.appBarItems}>\r\n <FormControl \r\n className={classes.formControl}\r\n tabindex='-1'>\r\n <Select\r\n labelId=\"demo-simple-select-label\"\r\n id=\"select-fiscal-year\"\r\n value={localStorage.getItem(Constants.LAST_FISCAL_YEAR_SELECTED)}\r\n onChange={handleFiscalYearChange}\r\n className={classes.select}\r\n inputProps={{\r\n classes: {\r\n icon: classes.icon\r\n }\r\n }}\r\n >\r\n {props.fiscalYears &&\r\n props.fiscalYears.length > 0 &&\r\n props.fiscalYears.map((item) => <MenuItem value={item.year} key={item.year}>{item.year}</MenuItem>)}\r\n </Select>\r\n </FormControl>\r\n\r\n {environmentName && (\r\n <Chip\r\n color=\"primary\"\r\n label={environmentName}\r\n variant=\"outlined\"\r\n className={classes.EnvironmentNameChip}\r\n />\r\n )}\r\n </Grid>\r\n <Grid item className={classes.appBarItems}>\r\n <IconButton\r\n aria-label=\"Notification\"\r\n color=\"inherit\"\r\n id=\"NotificationButton\"\r\n onClick={() => setOpenNotificationSideBar(!openNotificationSideBar)}\r\n className=\"custom-chip-style\"\r\n tabindex='0'\r\n >\r\n <Badge badgeContent={notificationData.length} color=\"secondary\">\r\n <NotificationsIcon />\r\n </Badge>\r\n </IconButton>\r\n </Grid>\r\n <Grid item className={classes.appBarItems}>\r\n\r\n {process.env.HIDE_OCV !== 'true' && (\r\n <IconButton\r\n aria-label=\"One Customer Voice\"\r\n color=\"inherit\"\r\n id=\"OCV\"\r\n onClick={ocvInAppFeedback.CaptureMultiFeedback}\r\n className=\"custom-chip-style\"\r\n tabindex='0'\r\n >\r\n <SentimentSatisfiedOutlinedIcon />\r\n </IconButton>\r\n )}\r\n </Grid>\r\n <Grid item className={classes.appBarItems}>\r\n <IconButton\r\n aria-label=\"Change Theme\"\r\n color=\"inherit\"\r\n onClick={handleThemeItemClick}\r\n id=\"ToggleThemeButton\"\r\n className=\"custom-chip-style\"\r\n tabindex='0'\r\n >\r\n {localStorage.getItem(\"themeName\") === \"Dark Theme\" ? <FlareIcon /> : <Brightness3Icon />}\r\n </IconButton>\r\n </Grid>\r\n <Grid item className={classes.appBarItems}>\r\n <Avatar alt={userName} src={imgUrl} classes={classes.profileAvatar} className=\"custom-chip-style\"/>\r\n </Grid>\r\n </Grid>\r\n </div>\r\n\r\n\t <div className={classes.sectionMobile}>\r\n {renderMobileMenu}\r\n {notificationData && notificationData.length > 0 &&\r\n <NotificationSideBar\r\n openNotifications={openNotificationSideBar}\r\n setOpenNotifications={setOpenNotificationSideBar}\r\n notificationData={notificationData}\r\n disableNotification={disableNotification}\r\n refreshNotifications={fetchNotifications}\r\n />}\r\n {notificationData && notificationData.length > 0 &&\r\n <NotificationsDialog\r\n openNotifications={openNotificationPopup}\r\n setOpenNotifications={setOpenNotificationPopup}\r\n notificationData={notificationData}\r\n />}\r\n <Grid container>\r\n <Grid item>\r\n <FormControl className={classes.formControl}>\r\n <Select\r\n labelId=\"demo-simple-select-label\"\r\n id=\"select-fiscal-year-mobile\"\r\n value={localStorage.getItem(Constants.LAST_FISCAL_YEAR_SELECTED)}\r\n onChange={handleFiscalYearChange}\r\n className={classes.select}\r\n inputProps={{\r\n classes: {\r\n icon: classes.icon\r\n }\r\n }}\r\n >\r\n {props.fiscalYears &&\r\n props.fiscalYears.length > 0 &&\r\n props.fiscalYears.map((item) => <MenuItem value={item.year} key={item.year}>{item.year}</MenuItem>)}\r\n </Select>\r\n </FormControl>\r\n\r\n </Grid>\r\n <Grid item>\r\n <IconButton\r\n size=\"large\"\r\n aria-label=\"show more\"\r\n aria-controls={mobileMenuId}\r\n aria-haspopup=\"true\"\r\n onClick={handleMobileMenuOpen}\r\n color=\"inherit\"\r\n >\r\n <MoreVertIcon />\r\n </IconButton>\r\n </Grid>\r\n </Grid>\r\n </div>\r\n </>\r\n );\r\n}\r\n\r\nexport default withSnackbar(Login);\r\n","export const LAST_FISCAL_YEAR_SELECTED = \"LAST_FISCAL_YEAR_SELECTED\";\r\n","export const AlertSuccess = (enqueueSnackbar, message) => {\r\n enqueueSnackbar(message, { variant: \"success\" }, { backgroundColor: 'red' });\r\n};\r\n \r\nexport const AlertError = (enqueueSnackbar, message) => {\r\n enqueueSnackbar(message, { variant: \"error\" });\r\n};\r\n \r\nexport const AlertInfo = (enqueueSnackbar, message) => {\r\n enqueueSnackbar(message, { variant: \"info\" });\r\n};\r\n \r\nexport const AlertWarning = (enqueueSnackbar, message) => {\r\n enqueueSnackbar(message, { variant: \"warning\" });\r\n};\r\n ","import { IconButton, Toolbar } from \"@material-ui/core\";\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport MenuIcon from \"@material-ui/icons/Menu\";\r\nimport PropTypes from \"prop-types\";\r\nimport React, { useEffect } from \"react\";\r\nimport Login from \"./Login\";\r\nimport ChevronLeftIcon from \"@material-ui/icons/ChevronLeft\";\r\nimport Link from \"@material-ui/core/Link\";\r\nimport Slide from '@material-ui/core/Slide';\r\nimport useScrollTrigger from '@material-ui/core/useScrollTrigger';\r\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\r\nimport { useTheme } from '@material-ui/core/styles';\r\nconst drawerWidth = 240;\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n display: \"flex\"\r\n },\r\n appBar: {\r\n background:\r\n theme.palette.type === \"dark\" ? theme.palette.background.default : theme.palette.primary.main,\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 },\r\n appBarShift: {\r\n marginLeft: drawerWidth,\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 })\r\n },\r\n drawer: {\r\n width: drawerWidth,\r\n flexShrink: 0,\r\n whiteSpace: \"nowrap\"\r\n },\r\n drawerOpen: {\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 },\r\n drawerClose: {\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 overflowX: \"hidden\",\r\n width: theme.spacing(7) + 1,\r\n [theme.breakpoints.up(\"sm\")]: {\r\n width: theme.spacing(9) + 1\r\n }\r\n },\r\n toolbar: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-end\",\r\n padding: theme.spacing(0, 1)\r\n },\r\n content: {\r\n flexGrow: 1,\r\n padding: theme.spacing(3)\r\n },\r\n HomeLink: {\r\n textDecoration: \"none\",\r\n color: theme.palette.primary.contrastText,\r\n fontSize: \"1.25rem\",\r\n fontWeight: \"500\",\r\n }\r\n}));\r\n\r\nfunction Header(props) {\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const isSmallScreen = useMediaQuery(theme.breakpoints.down('xs'));\r\n const trigger = useScrollTrigger();\r\n\r\n const handleDrawerOpen = () => {\r\n props.onDrawerToggle();\r\n };\r\n\r\n const handleKeyDown = (event) => {\r\n if (event.key === 'Enter') {\r\n const idsToSkipTabIndex = ['mint-studio-title',\r\n 'NotificationButton', 'OCV',\r\n 'ToggleThemeButton', 'select-fiscal-year'];\r\n idsToSkipTabIndex.forEach((id, index) => {\r\n if (document.getElementById(id)) {\r\n document.getElementById(id).setAttribute('tabIndex', -1);\r\n }\r\n })\r\n }\r\n }\r\n\r\n const handleTabIndex = () => {\r\n const idsToSkipTabIndex = ['mint-studio-title',\r\n 'NotificationButton', 'OCV',\r\n 'ToggleThemeButton', 'select-fiscal-year'];\r\n idsToSkipTabIndex.forEach((id, index) => {\r\n if (document.getElementById(id)) {\r\n document.getElementById(id).setAttribute('tabIndex', 0);\r\n }\r\n })\r\n }\r\n\r\n const setTheme = (themeName) => {\r\n props.setTheme(themeName);\r\n };\r\n\r\n useEffect(() => {\r\n if (!props.isdrawerOpen)\r\n handleTabIndex();\r\n }, [props.isdrawerOpen]);\r\n\r\n return (\r\n <header>\r\n <div>\r\n <Slide appear={false} direction=\"down\" in={!trigger}>\r\n <AppBar position=\"fixed\" className={classes.appBar}>\r\n <Toolbar variant={isSmallScreen ? \"dense\" : \"regular\"}>\r\n <IconButton\r\n className=\"custom-chip-style\"\r\n color=\"inherit\"\r\n aria-label=\"Hamburger Main Menu\"\r\n onClick={handleDrawerOpen}\r\n edge=\"start\"\r\n aria-expanded={props.isdrawerOpen ? true : false}\r\n onKeyDown={handleKeyDown}\r\n\r\n >\r\n {props.isdrawerOpen ? <ChevronLeftIcon /> : <MenuIcon />}\r\n </IconButton>\r\n <Link href=\"/#/\" id='mint-studio-title'>\r\n <Typography variant=\"h1\" noWrap className={classes.HomeLink}>\r\n Mint Studio\r\n </Typography>\r\n </Link>\r\n <Login fiscalYears={props.fiscalYears} setTheme={setTheme} />\r\n </Toolbar>\r\n </AppBar>\r\n </Slide>\r\n </div>\r\n </header>\r\n );\r\n}\r\n\r\nHeader.propTypes = {\r\n onDrawerToggle: PropTypes.func.isRequired\r\n};\r\n\r\nexport default Header;\r\n","import { useTheme } from \"@material-ui/core/styles\";\r\nimport React from \"react\";\r\nimport \"./spinner.css\";\r\n\r\nfunction LoadSpinner(props) {\r\n const theme = useTheme();\r\n return (\r\n props.showLoader && (\r\n <div className=\"loadingDiv\">\r\n <svg\r\n className=\"svgLoader\"\r\n viewBox=\"0 0 100 100\"\r\n width=\"10em\"\r\n height=\"10em\"\r\n >\r\n <path\r\n ng-attr-d=\"{{ config.pathCmd }}\"\r\n ng-attr-fill=\"{{ config.color }}\"\r\n stroke=\"none\"\r\n d=\"M10 50A40 40 0 0 0 90 50A40 42 0 0 1 10 50\"\r\n fill={theme.palette.primary.main}\r\n transform=\"rotate(179.719 50 51)\"\r\n >\r\n <animateTransform\r\n attributeName=\"transform\"\r\n type=\"rotate\"\r\n calcMode=\"linear\"\r\n values=\"0 50 51;360 50 51\"\r\n keyTimes=\"0;1\"\r\n dur=\"1s\"\r\n begin=\"0s\"\r\n repeatCount=\"indefinite\"\r\n ></animateTransform>\r\n </path>\r\n </svg>\r\n </div>\r\n )\r\n );\r\n}\r\n\r\nexport default LoadSpinner;\r\n","import Collapse from \"@material-ui/core/Collapse\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport ExpandLess from \"@material-ui/icons/ExpandLess\";\r\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\r\nimport { getIcon } from \"../shared/UtilityFunctions\";\r\nimport List from \"@material-ui/core/List\";\r\nimport { useTheme } from \"@material-ui/core/styles\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n nested: {\r\n paddingLeft: theme.spacing(4),\r\n },\r\n sidebarIcon: {\r\n minWidth: \"40px\",\r\n },\r\n sidebarLink: {\r\n '&:hover': {\r\n cursor: 'pointer',\r\n border: '1px solid #000000'\r\n },\r\n textDecoration: \"none\",\r\n color:\r\n theme.palette.type === \"dark\"\r\n ? theme.palette.common.white\r\n : theme.palette.common.black,\r\n }\r\n}));\r\n\r\nfunction MenuNavItem(props) {\r\n const theme = useTheme();\r\n\r\n const {\r\n children,\r\n href,\r\n openImmediately = false,\r\n title,\r\n handleDrawerOpen,\r\n handleSetHeader,\r\n } = props;\r\n const classes = useStyles();\r\n const [open, setOpen] = React.useState(openImmediately);\r\n\r\n const handleClick = () => {\r\n if (props.isMenuOpen === false) {\r\n handleDrawerOpen();\r\n }\r\n setOpen((oldOpen) => !oldOpen && props.isMenuOpen);\r\n };\r\n\r\n if (href) {\r\n return (\r\n <li>\r\n <ListItem\r\n button\r\n key={title}\r\n to={href}\r\n href={href}\r\n component=\"a\"\r\n onClick={() => {\r\n handleSetHeader(props.pathname);\r\n }}\r\n className={classes.sidebarLink}\r\n >\r\n <ListItemIcon className={classes.sidebarIcon}>\r\n {getIcon(title, theme)}\r\n </ListItemIcon>\r\n <ListItemText primary={title} />\r\n </ListItem>\r\n </li>\r\n );\r\n }\r\n\r\n return (\r\n <React.Fragment>\r\n <li\r\n onFocus={(event) => {\r\n handleDrawerOpen();\r\n }}\r\n >\r\n <ListItem\r\n button\r\n key={title}\r\n onClick={handleClick}\r\n className={classes.sidebarLink}\r\n >\r\n <ListItemIcon className={classes.sidebarIcon}>\r\n {getIcon(title, theme)}\r\n </ListItemIcon>\r\n <ListItemText primary={title} />\r\n {open ? <ExpandLess /> : <ExpandMore />}\r\n </ListItem>\r\n </li>\r\n <li>\r\n <Collapse in={open && props.isMenuOpen} timeout=\"auto\" unmountOnExit>\r\n <List\r\n dense={true}\r\n component=\"div\"\r\n disablePadding\r\n className={classes.nested}\r\n >\r\n {children}\r\n </List>\r\n </Collapse>\r\n </li>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nMenuNavItem.propTypes = {\r\n children: PropTypes.node,\r\n depth: PropTypes.number.isRequired,\r\n href: PropTypes.string,\r\n linkProps: PropTypes.object,\r\n onClick: PropTypes.func,\r\n openImmediately: PropTypes.bool,\r\n title: PropTypes.string.isRequired,\r\n topLevel: PropTypes.bool,\r\n};\r\n\r\nexport default MenuNavItem;\r\n","import Divider from \"@material-ui/core/Divider\";\r\nimport Drawer from \"@material-ui/core/Drawer\";\r\nimport List from \"@material-ui/core/List\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport MenuNavItem from \"./MenuNavItem\";\r\nimport clsx from \"clsx\";\r\nimport Link from \"@material-ui/core/Link\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Grow from \"@material-ui/core/Grow\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\r\nimport { mdiHelpCircle } from \"@mdi/js\";\r\nimport { getIconColor } from \"../shared/UtilityFunctions\";\r\nimport { useTheme } from \"@material-ui/core/styles\";\r\nimport Icon from \"@mdi/react\";\r\nconst drawerWidth = 300;\r\n\r\nfunction renderhelpNavItem(setIsShowHelp) {\r\n const theme = useTheme();\r\n const classes = useStyles();\r\n return (\r\n <List dense={true} className={classes.HelpIconList}>\r\n <li>\r\n <ListItem\r\n button\r\n key={\"Help\"}\r\n onClick={() => {\r\n setIsShowHelp(true);\r\n }}\r\n className={classes.sidebarLink}\r\n >\r\n <ListItemIcon className={classes.sidebarIcon}>\r\n <Icon path={mdiHelpCircle} title=\"Help\" size={1} color={getIconColor(theme)} />\r\n </ListItemIcon>\r\n <ListItemText primary={\"Help\"} />\r\n </ListItem>\r\n </li>\r\n </List>\r\n );\r\n}\r\n\r\nfunction renderNavItems(options) {\r\n const { pages, mobileOpen, handleSetHeader, ...params } = options;\r\n var isMenuOpen = options.props.mobileOpen;\r\n return (\r\n <List dense={true}>\r\n {pages.reduce(\r\n // eslint-disable-next-line no-use-before-define\r\n (items, page) =>\r\n reduceChildRoutes({\r\n items,\r\n page,\r\n isMenuOpen,\r\n handleSetHeader,\r\n ...params\r\n }),\r\n []\r\n )}\r\n </List>\r\n );\r\n}\r\n\r\nfunction reduceChildRoutes({\r\n props,\r\n activePage,\r\n isMenuOpen,\r\n items,\r\n page,\r\n depth,\r\n handleDrawerOpen,\r\n handleSetHeader,\r\n t\r\n}) {\r\n if (page.displayNav === false) {\r\n return items;\r\n }\r\n if (page.children && page.children.length > 0) {\r\n const topLevel = activePage.pathName.indexOf(`${page.pathName}/`) === 0;\r\n items.push(\r\n <MenuNavItem\r\n linkProps={page.linkProps}\r\n depth={depth}\r\n key={page.title}\r\n topLevel={topLevel && !page.subheader}\r\n openImmediately={topLevel || Boolean(page.subheader)}\r\n title={page.title}\r\n pathname={page.pathName}\r\n isMenuOpen={isMenuOpen}\r\n handleDrawerOpen={handleDrawerOpen}\r\n handleSetHeader={handleSetHeader}\r\n >\r\n {renderNavItems({\r\n props,\r\n pages: page.children,\r\n isMenuOpen,\r\n activePage,\r\n depth: depth + 1,\r\n t,\r\n handleSetHeader\r\n })}\r\n </MenuNavItem>\r\n );\r\n } else {\r\n page = page.children && page.children.length === 1 ? page.children[0] : page;\r\n\r\n items.push(\r\n <MenuNavItem\r\n linkProps={page.linkProps}\r\n depth={depth}\r\n key={page.title}\r\n title={page.title}\r\n href={\"#/\" + page.pathName}\r\n pathname={page.pathName}\r\n isMenuOpen={isMenuOpen}\r\n handleSetHeader={handleSetHeader}\r\n />\r\n );\r\n }\r\n\r\n return items;\r\n}\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n display: \"flex\"\r\n },\r\n menuButton: {\r\n marginRight: 36\r\n },\r\n hide: {\r\n display: \"none\"\r\n },\r\n drawer: {\r\n flexShrink: 0,\r\n whiteSpace: \"nowrap\"\r\n },\r\n drawerOpen: {\r\n width: drawerWidth,\r\n transition: theme.transitions.create(\"width\", {\r\n easing: theme.transitions.easing.sharp,\r\n duration: 500\r\n })\r\n },\r\n drawerClose: {\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 overflowX: \"hidden\",\r\n width: \"0px\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n width: theme.spacing(7) + 1\r\n }\r\n },\r\n toolbar: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-end\",\r\n padding: theme.spacing(0, 1),\r\n ...theme.mixins.toolbar\r\n },\r\n content: {\r\n flexGrow: 1,\r\n padding: theme.spacing(3)\r\n },\r\n Links: {\r\n textDecoration: \"none\",\r\n marginLeft: theme.spacing(7)\r\n },\r\n SideBarFooter: {\r\n marginTop: theme.spacing(2.5),\r\n transition: theme.transitions.create(\"width\", {\r\n easing: theme.transitions.easing.sharp + 100,\r\n duration: theme.transitions.duration.leavingScreen\r\n })\r\n },\r\n FooterDivider: {\r\n marginBottom: theme.spacing(2)\r\n },\r\n sidebarIcon: {\r\n minWidth: \"40px\"\r\n },\r\n sidebarLink: {\r\n textDecoration: \"none\",\r\n '&:hover': {\r\n cursor: 'pointer',\r\n border: '1px solid #000000'\r\n },\r\n color: theme.palette.type === \"dark\" ? theme.palette.common.white : theme.palette.common.black\r\n },\r\n HelpIconList: {\r\n padding: \"0px\"\r\n }\r\n}));\r\n\r\nfunction SideBar(props) {\r\n const { mobileOpen } = props;\r\n\r\n const handleDrawerOpen = () => {\r\n props.onDrawerToggle();\r\n };\r\n\r\n const handleSetHeader = (title) => {\r\n props.onHeaderChange(title);\r\n hideHelpUI();\r\n };\r\n\r\n const showHelpUI = () => {\r\n props.setIsShowHelp(true);\r\n };\r\n\r\n const hideHelpUI = () => {\r\n props.setIsShowHelp(false);\r\n };\r\n\r\n const classes = useStyles();\r\n const activePage = {\r\n displayNav: false,\r\n pathName: \"/\",\r\n title: false\r\n };\r\n\r\n const pages = props.menuItems;\r\n return (\r\n <nav>\r\n <Drawer\r\n variant=\"permanent\"\r\n className={clsx(classes.drawer, {\r\n [classes.drawerOpen]: mobileOpen,\r\n [classes.drawerClose]: !mobileOpen\r\n })}\r\n classes={{\r\n paper: clsx({\r\n [classes.drawerOpen]: mobileOpen,\r\n [classes.drawerClose]: !mobileOpen\r\n })\r\n }}\r\n >\r\n <div className={classes.toolbar} />\r\n <Divider />\r\n {renderNavItems({\r\n props,\r\n pages,\r\n activePage,\r\n depth: 2,\r\n handleDrawerOpen,\r\n handleSetHeader\r\n })}\r\n {renderhelpNavItem(showHelpUI)}\r\n {\r\n <Grow\r\n in={mobileOpen}\r\n style={{ transformOrigin: \"0 0 0\" }}\r\n {...(mobileOpen ? { timeout: 1000 } : {})}\r\n >\r\n <div className={classes.SideBarFooter}>\r\n <Divider className={classes.FooterDivider} />\r\n <Link\r\n href=\"http://go.microsoft.com/fwlink/?LinkId=518021\"\r\n rel=\"noopener noreferrer\"\r\n target=\"_blank\"\r\n onBlur={handleDrawerOpen}\r\n >\r\n <Typography variant=\"body2\" noWrap className={classes.Links} gutterBottom>\r\n MS Data Privacy Notice\r\n </Typography>\r\n </Link>\r\n </div>\r\n </Grow>\r\n }\r\n </Drawer>\r\n </nav>\r\n );\r\n}\r\n\r\nSideBar.propTypes = {\r\n onDrawerToggle: PropTypes.func.isRequired\r\n};\r\n\r\nexport default SideBar;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Card from \"@material-ui/core/Card\";\r\nimport CardActionArea from \"@material-ui/core/CardActionArea\";\r\nimport CardContent from \"@material-ui/core/CardContent\";\r\nimport { navigateToResource } from \"../../lib/spaLoader\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport { useTheme } from \"@material-ui/core/styles\";\r\nimport { getIcon } from \"../shared/UtilityFunctions\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Menu from \"@material-ui/core/Menu\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n // maxWidth: 345\r\n }\r\n}));\r\n\r\nconst StyledMenu = withStyles({\r\n paper: {\r\n border: \"1px solid #d3d4d5\"\r\n }\r\n})((props) => (\r\n <Menu\r\n elevation={0}\r\n getContentAnchorEl={null}\r\n anchorOrigin={{\r\n vertical: \"top\",\r\n horizontal: \"right\"\r\n }}\r\n transformOrigin={{\r\n vertical: \"bottom\",\r\n horizontal: \"center\"\r\n }}\r\n {...props}\r\n />\r\n));\r\n\r\nconst StyledMenuItem = withStyles((theme) => ({}))(MenuItem);\r\n\r\nexport default function SplashCard(props) {\r\n const theme = useTheme();\r\n const classes = useStyles();\r\n\r\n const handleCardClick = (event) => {\r\n if (!props.isParent) {\r\n props.setShowHome(false);\r\n navigateToResource(props.pathName);\r\n } else {\r\n setAnchorEl(event.currentTarget);\r\n }\r\n };\r\n\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n return (\r\n <React.Fragment>\r\n <Card className={classes.root} onClick={handleCardClick}>\r\n <CardActionArea className=\"custom-chip-style\">\r\n {/* */}\r\n <CardContent>\r\n {getIcon(props.name, theme)}\r\n <Typography gutterBottom variant=\"h5\" component=\"h2\">\r\n {props.name}\r\n </Typography>\r\n </CardContent>\r\n </CardActionArea>\r\n </Card>\r\n {props.isParent && (\r\n <StyledMenu\r\n id=\"customized-menu\"\r\n anchorEl={anchorEl}\r\n keepMounted\r\n open={Boolean(anchorEl)}\r\n onClose={handleClose}\r\n >\r\n {props.children &&\r\n props.children.map((element, index) => {\r\n return (\r\n <StyledMenuItem key={index}\r\n onClick={() => {\r\n props.setShowHome(false);\r\n navigateToResource(element.pathName);\r\n }}\r\n >\r\n <ListItemIcon>{getIcon(element.title, theme)}</ListItemIcon>\r\n <ListItemText primary={element.title} />\r\n </StyledMenuItem>\r\n );\r\n })}\r\n </StyledMenu>\r\n )}\r\n </React.Fragment>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport SplashCard from \"../shared/splashCards\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\n\r\nfunction SplashHome(props) {\r\n return (\r\n <React.Fragment>\r\n <section id=\"banner\">\r\n <h1>Welcome to Mint Studio</h1>\r\n <p>A One-Stop Solution For All MINT Operations</p>\r\n </section>\r\n <br></br>\r\n <Grid container spacing={3}>\r\n {props.menuItems.map((element, index) => {\r\n return (\r\n <Grid item key={index} lg={3} md={3} sm={12} xs={12} style={{ textAlign: \"center\" }}>\r\n <SplashCard\r\n isParent={element.children && element.children.length > 0}\r\n name={element.title}\r\n children={element.children}\r\n pathName={element.pathName}\r\n setShowHome={props.setShowHome}\r\n ></SplashCard>\r\n </Grid>\r\n );\r\n })}\r\n </Grid>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default SplashHome;\r\n","import React, { useState } from \"react\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport List from \"@material-ui/core/List\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport { gethelpLinks } from \"../../../api/menuApi\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n listItemLink: {\r\n color: theme.palette.primary.main,\r\n textDecoration: \"none\",\r\n '&:hover': {\r\n textDecoration: \"underline\",\r\n }\r\n },\r\n secondaryText: {\r\n textDecoration: \"none !important\",\r\n }\r\n}));\r\n\r\nfunction Help() {\r\n const [helpLinks, setHelpLinks] = useState([]);\r\n const classes = useStyles();\r\n const quotaManagementEmail = process.env.QUOTA_MANAGEMENT_EMAIL || \"suppquot@microsoft.com\";\r\n const isfed = process.env.ISFED===\"true\";\r\n const icm_details = \"</br>(Make sure to update the following details in the ICM </br>     <b>a.\tTitle</b> – Edit and add a relevant title. </br>     <b>b.\tSeverity</b> - Select <b>Severity 4</b> </br>     <b>c.\tEnvironment</b>: Select <b>PROD</b> </br>     <b>d.\tCloud Instance</b> - Select <b>PUBLIC</b> <br> Please add the necessary details and screenshots to help the support team understand the issue better.)\";\r\n const icm_fed_details = \"</br>For help with UBI adjustment request, please reference this Deck \";\r\n\r\n React.useEffect(() => {\r\n gethelpLinks().then(items => setHelpLinks(items), () => setHelpLinks([]));\r\n }, []);\r\n\r\n function renderHelpLink() {\r\n if (!helpLinks || !helpLinks.length) {\r\n return <></>;\r\n }\r\n return (\r\n <>\r\n <section id=\"help\">\r\n <h1>Help Links</h1>\r\n </section>\r\n <br></br>\r\n <h2>Training Resources</h2>\r\n {helpLinks.map((element, index) => (\r\n <div>\r\n <List>\r\n <ListItem button>\r\n <ListItemText primary={<span><a href={element.link} className={classes.listItemLink} rel=\"noopener noreferrer\" target=\"_blank\">{index + 1}. {element.text}</a><span className={classes.secondaryText}> - {element.description}</span></span>} />\r\n </ListItem>\r\n </List>\r\n </div>\r\n ))}\r\n <br></br>\r\n </>\r\n );\r\n }\r\n return (\r\n <React.Fragment>\r\n {renderHelpLink()}\r\n <h2>Helpdesk & Support</h2>\r\n {!isfed && <List>\r\n <ListItem button >\r\n <ListItemText primary={<span><a href={'https://aka.ms/wwichelp'} className={classes.listItemLink} rel=\"noopener noreferrer\" target=\"_blank\"> {'1. Contact WWIC help for Seller Quota and Crediting related issues.'}</a></span>} />\r\n </ListItem>\r\n <ListItem button>\r\n <ListItemText primary={<span><a href={'https://portal.microsofticm.com/imp/v3/incidents/create?tmpl=9f82S3'} className={classes.listItemLink} rel=\"noopener noreferrer\" target=\"_blank\"> {'2. Create ICM for Mint Studio related issues.'}</a>\r\n <div\r\n style={{ alignContent: \"space-between\", display: \"inline\" }}\r\n dangerouslySetInnerHTML={{\r\n __html: icm_details\r\n }}>\r\n </div></span>} />\r\n </ListItem>\r\n </List>}\r\n\r\n {isfed && <List>\r\n <ListItem button>\r\n <ListItemText primary={<span>\r\n <div\r\n style={{ alignContent: \"space-between\", display: \"inline\" }}\r\n dangerouslySetInnerHTML={{\r\n __html: icm_fed_details\r\n }}>\r\n </div>\r\n <a href={'https://microsoft.sharepoint.com/:p:/t/IncentiveCompensationGuide/EVS1nGhJH31IkPFiipNUrtoBgLQKUPi4czhwHzFuxDtZOA?e=6qzu8Q'} className={classes.listItemLink} rel=\"noopener noreferrer\" target=\"_blank\"> {'<How to log a UBI Adjustment (UBI Managers)-Federal.pptx (sharepoint.com)>'}</a>\r\n <div\r\n style={{ alignContent: \"space-between\", display: \"inline\" }}\r\n dangerouslySetInnerHTML={{\r\n __html: \" in CorpNet.</br> For additional support, please email svc-fedicsup@microsoftfederal.com\"\r\n }}>\r\n </div>\r\n </span>} />\r\n </ListItem>\r\n </List>}\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nexport default Help;","import { CssBaseline } from \"@material-ui/core\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport React, { useState } from \"react\";\r\nimport { toast, ToastContainer } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport { handleRouterEvent, getMountedApps } from \"../../lib/spaLoader\";\r\nimport Header from \"../header/Header\";\r\nimport LoadSpinner from \"../shared/LoadSpinner\";\r\nimport SideBar from \"../sidebar/Sidebar\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport themes from \"../../palette\";\r\nimport { MuiThemeProvider } from \"@material-ui/core/styles\";\r\nimport { SnackbarProvider } from \"notistack\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport SplashHome from \"../splashhome/splashHome\";\r\nimport Help from \"../app/Help/Help\";\r\n\r\nfunction App(props) {\r\n const [mobileOpen, setMobileOpen] = React.useState(false);\r\n const [header, setHeader] = React.useState(\"\");\r\n const [showHome, setShowHome] = React.useState(false);\r\n const [showLoader, setShowLoader] = React.useState(false);\r\n const [theme, setTheme] = useState(props.lastActiveTheme);\r\n const [isShowHelp, setIsShowHelp] = useState(false);\r\n\r\n // Function that changes theme of the Shell and all the microfront ends\r\n const changeTheme = (themeName) => {\r\n if (themeName === \"Dark Theme\") {\r\n setTheme(themes.dark);\r\n localStorage.setItem(\"themeName\", \"Dark Theme\");\r\n } else {\r\n setTheme(themes.blue);\r\n localStorage.setItem(\"themeName\", \"Default Theme\");\r\n }\r\n };\r\n const useStyles = makeStyles((theme) => ({\r\n root: {\r\n display: \"flex\"\r\n },\r\n content: {\r\n flexGrow: 1,\r\n padding: theme.spacing(0.75),\r\n paddingTop: theme.spacing(8)\r\n },\r\n flexibleGrid: {\r\n display: \"contents !important\"\r\n },\r\n success: { backgroundColor: \"#2E7D32\" },\r\n error: { backgroundColor: \"#D10000\" },\r\n warning: { backgroundColor: \"#79791B\" },\r\n info: { backgroundColor: \"#651FFF\" }\r\n }));\r\n const classes = useStyles();\r\n\r\n const handleDrawerToggle = () => {\r\n setMobileOpen(!mobileOpen);\r\n };\r\n\r\n const handleSetHeader = (title) => {\r\n setHeader(title);\r\n setShowLoader(true);\r\n handleRouterEvent(title, setShowLoader);\r\n setMobileOpen(false);\r\n localStorage.setItem(\"lastVisitedApp\", title);\r\n };\r\n\r\n function showErrorToast(error) {\r\n return toast.error(error, { autoClose: false });\r\n }\r\n\r\n React.useEffect(() => {\r\n const resources = props.resources;\r\n // if (resources && resources.length > 0) {\r\n // const appToLoad = getAppToLoad(resources);\r\n // setShowLoader(true);\r\n // navigateToResource(appToLoad);\r\n // handleRouterEvent(appToLoad, setShowLoader);\r\n // }\r\n let showHome = true;\r\n resources.forEach((element) => {\r\n showHome = showHome && !window.location.href.includes(element.resourceName);\r\n });\r\n\r\n setShowHome(showHome);\r\n }, [props.resources]);\r\n\r\n const notistackRef = React.createRef();\r\n const onClickDismiss = (key) => () => {\r\n notistackRef.current.closeSnackbar(key);\r\n };\r\n\r\n return (\r\n <MuiThemeProvider theme={theme || themes.blue}>\r\n <SnackbarProvider\r\n ref={notistackRef}\r\n maxSnack={10}\r\n preventDuplicate\r\n anchorOrigin={{ vertical: \"top\", horizontal: \"right\" }}\r\n action={(key) => (\r\n <IconButton key=\"close\" aria-label=\"close\" color=\"inherit\" onClick={onClickDismiss(key)}>\r\n <CloseIcon style={{ fontSize: \"20\" }} />\r\n </IconButton>\r\n )}\r\n classes={{\r\n variantSuccess: classes.success,\r\n variantError: classes.error,\r\n variantWarning: classes.warning,\r\n variantInfo: classes.info\r\n }}\r\n autoHideDuration={4000}\r\n >\r\n <div>\r\n <ToastContainer autoClose={3000} hideProgressBar />\r\n {props.error ? (\r\n showErrorToast(props.error)\r\n ) : (\r\n <div className={classes.root}>\r\n <CssBaseline />\r\n <Grid container className={classes.flexibleGrid}>\r\n <Grid container className={classes.flexibleGrid}>\r\n <Header\r\n onDrawerToggle={handleDrawerToggle}\r\n header={header}\r\n isdrawerOpen={mobileOpen}\r\n setTheme={changeTheme}\r\n fiscalYears={props.fiscalYears}\r\n />\r\n </Grid>\r\n <Grid container className={classes.flexibleGrid}>\r\n <SideBar\r\n mobileOpen={mobileOpen}\r\n onDrawerToggle={handleDrawerToggle}\r\n onHeaderChange={handleSetHeader}\r\n menuItems={props.menuItems}\r\n setIsShowHelp={setIsShowHelp}\r\n />\r\n <main className={classes.content}>\r\n <div className={classes.toolbar} />\r\n <LoadSpinner showLoader={showLoader} />\r\n {getMountedApps().length === 0 && showHome && !showLoader && !isShowHelp && (\r\n <SplashHome menuItems={props.menuItems} setShowHome={setShowHome} />\r\n )}\r\n {isShowHelp && <Help />}\r\n {!isShowHelp &&\r\n props.resources &&\r\n props.resources.length > 0 &&\r\n props.resources.map((application) => {\r\n const applicationLCase = application.resourceName.toLowerCase();\r\n return (\r\n <div\r\n key={applicationLCase}\r\n id={applicationLCase}\r\n className={applicationLCase}\r\n />\r\n );\r\n })}\r\n </main>\r\n </Grid>\r\n </Grid>\r\n </div>\r\n )}\r\n </div>\r\n </SnackbarProvider>\r\n </MuiThemeProvider>\r\n );\r\n}\r\n\r\nexport default App;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Card from \"@material-ui/core/Card\";\r\nimport CardHeader from \"@material-ui/core/CardHeader\";\r\nimport CardContent from \"@material-ui/core/CardContent\";\r\nimport Avatar from \"@material-ui/core/Avatar\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport { red } from \"@material-ui/core/colors\";\r\nimport ErrorOutlineTwoToneIcon from \"@material-ui/icons/ErrorOutlineTwoTone\";\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n card: {\r\n maxWidth: 500,\r\n margin: 30\r\n },\r\n avatar: {\r\n backgroundColor: red[500]\r\n }\r\n}));\r\n\r\nfunction CustomError(props) {\r\n const classes = useStyles();\r\n\r\n return (\r\n <Card className={classes.card}>\r\n <CardHeader\r\n avatar={\r\n <Avatar aria-label=\"error\" className={classes.avatar}>\r\n <ErrorOutlineTwoToneIcon></ErrorOutlineTwoToneIcon>\r\n </Avatar>\r\n }\r\n title={props.errorObj.name}\r\n subheader={new Date().toString()}\r\n />\r\n <CardContent>\r\n <Typography variant=\"body2\" color=\"error\" component=\"p\">\r\n {props.errorObj.message}\r\n </Typography>\r\n </CardContent>\r\n </Card>\r\n );\r\n}\r\n\r\nexport default CustomError;\r\n","import Button from \"@material-ui/core/Button\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogActions from \"@material-ui/core/DialogActions\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport DialogContentText from \"@material-ui/core/DialogContentText\";\r\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\r\nimport React from \"react\";\r\n\r\nexport default function GenericDialog(props) {\r\n return (\r\n <div>\r\n <Dialog\r\n open={props.isOpen || false}\r\n onClose={props.handleClose}\r\n aria-labelledby=\"alert-dialog-title\"\r\n aria-describedby=\"alert-dialog-description\"\r\n TransitionProps={{role:\"none\"}}\r\n >\r\n <DialogTitle id=\"alert-dialog-title\">{props.title}</DialogTitle>\r\n <DialogContent>\r\n <DialogContentText id=\"alert-dialog-description\">\r\n {props.description}\r\n </DialogContentText>\r\n </DialogContent>\r\n {props.dismissable && (\r\n <DialogActions>\r\n <Button onClick={e => props.handleClose(e)} color=\"primary\">\r\n {props.cancelText}\r\n </Button>\r\n <Button onClick={e => props.handleOk(e)} color=\"primary\" autoFocus>\r\n {props.okText}\r\n </Button>\r\n </DialogActions>\r\n )}\r\n </Dialog>\r\n </div>\r\n );\r\n}\r\n","import React, { Component, Fragment } from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { ReactPlugin, withAITracking } from '@microsoft/applicationinsights-react-js';\r\nimport { ApplicationInsights, DistributedTracingModes } from '@microsoft/applicationinsights-web';\r\nimport { getInstrumentationKey } from './api/telemetryApi';\r\n/**\r\n * This Component provides telemetry with Azure App Insights\r\n *\r\n * NOTE: the package '@microsoft/applicationinsights-react-js' has a HOC withAITracking that requires this to be a Class Component rather than a Functional Component\r\n */\r\nclass TelemetryProvider extends Component {\r\n state = {\r\n initialized: false\r\n };\r\n\r\n initialize = (instrumentationKey, browserHistory) => {\r\n if (!browserHistory) {\r\n throw new Error('Could not initialize Telemetry Service');\r\n }\r\n if (!instrumentationKey) {\r\n throw new Error('Instrumentation key not provided')\r\n }\r\n \r\n window.reactPlugin = new ReactPlugin();\r\n \r\n const aiConfig = {\r\n instrumentationKey: instrumentationKey,\r\n maxBatchInterval: 0,\r\n disableFetchTracking: false,\r\n isBrowserLinkTrackingEnabled: true,\r\n enableAjaxErrorStatusText: true,\r\n enableRequestHeaderTracking: true,\r\n enableUnhandledPromiseRejectionTracking: true,\r\n distributedTracingMode: DistributedTracingModes.W3C,\r\n extensions: [window.reactPlugin],\r\n extensionConfig: {\r\n [window.reactPlugin.identifier]: {\r\n history: browserHistory\r\n }\r\n }\r\n };\r\n\r\n if (process.env.AI_ENDPOINT) {\r\n aiConfig.endpointUrl = process.env.AI_ENDPOINT;\r\n }\r\n window.appInsights = new ApplicationInsights({\r\n config: aiConfig\r\n });\r\n \r\n window.appInsights.loadAppInsights();\r\n window.appInsights.setAuthenticatedUserContext(localStorage.getItem(\"username\")+\"-\"+window.httpService.fiscalYear);\r\n window.appInsights.GetCustomDimensions = (customProperties) => {\r\n return {\r\n ...customProperties,\r\n userAlias:window.localStorage.getItem(\"username\"),\r\n fiscalYear:window.httpService.fiscalYear\r\n }\r\n }\r\n };\r\n \r\n componentDidMount() {\r\n const {history} = this.props;\r\n const {initialized} = this.state;\r\n\r\n getInstrumentationKey()\r\n .then(res => {\r\n let instrumentationKey = res.ikey;\r\n if (!Boolean(initialized) && Boolean(instrumentationKey) && Boolean(history)) {\r\n this.initialize(instrumentationKey, history);\r\n this.setState({initialized: true});\r\n }\r\n })\r\n .catch(err => {\r\n throw new Error(\"Failed to setup telemetry provider\");\r\n })\r\n \r\n }\r\n\r\n render() {\r\n const {children} = this.props;\r\n return (\r\n <Fragment>\r\n {children}\r\n </Fragment>\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(withAITracking(window.reactPlugin, TelemetryProvider));\r\n","const GET_INSTRUMENTATION_KEY = \"https://onemintapidev.azure-api.net/TelemetryAPI/GetInstrumentationKey\"\r\n\r\nexport function getInstrumentationKey(){\r\n\tif (process.env.AI_KEY) {\r\n return new Promise((resolve) => {\r\n resolve({\r\n ikey: process.env.AI_KEY\r\n });\r\n });\r\n }\r\n\t\r\n return window.httpService\r\n .get(GET_INSTRUMENTATION_KEY)\r\n .then(window.httpService.handleSuccess)\r\n .catch(window.httpService.handleError);\r\n}","import \"./index.css\";\r\nimport \"./web.config\";\r\n\r\nimport * as Constants from \"./constants\";\r\nimport * as helper from \"./menuhelper\";\r\nimport * as menuApi from \"./api/menuApi\";\r\n\r\nimport { Route, Router } from \"react-router-dom\";\r\nimport { StylesProvider, createGenerateClassName } from \"@material-ui/core\";\r\nimport { createHashHistory } from 'history';\r\nimport App from \"./components/app/App\";\r\nimport CustomError from \"./components/shared/CustomError\";\r\nimport GenericDialog from \"./components/shared/GenericDialog\";\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport TelemetryProvider from './TelemetryProvider';\r\nimport TelemetryLogger from \"@mintstudiouicore/telemetry\";\r\nimport { registerMicroFrontEnd } from \"./lib/spaLoader\";\r\nimport themes from \"./palette\";\r\n\r\nasync function init() {\r\n // Check that the window is an iframe and not popup\r\n if (window !== window.parent || window.opener || window.top !== window) {\r\n return;\r\n }\r\n \r\n // using JSON.parse to convert the HIDE_OCV value\r\n // to a boolean. We are using JSON.parse to avoid the compiler\r\n // removing the if check.\r\n if (!JSON.parse(process.env.HIDE_OCV)) {\r\n loadOneCustomerVoiceFiles();\r\n }\r\n await window.AuthProvider.signIn();\r\n window.httpService.fiscalYear = localStorage.getItem(Constants.LAST_FISCAL_YEAR_SELECTED) || 2024;\r\n\r\n if (window.AuthProvider.errorObj == null) {\r\n await fetchFiscalYears();\r\n } else {\r\n renderError();\r\n }\r\n}\r\n\r\nfunction loadOneCustomerVoiceFiles () {\r\n const ocvJs = document.createElement('script');\r\n ocvJs.setAttribute('src', `${process.env.ASSET_URL}/OCV/officebrowserfeedback.js`);\r\n const ocvCss = document.createElement('link');\r\n ocvCss.setAttribute('rel', 'stylesheet');\r\n ocvCss.setAttribute('href', `${process.env.ASSET_URL}/OCV/officebrowserfeedback_vertical.css`);\r\n const head = document.getElementsByTagName('head')[0];\r\n head.appendChild(ocvJs);\r\n head.appendChild(ocvCss);\r\n}\r\n\r\nfunction fetchFiscalYears() {\r\n menuApi\r\n .getFiscalYears()\r\n .then((fiscalYears) => {\r\n if (fiscalYears == null || fiscalYears.length === 0) {\r\n throw new Error(\"Could not find fiscal years in response.\");\r\n }\r\n\r\n let defaultFiscalYear = fiscalYears.filter((p) => p[\"default\"] === true)[0];\r\n\r\n defaultFiscalYear = defaultFiscalYear || fiscalYears[0];\r\n let previousSelectedFiscalYear = localStorage.getItem(Constants.LAST_FISCAL_YEAR_SELECTED);\r\n\r\n if (\r\n previousSelectedFiscalYear == null ||\r\n fiscalYears.filter((p) => p[\"year\"].toString() === previousSelectedFiscalYear.toString())\r\n .length === 0\r\n ) {\r\n localStorage.setItem(Constants.LAST_FISCAL_YEAR_SELECTED, defaultFiscalYear[\"year\"]);\r\n }\r\n\r\n previousSelectedFiscalYear = localStorage.getItem(Constants.LAST_FISCAL_YEAR_SELECTED);\r\n let activeFiscalYear = fiscalYears.filter((p) => p[\"year\"].toString() === previousSelectedFiscalYear.toString())[0];\r\n\r\n window.httpService.fiscalYear = activeFiscalYear[\"year\"];\r\n window.httpService.planningCycle = activeFiscalYear[\"planningCycle\"];\r\n window.httpService.currentSeason = activeFiscalYear[\"currentSeason\"];\r\n\r\n if (window.AuthProvider.errorObj == null) {\r\n initializeShell(fiscalYears);\r\n } else {\r\n renderError();\r\n }\r\n })\r\n .catch((error) => {\r\n const errorMsg = error.data ? error.data.ExceptionMessage : \"\";\r\n ReactDOM.render(\r\n <GenericDialog\r\n dismissable={false}\r\n description={errorMsg}\r\n title=\"Could not fetch fiscal years.\"\r\n isOpen={true}\r\n />,\r\n document.getElementById(\"root\")\r\n );\r\n });\r\n}\r\n\r\nasync function initializeShell(fiscalYears) {\r\n menuApi.checkMSSalesAccess().then((res) => {\r\n if (res && res.length) {\r\n menuApi.getMenuItems()\r\n .then((items) => {\r\n const resources = helper.getResourcesFromMenuItems(items);\r\n if(!resources.find((r) => r.resourceName === \"businessreview\")) {\r\n menuApi.checkIfSellerManager().then((res) => {\r\n if (res) {\r\n resources.push({ resourceName: \"businessreview\", isStoreEnabled: false });\r\n items.push({\r\n title: \"Business Review\",\r\n pathName: \"businessreview\",\r\n isStoreEnabled: false,\r\n children: []\r\n })\r\n }\r\n \r\n }).catch((error) => {\r\n if(error.data.statusCode != 404 || error.data.message != \"Resource not found\") {\r\n ReactDOM.render(\r\n <GenericDialog\r\n dismissable={false}\r\n description={error.data.message}\r\n title= \"Is Seller Manager Check failed.\"\r\n isOpen={true}\r\n />,\r\n document.getElementById(\"root\")\r\n );\r\n }\r\n }).finally(() => {\r\n TelemetryLogger.initializeTelemetry();\r\n registerMicroFrontEnd(resources, TelemetryLogger);\r\n renderShell(items, resources, fiscalYears, undefined);\r\n });\r\n } else{\r\n TelemetryLogger.initializeTelemetry();\r\n registerMicroFrontEnd(resources, TelemetryLogger);\r\n renderShell(items, resources, fiscalYears, undefined);\r\n }\r\n }).catch((error) => {\r\n const errorMsg = error.data ? error.data.ExceptionMessage : \"\";\r\n ReactDOM.render(\r\n <GenericDialog\r\n dismissable={false}\r\n description={errorMsg}\r\n title={errorMsg.length > 15 ? `${errorMsg.substring(0, 15)}...` : `${errorMsg}`}\r\n isOpen={true}\r\n />,\r\n document.getElementById(\"root\")\r\n );\r\n });\r\n } else {\r\n ReactDOM.render(\r\n <GenericDialog\r\n dismissable={false}\r\n description={\"MS Sales access not found.\"}\r\n title=\"Could not fetch MS Sales Access.\"\r\n isOpen={true}\r\n />,\r\n document.getElementById(\"root\")\r\n );\r\n }\r\n }).catch(() => {\r\n ReactDOM.render(\r\n <GenericDialog\r\n dismissable={false}\r\n description={\"MS Sales access not found.\"}\r\n title=\"Could not fetch MS Sales Access.\"\r\n isOpen={true}\r\n />,\r\n document.getElementById(\"root\")\r\n );\r\n })\r\n}\r\n\r\ninit();\r\n\r\nconst generateClassName = createGenerateClassName({\r\n seed: \"shell\"\r\n});\r\n\r\nfunction renderError() {\r\n ReactDOM.render(\r\n <CustomError errorObj={window.AuthProvider.errorObj} />,\r\n document.getElementById(\"root\")\r\n );\r\n}\r\n\r\nfunction getLastActiveTheme() {\r\n let themeName = localStorage.getItem(\"themeName\");\r\n if (themeName === \"Dark Theme\") {\r\n return themes.dark;\r\n } else {\r\n return themes.light;\r\n }\r\n}\r\n\r\nfunction renderShell(menuItems, resources, fiscalYears, error) {\r\n ReactDOM.render( \r\n <StylesProvider generateClassName={generateClassName}>\r\n <Router history = {createHashHistory()}>\r\n <TelemetryProvider>\r\n <Route\r\n path=\"/\"\r\n render={(props) => (\r\n <App\r\n {...props}\r\n menuItems={menuItems}\r\n resources={resources}\r\n fiscalYears={fiscalYears}\r\n error={error}\r\n lastActiveTheme={getLastActiveTheme()}\r\n />\r\n )}\r\n />\r\n </TelemetryProvider>\r\n </Router>\r\n </StylesProvider>, \r\n document.getElementById(\"root\")\r\n );\r\n}"],"sourceRoot":""}