{"version":3,"sources":["utils/genState.js","utils/reduxsauce/createReducer.js","store/lookups/actions.js","store/group/actions.js","store/spinningWheel/actions.js","utils/reduxsauce/Types.js","store/userManagement/actions.js","store/pages/actions.js","store/auth/actions.js","store/survey/actions.js","utility/context/ThemeColors.js","utility/context/Can.js","store/promoter/actions.js","store/city/actions.js","store/prize/actions.js","services/setting/index.js","@core/components/spinner/Fallback-spinner.js","utility/context/Internationalization.js","store/products/actions.js","store/outlets/actions.js","assets/images/logo/roi.png","store/brands/actions.js","store/reports/actions.js","store/userManagement/reducer.js","store/setting/reducer.js","store/brands/reducer.js","store/products/reducer.js","store/lookups/reducer.js","store/companyInfo/reducer.js","store/prize/reducer.js","store/offers/reducer.js","store/outlets/reducer.js","store/city/reducer.js","store/nationalities/reducer.js","store/ageRange/reducer.js","store/promoter/reducer.js","store/survey/reducer.js","store/supervisor/actions.js","store/supervisor/reducer.js","store/reports/reducer.js","store/dashboard/reducer.js","store/refusalReason/reducer.js","store/shiftSessions/reducer.js","store/outletType/reducer.js","store/channel/reducer.js","store/group/reducer.js","store/spinningWheel/reducer.js","store/reportsResponses/reducer.js","store/dashboard/actions.js","store/pages/reducer.js","store/outletType/actions.js","store/channel/actions.js","store/offers/actions.js","store/companyInfo/actions.js","store/ageRange/actions.js","store/refusalReason/actions.js","../ /^/.//.*//messages/.po$/ groupOptions: {} namespace object","store/auth/reducer.js","store/layout/reducer.js","store/navbar/reducer.js","store/reducers.js","services/storage.js","utils/genLogic.js","store/ageRange/logic.js","store/app/logic.js","store/auth/logic.js","store/brands/logic.js","store/channel/logic.js","store/city/logic.js","store/companyInfo/logic.js","store/dashboard/logic.js","store/group/logic.js","store/lookups/logic.js","store/nationalities/logic.js","store/offers/logic.js","store/outletType/logic.js","store/outlets/logic.js","store/prize/logic.js","store/products/logic.js","store/promoter/logic.js","store/refusalReason/logic.js","store/reports/logic.js","store/setting/logic.js","store/shiftSessions/logic.js","store/spinningWheel/logic.js","store/supervisor/logic.js","store/survey/logic.js","store/userManagement/logic.js","store/reportsResponses/logic.js","store/logics.js","store/pages/logic.js","services/index.js","services/auth/index.js","services/userManagement/index.js","services/products/index.js","services/outlets/index.js","services/brands/index.js","services/offers/index.js","services/companyInfo/index.js","services/lookups/index.js","services/prize/index.js","services/city/index.js","services/nationalities/index.js","services/ageRange/index.js","services/promoter/index.js","services/supervisors/index.js","services/reports/index.js","services/survey/index.js","services/dashboard/index.js","services/refusalReason/index.js","services/shiftSession/index.js","services/outletType/index.js","services/channel/index.js","services/group/index.js","services/spinningWheel/index.js","services/reportsResponses/index.js","store/index.js","store/configureStore.js","@core/components/ripple-button/index.js","serviceWorker.js","configs/permission/userAbitlity.js","configs/permission/userPermission.jsx","utility/providers/SignalRProvider.js","utility/hooks/useSignalR.js","components/TransKeyNotFound.js","index.js","store/constants.js","store/app/reducer.js","store/nationalities/actions.js","store/app/actions.js","store/shiftSessions/actions.js","store/SupportedLocales.js","utils/reduxsauce/createTypes.js","utils/reduxsauce/createActions.js","utils/reduxsauce/resettableReducer.js","utils/reduxsauce/index.js","configs/index.js","store/setting/actions.js","store/reportsResponses/actions.js","configs/themeConfig.js","store/layout/actions.js"],"names":["defaultState","stateName","extraProps","defaults","extraPropsState","Object","keys","length","map","a","setState","isPaginated","state","payload","produce","draft","setStateSuccess","successCb","items","metadata","setStateFail","failCb","undefined","bindReducers","actionTypes","options","action","async","actionName","replace","toUpperCase","Error","reducers","bindSyncReducers","doneCb","setSyncState","initialState","handlers","isNil","is","any","equals","has","handler","type","DEFAULT","createActions","getQuestionTypes","args","meta","getAppTypes","prefix","Types","Creators","ActionTypes","getAllGroups","getGroupWithId","createGroup","updateGroup","deleteGroup","getGroupClients","createGroupClient","createGroupClients","getNonGroupedOutlets","createGroupOutlet","createGroupOutlets","removeGroupOutlet","getGroupOutletsList","uploadGroupOutlets","removeGroupOutlets","getGroupPromotersList","getNonGroupedPromoters","uploadGroupPromoters","createGroupPromoters","removeGroupPromoters","createGroupPromoter","removeGroupPromoter","showDialog","showDeleteDialog","resetDialog","setGroup","getAllSpin","getSpinWithId","createSpin","updateSpin","deleteSpin","removeSupervisorFromSpin","assignSupervisor","assignedSupervisor","notAssignedSupervisor","getAllRewards","getRewardWithId","createReward","updateReward","deleteReward","setReward","setData","getUsers","getUser","getPermissions","createUser","createUsers","createAppUser","deleteUser","setUser","createRole","getRoles","getRole","editUser","editRole","deleteRole","setPageState","PageActions","login","updateToken","getNotifications","addNotification","logout","setAuthToken","readNotification","updateProfile","changePassword","resetChangePassword","updateUserScore","AuthActions","saveSurveyInformation","getSurveyWithId","getSurveys","getSurveyResults","getUserSurveys","getUserSurveysWithId","createSurvey","addSurveyResponse","editSurvey","deleteSurvey","addSurveyQuestion","removeSurveyQuestion","editSurveyQuestion","setSurvey","ThemeColors","createContext","ThemeContext","children","useState","colors","setColors","useEffect","window","getHex","color","getComputedStyle","document","body","getPropertyValue","trim","obj","primary","light","concat","main","secondary","success","danger","warning","info","dark","Provider","value","AbilityContext","createContextualCan","Consumer","getAllPromoters","getAllCities","getAllSupervisors","getPromoter","addPromoter","deletePromoter","editPromoter","getAllPromotersAssignments","updateContractNumbers","createCountry","editCountry","deleteCountry","getAllCountries","getCities","createCity","editCity","deleteCity","getAllPrizes","addPrize","editPrize","deletePrize","getAllOutletPrizes","addOutletPrize","editOutletPrize","deleteOutletPrize","api","settings","getSettings","get","editSetting","id","put","editAllSettings","SpinnerComponent","className","src","themeConfig","app","appLogoImage","alt","width","Context","dynamicActivate","locale","messages","i18n","load","activate","loadLocaleData","result","key","locales","plurals","plurs","loadedLocales","IntlProviderWrapper","lang","localStorage","getItem","currentLang","values","find","l","default","code","setLocale","dispatch","useDispatch","AppActions","changeLocale","switchLanguage","defaultLocale","getAllProducts","getProductWithId","addProduct","editProduct","saveProductCityOffers","deleteProductCityOffers","deleteProduct","setProduct","getAllOutlets","getOutletWithId","addOutlet","uploadOutlets","editOutlet","deleteOutlet","uploadAssignments","getAllBrands","getBrandWithId","addBrand","editBrand","deleteBrand","getAllReportResponses","getReportResponseWithId","getAllReportQuestions","addReportQuestion","editReportQuestion","deleteReportQuestion","storeSelectedItemIndex","selectedUser","openDialog","openDeleteDialog","userCreatedSuccess","users","reducer","createReducer","filter","roles","userIndex","findIndex","u","roleIndex","user_errors","settingIndex","brands","brandIndex","brand","products","productIndex","p","ptoductIndex","splice","brand_errors","product","cityOffers","cityId","data","questionTypes","appTypes","CompanyInfos","CompanyInfoIndex","companyInfos","prizes","prizeIndex","outletPrizes","offers","outlets","outlet","cities","countries","index","r","nationalities","nationalityIndex","ageRanges","ageRangeIndex","console","log","selectedPromoter","promoters","promoterIndex","promoter_errors","selectedSurvey","userSurveys","surveyIndex","surveys","survey","questions","questionIndex","getSupervisor","setSupervisor","addSupervisor","deleteSupervisor","editSupervisor","selectedSupervisor","supervisors","supervisorIndex","supervisor_errors","reportQuestions","selectedItem","responsesSummary","refusalReasons","refusalReasonIndex","shiftSessions","exportedSessions","shiftSession","monthlyReports","valueOf","outletTypes","outletTypeIndex","outletType_errors","channels","channelIndex","channel_errors","groups","groupIndex","groupOutletsList","nonGroupedOutlets","includes","promotersList","nonGroupedPromoters","spins","item","rewards","rewardIndex","reward","assignedSupervisors","notAssignedSupervisors","getGeneralInfo","getClientResponse","getProducts","getOffers","getClientResponces","getClientResponceWithId","getResponsesSummary","name","st","pages","getAllOutletTypes","getOutletTypeWithId","createOutletType","updateOutletType","deleteOutletType","getAllChannels","getChannelWithId","createChannel","updateChannel","deleteChannel","getAllOffers","getOfferWithId","addOffer","editOffer","deleteOffer","setOffer","getAllCompanyInfos","getCompanyInfoWithId","addCompanyInfo","editCompanyInfo","deleteCompanyInfo","getAllAgeRanges","getAgeRangeWithId","addAgeRange","editAgeRange","deleteAgeRange","getRefusalReasons","getRefusalReasonWithId","addRefusalReason","editRefusalReason","deleteRefusalReason","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","ids","t","module","exports","user","isLoggedIn","token","loginError","notifications","authReducer","jwtDecoder","loginLoading","JSON","parse","role","some","toLowerCase","setItem","stringify","refreshToken","active","removeItem","changePassword_errors","score","LOGOUT","GET_NOTIFICATIONS","GET_NOTIFICATIONS_SUCCESS","GET_NOTIFICATIONS_FAIL","message","ADD_NOTIFICATION","notify","READ_NOTIFICATION","READ_NOTIFICATION_SUCCESS","forEach","notifyId","notficiationId","read","READ_NOTIFICATION_FAIL","isRTL","layout","menuCollapsed","menu","isCollapsed","initialMenuCollapsed","menuHidden","isHidden","contentWidth","logo","appName","url","layoutReducer","suggestions","bookmarks","query","navbarReducer","val","objectToUpdate","isBookmarked","bookmarkIndex","x","push","rootPersistConfig","storage","blacklist","Storage","normalizeActionName","error","split","pop","i","charAt","substring","join","exp","moment","unix","response","ok","_validateApi","apiNamespace","api_name","logic","successMessage","errorMessage","showSuccessMessage","showErrorMessage","createLogic","latest","process","done","getState","apiURI","setBaseURL","res","toast","status","authActions","_errorMsg","errors","errorCode","getAllAgeRangesLogic","GET_ALL_AGE_RANGES","GET_AGE_RANGE_WITH_ID","addAgeRangeLogic","ADD_AGE_RANGE","editAgeRangeLogic","EDIT_AGE_RANGE","deleteAgeRangeLogic","DELETE_AGE_RANGE","pingLogic","PING","getCountriesLogic","GET_COUNTRIES","getCitiesLogic","GET_CITIES","getNotificationsLogic","auth","loginRequest","readNotificationLogic","loginLogic","LOGIN","jwtDecode","changePasswordLogic","CHANGE_PASSWORD","updateProfileLogic","UPDATE_PROFILE","getAllBrandsLogic","GET_ALL_BRANDS","getBrandWithIdLogic","GET_BRAND_WITH_ID","addBrandLogic","ADD_BRAND","editBrandLogic","EDIT_BRAND","deleteBrandLogic","DELETE_BRAND","getAllChannelsLogic","GET_ALL_CHANNELS","getChannelWithIdLogic","GET_CHANNEL_WITH_ID","createChannelLogic","CREATE_CHANNEL","updateChannelLogic","UPDATE_CHANNEL","deleteChannelLogic","DELETE_CHANNEL","getAllCitiesLogic","GET_ALL_CITIES","getAllCountriesLogic","GET_ALL_COUNTRIES","createCountryLogic","CREATE_COUNTRY","editCountryLogic","EDIT_COUNTRY","deleteCountryLogic","DELETE_COUNTRY","createCityLogic","CREATE_CITY","editCityLogic","EDIT_CITY","deleteCityLogic","DELETE_CITY","getAllCompanyInfosLogic","GET_ALL_COMPANY_INFOS","GET_COMPANY_INFO_WITH_ID","addCompanyInfoLogic","ADD_COMPANY_INFO","editCompanyInfoLogic","EDIT_COMPANY_INFO","deleteCompanyInfoLogic","DELETE_COMPANY_INFO","getGeneralInfoLogic","GET_GENERAL_INFO","getClientResponseLogic","GET_CLIENT_RESPONSE","getProductsLogic","GET_PRODUCTS","getOffersLogic","GET_OFFERS","getClientResponcesLogic","GET_CLIENT_RESPONCES","getClientResponceWithIdLogic","GET_CLIENT_RESPONCE_WITH_ID","getResponsesSummaryLogic","GET_RESPONSES_SUMMARY","getAllGroupsLogic","GET_ALL_GROUPS","getGroupWithIdLogic","GET_GROUP_WITH_ID","createGroupLogic","CREATE_GROUP","updateGroupLogic","UPDATE_GROUP","deleteGroupLogic","DELETE_GROUP","getGroupClientsLogic","GET_GROUP_CLIENTS","createGroupClientLogic","CREATE_GROUP_CLIENT","createGroupClientsLogic","CREATE_GROUP_CLIENTS","createGroupOutletLogic","CREATE_GROUP_OUTLET","removeGroupOutletLogic","REMOVE_GROUP_OUTLET","createGroupOutletsLogic","CREATE_GROUP_OUTLETS","getGroupOutletsListLogic","GET_GROUP_OUTLETS_LIST","getNonGroupedOutletsLogic","GET_NON_GROUPED_OUTLETS","uploadGroupOutletsLogic","UPLOAD_GROUP_OUTLETS","removeGroupOutletsLogic","REMOVE_GROUP_OUTLETS","createGroupPromoterLogic","CREATE_GROUP_PROMOTER","removeGroupPromoterLogic","REMOVE_GROUP_PROMOTER","createGroupPromotersLogic","CREATE_GROUP_PROMOTERS","getGroupPromotersListLogic","GET_GROUP_PROMOTERS_LIST","getNonGroupedPromotersLogic","GET_NON_GROUPED_PROMOTERS","uploadGroupPromotersLogic","UPLOAD_GROUP_PROMOTERS","removeGroupPromotersLogic","REMOVE_GROUP_PROMOTERS","GET_QUESTION_TYPES","GET_APP_TYPES","GET_ALL_NATIONALITIES","ADD_NATIONALITY","EDIT_NATIONALITY","DELETE_NATIONALITY","GET_ALL_OFFERS","GET_OFFER_WITH_ID","ADD_OFFER","EDIT_OFFER","DELETE_OFFER","GET_ALL_OUTLET_TYPES","GET_OUTLET_TYPE_WITH_ID","CREATE_OUTLET_TYPE","UPDATE_OUTLET_TYPE","DELETE_OUTLET_TYPE","getAllOutletsLogic","GET_ALL_OUTLETS","getOutletWithIdLogic","GET_OUTLET_WITH_ID","addOutletLogic","ADD_OUTLET","uploadOutletsLogic","UPLOAD_OUTLETS","EDIT_OUTLET","DELETE_OUTLET","UPLOAD_ASSIGNMENTS","GET_ALL_PRIZES","ADD_PRIZE","EDIT_PRIZE","DELETE_PRIZE","GET_ALL_OUTLET_PRIZES","ADD_OUTLET_PRIZE","EDIT_OUTLET_PRIZE","DELETE_OUTLET_PRIZE","getAllProductsLogic","GET_ALL_PRODUCTS","getProductWithIdLogic","GET_PRODUCT_WITH_ID","addProductLogic","ADD_PRODUCT","SaveProductCityOffersLogic","SAVE_PRODUCT_CITY_OFFERS","deleteProductCityOffersLogic","DELETE_PRODUCT_CITY_OFFERS","EDIT_PRODUCT","DELETE_PRODUCT","getAllPromotersLogic","GET_ALL_PROMOTERS","getAllSupervisorsLogic","GET_ALL_SUPERVISORS","getPromoterLogic","GET_PROMOTER","getPermissionsLogic","GET_PERMISSIONS","ADD_PROMOTER","DELETE_PROMOTER","EDIT_PROMOTER","GET_ALL_PROMOTERS_ASSIGNMENTS","UPDATE_CONTRACT_NUMBERS","getRefusalReasonsLogic","GET_REFUSAL_REASONS","GET_REFUSAL_REASON_WITH_ID","ADD_REFUSAL_REASON","EDIT_REFUSAL_REASON","DELETE_REFUSAL_REASON","GET_ALL_REPORT_RESPONSES","GET_REPORT_RESPONSE_WITH_ID","GET_ALL_REPORT_QUESTIONS","ADD_REPORT_QUESTION","EDIT_REPORT_QUESTION","DELETE_REPORT_QUESTION","GET_SETTINGS","EDIT_SETTING","EDIT_ALL_SETTINGS","getAllShiftSessionsLogic","GET_ALL_SHIFT_SESSIONS","getExportedSessionsLogic","GET_EXPORTED_SESSIONS","GET_SHIFT_SESSION_WITH_ID","GET_MONTHLY_REPORTS","getAllSpinLogic","GET_ALL_SPIN","getSpinWithIdLogic","GET_SPIN_WITH_ID","createSpinLogic","CREATE_SPIN","updateSpinLogic","UPDATE_SPIN","deleteSpinLogic","DELETE_SPIN","getAllRewardsLogic","GET_ALL_REWARDS","getRewardWithIdLogic","GET_REWARD_WITH_ID","createRewardLogic","CREATE_REWARD","updateRewardLogic","UPDATE_REWARD","deleteRewardLogic","DELETE_REWARD","ASSIGNED_SUPERVISOR","NOT_ASSIGNED_SUPERVISOR","ASSIGN_SUPERVISOR","REMOVE_SUPERVISOR_FROM_SPIN","getSupervisorLogic","GET_SUPERVISOR","ADD_SUPERVISOR","DELETE_SUPERVISOR","EDIT_SUPERVISOR","getSurveyWithIdLogic","GET_SURVEY_WITH_ID","getSurveysLogic","GET_SURVEYS","getSurveyResultsLogic","GET_SURVEY_RESULTS","getUserSurveysLogic","GET_USER_SURVEYS","getUserSurveysWithIdLogic","GET_USER_SURVEYS_WITH_ID","createSurveyLogic","CREATE_SURVEY","addSurveyResponseLogic","ADD_SURVEY_RESPONSE","addSurveyQuestionLogic","ADD_SURVEY_QUESTION","editSurveyQuestionLogic","EDIT_SURVEY_QUESTION","removeSurveyQuestionLogic","REMOVE_SURVEY_QUESTION","editSurveyLogic","EDIT_SURVEY","DELETE_SURVEY","getUsersLogic","GET_USERS","getUserLogic","GET_USER","createUserLogic","CREATE_USER","createUsersLogic","CREATE_USERS","createAppUserLogic","CREATE_APP_USER","createRoleLogic","CREATE_ROLE","getRolesLogic","GET_ROLES","getRoleLogic","GET_ROLE","deleteUserLogic","DELETE_USER","editUserLogic","EDIT_USER","editRoleLogic","EDIT_ROLE","DELETE_ROLE","ADD_CUSTOM_REPORT","GET_CUSTOM_REPORT","GET_CUSTOM_EXCEL_REPORT","appLogic","authLogic","usersLogic","settingLogic","brandsLogic","productsLogic","lookupsLogic","companyInfoLogic","prizeLogic","offersLogic","outletsLogic","cityLogic","nationalityLogic","ageRangeLogic","promoterLogic","supervisorLogic","reportsLogic","surveysLogic","dashboardLogic","refusalReasonLogic","shiftSessionLogic","outletTypeLogic","channelLogic","groupLogic","spinWheelLogic","reportsResponses","baseURL","apisauce","create","headers","timeout","addAsyncResponseTransform","customeError","addAsyncRequestTransform","request","culture","cultureCode","userIp","post","accessToken","paging","userManegment","delete","usersApi","settingsApi","productsApi","outletApi","getBrandsWithId","brandsApi","offersApi","companyInfoApi","lookups","lookupsApi","prizeApi","Cities","cityApi","Nationalities","getAllNationalities","addNationality","editNationality","deleteNationality","NationalityApi","ageRangeApi","Promoters","promoterApi","Supervisors","supervisorApi","reports","reportsApi","surveysApi","dashboards","dashboard","filters","dashboardApi","refusalReasonApi","getAllShiftSessions","getShiftSessionWithId","getMonthlyReports","getExportedSessions","shiftSessionApi","outletType","outletTypeApi","channel","channelApi","group","groupApi","spinningWheel","spinWheel","spinEventId","supervisorId","spinningWheelApi","addCustomReport","getCustomReport","getCustomExcelReport","reportsResponsesApi","setHeader","setHeaders","history","createBrowserHistory","injectedApi","API","logicMiddleware","createLogicMiddleware","logics","middlewares","routerMiddleware","enhancers","applyMiddleware","composeEnhancers","compose","rootReducer","asyncReducers","persistReducer","combineReducers","router","connectRouter","require","navbar","page","store","createStore","persistedStore","persistStore","configureStore","Button","Ripple","onClick","rest","mounted","setMounted","isRippling","setIsRippling","y","coords","setCoords","setTimeout","classnames","rect","target","getBoundingClientRect","clientX","left","clientY","top","style","Boolean","location","hostname","match","permissions","this","updateValues","permission","SignalProvider","React","SignalRProvider","props","connection","signalR","withUrl","config","baseUrl","accessTokenFactory","withAutomaticReconnect","configureLogging","Debug","build","connect","conn","start","catch","sleep","msec","startHub","err","onclose","onReceiveNotify","on","closeHub","stop","useSignalR","useSelector","TransKeyNotFound","LazyApp","lazy","ReactDOM","render","fallback","userAbility","newestOnTop","getElementById","navigator","serviceWorker","ready","registration","unregister","DEFAULT_DIRECTION","DIRECTIONS","LTR","supportedLocales","direction","defaultCurrency","priceDisplay","lastPing","isLoadingHotels","theme","sidebarCollapsed","navbarColor","navbarType","footerType","disableCustomizer","hideScrollToTop","menuTheme","extraStarred","starred","defaultLat","defaultLong","defaultZoom","_locale","getElementsByTagName","setAttribute","textAlign","ping","changeCurrency","changePriceDisplay","setIsLoading","clearIsLoading","getCountries","flag","isNilOrEmpty","anyPass","isEmpty","defaultOptions","types","merge","pipe","reject","fromPairs","camelToScreamingSnake","toUpper","convertToTypes","opts","successPostfix","failPostfix","k","_config","flatten","createTypes","convertToCreators","creators","mapObjIndexed","num","Array","zipObj","defaultProps","valueObject","providedProps","pick","successKey","failKey","fail","_value","isArray","createActionCreator","curry","typeToReset","originalReducer","String","resetState","cr","emptyObj","useLocalApi","appTitle","appDescription","devApiRoot","pageOptions","pageSize","contactPhone","contactMail","addressOnMap","gen_password_length","gen_password_characters","appSelected","REACT_APP_BASE_API_URL","skin","routerTransition","backgroundColor","footer","customizer","scrollTop","handleRtl","handleMenuHidden","handleMenuCollapsed","setLogo","setAppName","setUrl","LayoutActions"],"mappings":"yNAOMA,EAAe,SAACC,GAAiD,IAAD,EAArCC,EAAqC,uDAAxB,GAAIC,EAAoB,uDAAT,KACvDC,EAAkB,GAOtB,OANIF,GAAcG,OAAOC,KAAKJ,GAAYK,OAAS,GACjDF,OAAOC,KAAKJ,GAAYM,KAAI,SAACC,GAE3B,OADAL,EAAgB,GAAD,OAAIH,EAAJ,YAAiBQ,IAAOP,EAAWO,GAC3C,yBAAMR,EAAb,YAA0BQ,GAAMP,EAAWO,OAGxC,gCACJR,EAAYE,GADf,wBAEMF,EAFN,aAE4B,GAF5B,wBAGMA,EAHN,WAG2B,IAH3B,GAIKG,IAIDM,EAAW,SAACT,EAAWU,GAC3B,OAAO,SAACC,EAAD,GAAwB,EAAdC,QACf,OAAOC,YAAQF,GAAO,SAACG,GACrBA,EAAMd,GAAaU,EAAc,GAAKC,EAAMX,GAC5Cc,EAAM,GAAD,OAAId,EAAJ,cAA2B,EAChCc,EAAM,GAAD,OAAId,EAAJ,YAA0B,GAC3BU,IACFI,EAAM,GAAD,OAAId,EAAJ,cAA4B,SAMnCe,EAAkB,SAACf,EAAWgB,EAAWN,GAC7C,OAAO,SAACC,EAAD,GAAyB,IAAfC,EAAc,EAAdA,QACf,OAAOC,YAAQF,GAAO,SAACG,GACrBA,EAAMd,GAAaU,EAAcE,EAAQK,MAAQL,EACjDE,EAAM,GAAD,OAAId,EAAJ,cAA2B,EAChCc,EAAM,GAAD,OAAId,EAAJ,YAA0B,GAC3BgB,GAAWA,EAAUL,EAAOG,EAAOF,GACnCF,IACFI,EAAM,GAAD,OAAId,EAAJ,cAA4BY,EAAQM,eAM3CC,EAAe,SAACnB,EAAWoB,EAAQV,GACvC,OAAO,SAACC,EAAD,GAAyB,IAAfC,EAAc,EAAdA,QACf,OAAOC,YAAQF,GAAO,SAACG,GACrBA,EAAMd,GAAaU,EAAc,QAAKW,EACtCP,EAAM,GAAD,OAAId,EAAJ,cAA2B,EAChCc,EAAM,GAAD,OAAId,EAAJ,YAA0BY,EAC3BQ,GAAQA,EAAOT,EAAOG,EAAOF,GAC7BF,IACFI,EAAM,GAAD,OAAId,EAAJ,cAA4B,SAyBnCsB,EAAe,SAACC,GAA+B,IAAlBC,EAAiB,uDAAP,GACnCC,EAA6DD,EAA7DC,OAAQzB,EAAqDwB,EAArDxB,UAAWgB,EAA0CQ,EAA1CR,UAAWI,EAA+BI,EAA/BJ,OAAQV,EAAuBc,EAAvBd,YAAagB,EAAUF,EAAVE,MACvDC,EAAaF,EAAOG,QAAQ,WAAY,OAAOC,cACnD,IAAKN,EAAY,GAAD,OAAII,IAClB,MAAM,IAAIG,MAAJ,gDAAmDH,IAE3D,GAAKD,EAEA,CAAC,IAAD,EACGK,GAAQ,mBACXR,EAAY,GAAD,OAAII,IAAgBlB,EAAST,EAAWU,IADxC,cAEXa,EAAY,GAAD,OAAII,EAAJ,aAA4BZ,EACtCf,EACAgB,EACAN,IALU,cAOXa,EAAY,GAAD,OAAII,EAAJ,UAAyBR,EACnCnB,EACAoB,EACAV,IAVU,GAad,OAAOqB,EAfP,OAAOC,EAAiBT,EAAaI,EAAY3B,EAAWgB,IAmB1DgB,EAAmB,SAACT,EAAaI,EAAY3B,EAAWiC,GAK5D,OAJc,eACXV,EAAY,GAAD,OAAII,IA/CC,SAAC3B,EAAWiC,GAC/B,OAAO,SAACtB,EAAD,GAAyB,IAAfC,EAAc,EAAdA,QACf,OAAOC,YAAQF,GAAO,SAACG,GACjBd,IAAWc,EAAMd,GAAaY,GAC9BqB,GAAQA,EAAOtB,EAAOG,EAAOF,OA2CHsB,CAAalC,EAAWiC,M,gCC/G5D,iEAce,aAACE,EAAcC,GAE5B,GAAIC,YAAMF,GACR,MAAM,IAAIL,MAAM,6BAIlB,GAAIO,YAAMD,KAAcE,YAAGlC,OAAQgC,GACjC,MAAM,IAAIN,MAAM,8BAIlB,GAAIS,YAAIC,YAAO,aAAXD,CAAyBlC,YAAK+B,IAChC,MAAM,IAAIN,MAAM,yCAIlB,OAAO,WAAmC,IAAlCnB,EAAiC,uDAAzBwB,EAAcV,EAAW,uCAEvC,GAAIY,YAAMZ,GAAS,OAAOd,EAC1B,IAAK8B,YAAI,OAAQhB,GAAS,OAAOd,EAGjC,IAAM+B,EAAUN,EAASX,EAAOkB,OAASP,EAASQ,KAGlD,OAAIP,YAAMK,GAAiB/B,EAGpB+B,EAAQ/B,EAAOc,M,iCC3C1B,6CAEA,EAA4BoB,YAC1B,CACEC,iBAAiB,CAAEC,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC5CuB,YAAY,CAAEF,KAAM,GAAIC,KAAM,CAAEtB,OAAO,KAEzC,CACEwB,OAAQ,kBANJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SASFC,EAAcF,EACZC,O,gCCZf,6CAEA,EAA4BP,YAC1B,CACES,aAAc,CAAEP,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAClD6B,eAAgB,CAAER,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACpD8B,YAAa,CAAET,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACjD+B,YAAa,CAAEV,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACjDgC,YAAa,CAAEX,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAGjDiC,gBAAiB,CAAEZ,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACrDkC,kBAAmB,CAAEb,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACvDmC,mBAAoB,CAAEd,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAGxDoC,qBAAsB,CAAEf,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC1DqC,kBAAmB,CAAEhB,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACvDsC,mBAAoB,CAAEjB,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACxDuC,kBAAmB,CAAElB,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACvDwC,oBAAqB,CAAEnB,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACzDyC,mBAAoB,CAAEpB,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACxD0C,mBAAoB,CAAErB,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAGxD2C,sBAAuB,CAAEtB,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC3D4C,uBAAwB,CAAEvB,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC5D6C,qBAAsB,CAAExB,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC1D8C,qBAAsB,CAAEzB,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC1D+C,qBAAsB,CAAE1B,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC1DgD,oBAAqB,CAAE3B,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACzDiD,oBAAqB,CAAE5B,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAEzDkD,WAAY,CAAE7B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IACvCmD,iBAAkB,CAAE9B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC7CoD,YAAa,CAAE/B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IACxCqD,SAAU,CAAEhC,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,KAEhD,CACEwB,OAAQ,gBArCJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAyCFC,EAAcF,EACZC,O,gCC5Cf,6CAEA,EAA4BP,YAC1B,CACEmC,WAAY,CAAEjC,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAChDuD,cAAe,CAAElC,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACnDwD,WAAY,CAAEnC,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAChDyD,WAAY,CAAEpC,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAChD0D,WAAY,CAAErC,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAGhD2D,yBAA0B,CAAEtC,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC9D4D,iBAAkB,CAAEvC,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACtD6D,mBAAoB,CAAExC,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACxD8D,sBAAuB,CAAEzC,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAG3D+D,cAAe,CAAE1C,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACnDgE,gBAAiB,CAAE3C,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACrDiE,aAAc,CAAE5C,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAClDkE,aAAc,CAAE7C,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAClDmE,aAAc,CAAE9C,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAClDoE,UAAW,CAAE/C,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAE/CqE,QAAS,CAAEhD,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC7CkD,WAAY,CAAE7B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IACvCmD,iBAAkB,CAAE9B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC7CoD,YAAa,CAAE/B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,KAE1C,CACEwB,OAAQ,oBA5BJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAgCFC,EAAcF,EACZC,O,iCCnCf,kCAAO,IAAMR,EAAU,sB,gCCAvB,6CAEA,EAA4BC,YAC1B,CACEmD,SAAU,CAAEjD,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC9CuE,QAAS,CAAElD,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC7CwE,eAAgB,CAAEnD,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC3CyE,WAAY,CAAEpD,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAChD0E,YAAa,CAAErD,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACjD2E,cAAe,CAAEtD,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACnD4E,WAAY,CAAEvD,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAChD6E,QAAS,CAAExD,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC7C8E,WAAY,CAAEzD,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAChD+E,SAAU,CAAE1D,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC9CgF,QAAS,CAAE3D,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC7CiF,SAAU,CAAE5D,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC9CkF,SAAU,CAAE7D,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC9CkD,WAAY,CAAE7B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IACvCmD,iBAAkB,CAAE9B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC7CoD,YAAa,CAAE/B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IACxCmF,WAAY,CAAE9D,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,KAElD,CACEwB,OAAQ,gBArBJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAwBFC,EAAcF,EACZC,O,iCC3Bf,+EAEA,EAA4BP,YAC1B,CACEiE,aAAc,CAAE/D,KAAM,CAAC,aAEzB,CACEG,OAAQ,eALJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SASFC,EAAcF,EAEd4D,EAAc3D,G,gCCb3B,+EAEA,EAA4BP,YAC1B,CACEmE,MAAO,CAAEjE,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC3CuF,YAAa,CAAElE,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACjDwF,iBAAkB,CAAEnE,KAAM,CAAC,SAAUC,KAAM,CAAEtB,OAAO,IACpDyF,gBAAiB,CAAEpE,KAAM,CAAC,WAC1BqE,OAAQ,CAAErE,KAAM,CAAC,UACjBsE,aAAc,CAAEtE,KAAM,CAAC,SAAUC,KAAM,CAAEtB,OAAO,IAChD4F,iBAAiB,CAAEvE,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACrD6F,cAAc,CAAExE,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAClD8F,eAAe,CAAEzE,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACnD+F,oBAAoB,CAAE1E,KAAM,CAAC,YAC7B2E,gBAAgB,CAAE3E,KAAM,CAAC,aAE3B,CACEG,OAAQ,eAfJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAkBFC,EAAcF,EACZC,MACR,IAAMuE,EAAYvE,G,gCCtBzB,6CAEA,EAA4BP,YAC1B,CACE+E,sBAAuB,CAAE7E,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC3DmG,gBAAiB,CAAE9E,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACrDoG,WAAY,CAAE/E,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAChDqG,iBAAkB,CAAEhF,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACtDsG,eAAgB,CAAEjF,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACpDuG,qBAAsB,CAAElF,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC1DwG,aAAc,CAAEnF,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAClDyG,kBAAmB,CAAEpF,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACvD0G,WAAY,CAAErF,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAChD2G,aAAc,CAAEtF,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAClD4G,kBAAmB,CAAEvF,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACvD6G,qBAAsB,CAAExF,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC1D8G,mBAAoB,CAAEzF,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACxD+G,UAAW,CAAE1F,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC/CkD,WAAY,CAAE7B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IACvCmD,iBAAkB,CAAE9B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC7CoD,YAAa,CAAE/B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,KAE1C,CACEwB,OAAQ,kBArBJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAwBFC,EAAcF,EACZC,O,sICvBTsF,EAAcC,0BAEdC,EAAe,SAAC,GAAkB,IAAhBC,EAAe,EAAfA,SAEtB,EAA4BC,mBAAS,IAArC,mBAAOC,EAAP,KAAeC,EAAf,KA2CA,OAzCAC,qBAAU,WACR,GAAe,cAAXC,OAAwB,CAE1B,IAAMC,EAAS,SAAAC,GAAK,OAAIF,OAAOG,iBAAiBC,SAASC,MAAMC,iBAAiBJ,GAAOK,QAGjFC,EAAM,CACVC,QAAS,CACPC,MAAOT,EAAO,aAAaU,OAAO,MAClCC,KAAMX,EAAO,cAEfY,UAAW,CACTH,MAAOT,EAAO,eAAeU,OAAO,MACpCC,KAAMX,EAAO,gBAEfa,QAAS,CACPJ,MAAOT,EAAO,aAAaU,OAAO,MAClCC,KAAMX,EAAO,cAEfc,OAAQ,CACNL,MAAOT,EAAO,YAAYU,OAAO,MACjCC,KAAMX,EAAO,aAEfe,QAAS,CACPN,MAAOT,EAAO,aAAaU,OAAO,MAClCC,KAAMX,EAAO,cAEfgB,KAAM,CACJP,MAAOT,EAAO,UAAUU,OAAO,MAC/BC,KAAMX,EAAO,WAEfiB,KAAM,CACJR,MAAOT,EAAO,UAAUU,OAAO,MAC/BC,KAAMX,EAAO,YAIjBH,EAAU,eAAKU,OAEhB,IAEI,cAAChB,EAAY2B,SAAb,CAAsBC,MAAO,CAAEvB,UAA/B,SAA0CF,M,iCCnDnD,sDAOa0B,EAAiB5B,0BAGX6B,YAAoBD,EAAeE,W,gCCVtD,6CAEA,EAA4B5H,YAC1B,CACE6H,gBAAiB,CAAE3H,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACrDiJ,aAAc,CAAE5H,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAClDkJ,kBAAmB,CAAE7H,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACvDmJ,YAAa,CAAE9H,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACjDwE,eAAgB,CAAEnD,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC3CoJ,YAAa,CAAE/H,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACjDqJ,eAAgB,CAAEhI,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACpDsJ,aAAc,CAAEjI,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAClDkD,WAAY,CAAE7B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IACvCmD,iBAAkB,CAAE9B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC7CoD,YAAa,CAAE/B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IACxCuJ,2BAA4B,CAAElI,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAChEwJ,sBAAuB,CAAEnI,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,KAE7D,CACEwB,OAAQ,oBAjBJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAoBFC,EAAcF,EACZC,O,gCCvBf,6CAEA,EAA4BP,YAC1B,CAEEsI,cAAe,CAAEpI,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACnD0J,YAAa,CAAErI,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACjD2J,cAAe,CAAEtI,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACnD4J,gBAAiB,CAAEvI,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACrD6J,UAAW,CAAExI,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC/CiJ,aAAc,CAAE5H,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAClD8J,WAAY,CAAEzI,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAChD+J,SAAU,CAAE1I,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC9CgK,WAAY,CAAE3I,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAEhDkD,WAAY,CAAE7B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IACvCmD,iBAAkB,CAAE9B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC7CoD,YAAa,CAAE/B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,KAE1C,CACEwB,OAAQ,iBAlBJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAqBFC,EAAcF,EACZC,O,gCCxBf,6CAEA,EAA4BP,YAC1B,CACE8I,aAAc,CAAE5I,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAClDkK,SAAU,CAAE7I,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC9CmK,UAAW,CAAE9I,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC/CoK,YAAa,CAAE/I,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAGjDqK,mBAAoB,CAAEhJ,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACxDsK,eAAgB,CAAEjJ,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACpDuK,gBAAiB,CAAElJ,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACrDwK,kBAAmB,CAAEnJ,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAEvDkD,WAAY,CAAE7B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IACvCmD,iBAAkB,CAAE9B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC7CoD,YAAa,CAAE/B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,KAE1C,CACEwB,OAAQ,iBAlBJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAqBFC,EAAcF,EACZC,O,iCCxBA,aAAyC+I,GAMpD,MAAO,CACLC,SAAU,CACRC,YAPgB,kBAAMF,EAAIG,IAAI,qBAQ9BC,YAPgB,SAAC,GAAD,IAAG3L,EAAH,EAAGA,QAAS4L,EAAZ,EAAYA,GAAZ,OAAqBL,EAAIM,IAAJ,+BAAgCD,GAAM5L,IAQ3E8L,gBAPoB,SAAC9L,GAAD,OAAauL,EAAIM,IAAJ,2BAAoC7L,Q,iCCH7E,mBAkBe+L,IAbU,WACvB,OACE,sBAAKC,UAAU,0BAAf,UACE,qBAAKA,UAAU,gBAAiBC,IAAKC,IAAYC,IAAIC,aAAcC,IAAI,OAAOC,MAAO,MACrF,sBAAKN,UAAU,UAAf,UACE,qBAAKA,UAAU,qBACf,qBAAKA,UAAU,qBACf,qBAAKA,UAAU,6B,uOCajBO,EAAUxE,0B,SAUDyE,E,8EAAf,WAA+BC,GAA/B,iBAAA7M,EAAA,sEAC6B,OAAO,YAA8B6M,EAArC,iBAD7B,gBACUC,EADV,EACUA,SACRC,IAAKC,KAAKH,EAAQC,GAClBC,IAAKE,SAASJ,GAHhB,4C,sBADAE,IAAKG,eAPiB,WACpB,IAAIC,EAAS,GACb,IAAK,IAAMC,KAAOC,IAChBF,EAAOC,GAAO,CAAEE,QAASC,EAAMH,IAEjC,OAAOD,EAEWK,IAOpB,IAAMC,EAAsB,SAAC,GAAkB,IAAhBpF,EAAe,EAAfA,SACvBqF,EAAOC,aAAaC,QAAQ,YAC5BC,EAAcH,EAAOL,IAAQK,GAAQ9N,OAAOkO,OAAOT,KAASU,MAAK,SAAAC,GAAC,OAAIA,EAAEC,WAG9E,EAA4B3F,mBAASuF,EAAYK,MAAjD,mBAAOrB,EAAP,KAAesB,EAAf,KAEMC,EAAWC,cACjB5F,qBAAU,WACR2F,EAASE,IAAWC,aAAaV,IACjCjB,EAAgBiB,EAAYK,QAC3B,IASH,OACE,cAACvB,EAAQ9C,SAAT,CAAkBC,MAAO,CAAE+C,SAAQ2B,eARd,SAAAd,GACrBS,EAAUT,EAAKQ,MAEfE,EAASE,IAAWC,aAAab,IACjCd,EAAgBc,EAAKQ,QAIrB,SACE,cAAC,IAAD,CAAcnB,KAAMA,IAAmBF,OAAQA,EAE/C4B,cAAeZ,EAAYK,KAF3B,SAGG7F,GAH4BwE,O,gCC/DrC,6CAEA,EAA4BxK,YAC1B,CACEqM,eAAgB,CAAEnM,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACpDyN,iBAAkB,CAAEpM,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACtD0N,WAAY,CAAErM,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAChD2N,YAAa,CAAEtM,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACjD4N,sBAAuB,CAAEvM,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC3D6N,wBAAyB,CAAExM,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC7D8N,cAAe,CAAEzM,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAEnD+N,WAAY,CAAE1M,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAEhDmD,iBAAkB,CAAE9B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC7CoD,YAAa,CAAE/B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,KAE1C,CACEwB,OAAQ,mBAhBJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAmBFC,EAAcF,EACZC,O,gCCtBf,6CAEA,EAA4BP,YAC1B,CACE6M,cAAe,CAAE3M,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACnDiO,gBAAiB,CAAE5M,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACrDkO,UAAW,CAAE7M,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC/CmO,cAAe,CAAE9M,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACnDoO,WAAY,CAAE/M,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAChDqO,aAAc,CAAEhN,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAClDsO,kBAAmB,CAAEjN,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAEvDmD,iBAAkB,CAAE9B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC7CoD,YAAa,CAAE/B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,KAE1C,CACEwB,OAAQ,kBAdJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAiBFC,EAAcF,EACZC,O,iCCpBf,OAAe,gzT,gCCAf,6CAEA,EAA4BP,YAC1B,CAEEoN,aAAc,CAAElN,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAClDwO,eAAgB,CAAEnN,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACpDyO,SAAU,CAAEpN,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC9C0O,UAAW,CAAErN,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC/C2O,YAAa,CAAEtN,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAEjD0N,WAAY,CAAErM,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAChD2N,YAAa,CAAEtM,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACjD8N,cAAe,CAAEzM,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAEnDkD,WAAY,CAAE7B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IACvCmD,iBAAkB,CAAE9B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC7CoD,YAAa,CAAE/B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,KAE1C,CACEwB,OAAQ,iBAlBJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAqBFC,EAAcF,EACZC,O,gCCxBf,6CAEA,EAA4BP,YAC1B,CAEEyN,sBAAuB,CAAEvN,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC3D6O,wBAAyB,CAAExN,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAE7D8O,sBAAuB,CAAEzN,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC3D+O,kBAAmB,CAAE1N,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACvDgP,mBAAoB,CAAE3N,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACxDiP,qBAAsB,CAAE5N,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAE1DkP,uBAAwB,CAAE7N,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC5DkD,WAAY,CAAE7B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IACvCmD,iBAAkB,CAAE9B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC7CoD,YAAa,CAAE/B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,KAE1C,CACEwB,OAAQ,kBAjBJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAoBFC,EAAcF,EACZC,O,yHClBTjB,EAAY,2BACbpC,YACD,QACA,CACEmB,cAAUG,EACVwP,kBAAcxP,EACdyP,YAAY,EACZC,kBAAkB,GAEpB,KAEChR,YACD,QACA,CAAEmB,cAAUG,EAAWwP,kBAAcxP,GACrC,KAIE2P,EAAqB,SAACrQ,EAAOG,EAAOF,GACxC,IAAMqQ,EAAQtQ,EAAMsQ,OAAS,GAC7BnQ,EAAMmQ,MAAN,sBAAkBA,GAAlB,CAAyBrQ,IAEzBE,EAAMgQ,YAAa,GA2CRI,EAAUC,YAAchP,EAAD,YAAC,mMAChCb,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,OACX0B,OAAO,EACPhB,aAAa,EACbM,UA/CsB,SAACL,EAAOG,EAAOF,GACvC,IAAMqQ,EAAQtQ,EAAMsQ,OAAS,GAC7BnQ,EAAMmQ,MAAQA,EAAMG,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,IAAM5L,EAAQ4L,MAClD1L,EAAMiQ,kBAAmB,MA8CtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,EACbM,UAtBqB,SAACL,EAAOG,EAAOF,GACtCE,EAAMiQ,kBAAmB,MAwBtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,WACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,UACRzB,UAAW,OACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,UACRzB,UAAW,OACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,OACX0B,OAAO,EACPhB,aAAa,EACbM,UAAWgQ,KAEV1P,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,EACbM,UAAWgQ,KAEV1P,YAAa+B,IAAa,CAC3B5B,OAAQ,gBACRzB,UAAW,OACX0B,OAAO,EACPhB,aAAa,EACbM,UAAWgQ,KAEV1P,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,OACX0B,OAAO,EACPhB,aAAa,EACbM,UA1FuB,SAACL,EAAOG,EAAOF,GACxC,IAAMyQ,EAAQ1Q,EAAM0Q,OAAS,GAC7BvQ,EAAMuQ,MAAN,sBAAkBA,GAAlB,CAAyBzQ,QA0FtBU,YAAa+B,IAAa,CAC3B5B,OAAQ,WACRzB,UAAW,OACX0B,OAAO,EACPhB,aAAa,EACbM,UA1FsB,SAACL,EAAOG,EAAOF,GACvC,IACI0Q,GADU3Q,EAAMsQ,OAAS,IACPM,WAAU,SAACC,GAAD,OAAOA,EAAEhF,KAAO5L,EAAQ4L,MACxD1L,EAAMmQ,MAAMK,GAAa1Q,EACzBE,EAAMgQ,YAAa,MAwFhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,WACRzB,UAAW,OACX0B,OAAO,EACPhB,aAAa,EACbM,UA3FsB,SAACL,EAAOG,EAAOF,GACvC,IACI6Q,GADU9Q,EAAM0Q,OAAS,IACPE,WAAU,SAACC,GAAD,OAAOA,EAAEhF,KAAO5L,EAAQ4L,MACxD1L,EAAMuQ,MAAMI,GAAa7Q,MA0FtBU,YAAa+B,IAAa,CAC3B5B,OAAQ,WACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,UACRzB,UAAW,OACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,iBACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,EACbM,UA/Ge,SAACL,EAAOG,EAAOF,GAChCE,EAAMgQ,YAAa,MAgHhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UA/GgB,SAACL,EAAOG,EAAOF,GACjCE,EAAMgQ,YAAa,EACnBhQ,EAAMiQ,kBAAmB,EACzBjQ,EAAM4Q,YAAc,OA8GjBpQ,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,OACX0B,OAAO,EACPhB,aAAa,EACbM,UArJsB,SAACL,EAAOG,EAAOF,GACvC,IAAMyQ,EAAQ1Q,EAAM0Q,OAAS,GAC7BvQ,EAAMuQ,MAAQA,EAAMD,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,IAAM5L,EAAQ4L,MAClD1L,EAAMiQ,kBAAmB,Q,kHChCrB5O,EAAY,eACbpC,YACD,WAAY,CAAEmB,cAAUG,GACxB,KAYS6P,EAAUC,YAAchP,EAAD,YAAC,2BAEhCb,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,WACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,UACX0B,OAAO,EACPhB,aAAa,EACbM,UArByB,SAACL,EAAOG,EAAOF,GAC1C,IACI+Q,GADahR,EAAMyL,UAAY,IACPmF,WAAU,SAACC,GAAD,OAAOA,EAAEhF,KAAO5L,EAAQ4L,MAC9D1L,EAAMsL,SAASuF,GAAgB/Q,MAoB5BU,YAAa+B,IAAa,CAC3B5B,OAAQ,kBACRzB,UAAW,WACX0B,OAAO,EACPhB,aAAa,O,yHCnCXyB,EAAY,eACbpC,YAAa,SAAU,CAAEmB,cAAUG,GAAa,KAqDxC6P,EAAUC,YAAchP,EAAD,YAAC,2HAEhCb,YAAa+B,IAAa,CAC3B5B,OAAQ,eACRzB,UAAW,SACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,iBACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,WACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,EACbM,UA7DwB,SAACL,EAAOG,EAAOF,GACzC,IAAMgR,EAASjR,EAAMiR,QAAU,GAC/B9Q,EAAM8Q,OAAN,sBAAmBA,GAAnB,CAA2BhR,IAC3BE,EAAMgQ,YAAa,MA4DhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,YACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,EACbM,UA3EuB,SAACL,EAAOG,EAAOF,GACxC,IACIiR,GADWlR,EAAMiR,QAAU,IACPL,WAAU,SAACC,GAAD,OAAOA,EAAEhF,KAAO5L,EAAQ4L,MAC1D1L,EAAM8Q,OAAOC,GAAcjR,EAC3BE,EAAMgQ,YAAa,MAyEhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,EACbM,UArEuB,SAACL,EAAOG,EAAOF,GACxC,IAAMgR,EAASjR,EAAMiR,QAAU,GAC/B9Q,EAAM8Q,OAASA,EAAOR,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,IAAM5L,EAAQ4L,MACpD1L,EAAMiQ,kBAAmB,MAsEtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,eACX0B,OAAO,EACPhB,aAAa,EACbM,UAvE6B,SAACL,EAAOG,EAAOF,GAC9CE,EAAMgR,MAAMC,SAAZ,CAAwBnR,GAAxB,mBAAoCD,EAAMmR,MAAMC,eAwE7CzQ,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,eACX0B,OAAO,EACPhB,aAAa,EACbM,UA1E8B,SAACL,EAAOG,EAAOF,GAE/C,IACIoR,GADarR,EAAMmR,MAAMC,UAAY,IACbR,WAAU,SAACU,GAAD,OAAOA,EAAEzF,KAAO5L,EAAQ4L,MAC9D1L,EAAMgR,MAAMC,SAASC,GAAgBpR,MAwElCU,YAAa+B,IAAa,CAC3B5B,OAAQ,gBACRzB,UAAW,eACX0B,OAAO,EACPhB,aAAa,EACbM,UA1E+B,SAACL,EAAOG,EAAOF,GAChD,IACIsR,GADavR,EAAMmR,MAAMC,UAAY,IACbR,WAAU,SAACU,GAAD,OAAOA,EAAEzF,KAAO5L,EAAQ4L,MAC9D1L,EAAMgR,MAAMC,SAASI,OAAOD,EAAc,OA0EvC5Q,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,EACbM,UAzEqB,SAACL,EAAOG,EAAOF,GACtCE,EAAMiQ,kBAAmB,MA2EtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,EACbM,UApFe,SAACL,EAAOG,EAAOF,GAChCE,EAAMgQ,YAAa,MAqFhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UArFgB,SAACL,EAAOG,EAAOF,GACjCE,EAAMgQ,YAAa,EACnBhQ,EAAMiQ,kBAAmB,EACzBjQ,EAAMsR,aAAe,S,kHCnDjBjQ,EAAY,eACbpC,YAAa,WAAY,CAAEmB,cAAUG,GAAa,KAoB1C6P,EAAUC,YAAchP,EAAD,YAAC,+GAChCb,YAAa+B,IAAa,CAC3B5B,OAAQ,iBACRzB,UAAW,WACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,UACX0B,OAAO,EACPhB,aAAa,KAGZY,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,UACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,UACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,gBACRzB,UAAW,UACX0B,OAAO,EACPhB,aAAa,EACbM,UAhDyB,SAACL,EAAOG,EAAOF,GAC1C,IAAMmR,EAAWpR,EAAMoR,UAAY,GACnCjR,EAAMiR,SAAWA,EAASX,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,IAAM5L,EAAQ4L,MACxD1L,EAAMiQ,kBAAmB,MA+CtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,0BACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,EACbM,UAlDiC,SAACL,EAAOG,EAAOF,GAElDE,EAAMuR,QAAQC,WAAa3R,EAAM0R,QAAQC,WAAWlB,QAAO,SAAC5Q,GAAD,OAAOA,EAAE+R,QAAU3R,EAAQ4R,YAkDnFlR,YAAa+B,IAAa,CAC3B5B,OAAQ,wBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,UACX0B,OAAO,EACPhB,aAAa,KAGZY,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,EACbM,UAlEqB,SAACL,EAAOG,EAAOF,GACtCE,EAAMiQ,kBAAmB,MAoEtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UAvEgB,SAACL,EAAOG,EAAOF,GACjCE,EAAMgQ,YAAa,EACnBhQ,EAAMiQ,kBAAmB,Q,mHClBrB5O,EAAY,eACbpC,YACD,UACA,CAAEmB,cAAUG,GACZ,CACEoR,cAAe,GACfC,SAAU,MAKHxB,EAAUC,YAAchP,EAAD,YAAC,eAChCb,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,gBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,WACX0B,OAAO,EACPhB,aAAa,O,yHCtBXyB,EAAY,2BACbpC,YAAa,eAAgB,CAAEmB,cAAUG,GAAa,KACtDtB,YACD,cACA,CAAEmB,cAAUG,GACZ,CACE0Q,SAAU,MAwCHb,EAAUC,YAAchP,EAAD,YAAC,uFAChCb,YAAa+B,IAAa,CAC3B5B,OAAQ,qBACRzB,UAAW,eACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,uBACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,KAGZY,YAAa+B,IAAa,CAC3B5B,OAAQ,iBACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UA/C8B,SAACL,EAAOG,EAAOF,GAE/C,IAAM+R,EAAehS,EAAMgS,cAAgB,GAC3C7R,EAAM6R,aAAN,sBAAyBA,GAAzB,CAAuC/R,IAEvCE,EAAMgQ,YAAa,MA4ChBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,kBACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UA5D6B,SAACL,EAAOG,EAAOF,GAC9C,IACIgS,GADiBjS,EAAMgS,cAAgB,IACPpB,WAAU,SAACC,GAAD,OAAOA,EAAEhF,KAAO5L,EAAQ4L,MACtE1L,EAAM6R,aAAaC,GAAoBhS,MA2DpCU,YAAa+B,IAAa,CAC3B5B,OAAQ,oBACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UA1C6B,SAACL,EAAOG,EAAOF,GAE9C,IAAMiS,EAAelS,EAAMkS,cAAgB,GAC3C/R,EAAM+R,aAAeA,EAAazB,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,IAAM5L,EAAQ4L,MAChE1L,EAAMiQ,kBAAmB,MAwCtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,EACbM,UA1DqB,SAACL,EAAOG,EAAOF,GACtCE,EAAMiQ,kBAAmB,MA4DtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,EACbM,UArEe,SAACL,EAAOG,EAAOF,GAChCE,EAAMgQ,YAAa,MAsEhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UAtEgB,SAACL,EAAOG,EAAOF,GACjCE,EAAMgQ,YAAa,EACnBhQ,EAAMiQ,kBAAmB,EACzBjQ,EAAMsR,aAAe,S,yHClCjBjQ,EAAY,mDACbpC,YAAa,SAAU,CAAEmB,cAAUG,GAAa,KAChDtB,YACD,QACA,CAAEmB,cAAUG,GACZ,CACE0Q,SAAU,MAGXhS,YAAa,eAAgB,CAAEmB,cAAUG,GAAa,KACtDtB,YAAa,cAAe,CAAEmB,cAAUG,GAAa,KAoD7C6P,EAAUC,YAAchP,EAAD,YAAC,2HAChCb,YAAa+B,IAAa,CAC3B5B,OAAQ,eACRzB,UAAW,SACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,WACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,EACbM,UAtDwB,SAACL,EAAOG,EAAOF,GAEzC,IAAMkS,EAASnS,EAAMmS,QAAU,GAC/BhS,EAAMgS,OAAN,sBAAmBA,GAAnB,CAA2BlS,IAC3BE,EAAMgQ,YAAa,MAoDhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,YACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,EACbM,UApEuB,SAACL,EAAOG,EAAOF,GACxC,IACImS,GADWpS,EAAMmS,QAAU,IACPvB,WAAU,SAACC,GAAD,OAAOA,EAAEhF,KAAO5L,EAAQ4L,MAC1D1L,EAAMgS,OAAOC,GAAcnS,EAC3BE,EAAMgQ,YAAa,MAkEhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,EACbM,UAlDuB,SAACL,EAAOG,EAAOF,GACxC,IAAMkS,EAASnS,EAAMmS,QAAU,GAC/BhS,EAAMgS,OAASA,EAAO1B,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,IAAM5L,EAAQ4L,MACpD1L,EAAMiQ,kBAAmB,MAkDtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,qBACRzB,UAAW,eACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,iBACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UAnD8B,SAACL,EAAOG,EAAOF,GAE/C,IAAMoS,EAAerS,EAAMqS,cAAgB,GAC3ClS,EAAMkS,aAAN,sBAAyBA,GAAzB,CAAuCpS,IACvCE,EAAMgQ,YAAa,MAiDhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,kBACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UAjE6B,SAACL,EAAOG,EAAOF,GAC9C,IACImS,GADiBpS,EAAMqS,cAAgB,IACbzB,WAAU,SAACC,GAAD,OAAOA,EAAEhF,KAAO5L,EAAQ4L,MAChE1L,EAAMkS,aAAaD,GAAcnS,EACjCE,EAAMgQ,YAAa,MA+DhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,oBACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UA3D6B,SAACL,EAAOG,EAAOF,GAC9C,IAAMoS,EAAerS,EAAMqS,cAAgB,GAC3ClS,EAAMkS,aAAeA,EAAa5B,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,IAAM5L,EAAQ4L,MAChE1L,EAAMiQ,kBAAmB,MA0DtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,EACbM,UA9FqB,SAACL,EAAOG,EAAOF,GACtCE,EAAMiQ,kBAAmB,MAgGtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,EACbM,UAzGe,SAACL,EAAOG,EAAOF,GAChCE,EAAMgQ,YAAa,MA0GhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UA1GgB,SAACL,EAAOG,EAAOF,GACjCE,EAAMgQ,YAAa,EACnBhQ,EAAMiQ,kBAAmB,EACzBjQ,EAAMsR,aAAe,S,kHCnCjBjQ,EAAY,eACbpC,YAAa,SAAU,CAAEmB,cAAUG,GAAa,KAkBxC6P,EAAUC,YAAchP,EAAD,YAAC,uFAChCb,YAAa+B,IAAa,CAC3B5B,OAAQ,eACRzB,UAAW,SACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,iBACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,KAGZY,YAAa+B,IAAa,CAC3B5B,OAAQ,WACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,YACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,EACbM,UA9CuB,SAACL,EAAOG,EAAOF,GAExC,IAAMqS,EAAStS,EAAMsS,QAAU,GAC/BnS,EAAMmS,OAASA,EAAO7B,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,IAAM5L,EAAQ4R,KAAKhG,MACzD1L,EAAMiQ,kBAAmB,MA6CtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,WACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,KAGZY,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,EACbM,UAtDqB,SAACL,EAAOG,EAAOF,GACtCE,EAAMiQ,kBAAmB,MAwDtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UA3DgB,SAACL,EAAOG,EAAOF,GACjCE,EAAMgQ,YAAa,EACnBhQ,EAAMiQ,kBAAmB,Q,kHChBrB5O,EAAY,eACbpC,YAAa,UAAW,CAAEmB,cAAUG,GAAa,KAmBzC6P,EAAUC,YAAchP,EAAD,YAAC,mGAChCb,YAAa+B,IAAa,CAC3B5B,OAAQ,gBACRzB,UAAW,UACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,kBACRzB,UAAW,SACX0B,OAAO,EACPhB,aAAa,KAGZY,YAAa+B,IAAa,CAC3B5B,OAAQ,YACRzB,UAAW,SACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,gBACRzB,UAAW,UACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,SACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,eACRzB,UAAW,SACX0B,OAAO,EACPhB,aAAa,EACbM,UArDwB,SAACL,EAAOG,EAAOF,GAEzC,IAAMsS,EAAUvS,EAAMuS,SAAW,GACjCpS,EAAMoS,QAAUA,EAAQ9B,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,IAAM5L,EAAQ4L,MACtD1L,EAAMiQ,kBAAmB,MAmDtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,oBACRzB,UAAW,UACX0B,OAAO,EACPhB,aAAa,KAGZY,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,EACbM,UA5DqB,SAACL,EAAOG,EAAOF,GACtCE,EAAMiQ,kBAAmB,MA8DtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UAjEgB,SAACL,EAAOG,EAAOF,GACjCE,EAAMqS,YAAS9R,EACfP,EAAMgQ,YAAa,EACnBhQ,EAAMiQ,kBAAmB,Q,yHCjBrB5O,EAAY,2BACbpC,YAAa,SAAU,CAAEmB,cAAUG,GAAa,KAChDtB,YAAa,YAAa,CAAEmB,cAAUG,GAAa,KAiD3C6P,EAAUC,YAAchP,EAAD,YAAC,2HAChCb,YAAa+B,IAAa,CAC3B5B,OAAQ,YACRzB,UAAW,SACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,kBACRzB,UAAW,YACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,OACX0B,OAAO,EACPhB,aAAa,EACbM,UAlDuB,SAACL,EAAOG,EAAOF,GACxC,IAAMwS,EAASzS,EAAMyS,QAAU,GAC/BtS,EAAMsS,OAAN,sBAAmBA,GAAnB,CAA2BxS,IAC3BE,EAAMgQ,YAAa,MAiDhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,gBACRzB,UAAW,UACX0B,OAAO,EACPhB,aAAa,EACbM,UApD0B,SAACL,EAAOG,EAAOF,GAC3C,IAAMyS,EAAY1S,EAAM0S,WAAa,GACrCvS,EAAMuS,UAAN,sBAAsBA,GAAtB,CAAiCzS,IACjCE,EAAMgQ,YAAa,MAmDhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,WACRzB,UAAW,OACX0B,OAAO,EACPhB,aAAa,EACbM,UA9EoB,SAACL,EAAOG,EAAOF,GACrC,IAAM0S,EAAQ3S,EAAMyS,OAAO7B,WAAU,SAAAgC,GAAC,OAAIA,EAAE/G,KAAO5L,EAAQ4L,MACvD8G,GAAS,IACXxS,EAAMsS,OAAOE,GAAS1S,GAExBE,EAAMgQ,YAAa,MA2EhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,UACX0B,OAAO,EACPhB,aAAa,EACbM,UA9EuB,SAACL,EAAOG,EAAOF,GACxC,IAAM0S,EAAQ3S,EAAM0S,UAAU9B,WAAU,SAAAgC,GAAC,OAAIA,EAAE/G,KAAO5L,EAAQ4L,MAC1D8G,GAAS,IACXxS,EAAMuS,UAAUC,GAAS1S,GAE3BE,EAAMgQ,YAAa,MA2EhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,OACX0B,OAAO,EACPhB,aAAa,EACbM,UAnEsB,SAACL,EAAOG,EAAOF,GACvC,IAAMwS,EAASzS,EAAMyS,QAAU,GAC/BtS,EAAMsS,OAASA,EAAOhC,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,IAAM5L,EAAQ4L,MACpD1L,EAAMiQ,kBAAmB,MAkEtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,gBACRzB,UAAW,UACX0B,OAAO,EACPhB,aAAa,EACbM,UArEyB,SAACL,EAAOG,EAAOF,GAC1C,IAAMyS,EAAY1S,EAAM0S,WAAa,GACrCvS,EAAMuS,UAAYA,EAAUjC,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,IAAM5L,EAAQ4L,MAC1D1L,EAAMiQ,kBAAmB,MAuEtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,EACbM,UAvEqB,SAACL,EAAOG,EAAOF,GACtCE,EAAMiQ,kBAAmB,MAyEtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,EACbM,UAlFe,SAACL,EAAOG,EAAOF,GAChCE,EAAMgQ,YAAa,MAmFhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UAnFgB,SAACL,EAAOG,EAAOF,GACjCE,EAAMgQ,YAAa,EACnBhQ,EAAMiQ,kBAAmB,Q,yHChDrB5O,EAAY,2BACbpC,YAAa,gBAAiB,CAAEmB,cAAUG,GAAa,KACvDtB,YACD,cACA,CAAEmB,cAAUG,GACZ,CACE0Q,SAAU,MAyCHb,EAAUC,YAAchP,EAAD,YAAC,2EAChCb,YAAa+B,IAAa,CAC3B5B,OAAQ,sBACRzB,UAAW,gBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,iBACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UAvC8B,SAACL,EAAOG,EAAOF,GAE/C,IAAM4S,EAAgB7S,EAAM6S,eAAiB,GAC7C1S,EAAM0S,cAAN,sBAA0BA,GAA1B,CAAyC5S,IACzCE,EAAMgQ,YAAa,MAsChBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,kBACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UAvD6B,SAACL,EAAOG,EAAOF,GAC9C,IACI6S,GADkB9S,EAAM6S,eAAiB,IACRjC,WAAU,SAACC,GAAD,OAAOA,EAAEhF,KAAO5L,EAAQ4L,MACvE1L,EAAM0S,cAAcC,GAAoB7S,EACxCE,EAAMgQ,YAAa,MAqDhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,oBACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UApC6B,SAACL,EAAOG,EAAOF,GAC9C,IAAM4S,EAAgB7S,EAAM6S,eAAiB,GAC7C1S,EAAM0S,cAAgBA,EAAcpC,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,IAAM5L,EAAQ4L,MAClE1L,EAAMiQ,kBAAmB,MAmCtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,EACbM,UApDqB,SAACL,EAAOG,EAAOF,GACtCE,EAAMiQ,kBAAmB,MAsDtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,EACbM,UA/De,SAACL,EAAOG,EAAOF,GAChCE,EAAMgQ,YAAa,MAgEhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UAhEgB,SAACL,EAAOG,EAAOF,GACjCE,EAAMgQ,YAAa,EACnBhQ,EAAMiQ,kBAAmB,EACzBjQ,EAAMsR,aAAe,S,yHCMVlB,EAAUC,YAzCF,GAyCe,YAAC,2EAChC7P,YAAa+B,IAAa,CAC3B5B,OAAQ,kBACRzB,UAAW,YACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,WACX0B,OAAO,EACPhB,aAAa,EACbM,UAxC2B,SAACL,EAAOG,EAAOF,GAE5C,IAAO8S,EAAY/S,EAAM+S,WAAa,GAEtC5S,EAAM4S,UAAN,sBAAqBA,GAArB,CAAgC9S,IAChCE,EAAMgQ,YAAa,MAsChBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,eACRzB,UAAW,WACX0B,OAAO,EACPhB,aAAa,EACbM,UAzD0B,SAACL,EAAOG,EAAOF,GAC3C,IACI+S,GADchT,EAAM+S,WAAY,IACNnC,WAAU,SAACC,GAAD,OAAOA,EAAEhF,KAAO5L,EAAQ4L,MAChEoH,QAAQC,IAAI,QAAQF,GACpB7S,EAAM4S,UAAUC,GAAiB/S,EACjCE,EAAMgQ,YAAa,MAsDhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,iBACRzB,UAAW,WACX0B,OAAO,EACPhB,aAAa,EACbM,UApC0B,SAACL,EAAOG,EAAOF,GAC3C,IAAO8S,EAAY/S,EAAM+S,WAAa,GACtC5S,EAAM4S,UAAYA,EAAUtC,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,IAAM5L,EAAQ4L,MAC1D1L,EAAMiQ,kBAAmB,MAmCtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,EACbM,UApDqB,SAACL,EAAOG,EAAOF,GACtCE,EAAMiQ,kBAAmB,MAsDtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,EACbM,UA/De,SAACL,EAAOG,EAAOF,GAChCE,EAAMgQ,YAAa,MAgEhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UAhEgB,SAACL,EAAOG,EAAOF,GACjCE,EAAMgQ,YAAa,EACnBhQ,EAAMiQ,kBAAmB,EACzBjQ,EAAMsR,aAAe,S,yHC5BjBjQ,EAAY,eACbpC,YACD,YACA,CACEmB,cAAUG,EACVyS,sBAAkBzS,EAClByP,YAAY,EACZC,kBAAkB,GAEpB,GACA,uBACA,CACE7P,cAAUG,EACVyS,sBAAkBzS,EAClByP,YAAY,EACZC,kBAAkB,GAEpB,KAoCSG,EAAUC,YAAchP,EAAD,YAAC,mJAChCb,YAAa+B,IAAa,CAC3B5B,OAAQ,iBACRzB,UAAW,WACX0B,OAAO,EACPhB,aAAa,EACbM,UAhC0B,SAACL,EAAOG,EAAOF,GAC3C,IAAMmT,EAAYpT,EAAMoT,WAAa,GACrCjT,EAAMiT,UAAYA,EAAU3C,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,IAAM5L,EAAQ4L,MAC1D1L,EAAMiQ,kBAAmB,MA+BtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,EACbM,UAtBqB,SAACL,EAAOG,EAAOF,GACtCE,EAAMiQ,kBAAmB,MAwBtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,kBACRzB,UAAW,YACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,eACRzB,UAAW,SACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,oBACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,WACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,WACX0B,OAAO,EACPhB,aAAa,EACbM,UA7E2B,SAACL,EAAOG,EAAOF,GAC5C,IAAMmT,EAAYpT,EAAMoT,WAAa,GACrCjT,EAAMiT,UAAN,sBAAsBA,GAAtB,CAAiCnT,IAEjCE,EAAMgQ,YAAa,MA2EhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,eACRzB,UAAW,WACX0B,OAAO,EACPhB,aAAa,EACbM,UAvE0B,SAACL,EAAOG,EAAOF,GAC3C,IACIoT,GADcrT,EAAMoT,WAAa,IACPxC,WAAU,SAACC,GAAD,OAAOA,EAAEhF,KAAO5L,EAAQ4L,MAChE1L,EAAMiT,UAAUC,GAAiBpT,EACjCE,EAAMgQ,YAAa,MAqEhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,iBACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,EACbM,UA7Ee,SAACL,EAAOG,EAAOF,GAChCE,EAAMgQ,YAAa,MA8EhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UA7EgB,SAACL,EAAOG,EAAOF,GACjCE,EAAMgQ,YAAa,EACnBhQ,EAAMiQ,kBAAmB,EACzBjQ,EAAMmT,gBAAkB,OA4ErB3S,YAAa+B,IAAa,CAC3B5B,OAAQ,6BACRzB,UAAW,uBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,wBACRzB,UAAW,YACX0B,OAAO,EACPhB,aAAa,O,yHC1IXyB,EAAY,uCACbpC,YACD,UACA,CACEmB,cAAUG,EACV6S,oBAAgB7S,EAChByP,YAAY,EACZC,kBAAkB,GAEpB,KAEChR,YACD,gBACA,CACEmB,cAAUG,GAEZ,KAhBc,IAmBhB8S,YAAa,IACVpU,YACD,SACA,CACEmB,cAAUG,EACV6S,oBAAgB7S,EAChByP,YAAY,EACZC,kBAAkB,GAEpB,KA8CSG,EAAUC,YAAchP,EAAD,YAAC,mMAChCb,YAAa+B,IAAa,CAC3B5B,OAAQ,wBACRzB,UAAW,SACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,kBACRzB,UAAW,SACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,UACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,gBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,iBACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,uBACRzB,UAAW,oBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,EACbM,UA3EqB,SAACL,EAAOG,EAAOF,GACtCE,EAAMiQ,kBAAmB,MA6EtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,EACbM,UAtFe,SAACL,EAAOG,EAAOF,GAChCE,EAAMgQ,YAAa,MAuFhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UAvFgB,SAACL,EAAOG,EAAOF,GACjCE,EAAMgQ,YAAa,EACnBhQ,EAAMiQ,kBAAmB,EACzBjQ,EAAMsR,aAAe,OAsFlB9Q,YAAa+B,IAAa,CAC3B5B,OAAQ,eACRzB,UAAW,SACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,oBACRzB,UAAW,iBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,SACX0B,OAAO,EACPhB,aAAa,EACbM,UAtHwB,SAACL,EAAOG,EAAOF,GAEzC,IACIwT,GADYzT,EAAM0T,SAAW,IACP9C,WAAU,SAACC,GAAD,OAAOA,EAAEhF,KAAO5L,EAAQ4L,MAC5D1L,EAAMuT,QAAQD,GAAexT,MAoH1BU,YAAa+B,IAAa,CAC3B5B,OAAQ,oBACRzB,UAAW,iBACX0B,OAAO,EACPhB,aAAa,EACbM,UApG6B,SAACL,EAAOG,EAAOF,GAC9CE,EAAMwT,OAAOC,UAAb,sBAA6BzT,EAAMwT,OAAOC,WAA1C,CAAqD3T,QAqGlDU,YAAa+B,IAAa,CAC3B5B,OAAQ,qBACRzB,UAAW,iBACX0B,OAAO,EACPhB,aAAa,EACbM,UAxG8B,SAACL,EAAOG,EAAOF,GAAa,IAAD,IACrD4T,GACC,OAAL1T,QAAK,IAALA,GAAA,UAAAA,EAAOwT,cAAP,mBAAeC,iBAAf,eAA0BhD,WAAU,SAAC/Q,GAAD,OAAOA,EAAEgM,KAAO5L,EAAQ4L,SAAQ,EAClEgI,GAAiB,IAAG1T,EAAMwT,OAAOC,UAAUC,GAAiB5T,OAuG7DU,YAAa+B,IAAa,CAC3B5B,OAAQ,uBACRzB,UAAW,iBACX0B,OAAO,EACPhB,aAAa,EACbM,UAzGgC,SAACL,EAAOG,EAAOF,GAAa,IAAD,IAEvD4T,EAAa,OAAG1T,QAAH,IAAGA,GAAH,UAAGA,EAAOwT,cAAV,iBAAG,EAAeC,iBAAlB,aAAG,EAA0BhD,WAC9C,SAAC/Q,GAAD,OAAOA,EAAEgM,KAAO5L,EAAQ4L,MAE1B1L,EAAMwT,OAAOC,UAAUpC,OAAOqC,EAAe,OAsG1ClT,YAAa+B,IAAa,CAC3B5B,OAAQ,eACRzB,UAAW,SACX0B,OAAO,EACPhB,aAAa,EACbM,UAhIwB,SAACL,EAAOG,EAAOF,GAEzC,IAAMyT,EAAU1T,EAAM0T,SAAW,GACjCvT,EAAMuT,QAAUA,EAAQjD,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,IAAM5L,EAAQ4L,MACtD1L,EAAMiQ,kBAAmB,MA8HtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,YACRzB,UAAW,SACX0B,OAAO,EACPhB,aAAa,O,gCC5LjB,6CAEA,EAA4BmC,YAC1B,CACE+H,kBAAmB,CAAE7H,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACvD+S,cAAe,CAAE1R,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACnDgT,cAAe,CAAE3R,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACnDiT,cAAe,CAAE5R,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACnDkT,iBAAkB,CAAE7R,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACtDmT,eAAgB,CAAE9R,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACpDkD,WAAY,CAAE7B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IACvCmD,iBAAkB,CAAE9B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC7CoD,YAAa,CAAE/B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,KAE1C,CACEwB,OAAQ,sBAbJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAgBFC,EAAcF,EACZC,O,yHCdTjB,EAAY,eACbpC,YACD,cACA,CACEmB,cAAUG,EACVyT,wBAAoBzT,EACpByP,YAAY,EACZC,kBAAkB,GAEpB,KAoCSG,EAAUC,YAAchP,EAAD,YAAC,mGAChCb,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,EACbM,UAhC4B,SAACL,EAAOG,EAAOF,GAC7C,IAAMmU,EAAcpU,EAAMoU,aAAe,GACzCjU,EAAMiU,YAAcA,EAAY3D,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,IAAM5L,EAAQ4L,MAC9D1L,EAAMiQ,kBAAmB,MA+BtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,gBACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,EACbM,UA5BqB,SAACL,EAAOG,EAAOF,GACtCE,EAAMiQ,kBAAmB,MA8BtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,oBACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,gBACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,gBACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,EACbM,UAvE6B,SAACL,EAAOG,EAAOF,GAC9C,IAAMmU,EAAcpU,EAAMoU,aAAe,GACzCjU,EAAMiU,YAAN,sBAAwBA,GAAxB,CAAqCnU,IAErCE,EAAMgQ,YAAa,MAqEhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,iBACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,EACbM,UAjE4B,SAACL,EAAOG,EAAOF,GAC7C,IACIoU,GADgBrU,EAAMoU,aAAe,IACPxD,WAAU,SAACC,GAAD,OAAOA,EAAEhF,KAAO5L,EAAQ4L,MACpE1L,EAAMiU,YAAYC,GAAmBpU,EACrCE,EAAMgQ,YAAa,MA+DhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,EACbM,UAjEe,SAACL,EAAOG,EAAOF,GAChCE,EAAMgQ,YAAa,MAkEhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UAjEgB,SAACL,EAAOG,EAAOF,GACjCE,EAAMgQ,YAAa,EACnBhQ,EAAMiQ,kBAAmB,EACzBjQ,EAAMmU,kBAAoB,S,yHC5CtB9S,EAAY,uCACbpC,YAAa,kBAAmB,CAAEmB,cAAUG,GAAa,KACzDtB,YAAa,iBAAkB,CAAEmB,cAAUG,GAAa,KACxDtB,YAAa,kBAAmB,CAAEmB,cAAUG,GAAa,KAsCjD6P,EAAUC,YAAchP,EAAD,YAAC,+GAGhCb,YAAa+B,IAAa,CAC3B5B,OAAQ,wBACRzB,UAAW,kBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,0BACRzB,UAAW,iBACX0B,OAAO,EACPhB,aAAa,KAKZY,YAAa+B,IAAa,CAC3B5B,OAAQ,wBACRzB,UAAW,kBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,oBACRzB,UAAW,iBACX0B,OAAO,EACPhB,aAAa,EACbM,UAhEwB,SAACL,EAAOG,EAAOF,GACzC,IAAMsU,EAAkBvU,EAAMuU,iBAAmB,GACjDpU,EAAMoU,gBAAN,sBAA4BA,GAA5B,CAA6CtU,IAC7CE,EAAMgQ,YAAa,MA+DhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,qBACRzB,UAAW,iBACX0B,OAAO,EACPhB,aAAa,EACbM,UAjEyB,SAACL,EAAOG,EAAOF,GAE1C,IAAM0S,EAAQ3S,EAAMwU,aACpBrU,EAAMoU,gBAAgB5B,GAAS1S,EAC/BE,EAAMgQ,YAAa,MA+DhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,uBACRzB,UAAW,iBACX0B,OAAO,EACPhB,aAAa,EACbM,UAjE0B,SAACL,EAAOG,EAAOF,GAC3C,IAAM0S,EAAQ3S,EAAMwU,aACpBrU,EAAMoU,gBAAgB/C,OAAOmB,EAAO,GACpCxS,EAAMiQ,kBAAmB,MAkEtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,yBACRzB,UAAW,oBACX0B,OAAO,EACPhB,aAAa,EACbM,UAnE2B,SAACL,EAAOG,EAAOF,GAC5CE,EAAMqU,aAAevU,MAoElBU,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,EACbM,UAvEe,SAACL,EAAOG,EAAOF,GAChCE,EAAMgQ,YAAa,MAyEhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,EACbM,UA5EqB,SAACL,EAAOG,EAAOF,GACtCE,EAAMiQ,kBAAmB,MA8EtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UAjFgB,SAACL,EAAOG,EAAOF,GACjCE,EAAMgQ,YAAa,EACnBhQ,EAAMiQ,kBAAmB,EACzBjQ,EAAMsR,aAAe,S,kHClCVlB,EAAUC,YAJF,CACnBiE,iBAAkB,IAGgB,YAAC,2EAEhC9T,YAAa+B,IAAa,CAC3B5B,OAAQ,iBACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,oBACRzB,UAAW,iBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,WACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,YACRzB,UAAW,SACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,qBACRzB,UAAW,kBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,0BACRzB,UAAW,iBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,sBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,O,yHC9CXyB,EAAY,2BACXpC,YAAa,iBAAkB,CAAEmB,cAAUG,GAAa,KACxDtB,YACC,gBACA,CAAEmB,cAAUG,KA0CP6P,EAAUC,YAAchP,EAAD,YAAC,2EAC9Bb,YAAa+B,IAAa,CACzB5B,OAAQ,oBACRzB,UAAW,iBACX0B,OAAO,EACPhB,aAAa,KAGdY,YAAa+B,IAAa,CACzB5B,OAAQ,mBACRzB,UAAW,gBACX0B,OAAO,EACPhB,aAAa,EACbM,UAzC4B,SAACL,EAAOG,EAAOF,GAE/C,IAAMyU,EAAiB1U,EAAM0U,gBAAkB,GAE/CvU,EAAMuU,eAAN,sBAA2BA,GAA3B,CAA2CzU,IAC3CE,EAAMgQ,YAAa,MAuChBxP,YAAa+B,IAAa,CACzB5B,OAAQ,oBACRzB,UAAW,gBACX0B,OAAO,EACPhB,aAAa,EACbM,UAzD2B,SAACL,EAAOG,EAAOF,GAC9C,IACI0U,GADmB3U,EAAM0U,gBAAkB,IACP9D,WAAU,SAACC,GAAD,OAAOA,EAAEhF,KAAO5L,EAAQ4L,MAC1E1L,EAAMuU,eAAeC,GAAsB1U,EAC3CE,EAAMgQ,YAAa,MAuDhBxP,YAAa+B,IAAa,CACzB5B,OAAQ,sBACRzB,UAAW,gBACX0B,OAAO,EACPhB,aAAa,EACbM,UArC2B,SAACL,EAAOG,EAAOF,GAC9C,IAAMyU,EAAiB1U,EAAM0U,gBAAkB,GAC/CvU,EAAMuU,eAAiBA,EAAejE,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,IAAM5L,EAAQ4L,MACpE1L,EAAMiQ,kBAAmB,MAoCtBzP,YAAa+B,IAAa,CACzB5B,OAAQ,mBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,EACbM,UArDiB,SAACL,EAAOG,EAAOF,GACpCE,EAAMiQ,kBAAmB,MAuDtBzP,YAAa+B,IAAa,CACzB5B,OAAQ,aACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,EACbM,UAhEW,SAACL,EAAOG,EAAOF,GAC9BE,EAAMgQ,YAAa,MAiEhBxP,YAAa+B,IAAa,CACzB5B,OAAQ,cACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UAjEY,SAACL,EAAOG,EAAOF,GAC/BE,EAAMgQ,YAAa,EACnBhQ,EAAMiQ,kBAAmB,EACzBjQ,EAAMsR,aAAe,S,kHC3BZlB,EAAUC,YAPF,CACnBoE,cAAe,GACfC,iBAAkB,GAClBC,aAAc,GACdC,eAAe,IAGmB,YAAC,uCAChCpU,YAAa+B,IAAa,CAC3B5B,OAAQ,sBACRzB,UAAW,gBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,sBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,oBACRzB,UAAW,iBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,wBACRzB,UAAW,eACX0B,OAAO,EACPhB,aAAa,O,yHC5BXyB,EAAY,2BACbpC,YAAa,cAAe,CAAEmB,cAAUG,GAAa,KACrDtB,YAAa,aAAc,CAAEmB,cAAUG,GAAa,KAgC5C6P,EAAUC,YAAchP,EAAD,YAAC,uFAChCb,YAAa+B,IAAa,CAC1B5B,OAAQ,oBACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,KAEbY,YAAa+B,IAAa,CAC1B5B,OAAQ,sBACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,KAEbY,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,aACX0B,OAAO,EACPhB,cAAa,GAAMiV,QACnB3U,UAzC6B,SAACL,EAAOG,EAAOF,GAC9C,IAAMgV,EAAcjV,EAAMiV,aAAe,GACzC9U,EAAM8U,YAAN,sBAAwBA,GAAxB,CAAqChV,IACrCE,EAAMgQ,YAAa,MAwChBxP,YAAa+B,IAAa,CAC1B5B,OAAQ,mBACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,EACbM,UAvD2B,SAACL,EAAOG,EAAOF,GAC7C,IACIiV,GADgBlV,EAAMiV,aAAe,IACPrE,WAAU,SAACC,GAAD,OAAOA,EAAEhF,KAAO5L,EAAQ4L,MACpE1L,EAAM8U,YAAYC,GAAmBjV,EACrCE,EAAMgQ,YAAa,MAqDhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,EACbM,UAjD4B,SAACL,EAAOG,EAAOF,GAC7C,IAAMgV,EAAcjV,EAAMiV,aAAe,GACzC9U,EAAM8U,YAAcA,EAAYxE,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,IAAM5L,EAAQ4L,MAC9D1L,EAAMiQ,kBAAmB,MAiDtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,EACbM,UAjDqB,SAACL,EAAOG,EAAOF,GACtCE,EAAMiQ,kBAAmB,MAmDtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,EACbM,UA5De,SAACL,EAAOG,EAAOF,GAChCE,EAAMgQ,YAAa,MA6DhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UA7DgB,SAACL,EAAOG,EAAOF,GACjCE,EAAMgQ,YAAa,EACnBhQ,EAAMiQ,kBAAmB,EACzBjQ,EAAMgV,kBAAoB,S,yHC/BtB3T,EAAY,2BACbpC,YAAa,WAAY,CAAEmB,cAAUG,GAAa,KAClDtB,YAAa,UAAW,CAAEmB,cAAUG,GAAa,KAgCzC6P,EAAUC,YAAchP,EAAD,YAAC,uFAChCb,YAAa+B,IAAa,CAC1B5B,OAAQ,iBACRzB,UAAW,WACX0B,OAAO,EACPhB,aAAa,KAEbY,YAAa+B,IAAa,CAC1B5B,OAAQ,mBACRzB,UAAW,UACX0B,OAAO,EACPhB,aAAa,KAEbY,YAAa+B,IAAa,CAC3B5B,OAAQ,gBACRzB,UAAW,UACX0B,OAAO,EACPhB,aAAa,EACbM,UAzC0B,SAACL,EAAOG,EAAOF,GAC3C,IAAMmV,EAAWpV,EAAMoV,UAAY,GACnCjV,EAAMiV,SAAN,sBAAqBA,GAArB,CAA+BnV,IAC/BE,EAAMgQ,YAAa,MAwChBxP,YAAa+B,IAAa,CAC1B5B,OAAQ,gBACRzB,UAAW,UACX0B,OAAO,EACPhB,aAAa,EACbM,UAvDwB,SAACL,EAAOG,EAAOF,GAC1C,IACIoV,GADarV,EAAMoV,UAAY,IACPxE,WAAU,SAACC,GAAD,OAAOA,EAAEhF,KAAO5L,EAAQ4L,MAC9D1L,EAAMiV,SAASC,GAAgBpV,EAC/BE,EAAMgQ,YAAa,MAqDhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,gBACRzB,UAAW,UACX0B,OAAO,EACPhB,aAAa,EACbM,UAjDyB,SAACL,EAAOG,EAAOF,GAC1C,IAAMmV,EAAWpV,EAAMoV,UAAY,GACnCjV,EAAMiV,SAAWA,EAAS3E,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,IAAM5L,EAAQ4L,MACxD1L,EAAMiQ,kBAAmB,MAgDtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,EACbM,UAhDqB,SAACL,EAAOG,EAAOF,GACtCE,EAAMiQ,kBAAmB,MAkDtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,EACbM,UA3De,SAACL,EAAOG,EAAOF,GAChCE,EAAMgQ,YAAa,MA4DhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UA5DgB,SAACL,EAAOG,EAAOF,GACjCE,EAAMgQ,YAAa,EACnBhQ,EAAMiQ,kBAAmB,EACzBjQ,EAAMmV,eAAiB,S,iICjCnB9T,EAAY,2BACbpC,YAAa,SAAU,CAAEmB,cAAUG,GAAa,KAChDtB,YAAa,QAAS,CAAEmB,cAAUG,GAAa,KAyGvC6P,EAAUC,YAAchP,EAAD,YAAC,+SAChCb,YAAa+B,IAAa,CAC3B5B,OAAQ,eACRzB,UAAW,SACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,iBACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,EACbM,UAnHuB,SAACL,EAAOG,EAAOF,GACxC,IAAMsV,EAASvV,EAAMuV,QAAU,GAC/BpV,EAAMoV,OAAN,sBAAmBA,GAAnB,CAA2BtV,IAC3BE,EAAMgQ,YAAa,MAkHhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,EACbM,UAhIuB,SAACL,EAAOG,EAAOF,GACxC,IACIuV,GADWxV,EAAMuV,QAAU,IACP3E,WAAU,SAACC,GAAD,OAAOA,EAAEhF,KAAO5L,EAAQ4L,MAC1D1L,EAAMoV,OAAOC,GAAcvV,EAC3BE,EAAMgQ,YAAa,MA8HhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,EACbM,UA5HuB,SAACL,EAAOG,EAAOF,GACxC,IAAMsV,EAASvV,EAAMuV,QAAU,GAC/BpV,EAAMoV,OAASA,EAAO9E,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,IAAM5L,EAAQ4L,MACpD1L,EAAMiQ,kBAAmB,MA2HtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,kBACRzB,UAAW,eACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,oBACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,qBACRzB,UAAW,oBACX0B,OAAO,EACPhB,aAAa,KAGZY,YAAa+B,IAAa,CAC3B5B,OAAQ,uBACRzB,UAAW,oBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,sBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,oBACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UAhJ0B,SAACL,EAAOG,EAAOF,GAAa,IAAD,EAEjDwV,EAAmBzV,EAAMyV,kBAAoB,GACnDtV,EAAMsV,iBAAN,sBAA6BA,GAA7B,QAA+CxV,QAA/C,IAA+CA,OAA/C,EAA+CA,EAAS4R,OACxD1R,EAAMuV,kBAAN,OAA0B1V,QAA1B,IAA0BA,GAA1B,UAA0BA,EAAO0V,yBAAjC,aAA0B,EAA0BjF,QAClD,SAAC5Q,GAAD,aAAOA,EAAEgM,KAAF,OAAQ5L,QAAR,IAAQA,GAAR,UAAQA,EAAS4R,YAAjB,aAAQ,EAAehG,OAEhC1L,EAAMgQ,YAAa,MA2IhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,qBACRzB,UAAW,sBACX0B,OAAO,EACPhB,aAAa,EACbM,UAhGsB,SAACL,EAAOG,EAAOF,GAEvC,IAAMyV,EAAoB1V,EAAM0V,mBAAqB,GACrDvV,EAAMuV,kBAAoBA,EAAkBjF,QAC1C,SAAC5Q,GAAD,QAAO,OAACI,QAAD,IAACA,OAAD,EAACA,EAAS4R,KAAK8D,SAAS9V,EAAEgM,QAGnC1L,EAAMgQ,YAAa,MA4FhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,oBACRzB,UAAW,qBACX0B,OAAO,EACPhB,aAAa,EACbM,UA5IwB,SAACL,EAAOG,EAAOF,GAEzC,IAAMwV,EAAmBzV,EAAMyV,kBAAoB,GACnDtV,EAAMsV,iBAAmBA,EAAiBhF,QACxC,SAAC5Q,GAAD,aAAOA,EAAEgM,KAAF,OAAQ5L,QAAR,IAAQA,GAAR,UAAQA,EAAS4R,YAAjB,aAAQ,EAAehG,OAEhC1L,EAAMuV,kBAAN,6BAA8B1V,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAO0V,mBAArC,QAAwDzV,QAAxD,IAAwDA,OAAxD,EAAwDA,EAAS4R,OACjE1R,EAAMiQ,kBAAmB,MAwItBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,qBACRzB,UAAW,sBACX0B,OAAO,EACPhB,aAAa,EACbM,UAnIsB,SAACL,EAAOG,EAAOF,GAEvC,IAAMwV,EAAmBzV,EAAMyV,kBAAoB,GACnDtV,EAAMsV,iBAAmBA,EAAiBhF,QACxC,SAAC5Q,GAAD,QAAO,OAACI,QAAD,IAACA,OAAD,EAACA,EAAS4R,KAAK8D,SAAS9V,EAAEgM,QAGnC1L,EAAMgQ,YAAa,MA+HhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,qBACRzB,UAAW,uBACX0B,OAAO,EACPhB,aAAa,KAGZY,YAAa+B,IAAa,CAC3B5B,OAAQ,wBACRzB,UAAW,gBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,yBACRzB,UAAW,sBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,uBACRzB,UAAW,iBACX0B,OAAO,EACPhB,aAAa,EACbM,UAxL4B,SAACL,EAAOG,EAAOF,GAAa,IAAD,EACnD2V,EAAgB5V,EAAM4V,eAAiB,GAC7CzV,EAAMyV,cAAN,sBAA0BA,GAA1B,QAAyC3V,QAAzC,IAAyCA,OAAzC,EAAyCA,EAAS4R,OAClD1R,EAAM0V,oBAAN,OAA4B7V,QAA5B,IAA4BA,GAA5B,UAA4BA,EAAO6V,2BAAnC,aAA4B,EAA4BpF,QACtD,SAAC5Q,GAAD,aAAOA,EAAEgM,KAAF,OAAQ5L,QAAR,IAAQA,GAAR,UAAQA,EAAS4R,YAAjB,aAAQ,EAAehG,OAEhC1L,EAAMgQ,YAAa,MAoLhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,sBACRzB,UAAW,gBACX0B,OAAO,EACPhB,aAAa,EACbM,UAxI8B,SAACL,EAAOG,EAAOF,GAC/C,IAAM4V,EAAsB7V,EAAM6V,qBAAuB,GACzD1V,EAAM0V,oBAAsBA,EAAoBpF,QAC9C,SAAC5Q,GAAD,QAAO,OAACI,QAAD,IAACA,OAAD,EAACA,EAAS4R,KAAK8D,SAAS9V,EAAEgM,QAGnC1L,EAAMgQ,YAAa,MAqIhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,uBACRzB,UAAW,kBACX0B,OAAO,EACPhB,aAAa,EACbM,UApL0B,SAACL,EAAOG,EAAOF,GAC3C,IAAM2V,EAAgB5V,EAAM4V,eAAiB,GAC7CzV,EAAMyV,cAAgBA,EAAcnF,QAAO,SAAC5Q,GAAD,aAAOA,EAAEgM,KAAF,OAAQ5L,QAAR,IAAQA,GAAR,UAAQA,EAAS4R,YAAjB,aAAQ,EAAehG,OACzE1L,EAAM0V,oBAAN,6BAAgC7V,QAAhC,IAAgCA,OAAhC,EAAgCA,EAAO6V,qBAAvC,QAA4D5V,QAA5D,IAA4DA,OAA5D,EAA4DA,EAAS4R,OACrE1R,EAAMiQ,kBAAmB,MAmLtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,sBACRzB,UAAW,iBACX0B,OAAO,EACPhB,aAAa,EACbM,UA3K8B,SAACL,EAAOG,EAAOF,GAC/C,IAAM2V,EAAgB5V,EAAM4V,eAAiB,GAC7CzV,EAAMyV,cAAgBA,EAAcnF,QAClC,SAAC5Q,GAAD,QAAO,OAACI,QAAD,IAACA,OAAD,EAACA,EAAS4R,KAAK8D,SAAS9V,EAAEgM,QAGnC1L,EAAMgQ,YAAa,MAwKhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,uBACRzB,UAAW,sBACX0B,OAAO,EACPhB,aAAa,KAGZY,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UA9OgB,SAACL,EAAOG,EAAOF,GACjCE,EAAMgQ,YAAa,EACnBhQ,EAAMiQ,kBAAmB,EACzBjQ,EAAMsR,aAAe,OA6OlB9Q,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,EACbM,UA3Pe,SAACL,EAAOG,EAAOF,GAChCE,EAAMgQ,YAAa,MA4PhBxP,YAAa+B,IAAD,aACb5B,OAAQ,mBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,EACbM,UA/PqB,SAACL,EAAOG,EAAOF,GACtCE,EAAMiQ,kBAAmB,IAyPV,eAMA,KAEZzP,YAAa+B,IAAa,CAC3B5B,OAAQ,WACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,O,yHC7RXyB,EAAY,2BACbpC,YAAa,QAAS,CAAEmB,cAAUG,GAAa,KAC/CtB,YAAa,UAAW,CAAEmB,cAAUG,GAAa,KAiEzC6P,EAAUC,YAAchP,EAAD,YAAC,2NAChCb,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,KAGZY,YAAa+B,IAAa,CAC3B5B,OAAQ,gBACRzB,UAAW,OACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,OACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,OACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,OACX0B,OAAO,EACPhB,aAAa,EACbM,UA/EsB,SAACL,EAAOG,EAAOF,GACvC,IAAM6V,EAAQ9V,EAAM8V,OAAS,GAC7B3V,EAAM2V,MAAQA,EAAMrF,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,KAAF,OAAQ5L,QAAR,IAAQA,OAAR,EAAQA,EAAS4L,OACnD1L,EAAMiQ,kBAAmB,MA+EtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,UACRzB,UAAW,OACX0B,OAAO,EACPhB,aAAa,EACbM,UA3EY,SAACL,EAAOG,EAAOF,GAC7B,IAAQ8V,EAAgB9V,EAAhB8V,KAAMpM,EAAU1J,EAAV0J,MACdxJ,EAAM4V,GAAQpM,MA2EXhJ,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,EACbM,UA3EqB,SAACL,EAAOG,EAAOF,GACtCE,EAAMiQ,kBAAmB,MA4EtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,aACX0B,OAAO,EACPhB,aAAa,EACbM,UArFe,SAACL,EAAOG,EAAOF,GAChCE,EAAMgQ,YAAa,MAsFhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UArFgB,SAACL,EAAOG,EAAOF,GACjCE,EAAMgQ,YAAa,EACnBhQ,EAAMiQ,kBAAmB,MAsFtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,gBACRzB,UAAW,UACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,kBACRzB,UAAW,SACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,eACRzB,UAAW,SACX0B,OAAO,EACPhB,aAAa,EACbM,UA7FyB,SAACL,EAAOG,EAAOF,GAC1C,IAAM+V,EAAUhW,EAAMgW,SAAW,GACjC7V,EAAM6V,QAAN,sBAAoBA,GAApB,CAA6B/V,QA6F1BU,YAAa+B,IAAa,CAC3B5B,OAAQ,eACRzB,UAAW,SACX0B,OAAO,EACPhB,aAAa,EACbM,UA3GwB,SAACL,EAAOG,EAAOF,GACzC,IACIgW,GADYjW,EAAMgW,SAAW,IACPpF,WAAU,SAACC,GAAD,OAAOA,EAAEhF,KAAO5L,EAAQ4L,MAC5D1L,EAAM6V,QAAQC,GAAehW,EAC7BE,EAAMgQ,YAAa,MAyGhBxP,YAAa+B,IAAa,CAC3B5B,OAAQ,eACRzB,UAAW,SACX0B,OAAO,EACPhB,aAAa,EACbM,UAtGwB,SAACL,EAAOG,EAAOF,GACzC,IAAM+V,EAAUhW,EAAMgW,SAAW,GACjC7V,EAAM6V,QAAUA,EAAQvF,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,IAAM5L,KAC9CE,EAAMiQ,kBAAmB,MAqGtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,YACRzB,UAAW,SACX0B,OAAO,EACPhB,aAAa,EACbM,UAxGc,SAACL,EAAOG,EAAOF,GAC/BE,EAAM+V,YAASxV,MA0GZC,YAAa+B,IAAa,CAC3B5B,OAAQ,qBACRzB,UAAW,sBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,wBACRzB,UAAW,yBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,2BACRzB,UAAW,qBACX0B,OAAO,EACPhB,aAAa,EACbM,UAvLoC,SAACL,EAAOG,EAAOF,GACrD,IAAMmU,EAAcpU,EAAMmW,qBAAuB,GAC3CC,EAAyBpW,EAAMoW,wBAA0B,GAC/DjW,EAAMgW,oBAAsB/B,EAAY3D,QAAO,SAAC5Q,GAAD,OAAOA,EAAEgM,IAAM5L,EAAQ4L,MACtE1L,EAAMiW,uBAAN,sBAAmCA,GAAnC,CAA0DnW,IAC1DE,EAAMiQ,kBAAmB,MAoLtBzP,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,qBACX0B,OAAO,EACPhB,aAAa,EACbM,UAtL4B,SAACL,EAAOG,EAAOF,GAE7C,IAAMmU,EAAcpU,EAAMmW,qBAAuB,GACjDhW,EAAMgW,oBAAN,sBAAgC/B,GAAhC,CAA6CnU,U,kHCjBzCuB,EAAY,eACbpC,YAAa,mBAAoB,CAAEmB,cAAUG,GAAa,KAGlD6P,EAAUC,YAAchP,EAAD,YAAC,2BAChCb,YAAa+B,IAAa,CAC3B5B,OAAQ,kBACRzB,UAAW,mBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,kBACRzB,UAAW,gBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,uBACRzB,UAAW,qBACX0B,OAAO,EACPhB,aAAa,O,gCCzBjB,6CAEA,EAA4BmC,YAC1B,CACEmU,eAAgB,CAAEjU,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACpDuV,kBAAmB,CAAElU,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACvDwV,YAAa,CAAEnU,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACjDyV,UAAW,CAAEpU,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC/C0V,mBAAoB,CAAErU,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACxD2V,wBAAyB,CAAEtU,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC7D4V,oBAAqB,CAAEvU,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,KAE3D,CACEwB,OAAQ,oBAXJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAcFC,EAAcF,EACZC,O,mHCZTjB,EAAY,eACbpC,YAAa,UAaLmR,EAAUC,YAAchP,EAAD,eAC/Bb,YAAa+B,IAAa,CAAC5B,OAAO,eAAeC,OAAM,EAAMV,UAX7C,SAACL,EAAMG,EAAOF,GACjC,IAAO2W,EAAS3W,EAAT2W,KAAKC,EAAI5W,EAAJ4W,GACR7W,EAAM8W,QACR3W,EAAM2W,MAAM,IAEZ3W,EAAM2W,MAAMF,GAAQC,Q,gCCbxB,6CAEA,EAA4B3U,YAC1B,CACE6U,kBAAmB,CAAE3U,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACvDiW,oBAAqB,CAAE5U,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACzDkW,iBAAkB,CAAE7U,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACtDmW,iBAAkB,CAAE9U,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACtDoW,iBAAkB,CAAE/U,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACtDkD,WAAY,CAAE7B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IACvCmD,iBAAkB,CAAE9B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC7CoD,YAAa,CAAE/B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,KAE1C,CACEwB,OAAQ,qBAZJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAgBFC,EAAcF,EACZC,O,gCCnBf,6CAEA,EAA4BP,YAC1B,CACEkV,eAAgB,CAAEhV,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACpDsW,iBAAkB,CAAEjV,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACtDuW,cAAe,CAAElV,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACnDwW,cAAe,CAAEnV,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACnDyW,cAAe,CAAEpV,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACnDkD,WAAY,CAAE7B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IACvCmD,iBAAkB,CAAE9B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC7CoD,YAAa,CAAE/B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,KAE1C,CACEwB,OAAQ,kBAZJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAgBFC,EAAcF,EACZC,O,gCCpBf,6CAEA,EAA4BP,YAC1B,CACEuV,aAAc,CAAErV,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAClD2W,eAAgB,CAAEtV,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACpD4W,SAAU,CAAEvV,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC9C6W,UAAW,CAAExV,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC/C8W,YAAa,CAAEzV,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAEjD+W,SAAU,CAAE1V,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC9CmD,iBAAkB,CAAE9B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC7CoD,YAAa,CAAE/B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,KAE1C,CACEwB,OAAQ,iBAbJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAgBFC,EAAcF,EACZC,O,gCCnBf,6CAEA,EAA4BP,YAC1B,CACE6V,mBAAoB,CAAE3V,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC/CiX,qBAAsB,CAAE5V,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC1DkX,eAAgB,CAAE7V,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACpDmX,gBAAiB,CAAE9V,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACrDoX,kBAAmB,CAAE/V,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACvDkD,WAAY,CAAE7B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IACvCmD,iBAAkB,CAAE9B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC7CoD,YAAa,CAAE/B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,KAE1C,CACEwB,OAAQ,uBAZJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAeFC,EAAcF,EACZC,O,gCClBf,6CAEA,EAA4BP,YAC1B,CACEkW,gBAAiB,CAAEhW,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACrDsX,kBAAmB,CAAEjW,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACvDuX,YAAa,CAAElW,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACjDwX,aAAc,CAAEnW,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAClDyX,eAAgB,CAAEpW,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACpDkD,WAAY,CAAE7B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IACvCmD,iBAAkB,CAAE9B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC7CoD,YAAa,CAAE/B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,KAE1C,CACEwB,OAAQ,oBAZJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAeFC,EAAcF,EACZC,O,gCClBf,6CAEA,EAA4BP,YACxB,CACIuW,kBAAmB,CAAErW,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACvD2X,uBAAwB,CAAEtW,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IAC5D4X,iBAAkB,CAAEvW,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACtD6X,kBAAmB,CAAExW,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACvD8X,oBAAqB,CAAEzW,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACzDkD,WAAY,CAAE7B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IACvCmD,iBAAkB,CAAE9B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC7CoD,YAAa,CAAE/B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,KAE5C,CACIwB,OAAQ,yBAZRC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAeFC,EAAcF,EACZC,O,kTClBf,IAAI7C,EAAM,CACT,mBAAoB,CACnB,IACA,IAED,mBAAoB,CACnB,IACA,KAGF,SAASkZ,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAErZ,EAAKmZ,GAC9B,OAAOG,QAAQC,UAAUC,MAAK,WAC7B,IAAIC,EAAI,IAAIlY,MAAM,uBAAyB4X,EAAM,KAEjD,MADAM,EAAEtL,KAAO,mBACHsL,KAIR,IAAIC,EAAM1Z,EAAImZ,GAAMlN,EAAKyN,EAAI,GAC7B,OAAON,EAAoBK,EAAEC,EAAI,IAAIF,MAAK,WACzC,OAAOJ,EAAoBO,EAAE1N,EAAI,MAGnCiN,EAAoBpZ,KAAO,WAC1B,OAAOD,OAAOC,KAAKE,IAEpBkZ,EAAoBjN,GAAK,IACzB2N,EAAOC,QAAUX,G,0LCrBXtX,EAAe,CACnBkY,KAAM,KACNC,YAAY,EACZC,MAAO,KACPC,gBAAYnZ,EACZoZ,cAAe,IAmGJC,EAAcvJ,wBAAchP,EAAD,YAAC,2EACpCb,YAAa+B,IAAa,CAC3B5B,OAAQ,QACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,EACbM,UAjGiB,SAACL,EAAOG,EAAOF,GAElC,IAAMyZ,EAAOM,YAAW/Z,EAAQ4R,KAAK+H,OACrCzZ,EAAMuZ,KAAOA,EACbvZ,EAAMwZ,YAAa,EACnBxZ,EAAM8Z,cAAe,EACPC,KAAKC,MAAL,OAAWT,QAAX,IAAWA,OAAX,EAAWA,EAAMU,MACRC,MAAK,SAAAzH,GAAC,MAAwB,aAApBA,EAAE0H,iBACnC9M,aAAa+M,QAAQ,WAAYL,KAAKM,UAAUd,IAChDlM,aAAa+M,QAAQ,WAAYta,EAAQ4R,KAAK+H,OAC9CpM,aAAa+M,QAAQ,eAAgBta,EAAQ4R,KAAK4I,kBAyF/C9Z,YAAa+B,IAAa,CAC3B5B,OAAQ,cACRzB,UAAW,cACX0B,OAAO,EACPhB,aAAa,EACbM,UArFuB,SAACL,EAAOG,EAAOF,GACxC,IAAMyZ,EAAOM,YAAW/Z,GACxB,IAAoB,IAAhByZ,EAAKgB,OAKP,OAJAlN,aAAamN,WAAW,YACxBnN,aAAamN,WAAW,YACxBxa,EAAMuZ,UAAOhZ,OACbP,EAAMwZ,YAAa,GAGrBxZ,EAAMuZ,KAAOA,EACbvZ,EAAM8Z,cAAe,EACrBzM,aAAa+M,QAAQ,WAAYL,KAAKM,UAAUd,IAChDlM,aAAa+M,QAAQ,WAAYta,OA2E9BU,YAAa+B,IAAa,CAC3B5B,OAAQ,gBACRzB,UAAW,gBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,iBACRzB,UAAW,iBACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,sBACRzB,UAAW,sBACXgB,UAnCyB,SAACL,EAAOG,EAAOF,GAC1CE,EAAMya,sBAAwB,SAoC3Bja,YAAa+B,IAAa,CAC3B5B,OAAQ,kBACRC,OAAO,EACPhB,aAAa,EACbM,UA9F2B,SAACL,EAAOG,EAAOF,GAC5CE,EAAMuZ,KAAN,2BAAevZ,EAAMuZ,MAArB,IAA0BmB,MAAM5a,QAyDM,uBAyCrCyC,IAAYoY,QA/FA,SAAC9a,EAAD,GAAwB,EAAdC,QACvB,OAAOC,YAAQF,GAAO,SAAAG,GACpBqN,aAAamN,WAAW,YACxBnN,aAAamN,WAAW,YACxBxa,EAAMuZ,UAAOhZ,EACbP,EAAMwZ,YAAa,QAiDiB,cA0CrCjX,IAAYqY,mBAvFU,SAAA/a,GACvB,OAAOE,YAAQF,GAAO,SAAAG,GACpBA,EAAM8Z,cAAe,QA2Ce,cA2CrCvX,IAAYsY,2BAnFiB,SAAChb,EAAD,GAAyB,IAAfC,EAAc,EAAdA,QACxC,OAAOC,YAAQF,GAAO,SAAAG,GACpBA,EAAM2Z,cAAgB7Z,EAAQ4R,KAC9B1R,EAAM8Z,cAAe,QAqCe,cA4CrCvX,IAAYuY,wBA7Ec,SAACjb,EAAD,GAAyB,IAAfC,EAAc,EAAdA,QACrC,OAAOC,YAAQF,GAAO,SAAAG,GACpBA,EAAM8Z,cAAe,EACrB9Z,EAAM0Z,WAAa5Z,EAAQib,cA8BS,cA6CrCxY,IAAYyY,kBAxES,SAACnb,EAAD,GAAwB,IAAdob,EAAa,EAAbA,OAChC,OAAOlb,YAAQF,GAAO,SAAAG,GACpBA,EAAM8Z,cAAe,EACrB9Z,EAAM2Z,cAAN,CAAuBsB,GAAvB,mBAAkCpb,EAAM8Z,sBAwBJ,cA8CrCpX,IAAY2Y,mBAnEU,SAACrb,EAAD,GAAuB,EAAbob,OACjC,OAAOlb,YAAQF,GAAO,SAAAG,UAoBgB,cA+CrCuC,IAAY4Y,2BAhEiB,SAACtb,EAAD,GAAyB,IAAfC,EAAc,EAAdA,QACxC,OAAOC,YAAQF,GAAO,SAAAG,GACpBA,EAAM2Z,cAAcyB,SAAQ,SAAA1b,GACtBA,EAAE2b,WAAavb,EAAQ4R,KAAK4J,iBAC9B5b,EAAE6b,MAAO,YAauB,cAgDrChZ,IAAYiZ,wBAzDgB,SAAC3b,EAAD,GAAuB,EAAbob,OACvC,OAAOlb,YAAQF,GAAO,SAAAG,UAQgB,K,wBC/FlCqB,EAAe,CACnBoa,MAAOzP,IAAY0P,OAAOD,MAC1BE,cAT2B,WAC3B,IAAM/F,EAAOxN,OAAOiF,aAAaC,QAAQ,iBAEzC,OAAOsI,EAAOmE,KAAKC,MAAMpE,GAAQ5J,IAAY0P,OAAOE,KAAKC,YAM1CC,GACfC,WAAY/P,IAAY0P,OAAOE,KAAKI,SACpCC,aAAcjQ,IAAY0P,OAAOO,aACjCC,KAAM,MACNC,QAAS,MACTC,IAAK,IA0EQC,EA7DOhM,wBAAchP,EAAD,YAAC,+DAC/Bb,YAAa+B,IAAa,CAC3B5B,OAAQ,YACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,EACbM,UAhBW,SAACL,EAAOG,EAAOF,GAC5BE,EAAMyb,MAAQ3b,MAiBXU,YAAa+B,IAAa,CAC3B5B,OAAQ,mBACRzB,UAAW,QACX0B,OAAO,EACPhB,aAAa,EACbM,UApBkB,SAACL,EAAOG,EAAOF,GACnCE,EAAM+b,WAAajc,MAqBhBU,YAAa+B,IAAa,CAC3B5B,OAAQ,UACRzB,UAAW,OACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,aACRzB,UAAW,UACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,SACRzB,UAAW,MACX0B,OAAO,EACPhB,aAAa,KAEZY,YAAa+B,IAAa,CAC3B5B,OAAQ,sBACRzB,UAAW,gBACX0B,OAAO,EACPhB,aAAa,EACbM,UA1CqB,SAACL,EAAOG,EAAOF,GACtCE,EAAM2b,cAAgB7b,OChClBuB,EAAe,CACnBib,YAAa,GACbC,UAAW,GACXC,MAAO,IAmCMC,EAhCO,WAAmC,IAAlC5c,EAAiC,uDAAzBwB,EAAcV,EAAW,uCACtD,OAAQA,EAAOkB,MACb,IAAK,sBACH,OAAO,2BAAKhC,GAAZ,IAAmB2c,MAAO7b,EAAO+b,MACnC,IAAK,gBACH,OAAO,2BAAK7c,GAAZ,IAAmByc,YAAa3b,EAAO+Q,KAAM6K,UAAW5b,EAAO4b,YACjE,IAAK,oBACH,IAAII,EAGJ9c,EAAMyc,YAAY7O,MAAK,SAAAmI,GACjBA,EAAKlK,KAAO/K,EAAO+K,KACrBkK,EAAKgH,cAAgBhH,EAAKgH,aAC1BD,EAAiB/G,MAKrB,IAAMiH,EAAgBhd,EAAM0c,UAAU9L,WAAU,SAAAqM,GAAC,OAAIA,EAAEpR,KAAO/K,EAAO+K,MAQrE,OANuB,IAAnBmR,EACFhd,EAAM0c,UAAUQ,KAAKJ,GAErB9c,EAAM0c,UAAUlL,OAAOwL,EAAe,GAGjC,eAAKhd,GACd,QACE,OAAOA,I,SCzBPmd,EAAoB,CACxBlQ,IAAK,OACLmQ,Q,OAAAA,EACAC,UAAW,CACT,SACA,gBACA,WACA,SACA,SACA,UACA,aACA,WACA,eACA,SACA,SACA,iBACA,gBACA,YACA,YACA,cACA,UACA,UACA,gBACA,YACA,SACA,QACA,c,sDClCWC,EAFC/U,OAAOiF,a,SCQjB+P,EAAsB,SAACvc,GAI3B,YAHkBN,GAAdM,GACFiS,QAAQuK,MAAM,mDAETxc,EACJsZ,cACAmD,MAAM,KACNC,MACAD,MAAM,KACN7d,KAAI,SAACC,EAAG8d,GAAJ,OAAWA,EAAI,EAAI9d,EAAE+d,OAAO,GAAG1c,cAAgBrB,EAAEge,UAAU,GAAKhe,KACpEie,KAAK,KA+FJrD,EAAY,uCAAG,WAAOjP,GAAP,qBAAA3L,EAAA,2DACb+Z,EAAQpM,aAAaC,QAAQ,aADhB,qBAGDuM,YAAWJ,GACfmE,IAAMC,IAASC,QAJV,uBAKTxD,EAAejN,aAAaC,QAAQ,gBAL3B,SAMQjC,EAAG,KAAH,aAA4B,CACjDoO,MAAOA,EACPa,aAAcA,IARD,QAMTyD,EANS,QAUFC,KACLle,EAAUie,EAASrM,KACzBrE,aAAa+M,QAAQ,WAAYta,EAAQ4R,KAAK+H,OAC9CpM,aAAa+M,QAAQ,eAAgBta,EAAQ4R,KAAK4I,eAbrC,2CAAH,sDAmBlB,SAAS2D,EAAa5S,EAAK6S,EAAcC,EAAUxd,GAEpC0K,EAAI6S,GAAcC,GAKlBC,I,MAAAA,EArGM,SAACF,GAAgC,IAAlBxd,EAAiB,uDAAP,GAE1CG,EAOEH,EAPFG,WACAX,EAMEQ,EANFR,UACAI,EAKEI,EALFJ,OACA+d,EAIE3d,EAJF2d,eACAC,EAGE5d,EAHF4d,aACAC,EAEE7d,EAFF6d,mBACAC,EACE9d,EADF8d,iBAEIL,EAAWf,EAAoBvc,GAC/Bud,EAAQK,YAAY,CACxB5c,KAAMhB,EACN6d,QAAQ,EAEFC,QAJkB,8HAIiB7Q,EAAU8Q,GAAO,OAAD,+HAAzCC,SAAUle,EAA+B,EAA/BA,OAAQ0K,EAAuB,EAAvBA,IAAuB,SAErD4S,EAAa5S,EAAK6S,EAAcC,EAAUxd,GAFW,SAG/C2Z,EAAajP,GAHkC,cAKjDY,EAAMoB,aAAaC,QAAQ,YAC3BwR,EAAiB,QAAR7S,EACX0S,oCACEA,sCAEJtT,EAAI0T,WAAWD,GAVsC,UAYnCzT,EAAI6S,GAAcC,GAAUxd,EAAOb,SAZA,SAY/Ckf,EAZ+C,QAa5ChB,IAgCPlQ,EAAS,CAAEjM,KAAK,GAAD,OAAKhB,EAAL,YAA2Bf,QAASkf,EAAItN,OACvDxR,GAAaA,EAAU4N,EAAUkR,EAAItN,MACjC6M,GAAoBU,IAAM/V,QAAQmV,IAjCpB,KAAdW,EAAIE,QACAzF,EAAQ,WACOwD,EAAQ3P,QAAQmM,IAEnCwD,EAAQzC,WAAWf,GACrB3L,EAASqR,IAAY7Y,UACrBwH,EAASiP,YAAK,QAERqC,EACHJ,EAAItN,OAASsN,EAAItN,KAAK2N,QAAUL,EAAItN,KAAK4M,eAC1C,gBACFxQ,EAAS,CACPjM,KAAK,GAAD,OAAKhB,EAAL,SACJf,QAASsf,EACT/B,OAAO,IAGL/c,EACFA,EAAOwN,EAAUkR,EAAItN,MACZ8M,IACLF,EAAcW,IAAM5B,MAAMiB,GAExBU,EAAItN,MAA8B,OAAtBsN,EAAItN,KAAK4N,UACvBL,IAAM5B,MAAM,iBAEZ4B,IAAM5B,MAAM2B,EAAItN,KAAK4M,gBAvCsB,kDAkDrDxL,QAAQuK,MAAM,4BAAd,MACAvP,EAAS,CAAEjM,KAAK,GAAD,OAAKhB,EAAL,SAAwBf,QAAQ,EAAD,GAAOud,OAAO,IAC5D/c,GAAUA,EAAOwN,GApDoC,QAsDvD8Q,IAtDuD,iEAyD3D,OAAOR,G,sBC1GHF,EAAe,YAEfqB,EAAuBnB,EAAMF,EAAc,CAC/Crd,WAAY0B,IAAYid,qBAGpBtH,EAAoBkG,EAAMF,EAAc,CAC5Crd,WAAY0B,IAAYkd,wBAEpBC,EAAmBtB,EAAMF,EAAc,CAC3Crd,WAAY0B,IAAYod,cACxBnB,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,8BAGtBkU,GAAoBxB,EAAMF,EAAc,CAC5Crd,WAAY0B,IAAYsd,eACxBrB,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,+BAGtBoU,GAAsB1B,EAAMF,EAAc,CAC9Crd,WAAY0B,IAAYwd,iBACxBvB,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,gCAGb,IACb6T,EACAG,EACAE,GACAE,GACA5H,G,SCvCIgG,GAAe,MAEf8B,GAAY5B,EAAMF,GAAc,CAACrd,WAAW0B,KAAY0d,OACxDC,GAAoB9B,EAAMF,GAAc,CAACrd,WAAW0B,KAAY4d,gBAChEC,GAAiBhC,EAAMF,GAAc,CAACrd,WAAW0B,KAAY8d,aAEpD,IAACL,GAAUE,GAAkBE,ICHtClC,GAAe,OACRoC,GAAwB7B,YAAY,CAC/C5c,KAAMU,IAAYqY,kBAClB8D,QAAQ,EAEFC,QAJyC,WAIN7Q,EAAU8Q,GAAO,OAAD,uHAAzCC,SAAUle,EAA+B,EAA/BA,OAAQ0K,EAAuB,EAAvBA,IAAuB,kBAEnCA,EAAIkV,KAAKna,iBAAiBzF,EAAO6f,cAFE,QAE/CxB,EAF+C,QAG5ChB,IAAOgB,EAAItN,KAAKxI,QAQvB4E,EAAS,CAAEjM,KAAMU,IAAYsY,0BAA2B/a,QAASkf,EAAItN,OAPrE5D,EAAS,CACPjM,KAAMU,IAAYuY,uBAClBhb,QAAUkf,EAAItN,MAAS,gBACvB2L,OAAO,IAP0C,gDAcrDvP,EAAS,CAAEjM,KAAMU,IAAYuY,uBAAwBhb,QAAQ,EAAD,GAAOud,OAAO,IAdrB,QAiBvDuB,IAjBuD,8DAoB9C6B,GAAwBhC,YAAY,CAC/C5c,KAAMU,IAAY2Y,kBAClBwD,QAAQ,EAEFC,QAJyC,WAIN7Q,EAAU8Q,GAAO,OAAD,uHAAzCC,SAAUle,EAA+B,EAA/BA,OAAQ0K,EAAuB,EAAvBA,IAAuB,kBAEnCA,EAAIkV,KAAK/Z,iBAAiB7F,EAAOb,SAFE,QAE/Ckf,EAF+C,QAG5ChB,IAAOgB,EAAItN,KAAKxI,QAQvB4E,EAAS,CAAEjM,KAAMU,IAAY4Y,0BAA2Brb,QAASkf,EAAItN,OAPrE5D,EAAS,CACPjM,KAAMU,IAAYiZ,uBAClB1b,QAAUkf,EAAItN,MAAS,gBACvB2L,OAAO,IAP0C,gDAcrDvP,EAAS,CAAEjM,KAAMU,IAAYiZ,uBAAwB1b,QAAQ,EAAD,GAAOud,OAAO,IAdrB,QAiBvDuB,IAjBuD,8DAoBrD8B,GAAatC,EAAMF,GAAc,CAACrd,WAAW0B,IAAYoe,MAAMnC,kBAAiB,EAAKF,aAAa,iBACxGC,oBAAmB,EAEnBre,UAAU,SAAC4N,EAAShO,GACJ8gB,YAAU9gB,EAAQ4R,KAAK+H,OAC3BQ,KAAKzE,SAAS,YACpB1H,EAASiP,YAAK,YAGlBjP,EAASiP,YAAK,aAIV8D,GAAsBzC,EAAMF,GAAc,CAACrd,WAAW0B,IAAYue,gBAAgBtC,kBAAiB,EAAKF,aAAa,iCAC3HC,oBAAmB,EACnBF,eAAe,uCACT0C,GAAqB3C,EAAMF,GAAc,CAACrd,WAAW0B,IAAYye,eAAexC,kBAAiB,EAAKF,aAAa,+BACzHC,oBAAmB,EACnBF,eAAe,sCAEA,IAACwC,GAAoBE,GAAoBL,GAAWJ,GAAsBG,I,SCxEnFvC,GAAe,SAEf+C,GAAoB7C,EAAMF,GAAc,CAC5Crd,WAAY0B,KAAY2e,iBAEpBC,GAAsB/C,EAAMF,GAAc,CAC9Crd,WAAY0B,KAAY6e,oBAEpBC,GAAgBjD,EAAMF,GAAc,CACxCrd,WAAY0B,KAAY+e,UACxB9C,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,8BAGtB6V,GAAiBnD,EAAMF,GAAc,CACzCrd,WAAY0B,KAAYif,WACxBhD,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,+BAGtB+V,GAAmBrD,EAAMF,GAAc,CAC3Crd,WAAY0B,KAAYmf,aACxBlD,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,gCAGb,IACbuV,GACAE,GACAE,GACAE,GACAE,I,SCpCIvD,GAAe,UAEfyD,GAAsBvD,EAAMF,GAAc,CAC9Crd,WAAY0B,KAAYqf,mBAEpBC,GAAwBzD,EAAMF,GAAc,CAChDrd,WAAY0B,KAAYuf,sBAEpBC,GAAqB3D,EAAMF,GAAc,CAC7Crd,WAAY0B,KAAYyf,eACxBxD,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,8BAEtBuW,GAAqB7D,EAAMF,GAAc,CAC7Crd,WAAY0B,KAAY2f,eACxB1D,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,+BAEtByW,GAAqB/D,EAAMF,GAAc,CAC7Crd,WAAY0B,KAAY6f,eACxB5D,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,gCAGb,IACbiW,GACAE,GACAE,GACAE,GACAE,I,SCnCIjE,GAAe,SAEfkC,GAAiBhC,EAAMF,GAAc,CACzCrd,WAAY0B,KAAY8d,aAGpBgC,GAAoBjE,EAAMF,GAAc,CAC5Crd,WAAY0B,KAAY+f,iBAGpBC,GAAuBnE,EAAMF,GAAc,CAC/Crd,WAAY0B,KAAYigB,oBAEpBC,GAAqBrE,EAAMF,GAAc,CAC7Crd,WAAY0B,KAAYmgB,iBAGpBC,GAAmBvE,EAAMF,GAAc,CAC3Crd,WAAY0B,KAAYqgB,eAEpBC,GAAqBzE,EAAMF,GAAc,CAC7Crd,WAAY0B,KAAYugB,eACxBtE,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,gCAGtBqX,GAAkB3E,EAAMF,GAAc,CAC1Crd,WAAY0B,KAAYygB,YACxB9iB,UAAW,SAAC4N,GACVA,EAASiP,YAAK,kBAEhByB,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,8BAEtBuX,GAAgB7E,EAAMF,GAAc,CACxCrd,WAAY0B,KAAY2gB,UACxB1E,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,+BAEtByX,GAAkB/E,EAAMF,GAAc,CAC1Crd,WAAY0B,KAAY6gB,YACxB5E,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,gCAGb,IACb0U,GACA2C,GACAE,GACAE,GACAZ,GACAE,GACAE,GACAE,GACAR,I,SC9DInE,GAAe,eAGfmF,GAA0BjF,EAAMF,GAAc,CAClDrd,WAAY0B,KAAY+gB,wBAGpBzL,GAAuBuG,EAAMF,GAAc,CAC/Crd,WAAY0B,KAAYghB,2BAEpBC,GAAsBpF,EAAMF,GAAc,CAC9Crd,WAAY0B,KAAYkhB,iBACxBvjB,UAAW,SAAC4N,GACVA,EAASiP,YAAK,oBAIZ2G,GAAuBtF,EAAMF,GAAc,CAC/Crd,WAAY0B,KAAYohB,kBACxBzjB,UAAW,SAAC4N,GACVA,EAASiP,YAAK,oBAIZ6G,GAAyBxF,EAAMF,GAAc,CACjDrd,WAAY0B,KAAYshB,sBAKX,IACbR,GACAG,GACAE,GACAE,GACA/L,I,SCpCIqG,GAAe,YAIf4F,GAAsB1F,EAAMF,GAAc,CAC9Crd,WAAY0B,KAAYwhB,mBAGpBC,GAAyB5F,EAAMF,GAAc,CACjDrd,WAAY0B,KAAY0hB,sBAEpBC,GAAmB9F,EAAMF,GAAc,CAC3Crd,WAAY0B,KAAY4hB,eAEpBC,GAAiBhG,EAAMF,GAAc,CACzCrd,WAAY0B,KAAY8hB,aAEpBC,GAA0BlG,EAAMF,GAAc,CAClDrd,WAAY0B,KAAYgiB,uBAEpBC,GAA+BpG,EAAMF,GAAc,CACvDrd,WAAY0B,KAAYkiB,8BAEpBC,GAA2BtG,EAAMF,GAAc,CACnDrd,WAAY0B,KAAYoiB,wBAEX,IACbb,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,I,SC/BIxG,GAAe,QAEf0G,GAAoBxG,EAAMF,GAAc,CAC5Crd,WAAY0B,KAAYsiB,iBAEpBC,GAAsB1G,EAAMF,GAAc,CAC9Crd,WAAY0B,KAAYwiB,oBAEpBC,GAAmB5G,EAAMF,GAAc,CAC3Crd,WAAY0B,KAAY0iB,aACxBzG,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,4BAC1BxL,UAAW,SAAC4N,GACVA,EAASiP,YAAK,mBAGZmI,GAAmB9G,EAAMF,GAAc,CAC3Crd,WAAY0B,KAAY4iB,aACxB3G,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,6BAC1BxL,UAAW,SAAC4N,GACVA,EAASiP,YAAK,mBAGZqI,GAAmBhH,EAAMF,GAAc,CAC3Crd,WAAY0B,KAAY8iB,aACxB7G,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,gCAGtB4Z,GAAuBlH,EAAMF,GAAc,CAC/Crd,WAAY0B,KAAYgjB,oBAGpBC,GAAyBpH,EAAMF,GAAc,CACjDrd,WAAY0B,KAAYkjB,oBACxBjH,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,8BAGtBga,GAA0BtH,EAAMF,GAAc,CAClDrd,WAAY0B,KAAYojB,qBACxBnH,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,4BAC1BxL,UAAW,SAAC4N,GACVA,EAASiP,YAAK,mBAMZ6I,GAAyBxH,EAAMF,GAAc,CACjDrd,WAAY0B,KAAYsjB,oBACxBrH,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,8BAEtBoa,GAAyB1H,EAAMF,GAAc,CACjDrd,WAAY0B,KAAYwjB,oBACxBvH,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,gCAGtBsa,GAA0B5H,EAAMF,GAAc,CAClDrd,WAAY0B,KAAY0jB,qBACxBzH,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,8BAMtBwa,GAA2B9H,EAAMF,GAAc,CACnDrd,WAAY0B,KAAY4jB,yBAEpBC,GAA4BhI,EAAMF,GAAc,CACpDrd,WAAY0B,KAAY8jB,0BAGpBC,GAA0BlI,EAAMF,GAAc,CAClDrd,WAAY0B,KAAYgkB,qBACxB/H,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,6BAC1BxL,UAAW,SAAC4N,GACVA,EAASiP,YAAK,mBAGZyJ,GAA0BpI,EAAMF,GAAc,CAClDrd,WAAY0B,KAAYkkB,qBACxBjI,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,iCAQtBgb,GAA2BtI,EAAMF,GAAc,CACnDrd,WAAY0B,KAAYokB,sBACxBnI,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,8BAEtBkb,GAA2BxI,EAAMF,GAAc,CACnDrd,WAAY0B,KAAYskB,sBACxBrI,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,gCAGtBob,GAA4B1I,EAAMF,GAAc,CACpDrd,WAAY0B,KAAYwkB,uBACxBvI,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,8BAMtBsb,GAA6B5I,EAAMF,GAAc,CACrDrd,WAAY0B,KAAY0kB,2BAEpBC,GAA8B9I,EAAMF,GAAc,CACtDrd,WAAY0B,KAAY4kB,4BAGpBC,GAA4BhJ,EAAMF,GAAc,CACpDrd,WAAY0B,KAAY8kB,uBACxB7I,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,6BAC1BxL,UAAW,SAAC4N,GACVA,EAASiP,YAAK,mBAGZuK,GAA4BlJ,EAAMF,GAAc,CACpDrd,WAAY0B,KAAYglB,uBACxB/I,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,iCAMb,IACbkZ,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAU,GACAR,GACAI,GACAF,GACAI,GACAI,GACAE,GAGAE,GACAI,GACAF,GACAU,GACAN,GACAE,GACAE,I,UCpMIlJ,GAAe,UAWN,IATeE,EAAMF,GAAc,CAChDrd,WAAY0B,KAAYilB,qBAEDpJ,EAAMF,GAAc,CAC3Crd,WAAY0B,KAAYklB,iB,SCPpBvJ,GAAe,gBAgCN,IA7BkBE,EAAMF,GAAc,CACnDrd,WAAY0B,KAAYmlB,wBAEEtJ,EAAMF,GAAc,CAC9Crd,WAAY0B,KAAYolB,gBACxBnJ,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,8BAGC0S,EAAMF,GAAc,CAC/Crd,WAAY0B,KAAYqlB,iBACxBpJ,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,+BAGG0S,EAAMF,GAAc,CACjDrd,WAAY0B,KAAYslB,mBACxBrJ,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,iC,SC1BtBwS,GAAe,SAuCN,IArCWE,EAAMF,GAAc,CAC5Crd,WAAY0B,KAAYulB,iBAEE1J,EAAMF,GAAc,CAC9Crd,WAAY0B,KAAYwlB,oBAGJ3J,EAAMF,GAAc,CACxCrd,WAAY0B,KAAYylB,UACxBxJ,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,4BAC1BxL,UAAW,SAAC4N,GACVA,EAASiP,YAAK,oBAIKqB,EAAMF,GAAc,CACzCrd,WAAY0B,KAAY0lB,WACxBzJ,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,6BAC1BxL,UAAW,SAAC4N,GACVA,EAASiP,YAAK,oBAIOqB,EAAMF,GAAc,CAC3Crd,WAAY0B,KAAY2lB,aACxB1J,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,iC,SCnCtBwS,GAAe,aAsBN,IApBgBE,EAAMF,GAAc,CACjDrd,WAAY0B,KAAY4lB,uBAEO/J,EAAMF,GAAc,CACnDrd,WAAY0B,KAAY6lB,0BAEIhK,EAAMF,GAAc,CAChDrd,WAAY0B,KAAY8lB,mBACxB7J,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,8BAEE0S,EAAMF,GAAc,CAChDrd,WAAY0B,KAAY+lB,qBAEIlK,EAAMF,GAAc,CAChDrd,WAAY0B,KAAYgmB,sB,SCpBpBrK,GAAe,UAEfsK,GAAqBpK,EAAMF,GAAc,CAC7Crd,WAAY0B,KAAYkmB,kBAEpBC,GAAuBtK,EAAMF,GAAc,CAC/Crd,WAAY0B,KAAYomB,qBAGpBC,GAAiBxK,EAAMF,GAAc,CACzCrd,WAAY0B,KAAYsmB,WACxBrK,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,4BAC1BxL,UAAW,SAAC4N,GACVA,EAASiP,YAAK,oBAGZ+L,GAAqB1K,EAAMF,GAAc,CAC7Crd,WAAY0B,KAAYwmB,eACxBvK,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,4BAC1BxL,UAAW,SAAC4N,GACVA,EAASiP,YAAK,oBAkCH,IACbyL,GACAE,GACAE,GAjCsBxK,EAAMF,GAAc,CAC1Crd,WAAY0B,KAAYymB,YACxBxK,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,6BAC1BxL,UAAW,SAAC4N,GACVA,EAASiP,YAAK,oBAIQqB,EAAMF,GAAc,CAC5Crd,WAAY0B,KAAY0mB,cACxBzK,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,gCAoB1Bod,GAjB6B1K,EAAMF,GAAc,CACjDrd,WAAY0B,KAAY2mB,mBACxB1K,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,4BAC1BxL,UAAW,SAAC4N,GACVA,EAASiP,YAAK,oC,SCxDZmB,GAAe,SAwDN,IAtDWE,EAAMF,GAAc,CAC5Crd,WAAY0B,KAAY4mB,iBAEJ/K,EAAMF,GAAc,CACxCrd,WAAY0B,KAAY6mB,UACxB5K,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,8BAGL0S,EAAMF,GAAc,CACzCrd,WAAY0B,KAAY8mB,WACxB7K,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,+BAGH0S,EAAMF,GAAc,CAC3Crd,WAAY0B,KAAY+mB,aACxB9K,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,gCAGI0S,EAAMF,GAAc,CAClDrd,WAAY0B,KAAYgnB,wBAEEnL,EAAMF,GAAc,CAC9Crd,WAAY0B,KAAYinB,iBACxBhL,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,8BAGC0S,EAAMF,GAAc,CAC/Crd,WAAY0B,KAAYknB,kBACxBjL,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,+BAGG0S,EAAMF,GAAc,CACjDrd,WAAY0B,KAAYmnB,oBACxBlL,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,iC,SCpDtBwS,GAAe,WAEfyL,GAAsBvL,EAAMF,GAAc,CAC9Crd,WAAY0B,KAAYqnB,mBAEpBC,GAAwBzL,EAAMF,GAAc,CAChDrd,WAAY0B,KAAYunB,sBAGpBC,GAAkB3L,EAAMF,GAAc,CAC1Crd,WAAY0B,KAAYynB,YACxBxL,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,4BAC1BxL,UAAW,SAAC4N,GACVA,EAASiP,YAAK,sBAIZkN,GAA6B7L,EAAMF,GAAc,CACrDrd,WAAY0B,KAAY2nB,yBACxB1L,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,+BAKtBye,GAA+B/L,EAAMF,GAAc,CACvDrd,WAAY0B,KAAY6nB,2BACxB5L,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,gCAwBb,IACbie,GACAE,GACAE,GAtBuB3L,EAAMF,GAAc,CAC3Crd,WAAY0B,KAAY8nB,aACxB7L,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,6BAC1BxL,UAAW,SAAC4N,GACVA,EAASiP,YAAK,sBAISqB,EAAMF,GAAc,CAC7Crd,WAAY0B,KAAY+nB,eACxB9L,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,gCAS1Bye,GACAF,I,SChEI/L,GAAe,YAEfqM,GAAuBnM,EAAMF,GAAc,CAC/Crd,WAAY0B,KAAYioB,kBACxBhM,kBAAkB,EAClBD,oBAAoB,IAEhB8D,GAAoBjE,EAAMF,GAAc,CAC5Crd,WAAY0B,KAAY+f,eACxB9D,kBAAkB,EAClBD,oBAAoB,IAEhBkM,GAAyBrM,EAAMF,GAAc,CACjDrd,WAAY0B,KAAYmoB,oBACxBlM,kBAAkB,EAClBD,oBAAoB,IAEhBoM,GAAmBvM,EAAMF,GAAc,CAC3Crd,WAAY0B,KAAYqoB,aACxBpM,kBAAkB,EAClBD,oBAAoB,IAEhBsM,GAAsBzM,EAAMF,GAAc,CAC9Crd,WAAY0B,KAAYuoB,gBACxBtM,kBAAkB,EAClBD,oBAAoB,IA0CP,IACbgM,GAzCuBnM,EAAMF,GAAc,CAC3Crd,WAAY0B,KAAYwoB,aACxBvM,kBAAkB,EAClBH,eAAgB,gCAChBE,oBAAoB,EACpBre,UAAW,SAAC4N,GACVA,EAASiP,YAAK,uBAIUqB,EAAMF,GAAc,CAC9Crd,WAAY0B,KAAYyoB,gBACxBxM,kBAAkB,EAClBH,eAAgB,gCAChBE,oBAAoB,IAEIH,EAAMF,IAAD,GAC7Brd,WAAY0B,KAAY0oB,cACxBzM,kBAAkB,EAClBD,mBAAoB,gCAHS,oCAIT,GAJS,2BAKlB,SAACzQ,GACVA,EAASiP,YAAK,uBANa,IA6B7B8N,GACAF,GACAtI,GACAoI,GAvBsCrM,EAAMF,GAAc,CAC1Drd,WAAY0B,KAAY2oB,8BACxB1M,kBAAkB,EAClBD,oBAAoB,IAEaH,EAAMF,GAAc,CACrDrd,WAAY0B,KAAY4oB,wBACxB3M,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,4BAC1BxL,UAAW,SAAC4N,GACVA,EAASiP,YAAK,wB,SCnEZmB,GAAe,iBAEfkN,GAAyBhN,EAAMF,GAAc,CAC/Crd,WAAY0B,KAAY8oB,sBAGtB9S,GAAyB6F,EAAMF,GAAc,CAC/Crd,WAAY0B,KAAY+oB,6BA0Bb,IACXF,GAzB0BhN,EAAMF,GAAc,CAC9Crd,WAAY0B,KAAYgpB,mBACxB/M,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,8BAGC0S,EAAMF,GAAc,CAC/Crd,WAAY0B,KAAYipB,oBACxBhN,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,+BAGG0S,EAAMF,GAAc,CACjDrd,WAAY0B,KAAYkpB,sBACxBjN,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,gCAQ1B6M,I,SCvCE2F,GAAe,UAuCN,IArCoBE,EAAMF,GAAc,CACrDrd,WAAY0B,KAAYmpB,2BAEWtN,EAAMF,GAAc,CACvDrd,WAAY0B,KAAYopB,8BAISvN,EAAMF,GAAc,CACrDrd,WAAY0B,KAAYqpB,2BAGKxN,EAAMF,GAAc,CACjDrd,WAAY0B,KAAYspB,oBACxBrN,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,8BAII0S,EAAMF,GAAc,CAClDrd,WAAY0B,KAAYupB,qBACxBtN,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,+BAGM0S,EAAMF,GAAc,CACpDrd,WAAY0B,KAAYwpB,uBACxBvN,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,iC,SCnCtBwS,GAAe,WAmBN,IAlBUE,EAAMF,GAAc,CAACrd,WAAW0B,KAAYypB,eAE5C5N,EAAMF,GAAc,CACzCrd,WAAY0B,KAAY0pB,aACxB/rB,UAAW,SAAC4N,GACRA,EAASiP,YAAK,qBAIWqB,EAAMF,GAAc,CAC7Crd,WAAY0B,KAAY2pB,kBACxBhsB,UAAW,SAAC4N,GACRA,EAASiP,YAAK,sB,SCdpBmB,GAAe,gBAEfiO,GAA2B/N,EAAMF,GAAc,CACjDrd,WAAY0B,KAAY6pB,yBAGtBC,GAA2BjO,EAAMF,GAAc,CACjDrd,WAAY0B,KAAY+pB,wBAUb,IACXH,GAR+B/N,EAAMF,GAAc,CACnDrd,WAAY0B,KAAYgqB,4BAEGnO,EAAMF,GAAc,CAC/Crd,WAAY0B,KAAYiqB,sBAOxBH,I,SClBEnO,GAAe,YAEfuO,GAAkBrO,EAAMF,GAAc,CAC1Crd,WAAY0B,KAAYmqB,eAGpBC,GAAqBvO,EAAMF,GAAc,CAC7Crd,WAAY0B,KAAYqqB,mBAGpBC,GAAkBzO,EAAMF,GAAc,CAC1Crd,WAAY0B,KAAYuqB,YACxBtO,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,4BAC1BxL,UAAW,SAAC4N,GACVA,EAASiP,YAAK,2BAIZgQ,GAAkB3O,EAAMF,GAAc,CAC1Crd,WAAY0B,KAAYyqB,YACxBxO,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,6BAC1BxL,UAAW,SAAC4N,GACVA,EAASiP,YAAK,2BAGZkQ,GAAkB7O,EAAMF,GAAc,CAC1Crd,WAAY0B,KAAY2qB,YACxB1O,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,gCAItByhB,GAAqB/O,EAAMF,GAAc,CAC7Crd,WAAY0B,KAAY6qB,kBAGpBC,GAAuBjP,EAAMF,GAAc,CAC/Crd,WAAY0B,KAAY+qB,qBAEpBC,GAAoBnP,EAAMF,GAAc,CAC5Crd,WAAY0B,KAAYirB,cACxBhP,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,8BAMtB+hB,GAAoBrP,EAAMF,GAAc,CAC5Crd,WAAY0B,KAAYmrB,cACxBlP,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,6BAC1BxL,UAAW,SAAC4N,GACVA,EAASiP,YAAK,qBAIZ4Q,GAAoBvP,EAAMF,GAAc,CAC5Crd,WAAY0B,KAAYqrB,cACxBpP,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,gCA+Bb,IACb+gB,GACAE,GACAE,GACAE,GACAE,GAhC8B7O,EAAMF,GAAc,CAClDrd,WAAY0B,KAAYsrB,sBAGSzP,EAAMF,GAAc,CACrDrd,WAAY0B,KAAYurB,0BAGI1P,EAAMF,GAAc,CAChDrd,WAAY0B,KAAYwrB,kBACxBvP,kBAAkB,EAElBD,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,4BAC1BpL,OAAO,SAACwN,EAAS4D,GACfuN,IAAM5B,MAAN,OAAY3L,QAAZ,IAAYA,OAAZ,EAAYA,EAAM4M,iBAIgBF,EAAMF,GAAc,CACxDrd,WAAY0B,KAAYyrB,4BACxBxP,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,gCAiB1ByhB,GACAE,GACAE,GACAE,GACAE,I,SC3HIzP,GAAe,cAEfuM,GAAyBrM,EAAMF,GAAc,CACjDrd,WAAY0B,KAAYmoB,oBACxBlM,kBAAkB,EAClBD,oBAAoB,IAEhB0P,GAAqB7P,EAAMF,GAAc,CAC7Crd,WAAY0B,KAAY2rB,eACxB1P,kBAAkB,EAClBD,oBAAoB,IA8BP,IACbkM,GA5ByBrM,EAAMF,GAAc,CAC7Crd,WAAY0B,KAAY4rB,eACxB3P,kBAAkB,EAClBH,eAAgB,kCAChBE,oBAAoB,EACpBre,UAAW,SAAC4N,GACVA,EAASiP,YAAK,yBAIYqB,EAAMF,GAAc,CAChDrd,WAAY0B,KAAY6rB,kBACxB5P,kBAAkB,EAClBH,eAAgB,kCAChBE,oBAAoB,IAEMH,EAAMF,IAAD,GAC/Brd,WAAY0B,KAAY8rB,gBACxB7P,kBAAkB,EAClBD,mBAAoB,kCAHW,YAAC,wBAIZ,GAJW,YAAC,eAKrB,SAACzQ,GACVA,EAASiP,YAAK,yBANe,IAgB/BkR,I,SC/CI/P,GAAe,SACfoQ,GAAuBlQ,EAAMF,GAAc,CAC/Crd,WAAY0B,KAAYgsB,qBAEpBC,GAAkBpQ,EAAMF,GAAc,CAC1Crd,WAAY0B,KAAYksB,cAEpBC,GAAwBtQ,EAAMF,GAAc,CAChDrd,WAAY0B,KAAYosB,qBAEpBC,GAAsBxQ,EAAMF,GAAc,CAC9Crd,WAAY0B,KAAYssB,mBAEpBC,GAA4B1Q,EAAMF,GAAc,CACpDrd,WAAY0B,KAAYwsB,2BAEpBC,GAAoB5Q,EAAMF,GAAc,CAC5Crd,WAAY0B,KAAY0sB,cACxB/uB,UAAW,SAAC4N,GACVA,EAASiP,YAAK,sCAGZmS,GAAyB9Q,EAAMF,GAAc,CACjDrd,WAAY0B,KAAY4sB,sBAEpBC,GAAyBhR,EAAMF,GAAc,CACjDrd,WAAY0B,KAAY8sB,oBACxB7Q,kBAAkB,EAClBD,oBAAoB,EACpBF,eAAgB,oHAEZiR,GAA0BlR,EAAMF,GAAc,CAClDrd,WAAY0B,KAAYgtB,qBACxB/Q,kBAAkB,EAClBD,oBAAoB,EACpBF,eAAgB,oHAEZmR,GAA4BpR,EAAMF,GAAc,CACpDrd,WAAY0B,KAAYktB,uBACxBjR,kBAAkB,EAClBD,oBAAoB,EACpBF,eAAgB,wGAGZqR,GAAkBtR,EAAMF,GAAc,CAC1Crd,WAAY0B,KAAYotB,YACxBzvB,UAAW,SAAC4N,GACVA,EAASiP,YAAK,sCAOH,IACbiS,GACAR,GANwBpQ,EAAMF,GAAc,CAC5Crd,WAAY0B,KAAYqtB,gBAOxBtB,GACAoB,GACAR,GACAN,GACAE,GACAM,GACAE,GACAE,GACAd,I,SCjEIxQ,GAAe,gBACf2R,GAAgBzR,EAAMF,GAAc,CACxCrd,WAAY0B,KAAYutB,UACxBtR,kBAAkB,EAClBD,oBAAoB,IAEhBwR,GAAe3R,EAAMF,GAAc,CACvCrd,WAAY0B,KAAYytB,SACxBxR,kBAAkB,EAClBD,oBAAoB,IAEhBsM,GAAsBzM,EAAMF,GAAc,CAC9Crd,WAAY0B,KAAYuoB,gBACxBtM,kBAAkB,EAClBD,oBAAoB,IAEhB0R,GAAkB7R,EAAMF,GAAc,CAC1Crd,WAAY0B,KAAY2tB,YACxB1R,kBAAkB,EAClBH,eAAgB,4BAChBE,oBAAoB,EACpBre,UAAW,SAAC4N,GACVA,EAASiP,YAAK,kCAGZoT,GAAmB/R,EAAMF,GAAc,CAC3Crd,WAAY0B,KAAY6tB,aACxB5R,kBAAkB,EAClBH,eAAgB,6BAChBE,oBAAoB,EACpBre,UAAW,SAAC4N,GACVA,EAASiP,YAAK,kCAGZsT,GAAqBjS,EAAMF,GAAc,CAC7Crd,WAAY0B,KAAY+tB,gBACxB9R,kBAAkB,EAClBH,eAAgB,4BAChBE,oBAAoB,EACpBre,UAAW,SAAC4N,GACVA,EAASiP,YAAK,kCAGZwT,GAAkBnS,EAAMF,GAAc,CAC1Crd,WAAY0B,KAAYiuB,YACxBtwB,UAAW,SAAC4N,GACVA,EAASiP,YAAK,kCAGZ0T,GAAgBrS,EAAMF,GAAc,CACxCrd,WAAY0B,KAAYmuB,UACxBlS,kBAAkB,EAClBD,oBAAoB,IAEhBoS,GAAevS,EAAMF,GAAc,CACvCrd,WAAY0B,KAAYquB,SACxBpS,kBAAkB,EAClBD,oBAAoB,IAEhBsS,GAAkBzS,EAAMF,GAAc,CAC1Crd,WAAY0B,KAAYuuB,YACxBtS,kBAAkB,EAClBH,eAAgB,4BAChBE,oBAAoB,IAEhBwS,GAAgB3S,EAAMF,IAAD,GACzBrd,WAAY0B,KAAYyuB,UACxBxS,kBAAkB,EAClBD,mBAAoB,4BAHK,YAAC,wBAIN,GAJK,YAAC,eAKf,SAACzQ,GACVA,EAASiP,YAAK,kCANS,IASrBkU,GAAgB7S,EAAMF,GAAc,CACxCrd,WAAY0B,KAAY2uB,UACxBhxB,UAAW,SAAC4N,GACVA,EAASiP,YAAK,kCAUH,IACb8S,GACAI,GACAE,GACAE,GACAI,GACAV,GACAc,GACAE,GACAR,GACA1F,GAjBsBzM,EAAMF,GAAc,CAC1Crd,WAAY0B,KAAY4uB,YACxB3S,kBAAkB,EAClBH,eAAgB,4BAChBE,oBAAoB,IAepB0S,GACAN,I,SCrGIzS,GAAe,mBAoBN,IAlBcE,EAAMF,GAAc,CAC/Crd,WAAY0B,KAAY6uB,kBACxB5S,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,+CACxB6S,oBAAoB,EACpBF,eAAgB,cAAC,IAAD,CAAO3S,GAAG,8BAEC0S,EAAMF,GAAc,CAC/Crd,WAAY0B,KAAY8uB,kBACxB7S,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,iDAEQ0S,EAAMF,GAAc,CACpDrd,WAAY0B,KAAY+uB,wBACxB9S,kBAAkB,EAClBF,aAAc,cAAC,IAAD,CAAO5S,GAAG,kDCQZ,I,OAAA,sBACT6lB,IADL,YAEKC,IAFL,YAGKC,IAHL,YAIKC,IAJL,YAKKC,IALL,YAMKC,IANL,YAOKC,IAPL,YAQKC,IARL,YASKC,IATL,YAUKC,IAVL,YAWKC,IAXL,YAYKC,IAZL,YAaKC,IAbL,YAcKC,IAdL,YAeKC,IAfL,YAgBKC,IAhBL,YAiBKC,IAjBL,YAkBKC,IAlBL,YAmBKC,IAnBL,YAoBKC,IApBL,YAqBKC,IArBL,YAsBKC,IAtBL,YAuBKC,IAvBL,YAwBKC,IAxBL,YAyBKC,IAzBL,YA0BKC,IA1BL,YCxBe,M,wCC8BX3nB,GAAM,KAkHK,GAhHA,SAAC4nB,GAAa,IAAD,EAGtBnU,EACM,QAHAzR,aAAaC,QAAQ,YAIzBqR,oCACAA,uCAENtT,GAAM6nB,KAASC,OAAO,CACpBF,QAASnU,EACTsU,QAAS,CACP,gBAAiB,YAEnBC,QAAS,QAIPC,2BAA0B,SAACvV,GAAD,6BAAc,oCAAAre,EAAA,sDACrCqe,EAASC,KACNuV,EAAe,CACnBlU,QAAQ,UAAAtB,EAASrM,YAAT,eAAe2N,SAAU,CAC/B,CAAEf,cAAc,UAAAP,EAASrM,YAAT,eAAe4M,eAAgB,KAGjDA,cAAc,UAAAP,EAASrM,YAAT,eAAe4M,eAAgB,GAG7CY,OAAQnB,EAASmB,OACjBtR,MAAM,UAAAmQ,EAASrM,YAAT,eAAe4N,YAAavB,EAASmB,QAE7CnB,EAASrM,KAAO6hB,GAbwB,8CAiB5CloB,GAAImoB,0BAAyB,SAACC,GAAD,6BAAa,kCAAA/zB,EAAA,sDAClC+Z,EAAQpM,aAAaC,QAAQ,YAE7BomB,EAAUrmB,aAAaC,QAAQ,WAC/BqmB,EAActmB,aAAaC,QAAQ,eACnCsmB,EAASvmB,aAAaC,QAAQ,UAEpCmmB,EAAQL,QAAR,QAA6BM,GAAW,KACxCD,EAAQL,QAAR,YAAiCO,GAAe,QAChDF,EAAQL,QAAR,OAA4BQ,GAAU,GAElCna,EACFga,EAAQL,QAAR,+BAA6C3Z,UAEtCga,EAAQL,QAAR,cAd+B,8CAkB1C,ICzFqD/nB,EDyF/CkV,GCzF+ClV,EDyFhCA,GCjFZ,CACLkV,KAAM,CACJra,MATU,SAAAsa,GAAY,OAAInV,EAAIwoB,KAAK,aAAcrT,IAUjDla,OAPW,SAAAwtB,GAAW,OAAIzoB,EAAIwoB,KAAK,cAAe,CAAEC,iBAQpD1tB,iBAPqB,SAAA2tB,GAAM,OAAI1oB,EAAIG,IAAI,wBAAwBuoB,IAQ/DvtB,iBAPqB,SAACkF,GAAD,OAAQL,EAAIG,IAAI,mBAAmBE,IAQxDjF,cAZkB,SAAA+Z,GAAY,OAAInV,EAAIwoB,KAAK,sBAAuBrT,IAalE9Z,eAZmB,SAAA8Z,GAAY,OAAInV,EAAIwoB,KAAK,uBAAwBrT,IAapElG,aATiB,SAACxa,GAAD,OAAauL,EAAIwoB,KAAK,sBAAsB/zB,ODmF7DqQ,EE1FO,SAAyC9E,GActD,MAAO,CACL2oB,cAAe,CACb9uB,SAfa,SAAC6uB,GAAD,OAAY1oB,EAAIG,IAAI,wBAAyBuoB,IAgB1D5uB,QAXY,SAACuG,GAAD,OAAQL,EAAIG,IAAJ,gCAAiCE,KAYrDrG,WAfe,SAACvF,GAAD,OAAauL,EAAIwoB,KAAK,wBAAyB/zB,IAgB9DwF,YAfgB,SAACxF,GAAD,OAAauL,EAAIwoB,KAAK,4BAA6B/zB,IAgBnEyF,cAfkB,SAACzF,GAAD,OAAauL,EAAIwoB,KAAK,iCAAkC/zB,IAgB1E0F,WAbe,SAACkG,GAAD,OAAQL,EAAI4oB,OAAJ,4CAAgDvoB,KAcvE/F,SAfa,SAACouB,GAAD,OAAY1oB,EAAIG,IAAI,wBAAyBuoB,IAgB1DluB,SAba,SAAC,GAAD,IAAG/F,EAAH,EAAGA,QAAS4L,EAAZ,EAAYA,GAAZ,OAAqBL,EAAIM,IAAJ,0CAA2CD,GAAM5L,IAcnF4F,WAfe,SAAC5F,GAAD,OAAauL,EAAIwoB,KAAK,iCAAkC/zB,IAgBvEsF,eAvBmB,kBAAMiG,EAAIG,IAAI,gCAwBjCzF,WAfe,SAAC2F,GAAD,OAAQL,EAAI4oB,OAAJ,4CAAgDvoB,KAgBvE5F,SAfa,SAAC,GAAD,IAAGhG,EAAH,EAAGA,QAAS4L,EAAZ,EAAYA,GAAZ,OAAqBL,EAAIM,IAAJ,0CAA2CD,GAAM5L,IAgBnF8F,QAfY,SAAC8F,GAAD,OAAQL,EAAIG,IAAJ,gCAAiCE,OF6E3CwoB,CAAS7oB,IACjBC,EAAW6oB,aAAY9oB,IAEvB4F,EG7FO,SAAyC5F,GAUtD,MAAO,CACL4F,SAAU,CACR7C,eAXmB,SAAC2lB,GAAD,OAAY1oB,EAAIG,IAAJ,UAAmBuoB,IAYlD1lB,iBAXqB,SAAC3C,GAAD,OAAQL,EAAIG,IAAJ,wBAAyBE,KAYtD4C,WAXe,SAACxO,GAAD,OAAauL,EAAIwoB,KAAJ,UAAoB/zB,IAYhDyO,YAXgB,SAAC,GAAD,IAAGzO,EAAH,EAAGA,QAAS4L,EAAZ,EAAYA,GAAZ,OAAqBL,EAAIM,IAAJ,kBAAmBD,GAAM5L,IAY9D4O,cAVkB,SAAChD,GAAD,OAAQL,EAAI4oB,OAAJ,kBAAsBvoB,KAWhD+C,wBAV4B,SAAC3O,GAAD,OAAauL,EAAIM,IAAJ,qCAA6C7L,IAWtF0O,sBAb0B,SAAC1O,GAAD,OAAauL,EAAIM,IAAJ,mCAA4C7L,MHwFtEs0B,CAAY/oB,IACvB+G,EI9FO,SAAyC/G,GAUtD,MAAO,CACL+G,QAAS,CACPxD,cAXkB,SAACmlB,GAAD,OAAY1oB,EAAIG,IAAJ,SAAkBuoB,IAYhDllB,gBAXoB,SAACnD,GAAD,OAAQL,EAAIG,IAAJ,iBAAkBE,KAY9CoD,UAXc,SAAChP,GAAD,OAAauL,EAAIwoB,KAAJ,SAAmB/zB,IAY9CiP,cAXkB,SAACjP,GAAD,OAAauL,EAAIwoB,KAAJ,wBAAkC/zB,IAYjEkP,WAXe,SAAC,GAAD,IAAGlP,EAAH,EAAGA,QAAS4L,EAAZ,EAAYA,GAAZ,OAAqBL,EAAIM,IAAJ,iBAAkBD,GAAM5L,IAY5DmP,aAXiB,SAACvD,GAAD,OAAQL,EAAI4oB,OAAJ,iBAAqBvoB,KAY9CwD,kBAXsB,SAACpP,GAAD,OACxBuL,EAAIwoB,KAAJ,yCAAmD/zB,MJsFrCu0B,CAAUhpB,IACpByF,EK/FO,SAAyCzF,GAkBtD,MAAO,CACLyF,OAAQ,CAEN3B,aAlBiB,SAAC4kB,GAAD,OAAY1oB,EAAIG,IAAJ,QAAiBuoB,IAmB9CO,gBAlBoB,SAAC5oB,GAAD,OAAQL,EAAIG,IAAJ,gBAAiBE,KAmB7C2D,SAlBa,SAACvP,GAAD,OAAauL,EAAIwoB,KAAJ,QAAkB/zB,IAmB5CwP,UAjBc,SAAC,GAAD,IAAGxP,EAAH,EAAGA,QAAS4L,EAAZ,EAAYA,GAAZ,OAAqBL,EAAIM,IAAJ,gBAAiBD,GAAM5L,IAkB1DyP,YAhBgB,SAAC7D,GAAD,OAAQL,EAAI4oB,OAAJ,gBAAoBvoB,KAkB5C4C,WAfe,SAAC,GAAD,IAAGxO,EAAH,EAAGA,QAAH,OAAiBuL,EAAIwoB,KAAJ,UAAoB/zB,IAgBpDyO,YAdgB,SAAC,GAAD,IAAGzO,EAAH,EAAGA,QAAS4L,EAAZ,EAAYA,GAAZ,OAAqBL,EAAIM,IAAJ,kBAAmBD,GAAM5L,IAe9D4O,cAbkB,SAAChD,GAAD,OAAQL,EAAI4oB,OAAJ,kBAAsBvoB,OL+ErC6oB,CAAUlpB,IACnB8G,EMhGO,SAAyC9G,GAOtD,MAAO,CACL8G,OAAQ,CACNmF,aARiB,SAACyc,GAAD,OAAY1oB,EAAIG,IAAJ,QAAiBuoB,IAS9Cxc,eARmB,SAAC7L,GAAD,OAAQL,EAAIG,IAAJ,gBAAiBE,KAS5C8L,SARa,SAAC1X,GAAD,OAAauL,EAAIwoB,KAAJ,QAAkB/zB,IAS5C2X,UARc,SAAC,GAAD,IAAG3X,EAAH,EAAGA,QAAS4L,EAAZ,EAAYA,GAAZ,OAAqBL,EAAIM,IAAJ,gBAAiBD,GAAM5L,IAS1D4X,YARgB,SAAChM,GAAD,OAAQL,EAAI4oB,OAAJ,gBAAoBvoB,ON2FjC8oB,CAAUnpB,IACnB0G,EOjGO,SAAyC1G,GAapD,MAAO,CACL0G,aAAc,CACZ6F,mBAZuB,kBAAMvM,EAAIG,IAAJ,6BAa7BsM,eATmB,SAAChY,GAAD,OAAYuL,EAAIwoB,KAAJ,+BAAyC/zB,IAUxEiY,gBARoB,SAAC,GAAD,IAAEjY,EAAF,EAAEA,QAAS4L,EAAX,EAAWA,GAAX,OAAmBL,EAAIM,IAAJ,wCAAyCD,GAAM5L,IAStFkY,kBAPsB,SAACtM,GAAD,OAAQL,EAAI4oB,OAAJ,0CAA8CvoB,KAQ5EmM,qBAdyB,SAACnM,GAAD,OAAQL,EAAIG,IAAJ,kCAAmCE,OP4FrD+oB,CAAeppB,IAC9BqpB,EQlGO,SAAyCrpB,GAItD,MAAO,CACLqpB,QAAS,CACP1yB,iBALqB,kBAAMqJ,EAAIG,IAAJ,4BAM3BrJ,YALgB,kBAAMkJ,EAAIG,IAAJ,wBRgGVmpB,CAAWtpB,IACrB2G,ESnGO,SAAyC3G,GAsBtD,MAAO,CACL2G,OAAQ,CACNnH,aAvBiB,SAACkpB,GAAD,OAAY1oB,EAAIG,IAAJ,eAAwBuoB,IAwBrDjpB,SAtBa,SAAChL,GAAD,OAAauL,EAAIwoB,KAAJ,kBAA4B/zB,IAuBtDiL,UArBc,SAAC,GAAD,IAAGjL,EAAH,EAAGA,QAAS4L,EAAZ,EAAYA,GAAZ,OAChBL,EAAIM,IAAJ,2BAA4BD,GAAM5L,IAqBhCkL,YAnBgB,SAACU,GAAD,OAAQL,EAAI4oB,OAAJ,6BAAiCvoB,KAqBzDT,mBAlBuB,SAAC8oB,GAAD,OAAY1oB,EAAIG,IAAJ,qBAA8BuoB,IAmBjE7oB,eAjBmB,SAACpL,GAAD,OACrBuL,EAAIwoB,KAAJ,wBAAkC/zB,IAiBhCqL,gBAfoB,SAAC,GAAD,IAAGrL,EAAH,EAAGA,QAAS4L,EAAZ,EAAYA,GAAZ,OACtBL,EAAIM,IAAJ,iCAAkCD,GAAM5L,IAetCsL,kBAbsB,SAACM,GAAD,OACxBL,EAAI4oB,OAAJ,mCAAuCvoB,OT+E1BkpB,CAASvpB,IAClBiH,EUpGO,SAAyCjH,GAatD,MAAO,CACLwpB,OAAQ,CACNhrB,aARiB,SAACkqB,GAAD,OAAY1oB,EAAIG,IAAJ,SAS7Bf,UARc,SAACspB,GAAD,OAAY1oB,EAAIG,IAAJ,OAAgBuoB,IAS1CrpB,WARe,SAAC5K,GAAD,OAAauL,EAAIwoB,KAAJ,OAAiB/zB,IAS7C6K,SARa,SAAC,GAAD,IAAGe,EAAH,EAAGA,GAAI5L,EAAP,EAAOA,QAAP,OAAqBuL,EAAIM,IAAJ,eAAgBD,GAAM5L,IASxD8K,WARe,SAACc,GAAD,OAAQL,EAAI4oB,OAAJ,eAAmBvoB,KAS1ClB,gBAjBoB,kBAAMa,EAAIG,IAAJ,YAkB1BnB,cAjBkB,SAACvK,GAAD,OAAauL,EAAIwoB,KAAJ,sBAAgC/zB,IAkB/DwK,YAjBgB,SAAC,GAAD,IAAGoB,EAAH,EAAGA,GAAI5L,EAAP,EAAOA,QAAP,OAAqBuL,EAAIM,IAAJ,+BAAgCD,GAAM5L,IAkB3EyK,cAjBkB,SAACmB,GAAD,OAAQL,EAAI4oB,OAAJ,iCAAqCvoB,OV8FpDopB,CAAQzpB,IACjBqH,EWrGO,SAAyCrH,GAWpD,MAAO,CACL0pB,cAAe,CACbC,oBAVwB,SAACjB,GAAD,OAAY1oB,EAAIG,IAAJ,cAAsBuoB,IAW1DkB,eATmB,SAACn1B,GAAD,OAAcuL,EAAIwoB,KAAJ,cAAwB/zB,IAUzDo1B,gBARoB,SAAC,GAAD,IAAGp1B,EAAH,EAAGA,QAAS4L,EAAZ,EAAYA,GAAZ,OAAoBL,EAAIM,IAAJ,sBAAuBD,GAAM5L,IASrEq1B,kBAPsB,SAACzpB,GAAD,OAAQL,EAAI4oB,OAAJ,sBAA0BvoB,OX4FxC0pB,CAAe/pB,IAC/BuH,EYtGO,SAAyCvH,GAOpD,MAAO,CACLuH,UAAW,CACTqF,gBARoB,SAAC8b,GAAD,OAAY1oB,EAAIG,IAAJ,WAAmBuoB,IASpD7b,kBARsB,SAACxM,GAAD,OAAQL,EAAIG,IAAJ,6BAA8BE,KAS5DyM,YARiB,SAACrY,GAAD,OAAauL,EAAIwoB,KAAJ,yBAAmC/zB,IASjEsY,aARkB,SAAC,GAAD,IAAG1M,EAAH,EAAGA,GAAI5L,EAAP,EAAOA,QAAP,OAAqBuL,EAAIM,IAAJ,kCAAmCD,GAAM5L,IAShFuY,eARoB,SAAC3M,GAAD,OAAQL,EAAI4oB,OAAJ,oCAAwCvoB,OZiGvD2pB,CAAYhqB,IACxB4H,EavGO,SAAyC5H,GAyBpD,MAAO,CACLiqB,UAAW,CACT1rB,gBAxBoB,SAACmqB,GAAD,OAAY1oB,EAAIG,IAAJ,qBAA6BuoB,IAyB7D/pB,YAnBgB,SAAClK,GAAD,OAAauL,EAAIwoB,KAAJ,wBAAkC/zB,IAoB/DoK,aAjBiB,SAAC,GAAD,IAAGpK,EAAH,EAAGA,QAAS4L,EAAZ,EAAYA,GAAZ,OAAoBL,EAAIM,IAAJ,iCAAkCD,GAAM5L,IAkB7EmK,eAhBmB,SAACyB,GAAD,OAAQL,EAAI4oB,OAAJ,mCAAuCvoB,KAiBlE3B,YApBgB,SAAC2B,GAAD,OAAQL,EAAIG,IAAJ,mBAAoBE,KAqB5C7B,aA3BiB,kBAAMwB,EAAIG,IAAJ,SA4BvB1B,kBA1BsB,SAACiqB,GAAD,OAAY1oB,EAAIG,IAAJ,yBAAiCuoB,IA2BnE5pB,2BAlB6B,SAAC4pB,GAAD,OAAY1oB,EAAIG,IAAJ,iCAA0CuoB,IAmBnF3pB,sBAjBwB,SAACtK,GAAD,OAC5BuL,EAAIwoB,KAAJ,6CAEE/zB,MbkFcy1B,CAAYlqB,IACxB4I,EcxGO,SAAyC5I,GAYpD,MAAO,CACLmqB,YAAa,CACX1rB,kBAXsB,SAACiqB,GAAD,OAAY1oB,EAAIG,IAAJ,yBAAiCuoB,IAYnElgB,cAVkB,SAAC/T,GAAD,OAAauL,EAAIwoB,KAAJ,wBAAkC/zB,IAWjEiU,eARmB,SAAC,GAAD,IAAGjU,EAAH,EAAGA,QAAS4L,EAAZ,EAAYA,GAAZ,OAAoBL,EAAIM,IAAJ,qCAAsCD,GAAM5L,IASnFgU,iBAPqB,SAACpI,GAAD,OAAQL,EAAI4oB,OAAJ,uCAA2CvoB,KAQxEiI,cAXkB,SAACjI,GAAD,OAAQL,EAAIG,IAAJ,qBAAsBE,OdiGlC+pB,CAAcpqB,IAC5BqqB,EezGO,SAAyCrqB,GAYtD,MAAO,CACLqqB,QAAS,CAEPlmB,sBAb0B,SAACukB,GAAD,OAAY1oB,EAAIG,IAAJ,iBAA0BuoB,IAchEtkB,wBAb4B,SAAC/D,GAAD,OAAQL,EAAIG,IAAJ,yBAA0BE,KAe9DgE,sBAZ0B,SAACqkB,GAAD,OAAY1oB,EAAIG,IAAJ,iBAA0BuoB,IAahEpkB,kBAZsB,SAAC7P,GAAD,OAAauL,EAAIwoB,KAAJ,iBAA2B/zB,IAa9D8P,mBAZuB,SAAC,GAAD,IAAG9P,EAAH,EAAGA,QAAS4L,EAAZ,EAAYA,GAAZ,OACzBL,EAAIM,IAAJ,yBAA0BD,GAAM5L,IAY9B+P,qBAXyB,SAACnE,GAAD,OAAQL,EAAI4oB,OAAJ,yBAA6BvoB,Of+FlDiqB,CAAWtqB,IACrBkI,EgB1GO,SAAyClI,GAgBtD,MAAO,CACLmI,OAAQ,CACNrM,qBAdyB,SAACuE,GAAD,OAAQL,EAAIG,IAAJ,8BAA+BE,KAehEtE,aATiB,SAACtH,GAAD,OAAauL,EAAIwoB,KAAK,oBAAqB/zB,IAU5DmH,iBAjBqB,SAAC8sB,GAAD,OAAY1oB,EAAIG,IAAI,wBAAwBuoB,IAkBjE/sB,WApBe,SAAC+sB,GAAD,OAAY1oB,EAAIG,IAAI,SAAUuoB,IAqB7ChtB,gBAjBoB,SAAC2E,GAAD,OAAQL,EAAIG,IAAJ,iBAAkBE,KAkB9CnE,aAjBiB,SAACmE,GAAD,OAAQL,EAAI4oB,OAAJ,+BAAmCvoB,KAkB5DpE,WAjBe,SAAC,GAAD,IAAGxH,EAAH,EAAGA,QAAS4L,EAAZ,EAAYA,GAAZ,OACjBL,EAAIM,IAAJ,6BAA8BD,GAAM5L,IAiBlCoH,eAvBmB,kBAAMmE,EAAIG,IAAI,wBAwBjCnE,kBAfsB,SAACvH,GAAD,OAAauL,EAAIwoB,KAAK,6BAA8B/zB,IAgB1E0H,kBAfsB,SAAC1H,GAAD,OAAauL,EAAIwoB,KAAK,sBAAuB/zB,IAgBnE4H,mBAfuB,SAAC,GAAD,IAAEgE,EAAF,EAAEA,GAAG5L,EAAL,EAAKA,QAAL,OAAkBuL,EAAIM,IAAJ,+BAAgCD,GAAM5L,IAgB/E2H,qBAfyB,SAACiE,GAAD,OAAQL,EAAI4oB,OAAJ,iCAAqCvoB,OhB4F1DkqB,CAAWvqB,IACrBwqB,EiB3GO,SAAyCxqB,GActD,MAAO,CACLyqB,UAAW,CACT5f,eAfmB,kBAAM7K,EAAIG,IAAJ,2BAgBzB2K,kBAfsB,SAAC4f,GAAD,OAAa1qB,EAAIG,IAAJ,iCAA0CuqB,IAgB7E3f,YAfgB,SAAC2f,GAAD,OAAa1qB,EAAIG,IAAJ,mCAA4CuqB,IAgBzE1f,UAfc,SAAC0f,GAAD,OAAa1qB,EAAIG,IAAJ,iCAA0CuqB,IAgBrEzf,mBAduB,SAACyd,GAAD,OACzB1oB,EAAIG,IAAJ,yBAAkCuoB,IAchCxd,wBAb4B,SAAC7K,GAAD,OAC9BL,EAAIG,IAAJ,iCAAkCE,KAahC8K,oBAXwB,SAACuf,GAAD,OAC1B1qB,EAAIG,IAAJ,8BAAuCuqB,MjB+FtBC,CAAa3qB,IAC1BkJ,EkB5GO,SAAyClJ,GAOpD,MAAO,CACHkJ,eAAgB,CACZ+D,kBARkB,SAACyb,GAAD,OAAY1oB,EAAIG,IAAJ,gBAAyBuoB,IASvDxb,uBARuB,SAAC7M,GAAD,OAAQL,EAAIG,IAAJ,uCAAwCE,KASvE8M,iBARiB,SAAC1Y,GAAD,OAAauL,EAAIwoB,KAAJ,mCAA6C/zB,IAS3E2Y,kBARkB,SAAC,GAAD,IAAG/M,EAAH,EAAGA,GAAI5L,EAAP,EAAOA,QAAP,OAAqBuL,EAAIM,IAAJ,4CAA6CD,GAAM5L,IAS1F4Y,oBARoB,SAAChN,GAAD,OAAQL,EAAI4oB,OAAJ,8CAAkDvoB,OlBuGjEuqB,CAAiB5qB,IAClCoJ,EmB7GO,SAAyCpJ,GAQpD,MAAO,CACHoJ,cAAe,CACXyhB,oBAPoB,SAACnC,GAAD,OAAY1oB,EAAIG,IAAJ,UAAmBuoB,IAQnDoC,sBALsB,SAACzqB,GAAD,OAAQL,EAAIG,IAAJ,wCAAyCE,KAMvE0qB,kBARkB,SAACrC,GAAD,OAAY1oB,EAAIG,IAAJ,0BAAmCuoB,IASjEsC,oBARoB,SAACv2B,GAAD,OAAauL,EAAIG,IAAJ,kCAA2C1L,MnBwGhEw2B,CAAgBjrB,IAChCyJ,EoB9GO,SAAyCzJ,GAYpD,MAAO,CACHkrB,WAAY,CACR3f,kBAZkB,SAACmd,GAAD,OAAY1oB,EAAIG,IAAJ,aAAsBuoB,IAapDld,oBAZoB,SAACnL,GAAD,OAAQL,EAAIG,IAAJ,qBAAsBE,KAalDoL,iBAZiB,SAAChX,GAAD,OAAauL,EAAIwoB,KAAJ,aAAuB/zB,IAarDiX,iBAXiB,SAAC,GAAD,IAAGjX,EAAH,EAAGA,QAAS4L,EAAZ,EAAYA,GAAZ,OAAqBL,EAAIM,IAAJ,qBAAsBD,GAAM5L,IAYlEkX,iBAViB,SAACtL,GAAD,OAAQL,EAAI4oB,OAAJ,qBAAyBvoB,OpBsGxC8qB,CAAcnrB,IAC5B4J,EqB/GO,SAAyC5J,GAYpD,MAAO,CACHorB,QAAS,CACLxf,eAZe,SAAC8c,GAAD,OAAY1oB,EAAIG,IAAJ,UAAmBuoB,IAa9C7c,iBAZiB,SAACxL,GAAD,OAAQL,EAAIG,IAAJ,kBAAmBE,KAa5CyL,cAZc,SAACrX,GAAD,OAAauL,EAAIwoB,KAAJ,UAAoB/zB,IAa/CsX,cAXc,SAAC,GAAD,IAAGtX,EAAH,EAAGA,QAAS4L,EAAZ,EAAYA,GAAZ,OAAqBL,EAAIM,IAAJ,kBAAmBD,GAAM5L,IAY5DuX,cAVc,SAAC3L,GAAD,OAAQL,EAAI4oB,OAAJ,kBAAsBvoB,OrBuGrCgrB,CAAWrrB,IACtBsrB,EsBhHO,SAAyCtrB,GA0DtD,MAAO,CACLsrB,MAAO,CACLn0B,aA1DiB,SAACuxB,GAAD,OAAY1oB,EAAIG,IAAI,gBAAiBuoB,IA2DtDtxB,eAzDmB,SAACiJ,GAAD,OAAQL,EAAIG,IAAI,eAAiBE,IA0DpDhJ,YAxDgB,SAAC5C,GAAD,OAAauL,EAAIwoB,KAAK,gBAAiB/zB,IAyDvD6C,YAvDgB,SAAC,GAAD,IAAG7C,EAAH,EAAGA,QAAS4L,EAAZ,EAAYA,GAAZ,OAAqBL,EAAIM,IAAJ,gBAAiBD,GAAM5L,IAwD5D8C,YAtDgB,SAAC8I,GAAD,OAAQL,EAAI4oB,OAAO,iBAAmBvoB,IAuDtD7I,gBApDoB,SAAC6I,GAAD,OAAQL,EAAIG,IAAI,kBAAmBE,IAqDvD1I,qBAhDyB,SAAC+wB,GAAD,OAC3B1oB,EAAIG,IAAI,4BAA6BuoB,IAgDnCjxB,kBArDsB,SAAChD,GAAD,OAAauL,EAAIwoB,KAAK,oBAAqB/zB,IAsDjEiD,mBArDuB,SAACjD,GAAD,OACzBuL,EAAIwoB,KAAK,qBAAsB/zB,IAqD7BmD,kBAjDsB,SAACnD,GAAD,OAAauL,EAAIwoB,KAAK,oBAAqB/zB,IAkDjEoD,mBAhDuB,SAACpD,GAAD,OACzBuL,EAAIwoB,KAAK,qBAAsB/zB,IAgD7BqD,kBA9CsB,SAACrD,GAAD,OACxBuL,EAAIwoB,KAAK,uBAAwB/zB,IA8C/BsD,oBA1CwB,SAACtD,GAAD,OAC1BuL,EAAIG,IAAI,uBAAwB1L,IA0C9BuD,mBAxCuB,SAACvD,GAAD,OACzBuL,EAAIwoB,KAAK,wBAAyB/zB,IAwChCwD,mBA/CuB,SAACxD,GAAD,OACzBuL,EAAIwoB,KAAK,wBAAyB/zB,IAiDhCyD,sBAxC0B,SAACzD,GAAD,OAC5BuL,EAAIG,IAAI,yBAA0B1L,IAwChC0D,uBAtC2B,SAACuwB,GAAD,OAC7B1oB,EAAIG,IAAI,8BAA+BuoB,IAsCrCtwB,qBApCyB,SAAC3D,GAAD,OAC3BuL,EAAIwoB,KAAK,0BAA2B/zB,IAoClC4D,qBAlCyB,SAAC5D,GAAD,OAC3BuL,EAAIwoB,KAAK,uBAAwB/zB,IAkC/B6D,qBAhCyB,SAAC7D,GAAD,OAC3BuL,EAAIwoB,KAAK,0BAA2B/zB,IAgClC8D,oBA9BwB,SAAC9D,GAAD,OAC1BuL,EAAIwoB,KAAK,sBAAuB/zB,IA8B9B+D,oBA5BwB,SAAC/D,GAAD,OAC1BuL,EAAIwoB,KAAK,yBAA0B/zB,MtBwDvB82B,CAASvrB,IACjBwrB,EuBjHO,SAAyCxrB,GAqBtD,MAAO,CACLyrB,UAAW,CACT5yB,WAtBe,SAAC6vB,GAAD,OAAY1oB,EAAIG,IAAI,eAAgBuoB,IAuBnD5vB,cAtBkB,SAACuH,GAAD,OAAQL,EAAIG,IAAI,cAAgBE,IAuBlDtH,WAtBe,SAACtE,GAAD,OAAauL,EAAIwoB,KAAK,eAAgB/zB,IAuBrDuE,WAtBe,SAACvE,GAAD,OAAauL,EAAIM,IAAI,aAAc7L,IAuBlDwE,WAtBe,SAACoH,GAAD,OAAQL,EAAI4oB,OAAO,gBAAkBvoB,IAwBpDlH,iBArBqB,SAAC1E,GAAD,OAAauL,EAAIwoB,KAAK,kCAAmC/zB,IAsB9E2E,mBAnBuB,SAACsvB,GAAD,OAAY1oB,EAAIG,IAAI,sCAAuCuoB,IAoBlFrvB,sBAnB0B,SAACqvB,GAAD,OAAY1oB,EAAIG,IAAI,0CAA2CuoB,IAoBzFxvB,yBAvB6B,SAAC,GAAD,IAAEwyB,EAAF,EAAEA,YAAYC,EAAd,EAAcA,aAAd,OACjC3rB,EAAI4oB,OAAJ,4CAAgD8C,EAAhD,YAA+DC,KAwB3DryB,cAnBkB,SAACovB,GAAD,OAAY1oB,EAAIG,IAAI,qBAAsBuoB,IAoB5DnvB,gBAnBoB,SAAC8G,GAAD,OAAQL,EAAIG,IAAI,qBAAuBE,IAoB3D7G,aAnBiB,SAAC/E,GAAD,OAAauL,EAAIwoB,KAAK,2BAA4B/zB,IAoBnEgF,aAnBiB,SAAChF,GAAD,OAAauL,EAAIM,IAAI,yBAA0B7L,IAoBhEiF,aAnBiB,SAAC2G,GAAD,OAAQL,EAAI4oB,OAAO,4BAA8BvoB,MvB8FhDurB,CAAiB5rB,IACjC2nB,EwBlHO,SAAyC3nB,GAQtD,MAAO,CACL2nB,iBAAkB,CAChBkE,gBAToB,SAACp3B,GAAD,OACtBuL,EAAIwoB,KAAJ,oCAA8C/zB,IAS5Cq3B,gBARoB,SAACr3B,GAAD,OACtBuL,EAAIwoB,KAAJ,oCAA8C/zB,IAQ5Cs3B,qBAP2B,SAACt3B,GAAD,OAC3BuL,EAAIwoB,KAAJ,0CAAoD/zB,MxB4G/Bu3B,CAAoBhsB,IAE7C,OAAO,qUACLisB,UAAWjsB,GAAIisB,UACfC,WAAYlsB,GAAIksB,YACbhX,GACApQ,GACA7E,GACAwF,GACAG,GACAkB,GACAJ,GACA2iB,GACA1iB,GACAI,GACAE,GACAI,GACAE,GACAK,GACAyiB,GACAniB,GACAU,GACAyhB,GACAG,GACAthB,GACAE,GACAK,GACAG,GACA0hB,GACAE,GACA7D,GA5BL,IA6BEjU,WAAU,UAAE1T,UAAF,aAAE,EAAK0T,c,ayB5IRyY,GAAUC,kCAChB,GCIQ,SAAwBp2B,EAAcm2B,GAEnD,IACME,EAAc,CAAErsB,IADVssB,MAENC,EAAkBC,YAAsB,YAAIC,IAASJ,GAKrDK,EAAc,CAGlBH,EACAI,YAAiBR,IAGbS,EAAY,CAACC,IAAe,WAAf,EAAmBH,IAIhCI,EAGAC,IAGAC,EzDIO,SAAuBC,EAAed,GACnD,OAAOe,YACLvb,EACAwb,YAAgB,2BACXF,GADU,IAEbG,OAAQC,YAAclB,GACtBvrB,IAAK0sB,EAAQ,KAAiBvoB,QAC9BmQ,KAAM3G,EACN8B,OAAQW,EACRuc,OAAQnc,EACRuX,cAAe2E,EAAQ,KAA4BvoB,QACnD9E,SAAUqtB,EAAQ,KAAqBvoB,QACvCU,OAAQ6nB,EAAQ,KAAoBvoB,QACpCa,SAAU0nB,EAAQ,KAAsBvoB,QACxCskB,QAASiE,EAAQ,KAAqBvoB,QACtC2B,aAAc4mB,EAAQ,KAAyBvoB,QAC/C4B,OAAQ2mB,EAAQ,KAAmBvoB,QACnC+B,OAAQwmB,EAAQ,KAAoBvoB,QACpCgC,QAASumB,EAAQ,KAAqBvoB,QACtCkC,OAAQqmB,EAAQ,KAAkBvoB,QAClCsC,cAAeimB,EAAQ,KAA2BvoB,QAClDwC,UAAW+lB,EAAQ,KAAsBvoB,QACzC6C,UAAW0lB,EAAQ,KAAsBvoB,QACzCoD,OAAQmlB,EAAQ,KAAoBvoB,QACpC6D,YAAa0kB,EAAQ,KAAwBvoB,QAC7CslB,QAASiD,EAAQ,KAAqBvoB,QACtC0lB,UAAW6C,EAAQ,KAAuBvoB,QAC1CmE,eAAgBokB,EAAQ,KAA2BvoB,QACnDqE,cAAekkB,EAAQ,KAA2BvoB,QAClDmmB,WAAYoC,EAAQ,KAAwBvoB,QAC5C6E,SAAU0jB,EAAQ,KAAqBvoB,QACvCumB,MAAOgC,EAAQ,KAAmBvoB,QAClC0mB,UAAW6B,EAAQ,KAA2BvoB,QAC9C4iB,iBAAkB2F,EAAQ,KAA8BvoB,QACxDyoB,KAAMF,EAAQ,KAAmBvoB,YyDtCjBC,CAAkC,GAAImnB,GAEpDsB,EAAQC,YAAYV,EAAah3B,EAAc82B,EAAgB,WAAhB,EAAoBF,IACnEe,EAAiBC,YAAaH,GAoBpC,OAjBAA,EAAMlB,gBAAkBA,EACxBkB,EAAMR,cAAgB,GACtBQ,EAAMtB,QAAUA,EAeT,CAAEsB,QAAOE,kBDrDuBE,CAFpB,GAEiD1B,IAAvDsB,GAAR,GAAQA,M,IAAR,GAAeE,e,6HEoEtBG,KAAOC,OAhEc,SAAC,GAA+C,IAA7CttB,EAA4C,EAA5CA,UAAW/D,EAAiC,EAAjCA,SAAUsxB,EAAuB,EAAvBA,QAAYC,EAAW,mBAElE,EAA8BtxB,oBAAS,GAAvC,oBAAOuxB,EAAP,KAAgBC,EAAhB,KACA,EAAoCxxB,oBAAS,GAA7C,oBAAOyxB,EAAP,KAAmBC,EAAnB,KACA,EAA4B1xB,mBAAS,CAAE8U,GAAI,EAAG6c,GAAI,IAAlD,oBAAOC,EAAP,KAAeC,EAAf,KA2BA,OAxBA1xB,qBAAU,WAER,OADAqxB,GAAW,GACJ,kBAAMA,GAAW,MACvB,IAGHrxB,qBAAU,WACJoxB,KACgB,IAAdK,EAAO9c,IAA0B,IAAd8c,EAAOD,GAC5BD,GAAc,GACdI,YAAW,kBAAMJ,GAAc,KAAQ,MAEvCA,GAAc,MAGjB,CAACE,IAGJzxB,qBAAU,WACJoxB,IACGE,GAAYI,EAAU,CAAE/c,GAAI,EAAG6c,GAAI,OAEzC,CAACF,IAGF,eAACN,GAAA,EAAD,yBACErtB,UAAWiuB,KAAW,eAAD,eAClBjuB,EAAYA,IAEfutB,QAAS,SAAAngB,GACP,IAAM8gB,EAAO9gB,EAAE+gB,OAAOC,wBACtBL,EAAU,CAAE/c,EAAG5D,EAAEihB,QAAUH,EAAKI,KAAMT,EAAGzgB,EAAEmhB,QAAUL,EAAKM,MACtDjB,GACFA,EAAQngB,KAGRogB,GAXN,cAaGvxB,EACA0xB,EACC,sBACE3tB,UAAU,eACVyuB,MAAO,CACLH,KAAMR,EAAO9c,EACbwd,IAAKV,EAAOD,KAGd,U,+DCnDUa,QACW,cAA7BpyB,OAAOqyB,SAASC,UAEe,UAA7BtyB,OAAOqyB,SAASC,UAEhBtyB,OAAOqyB,SAASC,SAASC,MAAM,2D,kCChBpB,OCFf,WAIE,aAAe,0BAHfphB,KAAO,KAGO,KAFdqhB,YAAc,GAEA,KADdrqB,MAAQ,GAENsqB,KAAKC,eALT,iDAQE,WACE,IAAIpqB,EAAIrD,aAAaC,QAAQ,YAC7ButB,KAAKthB,KAAO7I,EAAIqJ,KAAKC,MAAMtJ,GAAK,KAChCmqB,KAAKD,YAAcC,KAAKthB,KAAOQ,KAAKC,MAAM6gB,KAAKthB,KAAKqhB,aAAe,GACnEC,KAAKtqB,MAAQsqB,KAAKthB,MAAOshB,KAAKthB,KAAKU,MAAOF,KAAKC,MAAM6gB,KAAKthB,KAAKU,OAAO,KAZ1E,iBAcE,SAAI8gB,GAIF,OAHKF,KAAKthB,MACRshB,KAAKC,eAEAD,KAAKD,YAAYplB,SAASulB,OAlBrC,M,0BCKaC,GAAiBC,IAAMpzB,gBA6BrBqzB,OA3Bf,YAAkD,IAAvBnzB,EAAsB,EAAtBA,SAAaozB,EAAS,mBAE7C,ECJsB,WACtB,IACIC,GADQ,IAAIC,MAEXC,QADiB,UACNC,KAAOC,QADD,oBAEd,CACIC,mBAAoB,kBAAMpuB,aAAaC,QAAQ,eAGtDouB,yBACAC,iBAAiBN,KAAiBO,OAClCC,QAVuB,SAiCbC,EAjCa,8EAiC5B,WAAuBC,GAAvB,SAAAr8B,EAAA,yDACS67B,KAAOF,QADhB,iDAEIU,EAAKC,QAAQC,OAAM,SAAA/iB,GACfgjB,EAAM,KAENJ,EAAQC,MALhB,4CAjC4B,+BA0CbG,EA1Ca,8EA0C5B,WAAqBC,GAArB,SAAAz8B,EAAA,+EACW,IAAIqZ,SAAQ,SAAAC,GAAO,OAAI8gB,WAAW9gB,EAASmjB,OADtD,4CA1C4B,sBA8C5B,IAMMruB,EAAWC,cAQjB,MAAO,CACHquB,SAlDa,SAAC3iB,GACd,GAAK8hB,KAAOF,QAAZ,CACA,IAEID,EAAWY,QACN/iB,OACAgjB,OAAM,SAAAI,OAIb,MAAOhf,IAIT+d,EAAWkB,SAAQ,SAACjf,GAEhBye,EAAQV,QAmCZmB,gBAToB,WACfhB,KAAOF,SACZD,EAAWoB,GAAG,kBAAkB,SAACzhB,GAC7BjN,EAASjH,IAAYV,YAAY4U,QAOrC0hB,SAjBa,WACTrB,GACAA,EAAWsB,SD5C4BC,GAAvCP,EAAR,EAAQA,SAAUG,EAAlB,EAAkBA,gBAAiBE,EAAnC,EAAmCA,SAE/BljB,EACAqjB,aAAY,SAAA/8B,GAAK,OAAIA,EAAM0gB,QAD3BhH,KAcJ,OAZA0hB,IAAM9yB,WAAU,WACZ,GAAIoR,EAAM,CACN,IAAME,EAAQpM,aAAaC,QAAQ,YAInC,OAFA8uB,EAAS3iB,QACT8iB,IAGJE,MACD,CAACljB,IAIA,cAACyhB,GAAezxB,SAAhB,CACIC,MAAK,2BAAO2xB,GAAP,IAAciB,SAAUA,EAAUG,gBAAiBA,IAD5D,SAGKx0B,KElBE80B,OARf,WACE,OACE,qBAAK/wB,UAAU,SAAf,SACE,cAAC,IAAD,CAAOJ,GAAG,cCyCVoxB,GAAUC,gBAAK,kBAAM,0DAE3BC,IAASC,OACP,cAAC,IAAD,CAAUnE,MAAOA,GAAjB,SACE,cAAC,IAAD,CAAiBtB,QAASA,GAA1B,SACE,cAAC,WAAD,CAAU0F,SAAU,cAAC,KAAD,IAApB,SACE,cAAC,KAAe3zB,SAAhB,CAAyBC,MAAO2zB,GAAhC,SACE,cAAC,KAAD,UACE,cAAC,KAAD,UACE,eAAC,GAAD,WAGE,cAAC,GAAD,IACA,cAACL,GAAD,IACA,cAAC,IAAD,CAAgBM,aAAW,mBASzC50B,SAAS60B,eAAe,SNqDpB,kBAAmBC,WACrBA,UAAUC,cAAcC,MAAMvkB,MAAK,SAAAwkB,GACjCA,EAAaC,iB,mGO3HNC,E,OAAoBC,WAAWC,I,uBCKtCx8B,EAAY,aAChBy8B,iBAAkB/wB,IAClBR,OAAQQ,IAAO,GACfgxB,UAAWJ,EACXK,gBDP8B,MCQ9BC,aAAc,YACdC,SAAU,GACVC,iBAAiB,EACjBziB,OAAQ,WACR0iB,MAAO,QACPC,kBAAkB,EAClBC,YAAa,UACbC,WAAY,WACZC,WAAY,SACZC,mBAAmB,EACnBC,iBAAiB,EACjBC,UAAW,UACXC,aAAc,GACdtiB,YAAa,GACbuiB,QAAS,GACTC,WAAW,WACXC,YAAY,UACZC,YAAY,MACT//B,YAAa,iBAiDLmR,EAAUC,YAAchP,EAAD,YAAC,2BAChCb,YAAa+B,IAAa,CAAC5B,OAAO,eAAeC,OAAM,EAAMV,UAX7C,SAACL,EAAMG,EAAOF,GAC/BE,EAAMm+B,iBAAkB,MAWvB39B,YAAa+B,IAAa,CAAC5B,OAAO,iBAAiBC,OAAM,EAAMV,UAR7C,SAACL,EAAMG,EAAOF,GACjCE,EAAMm+B,iBAAkB,MAQvB39B,YAAa+B,IAAa,CAAC5B,OAAO,eAAeC,OAAM,EAAMV,UAjD7C,SAACL,EAAOG,EAAOuM,GAElC,IAAI0yB,EAAUlyB,IAAQR,EAAOqB,MACxBqxB,IAASA,EAAUlyB,IAAO,IAE/B/M,EAAMuM,OAAS0yB,EACfj/B,EAAM+9B,UAAgD,QAApCkB,EAAQlB,UAAU5jB,cAA0B,MAAQ,MACtE9M,aAAa+M,QAAQ,UAAW6kB,EAAQrxB,MACxCP,aAAa+M,QAAQ,WAAY6kB,EAAQrxB,MACzCP,aAAa+M,QAAQ,cAAe6kB,EAAQvL,SAC5CrmB,aAAa+M,QAAQ,QAAS6kB,EAAQxjB,OAMtCjT,SAAS02B,qBAAqB,QAAQ,GAAGC,aAAa,MAAOF,EAAQlB,WACrEv1B,SAAS02B,qBAAqB,QAAQ,GAAGC,aAAa,MAAOF,EAAQlB,WACrEv1B,SAAS02B,qBAAqB,QAAQ,GAAGC,aAAa,YAAaF,EAAQlB,WAC3Ev1B,SAAS02B,qBAAqB,QAAQ,GAAG3E,MAAMwD,UAAUkB,EAAQlB,UACjEv1B,SAAS02B,qBAAqB,QAAQ,GAAG3E,MAAM6E,UAA8B,QAApBH,EAAQlB,UAAkB,QAAQ,c,gCCrD7F,6CAEA,EAA4Bh8B,YAC1B,CACEizB,oBAAqB,CAAE/yB,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACzDq0B,eAAgB,CAAEhzB,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACpDs0B,gBAAiB,CAAEjzB,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACrDu0B,kBAAmB,CAAElzB,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACvDkD,WAAY,CAAE7B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IACvCmD,iBAAkB,CAAE9B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IAC7CoD,YAAa,CAAE/B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,KAE1C,CACEwB,OAAQ,wBAXJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAcFC,EAAcF,EACZC,O,gCCjBf,+EAEA,EAA4BP,YAC1B,CACEs9B,KAAM,CAAEp9B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IACjCqN,aAAc,CAAEhM,KAAM,CAAC,YACvBq9B,eAAgB,CAAEr9B,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACpD2+B,mBAAoB,CAAEt9B,KAAM,CAAC,YAC7Bu9B,aAAc,CAAEv9B,KAAM,IACtBw9B,eAAgB,CAAEx9B,KAAM,IACxBy9B,aAAa,CAAEz9B,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IACxC6J,UAAU,CAAExI,KAAM,GAAIC,KAAM,CAAEtB,OAAO,KAEvC,CACEwB,OAAQ,cAZJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAgBFC,EAAcF,EAEd2L,EAAa1L,G,gCCpB1B,6CAEA,EAA4BP,YACxB,CACIm0B,oBAAqB,CAAEj0B,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACzDw1B,kBAAmB,CAAEn0B,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACvDy1B,oBAAqB,CAAEp0B,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACzDu1B,sBAAuB,CAAEl0B,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,KAG/D,CACIwB,OAAQ,wBATRC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAYFC,EAAcF,EACZC,O,gCCff,kCAEO,IAAMyK,EAAU,CACrB,GAAM,CACJ,KAAQ,KACR,KAAQ,6CACR,UAAa,MAEb,QAAW,QACX4yB,KAAK,KACLlkB,OAAM,EACN9N,SAAS,GAEX,GAAM,CACJ,KAAQ,KACR,KAAQ,UACR,UAAa,MAEb,QAAW,QACXgyB,KAAK,KACLhyB,SAAS,K,sKCTPiyB,EAAeC,YAAQ,CAACt+B,IAAOu+B,MAE/BC,EAAiB,CACrB39B,OAAQ,IAGK,WAAC49B,GAAyB,IAAlBt/B,EAAiB,uDAAP,GAC/B,GAAIk/B,EAAaI,GAAQ,MAAM,IAAIh/B,MAAM,4BAEzC,MAAmBi/B,YAAMF,EAAgBr/B,GAAjC0B,EAAR,EAAQA,OAER,OAAO89B,YACLv3B,IACA2U,YAAM,MACN7d,YAAIkJ,KACJw3B,YAAOP,GACPngC,aAAI,SAAAqd,GAAC,MAAI,CAACA,EAAG1a,EAAS0a,MACtBsjB,IANKF,CAOLF,I,uFCbED,EAAiB,CACrB39B,OAAQ,IAQJi+B,EAAwBH,YAC5Bp/B,YAJc,yCAIG,OACjBw/B,KAIIC,EAAiB,SAAChF,EAAQ76B,GAC9B,IAAM8/B,EAAOP,YAAMF,EAAgBr/B,GAC3B+/B,EAAgCD,EAAhCC,eAAgBC,EAAgBF,EAAhBE,YAExB,OAAOR,YACL3gC,KACA,SAAAA,GACE,OAAOA,EAAKE,KAAI,SAAAkhC,GACd,IAAMC,EAAUrF,EAAOoF,GACvB,OAAIC,GAAWA,EAAQ1+B,MAAQ0+B,EAAQ1+B,KAAKtB,MACnC,CAAC+/B,EAAD,UAAOA,GAAP,OAAWF,GAAkB,WAA7B,UAA6CE,GAA7C,OAAiDD,GAAe,SAC3DC,OAGlBE,IACAphC,YAAI4gC,GACJ1iB,YAAK,MACL,SAAAqiB,GAAK,OAAIc,EAAYd,EAAOQ,KAbvBN,CAcL3E,IAuEEwF,EAAoB,SAACxF,EAAQ76B,GACjC,IAAIsgC,EAAW,GAWf,OAVAC,aAAc,SAACC,EAAKp0B,EAAKtD,GACG,oBAAfA,EAAMsD,GAEfk0B,EAASl0B,GAAOtD,EAAMsD,GAGtBk0B,EAAWf,YAAMe,EAAD,eA3EM,SAACvqB,EAAM8kB,EAAQ76B,GACzC,IAAQ0B,EAAW69B,YAAMF,EAAgBr/B,GAAjC0B,OAEFP,EAAI,UAAMO,GAAN,OAAei+B,EAAsB5pB,IAEvCxU,EAAes5B,EAAft5B,KAAMC,EAASq5B,EAATr5B,KACR8+B,EAAW,GAMjB,GAHez/B,YAAMU,IAAS69B,YAAQ79B,GAIpC++B,EAASvqB,GAAQ,iBAAO,CAAE5U,OAAMK,KAAK,eAAMA,UAIxC,GAAIV,YAAG2/B,MAAOl/B,GACjB++B,EAASvqB,GAAQ,WAAgB,IAAD,uBAAXjJ,EAAW,yBAAXA,EAAW,gBAC9B,IAAMrO,EAAaiiC,YAAOn/B,EAAMuL,GAChC,OAAO,yBAAE3L,QAAS1C,GAAlB,IAA8B+C,KAAK,eAAMA,WAKxC,GAAIV,YAAGlC,OAAQ2C,GAAO,CACzB,IAAMo/B,EAAep/B,EACrB++B,EAASvqB,GAAQ,SAAA6qB,GACf,IAAMC,EAAgBC,YAAKliC,OAAOC,KAAK8hC,GAAeC,GACtD,OAAO,qCAAEz/B,QAASw/B,GAAiBE,GAAnC,IAAkDr/B,KAAK,eAAMA,MAIjE,GAAI49B,YAAQkB,GACV,MAAM,IAAIhgC,MAAM,qDAGlB,GAAIkB,GAAQA,EAAKtB,MAAO,CACtB,IAAQ6/B,EAAgC//B,EAAhC+/B,eAAgBC,EAAgBhgC,EAAhBggC,YAElBe,EAAU,UAAMhrB,GAAN,OAAagqB,GAAkB,WACzCiB,EAAO,UAAMjrB,GAAN,OAAaiqB,GAAe,QACnCx3B,EAAO,UAAM9G,GAAN,OAAei+B,EAAsB5pB,GAArC,aAA+CgqB,GAAkB,WAAW1/B,eACnF4gC,EAAI,UAAMv/B,GAAN,OAAei+B,EAAsB5pB,GAArC,aAA+CiqB,GAAe,QAAQ3/B,eAEhFigC,EAASS,GAAc,WAAgB,IAAD,uBAAXj0B,EAAW,yBAAXA,EAAW,gBACpC,GAAIA,GAA4B,IAAlBA,EAAOhO,OAAc,CACjC,IAAMoiC,EAASp0B,EAAO,GACtB,OAAI2zB,MAAMU,QAAQD,GACT,CAAE//B,KAAMqH,EAAShH,KAAM,CAAE0c,MAAM,GAAQ9e,QAAS8hC,GAEhD,CAAE//B,KAAMqH,EAAShH,KAAM,CAAE0c,MAAM,GAAQ9e,QAAQ,eAAM0N,EAAO,KAGrE,MAAO,CAAE3L,KAAMqH,EAAShH,KAAM,CAAE0c,MAAM,GAAQ9e,QAAQ,eAAM+gC,YAAQrzB,MAIxEwzB,EAASU,GAAW,SAAArkB,GAClB,MAAO,CAAExb,KAAM8/B,EAAMz/B,KAAM,CAAE0c,MAAM,GAAQvB,UAI/C,OAAO2jB,EAY6Bc,CAAoBh1B,EAAKtD,EAAMsD,GAAMpM,OANzEugC,CAQG1F,GAEIyF,G,SCpGMe,aAxBf,SAA2BC,EAAaC,GAEtC,IAAKzgC,YAAG0gC,OAAQF,IAAgC,KAAhBA,EAC9B,MAAM,IAAIhhC,MAAM,mCAIlB,GAA+B,oBAApBihC,EACT,MAAM,IAAIjhC,MAAM,0BAGlB,IAAImhC,EAAaF,OAAgB1hC,EAAW,IAU5C,OAPA,WAA8C,IAA7BV,EAA4B,uDAApBsiC,EAAYxhC,EAAQ,uCAC3C,OAAIA,GAAUA,EAAOkB,OAASmgC,EACrBG,EAEAF,EAAgBpiC,EAAOc,O,OCpBPyhC,ID0BdL,ICxBFhgC,EF+HE,SAACw5B,EAAQ76B,GACtB,IAAM2hC,EAAW,CACfhgC,WAAO9B,EACP+B,cAAU/B,GAEZ,OAAIgB,YAAMg6B,IAINuE,YAAQvE,GAHH8G,EAQF,CACLhgC,MAAOk+B,EAAehF,EAAQ76B,GAC9B4B,SAAUy+B,EAAkBxF,EAAQ76B,M,gCGvJxC,IAAIuL,EAAMoB,aAAaC,QAAQ,YAEhB,KACbg1B,aAAa,EACbnmB,QAAS,OACTomB,SAAU,OACVC,eAAgB,WAChBnH,SAAS,EACTG,QAAS,GAITiH,WAAY,0BAEZC,YAAa,CAAC,EAAG,GAAI,GAAI,KACzBC,SAAU,GACVC,aAAc,GACdC,YAAa,GACbC,aAAc,GACdC,oBAAqB,GACrBC,wBACE,kEACFC,cAAah3B,EACbA,IAAKA,EACLi3B,uBACU,QAARj3B,EACI0S,oCACAA,wC,gCC3BR,6CAEA,EAA4B5c,YAC1B,CACEwJ,YAAa,CAAEtJ,KAAM,GAAIC,KAAM,CAAEtB,OAAO,IACxC6K,YAAY,CAAGxJ,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACjDgL,gBAAgB,CAAG3J,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,KAEvD,CACEwB,OAAQ,mBAPJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAUFC,EAAcF,EACZC,O,gCCbf,6CAEA,EAA4BP,YAC1B,CACEm1B,gBAAiB,CAAEj1B,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACrDu2B,gBAAiB,CAAEl1B,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,IACrDw2B,qBAAsB,CAAEn1B,KAAM,CAAC,WAAYC,KAAM,CAAEtB,OAAO,KAE5D,CACEwB,OAAQ,2BAPJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAUFC,EAAcF,EACZC,O,gCCbf,UAKM0J,EAAc,CAClBC,IAAK,CACHkQ,QAAS,GACTjQ,aAAcysB,EAAQ,KAAmChrB,SAG3D+N,OAAQ,CACND,OAAO,EACP0nB,KAAM,QACNC,iBAAkB,SAClBvhC,KAAM,WACNoa,aAAc,OACdL,KAAM,CACJI,UAAU,EACVH,aAAa,GAEf+c,OAAQ,CAEN/2B,KAAM,SACNwhC,gBAAiB,SAEnBC,OAAQ,CACNzhC,KAAM,UAER0hC,YAAY,EACZC,WAAW,IAIAx3B,O,gCClCf,+EAcA,EAA4BjK,YAC1B,CACE0hC,UAAW,CAAExhC,KAAM,CAAC,YACpByhC,iBAAkB,CAAEzhC,KAAM,CAAC,YAC3B0hC,oBAAqB,CAAE1hC,KAAM,CAAC,YAC9B2hC,QAAS,CAAE3hC,KAAM,CAAC,YAClB4hC,WAAY,CAAE5hC,KAAM,CAAC,YACrB6hC,OAAQ,CAAE7hC,KAAM,CAAC,aAEnB,CACEG,OAAQ,iBAVJC,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAcFC,EAAcF,EACZC,MACR,IAAMyhC,EAAgBzhC,I","file":"static/js/main.180c6188.chunk.js","sourcesContent":["import { produce } from \"immer\";\n\n/**\n *\n * @param {String} stateName the base state name to be used, it will generate statename, statename_loading, statename_errors\n * @param {String{}} extraProps for any extra propers it will generate statename_propname, ...\n */\nconst defaultState = (stateName, extraProps = {}, defaults = null) => {\n let extraPropsState = {};\n if (extraProps && Object.keys(extraProps).length > 0)\n Object.keys(extraProps).map((a) => {\n extraPropsState[`${stateName}_${a}`] = extraProps[a];\n return { [`${stateName}_${a}`]: extraProps[a] };\n });\n\n return {\n [stateName]: defaults,\n [`${stateName}_loading`]: false,\n [`${stateName}_errors`]: [],\n ...extraPropsState,\n };\n};\n\nconst setState = (stateName, isPaginated) => {\n return (state, { payload }) => {\n return produce(state, (draft) => {\n draft[stateName] = isPaginated ? [] : state[stateName];\n draft[`${stateName}_loading`] = true;\n draft[`${stateName}_errors`] = [];\n if (isPaginated) {\n draft[`${stateName}_metadata`] = {};\n }\n });\n };\n};\n\nconst setStateSuccess = (stateName, successCb, isPaginated) => {\n return (state, { payload }) => {\n return produce(state, (draft) => {\n draft[stateName] = isPaginated ? payload.items : payload;\n draft[`${stateName}_loading`] = false;\n draft[`${stateName}_errors`] = [];\n if (successCb) successCb(state, draft, payload);\n if (isPaginated) {\n draft[`${stateName}_metadata`] = payload.metadata;\n }\n });\n };\n};\n\nconst setStateFail = (stateName, failCb, isPaginated) => {\n return (state, { payload }) => {\n return produce(state, (draft) => {\n draft[stateName] = isPaginated ? [] : undefined;\n draft[`${stateName}_loading`] = false;\n draft[`${stateName}_errors`] = payload;\n if (failCb) failCb(state, draft, payload);\n if (isPaginated) {\n draft[`${stateName}_metadata`] = {};\n }\n });\n };\n};\n\nconst setSyncState = (stateName, doneCb) => {\n return (state, { payload }) => {\n return produce(state, (draft) => {\n if (stateName) draft[stateName] = payload;\n if (doneCb) doneCb(state, draft, payload);\n });\n };\n};\n\n/**\n *\n * @param {String} actionTypes action types\n * @param {String{}} options options which contain action => action name ,\n * @param {String} options.stateName => state name the will bind pubish the result on it,\n * @param {Function} options.successCb => custom success callback for more custom logic,\n * @param {Function} options.failCb => custom failure call back for custom error logic,\n * @param {Boolean} options.isPaginated => by default false , true if the result contains metadata\n * @param {Boolean} options.async => true if you are action doesn't require calling api\n */\nconst bindReducers = (actionTypes, options = {}) => {\n const { action, stateName, successCb, failCb, isPaginated, async } = options;\n let actionName = action.replace(/([A-Z])/g, \"_$1\").toUpperCase();\n if (!actionTypes[`${actionName}`])\n throw new Error(`handlers cannot have an undefined key ${actionName}`);\n\n if (!async)\n return bindSyncReducers(actionTypes, actionName, stateName, successCb);\n else {\n const reducers = {\n [actionTypes[`${actionName}`]]: setState(stateName, isPaginated),\n [actionTypes[`${actionName}_SUCCESS`]]: setStateSuccess(\n stateName,\n successCb,\n isPaginated\n ),\n [actionTypes[`${actionName}_FAIL`]]: setStateFail(\n stateName,\n failCb,\n isPaginated\n ),\n };\n return reducers;\n }\n};\n\nconst bindSyncReducers = (actionTypes, actionName, stateName, doneCb) => {\n const reducers = {\n [actionTypes[`${actionName}`]]: setSyncState(stateName, doneCb),\n };\n\n return reducers;\n};\n\nexport {\n defaultState,\n bindReducers,\n // , bindSyncReducers\n};\n","import isNil from \"ramda/es/isNil\";\nimport is from \"ramda/es/is\";\nimport has from \"ramda/es/has\";\nimport any from \"ramda/es/any\";\nimport equals from \"ramda/es/equals\";\nimport keys from \"ramda/es/keys\";\n\nimport { DEFAULT } from \"./Types\";\n/**\n Creates a reducer.\n @param {string} initialState - The initial state for this reducer.\n @param {object} handlers - Keys are action types (strings), values are reducers (functions).\n @return {object} A reducer object.\n */\nexport default (initialState, handlers) => {\n // initial state is required\n if (isNil(initialState)) {\n throw new Error(\"initial state is required\");\n }\n\n // handlers must be an object\n if (isNil(handlers) || !is(Object, handlers)) {\n throw new Error(\"handlers must be an object\");\n }\n\n // handlers cannot have an undefined key\n if (any(equals(\"undefined\"))(keys(handlers))) {\n throw new Error(\"handlers cannot have an undefined key\");\n }\n\n // create the reducer function\n return (state = initialState, action) => {\n // wrong actions, just return state\n if (isNil(action)) return state;\n if (!has(\"type\", action)) return state;\n\n // look for the handler\n const handler = handlers[action.type] || handlers[DEFAULT];\n\n // no handler no cry\n if (isNil(handler)) return state;\n\n // execute the handler\n return handler(state, action);\n };\n};\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getQuestionTypes:{ args: [], meta: { async: true } },\n getAppTypes:{ args: [], meta: { async: true } },\n },\n {\n prefix: \"@app/Lookups/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getAllGroups: { args: [\"payload\"], meta: { async: true } },\n getGroupWithId: { args: [\"payload\"], meta: { async: true } },\n createGroup: { args: [\"payload\"], meta: { async: true } },\n updateGroup: { args: [\"payload\"], meta: { async: true } },\n deleteGroup: { args: [\"payload\"], meta: { async: true } },\n\n /// group clients\n getGroupClients: { args: [\"payload\"], meta: { async: true } },\n createGroupClient: { args: [\"payload\"], meta: { async: true } },\n createGroupClients: { args: [\"payload\"], meta: { async: true } },\n\n /// group outlets\n getNonGroupedOutlets: { args: [\"payload\"], meta: { async: true } },\n createGroupOutlet: { args: [\"payload\"], meta: { async: true } },\n createGroupOutlets: { args: [\"payload\"], meta: { async: true } },\n removeGroupOutlet: { args: [\"payload\"], meta: { async: true } },\n getGroupOutletsList: { args: [\"payload\"], meta: { async: true } },\n uploadGroupOutlets: { args: [\"payload\"], meta: { async: true } },\n removeGroupOutlets: { args: [\"payload\"], meta: { async: true } },\n\n // Promoters\n getGroupPromotersList: { args: [\"payload\"], meta: { async: true } },\n getNonGroupedPromoters: { args: [\"payload\"], meta: { async: true } },\n uploadGroupPromoters: { args: [\"payload\"], meta: { async: true } },\n createGroupPromoters: { args: [\"payload\"], meta: { async: true } },\n removeGroupPromoters: { args: [\"payload\"], meta: { async: true } },\n createGroupPromoter: { args: [\"payload\"], meta: { async: true } },\n removeGroupPromoter: { args: [\"payload\"], meta: { async: true } },\n\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n setGroup: { args: [\"payload\"], meta: { async: false } },\n },\n {\n prefix: \"@app/group/\",\n }\n);\n\nexport const ActionTypes = Types;\nexport default Creators;\nexport const AuthActions = Creators;\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getAllSpin: { args: [\"payload\"], meta: { async: true } },\n getSpinWithId: { args: [\"payload\"], meta: { async: true } },\n createSpin: { args: [\"payload\"], meta: { async: true } },\n updateSpin: { args: [\"payload\"], meta: { async: true } },\n deleteSpin: { args: [\"payload\"], meta: { async: true } },\n\n // Supervisor\n removeSupervisorFromSpin: { args: [\"payload\"], meta: { async: true } },\n assignSupervisor: { args: [\"payload\"], meta: { async: true } },\n assignedSupervisor: { args: [\"payload\"], meta: { async: true } },\n notAssignedSupervisor: { args: [\"payload\"], meta: { async: true } },\n\n // Rewards\n getAllRewards: { args: [\"payload\"], meta: { async: true } },\n getRewardWithId: { args: [\"payload\"], meta: { async: true } },\n createReward: { args: [\"payload\"], meta: { async: true } },\n updateReward: { args: [\"payload\"], meta: { async: true } },\n deleteReward: { args: [\"payload\"], meta: { async: true } },\n setReward: { args: [\"payload\"], meta: { async: false } },\n\n setData: { args: [\"payload\"], meta: { async: false } },\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/spinWheel/\",\n }\n);\n\nexport const ActionTypes = Types;\nexport default Creators;\nexport const AuthActions = Creators;\n","export const DEFAULT = \"REDUXSAUCE.DEFAULT\";\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getUsers: { args: [\"payload\"], meta: { async: true } },\n getUser: { args: [\"payload\"], meta: { async: true } },\n getPermissions: { args: [], meta: { async: true } },\n createUser: { args: [\"payload\"], meta: { async: true } },\n createUsers: { args: [\"payload\"], meta: { async: true } },\n createAppUser: { args: [\"payload\"], meta: { async: true } },\n deleteUser: { args: [\"payload\"], meta: { async: true } },\n setUser: { args: [\"payload\"], meta: { async: false } },\n createRole: { args: [\"payload\"], meta: { async: true } },\n getRoles: { args: [\"payload\"], meta: { async: true } },\n getRole: { args: [\"payload\"], meta: { async: true } },\n editUser: { args: [\"payload\"], meta: { async: true } },\n editRole: { args: [\"payload\"], meta: { async: true } },\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n deleteRole: { args: [\"payload\"], meta: { async: true } },\n },\n {\n prefix: \"@app/users/\"\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;","import { createActions } from \"src/utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n setPageState: { args: [\"payload\"] },\n },\n {\n prefix: \"@app/page/\"\n }\n);\n\nexport const ActionTypes = Types;\nexport default Creators;\nexport const PageActions = Creators;\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n login: { args: [\"payload\"], meta: { async: true } },\n updateToken: { args: [\"payload\"], meta: { async: false } },\n getNotifications: { args: [\"pagin\"], meta: { async: true } },\n addNotification: { args: [\"notify\"] },\n logout: { args: [\"token\"] },\n setAuthToken: { args: [\"token\"], meta: { async: false } },\n readNotification:{ args: [\"payload\"], meta: { async: true } },\n updateProfile:{ args: [\"payload\"], meta: { async: true } },\n changePassword:{ args: [\"payload\"], meta: { async: true } },\n resetChangePassword:{ args: [\"payload\"]},\n updateUserScore:{ args: [\"payload\"]}\n },\n {\n prefix: \"@app/auth/\"\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\nexport const AuthActions=Creators;","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n saveSurveyInformation: { args: [\"payload\"], meta: { async: false } },\n getSurveyWithId: { args: [\"payload\"], meta: { async: true } },\n getSurveys: { args: [\"payload\"], meta: { async: true } },\n getSurveyResults: { args: [\"payload\"], meta: { async: true } },\n getUserSurveys: { args: [\"payload\"], meta: { async: true } },\n getUserSurveysWithId: { args: [\"payload\"], meta: { async: true } },\n createSurvey: { args: [\"payload\"], meta: { async: true } },\n addSurveyResponse: { args: [\"payload\"], meta: { async: true } },\n editSurvey: { args: [\"payload\"], meta: { async: true } },\n deleteSurvey: { args: [\"payload\"], meta: { async: true } },\n addSurveyQuestion: { args: [\"payload\"], meta: { async: true } },\n removeSurveyQuestion: { args: [\"payload\"], meta: { async: true } },\n editSurveyQuestion: { args: [\"payload\"], meta: { async: true } },\n setSurvey: { args: [\"payload\"], meta: { async: false } },\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/surveys/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","// ** React Imports\nimport { useEffect, useState, createContext } from 'react'\n\n// ** Create Context\nconst ThemeColors = createContext()\n\nconst ThemeContext = ({ children }) => {\n // ** State\n const [colors, setColors] = useState({})\n //** ComponentDidMount\n useEffect(() => {\n if (window !== 'undefined') {\n //** Get variable value\n const getHex = color => window.getComputedStyle(document.body).getPropertyValue(color).trim()\n\n //** Colors obj\n const obj = {\n primary: {\n light: getHex('--primary').concat('1a'),\n main: getHex('--primary')\n },\n secondary: {\n light: getHex('--secondary').concat('1a'),\n main: getHex('--secondary')\n },\n success: {\n light: getHex('--success').concat('1a'),\n main: getHex('--success')\n },\n danger: {\n light: getHex('--danger').concat('1a'),\n main: getHex('--danger')\n },\n warning: {\n light: getHex('--warning').concat('1a'),\n main: getHex('--warning')\n },\n info: {\n light: getHex('--info').concat('1a'),\n main: getHex('--info')\n },\n dark: {\n light: getHex('--dark').concat('1a'),\n main: getHex('--dark')\n }\n }\n\n setColors({ ...obj })\n }\n }, [])\n\n return {children}\n}\n\nexport { ThemeColors, ThemeContext }\n","// ** Imports createContext function\nimport { createContext } from 'react'\n\n// ** Imports createContextualCan function\nimport { createContextualCan } from '@casl/react'\n\n// ** Create Context\nexport const AbilityContext = createContext()\n\n// ** Init Can Context\nexport const Can = createContextualCan(AbilityContext.Consumer)\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getAllPromoters: { args: [\"payload\"], meta: { async: true } },\n getAllCities: { args: [\"payload\"], meta: { async: true } },\n getAllSupervisors: { args: [\"payload\"], meta: { async: true } },\n getPromoter: { args: [\"payload\"], meta: { async: true } },\n getPermissions: { args: [], meta: { async: true } },\n addPromoter: { args: [\"payload\"], meta: { async: true } },\n deletePromoter: { args: [\"payload\"], meta: { async: true } },\n editPromoter: { args: [\"payload\"], meta: { async: true } },\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n getAllPromotersAssignments: { args: [\"payload\"], meta: { async: true } },\n updateContractNumbers: { args: [\"payload\"], meta: { async: true } },\n },\n {\n prefix: \"@app/promoters/\",\n },\n);\nexport const ActionTypes = Types;\nexport default Creators;","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n\n createCountry: { args: [\"payload\"], meta: { async: true } },\n editCountry: { args: [\"payload\"], meta: { async: true } },\n deleteCountry: { args: [\"payload\"], meta: { async: true } },\n getAllCountries: { args: [\"payload\"], meta: { async: true } },\n getCities: { args: [\"payload\"], meta: { async: true } },\n getAllCities: { args: [\"payload\"], meta: { async: true } },\n createCity: { args: [\"payload\"], meta: { async: true } },\n editCity: { args: [\"payload\"], meta: { async: true } },\n deleteCity: { args: [\"payload\"], meta: { async: true } },\n\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/Cities/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getAllPrizes: { args: [\"payload\"], meta: { async: true } },\n addPrize: { args: [\"payload\"], meta: { async: true } },\n editPrize: { args: [\"payload\"], meta: { async: true } },\n deletePrize: { args: [\"payload\"], meta: { async: true } },\n\n ///////\n getAllOutletPrizes: { args: [\"payload\"], meta: { async: true } },\n addOutletPrize: { args: [\"payload\"], meta: { async: true } },\n editOutletPrize: { args: [\"payload\"], meta: { async: true } },\n deleteOutletPrize: { args: [\"payload\"], meta: { async: true } },\n\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/Prizes/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","export default function (/**@type {ApisauceInstance} */ api) {\n const getSettings = () => api.get(\"Setting/settings\");\n const editSetting = ({ payload, id }) => api.put(`Setting/edit-setting/${id}`, payload);\n const editAllSettings = (payload) => api.put(`Setting/edit-all-setting`, payload);\n \n \n return {\n settings: {\n getSettings,\n editSetting,\n editAllSettings\n }\n };\n }\n ","// ** Logo\n// import logo from '@src/assets/images/logo/logo.png'\n\nimport themeConfig from 'src/configs/themeConfig'\n\nconst SpinnerComponent = () => {\n return (\n
\n logo\n
\n
\n
\n
\n
\n
\n )\n}\n\nexport default SpinnerComponent\n","// ** React Imports\nimport { useState, createContext, useEffect } from 'react'\n\n// ** Intl Provider Import\nimport { I18nProvider } from \"@lingui/react\";\n\n// ** Core Language Data\nimport messagesEn from '@assets/data/locales/en.json'\nimport messagesAr from '@assets/data/locales/ar.json'\n\n// ** User Language Data\nimport userMessagesEn from '@src/assets/data/locales/en.json'\nimport userMessagesAr from '@src/assets/data/locales/ar.json'\nimport { AppActions } from 'src/store/app/actions'\nimport { locales } from 'src/store/SupportedLocales'\nimport { useDispatch } from 'react-redux'\nimport { i18n } from '@lingui/core';\nimport * as plurs from 'make-plural/plurals';\n// ** Menu msg obj\n// const menuMessages = {\n// en: { ...messagesEn, ...userMessagesEn },\n// ar: { ...messagesAr, ...userMessagesAr },\n// }\n\n// ** Create Context\nconst Context = createContext()\n\nconst loadedLocales = () => {\n let result = {}\n for (const key in locales) {\n result[key] = { plurals: plurs[key] }\n }\n return result;\n}\ni18n.loadLocaleData(loadedLocales())\nasync function dynamicActivate(locale) {\n const { messages } = await import(`@lingui/loader!src/locales/${locale}/messages.po`)\n i18n.load(locale, messages)\n i18n.activate(locale)\n}\n\nconst IntlProviderWrapper = ({ children }) => {\n const lang = localStorage.getItem(\"language\");\n const currentLang = lang ? locales[lang] : Object.values(locales).find(l => l.default);\n\n // ** States\n const [locale, setLocale] = useState(currentLang.code)\n // const [messages, setMessages] = useState(menuMessages[currentLang.code])\n const dispatch = useDispatch();\n useEffect(() => {\n dispatch(AppActions.changeLocale(currentLang))\n dynamicActivate(currentLang.code);\n }, [])\n // ** Switches Language\n const switchLanguage = lang => {\n setLocale(lang.code)\n // setMessages(menuMessages[lang.code])\n dispatch(AppActions.changeLocale(lang))\n dynamicActivate(lang.code);\n }\n\n return (\n \n \n {children}\n \n \n )\n}\n\nexport { IntlProviderWrapper, Context as IntlContext }\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getAllProducts: { args: [\"payload\"], meta: { async: true } },\n getProductWithId: { args: [\"payload\"], meta: { async: true } },\n addProduct: { args: [\"payload\"], meta: { async: true } },\n editProduct: { args: [\"payload\"], meta: { async: true } },\n saveProductCityOffers: { args: [\"payload\"], meta: { async: true } },\n deleteProductCityOffers: { args: [\"payload\"], meta: { async: true } },\n deleteProduct: { args: [\"payload\"], meta: { async: true } },\n\n setProduct: { args: [\"payload\"], meta: { async: false } },\n\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/products/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getAllOutlets: { args: [\"payload\"], meta: { async: true } },\n getOutletWithId: { args: [\"payload\"], meta: { async: true } },\n addOutlet: { args: [\"payload\"], meta: { async: true } },\n uploadOutlets: { args: [\"payload\"], meta: { async: true } },\n editOutlet: { args: [\"payload\"], meta: { async: true } },\n deleteOutlet: { args: [\"payload\"], meta: { async: true } },\n uploadAssignments: { args: [\"payload\"], meta: { async: true } },\n\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/outlets/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH4AAAA4CAYAAAA7Ikz5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzQyMDExNjI0NDYzMTFFQzhGOEVFNTYyNUFFQjUyMEEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzQyMDExNjE0NDYzMTFFQzhGOEVFNTYyNUFFQjUyMEEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjlDRjcyMjM5OTQwRTExRTRCMDEyOTk1RUI5MDJDOEM3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjlDRjcyMjNBOTQwRTExRTRCMDEyOTk1RUI5MDJDOEM3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+eJIIuwAAGb1JREFUeNrsXQmUVNWZ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\"","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n // categories\n getAllBrands: { args: [\"payload\"], meta: { async: true } },\n getBrandWithId: { args: [\"payload\"], meta: { async: true } },\n addBrand: { args: [\"payload\"], meta: { async: true } },\n editBrand: { args: [\"payload\"], meta: { async: true } },\n deleteBrand: { args: [\"payload\"], meta: { async: true } },\n // products\n addProduct: { args: [\"payload\"], meta: { async: true } },\n editProduct: { args: [\"payload\"], meta: { async: true } },\n deleteProduct: { args: [\"payload\"], meta: { async: true } },\n\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/brands/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n //Reports\n getAllReportResponses: { args: [\"payload\"], meta: { async: true } },\n getReportResponseWithId: { args: [\"payload\"], meta: { async: true } },\n //Questions\n getAllReportQuestions: { args: [\"payload\"], meta: { async: true } },\n addReportQuestion: { args: [\"payload\"], meta: { async: true } },\n editReportQuestion: { args: [\"payload\"], meta: { async: true } },\n deleteReportQuestion: { args: [\"payload\"], meta: { async: true } },\n\n storeSelectedItemIndex: { args: [\"payload\"], meta: { async: false } },\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/reports/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","// import { createReducer } from \"utils/reduxsauce\";\nimport { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\n \"users\",\n {\n metadata: undefined,\n selectedUser: undefined,\n openDialog: false,\n openDeleteDialog: false,\n },\n []\n ),\n ...defaultState(\n \"roles\",\n { metadata: undefined, selectedUser: undefined },\n []\n ),\n};\n\nconst userCreatedSuccess = (state, draft, payload) => {\n const users = state.users || [];\n draft.users = [...users, payload];\n\n draft.openDialog = false;\n};\nconst userDeleteSuccess = (state, draft, payload) => {\n const users = state.users || [];\n draft.users = users.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\nconst roleDeleteSuccess = (state, draft, payload) => {\n const roles = state.roles || [];\n draft.roles = roles.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\n\nconst roleCreatedSuccess = (state, draft, payload) => {\n const roles = state.roles || [];\n draft.roles = [...roles, payload];\n\n // draft.openDialog = false;\n};\n\nconst userEditedSuccess = (state, draft, payload) => {\n const users = state.users || [];\n var userIndex = users.findIndex((u) => u.id === payload.id);\n draft.users[userIndex] = payload;\n draft.openDialog = false;\n};\nconst roleEditedSuccess = (state, draft, payload) => {\n const roles = state.roles || [];\n var roleIndex = roles.findIndex((u) => u.id === payload.id);\n draft.roles[roleIndex] = payload;\n};\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\n\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n draft.user_errors = [];\n};\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"deleteUser\",\n stateName: \"user\",\n async: true,\n isPaginated: false,\n successCb: userDeleteSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"getUsers\",\n stateName: \"users\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"setUser\",\n stateName: \"user\",\n async: false,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getUser\",\n stateName: \"user\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createUser\",\n stateName: \"user\",\n async: true,\n isPaginated: false,\n successCb: userCreatedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createUsers\",\n stateName: \"users\",\n async: true,\n isPaginated: false,\n successCb: userCreatedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createAppUser\",\n stateName: \"user\",\n async: true,\n isPaginated: false,\n successCb: userCreatedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createRole\",\n stateName: \"role\",\n async: true,\n isPaginated: false,\n successCb: roleCreatedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editUser\",\n stateName: \"user\",\n async: true,\n isPaginated: false,\n successCb: userEditedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editRole\",\n stateName: \"role\",\n async: true,\n isPaginated: false,\n successCb: roleEditedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getRoles\",\n stateName: \"roles\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getRole\",\n stateName: \"role\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getPermissions\",\n stateName: \"permissions\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: true,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: true,\n successCb: resetDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteRole\",\n stateName: \"role\",\n async: true,\n isPaginated: false,\n successCb: roleDeleteSuccess,\n }),\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\n\nconst initialState = {\n ...defaultState(\n \"settings\", { metadata: undefined, },\n []\n ),\n};\n\nconst settingEditedSuccess = (state, draft, payload) => {\n const settings = state.settings || [];\n var settingIndex = settings.findIndex((u) => u.id === payload.id);\n draft.settings[settingIndex] = payload;\n};\n\n\n\nexport const reducer = createReducer(initialState, {\n\n ...bindReducers(ActionTypes, {\n action: \"getSettings\",\n stateName: \"settings\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editSetting\",\n stateName: \"setting\",\n async: true,\n isPaginated: false,\n successCb: settingEditedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editAllSettings\",\n stateName: \"settings\",\n async: true,\n isPaginated: false,\n // successCb: settingEditedSuccess,\n }),\n\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"brands\", { metadata: undefined }, []),\n};\n\n//** Brands\nconst brandEditedSuccess = (state, draft, payload) => {\n const brands = state.brands || [];\n var brandIndex = brands.findIndex((u) => u.id === payload.id);\n draft.brands[brandIndex] = payload;\n draft.openDialog = false;\n};\n\nconst brandCreatedSuccess = (state, draft, payload) => {\n const brands = state.brands || [];\n draft.brands = [...brands, payload];\n draft.openDialog = false;\n};\n\nconst brandDeleteSuccess = (state, draft, payload) => {\n const brands = state.brands || [];\n draft.brands = brands.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\n\n//** products\nconst productAddedSuccessfully = (state, draft, payload) => {\n draft.brand.products = [payload, ...state.brand.products];\n};\n\nconst productEditedSuccessfully = (state, draft, payload) => {\n debugger;\n const products = state.brand.products || [];\n var productIndex = products.findIndex((p) => p.id === payload.id);\n draft.brand.products[productIndex] = payload;\n};\n\nconst productDeletedSuccessfully = (state, draft, payload) => {\n const products = state.brand.products || [];\n var ptoductIndex = products.findIndex((p) => p.id === payload.id);\n draft.brand.products.splice(ptoductIndex, 1);\n};\n\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n draft.brand_errors = [];\n};\n\nexport const reducer = createReducer(initialState, {\n //**Brands\n ...bindReducers(ActionTypes, {\n action: \"getAllBrands\",\n stateName: \"brands\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getBrandWithId\",\n stateName: \"brand\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"addBrand\",\n stateName: \"brand\",\n async: true,\n isPaginated: false,\n successCb: brandCreatedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editBrand\",\n stateName: \"brand\",\n async: true,\n isPaginated: false,\n successCb: brandEditedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteBrand\",\n stateName: \"brand\",\n async: true,\n isPaginated: false,\n successCb: brandDeleteSuccess,\n }),\n\n //** Products\n ...bindReducers(ActionTypes, {\n action: \"addProduct\",\n stateName: \"brandProduct\",\n async: true,\n isPaginated: false,\n successCb: productAddedSuccessfully,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editProduct\",\n stateName: \"brandProduct\",\n async: true,\n isPaginated: false,\n successCb: productEditedSuccessfully,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteProduct\",\n stateName: \"brandProduct\",\n async: true,\n isPaginated: false,\n successCb: productDeletedSuccessfully,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: false,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"products\", { metadata: undefined }, []),\n};\n\nconst productDeleteSuccess = (state, draft, payload) => {\n const products = state.products || [];\n draft.products = products.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\nconst deleteProductCityOffersSuccess=(state, draft, payload) => {\n //debugger\n draft.product.cityOffers = state.product.cityOffers.filter((a) => a.cityId != payload.data);\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n};\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"getAllProducts\",\n stateName: \"products\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getProductWithId\",\n stateName: \"product\",\n async: true,\n isPaginated: false,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"addProduct\",\n stateName: \"product\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editProduct\",\n stateName: \"product\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteProduct\",\n stateName: \"product\",\n async: true,\n isPaginated: false,\n successCb: productDeleteSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteProductCityOffers\",\n stateName: \"productCityOffer\",\n async: true,\n isPaginated: false,\n successCb:deleteProductCityOffersSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"saveProductCityOffers\",\n stateName: \"productCityOffer\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"setProduct\",\n stateName: \"product\",\n async: false,\n isPaginated: false,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\n \"lookups\",\n { metadata: undefined },\n {\n questionTypes: [],\n appTypes: [],\n }\n ),\n};\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"getQuestionTypes\",\n stateName: \"questionTypes\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getAppTypes\",\n stateName: \"appTypes\",\n async: true,\n isPaginated: false,\n }),\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"companyInfos\", { metadata: undefined }, []),\n ...defaultState(\n \"companyInfo\",\n { metadata: undefined },\n {\n products: [],\n }\n ),\n};\n\n\nconst companyInfoEditedSuccess = (state, draft, payload) => {\n const CompanyInfos = state.CompanyInfos || [];\n var CompanyInfoIndex = CompanyInfos.findIndex((u) => u.id === payload.id);\n draft.CompanyInfos[CompanyInfoIndex] = payload;\n};\n\nconst companyInfoCreatedSuccess = (state, draft, payload) => {\n \n const CompanyInfos = state.CompanyInfos || [];\n draft.CompanyInfos = [...CompanyInfos, payload];\n\n draft.openDialog = false;\n};\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n draft.brand_errors = [];\n};\n\nconst companyInfoDeleteSuccess = (state, draft, payload) => {\n debugger\n const companyInfos = state.companyInfos || [];\n draft.companyInfos = companyInfos.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\n\n\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"getAllCompanyInfos\",\n stateName: \"companyInfos\",\n async: true,\n isPaginated: true\n }),\n ...bindReducers(ActionTypes, {\n action: \"getCompanyInfoWithId\",\n stateName: \"companyInfo\",\n async: true,\n isPaginated: false,\n \n }),\n ...bindReducers(ActionTypes, {\n action: \"addCompanyInfo\",\n stateName: \"companyInfo\",\n async: true,\n isPaginated: false,\n successCb:companyInfoCreatedSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"editCompanyInfo\",\n stateName: \"companyInfo\",\n async: true,\n isPaginated: false,\n successCb:companyInfoEditedSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteCompanyInfo\",\n stateName: \"companyInfo\",\n async: true,\n isPaginated: false,\n successCb:companyInfoDeleteSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: false,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"prizes\", { metadata: undefined }, []),\n ...defaultState(\n \"prize\",\n { metadata: undefined },\n {\n products: [],\n }\n ),\n ...defaultState(\"outletPrizes\", { metadata: undefined }, []),\n ...defaultState(\"outletPrize\", { metadata: undefined }, {}),\n};\n\nconst prizeEditedSuccess = (state, draft, payload) => {\n const prizes = state.prizes || [];\n var prizeIndex = prizes.findIndex((u) => u.id === payload.id);\n draft.prizes[prizeIndex] = payload;\n draft.openDialog = false;\n};\n\nconst prizeCreatedSuccess = (state, draft, payload) => {\n // debugger\n const prizes = state.prizes || [];\n draft.prizes = [...prizes, payload];\n draft.openDialog = false;\n};\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n draft.brand_errors = [];\n};\n\nconst prizeDeleteSuccess = (state, draft, payload) => {\n const prizes = state.prizes || [];\n draft.prizes = prizes.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\n\nconst outletPrizeEditedSuccess = (state, draft, payload) => {\n const outletPrizes = state.outletPrizes || [];\n var prizeIndex = outletPrizes.findIndex((u) => u.id === payload.id);\n draft.outletPrizes[prizeIndex] = payload;\n draft.openDialog = false;\n};\n\nconst outletPrizeCreatedSuccess = (state, draft, payload) => {\n // debugger\n const outletPrizes = state.outletPrizes || [];\n draft.outletPrizes = [...outletPrizes, payload];\n draft.openDialog = false;\n};\nconst outletPrizeDeleteSuccess = (state, draft, payload) => {\n const outletPrizes = state.outletPrizes || [];\n draft.outletPrizes = outletPrizes.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"getAllPrizes\",\n stateName: \"prizes\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"addPrize\",\n stateName: \"prize\",\n async: true,\n isPaginated: false,\n successCb: prizeCreatedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editPrize\",\n stateName: \"prize\",\n async: true,\n isPaginated: false,\n successCb: prizeEditedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deletePrize\",\n stateName: \"prize\",\n async: true,\n isPaginated: false,\n successCb: prizeDeleteSuccess,\n }),\n /////////////////////\n ...bindReducers(ActionTypes, {\n action: \"getAllOutletPrizes\",\n stateName: \"outletPrizes\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"addOutletPrize\",\n stateName: \"outletPrize\",\n async: true,\n isPaginated: false,\n successCb: outletPrizeCreatedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editOutletPrize\",\n stateName: \"outletPrize\",\n async: true,\n isPaginated: false,\n successCb: outletPrizeEditedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteOutletPrize\",\n stateName: \"outletPrize\",\n async: true,\n isPaginated: false,\n successCb: outletPrizeDeleteSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: false,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"offers\", { metadata: undefined }, []),\n};\n\nconst offerDeleteSuccess = (state, draft, payload) => {\n debugger;\n const offers = state.offers || [];\n draft.offers = offers.filter((a) => a.id != payload.data.id);\n draft.openDeleteDialog = false;\n};\n\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n};\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"getAllOffers\",\n stateName: \"offers\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getOfferWithId\",\n stateName: \"offer\",\n async: true,\n isPaginated: false,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"addOffer\",\n stateName: \"offer\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editOffer\",\n stateName: \"offer\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteOffer\",\n stateName: \"offer\",\n async: true,\n isPaginated: false,\n successCb: offerDeleteSuccess,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"setOffer\",\n stateName: \"offer\",\n async: false,\n isPaginated: false,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"outlets\", { metadata: undefined }, []),\n};\n\nconst outletDeleteSuccess = (state, draft, payload) => {\n debugger;\n const outlets = state.outlets || [];\n draft.outlets = outlets.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\n\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\nconst resetDialog = (state, draft, payload) => {\n draft.outlet = undefined;\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n};\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"getAllOutlets\",\n stateName: \"outlets\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getOutletWithId\",\n stateName: \"outlet\",\n async: true,\n isPaginated: false,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"addOutlet\",\n stateName: \"outlet\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"uploadOutlets\",\n stateName: \"outlets\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editOutlet\",\n stateName: \"outlet\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteOutlet\",\n stateName: \"outlet\",\n async: true,\n isPaginated: false,\n successCb: outletDeleteSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"uploadAssignments\",\n stateName: \"outlets\",\n async: true,\n isPaginated: false,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"cities\", { metadata: undefined }, []),\n ...defaultState(\"countries\", { metadata: undefined }, {}),\n};\n\nconst editCitySuccess = (state, draft, payload) => {\n const index = state.cities.findIndex(r => r.id === payload.id)\n if (index >= 0) {\n draft.cities[index] = payload;\n }\n draft.openDialog = false;\n};\nconst editCountrySuccess = (state, draft, payload) => {\n const index = state.countries.findIndex(r => r.id === payload.id)\n if (index >= 0) {\n draft.countries[index] = payload;\n }\n draft.openDialog = false;\n};\nconst cityCreatedSuccess = (state, draft, payload) => {\n const cities = state.cities || [];\n draft.cities = [...cities, payload];\n draft.openDialog = false;\n};\nconst countryCreatedSuccess = (state, draft, payload) => {\n const countries = state.countries || [];\n draft.countries = [...countries, payload];\n draft.openDialog = false;\n};\n\nconst cityDeleteSuccess = (state, draft, payload) => {\n const cities = state.cities || [];\n draft.cities = cities.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\nconst countryDeleteSuccess = (state, draft, payload) => {\n const countries = state.countries || [];\n draft.countries = countries.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n};\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"getCities\",\n stateName: \"cities\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getAllCountries\",\n stateName: \"countries\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createCity\",\n stateName: \"city\",\n async: true,\n isPaginated: false,\n successCb: cityCreatedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createCountry\",\n stateName: \"country\",\n async: true,\n isPaginated: false,\n successCb: countryCreatedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editCity\",\n stateName: \"city\",\n async: true,\n isPaginated: false,\n successCb: editCitySuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"editCountry\",\n stateName: \"country\",\n async: true,\n isPaginated: false,\n successCb: editCountrySuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteCity\",\n stateName: \"city\",\n async: true,\n isPaginated: false,\n successCb: cityDeleteSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteCountry\",\n stateName: \"country\",\n async: true,\n isPaginated: false,\n successCb: countryDeleteSuccess\n }),\n\n\n\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: false,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"nationalities\", { metadata: undefined }, []),\n ...defaultState(\n \"nationality\",\n { metadata: undefined },\n {\n products: [],\n }\n ),\n};\n\n\nconst nationalityEditedSuccess = (state, draft, payload) => {\n const nationalities = state.nationalities || [];\n var nationalityIndex = nationalities.findIndex((u) => u.id === payload.id);\n draft.nationalities[nationalityIndex] = payload;\n draft.openDialog = false;\n\n};\n\nconst nationalityCreatedSuccess = (state, draft, payload) => {\n // debugger\n const nationalities = state.nationalities || [];\n draft.nationalities = [...nationalities, payload];\n draft.openDialog = false;\n};\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n draft.brand_errors = [];\n};\n\nconst nationalityDeleteSuccess = (state, draft, payload) => {\n const nationalities = state.nationalities || [];\n draft.nationalities = nationalities.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\n\n\n\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"getAllNationalities\",\n stateName: \"nationalities\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"addNationality\",\n stateName: \"nationality\",\n async: true,\n isPaginated: false,\n successCb:nationalityCreatedSuccess\n \n }),\n ...bindReducers(ActionTypes, {\n action: \"editNationality\",\n stateName: \"nationality\",\n async: true,\n isPaginated: false,\n successCb:nationalityEditedSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteNationality\",\n stateName: \"nationality\",\n async: true,\n isPaginated: false,\n successCb:nationalityDeleteSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: false,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n};\n\n\nconst ageRangeEditedSuccess = (state, draft, payload) => {\n const ageRanges = state.ageRanges|| [];\n var ageRangeIndex = ageRanges.findIndex((u) => u.id === payload.id);\n console.log(\"index\",ageRangeIndex)\n draft.ageRanges[ageRangeIndex] = payload;\n draft.openDialog = false;\n\n};\n\nconst ageRangeCreatedSuccess = (state, draft, payload) => {\n // debugger\n const ageRanges = state.ageRanges || [];\n \n draft.ageRanges= [...ageRanges, payload];\n draft.openDialog = false;\n};\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n draft.brand_errors = [];\n};\n\nconst ageRangeDeleteSuccess = (state, draft, payload) => {\n const ageRanges = state.ageRanges || [];\n draft.ageRanges = ageRanges.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\n\n\n\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"getAllAgeRanges\",\n stateName: \"ageRanges\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"addAgeRange\",\n stateName: \"ageRange\",\n async: true,\n isPaginated: false,\n successCb:ageRangeCreatedSuccess\n \n }),\n ...bindReducers(ActionTypes, {\n action: \"editAgeRange\",\n stateName: \"ageRange\",\n async: true,\n isPaginated: false,\n successCb:ageRangeEditedSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteAgeRange\",\n stateName: \"ageRange\",\n async: true,\n isPaginated: false,\n successCb:ageRangeDeleteSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: false,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n\n});\n","// import { createReducer } from \"utils/reduxsauce\";\nimport { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\n \"promoters\",\n {\n metadata: undefined,\n selectedPromoter: undefined,\n openDialog: false,\n openDeleteDialog: false,\n },\n [],\n \"promotersAssignments\",\n {\n metadata: undefined,\n selectedPromoter: undefined,\n openDialog: false,\n openDeleteDialog: false,\n },\n [],\n ),\n};\n\nconst promoterCreatedSuccess = (state, draft, payload) => {\n const promoters = state.promoters || [];\n draft.promoters = [...promoters, payload];\n\n draft.openDialog = false;\n};\nconst promoterDeleteSuccess = (state, draft, payload) => {\n const promoters = state.promoters || [];\n draft.promoters = promoters.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\n\n\nconst promoterEditedSuccess = (state, draft, payload) => {\n const promoters = state.promoters || [];\n var promoterIndex = promoters.findIndex((u) => u.id === payload.id);\n draft.promoters[promoterIndex] = payload;\n draft.openDialog = false;\n};\n\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\n\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n draft.promoter_errors = [];\n};\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"deletePromoter\",\n stateName: \"promoter\",\n async: true,\n isPaginated: false,\n successCb: promoterDeleteSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"getAllPromoters\",\n stateName: \"promoters\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getAllCities\",\n stateName: \"cities\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getAllSupervisors\",\n stateName: \"supervisors\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getPromoter\",\n stateName: \"promoter\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"addPromoter\",\n stateName: \"promoter\",\n async: true,\n isPaginated: false,\n successCb: promoterCreatedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editPromoter\",\n stateName: \"promoter\",\n async: true,\n isPaginated: false,\n successCb: promoterEditedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getPermissions\",\n stateName: \"permissions\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: true,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: true,\n successCb: resetDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getAllPromotersAssignments\",\n stateName: \"promotersAssignments\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"updateContractNumbers\",\n stateName: \"promoters\",\n async: true,\n isPaginated: false,\n }),\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\n \"surveys\",\n {\n metadata: undefined,\n selectedSurvey: undefined,\n openDialog: false,\n openDeleteDialog: false,\n },\n []\n ),\n ...defaultState(\n \"surveyResults\",\n {\n metadata: undefined,\n },\n []\n ),\n\n userSurveys: [],\n ...defaultState(\n \"survey\",\n {\n metadata: undefined,\n selectedSurvey: undefined,\n openDialog: false,\n openDeleteDialog: false,\n },\n {}\n ),\n};\n\nconst surveyEditedSuccess = (state, draft, payload) => {\n //debugger;\n const surveys = state.surveys || [];\n var surveyIndex = surveys.findIndex((u) => u.id === payload.id);\n draft.surveys[surveyIndex] = payload;\n};\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n draft.brand_errors = [];\n};\n\nconst surveyDeleteSuccess = (state, draft, payload) => {\n debugger;\n const surveys = state.surveys || [];\n draft.surveys = surveys.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\n\nconst addSurveyQuestionSuccess = (state, draft, payload) => {\n draft.survey.questions = [...draft.survey.questions, payload];\n};\nconst editSurveyQuestionSuccess = (state, draft, payload) => {\n const questionIndex =\n draft?.survey?.questions?.findIndex((a) => a.id === payload.id) || -1;\n if (questionIndex > -1) draft.survey.questions[questionIndex] = payload;\n};\n\nconst removeSurveyQuestionSuccess = (state, draft, payload) => {\n debugger;\n const questionIndex = draft?.survey?.questions?.findIndex(\n (a) => a.id === payload.id\n );\n draft.survey.questions.splice(questionIndex, 1);\n};\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"saveSurveyInformation\",\n stateName: \"survey\",\n async: false,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getSurveyWithId\",\n stateName: \"survey\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getSurveys\",\n stateName: \"surveys\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getSurveyResults\",\n stateName: \"surveyResults\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getUserSurveys\",\n stateName: \"userSurveys\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getUserSurveysWithId\",\n stateName: \"userSurveysWithId\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: false,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createSurvey\",\n stateName: \"survey\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"addSurveyResponse\",\n stateName: \"surveyResponse\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editSurvey\",\n stateName: \"survey\",\n async: true,\n isPaginated: false,\n successCb: surveyEditedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"addSurveyQuestion\",\n stateName: \"surveyQuestion\",\n async: true,\n isPaginated: false,\n successCb: addSurveyQuestionSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editSurveyQuestion\",\n stateName: \"surveyQuestion\",\n async: true,\n isPaginated: false,\n successCb: editSurveyQuestionSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"removeSurveyQuestion\",\n stateName: \"surveyQuestion\",\n async: true,\n isPaginated: false,\n successCb: removeSurveyQuestionSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteSurvey\",\n stateName: \"survey\",\n async: true,\n isPaginated: false,\n successCb: surveyDeleteSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"setSurvey\",\n stateName: \"survey\",\n async: false,\n isPaginated: false,\n }),\n});\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getAllSupervisors: { args: [\"payload\"], meta: { async: true } },\n getSupervisor: { args: [\"payload\"], meta: { async: true } },\n setSupervisor: { args: [\"payload\"], meta: { async: true } },\n addSupervisor: { args: [\"payload\"], meta: { async: true } },\n deleteSupervisor: { args: [\"payload\"], meta: { async: true } },\n editSupervisor: { args: [\"payload\"], meta: { async: true } },\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } }\n },\n {\n prefix: \"@app/supervisors/\"\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;","// import { createReducer } from \"utils/reduxsauce\";\nimport { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\n \"supervisors\",\n {\n metadata: undefined,\n selectedSupervisor: undefined,\n openDialog: false,\n openDeleteDialog: false,\n },\n []\n )\n};\n\nconst supervisorCreatedSuccess = (state, draft, payload) => {\n const supervisors = state.supervisors || [];\n draft.supervisors = [...supervisors, payload];\n\n draft.openDialog = false;\n};\nconst supervisorDeleteSuccess = (state, draft, payload) => {\n const supervisors = state.supervisors || [];\n draft.supervisors = supervisors.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\n\n\nconst supervisorEditedSuccess = (state, draft, payload) => {\n const supervisors = state.supervisors || [];\n var supervisorIndex = supervisors.findIndex((u) => u.id === payload.id);\n draft.supervisors[supervisorIndex] = payload;\n draft.openDialog = false;\n};\n\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\n\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n draft.supervisor_errors = [];\n};\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"deleteSupervisor\",\n stateName: \"supervisor\",\n async: true,\n isPaginated: false,\n successCb: supervisorDeleteSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"setSupervisor\",\n stateName: \"supervisor\",\n async: false,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n \n ...bindReducers(ActionTypes, {\n action: \"getAllSupervisors\",\n stateName: \"supervisors\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getSupervisor\",\n stateName: \"supervisor\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"addSupervisor\",\n stateName: \"supervisor\",\n async: true,\n isPaginated: false,\n successCb: supervisorCreatedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editSupervisor\",\n stateName: \"supervisor\",\n async: true,\n isPaginated: false,\n successCb: supervisorEditedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: true,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: true,\n successCb: resetDialog,\n })\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"reportResponses\", { metadata: undefined }, []),\n ...defaultState(\"reportResponse\", { metadata: undefined }, {}),\n ...defaultState(\"reportQuestions\", { metadata: undefined }, []),\n};\n\nconst reportQuestionAdded = (state, draft, payload) => {\n const reportQuestions = state.reportQuestions || [];\n draft.reportQuestions = [...reportQuestions, payload];\n draft.openDialog = false;\n};\n\nconst reportQuestionEdited = (state, draft, payload) => {\n debugger\n const index = state.selectedItem;\n draft.reportQuestions[index] = payload;\n draft.openDialog = false;\n};\n\nconst reportQuestionDeleted = (state, draft, payload) => {\n const index = state.selectedItem;\n draft.reportQuestions.splice(index, 1);\n draft.openDeleteDialog = false;\n};\n\n//\nconst storeSelectedItemIndex = (state, draft, payload) => {\n draft.selectedItem = payload;\n};\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n draft.brand_errors = [];\n};\n\nexport const reducer = createReducer(initialState, {\n //reports\n\n ...bindReducers(ActionTypes, {\n action: \"getAllReportResponses\",\n stateName: \"reportResponses\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getReportResponseWithId\",\n stateName: \"reportResponse\",\n async: true,\n isPaginated: false,\n }),\n\n //questions\n\n ...bindReducers(ActionTypes, {\n action: \"getAllReportQuestions\",\n stateName: \"reportQuestions\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"addReportQuestion\",\n stateName: \"reportQuestion\",\n async: true,\n isPaginated: false,\n successCb: reportQuestionAdded,\n }),\n ...bindReducers(ActionTypes, {\n action: \"editReportQuestion\",\n stateName: \"reportQuestion\",\n async: true,\n isPaginated: false,\n successCb: reportQuestionEdited,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteReportQuestion\",\n stateName: \"reportQuestion\",\n async: true,\n isPaginated: false,\n successCb: reportQuestionDeleted,\n }),\n\n //\n ...bindReducers(ActionTypes, {\n action: \"storeSelectedItemIndex\",\n stateName: \"selectedItemIndex\",\n async: false,\n isPaginated: false,\n successCb: storeSelectedItemIndex,\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: false,\n successCb: showDialog,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n});\n","import { ActionTypes } from \"./actions\";\nimport { bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n responsesSummary: {},\n};\n\nexport const reducer = createReducer(initialState, {\n //**Categories\n ...bindReducers(ActionTypes, {\n action: \"getGeneralInfo\",\n stateName: \"generalInfo\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getClientResponse\",\n stateName: \"clientResponse\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getProducts\",\n stateName: \"products\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getOffers\",\n stateName: \"offers\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getClientResponces\",\n stateName: \"clientResponces\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getClientResponceWithId\",\n stateName: \"clientResponce\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getResponsesSummary\",\n stateName: \"responsesSummary\",\n async: true,\n isPaginated: false,\n }),\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"refusalReasons\", { metadata: undefined }, []),\n ...defaultState(\n \"refusalReason\",\n { metadata: undefined },\n\n ),\n};\n\n\nconst refusalReasonEditedSuccess = (state, draft, payload) => {\n const refusalReasons = state.refusalReasons || [];\n var refusalReasonIndex = refusalReasons.findIndex((u) => u.id === payload.id);\n draft.refusalReasons[refusalReasonIndex] = payload;\n draft.openDialog = false;\n\n};\n\nconst refusalReasonCreatedSuccess = (state, draft, payload) => {\n // debugger\n const refusalReasons = state.refusalReasons || [];\n\n draft.refusalReasons = [...refusalReasons, payload];\n draft.openDialog = false;\n};\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n draft.brand_errors = [];\n};\n\nconst refusalReasonDeleteSuccess = (state, draft, payload) => {\n const refusalReasons = state.refusalReasons || [];\n draft.refusalReasons = refusalReasons.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\n\n\n\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"getRefusalReasons\",\n stateName: \"refusalReasons\",\n async: true,\n isPaginated: true,\n // successCb: console.log(\"hhhhhdone\")\n }),\n ...bindReducers(ActionTypes, {\n action: \"addRefusalReason\",\n stateName: \"refusalReason\",\n async: true,\n isPaginated: false,\n successCb: refusalReasonCreatedSuccess\n\n }),\n ...bindReducers(ActionTypes, {\n action: \"editRefusalReason\",\n stateName: \"refusalReason\",\n async: true,\n isPaginated: false,\n successCb: refusalReasonEditedSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteRefusalReason\",\n stateName: \"refusalReason\",\n async: true,\n isPaginated: false,\n successCb: refusalReasonDeleteSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: false,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n shiftSessions: [],\n exportedSessions: [],\n shiftSession: {},\n monthlyReports:[]\n};\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"getAllShiftSessions\",\n stateName: \"shiftSessions\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getExportedSessions\",\n stateName: \"exportedSessions\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getMonthlyReports\",\n stateName: \"monthlyReports\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getShiftSessionWithId\",\n stateName: \"shiftSession\",\n async: true,\n isPaginated: false,\n }),\n});\n","\n \nimport { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"../../utils/genState\";\nimport createReducer from \"../../utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"outletTypes\", { metadata: undefined }, []),\n ...defaultState(\"outletType\", { metadata: undefined }, {}),\n};\nconst outletTypeEditedSuccess = (state, draft, payload) => {\n const outletTypes = state.outletTypes || [];\n var outletTypeIndex = outletTypes.findIndex((u) => u.id === payload.id);\n draft.outletTypes[outletTypeIndex] = payload;\n draft.openDialog = false;\n};\n\nconst outletTypeCreatedSuccess = (state, draft, payload) => {\n const outletTypes = state.outletTypes || [];\n draft.outletTypes = [...outletTypes, payload];\n draft.openDialog = false;\n};\n\nconst outletTypeDeleteSuccess = (state, draft, payload) => {\n const outletTypes = state.outletTypes || [];\n draft.outletTypes = outletTypes.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n draft.outletType_errors = [];\n};\n\nexport const reducer = createReducer(initialState, { \n ...bindReducers(ActionTypes, {\n action: \"getAllOutletTypes\",\n stateName: \"outletTypes\",\n async: true,\n isPaginated: true\n }),\n ...bindReducers(ActionTypes, {\n action: \"getOutletTypeWithId\",\n stateName: \"outletType\",\n async: true,\n isPaginated: false\n }),\n ...bindReducers(ActionTypes, {\n action: \"createOutletType\",\n stateName: \"outletType\",\n async: true,\n isPaginated: false.valueOf,\n successCb:outletTypeCreatedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"updateOutletType\",\n stateName: \"outletType\",\n async: true,\n isPaginated: false,\n successCb:outletTypeEditedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteOutletType\",\n stateName: \"outletType\",\n async: true,\n isPaginated: false,\n successCb:outletTypeDeleteSuccess,\n }),\n \n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: false,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n});\n ","\n \nimport { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"../../utils/genState\";\nimport createReducer from \"../../utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"channels\", { metadata: undefined }, []),\n ...defaultState(\"channel\", { metadata: undefined }, {}),\n};\nconst channelEditedSuccess = (state, draft, payload) => {\n const channels = state.channels || [];\n var channelIndex = channels.findIndex((u) => u.id === payload.id);\n draft.channels[channelIndex] = payload;\n draft.openDialog = false;\n};\n\nconst channelCreatedSuccess = (state, draft, payload) => {\n const channels = state.channels || [];\n draft.channels = [...channels, payload];\n draft.openDialog = false;\n};\n\nconst channelDeleteSuccess = (state, draft, payload) => {\n const channels = state.channels || [];\n draft.channels = channels.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n draft.channel_errors = [];\n};\n\nexport const reducer = createReducer(initialState, { \n ...bindReducers(ActionTypes, {\n action: \"getAllChannels\",\n stateName: \"channels\",\n async: true,\n isPaginated: true\n }),\n ...bindReducers(ActionTypes, {\n action: \"getChannelWithId\",\n stateName: \"channel\",\n async: true,\n isPaginated: false\n }),\n ...bindReducers(ActionTypes, {\n action: \"createChannel\",\n stateName: \"channel\",\n async: true,\n isPaginated: false,\n successCb:channelCreatedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"updateChannel\",\n stateName: \"channel\",\n async: true,\n isPaginated: false,\n successCb:channelEditedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteChannel\",\n stateName: \"channel\",\n async: true,\n isPaginated: false,\n successCb:channelDeleteSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: false,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n});\n ","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"../../utils/genState\";\nimport createReducer from \"../../utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"groups\", { metadata: undefined }, []),\n ...defaultState(\"group\", { metadata: undefined }, {}),\n};\nconst groupEditedSuccess = (state, draft, payload) => {\n const groups = state.groups || [];\n var groupIndex = groups.findIndex((u) => u.id === payload.id);\n draft.groups[groupIndex] = payload;\n draft.openDialog = false;\n};\nconst createGroupSuccess = (state, draft, payload) => {\n const groups = state.groups || [];\n draft.groups = [...groups, payload];\n draft.openDialog = false;\n};\nconst groupDeleteSuccess = (state, draft, payload) => {\n const groups = state.groups || [];\n draft.groups = groups.filter((a) => a.id != payload.id);\n draft.openDeleteDialog = false;\n};\n\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n draft.brand_errors = [];\n};\n\nconst outletAssignedSuccess = (state, draft, payload) => {\n debugger;\n const groupOutletsList = state.groupOutletsList || [];\n draft.groupOutletsList = [...groupOutletsList, payload?.data];\n draft.nonGroupedOutlets = state?.nonGroupedOutlets?.filter(\n (a) => a.id != payload?.data?.id\n );\n draft.openDialog = false;\n};\n\nconst promoterAssignedSuccess = (state, draft, payload) => {\n const promotersList = state.promotersList || [];\n draft.promotersList = [...promotersList, payload?.data];\n draft.nonGroupedPromoters = state?.nonGroupedPromoters?.filter(\n (a) => a.id != payload?.data?.id\n );\n draft.openDialog = false;\n};\n\nconst outletRemoveSuccess = (state, draft, payload) => {\n debugger;\n const groupOutletsList = state.groupOutletsList || [];\n draft.groupOutletsList = groupOutletsList.filter(\n (a) => a.id != payload?.data?.id\n );\n draft.nonGroupedOutlets = [...state?.nonGroupedOutlets, payload?.data];\n draft.openDeleteDialog = false;\n};\n\nconst promoterRemoveSuccess = (state, draft, payload) => {\n const promotersList = state.promotersList || [];\n draft.promotersList = promotersList.filter((a) => a.id != payload?.data?.id);\n draft.nonGroupedPromoters = [...state?.nonGroupedPromoters, payload?.data];\n draft.openDeleteDialog = false;\n};\n\nconst bulkRemoveSuccess = (state, draft, payload) => {\n debugger;\n const groupOutletsList = state.groupOutletsList || [];\n draft.groupOutletsList = groupOutletsList.filter(\n (a) => !payload?.data.includes(a.id)\n );\n\n draft.openDialog = false;\n};\n\nconst bulkPromoterRemoveSuccess = (state, draft, payload) => {\n const promotersList = state.promotersList || [];\n draft.promotersList = promotersList.filter(\n (a) => !payload?.data.includes(a.id)\n );\n\n draft.openDialog = false;\n};\n\nconst bulkAssignSuccess = (state, draft, payload) => {\n debugger;\n const nonGroupedOutlets = state.nonGroupedOutlets || [];\n draft.nonGroupedOutlets = nonGroupedOutlets.filter(\n (a) => !payload?.data.includes(a.id)\n );\n\n draft.openDialog = false;\n};\n\nconst bulkPromoterAssignSuccess = (state, draft, payload) => {\n const nonGroupedPromoters = state.nonGroupedPromoters || [];\n draft.nonGroupedPromoters = nonGroupedPromoters.filter(\n (a) => !payload?.data.includes(a.id)\n );\n\n draft.openDialog = false;\n};\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"getAllGroups\",\n stateName: \"groups\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getGroupWithId\",\n stateName: \"group\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createGroup\",\n stateName: \"group\",\n async: true,\n isPaginated: false,\n successCb: createGroupSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"updateGroup\",\n stateName: \"group\",\n async: true,\n isPaginated: false,\n successCb: groupEditedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteGroup\",\n stateName: \"group\",\n async: true,\n isPaginated: false,\n successCb: groupDeleteSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getGroupClients\",\n stateName: \"groupClients\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createGroupClient\",\n stateName: \"groupClient\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createGroupClients\",\n stateName: \"groupClientsState\",\n async: true,\n isPaginated: false,\n }),\n ///outlets\n ...bindReducers(ActionTypes, {\n action: \"getNonGroupedOutlets\",\n stateName: \"nonGroupedOutlets\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getGroupOutletsList\",\n stateName: \"groupOutletsList\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createGroupOutlet\",\n stateName: \"groupOutlet\",\n async: true,\n isPaginated: false,\n successCb: outletAssignedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createGroupOutlets\",\n stateName: \"groupOutletsCreated\",\n async: true,\n isPaginated: false,\n successCb: bulkAssignSuccess,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"removeGroupOutlet\",\n stateName: \"groupOutletRemoved\",\n async: true,\n isPaginated: false,\n successCb: outletRemoveSuccess,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"removeGroupOutlets\",\n stateName: \"groupOutletsRemoved\",\n async: true,\n isPaginated: false,\n successCb: bulkRemoveSuccess,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"uploadGroupOutlets\",\n stateName: \"groupOutletsUploaded\",\n async: true,\n isPaginated: false,\n }),\n // Promoters\n ...bindReducers(ActionTypes, {\n action: \"getGroupPromotersList\",\n stateName: \"promotersList\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getNonGroupedPromoters\",\n stateName: \"nonGroupedPromoters\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createGroupPromoters\",\n stateName: \"groupPromoters\",\n async: true,\n isPaginated: false,\n successCb: promoterAssignedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createGroupPromoter\",\n stateName: \"groupPromoter\",\n async: true,\n isPaginated: false,\n successCb: bulkPromoterAssignSuccess,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"removeGroupPromoters\",\n stateName: \"removePromoters\",\n async: true,\n isPaginated: false,\n successCb: promoterRemoveSuccess,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"removeGroupPromoter\",\n stateName: \"removePromoter\",\n async: true,\n isPaginated: false,\n successCb: bulkPromoterRemoveSuccess,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"uploadGroupPromoters\",\n stateName: \"groupPromoterUpload\",\n async: true,\n isPaginated: false,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: false,\n successCb: resetDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: false,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"setGroup\",\n stateName: \"group\",\n async: false,\n isPaginated: false,\n }),\n});\n","import { bindReducers, defaultState } from \"../../utils/genState\";\n\nimport { ActionTypes } from \"./actions\";\nimport createReducer from \"../../utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"spins\", { metadata: undefined }, []),\n ...defaultState(\"rewards\", { metadata: undefined }, []),\n};\n\nconst removeSupervisorFromSpinSuccess = (state, draft, payload) => {\n const supervisors = state.assignedSupervisors || [];\n const notAssignedSupervisors = state.notAssignedSupervisors || [];\n draft.assignedSupervisors = supervisors.filter((a) => a.id != payload.id);\n draft.notAssignedSupervisors = [...notAssignedSupervisors,payload]\n draft.openDeleteDialog = false;\n};\n\nconst assignSupervisorSuccess = (state, draft, payload) => {\n //debugger\n const supervisors = state.assignedSupervisors || [];\n draft.assignedSupervisors = [...supervisors, payload];\n};\n\nconst spinDeleteSuccess = (state, draft, payload) => {\n const spins = state.spins || [];\n draft.spins = spins.filter((a) => a.id != payload?.id);\n draft.openDeleteDialog = false;\n};\n\n// const spinCreatedSuccess = (state, draft, payload) => {\n// const spins = state.spins || [];\n// draft.spins = [...spins, payload];\n// draft.openDialog = false;\n// };\n\nconst setData = (state, draft, payload) => {\n const { item, value } = payload;\n draft[item] = value;\n};\nconst showDialog = (state, draft, payload) => {\n draft.openDialog = true;\n};\nconst showDeleteDialog = (state, draft, payload) => {\n draft.openDeleteDialog = true;\n};\n\nconst resetDialog = (state, draft, payload) => {\n draft.openDialog = false;\n draft.openDeleteDialog = false;\n};\n// Rewards\nconst rewardEditedSuccess = (state, draft, payload) => {\n const rewards = state.rewards || [];\n let rewardIndex = rewards.findIndex((u) => u.id === payload.id);\n draft.rewards[rewardIndex] = payload;\n draft.openDialog = false;\n};\n\nconst rewardCreatedSuccess = (state, draft, payload) => {\n const rewards = state.rewards || [];\n draft.rewards = [...rewards, payload];\n};\n\nconst rewardDeleteSuccess = (state, draft, payload) => {\n const rewards = state.rewards || [];\n draft.rewards = rewards.filter((a) => a.id != payload);\n draft.openDeleteDialog = false;\n};\nconst setReward = (state, draft, payload) => {\n draft.reward = undefined;\n};\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"getAllSpin\",\n stateName: \"spins\",\n async: true,\n isPaginated: true,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"getSpinWithId\",\n stateName: \"spin\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createSpin\",\n stateName: \"spin\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"updateSpin\",\n stateName: \"spin\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteSpin\",\n stateName: \"spin\",\n async: true,\n isPaginated: false,\n successCb: spinDeleteSuccess,\n }),\n\n ...bindReducers(ActionTypes, {\n action: \"setData\",\n stateName: \"data\",\n async: false,\n isPaginated: false,\n successCb: setData,\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDeleteDialog\",\n stateName: \"showDeleteDialog\",\n async: false,\n isPaginated: false,\n successCb: showDeleteDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"showDialog\",\n stateName: \"showDialog\",\n async: false,\n isPaginated: false,\n successCb: showDialog,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetDialog\",\n stateName: \"resetDialog\",\n async: false,\n isPaginated: true,\n successCb: resetDialog,\n }),\n ///rewards\n ...bindReducers(ActionTypes, {\n action: \"getAllRewards\",\n stateName: \"rewards\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getRewardWithId\",\n stateName: \"reward\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"createReward\",\n stateName: \"reward\",\n async: true,\n isPaginated: false,\n successCb: rewardCreatedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"updateReward\",\n stateName: \"reward\",\n async: true,\n isPaginated: false,\n successCb: rewardEditedSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"deleteReward\",\n stateName: \"reward\",\n async: true,\n isPaginated: false,\n successCb: rewardDeleteSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"setReward\",\n stateName: \"reward\",\n async: false,\n isPaginated: false,\n successCb: setReward,\n }),\n // Supervisor\n ...bindReducers(ActionTypes, {\n action: \"assignedSupervisor\",\n stateName: \"assignedSupervisors\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"notAssignedSupervisor\",\n stateName: \"notAssignedSupervisors\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"removeSupervisorFromSpin\",\n stateName: \"assignedSupervisor\",\n async: true,\n isPaginated: false,\n successCb: removeSupervisorFromSpinSuccess,\n }),\n ...bindReducers(ActionTypes, {\n action: \"assignSupervisor\",\n stateName: \"assignedSupervisor\",\n async: true,\n isPaginated: false,\n successCb: assignSupervisorSuccess,\n }),\n});\n","import { ActionTypes } from \"./actions\";\nimport { defaultState, bindReducers } from \"src/utils/genState\";\nimport createReducer from \"src/utils/reduxsauce/createReducer\";\n\nconst initialState = {\n ...defaultState(\"reportsResponses\", { metadata: undefined }, []),\n};\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"addCustomReport\",\n stateName: \"reportsResponses\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getCustomReport\",\n stateName: \"customReports\",\n async: true,\n isPaginated: true,\n }),\n ...bindReducers(ActionTypes, {\n action: \"getCustomExcelReport\",\n stateName: \"customExcelReports\",\n async: true,\n isPaginated: true,\n }),\n});\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getGeneralInfo: { args: [\"payload\"], meta: { async: true } },\n getClientResponse: { args: [\"payload\"], meta: { async: true } },\n getProducts: { args: [\"payload\"], meta: { async: true } },\n getOffers: { args: [\"payload\"], meta: { async: true } },\n getClientResponces: { args: [\"payload\"], meta: { async: true } },\n getClientResponceWithId: { args: [\"payload\"], meta: { async: true } },\n getResponsesSummary: { args: [\"payload\"], meta: { async: true } },\n },\n {\n prefix: \"@app/dashboard/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","import createReducer from \"src/utils/reduxsauce/createReducer\";\nimport { ActionTypes } from \"./actions\";\n\nimport { defaultState, bindReducers } from \"src/utils/genState\";\n\nconst initialState = {\n ...defaultState(\"pages\"),\n};\n\nconst setPageState = (state,draft, payload) => {\n const {name,st}=payload;\n if(!state.pages){\n draft.pages={};\n }\n draft.pages[name] = st;\n};\n\n\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {action:\"setPageState\",async:false,successCb:setPageState}),\n});\n","\nimport { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getAllOutletTypes: { args: [\"payload\"], meta: { async: true } },\n getOutletTypeWithId: { args: [\"payload\"], meta: { async: true } },\n createOutletType: { args: [\"payload\"], meta: { async: true } },\n updateOutletType: { args: [\"payload\"], meta: { async: true } },\n deleteOutletType: { args: [\"payload\"], meta: { async: true } },\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/outletType/\"\n }\n);\n\nexport const ActionTypes = Types;\nexport default Creators;\nexport const AuthActions=Creators;\n\n ","\nimport { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getAllChannels: { args: [\"payload\"], meta: { async: true } },\n getChannelWithId: { args: [\"payload\"], meta: { async: true } },\n createChannel: { args: [\"payload\"], meta: { async: true } },\n updateChannel: { args: [\"payload\"], meta: { async: true } },\n deleteChannel: { args: [\"payload\"], meta: { async: true } },\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/channel/\"\n }\n);\n\nexport const ActionTypes = Types;\nexport default Creators;\nexport const AuthActions=Creators;\n\n ","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getAllOffers: { args: [\"payload\"], meta: { async: true } },\n getOfferWithId: { args: [\"payload\"], meta: { async: true } },\n addOffer: { args: [\"payload\"], meta: { async: true } },\n editOffer: { args: [\"payload\"], meta: { async: true } },\n deleteOffer: { args: [\"payload\"], meta: { async: true } },\n\n setOffer: { args: [\"payload\"], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/offers/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getAllCompanyInfos: { args: [], meta: { async: true } },\n getCompanyInfoWithId: { args: [\"payload\"], meta: { async: true } },\n addCompanyInfo: { args: [\"payload\"], meta: { async: true } },\n editCompanyInfo: { args: [\"payload\"], meta: { async: true } },\n deleteCompanyInfo: { args: [\"payload\"], meta: { async: true } },\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/CompanyInfos/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getAllAgeRanges: { args: [\"payload\"], meta: { async: true } },\n getAgeRangeWithId: { args: [\"payload\"], meta: { async: true } },\n addAgeRange: { args: [\"payload\"], meta: { async: true } },\n editAgeRange: { args: [\"payload\"], meta: { async: true } },\n deleteAgeRange: { args: [\"payload\"], meta: { async: true } },\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/ageRanges/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getRefusalReasons: { args: [\"payload\"], meta: { async: true } },\n getRefusalReasonWithId: { args: [\"payload\"], meta: { async: true } },\n addRefusalReason: { args: [\"payload\"], meta: { async: true } },\n editRefusalReason: { args: [\"payload\"], meta: { async: true } },\n deleteRefusalReason: { args: [\"payload\"], meta: { async: true } },\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/RefusalReasons/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","var map = {\n\t\"./ar/messages.po\": [\n\t\t567,\n\t\t80\n\t],\n\t\"./en/messages.po\": [\n\t\t568,\n\t\t81\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 7);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 553;\nmodule.exports = webpackAsyncContext;","import { createReducer } from \"reduxsauce\";\nimport { produce } from \"immer\";\nimport jwtDecoder from \"jwt-decode\";\n\nimport { ActionTypes } from \"./actions\";\nimport { bindReducers } from \"src/utils/genState\";\n\nconst initialState = {\n user: null,\n isLoggedIn: false,\n token: null,\n loginError: undefined,\n notifications: [],\n};\n\nconst login = state => {\n return produce(state, draft => {\n draft.loginLoading = true;\n });\n};\nconst loginSuccess = (state, draft, payload) => {\n\n const user = jwtDecoder(payload.data.token);\n draft.user = user;\n draft.isLoggedIn = true;\n draft.loginLoading = false;\n const roles = JSON.parse(user?.role);\n const isAdmin = !roles.some(r => r.toLowerCase() === \"promoter\");\n localStorage.setItem('userData', JSON.stringify(user))\n localStorage.setItem('jwtToken', payload.data.token)\n localStorage.setItem('refreshToken', payload.data.refreshToken)\n};\nconst loginFail = (state, { payload }) => {\n\n return produce(state, draft => {\n draft.loginLoading = false;\n draft.loginError = payload.message\n });\n};\nconst updateTokenSuccess = (state, draft, payload) => {\n const user = jwtDecoder(payload);\n if (user.active === false) {\n localStorage.removeItem('userData')\n localStorage.removeItem('jwtToken')\n draft.user = undefined;\n draft.isLoggedIn = false;\n return;\n }\n draft.user = user;\n draft.loginLoading = false;\n localStorage.setItem('userData', JSON.stringify(user))\n localStorage.setItem('jwtToken', payload)\n};\nconst updateUserScoreSuccess = (state, draft, payload) => {\n draft.user={...draft.user,score:payload}\n};\n\nconst logout = (state, { payload }) => {\n return produce(state, draft => {\n localStorage.removeItem('userData')\n localStorage.removeItem('jwtToken')\n draft.user = undefined;\n draft.isLoggedIn = false;\n });\n};\n\nconst getNotifications = state => {\n return produce(state, draft => {\n draft.loginLoading = true;\n });\n};\nconst getNotificationsSuccess = (state, { payload }) => {\n return produce(state, draft => {\n draft.notifications = payload.data\n draft.loginLoading = false;\n\n });\n};\nconst getNotificationsFail = (state, { payload }) => {\n return produce(state, draft => {\n draft.loginLoading = false;\n draft.loginError = payload.message\n });\n};\nconst addNotification = (state, { notify }) => {\n return produce(state, draft => {\n draft.loginLoading = false;\n draft.notifications = [notify, ...state.notifications]\n });\n};\nconst readNotification = (state, { notify }) => {\n return produce(state, draft => {\n });\n};\nconst readNotificationSuccess = (state, { payload }) => {\n return produce(state, draft => {\n draft.notifications.forEach(a => {\n if (a.notifyId === payload.data.notficiationId)\n a.read = true;\n });\n });\n};\nconst readNotificationFailed = (state, { notify }) => {\n return produce(state, draft => {\n });\n};\nconst resetPasswordSuccess = (state, draft, payload) => {\n draft.changePassword_errors = null\n};\n\n\nexport const authReducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"login\",\n stateName: \"login\",\n async: true,\n isPaginated: false,\n successCb: loginSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"updateToken\",\n stateName: \"updateToken\",\n async: false,\n isPaginated: false,\n successCb: updateTokenSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"updateProfile\",\n stateName: \"updateProfile\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"changePassword\",\n stateName: \"changePassword\",\n async: true,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"resetChangePassword\",\n stateName: \"resetChangePassword\",\n successCb: resetPasswordSuccess\n }),\n ...bindReducers(ActionTypes, {\n action: \"updateUserScore\",\n async: false,\n isPaginated: false,\n successCb: updateUserScoreSuccess\n }),\n // [ActionTypes.LOGIN]: login,\n // [ActionTypes.LOGIN_SUCCESS]: loginSuccess,\n // [ActionTypes.LOGIN_FAIL]: loginFail,\n [ActionTypes.LOGOUT]: logout,\n [ActionTypes.GET_NOTIFICATIONS]: getNotifications,\n [ActionTypes.GET_NOTIFICATIONS_SUCCESS]: getNotificationsSuccess,\n [ActionTypes.GET_NOTIFICATIONS_FAIL]: getNotificationsFail,\n [ActionTypes.ADD_NOTIFICATION]: addNotification,\n [ActionTypes.READ_NOTIFICATION]: readNotification,\n [ActionTypes.READ_NOTIFICATION_SUCCESS]: readNotificationSuccess,\n [ActionTypes.READ_NOTIFICATION_FAIL]: readNotificationFailed,\n});","// ** ThemeConfig Import\nimport themeConfig from 'src/configs/themeConfig'\nimport { createReducer } from \"reduxsauce\";\nimport { produce } from \"immer\";\n\nimport { ActionTypes } from \"./actions\";\nimport { bindReducers } from \"src/utils/genState\";\n\n// ** Returns Initial Menu Collapsed State\nconst initialMenuCollapsed = () => {\n const item = window.localStorage.getItem('menuCollapsed')\n //** Parse stored json or if none return initialValue\n return item ? JSON.parse(item) : themeConfig.layout.menu.isCollapsed\n}\n\n// ** Initial State\nconst initialState = {\n isRTL: themeConfig.layout.isRTL,\n menuCollapsed: initialMenuCollapsed(),\n menuHidden: themeConfig.layout.menu.isHidden,\n contentWidth: themeConfig.layout.contentWidth,\n logo: \"roi\",\n appName: \"roi\",\n url: \"\"\n}\n\nconst setRtl = (state, draft, payload) => {\n draft.isRTL = payload;\n}\nconst setMenuHidden = (state, draft, payload) => {\n draft.menuHidden = payload;\n}\nconst setMenuCollapsed = (state, draft, payload) => {\n draft.menuCollapsed = payload;\n}\n\nconst layoutReducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {\n action: \"handleRtl\",\n stateName: \"isRTL\",\n async: false,\n isPaginated: false,\n successCb: setRtl,\n }),\n ...bindReducers(ActionTypes, {\n action: \"handleMenuHidden\",\n stateName: \"isRTL\",\n async: false,\n isPaginated: false,\n successCb: setMenuHidden,\n }),\n ...bindReducers(ActionTypes, {\n action: \"setLogo\",\n stateName: \"logo\",\n async: false,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"setAppName\",\n stateName: \"appName\",\n async: false,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"setUrl\",\n stateName: \"url\",\n async: false,\n isPaginated: false,\n }),\n ...bindReducers(ActionTypes, {\n action: \"handleMenuCollapsed\",\n stateName: \"menuCollapsed\",\n async: false,\n isPaginated: false,\n successCb: setMenuCollapsed,\n }),\n\n // [ActionTypes.LOGOUT]: logout,\n\n});\n\n// const layoutReducer = (state = initialState, action) => {\n// switch (action.type) {\n// case 'HANDLE_CONTENT_WIDTH':\n// return { ...state, contentWidth: action.value }\n// case 'HANDLE_MENU_COLLAPSED':\n// window.localStorage.setItem('menuCollapsed', action.value)\n// return { ...state, menuCollapsed: action.value }\n// case 'HANDLE_MENU_HIDDEN':\n// return { ...state, menuHidden: action.value }\n// case 'HANDLE_RTL':\n// return { ...state, isRTL: action.value }\n// default:\n// return state\n// }\n// }\n\nexport default layoutReducer\n","// ** Initial State\nconst initialState = {\n suggestions: [],\n bookmarks: [],\n query: ''\n}\n\nconst navbarReducer = (state = initialState, action) => {\n switch (action.type) {\n case 'HANDLE_SEARCH_QUERY':\n return { ...state, query: action.val }\n case 'GET_BOOKMARKS':\n return { ...state, suggestions: action.data, bookmarks: action.bookmarks }\n case 'UPDATE_BOOKMARKED':\n let objectToUpdate\n\n // ** find & update object\n state.suggestions.find(item => {\n if (item.id === action.id) {\n item.isBookmarked = !item.isBookmarked\n objectToUpdate = item\n }\n })\n\n // ** Get index to add or remove bookmark from array\n const bookmarkIndex = state.bookmarks.findIndex(x => x.id === action.id)\n\n if (bookmarkIndex === -1) {\n state.bookmarks.push(objectToUpdate)\n } else {\n state.bookmarks.splice(bookmarkIndex, 1)\n }\n\n return { ...state }\n default:\n return state\n }\n}\n\nexport default navbarReducer\n","import { authReducer } from \"./auth/reducer\";\nimport { combineReducers } from \"redux\";\nimport { connectRouter } from \"connected-react-router\";\nimport layoutReducer from \"./layout/reducer\";\nimport navbarReducer from \"./navbar/reducer\";\nimport { persistReducer } from \"redux-persist\";\nimport storage from \"redux-persist/lib/storage\";\n\n// -------------------\n\nconst rootPersistConfig = {\n key: \"root\",\n storage,\n blacklist: [\n \"router\",\n \"userManegment\",\n \"products\",\n \"brands\",\n \"offers\",\n \"outlets\",\n \"outletType\",\n \"channels\",\n \"companyInfos\",\n \"prizes\",\n \"cities\",\n \"refusalReasons\",\n \"nationalities\",\n \"ageRanges\",\n \"promoters\",\n \"supervisors\",\n \"reports\",\n \"lookups\",\n \"shiftSessions\",\n \"dashboard\",\n \"survey\",\n \"group\",\n \"spinWheel\",\n ],\n};\n\nexport default function createReducer(asyncReducers, history) {\n return persistReducer(\n rootPersistConfig,\n combineReducers({\n ...asyncReducers,\n router: connectRouter(history),\n app: require(\"./app/reducer\").reducer,\n auth: authReducer,\n layout: layoutReducer,\n navbar: navbarReducer,\n userManegment: require(\"./userManagement/reducer\").reducer,\n settings: require(\"./setting/reducer\").reducer,\n brands: require(\"./brands/reducer\").reducer,\n products: require(\"./products/reducer\").reducer,\n lookups: require(\"./lookups/reducer\").reducer,\n companyInfos: require(\"./companyInfo/reducer\").reducer,\n prizes: require(\"./prize/reducer\").reducer,\n offers: require(\"./offers/reducer\").reducer,\n outlets: require(\"./outlets/reducer\").reducer,\n cities: require(\"./city/reducer\").reducer,\n nationalities: require(\"./nationalities/reducer\").reducer,\n ageRanges: require(\"./ageRange/reducer\").reducer,\n promoters: require(\"./promoter/reducer\").reducer,\n survey: require(\"./survey/reducer\").reducer,\n supervisors: require(\"./supervisor/reducer\").reducer,\n reports: require(\"./reports/reducer\").reducer,\n dashboard: require(\"./dashboard/reducer\").reducer,\n refusalReasons: require(\"./refusalReason/reducer\").reducer,\n shiftSessions: require(\"./shiftSessions/reducer\").reducer,\n outletType: require(\"./outletType/reducer\").reducer,\n channels: require(\"./channel/reducer\").reducer,\n group: require(\"./group/reducer\").reducer,\n spinWheel: require(\"./spinningWheel/reducer\").reducer,\n reportsResponses: require(\"./reportsResponses/reducer\").reducer,\n page: require(\"./pages/reducer\").reducer,\n })\n );\n}\n","const Storage = window.localStorage;\n\nexport default Storage;","import { createLogic } from \"redux-logic\";\nimport { toast } from \"react-toastify\";\nimport { push } from \"connected-react-router\";\n// import adminActions from \"store/admin/actions\";\nimport authActions from \"src/store/auth/actions\";\nimport storage from \"src/services/storage\";\nimport jwtDecoder from 'jwt-decode';\nimport * as moment from 'moment';\nconst normalizeActionName = (actionName) => {\n if (actionName == undefined) {\n console.error(\"action is not correct passed to logic generator\");\n }\n return actionName\n .toLowerCase()\n .split(\"/\")\n .pop()\n .split(\"_\")\n .map((a, i) => (i > 0 ? a.charAt(0).toUpperCase() + a.substring(1) : a))\n .join(\"\");\n};\n\nconst sleep = (ms) => {\n return new Promise((resolve) => setTimeout(resolve, ms));\n};\n\n/**\n *\n * @param {String} apiNamespace api namespace\n * @param {String{}} options options which contain all options ,\n * @param {String} options.actionName => action name which will be executed,\n * @param {Function} options.successCb => custom success callback for more custom logic,\n * @param {Function} options.failCb => custom failure call back for custom error logic,\n * @param {String} options.successMessage => success message that will show on toastr when action successeded ,\n * @param {String} options.errorMessage => error message that will show on toastr when action failed,\n * @param {Boolean} options.showSuccessMessage => boolean if you have a custom success message by default false,\n * @param {Boolean} options.showErrorMessage => boolean if you have a custom error message by default false,\n *\n */\nexport const logic = (apiNamespace, options = {}) => {\n const {\n actionName,\n successCb,\n failCb,\n successMessage,\n errorMessage,\n showSuccessMessage,\n showErrorMessage,\n } = options;\n const api_name = normalizeActionName(actionName);\n const logic = createLogic({\n type: actionName,\n latest: true,\n\n async process({ getState, action, api }, dispatch, done) {\n try {\n _validateApi(api, apiNamespace, api_name, action);\n await refreshToken(api);\n\n let app = localStorage.getItem('app_name');\n let apiURI = app === 'roi' ?\n process.env.REACT_APP_BASE_API_URL\n : process.env.REACT_APP_BASE_API_URL_NAKHLA;\n\n api.setBaseURL(apiURI);\n\n const res = await api[apiNamespace][api_name](action.payload);\n if (!res.ok) {\n if (res.status == 401) {\n const token = \"jwtToken\";\n const currentToken = storage.getItem(token);\n if (currentToken)\n storage.removeItem(token);\n dispatch(authActions.logout());\n dispatch(push(\"/\"));\n } else {\n const _errorMsg =\n (res.data && (res.data.errors || res.data.errorMessage)) ||\n \"Unknown Error\";\n dispatch({\n type: `${actionName}_FAIL`,\n payload: _errorMsg,\n error: true,\n });\n\n if (failCb) {\n failCb(dispatch, res.data);\n } else if (showErrorMessage) {\n if (errorMessage) toast.error(errorMessage);\n else {\n if (res.data && res.data.errorCode == \"404\") {\n toast.error(\"No data found\");\n } else {\n toast.error(res.data.errorMessage);\n }\n }\n }\n }\n } else {\n dispatch({ type: `${actionName}_SUCCESS`, payload: res.data });\n successCb && successCb(dispatch, res.data);\n if (showSuccessMessage) toast.success(successMessage);\n }\n } catch (err) {\n console.error(\"Unhandled error in logic \", err);\n dispatch({ type: `${actionName}_FAIL`, payload: err, error: true });\n failCb && failCb(dispatch);\n }\n done();\n },\n });\n return logic;\n};\n\nconst refreshToken = async (api) => {\n const token = localStorage.getItem(\"jwtToken\");\n if (token) {\n const decoder = jwtDecoder(token);\n if (decoder.exp < moment().unix()) {\n const refreshToken = localStorage.getItem(\"refreshToken\");\n const response = await api[\"auth\"][\"refreshToken\"]({\n token: token,\n refreshToken: refreshToken\n });\n if (response.ok) {\n const payload = response.data;\n localStorage.setItem('jwtToken', payload.data.token)\n localStorage.setItem('refreshToken', payload.data.refreshToken)\n }\n }\n }\n}\n\nfunction _validateApi(api, apiNamespace, api_name, action) {\n //todo: validatte api\n const func = api[apiNamespace][api_name];\n if (!func) {\n }\n}\n\nexport default logic;\n","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { Trans } from \"@lingui/react\";\n\nconst apiNamespace = \"ageRanges\";\n\nconst getAllAgeRangesLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_AGE_RANGES,\n});\n\nconst getAgeRangeWithId = logic(apiNamespace, {\n actionName: ActionTypes.GET_AGE_RANGE_WITH_ID,\n});\nconst addAgeRangeLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_AGE_RANGE,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst editAgeRangeLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_AGE_RANGE,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst deleteAgeRangeLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_AGE_RANGE,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nexport default [\n getAllAgeRangesLogic,\n addAgeRangeLogic,\n editAgeRangeLogic,\n deleteAgeRangeLogic,\n getAgeRangeWithId,\n];\n","import { ActionTypes } from \"./actions\";\nimport logic from \"src/utils/genLogic\";\n\nconst apiNamespace = \"app\";\n\nconst pingLogic = logic(apiNamespace, {actionName:ActionTypes.PING});\nconst getCountriesLogic = logic(apiNamespace, {actionName:ActionTypes.GET_COUNTRIES});\nconst getCitiesLogic = logic(apiNamespace, {actionName:ActionTypes.GET_CITIES});\n\nexport default [pingLogic,getCountriesLogic,getCitiesLogic];\n","import { createLogic } from \"redux-logic\";\nimport { ActionTypes } from \"./actions\";\nimport logic from \"src/utils/genLogic\";\nimport { push } from \"connected-react-router\";\nimport jwtDecode from \"jwt-decode\";\n\nconst apiNamespace = \"auth\";\nexport const getNotificationsLogic = createLogic({\n type: ActionTypes.GET_NOTIFICATIONS,\n latest: true,\n\n async process({ getState, action, api }, dispatch, done) {\n try {\n const res = await api.auth.getNotifications(action.loginRequest);\n if (!res.ok || !res.data.success) {\n dispatch({\n type: ActionTypes.GET_NOTIFICATIONS_FAIL,\n payload: res.data || \"Unknown Error\",\n error: true\n })\n ;\n } else {\n dispatch({ type: ActionTypes.GET_NOTIFICATIONS_SUCCESS, payload: res.data });\n }\n } catch (err) {\n dispatch({ type: ActionTypes.GET_NOTIFICATIONS_FAIL, payload: err, error: true });\n }\n\n done();\n } \n});\nexport const readNotificationLogic = createLogic({\n type: ActionTypes.READ_NOTIFICATION,\n latest: true,\n\n async process({ getState, action, api }, dispatch, done) {\n try {\n const res = await api.auth.readNotification(action.payload);\n if (!res.ok || !res.data.success) {\n dispatch({\n type: ActionTypes.READ_NOTIFICATION_FAIL,\n payload: res.data || \"Unknown Error\",\n error: true\n })\n ;\n } else {\n dispatch({ type: ActionTypes.READ_NOTIFICATION_SUCCESS, payload: res.data });\n }\n } catch (err) {\n dispatch({ type: ActionTypes.READ_NOTIFICATION_FAIL, payload: err, error: true });\n }\n\n done();\n } \n});\nconst loginLogic = logic(apiNamespace, {actionName:ActionTypes.LOGIN,showErrorMessage:true,errorMessage:'Invalid login ',\nshowSuccessMessage:false,\n// successMessage:\"Welcome back\",\nsuccessCb:(dispatch,payload)=>{\n const user= jwtDecode(payload.data.token); \n if(user.role.includes(\"Promoter\")){\n dispatch(push(\"/survey\"));\n\n }else\n dispatch(push(\"/home\"));\n}\n\n});\nconst changePasswordLogic = logic(apiNamespace, {actionName:ActionTypes.CHANGE_PASSWORD,showErrorMessage:true,errorMessage:'Faild to change your password ',\nshowSuccessMessage:true,\nsuccessMessage:\"Your password updated successfully\"});\nconst updateProfileLogic = logic(apiNamespace, {actionName:ActionTypes.UPDATE_PROFILE,showErrorMessage:true,errorMessage:'Faild to update your profile',\nshowSuccessMessage:true,\nsuccessMessage:\"Your profile updated successfully\"});\n\nexport default [changePasswordLogic,updateProfileLogic, loginLogic,getNotificationsLogic,readNotificationLogic];","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { Trans } from \"@lingui/react\";\nconst apiNamespace = \"brands\";\n\nconst getAllBrandsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_BRANDS,\n});\nconst getBrandWithIdLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_BRAND_WITH_ID,\n});\nconst addBrandLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_BRAND,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst editBrandLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_BRAND,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst deleteBrandLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_BRAND,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nexport default [\n getAllBrandsLogic,\n getBrandWithIdLogic,\n addBrandLogic,\n editBrandLogic,\n deleteBrandLogic,\n];\n","\nimport { ActionTypes } from \"./actions\";\nimport logic from \"../../utils/genLogic\";\nimport { Trans } from \"@lingui/react\";\nconst apiNamespace = \"channel\";\n\nconst getAllChannelsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_CHANNELS,\n});\nconst getChannelWithIdLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_CHANNEL_WITH_ID,\n});\nconst createChannelLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_CHANNEL,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\nconst updateChannelLogic = logic(apiNamespace, {\n actionName: ActionTypes.UPDATE_CHANNEL,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\nconst deleteChannelLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_CHANNEL,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nexport default [\n getAllChannelsLogic,\n getChannelWithIdLogic,\n createChannelLogic, \n updateChannelLogic,\n deleteChannelLogic\n];\n \n ","import logic from \"src/utils/genLogic\";\nimport actions, { ActionTypes } from \"./actions\";\nimport { push } from \"connected-react-router\";\nimport { Trans } from \"@lingui/react\";\nconst apiNamespace = \"Cities\";\n\nconst getCitiesLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_CITIES,\n});\n\nconst getAllCitiesLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_CITIES,\n});\n\nconst getAllCountriesLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_COUNTRIES,\n});\nconst createCountryLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_COUNTRY,\n\n});\nconst editCountryLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_COUNTRY,\n});\nconst deleteCountryLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_COUNTRY,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n\n});\nconst createCityLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_CITY,\n successCb: (dispatch) => {\n dispatch(push(\"/cities/list\"));\n },\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\nconst editCityLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_CITY,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\nconst deleteCityLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_CITY,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nexport default [\n getCitiesLogic,\n createCityLogic,\n editCityLogic,\n deleteCityLogic,\n getAllCountriesLogic,\n createCountryLogic,\n editCountryLogic,\n deleteCountryLogic,\n getAllCitiesLogic\n];\n","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { push } from \"connected-react-router\";\n\nconst apiNamespace = \"companyInfos\";\n\n\nconst getAllCompanyInfosLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_COMPANY_INFOS,\n});\n\nconst getCompanyInfoWithId = logic(apiNamespace, {\n actionName: ActionTypes.GET_COMPANY_INFO_WITH_ID,\n});\nconst addCompanyInfoLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_COMPANY_INFO,\n successCb: (dispatch) => {\n dispatch(push(\"/companyInfo\"));\n }\n});\n\nconst editCompanyInfoLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_COMPANY_INFO,\n successCb: (dispatch) => {\n dispatch(push(\"/companyInfo\"));\n }\n});\n\nconst deleteCompanyInfoLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_COMPANY_INFO,\n});\n\n\n\nexport default [\n getAllCompanyInfosLogic,\n addCompanyInfoLogic,\n editCompanyInfoLogic,\n deleteCompanyInfoLogic,\n getCompanyInfoWithId\n\n];\n","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\n\nconst apiNamespace = \"dashboard\";\n\n// categories\n\nconst getGeneralInfoLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_GENERAL_INFO,\n});\n\nconst getClientResponseLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_CLIENT_RESPONSE,\n});\nconst getProductsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_PRODUCTS,\n});\nconst getOffersLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_OFFERS,\n});\nconst getClientResponcesLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_CLIENT_RESPONCES,\n});\nconst getClientResponceWithIdLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_CLIENT_RESPONCE_WITH_ID,\n});\nconst getResponsesSummaryLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_RESPONSES_SUMMARY,\n});\nexport default [\n getGeneralInfoLogic,\n getClientResponseLogic,\n getProductsLogic,\n getOffersLogic,\n getClientResponcesLogic,\n getClientResponceWithIdLogic,\n getResponsesSummaryLogic\n];\n","import { ActionTypes } from \"./actions\";\nimport logic from \"../../utils/genLogic\";\nimport { Trans } from \"@lingui/react\";\nimport { push } from \"connected-react-router\";\n\nconst apiNamespace = \"group\";\n\nconst getAllGroupsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_GROUPS,\n});\nconst getGroupWithIdLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_GROUP_WITH_ID,\n});\nconst createGroupLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_GROUP,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n successCb: (dispatch) => {\n dispatch(push(\"/group/list\"));\n },\n});\nconst updateGroupLogic = logic(apiNamespace, {\n actionName: ActionTypes.UPDATE_GROUP,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n successCb: (dispatch) => {\n dispatch(push(\"/group/list\"));\n },\n});\nconst deleteGroupLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_GROUP,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst getGroupClientsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_GROUP_CLIENTS,\n});\n\nconst createGroupClientLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_GROUP_CLIENT,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst createGroupClientsLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_GROUP_CLIENTS,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n successCb: (dispatch) => {\n dispatch(push(\"/Group/list\"));\n },\n});\n\n//outlets\n\nconst createGroupOutletLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_GROUP_OUTLET,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\nconst removeGroupOutletLogic = logic(apiNamespace, {\n actionName: ActionTypes.REMOVE_GROUP_OUTLET,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst createGroupOutletsLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_GROUP_OUTLETS,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n // successCb: (dispatch) => {\n // dispatch(push(\"/Group/list\"));\n // },\n});\n\nconst getGroupOutletsListLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_GROUP_OUTLETS_LIST,\n});\nconst getNonGroupedOutletsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_NON_GROUPED_OUTLETS,\n});\n\nconst uploadGroupOutletsLogic = logic(apiNamespace, {\n actionName: ActionTypes.UPLOAD_GROUP_OUTLETS,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n successCb: (dispatch) => {\n dispatch(push(\"/Group/list\"));\n },\n});\nconst removeGroupOutletsLogic = logic(apiNamespace, {\n actionName: ActionTypes.REMOVE_GROUP_OUTLETS,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n // successCb: (dispatch) => {\n // dispatch(push(\"/Group/list\"));\n // },\n});\n\n// Promoters\n\nconst createGroupPromoterLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_GROUP_PROMOTER,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\nconst removeGroupPromoterLogic = logic(apiNamespace, {\n actionName: ActionTypes.REMOVE_GROUP_PROMOTER,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst createGroupPromotersLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_GROUP_PROMOTERS,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n // successCb: (dispatch) => {\n // dispatch(push(\"/Group/list\"));\n // },\n});\n\nconst getGroupPromotersListLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_GROUP_PROMOTERS_LIST,\n});\nconst getNonGroupedPromotersLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_NON_GROUPED_PROMOTERS,\n});\n\nconst uploadGroupPromotersLogic = logic(apiNamespace, {\n actionName: ActionTypes.UPLOAD_GROUP_PROMOTERS,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n successCb: (dispatch) => {\n dispatch(push(\"/Group/list\"));\n },\n});\nconst removeGroupPromotersLogic = logic(apiNamespace, {\n actionName: ActionTypes.REMOVE_GROUP_PROMOTERS,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n // successCb: (dispatch) => {\n // dispatch(push(\"/Group/list\"));\n // },\n});\n\nexport default [\n getAllGroupsLogic,\n getGroupWithIdLogic,\n createGroupLogic,\n updateGroupLogic,\n deleteGroupLogic,\n getGroupClientsLogic,\n createGroupClientLogic,\n createGroupClientsLogic,\n getNonGroupedOutletsLogic,\n createGroupOutletLogic,\n createGroupOutletsLogic,\n removeGroupOutletLogic,\n getGroupOutletsListLogic,\n uploadGroupOutletsLogic,\n removeGroupOutletsLogic,\n\n // Promoters\n createGroupPromoterLogic,\n createGroupPromotersLogic,\n removeGroupPromoterLogic,\n removeGroupPromotersLogic,\n getGroupPromotersListLogic,\n getNonGroupedPromotersLogic,\n uploadGroupPromotersLogic,\n];\n","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { push } from \"connected-react-router\";\n\nconst apiNamespace = \"lookups\";\n\nconst getQuestionTypesLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_QUESTION_TYPES,\n});\nconst getAppTypesLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_APP_TYPES,\n});\n\n\n\nexport default [\n getQuestionTypesLogic,\n getAppTypesLogic\n];\n","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { Trans } from \"@lingui/react\";\nconst apiNamespace = \"Nationalities\";\n\n\nconst getAllNationalitiesLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_NATIONALITIES,\n});\nconst addNationalityLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_NATIONALITY,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst editNationalityLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_NATIONALITY,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst deleteNationalityLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_NATIONALITY,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\n\n\nexport default [\n getAllNationalitiesLogic,\n addNationalityLogic,\n editNationalityLogic,\n deleteNationalityLogic,\n\n];\n","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { push } from \"connected-react-router\";\nimport { Trans } from \"@lingui/react\";\nconst apiNamespace = \"offers\";\n\nconst getAllOffersLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_OFFERS,\n});\nconst getOfferWithIdLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_OFFER_WITH_ID,\n});\n\nconst addOfferLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_OFFER,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n successCb: (dispatch) => {\n dispatch(push(\"/offers/list\"));\n },\n});\n\nconst editOfferLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_OFFER,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n successCb: (dispatch) => {\n dispatch(push(\"/offers/list\"));\n },\n});\n\nconst deleteOfferLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_OFFER,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nexport default [\n getAllOffersLogic,\n getOfferWithIdLogic,\n addOfferLogic,\n editOfferLogic,\n deleteOfferLogic,\n];\n","\nimport { ActionTypes } from \"./actions\";\nimport logic from \"../../utils/genLogic\";\nimport { Trans } from \"@lingui/react\";\n\nconst apiNamespace = \"outletType\";\n\nconst getAllOutletTypesLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_OUTLET_TYPES,\n});\nconst getOutletTypeWithIdLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_OUTLET_TYPE_WITH_ID,\n});\nconst createOutletTypeLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_OUTLET_TYPE,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\nconst updateOutletTypeLogic = logic(apiNamespace, {\n actionName: ActionTypes.UPDATE_OUTLET_TYPE,\n});\nconst deleteOutletTypeLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_OUTLET_TYPE,\n});\n\nexport default [\n getAllOutletTypesLogic,\n getOutletTypeWithIdLogic,\n createOutletTypeLogic, \n updateOutletTypeLogic,\n deleteOutletTypeLogic\n];\n \n ","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { push } from \"connected-react-router\";\nimport { Trans } from \"@lingui/react\";\nconst apiNamespace = \"outlets\";\n\nconst getAllOutletsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_OUTLETS,\n});\nconst getOutletWithIdLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_OUTLET_WITH_ID,\n});\n\nconst addOutletLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_OUTLET,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n successCb: (dispatch) => {\n dispatch(push(\"/outlet/list\"));\n }\n});\nconst uploadOutletsLogic = logic(apiNamespace, {\n actionName: ActionTypes.UPLOAD_OUTLETS,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n successCb: (dispatch) => {\n dispatch(push(\"/outlet/list\"));\n }\n});\n\nconst editOutletLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_OUTLET,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n successCb: (dispatch) => {\n dispatch(push(\"/outlet/list\"));\n }\n});\n\nconst deleteOutletLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_OUTLET,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst uploadAssignmentsLogic = logic(apiNamespace, {\n actionName: ActionTypes.UPLOAD_ASSIGNMENTS,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n successCb: (dispatch) => {\n dispatch(push(\"/promoters-assignments/list\"));\n },\n});\n\nexport default [\n getAllOutletsLogic,\n getOutletWithIdLogic,\n addOutletLogic,\n editOutletLogic,\n deleteOutletLogic,\n uploadOutletsLogic,\n uploadAssignmentsLogic,\n];\n","import { Trans } from \"@lingui/react\";\nimport logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\n\nconst apiNamespace = \"prizes\";\n\nconst getAllPrizesLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_PRIZES,\n});\nconst addPrizeLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_PRIZE,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst editPrizeLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_PRIZE,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst deletePrizeLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_PRIZE,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst getAllOutletPrizesLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_OUTLET_PRIZES,\n});\nconst addOutletPrizeLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_OUTLET_PRIZE,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst editOutletPrizeLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_OUTLET_PRIZE,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst deleteOutletPrizeLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_OUTLET_PRIZE,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nexport default [\n getAllPrizesLogic,\n addPrizeLogic,\n editPrizeLogic,\n deletePrizeLogic,\n //////\n getAllOutletPrizesLogic,\n addOutletPrizeLogic,\n editOutletPrizeLogic,\n deleteOutletPrizeLogic,\n];\n","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { push } from \"connected-react-router\";\nimport { Trans } from \"@lingui/react\";\n\nconst apiNamespace = \"products\";\n\nconst getAllProductsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_PRODUCTS,\n});\nconst getProductWithIdLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_PRODUCT_WITH_ID,\n});\n\nconst addProductLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_PRODUCT,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n successCb: (dispatch) => {\n dispatch(push(\"/products/list\"));\n }\n});\n\nconst SaveProductCityOffersLogic = logic(apiNamespace, {\n actionName: ActionTypes.SAVE_PRODUCT_CITY_OFFERS,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n // successCb: (dispatch) => {\n // dispatch(push(\"/products/list\"));\n // }\n});\nconst deleteProductCityOffersLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_PRODUCT_CITY_OFFERS,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n // successCb: (dispatch) => {\n // dispatch(push(\"/products/list\"));\n // }\n});\nconst editProductLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_PRODUCT,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n successCb: (dispatch) => {\n dispatch(push(\"/products/list\"));\n }\n});\n\nconst deleteProductLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_PRODUCT,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nexport default [\n getAllProductsLogic,\n getProductWithIdLogic,\n addProductLogic,\n editProductLogic,\n deleteProductLogic,\n deleteProductCityOffersLogic,\n SaveProductCityOffersLogic\n];\n","// import { createLogic } from \"redux-logic\";\nimport logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { push } from \"connected-react-router\";\nimport { Trans } from \"@lingui/react\";\n\n\nconst apiNamespace = \"Promoters\";\n\nconst getAllPromotersLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_PROMOTERS,\n showErrorMessage: true,\n showSuccessMessage: false,\n});\nconst getAllCitiesLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_CITIES,\n showErrorMessage: true,\n showSuccessMessage: false,\n});\nconst getAllSupervisorsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_SUPERVISORS,\n showErrorMessage: true,\n showSuccessMessage: false,\n});\nconst getPromoterLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_PROMOTER,\n showErrorMessage: true,\n showSuccessMessage: false,\n});\nconst getPermissionsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_PERMISSIONS,\n showErrorMessage: false,\n showSuccessMessage: false,\n});\nconst addPromoterLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_PROMOTER,\n showErrorMessage: true,\n successMessage: \"Promoter created successfully\",\n showSuccessMessage: true,\n successCb: (dispatch) => {\n dispatch(push(\"/promoters/list\"));\n },\n});\n\nconst deletePromoterLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_PROMOTER,\n showErrorMessage: true,\n successMessage: \"Promoter Deleted successfully\",\n showSuccessMessage: true,\n});\nconst editPromoterLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_PROMOTER,\n showErrorMessage: true,\n showSuccessMessage: \"Promoter Edited Successfully\",\n showSuccessMessage: true,\n successCb: (dispatch) => {\n dispatch(push(\"/promoters/list\"));\n },\n});\nconst getAllPromotersAssignmentsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_PROMOTERS_ASSIGNMENTS,\n showErrorMessage: true,\n showSuccessMessage: false,\n});\nconst updateContractNumbersLogic = logic(apiNamespace, {\n actionName: ActionTypes.UPDATE_CONTRACT_NUMBERS,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n successCb: (dispatch) => {\n dispatch(push(\"/promoters/list\"));\n },\n});\nexport default [\n getAllPromotersLogic,\n addPromoterLogic,\n deletePromoterLogic,\n editPromoterLogic,\n getPermissionsLogic,\n getPromoterLogic,\n getAllCitiesLogic,\n getAllSupervisorsLogic,\n getAllPromotersAssignmentsLogic,\n updateContractNumbersLogic,\n];\n","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { Trans } from \"@lingui/react\";\n\nconst apiNamespace = \"refusalReasons\";\n\nconst getRefusalReasonsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_REFUSAL_REASONS,\n});\n\nconst getRefusalReasonWithId = logic(apiNamespace, {\n actionName: ActionTypes.GET_REFUSAL_REASON_WITH_ID,\n});\nconst addRefusalReasonLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_REFUSAL_REASON,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst editRefusalReasonLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_REFUSAL_REASON,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst deleteRefusalReasonLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_REFUSAL_REASON,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nexport default [\n getRefusalReasonsLogic,\n addRefusalReasonLogic,\n editRefusalReasonLogic,\n deleteRefusalReasonLogic,\n getRefusalReasonWithId,\n];\n","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { Trans } from \"@lingui/react\";\nconst apiNamespace = \"reports\";\n\nconst getAllReportResponsesLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_REPORT_RESPONSES,\n});\nconst getReportResponseWithIdLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_REPORT_RESPONSE_WITH_ID,\n});\n\n// Questions \nconst getAllReportQuestionsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_REPORT_QUESTIONS,\n});\n\nconst addReportQuestionLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_REPORT_QUESTION,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n \n});\n\nconst editReportQuestionLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_REPORT_QUESTION,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nconst deleteReportQuestionLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_REPORT_QUESTION,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nexport default [\n // Reports\n getAllReportResponsesLogic,\n getReportResponseWithIdLogic,\n\n // Questions\n getAllReportQuestionsLogic,\n addReportQuestionLogic,\n editReportQuestionLogic,\n deleteReportQuestionLogic,\n];\n","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { push } from \"connected-react-router\";\n\nconst apiNamespace = \"settings\";\nconst getSettingsLogic = logic(apiNamespace, {actionName:ActionTypes.GET_SETTINGS});\n\nconst editSettingLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_SETTING,\n successCb: (dispatch) => {\n dispatch(push('/home/setting'))\n \n }});\n\n const editAllSettingsLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_ALL_SETTINGS,\n successCb: (dispatch) => {\n dispatch(push('/home/setting'))\n \n }});\n\n \n\nexport default [getSettingsLogic,editSettingLogic,editAllSettingsLogic];\n\n","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\n\nconst apiNamespace = \"shiftSessions\";\n\nconst getAllShiftSessionsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_SHIFT_SESSIONS,\n});\n\nconst getExportedSessionsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_EXPORTED_SESSIONS,\n});\n\nconst getShiftSessionWithIdLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_SHIFT_SESSION_WITH_ID,\n});\nconst getMonthlyReportsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_MONTHLY_REPORTS,\n});\n\nexport default [\n getAllShiftSessionsLogic,\n getShiftSessionWithIdLogic,\n getMonthlyReportsLogic,\n getExportedSessionsLogic\n\n];\n","import { ActionTypes } from \"./actions\";\nimport { Trans } from \"@lingui/react\";\nimport logic from \"../../utils/genLogic\";\nimport { push } from \"connected-react-router\";\nimport { toast } from \"react-toastify\";\n\nconst apiNamespace = \"spinWheel\";\n\nconst getAllSpinLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_SPIN,\n});\n\nconst getSpinWithIdLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_SPIN_WITH_ID,\n});\n\nconst createSpinLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_SPIN,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n successCb: (dispatch) => {\n dispatch(push(\"/SpinningWheel/list\"));\n },\n});\n\nconst updateSpinLogic = logic(apiNamespace, {\n actionName: ActionTypes.UPDATE_SPIN,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n successCb: (dispatch) => {\n dispatch(push(\"/SpinningWheel/list\"));\n },\n});\nconst deleteSpinLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_SPIN,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\n// Rewards\nconst getAllRewardsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_REWARDS,\n});\n\nconst getRewardWithIdLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_REWARD_WITH_ID,\n});\nconst createRewardLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_REWARD,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n // successCb: (dispatch) => {\n // dispatch(push(\"/rewards/list\"));\n // },\n});\n\nconst updateRewardLogic = logic(apiNamespace, {\n actionName: ActionTypes.UPDATE_REWARD,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n successCb: (dispatch) => {\n dispatch(push(\"/rewards/list\"));\n },\n});\n\nconst deleteRewardLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_REWARD,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\n// Supervisor\nconst assignedSupervisorLogic = logic(apiNamespace, {\n actionName: ActionTypes.ASSIGNED_SUPERVISOR,\n});\n\nconst notAssignedSupervisorLogic = logic(apiNamespace, {\n actionName: ActionTypes.NOT_ASSIGNED_SUPERVISOR,\n});\n\nconst assignSupervisorLogic = logic(apiNamespace, {\n actionName: ActionTypes.ASSIGN_SUPERVISOR,\n showErrorMessage: false,\n // errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n failCb:(dispatch,data)=>{\n toast.error(data?.errorMessage)\n }\n});\n\nconst removeSupervisorFromSpinLogic = logic(apiNamespace, {\n actionName: ActionTypes.REMOVE_SUPERVISOR_FROM_SPIN,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\n\nexport default [\n getAllSpinLogic,\n getSpinWithIdLogic,\n createSpinLogic,\n updateSpinLogic,\n deleteSpinLogic,\n\n // Supervisor\n assignedSupervisorLogic,\n notAssignedSupervisorLogic,\n assignSupervisorLogic,\n removeSupervisorFromSpinLogic,\n\n // Rewards\n getAllRewardsLogic,\n getRewardWithIdLogic,\n createRewardLogic,\n updateRewardLogic,\n deleteRewardLogic,\n];\n","// import { createLogic } from \"redux-logic\";\nimport logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { push } from \"connected-react-router\";\n\n\nconst apiNamespace = \"Supervisors\";\n\nconst getAllSupervisorsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ALL_SUPERVISORS,\n showErrorMessage: true,\n showSuccessMessage: false,\n});\nconst getSupervisorLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_SUPERVISOR,\n showErrorMessage: true,\n showSuccessMessage: false,\n});\n\nconst addSupervisorLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_SUPERVISOR,\n showErrorMessage: true,\n successMessage: \"Supervisor created successfully\",\n showSuccessMessage: true,\n successCb: (dispatch) => {\n dispatch(push(\"/supervisors/list\"));\n },\n});\n\nconst deleteSupervisorLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_SUPERVISOR,\n showErrorMessage: true,\n successMessage: \"Supervisor Deleted successfully\",\n showSuccessMessage: true,\n});\nconst editSupervisorLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_SUPERVISOR,\n showErrorMessage: true,\n showSuccessMessage: \"Supervisor Edited Successfully\",\n showSuccessMessage: true,\n successCb: (dispatch) => {\n dispatch(push(\"/supervisors/list\"));\n },\n});\n\n\nexport default [\n getAllSupervisorsLogic,\n addSupervisorLogic,\n deleteSupervisorLogic,\n editSupervisorLogic,\n getSupervisorLogic\n];\n","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { push } from \"connected-react-router\";\n\nconst apiNamespace = \"survey\";\nconst getSurveyWithIdLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_SURVEY_WITH_ID,\n});\nconst getSurveysLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_SURVEYS,\n});\nconst getSurveyResultsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_SURVEY_RESULTS,\n});\nconst getUserSurveysLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_USER_SURVEYS,\n});\nconst getUserSurveysWithIdLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_USER_SURVEYS_WITH_ID,\n});\nconst createSurveyLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_SURVEY,\n successCb: (dispatch) => {\n dispatch(push(\"/survey/survey-management/list\"));\n },\n});\nconst addSurveyResponseLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_SURVEY_RESPONSE,\n});\nconst addSurveyQuestionLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_SURVEY_QUESTION,\n showErrorMessage: true,\n showSuccessMessage: true,\n successMessage: \"تم اضافة السؤال بنجاح\",\n});\nconst editSurveyQuestionLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_SURVEY_QUESTION,\n showErrorMessage: true,\n showSuccessMessage: true,\n successMessage: \"تم تعديل السؤال بنجاح\",\n});\nconst removeSurveyQuestionLogic = logic(apiNamespace, {\n actionName: ActionTypes.REMOVE_SURVEY_QUESTION,\n showErrorMessage: true,\n showSuccessMessage: true,\n successMessage: \"تم حذف السؤال بنجاح\",\n});\n\nconst editSurveyLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_SURVEY,\n successCb: (dispatch) => {\n dispatch(push(\"/survey/survey-management/list\"));\n },\n});\nconst deleteSurveyLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_SURVEY,\n});\n\nexport default [\n createSurveyLogic,\n getSurveysLogic,\n deleteSurveyLogic,\n getSurveyWithIdLogic,\n editSurveyLogic,\n addSurveyResponseLogic,\n getUserSurveysLogic,\n getUserSurveysWithIdLogic,\n addSurveyQuestionLogic,\n editSurveyQuestionLogic,\n removeSurveyQuestionLogic,\n getSurveyResultsLogic,\n];\n","// import { createLogic } from \"redux-logic\";\nimport logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { push } from \"connected-react-router\";\n\nconst apiNamespace = \"userManegment\";\nconst getUsersLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_USERS,\n showErrorMessage: true,\n showSuccessMessage: false,\n});\nconst getUserLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_USER,\n showErrorMessage: false,\n showSuccessMessage: false,\n});\nconst getPermissionsLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_PERMISSIONS,\n showErrorMessage: false,\n showSuccessMessage: false,\n});\nconst createUserLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_USER,\n showErrorMessage: true,\n successMessage: \"user created successfully\",\n showSuccessMessage: true,\n successCb: (dispatch) => {\n dispatch(push(\"/user-managment/users/list\"));\n },\n});\nconst createUsersLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_USERS,\n showErrorMessage: true,\n successMessage: \"users created successfully\",\n showSuccessMessage: true,\n successCb: (dispatch) => {\n dispatch(push(\"/user-managment/users/list\"));\n },\n});\nconst createAppUserLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_APP_USER,\n showErrorMessage: true,\n successMessage: \"user created successfully\",\n showSuccessMessage: true,\n successCb: (dispatch) => {\n dispatch(push(\"/user-managment/users/list\"));\n },\n});\nconst createRoleLogic = logic(apiNamespace, {\n actionName: ActionTypes.CREATE_ROLE,\n successCb: (dispatch) => {\n dispatch(push(\"/user-managment/roles/list\"));\n },\n});\nconst getRolesLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ROLES,\n showErrorMessage: false,\n showSuccessMessage: false,\n});\nconst getRoleLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_ROLE,\n showErrorMessage: false,\n showSuccessMessage: false,\n});\nconst deleteUserLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_USER,\n showErrorMessage: true,\n successMessage: \"user Deleted successfully\",\n showSuccessMessage: true,\n});\nconst editUserLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_USER,\n showErrorMessage: true,\n showSuccessMessage: \"User Edited Successfully\",\n showSuccessMessage: true,\n successCb: (dispatch) => {\n dispatch(push(\"/user-managment/users/list\"));\n },\n});\nconst editRoleLogic = logic(apiNamespace, {\n actionName: ActionTypes.EDIT_ROLE,\n successCb: (dispatch) => {\n dispatch(push(\"/user-managment/roles/list\"));\n },\n});\nconst deleteRoleLogic = logic(apiNamespace, {\n actionName: ActionTypes.DELETE_ROLE,\n showErrorMessage: true,\n successMessage: \"Role Deleted successfully\",\n showSuccessMessage: true,\n});\n\nexport default [\n getUsersLogic,\n createUserLogic,\n createUsersLogic,\n createAppUserLogic,\n getRolesLogic,\n getUserLogic,\n deleteUserLogic,\n editUserLogic,\n createRoleLogic,\n getPermissionsLogic,\n deleteRoleLogic,\n editRoleLogic,\n getRoleLogic,\n];\n","import logic from \"src/utils/genLogic\";\nimport { ActionTypes } from \"./actions\";\nimport { Trans } from \"@lingui/react\";\n\nconst apiNamespace = \"reportsResponses\";\n\nconst addCustomReportLogic = logic(apiNamespace, {\n actionName: ActionTypes.ADD_CUSTOM_REPORT,\n showErrorMessage: true,\n errorMessage: ,\n showSuccessMessage: true,\n successMessage: ,\n});\nconst getCustomReportLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_CUSTOM_REPORT,\n showErrorMessage: true,\n errorMessage: ,\n});\nconst getCustomExcelReportLogic = logic(apiNamespace, {\n actionName: ActionTypes.GET_CUSTOM_EXCEL_REPORT,\n showErrorMessage: true,\n errorMessage: ,\n});\n\nexport default [\n addCustomReportLogic,\n getCustomReportLogic,\n getCustomExcelReportLogic,\n];\n","import ageRangeLogic from \"./ageRange/logic\";\nimport appLogic from \"./app/logic\";\nimport authLogic from \"./auth/logic\";\nimport brandsLogic from \"./brands/logic\";\nimport channelLogic from \"./channel/logic\";\nimport cityLogic from \"./city/logic\";\nimport companyInfoLogic from \"./companyInfo/logic\";\nimport dashboardLogic from \"./dashboard/logic\";\nimport groupLogic from \"./group/logic\";\nimport lookupsLogic from \"./lookups/logic\";\nimport nationalityLogic from \"./nationalities/logic\";\nimport offersLogic from \"./offers/logic\";\nimport outletTypeLogic from \"./outletType/logic\";\nimport outletsLogic from \"./outlets/logic\";\nimport prizeLogic from \"./prize/logic\";\nimport productsLogic from \"./products/logic\";\nimport promoterLogic from \"./promoter/logic\";\nimport refusalReasonLogic from \"./refusalReason/logic\";\nimport reportsLogic from \"./reports/logic\";\nimport settingLogic from \"./setting/logic\";\nimport shiftSessionLogic from \"./shiftSessions/logic\";\nimport spinWheelLogic from \"./spinningWheel/logic\";\nimport supervisorLogic from \"./supervisor/logic\";\nimport surveysLogic from \"./survey/logic\";\nimport usersLogic from \"./userManagement/logic\";\nimport reportsResponses from \"./reportsResponses/logic\";\nimport pagesLogics from \"./pages/logic\";\n//---------------------------\n\nexport default [\n ...appLogic,\n ...authLogic,\n ...usersLogic,\n ...settingLogic,\n ...brandsLogic,\n ...productsLogic,\n ...lookupsLogic,\n ...companyInfoLogic,\n ...prizeLogic,\n ...offersLogic,\n ...outletsLogic,\n ...cityLogic,\n ...nationalityLogic,\n ...ageRangeLogic,\n ...promoterLogic,\n ...supervisorLogic,\n ...reportsLogic,\n ...surveysLogic,\n ...dashboardLogic,\n ...refusalReasonLogic,\n ...shiftSessionLogic,\n ...outletTypeLogic,\n ...channelLogic,\n ...groupLogic,\n ...spinWheelLogic,\n ...reportsResponses,\n ...pagesLogics,\n];\n","import { ActionTypes } from \"./actions\";\nimport logic from \"src/utils/genLogic\";\n\nconst apiNamespace = \"page\";\n\nexport default [];\n","import NationalityApi from \"./nationalities\";\nimport ageRangeApi from \"./ageRange\";\nimport apisauce from \"apisauce\";\nimport authApi from \"./auth\";\nimport brandsApi from \"./brands\";\nimport channelApi from \"./channel\";\nimport cityApi from \"./city\";\nimport companyInfoApi from \"./companyInfo\";\nimport config from \"../configs\";\nimport configs from \"src/configs\";\nimport dashboardApi from \"./dashboard\";\nimport groupApi from \"./group\";\nimport lookupsApi from \"./lookups\";\nimport offersApi from \"./offers\";\nimport outletApi from \"./outlets\";\nimport outletTypeApi from \"./outletType\";\nimport prizeApi from \"./prize\";\nimport productsApi from \"./products\";\nimport promoterApi from \"./promoter\";\nimport refusalReasonApi from \"./refusalReason\";\nimport reportsApi from \"./reports\";\nimport settingsApi from \"./setting\";\nimport shiftSessionApi from \"./shiftSession\";\nimport spinningWheelApi from \"./spinningWheel\";\nimport supervisorApi from \"./supervisors\";\nimport surveysApi from \"./survey\";\nimport reportsResponsesApi from \"./reportsResponses\";\nimport { useSelector } from \"react-redux\";\nimport usersApi from \"./userManagement\";\n\n//---------------------\n\n// const apiURI = config.useLocalApi ? config.devApiRoot : config.apiRoot;\n// const apiURI = configs.REACT_APP_BASE_API_URL;\n\nlet api = null;\n\nconst create = (baseURL) => {\n let app = localStorage.getItem(\"app_name\");\n\n let apiURI =\n app === \"roi\"\n ? process.env.REACT_APP_BASE_API_URL\n : process.env.REACT_APP_BASE_API_URL_NAKHLA;\n\n api = apisauce.create({\n baseURL: apiURI,\n headers: {\n \"Cache-Control\": \"no-cache\",\n },\n timeout: 1200000, //30 sec\n });\n //add access token on each request\n\n api.addAsyncResponseTransform((response) => async () => {\n if (!response.ok) {\n const customeError = {\n errors: response.data?.errors || [\n { errorMessage: response.data?.errorMessage || \"\" },\n ],\n // title: response.data.title,\n errorMessage: response.data?.errorMessage || \"\",\n // details: response.data.details,\n // data: response.data.result,\n status: response.status,\n code: response.data?.errorCode || response.status,\n };\n response.data = customeError;\n }\n });\n\n api.addAsyncRequestTransform((request) => async () => {\n const token = localStorage.getItem(\"jwtToken\");\n\n const culture = localStorage.getItem(\"culture\");\n const cultureCode = localStorage.getItem(\"cultureCode\");\n const userIp = localStorage.getItem(\"userIp\");\n\n request.headers[\"culture\"] = culture || \"en\";\n request.headers[\"cultureCode\"] = cultureCode || \"en-US\";\n request.headers[\"userIp\"] = userIp || \"\";\n\n if (token) {\n request.headers[\"Authorization\"] = `Bearer ${token}`;\n } else {\n delete request.headers[\"Authorization\"];\n }\n });\n\n const auth = authApi(api);\n const users = usersApi(api);\n const settings = settingsApi(api);\n // --------------------\n const products = productsApi(api);\n const outlets = outletApi(api);\n const brands = brandsApi(api);\n const offers = offersApi(api);\n const companyInfos = companyInfoApi(api);\n const lookups = lookupsApi(api);\n const prizes = prizeApi(api);\n const cities = cityApi(api);\n const nationalities = NationalityApi(api);\n const ageRanges = ageRangeApi(api);\n const promoters = promoterApi(api);\n const supervisors = supervisorApi(api);\n const reports = reportsApi(api);\n const surveys = surveysApi(api);\n const dashboards = dashboardApi(api);\n const refusalReasons = refusalReasonApi(api);\n const shiftSessions = shiftSessionApi(api);\n const outletTypes = outletTypeApi(api);\n const channels = channelApi(api);\n const group = groupApi(api);\n const spinningWheel = spinningWheelApi(api);\n const reportsResponses = reportsResponsesApi(api);\n // const transactions = transactionsApi(api);\n return {\n setHeader: api.setHeader,\n setHeaders: api.setHeaders,\n ...auth,\n ...users,\n ...settings,\n ...brands,\n ...products,\n ...offers,\n ...companyInfos,\n ...lookups,\n ...prizes,\n ...outlets,\n ...cities,\n ...nationalities,\n ...ageRanges,\n ...promoters,\n ...reports,\n ...surveys,\n ...supervisors,\n ...reports,\n ...dashboards,\n ...refusalReasons,\n ...shiftSessions,\n ...outletTypes,\n ...channels,\n ...group,\n ...spinningWheel,\n ...reportsResponses,\n setBaseURL: api?.setBaseURL,\n };\n};\n\nexport default { create };\n","export default function(/**@type {ApisauceInstance} */ api) {\n const login = loginRequest => api.post(\"auth/login\", loginRequest);\n const updateProfile = loginRequest => api.post(\"auth/update-profile\", loginRequest);\n const changePassword = loginRequest => api.post(\"auth/change-password\", loginRequest);\n const logout = accessToken => api.post(\"auth/logout\", { accessToken });\n const getNotifications = paging => api.get(\"user/getnotifications\",paging); \n const readNotification = (id) => api.get(\"user/readNotify/\"+id); \n const refreshToken = (payload) => api.post(\"auth/refresh-token/\",payload); \n return {\n auth: {\n login,\n logout,\n getNotifications,\n readNotification,\n updateProfile,\n changePassword,\n refreshToken\n }\n };\n }","export default function (/**@type {ApisauceInstance} */ api) {\n const getUsers = (paging) => api.get(\"user-management/users\", paging);\n const getPermissions = () => api.get(\"user-management/permissions\");\n const createUser = (payload) => api.post(\"user-management/users\", payload);\n const createUsers = (payload) => api.post(\"user-management/add-users\", payload);\n const createAppUser = (payload) => api.post(\"user-management/users/app-user\", payload);\n const getUser = (id) => api.get(`user-management/users/${id}`);\n const getRoles = (paging) => api.get(\"user-management/roles\", paging);\n const deleteUser = (id) => api.delete(`user-management/users/delete-user/${id}`);\n const createRole = (payload) => api.post(\"user-management/roles/add-role\", payload);\n const editUser = ({ payload, id }) => api.put(`user-management/users/edit-user/${id}`, payload);\n const deleteRole = (id) => api.delete(`user-management/roles/delete-role/${id}`);\n const editRole = ({ payload, id }) => api.put(`user-management/roles/edit-role/${id}`, payload);\n const getRole = (id) => api.get(`user-management/roles/${id}`);\n return {\n userManegment: {\n getUsers,\n getUser,\n createUser,\n createUsers,\n createAppUser,\n deleteUser,\n getRoles,\n editUser,\n createRole,\n getPermissions,\n deleteRole,\n editRole,\n getRole\n }\n };\n}\n\n","export default function (/**@type {ApisauceInstance} */ api) {\n const getAllProducts = (paging) => api.get(`product`, paging);\n const getProductWithId = (id) => api.get(`product/admin/${id}`);\n const addProduct = (payload) => api.post(`product`, payload);\n const editProduct = ({ payload, id }) => api.put(`product/${id}`, payload);\n const saveProductCityOffers = (payload) => api.put(`product/save-product-city-offers`, payload);\n const deleteProduct = (id) => api.delete(`product/${id}`);\n const deleteProductCityOffers = (payload) => api.put(`product/remove-product-city-offers`,payload);\n\n\n return {\n products: {\n getAllProducts,\n getProductWithId,\n addProduct,\n editProduct,\n deleteProduct,\n deleteProductCityOffers,\n saveProductCityOffers\n },\n };\n}\n","export default function (/**@type {ApisauceInstance} */ api) {\n const getAllOutlets = (paging) => api.get(`Outlet`, paging);\n const getOutletWithId = (id) => api.get(`Outlet/${id}`);\n const addOutlet = (payload) => api.post(`Outlet`, payload);\n const uploadOutlets = (payload) => api.post(`Outlet/upload-outlets`, payload);\n const editOutlet = ({ payload, id }) => api.put(`Outlet/${id}`, payload);\n const deleteOutlet = (id) => api.delete(`Outlet/${id}`);\n const uploadAssignments = (payload) =>\n api.post(`Promoter/upload-promoter-outlet-routes`, payload);\n\n return {\n outlets: {\n getAllOutlets,\n getOutletWithId,\n addOutlet,\n uploadOutlets,\n editOutlet,\n deleteOutlet,\n uploadAssignments,\n },\n };\n}\n","export default function (/**@type {ApisauceInstance} */ api) {\n // brands\n\n const getAllBrands = (paging) => api.get(`brand`, paging);\n const getBrandsWithId = (id) => api.get(`brand/${id}`);\n const addBrand = (payload) => api.post(`brand`, payload);\n\n const editBrand = ({ payload, id }) => api.put(`brand/${id}`, payload);\n\n const deleteBrand = (id) => api.delete(`brand/${id}`);\n\n // products\n const addProduct = ({ payload }) => api.post(`product`, payload);\n\n const editProduct = ({ payload, id }) => api.put(`product/${id}`, payload);\n\n const deleteProduct = (id) => api.delete(`product/${id}`);\n\n return {\n brands: {\n // brands\n getAllBrands,\n getBrandsWithId,\n addBrand,\n editBrand,\n deleteBrand,\n // products\n addProduct,\n editProduct,\n deleteProduct,\n },\n };\n}\n","export default function (/**@type {ApisauceInstance} */ api) {\n const getAllOffers = (paging) => api.get(`offer`, paging);\n const getOfferWithId = (id) => api.get(`offer/${id}`);\n const addOffer = (payload) => api.post(`offer`, payload);\n const editOffer = ({ payload, id }) => api.put(`offer/${id}`, payload);\n const deleteOffer = (id) => api.delete(`offer/${id}`);\n\n return {\n offers: {\n getAllOffers,\n getOfferWithId,\n addOffer,\n editOffer,\n deleteOffer,\n },\n };\n}\n","export default function (/**@type {ApisauceInstance} */ api) {\n\n \n const getAllCompanyInfos = () => api.get(`CompanyInfo/companyInfos`);\n\n const getCompanyInfoWithId = (id) => api.get(`CompanyInfo/companyInfo/${id}`);\n\n const addCompanyInfo = (payload) =>api.post(`CompanyInfo/add-company-info`, payload);\n \n const editCompanyInfo = ({payload, id }) =>api.put(`CompanyInfo/edit-company-info/${id}`, payload);\n \n const deleteCompanyInfo = (id) => api.delete(`CompanyInfo/delete-company-info/${id}`);\n\n return {\n companyInfos: {\n getAllCompanyInfos,\n addCompanyInfo,\n editCompanyInfo,\n deleteCompanyInfo,\n getCompanyInfoWithId\n },\n };\n }\n ","export default function (/**@type {ApisauceInstance} */ api) {\n const getQuestionTypes = () => api.get(`lookups/questions-types`);\n const getAppTypes = () => api.get(`lookups/app-types`);\n\n return {\n lookups: {\n getQuestionTypes,\n getAppTypes,\n },\n };\n}\n","export default function (/**@type {ApisauceInstance} */ api) {\n const getAllPrizes = (paging) => api.get(`Prize/prizes`, paging);\n\n const addPrize = (payload) => api.post(`Prize/add-prize`, payload);\n\n const editPrize = ({ payload, id }) =>\n api.put(`Prize/edit-prize/${id}`, payload);\n\n const deletePrize = (id) => api.delete(`Prize/delete-prize/${id}`);\n\n ////outlet-prize\n const getAllOutletPrizes = (paging) => api.get(`OutletPrize/prizes`, paging);\n\n const addOutletPrize = (payload) =>\n api.post(`OutletPrize/add-prize`, payload);\n\n const editOutletPrize = ({ payload, id }) =>\n api.put(`OutletPrize/edit-prize/${id}`, payload);\n\n const deleteOutletPrize = (id) =>\n api.delete(`OutletPrize/delete-prize/${id}`);\n\n return {\n prizes: {\n getAllPrizes,\n addPrize,\n editPrize,\n deletePrize,\n /////\n getAllOutletPrizes,\n addOutletPrize,\n editOutletPrize,\n deleteOutletPrize,\n },\n };\n}\n","export default function (/**@type {ApisauceInstance} */ api) {\n\n\n const getAllCountries = () => api.get(`Country`);\n const createCountry = (payload) => api.post(`Country/add-country`, payload);\n const editCountry = ({ id, payload }) => api.put(`Country/edit-country/${id}`, payload);\n const deleteCountry = (id) => api.delete(`Country/delete-country/${id}`);\n const getAllCities = (paging) => api.get(`City`);\n const getCities = (paging) => api.get(`City`, paging);\n const createCity = (payload) => api.post(`City`, payload);\n const editCity = ({ id, payload }) => api.put(`City/${id}`, payload);\n const deleteCity = (id) => api.delete(`City/${id}`);\n\n return {\n Cities: {\n getAllCities,\n getCities,\n createCity,\n editCity,\n deleteCity,\n getAllCountries,\n createCountry,\n editCountry,\n deleteCountry,\n },\n };\n}\n\n","export default function (/**@type {ApisauceInstance} */ api) {\n\n \n const getAllNationalities = (paging) => api.get(`Nationality`,paging);\n\n const addNationality = (payload) => api.post(`Nationality`, payload);\n \n const editNationality = ({ payload, id }) =>api.put(`Nationality/${id}`, payload);\n \n const deleteNationality = (id) => api.delete(`Nationality/${id}`);\n\n return {\n Nationalities: {\n getAllNationalities,\n addNationality,\n editNationality,\n deleteNationality\n },\n };\n }\n ","export default function (/**@type {ApisauceInstance} */ api) {\n const getAllAgeRanges = (paging) => api.get(`AgeRange`,paging);\n const getAgeRangeWithId= (id) => api.get(`AgeRange/age-range/${id}`);\n const addAgeRange = (payload) => api.post(`AgeRange/add-age-range`, payload);\n const editAgeRange = ({ id, payload }) => api.put(`AgeRange/edit-age-range/${id}`, payload);\n const deleteAgeRange = (id) => api.delete(`AgeRange/delete-age-range/${id}`);\n \n return {\n ageRanges: {\n getAllAgeRanges,\n getAgeRangeWithId,\n addAgeRange,\n editAgeRange,\n deleteAgeRange\n },\n };\n }\n ","export default function (/**@type {ApisauceInstance} */ api) {\n\n \n const getAllPromoters = (paging) => api.get(`Promoter/promoters`,paging);\n\n const getAllCities = () => api.get(`City`);\n\n const getAllSupervisors = (paging) => api.get(`Supervisor/supervisors`,paging);\n\n const addPromoter = (payload) => api.post(`Promoter/add-promoter`, payload);\n\n const getPromoter = (id) => api.get(`Promoter/${id}`);\n const editPromoter = ({ payload, id }) =>api.put(`Promoter/edit-promoter/${id}`, payload);\n \n const deletePromoter = (id) => api.delete(`Promoter/delete-promoter/${id}`);\n\n const getAllPromotersAssignments = (paging) => api.get(`Promoter/promoters-assignments`, paging);\n\n const updateContractNumbers = (payload) =>\n api.post(\n `Promoter/update-promoters-contract-numbers`,\n payload,\n );\n \n\n return {\n Promoters: {\n getAllPromoters,\n addPromoter,\n editPromoter,\n deletePromoter,\n getPromoter,\n getAllCities,\n getAllSupervisors,\n getAllPromotersAssignments,\n updateContractNumbers,\n },\n };\n }\n ","export default function (/**@type {ApisauceInstance} */ api) {\n\n \n const getAllSupervisors = (paging) => api.get(`Supervisor/supervisors`,paging);\n\n const addSupervisor = (payload) => api.post(`Supervisor/supervisor`, payload);\n\n const getSupervisor = (id) => api.get(`Supervisor/${id}`);\n const editSupervisor = ({ payload, id }) =>api.put(`Supervisor/edit-supervisor/${id}`, payload);\n \n const deleteSupervisor = (id) => api.delete(`Supervisor/delete-supervisor/${id}`);\n\n return {\n Supervisors: {\n getAllSupervisors,\n addSupervisor,\n editSupervisor,\n deleteSupervisor,\n getSupervisor\n },\n };\n }\n ","export default function (/**@type {ApisauceInstance} */ api) {\n //Reports\n const getAllReportResponses = (paging) => api.get(`ReportResponse`, paging);\n const getReportResponseWithId = (id) => api.get(`ReportResponse/${id}`);\n\n //Questions\n const getAllReportQuestions = (paging) => api.get(`ReportQuestion`, paging);\n const addReportQuestion = (payload) => api.post(`ReportQuestion`, payload);\n const editReportQuestion = ({ payload, id }) =>\n api.put(`ReportQuestion/${id}`, payload);\n const deleteReportQuestion = (id) => api.delete(`ReportQuestion/${id}`);\n\n return {\n reports: {\n //Reports\n getAllReportResponses,\n getReportResponseWithId,\n //Questions\n getAllReportQuestions,\n addReportQuestion,\n editReportQuestion,\n deleteReportQuestion,\n },\n };\n}\n","export default function (/**@type {ApisauceInstance} */ api) {\n const getSurveys = (paging) => api.get(\"survey\", paging);\n const getUserSurveys = () => api.get(\"survey/user-surveys\");\n const getSurveyResults = (paging) => api.get(\"survey/survey-answers\",paging);\n const getUserSurveysWithId = (id) => api.get(`survey/user-surveys/${id}`);\n const getSurveyWithId = (id) => api.get(`survey/${id}`);\n const deleteSurvey = (id) => api.delete(`survey/delete-survey/${id}`);\n const editSurvey = ({ payload, id }) =>\n api.put(`survey/edit-survey/${id}`, payload);\n\n const createSurvey = (payload) => api.post(\"survey/add-survey\", payload);\n const addSurveyResponse = (payload) => api.post(\"survey/add-survey-response\", payload);\n const addSurveyQuestion = (payload) => api.post(\"survey/add-question\", payload);\n const editSurveyQuestion = ({id,payload}) => api.put(`survey/edit-question/${id}`, payload);\n const removeSurveyQuestion = (id) => api.delete(`survey/remove-question/${id}`);\n\n return {\n survey: {\n getUserSurveysWithId,\n createSurvey,\n getSurveyResults,\n getSurveys,\n getSurveyWithId,\n deleteSurvey,\n editSurvey,\n getUserSurveys,\n addSurveyResponse,\n addSurveyQuestion,\n editSurveyQuestion,\n removeSurveyQuestion\n },\n };\n}\n","export default function (/**@type {ApisauceInstance} */ api) {\n const getGeneralInfo = () => api.get(`dashboard/general-info`);\n const getClientResponse = (filters) => api.get(`dashboard/daily-client-surveys`, filters);\n const getProducts = (filters) => api.get(`dashboard/most-selected-products`, filters);\n const getOffers = (filters) => api.get(`dashboard/most-selected-offers`, filters);\n\n const getClientResponces = (paging) =>\n api.get(`Survey/client-response`, paging);\n const getClientResponceWithId = (id) =>\n api.get(`Survey/client-response/${id}`);\n\n const getResponsesSummary = (filters) =>\n api.get(`dashboard/responses-summary`, filters);\n\n return {\n dashboard: {\n getGeneralInfo,\n getClientResponse,\n getProducts,\n getOffers,\n getClientResponces,\n getClientResponceWithId,\n getResponsesSummary,\n },\n };\n}\n","export default function (/**@type {ApisauceInstance} */ api) {\n const getRefusalReasons = (paging) => api.get(`RefusalReason`, paging);\n const getRefusalReasonWithId = (id) => api.get(`RefusalReason/refusal-reason/${id}`);\n const addRefusalReason = (payload) => api.post(`RefusalReason/add-refusal-reason`, payload);\n const editRefusalReason = ({ id, payload }) => api.put(`RefusalReason/edit-refusal-reason/${id}`, payload);\n const deleteRefusalReason = (id) => api.delete(`RefusalReason/delete-refusal-reason/${id}`);\n\n return {\n refusalReasons: {\n getRefusalReasons,\n getRefusalReasonWithId,\n addRefusalReason,\n editRefusalReason,\n deleteRefusalReason\n },\n };\n}\n","export default function (/**@type {ApisauceInstance} */ api) {\n\n\n const getAllShiftSessions = (paging) => api.get(`Session`, paging);\n const getMonthlyReports = (paging) => api.get(`Session/monthly-reports`, paging);\n const getExportedSessions = (payload) => api.get(`survey/client-response-to-excel`, payload);\n const getShiftSessionWithId = (id) => api.get(`Session/shift-session-with-id/${id}`);\n\n return {\n shiftSessions: {\n getAllShiftSessions,\n getShiftSessionWithId,\n getMonthlyReports,\n getExportedSessions\n },\n };\n}\n","export default function (/**@type {ApisauceInstance} */ api) {\n \n const getAllOutletTypes = (paging) => api.get(`outletType`, paging);\n const getOutletTypeWithId = (id) => api.get(`outletType/${id}`);\n const createOutletType = (payload) => api.post(`outletType`, payload);\n \n const updateOutletType = ({ payload, id }) => api.put(`outletType/${id}`, payload);\n \n const deleteOutletType = (id) => api.delete(`outletType/${id}`);\n \n \n \n return {\n outletType: {\n getAllOutletTypes,\n getOutletTypeWithId,\n createOutletType,\n updateOutletType,\n deleteOutletType,\n },\n };\n }\n ","export default function (/**@type {ApisauceInstance} */ api) {\n \n const getAllChannels = (paging) => api.get(`channel`, paging);\n const getChannelWithId = (id) => api.get(`channel/${id}`);\n const createChannel = (payload) => api.post(`channel`, payload);\n \n const updateChannel = ({ payload, id }) => api.put(`channel/${id}`, payload);\n \n const deleteChannel = (id) => api.delete(`channel/${id}`);\n \n \n \n return {\n channel: {\n getAllChannels,\n getChannelWithId,\n createChannel,\n updateChannel,\n deleteChannel,\n },\n };\n }\n ","export default function (/**@type {ApisauceInstance} */ api) {\n ///main group props\n const getAllGroups = (paging) => api.get(\"/group/search\", paging);\n\n const getGroupWithId = (id) => api.get(\"/group/find/\" + id);\n\n const createGroup = (payload) => api.post(\"/group/create\", payload);\n\n const updateGroup = ({ payload, id }) => api.put(`group/${id}`, payload);\n\n const deleteGroup = (id) => api.delete(\"/group/remove/\" + id);\n\n /// group clients\n const getGroupClients = (id) => api.get(\"/group/clients/\", id);\n const createGroupClient = (payload) => api.post(\"/group/add-client\", payload);\n const createGroupClients = (payload) =>\n api.post(\"/group/add-clients\", payload);\n /// group outlets\n const getNonGroupedOutlets = (paging) =>\n api.get(\"/group/non-gouped-outlets\", paging);\n const createGroupOutlet = (payload) => api.post(\"/group/add-outlet\", payload);\n\n const createGroupOutlets = (payload) =>\n api.post(\"/group/add-outlets\", payload);\n\n const removeGroupOutlet = (payload) =>\n api.post(\"/group/remove-outlet\", payload);\n const removeGroupOutlets = (payload) =>\n api.post(\"/group/remove-outlets\", payload);\n\n const getGroupOutletsList = (payload) =>\n api.get(\"/group/group-outlets\", payload);\n\n const uploadGroupOutlets = (payload) =>\n api.post(\"/group/upload-outlets\", payload);\n\n // Promoters\n const getGroupPromotersList = (payload) =>\n api.get(\"/Group/group-promoters\", payload);\n\n const getNonGroupedPromoters = (paging) =>\n api.get(\"/Group/non-gouped-promoters\", paging);\n\n const uploadGroupPromoters = (payload) =>\n api.post(\"/Group/upload-promoters\", payload);\n\n const createGroupPromoters = (payload) =>\n api.post(\"/Group/add-promoters\", payload);\n\n const removeGroupPromoters = (payload) =>\n api.post(\"/Group/remove-promoters\", payload);\n\n const createGroupPromoter = (payload) =>\n api.post(\"/Group/add-promoter\", payload);\n\n const removeGroupPromoter = (payload) =>\n api.post(\"/Group/remove-promoter\", payload);\n\n return {\n group: {\n getAllGroups,\n getGroupWithId,\n createGroup,\n updateGroup,\n deleteGroup,\n getGroupClients,\n getNonGroupedOutlets,\n createGroupClient,\n createGroupClients,\n createGroupOutlet,\n createGroupOutlets,\n removeGroupOutlet,\n getGroupOutletsList,\n uploadGroupOutlets,\n removeGroupOutlets,\n\n // Promoters\n getGroupPromotersList,\n getNonGroupedPromoters,\n uploadGroupPromoters,\n createGroupPromoters,\n removeGroupPromoters,\n createGroupPromoter,\n removeGroupPromoter,\n },\n };\n}\n","export default function (/**@type {ApisauceInstance} */ api) {\n const getAllSpin = (paging) => api.get(\"/Spin/search\", paging);\n const getSpinWithId = (id) => api.get(\"/Spin/find/\" + id);\n const createSpin = (payload) => api.post(\"/Spin/create\", payload);\n const updateSpin = (payload) => api.put(\"/Spin/edit\", payload);\n const deleteSpin = (id) => api.delete(\"/Spin/remove/\" + id);\n\n // assign spin to supervisor\n const assignSupervisor = (payload) => api.post(\"/Spin/assign-supervisor-to-spin\", payload);\n const removeSupervisorFromSpin = ({spinEventId,supervisorId}) => \n api.delete(`/Spin/remove-supervisor-from-spin/${spinEventId}/${supervisorId}`);\n const assignedSupervisor = (paging) => api.get(\"/Spin/assigned-supervisors-to-event\", paging);\n const notAssignedSupervisor = (paging) => api.get(\"/Spin/not-assigned-supervisors-to-event\", paging);\n\n // Rewards\n const getAllRewards = (paging) => api.get(\"/Spin/spin-rewards\", paging);\n const getRewardWithId = (id) => api.get(\"/Spin/spin-reward/\" + id);\n const createReward = (payload) => api.post(\"/Spin/create-spin-reward\", payload);\n const updateReward = (payload) => api.put(\"/Spin/edit-spin-reward\", payload);\n const deleteReward = (id) => api.delete(\"/Spin/remove-spin-reward/\" + id);\n\n return {\n spinWheel: {\n getAllSpin,\n getSpinWithId,\n createSpin,\n updateSpin,\n deleteSpin,\n\n assignSupervisor,\n assignedSupervisor,\n notAssignedSupervisor,\n removeSupervisorFromSpin,\n\n getAllRewards,\n getRewardWithId,\n createReward,\n updateReward,\n deleteReward,\n },\n };\n}\n","export default function (/**@type {ApisauceInstance} */ api) {\n const addCustomReport = (payload) =>\n api.post(`/ReportQuestion/add-custom-report`, payload);\n const getCustomReport = (payload) =>\n api.post(`/ReportQuestion/Get-custom-report`, payload);\n const getCustomExcelReport = (payload) =>\n api.post(`/ReportQuestion/Get-custom-excel-report`, payload);\n\n return {\n reportsResponses: {\n addCustomReport,\n getCustomReport,\n getCustomExcelReport,\n },\n };\n}\n;","import configureStore from \"./configureStore\";\n\n// Create redux store with history\nimport { createBrowserHistory } from \"history\";\nconst initialState = {};\nexport const history = createBrowserHistory();\nexport const { store, persistedStore } = configureStore(initialState, history);","import { createStore, applyMiddleware, compose } from \"redux\";\nimport { routerMiddleware } from \"connected-react-router\";\nimport { createLogicMiddleware } from \"redux-logic\";\nimport { persistStore } from \"redux-persist\";\n\n// import { loadingBarMiddleware } from \"./middlewares\";\nimport createReducer from \"./reducers\";\nimport logics from \"./logics\";\nimport API from \"../services\";\n\nexport default function configureStore(initialState, history) {\n // inject helpers, make requestUtil available to all logic\n const api = API.create();\n const injectedApi = { api };\n const logicMiddleware = createLogicMiddleware([...logics], injectedApi);\n\n // Create the store with two middlewares\n // 1. logicMiddleware: enables redux-logic\n // 2. routerMiddleware: Syncs the location/URL path to the state\n const middlewares = [\n //NOTE: later I will use this middleware to automate loading pattern, however this need to maintain a good name conventions for action that will cause this loading mechanism, not every async operation should display this loading screen\n //loadingBarMiddleware,\n logicMiddleware,\n routerMiddleware(history) // for dispatching history actions\n ];\n\n const enhancers = [applyMiddleware(...middlewares)];\n\n // If Redux DevTools Extension is installed use it, otherwise use Redux compose\n /* eslint-disable no-underscore-dangle */\n const composeEnhancers =\n process.env.NODE_ENV !== \"production\" && typeof window === \"object\" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\n ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\n : compose;\n /* eslint-enable */\n\n const rootReducer = createReducer(/* asyncReducers */ {}, history);\n \n const store = createStore(rootReducer, initialState, composeEnhancers(...enhancers));\n const persistedStore = persistStore(store);\n\n // Extensions\n store.logicMiddleware = logicMiddleware;\n store.asyncReducers = {}; // Async reducer registry\n store.history = history; //pass history singleton to store for async reloading\n\n // Make reducers hot reloadable, see http://mxs.is/googmo\n /* istanbul ignore next */\n if (module.hot) {\n module.hot.accept(\"./reducers\", () => {\n import(\"./reducers\").then(reducerModule => {\n const createReducers = reducerModule.default;\n const nextReducers = createReducers(store.asyncReducers, store.history);\n\n store.replaceReducer(nextReducers);\n });\n });\n }\n\n return { store, persistedStore };\n}\n","// ** React Imports\nimport { useState, useEffect } from 'react'\n\n// ** Third Party Components\nimport { Button } from 'reactstrap'\nimport classnames from 'classnames'\n\n// ** Styles\nimport './ripple-button.scss'\n\nconst RippleButton = ({ className, children, onClick, ...rest }) => {\n // ** States\n const [mounted, setMounted] = useState(false)\n const [isRippling, setIsRippling] = useState(false)\n const [coords, setCoords] = useState({ x: -1, y: -1 })\n\n // ** Toggle mounted on mount & unmount\n useEffect(() => {\n setMounted(true)\n return () => setMounted(false)\n }, [])\n\n // ** Check for coords and set ripple\n useEffect(() => {\n if (mounted) {\n if (coords.x !== -1 && coords.y !== -1) {\n setIsRippling(true)\n setTimeout(() => setIsRippling(false), 500)\n } else {\n setIsRippling(false)\n }\n }\n }, [coords])\n\n // ** Reset Coords on ripple end\n useEffect(() => {\n if (mounted) {\n if (!isRippling) setCoords({ x: -1, y: -1 })\n }\n }, [isRippling])\n\n return (\n {\n const rect = e.target.getBoundingClientRect()\n setCoords({ x: e.clientX - rect.left, y: e.clientY - rect.top })\n if (onClick) {\n onClick(e)\n }\n }}\n {...rest}\n >\n {children}\n {isRippling ? (\n \n ) : null}\n \n )\n}\n\n// ** PropTypes\nRippleButton.propTypes = {\n ...Button.propTypes\n}\n\nButton.Ripple = RippleButton\n","/*eslint-disable */\n// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n)\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href)\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets see https://github.com/facebook/create-react-app/issues/2374\n return\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config)\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n )\n })\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config)\n }\n })\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing\n if (installingWorker === null) {\n return\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n )\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration)\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.')\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration)\n }\n }\n }\n }\n }\n })\n .catch(error => {\n console.error('Error during service worker registration:', error)\n })\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type')\n if (response.status === 404 || (contentType !== null && contentType.indexOf('javascript') === -1)) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload()\n })\n })\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config)\n }\n })\n .catch(() => {\n console.log('No internet connection found. App is running in offline mode.')\n })\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister()\n })\n }\n}\n","import { Permission } from \"./userPermission\";\n\nexport default new Permission()","export class Permission {\n user = null;\n permissions = [];\n roles = [];\n constructor() {\n this.updateValues();\n }\n\n updateValues() {\n let u = localStorage.getItem('userData');\n this.user = u ? JSON.parse(u) : null\n this.permissions = this.user ? JSON.parse(this.user.permissions) : []\n this.roles = this.user &&this.user.role &&JSON.parse(this.user.role)||[]\n }\n can(permission) {\n if (!this.user){\n this.updateValues();\n }\n return this.permissions.includes(permission);\n }\n}\n\n// export const useCurrentUser=()=>{\n// let user = null;\n// let permissions = [];\n// let roles = [];\n\n// function updateValues() {\n// let u = localStorage.getItem('userData');\n// user = u ? JSON.parse(u) : null\n// permissions = user ? JSON.parse(user.permissions) : []\n// roles = user &&user.role &&JSON.parse(user.role)||[]\n// }\n\n// if(!user){\n// updateValues();\n// }\n// return {\n// user,\n// permissions,\n// roles\n// }\n\n// }\n","import React from 'react'\nimport { useSelector } from 'react-redux';\nimport { useSignalR } from '../hooks/useSignalR';\n\n\nexport const SignalProvider = React.createContext();\n\nfunction SignalRProvider({ children, ...props }) {\n\n const { startHub, onReceiveNotify ,closeHub} = useSignalR();\n const {\n user\n } = useSelector(state => state.auth)\n React.useEffect(() => {\n if (user) {\n const token = localStorage.getItem(\"jwtToken\");\n\n startHub(token);\n onReceiveNotify();\n return;\n }\n closeHub();\n }, [user])\n\n\n return (\n \n {children}\n \n )\n}\n\nexport default SignalRProvider\n","import * as signalR from '@microsoft/signalr'\nimport config from 'src/configs'\nimport { AuthActions } from 'src/store/auth/actions';\nimport { useDispatch } from 'react-redux';\n\nexport const useSignalR = () => {\n const hub = new signalR.HubConnectionBuilder();\n let connection = hub\n .withUrl(`${config.baseUrl}/notificationHub`,\n {\n accessTokenFactory: () => localStorage.getItem(\"jwtToken\"),\n\n })\n .withAutomaticReconnect()\n .configureLogging(signalR.LogLevel.Debug)\n .build();\n const startHub = (token) => {\n if (!config.signalR) return;\n try {\n\n connection.start()\n .then()\n .catch(err => {\n // console.log('Error while starting connection' + err)\n\n })\n } catch (error) {\n // console.log(\"start the hub error\", error)\n }\n\n connection.onclose((error) => {\n // console.log(\"connection closed\")\n connect(connection);\n })\n\n\n }\n\n async function connect(conn) {\n if (!config.signalR) return;\n conn.start().catch(e => {\n sleep(5000);\n // console.log(\"Reconnecting Socket\");\n connect(conn);\n }\n )\n }\n async function sleep(msec) {\n return new Promise(resolve => setTimeout(resolve, msec));\n }\n\n const closeHub = () => {\n if (connection)\n connection.stop();\n\n }\n\n const dispatch = useDispatch();\n const onReceiveNotify = () => {\n if (!config.signalR) return;\n connection.on(\"ReceiveMessage\", (message) => {\n dispatch(AuthActions.updateToken(message))\n // dispatch(AuthActions.addNotification({ ...message, createdDate: new Date() }))\n })\n }\n return {\n startHub,\n onReceiveNotify,\n closeHub\n }\n\n}\n\n","import { Trans } from \"@lingui/react\";\nimport React from \"react\";\n\nfunction TransKeyNotFound() {\n return (\n
\n \n
\n );\n}\n\nexport default TransKeyNotFound;\n","// ** React Imports\nimport { Suspense, lazy } from 'react'\nimport ReactDOM from 'react-dom'\n\n// ** Redux Imports\nimport { Provider } from 'react-redux'\n// import { store } from './redux/storeConfig/store'\nimport { history, store } from './store'\n\n// ** Toast & ThemeColors Context\nimport { ToastContainer } from 'react-toastify'\nimport { ThemeContext } from './utility/context/ThemeColors'\n\nimport { AbilityContext } from 'src/utility/context/Can'\n// ** Spinner (Splash Screen)\nimport Spinner from './@core/components/spinner/Fallback-spinner'\n\n// ** Ripple Button\nimport './@core/components/ripple-button'\n\n// ** PrismJS\nimport 'prismjs'\nimport 'prismjs/themes/prism-tomorrow.css'\nimport 'prismjs/components/prism-jsx.min'\n\n// ** React Perfect Scrollbar\nimport 'react-perfect-scrollbar/dist/css/styles.css'\n\n// ** React Toastify\nimport '@styles/react/libs/toastify/toastify.scss'\n\n// ** Core styles\nimport './@core/assets/fonts/feather/iconfont.css'\nimport './@core/scss/core.scss'\nimport './assets/scss/style.scss'\nimport \"@fortawesome/fontawesome-free/css/all.min.css\";\n// ** Service Worker\nimport * as serviceWorker from './serviceWorker'\nimport { IntlProviderWrapper } from './utility/context/Internationalization'\n// import ability from './configs/acl/ability';\nimport userAbility from 'src/configs/permission/userAbitlity';\nimport { ConnectedRouter } from 'connected-react-router'\nimport { Router } from 'react-router-dom'\nimport SignalRProvider from './utility/providers/SignalRProvider'\nimport TransKeyNotFound from './components/TransKeyNotFound'\n\n// ** Lazy load app\nconst LazyApp = lazy(() => import('./App'))\n\nReactDOM.render(\n \n \n }>\n \n \n \n \n\n {/* */}\n \n \n \n {/* */}\n \n \n \n \n \n \n ,\n document.getElementById('root')\n)\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister()\n","import { DIRECTIONS } from \"react-with-direction/dist/DirectionProvider\";\n\nexport const DEFAULT_DIRECTION = DIRECTIONS.LTR;\nexport const DEFAULT_LOCALE = \"en\";\nexport const DEFAULT_CURRENCY = \"SAR\";\n","import createReducer from \"src/utils/reduxsauce/createReducer\";\nimport { DEFAULT_LOCALE, DEFAULT_DIRECTION, getLocaleDirection, DEFAULT_CURRENCY } from \"../constants\";\nimport { ActionTypes } from \"./actions\";\nimport {locales} from \"../SupportedLocales\";\n\nimport { defaultState, bindReducers } from \"src/utils/genState\";\n\nconst initialState = {\n supportedLocales: locales,\n locale: locales[DEFAULT_LOCALE],\n direction: DEFAULT_DIRECTION,\n defaultCurrency: DEFAULT_CURRENCY,\n priceDisplay: \"baseprice\", //allawed values: baseprice, fees, prepayamount, totalamount\n lastPing: \"\",\n isLoadingHotels: false,\n layout: \"vertical\", // options[String]: \"vertical\"(default), \"horizontal\"\n theme: \"light\", // options[String]: 'light'(default), 'dark', 'semi-dark'\n sidebarCollapsed: false, // options[Boolean]: true, false(default)\n navbarColor: \"default\", // options[String]: default / primary / success / danger / info / warning / dark\n navbarType: \"floating\", // options[String]: floating(default) / static / sticky / hidden\n footerType: \"static\", // options[String]: static(default) / sticky / hidden\n disableCustomizer: true, // options[Boolean]: true, false(default)\n hideScrollToTop: false, // options[Boolean]: true, false(default)\n menuTheme: \"primary\", // options[String]: primary / success / danger / info / warning / dark\n extraStarred: [],\n suggestions: [],\n starred: [],\n defaultLat:21.4233733,\n defaultLong:39.821831,\n defaultZoom:12.5,\n ...defaultState(\"isoCountries\"),\n};\n\nconst changeLocale = (state, draft, locale) => {\n\n let _locale = locales[locale.code];\n if (!_locale) _locale = locales[DEFAULT_LOCALE];\n\n draft.locale = _locale;\n draft.direction = _locale.direction.toLowerCase() === \"rtl\" ? \"rtl\" : \"ltr\";\n localStorage.setItem(\"culture\", _locale.code);\n localStorage.setItem(\"language\", _locale.code);\n localStorage.setItem(\"cultureCode\", _locale.culture);\n localStorage.setItem(\"isRTL\", _locale.isRTL);\n\n // window.recaptchaOptions = {\n // lang: locale,\n // };\n\n document.getElementsByTagName(\"html\")[0].setAttribute(\"dir\", _locale.direction);\n document.getElementsByTagName(\"body\")[0].setAttribute(\"dir\", _locale.direction);\n document.getElementsByTagName(\"body\")[0].setAttribute(\"direction\", _locale.direction);\n document.getElementsByTagName(\"body\")[0].style.direction=_locale.direction;\n document.getElementsByTagName(\"body\")[0].style.textAlign=_locale.direction===\"RTL\"?\"right\":\"unset\";\n};\nconst changeCurrencySuccess = (state, draft, payload ) => {\n // const { currency } = payload;\n // draft.currency = SupportedCurrencies[currency];\n // storage.setItem(\"currency\", currency);\n};\n\nconst changePriceDisplay = (state, draft,{ priceDisplay }) => {\n draft.priceDisplay = priceDisplay;\n};\n\nconst ping = (state,draft, payload) => {\n draft.lastPing = payload;\n};\n\nconst setIsLoading = (state,draft, payload) => {\n draft.isLoadingHotels = true;\n};\n\nconst clearIsLoading = (state,draft, payload) => {\n draft.isLoadingHotels = false;\n};\n\n\n\nexport const reducer = createReducer(initialState, {\n ...bindReducers(ActionTypes, {action:\"setIsLoading\",async:false,successCb:setIsLoading}),\n ...bindReducers(ActionTypes, {action:\"clearIsLoading\",async:false,successCb:clearIsLoading}),\n ...bindReducers(ActionTypes, {action:\"changeLocale\",async:false,successCb:changeLocale}),\n});\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getAllNationalities: { args: [\"payload\"], meta: { async: true } },\n addNationality: { args: [\"payload\"], meta: { async: true } },\n editNationality: { args: [\"payload\"], meta: { async: true } },\n deleteNationality: { args: [\"payload\"], meta: { async: true } },\n showDialog: { args: [], meta: { async: false } },\n showDeleteDialog: { args: [], meta: { async: false } },\n resetDialog: { args: [], meta: { async: false } },\n },\n {\n prefix: \"@app/Nationalities/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","import { createActions } from \"src/utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n ping: { args: [], meta: { async: true } },\n changeLocale: { args: [\"payload\"] },\n changeCurrency: { args: [\"payload\"], meta: { async: true } },\n changePriceDisplay: { args: [\"payload\"] },\n setIsLoading: { args: [] },\n clearIsLoading: { args: [] },\n getCountries:{ args: [], meta: { async: true } },\n getCities:{ args: [], meta: { async: true } }\n },\n {\n prefix: \"@app/app/\"\n }\n);\n\nexport const ActionTypes = Types;\nexport default Creators;\nexport const AppActions = Creators;\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getAllShiftSessions: { args: [\"payload\"], meta: { async: true } },\n getMonthlyReports: { args: [\"payload\"], meta: { async: true } },\n getExportedSessions: { args: [\"payload\"], meta: { async: true } },\n getShiftSessionWithId: { args: [\"payload\"], meta: { async: true } },\n\n },\n {\n prefix: \"@app/ShiftSessions/\",\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;","// import { toAbsoluteUrl } from \"src/_metronic/_helpers\";\n\nexport const locales = {\n \"ar\": {\n \"code\": \"ar\",\n \"name\": \"العربية\",\n \"direction\": \"RTL\",\n // \"flag\": toAbsoluteUrl(\"/media/svg/flags/158-egypt.svg\"),\n \"culture\": \"ar-SA\",\n flag:\"eg\",\n isRTL:true,\n default: true\n },\n \"en\": {\n \"code\": \"en\",\n \"name\": \"English\",\n \"direction\": \"LTR\",\n // \"flag\": toAbsoluteUrl(\"/media/svg/flags/226-united-states.svg\"),\n \"culture\": \"en-US\",\n flag:\"us\",\n default: false\n }\n}","import pipe from \"ramda/es/pipe\";\nimport trim from \"ramda/es/trim\";\nimport merge from \"ramda/es/merge\";\nimport split from \"ramda/es/split\";\nimport reject from \"ramda/es/reject\";\nimport map from \"ramda/es/map\";\nimport fromPairs from \"ramda/es/fromPairs\";\nimport anyPass from \"ramda/es/anyPass\";\nimport isNil from \"ramda/es/isNil\";\nimport isEmpty from \"ramda/es/isEmpty\";\n\nconst isNilOrEmpty = anyPass([isNil, isEmpty]);\n\nconst defaultOptions = {\n prefix: \"\"\n};\n\nexport default (types, options = {}) => {\n if (isNilOrEmpty(types)) throw new Error(\"valid types are required\");\n\n const { prefix } = merge(defaultOptions, options);\n\n return pipe(\n trim,\n split(/\\s/),\n map(trim),\n reject(isNilOrEmpty),\n map(x => [x, prefix + x]),\n fromPairs\n )(types);\n};\n","import createTypes from \"./createTypes\";\nimport is from \"ramda/es/is\";\nimport isNil from \"ramda/es/isNil\";\nimport isEmpty from \"ramda/es/isEmpty\";\nimport join from \"ramda/es/join\";\nimport keys from \"ramda/es/keys\";\nimport map from \"ramda/es/map\";\nimport mapObjIndexed from \"ramda/es/mapObjIndexed\";\nimport merge from \"ramda/es/merge\";\nimport pick from \"ramda/es/pick\";\nimport pipe from \"ramda/es/pipe\";\nimport replace from \"ramda/es/replace\";\nimport toUpper from \"ramda/es/toUpper\";\nimport zipObj from \"ramda/es/zipObj\";\nimport flatten from \"ramda/es/flatten\";\n\nconst defaultOptions = {\n prefix: \"\"\n};\n\n// matches each word in a camelCaseString (except the first)\n// consecutive capitals are treated as one word\nconst RX_CAPS = /(?!^)([A-Z][a-z]+|[A-Z]+(?=[A-Z]|\\b))/g;\n\n// converts a camelCaseWord into a SCREAMING_SNAKE_CASE word\nconst camelToScreamingSnake = pipe(\n replace(RX_CAPS, \"_$1\"),\n toUpper\n);\n\n// build Action Types out of an object\nconst convertToTypes = (config, options) => {\n const opts = merge(defaultOptions, options);\n const { successPostfix, failPostfix } = opts;\n\n return pipe(\n keys, // just the keys\n keys => {\n return keys.map(k => {\n const _config = config[k];\n if (_config && _config.meta && _config.meta.async) {\n return [k, `${k}${successPostfix || \"Success\"}`, `${k}${failPostfix || \"Fail\"}`];\n } else return k;\n });\n },\n flatten,\n map(camelToScreamingSnake), // CONVERT_THEM\n join(\" \"), // space separated\n types => createTypes(types, opts) // make them into Redux Types\n )(config);\n};\n\n// an action creator with additional properties\nconst createActionCreator = (name, config, options) => {\n const { prefix } = merge(defaultOptions, options);\n // types are upcase and snakey\n const type = `${prefix}${camelToScreamingSnake(name)}`;\n\n const { args, meta } = config;\n const creators = {};\n\n // do we need extra props for this?\n const noKeys = isNil(args) || isEmpty(args);\n\n // a type-only action creator\n if (noKeys) {\n creators[name] = () => ({ type, meta: { ...meta } });\n }\n // an action creator with type + properties\n // \"properties\" is defined as an array of prop names\n else if (is(Array, args)) {\n creators[name] = (...values) => {\n const extraProps = zipObj(args, values);\n return { type, ...extraProps, meta: { ...meta } };\n };\n }\n // an action creator with type + properties\n // \"properties\" is defined as an object of {prop name: default value}\n else if (is(Object, args)) {\n const defaultProps = args;\n creators[name] = valueObject => {\n const providedProps = pick(Object.keys(defaultProps), valueObject);\n return { type, ...defaultProps, ...providedProps, meta: { ...meta } };\n };\n }\n\n if (isEmpty(creators)) {\n throw new Error(\"action props must be a null/array/object/function\");\n }\n\n if (meta && meta.async) {\n const { successPostfix, failPostfix } = options;\n\n const successKey = `${name}${successPostfix || \"Success\"}`;\n const failKey = `${name}${failPostfix || \"Fail\"}`;\n const success = `${prefix}${camelToScreamingSnake(name)}_${(successPostfix || \"success\").toUpperCase()}`;\n const fail = `${prefix}${camelToScreamingSnake(name)}_${(failPostfix || \"fail\").toUpperCase()}`;\n\n creators[successKey] = (...values) => {\n if (values && values.length === 1) {\n const _value = values[0];\n if (Array.isArray(_value)) {\n return { type: success, meta: { done: true }, payload: _value };\n } else {\n return { type: success, meta: { done: true }, payload: { ...values[0] } };\n }\n } else {\n return { type: success, meta: { done: true }, payload: { ...flatten(values) } };\n }\n };\n\n creators[failKey] = error => {\n return { type: fail, meta: { done: true }, error };\n };\n }\n\n return creators;\n};\n\n// build Action Creators out of an objet\nconst convertToCreators = (config, options) => {\n let creators = {};\n mapObjIndexed((num, key, value) => {\n if (typeof value[key] === \"function\") {\n // the user brought their own action creator\n creators[key] = value[key];\n } else {\n // lets make an action creator for them!\n creators = merge(creators, { ...createActionCreator(key, value[key], options) });\n }\n })(config);\n\n return creators;\n};\n\nexport default (config, options) => {\n const emptyObj = {\n Types: undefined,\n Creators: undefined\n };\n if (isNil(config)) {\n return emptyObj;\n throw new Error(\"an object is required to setup types and creators\");\n }\n if (isEmpty(config)) {\n return emptyObj;\n throw new Error(\"empty objects are not supported\");\n }\n\n return {\n Types: convertToTypes(config, options),\n Creators: convertToCreators(config, options)\n };\n};\n","import curry from \"ramda/es/curry\";\nimport is from \"ramda/es/is\";\n/**\n * Allows your reducers to be reset.\n *\n * @param {string} typeToReset - The action type to listen for.\n * @param {function} originalReducer - The reducer to wrap.\n */\nfunction resettableReducer(typeToReset, originalReducer) {\n // a valid type is required\n if (!is(String, typeToReset) || typeToReset === \"\") {\n throw new Error(\"A valid reset type is required.\");\n }\n\n // an original reducer is required\n if (typeof originalReducer !== \"function\") {\n throw new Error(\"A reducer is required.\");\n }\n // run it through first to get what the default state should be\n let resetState = originalReducer(undefined, {});\n\n // create our own reducer that wraps the original one and hijacks the reset\n function reducer(state = resetState, action) {\n if (action && action.type === typeToReset) {\n return resetState;\n } else {\n return originalReducer(state, action);\n }\n }\n return reducer;\n}\n\nexport default curry(resettableReducer);\n","import cr from \"./createReducer\";\nimport ct from \"./createTypes\";\nimport ca from \"./createActions\";\nimport rr from \"./resettableReducer\";\nimport * as Types from \"./Types\";\n\nexport const createReducer = cr;\nexport const createTypes = ct;\nexport const createActions = ca;\nexport const resettableReducer = rr;\nexport { Types };\n","let app = localStorage.getItem(\"app_name\");\n\nexport default {\n useLocalApi: true,\n appName: \"Razy\",\n appTitle: \"Razy\",\n appDescription: \"razytech\",\n signalR: false,\n baseUrl: \"\",\n // baseUrl:\"https://www.nileappco.com/\",\n // apiRoot: \"https://www.nileappco.com/api\",\n // devApiRoot: \"http://localhost:5000/api\",\n devApiRoot: \"https://localhost:5260/\",\n // devApiRoot: \"https://www.nileappco.com/api\",\n pageOptions: [5, 10, 50, 100],\n pageSize: 10,\n contactPhone: \"\",\n contactMail: \"\",\n addressOnMap: \"\",\n gen_password_length: 10,\n gen_password_characters:\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijaklmnopqrstuvwxyz1234567890\",\n appSelected: app ? true : false,\n app: app,\n REACT_APP_BASE_API_URL:\n app === \"roi\"\n ? process.env.REACT_APP_BASE_API_URL\n : process.env.REACT_APP_BASE_API_URL_NAKHLA,\n};\n","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n getSettings: { args: [], meta: { async: true } },\n editSetting:{ args: [\"payload\"], meta: { async: true } },\n editAllSettings:{ args: [\"payload\"], meta: { async: true } },\n },\n {\n prefix: \"@app/settings/\"\n }\n);\nexport const ActionTypes = Types;\nexport default Creators;","import { createActions } from \"../../utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n addCustomReport: { args: [\"payload\"], meta: { async: true } },\n getCustomReport: { args: [\"payload\"], meta: { async: true } },\n getCustomExcelReport: { args: [\"payload\"], meta: { async: true } },\n },\n {\n prefix: \"@app/reportsResponses/\",\n },\n);\nexport const ActionTypes = Types;\nexport default Creators;\n","import configs from '.'\n\n// You can customize the template with the help of this file\n\n//Template config options\nconst themeConfig = {\n app: {\n appName: '',\n appLogoImage: require('@src/assets/images/logo/roi.png').default\n // require('@src/assets/images/nakhla.png').default\n },\n layout: {\n isRTL: true,\n skin: 'light', // light, dark, bordered, semi-dark\n routerTransition: 'fadeIn', // fadeIn, fadeInLeft, zoomIn, none or check this for more transition https://animate.style/\n type: 'vertical', // vertical, horizontal\n contentWidth: 'full', // full, boxed\n menu: {\n isHidden: true,\n isCollapsed: false,\n },\n navbar: {\n // ? For horizontal menu, navbar type will work for navMenu type\n type: 'sticky', // static , sticky , floating, hidden\n backgroundColor: 'white' // BS color options [primary, success, etc]\n },\n footer: {\n type: 'static' // static, sticky, hidden\n },\n customizer: false,\n scrollTop: true // Enable scroll to top button\n }\n}\n\nexport default themeConfig\n","// ** Handles Layout Content Width (full / boxed)\nexport const handleContentWidth = value => dispatch => dispatch({ type: 'HANDLE_CONTENT_WIDTH', value })\n\n// ** Handles Menu Collapsed State (Bool)\nexport const handleMenuCollapsed = value => dispatch => dispatch({ type: 'HANDLE_MENU_COLLAPSED', value })\n\n// ** Handles Menu Hidden State (Bool)\n// export const handleMenuHidden = value => dispatch => dispatch({ type: 'HANDLE_MENU_HIDDEN', value })\n\n// ** Handles RTL (Bool)\n// export const handleRTL = value => dispatch => dispatch({ type: 'HANDLE_RTL', value })\n\nimport { createActions } from \"src/utils/reduxsauce\";\n\nconst { Types, Creators } = createActions(\n {\n handleRtl: { args: [\"payload\"] },\n handleMenuHidden: { args: [\"payload\"] },\n handleMenuCollapsed: { args: [\"payload\"] },\n setLogo: { args: [\"payload\"] },\n setAppName: { args: [\"payload\"] },\n setUrl: { args: [\"payload\"] },\n },\n {\n prefix: \"@app/layout/\"\n }\n);\n\nexport const ActionTypes = Types;\nexport default Creators;\nexport const LayoutActions = Creators;\n"],"sourceRoot":""}