{"version":3,"sources":["common/auth.config.ts","stores/user.store.tsx","stores/app.context.store.ts","utils/string-utils.ts","stores/dashboard.carousels.store.ts","stores/dlp.dashboard.store.ts","stores/authStore.ts","stores/course.catalog.store.ts","stores/course.details.store.ts","stores/achievements.store.ts","stores/swot.store.ts","stores/cpd.goal.store.ts","stores/cpd.development.plan.dashboard.store.ts","utils/s3-uploader.ts","stores/cpd.save.activity.store.ts","utils/split-filename.ts","stores/lookup.store.ts","stores/cpd.dashboard.store.ts","stores/course.carousel.store.ts","stores/course.enrollment.store.ts","stores/course.autocomplete.store.ts","stores/search.store.ts","stores/qualification.store.ts","stores/app.store.ts","App.tsx","serviceWorker.ts","index.tsx","fontawesome-setup.ts","resources/ciht-org-route-constants.ts","stores/debug.panel.store.tsx","common/webapicall.extensions.ts","common/modal/ModalRenderer.tsx","common/top.footer.module.scss","common/modal/ErrorModal.tsx","resources/localestorage-keys.ts","common/validation.tsx","login/login.tsx","common/not.found.tsx","common/blank.tsx","common/protected.page.tsx","cpd/BecomeMember.tsx","common/top.level.routes.tsx","common/outdated.client.tsx","common/error.component.tsx","common/action.button.tsx","user-dropdown/user.dropdown.tsx","public/debug-panel/debug.panel.tsx","common/login.button.tsx","common/search.tsx","common/top.header.mobile.tsx","common/top.header.tsx","assets/ciht-logo.png","common/top.footer.tsx","common/mainframe.tsx","resources/route-constants.ts","common/protected.page.module.scss","common/modal/ConfirmationModal.tsx","common/top.header.module.scss","common/webapicall.ts","common/app.store.consumer.tsx"],"names":["AuthConfigImpl","appStore","token","refreshToken","url","init","a","window","fetch","catch","r","res","status","headers","get","this","userStore","UserStore","apiClient","configurationProvider","makeObservable","memberInfo","hasDlpMemberAccess","screenName","userClient","logAuditTrail","location","href","email","redirectUrl","loginByEmail","ApplicationType","ClientApp","getAuthToken","getRefreshToken","setAuthToken","getInfo","userInfo","isLoggedIn","userId","totaraId","userName","firstName","lastName","dateCreated","Date","userPreferences","preferences","getCpdProgress","configuration","showUserDropdown","lookupClient","getAllUsers","users","loadingState","dlpDashboardClient","cpdProgress","successful","then","tokenResponse","setAuthCookies","isLoginVisible","hash","getLoginRedirectUrl","canChangeUser","getToken","updateTokens","loginUrl","encodeURIComponent","localStorage","removeItem","LocalStorageKeys","cihtsession","openIdLogoutUrl","isOpenIdLoginEnabled","getOpenIdRedirectUrl","openIdLoginUrl","queryParams","queryString","URLSearchParams","toString","Cookies","goLiveDate","set","observable","computed","action","flow","AppContextStore","contextClient","getContext","contextResponse","handleContextResponse","contextModel","getNotEmptyStringOrNull","text","length","DashboardCarouselsStore","initEvents","skip","take","getAllItems","fetchEvents","eventResponse","events","getAllitems","fetchKnowledgeItems","knowledgeResponse","knowledgeItems","items","totalKnowledgeItems","totalCount","region","selectedEventRegionId","setFilteredEvents","topic","selectedEventTopicId","typeId","selectedEventTypeId","contentTypeId","selectedKnowledgeContentTypeId","initKnowledgeItems","topicIds","selectedKnowledgeTopicIds","dlpContentClient","getAllEvents","getAllKnowledges","DlpDashboardStore","carouselsStore","getContent","content","achievementsEarned","coursesInProgress","promotions","some","p","courseId","getCourse","AuthStore","cpdType","CpdType","Allowed","Required","hasMemberAccess","NoAccess","hasCpdProgress","hasCpdAccess","showMembershipExpiringWarning","MembershipStatus","Expired","Member","Public","Anonymous","CourseCatalogStore","defaultPageSize","fetchCourseTilesDebounced","debounce","fetchCourseTiles","trailing","courses","coursesLoading","getTotalCount","courseClient","getCourseTiles","topicIdQueryParameter","orderByQueryParameter","skipQueryParameter","takeQueryParameter","categoryQueryParameter","response","courseTiles","value","Object","values","OrderByType","indexOf","Newest","CourseDetailsStore","selectedCourse","purchaseLoadingState","getCourseDetails","course","isWebApiErrorResponse","statusCode","runInAction","enrollmentClient","initiatePurchase","id","enrollmentStatus","purchaseStatus","totaraEnrollmentStatus","confirmationStatus","cmsPaymentApiUrl","crmProductId","AchievementsStore","completedAchievements","inProgressAchievements","badgeClient","getBadges","badges","filter","badge","isCompleted","onPageLoad","SwotStore","strength","weakness","opportunity","threats","gaps","focus","hasSwot","initialSwotValues","saveState","swotClient","getByUserId","swot","model","upsert","CpdGoalStore","lookupStore","savedGoal","isSaving","isDeleting","lookupData","goalId","targetDate","originalGoal","loadTopics","loadActivityTypes","getLookupData","goal","update","create","deleteActivities","delete","complete","dateCompleted","CpdDevelopmentPlanDashboardStore","developmentGoals","developmentGoalClient","getAll","getGoalsExcel","uploadFileToS3","presignedUrl","file","onFileProgressChanged","makeRequest","Promise","resolve","reject","xhr","XMLHttpRequest","open","onload","statusText","onerror","upload","addEventListener","e","percentage","loaded","total","percentageAsInt","parseInt","toFixed","send","CpdSaveActivityStore","authStore","initializeFields","Array","from","relatedDocuments","newDocuments","mode","activityId","initCreate","initEdit","activityToEdit","Map","documentIdsToRemove","failedFileUploads","cpdActivityClient","getById","files","fileName","filename","size","fileSize","newDocumentsList","forEach","doc","URL","revokeObjectURL","reset","resetToCreate","activity","filesToSave","relatedDocumentsList","map","saveEditedActivity","saveCreatedActivity","Error","filesToUpload","uploadFilesToS3","fileUploadResult","success","activityToCreate","f","failedFiles","activityToSave","newFileNames","cpdActivityFileClient","getPresignedUrlsForFiles","presignedUrls","filesFailedToUpload","allSettled","filePresignedUrls","newDocumentFile","uploadedPercentage","push","dedupe","generatedName","currentIndex","has","lastDotIndex","lastIndexOf","substring","splitFilename","name","ext","dedupeFilename","createObjectURL","isNewDocument","cpdActivityId","developmentGoalId","RouteConstants","cpdCreateActivity","Lookup","loadData","loadDataFn","data","LookupStore","activityTypesLookup","topicsLookup","regionsLookup","contentTypesLookup","eventTypesLookup","courseTopicsLookup","getAllActivityTypes","getAllTopics","getAllRegions","getAllContentTypes","getAllEventTypes","getCourseTopics","courseTopics","reduce","b","numberOfCourses","flowResult","unload","CpdDashboardStore","years","activities","cpdDashboardClient","getYears","sort","year","getActivities","getActivitiesExcel","CourseCarouselStore","courseTilesResponse","orderValue","CourseEnrollmentStore","getStatus","checkPurchaseStatus","initiateEnrollment","initiateConfirmation","deleteFailed","CourseAutocompleteStore","dataSource","DataSource","CustomStore","load","loadOptions","getCarouselAutocompleteData","getCourseLoadOptions","searchValue","SearchStore","qualificationClient","categoryFilters","add","toLowerCase","topicFilters","qualificationFilters","clear","searchTerm","keywords","split","c","keyword","title","toLocaleLowerCase","includes","description","topics","t","category","qualifications","tiles","getAllQualifications","qualies","Set","QualificationStore","detailLoadingState","getQualificationDetails","qualificationDetail","AppStoreBase","outDatedClient","errorVisible","errorMessage","ev","message","error","stack","reportError","onunhandledrejection","reportUnhandledRejection","reason","tokenToCheck","crosstab","ctEventName","origin","assign","logout","getLoginUrl","body","showErrorDetails","JSON","stringify","console","sendClientException","log","AppStore","authConfig","contextStore","debugPanelStore","dlpDashboardStore","courseCatalogStore","courseDetailsStore","achievementsStore","swotStore","cpdGoalStore","cpdDevelopmentPlanDashboardStore","cpdSaveActivityStore","cpdDashboardStore","courseCarouselStore","courseEnrollmentStore","courseAutocompleteStore","searchStore","qualificationStore","newToken","ContextClient","LookupClient","reportClient","ReportClient","UserClient","DevelopmentGoalClient","SwotClient","CourseClient","CpdActivityClient","CpdActivityFileClient","CpdDashboardClient","DlpContentClient","BadgeClient","DlpDashboardClient","EnrollmentClient","QualificationClient","DebugPanelStore","loadApiVersion","subscribeEventHandlers","loadPublicConfiguration","loadContext","setupCrosstab","getPublicConfiguration","config","getApiVersion","apiVersion","App","refreshTitle","ReactDOM","render","document","getElementById","Boolean","hostname","match","library","faAd","faArrowRight","faArrowToRight","faArrowFromRight","faBars","faBadgeCheck","faCar","faCarCrash","faChartPie","faCheck","faCheckCircle","faChevronDown","faChevronUp","faCog","faCross","faDolly","faExclamationCircle","faExternalLink","faFileExcel","faInfoCircle","faMedal","faMinus","faPlayCircle","faPodcast","faSearch","faSearchRegular","faShield","faSpinner","faTimes","faTrash","faTimesCircle","faUser","faPlay","faTwitter","faYoutube","faLinkedin","app","start","navigator","serviceWorker","ready","registration","unregister","CihtOrgRouteConstants","getEditPreferences","baseUrl","getTermsAndConditions","getPrivacyStatement","getVacanciesAtCiht","getDisclaimer","getContactUs","getLearnMoreAboutCiht","getCihtEvents","getProfessionalDevelopment","getKnowledgeAndResources","getBecomeAMember","getMembersArea","getMyAccount","getIndividualMembership","getAboutPartnership","getRegister","getSearchResults","DebugPanelOperation","dashboardStore","isAchievementsPageEmptied","operation","isLoading","hasAchievements","hasInProgressCourses","hasPromotionalEvent","startDate","addBusinessDays","now","imageUrl","targetUrl","cihtSiteUrl","debug_resetAchievements","debug_setNoAchievements","newValue","debugPanelVisible","obj","Backdrop","props","show","className","classes","onClick","modalClicked","React","Component","Modal","Fragment","noBackdrop","backdropClassName","modalWrapperClassName","modalClassName","role","style","display","trapFocus","overrideFocusableElementSelector","wcagOverwriteTrapFocusSelector","children","ModalRenderer","renderWhenHidden","renderInline","toggleModal","isVisible","overwriteModalClassName","overwriteBackdropClassName","overwriteModalWrapperClassName","rest","backdropClassNameResult","modalClassNameResult","modalWrapperClassNameResult","modal","createPortal","module","exports","lastModalId","ErrorModal","close","tryAgainAction","shouldTryAgain","confirmButtonIdRef","useRef","useEffect","focusElementByIdLast","current","useState","setIsLoading","icon","keyboardNavigation","clickable","label","transform","disabled","spin","btn","ValidatableForm","focusedElements","resetValidation","setState","errorMessages","onFocus","fieldName","target","dataset","fe","onBlur","shouldValidateOnBlur","validate","onSubmit","preventDefault","keys","validationResult","isValid","onValidationErrorOnSubmit","onKeyup","s","state","schema","validateSync","abortEarly","elements","inner","i","path","validateOnBlur","currentValidationResult","restProps","onKeyUp","ValidationMessage","ValidatableInput","val","undefined","mappedProps","onChange","onChanged","type","checked","cloneElement","LoginState","NotFound","emailModel","Yup","required","LoginWithoutRouter","getAppStore","isSuccessfulVisible","isUnsuccessfulVisible","getRedirectUrl","isSuccessful","scrollTo","onEmailChanged","onEmailFocused","hideInitialState","onClickLoginWithSSO","sendToOpenIdLogin","params","decodeURIComponent","isLoginPageEnabled","loginSuccessfulPart","placeholder","Login","withRouter","MainBlank","ProtectedPageWithoutRouter","initialized","pathname","_prevComponent","handleUrlChange","prevProps","component","protectedPageWrapper","pageLayout","nextProps","prevState","ProtectedPage","renderProtectedElement","isAdminPage","BecomeMember","to","dlpDashboard","Dlp","lazy","Cpd","Search","Qualification","getLoginComponent","initialState","Routes","exact","search","qualification","dlp","cpd","notFound","becomeMember","loginWithRedirectUrl","Default","sessionExpired","SessionExpired","accessLinkExpired","AccessLinkExpired","forcedLogout","ForcedLogout","accessLinkNotFound","AccessLinkNotFound","accessDenied","AccessDenied","OutDatedClientModal","reloadCallback","OutdatedClient","refresh","reload","logoutAndRestartCallback","defaultValue","rows","observer","useAppStore","ActionButton","store","UserDropdown","onUserSelected","changeUser","user","fullName","DebugPanelWithoutWrapper","isEnabled","isDebugPanelEnabled","toggleTestingPanel","cursor","Logout","RoleFlagRow","flag","toggleAction","setHasMemberAccess","isShowMembershipExpiringWarningEnabled","setShowMembershipExpiringWarningAccess","setCpdType","maxWidth","toggleDashboardAchivements","ToggleDashboardAchievementsPreview","toggleDashboardInProgressCourses","ToggleDashboardInProgressCourses","toggleCpdProgress","ToggleDashboardCpdProgress","toggleDashboardPromotionalEvent","ToggleDashboardPromotionalEvent","toggleAchievements","ToggleAchievements","textAlign","width","margin","ToggleRoleFlags","PublicDebugPanel","LoginButton","useLocation","isOpen","wrapperRef","setIsOpen","closeOnClick","containerElement","Element","contains","removeEventListener","useCloseOnClickOutside","ref","loginMenuContainer","menuItem","top","bottom","faIcon","dropdown","gridTemplateAreas","matchPath","strict","generatePath","setSearchTerm","history","useHistory","onSearch","showClearButton","onEnterKey","onValueChanged","options","stylingMode","TopHeaderMobile","mobileMenu","hamburgerIcon","mobileMenuContainer","dlpCoursesAll","dlpAchievements","hasCpdReadAccess","cpdDashboard","TopHeader","scrollPosition","setPosition","useLayoutEffect","updatePosition","pageYOffset","useScrollPosition","wrapper","shadow","topHeader","logo","src","alt","mainMenu","menuContainer","rightMenu","TopFooter","termsAndConditionsUrl","privacyStatementUrl","vacanciesAtCihtUrl","disclaimerUrl","contactUsUrl","info","links","AppContext","createContext","AppContextProvider","appContext","MainFrame","Suspense","fallback","Provider","cpdSwot","cpdDevelopment","cpdCreateGoal","cpdEditActivity","cdpEditGoal","dlpCourses","dlpCourseDetails","enrolmentPage","login","ConfirmationModal","onConfirm","onCancel","cancelLabel","confirmLabel","confirmActionType","positive","AuthorizableActions","BadgeTheme","CourseCategory","CourseStatus","PurchaseProcessStatus","UserCourseState","ClientBase","setAdditionalOptions","processor","mapDateStringsToDate","item","key","hasOwnProperty","test","parse","http","jsonParseReviver","url_","replace","transformOptions","method","transformedOptions_","_response","transformResult","processGetBadges","_headers","v","k","_responseText","throwException","options_","processGetContext","topicId","orderBy","processGetCourseTiles","processGetCourseDetails","processGetCarouselAutocompleteData","result999","processGetCourseTopics","processSaveCourse","processGetCourse","result404","processGetCourses","processDeleteCourse","processGetPresignedUrlForThumbnail","processGetPresignedUrlForPartnerLogo","totaraCourseId","processGetIsTotaraCourseIdAvailable","processGetIsCrmProductIdAvailable","processMoveUp","processMoveDown","processGetByUserId","processCreate","processGetById","processUpdate","result400","processDelete","fileNames","processGetPresignedUrlsForFiles","processGetYears","processGetActivities","processGetSummaries","processGetActivitiesExcel","contentDisposition","fileNameMatch","exec","blob","processGetAll","processGet","processGetLookupData","processComplete","processGetGoalsExcel","processGetEventById","regionId","eventTypeId","processGetAllEvents","processGetKnowledgeById","processGetAllKnowledges","processGetCpdProgress","result403","processGetContent","processGetStatus","processDeleteFailed","processInitiatePurchase","processCheckPurchaseStatus","processInitiateEnrollment","processInitiateConfirmation","processGetPublicConfiguration","processGetAllUsers","processGetApiVersion","processGetAllActivityTypes","processGetAllTopics","processGetAllRegions","processGetAllContentTypes","processGetAllEventTypes","processGetAllQualifications","qualificationId","processGetQualificationDetails","processSendClientException","processUpsert","applicationType","processLoginByEmail","processRefreshToken","processGetInfo","processWipeOut","processLogAuditTrail","processGetToken","processLogout","SwaggerException","result","isSwaggerException","ObserverComponent","useContext"],"mappings":"klDAIaA,EAAb,WAIC,WAAsBC,GAAqB,yBAArBA,WAAoB,KAH1CC,MAAgB,GAG0B,KAF1CC,aAAuB,GAFxB,gFAMC,WAAYC,EAAkBC,GAA9B,eAAAC,EAAA,sEACiBC,OAAOC,MAAMJ,EAAKC,GAAMI,OAAM,SAACC,GAAD,OAAiBA,KADhE,UAEoB,OADfC,EADL,QAESC,QAA0B,4BAARR,EAF3B,oBAGkD,SAA5CO,EAAIE,QAAQC,IAAI,wBAHtB,iCAIwBC,KAAKd,SAASe,UAAUb,aAAaY,KAAKZ,cAJlE,0CAOKE,EAAKQ,QAAN,+BAAsEE,KAAKb,OAP/E,UAQgBK,OAAOC,MAAMJ,EAAKC,GARlC,QAQIM,EARJ,wCAYQA,GAZR,iDAND,gE,0CCIaM,GAAb,aACC,WAAoBC,EAA+BC,GAAgD,yBAA/ED,YAA8E,KAA/CC,wBAA+C,ihBACjGC,YAAeL,MAFjB,iDAoBC,WACgC,IAAD,IAC9B,2BAAOA,KAAKM,kBAAZ,aAAO,EAAiBC,0BAAxB,WAtBF,kEAyBC,WAAoBC,GAApB,SAAAjB,EAAA,sEACOS,KAAKG,UAAUM,WAAWC,cAAc,CAC7CF,WAAYA,EACZnB,IAAKG,OAAOmB,SAASC,OAHvB,gDAzBD,wHAgCC,WAAmBC,EAAeC,GAAlC,SAAAvB,EAAA,sEACcS,KAAKG,UAAUM,WAAWM,aAAaF,EAAOG,IAAgBC,UAAWH,GADvF,wFAhCD,kHAoCC,2FAEO3B,EAAQa,KAAKkB,eACb9B,EAAec,EAAUiB,mBAE3BhC,EALL,wBAMEa,KAAKG,UAAUiB,aAAajC,EAAOC,GANrC,SAQyBY,KAAKG,UAAUM,WAAWY,UARnD,OAQQC,EARR,OASEtB,KAAKuB,YAAa,EAClBvB,KAAKwB,OAASF,EAASE,OACvBxB,KAAKyB,SAAWH,EAASG,SACzBzB,KAAK0B,SAAL,UAAmBJ,EAASK,UAA5B,YAAyCL,EAASM,UAClD5B,KAAK2B,UAAYL,EAASK,UAC1B3B,KAAK4B,SAAWN,EAASM,SACzB5B,KAAKM,WAAagB,EAAShB,WAC3BN,KAAK6B,YAAcP,EAASO,YAAc,IAAIC,KAAKR,EAASO,aAAe,KAC3E7B,KAAK+B,gBAAkBT,EAASU,YAEhChC,KAAKiC,iBAnBP,YAsBKjC,KAAKI,sBAAsB8B,cAAcC,mBAAoBnC,KAAKuB,WAtBvE,kCAuBqBvB,KAAKG,UAAUiC,aAAaC,cAvBjD,QAuBErC,KAAKsC,MAvBP,eA0BCtC,KAAKuC,aAAe,YA1BrB,iDApCD,4FAiEC,8EAEoB,OAFpB,SAE0BvC,KAAKG,UAAUqC,mBAAmBP,iBAF5D,OAECjC,KAAKyC,YAFN,uDAjED,iEAsEC,WAAmBrD,GAAnB,iBAAAG,EAAA,6DACKmD,GAAa,EADlB,SAGO1C,KAAKG,UAAUM,WACnBrB,aAAa,CACbA,aAAcA,IAEduD,MAAK,SAAAhD,GACL+C,GAAa,EACbE,EAAgBjD,KAEhBD,OAAM,WACNgD,GAAa,KAZhB,cAeKA,IACHxC,EAAU2C,eAAeD,GACzB5C,KAAKG,UAAUiB,aAAawB,EAAczD,MAAOyD,EAAcxD,eAjBjE,kBAoBQsD,GApBR,gDAtED,gFA6FC,WACC,OAAI1C,KAAK8C,eACDtD,OAAOmB,SAASoC,KAEhB/C,KAAKgD,oBAAoBxD,OAAOmB,SAASoC,QAjGnD,2BAqGC,WACC,OAAO/C,KAAKI,sBAAsB8B,cAAcC,mBAtGlD,+DAyGC,WAAiBX,GAAjB,eAAAjC,EAAA,0DACKS,KAAKiD,gBADV,gCAE4BjD,KAAKG,UAAUM,WAAWyC,SAAS1B,GAF/D,OAEMoB,EAFN,OAGE5C,KAAKmD,aAAaP,GAHpB,gDAzGD,iFAgHC,SAAqBA,GAChB5C,KAAKiD,kBACR/C,EAAU2C,eAAeD,GACzBpD,OAAOmB,SAASC,KAAO,OAnH1B,iCAuHC,SAA4BE,GAC3B,IAAIsC,EAAWpD,KAAKI,sBAAsB8B,cAAckB,SACxD,OAAKtC,GAGkB,MAAnBA,EAAY,KACfA,EAAW,WAAOA,IAEb,GAAN,OAAUsC,EAAV,YAAsBC,mBAAmBvC,KALjCsC,IA1HV,2DAkIC,sBAAA7D,EAAA,sDACC+D,aAAaC,WAAWC,IAAiBC,aACzCzD,KAAKG,UAAUiB,aAAa,KAAM,MAClC5B,OAAOmB,SAASC,KAAOZ,KAAKI,sBAAsB8B,cAAcwB,gBAHjE,gDAlID,qFAwIC,SAAkB5C,GACbd,KAAKI,sBAAsB8B,cAAcyB,uBAC5CnE,OAAOmB,SAASC,KAAOZ,KAAK4D,qBAAqB9C,MA1IpD,kCA8IC,SAA6BA,GAC5B,IAAKA,EACJ,OAAOd,KAAKI,sBAAsB8B,cAAc2B,eAGjD,IAAIC,EAAc,GACdhD,IACoB,MAAnBA,EAAY,KACfA,EAAW,WAAOA,IAEnBgD,EAAW,2BAAOA,GAAP,IAAoBhD,YAAauC,mBAAmBvC,MAGhE,IAAMiD,EAAc,IAAIC,gBAAgBF,GAAaG,WACrD,MAAM,GAAN,OAAUjE,KAAKI,sBAAsB8B,cAAc2B,eAAnD,YAAqEE,KA5JvE,0BA+JC,WACC,OAAOG,IAAQnE,IAAI,eAhKrB,qCA4KC,WAEC,IAAMoE,EAAa,IAAIrC,KAAK9B,KAAKI,sBAAsB8B,cAAciC,YACrE,OAA4B,OAArBnE,KAAK6B,aAAwB7B,KAAK6B,YAAcsC,KA/KzD,8BAmKC,WACC,OAAOD,IAAQnE,IAAI,kBApKrB,4BAuKC,SAA8B6C,GAC7BsB,IAAQE,IAAI,YAAaxB,EAAczD,OACvC+E,IAAQE,IAAI,eAAgBxB,EAAcxD,kBAzK5C,6CAKEiF,KALF,yEAK0B,KAL1B,wCAMEA,KANF,yEAMgC,QANhC,oCAOEA,KAPF,yEAO8B,QAP9B,sCAQEA,KARF,yEAQgC,QARhC,sCASEA,KATF,yEASgC,QAThC,uCAUEA,KAVF,yEAUiC,QAVjC,sCAWEA,KAXF,yEAWgC,QAXhC,yCAYEA,KAZF,yEAYiC,QAZjC,wCAaEA,KAbF,wEAaqC,MAbrC,4CAcEA,KAdF,yEAcuC,KAdvC,mCAeEA,KAfF,wEAegC,MAfhC,yCAgBEA,KAhBF,wEAgB2C,MAhB3C,6CAiBEA,KAjBF,wEAiBoD,MAjBpD,0CAkBEA,KAlBF,wEAkB0C,aAlB1C,2CAoBEC,KApBF,4GAoCEC,KApCF,2GAiEEC,KAjEF,gIA4KEF,KA5KF,yFCJaG,GAAb,aAGC,WAAoBtE,GAAwB,yBAAxBA,YAAuB,wCAC1CE,YAAeL,MAJjB,sFAOC,WAAkBwB,GAAlB,eAAAjC,EAAA,sEAC6BS,KAAKG,UAAUuE,cAAcC,WAAW,CACnEnD,OAAQA,IAFV,OACKoD,EADL,OAIC5E,KAAK6E,sBAAsBD,GAJ5B,gDAPD,0FAcC,SAC8BA,GAC7B5E,KAAK8E,aAAeF,MAhBtB,+CACEP,KADF,+GAcEE,KAdF,qF,iBCJO,SAASQ,GAAwBC,GACvC,OAAKA,GAIEA,EAAKC,OAAS,EAAID,EAHjB,KCIF,I,8HAAME,IAAb,aAcC,WAAoB/E,GAAwB,yBAAxBA,YAAuB,kaAC1CE,YAAeL,MAEfA,KAAKuC,aAAe,UAjBtB,kDAoBC,8EAIC,OAFAvC,KAAKuC,aAAe,UAFrB,SAIOvC,KAAKmF,aAJZ,OAMCnF,KAAKuC,aAAe,YANrB,gDApBD,kCA6BC,sGAEiD,OADrC6C,EADZ,+BAC2B,EAAGC,EAD9B,+BAC6C,GAAIC,EADjD,yCAEuDtF,KAAKuF,YAAYH,EAAMC,EAAMC,GAFpF,OAEOE,EAFP,OAGCxF,KAAKyF,OAAL,YAAkBD,EAAcC,QAHjC,gDA7BD,oCAmCC,sGAEiD,OADnCL,EADd,+BAC6B,EAAGC,EADhC,+BAC+C,GAAIK,IADnD,0CAEuD1F,KAAKuF,YAAYH,EAAMC,EAAMK,GAFpF,OAEOF,EAFP,OAGCxF,KAAKyF,OAAL,sBAAkBzF,KAAKyF,QAAvB,YAAkCD,EAAcC,SAHjD,gDAnCD,0CAyCC,sGAE4D,OADxCL,EADpB,+BACmC,EAAGC,EADtC,+BACqD,GAAIC,EADzD,yCAEkEtF,KAAK2F,oBAAoBP,EAAMC,EAAMC,GAFvG,OAEOM,EAFP,OAIC5F,KAAK6F,eAAL,YAA0BD,EAAkBE,OAC5C9F,KAAK+F,oBAAsBH,EAAkBI,WAL9C,gDAzCD,4CAiDC,sGAE4D,OADtCZ,EADtB,+BACqC,EAAGC,EADxC,+BACuD,GAAIC,EAD3D,yCAEkEtF,KAAK2F,oBAAoBP,EAAMC,EAAMC,GAFvG,OAEOM,EAFP,OAIC5F,KAAK6F,eAAL,sBAA0B7F,KAAK6F,gBAA/B,YAAkDD,EAAkBE,QACpE9F,KAAK+F,oBAAsBH,EAAkBI,WAL9C,gDAjDD,gDAyDC,WAC0BC,GAD1B,iEAGC,OADAjG,KAAKkG,sBAAwBnB,GAAwBkB,GAFtD,SAGOjG,KAAKmG,oBAHZ,gDAzDD,+CA+DC,WACyBC,GADzB,iEAGC,OADApG,KAAKqG,qBAAuBtB,GAAwBqB,GAFrD,SAGOpG,KAAKmG,oBAHZ,gDA/DD,8CAqEC,WACwBG,GADxB,iEAGC,OADAtG,KAAKuG,oBAAsBxB,GAAwBuB,GAFpD,SAGOtG,KAAKmG,oBAHZ,gDArED,yCA2EC,8EAEC,OAFD,SAEOnG,KAAKmF,aAFZ,gDA3ED,yDAgFC,WACmCqB,GADnC,iEAGC,OADAxG,KAAKyG,+BAAiC1B,GAAwByB,GAF/D,SAGOxG,KAAK0G,qBAHZ,gDAhFD,oDAsFC,WAC8BC,GAD9B,iEAGC,OADA3G,KAAK4G,0BAA4BD,EAFlC,SAGO3G,KAAK0G,qBAHZ,gDAtFD,iCA4FC,WAEC1G,KAAK4G,0BAA4B,KACjC5G,KAAK6F,eAAiB,GACtB7F,KAAK+F,oBAAsB,IAhG7B,yBAmGC,WAAwF,IAApEX,EAAmE,uDAApD,EAAGC,EAAiD,uDAAlC,GAAIC,EAA8B,wDACtF,OAAOtF,KAAKG,UAAU0G,iBAAiBC,aACtC9G,KAAKkG,sBACLlG,KAAKqG,qBACLrG,KAAKuG,oBACLnB,EACAC,EACAC,KA1GH,iCA8GC,WAAgG,IAApEF,EAAmE,uDAApD,EAAGC,EAAiD,uDAAlC,GAAIC,EAA8B,wDAC9F,OAAOtF,KAAKG,UAAU0G,iBAAiBE,iBAAiB/G,KAAK4G,0BAA2B5G,KAAKyG,+BAAgCrB,EAAMC,EAAMC,OA/G3I,+CACEjB,KADF,kGAGEA,KAHF,wEAGqC,MAHrC,mDAIEA,KAJF,yEAIoD,QAJpD,kDAKEA,KALF,yEAKmD,QALnD,iDAMEA,KANF,yEAMkD,QANlD,4CAQEA,KARF,wEAQoD,MARpD,iDASEA,KATF,yEAS2C,KAT3C,4DAWEA,KAXF,yEAW6D,QAX7D,uDAYEA,KAZF,yEAY0D,QAZ1D,gCAoBEG,KApBF,uGA6BEA,KA7BF,+GAmCEA,KAnCF,uHAyCEA,KAzCF,+HAiDEA,KAjDF,qIAyDEA,KAzDF,wIA+DEA,KA/DF,sIAqEEA,KArEF,gIA2EEA,KA3EF,2IAgFEA,KAhFF,sJAsFEA,KAtFF,wIA4FED,KA5FF,mFCDayC,IAAb,cAMC,WAAY7G,GAAwB,yBALnBA,eAKkB,OAJ1B8G,oBAI0B,sCAClC5G,YAAeL,MAEfA,KAAKG,UAAYA,EACjBH,KAAKiH,eAAiB,IAAI/B,GAAwB/E,GAVpD,kDAaC,8EAEC,OAFD,SAEOH,KAAKiH,eAAe3H,OAF3B,OAIgB,OAJhB,SAIsBU,KAAKG,UAAUqC,mBAAmB0E,aAJxD,OAIClH,KAAKmH,QAJN,uDAbD,2BAoBC,WACgC,IAAD,EAC9B,OAAO,UAAAnH,KAAKmH,eAAL,eAAcC,oBAAqB,IAtB5C,gCAyBC,WACqC,IAAD,EACnC,OAAO,UAAApH,KAAKmH,eAAL,eAAcE,mBAAoB,IA3B3C,+BA8BC,WACoC,IAAD,IAClC,iBAAOrH,KAAKmH,eAAZ,iBAAO,EAAcG,kBAArB,aAAO,EAA0BC,MAAK,SAAAC,GAAC,OAAIA,OAhC7C,iFAmCC,WAAmCC,GAAnC,SAAAlI,EAAA,sEACcS,KAAKG,UAAUqC,mBAAmBkF,UAAUD,GAD1D,wFAnCD,qGAIEpD,KAJF,+FAaEG,KAbF,+GAoBEF,KApBF,+HAyBEA,KAzBF,mIA8BEA,KA9BF,sFCDaqD,IAAb,cAGC,WAAoB1H,GAAuB,yBAAvBA,YAAsB,kCACzCI,YAAeL,MAJjB,iDAOC,WAC4C,IAAD,EAC1C,iBAAOA,KAAKC,UAAUK,kBAAtB,aAAO,EAA2BC,qBATpC,iCAYC,WACsC,IAAD,EACpC,OAAOP,KAAKC,UAAUsB,cAAc,UAACvB,KAAKC,UAAUK,kBAAhB,aAAC,EAA2BC,sBAdlE,wBAiBC,WAC6B,IAAD,EAC3B,OAAO,UAAAP,KAAKC,UAAUK,kBAAf,eAA2BsH,WAAYC,IAAQC,UAnBxD,yBAsBC,WAC8B,IAAD,EAC5B,OAAO,UAAA9H,KAAKC,UAAUK,kBAAf,eAA2BsH,WAAYC,IAAQE,WAxBxD,wBA2BC,WAC6B,IAAD,EAC3B,OAAO/H,KAAKC,UAAUsB,YAAcvB,KAAKgI,kBAAmB,UAAAhI,KAAKC,UAAUK,kBAAf,eAA2BsH,WAAYC,IAAQI,WA7B7G,4BAgCC,WACiC,IAAD,EAC/B,OAAOjI,KAAKC,UAAUsB,cAAe,UAAAvB,KAAKC,iBAAL,eAAgBwC,YAAYyF,iBAAkBlI,KAAKmI,gBAlC1F,kDAqCC,WAC8C,IAAD,EAC5C,iBAAOnI,KAAKC,UAAUK,kBAAtB,aAAO,EAA2B8H,gCAvCpC,4BA0CC,WAC0C,IAAD,IACxC,OAAKpI,KAAKC,UAAUsB,YAIpB,UAAIvB,KAAKC,UAAUK,kBAAnB,aAAI,EAA2B8H,+BACvBC,IAAiBC,SAGzB,UAAItI,KAAKC,UAAUK,kBAAnB,aAAI,EAA2BC,oBACvB8H,IAAiBE,OAGlBF,IAAiBG,OAXhBH,IAAiBI,cA7C3B,0CACEpE,KADF,0GAOEC,KAPF,gIAYEA,KAZF,6HAiBEA,KAjBF,qHAsBEA,KAtBF,qHA2BEA,KA3BF,wHAgCEA,KAhCF,kJAqCEA,KArCF,kJA0CEA,KA1CF,mF,qBCCaoE,IAAb,cAaC,WAAYvI,GAAwB,IAAD,gCAZlBA,eAYkB,OAXlBwI,gBAA0B,GAWR,gXAwD3BC,0BAA4BC,MAAS,kBAAM,EAAKC,kBAAiB,KAAO,IAAM,CAACC,UAAU,IAvDhG1I,YAAeL,MACfA,KAAKG,UAAYA,EAEjBH,KAAKgJ,QAAU,GACfhJ,KAAKiJ,gBAAiB,EAlBxB,kDAqBC,8EAEC,OAFD,SAEOjJ,KAAK8I,kBAAiB,GAF7B,gDArBD,wCA0BC,WACkBI,GADlB,uEAG0C,OADzClJ,KAAKiJ,gBAAiB,EAFvB,SAGgDjJ,KAAKG,UAAUgJ,aAAaC,eAC1EpJ,KAAKqJ,sBACLrJ,KAAKsJ,sBACLtJ,KAAKuJ,mBACLvJ,KAAKwJ,mBACLN,EACAlJ,KAAKyJ,wBATP,OAGOC,EAHP,OAYKR,GACHlJ,KAAKgJ,QAAUU,EAASC,YACxB3J,KAAKgG,WAAa0D,EAAS1D,YAE3BhG,KAAKgJ,QAAL,sBAAmBhJ,KAAKgJ,SAAxB,YAAoCU,EAASC,cAG9C3J,KAAKiJ,gBAAiB,EAnBvB,gDA1BD,2CAgDC,SAC8BW,GAC7B5J,KAAKsJ,sBAAwBO,OAAOC,OAAOC,KAAaC,QAAQJ,GAChE5J,KAAKuJ,mBAAqB,EAC1BvJ,KAAK8I,kBAAiB,KApDxB,iDAuDC,SACoCc,GACnC5J,KAAKqJ,sBAAwBO,EAC7B5J,KAAKuJ,mBAAqB,EAC1BvJ,KAAK8I,kBAAiB,KA3DxB,kDA8DC,SACqCc,GACpC5J,KAAKyJ,uBAAyBG,EAC9B5J,KAAKuJ,mBAAqB,EAC1BvJ,KAAK8I,kBAAiB,KAlExB,yCAuEC,SAC4Bc,GAC3B5J,KAAKuJ,mBAAqB,EAC1BvJ,KAAK4I,8BA1EP,6BA6EC,WAEC5I,KAAKuJ,oBAAsBvJ,KAAKwJ,mBAChCxJ,KAAK8I,kBAAiB,KAhFxB,8BAmFC,WAEC,OAAO9I,KAAKuJ,mBAAqBvJ,KAAKwJ,mBAAqBxJ,KAAKgG,aArFlE,+BAwFC,WAEC,OAAOhG,KAAKgG,WAAahG,KAAKuJ,mBAAqBvJ,KAAKwJ,qBA1F1D,0BA6FC,WAECxJ,KAAKqJ,sBAAwB,GAC7BrJ,KAAKsJ,sBAAwBS,IAAYE,OACzCjK,KAAKuJ,mBAAqB,EAC1BvJ,KAAKgJ,QAAU,OAlGjB,4CAIE3E,KAJF,4GAKEA,KALF,mHAMEA,KANF,wEAM6C,MAN7C,qDAOEA,KAPF,yEAOkD0F,IAAYE,UAP9D,sDAQE5F,KARF,yEAQ6D,QAR7D,kDASEA,KATF,yEAS0C,KAT1C,kDAUEA,KAVF,yEAU0CrE,KAAK2I,mBAV/C,0CAWEtE,KAXF,yEAWkC,KAXlC,iCAqBEG,KArBF,gHA0BEA,KA1BF,yIAgDED,KAhDF,4JAuDEA,KAvDF,mKA8DEA,KA9DF,2JAuEEA,KAvEF,sIA6EEA,KA7EF,6HAmFED,KAnFF,iIAwFEA,KAxFF,2HA6FEC,KA7FF,+E,UCEa2F,IAAb,cAOC,WAAY/J,EAA+BC,GAAgD,yBAAhDA,wBAA+C,KANzED,eAMyE,uIACzFE,YAAeL,MACfA,KAAKG,UAAYA,EAEjBH,KAAKmK,eAAiB,KACtBnK,KAAKuC,aAAe,UACpBvC,KAAKoK,qBAAuB,UAb9B,wDAgBC,WACY3C,GADZ,uEAKoC,OAHnCzH,KAAKuC,aAAe,UAFrB,kBAK0CvC,KAAKG,UAAUgJ,aAAakB,iBAAiB5C,GALvF,QAKQ6C,EALR,UAQGtK,KAAKuC,aAAe,aAGrBvC,KAAKmK,eAAiBG,EAEtBtK,KAAKuC,aAAe,YAbtB,sDAeMgI,aAAsB,EAAD,KAAgC,MAArB,KAAMC,WAf5C,wBAgBGxK,KAAKuC,aAAe,YAhBvB,2BAmBGvC,KAAKuC,aAAe,QAnBvB,0DAhBD,0BAwCC,WAECvC,KAAKmK,eAAiB,KACtBnK,KAAKuC,aAAe,YA3CtB,6DA8CC,mCAAAhD,EAAA,6DACCkL,aAAY,WACX,EAAKL,qBAAuB,aAF9B,SAKqCpK,KAAKG,UAAUuK,iBAAiBC,iBAAiB3K,KAAKmK,eAAeS,IAL1G,OAKOlB,EALP,OAMCe,aAAY,WACX,EAAKN,eAAeU,iBAAmB,CACtCC,eAAgBpB,EAASoB,eACzBC,uBAAwBrB,EAASmB,iBACjCG,mBAAoBtB,EAASsB,oBAG9B,EAAKZ,qBAAuB,eAb9B,gDA9CD,uFA+DC,WACC,OAAOpK,KAAKI,sBAAsB8B,cAAc+I,iBAAzC,oBAAyEjL,KAAKmK,eAAee,kBAhEtG,mDAGE7G,KAHF,0GAIEA,KAJF,kHAKEA,KALF,qGAgBEG,KAhBF,kHAwCED,KAxCF,+ECFa4G,IAAb,cAOC,WAAYhL,GAAwB,yBANnBA,eAMkB,gJAClCE,YAAeL,MAEfA,KAAKuC,aAAe,UACpBvC,KAAKG,UAAYA,EACjBH,KAAKoL,sBAAwB,GAC7BpL,KAAKqL,uBAAyB,GAbhC,iDAgBC,WAEC,MAA6B,cAAtBrL,KAAKuC,eAAiCvC,KAAKoL,sBAAsBnG,OAAS,GAAKjF,KAAKqL,uBAAuBpG,OAAS,KAlB7H,oCAqBC,WAEC,MAA6B,cAAtBjF,KAAKuC,cAAgCvC,KAAKoL,sBAAsBnG,OAAS,IAvBlF,qCA0BC,WAEC,MAA6B,cAAtBjF,KAAKuC,cAAgCvC,KAAKqL,uBAAuBpG,OAAS,IA5BnF,kCA+BC,oFAI+B,OAF9BjF,KAAKuC,aAAe,UAFrB,SAIqCvC,KAAKG,UAAUmL,YAAYC,YAJhE,OAIOC,EAJP,OAMCxL,KAAKoL,sBAAwBI,EAAOC,QAAO,SAAAC,GAAK,OAAIA,EAAMC,eAC1D3L,KAAKqL,uBAAyBG,EAAOC,QAAO,SAAAC,GAAK,OAAKA,EAAMC,eAE5D3L,KAAKuC,aAAe,YATrB,gDA/BD,qCA2CC,WAECvC,KAAKoL,sBAAwB,GAC7BpL,KAAKqL,uBAAyB,KA9ChC,+CAiDC,8EAEC,OAFD,SAEOrL,KAAK4L,aAFZ,gDAjDD,0BAsDC,WAEC5L,KAAKuC,aAAe,UAEpBvC,KAAKoL,sBAAwB,GAC7BpL,KAAKqL,uBAAyB,OA3DhC,iDAEEhH,KAFF,mHAIEA,KAJF,oHAKEA,KALF,0GAgBEC,KAhBF,mIAqBEA,KArBF,6IA0BEA,KA1BF,+HA+BEE,KA/BF,6HA2CED,KA3CF,0IAiDEC,KAjDF,+HAsDED,KAtDF,+ECCasH,IAAb,cAcC,WAAoB1L,GAAwB,yBAAxBA,YAAuB,0XAC1CE,YAAeL,MAEfA,KAAK8L,SAAW,GAChB9L,KAAK+L,SAAW,GAChB/L,KAAKgM,YAAc,GACnBhM,KAAKiM,QAAU,GACfjM,KAAKkM,KAAO,GACZlM,KAAKmM,MAAQ,GAEbnM,KAAKoM,SAAU,EAEfpM,KAAKqM,kBAAoB,CACxBP,SAAU,GACVC,SAAU,GACVC,YAAa,GACbC,QAAS,GACTC,KAAM,GACNC,MAAO,IAGRnM,KAAKuC,aAAe,UACpBvC,KAAKsM,UAAY,QApCnB,kDAuCC,gGAKwB,OAHvBtM,KAAKuC,aAAe,UAFrB,kBAK8BvC,KAAKG,UAAUoM,WAAWC,cALxD,QAKQC,EALR,UAQGzM,KAAKoM,SAAU,GAGhBpM,KAAKqM,kBAAoBI,EAEzBzM,KAAK8L,SAAL,iBAAgBW,QAAhB,IAAgBA,OAAhB,EAAgBA,EAAMX,gBAAtB,QAAkC,GAClC9L,KAAK+L,SAAL,iBAAgBU,QAAhB,IAAgBA,OAAhB,EAAgBA,EAAMV,gBAAtB,QAAkC,GAClC/L,KAAKgM,YAAL,iBAAmBS,QAAnB,IAAmBA,OAAnB,EAAmBA,EAAMT,mBAAzB,QAAwC,GACxChM,KAAKiM,QAAL,iBAAeQ,QAAf,IAAeA,OAAf,EAAeA,EAAMR,eAArB,QAAgC,GAChCjM,KAAKkM,KAAL,iBAAYO,QAAZ,IAAYA,OAAZ,EAAYA,EAAMP,YAAlB,QAA0B,GAC1BlM,KAAKmM,MAAL,iBAAaM,QAAb,IAAaA,OAAb,EAAaA,EAAMN,aAAnB,QAA4B,GAE5BnM,KAAKuC,aAAe,YACpBvC,KAAKsM,UAAY,QArBnB,kDAuBEtM,KAAKuC,aAAe,QAvBtB,0DAvCD,oBAkEC,WAECvC,KAAKuC,aAAe,UACpBvC,KAAKsM,UAAY,QAEjBtM,KAAK8L,SAAW,GAChB9L,KAAK+L,SAAW,GAChB/L,KAAKgM,YAAc,GACnBhM,KAAKiM,QAAU,GACfjM,KAAKkM,KAAO,GACZlM,KAAKmM,MAAQ,GAEbnM,KAAKoM,SAAU,IA9EjB,4BAiFC,uFAEwB,UAAnBpM,KAAKsM,UAFV,iDAgBE,OAVKI,EAAiB,CACtBZ,SAAU9L,KAAK8L,SACfC,SAAU/L,KAAK+L,SACfC,YAAahM,KAAKgM,YAClBC,QAASjM,KAAKiM,QACdC,KAAMlM,KAAKkM,KACXC,MAAOnM,KAAKmM,OAZd,kBAgBQnM,KAAKG,UAAUoM,WAAWI,OAAOD,GAhBzC,OAkBE1M,KAAKqM,kBAAoBK,EAEF,UAAnB1M,KAAKsM,YACRtM,KAAKsM,UAAY,SArBpB,4GAjFD,oBA6GC,WACU,IAAD,YACRtM,KAAK8L,SAAL,UAAgB9L,KAAKqM,kBAAkBP,gBAAvC,QAAmD,GACnD9L,KAAK+L,SAAL,UAAgB/L,KAAKqM,kBAAkBN,gBAAvC,QAAmD,GACnD/L,KAAKgM,YAAL,UAAmBhM,KAAKqM,kBAAkBL,mBAA1C,QAAyD,GACzDhM,KAAKiM,QAAL,UAAejM,KAAKqM,kBAAkBJ,eAAtC,QAAiD,GACjDjM,KAAKkM,KAAL,UAAYlM,KAAKqM,kBAAkBH,YAAnC,QAA2C,GAC3ClM,KAAKmM,MAAL,UAAanM,KAAKqM,kBAAkBF,aAApC,QAA6C,GAE7CnM,KAAKsM,UAAY,UAtHnB,yBAyHC,SACY1C,GACX5J,KAAK8L,SAAWlC,EAChB5J,KAAKsM,UAAY,UA5HnB,yBA+HC,SACY1C,GACX5J,KAAK+L,SAAWnC,EAChB5J,KAAKsM,UAAY,UAlInB,4BAqIC,SACe1C,GACd5J,KAAKgM,YAAcpC,EACnB5J,KAAKsM,UAAY,UAxInB,wBA2IC,SACW1C,GACV5J,KAAKiM,QAAUrC,EACf5J,KAAKsM,UAAY,UA9InB,qBAiJC,SACQ1C,GACP5J,KAAKkM,KAAOtC,EACZ5J,KAAKsM,UAAY,UApJnB,sBAuJC,SACS1C,GACR5J,KAAKmM,MAAQvC,EACb5J,KAAKsM,UAAY,YA1JnB,6CACEjI,KADF,sGAEEA,KAFF,yGAGEA,KAHF,qGAIEA,KAJF,kGAKEA,KALF,mGAMEA,KANF,+GAQEA,KARF,0GAUEA,KAVF,uGAWEA,KAXF,qGAYEA,KAZF,+FAuCEG,KAvCF,sGAkEED,KAlEF,sGAiFEC,KAjFF,sGA6GED,KA7GF,6GAyHEA,KAzHF,kHA+HEA,KA/HF,qHAqIEA,KArIF,oHA2IEA,KA3IF,6GAiJEA,KAjJF,2GAuJEA,KAvJF,2ECAaqI,IAAb,cAQC,WAAoBzM,EAA2C0M,GAA2B,yBAAtE1M,YAAqE,KAA1B0M,cAA0B,2OACxFxM,YAAeL,MAEfA,KAAK8M,UAAY,KACjB9M,KAAKuC,aAAe,UACpBvC,KAAK+M,UAAW,EAChB/M,KAAKgN,YAAa,EAClBhN,KAAKiN,WAAa,GAfpB,kDAkBC,WACMC,GADN,oEAEClN,KAAKuC,aAAe,UAFrB,UAKM2K,EALN,iBAMoB,OANpB,SAM0BlN,KAAKG,UAAUJ,IAAImN,GAN7C,OAMGlN,KAAK8M,UANR,OAOG9M,KAAK8M,UAAUK,WAAa,IAAIrL,KAAK9B,KAAK8M,UAAUK,YACpDnN,KAAKoN,aAAepN,KAAK8M,UAR5B,wBAUG9M,KAAK8M,UAAY,KACjB9M,KAAKoN,aAAe,KAXvB,QAcE,OAdF,UAcQpN,KAAK6M,YAAYQ,aAdzB,QAeE,OAfF,UAeQrN,KAAK6M,YAAYS,oBAfzB,QAiBoB,OAjBpB,UAiB0BtN,KAAKG,UAAUoN,gBAjBzC,QAiBEvN,KAAKiN,WAjBP,6DAmBM1C,aAAsB,EAAD,KAAgC,MAArB,KAAMC,WAnB5C,wBAoBGxK,KAAKuC,aAAe,YApBvB,iCAuBGvC,KAAKuC,aAAe,QAvBvB,aA4BCvC,KAAKuC,aAAe,YA5BrB,0DAlBD,gCAiDC,WACUiL,GADV,oEAECxN,KAAK+M,UAAW,EAFjB,UAKMS,EAAK5C,GALX,gBAMG,OANH,SAMS5K,KAAKG,UAAUsN,OAAOD,GAN/B,8BASuB,OADpBxN,KAAK8M,UAAYU,EARpB,UAS6BxN,KAAKG,UAAUuN,OAAOF,GATnD,QASGxN,KAAK8M,UAAUlC,GATlB,eAYE5K,KAAKoN,aAAeI,EAZtB,sFAgBExN,KAAK+M,UAAW,EAhBlB,6EAjDD,kCAqEC,WACYG,EAAgBS,GAD5B,iEAKE,OAHD3N,KAAKgN,YAAa,EAFnB,kBAKQhN,KAAKG,UAAUyN,OAAOV,EAAQS,GALtC,wFASE3N,KAAKgN,YAAa,EATpB,0EArED,oBAkFC,WAEChN,KAAK8M,UAAY,KACjB9M,KAAKiN,WAAa,GAClBjN,KAAKuC,aAAe,YAtFtB,oCAyFC,WACc2K,GADd,iEAKE,OAHDlN,KAAK+M,UAAW,EAFjB,kBAKQ/M,KAAKG,UAAU0N,SAASX,GALhC,OAMElN,KAAK8M,UAAUgB,cAAgB,IAAIhM,KANrC,oFAUE9B,KAAK+M,UAAW,EAVlB,8EAzFD,8CACE1I,KADF,0GAEEA,KAFF,sGAGEA,KAHF,wGAIEA,KAJF,wGAKEA,KALF,0GAMEA,KANF,+FAkBEG,KAlBF,wGAiDEA,KAjDF,8GAqEEA,KArEF,4GAkFED,KAlFF,8GAyFEC,KAzFF,+ECDauJ,IAAb,cAIC,WAAoB5N,GAAwB,yBAAxBA,YAAuB,sFAC1CE,YAAeL,MAEfA,KAAKgO,iBAAmB,GAExBhO,KAAKuC,aAAe,UATtB,kDAYC,8EAIyB,OAFxBvC,KAAKuC,aAAe,UAFrB,SAI+BvC,KAAKG,UAAU8N,sBAAsBC,SAJpE,OAIClO,KAAKgO,iBAJN,OAMChO,KAAKuC,aAAe,YANrB,gDAZD,oBAqBC,WAECvC,KAAKuC,aAAe,UACpBvC,KAAKgO,iBAAmB,KAxB1B,kEA2BC,sBAAAzO,EAAA,sEACcS,KAAKG,UAAU8N,sBAAsBE,gBADnD,wFA3BD,6GACE9J,KADF,0GAEEA,KAFF,+FAYEG,KAZF,sGAqBED,KArBF,yE,kBCLO,SAAe6J,GAAtB,uC,8CAAO,WAA8BC,EAAsBC,EAAYC,GAAhE,SAAAhP,EAAA,+EACCiP,GAAYH,EAAcC,EAAMC,IADjC,4C,sBAIP,SAASC,GAAYnP,EAAaiP,EAAYC,GAC7C,OAAO,IAAIE,SAAQ,SAAUC,EAASC,GACrC,IAAIC,EAAM,IAAIC,eACdD,EAAIE,KAAK,MAAOzP,GAChBuP,EAAIG,OAAS,WACR/O,KAAKH,QAAU,KAAOG,KAAKH,OAAS,IACvC6O,EAAQE,EAAIlF,UAEZiF,EAAO,CACN9O,OAAQG,KAAKH,OACbmP,WAAYJ,EAAII,cAInBJ,EAAIK,QAAU,WACbN,EAAO,CACN9O,OAAQG,KAAKH,OACbmP,WAAYJ,EAAII,cAGlBJ,EAAIM,OAAOC,iBAAiB,YAAY,SAAUC,GACjD,IAAMC,EAAcD,EAAEE,OAASF,EAAEG,MAAS,IACpCC,EAAkBC,SAASJ,EAAWK,QAAQ,IACpDnB,EAAsBiB,MAEvBZ,EAAIe,KAAKrB,M,2ICZEsB,IAAb,cAaC,WAAoBzP,EAA+B0P,GAAuB,yBAAtD1P,YAAqD,KAAtB0P,YAAsB,oVACxExP,YAAeL,MAEfA,KAAKuC,aAAe,UACpBvC,KAAK8P,mBAjBP,sDAoBC,WAEC,OAAOC,MAAMC,KAAKhQ,KAAKiQ,iBAAiBnG,YAtB1C,4BAyBC,WAEC,OAAOiG,MAAMC,KAAKhQ,KAAKkQ,aAAapG,YA3BtC,0BA8BC,WAEC,OAAO9J,KAAK+M,YAAoC,oBAAtB/M,KAAKuC,cAA4D,kBAAtBvC,KAAKuC,gBAAsCvC,KAAK6P,UAAU7H,kBAhCjI,4BAsCC,WACMmI,EAAyBC,GAD/B,oEAECpQ,KAAKuC,aAAe,UAEP,WAAT4N,EAJL,gBAKEnQ,KAAKqQ,aALP,sBAOE,OAPF,SAOQrQ,KAAKsQ,SAASF,GAPtB,gDAtCD,8BAiDC,WAECpQ,KAAK+M,UAAW,EAEhB/M,KAAKoQ,WAAa,KAClBpQ,KAAKuQ,eAAiB,KAEtBvQ,KAAKiQ,iBAAmB,IAAIO,IAC5BxQ,KAAKkQ,aAAe,IAAIM,IACxBxQ,KAAKyQ,oBAAsB,GAE3BzQ,KAAK0Q,kBAAoB,KA5D3B,wBA+DC,WAEC1Q,KAAK8P,mBAEL9P,KAAKuC,aAAe,oBAnEtB,gCAsEC,WACkB6N,GADlB,6EAGwB,OAHxB,kBAG8BpQ,KAAKG,UAAUwQ,kBAAkBC,QAAQR,GAHvE,OAGEpQ,KAAKuQ,eAHP,2DAKMhG,aAAsB,EAAD,KAAgC,MAArB,KAAMC,WAL5C,wBAMGxK,KAAKuC,aAAe,YANvB,iCASGvC,KAAKuC,aAAe,QATvB,aAcCvC,KAAKoQ,WAAapQ,KAAKuQ,eAAe3F,GAdvC,yBAgBoB5K,KAAKuQ,sBAhBzB,aAgBoB,EAAqBM,OAhBzC,IAgBC,2BAAWvC,EAAoC,QAC9CtO,KAAKiQ,iBAAiB7L,IAAIkK,EAAKwC,SAAU,CACxClG,GAAI0D,EAAKwC,SACTC,SAAUzC,EAAKwC,SACfE,KAAM1C,EAAK2C,SACX5R,IAAKiP,EAAKD,eArBb,8BAwBCrO,KAAKkQ,aAAe,IAAIM,IACxBxQ,KAAKuC,aAAe,gBAzBrB,yDAtED,oCAkGC,WAECvC,KAAK0Q,kBAAoB,KApG3B,oBAuGC,WAEC1Q,KAAKoQ,WAAa,KAClBpQ,KAAKuQ,eAAiB,KAEtBvQ,KAAKuC,aAAe,UACpBvC,KAAK+M,UAAW,EAChB/M,KAAKiQ,iBAAmB,IAAIO,IAE5BxQ,KAAKkR,iBAAiBC,SAAQ,SAAAC,GAC7BC,IAAIC,gBAAgBF,EAAI/R,QAGzBW,KAAKkQ,aAAe,IAAIM,IACxBxQ,KAAKyQ,oBAAsB,GAE3BzQ,KAAK0Q,kBAAoB,KAvH3B,0CA0HC,WACoBa,GADpB,2HAC4H,GAD5H,IACwEC,qBADxE,SAECxR,KAAK+M,UAAW,EAEhB/M,KAAKkR,iBAAiBC,SAAQ,SAAAC,GAC7BC,IAAIC,gBAAgBF,EAAI/R,QAGzBW,KAAKkQ,aAAe,IAAIM,IACxBxQ,KAAK0Q,kBAAoB,IAErBc,GAAuC,oBAAtBxR,KAAKuC,aAX3B,iBAYE,OAZF,SAYQvC,KAAKV,KAAK,UAZlB,kCAakC,kBAAtBU,KAAKuC,aAbjB,iBAcE,OAdF,UAcQvC,KAAKV,KAAK,OAAQU,KAAKoQ,YAd/B,QAiBCmB,EAAMvR,KAAKuQ,gBAEXvQ,KAAK+M,UAAW,EAnBjB,iDA1HD,oCAgJC,WACc0E,EAA0BhK,GADxC,0EAEOiK,EAAc,sBAAI1R,KAAKkR,kBAAT,YAA8BlR,KAAK2R,uBAAsBC,KAC5E,SAAAR,GAAG,MACD,CACAN,SAAUM,EAAIL,SACdE,SAAUG,EAAIJ,SAIjBhR,KAAK0Q,kBAAoB,GAEC,kBAAtB1Q,KAAKuC,aAZV,gBAaE,OAbF,SAaQvC,KAAK6R,mBAAmBJ,EAAUzR,KAAKkR,iBAAkBQ,GAbjE,yCAckC,oBAAtB1R,KAAKuC,aAdjB,iBAeE,OAfF,UAeQvC,KAAK8R,oBAAoBL,EAAUzR,KAAKkR,iBAAkBQ,EAAajK,GAf/E,cAiBQ,IAAIsK,MAAJ,iDAAoD/R,KAAKuC,eAjBjE,iDAhJD,2CAqKC,WAC6BkP,EAA0BO,EAAiCN,EAA+BjK,GADvH,yEAI4C,OAF3CzH,KAAK+M,UAAW,EAFjB,SAIkD/M,KAAKiS,gBAAgBD,GAJvE,YAIOE,EAJP,QAMsBC,QANtB,iBAiBG,OAVKC,EAPR,2BAQMX,GARN,IASG7G,GAAIsH,EAAiB9B,WACrBS,MAAOa,EAAYE,KAAI,SAAAS,GAAC,MAAK,CAC5BvB,SAAUuB,EAAEvB,SACZG,SAAUoB,EAAEpB,eAZhB,kBAiBSjR,KAAKG,UAAUwQ,kBAAkBjD,OAAO,CAC7CjG,SAAUA,EACVgK,SAAUW,IAnBd,6FAwBGpS,KAAK+M,UAAW,EAxBnB,qBA2BE/M,KAAKuQ,eAAiBkB,EACtBzR,KAAKuQ,eAAe3F,GAAK5K,KAAKoQ,WAC9BpQ,KAAKoQ,WAAa8B,EAAiB9B,WA7BrC,wBA+BEpQ,KAAK0Q,kBAAoBwB,EAAiBI,YA/B5C,QAkCCtS,KAAK+M,UAAW,EAlCjB,gEArKD,0CA0MC,WAC4B0E,EAA0BO,EAAiCN,GADvF,yEAI0C,OAFzC1R,KAAK+M,UAAW,EAFjB,SAIgD/M,KAAKiS,gBAAgBD,EAAeP,EAAS7G,IAJ7F,YAIKsH,EAJL,QAMsBC,QANtB,iBAgBG,OATKI,EAPR,2BAQMd,GARN,IASGZ,MAAOa,EAAYE,KAAI,SAAAS,GAAC,MAAK,CAC5BvB,SAAUuB,EAAEvB,SACZG,SAAUoB,EAAEpB,eAXhB,kBAgBSjR,KAAKG,UAAUwQ,kBAAkBlD,OAAO8E,EAAe3H,GAAI2H,GAhBpE,6FAoBGvS,KAAK+M,UAAW,EApBnB,6CAuBE/M,KAAK0Q,kBAAoBwB,EAAiBI,YAvB5C,QA0BCtS,KAAK+M,UAAW,EA1BjB,gEA1MD,oEAuOC,WAA8BiF,EAAiC5B,GAA/D,yFACOoC,EAAeR,EAAcJ,KAAI,SAAAS,GAAC,OAAIA,EAAEtB,YAD/C,SAEuD/Q,KAAKG,UAAUsS,sBAAsBC,yBAAyBF,EAAcpC,GAFnI,UAEOuC,EAFP,OAI8B,IAAzBX,EAAc/M,OAJnB,yCAKS,CACNkN,SAAS,EACTG,YAAa,GACblC,WAAYuC,EAAcvC,aAR7B,cAYOwC,EAAgC,GAZvC,SAcOnE,QAAQoE,WACbb,EAAcJ,KAAI,SAAAtD,GAAI,OACrBF,GAAeuE,EAAcG,kBAAkBxE,EAAKyC,UAAWzC,EAAKA,MAAM,SAAAe,GACzE5E,aAAY,WAAO,IAAD,EACXsI,EAAe,UAAG,EAAK7C,oBAAR,aAAG,EAAmBnQ,IAAIuO,EAAKyC,UAChDgC,IACHA,EAAgBC,mBAAqB3D,SAGrC3P,OAAM,WACRkT,EAAoBK,KAAK3E,EAAKyC,UAC9BtG,aAAY,WAAO,IAAD,EACXsI,EAAe,UAAG,EAAK7C,oBAAR,aAAG,EAAmBnQ,IAAIuO,EAAKyC,UAChDgC,IACHA,EAAgBC,mBAAqB,gBA5B3C,gCAmCQ,CACNb,QAAwC,IAA/BS,EAAoB3N,OAC7BqN,YAAaM,EACbxC,WAAYuC,EAAcvC,aAtC5B,iDAvOD,qFAiRC,SAAuBW,GAA2B,IAAD,OAehD,OAde,SAATmC,EAAUC,EAAuBC,GACtC,GAAI,EAAKlD,aAAamD,IAAIF,IAAkB,EAAKlD,iBAAiBoD,IAAIF,GAAgB,CACrF,MCrSG,SAAuBpC,GAC7B,IAAMuC,EAAevC,EAASwC,YAAY,KAE1C,OAAsB,IAAlBD,GAAuBA,IAAiBvC,EAAS9L,OAAS,EACtD,CAAC8L,EAAU,MAMZ,CAHMA,EAASyC,UAAU,EAAGF,GACjBvC,EAASyC,UAAUF,EAAe,ID6R7BG,CAAc1C,GAAlC,oBAAO2C,EAAP,KAAaC,EAAb,KAEA,OACQT,EADJS,EACW,GAAD,OAAID,EAAJ,YAAYN,EAAZ,YAA4BO,GAE3B,GAAD,OAAID,EAAJ,YAAYN,GAFuBA,EAAe,GAKhE,OAAOD,EAIFD,CAAOnC,EAAU,KAhS1B,6BAmSC,SACgBF,GAA2B,IAAD,OACzCd,MAAMC,KAAKa,GAAOM,SAAQ,SAAA7C,GACzB,IAAMoF,EAAO,EAAKE,eAAetF,EAAKoF,MAChCrU,EAAMgS,IAAIwC,gBAAgBvF,GAEhC,EAAK4B,aAAa9L,IAAIsP,EAAM,CAC3B9I,GAAI8I,EACJ3C,SAAU2C,EACVpF,KAAMA,EACN0C,KAAM1C,EAAK0C,KACX3R,IAAKA,EACL2T,mBAAoB,SA/SxB,4BAoTC,SACepI,EAAYkJ,GACtBA,EACH9T,KAAKkQ,aAAatC,OAAOhD,IAEzB5K,KAAKiQ,iBAAiBrC,OAAOhD,GAC7B5K,KAAKyQ,oBAAoBwC,KAAKrI,MA1TjC,4BA8TC,SAAemJ,GACd,OAAO/T,KAAKG,UAAUwQ,kBAAkB/C,OAAOmG,KA/TjD,kCAkUC,SAAqBC,GACpB,OAAOA,EAAiB,UAAMC,KAAeC,kBAArB,YAA0CF,GAAsBC,KAAeC,sBAnUzG,iDACE7P,KADF,sGAEEA,KAFF,wGAIEA,KAJF,4GAKEA,KALF,8GAOEA,KAPF,0GAQEA,KARF,iHASEA,KATF,+GAWEA,KAXF,+GAoBEC,KApBF,gIAyBEA,KAzBF,0HA8BEA,KA9BF,8GAsCEE,KAtCF,gHAiDED,KAjDF,sHA+DEA,KA/DF,8GAsEEC,KAtEF,0HAkGED,KAlGF,wHAuGEA,KAvGF,oHA0HEC,KA1HF,0HAgJEA,KAhJF,2HAqKEA,KArKF,iIA0MEA,KA1MF,6HAmSED,KAnSF,yHAoTEA,KApTF,iFEZa4P,IAAb,cAMC,WAAYC,GAA6C,mGAFxCC,gBAEuC,EACvDhU,YAAeL,MAEfA,KAAKuC,aAAe,UACpBvC,KAAKqU,WAAaD,EAClBpU,KAAKsU,KAAO,GAXd,sDAcC,iFAE2B,YAAtBtU,KAAKuC,cAAoD,cAAtBvC,KAAKuC,aAF7C,iDASc,OAHbvC,KAAKuC,aAAe,UANrB,kBASoBkM,QAAQC,QAAQ1O,KAAKqU,cATzC,OASErU,KAAKsU,KATP,OAWEtU,KAAKuC,aAAe,YAXtB,wDAaMgI,aAAsB,EAAD,KAAgC,MAArB,KAAMC,WACzCxK,KAAKuC,aAAe,YAEpBvC,KAAKuC,aAAe,QAhBvB,+DAdD,oBAqCC,WAECvC,KAAKsU,KAAO,GACZtU,KAAKuC,aAAe,cAxCtB,iDACE8B,KADF,kGAEEA,KAFF,mGAcEG,KAdF,0GAqCED,KArCF,yEA4CagQ,IAAb,cAQC,WAAoBnS,EAAqC+G,GAA8B,IAAD,gCAAlE/G,eAAkE,KAA7B+G,eAA6B,KAPrEqL,yBAOqE,OANrEC,kBAMqE,OALrEC,mBAKqE,OAJrEC,wBAIqE,OAHrEC,sBAGqE,OAFrEC,wBAEqE,EACrFxU,YAAeL,MAEfA,KAAKwU,oBAAsB,IAAIL,IAAO,kBAAM,EAAK/R,aAAa0S,yBAC9D9U,KAAKyU,aAAe,IAAIN,IAAO,kBAAM,EAAK/R,aAAa2S,kBACvD/U,KAAK0U,cAAgB,IAAIP,IAAkB,kBAAM,EAAK/R,aAAa4S,mBACnEhV,KAAK2U,mBAAqB,IAAIR,IAAO,kBAAM,EAAK/R,aAAa6S,wBAC7DjV,KAAK4U,iBAAmB,IAAIT,IAAO,kBAAM,EAAK/R,aAAa8S,sBAC3DlV,KAAK6U,mBAAqB,IAAIV,IAAiB,kBAAM,EAAKhL,aAAagM,qBAhBzE,+CAmBC,WAEC,OAAOnV,KAAKwU,oBAAoBF,OArBlC,kBAwBC,WAEC,OAAOtU,KAAKyU,aAAaH,OA1B3B,wBA6BC,WAEC,OAAOtU,KAAK6U,mBAAmBP,OA/BjC,4BAkCC,WAEC,OAAOtU,KAAKoV,aAAaC,QAAO,SAAC9V,EAAG+V,GACnC,OAAO/V,EAAI+V,EAAEC,kBACX,KAtCL,8BAyCC,WAEC,OAAOvV,KAAKyU,aAAalS,eA3C3B,mBA8CC,WAEC,OAAOvC,KAAK0U,cAAcJ,OAhD5B,wBAmDC,WAEC,OAAOtU,KAAK2U,mBAAmBL,OArDjC,sBAwDC,WAEC,OAAOtU,KAAK4U,iBAAiBN,OA1D/B,+BA6DC,WACC,OAAOkB,YAAWxV,KAAKwU,oBAAoBJ,cA9D7C,wBAiEC,WACC,OAAOoB,YAAWxV,KAAKyU,aAAaL,cAlEtC,yBAqEC,WACC,OAAOoB,YAAWxV,KAAK0U,cAAcN,cAtEvC,8BAyEC,WACC,OAAOoB,YAAWxV,KAAK2U,mBAAmBP,cA1E5C,4BA6EC,WACC,OAAOoB,YAAWxV,KAAK4U,iBAAiBR,cA9E1C,8BAiFC,WACC,OAAOoB,YAAWxV,KAAK6U,mBAAmBT,cAlF5C,oBAqFC,WACCpU,KAAKwU,oBAAoBiB,SACzBzV,KAAKyU,aAAagB,SAClBzV,KAAK0U,cAAce,SACnBzV,KAAK2U,mBAAmBc,SACxBzV,KAAK4U,iBAAiBa,SACtBzV,KAAK6U,mBAAmBY,aA3F1B,+CAmBEnR,KAnBF,+GAwBEA,KAxBF,8GA6BEA,KA7BF,wHAkCEA,KAlCF,8HAyCEA,KAzCF,qHA8CEA,KA9CF,+GAmDEA,KAnDF,kHAwDEA,KAxDF,6EC5CaoR,IAAb,cAKC,WAAoBvV,GAAwB,yBAAxBA,YAAuB,kHAC1CE,YAAeL,MAEfA,KAAKuC,aAAe,UACpBvC,KAAK2V,MAAQ,GACb3V,KAAK4V,WAAa,GAVpB,kDAaC,oFAI8B,OAF7B5V,KAAKuC,aAAe,UAFrB,kBAIoCvC,KAAKG,UAAU0V,mBAAmBC,WAJtE,QAIQH,EAJR,QAKQI,MAAK,SAACxW,EAAG+V,GAAJ,OAAW/V,EAAEyW,KAAOV,EAAEU,MAAQ,EAAI,KAE7ChW,KAAK2V,MAAQA,EAPf,gDASE3V,KAAKuC,aAAe,QATtB,QAWCvC,KAAKuC,aAAe,YAXrB,yDAbD,qCA2BC,WACeyT,GADf,iEAKoB,OAHnBhW,KAAKuC,aAAe,UAFrB,kBAK0BvC,KAAKG,UAAU0V,mBAAmBI,cAAcD,GAL1E,OAKEhW,KAAK4V,WALP,uDAOE5V,KAAKuC,aAAe,QAPtB,QAUCvC,KAAKuC,aAAe,YAVrB,yDA3BD,oBAwCC,WAECvC,KAAK2V,MAAQ,GACb3V,KAAK4V,WAAa,GAClB5V,KAAKuC,aAAe,YA5CtB,sCA+CC,WACgB6N,GADhB,iEAIC,OAFApQ,KAAKuC,aAAe,UAFrB,SAIOvC,KAAKG,UAAUwQ,kBAAkB/C,OAAOwC,GAJ/C,OAMCpQ,KAAKuC,aAAe,YANrB,gDA/CD,uEAwDC,WAAyByT,GAAzB,SAAAzW,EAAA,sEACcS,KAAKG,UAAU0V,mBAAmBK,mBAAmBF,GADnE,wFAxDD,0GACE3R,KADF,mGAEEA,KAFF,wGAGEA,KAHF,+FAaEG,KAbF,6GA2BEA,KA3BF,+GAwCED,KAxCF,gHA+CEC,KA/CF,iFCDa2R,IAAb,cAIC,WAAoBhW,GAA2B,yBAA3BA,YAA0B,6EAC7CE,YAAeL,MAEfA,KAAKgJ,QAAU,GACfhJ,KAAKuC,aAAe,UARtB,kDAWC,oFAIqD,OAFpDvC,KAAKuC,aAAe,UAFrB,SAI2DvC,KAAKG,UAAUiJ,iBAJ1E,OAIOgN,EAJP,OAKCpW,KAAKgJ,QAAUoN,EAAoBzM,YAAYoM,MAAK,SAACxW,EAAG+V,GAAJ,OAAU/V,EAAE8W,WAAaf,EAAEe,cAE/ErW,KAAKuC,aAAe,YAPrB,gDAXD,oBAqBC,WAECvC,KAAKuC,aAAe,UACpBvC,KAAKgJ,QAAU,OAxBjB,iDACE3E,KADF,qGAEEA,KAFF,+FAWEG,KAXF,sGAqBED,KArBF,yECDa+R,GAAb,WAGC,WAAYnW,GAAwB,yBAFnBA,eAEkB,EAElCH,KAAKG,UAAYA,EALnB,oFAQC,WAAgB+K,GAAhB,SAAA3L,EAAA,sEACcS,KAAKG,UAAUuK,iBAAiB6L,UAAUrL,GADxD,wFARD,+HAYC,WAA0BzD,GAA1B,SAAAlI,EAAA,sEACcS,KAAKG,UAAUuK,iBAAiB8L,oBAAoB/O,GADlE,wFAZD,kHAgBC,WAAaA,GAAb,SAAAlI,EAAA,sEACcS,KAAKG,UAAUuK,iBAAiB+L,mBAAmBhP,GADjE,wFAhBD,4HAoBC,WAAuBA,GAAvB,SAAAlI,EAAA,sEACcS,KAAKG,UAAUuK,iBAAiBgM,qBAAqBjP,GADnE,wFApBD,gIAwBC,WAA2BA,GAA3B,SAAAlI,EAAA,sEACOS,KAAKG,UAAUuK,iBAAiBiM,aAAalP,GADpD,gDAxBD,8D,0CCIamP,IAAb,cAKC,WAAoBzW,GAA2B,yBAA3BA,YAA0B,wHAC7CE,YAAeL,MAEfA,KAAK6W,WAAa,KAClB7W,KAAKuC,aAAe,UATtB,wCAYC,WACQ,IAAD,OACNvC,KAAKuC,aAAe,UAEpBvC,KAAK6W,WAAa,IAAIC,KACrB,IAAIC,KAAY,CACfC,KAAK,WAAD,4BAAE,WAAMC,GAAN,SAAA1X,EAAA,+EACE,EAAKY,UAAU+W,4BAA4B,EAAKC,qBAAqBF,KADvE,2CAAF,mDAAC,MAMPjX,KAAKuC,aAAe,cAxBtB,kCA2BC,SAA6B0U,GAI5B,OAH0BA,EACRG,YAAcpX,KAAKoX,YAE9BH,IA/BT,4BAkCC,SACerN,GACd5J,KAAKoX,YAAcxN,IApCrB,oBAuCC,WAEC5J,KAAK6W,WAAa,KAClB7W,KAAKoX,YAAc,OA1CrB,iDACE/S,KADF,wGAEEA,KAFF,yEAE6C,QAF7C,2CAGEA,KAHF,wEAGmC,MAHnC,iCAYEE,KAZF,8GAkCEA,KAlCF,gHAuCEA,KAvCF,yECMa8S,IAAb,cACC,WAAoBlO,EAAqC/G,EAAqCkV,GAA4C,yBAAtHnO,eAAqH,KAAhF/G,eAAgF,KAA3CkV,sBAA2C,wUACxIjX,YAAeL,MAFjB,wDAeC,SAC4B4J,GACvB5J,KAAKuX,gBAAgBlE,IAAIzJ,GAC5B5J,KAAKuX,gBAAgB3J,OAAOhE,GAE5B5J,KAAKuX,gBAAgBC,IAAI5N,KApB5B,+BAwBC,SACyBA,GACxB,IAAMwN,EAAcxN,EAAM6N,cACtBzX,KAAK0X,aAAarE,IAAI+D,GACzBpX,KAAK0X,aAAa9J,OAAOwJ,GAEzBpX,KAAK0X,aAAaF,IAAIJ,KA9BzB,uCAkCC,SACiCxN,GAChC,IAAMwN,EAAcxN,EAAM6N,cACtBzX,KAAK2X,qBAAqBtE,IAAI+D,GACjCpX,KAAK2X,qBAAqB/J,OAAOwJ,GAEjCpX,KAAK2X,qBAAqBH,IAAIJ,KAxCjC,0BA4CC,WAECpX,KAAK0X,aAAaE,QAClB5X,KAAKuX,gBAAgBK,QACrB5X,KAAK2X,qBAAqBC,UAhD5B,2BAmDC,SACqBhO,GACpB5J,KAAK6X,WAAajO,IArDpB,2BAwDC,WAC8B,IAAD,OAC5B,GAA4B,IAAxB5J,KAAKgJ,QAAQ/D,OAChB,MAAO,GAGR,IAAM6S,EAAW9X,KAAK6X,WAAWE,MAAM,KAevC,OAbgB/X,KAAKgJ,QAAQyC,QAC5B,SAAAuM,GAAC,OACAF,EAASvQ,MACR,SAAA0Q,GAAO,OACND,EAAEE,MAAMC,oBAAoBC,SAASH,IACrCD,EAAEK,YAAYF,oBAAoBC,SAASH,IAC3CD,EAAEM,OAAO/Q,MAAK,SAAAgR,GAAC,OAAIA,EAAE7E,KAAKyE,oBAAoBC,SAASH,WAE1B,IAA9B,EAAKV,gBAAgBvG,MAAc,EAAKuG,gBAAgBlE,IAAI2E,EAAEQ,aACnC,IAA3B,EAAKd,aAAa1G,MAAcgH,EAAEM,OAAO/Q,MAAK,SAAAgR,GAAC,OAAI,EAAKb,aAAarE,IAAIkF,EAAE3N,UACxC,IAAnC,EAAK+M,qBAAqB3G,MAAcgH,EAAES,eAAelR,MAAK,SAAAgR,GAAC,OAAI,EAAKZ,qBAAqBtE,IAAIkF,EAAE3N,aA1ExG,qBAgFC,WAEC,OAAO5K,KAAKuX,gBAAgBvG,KAAO,GAAKhR,KAAK0X,aAAa1G,KAAO,GAAKhR,KAAK2X,qBAAqB3G,KAAO,IAlFzG,4BAqFC,0FAIuC,OAFtChR,KAAKuC,aAAe,UAFrB,SAI6CvC,KAAKmJ,aAAaC,eAAe,KAAM,KAAM,KAAM,KAJhG,OAKiC,OAD1BsP,EAJP,gBAKuC1Y,KAAKoC,aAAa2S,eALzD,OAMqC,OAD9BuD,EALP,gBAM2CtY,KAAKsX,oBAAoBqB,uBANpE,OAMOC,EANP,OAQC5Y,KAAKgJ,QAAL,iBAAe0P,QAAf,IAAeA,OAAf,EAAeA,EAAO/O,mBAAtB,QAAqC,GACrC3J,KAAKsY,OAASA,EAAOvC,MAAK,SAACxW,EAAG+V,GAAJ,OAAW/V,EAAEmU,KAAO4B,EAAE5B,KAAO,GAAK,KAC5D1T,KAAKyY,eAAiBG,EAEtB5Y,KAAKuC,aAAe,YAZrB,iDArFD,oBAoGC,WAECvC,KAAK6X,WAAa,GAClB7X,KAAK0X,aAAaE,QAClB5X,KAAK2X,qBAAqBC,QAC1B5X,KAAKuX,gBAAgBK,QAErB5X,KAAKgJ,QAAU,GACfhJ,KAAKsY,OAAS,GACdtY,KAAKyY,eAAiB,OA7GxB,+CAKEpU,KALF,qGAMEA,KANF,wEAMsC,MANtC,sCAOEA,KAPF,wEAOuC,MAPvC,8CAQEA,KARF,wEAQkD,MARlD,4CAUEA,KAVF,6GAWEA,KAXF,yEAWoD,IAAIwU,OAXxD,4CAYExU,KAZF,yEAYyC,IAAIwU,OAZ7C,oDAaExU,KAbF,yEAaiD,IAAIwU,OAbrD,iDAeEtU,KAfF,iIAwBEA,KAxBF,sIAkCEA,KAlCF,iIA4CEA,KA5CF,qHAmDEA,KAnDF,wHAwDED,KAxDF,oHAgFEA,KAhFF,yGAqFEE,KArFF,sGAoGED,KApGF,yECTauU,IAAb,cAOC,WAAoBxB,GAA4C,yBAA5CA,sBAA2C,mLAC9DjX,YAAeL,MARjB,kDAWC,oFAIqC,OAFpCA,KAAKuC,aAAe,UAFrB,SAI2CvC,KAAKsX,oBAAoBqB,uBAJpE,OAIOC,EAJP,OAKC5Y,KAAKyY,eAAiBG,EAEtB5Y,KAAKuC,aAAe,YAPrB,gDAXD,kCAqBC,WACmBqI,GADnB,uEAIyC,OAFxC5K,KAAK+Y,mBAAqB,UAF3B,SAI+C/Y,KAAKsX,oBAAoB0B,wBAAwBpO,GAJhG,OAIOgO,EAJP,OAKC5Y,KAAKiZ,oBAAsBL,EAE3B5Y,KAAK+Y,mBAAqB,YAP3B,gDArBD,0BA+BC,WAEC/Y,KAAK+Y,mBAAqB,UAC1B/Y,KAAKiZ,oBAAsB,SAlC7B,mDACE5U,KADF,wEACyD,MADzD,4CAEEA,KAFF,wEAEiD,aAFjD,kDAIEA,KAJF,wEAIuD,aAJvD,mDAKEA,KALF,+FAWEG,KAXF,0GAqBEA,KArBF,kHA+BED,KA/BF,+EC4Ce2U,G,iDACLjZ,e,OACAiC,mB,OACAiX,oB,OACAC,kB,OACAC,kB,4DAIT,WAAoC,IAAD,OAClC7Z,OAAO2P,iBAAiB,QAAxB,uCAAiC,WAAMmK,GAAN,SAAA/Z,EAAA,0DAC5B+Z,GAb+B,uCAazBA,EAAGC,QADmB,oDAIF,kBAAnBD,EAAGE,MAAMC,QAAsBH,EAAGE,MAAMC,MAAMzP,QAAQ,eAJjC,0CAMxB,GANwB,uBAS1B,EAAK0P,YAAYJ,EAAGE,MAAMC,OATA,2CAAjC,uDAWAja,OAAOma,qBAAP,uCAA8B,WAAML,GAAN,SAAA/Z,EAAA,sEAAkB,EAAKqa,yBAAyBN,EAAGO,QAAnD,mFAA9B,wD,2BAGD,SAAwBC,GACvB,GAAIC,YAAoB,CACvB,IAAIC,EAAsB,qBAC1BD,KAAYC,GAAa,SAACT,GACzB,GAAIQ,OAAgBR,EAAQU,aAI3B,GAAIH,IAAiBP,EAAQjF,KAE5B,YADA9U,OAAOmB,SAASuZ,OAAO,sBAM1BH,YAAmBC,EAAaF,M,6EAIlC,WAAuCD,GAAvC,qEACKA,EAAOtP,sBADZ,oBAE4B,MAAtBsP,EAAOrP,WAFb,gBAGGxK,KAAKmZ,gBAAiB,EAHzB,0BAImC,MAAtBU,EAAOrP,WAJpB,qBAKOxK,KAAKC,UAAUsB,WALtB,wBAMI/B,OAAOmB,SAASC,KAAO,oBAN3B,UAOUZ,KAAKC,UAAUka,SAPzB,gCASI3a,OAAOmB,SAASC,KAAOZ,KAAKC,UAAUma,cAT1C,iDAYSpa,KAAK0Z,YAAL,mDACEG,EAAOxa,IADT,aACiBwa,EAAOrP,WADxB,gCAGGqP,EAAOQ,KAHV,gCAKIR,EAAOJ,QAjBpB,iDAoBQzZ,KAAK0Z,YAAL,+BAAyCG,IApBjD,iD,uHAwBA,WAA0BA,GAA1B,6EAEE7Z,KAAKoZ,cAAe,EAChBpZ,KAAKkC,cAAcoY,mBACtBta,KAAKqZ,aAAekB,KAAKC,UAAUX,KAGhCA,GAA4B,kBAAXA,IAAuBA,EAAOzB,SAAS,gCAP9D,uBAQGqC,QAAQjB,MAAMK,GARjB,0CAYQ7Z,KAAK0a,oBAAoBb,GAZjC,yDAeEY,QAAQE,IAAI,4CACZF,QAAQE,IAAR,MAhBF,0D,8DAuBYC,IAAb,qDA+BC,aAAe,IAAD,8BACb,gBA/BgBC,gBA8BH,IA5Bd1a,eA4Bc,IA1BLF,eA0BK,IAzBL4P,eAyBK,IAxBLiL,kBAwBK,IAvBLC,qBAuBK,IAtBLC,uBAsBK,IArBLC,wBAqBK,IApBLC,wBAoBK,IAnBLC,uBAmBK,IAlBLC,eAkBK,IAjBLC,kBAiBK,IAhBLC,sCAgBK,IAfLC,0BAeK,IAdL1O,iBAcK,IAbL2O,uBAaK,IAZLC,yBAYK,IAXLC,2BAWK,IAVLC,6BAUK,IATLC,iBASK,IARLC,wBAQK,IANd3Z,mBAMc,oJAEb7B,YAAe,gBAEf,EAAKwa,WAAa,IAAI5b,EAAJ,gBAElB,EAAKkB,UAAY,CAChBiB,aAAc,SAAC0a,EAAkB1c,GAChC,EAAKyb,WAAW1b,MAAQ2c,EACxB,EAAKjB,WAAWzb,aAAeA,GAEhCsF,cAAe,IAAIqX,IAAc,EAAKlB,WAAY,KAAM,EAAKA,YAC7DzY,aAAc,IAAI4Z,IAAa,EAAKnB,WAAY,KAAM,EAAKA,YAC3DoB,aAAc,IAAIC,IAAa,EAAKrB,WAAY,KAAM,EAAKA,YAC3Dpa,WAAY,IAAI0b,IAAW,EAAKtB,WAAY,KAAM,EAAKA,YACvD5M,sBAAuB,IAAImO,IAAsB,EAAKvB,WAAY,KAAM,EAAKA,YAC7EtO,WAAY,IAAI8P,IAAW,EAAKxB,WAAY,KAAM,EAAKA,YACvD1R,aAAc,IAAImT,IAAa,EAAKzB,WAAY,KAAM,EAAKA,YAC3DlK,kBAAmB,IAAI4L,IAAkB,EAAK1B,WAAY,KAAM,EAAKA,YACrEpI,sBAAuB,IAAI+J,IAAsB,EAAK3B,WAAY,KAAM,EAAKA,YAC7EhF,mBAAoB,IAAI4G,IAAmB,EAAK5B,WAAY,KAAM,EAAKA,YACvEhU,iBAAkB,IAAI6V,IAAiB,EAAK7B,WAAY,KAAM,EAAKA,YACnEvP,YAAa,IAAIqR,IAAY,EAAK9B,WAAY,KAAM,EAAKA,YACzDrY,mBAAoB,IAAIoa,IAAmB,EAAK/B,WAAY,KAAM,EAAKA,YACvEnQ,iBAAkB,IAAImS,IAAiB,EAAKhC,WAAY,KAAM,EAAKA,YACnEvD,oBAAqB,IAAIwF,IAAoB,EAAKjC,WAAY,KAAM,EAAKA,aAG1E,EAAK5a,UAAY,IAAIC,EAAU,EAAKC,UAAnB,gBACjB,EAAK0P,UAAY,IAAIlI,GAAU,EAAK1H,WACpC,EAAK6a,aAAe,IAAIrW,EAAgB,EAAKtE,WAC7C,EAAK6a,kBAAoB,IAAIhU,GAAkB,EAAK7G,WACpD,EAAK8a,mBAAqB,IAAIvS,GAAmB,EAAKvI,WACtD,EAAK+a,mBAAqB,IAAIhR,GAAmB,EAAK/J,UAA5B,gBAC1B,EAAKgb,kBAAoB,IAAIhQ,GAAkB,EAAKhL,WACpD,EAAK0M,YAAc,IAAI0H,GAAY,EAAKpU,UAAUiC,aAAc,EAAKjC,UAAUgJ,cAC/E,EAAKkS,aAAe,IAAIzO,GAAa,EAAKzM,UAAU8N,sBAAuB,EAAKpB,aAChF,EAAKyO,iCAAmC,IAAIvN,GAAiC,EAAK5N,WAClF,EAAKib,UAAY,IAAIvP,GAAU,EAAK1L,WACpC,EAAKob,qBAAuB,IAAI3L,GAAqB,EAAKzP,UAAW,EAAK0P,WAC1E,EAAKkL,gBAAkB,IAAIgC,IAAgB,EAAK9c,UAAW,EAAK+a,kBAAmB,EAAKG,kBAAjE,gBACvB,EAAKM,oBAAsB,IAAItF,GAAoB,EAAKhW,UAAUgJ,cAClE,EAAKqS,kBAAoB,IAAI9F,GAAkB,EAAKvV,WACpD,EAAKub,sBAAwB,IAAIpF,GAAsB,EAAKnW,WAC5D,EAAKwb,wBAA0B,IAAI/E,GAAwB,EAAKzW,UAAUgJ,cAC1E,EAAKyS,YAAc,IAAIvE,GAAY,EAAKlX,UAAUgJ,aAAc,EAAKhJ,UAAUiC,aAAc,EAAKjC,UAAUmX,qBAC5G,EAAKuE,mBAAqB,IAAI/C,GAAmB,EAAK3Y,UAAUmX,qBA9CnD,EA/Bf,+EAgFC,4BAAA/X,EAAA,sEACOS,KAAKgd,iBADZ,uBAEOhd,KAAKid,yBAFZ,uBAIOjd,KAAKkd,0BAJZ,uBAKOld,KAAKC,UAAUX,OALtB,WAOKU,KAAKC,UAAUuB,OAPpB,kCAQQxB,KAAK8a,aAAaqC,YAAYnd,KAAKC,UAAUuB,QARrD,yBAWOxB,KAAKod,cAAL,UAAmBpd,KAAKC,UAAUuB,cAAlC,QAA4C,aAXnD,iDAhFD,kIA8FC,4BAAAjC,EAAA,sEACoBS,KAAKG,UAAUiC,aAAaib,yBADhD,OACKC,EADL,OAECtd,KAAKkC,cAAL,2BACIob,GADJ,IAECla,SAAU,aAJZ,gDA9FD,8HAsGC,WAAoCyW,GAApC,iFACO7Z,KAAKG,UAAU8b,aAAavB,oBAAoB,CACrDnB,QAASM,EACTxa,IAAKG,OAAOmB,SAASC,OAHvB,gDAtGD,0HA6GC,8FACoCZ,KAAKG,UAAUiC,aAAamb,gBADhE,OACE/d,OAAege,WADjB,uDA7GD,2DAA8BtE,IAA9B,8CA2BE7U,KA3BF,yEA2BuC,KA3BvC,4CA4BEA,KA5BF,yEA4BqC,KA5BrC,4CA6BEA,KA7BF,yEA6BoC,QA7BpC,I,kBCpIaoZ,GAAb,WAGC,aAAe,yBAFEve,cAEH,EACbc,KAAKd,SAAW,IAAI0b,GACpB6C,EAAIC,eALN,gFAYC,sBAAAne,EAAA,sEACOS,KAAKd,SAASI,OAAOI,OAAM,SAAAma,GAEhCY,QAAQjB,MAAMK,MAHhB,OAMC8D,IAASC,OAAO,eAAC,KAAD,CAAW1e,SAAUc,KAAKd,WAAc2e,SAASC,eAAe,SANjF,gDAZD,kFAQC,WACCD,SAAS3F,MAAT,6DATF,KCMoB6F,QACU,cAA7Bve,OAAOmB,SAASqd,UAEc,UAA7Bxe,OAAOmB,SAASqd,UAEhBxe,OAAOmB,SAASqd,SAASC,MAAM,2D,kDCZjC,sBAAC,4BAAA1e,EAAA,6DCkCA2e,KAAQ1G,IACP2G,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KAEAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAb,KACAc,KACAC,KACAC,MAIDjC,KAAQ1G,IAAI4I,KAAWC,KAAWC,MDtE5BC,EAAM,IAAI9C,GAHhB,SAIM8C,EAAIC,QAJV,0CAAD,GDsHK,kBAAmBC,WACtBA,UAAUC,cAAcC,MACtBhe,MAAK,SAAAie,GACLA,EAAaC,gBAEbnhB,OAAM,SAAA8Z,GACNiB,QAAQjB,MAAMA,EAAMD,a,+EGjIXuH,EAAb,kCAAaA,EACIC,mBAAqB,SAACC,GAAD,OAAqB,IAAI3P,IAAI,uBAAwB2P,GAASpgB,MADvFkgB,EAGIG,sBAAwB,SAACD,GAAD,OAAqB,IAAI3P,IAAI,yBAA0B2P,GAASpgB,MAH5FkgB,EAIII,oBAAsB,SAACF,GAAD,OAAqB,IAAI3P,IAAI,sBAAuB2P,GAASpgB,MAJvFkgB,EAKIK,mBAAqB,SAACH,GAAD,OAAqB,IAAI3P,IAAI,sBAAuB2P,GAASpgB,MALtFkgB,EAMIM,cAAgB,SAACJ,GAAD,OAAqB,IAAI3P,IAAI,eAAgB2P,GAASpgB,MAN1EkgB,EAOIO,aAAe,SAACL,GAAD,OAAqB,IAAI3P,IAAI,mCAAoC2P,GAASpgB,MAP7FkgB,EASIQ,sBAAwB,SAACN,GAAD,OAAqB,IAAI3P,IAAI,aAAc2P,GAASpgB,MAThFkgB,EAUIS,cAAgB,SAACP,GAAD,OAAqB,IAAI3P,IAAI,mBAAoB2P,GAASpgB,MAV9EkgB,EAWIU,2BAA6B,SAACR,GAAD,OAAqB,IAAI3P,IAAI,6BAA8B2P,GAASpgB,MAXrGkgB,EAYIW,yBAA2B,SAACT,GAAD,OAAqB,IAAI3P,IAAI,8BAA+B2P,GAASpgB,MAZpGkgB,EAaIY,iBAAmB,SAACV,GAAD,OAAqB,IAAI3P,IAAI,oBAAqB2P,GAASpgB,MAblFkgB,EAcIa,eAAiB,SAACX,GAAD,OAAqB,IAAI3P,IAAI,iBAAkB2P,GAASpgB,MAd7EkgB,EAeIc,aAAe,SAACZ,GAAD,OAAqB,IAAI3P,IAAI,gBAAiB2P,GAASpgB,MAf1EkgB,EAgBIe,wBAA0B,SAACb,GAAD,OAAqB,IAAI3P,IAAI,oDAAqD2P,GAASpgB,MAhBzHkgB,EAiBIgB,oBAAsB,SAACd,GAAD,OAAqB,IAAI3P,IAAI,yCAA0C2P,GAASpgB,MAjB1GkgB,EAkBIiB,YAAc,SAACf,GAAD,OAAqB,IAAI3P,IAAI,uBAAwB2P,GAASpgB,MAlBhFkgB,EAmBIkB,iBAAmB,SAAChB,EAAiBnJ,GAAlB,OAAyC,IAAIxG,IAAJ,kCAAmCwG,GAAcmJ,GAASpgB,O,qHCV3HqhB,E,kGAAAA,O,mBAAAA,I,qCAAAA,I,2EAAAA,I,2DAAAA,I,qEAAAA,I,2CAAAA,I,wEAAAA,M,KAUL,IAAMlF,GAAb,aAQC,WACS9c,EACAiiB,EACA/G,EACAjc,GACN,yBAJMe,YAIP,KAHOiiB,iBAGP,KAFO/G,oBAEP,KADOjc,WACP,iLAPFoI,WAAoC,GAOlC,8CACDjH,YAAeL,MAEfA,KAAKmiB,2BAA4B,EAhBnC,iFAwBC,8FAEOniB,KAAKC,UAAUka,SAFtB,gDAxBD,8EA6BC,SACmBiI,GAClBpiB,KAAKqiB,YAAcD,EACnBpiB,KAAKoiB,UAAYA,IAhCnB,wCAmCC,WAEKpiB,KAAKkiB,eAAeI,gBACvBtiB,KAAKkiB,eAAe/a,QAAQC,mBAAqB,EAEjDpH,KAAKkiB,eAAe/a,QAAQC,mBAAqB,IAxCpD,8CA4CC,WAEKpH,KAAKkiB,eAAeK,qBACvBviB,KAAKkiB,eAAe/a,QAAQE,kBAAoB,EAEhDrH,KAAKkiB,eAAe/a,QAAQE,kBAAoB,IAjDnD,+BAqDC,WAECrH,KAAKC,UAAUwC,YAAYyF,gBAAkBlI,KAAKC,UAAUwC,YAAYyF,iBAvD1E,6CA0DC,WAEKlI,KAAKkiB,eAAeM,qBACvBxiB,KAAKsH,WAAatH,KAAKkiB,eAAe/a,QAAQG,WAC9CtH,KAAKkiB,eAAe/a,QAAQG,WAAa,KAEpCtH,KAAKsH,YAAetH,KAAKsH,WAAWC,MAAK,SAAAC,GAAC,OAAIA,MAClDxH,KAAKsH,WAAW2L,KAAK,CACpBiF,MAAO,iBACPtN,GAAI,uCACJ6X,UAAWC,YAAgB,IAAI5gB,KAAKA,KAAK6gB,QAAS,GAClDC,SAAmC,2BACnCC,UAAW/B,IAAsBS,cAAcvhB,KAAKd,SAASgD,cAAc4gB,eAI7E9iB,KAAKkiB,eAAe/a,QAAQG,WAAatH,KAAKsH,cA1EjD,0CA8EC,kFAEKtH,KAAKmiB,0BAFV,gBAGE,OAHF,SAGQniB,KAAKmb,kBAAkB4H,0BAH/B,OAKE/iB,KAAKmiB,2BAA4B,EALnC,sBAOEniB,KAAKmb,kBAAkB6H,0BAEvBhjB,KAAKmiB,2BAA4B,EATnC,gDA9ED,gCA2FC,SACmBc,GAClBjjB,KAAKC,UAAUK,WAAWC,mBAAqB0iB,IA7FjD,oDAgGC,SACuCA,GACtCjjB,KAAKC,UAAUK,WAAW8H,8BAAgC6a,IAlG5D,wBAqGC,SACWA,GACVjjB,KAAKC,UAAUK,WAAWsH,QAAWqb,MAvGvC,oDACE5e,KADF,yEACiC,KADjC,uCAEEA,KAFF,yEAEyB,KAFzB,uCAGEA,KAHF,yEAGqD,QAHrD,uDAIEA,KAJF,8GAmBEE,KAnBF,oFAoBsB,WACpB,EAAK2e,mBAAqB,EAAKA,sBArBjC,kCAwBE3e,KAxBF,yGA6BEA,KA7BF,6HAmCEA,KAnCF,mJA4CEA,KA5CF,0IAqDEA,KArDF,yIA0DEA,KA1DF,0IA8EEC,KA9EF,6HA2FED,KA3FF,iJAgGEA,KAhGF,yIAqGEA,KArGF,2E,gGCJO,SAASgG,EAAsB4Y,GAGrC,OAF2BA,KAEqB5Y,wB,ubCd3C6Y,E,4JAKL,WACC,OAAOpjB,KAAKqjB,MAAMC,MAAQ,qBAAKC,UAAWvjB,KAAKqjB,MAAMG,QAASC,QAASzjB,KAAKqjB,MAAMK,mB,GAN7DC,IAAMC,WAUvBC,E,4JAWL,WACC,OACC,eAAC,IAAMC,SAAP,YACG9jB,KAAKqjB,MAAMU,YAAc,cAACX,EAAD,CAAUE,KAAMtjB,KAAKqjB,MAAMC,KAAME,QAASxjB,KAAKqjB,MAAMW,kBAAmBN,aAAc1jB,KAAKqjB,MAAMK,eAC5H,qBAAKH,UAAWvjB,KAAKqjB,MAAMY,sBAA3B,SACC,6CACCV,UAAWvjB,KAAKqjB,MAAMa,eACtBC,KAAK,SACL,gBACA,eAAcnkB,KAAKqjB,MAAMC,KACzB,aAAYtjB,KAAKqjB,MAAM,cACvB,kBAAiBrjB,KAAKqjB,MAAM,mBAC5Be,MAAO,CACNC,QAASrkB,KAAKqjB,MAAMC,KAAO,OAAS,SAEjCgB,YAAU,CAACC,iCAAkCvkB,KAAKqjB,MAAMmB,kCAV7D,aAYExkB,KAAKqjB,MAAMoB,qB,GA5BEd,IAAMC,WAmGbc,EAAgB,SAAC,GAeH,IAAD,IAdzBC,wBAcyB,aAbzBC,oBAayB,aAZzBb,kBAYyB,SAXzBc,EAWyB,EAXzBA,YACAC,EAUyB,EAVzBA,UACAL,EASyB,EATzBA,SASyB,IARzBP,sBAQyB,MARR,GAQQ,MAPzBa,+BAOyB,aANzBf,yBAMyB,MANL,GAMK,MALzBgB,kCAKyB,aAJzBf,6BAIyB,MAJD,GAIC,MAHzBgB,sCAGyB,SAFzBT,EAEyB,EAFzBA,+BACGU,EACsB,iBACnBC,EAA0BH,EAA6BhB,EAAH,UAA0BA,EAA1B,iBACpDoB,EAAuBL,EAA0Bb,EAAH,UAAuBA,EAAvB,eAC9CmB,EAA8BJ,EAAiChB,EAAH,UAA8BA,EAA9B,iBAE5DqB,EACL,cAACzB,EAAD,CACCE,WAAYA,EACZT,KAAMwB,EACNpB,aAAcmB,EACdX,eAAgBkB,EAChBnB,sBAAuBoB,EACvBrB,kBAAmBmB,EACnB,kBAAiBD,EAAK,mBACtB,aAAYA,EAAK,cACjBV,+BAAgCA,EATjC,SAWEC,IAIH,OAAIG,GACKD,GAAoBG,IAAcQ,GAElCX,GAAoBG,IAAcnH,IAAS4H,aAAaD,EAAOzH,SAASxD,Q,oBCvJlFmL,EAAOC,QAAU,CAAC,aAAa,+BAA+B,YAAY,8BAA8B,eAAe,iCAAiC,KAAO,yBAAyB,MAAQ,4B,4UCK5LC,EAAc,EASX,SAASC,EAAT,GAA6F,IAAxEC,EAAuE,EAAvEA,MAAOnB,EAAgE,EAAhEA,SAAUK,EAAsD,EAAtDA,UAAWe,EAA2C,EAA3CA,eAAmBX,EAAwB,iBAC5FY,EAA2C,oBAAnBD,EAExBE,EAAqBC,iBAGnB,mBAAN,OADAN,GAAe,IAKjBO,qBAAU,WACLnB,GAEHoB,YAAqBH,EAAmBI,WAEvC,CAACrB,IAEJ,MAAkCsB,oBAAkB,GAApD,mBAAO/D,EAAP,KAAkBgE,EAAlB,KAjBkG,4CAmBlG,sBAAA9mB,EAAA,6DACC8mB,GAAa,GADd,kBAIQR,IAJR,6EAOEQ,GAAa,GAPf,2EAnBkG,sBA8BlG,OACC,eAAC3B,EAAA,EAAD,CAAeI,UAAWA,EAAW,kBAAiBI,EAAK,mBAA3D,UACC,qBAAK3B,UAAU,SAAf,SACC,cAAC,IAAD,aACCA,UAAU,YACV+C,KAAM,CAAC,MAAO,SACd7C,QAASmC,GACLW,YAAwB,CAACC,WAAW,EAAMrC,KAAM,SAAUsC,MAAO,qBAGvE,sBAAKlD,UAAU,mBAAf,UACC,cAAC,IAAD,CAAiBmD,UAAU,eAAenD,UAAU,qBAAqB+C,KAAK,iBAC9E,oBAAI/C,UAAU,WAAd,sBAED,4BAAIkB,IACJ,sBAAKlB,UAAU,YAAf,UACEuC,GACA,iDAAQa,SAAUtE,EAAWzX,GAAImb,EAAmBI,SAAaI,YAAmB,CAACC,WAAW,KAAhG,IAAwG/C,QA/CV,2CA+C9F,UACEpB,GAAa,cAAC,IAAD,CAAiBiE,KAAK,UAAUM,MAAI,IADnD,iBAID,gDAAQrD,UAAWa,IAAMyC,KAASN,YAAmB,CAACC,WAAW,KAAjE,IAAyE/C,QAASmC,EAAlF,4B,+EClESpiB,EAAb,kCAAaA,EACIC,YAAc,gB,mTCoBlBqjB,EAAb,kDAGC,WAAYzD,GAAiD,IAAD,8BAC3D,cAAMA,IAHC0D,gBAA4B,GAEwB,EA+BpDC,gBAAkB,WACzB,EAAKD,gBAAgB9hB,OAAS,EAE9B,EAAKgiB,SAAS,CACbC,cAAe,GACfF,gBAAiB,EAAKA,mBApCoC,EAwCpDG,QAAU,SAAC/X,GAClB,IAAM2X,EAAkB,EAAKA,gBACvBK,EAAYhY,EAAEiY,OAAOC,QAAT,UAEdF,IAAcL,EAAgBxf,MAAK,SAAAggB,GAAE,OAAIA,IAAOH,MACnDL,EAAgB9T,KAAKmU,IA7CqC,EAiDpDI,OAAS,WACZ,EAAKC,wBACR,EAAKR,SAAS,EAAKS,aAnDuC,EAuDpDC,SAAW,SAACvY,GACnBA,EAAEwY,iBAEe/d,OAAOge,KAAK,EAAKxE,MAAM3W,OAC/ByE,SAAQ,SAAA/B,GACX,EAAK2X,gBAAgBxf,MAAK,SAAAggB,GAAE,OAAIA,IAAOnY,MAC3C,EAAK2X,gBAAgB9T,KAAK7D,MAI5B,IAAM0Y,EAAmB,EAAKJ,WAE1BI,EAAiBC,QAChB,EAAK1E,MAAMsE,WACd,EAAKV,SAASa,GACd,EAAKzE,MAAMsE,SAASvY,KAGjB,EAAKiU,MAAM2E,2BACd,EAAK3E,MAAM2E,0BAA0BF,GAGtC,EAAKb,SAASa,KA7E4C,EAiFpDG,QAAU,WACjB,GAAI,EAAKR,uBAAwB,CAChC,IAAMK,EAAmB,EAAKJ,WAG9B,EAAKT,UAAS,SAAAiB,GAAC,MAAK,CACnBH,QAASD,EAAiBC,QAC1Bb,cAAegB,EAAEhB,cACjBF,gBAAiB,EAAKA,sBAvFxB,EAAKmB,MAAQ,EAAKT,WAFyC,EAH7D,4CAQC,WACC,IAIC,OAHA1nB,KAAKqjB,MAAM+E,OAAOC,aAAaroB,KAAKqjB,MAAM3W,MAAO,CAChD4b,YAAY,IAEN,CACNP,SAAS,EACTb,cAAe,GACfF,gBAAiBhnB,KAAKgnB,iBAEtB,MAAO5X,GACR,IAAMoK,EAAQpK,EACRxP,EAAwB,CAC7BmoB,SAAS,EACTb,cAAe,GACfF,gBAAiBhnB,KAAKgnB,iBAGjBuB,EAAWvoB,KAAKmoB,MAAQnoB,KAAK+mB,gBAAkB,GAIrD,OAFAvN,EAAMgP,MAAM/c,QAAO,SAAAgd,GAAC,OAAIF,EAAShhB,MAAK,SAAAggB,GAAE,OAAIA,IAAOkB,EAAEC,WAAOvX,SAAQ,SAAAsX,GAAC,OAAK7oB,EAAIsnB,cAAcuB,EAAEC,MAAQD,EAAElP,WAEjG3Z,KA9BV,kCAiGC,WAAgC,IAAD,EAC9B,iBAAOI,KAAKqjB,MAAMsF,sBAAlB,WAlGF,gCAqGC,WACC,GAAI3oB,KAAKynB,uBAAwB,CAChC,IAAMK,EAAmB9nB,KAAK0nB,WACxBkB,EAA0B5oB,KAAKmoB,MAEjC5N,KAAKC,UAAUsN,KAAsBvN,KAAKC,UAAUoO,IACvD5oB,KAAKinB,SAASa,MA3GlB,oBAgHC,WAAU,IAAD,OACR,EAAqG9nB,KAAKqjB,MAAnGoB,EAAP,EAAOA,SAAyBkD,GAAhC,EAAiBS,OAAjB,EAAyB1b,MAAzB,EAAgCib,UAAwDkB,GAAxF,EAA0Cb,0BAA1C,EAAqEW,eAArE,kBAEA,OAAIhB,EAEF,8CAAMA,SAAU3nB,KAAK2nB,SAAUH,OAAQxnB,KAAKwnB,OAAQL,QAASnnB,KAAKmnB,QAAS2B,QAAS9oB,KAAKioB,SAAaY,GAAtG,aACC,cAAC,IAAD,CAAUjL,OAAQ,kBAAM6G,EAAS,EAAK0D,aAIjC1D,EAASzkB,KAAKmoB,WA1HxB,GAA6DxE,IAAMC,WA0ItDmF,EAAoB,SAAC1F,GACjC,IAAMhK,EAAegK,EAAMyE,iBAAiBZ,cAAc7D,EAAM+D,WAChE,OACC,sBAAM7D,UAAWF,EAAME,UAAWa,MAAOf,EAAMe,MAAOD,KAAK,QAA3D,SACE9K,KAsCS2P,EAAmB,SAAqB3F,GACpD,IAAM4F,OAAsBC,IAAhB7F,EAAMzZ,MAAsByZ,EAAMzZ,MAAQyZ,EAAM3W,MAAM2W,EAAM+D,WAClE+B,EAAmB,CACxBC,SAAU/F,EAAMgG,UAChB,kBAAmBhG,EAAM+D,WAS1B,MAN4B,UAAxB/D,EAAMoB,SAAS6E,MAAkD,UAA9BjG,EAAMoB,SAASpB,MAAMiG,KAC3DH,EAAYI,QAAUN,IAAQ5F,EAAMoB,SAASpB,MAAMzZ,MAEnDuf,EAAYvf,MAAQqf,GAAO,GAGrBtF,IAAM6F,aAAanG,EAAMoB,SAAU0E,K,6GC/L/BM,E,uCCrBCC,EAAW,WACvB,OAAO,kD,qGDoBID,O,qBAAAA,I,mCAAAA,I,yCAAAA,I,+BAAAA,I,2CAAAA,I,gCAAAA,M,KAWZ,I,EAAME,EAAaC,IAAW,CAC7B/oB,MAAO+oB,MAAaC,SAAS,4BAA4BhpB,MAAM,yCAI3CipB,EADpBC,a,qDAEA,WAAY1G,GAA+B,IAAD,8BACzC,cAAMA,IAoBCsE,SArBkC,uCAqBvB,WAAOvY,GAAP,iBAAA7P,EAAA,6DAClB,EAAK0nB,SAAS,CACb+C,qBAAqB,EACrBC,uBAAuB,IAEpBhqB,EAAY,EAAKojB,MAAMnkB,SAASe,UALlB,SAMFA,EAAUc,aAAa,EAAKonB,MAAMzb,MAAM7L,MAAO,EAAKqpB,kBANlD,OAMdtqB,EANc,OAOlB,EAAKqnB,SAAS,CACbkD,aAAcvqB,EACdoqB,qBAAqB,EACrBC,uBAAuB,IAExBzqB,OAAO4qB,SAAS,EAAG,GAZD,2CArBuB,wDAoClCC,eAAiB,SAACjb,GACzB,EAAK6X,SAAS,CACbva,MAAO,CACN7L,MAAOuO,EAAEiY,OAAOzd,UAvCuB,EA4ClC0gB,eAAiB,WACxB,EAAKrD,SAAS,CACb+C,qBAAqB,EACrBC,uBAAuB,EACvBM,kBAAkB,KAhDsB,EA2DlCC,oBAAsB,WAC7B,EAAKnH,MAAMnkB,SAASe,UAAUwqB,kBAAkB,EAAKP,mBA1DrD,EAAK/B,MAAQ,CACZgC,cAAc,EACdH,qBAAqB,EACrBC,uBAAuB,EACvBvd,MAAO,CACN7L,MAAO,IAER0pB,kBAAkB,GATsB,E,qDAa1C,WACCvqB,KAAKqjB,MAAMnkB,SAASe,UAAU6C,gBAAiB,I,kCAGhD,WACC9C,KAAKqjB,MAAMnkB,SAASe,UAAU6C,gBAAiB,I,4BAkChD,WACC,OAAI9C,KAAKqjB,MAAMpF,MAAMyM,OAAO5pB,YACpB6pB,mBAAmB3qB,KAAKqjB,MAAMpF,MAAMyM,OAAO5pB,aAE5C,Q,oBAOR,WAAU,IAAD,OAER,GADAwC,aAAaC,WAAWC,IAAiBC,cACpCzD,KAAKqjB,MAAMnkB,SAASgD,cAAc0oB,mBAEtC,OADA5qB,KAAKqjB,MAAMnkB,SAASe,UAAUwqB,kBAAkBzqB,KAAKkqB,kBAC9C,KAGR,IAAIW,EAAsB7qB,KAAKmoB,MAAMgC,cAAgBnqB,KAAKmoB,MAAM6B,qBAC/D,qFAED,OACC,qBAAKzG,UAAU,YAAf,SACC,cAAC,IAAD,CACCoE,SAAU,SAACvY,GAAD,OAAyC,EAAKuY,SAASvY,IACjE1C,MAAO1M,KAAKmoB,MAAMzb,MAClBic,gBAAgB,EAChBP,OAAQuB,EAJT,SAME,SAAA7B,GAAgB,OAChB,qCACC,gCACC,8BACC,cAAC,IAAD,CACCpb,MAAO,EAAKyb,MAAMzb,MAClB0a,UAAU,QACViC,UAAW,SAACja,GAAD,OAA4C,EAAKib,eAAejb,IAH5E,SAKC,uBACCka,KAAK,OACL1e,GAAG,QACH8I,KAAK,QACLoX,YAAY,mBACZ3D,QAAS,kBAAM,EAAKmD,wBAIvB,gCACC,0CACC,EAAKjH,MAAMnkB,SAASgD,cAAcyB,sBAClC,wBAAQ4f,UAAU,wBAAwB+F,KAAK,SAAS7F,QAAS,EAAK+G,oBAAtE,gDAMH,gCACC,cAAC,IAAD,CAAmBpD,UAAU,QAAQU,iBAAkBA,IACtD+C,iB,GA/GuClH,IAAMC,a,EAyHzCmH,EAAQC,YAAWlB,G,QE7JnBmB,EAAsB,WAClC,OACC,qBAAK1H,UAAU,iBAAf,SACC,cAAC,IAAD,CAAiB+C,KAAM,CAAC,MAAO,WAAYM,MAAI,EAACF,UAAU,e,kBCavDwE,EADLnB,a,+MAEA5B,MAA4B,CAC3BgD,aAAa,EACbC,SAAU,M,EAGHC,eAA8B,K,8FAEtC,sBAAA9rB,EAAA,sEACOS,KAAKsrB,kBADZ,gD,0HAIA,8EACCtrB,KAAKinB,SAAS,CACbkE,aAAa,EACbC,SAAUprB,KAAKqjB,MAAM1iB,SAASyqB,WAE/B5rB,OAAO4qB,SAAS,EAAG,GALpB,gD,6HAmBA,WAAyBmB,GAAzB,SAAAhsB,EAAA,yDACKgsB,EAAU5qB,SAASyqB,WAAaprB,KAAKqjB,MAAM1iB,SAASyqB,SADzD,gCAEQprB,KAAKsrB,kBAFb,gD,2EAMA,WACC,IAAI7G,EACEb,EAAY5jB,KAAKqjB,MAAMmI,UAS7B,OAPIxrB,KAAKmoB,MAAMgD,aACd1G,EAAW,cAACb,EAAD,IACX5jB,KAAKqrB,eAAiB5G,GAEtBA,EAAWzkB,KAAKqrB,eAAiBrrB,KAAKqrB,eAAiB,cAAC,EAAD,IAIvD,qBAAK9H,UAAWa,IAAMqH,qBAAtB,SACC,qBAAKlI,UAAWa,IAAMsH,WAAtB,SAAmCjH,S,uCA9BtC,SAAgCkH,EAAyCC,GACxE,OAAID,EAAUhrB,SAASyqB,WAAaQ,EAAUR,SACtC,CACND,aAAa,EACbC,SAAUO,EAAUhrB,SAASyqB,UAGvB,S,GA3B+BzH,IAAMC,a,EAwDzCiI,EAAgBb,YAAWE,GAMpBY,EAAyB,SAAClI,EAAwDmI,GAC9F,OAAO,WACN,OAAO,cAACF,EAAD,CAAeL,UAAW5H,EAAWmI,YAAW,OAAEA,QAAF,IAAEA,S,QC/EpD,SAASC,IACf,OACC,gCACC,iDACA,8PAIA,iQAIA,sPAIA,cAAC,IAAD,CAAMC,GAAIhY,IAAeiY,aAAzB,qBCXH,I,IAAMC,EAAMxI,IAAMyI,MAAK,kBAAM,mCACvBC,EAAM1I,IAAMyI,MAAK,kBAAM,mCACvBE,EAAS3I,IAAMyI,MAAK,kBAAM,gEAC1BG,EAAgB5I,IAAMyI,MAAK,kBAAM,gEAEjCI,EAAoB,SAACrE,GAC1B,OAAO,kBAAM,cAAC4C,EAAD,CAAO0B,aAActE,MAItBuE,EAAS,WACrB,OACC,mCACC,eAAC,IAAD,WACC,cAAC,IAAD,CAAU1c,KAAK,IAAIic,GAAIhY,IAAeiY,aAAcS,OAAK,IACzD,cAAC,IAAD,CAAOjE,KAAMzU,IAAe2Y,OAAQpB,UAAWc,IAE/C,cAAC,IAAD,CAAO5D,KAAMzU,IAAe4Y,cAAerB,UAAWe,IAEtD,cAAC,IAAD,CAAO7D,KAAMzU,IAAe6Y,IAAKtB,UAAWM,EAAuBK,KACnE,cAAC,IAAD,CAAOzD,KAAMzU,IAAe8Y,IAAKvB,UAAWM,EAAuBO,KAEnE,cAAC,IAAD,CAAO3D,KAAMzU,IAAe+Y,SAAUxB,UAAW9B,IAEjD,cAAC,IAAD,CAAOhB,KAAMzU,IAAegZ,aAAczB,UAAWQ,IACrD,cAAC,IAAD,CAAOtD,KAAMzU,IAAeiZ,qBAAsB1B,UAAWgB,EAAkB/C,EAAW0D,WAC1F,cAAC,IAAD,CAAOzE,KAAMzU,IAAemZ,eAAgB5B,UAAWgB,EAAkB/C,EAAW4D,kBACpF,cAAC,IAAD,CAAO3E,KAAMzU,IAAeqZ,kBAAmB9B,UAAWgB,EAAkB/C,EAAW8D,qBACvF,cAAC,IAAD,CAAO7E,KAAMzU,IAAeuZ,aAAchC,UAAWgB,EAAkB/C,EAAWgE,gBAClF,cAAC,IAAD,CAAO/E,KAAMzU,IAAeyZ,mBAAoBlC,UAAWgB,EAAkB/C,EAAWkE,sBACxF,cAAC,IAAD,CAAOjF,KAAMzU,IAAe2Z,aAAcpC,UAAWgB,EAAkB/C,EAAWoE,gBAElF,cAAC,IAAD,CAAU5B,GAAIhY,IAAe+Y,iB,SCpC3Bc,EAA8D,SAAC,GAAsB,IAArBC,EAAoB,EAApBA,eACrE,OACC,cAAC,IAAD,CAAejJ,WAAW,EAA1B,SACC,sBAAKvB,UAAU,qBAAf,UACC,qBAAKA,UAAU,iCAAf,SACC,oBAAIA,UAAU,6BAAd,+BAED,qBAAKA,UAAU,sBACf,sBAAKA,UAAU,kBAAf,UACC,qBAAKA,UAAU,kBAAf,wFACA,qBAAKA,UAAU,aACf,wBAAQE,QAASsK,EAAgBxK,UAAU,yEAA3C,8BAUQyK,EADZjE,aACD,+MACSkE,QAAU,WACjBzuB,OAAOmB,SAASutB,UAFlB,4CAKC,WAGC,OAFiBluB,KAAKqjB,MAAMnkB,SAEZia,eAAiB,cAAC,EAAD,CAAqB4U,eAAgB/tB,KAAKiuB,UAAc,SAR3F,GAAoCtK,IAAMC,aAA1C,E,QCrBM+B,EAAiH,SAAC,GAIjH,IAHNtM,EAGK,EAHLA,aACA0U,EAEK,EAFLA,eACAI,EACK,EADLA,yBAEA,OACC,cAAC,IAAD,CAAerJ,WAAW,EAA1B,SACC,sBAAKvB,UAAU,qBAAf,UACC,qBAAKA,UAAU,gCAAf,SACC,oBAAIA,UAAU,uCAAd,mCAED,qBAAKA,UAAU,sBACf,sBAAKA,UAAU,kBAAf,UACC,sLAIA,qBAAKA,UAAU,aAEdlK,GACA,qCACC,0BAAUkK,UAAU,uBAAuB6K,aAAc/U,EAAcgV,KAAM,EAAG1H,UAAQ,IACxF,qBAAKpD,UAAU,gBAGjB,sBAAKA,UAAU,+BAAf,UACC,wBAAQE,QAAS0K,EAA0B5K,UAAU,uDAArD,yBAGA,qBAAKA,UAAU,aACf,wBAAQE,QAASsK,EAAgBxK,UAAU,yDAA3C,qCAUOxR,EAAQuc,aAAS,WAC7B,IAAMpvB,EAAWqvB,cAEjB,OAAOrvB,EAASka,aACf,cAAC,EAAD,CACCC,aAAcna,EAASma,aACvB0U,eAAgB,kBAAMvuB,OAAOmB,SAASutB,UACtCC,yBAA0B,kBAAMjvB,EAASe,UAAUka,YAEjD,Q,0CC/CQqU,EAAeF,aAAS,YAA+C,IAA7ClM,EAA4C,EAA5CA,UAAciB,EAA8B,iBAG5EoL,EAFWF,cAEMxT,gBACjB4L,IAAatD,EAAMsD,UAAY8H,EAAMpM,UAE3C,OACC,kDAAYgB,GAAZ,IAAmBsD,SAAUA,EAA7B,SACEvE,IAAcqM,EAAMrM,WAAauE,EAAW,MAAQ,W,SCV3C+H,GADZ3E,aACD,+MACS4E,eAAiB,SAACvf,GACzB,IAAM5N,EAAS4N,EAAEiY,OAAOzd,MAGxB,OAFkB,EAAKyZ,MAAMnkB,SAASe,UAErB2uB,WAAWptB,IAL9B,4CAQC,WAEC,KADkBxB,KAAKqjB,MAAMnkB,SAASgD,cAAcC,kBAAoBnC,KAAKqjB,MAAMnkB,SAASe,UAAUsB,YAErG,OAAO,KAER,MAAwBvB,KAAKqjB,MAAMnkB,SAASe,UAArCqC,EAAP,EAAOA,MAAOd,EAAd,EAAcA,OAEd,OACC,sBAAK+hB,UAAU,WAAf,UACC,sDACA,wBAAQA,UAAU,cAAc6F,SAAUppB,KAAK2uB,eAAgBP,aAAc5sB,EAASA,EAAOyC,WAAa,KAA1G,SACE3B,EAAMsP,KAAI,SAAAid,GAAI,OACd,wBAAQjlB,MAAOilB,EAAKjkB,GAApB,SACEikB,EAAKC,UADsBD,EAAKjkB,gBApBxC,GAAkC+Y,IAAMC,aAAxC,ECKamL,GAA2BT,aAAS,WAAO,IAAD,EACtD,EAAyGC,cAAjFE,EAAxB,EAAO1T,gBAAwB7Y,EAA/B,EAA+BA,cAAejC,EAA9C,EAA8CA,UAAW4P,EAAzD,EAAyDA,UAA8BqS,EAAvF,EAAoElH,kBADd,4CAGtD,sBAAAzb,EAAA,sEACOU,EAAUka,SADjB,4CAHsD,sBAOtD,IAAM6U,EAAY9sB,EAAc+sB,oBAC1BnK,EAAY2J,EAAMvL,kBAExB,OAAK8L,EAKJ,qCACC,qBAAKzL,UAAU,oBAAoBE,QAASgL,EAAMS,mBAAlD,kBAGCpK,GACA,qBAAKvB,UAAU,kBAAf,SACC,qBAAKA,UAAU,UAAf,SACC,sBAAKA,UAAU,aAAf,UACC,sBAAKA,UAAU,UAAf,UACC,mBAAGa,MAAO,CAAC+K,OAAQ,WAAnB,qBACA,mBAAG5L,UAAU,sBAAsBE,QAASgL,EAAMS,mBAAlD,SACC,cAAC,IAAD,CAAiB5I,KAAM,CAAC,MAAO,gBAGjC,gCACC,qBAAK/C,UAAU,aACf,qBAAKA,UAAU,WAAf,0BACA,cAAC,GAAD,IACCtjB,EAAUsB,YACV,wBAAOgiB,UAAU,WAAjB,mBAEC,cAACiL,EAAD,CAAc/K,QApC+B,2CAoCdrB,UAAWH,IAAoBmN,eAIjE,gCACC,qBAAK7L,UAAU,aACf,qBAAKA,UAAU,WAAf,wBACA,cAAC8L,GAAD,CACCC,KAAMzf,EAAU7H,gBAChBye,MAAM,oBACN8I,aAAc,kBAAMd,EAAMe,oBAAoB3f,EAAU7H,oBAEzD,cAACqnB,GAAD,CACCC,KAAMzf,EAAU4f,uCAChBhJ,MAAM,mCACN8I,aAAc,kBAAMd,EAAMiB,wCAAwC7f,EAAU4f,2CAG7E,wBAAOlM,UAAU,WAAjB,qBAEC,wBACCA,UAAU,cACV6F,SAAU,SAAAha,GAAC,OAAIqf,EAAMkB,WAAWvgB,EAAEiY,OAAOzd,QACzCwkB,aAAY,UAAEnuB,EAAUK,kBAAZ,aAAE,EAAsBsH,QACpCwc,MAAO,CAACwL,SAAU,SAJnB,SAME/lB,OAAOge,KAAKhgB,MAAS+J,KAAI,SAAA2G,GAAC,OAC1B,wBAAQ3O,MAAO2O,EAAf,SACEA,GADqBA,cAO3B,gCACC,qBAAKgL,UAAU,aACf,qBAAKA,UAAU,WAAf,+BACA,wBAAOA,UAAU,WAAjB,UACC,cAAC,IAAD,CACC+C,KAAM,CAAC,MAAOpE,EAAeI,gBAAkB,QAAU,SACzDiB,UAAWrB,EAAeI,gBAAkB,YAAc,cAH5D,qBAMC,cAACkM,EAAD,CACC/K,QAAS,kBAAMgL,EAAMoB,8BACrBzN,UAAWH,IAAoB6N,wCAGjC,wBAAOvM,UAAU,WAAjB,UACC,cAAC,IAAD,CACC+C,KAAM,CAAC,MAAOpE,EAAeK,qBAAuB,QAAU,SAC9DgB,UAAWrB,EAAeK,qBAAuB,YAAc,cAHjE,6BAMC,cAACiM,EAAD,CACC/K,QAAS,kBAAMgL,EAAMsB,oCACrB3N,UAAWH,IAAoB+N,sCAGjC,wBAAOzM,UAAU,WAAjB,UACC,cAAC,IAAD,CACC+C,KAAM,CAAC,MAAOrmB,EAAUwC,YAAYyF,eAAiB,QAAU,SAC/Dqb,UAAWtjB,EAAUwC,YAAYyF,eAAiB,YAAc,cAHlE,sBAMC,cAACsmB,EAAD,CAAc/K,QAAS,kBAAMgL,EAAMwB,qBAAqB7N,UAAWH,IAAoBiO,gCAExF,wBAAO3M,UAAU,WAAjB,UACC,cAAC,IAAD,CACC+C,KAAM,CAAC,MAAOpE,EAAeM,oBAAsB,QAAU,SAC7De,UAAWrB,EAAeM,oBAAsB,YAAc,cAHhE,2BAMC,cAACgM,EAAD,CACC/K,QAAS,kBAAMgL,EAAM0B,mCACrB/N,UAAWH,IAAoBmO,wCAIlC,gCACC,qBAAK7M,UAAU,aACf,qBAAKA,UAAU,WAAf,+BACA,wBAAOA,UAAU,WAAjB,UACC,cAAC,IAAD,CACC+C,KAAMmI,EAAMtM,0BAA4B,QAAU,QAClDoB,UAAWkL,EAAMtM,0BAA4B,YAAc,cAH7D,2BAMC,cAACqM,EAAD,CAAc/K,QAAS,kBAAMgL,EAAM4B,sBAAsBjO,UAAWH,IAAoBqO,2BAG1F,qBAAKlM,MAAO,CAACmM,UAAW,SAAUC,MAAO,QAAzC,SACC,wBAAQpM,MAAO,CAACqM,OAAQ,aAAcD,MAAO,QAAS/M,QAASgL,EAAMS,mBAArE,2CArHC,QAiIHG,GAAcf,aAAS,YAAwF,IAAtFgB,EAAqF,EAArFA,KAAM7I,EAA+E,EAA/EA,MAAO8I,EAAwE,EAAxEA,aAC3C,OACC,wBAAOhM,UAAU,WAAjB,UACC,cAAC,IAAD,CAAiB+C,KAAM,CAAC,MAAOgJ,EAAO,QAAU,SAAU/L,UAAW+L,EAAO,YAAc,cAD3F,IAC4G7I,EAC3G,cAAC+H,EAAD,CAAc/K,QAAS8L,EAAcnN,UAAWH,IAAoByO,wBAK1DC,GAAmB3F,YAAW+D,I,gDCvHpC,IAAM6B,GAActC,aAAS,WACnC,IAAMpvB,EAAWqvB,cACVtuB,EAAaf,EAAbe,UACAmrB,EAAYyF,cAAZzF,SAEP,EAA4BhF,oBAAS,GAArC,oBAAO0K,EAAP,KAEMC,EArCP,SAAgCD,EAAiBE,GAChD,IAAMD,EAAa/K,iBAAoB,MA0BvC,OAxBAC,qBAAU,WACT,SAASgL,EAAa7hB,GACrB,GAAK2hB,EAAW5K,QAAhB,CAIA,IAAM+K,EAAmBH,EAAW5K,QAE9B/W,EAAEiY,kBAAkB8J,UAIrBD,EAAiBE,SAAShiB,EAAEiY,SAChC2J,GAAU,KAQZ,OAJIF,GACHtxB,OAAO2P,iBAAiB,QAAS8hB,GAG3B,kBAAMzxB,OAAO6xB,oBAAoB,QAASJ,MAC/C,CAACD,EAAWF,IAERC,EAUYO,CAAuBR,EAF1C,MAkBA,OAAK7wB,EAAUsB,WAUd,qBAAKgwB,IAAKR,EAAV,SACC,qBAAKxN,UAAWa,KAAMoN,mBAAtB,SACC,sBAAKjO,UAAWa,KAAMqN,SAAtB,UACC,gCACC,sBAAMlO,UAAWa,KAAMsN,MAKvB,uBAAMnO,UAAS,UAAKa,KAAMuN,OAAX,kBAAmClO,QAAS,kBAAMxjB,EAAUka,UAA3E,UACC,cAAC,IAAD,CAAiBoJ,UAAWa,KAAMwN,OAAQtL,KAAM,CAAC,MAAO,oBACxD,gDAGF,qBAAK/C,UAAU,6BAAf,SACC,qBAAKA,UAAWa,KAAMyN,SAAtB,SACC,qBAAKtO,UAAS,UAAKa,KAAMjd,QAAX,YAAsB2pB,EAAS1M,KAAMtV,KAAO,IAAMsV,MAAO,CAAC0N,kBAAmB,WAA3F,SACC,sBAAKvO,UAAWa,KAAM5L,SAAtB,UACC,sBAAM+K,UAAU,wBAAhB,SAAyCtjB,EAAUyB,WACnD,oBAAGd,KAAMkgB,KAAsBc,aAAa1iB,EAASgD,cAAc4gB,aAAnE,UACC,cAAC,IAAD,CAAiBS,UAAWa,KAAMwN,OAAQlL,UAAU,gBAAgBJ,KAAM,CAAC,MAAO,UAClF,iDAED,yBAAQ/C,UAAU,uBAAuBE,QAAS,kBAAMxjB,EAAUka,UAAlE,UACC,cAAC,IAAD,CAAiBoJ,UAAWa,KAAMwN,OAAQlL,UAAU,kBAAkBJ,KAAM,CAAC,MAAO,oBADrF,4BA/BN,eAAC,IAAD,yBAAM2F,GAhBR,WACC,IAAMhO,EAAQ8T,YAAmC3G,EAAU,CAC1D1C,KAAMzU,IAAeiZ,qBACrBP,OAAO,EACPqF,QAAQ,IAGLlxB,EAAcmd,GAASA,EAAMyM,OAAO5pB,YAAcmd,EAAMyM,OAAO5pB,YAAc,KAAOsqB,EAExF,OAAO6G,YAAahe,IAAeiZ,qBAAsB,CACxDpsB,YAAaA,IAMHsZ,IAAmBmM,aAAmB,CAACC,WAAW,KAA5D,cACC,cAAC,IAAD,CAAiBjD,UAAWa,KAAMwN,OAAQlL,UAAU,WAAWJ,KAAM,CAAC,MAAO,UAC7E,gD,UC5DSgG,GAASgC,aAAS,WAC9B,MAAoClI,mBAAiB,IAArD,oBAAOvO,EAAP,KAAmBqa,EAAnB,KACMC,EAAUC,cAEI3D,EAASF,cAAtB3S,YAEDyW,EAAW,WACXxa,IAIL4W,EAAMyD,cAAcra,EAAWJ,eAC3B0a,EAAQxxB,SAASyqB,WAAanX,IAAe2Y,QAChDuF,EAAQlf,KAAKgB,IAAe2Y,QAE7BsF,EAAc,MAGf,OACC,cAAC,WAAD,CACC3O,UAAU,aACVuH,YAAY,YACZwH,iBAAiB,EACjBC,WAAY,SAAAnjB,GAAC,OAAIijB,KACjBzoB,MAAOiO,EACP2a,eAAgB,SAAApjB,GAAC,OAAI8iB,EAAc9iB,EAAExF,QANtC,SAQC,cAAC,UAAD,CAAQ8J,KAAK,SAAS/S,SAAS,QAAQ8xB,QAAS,CAACnM,KAAM,SAAUoM,YAAa,OAAQjP,QAAS,kBAAM4O,aC1B3FM,GAAkBrE,aAAS,WACvC,IAAMpvB,EAAWqvB,cACjB,EAA4BnI,oBAAS,GAArC,oBAAO0K,EAAP,KAAeE,EAAf,KAEA,OACC,sBAAKzN,UAAWa,KAAMwO,WAAtB,UACC,qBAAKrP,UAAWa,KAAMyO,cAAepP,QAAS,kBAAMuN,GAAWF,IAA/D,SACC,cAAC,IAAD,CAAiBxK,KAAM,CAAC,MAAOwK,EAAS,QAAU,YAElDA,GACA,8BACC,sBAAKvN,UAAWa,KAAM0O,oBAAtB,UACC,qBAAKvP,UAAWa,KAAMqN,SAAtB,SACC,cAAC,IAAD,CAAMxF,GAAIhY,IAAe6Y,IAAKrJ,QAAS,kBAAMuN,GAAWF,IAAxD,oBAID,qBAAKvN,UAAWa,KAAMqN,SAAtB,SACC,cAAC,IAAD,CAAMxF,GAAIhY,IAAe8e,cAAetP,QAAS,kBAAMuN,GAAWF,IAAlE,gCAID,qBAAKvN,UAAWa,KAAMqN,SAAtB,SACC,cAAC,IAAD,CAAMxF,GAAIhY,IAAe4Y,cAAepJ,QAAS,kBAAMuN,GAAWF,IAAlE,8BAIA5xB,EAASe,UAAUsB,YACnB,qBAAKgiB,UAAWa,KAAMqN,SAAtB,SACC,cAAC,IAAD,CAAMxF,GAAIhY,IAAe+e,gBAAiBvP,QAAS,kBAAMuN,GAAWF,IAApE,2BAKD5xB,EAAS2Q,UAAUojB,kBACnB,qBAAK1P,UAAWa,KAAMqN,SAAtB,SACC,cAAC,IAAD,CAAMxF,GAAIhY,IAAeif,aAAczP,QAAS,kBAAMuN,GAAWF,IAAjE,iCCbD,IAAMqC,GAAY7E,aAAS,WACjC,IAAMpvB,EAAWqvB,cACX6E,EApBP,WACC,MAAsChN,mBAAS,GAA/C,oBAAOgN,EAAP,KAAuBC,EAAvB,KAcA,OAZAC,2BAAgB,WACf,SAASC,IACRF,EAAY7zB,OAAOg0B,aAOpB,OAJAh0B,OAAO2P,iBAAiB,SAAUokB,GAElCA,IAEO,kBAAM/zB,OAAO6xB,oBAAoB,SAAUkC,MAChD,IAEIH,EAKgBK,GAEvB,OACC,qBAAKlQ,UAAS,UAAKa,KAAMsP,QAAX,YAAyC,IAAnBN,GAAwBhP,KAAMuP,QAAlE,SACC,yBAAQpQ,UAAWa,KAAMwP,UAAzB,UACC,qBAAKrQ,UAAWa,KAAMyP,KAAtB,SACC,qBAAKC,ICvCK,qsQDuCSC,IAAI,gBAGxB,qBAAKxQ,UAAWa,KAAM4P,SAAtB,SACC,sBAAKzQ,UAAWa,KAAM6P,cAAtB,UACC,qBAAK1Q,UAAWa,KAAMqN,SAAtB,SACC,cAAC,IAAD,CAAMxF,GAAIhY,IAAe6Y,IAAzB,oBAED,qBAAKvJ,UAAWa,KAAMqN,SAAtB,SACC,cAAC,IAAD,CAAMxF,GAAIhY,IAAe8e,cAAzB,gCAED,qBAAKxP,UAAWa,KAAMqN,SAAtB,SACC,cAAC,IAAD,CAAMxF,GAAIhY,IAAe4Y,cAAzB,8BAEA3tB,EAASe,UAAUsB,YACnB,qBAAKgiB,UAAWa,KAAMqN,SAAtB,SACC,cAAC,IAAD,CAAMxF,GAAIhY,IAAe+e,gBAAzB,2BAGD9zB,EAAS2Q,UAAUojB,kBACnB,qBAAK1P,UAAWa,KAAMqN,SAAtB,SACC,cAAC,IAAD,CAAMxF,GAAIhY,IAAeif,aAAzB,2BAMJ,sBAAK3P,UAAWa,KAAM8P,UAAtB,UACC,qBAAK3Q,UAAU,sFAAf,SACC,cAAC,GAAD,MAED,cAACqN,GAAD,IACA,cAAC+B,GAAD,e,qBElEE,SAASwB,KACf,IAEMrR,EAFkByL,cAAjBrsB,cAE2B4gB,YAE5BsR,EAAwBtT,KAAsBG,sBAAsB6B,GACpEuR,EAAsBvT,KAAsBI,oBAAoB4B,GAChEwR,EAAqBxT,KAAsBK,mBAAmB2B,GAC9DyR,EAAgBzT,KAAsBM,cAAc0B,GACpD0R,EAAe1T,KAAsBO,aAAayB,GAExD,OACC,yBAAQS,UAAWa,KAAM,cAAzB,UACC,qBAAKb,UAAWa,KAAM,aAAtB,wBACA,sBAAKb,UAAWa,KAAM,gBAAtB,UACC,mBAAGxjB,KAAK,6BAAR,SACC,cAAC,IAAD,CAAiB0lB,KAAM,CAAC,MAAO,eAEhC,mBAAG1lB,KAAK,2DAAR,SACC,cAAC,IAAD,CAAiB0lB,KAAM,CAAC,MAAO,eAEhC,mBAAG1lB,KAAK,sFAAR,SACC,cAAC,IAAD,CAAiB0lB,KAAM,CAAC,MAAO,gBAEhC,mBAAG1lB,KAAMkiB,EAAT,SACC,cAAC,IAAD,CAAiBwD,KAAM,CAAC,MAAO,kBAGjC,qBAAK/C,UAAWa,KAAMqQ,KAAtB,4HACA,sBAAKlR,UAAWa,KAAMsQ,MAAtB,UACC,mBAAG9zB,KAAMwzB,EAAT,kCACA,mBAAGxzB,KAAMyzB,EAAT,+BACA,mBAAGzzB,KAAM0zB,EAAT,+BACA,mBAAG1zB,KAAM2zB,EAAT,wBACA,mBAAG3zB,KAAM4zB,EAAT,8BC3BG,IAAMG,GAA6ChR,IAAMiR,cAA+B,MAC/FC,IAAmBC,WAAaH,GAEzB,IAAMI,GAAY,SAAC1R,GACzB,OACC,cAAC,IAAM2R,SAAP,CAAgBC,SAAU,cAAC,EAAD,IAA1B,SACC,cAACN,GAAWO,SAAZ,CAAqBtrB,MAAOyZ,EAAMnkB,SAAlC,SACC,cAAC,IAAM4kB,SAAP,UACC,eAAC,IAAD,WACC,cAAC6M,GAAD,IACA,cAACwC,GAAD,IACA,cAAC,IAAM6B,SAAP,CAAgBC,SAAU,cAAC,EAAD,IAA1B,SACC,cAAC,EAAD,MAED,cAACljB,EAAD,IACA,cAAC,EAAD,IACA,cAACoiB,GAAD,e,8EC5BOlgB,EAAb,kCAAaA,EACI8Y,IAAM,OADV9Y,EAEIkhB,QAAU,YAFdlhB,EAGIif,aAAe,iBAHnBjf,EAIImhB,eAAiB,mBAJrBnhB,EAKIohB,cAAgB,mBALpBphB,EAMIC,kBAAoB,uBANxBD,EAOIqhB,gBAAkB,qBAPtBrhB,EAQIshB,YAAc,iBARlBthB,EAUI6Y,IAAM,OAVV7Y,EAWIiY,aAAe,iBAXnBjY,EAYIuhB,WAAa,eAZjBvhB,EAaI8e,cAAgB,mBAbpB9e,EAcIwhB,iBAAmB,cAdvBxhB,EAeI+e,gBAAkB,oBAftB/e,EAgBIyhB,cAAgB,iCAhBpBzhB,EAkBI2Y,OAAS,UAlBb3Y,EAmBI4Y,cAAgB,iBAnBpB5Y,EAoBIgF,oBAAsB,wBApB1BhF,EAsBIgZ,aAAe,iBAtBnBhZ,EAuBI+Y,SAAW,aAvBf/Y,EAwBI0hB,MAAQ,SAxBZ1hB,EAyBIiZ,qBAAuB,uBAzB3BjZ,EA0BImZ,eAAiB,iCA1BrBnZ,EA2BIqZ,kBAAoB,qCA3BxBrZ,EA4BIuZ,aAAe,+BA5BnBvZ,EA6BIyZ,mBAAqB,uCA7BzBzZ,EA8BI2Z,aAAe,gC,oBC7BhCpI,EAAOC,QAAU,CAAC,qBAAuB,+C,oPCKrCC,EAAc,EAYLkQ,EAAoB,SAAC,GASH,IAR9B9Q,EAQ6B,EAR7BA,UACA+Q,EAO6B,EAP7BA,UACAC,EAM6B,EAN7BA,SACAC,EAK6B,EAL7BA,YACAC,EAI6B,EAJ7BA,aACAvR,EAG6B,EAH7BA,SAG6B,IAF7BwR,yBAE6B,MAFT,SAES,EAD1B/Q,EAC0B,iBACvBa,EAAqBC,iBAGnB,kBAAN,OADAN,GAAe,IAYjB,OAPAO,qBAAU,WACLnB,GAEHoB,YAAqBH,EAAmBI,WAEvC,CAACrB,IAGH,eAAC,IAAD,CAAeA,UAAWA,EAAW,kBAAiBI,EAAK,mBAA3D,UACE,qBAAK3B,UAAU,SAAf,SACC,cAAC,IAAD,aACCA,UAAU,YACV+C,KAAM,CAAC,MAAO,SACd7C,QAASqS,GACLvP,YAAwB,CAACC,WAAW,EAAMrC,KAAM,SAAUsC,MAAO,qBAGtEhC,EACD,sBAAKlB,UAAU,YAAf,UACC,gDACC3Y,GAAImb,EAAmBI,QACvB5C,UAAS,UAA2B,aAAtB0S,EAAmC7R,IAAM8R,SAAW,UAC9D3P,YAAmB,CAACC,WAAW,KAHpC,IAIC/C,QAASoS,EAJV,SAMEG,KAEF,gDAAQzS,UAAWa,IAAMyC,KAASN,YAAmB,CAACC,WAAW,KAAjE,IAAyE/C,QAASqS,EAAlF,SACEC,a,mBC9DPvQ,EAAOC,QAAU,CAAC,aAAa,+BAA+B,WAAW,6BAA6B,cAAc,gCAAgC,YAAY,8BAA8B,cAAc,gCAAgC,YAAY,8BAA8B,aAAa,+BAA+B,gBAAgB,kCAAkC,aAAa,+BAA+B,aAAa,+BAA+B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,iBAAiB,mCAAmC,iBAAiB,mCAAmC,iBAAiB,mCAAmC,iBAAiB,mCAAmC,iBAAiB,mCAAmC,iBAAiB,mCAAmC,iBAAiB,mCAAmC,iBAAiB,mCAAmC,iBAAiB,mCAAmC,iBAAiB,mCAAmC,iBAAiB,mCAAmC,cAAc,gCAAgC,cAAc,gCAAgC,cAAc,gCAAgC,cAAc,gCAAgC,cAAc,gCAAgC,cAAc,gCAAgC,cAAc,gCAAgC,cAAc,gCAAgC,cAAc,gCAAgC,cAAc,gCAAgC,cAAc,gCAAgC,cAAc,gCAAgC,mBAAmB,qCAAqC,mBAAmB,qCAAqC,mBAAmB,qCAAqC,mBAAmB,qCAAqC,mBAAmB,qCAAqC,mBAAmB,qCAAqC,mBAAmB,qCAAqC,mBAAmB,qCAAqC,mBAAmB,qCAAqC,mBAAmB,qCAAqC,mBAAmB,qCAAqC,cAAc,gCAAgC,cAAc,gCAAgC,sBAAsB,wCAAwC,iBAAiB,mCAAmC,YAAY,8BAA8B,iBAAiB,mCAAmC,mBAAmB,qCAAqC,mBAAmB,qCAAqC,gBAAgB,kCAAkC,mBAAmB,qCAAqC,mBAAmB,qCAAqC,iBAAiB,mCAAmC,qBAAqB,uCAAuC,mBAAmB,qCAAqC,0BAA0B,4CAA4C,mBAAmB,qCAAqC,gBAAgB,kCAAkC,oBAAoB,sCAAsC,eAAe,iCAAiC,YAAY,8BAA8B,aAAa,+BAA+B,WAAW,6BAA6B,WAAW,6BAA6B,cAAc,gCAAgC,YAAY,8BAA8B,aAAa,+BAA+B,YAAY,8BAA8B,YAAY,8BAA8B,eAAe,iCAAiC,aAAa,+BAA+B,YAAY,8BAA8B,aAAa,+BAA+B,YAAY,8BAA8B,aAAa,+BAA+B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,eAAe,iCAAiC,aAAa,+BAA+B,aAAa,+BAA+B,aAAa,+BAA+B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,aAAa,+BAA+B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,WAAW,6BAA6B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,aAAa,+BAA+B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,8BAA8B,UAAU,4BAA4B,UAAU,4BAA4B,UAAU,4BAA4B,UAAU,4BAA4B,UAAU,4BAA4B,UAAU,4BAA4B,UAAU,4BAA4B,SAAW,6BAA6B,SAAW,6BAA6B,SAAW,6BAA6B,SAAW,6BAA6B,SAAW,6BAA6B,SAAW,6BAA6B,SAAW,6BAA6B,SAAW,6BAA6B,SAAW,6BAA6B,UAAY,8BAA8B,WAAW,6BAA6B,eAAiB,mCAAmC,aAAe,iCAAiC,YAAY,8BAA8B,MAAQ,0BAA0B,KAAO,yBAAyB,gBAAgB,kCAAkC,SAAW,6BAA6B,UAAY,8BAA8B,WAAa,+BAA+B,cAAc,gCAAgC,OAAS,2BAA2B,OAAS,2BAA2B,iBAAiB,mCAAmC,UAAY,8BAA8B,UAAY,8BAA8B,cAAgB,kCAAkC,SAAW,6BAA6B,UAAY,8BAA8B,eAAe,iCAAiC,eAAe,iCAAiC,QAAU,4BAA4B,OAAS,2BAA2B,KAAO,yBAAyB,SAAW,6BAA6B,cAAgB,kCAAkC,cAAgB,kCAAkC,QAAU,4BAA4B,SAAW,6BAA6B,IAAM,wBAAwB,OAAS,2BAA2B,SAAW,6BAA6B,UAAY,8BAA8B,KAAO,yBAAyB,SAAW,6BAA6B,WAAa,+BAA+B,oBAAsB,wCAAwC,QAAU,4BAA4B,SAAW,6BAA6B,eAAiB,mCAAmC,kBAAoB,sCAAsC,oBAAsB,wCAAwC,mBAAqB,uCAAuC,QAAU,4BAA4B,OAAS,6B,kzBCmhJnkQ0Q,EAIAC,EAoCAC,EAgIAC,EAuDAzuB,EAsKAQ,EAOA0B,EAiGAwsB,EAsEAC,EA6BAx1B,E,yEA3lKUy1B,EAAtB,WACI,WAAgCv0B,GAA4B,yBAA5BA,gBADpC,2FAGI,WAAiCuwB,GAAjC,8EACU3yB,EAAU2yB,EAAQ3yB,QAEpBE,KAAKkC,cAAc/C,QACnBW,EAAO,cAAP,iBAAqCE,KAAKkC,cAAc/C,QAG5DW,EAAO,OAAa,WACpBA,EAAQ,iBAAmB,WAC3BA,EAAQ,iBAAmBN,OAAOge,WAE9Bxd,KAAKkC,cAAcw0B,sBACnB12B,KAAKkC,cAAcw0B,qBAAqBjE,GAZhD,kBAeWA,GAfX,gDAHJ,oFAqBI,SAA0BpzB,EAAaqK,EAAoBitB,GAAgE,IAAD,OACtH,OAAO,IAAIloB,SAAQ,SAACC,EAASC,GACzBgoB,EAAUjtB,GACL/G,MAAK,SAAAhD,GACF,EAAKi3B,qBAAqBj3B,GAC1B+O,EAAQ/O,MAEXD,OAAM,SAAAC,GACH,IAAMC,EAA2B,CAC7B2K,uBAAuB,EACvBlL,IAAKA,EACLgb,KAAM1a,EAAE+J,SACRc,WAAYd,EAAS7J,OACrB4Z,MAAO9Z,EAAE8Z,MACT3Z,QAAS4J,EAAS5J,SAGtB6O,EAAO/O,WAtC3B,kCA2CI,SAA+BujB,GAC3B,GAAKA,EAAL,CAIA,GAAIA,aAAepT,MAAO,CAAC,IAAD,gBACLoT,GADK,IACtB,2BAAsB,CAAC,IAAd0T,EAAa,QAClB72B,KAAK42B,qBAAqBC,IAFR,+BAM1B,GAAmB,kBAAR1T,EACP,IAAK,IAAI2T,KAAO3T,EACRA,EAAI4T,eAAeD,KAEf,iNAAiNE,KAC7M7T,EAAI2T,IAGR3T,EAAI2T,GAAOh1B,KAAKm1B,MAAM9T,EAAI2T,IAE1B92B,KAAK42B,qBAAqBzT,EAAI2T,KAO3B,kBAAR3T,GACP,iNAAiN6T,KAC7M7T,KAGJA,EAAMrhB,KAAKm1B,MAAM9T,SA5E7B,KA0FaxG,EAAb,kDAKI,WAAYza,EAA2B8e,EAAkBkW,GAA4E,IAAD,8BAChI,cAAMh1B,IALFg1B,UAI4H,IAH5HlW,aAG4H,IAF1HmW,sBAAmEjO,EAIzE,EAAKgO,KAAOA,GAAmB13B,OAC/B,EAAKwhB,aAAsBkI,IAAZlI,GAAqC,OAAZA,EAAmBA,EAAU,GAH2D,EALxI,6CAeI,WAAqC,IAAD,OAC5BoW,EAAOp3B,KAAKghB,QAAU,wBAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKE,iBAAiBF,WA7BxG,8BAiCI,SAA2B/tB,GAA6C,IAAD,OAC7D7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAsBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGtE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAA4B,UAnDnD,GAAiC+nB,GAqIpB1a,EAAb,kDAKI,WAAY7Z,EAA2B8e,EAAkBkW,GAA4E,IAAD,8BAChI,cAAMh1B,IALFg1B,UAI4H,IAH5HlW,aAG4H,IAF1HmW,sBAAmEjO,EAIzE,EAAKgO,KAAOA,GAAmB13B,OAC/B,EAAKwhB,aAAsBkI,IAAZlI,GAAqC,OAAZA,EAAmBA,EAAU,GAH2D,EALxI,8CAgBI,SAAW3G,GAAuE,IAAD,OACzE+c,EAAOp3B,KAAKghB,QAAU,2BAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAEIY,EAAwB,CACxB5d,KAHaE,KAAKC,UAAUH,GAI5Bkd,OAAQ,OACRz3B,QAAS,CACL,eAAgB,mBAChB,OAAU,qBAIlB,OAAOE,KAAKs3B,iBAAiBW,GAAUt1B,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKS,kBAAkBT,WAlCzG,+BAsCI,SAA4B/tB,GAA4C,IAAD,OAC7D7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAqBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGrE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAA2B,UAxDlD,GAAmC+nB,GAgKtBna,EAAb,kDAKI,WAAYpa,EAA2B8e,EAAkBkW,GAA4E,IAAD,8BAChI,cAAMh1B,IALFg1B,UAI4H,IAH5HlW,aAG4H,IAF1HmW,sBAAmEjO,EAIzE,EAAKgO,KAAOA,GAAmB13B,OAC/B,EAAKwhB,aAAsBkI,IAAZlI,GAAqC,OAAZA,EAAmBA,EAAU,GAH2D,EALxI,kDAqBI,SAAemX,EAAqCC,EAAkChzB,EAAkCC,EAAkC6D,EAA4CsP,GAAqE,IAAD,OAClQ4e,EAAOp3B,KAAKghB,QAAU,gCACVkI,IAAZiP,GAAqC,OAAZA,IACzBf,GAAQ,WAAa/zB,mBAAmB,GAAK80B,GAAW,UAC5CjP,IAAZkP,GAAqC,OAAZA,IACzBhB,GAAQ,WAAa/zB,mBAAmB,GAAK+0B,GAAW,UAC/ClP,IAAT9jB,GAA+B,OAATA,IACtBgyB,GAAQ,QAAU/zB,mBAAmB,GAAK+B,GAAQ,UACzC8jB,IAAT7jB,GAA+B,OAATA,IACtB+xB,GAAQ,QAAU/zB,mBAAmB,GAAKgC,GAAQ,UAChC6jB,IAAlBhgB,GAAiD,OAAlBA,IAC/BkuB,GAAQ,iBAAmB/zB,mBAAmB,GAAK6F,GAAiB,UACvDggB,IAAb1Q,GAAuC,OAAbA,IAC1B4e,GAAQ,YAAc/zB,mBAAmB,GAAKmV,GAAY,KAC9D4e,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKY,sBAAsBZ,WA/C7G,mCAmDI,SAAgC/tB,GAAsD,IAAD,OAC3E7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAA+Bxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAG/E,MAAXt3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAqC,QAjE5D,8BAyEI,SAAiBjH,GAAmE,IAAD,OAC3E2vB,EAAOp3B,KAAKghB,QAAU,kCACTkI,IAAbzhB,GAAuC,OAAbA,IAC1B2vB,GAAQ,YAAc/zB,mBAAmB,GAAKoE,GAAY,KAC9D2vB,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKa,wBAAwBb,WAzF/G,qCA6FI,SAAkC/tB,GAAiD,IAAD,OACxE7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAA0Bxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAG1E,MAAXt3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAgC,QA3GvD,yCAmHI,SAA4B2L,GAAmE,IAAD,OACtF+c,EAAOp3B,KAAKghB,QAAU,2CAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAEIY,EAAwB,CACxB5d,KAHaE,KAAKC,UAAUH,GAI5Bkd,OAAQ,OACRz3B,QAAS,CACL,eAAgB,mBAChB,OAAU,qBAIlB,OAAOE,KAAKs3B,iBAAiBW,GAAUt1B,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKc,mCAAmCd,WArI1H,gDAyII,SAA6C/tB,GAA0C,IAAD,OAC5E7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAmBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGnE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAIS,EAEJ,OADAA,EAA8B,KAAlBT,EAAuB,KAAkBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAC7Ea,EAAe,gCAAiCn4B,EAAQk4B,EAAeH,EAAUY,MAEtE,MAAX34B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAyB,QA7JhD,6BAoKI,WAAwC,IAAD,OAC/B0oB,EAAOp3B,KAAKghB,QAAU,4BAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKgB,uBAAuBhB,WAlL9G,oCAsLI,SAAiC/tB,GAA0C,IAAD,OAChE7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAmBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGnE,MAAXt3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAyB,QApMhD,wBA2MI,SAAW2L,GAA4D,IAAD,OAC9D+c,EAAOp3B,KAAKghB,QAAU,4CAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAEIY,EAAwB,CACxB5d,KAHaE,KAAKC,UAAUH,GAI5Bkd,OAAQ,OACRz3B,QAAS,CACL,eAAgB,mBAChB,OAAU,qBAIlB,OAAOE,KAAKs3B,iBAAiBW,GAAUt1B,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKiB,kBAAkBjB,WA7NzG,+BAiOI,SAA4B/tB,GAAuD,IAAD,OACxE7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAgCxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGhF,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAsC,QAnP7D,uBA0PI,SAAUjH,GAA+C,IAAD,OAChD2vB,EAAOp3B,KAAKghB,QAAU,sDAC1B,QAAiBkI,IAAbzhB,GAAuC,OAAbA,EAC1B,MAAM,IAAIsK,MAAM,6CAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,aAAch0B,mBAAmB,GAAKoE,KAC9C4vB,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKkB,iBAAiBlB,WA3QxG,8BA+QI,SAA2B/tB,GAAiD,IAAD,OACjE7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAA0Bxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAG1E,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAIa,EAEJ,OADAA,EAA8B,KAAlBb,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,YAAan4B,EAAQk4B,EAAeH,EAAUgB,MAElD,MAAX/4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAgC,QAvSvD,wBA+SI,SAAW2L,GAA2E,IAAD,OAC7E+c,EAAOp3B,KAAKghB,QAAU,4CAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAEIY,EAAwB,CACxB5d,KAHaE,KAAKC,UAAUH,GAI5Bkd,OAAQ,OACRz3B,QAAS,CACL,eAAgB,mBAChB,OAAU,qBAIlB,OAAOE,KAAKs3B,iBAAiBW,GAAUt1B,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKoB,kBAAkBpB,WAjUzG,+BAqUI,SAA4B/tB,GAA0C,IAAD,OAC3D7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAmBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGnE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAIS,EAEJ,OADAA,EAA8B,KAAlBT,EAAuB,KAA4Bxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBACvFa,EAAe,gCAAiCn4B,EAAQk4B,EAAeH,EAAUY,MAEtE,MAAX34B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAyB,QA7VhD,0BAoWI,SAAa9D,GAA4B,IAAD,OAChCwsB,EAAOp3B,KAAKghB,QAAU,2CAC1B,QAAWkI,IAAPte,GAA2B,OAAPA,EACpB,MAAM,IAAImH,MAAM,uCAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,OAAQh0B,mBAAmB,GAAKuH,KACxCysB,QAAQ,QAAS,IAQ7B,OAAOr3B,KAAKs3B,iBANgB,CACxBC,OAAQ,SACRz3B,QAAS,KAI0B6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKqB,oBAAoBrB,WApX3G,iCAwXI,SAA8B/tB,GAAoC,IAAD,OACvD7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,OAGX,MAAXl4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAIa,EAEJ,OADAA,EAA8B,KAAlBb,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,YAAan4B,EAAQk4B,EAAeH,EAAUgB,MAElD,MAAX/4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAmB,QA9Y1C,yCAsZI,SAA4BoC,EAAkBrJ,GAAyE,IAAD,OAC9G2vB,EAAOp3B,KAAKghB,QAAU,2CAC1B,QAAiBkI,IAAbpY,GAAuC,OAAbA,EAC1B,MAAM,IAAIiB,MAAM,gEAEhBqlB,GAAQ,YAAc/zB,mBAAmB,GAAKyN,GAAY,SAC7CoY,IAAbzhB,GAAuC,OAAbA,IAC1B2vB,GAAQ,YAAc/zB,mBAAmB,GAAKoE,GAAY,KAC9D2vB,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKsB,mCAAmCtB,WA1a1H,gDA8aI,SAA6C/tB,GAAuD,IAAD,OACzF7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAgCxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGhF,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAsC,QAhc7D,2CAwcI,SAA8BoC,EAAkBrJ,GAAyE,IAAD,OAChH2vB,EAAOp3B,KAAKghB,QAAU,wDAC1B,QAAiBkI,IAAbpY,GAAuC,OAAbA,EAC1B,MAAM,IAAIiB,MAAM,gEAEhBqlB,GAAQ,YAAc/zB,mBAAmB,GAAKyN,GAAY,SAC7CoY,IAAbzhB,GAAuC,OAAbA,IAC1B2vB,GAAQ,YAAc/zB,mBAAmB,GAAKoE,GAAY,KAC9D2vB,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKuB,qCAAqCvB,WA5d5H,kDAgeI,SAA+C/tB,GAAuD,IAAD,OAC3F7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAgCxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGhF,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAsC,QAlf7D,0CA0fI,SAA6BuqB,EAAwBxxB,GAAyD,IAAD,OACrG2vB,EAAOp3B,KAAKghB,QAAU,2DAC1B,QAAuBkI,IAAnB+P,GAAmD,OAAnBA,EAChC,MAAM,IAAIlnB,MAAM,sEAEhBqlB,GAAQ,kBAAoB/zB,mBAAmB,GAAK41B,GAAkB,SACzD/P,IAAbzhB,GAAuC,OAAbA,IAC1B2vB,GAAQ,YAAc/zB,mBAAmB,GAAKoE,GAAY,KAC9D2vB,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKyB,oCAAoCzB,WA9gB3H,iDAkhBI,SAA8C/tB,GAAuC,IAAD,OAC1E7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAgBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGhE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAsB,QApiB7C,wCA4iBI,SAA2BxD,EAAsBzD,GAAyD,IAAD,OACjG2vB,EAAOp3B,KAAKghB,QAAU,yDAC1B,QAAqBkI,IAAjBhe,GAA+C,OAAjBA,EAC9B,MAAM,IAAI6G,MAAM,oEAEhBqlB,GAAQ,gBAAkB/zB,mBAAmB,GAAK6H,GAAgB,SACrDge,IAAbzhB,GAAuC,OAAbA,IAC1B2vB,GAAQ,YAAc/zB,mBAAmB,GAAKoE,GAAY,KAC9D2vB,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAK0B,kCAAkC1B,WAhkBzH,+CAokBI,SAA4C/tB,GAAuC,IAAD,OACxE7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAgBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGhE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAsB,QAtlB7C,oBA6lBI,SAAOjH,GAAqC,IAAD,OACnC2vB,EAAOp3B,KAAKghB,QAAU,kDAC1B,QAAiBkI,IAAbzhB,GAAuC,OAAbA,EAC1B,MAAM,IAAIsK,MAAM,6CAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,aAAch0B,mBAAmB,GAAKoE,KAC9C4vB,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,OACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAK2B,cAAc3B,WA9mBrG,2BAknBI,SAAwB/tB,GAAuC,IAAD,OACpD7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAgBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGhE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAsB,QApoB7C,sBA2oBI,SAASjH,GAAqC,IAAD,OACrC2vB,EAAOp3B,KAAKghB,QAAU,oDAC1B,QAAiBkI,IAAbzhB,GAAuC,OAAbA,EAC1B,MAAM,IAAIsK,MAAM,6CAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,aAAch0B,mBAAmB,GAAKoE,KAC9C4vB,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,OACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAK4B,gBAAgB5B,WA5pBvG,6BAgqBI,SAA0B/tB,GAAuC,IAAD,OACtD7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAgBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGhE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAsB,UAlrB7C,GAAkC+nB,GAutBrBla,EAAb,kDAKI,WAAYra,EAA2B8e,EAAkBkW,GAA4E,IAAD,8BAChI,cAAMh1B,IALFg1B,UAI4H,IAH5HlW,aAG4H,IAF1HmW,sBAAmEjO,EAIzE,EAAKgO,KAAOA,GAAmB13B,OAC/B,EAAKwhB,aAAsBkI,IAAZlI,GAAqC,OAAZA,EAAmBA,EAAU,GAH2D,EALxI,+CAeI,WAA0C,IAAD,OACjCoW,EAAOp3B,KAAKghB,QAAU,mBAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAK6B,mBAAmB7B,WA7B1G,gCAiCI,SAA6B/tB,GAAgD,IAAD,OAClE7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAyBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGzE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAA+B,QAnDtD,oBA0DI,SAAO2L,GAAgD,IAAD,OAC9C+c,EAAOp3B,KAAKghB,QAAU,mBAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAEIY,EAAwB,CACxB5d,KAHaE,KAAKC,UAAUH,GAI5Bkd,OAAQ,OACRz3B,QAAS,CACL,eAAgB,qBAIxB,OAAOE,KAAKs3B,iBAAiBW,GAAUt1B,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAK8B,cAAc9B,WA3ErG,2BA+EI,SAAwB/tB,GACpB,IAAM7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,OAGX,MAAXl4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAmB,QA/F1C,qBAsGI,SAAQ9D,GAAsC,IAAD,OACrCwsB,EAAOp3B,KAAKghB,QAAU,wBAC1B,QAAWkI,IAAPte,GAA2B,OAAPA,EACpB,MAAM,IAAImH,MAAM,uCAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,OAAQh0B,mBAAmB,GAAKuH,KACxCysB,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAK+B,eAAe/B,WAvHtG,4BA2HI,SAAyB/tB,GAA8C,IAAD,OAC5D7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGvE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAIa,EAEJ,OADAA,EAA8B,KAAlBb,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,YAAan4B,EAAQk4B,EAAeH,EAAUgB,MAElD,MAAX/4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAA6B,QAnJpD,oBA0JI,SAAO9D,EAAYyP,GAAsC,IAAD,OAChD+c,EAAOp3B,KAAKghB,QAAU,wBAC1B,QAAWkI,IAAPte,GAA2B,OAAPA,EACpB,MAAM,IAAImH,MAAM,uCAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,OAAQh0B,mBAAmB,GAAKuH,KACxCysB,QAAQ,QAAS,IAE7B,IAEIY,EAAwB,CACxB5d,KAHaE,KAAKC,UAAUH,GAI5Bkd,OAAQ,MACRz3B,QAAS,CACL,eAAgB,qBAIxB,OAAOE,KAAKs3B,iBAAiBW,GAAUt1B,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKgC,cAAchC,WA9KrG,2BAkLI,SAAwB/tB,GAAoC,IAAD,OACjD7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,OAGX,MAAXl4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAI2B,EAEJ,OADAA,EAA8B,KAAlB3B,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,cAAen4B,EAAQk4B,EAAeH,EAAU8B,MAEpD,MAAX75B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAIa,EAEJ,OADAA,EAA8B,KAAlBb,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,YAAan4B,EAAQk4B,EAAeH,EAAUgB,MAElD,MAAX/4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAmB,QA9M1C,oBAqNI,SAAO9D,GAA4B,IAAD,OAC1BwsB,EAAOp3B,KAAKghB,QAAU,wBAC1B,QAAWkI,IAAPte,GAA2B,OAAPA,EACpB,MAAM,IAAImH,MAAM,uCAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,OAAQh0B,mBAAmB,GAAKuH,KACxCysB,QAAQ,QAAS,IAQ7B,OAAOr3B,KAAKs3B,iBANgB,CACxBC,OAAQ,SACRz3B,QAAS,KAI0B6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKkC,cAAclC,WArOrG,2BAyOI,SAAwB/tB,GAAoC,IAAD,OACjD7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,OAGX,MAAXl4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAIa,EAEJ,OADAA,EAA8B,KAAlBb,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,YAAan4B,EAAQk4B,EAAeH,EAAUgB,MAElD,MAAX/4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAmB,UA/P1C,GAAuC+nB,GA6Q1Bja,EAAb,kDAKI,WAAYta,EAA2B8e,EAAkBkW,GAA4E,IAAD,8BAChI,cAAMh1B,IALFg1B,UAI4H,IAH5HlW,aAG4H,IAF1HmW,sBAAmEjO,EAIzE,EAAKgO,KAAOA,GAAmB13B,OAC/B,EAAKwhB,aAAsBkI,IAAZlI,GAAqC,OAAZA,EAAmBA,EAAU,GAH2D,EALxI,4DAgBI,SAAyB4Y,EAAqBxpB,GAA4E,IAAD,OACjHgnB,EAAOp3B,KAAKghB,QAAU,wBAC1B,QAAkBkI,IAAd0Q,GAAyC,OAAdA,EAC3B,MAAM,IAAI7nB,MAAM,iEAEhB6nB,GAAaA,EAAUzoB,SAAQ,SAAA0lB,GAAUO,GAAQ,aAAe/zB,mBAAmB,GAAKwzB,GAAQ,YACjF3N,IAAf9Y,GAA2C,OAAfA,IAC5BgnB,GAAQ,cAAgB/zB,mBAAmB,GAAK+M,GAAc,KAClEgnB,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKoC,gCAAgCpC,WApCvH,6CAwCI,SAA0C/tB,GAAwD,IAAD,OACvF7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAiCxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGjF,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAuC,UA1D9D,GAA2C+nB,GAyF9Bha,EAAb,kDAKI,WAAYva,EAA2B8e,EAAkBkW,GAA4E,IAAD,8BAChI,cAAMh1B,IALFg1B,UAI4H,IAH5HlW,aAG4H,IAF1HmW,sBAAmEjO,EAIzE,EAAKgO,KAAOA,GAAmB13B,OAC/B,EAAKwhB,aAAsBkI,IAAZlI,GAAqC,OAAZA,EAAmBA,EAAU,GAH2D,EALxI,4CAeI,WAAmC,IAAD,OAC1BoW,EAAOp3B,KAAKghB,QAAU,8BAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKqC,gBAAgBrC,WA7BvG,6BAiCI,SAA0B/tB,GAA4C,IAAD,OAC3D7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAqBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGrE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAI2B,EAEJ,OADAA,EAA8B,KAAlB3B,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,cAAen4B,EAAQk4B,EAAeH,EAAU8B,MAEpD,MAAX75B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAA2B,QAzDlD,2BAgEI,SAAcsH,GAA0C,IAAD,OAC/CohB,EAAOp3B,KAAKghB,QAAU,0CAC1B,QAAakI,IAATlT,GAA+B,OAATA,EACtB,MAAM,IAAIjE,MAAM,yCAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,SAAUh0B,mBAAmB,GAAK2S,KAC1CqhB,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKsC,qBAAqBtC,WAjF5G,kCAqFI,SAA+B/tB,GAAgD,IAAD,OACpE7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAyBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGzE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAI2B,EAEJ,OADAA,EAA8B,KAAlB3B,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,cAAen4B,EAAQk4B,EAAeH,EAAU8B,MAEpD,MAAX75B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAA+B,QA7GtD,0BAoHI,SAAasH,GAA+C,IAAD,OACnDohB,EAAOp3B,KAAKghB,QAAU,yCAC1B,QAAakI,IAATlT,GAA+B,OAATA,EACtB,MAAM,IAAIjE,MAAM,yCAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,SAAUh0B,mBAAmB,GAAK2S,KAC1CqhB,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKuC,oBAAoBvC,WArI3G,iCAyII,SAA8B/tB,GAAqD,IAAD,OACxE7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAA8Bxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAG9E,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAI2B,EAEJ,OADAA,EAA8B,KAAlB3B,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,cAAen4B,EAAQk4B,EAAeH,EAAU8B,MAEpD,MAAX75B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAoC,QAjK3D,gCAwKI,SAAmBsH,GAAsC,IAAD,OAChDohB,EAAOp3B,KAAKghB,QAAU,gDAC1B,QAAakI,IAATlT,GAA+B,OAATA,EACtB,MAAM,IAAIjE,MAAM,yCAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,SAAUh0B,mBAAmB,GAAK2S,KAC1CqhB,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKwC,0BAA0BxC,WAzLjH,uCA6LI,SAAoC/tB,GAChC,IAAM7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,GAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,GAA6B,MAAXA,EAAgB,CAClC,IAAMq6B,EAAqBxwB,EAAS5J,QAAU4J,EAAS5J,QAAQC,IAAI,4BAAyBmpB,EACtFiR,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsBhR,EAC9FpY,EAAWqpB,GAAiBA,EAAcl1B,OAAS,EAAIk1B,EAAc,QAAKjR,EAChF,OAAOxf,EAAS2wB,OAAO13B,MAAK,SAAA03B,GAAU,MAAO,CAAEvpB,SAAUA,EAAUwD,KAAM+lB,EAAMx6B,OAAQA,EAAQC,QAAS83B,MACrG,OAAe,MAAX/3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAA2B,UA9MlD,GAAwC+nB,GAqQ3Bra,EAAb,kDAKI,WAAYla,EAA2B8e,EAAkBkW,GAA4E,IAAD,8BAChI,cAAMh1B,IALFg1B,UAI4H,IAH5HlW,aAG4H,IAF1HmW,sBAAmEjO,EAIzE,EAAKgO,KAAOA,GAAmB13B,OAC/B,EAAKwhB,aAAsBkI,IAAZlI,GAAqC,OAAZA,EAAmBA,EAAU,GAH2D,EALxI,0CAeI,WAAyC,IAAD,OAChCoW,EAAOp3B,KAAKghB,QAAU,+BAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAK6C,cAAc7C,WA7BrG,2BAiCI,SAAwB/tB,GAAoD,IAAD,OACjE7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAA6Bxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAG7E,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAmC,QAnD1D,iBA0DI,SAAI9D,GAA0C,IAAD,OACrCwsB,EAAOp3B,KAAKghB,QAAU,gCAC1B,QAAWkI,IAAPte,GAA2B,OAAPA,EACpB,MAAM,IAAImH,MAAM,uCAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,OAAQh0B,mBAAmB,GAAKuH,KACxCysB,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAK8C,WAAW9C,WA3ElG,wBA+EI,SAAqB/tB,GAAkD,IAAD,OAC5D7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAA2Bxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAG3E,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAIa,EAEJ,OADAA,EAA8B,KAAlBb,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,YAAan4B,EAAQk4B,EAAeH,EAAUgB,MAElD,MAAX/4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAiC,QAvGxD,oBA8GI,SAAO2L,GAA4C,IAAD,OAC1C+c,EAAOp3B,KAAKghB,QAAU,8BAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAEIY,EAAwB,CACxB5d,KAHaE,KAAKC,UAAUH,GAI5Bkd,OAAQ,MACRz3B,QAAS,CACL,eAAgB,mBAChB,OAAU,qBAIlB,OAAOE,KAAKs3B,iBAAiBW,GAAUt1B,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAK8B,cAAc9B,WAhIrG,2BAoII,SAAwB/tB,GAAsC,IAAD,OACnD7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAexd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAG/D,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAqB,QAtJ5C,oBA6JI,SAAO2L,GAA0C,IAAD,OACxC+c,EAAOp3B,KAAKghB,QAAU,8BAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAEIY,EAAwB,CACxB5d,KAHaE,KAAKC,UAAUH,GAI5Bkd,OAAQ,MACRz3B,QAAS,CACL,eAAgB,qBAIxB,OAAOE,KAAKs3B,iBAAiBW,GAAUt1B,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKgC,cAAchC,WA9KrG,2BAkLI,SAAwB/tB,GAAoC,IAAD,OACjD7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,OAGX,MAAXl4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAIa,EAEJ,OADAA,EAA8B,KAAlBb,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,YAAan4B,EAAQk4B,EAAeH,EAAUgB,MAElD,MAAX/4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAmB,QAxM1C,oBA+MI,SAAO9D,EAAY+C,GAA2C,IAAD,OACrDypB,EAAOp3B,KAAKghB,QAAU,sDAC1B,QAAWkI,IAAPte,GAA2B,OAAPA,EACpB,MAAM,IAAImH,MAAM,uCAEpB,GADAqlB,EAAOA,EAAKC,QAAQ,OAAQh0B,mBAAmB,GAAKuH,SAC3Bse,IAArBvb,GAAuD,OAArBA,EAClC,MAAM,IAAIoE,MAAM,qDAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,qBAAsBh0B,mBAAmB,GAAKsK,KACtD0pB,QAAQ,QAAS,IAQ7B,OAAOr3B,KAAKs3B,iBANgB,CACxBC,OAAQ,SACRz3B,QAAS,KAI0B6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKkC,cAAclC,WAlOrG,2BAsOI,SAAwB/tB,GAAoC,IAAD,OACjD7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,OAGX,MAAXl4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAIa,EAEJ,OADAA,EAA8B,KAAlBb,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,YAAan4B,EAAQk4B,EAAeH,EAAUgB,MAElD,MAAX/4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAmB,QA5P1C,2BAmQI,WAA2C,IAAD,OAClC0oB,EAAOp3B,KAAKghB,QAAU,uCAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAK+C,qBAAqB/C,WAjR5G,kCAqRI,SAA+B/tB,GAA+C,IAAD,OACnE7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAwBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGxE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAA8B,QAvSrD,sBA8SI,SAAS9D,GAA4B,IAAD,OAC5BwsB,EAAOp3B,KAAKghB,QAAU,qCAC1B,QAAWkI,IAAPte,GAA2B,OAAPA,EACpB,MAAM,IAAImH,MAAM,uCAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,OAAQh0B,mBAAmB,GAAKuH,KACxCysB,QAAQ,QAAS,IAQ7B,OAAOr3B,KAAKs3B,iBANgB,CACxBC,OAAQ,MACRz3B,QAAS,KAI0B6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKgD,gBAAgBhD,WA9TvG,6BAkUI,SAA0B/tB,GAAoC,IAAD,OACnD7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,OAGX,MAAXl4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAIa,EAEJ,OADAA,EAA8B,KAAlBb,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,YAAan4B,EAAQk4B,EAAeH,EAAUgB,MAElD,MAAX/4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAmB,QAxV1C,2BA+VI,WAAwC,IAAD,OAC/B0oB,EAAOp3B,KAAKghB,QAAU,uCAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKiD,qBAAqBjD,WA7W5G,kCAiXI,SAA+B/tB,GAC3B,IAAM7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,GAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,GAA6B,MAAXA,EAAgB,CAClC,IAAMq6B,EAAqBxwB,EAAS5J,QAAU4J,EAAS5J,QAAQC,IAAI,4BAAyBmpB,EACtFiR,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsBhR,EAC9FpY,EAAWqpB,GAAiBA,EAAcl1B,OAAS,EAAIk1B,EAAc,QAAKjR,EAChF,OAAOxf,EAAS2wB,OAAO13B,MAAK,SAAA03B,GAAU,MAAO,CAAEvpB,SAAUA,EAAUwD,KAAM+lB,EAAMx6B,OAAQA,EAAQC,QAAS83B,MACrG,OAAe,MAAX/3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAA2B,UAlYlD,GAA2C+nB,GA4a9B/Z,EAAb,kDAKI,WAAYxa,EAA2B8e,EAAkBkW,GAA4E,IAAD,8BAChI,cAAMh1B,IALFg1B,UAI4H,IAH5HlW,aAG4H,IAF1HmW,sBAAmEjO,EAIzE,EAAKgO,KAAOA,GAAmB13B,OAC/B,EAAKwhB,aAAsBkI,IAAZlI,GAAqC,OAAZA,EAAmBA,EAAU,GAH2D,EALxI,gDAeI,SAAapW,GAAmC,IAAD,OACvCwsB,EAAOp3B,KAAKghB,QAAU,8BAC1B,QAAWkI,IAAPte,GAA2B,OAAPA,EACpB,MAAM,IAAImH,MAAM,uCAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,OAAQh0B,mBAAmB,GAAKuH,KACxCysB,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKkD,oBAAoBlD,WAhC3G,iCAoCI,SAA8B/tB,GAA2C,IAAD,OAC9D7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAoBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGpE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAIa,EAEJ,OADAA,EAA8B,KAAlBb,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,YAAan4B,EAAQk4B,EAAeH,EAAUgB,MAElD,MAAX/4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAA0B,QA5DjD,0BAyEI,SAAaksB,EAAsCzC,EAAqC0C,EAAyCz1B,EAAkCC,EAAkC6D,GAAgF,IAAD,OAC5QkuB,EAAOp3B,KAAKghB,QAAU,+BACTkI,IAAb0R,GAAuC,OAAbA,IAC1BxD,GAAQ,YAAc/zB,mBAAmB,GAAKu3B,GAAY,UAC9C1R,IAAZiP,GAAqC,OAAZA,IACzBf,GAAQ,WAAa/zB,mBAAmB,GAAK80B,GAAW,UACxCjP,IAAhB2R,GAA6C,OAAhBA,IAC7BzD,GAAQ,eAAiB/zB,mBAAmB,GAAKw3B,GAAe,UACvD3R,IAAT9jB,GAA+B,OAATA,IACtBgyB,GAAQ,QAAU/zB,mBAAmB,GAAK+B,GAAQ,UACzC8jB,IAAT7jB,GAA+B,OAATA,IACtB+xB,GAAQ,QAAU/zB,mBAAmB,GAAKgC,GAAQ,UAChC6jB,IAAlBhgB,GAAiD,OAAlBA,IAC/BkuB,GAAQ,iBAAmB/zB,mBAAmB,GAAK6F,GAAiB,KACxEkuB,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKqD,oBAAoBrD,WAnG3G,iCAuGI,SAA8B/tB,GAAwD,IAAD,OAC3E7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAiCxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGjF,MAAXt3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAuC,QArH9D,8BA4HI,SAAiB9D,GAA0C,IAAD,OAClDwsB,EAAOp3B,KAAKghB,QAAU,kCAC1B,QAAWkI,IAAPte,GAA2B,OAAPA,EACpB,MAAM,IAAImH,MAAM,uCAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,OAAQh0B,mBAAmB,GAAKuH,KACxCysB,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKsD,wBAAwBtD,WA7I/G,qCAiJI,SAAkC/tB,GAAkD,IAAD,OACzE7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAA2Bxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAG3E,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAIa,EAEJ,OADAA,EAA8B,KAAlBb,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,YAAan4B,EAAQk4B,EAAeH,EAAUgB,MAElD,MAAX/4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAiC,QAzKxD,8BAqLI,SAAiB/H,EAAwCH,EAA2CpB,EAAkCC,EAAkC6D,GAAuF,IAAD,OACtPkuB,EAAOp3B,KAAKghB,QAAU,mCACTkI,IAAbviB,GAAuC,OAAbA,GAC1BA,GAAYA,EAASwK,SAAQ,SAAA0lB,GAAUO,GAAQ,YAAc/zB,mBAAmB,GAAKwzB,GAAQ,YAC3E3N,IAAlB1iB,GAAiD,OAAlBA,IAC/B4wB,GAAQ,iBAAmB/zB,mBAAmB,GAAKmD,GAAiB,UAC3D0iB,IAAT9jB,GAA+B,OAATA,IACtBgyB,GAAQ,QAAU/zB,mBAAmB,GAAK+B,GAAQ,UACzC8jB,IAAT7jB,GAA+B,OAATA,IACtB+xB,GAAQ,QAAU/zB,mBAAmB,GAAKgC,GAAQ,UAChC6jB,IAAlBhgB,GAAiD,OAAlBA,IAC/BkuB,GAAQ,iBAAmB/zB,mBAAmB,GAAK6F,GAAiB,KACxEkuB,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKuD,wBAAwBvD,WA7M/G,qCAiNI,SAAkC/tB,GAA+D,IAAD,OACtF7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAwCxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGxF,MAAXt3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAA8C,UA/NrE,GAAsC+nB,GAwPzB7Z,EAAb,kDAKI,WAAY1a,EAA2B8e,EAAkBkW,GAA4E,IAAD,8BAChI,cAAMh1B,IALFg1B,UAI4H,IAH5HlW,aAG4H,IAF1HmW,sBAAmEjO,EAIzE,EAAKgO,KAAOA,GAAmB13B,OAC/B,EAAKwhB,aAAsBkI,IAAZlI,GAAqC,OAAZA,EAAmBA,EAAU,GAH2D,EALxI,kDAeI,WAA2C,IAAD,OAClCoW,EAAOp3B,KAAKghB,QAAU,iCAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKwD,sBAAsBxD,WA7B7G,mCAiCI,SAAgC/tB,GAA8C,IAAD,OACnE7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGvE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAImD,EAEJ,OADAA,EAA8B,KAAlBnD,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,YAAan4B,EAAQk4B,EAAeH,EAAUsD,MAElD,MAAXr7B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAA6B,QAzDpD,wBAgEI,WAA+C,IAAD,OACtC0oB,EAAOp3B,KAAKghB,QAAU,4BAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAK0D,kBAAkB1D,WA9EzG,+BAkFI,SAA4B/tB,GAAsD,IAAD,OACvE7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAA+Bxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAG/E,MAAXt3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAqC,QAhG5D,uBAuGI,SAAUjH,GAAmD,IAAD,OACpD2vB,EAAOp3B,KAAKghB,QAAU,sCAC1B,QAAiBkI,IAAbzhB,GAAuC,OAAbA,EAC1B,MAAM,IAAIsK,MAAM,6CAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,aAAch0B,mBAAmB,GAAKoE,KAC9C4vB,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKkB,iBAAiBlB,WAxHxG,8BA4HI,SAA2B/tB,GAAqD,IAAD,OACrE7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAA8Bxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAG9E,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAIa,EAEJ,OADAA,EAA8B,KAAlBb,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,YAAan4B,EAAQk4B,EAAeH,EAAUgB,MAElD,MAAX/4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAoC,UApJ3D,GAAwC+nB,GAkQ3B5Z,EAAb,kDAKI,WAAY3a,EAA2B8e,EAAkBkW,GAA4E,IAAD,8BAChI,cAAMh1B,IALFg1B,UAI4H,IAH5HlW,aAG4H,IAF1HmW,sBAAmEjO,EAIzE,EAAKgO,KAAOA,GAAmB13B,OAC/B,EAAKwhB,aAAsBkI,IAAZlI,GAAqC,OAAZA,EAAmBA,EAAU,GAH2D,EALxI,6CAeI,SAAU9V,GAA6C,IAAD,OAC9CksB,EAAOp3B,KAAKghB,QAAU,wCAC1B,QAAqBkI,IAAjBhe,GAA+C,OAAjBA,EAC9B,MAAM,IAAI6G,MAAM,iDAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,iBAAkBh0B,mBAAmB,GAAK6H,KAClDmsB,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAK2D,iBAAiB3D,WAhCxG,8BAoCI,SAA2B/tB,GAA2C,IAAD,OAC3D7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAoBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGpE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAIa,EAEJ,OADAA,EAA8B,KAAlBb,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,YAAan4B,EAAQk4B,EAAeH,EAAUgB,MAElD,MAAX/4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAA0B,QA5DjD,0BAmEI,SAAajH,GAAkC,IAAD,OACtC2vB,EAAOp3B,KAAKghB,QAAU,6BAC1B,QAAiBkI,IAAbzhB,GAAuC,OAAbA,EAC1B,MAAM,IAAIsK,MAAM,6CAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,aAAch0B,mBAAmB,GAAKoE,KAC9C4vB,QAAQ,QAAS,IAQ7B,OAAOr3B,KAAKs3B,iBANgB,CACxBC,OAAQ,SACRz3B,QAAS,KAI0B6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAK4D,oBAAoB5D,WAnF3G,iCAuFI,SAA8B/tB,GAC1B,IAAM7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,OAGX,MAAXl4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAmB,QAvG1C,8BA8GI,SAAiBjH,GAAyC,IAAD,OACjD2vB,EAAOp3B,KAAKghB,QAAU,2CAC1B,QAAiBkI,IAAbzhB,GAAuC,OAAbA,EAC1B,MAAM,IAAIsK,MAAM,6CAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,aAAch0B,mBAAmB,GAAKoE,KAC9C4vB,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAK6D,wBAAwB7D,WA/H/G,qCAmII,SAAkC/tB,GAA2C,IAAD,OAClE7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAoBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGpE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAA0B,QArJjD,iCA4JI,SAAoBjH,GAAmD,IAAD,OAC9D2vB,EAAOp3B,KAAKghB,QAAU,6CAC1B,QAAiBkI,IAAbzhB,GAAuC,OAAbA,EAC1B,MAAM,IAAIsK,MAAM,6CAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,aAAch0B,mBAAmB,GAAKoE,KAC9C4vB,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAK8D,2BAA2B9D,WA7KlH,wCAiLI,SAAqC/tB,GAAqD,IAAD,OAC/E7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAA8Bxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAG9E,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAoC,QAnM3D,gCA0MI,SAAmBjH,GAAmD,IAAD,OAC7D2vB,EAAOp3B,KAAKghB,QAAU,oCAC1B,QAAiBkI,IAAbzhB,GAAuC,OAAbA,EAC1B,MAAM,IAAIsK,MAAM,6CAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,aAAch0B,mBAAmB,GAAKoE,KAC9C4vB,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAK+D,0BAA0B/D,WA3NjH,uCA+NI,SAAoC/tB,GAAqD,IAAD,OAC9E7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAA8Bxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAG9E,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAoC,QAjP3D,kCAwPI,SAAqBjH,GAAmD,IAAD,OAC/D2vB,EAAOp3B,KAAKghB,QAAU,0CAC1B,QAAiBkI,IAAbzhB,GAAuC,OAAbA,EAC1B,MAAM,IAAIsK,MAAM,6CAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,aAAch0B,mBAAmB,GAAKoE,KAC9C4vB,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKgE,4BAA4BhE,WAzQnH,yCA6QI,SAAsC/tB,GAAqD,IAAD,OAChF7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAA8Bxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAG9E,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAoC,UA/R3D,GAAsC+nB,GA+fzBza,EAAb,kDAKI,WAAY9Z,EAA2B8e,EAAkBkW,GAA4E,IAAD,8BAChI,cAAMh1B,IALFg1B,UAI4H,IAH5HlW,aAG4H,IAF1HmW,sBAAmEjO,EAIzE,EAAKgO,KAAOA,GAAmB13B,OAC/B,EAAKwhB,aAAsBkI,IAAZlI,GAAqC,OAAZA,EAAmBA,EAAU,GAH2D,EALxI,0DAeI,WAAwD,IAAD,OAC/CoW,EAAOp3B,KAAKghB,QAAU,mCAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKiE,8BAA8BjE,WA7BrH,2CAiCI,SAAwC/tB,GAAmD,IAAD,OAChF7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAA4Bxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAG5E,MAAXt3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAkC,QA/CzD,yBAsDI,WAAmC,IAAD,OAC1B0oB,EAAOp3B,KAAKghB,QAAU,wBAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKkE,mBAAmBlE,WApE1G,gCAwEI,SAA6B/tB,GAAyC,IAAD,OAC3D7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAkBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGlE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAwB,QA1F/C,2BAiGI,WAAkC,IAAD,OACzB0oB,EAAOp3B,KAAKghB,QAAU,0BAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKmE,qBAAqBnE,WA/G5G,kCAmHI,SAA+B/tB,GAAsC,IAAD,OAC1D7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAexd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAG/D,MAAXt3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAqB,QAjI5C,iCAwII,WAAiD,IAAD,OACxC0oB,EAAOp3B,KAAKghB,QAAU,6BAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKoE,2BAA2BpE,WAtJlH,wCA0JI,SAAqC/tB,GAA+C,IAAD,OACzE7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAwBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGxE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAA8B,QA5KrD,0BAmLI,WAA0C,IAAD,OACjC0oB,EAAOp3B,KAAKghB,QAAU,qBAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKqE,oBAAoBrE,WAjM3G,iCAqMI,SAA8B/tB,GAA+C,IAAD,OAClE7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAwBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGxE,MAAXt3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAA8B,QAnNrD,2BA0NI,WAAuC,IAAD,OAC9B0oB,EAAOp3B,KAAKghB,QAAU,sBAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKsE,qBAAqBtE,WAxO5G,kCA4OI,SAA+B/tB,GAA2C,IAAD,OAC/D7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAoBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGpE,MAAXt3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAA0B,QA1PjD,gCAiQI,WAAgD,IAAD,OACvC0oB,EAAOp3B,KAAKghB,QAAU,4BAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKuE,0BAA0BvE,WA/QjH,uCAmRI,SAAoC/tB,GAA+C,IAAD,OACxE7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAwBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGxE,MAAXt3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAA8B,QAjSrD,8BAwSI,WAA8C,IAAD,OACrC0oB,EAAOp3B,KAAKghB,QAAU,0BAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKwE,wBAAwBxE,WAtT/G,qCA0TI,SAAkC/tB,GAA+C,IAAD,OACtE7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAwBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGxE,MAAXt3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAA8B,UAxUrD,GAAkC+nB,GA0qBrB3Z,EAAb,kDAKI,WAAY5a,EAA2B8e,EAAkBkW,GAA4E,IAAD,8BAChI,cAAMh1B,IALFg1B,UAI4H,IAH5HlW,aAG4H,IAF1HmW,sBAAmEjO,EAIzE,EAAKgO,KAAOA,GAAmB13B,OAC/B,EAAKwhB,aAAsBkI,IAAZlI,GAAqC,OAAZA,EAAmBA,EAAU,GAH2D,EALxI,wDAeI,WAAqD,IAAD,OAC5CoW,EAAOp3B,KAAKghB,QAAU,oCAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKyE,4BAA4BzE,WA7BnH,yCAiCI,SAAsC/tB,GAAkD,IAAD,OAC7E7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAA2Bxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAG3E,MAAXt3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAiC,QA/CxD,qCAuDI,SAAwBytB,GAAiF,IAAD,OAChG/E,EAAOp3B,KAAKghB,QAAU,mCACFkI,IAApBiT,GAAqD,OAApBA,IACjC/E,GAAQ,mBAAqB/zB,mBAAmB,GAAK84B,GAAmB,KAC5E/E,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAK2E,+BAA+B3E,WAvEtH,4CA2EI,SAAyC/tB,GAAwD,IAAD,OACtF7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAiCxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGjF,MAAXt3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAuC,UAzF9D,GAAyC+nB,GAsG5Bva,EAAb,kDAKI,WAAYha,EAA2B8e,EAAkBkW,GAA4E,IAAD,8BAChI,cAAMh1B,IALFg1B,UAI4H,IAH5HlW,aAG4H,IAF1HmW,sBAAmEjO,EAIzE,EAAKgO,KAAOA,GAAmB13B,OAC/B,EAAKwhB,aAAsBkI,IAAZlI,GAAqC,OAAZA,EAAmBA,EAAU,GAH2D,EALxI,uDAeI,SAAoB3G,GAA4C,IAAD,OACvD+c,EAAOp3B,KAAKghB,QAAU,+BAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAEIY,EAAwB,CACxB5d,KAHaE,KAAKC,UAAUH,GAI5Bkd,OAAQ,OACRz3B,QAAS,CACL,eAAgB,qBAIxB,OAAOE,KAAKs3B,iBAAiBW,GAAUt1B,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAK4E,2BAA2B5E,WAhClH,wCAoCI,SAAqC/tB,GAAoC,IAAD,OAC9D7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,OAGX,MAAXl4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAI2B,EAEJ,OADAA,EAA8B,KAAlB3B,EAAuB,KAAqCxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAChGa,EAAe,cAAen4B,EAAQk4B,EAAeH,EAAU8B,MAEpD,MAAX75B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAmB,UAtD1C,GAAkC+nB,GAwIrBpa,EAAb,kDAKI,WAAYna,EAA2B8e,EAAkBkW,GAA4E,IAAD,8BAChI,cAAMh1B,IALFg1B,UAI4H,IAH5HlW,aAG4H,IAF1HmW,sBAAmEjO,EAIzE,EAAKgO,KAAOA,GAAmB13B,OAC/B,EAAKwhB,aAAsBkI,IAAZlI,GAAqC,OAAZA,EAAmBA,EAAU,GAH2D,EALxI,+CAeI,WAAiC,IAAD,OACxBoW,EAAOp3B,KAAKghB,QAAU,0BAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAK6B,mBAAmB7B,WA7B1G,gCAiCI,SAA6B/tB,GAAuC,IAAD,OACzD7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAgBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGhE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAsB,QAnD7C,oBA0DI,SAAO2L,GAA+B,IAAD,OAC7B+c,EAAOp3B,KAAKghB,QAAU,mBAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAEIY,EAAwB,CACxB5d,KAHaE,KAAKC,UAAUH,GAI5Bkd,OAAQ,MACRz3B,QAAS,CACL,eAAgB,qBAIxB,OAAOE,KAAKs3B,iBAAiBW,GAAUt1B,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAK6E,cAAc7E,WA3ErG,2BA+EI,SAAwB/tB,GACpB,IAAM7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,OAGX,MAAXl4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAmB,UA/F1C,GAAgC+nB,GAkJnBta,EAAb,kDAKI,WAAYja,EAA2B8e,EAAkBkW,GAA4E,IAAD,8BAChI,cAAMh1B,IALFg1B,UAI4H,IAH5HlW,aAG4H,IAF1HmW,sBAAmEjO,EAIzE,EAAKgO,KAAOA,GAAmB13B,OAC/B,EAAKwhB,aAAsBkI,IAAZlI,GAAqC,OAAZA,EAAmBA,EAAU,GAH2D,EALxI,gDAgBI,SAAangB,EAAe07B,EAAkCz7B,GAA4D,IAAD,OACjHs2B,EAAOp3B,KAAKghB,QAAU,4BAC1B,QAAckI,IAAVroB,GAAiC,OAAVA,EACvB,MAAM,IAAIkR,MAAM,6DAGpB,GADIqlB,GAAQ,SAAW/zB,mBAAmB,GAAKxC,GAAS,SAChCqoB,IAApBqT,GAAqD,OAApBA,EACjC,MAAM,IAAIxqB,MAAM,uEAEhBqlB,GAAQ,mBAAqB/zB,mBAAmB,GAAKk5B,GAAmB,SACxDrT,IAAhBpoB,GAA6C,OAAhBA,IAC7Bs2B,GAAQ,eAAiB/zB,mBAAmB,GAAKvC,GAAe,KACpEs2B,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,OACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAK+E,oBAAoB/E,WAxC3G,iCA4CI,SAA8B/tB,GAAuC,IAAD,OAC1D7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAgBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGhE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAI2B,EAEJ,OADAA,EAA8B,KAAlB3B,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,cAAen4B,EAAQk4B,EAAeH,EAAU8B,MAEpD,MAAX75B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAsB,QAhE7C,0BAuEI,SAAa2L,GAAoD,IAAD,OACxD+c,EAAOp3B,KAAKghB,QAAU,0BAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAEIY,EAAwB,CACxB5d,KAHaE,KAAKC,UAAUH,GAI5Bkd,OAAQ,OACRz3B,QAAS,CACL,eAAgB,mBAChB,OAAU,qBAIlB,OAAOE,KAAKs3B,iBAAiBW,GAAUt1B,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKgF,oBAAoBhF,WAzF3G,iCA6FI,SAA8B/tB,GAA6C,IAAD,OAChE7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAsBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGtE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAImD,EAEJ,OADAA,EAA8B,KAAlBnD,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,YAAan4B,EAAQk4B,EAAeH,EAAUsD,MAElD,MAAXr7B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAI2B,EAEJ,OADAA,EAA8B,KAAlB3B,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,cAAen4B,EAAQk4B,EAAeH,EAAU8B,MAEpD,MAAX75B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAA4B,QA3HnD,qBAkII,WAA8B,IAAD,OACrB0oB,EAAOp3B,KAAKghB,QAAU,iBAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKiF,eAAejF,WAhJtG,4BAoJI,SAAyB/tB,GAAwC,IAAD,OACtD7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAiBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGjE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAImD,EAEJ,OADAA,EAA8B,KAAlBnD,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,YAAan4B,EAAQk4B,EAAeH,EAAUsD,MAElD,MAAXr7B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAuB,QA5K9C,qBAmLI,SAAQlN,GAAgC,IAAD,OAC/B41B,EAAOp3B,KAAKghB,QAAU,sBAC1B,QAAekI,IAAX1nB,GAAmC,OAAXA,EACxB,MAAM,IAAIuQ,MAAM,8DAGpBqlB,GADIA,GAAQ,UAAY/zB,mBAAmB,GAAK7B,GAAU,KAC9C61B,QAAQ,QAAS,IAQ7B,OAAOr3B,KAAKs3B,iBANgB,CACxBC,OAAQ,OACRz3B,QAAS,KAI0B6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKkF,eAAelF,WApMtG,4BAwMI,SAAyB/tB,GAAoC,IAAD,OAClD7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,OAGX,MAAXl4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAIa,EAEJ,OADAA,EAA8B,KAAlBb,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,YAAan4B,EAAQk4B,EAAeH,EAAUgB,MAElD,MAAX/4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAmB,QA9N1C,2BAqOI,SAAc2L,GAA0C,IAAD,OAC/C+c,EAAOp3B,KAAKghB,QAAU,4BAC1BoW,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAEIY,EAAwB,CACxB5d,KAHaE,KAAKC,UAAUH,GAI5Bkd,OAAQ,OACRz3B,QAAS,CACL,eAAgB,qBAIxB,OAAOE,KAAKs3B,iBAAiBW,GAAUt1B,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKmF,qBAAqBnF,WAtP5G,kCA0PI,SAA+B/tB,GAC3B,IAAM7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,OAGX,MAAXl4B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAmB,QA1Q1C,sBAiRI,SAASlN,GAAyC,IAAD,OACzC41B,EAAOp3B,KAAKghB,QAAU,+BAC1B,QAAekI,IAAX1nB,GAAmC,OAAXA,EACxB,MAAM,IAAIuQ,MAAM,2CAEpBqlB,GADAA,EAAOA,EAAKC,QAAQ,WAAYh0B,mBAAmB,GAAK7B,KAC5C61B,QAAQ,QAAS,IAS7B,OAAOr3B,KAAKs3B,iBAPgB,CACxBC,OAAQ,MACRz3B,QAAS,CACL,OAAU,sBAIqB6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKoF,gBAAgBpF,WAlSvG,6BAsSI,SAA0B/tB,GAA6C,IAAD,OAC5D7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAG7B,MAD8B,KAAlBA,EAAuB,KAAsBxd,KAAK0c,MAAMc,EAAe,EAAKZ,qBAGtE,MAAXt3B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,IAAI2B,EAEJ,OADAA,EAA8B,KAAlB3B,EAAuB,KAAuBxd,KAAK0c,MAAMc,EAAe,EAAKZ,kBAClFa,EAAe,cAAen4B,EAAQk4B,EAAeH,EAAU8B,MAEpD,MAAX75B,EACA6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,eAAgBn4B,EAAQk4B,EAAeH,MAE3C,MAAX/3B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAA4B,QA9TnD,oBAsUI,SAAOlN,GAAoD,IAAD,OAClD41B,EAAOp3B,KAAKghB,QAAU,yBACXkI,IAAX1nB,GAAmC,OAAXA,IACxB41B,GAAQ,UAAY/zB,mBAAmB,GAAK7B,GAAU,KAC1D41B,EAAOA,EAAKC,QAAQ,QAAS,IAQ7B,OAAOr3B,KAAKs3B,iBANgB,CACxBC,OAAQ,OACRz3B,QAAS,KAI0B6C,MAAK,SAAA60B,GACxC,OAAO,EAAKN,KAAKz3B,MAAM23B,EAAMI,MAC9B70B,MAAK,SAAC80B,GACL,OAAO,EAAKC,gBAAgBN,EAAMK,GAAW,SAACA,GAAD,OAAyB,EAAKqF,cAAcrF,WArVrG,2BAyVI,SAAwB/tB,GACpB,IAAM7J,EAAS6J,EAAS7J,OACpB+3B,EAAgB,GACpB,OAD4BluB,EAAS5J,SAAW4J,EAAS5J,QAAQqR,SAAWzH,EAAS5J,QAAQqR,SAAQ,SAAC0mB,EAAQC,GAAT,OAAoBF,EAASE,GAAKD,KACxH,MAAXh4B,EACO6J,EAAS1E,OAAOrC,MAAK,SAACo1B,OAGX,MAAXl4B,GAA6B,MAAXA,EAClB6J,EAAS1E,OAAOrC,MAAK,SAACo1B,GAC7B,OAAOC,EAAe,uCAAwCn4B,EAAQk4B,EAAeH,MAGlFnpB,QAAQC,QAAmB,UArW1C,GAAgC+nB,I,SA2XpBN,O,kBACiB,qB,qBADjBA,M,cAIAC,O,SACQ,Y,WADRA,I,KAEI,Q,OAFJA,I,OAGM,U,SAHNA,I,KAII,Q,OAJJA,I,OAKM,U,UALNA,M,cAoCAC,O,aACY,gB,eADZA,I,aAEY,gB,eAFZA,I,SAGQ,Y,YAHRA,M,cAgIAC,O,YACW,e,cADXA,I,oBAEmB,uB,sBAFnBA,I,iBAGgB,oB,oBAHhBA,M,cAuDAzuB,O,SACQ,Y,WADRA,I,QAEO,W,UAFPA,I,SAGQ,Y,YAHRA,M,cAsKAQ,O,UACS,a,YADTA,I,OAEM,U,SAFNA,I,OAGM,U,SAHNA,I,QAIO,W,WAJPA,M,cAOA0B,O,OACM,U,SADNA,I,OAEM,U,SAFNA,I,SAGQ,Y,WAHRA,I,UAIS,a,aAJTA,M,cAiGAwsB,O,WACU,c,aADVA,I,UAES,a,YAFTA,I,UAGS,a,YAHTA,I,OAIM,U,UAJNA,M,cAsEAC,O,YACW,e,cADXA,I,SAEQ,Y,WAFRA,I,UAGS,a,aAHTA,M,cA6BAx1B,O,SACQ,Y,WADRA,I,UAES,a,aAFTA,M,KAYL,IAAM+7B,EAAb,kDAOI,WAAYxjB,EAAiB1Z,EAAgB6J,EAAkB5J,EAAkCk9B,GAAc,IAAD,8BAC1G,gBAPJzjB,aAM8G,IAL9G1Z,YAK8G,IAJ9G6J,cAI8G,IAH9G5J,aAG8G,IAF9Gk9B,YAE8G,IAUpGC,oBAAqB,EAP3B,EAAK1jB,QAAUA,EACf,EAAK1Z,OAASA,EACd,EAAK6J,SAAWA,EAChB,EAAK5J,QAAUA,EACf,EAAKk9B,OAASA,EAP4F,EAPlH,2DAmBI,SAA0B7Z,GACtB,OAAkC,IAA3BA,EAAI8Z,uBApBnB,eAAsClrB,QAwBtC,SAASimB,EAAeze,EAAiB1Z,EAAgB6J,EAAkB5J,EAAkCk9B,GACzG,MAAM,IAAID,EAAiBxjB,EAAS1Z,EAAQ6J,EAAU5J,EAASk9B,K,0LCnoKtDjT,EAAc,WAC1B,OAAO,SAA8HnG,GACpI,IAAMsZ,EAAyB5O,YAAS1K,GAMxC,OAL6B,SAACP,GAC7B,IAAMnkB,EAAWykB,IAAMwZ,WAAWxI,KAClC,OAAO,cAACuI,EAAD,aAAmBh+B,SAAUA,GAAcmkB,OAWxCwR,EAA6C,CACzDC,WAAY,MAIAvG,EAAc,kBAD0C5K,IAAMwZ,WAAWtI,EAAmBC,c","file":"static/js/main.b680ac72.chunk.js","sourcesContent":["import {AppStore} from \"../stores/app.store\";\nimport {AuthConfig} from \"./webapicall.extensions\";\n\n/** Implements auth config, which gives the token to the API Client library, and implements a fetch function which orchestrates the refresh token function. */\nexport class AuthConfigImpl implements AuthConfig {\n\ttoken: string = \"\";\n\trefreshToken: string = \"\";\n\n\tconstructor(protected appStore: AppStore) {}\n\n\tasync fetch(url: RequestInfo, init?: RequestInit): Promise {\n\t\tlet res = await window.fetch(url, init).catch((r: Response) => r);\n\t\tif (res.status === 401 && url !== \"/api/user/refresh-token\") {\n\t\t\tif (res.headers.get(\"x-auth-token-expired\") === \"true\") {\n\t\t\t\tconst result = await this.appStore.userStore.refreshToken(this.refreshToken);\n\n\t\t\t\tif (result) {\n\t\t\t\t\t(init.headers as Record)[\"Authorization\"] = `Bearer ${this.token}`;\n\t\t\t\t\tres = await window.fetch(url, init);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn res;\n\t}\n}\n","import {action, computed, flow, makeObservable, observable} from \"mobx\";\nimport {IApiClient} from \"../common/api.client\";\nimport {ApplicationType, CpdProgressDto, MemberDto, TokenResponse, UserDto, UserPreferenceDto} from \"../common/webapicall\";\nimport Cookies from \"js-cookie\";\nimport {IConfigurationProvider} from \"../common/public.configuration\";\nimport {LoadingState} from \"../types/LoadingState\";\nimport { LocalStorageKeys } from \"../resources/localestorage-keys\";\n\nexport class UserStore {\n\tconstructor(private apiClient: IApiClient, private configurationProvider: IConfigurationProvider) {\n\t\tmakeObservable(this);\n\t}\n\n\t@observable isLoggedIn = false;\n\t@observable expiration: Date = null;\n\t@observable userId: string = null;\n\t@observable totaraId: number = null;\n\t@observable userName: string = null;\n\t@observable firstName: string = null;\n\t@observable lastName: string = null;\n\t@observable dateCreated: Date = null;\n\t@observable memberInfo: MemberDto = {};\n\t@observable isLoginVisible: boolean = false;\n\t@observable users: UserDto[] = [];\n\t@observable cpdProgress: CpdProgressDto = {};\n\t@observable userPreferences: UserPreferenceDto[] = [];\n\t@observable loadingState: LoadingState = \"initial\";\n\n\t@computed\n\tget hasMemberAccess(): boolean {\n\t\treturn this.memberInfo?.hasDlpMemberAccess ?? false;\n\t}\n\n\tasync logAuditTrail(screenName: string) {\n\t\tawait this.apiClient.userClient.logAuditTrail({\n\t\t\tscreenName: screenName,\n\t\t\turl: window.location.href,\n\t\t});\n\t}\n\n\tasync loginByEmail(email: string, redirectUrl: string): Promise {\n\t\treturn await this.apiClient.userClient.loginByEmail(email, ApplicationType.ClientApp, redirectUrl);\n\t}\n\n\t@action\n\tasync init() {\n\t\tconst token = this.getAuthToken();\n\t\tconst refreshToken = UserStore.getRefreshToken();\n\n\t\tif (token) {\n\t\t\tthis.apiClient.setAuthToken(token, refreshToken);\n\n\t\t\tconst userInfo = await this.apiClient.userClient.getInfo();\n\t\t\tthis.isLoggedIn = true;\n\t\t\tthis.userId = userInfo.userId;\n\t\t\tthis.totaraId = userInfo.totaraId;\n\t\t\tthis.userName = `${userInfo.firstName} ${userInfo.lastName}`;\n\t\t\tthis.firstName = userInfo.firstName;\n\t\t\tthis.lastName = userInfo.lastName;\n\t\t\tthis.memberInfo = userInfo.memberInfo;\n\t\t\tthis.dateCreated = userInfo.dateCreated ? new Date(userInfo.dateCreated) : null;\n\t\t\tthis.userPreferences = userInfo.preferences;\n\n\t\t\tthis.getCpdProgress();\n\t\t}\n\n\t\tif (this.configurationProvider.configuration.showUserDropdown && this.isLoggedIn) {\n\t\t\tthis.users = await this.apiClient.lookupClient.getAllUsers();\n\t\t}\n\n\t\tthis.loadingState = \"completed\";\n\t}\n\n\t@flow\n\t*getCpdProgress() {\n\t\tthis.cpdProgress = yield this.apiClient.dlpDashboardClient.getCpdProgress();\n\t}\n\n\tasync refreshToken(refreshToken: string) {\n\t\tlet successful = true;\n\t\tlet tokenResponse: TokenResponse;\n\t\tawait this.apiClient.userClient\n\t\t\t.refreshToken({\n\t\t\t\trefreshToken: refreshToken,\n\t\t\t})\n\t\t\t.then(r => {\n\t\t\t\tsuccessful = true;\n\t\t\t\ttokenResponse = r;\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tsuccessful = false;\n\t\t\t});\n\n\t\tif (successful) {\n\t\t\tUserStore.setAuthCookies(tokenResponse);\n\t\t\tthis.apiClient.setAuthToken(tokenResponse.token, tokenResponse.refreshToken);\n\t\t}\n\n\t\treturn successful;\n\t}\n\n\tgetLoginUrl(): string {\n\t\tif (this.isLoginVisible) {\n\t\t\treturn window.location.hash;\n\t\t} else {\n\t\t\treturn this.getLoginRedirectUrl(window.location.hash);\n\t\t}\n\t}\n\n\tcanChangeUser(): boolean {\n\t\treturn this.configurationProvider.configuration.showUserDropdown;\n\t}\n\n\tasync changeUser(userId: string) {\n\t\tif (this.canChangeUser()) {\n\t\t\tlet tokenResponse = await this.apiClient.userClient.getToken(userId);\n\t\t\tthis.updateTokens(tokenResponse);\n\t\t}\n\t}\n\n\tprivate updateTokens(tokenResponse: TokenResponse) {\n\t\tif (this.canChangeUser()) {\n\t\t\tUserStore.setAuthCookies(tokenResponse);\n\t\t\twindow.location.href = \"/\";\n\t\t}\n\t}\n\n\tprivate getLoginRedirectUrl(redirectUrl?: string): string {\n\t\tlet loginUrl = this.configurationProvider.configuration.loginUrl;\n\t\tif (!redirectUrl) {\n\t\t\treturn loginUrl;\n\t\t}\n\t\tif (redirectUrl[0] !== \"/\") {\n\t\t\tredirectUrl = `/${redirectUrl}`;\n\t\t}\n\t\treturn `${loginUrl}/${encodeURIComponent(redirectUrl)}`;\n\t}\n\n\tasync logout() {\n\t\tlocalStorage.removeItem(LocalStorageKeys.cihtsession);\n\t\tthis.apiClient.setAuthToken(null, null);\n\t\twindow.location.href = this.configurationProvider.configuration.openIdLogoutUrl;\n\t}\n\n\tsendToOpenIdLogin(redirectUrl?: string): void {\n\t\tif (this.configurationProvider.configuration.isOpenIdLoginEnabled) {\n\t\t\twindow.location.href = this.getOpenIdRedirectUrl(redirectUrl);\n\t\t}\n\t}\n\n\tprivate getOpenIdRedirectUrl(redirectUrl?: string): string {\n\t\tif (!redirectUrl) {\n\t\t\treturn this.configurationProvider.configuration.openIdLoginUrl;\n\t\t}\n\n\t\tlet queryParams = {};\n\t\tif (redirectUrl) {\n\t\t\tif (redirectUrl[0] !== \"/\") {\n\t\t\t\tredirectUrl = `/${redirectUrl}`;\n\t\t\t}\n\t\t\tqueryParams = {...queryParams, redirectUrl: encodeURIComponent(redirectUrl)};\n\t\t}\n\n\t\tconst queryString = new URLSearchParams(queryParams).toString();\n\t\treturn `${this.configurationProvider.configuration.openIdLoginUrl}?${queryString}`;\n\t}\n\n\tgetAuthToken(): string {\n\t\treturn Cookies.get(\"authToken\");\n\t}\n\n\tprivate static getRefreshToken() {\n\t\treturn Cookies.get(\"refreshToken\");\n\t}\n\n\tprivate static setAuthCookies(tokenResponse: TokenResponse) {\n\t\tCookies.set(\"authToken\", tokenResponse.token);\n\t\tCookies.set(\"refreshToken\", tokenResponse.refreshToken);\n\t}\n\n\t@computed\n\tget isUserCreatedBeforeGoLive() {\n\t\tconst goLiveDate = new Date(this.configurationProvider.configuration.goLiveDate);\n\t\treturn this.dateCreated !== null && this.dateCreated < goLiveDate;\n\t}\n}\n","import {IApiClient} from \"../common/api.client\";\nimport {ContextModel} from \"../common/webapicall\";\nimport {action, makeObservable, observable} from \"mobx\";\n\nexport class AppContextStore {\n\t@observable contextModel: ContextModel;\n\n\tconstructor(private apiClient: IApiClient) {\n\t\tmakeObservable(this);\n\t}\n\n\tasync loadContext(userId: string): Promise {\n\t\tlet contextResponse = await this.apiClient.contextClient.getContext({\n\t\t\tuserId: userId,\n\t\t});\n\t\tthis.handleContextResponse(contextResponse);\n\t}\n\n\t@action\n\tprivate handleContextResponse(contextResponse: ContextModel): void {\n\t\tthis.contextModel = contextResponse;\n\t}\n}\n","export function getNotEmptyStringOrNull(text: string | null): string | null {\n\tif (!text) {\n\t\treturn null;\n\t}\n\n\treturn text.length > 0 ? text : null;\n}\n","import {action, flow, makeObservable, observable} from \"mobx\";\nimport {IApiClient} from \"../common/api.client\";\nimport {DlpEventCarouselResponse, DlpEventDto, DlpKnowledgeHubCarouselResponse, DlpKnowledgeHubDto} from \"../common/webapicall\";\nimport {getNotEmptyStringOrNull} from \"../utils/string-utils\";\nimport {LoadingState} from \"../types/LoadingState\";\n\nexport class DashboardCarouselsStore {\n\t@observable loadingState: LoadingState;\n\n\t@observable events: DlpEventDto[] = [];\n\t@observable selectedEventRegionId: string | null = null;\n\t@observable selectedEventTopicId: string | null = null;\n\t@observable selectedEventTypeId: string | null = null;\n\n\t@observable knowledgeItems: DlpKnowledgeHubDto[] = [];\n\t@observable totalKnowledgeItems: number = 0;\n\n\t@observable selectedKnowledgeContentTypeId: string | null = null;\n\t@observable selectedKnowledgeTopicIds: string[] | null = null;\n\n\tconstructor(private apiClient: IApiClient) {\n\t\tmakeObservable(this);\n\n\t\tthis.loadingState = \"initial\";\n\t}\n\n\t@flow\n\t*init() {\n\t\tthis.loadingState = \"loading\";\n\n\t\tyield this.initEvents();\n\n\t\tthis.loadingState = \"completed\";\n\t}\n\n\t@flow\n\t*initEvents(skip: number = 0, take: number = 25, getAllItems: boolean = false) {\n\t\tconst eventResponse: DlpEventCarouselResponse = yield this.fetchEvents(skip, take, getAllItems);\n\t\tthis.events = [...eventResponse.events];\n\t}\n\n\t@flow\n\t*updateEvents(skip: number = 0, take: number = 25, getAllitems: boolean = true) {\n\t\tconst eventResponse: DlpEventCarouselResponse = yield this.fetchEvents(skip, take, getAllitems);\n\t\tthis.events = [...this.events, ...eventResponse.events];\n\t}\n\n\t@flow\n\t*initKnowledgeItems(skip: number = 0, take: number = 25, getAllItems: boolean = false) {\n\t\tconst knowledgeResponse: DlpKnowledgeHubCarouselResponse = yield this.fetchKnowledgeItems(skip, take, getAllItems);\n\n\t\tthis.knowledgeItems = [...knowledgeResponse.items];\n\t\tthis.totalKnowledgeItems = knowledgeResponse.totalCount;\n\t}\n\n\t@flow\n\t*updateKnowledgeItems(skip: number = 0, take: number = 25, getAllItems: boolean = false) {\n\t\tconst knowledgeResponse: DlpKnowledgeHubCarouselResponse = yield this.fetchKnowledgeItems(skip, take, getAllItems);\n\n\t\tthis.knowledgeItems = [...this.knowledgeItems, ...knowledgeResponse.items];\n\t\tthis.totalKnowledgeItems = knowledgeResponse.totalCount;\n\t}\n\n\t@flow\n\t*setSelectedEventRegionId(region: string | null) {\n\t\tthis.selectedEventRegionId = getNotEmptyStringOrNull(region);\n\t\tyield this.setFilteredEvents();\n\t}\n\n\t@flow\n\t*setSelectedEventTopicId(topic: string | null) {\n\t\tthis.selectedEventTopicId = getNotEmptyStringOrNull(topic);\n\t\tyield this.setFilteredEvents();\n\t}\n\n\t@flow\n\t*setSelectedEventTypeId(typeId: string | null) {\n\t\tthis.selectedEventTypeId = getNotEmptyStringOrNull(typeId);\n\t\tyield this.setFilteredEvents();\n\t}\n\n\t@flow\n\t*setFilteredEvents() {\n\t\tyield this.initEvents();\n\t}\n\n\t@flow\n\t*setSelectedKnowledgeContentTypeId(contentTypeId: string | null) {\n\t\tthis.selectedKnowledgeContentTypeId = getNotEmptyStringOrNull(contentTypeId);\n\t\tyield this.initKnowledgeItems();\n\t}\n\n\t@flow\n\t*setSelectedKnowledgeTopicIds(topicIds: string[] | null) {\n\t\tthis.selectedKnowledgeTopicIds = topicIds;\n\t\tyield this.initKnowledgeItems();\n\t}\n\n\t@action\n\temptyKnowledgeItems() {\n\t\tthis.selectedKnowledgeTopicIds = null;\n\t\tthis.knowledgeItems = [];\n\t\tthis.totalKnowledgeItems = 0;\n\t}\n\n\tprivate fetchEvents(skip: number = 0, take: number = 25, getAllItems: boolean = false) {\n\t\treturn this.apiClient.dlpContentClient.getAllEvents(\n\t\t\tthis.selectedEventRegionId,\n\t\t\tthis.selectedEventTopicId,\n\t\t\tthis.selectedEventTypeId,\n\t\t\tskip,\n\t\t\ttake,\n\t\t\tgetAllItems,\n\t\t);\n\t}\n\n\tprivate fetchKnowledgeItems(skip: number = 0, take: number = 25, getAllItems: boolean = false) {\n\t\treturn this.apiClient.dlpContentClient.getAllKnowledges(this.selectedKnowledgeTopicIds, this.selectedKnowledgeContentTypeId, skip, take, getAllItems);\n\t}\n}\n","import {computed, flow, makeObservable, observable} from \"mobx\";\nimport {IApiClient} from \"../common/api.client\";\nimport {DashboardCarouselsStore} from \"./dashboard.carousels.store\";\nimport {ActivityFromCourseDto, DlpDashboardContentDto} from \"../common/webapicall\";\n\nexport class DlpDashboardStore {\n\tprivate readonly apiClient: IApiClient;\n\treadonly carouselsStore: DashboardCarouselsStore;\n\n\t@observable content: DlpDashboardContentDto | null;\n\n\tconstructor(apiClient: IApiClient) {\n\t\tmakeObservable(this);\n\n\t\tthis.apiClient = apiClient;\n\t\tthis.carouselsStore = new DashboardCarouselsStore(apiClient);\n\t}\n\n\t@flow\n\t*init() {\n\t\tyield this.carouselsStore.init();\n\n\t\tthis.content = yield this.apiClient.dlpDashboardClient.getContent();\n\t}\n\n\t@computed\n\tget hasAchievements(): boolean {\n\t\treturn this.content?.achievementsEarned > 0;\n\t}\n\n\t@computed\n\tget hasInProgressCourses(): boolean {\n\t\treturn this.content?.coursesInProgress > 0;\n\t}\n\n\t@computed\n\tget hasPromotionalEvent(): boolean {\n\t\treturn this.content?.promotions?.some(p => p);\n\t}\n\n\tasync getCourseForActivityCreation(courseId: string): Promise {\n\t\treturn await this.apiClient.dlpDashboardClient.getCourse(courseId);\n\t}\n}\n","import {computed, makeObservable, observable} from \"mobx\";\nimport {CpdType, MembershipStatus} from \"../common/webapicall\";\nimport {UserStore} from \"./user.store\";\n\nexport class AuthStore {\n\t@observable roles: Set;\n\n\tconstructor(private userStore: UserStore) {\n\t\tmakeObservable(this);\n\t}\n\n\t@computed\n\tget hasMemberAccess(): boolean | undefined {\n\t\treturn this.userStore.memberInfo?.hasDlpMemberAccess;\n\t}\n\n\t@computed\n\tget isRegisteredNonMember(): boolean {\n\t\treturn this.userStore.isLoggedIn && !this.userStore.memberInfo?.hasDlpMemberAccess;\n\t}\n\n\t@computed\n\tget isCPDAllowed(): boolean {\n\t\treturn this.userStore.memberInfo?.cpdType === CpdType.Allowed;\n\t}\n\n\t@computed\n\tget isCPDRequired(): boolean {\n\t\treturn this.userStore.memberInfo?.cpdType === CpdType.Required;\n\t}\n\n\t@computed\n\tget hasCpdAccess(): boolean {\n\t\treturn this.userStore.isLoggedIn && this.hasMemberAccess && this.userStore.memberInfo?.cpdType !== CpdType.NoAccess;\n\t}\n\n\t@computed\n\tget hasCpdReadAccess(): boolean {\n\t\treturn this.userStore.isLoggedIn && (this.userStore?.cpdProgress.hasCpdProgress || this.hasCpdAccess);\n\t}\n\n\t@computed\n\tget isShowMembershipExpiringWarningEnabled() {\n\t\treturn this.userStore.memberInfo?.showMembershipExpiringWarning;\n\t}\n\n\t@computed\n\tget membershipStatus(): MembershipStatus {\n\t\tif (!this.userStore.isLoggedIn) {\n\t\t\treturn MembershipStatus.Anonymous;\n\t\t}\n\n\t\tif (this.userStore.memberInfo?.showMembershipExpiringWarning) {\n\t\t\treturn MembershipStatus.Expired;\n\t\t}\n\n\t\tif (this.userStore.memberInfo?.hasDlpMemberAccess) {\n\t\t\treturn MembershipStatus.Member;\n\t\t}\n\n\t\treturn MembershipStatus.Public;\n\t}\n}\n","import {action, computed, flow, makeObservable, observable} from \"mobx\";\nimport {CourseCategory, CourseTiles, GetCourseTilesResponse, OrderByType} from \"../common/webapicall\";\nimport {IApiClient} from \"../common/api.client\";\nimport debounce from \"lodash/debounce\";\n\nexport class CourseCatalogStore {\n\tprivate readonly apiClient: IApiClient;\n\tprivate readonly defaultPageSize: number = 12;\n\n\t@observable courses: CourseTiles[];\n\t@observable coursesLoading: boolean;\n\t@observable topicIdQueryParameter: string = \"\";\n\t@observable orderByQueryParameter: OrderByType = OrderByType.Newest;\n\t@observable categoryQueryParameter: CourseCategory | null = null;\n\t@observable skipQueryParameter: number = 0;\n\t@observable takeQueryParameter: number = this.defaultPageSize;\n\t@observable totalCount: number = 0;\n\n\tconstructor(apiClient: IApiClient) {\n\t\tmakeObservable(this);\n\t\tthis.apiClient = apiClient;\n\n\t\tthis.courses = [];\n\t\tthis.coursesLoading = false;\n\t}\n\n\t@flow\n\t*init() {\n\t\tyield this.fetchCourseTiles(true);\n\t}\n\n\t@flow\n\t*fetchCourseTiles(getTotalCount: boolean) {\n\t\tthis.coursesLoading = true;\n\t\tconst response: GetCourseTilesResponse = yield this.apiClient.courseClient.getCourseTiles(\n\t\t\tthis.topicIdQueryParameter,\n\t\t\tthis.orderByQueryParameter,\n\t\t\tthis.skipQueryParameter,\n\t\t\tthis.takeQueryParameter,\n\t\t\tgetTotalCount,\n\t\t\tthis.categoryQueryParameter\n\t\t);\n\n\t\tif (getTotalCount) {\n\t\t\tthis.courses = response.courseTiles;\n\t\t\tthis.totalCount = response.totalCount;\n\t\t} else {\n\t\t\tthis.courses = [...this.courses, ...response.courseTiles];\n\t\t}\n\n\t\tthis.coursesLoading = false;\n\t}\n\n\t@action\n\tsetOrderByQueryParameterValue(value: string) {\n\t\tthis.orderByQueryParameter = Object.values(OrderByType).indexOf(value);\n\t\tthis.skipQueryParameter = 0;\n\t\tthis.fetchCourseTiles(true);\n\t}\n\n\t@action\n\tsetTopicIdFilterQueryParameterValue(value: string) {\n\t\tthis.topicIdQueryParameter = value;\n\t\tthis.skipQueryParameter = 0;\n\t\tthis.fetchCourseTiles(true);\n\t}\n\t\n\t@action\n\tsetCategoryFilterQueryParameterValue(value: CourseCategory | null) {\n\t\tthis.categoryQueryParameter = value;\n\t\tthis.skipQueryParameter = 0;\n\t\tthis.fetchCourseTiles(true);\n\t}\n\n\tprivate fetchCourseTilesDebounced = debounce(() => this.fetchCourseTiles(true), 1000, {trailing: true});\n\n\t@action\n\tsetSearchTermQueryParameter(value: string) {\n\t\tthis.skipQueryParameter = 0;\n\t\tthis.fetchCourseTilesDebounced();\n\t}\n\n\t@action\n\tloadMoreCourses() {\n\t\tthis.skipQueryParameter += this.takeQueryParameter;\n\t\tthis.fetchCourseTiles(false);\n\t}\n\n\t@computed\n\tget showLoadMoreButton(): boolean {\n\t\treturn this.skipQueryParameter + this.takeQueryParameter < this.totalCount;\n\t}\n\n\t@computed\n\tget loadMoreCourseCount(): number {\n\t\treturn this.totalCount - this.skipQueryParameter - this.takeQueryParameter;\n\t}\n\n\t@action\n\tonPageUnload() {\n\t\tthis.topicIdQueryParameter = \"\";\n\t\tthis.orderByQueryParameter = OrderByType.Newest;\n\t\tthis.skipQueryParameter = 0;\n\t\tthis.courses = [];\n\t}\n}\n","import {action, flow, makeObservable, observable, runInAction} from \"mobx\";\nimport {IApiClient} from \"../common/api.client\";\nimport {IConfigurationProvider} from \"../common/public.configuration\";\nimport {CoursePageDetails, PurchaseDto} from \"../common/webapicall\";\nimport {LoadingState} from \"../types/LoadingState\";\nimport {isWebApiErrorResponse} from \"../common/webapicall.extensions\";\n\nexport class CourseDetailsStore {\n\tprivate readonly apiClient: IApiClient;\n\n\t@observable selectedCourse: CoursePageDetails | null;\n\t@observable loadingState: LoadingState;\n\t@observable purchaseLoadingState: LoadingState;\n\n\tconstructor(apiClient: IApiClient, private configurationProvider: IConfigurationProvider) {\n\t\tmakeObservable(this);\n\t\tthis.apiClient = apiClient;\n\n\t\tthis.selectedCourse = null;\n\t\tthis.loadingState = \"initial\";\n\t\tthis.purchaseLoadingState = \"initial\";\n\t}\n\n\t@flow\n\t*onPageLoad(courseId: string) {\n\t\tthis.loadingState = \"loading\";\n\n\t\ttry {\n\t\t\tconst course: CoursePageDetails = yield this.apiClient.courseClient.getCourseDetails(courseId);\n\n\t\t\tif (!course) {\n\t\t\t\tthis.loadingState = \"not-found\";\n\t\t\t}\n\n\t\t\tthis.selectedCourse = course;\n\n\t\t\tthis.loadingState = \"completed\";\n\t\t} catch (error) {\n\t\t\tif (isWebApiErrorResponse(error) && error.statusCode === 404) {\n\t\t\t\tthis.loadingState = \"not-found\";\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\tthis.loadingState = \"error\";\n\t\t\t}\n\t\t}\n\t}\n\n\t@action\n\tonPageUnload() {\n\t\tthis.selectedCourse = null;\n\t\tthis.loadingState = \"initial\";\n\t}\n\n\tasync purchase() {\n\t\trunInAction(() => {\n\t\t\tthis.purchaseLoadingState = \"loading\";\n\t\t});\n\n\t\tconst response: PurchaseDto = await this.apiClient.enrollmentClient.initiatePurchase(this.selectedCourse.id);\n\t\trunInAction(() => {\n\t\t\tthis.selectedCourse.enrollmentStatus = {\n\t\t\t\tpurchaseStatus: response.purchaseStatus,\n\t\t\t\ttotaraEnrollmentStatus: response.enrollmentStatus,\n\t\t\t\tconfirmationStatus: response.confirmationStatus,\n\t\t\t};\n\n\t\t\tthis.purchaseLoadingState = \"completed\";\n\t\t});\n\t}\n\n\tgetCmsPaymentApiUrl() {\n\t\treturn this.configurationProvider.configuration.cmsPaymentApiUrl + `?courseId=${this.selectedCourse.crmProductId}`;\n\t}\n}\n","import {action, computed, flow, makeObservable, observable} from \"mobx\";\nimport {IApiClient} from \"../common/api.client\";\nimport {CourseBadge} from \"../common/webapicall\";\nimport {LoadingState} from \"../types/LoadingState\";\n\nexport class AchievementsStore {\n\tprivate readonly apiClient: IApiClient;\n\t@observable loadingState: LoadingState;\n\n\t@observable completedAchievements: CourseBadge[];\n\t@observable inProgressAchievements: CourseBadge[];\n\n\tconstructor(apiClient: IApiClient) {\n\t\tmakeObservable(this);\n\n\t\tthis.loadingState = \"initial\";\n\t\tthis.apiClient = apiClient;\n\t\tthis.completedAchievements = [];\n\t\tthis.inProgressAchievements = [];\n\t}\n\n\t@computed\n\tget hasAchievements(): boolean {\n\t\treturn this.loadingState === \"completed\" && (this.completedAchievements.length > 0 || this.inProgressAchievements.length > 0);\n\t}\n\n\t@computed\n\tget hasCompletedAchievements(): boolean {\n\t\treturn this.loadingState === \"completed\" && this.completedAchievements.length > 0;\n\t}\n\n\t@computed\n\tget hasInProgressAchievements(): boolean {\n\t\treturn this.loadingState === \"completed\" && this.inProgressAchievements.length > 0;\n\t}\n\n\t@flow\n\t*onPageLoad() {\n\t\tthis.loadingState = \"loading\";\n\n\t\tconst badges: CourseBadge[] = yield this.apiClient.badgeClient.getBadges();\t\t\t\t \n\n\t\tthis.completedAchievements = badges.filter(badge => badge.isCompleted);\n\t\tthis.inProgressAchievements = badges.filter(badge => !badge.isCompleted);\n\n\t\tthis.loadingState = \"completed\";\n\t}\n\n\t@action\n\tdebug_setNoAchievements() {\n\t\tthis.completedAchievements = [];\n\t\tthis.inProgressAchievements = [];\n\t}\n\n\t@flow\n\t*debug_resetAchievements() {\n\t\tyield this.onPageLoad();\n\t}\n\n\t@action\n\tonPageUnload() {\n\t\tthis.loadingState = \"initial\";\n\n\t\tthis.completedAchievements = [];\n\t\tthis.inProgressAchievements = [];\n\t}\n}\n","import {action, flow, makeObservable, observable} from \"mobx\";\nimport {LoadingState} from \"../types/LoadingState\";\nimport {SaveState} from \"../types/SaveState\";\nimport {IApiClient} from \"../common/api.client\";\nimport {SwotDto} from \"../common/webapicall\";\n\nexport class SwotStore {\n\t@observable strength: string;\n\t@observable weakness: string;\n\t@observable opportunity: string;\n\t@observable threats: string;\n\t@observable gaps: string;\n\t@observable focus: string;\n\n\t@observable initialSwotValues: SwotDto;\n\n\t@observable loadingState: LoadingState;\n\t@observable saveState: SaveState;\n\t@observable hasSwot: boolean;\n\n\tconstructor(private apiClient: IApiClient) {\n\t\tmakeObservable(this);\n\n\t\tthis.strength = \"\";\n\t\tthis.weakness = \"\";\n\t\tthis.opportunity = \"\";\n\t\tthis.threats = \"\";\n\t\tthis.gaps = \"\";\n\t\tthis.focus = \"\";\n\n\t\tthis.hasSwot = false;\n\n\t\tthis.initialSwotValues = {\n\t\t\tstrength: \"\",\n\t\t\tweakness: \"\",\n\t\t\topportunity: \"\",\n\t\t\tthreats: \"\",\n\t\t\tgaps: \"\",\n\t\t\tfocus: \"\",\n\t\t};\n\n\t\tthis.loadingState = \"initial\";\n\t\tthis.saveState = \"saved\";\n\t}\n\n\t@flow\n\t*init() {\n\t\tthis.loadingState = \"loading\";\n\n\t\ttry {\n\t\t\tconst swot: SwotDto = yield this.apiClient.swotClient.getByUserId();\n\n\t\t\tif (swot) {\n\t\t\t\tthis.hasSwot = true;\n\t\t\t}\n\n\t\t\tthis.initialSwotValues = swot;\n\n\t\t\tthis.strength = swot?.strength ?? \"\";\n\t\t\tthis.weakness = swot?.weakness ?? \"\";\n\t\t\tthis.opportunity = swot?.opportunity ?? \"\";\n\t\t\tthis.threats = swot?.threats ?? \"\";\n\t\t\tthis.gaps = swot?.gaps ?? \"\";\n\t\t\tthis.focus = swot?.focus ?? \"\";\n\n\t\t\tthis.loadingState = \"completed\";\n\t\t\tthis.saveState = \"saved\";\n\t\t} catch {\n\t\t\tthis.loadingState = \"error\";\n\t\t}\n\t}\n\n\t@action\n\tunload() {\n\t\tthis.loadingState = \"initial\";\n\t\tthis.saveState = \"dirty\";\n\n\t\tthis.strength = \"\";\n\t\tthis.weakness = \"\";\n\t\tthis.opportunity = \"\";\n\t\tthis.threats = \"\";\n\t\tthis.gaps = \"\";\n\t\tthis.focus = \"\";\n\n\t\tthis.hasSwot = false;\n\t}\n\n\t@flow\n\t*save() {\n\t\tif (this.saveState !== \"dirty\") {\n\t\t\treturn;\n\t\t}\n\n\t\tconst model: SwotDto = {\n\t\t\tstrength: this.strength,\n\t\t\tweakness: this.weakness,\n\t\t\topportunity: this.opportunity,\n\t\t\tthreats: this.threats,\n\t\t\tgaps: this.gaps,\n\t\t\tfocus: this.focus,\n\t\t};\n\n\t\ttry {\n\t\t\tyield this.apiClient.swotClient.upsert(model);\n\n\t\t\tthis.initialSwotValues = model;\n\n\t\t\tif (this.saveState !== \"dirty\") {\n\t\t\t\tthis.saveState = \"saved\";\n\t\t\t}\n\t\t} catch {\n\t\t\t// todo: error handling?\n\t\t}\n\t}\n\n\t@action\n\tcancel() {\n\t\tthis.strength = this.initialSwotValues.strength ?? \"\";\n\t\tthis.weakness = this.initialSwotValues.weakness ?? \"\";\n\t\tthis.opportunity = this.initialSwotValues.opportunity ?? \"\";\n\t\tthis.threats = this.initialSwotValues.threats ?? \"\";\n\t\tthis.gaps = this.initialSwotValues.gaps ?? \"\";\n\t\tthis.focus = this.initialSwotValues.focus ?? \"\";\n\n\t\tthis.saveState = \"saved\";\n\t}\n\n\t@action\n\tsetStrength(value: string) {\n\t\tthis.strength = value;\n\t\tthis.saveState = \"dirty\";\n\t}\n\n\t@action\n\tsetWeakness(value: string) {\n\t\tthis.weakness = value;\n\t\tthis.saveState = \"dirty\";\n\t}\n\n\t@action\n\tsetOpportunity(value: string) {\n\t\tthis.opportunity = value;\n\t\tthis.saveState = \"dirty\";\n\t}\n\n\t@action\n\tsetThreats(value: string) {\n\t\tthis.threats = value;\n\t\tthis.saveState = \"dirty\";\n\t}\n\n\t@action\n\tsetGaps(value: string) {\n\t\tthis.gaps = value;\n\t\tthis.saveState = \"dirty\";\n\t}\n\n\t@action\n\tsetFocus(value: string) {\n\t\tthis.focus = value;\n\t\tthis.saveState = \"dirty\";\n\t}\n}\n","import {action, flow, makeObservable, observable} from \"mobx\";\nimport {LoadingState} from \"../types/LoadingState\";\nimport {DevelopmentGoalDto, IDevelopmentGoalClient, LookupItemDto} from \"../common/webapicall\";\nimport {LookupStore} from \"./lookup.store\";\nimport {isWebApiErrorResponse} from \"../common/webapicall.extensions\";\n\nexport class CpdGoalStore {\n\t@observable savedGoal: DevelopmentGoalDto | null;\n\t@observable loadingState: LoadingState;\n\t@observable isSaving: boolean;\n\t@observable isDeleting: boolean;\n\t@observable lookupData: LookupItemDto[];\n\t@observable originalGoal: DevelopmentGoalDto | null;\n\n\tconstructor(private apiClient: IDevelopmentGoalClient, private lookupStore: LookupStore) {\n\t\tmakeObservable(this);\n\n\t\tthis.savedGoal = null;\n\t\tthis.loadingState = \"initial\";\n\t\tthis.isSaving = false;\n\t\tthis.isDeleting = false;\n\t\tthis.lookupData = [];\n\t}\n\n\t@flow\n\t*init(goalId: string | null | undefined) {\n\t\tthis.loadingState = \"loading\";\n\n\t\ttry {\n\t\t\tif (goalId) {\n\t\t\t\tthis.savedGoal = yield this.apiClient.get(goalId);\n\t\t\t\tthis.savedGoal.targetDate = new Date(this.savedGoal.targetDate);\n\t\t\t\tthis.originalGoal = this.savedGoal;\n\t\t\t} else {\n\t\t\t\tthis.savedGoal = null;\n\t\t\t\tthis.originalGoal = null;\n\t\t\t}\n\n\t\t\tyield this.lookupStore.loadTopics();\n\t\t\tyield this.lookupStore.loadActivityTypes();\n\n\t\t\tthis.lookupData = yield this.apiClient.getLookupData();\n\t\t} catch (error) {\n\t\t\tif (isWebApiErrorResponse(error) && error.statusCode === 404) {\n\t\t\t\tthis.loadingState = \"not-found\";\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\tthis.loadingState = \"error\";\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\n\t\tthis.loadingState = \"completed\";\n\t}\n\n\t@flow\n\t*saveGoal(goal: DevelopmentGoalDto) {\n\t\tthis.isSaving = true;\n\n\t\ttry {\n\t\t\tif (goal.id) {\n\t\t\t\tyield this.apiClient.update(goal);\n\t\t\t} else {\n\t\t\t\tthis.savedGoal = goal;\n\t\t\t\tthis.savedGoal.id = yield this.apiClient.create(goal);\n\t\t\t}\n\n\t\t\tthis.originalGoal = goal;\n\t\t} catch (error) {\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tthis.isSaving = false;\n\t\t}\n\t}\n\n\t@flow\n\t*deleteGoal(goalId: string, deleteActivities: boolean) {\n\t\tthis.isDeleting = true;\n\n\t\ttry {\n\t\t\tyield this.apiClient.delete(goalId, deleteActivities);\n\t\t} catch (error) {\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tthis.isDeleting = false;\n\t\t}\n\t}\n\n\t@action\n\tunload() {\n\t\tthis.savedGoal = null;\n\t\tthis.lookupData = [];\n\t\tthis.loadingState = \"initial\";\n\t}\n\n\t@flow\n\t*completeGoal(goalId: string) {\n\t\tthis.isSaving = true;\n\n\t\ttry {\n\t\t\tyield this.apiClient.complete(goalId);\n\t\t\tthis.savedGoal.dateCompleted = new Date();\n\t\t} catch (error) {\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tthis.isSaving = false;\n\t\t}\n\t}\n}\n","import {action, flow, makeObservable, observable} from \"mobx\";\nimport {LoadingState} from \"../types/LoadingState\";\nimport {IApiClient} from \"../common/api.client\";\nimport {DevelopmentGoalDto} from \"../common/webapicall\";\n\nexport class CpdDevelopmentPlanDashboardStore {\n\t@observable developmentGoals: DevelopmentGoalDto[];\n\t@observable loadingState: LoadingState;\n\n\tconstructor(private apiClient: IApiClient) {\n\t\tmakeObservable(this);\n\n\t\tthis.developmentGoals = [];\n\n\t\tthis.loadingState = \"initial\";\n\t}\n\n\t@flow\n\t*init() {\n\t\tthis.loadingState = \"loading\";\n\n\t\tthis.developmentGoals = yield this.apiClient.developmentGoalClient.getAll();\n\n\t\tthis.loadingState = \"completed\";\n\t}\n\n\t@action\n\tunload() {\n\t\tthis.loadingState = \"initial\";\n\t\tthis.developmentGoals = [];\n\t}\n\n\tasync getGoalsExcel() {\n\t\treturn await this.apiClient.developmentGoalClient.getGoalsExcel();\n\t}\n}\n","export async function uploadFileToS3(presignedUrl: string, file: Blob, onFileProgressChanged: (percentage: number) => void) {\n\treturn makeRequest(presignedUrl, file, onFileProgressChanged);\n}\n\nfunction makeRequest(url: string, file: Blob, onFileProgressChanged: (percentage: number) => void) {\n\treturn new Promise(function (resolve, reject) {\n\t\tlet xhr = new XMLHttpRequest();\n\t\txhr.open(\"PUT\", url);\n\t\txhr.onload = function () {\n\t\t\tif (this.status >= 200 && this.status < 300) {\n\t\t\t\tresolve(xhr.response);\n\t\t\t} else {\n\t\t\t\treject({\n\t\t\t\t\tstatus: this.status,\n\t\t\t\t\tstatusText: xhr.statusText,\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t\txhr.onerror = function () {\n\t\t\treject({\n\t\t\t\tstatus: this.status,\n\t\t\t\tstatusText: xhr.statusText,\n\t\t\t});\n\t\t};\n\t\txhr.upload.addEventListener(\"progress\", function (e) {\n\t\t\tconst percentage = (e.loaded / e.total) * 100;\n\t\t\tconst percentageAsInt = parseInt(percentage.toFixed(0));\n\t\t\tonFileProgressChanged(percentageAsInt);\n\t\t});\n\t\txhr.send(file);\n\t});\n}\n","import {action, computed, flow, makeObservable, observable, runInAction} from \"mobx\";\nimport {MultiResultLoadingState} from \"../types/LoadingState\";\nimport {CpdDocument, CpdDocumentDto, CpdDocumentNew} from \"./models/CpdDocument\";\nimport {splitFilename} from \"../utils/split-filename\";\nimport {IApiClient} from \"../common/api.client\";\nimport {CpdActivityDto, ActivityFilePresignedDto} from \"../common/webapicall\";\nimport {uploadFileToS3} from \"../utils/s3-uploader\";\nimport {RouteConstants} from \"../resources/route-constants\";\nimport {isWebApiErrorResponse} from \"../common/webapicall.extensions\";\nimport {AuthStore} from \"./authStore\";\n\nexport type FileUploadResult = {\n\tactivityId: string;\n\tsuccess: boolean;\n\tfailedFiles: string[];\n};\n\nexport class CpdSaveActivityStore {\n\t@observable loadingState: MultiResultLoadingState<\"completedCreate\" | \"completedEdit\" | \"not-found\">;\n\t@observable isSaving: boolean;\n\n\t@observable activityId: string | null;\n\t@observable activityToEdit: CpdActivityDto | null;\n\n\t@observable relatedDocuments: Map;\n\t@observable newDocuments: Map;\n\t@observable documentIdsToRemove: string[];\n\n\t@observable failedFileUploads: string[];\n\n\tconstructor(private apiClient: IApiClient, private authStore: AuthStore) {\n\t\tmakeObservable(this);\n\n\t\tthis.loadingState = \"initial\";\n\t\tthis.initializeFields();\n\t}\n\n\t@computed\n\tget relatedDocumentsList() {\n\t\treturn Array.from(this.relatedDocuments.values());\n\t}\n\n\t@computed\n\tget newDocumentsList() {\n\t\treturn Array.from(this.newDocuments.values());\n\t}\n\n\t@computed\n\tget isEditDisabled() {\n\t\treturn this.isSaving || !(this.loadingState === \"completedCreate\" || this.loadingState === \"completedEdit\") || !this.authStore.hasMemberAccess;\n\t}\n\n\tinit(mode: \"create\"): IterableIterator;\n\tinit(mode: \"edit\", activityId: string): IterableIterator;\n\n\t@flow\n\t*init(mode: \"create\" | \"edit\", activityId?: string) {\n\t\tthis.loadingState = \"loading\";\n\n\t\tif (mode === \"create\") {\n\t\t\tthis.initCreate();\n\t\t} else {\n\t\t\tyield this.initEdit(activityId);\n\t\t}\n\t}\n\n\t@action\n\tprivate initializeFields() {\n\t\tthis.isSaving = false;\n\n\t\tthis.activityId = null;\n\t\tthis.activityToEdit = null;\n\n\t\tthis.relatedDocuments = new Map();\n\t\tthis.newDocuments = new Map();\n\t\tthis.documentIdsToRemove = [];\n\n\t\tthis.failedFileUploads = [];\n\t}\n\n\t@action\n\tprivate initCreate() {\n\t\tthis.initializeFields();\n\n\t\tthis.loadingState = \"completedCreate\";\n\t}\n\n\t@flow\n\tprivate *initEdit(activityId: string) {\n\t\ttry {\n\t\t\tthis.activityToEdit = yield this.apiClient.cpdActivityClient.getById(activityId);\n\t\t} catch (error) {\n\t\t\tif (isWebApiErrorResponse(error) && error.statusCode === 404) {\n\t\t\t\tthis.loadingState = \"not-found\";\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\tthis.loadingState = \"error\";\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\n\t\tthis.activityId = this.activityToEdit.id;\n\n\t\tfor (const file of this.activityToEdit?.files) {\n\t\t\tthis.relatedDocuments.set(file.fileName, {\n\t\t\t\tid: file.fileName,\n\t\t\t\tfilename: file.fileName,\n\t\t\t\tsize: file.fileSize,\n\t\t\t\turl: file.presignedUrl,\n\t\t\t});\n\t\t}\n\t\tthis.newDocuments = new Map();\n\t\tthis.loadingState = \"completedEdit\";\n\t}\n\n\t@action\n\temptyFailedFileUploads() {\n\t\tthis.failedFileUploads = [];\n\t}\n\n\t@action\n\tunload() {\n\t\tthis.activityId = null;\n\t\tthis.activityToEdit = null;\n\n\t\tthis.loadingState = \"initial\";\n\t\tthis.isSaving = false;\n\t\tthis.relatedDocuments = new Map();\n\n\t\tthis.newDocumentsList.forEach(doc => {\n\t\t\tURL.revokeObjectURL(doc.url);\n\t\t});\n\n\t\tthis.newDocuments = new Map();\n\t\tthis.documentIdsToRemove = [];\n\n\t\tthis.failedFileUploads = [];\n\t}\n\n\t@flow\n\t*resetModifications(reset: (activity?: CpdActivityDto | null) => void, {resetToCreate = false}: {resetToCreate?: boolean} = {}) {\n\t\tthis.isSaving = true;\n\n\t\tthis.newDocumentsList.forEach(doc => {\n\t\t\tURL.revokeObjectURL(doc.url);\n\t\t});\n\n\t\tthis.newDocuments = new Map();\n\t\tthis.failedFileUploads = [];\n\n\t\tif (resetToCreate || this.loadingState === \"completedCreate\") {\n\t\t\tyield this.init(\"create\");\n\t\t} else if (this.loadingState === \"completedEdit\") {\n\t\t\tyield this.init(\"edit\", this.activityId);\n\t\t}\n\n\t\treset(this.activityToEdit);\n\n\t\tthis.isSaving = false;\n\t}\n\n\t@flow\n\t*saveActivity(activity: CpdActivityDto, courseId?: string) {\n\t\tconst filesToSave = [...this.newDocumentsList, ...this.relatedDocumentsList].map(\n\t\t\tdoc =>\n\t\t\t\t({\n\t\t\t\t\tfileName: doc.filename,\n\t\t\t\t\tfileSize: doc.size,\n\t\t\t\t} as CpdDocumentDto),\n\t\t);\n\n\t\tthis.failedFileUploads = [];\n\n\t\tif (this.loadingState === \"completedEdit\") {\n\t\t\tyield this.saveEditedActivity(activity, this.newDocumentsList, filesToSave);\n\t\t} else if (this.loadingState === \"completedCreate\") {\n\t\t\tyield this.saveCreatedActivity(activity, this.newDocumentsList, filesToSave, courseId);\n\t\t} else {\n\t\t\tthrow new Error(`Cannot save activity in current state: ${this.loadingState}`);\n\t\t}\n\t}\n\n\t@flow\n\tprivate *saveCreatedActivity(activity: CpdActivityDto, filesToUpload: CpdDocumentNew[], filesToSave: CpdDocumentDto[], courseId?: string) {\n\t\tthis.isSaving = true;\n\n\t\tconst fileUploadResult: FileUploadResult = yield this.uploadFilesToS3(filesToUpload);\n\n\t\tif (fileUploadResult.success) {\n\t\t\tconst activityToCreate = {\n\t\t\t\t...activity,\n\t\t\t\tid: fileUploadResult.activityId,\n\t\t\t\tfiles: filesToSave.map(f => ({\n\t\t\t\t\tfileName: f.fileName,\n\t\t\t\t\tfileSize: f.fileSize,\n\t\t\t\t})),\n\t\t\t};\n\n\t\t\ttry {\n\t\t\t\tyield this.apiClient.cpdActivityClient.create({\n\t\t\t\t\tcourseId: courseId,\n\t\t\t\t\tactivity: activityToCreate,\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tthrow error;\n\t\t\t} finally {\n\t\t\t\tthis.isSaving = false;\n\t\t\t}\n\n\t\t\tthis.activityToEdit = activity;\n\t\t\tthis.activityToEdit.id = this.activityId;\n\t\t\tthis.activityId = fileUploadResult.activityId;\n\t\t} else {\n\t\t\tthis.failedFileUploads = fileUploadResult.failedFiles;\n\t\t}\n\n\t\tthis.isSaving = false;\n\t}\n\n\t@flow\n\tprivate *saveEditedActivity(activity: CpdActivityDto, filesToUpload: CpdDocumentNew[], filesToSave: CpdDocumentDto[]) {\n\t\tthis.isSaving = true;\n\n\t\tlet fileUploadResult: FileUploadResult = yield this.uploadFilesToS3(filesToUpload, activity.id);\n\n\t\tif (fileUploadResult.success) {\n\t\t\tconst activityToSave = {\n\t\t\t\t...activity,\n\t\t\t\tfiles: filesToSave.map(f => ({\n\t\t\t\t\tfileName: f.fileName,\n\t\t\t\t\tfileSize: f.fileSize,\n\t\t\t\t})),\n\t\t\t};\n\n\t\t\ttry {\n\t\t\t\tyield this.apiClient.cpdActivityClient.update(activityToSave.id, activityToSave);\n\t\t\t} catch (error) {\n\t\t\t\tthrow error;\n\t\t\t} finally {\n\t\t\t\tthis.isSaving = false;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.failedFileUploads = fileUploadResult.failedFiles;\n\t\t}\n\n\t\tthis.isSaving = false;\n\t}\n\n\tprivate async uploadFilesToS3(filesToUpload: CpdDocumentNew[], activityId?: string): Promise {\n\t\tconst newFileNames = filesToUpload.map(f => f.filename);\n\t\tconst presignedUrls: ActivityFilePresignedDto = await this.apiClient.cpdActivityFileClient.getPresignedUrlsForFiles(newFileNames, activityId);\n\n\t\tif (filesToUpload.length === 0) {\n\t\t\treturn {\n\t\t\t\tsuccess: true,\n\t\t\t\tfailedFiles: [],\n\t\t\t\tactivityId: presignedUrls.activityId,\n\t\t\t};\n\t\t}\n\n\t\tconst filesFailedToUpload: string[] = [];\n\n\t\tawait Promise.allSettled(\n\t\t\tfilesToUpload.map(file =>\n\t\t\t\tuploadFileToS3(presignedUrls.filePresignedUrls[file.filename], file.file, percentage => {\n\t\t\t\t\trunInAction(() => {\n\t\t\t\t\t\tconst newDocumentFile = this.newDocuments?.get(file.filename);\n\t\t\t\t\t\tif (newDocumentFile) {\n\t\t\t\t\t\t\tnewDocumentFile.uploadedPercentage = percentage;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}).catch(() => {\n\t\t\t\t\tfilesFailedToUpload.push(file.filename);\n\t\t\t\t\trunInAction(() => {\n\t\t\t\t\t\tconst newDocumentFile = this.newDocuments?.get(file.filename);\n\t\t\t\t\t\tif (newDocumentFile) {\n\t\t\t\t\t\t\tnewDocumentFile.uploadedPercentage = null;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t\t),\n\t\t);\n\n\t\treturn {\n\t\t\tsuccess: filesFailedToUpload.length === 0,\n\t\t\tfailedFiles: filesFailedToUpload,\n\t\t\tactivityId: presignedUrls.activityId,\n\t\t};\n\t}\n\n\tprivate dedupeFilename(filename: string): string {\n\t\tconst dedupe = (generatedName: string, currentIndex: number): string => {\n\t\t\tif (this.newDocuments.has(generatedName) || this.relatedDocuments.has(generatedName)) {\n\t\t\t\tconst [name, ext] = splitFilename(filename);\n\n\t\t\t\tif (ext) {\n\t\t\t\t\treturn dedupe(`${name}_${currentIndex}.${ext}`, currentIndex + 1);\n\t\t\t\t} else {\n\t\t\t\t\treturn dedupe(`${name}_${currentIndex}`, currentIndex + 1);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn generatedName;\n\t\t\t}\n\t\t};\n\n\t\treturn dedupe(filename, 1);\n\t}\n\n\t@action\n\taddNewDocuments(files: FileList | File[]) {\n\t\tArray.from(files).forEach(file => {\n\t\t\tconst name = this.dedupeFilename(file.name);\n\t\t\tconst url = URL.createObjectURL(file);\n\n\t\t\tthis.newDocuments.set(name, {\n\t\t\t\tid: name,\n\t\t\t\tfilename: name,\n\t\t\t\tfile: file,\n\t\t\t\tsize: file.size,\n\t\t\t\turl: url,\n\t\t\t\tuploadedPercentage: 0,\n\t\t\t});\n\t\t});\n\t}\n\n\t@action\n\tremoveDocument(id: string, isNewDocument: boolean) {\n\t\tif (isNewDocument) {\n\t\t\tthis.newDocuments.delete(id);\n\t\t} else {\n\t\t\tthis.relatedDocuments.delete(id);\n\t\t\tthis.documentIdsToRemove.push(id);\n\t\t}\n\t}\n\n\tdeleteActivity(cpdActivityId: string) {\n\t\treturn this.apiClient.cpdActivityClient.delete(cpdActivityId);\n\t}\n\n\tgetCreateActivityUrl(developmentGoalId: string | null | undefined): string {\n\t\treturn developmentGoalId ? `${RouteConstants.cpdCreateActivity}/${developmentGoalId}` : RouteConstants.cpdCreateActivity;\n\t}\n}\n","export function splitFilename(filename: string) {\n\tconst lastDotIndex = filename.lastIndexOf(\".\");\n\n\tif (lastDotIndex === -1 || lastDotIndex === filename.length - 1) {\n\t\treturn [filename, null];\n\t}\n\n\tconst name = filename.substring(0, lastDotIndex);\n\tconst extension = filename.substring(lastDotIndex + 1);\n\n\treturn [name, extension];\n}\n","import {action, computed, flow, flowResult, makeObservable, observable} from \"mobx\";\nimport {ICourseClient, ILookupClient, LookupItemDto, RegionDto, TopicDto} from \"../common/webapicall\";\nimport {LoadingState} from \"../types/LoadingState\";\nimport {isWebApiErrorResponse} from \"../common/webapicall.extensions\";\n\nexport class Lookup {\n\t@observable loadingState: LoadingState;\n\t@observable data: TData[];\n\n\tprivate readonly loadDataFn: () => Promise | TData[];\n\n\tconstructor(loadData: () => Promise | TData[]) {\n\t\tmakeObservable(this);\n\n\t\tthis.loadingState = \"initial\";\n\t\tthis.loadDataFn = loadData;\n\t\tthis.data = [];\n\t}\n\n\t@flow\n\t*loadData() {\n\t\tif (this.loadingState === \"loading\" || this.loadingState === \"completed\") {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.loadingState = \"loading\";\n\n\t\ttry {\n\t\t\tthis.data = yield Promise.resolve(this.loadDataFn());\n\n\t\t\tthis.loadingState = \"completed\";\n\t\t} catch (error) {\n\t\t\tif (isWebApiErrorResponse(error) && error.statusCode === 404) {\n\t\t\t\tthis.loadingState = \"not-found\";\n\t\t\t} else {\n\t\t\t\tthis.loadingState = \"error\";\n\t\t\t}\n\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\t@action\n\tunload() {\n\t\tthis.data = [];\n\t\tthis.loadingState = \"initial\";\n\t}\n}\n\nexport class LookupStore {\n\tprivate readonly activityTypesLookup: Lookup;\n\tprivate readonly topicsLookup: Lookup;\n\tprivate readonly regionsLookup: Lookup;\n\tprivate readonly contentTypesLookup: Lookup;\n\tprivate readonly eventTypesLookup: Lookup;\n\tprivate readonly courseTopicsLookup: Lookup;\n\n\tconstructor(private lookupClient: ILookupClient, private courseClient: ICourseClient) {\n\t\tmakeObservable(this);\n\n\t\tthis.activityTypesLookup = new Lookup(() => this.lookupClient.getAllActivityTypes());\n\t\tthis.topicsLookup = new Lookup(() => this.lookupClient.getAllTopics());\n\t\tthis.regionsLookup = new Lookup(() => this.lookupClient.getAllRegions());\n\t\tthis.contentTypesLookup = new Lookup(() => this.lookupClient.getAllContentTypes());\n\t\tthis.eventTypesLookup = new Lookup(() => this.lookupClient.getAllEventTypes());\n\t\tthis.courseTopicsLookup = new Lookup(() => this.courseClient.getCourseTopics());\n\t}\n\n\t@computed\n\tget activityTypes() {\n\t\treturn this.activityTypesLookup.data;\n\t}\n\n\t@computed\n\tget topics() {\n\t\treturn this.topicsLookup.data;\n\t}\n\t\n\t@computed\n\tget courseTopics() {\n\t\treturn this.courseTopicsLookup.data;\n\t}\n\n\t@computed\n\tget totalCourseCount() {\n\t\treturn this.courseTopics.reduce((a, b) => {\n\t\t\treturn a + b.numberOfCourses;\n\t\t}, 0);\n\t}\n\n\t@computed\n\tget topicsLoadingState() {\n\t\treturn this.topicsLookup.loadingState;\n\t}\n\n\t@computed\n\tget regions() {\n\t\treturn this.regionsLookup.data;\n\t}\n\n\t@computed\n\tget contentTypes() {\n\t\treturn this.contentTypesLookup.data;\n\t}\n\n\t@computed\n\tget eventTypes() {\n\t\treturn this.eventTypesLookup.data;\n\t}\n\n\tloadActivityTypes(): Promise {\n\t\treturn flowResult(this.activityTypesLookup.loadData());\n\t}\n\n\tloadTopics(): Promise {\n\t\treturn flowResult(this.topicsLookup.loadData());\n\t}\n\n\tloadRegions(): Promise {\n\t\treturn flowResult(this.regionsLookup.loadData());\n\t}\n\n\tloadContentTypes(): Promise {\n\t\treturn flowResult(this.contentTypesLookup.loadData());\n\t}\n\n\tloadEventTypes(): Promise {\n\t\treturn flowResult(this.eventTypesLookup.loadData());\n\t}\n\n\tloadCourseTopics(): Promise {\n\t\treturn flowResult(this.courseTopicsLookup.loadData());\n\t}\n\n\tunload() {\n\t\tthis.activityTypesLookup.unload();\n\t\tthis.topicsLookup.unload();\n\t\tthis.regionsLookup.unload();\n\t\tthis.contentTypesLookup.unload();\n\t\tthis.eventTypesLookup.unload();\n\t\tthis.courseTopicsLookup.unload();\n\t}\n}\n","import {action, flow, makeObservable, observable} from \"mobx\";\nimport {CpdActivityDto, CpdYearDto} from \"../common/webapicall\";\nimport {LoadingState} from \"../types/LoadingState\";\nimport {IApiClient} from \"../common/api.client\";\n\nexport class CpdDashboardStore {\n\t@observable loadingState: LoadingState;\n\t@observable years: CpdYearDto[];\n\t@observable activities: CpdActivityDto[];\n\n\tconstructor(private apiClient: IApiClient) {\n\t\tmakeObservable(this);\n\n\t\tthis.loadingState = \"initial\";\n\t\tthis.years = [];\n\t\tthis.activities = [];\n\t}\n\n\t@flow\n\t*init() {\n\t\tthis.loadingState = \"loading\";\n\t\ttry {\n\t\t\tconst years: CpdYearDto[] = yield this.apiClient.cpdDashboardClient.getYears();\n\t\t\tyears.sort((a, b) => (a.year > b.year ? -1 : 1));\n\n\t\t\tthis.years = years;\n\t\t} catch {\n\t\t\tthis.loadingState = \"error\";\n\t\t}\n\t\tthis.loadingState = \"completed\";\n\t}\n\n\t@flow\n\t*getYearlyData(year: number) {\n\t\tthis.loadingState = \"loading\";\n\n\t\ttry {\n\t\t\tthis.activities = yield this.apiClient.cpdDashboardClient.getActivities(year);\n\t\t} catch {\n\t\t\tthis.loadingState = \"error\";\n\t\t}\n\n\t\tthis.loadingState = \"completed\";\n\t}\n\n\t@action\n\tunload() {\n\t\tthis.years = [];\n\t\tthis.activities = [];\n\t\tthis.loadingState = \"initial\";\n\t}\n\n\t@flow\n\t*deleteActivity(activityId: string) {\n\t\tthis.loadingState = \"loading\";\n\n\t\tyield this.apiClient.cpdActivityClient.delete(activityId);\n\n\t\tthis.loadingState = \"completed\";\n\t}\n\n\tasync getActivitiesExcel(year: number) {\n\t\treturn await this.apiClient.cpdDashboardClient.getActivitiesExcel(year);\n\t}\n}\n","import {ICourseClient, CourseTiles, GetCourseTilesResponse} from \"../common/webapicall\";\nimport {action, flow, makeObservable, observable} from \"mobx\";\nimport {LoadingState} from \"../types/LoadingState\";\n\nexport class CourseCarouselStore {\n\t@observable loadingState: LoadingState;\n\t@observable courses: CourseTiles[];\n\n\tconstructor(private apiClient: ICourseClient) {\n\t\tmakeObservable(this);\n\n\t\tthis.courses = [];\n\t\tthis.loadingState = \"initial\";\n\t}\n\n\t@flow\n\t*init() {\n\t\tthis.loadingState = \"loading\";\n\n\t\tconst courseTilesResponse: GetCourseTilesResponse = yield this.apiClient.getCourseTiles();\n\t\tthis.courses = courseTilesResponse.courseTiles.sort((a, b) => a.orderValue - b.orderValue);\n\n\t\tthis.loadingState = \"completed\";\n\t}\n\n\t@action\n\tunload() {\n\t\tthis.loadingState = \"initial\";\n\t\tthis.courses = [];\n\t}\n}\n","import {IApiClient} from \"../common/api.client\";\nimport { PurchaseDto, PurchaseProcessStatus} from \"../common/webapicall\";\n\nexport class CourseEnrollmentStore {\n\tprivate readonly apiClient: IApiClient;\n\n\tconstructor(apiClient: IApiClient) {\n\t\t// makeObservable(this);\n\t\tthis.apiClient = apiClient;\n\t}\n\n\tasync getStatus(crmProductId: string): Promise {\n\t\treturn await this.apiClient.enrollmentClient.getStatus(crmProductId);\n\t}\n\n\tasync checkPurchaseStatus(courseId: string): Promise {\n\t\treturn await this.apiClient.enrollmentClient.checkPurchaseStatus(courseId);\n\t}\n\n\tasync enroll(courseId: string): Promise {\n\t\treturn await this.apiClient.enrollmentClient.initiateEnrollment(courseId);\n\t}\n\n\tasync sendConfirmation(courseId: string): Promise {\n\t\treturn await this.apiClient.enrollmentClient.initiateConfirmation(courseId);\n\t}\n\n\tasync deleteFailedPurchase(courseId: string) {\n\t\tawait this.apiClient.enrollmentClient.deleteFailed(courseId);\n\t}\n}\n","import {ICourseClient, CourseLoadOptions} from \"../common/webapicall\";\nimport {action, makeObservable, observable} from \"mobx\";\nimport {LoadingState} from \"../types/LoadingState\";\nimport DataSource from \"devextreme/data/data_source\";\nimport CustomStore from \"devextreme/data/custom_store\";\nimport {LoadOptions} from \"devextreme/data/load_options\";\n\nexport class CourseAutocompleteStore {\n\t@observable loadingState: LoadingState;\n\t@observable dataSource: DataSource | null = null;\n\t@observable searchValue: string = \"\";\n\n\tconstructor(private apiClient: ICourseClient) {\n\t\tmakeObservable(this);\n\n\t\tthis.dataSource = null;\n\t\tthis.loadingState = \"initial\";\n\t}\n\n\t@action\n\tinit() {\n\t\tthis.loadingState = \"loading\";\n\n\t\tthis.dataSource = new DataSource(\n\t\t\tnew CustomStore({\n\t\t\t\tload: async loadOptions => {\n\t\t\t\t\treturn this.apiClient.getCarouselAutocompleteData(this.getCourseLoadOptions(loadOptions));\n\t\t\t\t},\n\t\t\t}),\n\t\t);\n\n\t\tthis.loadingState = \"completed\";\n\t}\n\n\tprivate getCourseLoadOptions(loadOptions: LoadOptions): CourseLoadOptions {\n\t\tconst courseLoadOptions = loadOptions as CourseLoadOptions;\n\t\tcourseLoadOptions.searchValue = this.searchValue;\n\n\t\treturn loadOptions;\n\t}\n\n\t@action\n\tsetSearchValue(value: string) {\n\t\tthis.searchValue = value;\n\t}\n\n\t@action\n\tunload() {\n\t\tthis.dataSource = null;\n\t\tthis.searchValue = \"\";\n\t}\n}\n","import {action, computed, flow, makeObservable, observable} from \"mobx\";\nimport {\n\tCourseCategory,\n\tCourseTiles,\n\tGetCourseTilesResponse,\n\tICourseClient,\n\tILookupClient,\n\tIQualificationClient,\n\tLookupItemDto,\n\tQualificationDto,\n} from \"../common/webapicall\";\nimport {LoadingState} from \"../types/LoadingState\";\n\nexport class SearchStore {\n\tconstructor(private courseClient: ICourseClient, private lookupClient: ILookupClient, private qualificationClient: IQualificationClient) {\n\t\tmakeObservable(this);\n\t}\n\n\t@observable public searchTerm: string;\n\t@observable courses: CourseTiles[] = [];\n\t@observable topics: LookupItemDto[] = [];\n\t@observable qualifications: QualificationDto[] = [];\n\n\t@observable loadingState: LoadingState;\n\t@observable categoryFilters: Set = new Set();\n\t@observable topicFilters: Set = new Set();\n\t@observable qualificationFilters: Set = new Set();\n\n\t@action\n\tpublic categoryFilterChange(value: CourseCategory) {\n\t\tif (this.categoryFilters.has(value)) {\n\t\t\tthis.categoryFilters.delete(value);\n\t\t} else {\n\t\t\tthis.categoryFilters.add(value);\n\t\t}\n\t}\n\n\t@action\n\tpublic topicFilterChange(value: string) {\n\t\tconst searchValue = value.toLowerCase();\n\t\tif (this.topicFilters.has(searchValue)) {\n\t\t\tthis.topicFilters.delete(searchValue);\n\t\t} else {\n\t\t\tthis.topicFilters.add(searchValue);\n\t\t}\n\t}\n\n\t@action\n\tpublic qualificationFilterChange(value: string) {\n\t\tconst searchValue = value.toLowerCase();\n\t\tif (this.qualificationFilters.has(searchValue)) {\n\t\t\tthis.qualificationFilters.delete(searchValue);\n\t\t} else {\n\t\t\tthis.qualificationFilters.add(searchValue);\n\t\t}\n\t}\n\n\t@action\n\tpublic clearFilters() {\n\t\tthis.topicFilters.clear();\n\t\tthis.categoryFilters.clear();\n\t\tthis.qualificationFilters.clear();\n\t}\n\n\t@action\n\tpublic setSearchTerm(value: string) {\n\t\tthis.searchTerm = value;\n\t}\n\n\t@computed\n\tpublic get filteredCourses() {\n\t\tif (this.courses.length === 0) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst keywords = this.searchTerm.split(\" \");\n\n\t\tconst courses = this.courses.filter(\n\t\t\tc =>\n\t\t\t\tkeywords.some(\n\t\t\t\t\tkeyword =>\n\t\t\t\t\t\tc.title.toLocaleLowerCase().includes(keyword) ||\n\t\t\t\t\t\tc.description.toLocaleLowerCase().includes(keyword) ||\n\t\t\t\t\t\tc.topics.some(t => t.name.toLocaleLowerCase().includes(keyword)),\n\t\t\t\t) &&\n\t\t\t\t(this.categoryFilters.size === 0 || this.categoryFilters.has(c.category)) &&\n\t\t\t\t(this.topicFilters.size === 0 || c.topics.some(t => this.topicFilters.has(t.id))) &&\n\t\t\t\t(this.qualificationFilters.size === 0 || c.qualifications.some(t => this.qualificationFilters.has(t.id))),\n\t\t);\n\n\t\treturn courses;\n\t}\n\n\t@computed\n\tpublic get hasFilter() {\n\t\treturn this.categoryFilters.size > 0 || this.topicFilters.size > 0 || this.qualificationFilters.size > 0;\n\t}\n\n\t@flow\n\tpublic *load() {\n\t\tthis.loadingState = \"loading\";\n\n\t\tconst tiles: GetCourseTilesResponse = yield this.courseClient.getCourseTiles(null, null, null, 1000);\n\t\tconst topics: LookupItemDto[] = yield this.lookupClient.getAllTopics();\n\t\tconst qualies: QualificationDto[] = yield this.qualificationClient.getAllQualifications();\n\n\t\tthis.courses = tiles?.courseTiles ?? [];\n\t\tthis.topics = topics.sort((a, b) => (a.name > b.name ? 1 : -1));\n\t\tthis.qualifications = qualies;\n\n\t\tthis.loadingState = \"completed\";\n\t}\n\n\t@action\n\tpublic unLoad() {\n\t\tthis.searchTerm = \"\";\n\t\tthis.topicFilters.clear();\n\t\tthis.qualificationFilters.clear();\n\t\tthis.categoryFilters.clear();\n\n\t\tthis.courses = [];\n\t\tthis.topics = [];\n\t\tthis.qualifications = [];\n\t}\n}\n","import {action, flow, makeObservable, observable} from \"mobx\";\nimport {IQualificationClient, QualificationDetailDto, QualificationDto} from \"../common/webapicall\";\nimport {LoadingState} from \"../types/LoadingState\";\n\nexport class QualificationStore {\n\t@observable public qualifications: QualificationDto[] = [];\n\t@observable public loadingState: LoadingState = \"initial\";\n\n\t@observable public detailLoadingState: LoadingState = \"initial\";\n\t@observable public qualificationDetail: QualificationDetailDto;\n\n\tconstructor(private qualificationClient: IQualificationClient) {\n\t\tmakeObservable(this);\n\t}\n\n\t@flow\n\tpublic *load() {\n\t\tthis.loadingState = \"loading\";\n\n\t\tconst qualies: QualificationDto[] = yield this.qualificationClient.getAllQualifications();\n\t\tthis.qualifications = qualies;\n\n\t\tthis.loadingState = \"completed\";\n\t}\n\n\t@flow\n\tpublic *loadDetail(id: string) {\n\t\tthis.detailLoadingState = \"loading\";\n\n\t\tconst qualies: QualificationDetailDto = yield this.qualificationClient.getQualificationDetails(id);\n\t\tthis.qualificationDetail = qualies;\n\n\t\tthis.detailLoadingState = \"completed\";\n\t}\n\n\t@action\n\tpublic unloadDetail() {\n\t\tthis.detailLoadingState = \"initial\";\n\t\tthis.qualificationDetail = null;\n\t}\n}\n","import * as crosstab from \"crosstab\";\nimport {AuthConfigImpl} from \"../common/auth.config\";\nimport {IApiClient} from \"../common/api.client\";\nimport {UserStore} from \"./user.store\";\nimport {AppContextStore} from \"./app.context.store\";\nimport {\n\tUserClient,\n\tReportClient,\n\tLookupClient,\n\tContextClient,\n\tDevelopmentGoalClient,\n\tSwotClient,\n\tCourseClient,\n\tCpdActivityClient,\n\tCpdActivityFileClient,\n\tCpdDashboardClient,\n\tDlpContentClient,\n\tBadgeClient,\n\tDlpDashboardClient,\n\tEnrollmentClient,\n\tQualificationClient,\n} from \"../common/webapicall\";\nimport {IConfigurationProvider, AppPublicConfiguration} from \"../common/public.configuration\";\nimport {DebugPanelStore} from \"./debug.panel.store\";\nimport {makeObservable, observable} from \"mobx\";\nimport {DlpDashboardStore} from \"./dlp.dashboard.store\";\nimport {AuthStore} from \"./authStore\";\nimport {CourseCatalogStore} from \"./course.catalog.store\";\nimport {CourseDetailsStore} from \"./course.details.store\";\nimport {AchievementsStore} from \"./achievements.store\";\nimport {SwotStore} from \"./swot.store\";\nimport {CpdGoalStore} from \"./cpd.goal.store\";\nimport {CpdDevelopmentPlanDashboardStore} from \"./cpd.development.plan.dashboard.store\";\nimport {CpdSaveActivityStore} from \"./cpd.save.activity.store\";\nimport {LookupStore} from \"./lookup.store\";\nimport {CpdDashboardStore} from \"./cpd.dashboard.store\";\nimport {CourseCarouselStore} from \"./course.carousel.store\";\nimport {CourseEnrollmentStore} from \"./course.enrollment.store\";\nimport {CourseAutocompleteStore} from \"./course.autocomplete.store\";\nimport {SearchStore} from \"./search.store\";\nimport {QualificationStore} from \"./qualification.store\";\n\nexport interface IAppStore extends IConfigurationProvider {\n\tinit(): void;\n}\n\nconst RESIZE_OBSERVER_ERROR_MESSAGE = \"ResizeObserver loop limit exceeded\";\n\nabstract class AppStoreBase implements IAppStore {\n\tabstract userStore: UserStore;\n\tabstract configuration: AppPublicConfiguration;\n\tabstract outDatedClient: boolean;\n\tabstract errorVisible: boolean;\n\tabstract errorMessage: string;\n\n\tabstract init(): void;\n\n\tprotected subscribeEventHandlers() {\n\t\twindow.addEventListener(\"error\", async ev => {\n\t\t\tif (ev && ev.message === RESIZE_OBSERVER_ERROR_MESSAGE) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (typeof ev.error.stack === \"string\" && ev.error.stack.indexOf(\"crosstab.js\")) {\n\t\t\t\t//console.log(\"supress crosstab.js errors.\");\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tawait this.reportError(ev.error.stack);\n\t\t});\n\t\twindow.onunhandledrejection = async ev => await this.reportUnhandledRejection(ev.reason);\n\t}\n\n\tprotected setupCrosstab(tokenToCheck: string) {\n\t\tif (crosstab.supported) {\n\t\t\tlet ctEventName: string = \"crossTabOpenNewTab\";\n\t\t\tcrosstab.on(ctEventName, (message: any) => {\n\t\t\t\tif (crosstab.id === message.origin) {\n\t\t\t\t\t//console.log(\"Crosstab receiving event on the same tab, skip it\", ct.id, JSON.stringify(message));\n\t\t\t\t} else {\n\t\t\t\t\t//console.log(\"Crosstab receiving event on a different tab, process it\", ct.id, JSON.stringify(message));\n\t\t\t\t\tif (tokenToCheck !== message.data) {\n\t\t\t\t\t\twindow.location.assign(\"#/forced-logout\");\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\t//console.log(\"Crosstab broadcast event from source tab\", ct.id);\n\t\t\tcrosstab.broadcast(ctEventName, tokenToCheck);\n\t\t}\n\t}\n\n\tprivate async reportUnhandledRejection(reason: any) {\n\t\tif (reason.isWebApiErrorResponse) {\n\t\t\tif (reason.statusCode === 406) {\n\t\t\t\tthis.outDatedClient = true;\n\t\t\t} else if (reason.statusCode === 401) {\n\t\t\t\tif (this.userStore.isLoggedIn) {\n\t\t\t\t\twindow.location.href = \"#/session-expired\";\n\t\t\t\t\tawait this.userStore.logout();\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.href = this.userStore.getLoginUrl();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tawait this.reportError(`Unhandled web api error:\n\t\t\t\t\tURL: ${reason.url} (${reason.statusCode})\n\n\t\t\t\t\tBody: ${reason.body}\n\n\t\t\t\t\tStack: ${reason.stack}`);\n\t\t\t}\n\t\t} else {\n\t\t\tawait this.reportError(`Unhandled rejection: ${reason}`);\n\t\t}\n\t}\n\n\tprivate async reportError(reason: any) {\n\t\ttry {\n\t\t\tthis.errorVisible = true;\n\t\t\tif (this.configuration.showErrorDetails) {\n\t\t\t\tthis.errorMessage = JSON.stringify(reason);\n\t\t\t}\n\n\t\t\tif (reason && typeof reason === \"string\" && reason.includes(\"Object Not Found Matching Id\")) {\n\t\t\t\tconsole.error(reason);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tawait this.sendClientException(reason);\n\t\t} catch (e) {\n\t\t\t// Just log it console as reporting it would be recursive.\n\t\t\tconsole.log(\"Error occurred during reporting JS error\");\n\t\t\tconsole.log(e);\n\t\t}\n\t}\n\n\tprotected abstract sendClientException(reason: any): Promise;\n}\n\nexport class AppStore extends AppStoreBase implements IConfigurationProvider {\n\tprivate readonly authConfig: AuthConfigImpl;\n\n\tapiClient: IApiClient;\n\n\treadonly userStore: UserStore;\n\treadonly authStore: AuthStore;\n\treadonly contextStore: AppContextStore;\n\treadonly debugPanelStore: DebugPanelStore;\n\treadonly dlpDashboardStore: DlpDashboardStore;\n\treadonly courseCatalogStore: CourseCatalogStore;\n\treadonly courseDetailsStore: CourseDetailsStore;\n\treadonly achievementsStore: AchievementsStore;\n\treadonly swotStore: SwotStore;\n\treadonly cpdGoalStore: CpdGoalStore;\n\treadonly cpdDevelopmentPlanDashboardStore: CpdDevelopmentPlanDashboardStore;\n\treadonly cpdSaveActivityStore: CpdSaveActivityStore;\n\treadonly lookupStore: LookupStore;\n\treadonly cpdDashboardStore: CpdDashboardStore;\n\treadonly courseCarouselStore: CourseCarouselStore;\n\treadonly courseEnrollmentStore: CourseEnrollmentStore;\n\treadonly courseAutocompleteStore: CourseAutocompleteStore;\n\treadonly searchStore: SearchStore;\n\treadonly qualificationStore: QualificationStore;\n\n\tconfiguration: AppPublicConfiguration;\n\n\t@observable outDatedClient: boolean = false;\n\t@observable errorVisible: boolean = false;\n\t@observable errorMessage: string = null;\n\n\tconstructor() {\n\t\tsuper();\n\t\tmakeObservable(this);\n\n\t\tthis.authConfig = new AuthConfigImpl(this);\n\n\t\tthis.apiClient = {\n\t\t\tsetAuthToken: (newToken: string, refreshToken: string) => {\n\t\t\t\tthis.authConfig.token = newToken;\n\t\t\t\tthis.authConfig.refreshToken = refreshToken;\n\t\t\t},\n\t\t\tcontextClient: new ContextClient(this.authConfig, null, this.authConfig),\n\t\t\tlookupClient: new LookupClient(this.authConfig, null, this.authConfig),\n\t\t\treportClient: new ReportClient(this.authConfig, null, this.authConfig),\n\t\t\tuserClient: new UserClient(this.authConfig, null, this.authConfig),\n\t\t\tdevelopmentGoalClient: new DevelopmentGoalClient(this.authConfig, null, this.authConfig),\n\t\t\tswotClient: new SwotClient(this.authConfig, null, this.authConfig),\n\t\t\tcourseClient: new CourseClient(this.authConfig, null, this.authConfig),\n\t\t\tcpdActivityClient: new CpdActivityClient(this.authConfig, null, this.authConfig),\n\t\t\tcpdActivityFileClient: new CpdActivityFileClient(this.authConfig, null, this.authConfig),\n\t\t\tcpdDashboardClient: new CpdDashboardClient(this.authConfig, null, this.authConfig),\n\t\t\tdlpContentClient: new DlpContentClient(this.authConfig, null, this.authConfig),\n\t\t\tbadgeClient: new BadgeClient(this.authConfig, null, this.authConfig),\n\t\t\tdlpDashboardClient: new DlpDashboardClient(this.authConfig, null, this.authConfig),\n\t\t\tenrollmentClient: new EnrollmentClient(this.authConfig, null, this.authConfig),\n\t\t\tqualificationClient: new QualificationClient(this.authConfig, null, this.authConfig),\n\t\t};\n\n\t\tthis.userStore = new UserStore(this.apiClient, this);\n\t\tthis.authStore = new AuthStore(this.userStore);\n\t\tthis.contextStore = new AppContextStore(this.apiClient);\n\t\tthis.dlpDashboardStore = new DlpDashboardStore(this.apiClient);\n\t\tthis.courseCatalogStore = new CourseCatalogStore(this.apiClient);\n\t\tthis.courseDetailsStore = new CourseDetailsStore(this.apiClient, this);\n\t\tthis.achievementsStore = new AchievementsStore(this.apiClient);\n\t\tthis.lookupStore = new LookupStore(this.apiClient.lookupClient, this.apiClient.courseClient);\n\t\tthis.cpdGoalStore = new CpdGoalStore(this.apiClient.developmentGoalClient, this.lookupStore);\n\t\tthis.cpdDevelopmentPlanDashboardStore = new CpdDevelopmentPlanDashboardStore(this.apiClient);\n\t\tthis.swotStore = new SwotStore(this.apiClient);\n\t\tthis.cpdSaveActivityStore = new CpdSaveActivityStore(this.apiClient, this.authStore);\n\t\tthis.debugPanelStore = new DebugPanelStore(this.userStore, this.dlpDashboardStore, this.achievementsStore, this);\n\t\tthis.courseCarouselStore = new CourseCarouselStore(this.apiClient.courseClient);\n\t\tthis.cpdDashboardStore = new CpdDashboardStore(this.apiClient);\n\t\tthis.courseEnrollmentStore = new CourseEnrollmentStore(this.apiClient);\n\t\tthis.courseAutocompleteStore = new CourseAutocompleteStore(this.apiClient.courseClient);\n\t\tthis.searchStore = new SearchStore(this.apiClient.courseClient, this.apiClient.lookupClient, this.apiClient.qualificationClient);\n\t\tthis.qualificationStore = new QualificationStore(this.apiClient.qualificationClient);\n\t}\n\n\tasync init() {\n\t\tawait this.loadApiVersion();\n\t\tawait this.subscribeEventHandlers();\n\n\t\tawait this.loadPublicConfiguration();\n\t\tawait this.userStore.init();\n\n\t\tif (this.userStore.userId) {\n\t\t\tawait this.contextStore.loadContext(this.userStore.userId);\n\t\t}\n\n\t\tawait this.setupCrosstab(this.userStore.userId ?? \"anonymous\");\n\t}\n\n\tasync loadPublicConfiguration() {\n\t\tlet config = await this.apiClient.lookupClient.getPublicConfiguration();\n\t\tthis.configuration = {\n\t\t\t...config,\n\t\t\tloginUrl: \"/#/login\",\n\t\t};\n\t}\n\n\tprotected async sendClientException(reason: any): Promise {\n\t\tawait this.apiClient.reportClient.sendClientException({\n\t\t\tmessage: reason,\n\t\t\turl: window.location.href,\n\t\t});\n\t}\n\n\tprivate async loadApiVersion() {\n\t\t(window as any).apiVersion = await this.apiClient.lookupClient.getApiVersion();\n\t}\n}\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport {AppStore} from \"./stores/app.store\";\nimport {MainFrame} from \"./common/mainframe\";\nimport \"core-js/stable\";\n\nexport class App {\n\tprivate readonly appStore: AppStore;\n\n\tconstructor() {\n\t\tthis.appStore = new AppStore();\n\t\tApp.refreshTitle();\n\t}\n\n\tprivate static refreshTitle() {\n\t\tdocument.title = `The Chartered Institution of Highways & Transportation`;\n\t}\n\n\tasync start() {\n\t\tawait this.appStore.init().catch(reason => {\n\t\t\t// ignore to let React get initialized\n\t\t\tconsole.error(reason);\n\t\t});\n\n\t\tReactDOM.render(, document.getElementById(\"root\"));\n\t}\n}\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\twindow.location.hostname === \"localhost\" ||\n\t\t// [::1] is the IPv6 localhost address.\n\t\twindow.location.hostname === \"[::1]\" ||\n\t\t// 127.0.0.0/8 are considered localhost for IPv4.\n\t\twindow.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/),\n);\n\ntype Config = {\n\tonSuccess?: (registration: ServiceWorkerRegistration) => void;\n\tonUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n\tif (process.env.NODE_ENV === \"production\" && \"serviceWorker\" in navigator) {\n\t\t// The URL constructor is available in all browsers that support SW.\n\t\tconst publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n\t\tif (publicUrl.origin !== window.location.origin) {\n\t\t\t// Our service worker won't work if PUBLIC_URL is on a different origin\n\t\t\t// from what our page is served on. This might happen if a CDN is used to\n\t\t\t// serve assets; see https://github.com/facebook/create-react-app/issues/2374\n\t\t\treturn;\n\t\t}\n\n\t\twindow.addEventListener(\"load\", () => {\n\t\t\tconst swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n\t\t\tif (isLocalhost) {\n\t\t\t\t// This is running on localhost. Let's check if a service worker still exists or not.\n\t\t\t\tcheckValidServiceWorker(swUrl, config);\n\n\t\t\t\t// Add some additional logging to localhost, pointing developers to the\n\t\t\t\t// service worker/PWA documentation.\n\t\t\t\tnavigator.serviceWorker.ready.then(() => {\n\t\t\t\t\tconsole.log(\"This web app is being served cache-first by a service worker. To learn more, visit https://bit.ly/CRA-PWA\");\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// Is not localhost. Just register service worker\n\t\t\t\tregisterValidSW(swUrl, config);\n\t\t\t}\n\t\t});\n\t}\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n\tnavigator.serviceWorker\n\t\t.register(swUrl)\n\t\t.then(registration => {\n\t\t\tregistration.onupdatefound = () => {\n\t\t\t\tconst installingWorker = registration.installing;\n\t\t\t\tif (installingWorker == null) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tinstallingWorker.onstatechange = () => {\n\t\t\t\t\tif (installingWorker.state === \"installed\") {\n\t\t\t\t\t\tif (navigator.serviceWorker.controller) {\n\t\t\t\t\t\t\t// At this point, the updated precached content has been fetched,\n\t\t\t\t\t\t\t// but the previous service worker will still serve the older\n\t\t\t\t\t\t\t// content until all client tabs are closed.\n\t\t\t\t\t\t\tconsole.log(\"New content is available and will be used when all tabs for this page are closed. See https://bit.ly/CRA-PWA.\");\n\n\t\t\t\t\t\t\t// Execute callback\n\t\t\t\t\t\t\tif (config && config.onUpdate) {\n\t\t\t\t\t\t\t\tconfig.onUpdate(registration);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// At this point, everything has been precached.\n\t\t\t\t\t\t\t// It's the perfect time to display a\n\t\t\t\t\t\t\t// \"Content is cached for offline use.\" message.\n\t\t\t\t\t\t\tconsole.log(\"Content is cached for offline use.\");\n\n\t\t\t\t\t\t\t// Execute callback\n\t\t\t\t\t\t\tif (config && config.onSuccess) {\n\t\t\t\t\t\t\t\tconfig.onSuccess(registration);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t};\n\t\t})\n\t\t.catch(error => {\n\t\t\tconsole.error(\"Error during service worker registration:\", error);\n\t\t});\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n\t// Check if the service worker can be found. If it can't reload the page.\n\tfetch(swUrl, {\n\t\theaders: {\"Service-Worker\": \"script\"},\n\t})\n\t\t.then(response => {\n\t\t\t// Ensure service worker exists, and that we really are getting a JS file.\n\t\t\tconst contentType = response.headers.get(\"content-type\");\n\t\t\tif (response.status === 404 || (contentType != null && contentType.indexOf(\"javascript\") === -1)) {\n\t\t\t\t// No service worker found. Probably a different app. Reload the page.\n\t\t\t\tnavigator.serviceWorker.ready.then(registration => {\n\t\t\t\t\tregistration.unregister().then(() => {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// Service worker found. Proceed as normal.\n\t\t\t\tregisterValidSW(swUrl, config);\n\t\t\t}\n\t\t})\n\t\t.catch(() => {\n\t\t\tconsole.log(\"No internet connection found. App is running in offline mode.\");\n\t\t});\n}\n\nexport function unregister() {\n\tif (\"serviceWorker\" in navigator) {\n\t\tnavigator.serviceWorker.ready\n\t\t\t.then(registration => {\n\t\t\t\tregistration.unregister();\n\t\t\t})\n\t\t\t.catch(error => {\n\t\t\t\tconsole.error(error.message);\n\t\t\t});\n\t}\n}\n","import {App} from \"./App\";\nimport * as serviceWorker from \"./serviceWorker\";\nimport {fontawesomeSetup} from \"./fontawesome-setup\";\nimport \"./scss/main.scss\";\n\n(async () => {\n\tfontawesomeSetup();\n\n\tconst app = new App();\n\tawait app.start();\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 {library} from \"@fortawesome/fontawesome-svg-core\";\nimport {\n\tfaAd,\n\tfaArrowFromRight,\n\tfaBars,\n\tfaBadgeCheck,\n\tfaCar,\n\tfaCarCrash,\n\tfaChartPie,\n\tfaCheck,\n\tfaCheckCircle,\n\tfaChevronDown,\n\tfaChevronUp,\n\tfaCog,\n\tfaCross,\n\tfaDolly,\n\tfaExclamationCircle,\n\tfaExternalLink,\n\tfaFileExcel,\n\tfaInfoCircle,\n\tfaMedal,\n\tfaMinus,\n\tfaPodcast,\n\tfaPlayCircle,\n\tfaArrowRight,\n\tfaArrowToRight,\n\tfaSearch,\n\tfaShield,\n\tfaSpinner,\n\tfaTimes,\n\tfaTrash,\n\tfaUser,\n\tfaTimesCircle,\n\tfaPlay,\n} from \"@fortawesome/pro-solid-svg-icons\";\nimport {faSearch as faSearchRegular} from \"@fortawesome/pro-regular-svg-icons\";\nimport {faTwitter, faYoutube, faLinkedin} from \"@fortawesome/free-brands-svg-icons\";\n\nexport function fontawesomeSetup() {\n\tlibrary.add(\n\t\tfaAd,\n\t\tfaArrowRight,\n\t\tfaArrowToRight,\n\t\tfaArrowFromRight,\n\t\tfaBars,\n\t\tfaBadgeCheck,\n\t\tfaCar,\n\t\tfaCarCrash,\n\t\tfaChartPie,\n\t\tfaCheck,\n\t\tfaCheckCircle,\n\t\tfaChevronDown,\n\t\tfaChevronUp,\n\t\tfaCog,\n\t\tfaCross,\n\t\tfaDolly,\n\t\tfaExclamationCircle,\n\t\tfaExternalLink,\n\t\tfaFileExcel,\n\t\tfaInfoCircle,\n\t\tfaMedal,\n\t\tfaMinus,\n\t\tfaPlayCircle,\n\n\t\tfaPodcast,\n\t\tfaSearch,\n\t\tfaSearchRegular,\n\t\tfaShield,\n\t\tfaSpinner,\n\t\tfaTimes,\n\t\tfaTrash,\n\t\tfaExclamationCircle,\n\t\tfaTimesCircle,\n\t\tfaUser,\n\t\tfaPlay,\n\t);\n\n\t// brand icons\n\tlibrary.add(faTwitter, faYoutube, faLinkedin);\n}\n","export class CihtOrgRouteConstants {\n\tstatic readonly getEditPreferences = (baseUrl: string) => new URL(\"/myciht/information/\", baseUrl).href;\n\n\tstatic readonly getTermsAndConditions = (baseUrl: string) => new URL(\"/terms-and-conditions/\", baseUrl).href;\n\tstatic readonly getPrivacyStatement = (baseUrl: string) => new URL(\"/privacy-statement/\", baseUrl).href;\n\tstatic readonly getVacanciesAtCiht = (baseUrl: string) => new URL(\"/vacancies-at-ciht/\", baseUrl).href;\n\tstatic readonly getDisclaimer = (baseUrl: string) => new URL(\"/disclaimer/\", baseUrl).href;\n\tstatic readonly getContactUs = (baseUrl: string) => new URL(\"/about-us/about-ciht/contact-us/\", baseUrl).href;\n\n\tstatic readonly getLearnMoreAboutCiht = (baseUrl: string) => new URL(\"/about-us/\", baseUrl).href;\n\tstatic readonly getCihtEvents = (baseUrl: string) => new URL(\"/events-listing/\", baseUrl).href;\n\tstatic readonly getProfessionalDevelopment = (baseUrl: string) => new URL(\"/professional-development/\", baseUrl).href;\n\tstatic readonly getKnowledgeAndResources = (baseUrl: string) => new URL(\"/knowledge-resource-centre/\", baseUrl).href;\n\tstatic readonly getBecomeAMember = (baseUrl: string) => new URL(\"/become-a-member/\", baseUrl).href;\n\tstatic readonly getMembersArea = (baseUrl: string) => new URL(\"/members-area/\", baseUrl).href;\n\tstatic readonly getMyAccount = (baseUrl: string) => new URL(\"/myciht/home/\", baseUrl).href;\n\tstatic readonly getIndividualMembership = (baseUrl: string) => new URL(\"/become-a-member/ciht-membership-for-individuals/\", baseUrl).href;\n\tstatic readonly getAboutPartnership = (baseUrl: string) => new URL(\"/become-a-member/partnerships-network/\", baseUrl).href;\n\tstatic readonly getRegister = (baseUrl: string) => new URL(\"/ciht-learn/register\", baseUrl).href;\n\tstatic readonly getSearchResults = (baseUrl: string, searchTerm: string) => new URL(`/search-results/?search=${searchTerm}`, baseUrl).href;\n}\n","import {UserStore} from \"./user.store\";\nimport {observable, action, makeObservable, flow} from \"mobx\";\nimport addBusinessDays from \"date-fns/addBusinessDays\";\nimport {DlpDashboardStore} from \"./dlp.dashboard.store\";\nimport {AchievementsStore} from \"./achievements.store\";\nimport {CpdType, PromotionDto} from \"../common/webapicall\";\nimport {CihtOrgRouteConstants} from \"../resources/ciht-org-route-constants\";\nimport {AppStore} from \"./app.store\";\n\nexport enum DebugPanelOperation {\n\tLogout = 1,\n\tToggleRoleFlags,\n\tToggleDashboardAchievementsPreview,\n\tToggleDashboardCpdProgress,\n\tToggleDashboardPromotionalEvent,\n\tToggleAchievements,\n\tToggleDashboardInProgressCourses,\n}\n\nexport class DebugPanelStore {\n\t@observable debugPanelVisible = false;\n\t@observable isLoading = false;\n\t@observable operation: DebugPanelOperation | null = null;\n\t@observable isAchievementsPageEmptied: boolean;\n\n\tpromotions: PromotionDto[] | null = [];\n\n\tconstructor(\n\t\tprivate userStore: UserStore,\n\t\tprivate dashboardStore: DlpDashboardStore,\n\t\tprivate achievementsStore: AchievementsStore,\n\t\tprivate appStore: AppStore,\n\t) {\n\t\tmakeObservable(this);\n\n\t\tthis.isAchievementsPageEmptied = false;\n\t}\n\n\t@action\n\ttoggleTestingPanel = () => {\n\t\tthis.debugPanelVisible = !this.debugPanelVisible;\n\t};\n\n\t@action\n\tasync logout() {\n\t\tawait this.userStore.logout();\n\t}\n\n\t@action\n\tprivate setLoading(operation: DebugPanelOperation | null) {\n\t\tthis.isLoading = !!operation;\n\t\tthis.operation = operation;\n\t}\n\n\t@action\n\ttoggleDashboardAchivements() {\n\t\tif (this.dashboardStore.hasAchievements) {\n\t\t\tthis.dashboardStore.content.achievementsEarned = 0;\n\t\t} else {\n\t\t\tthis.dashboardStore.content.achievementsEarned = 1;\n\t\t}\n\t}\n\n\t@action\n\ttoggleDashboardInProgressCourses() {\n\t\tif (this.dashboardStore.hasInProgressCourses) {\n\t\t\tthis.dashboardStore.content.coursesInProgress = 0;\n\t\t} else {\n\t\t\tthis.dashboardStore.content.coursesInProgress = 1;\n\t\t}\n\t}\n\n\t@action\n\ttoggleCpdProgress() {\n\t\tthis.userStore.cpdProgress.hasCpdProgress = !this.userStore.cpdProgress.hasCpdProgress;\n\t}\n\n\t@action\n\ttoggleDashboardPromotionalEvent() {\n\t\tif (this.dashboardStore.hasPromotionalEvent) {\n\t\t\tthis.promotions = this.dashboardStore.content.promotions;\n\t\t\tthis.dashboardStore.content.promotions = [];\n\t\t} else {\n\t\t\tif (!this.promotions || !this.promotions.some(p => p)) {\n\t\t\t\tthis.promotions.push({\n\t\t\t\t\ttitle: \"Demo promotion\",\n\t\t\t\t\tid: \"AC9A05BF-EA0C-4B22-9222-739BBDDD0D49\",\n\t\t\t\t\tstartDate: addBusinessDays(new Date(Date.now()), -3),\n\t\t\t\t\timageUrl: process.env.PUBLIC_URL + \"/placeholder-small-2.jpg\",\n\t\t\t\t\ttargetUrl: CihtOrgRouteConstants.getCihtEvents(this.appStore.configuration.cihtSiteUrl),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.dashboardStore.content.promotions = this.promotions;\n\t\t}\n\t}\n\n\t@flow\n\t*toggleAchievements() {\n\t\tif (this.isAchievementsPageEmptied) {\n\t\t\tyield this.achievementsStore.debug_resetAchievements();\n\n\t\t\tthis.isAchievementsPageEmptied = false;\n\t\t} else {\n\t\t\tthis.achievementsStore.debug_setNoAchievements();\n\n\t\t\tthis.isAchievementsPageEmptied = true;\n\t\t}\n\t}\n\n\t@action\n\tsetHasMemberAccess(newValue: boolean) {\n\t\tthis.userStore.memberInfo.hasDlpMemberAccess = newValue;\n\t}\n\n\t@action\n\tsetShowMembershipExpiringWarningAccess(newValue: boolean) {\n\t\tthis.userStore.memberInfo.showMembershipExpiringWarning = newValue;\n\t}\n\n\t@action\n\tsetCpdType(newValue: string) {\n\t\tthis.userStore.memberInfo.cpdType = (newValue as unknown) as CpdType;\n\t}\n}\n","export interface AuthConfig {\n\ttoken: string;\n\trefreshToken: string;\n\tsetAdditionalOptions?: (options: RequestInit) => void;\n}\n\nexport interface WebApiErrorResponse {\n\turl: string;\n\tstatusCode: number;\n\tbody: string;\n\tisWebApiErrorResponse: boolean;\n\tstack: string;\n\theaders: Headers;\n}\n\nexport function isWebApiErrorResponse(obj: unknown): obj is WebApiErrorResponse {\n\tconst objAsErrorResponse = obj as WebApiErrorResponse;\n\n\treturn objAsErrorResponse && objAsErrorResponse.isWebApiErrorResponse;\n}\n\nexport abstract class ClientBase {\n\tprotected constructor(protected configuration: AuthConfig) {}\n\n\tprotected async transformOptions(options: RequestInit): Promise {\n\t\tconst headers = options.headers as Record;\n\n\t\tif (this.configuration.token) {\n\t\t\theaders[\"Authorization\"] = `Bearer ${this.configuration.token}`;\n\t\t}\n\n\t\theaders[\"pragma\"] = \"no-cache\";\n\t\theaders[\"cache-control\"] = \"no-cache\";\n\t\theaders[\"X-Api-Version\"] = window.apiVersion;\n\n\t\tif (this.configuration.setAdditionalOptions) {\n\t\t\tthis.configuration.setAdditionalOptions(options);\n\t\t}\n\n\t\treturn options;\n\t}\n\n\tprotected transformResult(url: string, response: Response, processor: (response: Response) => Promise): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tprocessor(response)\n\t\t\t\t.then(r => {\n\t\t\t\t\tthis.mapDateStringsToDate(r);\n\t\t\t\t\tresolve(r);\n\t\t\t\t})\n\t\t\t\t.catch(r => {\n\t\t\t\t\tconst res: WebApiErrorResponse = {\n\t\t\t\t\t\tisWebApiErrorResponse: true,\n\t\t\t\t\t\turl: url,\n\t\t\t\t\t\tbody: r.response as string,\n\t\t\t\t\t\tstatusCode: response.status,\n\t\t\t\t\t\tstack: r.stack as string,\n\t\t\t\t\t\theaders: response.headers,\n\t\t\t\t\t};\n\n\t\t\t\t\treject(res);\n\t\t\t\t});\n\t\t});\n\t}\n\n\tprotected mapDateStringsToDate(obj: any) {\n\t\tif (!obj) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (obj instanceof Array) {\n\t\t\tfor (let item of obj) {\n\t\t\t\tthis.mapDateStringsToDate(item);\n\t\t\t}\n\t\t}\n\n\t\tif (typeof obj === \"object\") {\n\t\t\tfor (let key in obj) {\n\t\t\t\tif (obj.hasOwnProperty(key)) {\n\t\t\t\t\tif (\n\t\t\t\t\t\t/(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z))/.test(\n\t\t\t\t\t\t\tobj[key],\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\tobj[key] = Date.parse(obj[key]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.mapDateStringsToDate(obj[key]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\ttypeof obj === \"string\" &&\n\t\t\t/(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z))/.test(\n\t\t\t\tobj,\n\t\t\t)\n\t\t) {\n\t\t\tobj = Date.parse(obj);\n\t\t}\n\t}\n}\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport {useTrapFocus as trapFocus} from \"wcag-tools\";\n\nclass Backdrop extends React.Component<{\n\tshow: boolean;\n\tmodalClicked: (e?: React.MouseEvent) => void;\n\tclasses: string;\n}> {\n\trender() {\n\t\treturn this.props.show &&
;\n\t}\n}\n\nclass Modal extends React.Component<{\n\tshow: boolean;\n\tmodalClicked: (e?: React.MouseEvent) => void;\n\tmodalClassName: string;\n\tmodalWrapperClassName: string;\n\tbackdropClassName: string;\n\twcagOverwriteTrapFocusSelector?: string;\n\tnoBackdrop?: boolean;\n\t[\"aria-label\"]?: string;\n\t[\"aria-labelledby\"]?: string;\n}> {\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t{!this.props.noBackdrop && }\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t);\n\t}\n}\n\nexport type ModalRendererProps = React.PropsWithChildren<{\n\t/**\n\t * If true the modal renders to the dom even when hidden.\n\t * @default false\n\t */\n\trenderWhenHidden?: boolean;\n\t/**\n\t * If true, no backdrop component will be rendered under the modal.\n\t * @default false\n\t */\n\tnoBackdrop?: boolean;\n\t/**\n\t * If true, the modal will render in the resulting DOM where it is placed in the component hierarchy instead of directly under document.body.\n\t * @default false\n\t */\n\trenderInline?: boolean;\n\tisVisible: boolean;\n\ttoggleModal?: () => void;\n\n\t/**\n\t * External className property that is applied to the modal
.\n\t * It either overwrites or appends to the default className (controlled by overwriteModalClassName).\n\t */\n\tmodalClassName?: string;\n\n\t/**\n\t * If true the modalClassName prop overwrites the default modal className instead of appending to it.\n\t * @default false\n\t */\n\toverwriteModalClassName?: boolean;\n\n\t/**\n\t * External className property that is applied to the modal's wrapper
.\n\t * It either overwrites or appends to the default className (controlled by overwriteModalWrapperClassName).\n\t */\n\tmodalWrapperClassName?: string;\n\n\t/**\n\t * If true the modalWrapperClassName prop overwrites the default modal className instead of appending to it.\n\t * @default false\n\t */\n\toverwriteModalWrapperClassName?: boolean;\n\n\t/**\n\t * External className property that is applied to the modal's backdrop
.\n\t * It either overwrites or appends to the default className (controlled by overwriteBackdropClassName).\n\t */\n\tbackdropClassName?: string;\n\n\t/**\n\t * If true the backdropClassName prop overwrites the default backdrop className instead of appending to it.\n\t * @default false\n\t */\n\toverwriteBackdropClassName?: boolean;\n\n\t/**\n\t * Overwrites the default selector used by the useTrapFocus helper in the wcag-tools library.\n\t */\n\twcagOverwriteTrapFocusSelector?: string;\n\t[\"aria-label\"]?: string;\n\t[\"aria-labelledby\"]?: string;\n}>;\n\nexport const ModalRenderer = ({\n\trenderWhenHidden = false,\n\trenderInline = false,\n\tnoBackdrop = false,\n\ttoggleModal,\n\tisVisible,\n\tchildren,\n\tmodalClassName = \"\",\n\toverwriteModalClassName = false,\n\tbackdropClassName = \"\",\n\toverwriteBackdropClassName = false,\n\tmodalWrapperClassName = \"\",\n\toverwriteModalWrapperClassName = false,\n\twcagOverwriteTrapFocusSelector,\n\t...rest\n}: ModalRendererProps) => {\n\tconst backdropClassNameResult = overwriteBackdropClassName ? backdropClassName : `${backdropClassName} modalPopupBg`;\n\tconst modalClassNameResult = overwriteModalClassName ? modalClassName : `${modalClassName} modalPopup`;\n\tconst modalWrapperClassNameResult = overwriteModalWrapperClassName ? modalWrapperClassName : `${modalWrapperClassName} modalWrapper`;\n\n\tconst modal = (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n\n\tif (renderInline) {\n\t\treturn (renderWhenHidden || isVisible) && modal;\n\t} else {\n\t\treturn (renderWhenHidden || isVisible) && ReactDOM.createPortal(modal, document.body);\n\t}\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"top-footer\":\"top_footer_top-footer__1U7DO\",\"follow-us\":\"top_footer_follow-us__UoVAp\",\"social-links\":\"top_footer_social-links__1ps06\",\"info\":\"top_footer_info__2bC4K\",\"links\":\"top_footer_links__1HAxD\"};","import React, {useEffect, useRef, useState} from \"react\";\nimport {ModalRenderer} from \"./ModalRenderer\";\nimport {FontAwesomeIcon} from \"@fortawesome/react-fontawesome\";\nimport {useKeyboardNavigation as keyboardNavigation, focusElementByIdLast} from \"wcag-tools\";\nimport style from \"./ConfirmationModal.module.scss\";\n\nlet lastModalId = 0;\n\nexport type ErrorModalProps = React.PropsWithChildren<{\n\tisVisible: boolean;\n\tclose: () => void;\n\ttryAgainAction?: () => void | Promise;\n\t[\"aria-labelledby\"]?: string;\n}>;\n\nexport function ErrorModal({close, children, isVisible, tryAgainAction, ...rest}: ErrorModalProps) {\n\tconst shouldTryAgain = typeof tryAgainAction === \"function\";\n\n\tconst confirmButtonIdRef = useRef(\n\t\t(() => {\n\t\t\tlastModalId += 1;\n\t\t\treturn `em-tryagain-btn-${lastModalId}`;\n\t\t})(),\n\t);\n\n\tuseEffect(() => {\n\t\tif (isVisible) {\n\t\t\t// noinspection JSIgnoredPromiseFromCall\n\t\t\tfocusElementByIdLast(confirmButtonIdRef.current);\n\t\t}\n\t}, [isVisible]);\n\n\tconst [isLoading, setIsLoading] = useState(false);\n\n\tasync function onTryAgain() {\n\t\tsetIsLoading(true);\n\n\t\ttry {\n\t\t\tawait tryAgainAction();\n\t\t} catch (error) {\n\t\t} finally {\n\t\t\tsetIsLoading(false);\n\t\t}\n\t}\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t({clickable: true, role: \"button\", label: \"Close dialog\"})}\n\t\t\t\t/>\n\t\t\t
\n\t\t\t
\n\t\t\t\t \n\t\t\t\t

Error

\n\t\t\t
\n\t\t\t

{children}

\n\t\t\t
\n\t\t\t\t{shouldTryAgain && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n}\n","export class LocalStorageKeys {\n\tstatic readonly cihtsession = \"ciht-session\";\n}\n","import React, {HTMLAttributes} from \"react\";\nimport {ObjectShape} from \"yup/lib/object\";\nimport * as Yup from \"yup\";\nimport {Observer} from \"mobx-react\";\n\nexport interface ValidatableFormProps extends React.DetailedHTMLProps, HTMLFormElement> {\n\tchildren: (isValid: ValidationResult) => any;\n\tschema: Yup.ObjectSchema;\n\tmodel: TSchema;\n\tonSubmit?: (e?: React.FormEvent) => void | Promise;\n\tonValidationErrorOnSubmit?: (validationResult?: ValidationResult) => void | Promise;\n\tvalidateOnBlur?: boolean;\n}\n\nexport interface ValidationResult {\n\tisValid: boolean;\n\terrorMessages?: {[key: string]: string};\n\tresetValidation: () => void;\n}\n\n/** Base component for validatable forms. It renders its children to the page, and adds some event handlers to them. */\nexport class ValidatableForm extends React.Component, ValidationResult> {\n\tprivate focusedElements: string[] = [];\n\n\tconstructor(props: Readonly>) {\n\t\tsuper(props);\n\t\tthis.state = this.validate();\n\t}\n\n\tprivate validate(): ValidationResult {\n\t\ttry {\n\t\t\tthis.props.schema.validateSync(this.props.model, {\n\t\t\t\tabortEarly: false,\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tisValid: true,\n\t\t\t\terrorMessages: {},\n\t\t\t\tresetValidation: this.resetValidation,\n\t\t\t};\n\t\t} catch (e) {\n\t\t\tconst error = e as Yup.ValidationError;\n\t\t\tconst res: ValidationResult = {\n\t\t\t\tisValid: false,\n\t\t\t\terrorMessages: {},\n\t\t\t\tresetValidation: this.resetValidation,\n\t\t\t};\n\n\t\t\tconst elements = this.state ? this.focusedElements : [];\n\n\t\t\terror.inner.filter(i => elements.some(fe => fe === i.path)).forEach(i => (res.errorMessages[i.path] = i.message));\n\n\t\t\treturn res;\n\t\t}\n\t}\n\n\tprivate resetValidation = () => {\n\t\tthis.focusedElements.length = 0;\n\n\t\tthis.setState({\n\t\t\terrorMessages: {},\n\t\t\tresetValidation: this.resetValidation,\n\t\t});\n\t};\n\n\tprivate onFocus = (e: React.FocusEvent) => {\n\t\tconst focusedElements = this.focusedElements;\n\t\tconst fieldName = e.target.dataset[\"fieldName\"];\n\n\t\tif (fieldName && !focusedElements.some(fe => fe === fieldName)) {\n\t\t\tfocusedElements.push(fieldName);\n\t\t}\n\t};\n\n\tprivate onBlur = () => {\n\t\tif (this.shouldValidateOnBlur()) {\n\t\t\tthis.setState(this.validate());\n\t\t}\n\t};\n\n\tprivate onSubmit = (e: React.FormEvent) => {\n\t\te.preventDefault();\n\n\t\tconst elements = Object.keys(this.props.model);\n\t\telements.forEach(e => {\n\t\t\tif (!this.focusedElements.some(fe => fe === e)) {\n\t\t\t\tthis.focusedElements.push(e);\n\t\t\t}\n\t\t});\n\n\t\tconst validationResult = this.validate();\n\n\t\tif (validationResult.isValid) {\n\t\t\tif (this.props.onSubmit) {\n\t\t\t\tthis.setState(validationResult);\n\t\t\t\tthis.props.onSubmit(e);\n\t\t\t}\n\t\t} else {\n\t\t\tif (this.props.onValidationErrorOnSubmit) {\n\t\t\t\tthis.props.onValidationErrorOnSubmit(validationResult);\n\t\t\t}\n\n\t\t\tthis.setState(validationResult);\n\t\t}\n\t};\n\n\tprivate onKeyup = () => {\n\t\tif (this.shouldValidateOnBlur()) {\n\t\t\tconst validationResult = this.validate();\n\t\t\t// not updating the validation messages intentionally, as they should be updated upon focus lost or submission.\n\t\t\t// the form can be submitted this way without removing focus from any other element\n\t\t\tthis.setState(s => ({\n\t\t\t\tisValid: validationResult.isValid,\n\t\t\t\terrorMessages: s.errorMessages,\n\t\t\t\tresetValidation: this.resetValidation,\n\t\t\t}));\n\t\t}\n\t};\n\n\tprivate shouldValidateOnBlur() {\n\t\treturn this.props.validateOnBlur ?? true;\n\t}\n\n\tcomponentDidUpdate() {\n\t\tif (this.shouldValidateOnBlur()) {\n\t\t\tconst validationResult = this.validate();\n\t\t\tconst currentValidationResult = this.state;\n\n\t\t\tif (JSON.stringify(validationResult) !== JSON.stringify(currentValidationResult)) {\n\t\t\t\tthis.setState(validationResult);\n\t\t\t}\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {children, schema, model, onSubmit, onValidationErrorOnSubmit, validateOnBlur, ...restProps} = this.props;\n\n\t\tif (onSubmit) {\n\t\t\treturn (\n\t\t\t\t
\n\t\t\t\t\t children(this.state)} />\n\t\t\t\t\n\t\t\t);\n\t\t} else {\n\t\t\treturn children(this.state);\n\t\t}\n\t}\n}\n\nexport interface ValidationMessageProps {\n\tvalidationResult: ValidationResult;\n\tfieldName: string;\n\tclassName?: string;\n\tstyle?: React.CSSProperties;\n}\n\n/**\n * Validation message component.\n * @param props Takes vaidation results from props, and shows the error message, if there's any.\n */\nexport const ValidationMessage = (props: ValidationMessageProps) => {\n\tconst errorMessage = props.validationResult.errorMessages[props.fieldName];\n\treturn (\n\t\t\n\t\t\t{errorMessage}\n\t\t\n\t);\n};\n\nexport interface ValidationMessageWithIconProps {\n\tvalidationResult: ValidationResult;\n\tfieldName: string;\n\tclassNames?: string;\n\ticonClassNames?: string;\n}\n\n/**\n * Validation message with icon component.\n * @param props Takes vaidation results from props, and shows the error message, if there's any.\n */\nexport const ValidationMessageWithIcon = (props: ValidationMessageWithIconProps) => {\n\tconst errorMessage = props.validationResult.errorMessages[props.fieldName];\n\treturn errorMessage ? (\n\t\t
\n\t\t\t\n\t\t\t{errorMessage}\n\t\t
\n\t) : null;\n};\n\nexport interface ValidatableInputProps {\n\tmodel: TModel;\n\tfieldName: keyof TModel;\n\tonChanged: (e: React.ChangeEvent) => void | Promise;\n\tchildren: any;\n\tvalue?: any;\n}\n\n/**\n * Validatable input component. Renders its children, and puts some additional properties on them.\n * @param props Input props for handling events of the input field.\n */\nexport const ValidatableInput = (props: ValidatableInputProps) => {\n\tconst val = props.value !== undefined ? props.value : props.model[props.fieldName];\n\tconst mappedProps: any = {\n\t\tonChange: props.onChanged,\n\t\t\"data-field-name\": props.fieldName,\n\t};\n\n\tif (props.children.type === \"input\" && props.children.props.type === \"radio\") {\n\t\tmappedProps.checked = val === props.children.props.value;\n\t} else {\n\t\tmappedProps.value = val || \"\";\n\t}\n\n\treturn React.cloneElement(props.children, mappedProps);\n};\n","import React from \"react\";\nimport {AppStore} from \"../stores/app.store\";\nimport {getAppStore} from \"../common/app.store.consumer\";\nimport {ValidatableForm, ValidatableInput, ValidationMessage} from \"../common/validation\";\nimport {RouteComponentProps, withRouter} from \"react-router\";\nimport * as Yup from \"yup\";\nimport { LocalStorageKeys } from \"../resources/localestorage-keys\";\n\ninterface LoginInnerState {\n\tisSuccessful: boolean;\n\tisSuccessfulVisible: boolean;\n\tisUnsuccessfulVisible: boolean;\n\tmodel: {\n\t\temail?: string;\n\t};\n\thideInitialState: boolean;\n}\n\ninterface LoginProps {\n\tappStore?: AppStore;\n\tinitialState: LoginState;\n}\n\nexport enum LoginState {\n\tDefault,\n\tSessionExpired,\n\tAccessLinkExpired,\n\tForcedLogout,\n\tAccessLinkNotFound,\n\tAccessDenied,\n}\n\ntype LoginPropsWithRouting = LoginProps & RouteComponentProps<{redirectUrl?: string}>;\n\nconst emailModel = Yup.object({\n\temail: Yup.string().required(\"Email field is required.\").email(\"Please enter a valid email address.\"),\n});\n\n@getAppStore()\nexport default class LoginWithoutRouter extends React.Component {\n\tconstructor(props: LoginPropsWithRouting) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tisSuccessful: false,\n\t\t\tisSuccessfulVisible: false,\n\t\t\tisUnsuccessfulVisible: false,\n\t\t\tmodel: {\n\t\t\t\temail: \"\",\n\t\t\t},\n\t\t\thideInitialState: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.props.appStore.userStore.isLoginVisible = true;\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.props.appStore.userStore.isLoginVisible = false;\n\t}\n\n\tprivate onSubmit = async (e: React.FormEvent) => {\n\t\tthis.setState({\n\t\t\tisSuccessfulVisible: false,\n\t\t\tisUnsuccessfulVisible: false,\n\t\t});\n\t\tlet userStore = this.props.appStore.userStore;\n\t\tlet res = await userStore.loginByEmail(this.state.model.email, this.getRedirectUrl());\n\t\tthis.setState({\n\t\t\tisSuccessful: res,\n\t\t\tisSuccessfulVisible: true,\n\t\t\tisUnsuccessfulVisible: false,\n\t\t});\n\t\twindow.scrollTo(0, 0);\n\t};\n\n\tprivate onEmailChanged = (e: React.ChangeEvent) => {\n\t\tthis.setState({\n\t\t\tmodel: {\n\t\t\t\temail: e.target.value,\n\t\t\t},\n\t\t});\n\t};\n\n\tprivate onEmailFocused = () => {\n\t\tthis.setState({\n\t\t\tisSuccessfulVisible: false,\n\t\t\tisUnsuccessfulVisible: false,\n\t\t\thideInitialState: true,\n\t\t});\n\t};\n\n\tprivate getRedirectUrl(): string {\n\t\tif (this.props.match.params.redirectUrl) {\n\t\t\treturn decodeURIComponent(this.props.match.params.redirectUrl);\n\t\t}\n\t\treturn \"/#/\";\n\t}\n\n\tprivate onClickLoginWithSSO = () => {\n\t\tthis.props.appStore.userStore.sendToOpenIdLogin(this.getRedirectUrl());\n\t};\n\n\trender() {\n\t\tlocalStorage.removeItem(LocalStorageKeys.cihtsession);\n\t\tif (!this.props.appStore.configuration.isLoginPageEnabled) {\n\t\t\tthis.props.appStore.userStore.sendToOpenIdLogin(this.getRedirectUrl());\n\t\t\treturn null;\n\t\t}\n\n\t\tlet loginSuccessfulPart = this.state.isSuccessful && this.state.isSuccessfulVisible && (\n\t\t\t
Your login was successful, check your email inbox.
\n\t\t);\n\t\treturn (\n\t\t\t
\n\t\t\t\t) => this.onSubmit(e)}\n\t\t\t\t\tmodel={this.state.model}\n\t\t\t\t\tvalidateOnBlur={false}\n\t\t\t\t\tschema={emailModel}\n\t\t\t\t>\n\t\t\t\t\t{validationResult => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t) => this.onEmailChanged(e)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t this.onEmailFocused()}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{this.props.appStore.configuration.isOpenIdLoginEnabled && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{loginSuccessfulPart}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n}\n\nexport const Login = withRouter(LoginWithoutRouter);\n","import React from \"react\";\n\nexport const NotFound = () => {\n\treturn

404 - Not found

;\n};\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport React from \"react\";\n\nexport const MainBlank: React.FC = () => {\n\treturn (\n\t\t
\n\t\t\t\n\t\t
\n\t);\n};\n","import React from \"react\";\nimport {RouteComponentProps, StaticContext, withRouter} from \"react-router\";\nimport {AppStore} from \"../stores/app.store\";\nimport {getAppStore} from \"./app.store.consumer\";\nimport {MainBlank} from \"./blank\";\nimport style from \"./protected.page.module.scss\";\n\nexport interface ProtectedPageProps extends RouteComponentProps {\n\tappStore?: AppStore;\n\tcomponent: React.ExoticComponent | React.ComponentType;\n\tisAdminPage: boolean;\n}\n\nexport interface ProtectedPageState {\n\tinitialized: boolean;\n\tpathname: string;\n}\n\n@getAppStore()\nclass ProtectedPageWithoutRouter extends React.Component {\n\tstate: ProtectedPageState = {\n\t\tinitialized: false,\n\t\tpathname: null,\n\t};\n\n\tprivate _prevComponent: JSX.Element = null;\n\n\tasync componentDidMount() {\n\t\tawait this.handleUrlChange();\n\t}\n\n\tprivate async handleUrlChange() {\n\t\tthis.setState({\n\t\t\tinitialized: true,\n\t\t\tpathname: this.props.location.pathname,\n\t\t});\n\t\twindow.scrollTo(0, 0);\n\t}\n\n\tstatic getDerivedStateFromProps(nextProps: Readonly, prevState: Readonly): ProtectedPageState {\n\t\tif (nextProps.location.pathname !== prevState.pathname) {\n\t\t\treturn {\n\t\t\t\tinitialized: false,\n\t\t\t\tpathname: nextProps.location.pathname,\n\t\t\t};\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tasync componentDidUpdate(prevProps: ProtectedPageProps) {\n\t\tif (prevProps.location.pathname !== this.props.location.pathname) {\n\t\t\tawait this.handleUrlChange();\n\t\t}\n\t}\n\n\trender() {\n\t\tlet children: JSX.Element;\n\t\tconst Component = this.props.component;\n\n\t\tif (this.state.initialized) {\n\t\t\tchildren = ;\n\t\t\tthis._prevComponent = children;\n\t\t} else {\n\t\t\tchildren = this._prevComponent ? this._prevComponent : ;\n\t\t}\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t
{children}
\n\t\t\t
\n\t\t);\n\t}\n}\n\nconst ProtectedPage = withRouter(ProtectedPageWithoutRouter);\n\n/**\n * Wraps protected element with header and footer.\n * @param Component The component that is the main component of the page.\n */\nexport const renderProtectedElement = (Component: React.ExoticComponent | React.ComponentType, isAdminPage?: boolean) => {\n\treturn () => {\n\t\treturn ;\n\t};\n};\n","import React from \"react\";\nimport {Link} from \"react-router-dom\";\nimport {RouteConstants} from \"../resources/route-constants\";\n\nexport function BecomeMember() {\n\treturn (\n\t\t
\n\t\t\t

Become a member

\n\t\t\t

\n\t\t\t\tLorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, explicabo ipsum iste nemo temporibus totam velit voluptatem. Adipisci\n\t\t\t\tconsequatur, debitis ducimus error illo quidem quisquam rem saepe ut, velit veniam?\n\t\t\t

\n\t\t\t

\n\t\t\t\tLorem ipsum dolor sit amet, consectetur adipisicing elit. Maxime minus suscipit tempore. Animi aperiam blanditiis ea et ipsum maxime neque\n\t\t\t\tsoluta! Consequatur eligendi excepturi exercitationem iure modi perferendis quam rem!\n\t\t\t

\n\t\t\t

\n\t\t\t\tLorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium amet architecto autem cum delectus dolore eius ex exercitationem expedita\n\t\t\t\texplicabo id iste maiores optio praesentium quia rerum sed totam, ut!\n\t\t\t

\n\t\t\tHome\n\t\t
\n\t);\n}\n","import React from \"react\";\nimport {Switch, Route} from \"react-router-dom\";\nimport {Redirect} from \"react-router\";\nimport {NotFound} from \"./not.found\";\nimport {LoginState, Login} from \"../login/login\";\nimport {renderProtectedElement} from \"./protected.page\";\nimport {RouteConstants} from \"../resources/route-constants\";\nimport {BecomeMember} from \"../cpd/BecomeMember\";\n\nconst Dlp = React.lazy(() => import(\"../dlp\"));\nconst Cpd = React.lazy(() => import(\"../cpd\"));\nconst Search = React.lazy(() => import(\"../search\"));\nconst Qualification = React.lazy(() => import(\"../qualification/index\"));\n\nconst getLoginComponent = (state: LoginState) => {\n\treturn () => ;\n};\n\n/** Defines the routes of the application. */\nexport const Routes = () => {\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n","import React from \"react\";\nimport {AppStore} from \"../stores/app.store\";\nimport {ModalRenderer} from \"./modal\";\nimport {getAppStore} from \"./app.store.consumer\";\n\nconst OutDatedClientModal: React.FC<{reloadCallback: () => void}> = ({reloadCallback}) => {\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
Outdated client
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
Your client application is outdated. Please refresh to continue your work!
\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\n\t);\n};\n\n@getAppStore()\nexport class OutdatedClient extends React.Component<{appStore?: AppStore}> {\n\tprivate refresh = () => {\n\t\twindow.location.reload();\n\t};\n\n\trender() {\n\t\tconst appStore = this.props.appStore;\n\n\t\treturn appStore.outDatedClient ? : null;\n\t}\n}\n","import React from \"react\";\nimport {useAppStore} from \"./app.store.consumer\";\nimport {ModalRenderer} from \"./modal\";\nimport {observer} from \"mobx-react\";\n\nconst ErrorModal: React.FC<{errorMessage: string; reloadCallback: () => void; logoutAndRestartCallback: () => void}> = ({\n\terrorMessage,\n\treloadCallback,\n\tlogoutAndRestartCallback,\n}) => {\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

System notification

\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tThere was a network communication error or another issue on this screen. The support team has been notified and the issue will be\n\t\t\t\t\t\treviewed shortly.\n\t\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t\t{errorMessage && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t